Current File : /home/mmdealscpanel/yummmdeals.com/tests.tar
stats_rand_gen_exponential.phpt000064400000000510150414104110013025 0ustar00--TEST--
stats_rand_gen_exponential()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_exponential(2)));
var_dump(stats_rand_gen_exponential(0));

// error cases
var_dump(stats_rand_gen_exponential(-0.1)); // av < 0
?>
--EXPECTF--
bool(true)
float(0)

Warning: stats_rand_gen_exponential(): av < 0.0 in %s on line %d
bool(false)
stats_rand_gen_chisquare.phpt000064400000000703150414104110012467 0ustar00--TEST--
stats_rand_gen_chisquare()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_chisquare(3)));

// error cases
var_dump(stats_rand_gen_chisquare(-0.1));   // df < 0
var_dump(stats_rand_gen_chisquare(0));      // df == 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_chisquare(): df <= 0.0. df :     -1.000000E-1 in %s on line %d
bool(false)

Warning: stats_rand_gen_chisquare(): df <= 0.0. df :      0.000000E+0 in %s on line %d
bool(false)
stats_cdf_exponential.phpt000064400000001676150414104110012022 0ustar00--TEST--
stats_cdf_exponential()
--FILE--
<?php
// which = 1 : calculate P from (X, SCALE)
var_dump(round(stats_cdf_exponential(1, 2, 1), 6));
var_dump(round(stats_cdf_exponential(4, 3, 1), 6));

// which = 2 : calculate X from (P, SCALE)
var_dump(round(stats_cdf_exponential(0.39346934, 2, 2), 6));
var_dump(round(stats_cdf_exponential(0.736402862, 3, 2), 6));

// which = 3 : calculate SCALE from (P, X)
var_dump(round(stats_cdf_exponential(0.39346934, 1, 3), 6));
var_dump(round(stats_cdf_exponential(0.736402862, 4, 3), 6));

// error cases
var_dump(stats_cdf_exponential(1, 2, 0));   // which < 1
var_dump(stats_cdf_exponential(4, 3, 4));   // which > 3
?>
--EXPECTF--
float(0.393469)
float(0.736403)
float(1)
float(4)
float(2)
float(3)

Warning: stats_cdf_exponential(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_exponential(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)
bug68295.phpt000064400000000253150414104110006623 0ustar00--TEST--
Bug #68295 Warning: stats_stat_powersum(): Both value and power are zero
--FILE--
<?php
var_dump(stats_stat_powersum(array(1, 2, 0), 2));
?>
--EXPECTF--
float(5)
stats_cdf_f.phpt000064400000003276150414104110007717 0ustar00--TEST--
stats_cdf_f()
--FILE--
<?php
// which = 1 : calculate P from (F, DFN, DFD)
var_dump(round(stats_cdf_f(1, 3, 2, 1), 6));

// which = 2 : calculate F from (P, DFN, DFD)
var_dump(round(stats_cdf_f(0.464758002, 3, 2, 2), 6));

// which = 3 : calculate DFN from (P, F, DFD)
var_dump(round(stats_cdf_f(0.464758002, 1, 2, 3), 6));

// which = 4 : calculate DFD from (P, F, DFN)
var_dump(round(stats_cdf_f(0.464758002, 1, 3, 4), 6));

// error cases
var_dump(stats_cdf_f(1, 3, 2, 0));      // which < 1
var_dump(stats_cdf_f(1, 3, 2, 5));      // which > 4
var_dump(stats_cdf_f(-0.1, 3, 2, 2));   // P < 0
var_dump(stats_cdf_f(1.1, 3, 2, 2));    // P > 1
var_dump(stats_cdf_f(-0.1, 3, 2, 1));   // F < 0
var_dump(stats_cdf_f(1, -0.1, 2, 1));   // DFN < 0
var_dump(stats_cdf_f(1, 0, 2, 1));      // DFN == 0
var_dump(stats_cdf_f(1, 3, -0.1, 1));   // DFD < 0
var_dump(stats_cdf_f(1, 3, 0, 1));      // DFD == 0
?>
--EXPECTF--
float(0.464758)
float(1)
float(3)
float(2)

Warning: stats_cdf_f(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_f(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)

Warning: stats_cdf_f(): Computation Error in cdff in %s on line %d
bool(false)
stats_cdf_chisquare.phpt000064400000002356150414104110011454 0ustar00--TEST--
stats_cdf_chisquare()
--FILE--
<?php
// which = 1 : calculate P from (X, DF)
var_dump(round(stats_cdf_chisquare(1, 2, 1), 6));

// which = 2 : calculate X from (P, DF)
var_dump(round(stats_cdf_chisquare(0.393469340, 2, 2), 6));

// which = 3 : calculate DF from (P, X)
var_dump(round(stats_cdf_chisquare(0.393469340, 1, 3), 6));

// error cases
var_dump(stats_cdf_chisquare(1, 2, 0));     // which < 1
var_dump(stats_cdf_chisquare(1, 2, 4));     // which > 3
var_dump(stats_cdf_chisquare(-0.1, 2, 2));  // P < 0
var_dump(stats_cdf_chisquare(1.1, 2, 2));   // P > 1
var_dump(stats_cdf_chisquare(-0.1, 2, 1));  // X < 0
var_dump(stats_cdf_chisquare(1, -0.1, 1));  // DF < 0
?>
--EXPECTF--
float(0.393469)
float(1)
float(2)

Warning: stats_cdf_chisquare(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_chisquare(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_chisquare(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_chisquare(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_chisquare(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_chisquare(): Computation Error in %s on line %d
bool(false)
stats_rand_gen_f.phpt000064400000001011150414104110010721 0ustar00--TEST--
stats_rand_gen_f()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_f(3, 2)));

// error cases
var_dump(stats_rand_gen_f(-0.1, 2));    // dfn < 0
var_dump(stats_rand_gen_f(3, -0.1));    // dfr < 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_f(): Degrees of freedom nonpositive. DFN value:    -1.000000E-1 DFD value:     2.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_f(): Degrees of freedom nonpositive. DFN value:     3.000000E+0 DFD value:    -1.000000E-1 in %s on line %d
bool(false)
stats_rand_gen_beta.phpt000064400000001051150414104110011413 0ustar00--TEST--
stats_rand_gen_beta()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_beta(2, 3)));

// error cases
var_dump(stats_rand_gen_beta(1e-38, 1));    // a < 1e-37
var_dump(stats_rand_gen_beta(1, 1e-38));    // b < 1e-37
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_beta(): 'a' or 'b' lower than 1.0E-37. 'a' value :     1.000000E-38  'b' value :      1.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_beta(): 'a' or 'b' lower than 1.0E-37. 'a' value :      1.000000E+0  'b' value :     1.000000E-38 in %s on line %d
bool(false)
bug59070.phpt000064400000000404150414104110006610 0ustar00--TEST--
Bug #59070 Percentile Stat Function
--FILE--
<?php
$values = array(3, 1, 5, 2, 4);
stats_stat_percentile($values, 50);
var_dump($values);
?>
--EXPECTF--
array(5) {
  [0]=>
  int(3)
  [1]=>
  int(1)
  [2]=>
  int(5)
  [3]=>
  int(2)
  [4]=>
  int(4)
}
stats_dens_cauchy.phpt000064400000001614150414104110011135 0ustar00--TEST--
stats_dens_cauchy()
--FILE--
<?php
// check for each x
foreach (range(-2, 2, 0.5) as $x) {
    var_dump(round(stats_dens_cauchy($x, 2, 3), 6));
}

// check for each ave
foreach (range(-2, 2, 0.5) as $ave) {
    var_dump(round(stats_dens_cauchy(1, $ave, 3), 6));
}

// check for each stdev
foreach (range(0.5, 2, 0.5) as $stdev) {
    var_dump(round(stats_dens_cauchy(1, 2, $stdev), 6));
}

// error cases
var_dump(stats_dens_cauchy(1, 2, 0));   // stdev == 0
?>
--EXPECTF--
float(0.038197)
float(0.044938)
float(0.053052)
float(0.062618)
float(0.073456)
float(0.084883)
float(0.095493)
float(0.103236)
float(0.106103)
float(0.053052)
float(0.062618)
float(0.073456)
float(0.084883)
float(0.095493)
float(0.103236)
float(0.106103)
float(0.103236)
float(0.095493)
float(0.127324)
float(0.159155)
float(0.146912)
float(0.127324)

Warning: stats_dens_cauchy(): stdev is 0.0 in %s on line %d
bool(false)
stats_standard_deviation.phpt000064400000000666150414104110012520 0ustar00--TEST--
stats_standard_deviation()
--INI--
serialize_precision=14
--FILE--
<?php
$a=array(4, 1, 7);
$dev=stats_standard_deviation($a);
var_dump(sprintf("%2.9f", $dev));
var_dump(stats_standard_deviation(array()));
$a=array(5,7,8,10,10);
var_dump(stats_standard_deviation($a,1));
?>
--EXPECTF--
string(11) "2.449489743"

Warning: stats_standard_deviation(): The array has zero elements in %s on line %d
bool(false)
float(2.1213203435596)
stats_cdf_gamma.phpt000064400000003372150414104110010551 0ustar00--TEST--
stats_cdf_gamma()
--FILE--
<?php
// which = 1 : calculate P from (X, SHAPE, SCALE)
var_dump(round(stats_cdf_gamma(5, 3, 2, 1), 6));

// which = 2 : calculate X from (P, SHAPE, SCALE)
var_dump(round(stats_cdf_gamma(0.456186884, 3, 2, 2), 6));

// which = 3 : calculate SHAPE from (P, X, SCALE)
var_dump(round(stats_cdf_gamma(0.456186884, 5, 2, 3), 6));

// which = 4 : calculate SCALE from (P, X, SHAPE)
var_dump(round(stats_cdf_gamma(0.456186884, 5, 3, 4), 6));

// error cases
var_dump(stats_cdf_gamma(1, 0, 1, 0));      // which < 1
var_dump(stats_cdf_gamma(1, 0, 1, 5));      // which > 4
var_dump(stats_cdf_gamma(-0.1, 3, 2, 2));   // P < 0
var_dump(stats_cdf_gamma(1.1, 3, 2, 2));    // P > 1
var_dump(stats_cdf_gamma(-0.1, 3, 2, 1));   // X < 0
var_dump(stats_cdf_gamma(5, -0.1, 2, 1));   // SHAPE < 0
var_dump(stats_cdf_gamma(5, 0, 2, 1));      // SHAPE == 0
var_dump(stats_cdf_gamma(5, 3, -0.1, 1));   // SCALE < 0
var_dump(stats_cdf_gamma(5, 3, 0, 1));      // SCALE == 0
?>
--EXPECTF--
float(0.456187)
float(5)
float(3)
float(2)

Warning: stats_cdf_gamma(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_gamma(): Computation Error in %s on line %d
bool(false)
bug61318-11.phpt000064400000000327150414104110007031 0ustar00--TEST--
Bug #61318 (stats_skew also casts values to floats)
--FILE--
<?php
$data = array(1, 2, 3);
stats_skew($data);
var_dump($data);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
stats_cdf_t.phpt000064400000001564150414104110007733 0ustar00--TEST--
stats_cdf_t()
--FILE--
<?php
// which = 1 : calculate P from (T, DF)
var_dump(round(stats_cdf_t(1, 1, 1), 6));

// which = 2 : calculate T from (P, DF)
var_dump(round(stats_cdf_t(0.75, 1, 2), 6));

// which = 3 : calculate DF from (P, T)
var_dump(round(stats_cdf_t(0.75, 1, 3), 6));

// error cases
var_dump(stats_cdf_t(1, 1, 0));     // which < 1
var_dump(stats_cdf_t(1, 1, 4));     // which > 3
var_dump(stats_cdf_t(1, -0.1, 1));  // DF < 0
var_dump(stats_cdf_t(1, 0, 1));     // DF == 0
?>
--EXPECTF--
float(0.75)
float(1)
float(1)

Warning: stats_cdf_t(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_t(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_t(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_t(): Computation Error in %s on line %d
bool(false)
stats_absolute_deviation.phpt000064400000000610150414104110012523 0ustar00--TEST--
stats_absolute_deviation()
--FILE--
<?php
var_dump(sprintf("%2.9f", stats_absolute_deviation(array(4,1,7))));
var_dump(sprintf("%2.9f", stats_absolute_deviation(array(2,1,3))));
var_dump(stats_absolute_deviation(array()));
?>
--EXPECTF--
string(11) "2.000000000"
string(11) "0.666666667"

Warning: stats_absolute_deviation(): The array has zero elements in %s on line %d
bool(false)
stats_cdf_logistic.phpt000064400000002176150414104110011305 0ustar00--TEST--
stats_cdf_logistic()
--FILE--
<?php
// which = 1 : calculate P from (X, MEAN, SD)
var_dump(round(stats_cdf_logistic(1, 2, 3, 1), 6));
var_dump(round(stats_cdf_logistic(6, 5, 4, 1), 6));

// which = 2 : calculate X from (P, MEAN, SD)
var_dump(round(stats_cdf_logistic(0.417429794, 2, 3, 2), 6));
var_dump(round(stats_cdf_logistic(0.562176501, 5, 4, 2), 6));

// which = 3 : calcualte MEAN from (P, X, SD)
var_dump(round(stats_cdf_logistic(0.417429794, 1, 3, 3), 6));
var_dump(round(stats_cdf_logistic(0.562176501, 6, 4, 3), 6));

// which = 4 : calcualte SD from (P, X, MEAN)
var_dump(round(stats_cdf_logistic(0.417429794, 1, 2, 4), 6));
var_dump(round(stats_cdf_logistic(0.562176501, 6, 5, 4), 6));

// error cases
var_dump(stats_cdf_logistic(1, 2, 3, 0));   // which < 1
var_dump(stats_cdf_logistic(1, 2, 3, 5));   // which > 4
?>
--EXPECTF--
float(0.41743)
float(0.562177)
float(1)
float(6)
float(2)
float(5)
float(3)
float(4)

Warning: stats_cdf_logistic(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_logistic(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)
stats_rand_phrase_to_seeds.phpt000064400000000521150414104110013017 0ustar00--TEST--
stats_rand_phrase_to_seeds()
--FILE--
<?php
$retval = stats_rand_phrase_to_seeds('pecl_math_stats');
var_dump(is_int($retval[0]));
var_dump(is_int($retval[1]));
var_dump(1 <= $retval[0] && $retval[0] <= (1 << 30));
var_dump(1 <= $retval[1] && $retval[1] <= (1 << 30));
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
bool(true)
stats_dens_logistic.phpt000064400000001625150414104110011500 0ustar00--TEST--
stats_dens_logistic()
--FILE--
<?php
// check for each x
foreach (range(-2, 2, 0.5) as $x) {
    var_dump(round(stats_dens_logistic($x, 2, 3), 6));
}

// check for each ave
foreach (range(-2, 2, 0.5) as $ave) {
    var_dump(round(stats_dens_logistic(1, $ave, 3), 6));
}

// check for each stdev
foreach (range(0.5, 2, 0.5) as $stdev) {
    var_dump(round(stats_dens_logistic(1, 2, $stdev), 6));
}

// error cases
var_dump(stats_dens_logistic(1, 2, 0)); // stdev == 0
?>
--EXPECTF--
float(0.05503)
float(0.060357)
float(0.065537)
float(0.070389)
float(0.074719)
float(0.078335)
float(0.081061)
float(0.082757)
float(0.083333)
float(0.065537)
float(0.070389)
float(0.074719)
float(0.078335)
float(0.081061)
float(0.082757)
float(0.083333)
float(0.082757)
float(0.081061)
float(0.209987)
float(0.196612)
float(0.149438)
float(0.117502)

Warning: stats_dens_logistic(): stdev is 0.0 in %s on line %d
bool(false)
stats_cdf_binomial.phpt000064400000004027150414104110011257 0ustar00--TEST--
stats_cdf_binomial()
--FILE--
<?php
// which = 1 : calculate P from (S, XN, PR)
var_dump(round(stats_cdf_binomial(1, 3, 0.7, 1), 6));

// which = 2 : calculate S from (P, XN, PR)
var_dump(round(stats_cdf_binomial(0.216, 3, 0.7, 2), 6));

// which = 3 : calculate XN from (P, S, PR)
var_dump(round(stats_cdf_binomial(0.216, 1, 0.7, 3), 6));

// which = 4 : calculate PR from (P, S, XN)
var_dump(round(stats_cdf_binomial(0.216, 1, 3, 4), 6));

// error cases
var_dump(stats_cdf_binomial(1, 3, 0.7, 0));     // which < 1
var_dump(stats_cdf_binomial(1, 3, 0.7, 5));     // which > 4
var_dump(stats_cdf_binomial(-0.1, 3, 0.7, 2));  // P < 0
var_dump(stats_cdf_binomial(1.1, 3, 0.7, 2));   // P > 1
var_dump(stats_cdf_binomial(-1, 3, 0.7, 1));    // S < 0
var_dump(stats_cdf_binomial(4, 3, 0.7, 1));     // S > XN
var_dump(stats_cdf_binomial(1, -1, 0.7, 1));    // XN < 0
var_dump(stats_cdf_binomial(1, 0, 0.7, 1));     // XN == 0
var_dump(stats_cdf_binomial(1, 3, -0.1, 1));    // PR < 0
var_dump(stats_cdf_binomial(1, 3, 1.1, 1));     // PR > 1
?>
--EXPECTF--
float(0.216)
float(1)
float(3)
float(0.7)

Warning: stats_cdf_binomial(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)

Warning: stats_cdf_binomial(): Computation Error in binomialcdf in %s on line %d
bool(false)
stats_rand_gen_funiform.phpt000064400000000731150414104110012331 0ustar00--TEST--
stats_rand_gen_funiform()
--FILE--
<?php
$x = stats_rand_gen_funiform(1.5, 2.5);
var_dump(is_float($x));
var_dump($x > 1.5);
var_dump($x < 2.5);
var_dump(stats_rand_gen_funiform(1.5, 1.5));

// error cases
var_dump(stats_rand_gen_funiform(2.5, 1.5));    // low > high
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
float(1.5)

Warning: stats_rand_gen_funiform(): low greater than high. low :      2.500000E+0  high :      1.500000E+0 in %s on line %d
bool(false)
stats_dens_laplace.phpt000064400000001575150414104110011270 0ustar00--TEST--
stats_dens_laplace()
--FILE--
<?php
// check for each x
foreach (range(-2, 2, 0.5) as $x) {
    var_dump(round(stats_dens_laplace($x, 1, 2), 6));
}

// check for each ave
foreach (range(-2, 2, 0.5) as $ave) {
    var_dump(round(stats_dens_laplace(0, $ave, 2), 6));
}

// check for each stdev
foreach (range(0.5, 2, 0.5) as $stdev) {
    var_dump(round(stats_dens_laplace(0, 1, $stdev), 6));
}

// error cases
var_dump(stats_dens_laplace(0, 1, 0));  // stdev == 0
?>
--EXPECTF--
float(0.055783)
float(0.071626)
float(0.09197)
float(0.118092)
float(0.151633)
float(0.1947)
float(0.25)
float(0.1947)
float(0.151633)
float(0.09197)
float(0.118092)
float(0.151633)
float(0.1947)
float(0.25)
float(0.1947)
float(0.151633)
float(0.118092)
float(0.09197)
float(0.135335)
float(0.18394)
float(0.171139)
float(0.151633)

Warning: stats_dens_laplace(): stdev is 0.0 in %s on line %d
bool(false)
stats_dens_chisquare.phpt000064400000000744150414104110011650 0ustar00--TEST--
stats_dens_chisquare()
--FILE--
<?php
// check for each x
foreach (range(0.5, 3, 0.5) as $x) {
    var_dump(round(stats_dens_chisquare($x, 3), 6));
}

// check for each dfr
foreach (range(0.5, 3, 0.5) as $dfr) {
    var_dump(round(stats_dens_chisquare(1, $dfr), 6));
}
?>
--EXPECTF--
float(0.219696)
float(0.241971)
float(0.230799)
float(0.207554)
float(0.180722)
float(0.15418)
float(0.140674)
float(0.241971)
float(0.294304)
float(0.303265)
float(0.281348)
float(0.241971)
stats_rand_ranf.phpt000064400000000234150414104110010577 0ustar00--TEST--
stats_rand_ranf()
--FILE--
<?php
$r = stats_rand_ranf();
var_dump(is_float($r));
var_dump(0 <= $r && $r < 1);
?>
--EXPECTF--
bool(true)
bool(true)
stats_rand_getsd.phpt000064400000000233150414104110010756 0ustar00--TEST--
stats_rand_getsd()
--FILE--
<?php
stats_rand_setall(10, 20);
$sd = stats_rand_getsd();
echo $sd[0], "\n";
echo $sd[1], "\n";
?>
--EXPECTF--
10
20
stats_rand_gen_gamma.phpt000064400000001613150414104110011566 0ustar00--TEST--
stats_rand_gen_gamma()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_gamma(1, 1)));

// error cases
var_dump(stats_rand_gen_gamma(-0.1, 1));    // a < 0
var_dump(stats_rand_gen_gamma(0, 1));       // a == 0
var_dump(stats_rand_gen_gamma(1, -.1));     // r < 0
var_dump(stats_rand_gen_gamma(1, 0));       // r == 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_gamma(): A or R nonpositive. A value :     -1.000000E-1 , R value :      1.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_gamma(): A or R nonpositive. A value :      0.000000E+0 , R value :      1.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_gamma(): A or R nonpositive. A value :      1.000000E+0 , R value :     -1.000000E-1 in %s on line %d
bool(false)

Warning: stats_rand_gen_gamma(): A or R nonpositive. A value :      1.000000E+0 , R value :      0.000000E+0 in %s on line %d
bool(false)
stats_covariance.phpt000064400000001112150414104110010753 0ustar00--TEST--
math_covariance() tests
--FILE--
<?php
$a_1 = array(
 15, 16, 8, 6, 15, 12, 12, 18, 12, 20, 12, 14,
);

$a_2 = array(
 17.24, 15, 14.91, 4.5, 18, 6.29, 19.23, 18.69, 7.21, 42.06, 7.5, 8,
);

var_dump(sprintf("%2.9f", stats_covariance($a_1, $a_2)));
var_dump(stats_covariance(array(2,1), array(1)));
var_dump(stats_covariance(array(), array(0)));
?>
--EXPECTF--
string(12) "25.460555556"

Warning: stats_covariance(): The datasets are not of the same size in %s on line %d
bool(false)

Warning: stats_covariance(): The first array has zero elements in %s on line %d
bool(false)
stats_dens_pmf_negative_binomial.phpt000064400000002141150414104120014174 0ustar00--TEST--
stats_dens_pmf_negative_binomial()
--INI--
serialize_precision=14
--FILE--
<?php
// check for each x
foreach (range(0, 3) as $x) {
    var_dump(stats_dens_pmf_negative_binomial($x, 2, 0.4));
}

// check for each n
foreach (range(0, 3) as $n) {
    var_dump(stats_dens_pmf_negative_binomial(1, $n, 0.4));
}

// check for each pi
foreach (range(0, 1, 0.2) as $pi) {
    var_dump(stats_dens_pmf_negative_binomial(1, 2, $pi));
}

// error cases
var_dump(stats_dens_pmf_negative_binomial(1, 0, 0));    // n == 0 and pi == 0
var_dump(stats_dens_pmf_negative_binomial(0, 2, 1));    // x == 0 and pi == 1
?>
--EXPECTF--
float(0.16)
float(0.192)
float(0.1728)
float(0.13824)
float(0)
float(0.24)
float(0.192)
float(0.1152)
float(0)
float(0.064)
float(0.192)
float(0.288)
float(0.256)
float(0)

Warning: stats_dens_pmf_negative_binomial(): Params leading to pow(0, 0). x:     1.000000E+0  n:     0.000000E+0  pi:     0.000000E+0 in %s on line %d
bool(false)

Warning: stats_dens_pmf_negative_binomial(): Params leading to pow(0, 0). x:     0.000000E+0  n:     2.000000E+0  pi:     1.000000E+0 in %s on line %d
bool(false)
stats_stat_factorial.phpt000064400000000356150414104120011652 0ustar00--TEST--
stats_stat_factorial()
--FILE--
<?php
var_dump(stats_stat_factorial(0));
var_dump(stats_stat_factorial(1));
var_dump(stats_stat_factorial(2));
var_dump(stats_stat_factorial(3));
?>
--EXPECTF--
float(1)
float(1)
float(2)
float(6)
bug57831.phpt000064400000000542150414104120006617 0ustar00--TEST--
Bug #57831 wrong storage class for variable in C functions gscgn() and gssst()
--FILE--
<?php
$low = 0.6;
$high = 2.1;
$rand1 = stats_rand_gen_funiform($low, $high);
$rand2 = stats_rand_gen_funiform($low, $high);
$rand3 = stats_rand_gen_funiform($low, $high);
echo ($rand1 !== $rand2) . "\n";
echo ($rand2 !== $rand3) . "\n";
?>
--EXPECTF--
1
1
bug61318-4.phpt000064400000000551150414104120006753 0ustar00--TEST--
Bug #61318 (stats_stat_independent_t also casts values to floats)
--FILE--
<?php
$data1 = array(1, 2, 3);
$data2 = array(4, 5, 6);
stats_stat_independent_t($data1, $data2);
var_dump($data1);
var_dump($data2);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}
stats_rand_gen_ipoisson.phpt000064400000000520150414104120012344 0ustar00--TEST--
stats_rand_gen_ipoisson()
--FILE--
<?php
var_dump(is_int(stats_rand_gen_ipoisson(1)));
var_dump(stats_rand_gen_ipoisson(0));

// error cases
var_dump(stats_rand_gen_ipoisson(-0.1));    // mu < 0
?>
--EXPECTF--
bool(true)
int(0)

Warning: stats_rand_gen_ipoisson(): mu < 0.0 . mu :     -1.000000E-1 in %s on line %d
bool(false)
stats_rand_gen_t.phpt000064400000000621150414104120010746 0ustar00--TEST--
stats_rand_gen_t()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_t(1)));

// error cases
var_dump(stats_rand_gen_t(-0.1));   // df < 0
var_dump(stats_rand_gen_t(0));      // df == 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_t(): df <= 0 . df :     -1.000000E-1 in %s on line %d
bool(false)

Warning: stats_rand_gen_t(): df <= 0 . df :      0.000000E+0 in %s on line %d
bool(false)
stats_rand_ibinomial_negative.phpt000064400000001213150414104120013475 0ustar00--TEST--
stats_rand_ibinomial_negative()
--FILE--
<?php
var_dump(is_int(stats_rand_ibinomial_negative(2, 0.5)));

// error cases
var_dump(stats_rand_ibinomial_negative(-1, 0.5));   // n < 0
var_dump(stats_rand_ibinomial_negative(1, -0.1));   // pp < 0
var_dump(stats_rand_ibinomial_negative(1, 1.1));    // pp > 1

?>
--EXPECTF--
bool(true)

Warning: stats_rand_ibinomial_negative(): n < 0. n : -1 in %s on line %d
bool(false)

Warning: stats_rand_ibinomial_negative(): p is out of range. p :            -1E-1 in %s on line %d
bool(false)

Warning: stats_rand_ibinomial_negative(): p is out of range. p :             1E+0 in %s on line %d
bool(false)
stats_skew.phpt000064400000000217150414104120007620 0ustar00--TEST--
stats_skew()
--FILE--
<?php
var_dump(sprintf("%2.9f", stats_skew(array(99,333,5, 7, 2, 4))));
?>
--EXPECTF--
string(11) "1.505674536"
stats_dens_pmf_binomial.phpt000064400000002226150414104120012316 0ustar00--TEST--
stats_dens_pmf_binomial()
--INI--
serialize_precision=14
--FILE--
<?php
// check for each x
foreach (range(0, 3) as $x) {
    var_dump(stats_dens_pmf_binomial($x, 3, 0.7));
}

// check for each n
foreach (range(0, 3) as $n) {
    var_dump(stats_dens_pmf_binomial(1, $n, 0.7));
}

// check for each pi
foreach (range(0, 1, 0.2) as $pi) {
    var_dump(stats_dens_pmf_binomial(1, 3, $pi));
}

// error cases
var_dump(stats_dens_pmf_binomial(0, 0, 0.7));   // x == n == 0
var_dump(stats_dens_pmf_binomial(0, 3, 0));     // x == pi == 0
var_dump(stats_dens_pmf_binomial(3, 3, 1));     // x == n, pi == 1
?>
--EXPECTF--
float(0.027)
float(0.189)
float(0.441)
float(0.343)
float(0)
float(0.7)
float(0.42)
float(0.189)
float(0)
float(0.384)
float(0.432)
float(0.288)
float(0.096)
float(0)

Warning: stats_dens_pmf_binomial(): Params leading to pow(0, 0). x:     %f  n:     %f  pi:     %f in %s on line %d
bool(false)

Warning: stats_dens_pmf_binomial(): Params leading to pow(0, 0). x:     %f  n:     %f  pi:     %f in %s on line %d
bool(false)

Warning: stats_dens_pmf_binomial(): Params leading to pow(0, 0). x:     %f  n:     %f  pi:     %f in %s on line %d
bool(false)
stats_dens_beta.phpt000064400000001164150414104120010575 0ustar00--TEST--
stats_dens_beta()
--FILE--
<?php
// check for each x
foreach (range(0.1, 0.9, 0.2) as $x) {
    var_dump(round(stats_dens_beta($x, 2, 3), 6));
}

// check for each a
foreach (range(0.5, 3, 0.5) as $a) {
    var_dump(round(stats_dens_beta(0.4, $a, 3), 6));
}

// check for each b
foreach (range(0.5, 3, 0.5) as $b) {
    var_dump(round(stats_dens_beta(0.4, 2, $b), 6));
}
?>
--EXPECTF--
float(0.972)
float(1.764)
float(1.5)
float(0.756)
float(0.108)
float(0.533634)
float(1.08)
float(1.494176)
float(1.728)
float(1.793011)
float(1.728)
float(0.387298)
float(0.8)
float(1.161895)
float(1.44)
float(1.626653)
float(1.728)
stats_stat_percentile.phpt000064400000000304150414104120012031 0ustar00--TEST--
stats_stat_percentile()
--FILE--
<?php
var_dump(stats_stat_percentile(array(1, 3, 2, 4), 50));
var_dump(stats_stat_percentile(array(1, 3, 5, 2, 4), 50));
?>
--EXPECTF--
float(2)
float(3)
bug61318-13.phpt000064400000000531150414104120007031 0ustar00--TEST--
Bug #61318 (stats_covariance also casts values to floats)
--FILE--
<?php
$data1 = array(1, 2, 3);
$data2 = array(4, 5, 6);
stats_covariance($data1, $data2);
var_dump($data1);
var_dump($data2);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}
bug61318-5.phpt000064400000000537150414104120006760 0ustar00--TEST--
Bug #61318 (stats_stat_paired_t also casts values to floats)
--FILE--
<?php
$data1 = array(1, 2, 3);
$data2 = array(4, 5, 6);
stats_stat_paired_t($data1, $data2);
var_dump($data1);
var_dump($data2);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}
stats_rand_gen_noncentral_chisquare.phpt000064400000001154150414104120014714 0ustar00--TEST--
stats_rand_gen_noncentral_chisquare()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_noncentral_chisquare(2, 3)));

// error cases
var_dump(stats_rand_gen_noncentral_chisquare(0.9, 3));  // df < 1
var_dump(stats_rand_gen_noncentral_chisquare(2, -0.1)); // xnonc < 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_noncentral_chisquare(): df < 1 or xnonc < 0. df value :      9.000000E-1  xnonc value :      3.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_noncentral_chisquare(): df < 1 or xnonc < 0. df value :      2.000000E+0  xnonc value :     -1.000000E-1 in %s on line %d
bool(false)
stats_kurtosis.phpt000064400000000216150414104120010531 0ustar00--TEST--
stats_kurtosis()
--FILE--
<?php
var_dump(sprintf("%2.9f", stats_kurtosis(array(1,3,5,7))));
?>
--EXPECTF--
string(12) "-1.360000000"
bug61318-3.phpt000064400000000547150414104120006757 0ustar00--TEST--
Bug #61318 (stats_stat_innerproduct also casts values to floats)
--FILE--
<?php
$data1 = array(1, 2, 3);
$data2 = array(4, 5, 6);
stats_stat_innerproduct($data1, $data2);
var_dump($data1);
var_dump($data2);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}
stats_rand_gen_noncentral_f.phpt000064400000002560150414104120013157 0ustar00--TEST--
stats_rand_gen_noncentral_f()
--INI--
serialize_precision=14
--FILE--
<?php
var_dump(is_float(stats_rand_gen_noncentral_f(2, 3, 4)));

// error cases
var_dump(stats_rand_gen_noncentral_f(0.9, 3, 4));    // dfn < 1
var_dump(stats_rand_gen_noncentral_f(2, -0.1, 4));   // dfd < 0
var_dump(stats_rand_gen_noncentral_f(2, 0, 4));      // dfd == 0
var_dump(stats_rand_gen_noncentral_f(2, 3, -0.1));   // xnonc < 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn:      9.000000E-1  dfd:      3.000000E+0  xnonc:      4.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn:      2.000000E+0  dfd:     -1.000000E-1  xnonc:      4.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn:      2.000000E+0  dfd:      0.000000E+0  xnonc:      4.000000E+0 in %s on line %d
bool(false)

Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn:      2.000000E+0  dfd:      3.000000E+0  xnonc:     -1.000000E-1 in %s on line %d
bool(false)
bug61318-6.phpt000064400000000361150414104120006754 0ustar00--TEST--
Bug #61318 (stats_stat_percentile also casts values to floats)
--FILE--
<?php
$data = array(1, 2, 3);
stats_stat_percentile($data, 50);
var_dump($data);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
bug58394.phpt000064400000000374150414104120006627 0ustar00--TEST--
Bug #58394 stats_cdf_chisquare() dies when which=2,3
--FILE--
<?php
var_dump(round(stats_cdf_chisquare(0.0525437064989, 283, 2), 6));
var_dump(round(stats_cdf_chisquare(0.0525437064989, 245.56, 3), 6));
?>
--EXPECTF--
float(245.56)
float(283)
bug61318-7.phpt000064400000000545150414104120006761 0ustar00--TEST--
Bug #61318 (stats_stat_correlation also casts values to floats)
--FILE--
<?php
$data1 = array(1, 2, 3);
$data2 = array(4, 5, 6);
stats_stat_correlation($data1, $data2);
var_dump($data1);
var_dump($data2);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
array(3) {
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
}
bug61318-8.phpt000064400000000337150414104120006761 0ustar00--TEST--
Bug #61318 (stats_variance also casts values to floats)
--FILE--
<?php
$data = array(1, 2, 3);
stats_variance($data);
var_dump($data);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
stats_stat_innerproduct.phpt000064400000000460150414104120012416 0ustar00--TEST--
stats_stat_innerproduct()
--FILE--
<?php
var_dump(stats_stat_innerproduct(array(1, 2), array(3, 4)));
var_dump(stats_stat_innerproduct(array(1, 2), array(3, 4, 5)));
?>
--EXPECTF--
float(11)

Warning: stats_stat_innerproduct(): Unequal number of X and Y coordinates in %s on line %d
bool(false)
stats_dens_pmf_hypergeometric.phpt000064400000003240150414104120013547 0ustar00--TEST--
stats_dens_pmf_hypergeometric()
--FILE--
<?php

/*
 * Definition from Wikipedia
 * (see https://en.wikipedia.org/wiki/Hypergeometric_distribution)
 *
 * P(X=k) = binom(k, K) * binom(n-k, N-K) / binom(n, N)
 * where
 *   N is the population size,
 *   K is the number of success states in the population,
 *   n is the number of draws,
 *   k is the number of observed successes.
 *
 * Implementation in php_stats.c
 *
 * stats_dens_pmf_hypergeometric(n1, n2, N1, N2)
 *   = binom(n1, N1) * binom(n2, N2) / binom(n1+n2, N1+N2)
 *
 * so the relation between both definitions is
 *   n1 = k        is the number of observed successes,
 *   n2 = n - k    is the number of observed failures,
 *   N1 = K        is the number of success states in the population,
 *   N2 = N - K    is the number of failure states in the population.
 */

// check for each n1
foreach (range(0, 3) as $n1) {
    var_dump(stats_dens_pmf_hypergeometric($n1, 1, 2, 3));
}

// check for each n2
foreach (range(0, 3) as $n2) {
    var_dump(stats_dens_pmf_hypergeometric(1, $n2, 2, 3));
}

// check for each N1
foreach (range(0, 3) as $N1) {
    var_dump(stats_dens_pmf_hypergeometric(1, 1, $N1, 3));
}

// check for each N2
foreach (range(1, 3) as $N2) {
    var_dump(round(stats_dens_pmf_hypergeometric(1, 1, 2, $N2), 6));
}

// error cases
var_dump(stats_dens_pmf_hypergeometric(1, 3, 1, 2)); // n1 + n2 > N1 + N2
?>
--EXPECTF--
float(0.6)
float(0.6)
float(0.3)
float(0)
float(0.4)
float(0.6)
float(0.6)
float(0.4)
float(0)
float(0.5)
float(0.6)
float(0.6)
float(0.666667)
float(0.666667)
float(0.6)

Warning: stats_dens_pmf_hypergeometric(): possible division by zero - n1+n2 >= N1+N2 in %s on line %d
float(NAN)
stats_dens_f.phpt000064400000001253150414104120010106 0ustar00--TEST--
stats_dens_f()
--FILE--
<?php
// check for each x
foreach (range(0, 3, 0.5) as $x) {
    var_dump(round(stats_dens_f($x, 3, 2), 6));
}

// check for each dfr1
foreach (range(0.5, 3, 0.5) as $dfr1) {
    var_dump(round(stats_dens_f(1, $dfr1, 2), 6));
}

// check for each dfr2
foreach (range(0.5, 3, 0.5) as $dfr2) {
    var_dump(round(stats_dens_f(1, 3, $dfr2), 6));
}
?>
--EXPECTF--
float(0)
float(0.48097)
float(0.278855)
float(0.177241)
float(0.121785)
float(0.088606)
float(0.067279)
float(0.133748)
float(0.19245)
float(0.227008)
float(0.25)
float(0.266463)
float(0.278855)
float(0.139548)
float(0.206748)
float(0.249129)
float(0.278855)
float(0.301042)
float(0.31831)
bug61318-12.phpt000064400000000337150414104120007034 0ustar00--TEST--
Bug #61318 (stats_kurtosis also casts values to floats)
--FILE--
<?php
$data = array(1, 2, 3);
stats_kurtosis($data);
var_dump($data);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
stats_cdf_cauchy.phpt000064400000002136150414104120010741 0ustar00--TEST--
stats_cdf_cauchy()
--FILE--
<?php
// which = 1 : calculate P from (X, MEAN, SD)
var_dump(round(stats_cdf_cauchy(1, 2, 3, 1), 6));
var_dump(round(stats_cdf_cauchy(6, 5, 4, 1), 6));

// which = 2 : calculate X from (P, MEAN, SD)
var_dump(round(stats_cdf_cauchy(0.397583618, 2, 3, 2), 6));
var_dump(round(stats_cdf_cauchy(0.57797913, 5, 4, 2), 6));

// which = 3 : calculate MEAN from (P, X, SD)
var_dump(round(stats_cdf_cauchy(0.397583618, 1, 3, 3), 6));
var_dump(round(stats_cdf_cauchy(0.57797913, 6, 4, 3), 6));

// which = 4 : calculate SD from (P, X, MEAN)
var_dump(round(stats_cdf_cauchy(0.397583618, 1, 2, 4), 6));
var_dump(round(stats_cdf_cauchy(0.57797913, 6, 5, 4), 6));

// error cases
var_dump(stats_cdf_cauchy(1, 2, 3, 0)); // which < 1
var_dump(stats_cdf_cauchy(1, 2, 3, 5)); // which > 4
?>
--EXPECTF--
float(0.397584)
float(0.577979)
float(1)
float(6)
float(2)
float(5)
float(3)
float(4)

Warning: stats_cdf_cauchy(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_cauchy(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)
stats_cdf_noncentral_f.phpt000064400000004565150414104120012145 0ustar00--TEST--
stats_cdf_noncentral_f()
--FILE--
<?php
// which = 1 : calculate P from (F, DFN, DFD, PNONC)
var_dump(round(stats_cdf_noncentral_f(5, 2, 3, 4, 1), 6));

// which = 2 : calculate F from (P, DFN, DFD, PNONC)
var_dump(round(stats_cdf_noncentral_f(0.650459043, 2, 3, 4, 2), 6));

// which = 3 : calculate DFN from (P, F, DFD, PNONC)
var_dump(round(stats_cdf_noncentral_f(0.650459043, 5, 3, 4, 3), 6));

// which = 4 : calculate DFD from (P, F, DFN, PNONC)
var_dump(round(stats_cdf_noncentral_f(0.650459043, 5, 2, 4, 4), 6));

// which = 5 : calculate PNONC from (P, F, DFN, DFD)
var_dump(round(stats_cdf_noncentral_f(0.650459043, 5, 2, 3, 5), 6));

// error cases
var_dump(round(stats_cdf_noncentral_f(1, 2, 3, 4, 0), 6));      // which < 1
var_dump(round(stats_cdf_noncentral_f(1, 2, 3, 4, 6), 6));      // which > 5
var_dump(round(stats_cdf_noncentral_f(-0.1, 2, 3, 4, 2), 6));   // P < 0
var_dump(round(stats_cdf_noncentral_f(1.1, 2, 3, 4, 2), 6));    // P > 1
var_dump(round(stats_cdf_noncentral_f(-0.1, 2, 3, 4, 1), 6));   // F < 0
var_dump(round(stats_cdf_noncentral_f(1, -0.1, 3, 4, 1), 6));   // DFN < 0
var_dump(round(stats_cdf_noncentral_f(1, 0, 3, 4, 1), 6));      // DFN == 0
var_dump(round(stats_cdf_noncentral_f(1, 2, -0.1, 4, 1), 6));   // DFR < 0
var_dump(round(stats_cdf_noncentral_f(1, 2, 0, 4, 1), 6));      // DFR == 0
var_dump(round(stats_cdf_noncentral_f(1, 2, 3, -0.1, 1), 6));   // PNONC < 0

?>
--EXPECTF--
float(0.650459)
float(5)
float(2)
float(3)
float(4)

Warning: stats_cdf_noncentral_f(): Fifth parameter should be in the 1..5 range in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Fifth parameter should be in the 1..5 range in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)

Warning: stats_cdf_noncentral_f(): Computation Error in cdffnc in %s on line %d
float(0)
stats_dens_weibull.phpt000064400000001144150414104120011323 0ustar00--TEST--
stats_dens_weibull()
--FILE--
<?php
// check for each x
foreach (range(0, 2, 0.5) as $x) {
    var_dump(round(stats_dens_weibull($x, 2, 3), 6));
}

// check for each a
foreach (range(0.5, 2, 0.5) as $a) {
    var_dump(round(stats_dens_weibull(1, $a, 3), 6));
}

// check for each b
foreach (range(0.5, 2, 0.5) as $b) {
    var_dump(round(stats_dens_weibull(1, 2, $b), 6));
}

// error cases
?>
--EXPECTF--
float(0)
float(0.108067)
float(0.198853)
float(0.2596)
float(0.284969)
float(0.162058)
float(0.238844)
float(0.238138)
float(0.198853)
float(0.146525)
float(0.735759)
float(0.569938)
float(0.3894)
stats_cdf_noncentral_chisquare.phpt000064400000003741150414104120013677 0ustar00--TEST--
stats_cdf_noncentral_chisquare()
--FILE--
<?php
// which = 1 : calculate P from (X, DF, PNONC)
var_dump(round(stats_cdf_noncentral_chisquare(4, 2, 3, 1), 6));

// which = 2 : calculate X from (P, DF, PNONC)
var_dump(round(stats_cdf_noncentral_chisquare(0.493562417, 2, 3, 2), 6));

// which = 3 : calculate DF from (P, X, PNONC)
var_dump(round(stats_cdf_noncentral_chisquare(0.493562417, 4, 3, 3), 6));

// which = 4 : calculate PNONC from (P, X, DF)
var_dump(round(stats_cdf_noncentral_chisquare(0.493562417, 4, 2, 4), 6));

// error cases
var_dump(stats_cdf_noncentral_chisquare(4, 2, 3, 0));       // which < 1
var_dump(stats_cdf_noncentral_chisquare(4, 2, 3, 5));       // which > 4
var_dump(stats_cdf_noncentral_chisquare(-0.1, 2, 3, 2));    // P < 0
var_dump(stats_cdf_noncentral_chisquare(1.1, 2, 3, 2));     // P > 1
var_dump(stats_cdf_noncentral_chisquare(-0.1, 2, 3, 1));    // X < 0
var_dump(stats_cdf_noncentral_chisquare(4, -0.1, 3, 1));    // DF < 0
var_dump(stats_cdf_noncentral_chisquare(4, 0, 3, 1));       // DF == 0
var_dump(stats_cdf_noncentral_chisquare(4, 2, -0.1, 1));    // PNONC < 0
?>
--EXPECTF--
float(0.493562)
float(4)
float(2)
float(3)

Warning: stats_cdf_noncentral_chisquare(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Computation Error in cdfchn in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Computation Error in cdfchn in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Computation Error in cdfchn in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Computation Error in cdfchn in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Computation Error in cdfchn in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_chisquare(): Computation Error in cdfchn in %s on line %d
bool(false)
stats_cdf_weibull.phpt000064400000002144150414104120011127 0ustar00--TEST--
stats_cdf_weibull()
--FILE--
<?php
// which = 1 : calculate P from (X, A, B)
var_dump(round(stats_cdf_weibull(1, 2, 3, 1), 6));
var_dump(round(stats_cdf_weibull(6, 5, 4, 1), 6));

// which = 2 : calculate X from (P, A, B)
var_dump(round(stats_cdf_weibull(0.105160683, 2, 3, 2), 6));
var_dump(round(stats_cdf_weibull(0.999496411, 5, 4, 2), 6));

// which = 3 : calcualte A from (P, X, B)
var_dump(round(stats_cdf_weibull(0.105160683, 1, 3, 3), 6));
var_dump(round(stats_cdf_weibull(0.999496411, 6, 4, 3), 6));

// which = 4 : calculate B from (P, X, A)
var_dump(round(stats_cdf_weibull(0.105160683, 1, 2, 4), 6));
var_dump(round(stats_cdf_weibull(0.999496411, 6, 5, 4), 6));

// error cases
var_dump(stats_cdf_weibull(1, 2, 3, 0));    // which < 1
var_dump(stats_cdf_weibull(1, 2, 3, 5));    // which > 4
?>
--EXPECTF--
float(0.105161)
float(0.999496)
float(1)
float(6)
float(2)
float(5)
float(3)
float(4)

Warning: stats_cdf_weibull(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_weibull(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)
stats_variance.phpt000064400000000247150414104120010442 0ustar00--TEST--
stats_variance()
--FILE--
<?php
$a=array(5,7,8,10,10);
var_dump(stats_variance($a));
var_dump(stats_variance($a, true));
?>
--EXPECTF--
float(3.6)
float(4.5)
stats_cdf_noncentral_t.phpt000064400000002731150414104120012154 0ustar00--TEST--
stats_cdf_noncentral_t()
--FILE--
<?php
// which = 1 : calculate P from (T, DF, PNONC)
var_dump(round(stats_cdf_noncentral_t(3, 2, 1, 1), 6));

// which = 2 : calculate T from (P, DF, PNONC)
var_dump(round(stats_cdf_noncentral_t(0.833559426, 2, 1, 2), 6));

// which = 3 : calculate DF from (P, T, PNONC)
var_dump(round(stats_cdf_noncentral_t(0.833559426, 3, 1, 3), 6));

// which = 4 : calculate PNONC from (P, DF, T)
var_dump(round(stats_cdf_noncentral_t(0.833559426, 3, 2, 4), 6));

// error cases
var_dump(stats_cdf_noncentral_t(3, 2, 1, 0));       // which < 0
var_dump(stats_cdf_noncentral_t(3, 2, 1, 5));       // which > 4
var_dump(stats_cdf_noncentral_t(-0.1, 2, 1, 2));    // P < 0
var_dump(stats_cdf_noncentral_t(1.1, 2, 1, 2));     // P > 1
var_dump(stats_cdf_noncentral_t(3, -0.1, 1, 1));    // DF < 0
var_dump(stats_cdf_noncentral_t(3, 0, 1, 1));       // DF == 1
?>
--EXPECTF--
float(0.833559)
float(3)
float(2)
float(1)

Warning: stats_cdf_noncentral_t(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_t(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_t(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_t(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_t(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_noncentral_t(): Computation Error in %s on line %d
bool(false)
stats_stat_binomial_coef.phpt000064400000000501150414104120012464 0ustar00--TEST--
stats_stat_binomial_coef()
--FILE--
<?php
var_dump(stats_stat_binomial_coef(0, 4));
var_dump(stats_stat_binomial_coef(1, 4));
var_dump(stats_stat_binomial_coef(2, 4));
var_dump(stats_stat_binomial_coef(3, 4));
var_dump(stats_stat_binomial_coef(4, 4));
?>
--EXPECTF--
float(1)
float(4)
float(6)
float(4)
float(1)
stats_stat_paired_t.phpt000064400000001071150414104120011470 0ustar00--TEST--
stats_stat_paired_t()
--FILE--
<?php
var_dump(stats_stat_paired_t(array(1, 2), array(1, 1)));
var_dump(stats_stat_paired_t(array(1, 2), array(2, 1)));
var_dump(stats_stat_paired_t(array(1, 2), array(2, 2)));
var_dump(stats_stat_paired_t(array(1, 2), array(1, 2, 3)));
var_dump(stats_stat_paired_t(array(1), array(2)));
?>
--EXPECTF--
float(1)
float(0)
float(-1)

Warning: stats_stat_paired_t(): Unequal number of X and Y coordinates in %s on line %d
bool(false)

Warning: stats_stat_paired_t(): arr1 should have atleast 2 elements in %s on line %d
bool(false)
bug57830.phpt000064400000000307150414104120006615 0ustar00--TEST--
Bug #57830 wrong storage class for variable in C function gsrgs()
--FILE--
<?php
stats_rand_setall(4711, 88888);
$val = stats_rand_gen_gamma(0.6, 0.1);
echo is_float($val);
?>
--EXPECTF--
1
stats_rand_gen_noncentral_t.phpt000064400000000467150414104120013201 0ustar00--TEST--
stats_rand_gen_noncentral_t()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_noncentral_t(2, 1)));

// error cases
var_dump(stats_rand_gen_noncentral_t(-0.1, 1)); // df < 0
?>
--EXPECTF--
bool(true)

Warning: stats_rand_gen_noncentral_t(): df <= 0 . df :     -1.000000E-1 in %s on line %d
bool(false)
stats_stat_powersum.phpt000064400000000757150414104120011574 0ustar00--TEST--
stats_stat_powersum()
--FILE--
<?php
var_dump(stats_stat_powersum(array(1, 2, 4), 2));
var_dump(stats_stat_powersum(array(1, 2, 4), 0));
var_dump(stats_stat_powersum(array(1, 2, 4), -2));
var_dump(stats_stat_powersum(array(1, 0, 4), 1));
var_dump(stats_stat_powersum(array(1, 0, 4), 0));
var_dump(stats_stat_powersum(array(), 1));
?>
--EXPECTF--
float(21)
float(3)
float(1.3125)
float(5)

Warning: stats_stat_powersum(): Both value and power are zero in %s on line %d
float(2)
float(0)
stats_cdf_laplace.phpt000064400000002161150414104120011064 0ustar00--TEST--
stats_cdf_laplace()
--FILE--
<?php
// which = 1 : calculate P from (X, MEAN, SD)
var_dump(round(stats_cdf_laplace(0, 1, 2, 1), 6));
var_dump(round(stats_cdf_laplace(5, 4, 3, 1), 6));

// which = 2 : calculate X from (P, MEAN, SD)
var_dump(round(stats_cdf_laplace(0.30326533, 1, 2, 2), 6));
var_dump(round(stats_cdf_laplace(0.641734344, 4, 3, 2), 6));

// which = 3 : calculate MEAN from (P, X, SD)
var_dump(round(stats_cdf_laplace(0.30326533, 0, 2, 3), 6));
var_dump(round(stats_cdf_laplace(0.641734344, 5, 3, 3), 6));

// which = 4 : calculate SD from (P, X, MEAN)
var_dump(round(stats_cdf_laplace(0.30326533, 0, 1, 4), 6));
var_dump(round(stats_cdf_laplace(0.641734344, 5, 4, 4), 6));

// error cases
var_dump(stats_cdf_laplace(0, 1, 2, 0));    // which < 1
var_dump(stats_cdf_laplace(0, 1, 2, 5));    // which < 4
?>
--EXPECTF--
float(0.303265)
float(0.641734)
float(0)
float(5)
float(1)
float(4)
float(2)
float(3)

Warning: stats_cdf_laplace(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_laplace(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)
bug61318-10.phpt000064400000000351150414104120007026 0ustar00--TEST--
Bug #61318 (stats_harmonic_mean also casts values to floats)
--FILE--
<?php
$data = array(1, 2, 3);
stats_harmonic_mean($data);
var_dump($data);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
stats_stat_independent_t.phpt000064400000001106150414104120012520 0ustar00--TEST--
stats_stat_independent_t()
--FILE--
<?php
var_dump(round(stats_stat_independent_t(array(1, 2), array(1, 2)), 8));
var_dump(round(stats_stat_independent_t(array(1, 2), array(2, 3)), 8));
var_dump(stats_stat_independent_t(array(1), array(1, 2)));
var_dump(stats_stat_independent_t(array(1, 2), array(1)));
?>
--EXPECTF--
float(0)
float(-1.41421356)

Warning: stats_stat_independent_t(): Each argument should have more than 1 element in %s on line %d
bool(false)

Warning: stats_stat_independent_t(): Each argument should have more than 1 element in %s on line %d
bool(false)
stats_dens_exponential.phpt000064400000001127150414104120012207 0ustar00--TEST--
stats_dens_exponential()
--FILE--
<?php
// check for each x
foreach (range(-0.5, 2, 0.5) as $x) {
    var_dump(round(stats_dens_exponential($x, 2), 6));
}

// check for each scale
foreach (range(0.5, 2, 0.5) as $scale) {
    var_dump(round(stats_dens_exponential(1, $scale), 6));
}

// error cases
var_dump(stats_dens_exponential(1, 0)); // scale == 0
?>
--EXPECTF--
float(0)
float(0.5)
float(0.3894)
float(0.303265)
float(0.236183)
float(0.18394)
float(0.270671)
float(0.367879)
float(0.342278)
float(0.303265)

Warning: stats_dens_exponential(): scale == 0.0 in %s on line %d
bool(false)
stats_dens_uniform.phpt000064400000000634150414104120011342 0ustar00--TEST--
stats_dens_uniform()
--FILE--
<?php
var_dump(stats_dens_uniform(2.5, 1, 3));    // A <= X <= B
var_dump(stats_dens_uniform(0, 1, 3));      // X < A
var_dump(stats_dens_uniform(4, 1, 3));      // X > B

// error cases
var_dump(stats_dens_uniform(1, 1, 1));      // A == B
?>
--EXPECTF--
float(0.5)
float(0)
float(0)

Warning: stats_dens_uniform(): b == a ==      1.000000E+0 in %s on line %d
bool(false)
stats_rand_ibinomial.phpt000064400000001467150414104120011626 0ustar00--TEST--
stats_rand_ibinomial()
--FILE--
<?php
var_dump(in_array(stats_rand_ibinomial(3, 0.7), array(0, 1, 2, 3)));
var_dump(stats_rand_ibinomial(0, 0.7));
var_dump(stats_rand_ibinomial(3, 0));
var_dump(stats_rand_ibinomial(3, 1));

// error cases
var_dump(stats_rand_ibinomial(-1, 0.7));    // n < 0
var_dump(stats_rand_ibinomial(3, -0.1));    // pp < 0
var_dump(stats_rand_ibinomial(3, 1.1));     // pp > 1
?>
--EXPECTF--
bool(true)
int(0)
int(0)
int(3)

Warning: stats_rand_ibinomial(): Bad values for the arguments. n : -1  pp :      7.000000E-1 in %s on line %d
bool(false)

Warning: stats_rand_ibinomial(): Bad values for the arguments. n : 3  pp :     -1.000000E-1 in %s on line %d
bool(false)

Warning: stats_rand_ibinomial(): Bad values for the arguments. n : 3  pp :      1.100000E+0 in %s on line %d
bool(false)
stats_cdf_beta.phpt000064400000003463150414104120010404 0ustar00--TEST--
stats_cdf_beta()
--FILE--
<?php
// which = 1 : calculate P from (X, A, B)
var_dump(round(stats_cdf_beta(0.5, 2, 4, 1), 6));

// which = 2 : calculate X from (P, A, B)
var_dump(round(stats_cdf_beta(0.8125, 2, 4, 2), 6));

// which = 3 : calculate A from (P, X, B)
var_dump(round(stats_cdf_beta(0.8125, 0.5, 4, 3), 6));

// which = 4 : calculate B from (P, X, A)
var_dump(round(stats_cdf_beta(0.8125, 0.5, 2, 4), 6));

// error cases
var_dump(stats_cdf_beta(0.5, 2, 4, 0));     // which < 1
var_dump(stats_cdf_beta(0.5, 2, 4, 5));     // which > 4
var_dump(stats_cdf_beta(-0.1, 2, 4, 2));    // P < 0
var_dump(stats_cdf_beta(1.1, 2, 4, 2));     // P > 1
var_dump(stats_cdf_beta(-0.1, 2, 4, 1));    // X < 0
var_dump(stats_cdf_beta(1.1, 2, 4, 1));     // X > 1
var_dump(stats_cdf_beta(0.5, -0.1, 4, 1));  // A < 0
var_dump(stats_cdf_beta(0.5, 0, 4, 1));     // A == 0
var_dump(stats_cdf_beta(0.5, 2, -0.1, 1));  // B < 0
var_dump(stats_cdf_beta(0.5, 2, 0, 1));     // B == 0
?>
--EXPECTF--
float(0.8125)
float(0.5)
float(2)
float(4)

Warning: stats_cdf_beta(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_beta(): Computation Error in %s on line %d
bool(false)
bug61318-9.phpt000064400000000363150414104120006761 0ustar00--TEST--
Bug #61318 (stats_absolute_deviation also casts values to floats)
--FILE--
<?php
$data = array(1, 2, 3);
stats_absolute_deviation($data);
var_dump($data);
?>
--EXPECTF--
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
stats_rand_gen_normal.phpt000064400000000506150414104120011775 0ustar00--TEST--
stats_rand_gen_normal()
--FILE--
<?php
var_dump(is_float(stats_rand_gen_normal(0, 1)));
var_dump(stats_rand_gen_normal(0, 0));

// error cases
var_dump(stats_rand_gen_normal(0, -0.1)); // sd < 0
?>
--EXPECTF--
bool(true)
float(0)

Warning: stats_rand_gen_normal(): sd < 0.0 . sd :     %f in %s on line %d
bool(false)
stats_cdf_normal.phpt000064400000002746150414104120010764 0ustar00--TEST--
stats_cdf_normal()
--FILE--
<?php
// which = 1 : calculate P from (X, MEAN, SD)
var_dump(round(stats_cdf_normal(1, 0, 1, 1), 6));

// which = 2 : calculate X from (P, MEAN, SD)
var_dump(round(stats_cdf_normal(0.841344746, 0, 1, 2), 6));

// which = 3 : calculate MEAN from (P, X, SD)
var_dump(round(stats_cdf_normal(0.841344746, 1, 1, 3), 6));

// which = 4 : calculate SD from (P, X, MEAN)
var_dump(round(stats_cdf_normal(0.841344746, 1, 0, 4), 6));

// error cases
var_dump(stats_cdf_normal(1, 0, 1, 0));     // which < 1
var_dump(stats_cdf_normal(1, 0, 1, 5));     // which > 4
var_dump(stats_cdf_normal(-0.1, 0, 1, 2));  // P < 0
var_dump(stats_cdf_normal(0, 0, 1, 2));     // P == 0
var_dump(stats_cdf_normal(1.1, 0, 1, 2));   // P > 1
var_dump(stats_cdf_normal(1, 0, -0.1, 1));  // SD < 0
var_dump(stats_cdf_normal(1, 0, 0, 1));     // SD == 0
?>
--EXPECTF--
float(0.841345)
float(1)
float(0)
float(1)

Warning: stats_cdf_normal(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_normal(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_normal(): Computation error in %s on line %d
bool(false)

Warning: stats_cdf_normal(): Computation error in %s on line %d
bool(false)

Warning: stats_cdf_normal(): Computation error in %s on line %d
bool(false)

Warning: stats_cdf_normal(): Computation error in %s on line %d
bool(false)

Warning: stats_cdf_normal(): Computation error in %s on line %d
bool(false)
stats_stat_correlation.phpt000064400000000716150414104120012227 0ustar00--TEST--
stats_stat_correlation()
--FILE--
<?php
var_dump(stats_stat_correlation(array(1, 2, 3), array(1, 2, 3)));
var_dump(stats_stat_correlation(array(1, 2, 3), array(1, 2, 1)));
var_dump(stats_stat_correlation(array(1, 2, 3), array(3, 2, 1)));
var_dump(stats_stat_correlation(array(1, 2, 3), array(1, 2, 3, 4)));
?>
--EXPECTF--
float(1)
float(0)
float(-1)

Warning: stats_stat_correlation(): Unequal number of X and Y coordinates in %s on line %d
bool(false)
bug61318.phpt000064400000000424150414104120006611 0ustar00--TEST--
Bug #61318 stats_standard_deviation casts values to floats
--FILE--
<?php
$data = array(2, 3, 2, 2, 2);
stats_standard_deviation($data);
var_dump($data);
?>
--EXPECTF--
array(5) {
  [0]=>
  int(2)
  [1]=>
  int(3)
  [2]=>
  int(2)
  [3]=>
  int(2)
  [4]=>
  int(2)
}
stats_dens_gamma.phpt000064400000001353150414104120010744 0ustar00--TEST--
stats_dens_gamma()
--FILE--
<?php
// check for each x
foreach (range(0.5, 2, 0.5) as $x) {
    var_dump(round(stats_dens_gamma($x, 1, 1), 6));
}

// check for each shape
foreach (range(0.5, 2, 0.5) as $shape) {
    var_dump(round(stats_dens_gamma(1, $shape, 1), 6));
}

// check for each scale
foreach (range(0.5, 2, 0.5) as $scale) {
    var_dump(round(stats_dens_gamma(1, 1, $scale), 6));
}

// error cases
var_dump(stats_dens_gamma(1, 1, 0)); // scale == 0
?>
--EXPECTF--
float(0.606531)
float(0.367879)
float(0.22313)
float(0.135335)
float(0.207554)
float(0.367879)
float(0.415107)
float(0.367879)
float(0.270671)
float(0.367879)
float(0.342278)
float(0.303265)

Warning: stats_dens_gamma(): scale == 0.0 in %s on line %d
bool(false)
stats_dens_t.phpt000064400000001027150414104120010123 0ustar00--TEST--
stats_dens_t()
--FILE--
<?php
// check foreach x
foreach (range(-1, 1, 0.5) as $x) {
    var_dump(round(stats_dens_t($x, 1), 6));
}

// check foreach dfr
foreach (range(0.5, 2, 0.5) as $dfr) {
    var_dump(round(stats_dens_t(0, $dfr), 6));
}

// error cases
var_dump(stats_dens_t(1, 0));   // dfr == 0

?>
--EXPECTF--
float(0.159155)
float(0.254648)
float(0.31831)
float(0.254648)
float(0.159155)
float(0.269676)
float(0.31831)
float(0.340735)
float(0.353553)

Warning: stats_dens_t(): dfr == 0.0 in %s on line %d
bool(false)
stats_dens_pmf_poisson.phpt000064400000000740150414104120012215 0ustar00--TEST--
stats_dens_pmf_poisson()
--FILE--
<?php
// check for each x
foreach (range(0, 5) as $x) {
    var_dump(round(stats_dens_pmf_poisson($x, 1), 6));
}

// check for each lb
foreach (range(0.5, 3, 0.5) as $lb) {
    var_dump(round(stats_dens_pmf_poisson(1, $lb), 6));
}
?>
--EXPECTF--
float(0.367879)
float(0.367879)
float(0.18394)
float(0.061313)
float(0.015328)
float(0.003066)
float(0.303265)
float(0.367879)
float(0.334695)
float(0.270671)
float(0.205212)
float(0.149361)
stats_harmonic_mean.phpt000064400000000451150414104120011447 0ustar00--TEST--
stats_harmonic_mean() tests
--FILE--
<?php
var_dump(sprintf("%2.9f", stats_harmonic_mean(array(1,3,5,7))));
var_dump(stats_standard_deviation(array()));
?>
--EXPECTF--
string(11) "2.386363636"

Warning: stats_standard_deviation(): The array has zero elements in %s on line %d
bool(false)
bug59292.phpt000064400000000525150414104120006623 0ustar00--TEST--
Bug #59292 Error in stats package (stats_cdf_t function)
--FILE--
<?php
var_dump(round(stats_cdf_t(3.0, 5.0, 1), 6));      // this one works
var_dump(round(stats_cdf_t(0.984950, 5.0, 2), 6)); // fails on this
var_dump(round(stats_cdf_t(0.984950, 3.0, 3), 6)); // and this
?>
--EXPECTF--
float(0.98495)
float(2.999978)
float(4.9999)
stats_rand_gen_iuniform.phpt000064400000000620150414104120012332 0ustar00--TEST--
stats_rand_gen_iuniform()
--FILE--
<?php
var_dump(in_array(stats_rand_gen_iuniform(1, 3), array(1, 2, 3)));
var_dump(stats_rand_gen_iuniform(1, 1));

// error cases
var_dump(stats_rand_gen_iuniform(2, 1));    // low > high
?>
--EXPECTF--
bool(true)
int(1)

Warning: stats_rand_gen_iuniform(): low greater than high. low :                2  high                1 in %s on line %d
bool(false)
stats_cdf_negative_binomial.phpt000064400000003576150414104120013152 0ustar00--TEST--
stats_cdf_negative_binomial()
--FILE--
<?php
// which = 1 : calculate P from (S, XN, PR)
var_dump(round(stats_cdf_negative_binomial(2, 1, 0.4, 1), 6));

// which = 2 : calculate S from (P, XN, PR)
var_dump(round(stats_cdf_negative_binomial(0.784, 1, 0.4, 2), 6));

// which = 3 : calculate XN from (P, S, PR)
var_dump(round(stats_cdf_negative_binomial(0.784, 2, 0.4, 3), 6));

// which = 4 : calculate PR from (P, S, XN)
var_dump(round(stats_cdf_negative_binomial(0.784, 2, 1, 4), 6));

// error cases
var_dump(stats_cdf_negative_binomial(2, 1, 0.4, 0));    // which < 1
var_dump(stats_cdf_negative_binomial(2, 1, 0.4, 5));    // which > 4
var_dump(stats_cdf_negative_binomial(-0.1, 1, 0.4, 2)); // P < 0
var_dump(stats_cdf_negative_binomial(1.1, 1, 0.4, 2));  // P > 0
var_dump(stats_cdf_negative_binomial(-1, 1, 0.4, 1));   // S < 0
var_dump(stats_cdf_negative_binomial(2, -1, 0.4, 1));   // XN < 0
var_dump(stats_cdf_negative_binomial(2, 1, -0.1, 1));   // PR < 0
var_dump(stats_cdf_negative_binomial(2, 1, 1.1, 1));    // PR > 1

?>
--EXPECTF--
float(0.784)
float(2)
float(1)
float(0.4)

Warning: stats_cdf_negative_binomial(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Computation Error in cdfnbn in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Computation Error in cdfnbn in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Computation Error in cdfnbn in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Computation Error in cdfnbn in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Computation Error in cdfnbn in %s on line %d
bool(false)

Warning: stats_cdf_negative_binomial(): Computation Error in cdfnbn in %s on line %d
bool(false)
stats_dens_normal.phpt000064400000001612150414104120011150 0ustar00--TEST--
stats_dens_normal()
--FILE--
<?php
// check for each x
foreach (range(-2, 2, 0.5) as $x) {
    var_dump(round(stats_dens_normal($x, 0, 1), 6));
}

// check for each ave
foreach (range(-2, 2, 0.5) as $ave) {
    var_dump(round(stats_dens_normal(1, $ave, 1), 6));
}

// check for each stdev
foreach (range(0.5, 2, 0.5) as $stdev) {
    var_dump(round(stats_dens_normal(1, 0, $stdev), 6));
}

// error cases
var_dump(stats_dens_normal(1, 0, 0)); // stdev == 0
?>
--EXPECTF--
float(0.053991)
float(0.129518)
float(0.241971)
float(0.352065)
float(0.398942)
float(0.352065)
float(0.241971)
float(0.129518)
float(0.053991)
float(0.004432)
float(0.017528)
float(0.053991)
float(0.129518)
float(0.241971)
float(0.352065)
float(0.398942)
float(0.352065)
float(0.241971)
float(0.107982)
float(0.241971)
float(0.212965)
float(0.176033)

Warning: stats_dens_normal(): stdev is 0.0 in %s on line %d
bool(false)
stats_cdf_uniform.phpt000064400000002324150414104120011143 0ustar00--TEST--
stats_cdf_uniform()
--FILE--
<?php
// which = 1 : calculate P from (X, A, B)
var_dump(stats_cdf_uniform(2.5, 1, 3, 1));  // A <= X <= B
var_dump(stats_cdf_uniform(0, 1, 3, 1));    // X < A
var_dump(stats_cdf_uniform(4, 1, 3, 1));    // X > B

// which = 2 : calculate X from (P, A, B)
var_dump(stats_cdf_uniform(0.75, 1, 3, 2));

// which = 3 : calculate A from (P, X, B)
var_dump(stats_cdf_uniform(0.75, 2.5, 3, 3));

// which = 4 : calculate B from (P, X, A)
var_dump(stats_cdf_uniform(0.75, 2.5, 1, 4));

// error cases
var_dump(stats_cdf_uniform(2.5, 1, 3, 0));  // which < 1
var_dump(stats_cdf_uniform(2.5, 1, 3, 5));  // which > 4
var_dump(stats_cdf_uniform(-0.1, 1, 3, 2)); // P < 0
var_dump(stats_cdf_uniform(1.1, 1, 3, 2));  // P > 1
?>
--EXPECTF--
float(0.75)
float(0)
float(1)
float(2.5)
float(1)
float(3)

Warning: stats_cdf_uniform(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_uniform(): Fourth parameter should be in the 1..4 range in %s on line %d
bool(false)

Warning: stats_cdf_uniform(): p is out of range. p :     -1.000000E-1 in %s on line %d
bool(false)

Warning: stats_cdf_uniform(): p is out of range. p :      1.100000E+0 in %s on line %d
bool(false)
stats_cdf_poisson.phpt000064400000002340150414104120011154 0ustar00--TEST--
stats_cdf_poisson()
--FILE--
<?php
// which = 1 : calculate P from (S, XLAM)
var_dump(round(stats_cdf_poisson(1, 2, 1), 6));

// which = 2 : calculate A from (P, XLAM)
var_dump(round(stats_cdf_poisson(0.40600585, 2, 2), 6));

// which = 3 : calculate XLAM from (P, S)
var_dump(round(stats_cdf_poisson(0.40600585, 1, 3), 6));

// error cases
var_dump(stats_cdf_poisson(1, 2, 0));       // which < 1
var_dump(stats_cdf_poisson(1, 2, 4));       // which > 3
var_dump(stats_cdf_poisson(-0.1, 2, 2));    // P < 0
var_dump(stats_cdf_poisson(1.1, 2, 2));     // P > 0
var_dump(stats_cdf_poisson(-0.1, 2, 1));    // S < 0
var_dump(stats_cdf_poisson(1, -0.1, 1));    // XLAM < 0
?>
--EXPECTF--
float(0.406006)
float(1)
float(2)

Warning: stats_cdf_poisson(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_poisson(): Third parameter should be in the 1..3 range in %s on line %d
bool(false)

Warning: stats_cdf_poisson(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_poisson(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_poisson(): Computation Error in %s on line %d
bool(false)

Warning: stats_cdf_poisson(): Computation Error in %s on line %d
bool(false)
stats_rand_ignlgi.phpt000064400000000224150414104120011122 0ustar00--TEST--
stats_rand_ignlgi()
--FILE--
<?php
$r = stats_rand_ignlgi();
var_dump(is_int($r));
var_dump($r >= 1);
?>
--EXPECTF--
bool(true)
bool(true)
bug61318-2.phpt000064400000000424150414104120006750 0ustar00--TEST--
Bug #61318 (stats_stat_powersum also casts values to floats)
--FILE--
<?php
$data = array(2, 3, 2, 2, 2);
stats_stat_powersum($data, 1);
var_dump($data);
?>
--EXPECTF--
array(5) {
  [0]=>
  int(2)
  [1]=>
  int(3)
  [2]=>
  int(2)
  [3]=>
  int(2)
  [4]=>
  int(2)
}
info.phpt000064400000000414150414432250006373 0ustar00--TEST--
Test phpinfo() displays brotli info
--SKIPIF--
--FILE--
<?php
if (!extension_loaded('brotli')) {
    dl('brotli.' . PHP_SHLIB_SUFFIX);
}

phpinfo();
--EXPECTF--
%a
brotli

Brotli support => enabled
Extension Version => %d.%d.%d
Library Version => %d.%d.%d
%a
roundtrip.phpt000064400000004656150414432250007502 0ustar00--TEST--
Test compatibility
--SKIPIF--
--FILE--
<?php
if (!extension_loaded('brotli')) {
    dl('brotli.' . PHP_SHLIB_SUFFIX);
}

$dir = __DIR__ . '/../brotli/';
$files = array(
    'tests/testdata/alice29.txt',
    'tests/testdata/asyoulik.txt',
    'tests/testdata/lcet10.txt',
    'tests/testdata/plrabn12.txt',
    '/c/enc/encode.c',
    '/c/common/dictionary.h',
    '/c/dec/decode.c',
);

$qualities = array(1, 6, 9, 11);

foreach ($files as $filename) {
    foreach ($qualities as $quality) {
        echo 'Roundtrip testing file ', basename($filename), ' at quality ', $quality, PHP_EOL;

        $expected = $dir . $filename;

        if (file_exists($expected)) {
            $data = file_get_contents($expected);
            $expected_data = brotli_uncompress(brotli_compress($data, $quality));
            if ($data !== $expected_data) {
                echo "  NG\n";
                exit(1);
            } else {
                echo "  OK\n";
            }
        }
    }
}

--EXPECTF--
Roundtrip testing file alice29.txt at quality 1
  OK
Roundtrip testing file alice29.txt at quality 6
  OK
Roundtrip testing file alice29.txt at quality 9
  OK
Roundtrip testing file alice29.txt at quality 11
  OK
Roundtrip testing file asyoulik.txt at quality 1
  OK
Roundtrip testing file asyoulik.txt at quality 6
  OK
Roundtrip testing file asyoulik.txt at quality 9
  OK
Roundtrip testing file asyoulik.txt at quality 11
  OK
Roundtrip testing file lcet10.txt at quality 1
  OK
Roundtrip testing file lcet10.txt at quality 6
  OK
Roundtrip testing file lcet10.txt at quality 9
  OK
Roundtrip testing file lcet10.txt at quality 11
  OK
Roundtrip testing file plrabn12.txt at quality 1
  OK
Roundtrip testing file plrabn12.txt at quality 6
  OK
Roundtrip testing file plrabn12.txt at quality 9
  OK
Roundtrip testing file plrabn12.txt at quality 11
  OK
Roundtrip testing file encode.c at quality 1
  OK
Roundtrip testing file encode.c at quality 6
  OK
Roundtrip testing file encode.c at quality 9
  OK
Roundtrip testing file encode.c at quality 11
  OK
Roundtrip testing file dictionary.h at quality 1
  OK
Roundtrip testing file dictionary.h at quality 6
  OK
Roundtrip testing file dictionary.h at quality 9
  OK
Roundtrip testing file dictionary.h at quality 11
  OK
Roundtrip testing file decode.c at quality 1
  OK
Roundtrip testing file decode.c at quality 6
  OK
Roundtrip testing file decode.c at quality 9
  OK
Roundtrip testing file decode.c at quality 11
  OK
compatibility.phpt000064400000015134150414432250010316 0ustar00--TEST--
Test compatibility
--SKIPIF--
--FILE--
<?php
if (!extension_loaded('brotli')) {
    dl('brotli.' . PHP_SHLIB_SUFFIX);
}

$dir = __DIR__ . '/../brotli/tests/testdata/*.compressed*';

foreach (glob($dir) as $filename) {
    echo 'Testing decompression of file ', basename($filename), PHP_EOL;

    $split =  explode('.compressed', $filename);
    $expected = $split[0];
    $quality = -1;

    if (isset($split[1])) {
        $quality = (int)$split[1];
    }

    if (file_exists($expected)) {
        $data = file_get_contents($expected);
        $compressed_data = file_get_contents($filename);

        $expected_data = brotli_uncompress($compressed_data);
        if ($data !== $expected_data) {
            echo "  read uncompressed .. NG\n";
            exit(1);
        } else {
            echo "  read uncompressed .. OK\n";
        }

        $expected_data = brotli_compress($data, $quality);
        if (!$expected_data) {
            echo "  compressed        .. NG\n";
            exit(1);
        } else {
            echo "  compressed        .. OK\n";
        }

        $expected_data = brotli_uncompress($compressed_data);
        if ($data !== $expected_data) {
            echo "  uncompressed      .. NG\n";
            exit(1);
        } else {
            echo "  uncompressed      .. OK\n";
        }

    }
}

--EXPECTF--
Testing decompression of file 10x10y.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file 64x.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file alice29.txt.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file asyoulik.txt.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file backward65536.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file compressed_file.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file compressed_repeated.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.00
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.01
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.02
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.03
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.04
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.05
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.06
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.07
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.08
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.09
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.10
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.11
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.12
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.13
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.14
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.15
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.16
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.17
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file empty.compressed.18
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file lcet10.txt.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file mapsdatazrh.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file monkey.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file plrabn12.txt.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file quickfox.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file quickfox_repeated.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file random_org_10k.bin.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file ukkonooa.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file x.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file x.compressed.00
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file x.compressed.01
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file x.compressed.02
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file x.compressed.03
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file xyzzy.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
Testing decompression of file zeros.compressed
  read uncompressed .. OK
  compressed        .. OK
  uncompressed      .. OK
yaml_parse_spec_bool.phpt000064400000000523150447771360011640 0ustar00--TEST--
Yaml 1.1 Spec - bool
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
canonical: y
answer: NO
logical: True
option: on
'));
?>
--EXPECT--
array(4) {
  ["canonical"]=>
  bool(true)
  ["answer"]=>
  bool(false)
  ["logical"]=>
  bool(true)
  ["option"]=>
  bool(true)
}
yaml_parse_wiki_YtsBasicTests_006.phpt000064400000000742150447771360014052 0ustar00--TEST--
Yaml YtsBasicTests - Sequence in a Mapping
--DESCRIPTION--
A value in a mapping can be a sequence.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('foo: whatever
bar:
 - uno
 - dos
'));
?>
--EXPECT--
array(2) {
  ["foo"]=>
  string(8) "whatever"
  ["bar"]=>
  array(2) {
    [0]=>
    string(3) "uno"
    [1]=>
    string(3) "dos"
  }
}
bug_75029.phpt000064400000000632150447771360007003 0ustar00--TEST--
Test PECL bug #75029
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
var_dump(yaml_parse(''));
var_dump(yaml_parse('# Empty', -1));
$doc = <<<EOD
doc
---
---
doc
EOD;
var_dump(yaml_parse($doc, -1));
var_dump(yaml_parse($doc, 1));
?>
--EXPECT--
NULL
array(1) {
  [0]=>
  NULL
}
array(3) {
  [0]=>
  string(3) "doc"
  [1]=>
  NULL
  [2]=>
  string(3) "doc"
}
NULL
bug_69465.phpt000064400000001442150447771360007012 0ustar00--TEST--
Test PECL bug #69465
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_timestamp=1
date.timezone=UTC
--FILE--
<?php
$yaml_code = <<<YAML
date1: 2015-05-15
date2: "2015-05-15"
date3: ! 2015-05-15
bool1: true
bool2: "true"
bool3: ! true
int1: 1
int2: "1"
int3: ! 1
float1: 1.5
float2: "1.5"
float3: ! 1.5
YAML;

var_dump(yaml_parse($yaml_code));
?>
--EXPECT--
array(12) {
  ["date1"]=>
  int(1431648000)
  ["date2"]=>
  string(10) "2015-05-15"
  ["date3"]=>
  string(10) "2015-05-15"
  ["bool1"]=>
  bool(true)
  ["bool2"]=>
  string(4) "true"
  ["bool3"]=>
  string(4) "true"
  ["int1"]=>
  int(1)
  ["int2"]=>
  string(1) "1"
  ["int3"]=>
  string(1) "1"
  ["float1"]=>
  float(1.5)
  ["float2"]=>
  string(3) "1.5"
  ["float3"]=>
  string(3) "1.5"
}
yaml_parse_wiki_YtsBasicTests_007.phpt000064400000001067150447771360014054 0ustar00--TEST--
Yaml YtsBasicTests - Nested Mappings
--DESCRIPTION--
A value in a mapping can be another mapping.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('foo: whatever
bar:
 fruit: apple
 name: steve
 sport: baseball
'));
?>
--EXPECT--
array(2) {
  ["foo"]=>
  string(8) "whatever"
  ["bar"]=>
  array(3) {
    ["fruit"]=>
    string(5) "apple"
    ["name"]=>
    string(5) "steve"
    ["sport"]=>
    string(8) "baseball"
  }
}
yaml_parse_wiki_YtsStrangeKeys_001.phpt000064400000000602150447771360014233 0ustar00--TEST--
Yaml YtsStrangeKeys - Quoted line noise key
--DESCRIPTION--
Check that quoted line noise parses as key.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
"!@#%" : bar baz
'));
?>
--EXPECT--
array(1) {
  ["!@#%"]=>
  string(7) "bar baz"
}
yaml_parse_spec_seq.phpt000064400000002526150447771360011502 0ustar00--TEST--
Yaml 1.1 Spec - seq
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
# Ordered sequence of nodes
Block style: !!seq
- Mercury   # Rotates - no light/dark sides.
- Venus     # Deadliest. Aptly named.
- Earth     # Mostly dirt.
- Mars      # Seems empty.
- Jupiter   # The king.
- Saturn    # Pretty.
- Uranus    # Where the sun hardly shines.
- Neptune   # Boring. No rings.
- Pluto     # You call this a planet?
Flow style: !!seq [ Mercury, Venus, Earth, Mars,      # Rocks
                    Jupiter, Saturn, Uranus, Neptune, # Gas
                    Pluto ]                           # Overrated
'));
?>
--EXPECT--
array(2) {
  ["Block style"]=>
  array(9) {
    [0]=>
    string(7) "Mercury"
    [1]=>
    string(5) "Venus"
    [2]=>
    string(5) "Earth"
    [3]=>
    string(4) "Mars"
    [4]=>
    string(7) "Jupiter"
    [5]=>
    string(6) "Saturn"
    [6]=>
    string(6) "Uranus"
    [7]=>
    string(7) "Neptune"
    [8]=>
    string(5) "Pluto"
  }
  ["Flow style"]=>
  array(9) {
    [0]=>
    string(7) "Mercury"
    [1]=>
    string(5) "Venus"
    [2]=>
    string(5) "Earth"
    [3]=>
    string(4) "Mars"
    [4]=>
    string(7) "Jupiter"
    [5]=>
    string(6) "Saturn"
    [6]=>
    string(6) "Uranus"
    [7]=>
    string(7) "Neptune"
    [8]=>
    string(5) "Pluto"
  }
}
yaml_emit_004.phpt000064400000000520150447771360010017 0ustar00--TEST--
yaml_emit - datetime
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
if(!class_exists('DateTime')) die('skip DateTime n/a');
?>
--INI--
date.timezone=GMT
--FILE--
<?php
$d = new DateTime('2008-08-03T14:52:10Z');
var_dump(yaml_emit($d));
?>
--EXPECT--
string(41) "--- 2008-08-03T14:52:10.000000+00:00
...
"
yaml_parse_wiki_YtsBasicTests_004.phpt000064400000001023150447771360014041 0ustar00--TEST--
Yaml YtsBasicTests - Deeply Nested Sequences
--DESCRIPTION--
Sequences can be nested even deeper, with each
level of indentation representing a level of
depth.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('-
 -
  - uno
  - dos
'));
?>
--EXPECT--
array(1) {
  [0]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(3) "uno"
      [1]=>
      string(3) "dos"
    }
  }
}
yaml_parse_spec_float.phpt000064400000001032150447771360012006 0ustar00--TEST--
Yaml 1.1 Spec - float
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
canonical: 6.8523015e+5
exponentioal: 685.230_15e+03
fixed: 685_230.15
sexagesimal: 190:20:30.15
negative infinity: -.inf
not a number: .NaN
'));
?>
--EXPECT--
array(6) {
  ["canonical"]=>
  float(685230.15)
  ["exponentioal"]=>
  float(685230.15)
  ["fixed"]=>
  float(685230.15)
  ["sexagesimal"]=>
  float(685230.15)
  ["negative infinity"]=>
  float(-INF)
  ["not a number"]=>
  float(NAN)
}
yaml_parse_wiki_YtsBasicTests_009.phpt000064400000001055150447771360014053 0ustar00--TEST--
Yaml YtsBasicTests - Sequence-Mapping Shortcut
--DESCRIPTION--
If you are adding a mapping to a sequence, you
can place the mapping on the same line as the
dash as a shortcut.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('- work on YAML.py:
   - work on Store
'));
?>
--EXPECT--
array(1) {
  [0]=>
  array(1) {
    ["work on YAML.py"]=>
    array(1) {
      [0]=>
      string(13) "work on Store"
    }
  }
}
yaml_parse_wiki_YtsBlockMapping_003.phpt000064400000001022150447771360014341 0ustar00--TEST--
Yaml YtsBlockMapping - Values aligned
--DESCRIPTION--
Often times human editors of documents will align the values even
though YAML emitters generally don't.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
red:   baron
white: walls
blue:  berries
'));
?>
--EXPECT--
array(3) {
  ["red"]=>
  string(5) "baron"
  ["white"]=>
  string(5) "walls"
  ["blue"]=>
  string(7) "berries"
}
yaml_parse_wiki_YtsMapInSeq_002.phpt000064400000000651150447771360013456 0ustar00--TEST--
Yaml YtsMapInSeq - Multiple keys
--DESCRIPTION--
Test a map with multiple keys.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
- foo: bar
  baz: bug
'));
?>
--EXPECT--
array(1) {
  [0]=>
  array(2) {
    ["foo"]=>
    string(3) "bar"
    ["baz"]=>
    string(3) "bug"
  }
}
bug_60628.phpt000064400000002751150447771370007007 0ustar00--TEST--
Test PECL bug #260628
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$data = <<<YAML
#yaml
---
data: !mytag
  - look upper
...
YAML;

function tag_callback ($value, $tag, $flags) {
  echo "-- callback value --\n";
  var_dump($value);
  var_dump($tag);
  var_dump($flags);
  echo "-- end callback value --\n";
  return array(
      'data' => $value,
      'another' => 'test',
    );
}

/* baseline. do like operation in native php. */
$native = array(
  "data" => array("look upper"),
);
$native["data"] = tag_callback($native["data"], "!mytag", 0);

echo "-- native value --\n";
var_dump($native);
echo "-- end native value --\n";

$cnt = null;
$array = yaml_parse($data, 0, $cnt, array(
    '!mytag' => 'tag_callback',
  ));

echo "-- parsed value --\n";
var_dump($array);
echo "-- end parsed value --\n";
?>
--EXPECT--
-- callback value --
array(1) {
  [0]=>
  string(10) "look upper"
}
string(6) "!mytag"
int(0)
-- end callback value --
-- native value --
array(1) {
  ["data"]=>
  array(2) {
    ["data"]=>
    array(1) {
      [0]=>
      string(10) "look upper"
    }
    ["another"]=>
    string(4) "test"
  }
}
-- end native value --
-- callback value --
array(1) {
  [0]=>
  string(10) "look upper"
}
string(6) "!mytag"
int(0)
-- end callback value --
-- parsed value --
array(1) {
  ["data"]=>
  array(2) {
    ["data"]=>
    array(1) {
      [0]=>
      string(10) "look upper"
    }
    ["another"]=>
    string(4) "test"
  }
}
-- end parsed value --
yaml_parse_spec_omap.phpt000064400000002013150447771370011636 0ustar00--TEST--
Yaml 1.1 Spec - omap
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
# Explicitly typed ordered map (dictionary).
Bestiary: !!omap
  - aardvark: African pig-like ant eater. Ugly.
  - anteater: South-American ant eater. Two species.
  - anaconda: South-American constrictor snake. Scaly.
  # Etc.
# Flow style
Numbers: !!omap [ one: 1, two: 2, three : 3 ]
'));
?>
--EXPECT--
array(2) {
  ["Bestiary"]=>
  array(3) {
    [0]=>
    array(1) {
      ["aardvark"]=>
      string(33) "African pig-like ant eater. Ugly."
    }
    [1]=>
    array(1) {
      ["anteater"]=>
      string(38) "South-American ant eater. Two species."
    }
    [2]=>
    array(1) {
      ["anaconda"]=>
      string(40) "South-American constrictor snake. Scaly."
    }
  }
  ["Numbers"]=>
  array(3) {
    [0]=>
    array(1) {
      ["one"]=>
      int(1)
    }
    [1]=>
    array(1) {
      ["two"]=>
      int(2)
    }
    [2]=>
    array(1) {
      ["three"]=>
      int(3)
    }
  }
}
yaml_parse_005.phpt000064400000003701150447771370010201 0ustar00--TEST--
yaml_parse - syck bug #12656
--CREDITS--
From syck bug #12656
http://pecl.php.net/bugs/bug.php?id=12656
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
models : [ /usr/home/enovodk/data/core/easyworks/current/models/ ]
behaviors : [
/usr/home/enovodk/data/core/easyworks/current/models/behaviors/ ]
controllers : [
/usr/home/enovodk/data/core/easyworks/current/controllers/ ]
components : [
/usr/home/enovodk/data/core/easyworks/current/controllers/components/ ]
apis : [ /usr/home/enovodk/data/core/easyworks/current/controllers/api/
]
views : [ /usr/home/enovodk/data/core/easyworks/current/views/ ]
helpers : [ /usr/home/enovodk/data/core/easyworks/current/views/helpers/
]
libs : [ /usr/home/enovodk/data/core/easyworks/current/libs/ ]
plugins : [ /usr/home/enovodk/data/core/easyworks/current/plugins/ ]

'));
?>
--EXPECT--
array(9) {
  ["models"]=>
  array(1) {
    [0]=>
    string(53) "/usr/home/enovodk/data/core/easyworks/current/models/"
  }
  ["behaviors"]=>
  array(1) {
    [0]=>
    string(63) "/usr/home/enovodk/data/core/easyworks/current/models/behaviors/"
  }
  ["controllers"]=>
  array(1) {
    [0]=>
    string(58) "/usr/home/enovodk/data/core/easyworks/current/controllers/"
  }
  ["components"]=>
  array(1) {
    [0]=>
    string(69) "/usr/home/enovodk/data/core/easyworks/current/controllers/components/"
  }
  ["apis"]=>
  array(1) {
    [0]=>
    string(62) "/usr/home/enovodk/data/core/easyworks/current/controllers/api/"
  }
  ["views"]=>
  array(1) {
    [0]=>
    string(52) "/usr/home/enovodk/data/core/easyworks/current/views/"
  }
  ["helpers"]=>
  array(1) {
    [0]=>
    string(60) "/usr/home/enovodk/data/core/easyworks/current/views/helpers/"
  }
  ["libs"]=>
  array(1) {
    [0]=>
    string(51) "/usr/home/enovodk/data/core/easyworks/current/libs/"
  }
  ["plugins"]=>
  array(1) {
    [0]=>
    string(54) "/usr/home/enovodk/data/core/easyworks/current/plugins/"
  }
}
yaml_parse_002.phpt000064400000001205150447771370010173 0ustar00--TEST--
yaml_parse - multiple documents
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
---
time: !!str 20:03:20
player: Sammy Sosa
action: strike (miss)
...

%YAML 1.1
---
time: "20:03:47"
player: Sammy Sosa
action: grand slam
...
', -1));
?>
--EXPECT--
array(2) {
  [0]=>
  array(3) {
    ["time"]=>
    string(8) "20:03:20"
    ["player"]=>
    string(10) "Sammy Sosa"
    ["action"]=>
    string(13) "strike (miss)"
  }
  [1]=>
  array(3) {
    ["time"]=>
    string(8) "20:03:47"
    ["player"]=>
    string(10) "Sammy Sosa"
    ["action"]=>
    string(10) "grand slam"
  }
}
yaml_parse_spec_binary.phpt000064400000001775150447771370012204 0ustar00--TEST--
Yaml 1.1 Spec - binary
--SKIPIF--
<?php
  if(!extension_loaded('yaml')) die('skip yaml n/a');
  if(!function_exists('md5')) die('skip md5 unavailable');
?>
--INI--
yaml.decode_binary=1
--FILE--
<?php
  $y = yaml_parse('
canonical: !!binary "\
 R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\
 OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\
 +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\
 AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="
generic: !!binary |
 R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
 OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
 +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
 AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
description:
 The binary value above is a tiny arrow encoded as a gif image.
');
  var_dump($y['canonical'] === $y['generic']);
  var_dump(md5($y['canonical']));
?>
--EXPECT--
bool(true)
string(32) "a8363b3d0e4e39d9e77e244e216c7840"
yaml_emit_005.phpt000064400000000531150447771370010023 0ustar00--TEST--
yaml_emit - serializable
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
?>
--FILE--
<?php
class A {
  public $one = 1;

  public function show_one() {
    echo $this->one;
  }
}
$a = new A;

var_dump(yaml_emit(array('a' => $a)));
?>
--EXPECT--
string(56) "---
a: !php/object "O:1:\"A\":1:{s:3:\"one\";i:1;}"
...
"
bug_64019.phpt000064400000001254150447771370007002 0ustar00--TEST--
Test PECL bug #64019
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$yaml_code = <<<YAML
configAnchors:
  - &wrongAnchor:   # This last colon (:) makes the script die
    configKey: configValue

config:
  <<: *wrongAnchor
YAML;

var_dump(yaml_parse($yaml_code));

$yaml_code = <<<YAML
config:
  <<:
YAML;

var_dump(yaml_parse($yaml_code));
?>
--EXPECT--
array(2) {
  ["configAnchors"]=>
  array(1) {
    [0]=>
    array(2) {
      [""]=>
      NULL
      ["configKey"]=>
      string(11) "configValue"
    }
  }
  ["config"]=>
  array(1) {
    ["<<"]=>
    NULL
  }
}
array(1) {
  ["config"]=>
  array(1) {
    ["<<"]=>
    NULL
  }
}
yaml_parse_wiki_YtsMapInSeq_001.phpt000064400000000675150447771370013464 0ustar00--TEST--
Yaml YtsMapInSeq - Single key
--DESCRIPTION--
Test maps with just one key.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
- foo: bar
- baz: bug
'));
?>
--EXPECT--
array(2) {
  [0]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
  [1]=>
  array(1) {
    ["baz"]=>
    string(3) "bug"
  }
}
bug_72204.phpt000064400000000620150447771370006771 0ustar00--TEST--
Test PECL bug #72204
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$yaml_code = <<<YAML
foo: &ref
    bar: true
baz: &ref2
    <<: *ref
    bar: false
YAML;
$yaml = yaml_parse($yaml_code);
var_dump($yaml);
?>
--EXPECT--
array(2) {
  ["foo"]=>
  array(1) {
    ["bar"]=>
    bool(true)
  }
  ["baz"]=>
  array(1) {
    ["bar"]=>
    bool(false)
  }
}
yaml_parse_spec_set.phpt000064400000000572150447771370011505 0ustar00--TEST--
Yaml 1.1 Spec - set
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('baseball players: !!set
  ? Mark McGwire
  ? Sammy Sosa
  ? Ken Griffey
'));
?>
--EXPECT--
array(1) {
  ["baseball players"]=>
  array(3) {
    ["Mark McGwire"]=>
    NULL
    ["Sammy Sosa"]=>
    NULL
    ["Ken Griffey"]=>
    NULL
  }
}
yaml_emit_006.phpt000064400000007250150447771370010031 0ustar00--TEST--
yaml_emit - ini settings
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
?>
--INI--
yaml.output_canonical=0
yaml.output_indent=2
yaml.output_width=80
serialize_precision=-1
--FILE--
<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));

ini_set("yaml.output_canonical", "1");
ini_set("yaml.output_indent", "4");
ini_set("yaml.output_width", "40");
echo "== CANONICAL ==\n";
var_dump(yaml_emit($invoice));

?>
--EXPECT--
string(620) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.42
total: 4443.52
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
== CANONICAL ==
string(1822) "---
!!map {
    ? !!str "invoice"
    : !!int "34843",
    ? !!str "date"
    : !!int "980208000",
    ? !!str "bill-to"
    : !!map {
        ? !!str "given"
        : !!str "Chris",
        ? !!str "family"
        : !!str "Dumars",
        ? !!str "address"
        : !!map {
            ? !!str "lines"
            : !!str "458 Walkman Dr.\n        Suite
                #292",
            ? !!str "city"
            : !!str "Royal Oak",
            ? !!str "state"
            : !!str "MI",
            ? !!str "postal"
            : !!int "48046",
        },
    },
    ? !!str "ship-to"
    : !!map {
        ? !!str "given"
        : !!str "Chris",
        ? !!str "family"
        : !!str "Dumars",
        ? !!str "address"
        : !!map {
            ? !!str "lines"
            : !!str "458 Walkman Dr.\n        Suite
                #292",
            ? !!str "city"
            : !!str "Royal Oak",
            ? !!str "state"
            : !!str "MI",
            ? !!str "postal"
            : !!int "48046",
        },
    },
    ? !!str "product"
    : !!seq [
        !!map {
            ? !!str "sku"
            : !!str "BL394D",
            ? !!str "quantity"
            : !!int "4",
            ? !!str "description"
            : !!str "Basketball",
            ? !!str "price"
            : !!int "450",
        },
        !!map {
            ? !!str "sku"
            : !!str "BL4438H",
            ? !!str "quantity"
            : !!int "1",
            ? !!str "description"
            : !!str "Super Hoop",
            ? !!str "price"
            : !!int "2392",
        },
    ],
    ? !!str "tax"
    : !!float "251.42",
    ? !!str "total"
    : !!float "4443.52",
    ? !!str "comments"
    : !!str "Late afternoon is best. Backup
        contact is Nancy Billsmer @ 338-4338.",
}
...
"
yaml_parse_spec_pairs.phpt000064400000001636150447771400012024 0ustar00--TEST--
Yaml 1.1 Spec - pairs
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
# Explicitly typed pairs.
Block tasks: !!pairs
  - meeting: with team.
  - meeting: with boss.
  - break: lunch.
  - meeting: with client.
Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]
'));
?>
--EXPECT--
array(2) {
  ["Block tasks"]=>
  array(4) {
    [0]=>
    array(1) {
      ["meeting"]=>
      string(10) "with team."
    }
    [1]=>
    array(1) {
      ["meeting"]=>
      string(10) "with boss."
    }
    [2]=>
    array(1) {
      ["break"]=>
      string(6) "lunch."
    }
    [3]=>
    array(1) {
      ["meeting"]=>
      string(12) "with client."
    }
  }
  ["Flow tasks"]=>
  array(2) {
    [0]=>
    array(1) {
      ["meeting"]=>
      string(9) "with team"
    }
    [1]=>
    array(1) {
      ["meeting"]=>
      string(9) "with boss"
    }
  }
}
yaml_001.phpt000064400000002121150447771400006770 0ustar00--TEST--
yaml - emit -> parse roundtrip
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
    "tags" => array("a","b","c"),
  );
$yaml = yaml_emit($invoice);
$parsed = yaml_parse($yaml);
var_dump($parsed == $invoice);
?>
--EXPECT--
bool(true)
yaml_parse_spec_map.phpt000064400000001225150447771400011455 0ustar00--TEST--
Yaml 1.1 Spec - map
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
# Unordered set of key: value pairs.
Block style: !!map
  Clark : Evans
  Brian : Ingerson
  Oren  : Ben-Kiki
Flow style: !!map { Clark: Evans, Brian: Ingerson, Oren: Ben-Kiki }
'));
?>
--EXPECT--
array(2) {
  ["Block style"]=>
  array(3) {
    ["Clark"]=>
    string(5) "Evans"
    ["Brian"]=>
    string(8) "Ingerson"
    ["Oren"]=>
    string(8) "Ben-Kiki"
  }
  ["Flow style"]=>
  array(3) {
    ["Clark"]=>
    string(5) "Evans"
    ["Brian"]=>
    string(8) "Ingerson"
    ["Oren"]=>
    string(8) "Ben-Kiki"
  }
}
bug_79494.phpt000064400000001141150447771400007004 0ustar00--TEST--
Test PECL bug #74949
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
$data = array (
    'audio' =>
    array (
        'audioEnabled' =>
        array (
          0 => 132317787432502136,
          1 => 0,
    ),
    'eveampGain' =>
    array (
          0 => 132316833510704299,
          1 => 0.25,
        ),
    ),
);

print yaml_emit($data);
?>
--EXPECTF--
---
audio:
  audioEnabled:
  - %r(132317787432502136|1\.3231778743250214E\+17)%r
  - 0
  eveampGain:
  - %r(132316833510704299|1\.323168335107043E\+17)%r
  - 0.25
...
bug_79567.phpt000064400000000513150447771400007007 0ustar00--TEST--
Test PECL bug #79567
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$data = [
    'audioEnabled' => [
        0 => 132317787432502136,
        1 => 0,
    ],
];
$yaml = yaml_emit($data);
$result = yaml_parse($yaml);
print $result == $data ? "Yes!\n" : "No...\n";
?>
--EXPECT--
Yes!
bug_59860.phpt000064400000003164150447771400007006 0ustar00--TEST--
Test PECL bug #59860
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
/**
 * Parsing callback for yaml tag.
 * @param mixed $value Data from yaml file
 * @param string $tag Tag that triggered callback
 * @param int $flags Scalar entity style (see YAML_*_SCALAR_STYLE)
 * @return mixed Value that YAML parser should emit for the given value
 */
function tag_callback ($value, $tag, $flags) {
  var_dump(func_get_args());
  return $tag;
}

$yaml = <<<YAML
implicit_map:
  a: b
explicit_map: !!map
  c: d
implicit_seq: [e, f]
explicit_seq: !!seq [g, h]
YAML;

yaml_parse($yaml, 0, $ndocs, array(
    YAML_MAP_TAG => 'tag_callback',
    YAML_SEQ_TAG => 'tag_callback',
  ));
?>
--EXPECT--
array(3) {
  [0]=>
  array(1) {
    ["a"]=>
    string(1) "b"
  }
  [1]=>
  string(21) "tag:yaml.org,2002:map"
  [2]=>
  int(0)
}
array(3) {
  [0]=>
  array(1) {
    ["c"]=>
    string(1) "d"
  }
  [1]=>
  string(21) "tag:yaml.org,2002:map"
  [2]=>
  int(0)
}
array(3) {
  [0]=>
  array(2) {
    [0]=>
    string(1) "e"
    [1]=>
    string(1) "f"
  }
  [1]=>
  string(21) "tag:yaml.org,2002:seq"
  [2]=>
  int(0)
}
array(3) {
  [0]=>
  array(2) {
    [0]=>
    string(1) "g"
    [1]=>
    string(1) "h"
  }
  [1]=>
  string(21) "tag:yaml.org,2002:seq"
  [2]=>
  int(0)
}
array(3) {
  [0]=>
  array(4) {
    ["implicit_map"]=>
    string(21) "tag:yaml.org,2002:map"
    ["explicit_map"]=>
    string(21) "tag:yaml.org,2002:map"
    ["implicit_seq"]=>
    string(21) "tag:yaml.org,2002:seq"
    ["explicit_seq"]=>
    string(21) "tag:yaml.org,2002:seq"
  }
  [1]=>
  string(21) "tag:yaml.org,2002:map"
  [2]=>
  int(0)
}
bug_61770.phpt000064400000000403150447771400006770 0ustar00--TEST--
Test PECL bug #61770
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
var_dump(yaml_emit("\xc2"));
?>
--EXPECTF--
Warning: yaml_emit(): Invalid UTF-8 sequence in argument in %sbug_61770.php on line 2
bool(false)
yaml_parse_url_001.phpt000064400000003067150447771400011056 0ustar00--TEST--
yaml_parse_url - general
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_timestamp=1
date.timezone=GMT
--FILE--
<?php
var_dump(yaml_parse_url('file://' . __DIR__ . '/yaml_parse_file_001.yaml'));
?>
--EXPECT--
array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  int(980208000)
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(27) "458 Walkman Dr.
Suite #292
"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(27) "458 Walkman Dr.
Suite #292
"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      float(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      float(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}
bug_80324.phpt000064400000000673150447771400006775 0ustar00--TEST--
Bug #80324 (Segfault in YAML with anonymous functions)
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$yaml = <<<YAML
- !env ENV
- !path PATH
YAML;

$result = yaml_parse($yaml, 0, $ndocs, array(
    '!env' => function ($str) {return $str;},
    '!path' => function ($str) {return $str;},
  ));

var_dump($result);
?>
--EXPECT--
array(2) {
  [0]=>
  string(3) "ENV"
  [1]=>
  string(4) "PATH"
}
bug_61923.phpt000064400000002234150447771400006774 0ustar00--TEST--
Test PECL bug #61923
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
$yaml_code = <<<YAML
---
strings:
  - '1:0'
  - '0:1'
  - '1:0:0'
  - '+1:0:0'
  - '-1:0:0'
  - ':01'
  - ':1'
  - '18:53:17.00037'
numbers:
  - 1:0
  - 0:1
  - 1:0:0
  - +1:0:0
  - -1:0:0
  - :01
  - :1
  - 18:53:17.00037
YAML;

$parsed = yaml_parse($yaml_code);
var_dump($parsed);
var_dump(yaml_emit($parsed));
?>
--EXPECT--
array(2) {
  ["strings"]=>
  array(8) {
    [0]=>
    string(3) "1:0"
    [1]=>
    string(3) "0:1"
    [2]=>
    string(5) "1:0:0"
    [3]=>
    string(6) "+1:0:0"
    [4]=>
    string(6) "-1:0:0"
    [5]=>
    string(3) ":01"
    [6]=>
    string(2) ":1"
    [7]=>
    string(14) "18:53:17.00037"
  }
  ["numbers"]=>
  array(8) {
    [0]=>
    int(60)
    [1]=>
    int(1)
    [2]=>
    int(3600)
    [3]=>
    int(3600)
    [4]=>
    int(-3600)
    [5]=>
    int(1)
    [6]=>
    int(1)
    [7]=>
    float(67997.00037)
  }
}
string(161) "---
strings:
- "1:0"
- "0:1"
- "1:0:0"
- "+1:0:0"
- "-1:0:0"
- ":01"
- ":1"
- "18:53:17.00037"
numbers:
- 60
- 1
- 3600
- 3600
- -3600
- 1
- 1
- 67997.00037
...
"
bug_64694.phpt000064400000000643150447771400007006 0ustar00--TEST--
Test PECL bug #64694
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$yaml_code = <<<YAML
"[a]": 1
YAML;

var_dump(yaml_parse($yaml_code));

$yaml_code = <<<YAML
[a]: 1
YAML;

var_dump(yaml_parse($yaml_code));
?>
--EXPECTF--
array(1) {
  ["[a]"]=>
  int(1)
}

Warning: yaml_parse(): Illegal offset type array (line 1, column 7) in %sbug_64694.php on line 12
array(0) {
}
bug_69617.phpt000064400000000472150447771400007006 0ustar00--TEST--
Test PECL bug #69617
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$yaml_code = <<<YAML
---
a: !php/object "O:1:\"A\":1:{s:3:\"one\";i:1;}"
...
YAML;

var_dump(yaml_parse($yaml_code));
?>
--EXPECT--
array(1) {
  ["a"]=>
  string(26) "O:1:"A":1:{s:3:"one";i:1;}"
}
yaml_parse_spec_timestamp.phpt000064400000001331150447771400012701 0ustar00--TEST--
Yaml 1.1 Spec - timestamp
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_timestamp=1
date.timezone=GMT
--FILE--
<?php
  var_dump(yaml_parse('
canonical:         2001-12-15T02:59:43.1Z
valid iso8601:     2001-12-14t21:59:43.10-05:00
alternate iso8601: 2001-12-14T21:59:43.10-0500
space separated:   2001-12-14 21:59:43.10 -5
no time zone (Z):  2001-12-15 2:59:43.10
date (00:00:00Z):  2002-12-14
'));
?>
--EXPECT--
array(6) {
  ["canonical"]=>
  int(1008385183)
  ["valid iso8601"]=>
  int(1008385183)
  ["alternate iso8601"]=>
  int(1008385183)
  ["space separated"]=>
  int(1008385183)
  ["no time zone (Z)"]=>
  int(1008385183)
  ["date (00:00:00Z)"]=>
  int(1039824000)
}
bug_21995.phpt000064400000000611150447771400006776 0ustar00--TEST--
Test PECL bug #21995
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
function yaml_cbk ($a) {
  var_dump($a);
  return $a;
}

$yaml_code = <<<YAML
boo: doo
a: [1,2,3,4]
d: []
YAML;

$yaml = yaml_parse($yaml_code, 0, $ndocs, array(
    YAML_STR_TAG => "yaml_cbk",
    ));
?>
--EXPECT--
string(3) "boo"
string(3) "doo"
string(1) "a"
string(1) "d"
yaml_parse_file_001.phpt000064400000003052150447771400011165 0ustar00--TEST--
yaml_parse_file - general
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_timestamp=1
date.timezone=GMT
--FILE--
<?php
var_dump(yaml_parse_file(__DIR__ . '/yaml_parse_file_001.yaml'));
--EXPECT--
array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  int(980208000)
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(27) "458 Walkman Dr.
Suite #292
"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(27) "458 Walkman Dr.
Suite #292
"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      float(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      float(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}
yaml_parse_001.phpt000064400000006706150447771400010177 0ustar00--TEST--
yaml_parse - general
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_timestamp=1
date.timezone=GMT
--FILE--
<?php
  var_dump(yaml_parse('
--- !<tag:clarkevans.com,2002:invoice>
invoice: 34843
date   : 2001-01-23
bill-to: &id001
    given  : Chris
    family : Dumars
    address:
        lines: |
            458 Walkman Dr.
            Suite #292
        city    : Royal Oak
        state   : MI
        postal  : 48046
ship-to: *id001
product:
    - sku         : BL394D
      quantity    : 4
      description : Basketball
      price       : 450.00
    - sku         : BL4438H
      quantity    : 1
      description : Super Hoop
      price       : 2392.00
tax  : 251.42
total: 4443.52
comments:
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @ 338-4338.
'));
  var_dump(yaml_parse('
---
Time: 2001-11-23 15:01:42 -5
User: ed
Warning:
  This is an error message
  for the log file
---
Time: 2001-11-23 15:02:31 -5
User: ed
Warning:
  A slightly different error
  message.
---
Date: 2001-11-23 15:03:17 -5
User: ed
Fatal:
  Unknown variable "bar"
Stack:
  - file: TopClass.py
    line: 23
    code: |
      x = MoreObject("345\n")
  - file: MoreClass.py
    line: 58
    code: |-
      foo = bar
', -1));
?>
--EXPECT--
array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  int(980208000)
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(27) "458 Walkman Dr.
Suite #292
"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(27) "458 Walkman Dr.
Suite #292
"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      float(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      float(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}
array(3) {
  [0]=>
  array(3) {
    ["Time"]=>
    int(1006545702)
    ["User"]=>
    string(2) "ed"
    ["Warning"]=>
    string(41) "This is an error message for the log file"
  }
  [1]=>
  array(3) {
    ["Time"]=>
    int(1006545751)
    ["User"]=>
    string(2) "ed"
    ["Warning"]=>
    string(35) "A slightly different error message."
  }
  [2]=>
  array(4) {
    ["Date"]=>
    int(1006545797)
    ["User"]=>
    string(2) "ed"
    ["Fatal"]=>
    string(22) "Unknown variable "bar""
    ["Stack"]=>
    array(2) {
      [0]=>
      array(3) {
        ["file"]=>
        string(11) "TopClass.py"
        ["line"]=>
        int(23)
        ["code"]=>
        string(24) "x = MoreObject("345\n")
"
      }
      [1]=>
      array(3) {
        ["file"]=>
        string(12) "MoreClass.py"
        ["line"]=>
        int(58)
        ["code"]=>
        string(9) "foo = bar"
      }
    }
  }
}
bug_74799.yaml000064400000000025150447771400006776 0ustar00---
key:
  !value
...yaml_parse_file_002.phpt000064400000002456150447771400011175 0ustar00--TEST--
yaml_parse_file - error cases
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_timestamp=1
date.timezone=GMT
; E_ALL - E_DEPRECATED to hide Deprecated: yaml_parse_file(): Passing null to parameter #1...
error_reporting=24575
--FILE--
<?php
try {
  // PHP7 emits a Warning here
  yaml_parse_file(NULL);
} catch (ValueError $e) {
  // PHP8 raises this exception
  echo "\nWarning: yaml_parse_file(): {$e->getMessage()} in " . __FILE__ . " on line 4\n";
}
try {
  // PHP7 emits a Warning here
  yaml_parse_file('');
} catch (ValueError $e) {
  // PHP8 raises this exception
  echo "\nWarning: yaml_parse_file(): {$e->getMessage()} in " . __FILE__ . " on line 11\n";
}
yaml_parse_file('invalid');
try {
  // PHP7 emits a Warning here
  yaml_parse_file();
} catch (ArgumentCountError $e) {
  // PHP8 raises this exception
  echo "\nWarning: {$e->getMessage()} in " . __FILE__ . " on line 19\n";
}
--EXPECTF--
Warning: yaml_parse_file(): %r(Filename|Path)%r cannot be empty in %s on line %d

Warning: yaml_parse_file(): %r(Filename|Path)%r cannot be empty in %s on line %d

Warning: yaml_parse_file(invalid): %r[Ff]%railed to open stream: No such file or directory in %s on line %d

Warning: yaml_parse_file() expects at least 1 %r(argument|parameter)%r, 0 given in %s on line %d
yaml_parse_wiki_YtsBasicTests_001.phpt000064400000001017150447771400014034 0ustar00--TEST--
Yaml YtsBasicTests - Simple Sequence
--DESCRIPTION--
You can specify a list in YAML by placing each
member of the list on a new line with an opening
dash. These lists are called sequences.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('- apple
- banana
- carrot
'));
?>
--EXPECT--
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(6) "carrot"
}
yaml_parse_007.phpt000064400000000630150447771400010173 0ustar00--TEST--
yaml_parse - serializable
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
?>
--INI--
yaml.decode_php=1
--FILE--
<?php
class A {
  public $one = 1;

  public function show_one() {
    echo $this->one;
  }
}

var_dump(yaml_parse('
---
a: !php/object "O:1:\"A\":1:{s:3:\"one\";i:1;}"
...
'));
?>
--EXPECTF--
array(1) {
  ["a"]=>
  object(A)#%d (1) {
    ["one"]=>
    int(1)
  }
}
yaml_emit_file_basic.phpt000064400000003574150447771400011603 0ustar00--TEST--
Test Github pull request #1
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );

$temp_filename = dirname(__FILE__) . 'yaml_emit_file_basic.tmp';
var_dump(yaml_emit_file($temp_filename, $invoice));
var_dump(file_get_contents($temp_filename));
?>
--CLEAN--
<?php
$temp_filename = dirname(__FILE__) . 'yaml_emit_file_basic.tmp';
unlink($temp_filename);
?>
--EXPECT--
bool(true)
string(620) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.42
total: 4443.52
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
yaml_parse_wiki_YtsBlockMapping_001.phpt000064400000000552150447771400014341 0ustar00--TEST--
Yaml YtsBlockMapping - One Element Mapping
--DESCRIPTION--
A mapping with one key/value pair
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
foo: bar
'));
?>
--EXPECT--
array(1) {
  ["foo"]=>
  string(3) "bar"
}
yaml_emit_009.phpt000064400000002300150447771400010015 0ustar00--TEST--
yaml_emit - custom tags with closures
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
if (version_compare(PHP_VERSION, '5.3.0', '<')) die('skip Closure unsupported');
?>
--FILE--
<?php
$emit_callbacks = array(
  'Emit009Example' => function ($o) {
    return array(
      'tag' => '!emit009',
      'data' => $o->data,
    );
  },
);

class Emit009Example {
  public $data;    // data may be in any pecl/yaml suitable type
}

$t = new Emit009Example();
$t->data = array ('a','b','c');
$yaml = yaml_emit(
  array(
    'callback' => $t,
  ),
  YAML_ANY_ENCODING,
  YAML_ANY_BREAK,
  $emit_callbacks
);
var_dump($yaml);

/* make sure you can undo the custome serialization */
function parse_009 ($value, $tag, $flags) {
  $ret = new Emit009Example();
  $ret->data = $value;
  return $ret;
}
$parse_callbacks = array(
  '!emit009' => 'parse_009',
);
$array = yaml_parse($yaml, 0, $cnt, $parse_callbacks);
var_dump($array['callback'] == $t);

/* roundtrip with raw object */
var_dump($t == yaml_parse(
  yaml_emit($t, YAML_ANY_ENCODING, YAML_ANY_BREAK, $emit_callbacks),
  0, $cnt, $parse_callbacks));
?>
--EXPECT--
string(39) "---
callback: !emit009
- a
- b
- c
...
"
bool(true)
bool(true)
bug_79866.phpt000064400000001653150447771400007017 0ustar00--TEST--
Test PECL bug #79866
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
precision=14
serialize_precision=-1
--FILE--
<?php
$floats = [
  "0"            => 0,
  "1"            => 1,
  "-1"           => -1,
  "2."           => 2.,
  "2.0"          => 2.0,
  "2.00"         => 2.00,
  "2.000"        => 2.000,
  "0.123456789"  => 0.123456789,
  "-0.123456789" => -0.123456789,
  "2.3e6"        => 2.3e6,
  "-2.3e6"       => -2.3e6,
  "2.3e-6"       => 2.3e-6,
  "-2.3e-6"      => -2.3e-6,
  "INF"          => INF,
  "NAN"          => NAN,
  "0.000021"     => 0.000021,
];

foreach( $floats as $idx => $float ) {
  $float = floatval($float);
  ob_start();
  echo $float;
  $native = ob_get_clean();

  $expect = "--- {$native}\n...\n";
  $got = yaml_emit($float);
  if ( $got !== $expect ) {
    echo "== FAIL! {$idx} ==\n";
    echo "expected:\n{$expect}\n";
    echo "got:{$got}\n";
  }
}
?>
--EXPECT--
yaml_parse_wiki_YtsBasicTests_002.phpt000064400000001031150447771410014032 0ustar00--TEST--
Yaml YtsBasicTests - Nested Sequences
--DESCRIPTION--
You can include a sequence within another
sequence by giving the sequence an empty
dash, followed by an indented list.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('-
 - foo
 - bar
 - baz
'));
?>
--EXPECT--
array(1) {
  [0]=>
  array(3) {
    [0]=>
    string(3) "foo"
    [1]=>
    string(3) "bar"
    [2]=>
    string(3) "baz"
  }
}
yaml_parse_wiki_YtsBasicTests_008.phpt000064400000001602150447771410014044 0ustar00--TEST--
Yaml YtsBasicTests - Mixed Mapping
--DESCRIPTION--
A mapping can contain any assortment
of mappings and sequences as values.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('foo: whatever
bar:
 -
  fruit: apple
  name: steve
  sport: baseball
 - more
 -
  python: rocks
  perl: papers
  ruby: scissorses
'));
?>
--EXPECT--
array(2) {
  ["foo"]=>
  string(8) "whatever"
  ["bar"]=>
  array(3) {
    [0]=>
    array(3) {
      ["fruit"]=>
      string(5) "apple"
      ["name"]=>
      string(5) "steve"
      ["sport"]=>
      string(8) "baseball"
    }
    [1]=>
    string(4) "more"
    [2]=>
    array(3) {
      ["python"]=>
      string(5) "rocks"
      ["perl"]=>
      string(6) "papers"
      ["ruby"]=>
      string(10) "scissorses"
    }
  }
}
yaml_parse_wiki_YtsMapInSeq_003.phpt000064400000000666150447771410013461 0ustar00--TEST--
Yaml YtsMapInSeq - Strange keys
--DESCRIPTION--
Test a map with "line noise" keys.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
- "!@#$" : foo
  -+!@ :   bar
'));
?>
--EXPECT--
array(1) {
  [0]=>
  array(2) {
    ["!@#$"]=>
    string(3) "foo"
    ["-+!@"]=>
    string(3) "bar"
  }
}
yaml_emit_007.phpt000064400000000625150447771410010024 0ustar00--TEST--
yaml_emit - recursive structures
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
?>
--FILE--
<?php
$recursive = array(
  "a" => "a",
  "b" => "b",
  "c" => &$recursive,
);
var_dump(yaml_emit($recursive));

// clean up a little or we may see false memory leak reports
unset($recursive['c']);
?>
--EXPECT--
string(56) "---
a: a
b: b
c: &refid1
  a: a
  b: b
  c: *refid1
...
"
yaml_parse_006.phpt000064400000003172150447771410010177 0ustar00--TEST--
yaml_parse - syck bug #14384
--CREDITS--
From syck bug #14384
http://pecl.php.net/bugs/bug.php?id=14384
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
	"leading tab"
...
'));
  var_dump(yaml_parse('---
  	"space and tab"
...
'));
var_dump(yaml_parse('---
  "key":	"tab before value"
...
'));
var_dump(yaml_parse('---
  "key":  	"space and tab before value"
...
'));
var_dump(yaml_parse('---
-	"tab before value"
...
'));
var_dump(yaml_parse('---
-  	"space and tab before value"
...
'));
?>
--EXPECTF--
Warning: yaml_parse(): scanning error encountered during parsing: found character that cannot start any token (line 2, column 1), context while scanning for the next token (line 2, column 1) in %syaml_parse_006.php on line %d
bool(false)

Warning: yaml_parse(): scanning error encountered during parsing: found character that cannot start any token (line 2, column 3), context while scanning for the next token (line 2, column 3) in %syaml_parse_006.php on line %d
bool(false)
array(1) {
  ["key"]=>
  string(16) "tab before value"
}
array(1) {
  ["key"]=>
  string(26) "space and tab before value"
}

Warning: yaml_parse(): scanning error encountered during parsing: found character that cannot start any token (line 2, column 2), context while scanning for the next token (line 2, column 2) in %syaml_parse_006.php on line %d
bool(false)

Warning: yaml_parse(): scanning error encountered during parsing: found character that cannot start any token (line 2, column 4), context while scanning for the next token (line 2, column 4) in %syaml_parse_006.php on line %d
bool(false)
bug_72540.phpt000064400000000402150447771410006765 0ustar00--TEST--
Test PECL bug #72540
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$tmpfname = tempnam(sys_get_temp_dir(), 'bug_72540.yaml');
var_dump(yaml_parse_url($tmpfname));
unlink($tmpfname);
?>
--EXPECT--
bool(false)
yaml_parse_003.phpt000064400000001323150447771410010170 0ustar00--TEST--
yaml_parse - parse errors
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
commercial-at: @text
'));
  var_dump(yaml_parse('---
grave-accent: `text
'));
?>
--EXPECTF--
Warning: yaml_parse(): scanning error encountered during parsing: found character that cannot start any token (line 2, column 16), context while scanning for the next token (line 2, column 16) in %syaml_parse_003.php on line %d
bool(false)

Warning: yaml_parse(): scanning error encountered during parsing: found character that cannot start any token (line 2, column 15), context while scanning for the next token (line 2, column 15) in %syaml_parse_003.php on line %d
bool(false)
yaml_parse_spec_null.phpt000064400000001423150447771410011653 0ustar00--TEST--
Yaml 1.1 Spec - null
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
# A document may be null.
---
---
# This mapping has four keys,
# one has a value.
empty:
canonical: ~
english: null
~: null key
---
# This sequence has five
# entries, two have values.
sparse:
  - ~
  - 2nd entry
  -
  - 4th entry
  - Null
', -1));
?>
--EXPECT--
array(3) {
  [0]=>
  NULL
  [1]=>
  array(4) {
    ["empty"]=>
    NULL
    ["canonical"]=>
    NULL
    ["english"]=>
    NULL
    [""]=>
    string(8) "null key"
  }
  [2]=>
  array(1) {
    ["sparse"]=>
    array(5) {
      [0]=>
      NULL
      [1]=>
      string(9) "2nd entry"
      [2]=>
      NULL
      [3]=>
      string(9) "4th entry"
      [4]=>
      NULL
    }
  }
}
bug_parsing_alias.phpt000064400000001254150447771410011126 0ustar00--TEST--
Test PECL strange alias bug
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php

$yaml_code = <<<YAML
basic:
  - &external {value: 22 }
keylevel0:
  keylevel1:
    value: 1
  keylevel1.1:
    keylevel2: &strange
      value: 2
      <<: *external
YAML;
var_dump(yaml_parse($yaml_code));
?>
--EXPECT--
array(2) {
  ["basic"]=>
  array(1) {
    [0]=>
    array(1) {
      ["value"]=>
      int(22)
    }
  }
  ["keylevel0"]=>
  array(2) {
    ["keylevel1"]=>
    array(1) {
      ["value"]=>
      int(1)
    }
    ["keylevel1.1"]=>
    array(1) {
      ["keylevel2"]=>
      array(1) {
        ["value"]=>
        int(2)
      }
    }
  }
}
yaml_parse_spec_str.phpt000064400000000333150447771420011511 0ustar00--TEST--
Yaml 1.1 Spec - str
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
string: abcd
'));
?>
--EXPECT--
array(1) {
  ["string"]=>
  string(4) "abcd"
}
yaml_parse_spec_merge.phpt000064400000002522150447771420012002 0ustar00--TEST--
Yaml 1.1 Spec - merge
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
var_dump(yaml_parse('
---
- &CENTER { x: 1, "y": 2 }
- &LEFT { x: 0, "y": 2 }
- &BIG { r: 10 }
- &SMALL { r: 1 }

# All the following maps are equal:

- # Explicit keys
  x: 1
  "y": 2
  r: 10
  label: center/big

- # Merge one map
  << : *CENTER
  r: 10
  label: center/big

- # Merge multiple maps
  << : [ *CENTER, *BIG ]
  label: center/big

- # Override
  << : [ *BIG, *LEFT, *SMALL ]
  x: 1
  label: center/big
'));
?>
--EXPECT--
array(8) {
  [0]=>
  array(2) {
    ["x"]=>
    int(1)
    ["y"]=>
    int(2)
  }
  [1]=>
  array(2) {
    ["x"]=>
    int(0)
    ["y"]=>
    int(2)
  }
  [2]=>
  array(1) {
    ["r"]=>
    int(10)
  }
  [3]=>
  array(1) {
    ["r"]=>
    int(1)
  }
  [4]=>
  array(4) {
    ["x"]=>
    int(1)
    ["y"]=>
    int(2)
    ["r"]=>
    int(10)
    ["label"]=>
    string(10) "center/big"
  }
  [5]=>
  array(4) {
    ["x"]=>
    int(1)
    ["y"]=>
    int(2)
    ["r"]=>
    int(10)
    ["label"]=>
    string(10) "center/big"
  }
  [6]=>
  array(4) {
    ["x"]=>
    int(1)
    ["y"]=>
    int(2)
    ["r"]=>
    int(10)
    ["label"]=>
    string(10) "center/big"
  }
  [7]=>
  array(4) {
    ["r"]=>
    int(10)
    ["x"]=>
    int(1)
    ["y"]=>
    int(2)
    ["label"]=>
    string(10) "center/big"
  }
}
yaml_parse_file_001.yaml000064400000001204150447771420011153 0ustar00--- !<tag:clarkevans.com,2002:invoice>
invoice: 34843
date   : 2001-01-23
bill-to: &id001
    given  : Chris
    family : Dumars
    address:
        lines: |
            458 Walkman Dr.
            Suite #292
        city    : Royal Oak
        state   : MI
        postal  : 48046
ship-to: *id001
product:
    - sku         : BL394D
      quantity    : 4
      description : Basketball
      price       : 450.00
    - sku         : BL4438H
      quantity    : 1
      description : Super Hoop
      price       : 2392.00
tax  : 251.42
total: 4443.52
comments:
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @ 338-4338.
bug_77720.phpt000064400000030513150447771420007001 0ustar00--TEST--
Test PECL bug #77720
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
$key_laughs = <<<YAML
- &a ["lol","lol","lol","lol","lol","lol","lol","lol","lol"]
- ? &b [{*a:1},{*a:1},{*a:1},{*a:1},{*a:1},{*a:1},{*a:1},{*a:1},{*a:}] : "foo"
- ? &c [{*b:1},{*b:1},{*b:1},{*b:1},{*b:1},{*b:1},{*b:1},{*b:1},{*b:}] : "foo"
- ? &d [{*c:1},{*c:1},{*c:1},{*c:1},{*c:1},{*c:1},{*c:1},{*c:1},{*c:}] : "foo"
- ? &e [{*d:1},{*d:1},{*d:1},{*d:1},{*d:1},{*d:1},{*d:1},{*d:1},{*d:}] : "foo"
- ? &f [{*e:1},{*e:1},{*e:1},{*e:1},{*e:1},{*e:1},{*e:1},{*e:1},{*e:}] : "foo"
- ? &g [{*f:1},{*f:1},{*f:1},{*f:1},{*f:1},{*f:1},{*f:1},{*f:1},{*f:}] : "foo"
- ? &h [{*g:1},{*g:1},{*g:1},{*g:1},{*g:1},{*g:1},{*g:1},{*g:1},{*g:}] : "foo"
- ? &i [{*h:1},{*h:1},{*h:1},{*h:1},{*h:1},{*h:1},{*h:1},{*h:1},{*h:}] : "foo"
- ? &j [{*i:1},{*i:1},{*i:1},{*i:1},{*i:1},{*i:1},{*i:1},{*i:1},{*i:}] : "foo"
- ? &k [{*j:1},{*j:1},{*j:1},{*j:1},{*j:1},{*j:1},{*j:1},{*j:1},{*j:}] : "foo"
YAML;
var_dump(yaml_parse($key_laughs));
?>
--EXPECTF--

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 2, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 3, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 4, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 5, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 6, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 7, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 8, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 9, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 10, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 2) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 73) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 11, column 79) in %sbug_77720.php on line 15

Warning: yaml_parse(): Illegal offset type array (line 12, column 1) in %sbug_77720.php on line 15
array(11) {
  [0]=>
  array(9) {
    [0]=>
    string(3) "lol"
    [1]=>
    string(3) "lol"
    [2]=>
    string(3) "lol"
    [3]=>
    string(3) "lol"
    [4]=>
    string(3) "lol"
    [5]=>
    string(3) "lol"
    [6]=>
    string(3) "lol"
    [7]=>
    string(3) "lol"
    [8]=>
    string(3) "lol"
  }
  [1]=>
  array(0) {
  }
  [2]=>
  array(0) {
  }
  [3]=>
  array(0) {
  }
  [4]=>
  array(0) {
  }
  [5]=>
  array(0) {
  }
  [6]=>
  array(0) {
  }
  [7]=>
  array(0) {
  }
  [8]=>
  array(0) {
  }
  [9]=>
  array(0) {
  }
  [10]=>
  array(0) {
  }
}
bug_76309.phpt000064400000000516150447771420007003 0ustar00--TEST--
Test PECL bug #76309
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
echo yaml_emit([
  'a' => '1.0',
  'b' => '2.',
  'c' => '3',
  'd' => '.',
  'e' => 1.0,
  'f' => 2.,
  'g' => 3,
] );
?>
--EXPECT--
---
a: "1.0"
b: "2."
c: "3"
d: .
e: 1
f: 2
g: 3
...
bug_69616.phpt000064400000000642150447771420007006 0ustar00--TEST--
Test PECL bug #69616
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
yaml.decode_php=1
--FILE--
<?php
$yaml_code = <<<YAML
a: !php/object O:0:1
b: !php/object



YAML;

$yaml = yaml_parse($yaml_code);
?>
--EXPECTF--
Notice: yaml_parse(): Failed to unserialize class in %sbug_69616.php on line 10

Notice: yaml_parse(): Failed to unserialize class in %sbug_69616.php on line 10
yaml_parse_008.phpt000064400000004453150447771420010205 0ustar00--TEST--
yaml_parse - callbacks
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
?>
--FILE--
<?php
/**
 * Parsing callback for yaml tag.
 * @param mixed $value Data from yaml file
 * @param string $tag Tag that triggered callback
 * @param int $flags Scalar entity style (see YAML_*_SCALAR_STYLE)
 * @return mixed Value that YAML parser should emit for the given value
 */
function tag_callback ($value, $tag, $flags) {
  if (is_array($value)) {
    $new_value = '';
    foreach ($value as $k => $v) {
      $new_value .= "'{$k}' => '{$v}', ";
    }
    $value = trim($new_value, ', ');
  }
  return "<value=[{$value}], tag=[{$tag}], flags=[{$flags}]>";
}

// yaml with some custom tags
$yaml_str = <<<YAML
%TAG ! test-
%TAG !! test2-
---
key_a : !tag_a value_a
key_b : !!tag_b 'value_b'
key_c : !<tag:example.com,2011:test/tag_c> "value_c"
key_d : !tag_d |
  some
  text
key_e : !tag_e >
  some
  text
key_f : !tag_f [ one, two ]
key_g : !tag_g { sky: blue, sea: green }
key_h : !tag_h
  - one
  - two
key_i : !tag_i
  sky: blue
  sea: green
...
YAML;


$yaml = yaml_parse($yaml_str, 0, $ndocs, array(
    "test-tag_a" => "tag_callback",
    "test2-tag_b" => "tag_callback",
    "tag:example.com,2011:test/tag_c" => "tag_callback",
    "test-tag_d" => "tag_callback",
    "test-tag_e" => "tag_callback",
    "test-tag_f" => "tag_callback",
    "test-tag_g" => "tag_callback",
    "test-tag_h" => "tag_callback",
    "test-tag_i" => "tag_callback",
  ));

var_dump($yaml);
var_dump($ndocs);
?>
--EXPECT--
array(9) {
  ["key_a"]=>
  string(46) "<value=[value_a], tag=[test-tag_a], flags=[1]>"
  ["key_b"]=>
  string(47) "<value=[value_b], tag=[test2-tag_b], flags=[2]>"
  ["key_c"]=>
  string(67) "<value=[value_c], tag=[tag:example.com,2011:test/tag_c], flags=[3]>"
  ["key_d"]=>
  string(49) "<value=[some
text
], tag=[test-tag_d], flags=[4]>"
  ["key_e"]=>
  string(49) "<value=[some text
], tag=[test-tag_e], flags=[5]>"
  ["key_f"]=>
  string(65) "<value=['0' => 'one', '1' => 'two'], tag=[test-tag_f], flags=[0]>"
  ["key_g"]=>
  string(72) "<value=['sky' => 'blue', 'sea' => 'green'], tag=[test-tag_g], flags=[0]>"
  ["key_h"]=>
  string(65) "<value=['0' => 'one', '1' => 'two'], tag=[test-tag_h], flags=[0]>"
  ["key_i"]=>
  string(72) "<value=['sky' => 'blue', 'sea' => 'green'], tag=[test-tag_i], flags=[0]>"
}
int(1)
yaml_002.phpt000064400000002107150447771420006777 0ustar00--TEST--
yaml - emit -> parse roundtrip with datetime
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
if(!class_exists('DateTime')) die('skip DateTime n/a');
?>
--INI--
date.timezone=GMT
yaml.decode_timestamp=2
--FILE--
<?php
$original = array(
  "canonical" => new DateTime("2001-12-15T02:59:43.1Z"),
  "valid iso8601" => new DateTime("2001-12-14t21:59:43.10-05:00"),
  "alternate iso8601" => new DateTime("2001-12-14T21:59:43.10-0500"),
  "space separated" => new DateTime("2001-12-14 21:59:43.10 -5"),
  "no time zone (Z)" => new DateTime("2001-12-15 2:59:43.10"),
  "date (0000:00Z)" => new DateTime("2002-12-14"),
);

$yaml = yaml_emit($original);
var_dump($yaml);
$parsed = yaml_parse($yaml);
var_dump($parsed == $original);
?>
--EXPECT--
string(303) "---
canonical: 2001-12-15T02:59:43.100000+00:00
valid iso8601: 2001-12-14T21:59:43.100000-05:00
alternate iso8601: 2001-12-14T21:59:43.100000-05:00
space separated: 2001-12-14T21:59:43.100000-05:00
no time zone (Z): 2001-12-15T02:59:43.100000+00:00
date (0000:00Z): 2002-12-14T00:00:00.000000+00:00
...
"
bool(true)
bug_74799.phpt000064400000001501150447771420007011 0ustar00--TEST--
Memory leak check
--CREDITS--
Gleb Svitelskiy <gleb.svitelskiy@gmail.com>
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
function tag_callback($value, $tag, $flags) {
    return 'callback value';
}

$base_memory = memory_get_usage();

$yamlString ="---\nkey: !value\n...\n";
$ndocs = null;
yaml_parse($yamlString, 0, $ndocs, ['!value' => 'tag_callback']);
unset($yamlString, $ndocs);

$ndocs = null;
yaml_parse_file(__DIR__.'/bug_74799.yaml', 0, $ndocs, ['!value' => 'tag_callback']);
unset($ndocs);

$array = ['key' => 'value'];
yaml_emit($array);
unset($array);

$array = ['key' => 'value'];
yaml_emit_file(__DIR__.'/bug_74799.tmp', $array);
unset($array);

var_dump($base_memory == memory_get_usage());
?>
--CLEAN--
<?php
unlink(__DIR__.'/bug_74799.tmp');
?>
--EXPECT--
bool(true)
yaml_parse_wiki_YtsBlockMapping_002.phpt000064400000000713150447771430014344 0ustar00--TEST--
Yaml YtsBlockMapping - Multi Element Mapping
--DESCRIPTION--
More than one key/value pair
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
red: baron
white: walls
blue: berries
'));
?>
--EXPECT--
array(3) {
  ["red"]=>
  string(5) "baron"
  ["white"]=>
  string(5) "walls"
  ["blue"]=>
  string(7) "berries"
}
yaml_parse_wiki_YtsStrangeKeys_002.phpt000064400000000726150447771430014241 0ustar00--TEST--
Yaml YtsStrangeKeys - Unquoted line noise key
--DESCRIPTION--
Check that unquoted line noise parses as key.
This requires the line noise be tame enough
to pass as an implicit plain key.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
-+!@#% : bar baz
'));
?>
--EXPECT--
array(1) {
  ["-+!@#%"]=>
  string(7) "bar baz"
}
yaml_parse_wiki_YtsBlockMapping_004.phpt000064400000000742150447771430014350 0ustar00--TEST--
Yaml YtsBlockMapping - Colons aligned
--DESCRIPTION--
Spaces can come before the ': ' key/value separator.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
red   : baron
white : walls
blue  : berries
'));
?>
--EXPECT--
array(3) {
  ["red"]=>
  string(5) "baron"
  ["white"]=>
  string(5) "walls"
  ["blue"]=>
  string(7) "berries"
}
yaml_parse_spec_int.phpt000064400000000756150447771430011505 0ustar00--TEST--
Yaml 1.1 Spec - int
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('
canonical: 685230
decimal: +685_230
octal: 02472256
hexadecimal: 0x_0A_74_AE
binary: 0b1010_0111_0100_1010_1110
sexagesimal: 190:20:30
'));
?>
--EXPECT--
array(6) {
  ["canonical"]=>
  int(685230)
  ["decimal"]=>
  int(685230)
  ["octal"]=>
  int(685230)
  ["hexadecimal"]=>
  int(685230)
  ["binary"]=>
  int(685230)
  ["sexagesimal"]=>
  int(685230)
}
yaml_emit_008.phpt000064400000002720150447771430010025 0ustar00--TEST--
yaml_emit - custom tags
--SKIPIF--
<?php
if(!extension_loaded('yaml')) die('skip yaml n/a');
?>
--FILE--
<?php
class Emit008Example {
  public $data;    // data may be in any pecl/yaml suitable type

  /**
   * Yaml emit callback function, referred on yaml_emit call by class name.
   *
   * Expected to return an array with 2 values:
   *   - 'tag': custom tag for this serialization
   *   - 'data': value to convert to yaml (array, string, bool, number)
   *
   * @return array
   */
  public static function yamlEmit (Emit008Example $obj) {
    return array(
      'tag' => '!emit008',
      'data' => $obj->data,
    );
  }
}

$emit_callbacks = array(
  'Emit008Example' => array('Emit008Example', 'yamlEmit')
);

$t = new Emit008Example();
$t->data = array ('a','b','c');
$yaml = yaml_emit(
  array(
    'callback' => $t,
  ),
  YAML_ANY_ENCODING,
  YAML_ANY_BREAK,
  $emit_callbacks
);
var_dump($yaml);

/* make sure you can undo the custome serialization */
function parse_008 ($value, $tag, $flags) {
  $ret = new Emit008Example();
  $ret->data = $value;
  return $ret;
}
$parse_callbacks = array(
  '!emit008' => 'parse_008',
);
$array = yaml_parse($yaml, 0, $cnt, $parse_callbacks);
var_dump($array['callback'] == $t);

/* roundtrip with raw object */
var_dump($t == yaml_parse(
  yaml_emit($t, YAML_ANY_ENCODING, YAML_ANY_BREAK, $emit_callbacks),
  0, $cnt, $parse_callbacks));
?>
--EXPECT--
string(39) "---
callback: !emit008
- a
- b
- c
...
"
bool(true)
bool(true)
yaml_emit_003.phpt000064400000003172150447771430010022 0ustar00--TEST--
yaml_emit - mappings
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
$addr = array(
    "given" => "Chris",
    "family"=> "Dumars",
    "address"=> array(
        "lines"=> "458 Walkman Dr.
        Suite #292",
        "city"=> "Royal Oak",
        "state"=> "MI",
        "postal"=> 48046,
      ),
  );
$invoice = array (
    "invoice"=> 34843,
    "date"=> 980208000,
    "bill-to"=> $addr,
    "ship-to"=> $addr,
    "product"=> array(
        array(
            "sku"=> "BL394D",
            "quantity"=> 4,
            "description"=> "Basketball",
            "price"=> 450,
          ),
        array(
            "sku"=> "BL4438H",
            "quantity"=> 1,
            "description"=> "Super Hoop",
            "price"=> 2392,
          ),
      ),
    "tax"=> 251.42,
    "total"=> 4443.52,
    "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
  );
var_dump(yaml_emit($invoice));
?>
--EXPECT--
string(620) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.42
total: 4443.52
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
yaml_emit_001.phpt000064400000004341150447771430010017 0ustar00--TEST--
yaml_emit - scalars
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
var_dump(yaml_emit(null));
var_dump(yaml_emit(true));
var_dump(yaml_emit(false));
var_dump(yaml_emit(10));
var_dump(yaml_emit(-10));
var_dump(yaml_emit(123.456));
var_dump(yaml_emit(-123.456));
var_dump(yaml_emit("yes"));
var_dump(yaml_emit("no"));
var_dump(yaml_emit("~"));
var_dump(yaml_emit("-"));
var_dump(yaml_emit("'"));
var_dump(yaml_emit('"'));
var_dump(yaml_emit("I\\xF1t\\xEBrn\\xE2ti\\xF4n\\xE0liz\\xE6ti\\xF8n"));
var_dump(yaml_emit("# looks like a comment"));
var_dump(yaml_emit("@looks_like_a_ref"));
var_dump(yaml_emit("&looks_like_a_alias"));
var_dump(yaml_emit("!!str"));
var_dump(yaml_emit("%TAG ! tag:looks.like.one,999:"));
var_dump(yaml_emit("!something"));
var_dump(yaml_emit("Hello world!"));
var_dump(yaml_emit("This is a string with\nan embedded newline."));
$str = <<<EOD
This string was made with a here doc.

It contains embedded newlines.
  		It also has some embedded tabs.

Here are some symbols:
`~!@#$%^&*()_-+={}[]|\:";'<>,.?/

These are extended characters: Iñtërnâtiônàlizætiøn


EOD;
var_dump(yaml_emit($str));
?>
--EXPECT--
string(10) "--- ~
...
"
string(13) "--- true
...
"
string(14) "--- false
...
"
string(11) "--- 10
...
"
string(12) "--- -10
...
"
string(16) "--- 123.456
...
"
string(17) "--- -123.456
...
"
string(14) "--- "yes"
...
"
string(13) "--- "no"
...
"
string(12) "--- "~"
...
"
string(12) "--- '-'
...
"
string(13) "--- ''''
...
"
string(12) "--- '"'
...
"
string(50) "--- I\xF1t\xEBrn\xE2ti\xF4n\xE0liz\xE6ti\xF8n
...
"
string(33) "--- '# looks like a comment'
...
"
string(28) "--- '@looks_like_a_ref'
...
"
string(30) "--- '&looks_like_a_alias'
...
"
string(16) "--- '!!str'
...
"
string(41) "--- '%TAG ! tag:looks.like.one,999:'
...
"
string(21) "--- '!something'
...
"
string(21) "--- Hello world!
...
"
string(58) "--- |-
  This is a string with
  an embedded newline.
...
"
string(267) "--- "This string was made with a here doc.\n\nIt contains embedded newlines.\n  \t\tIt
  also has some embedded tabs.\n\nHere are some symbols:\n`~!@#$%^&*()_-+={}[]|\\:\";'<>,.?/\n\nThese
  are extended characters: I\xF1t\xEBrn\xE2ti\xF4n\xE0liz\xE6ti\xF8n\n\n"
...
"
yaml_parse_wiki_YtsBasicTests_005.phpt000064400000001124150447771430014042 0ustar00--TEST--
Yaml YtsBasicTests - Simple Mapping
--DESCRIPTION--
You can add a keyed list "also known as a dictionary or
hash" to your document by placing each member of the
list on a new line, with a colon seperating the key
from its value.  In YAML, this type of list is called
a mapping.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('foo: whatever
bar: stuff
'));
?>
--EXPECT--
array(2) {
  ["foo"]=>
  string(8) "whatever"
  ["bar"]=>
  string(5) "stuff"
}
yaml_parse_004.phpt000064400000000727150447771430010202 0ustar00--TEST--
yaml_parse - syck bug #11585
--CREDITS--
From syck bug #11585
http://pecl.php.net/bugs/bug.php?id=11585
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('---
define: &pointer_to_define
   - 1
   - 2
   - 3
reference: *broken_pointer_to_define
'));
?>
--EXPECTF--
Warning: yaml_parse(): alias broken_pointer_to_define is not registered (line 6, column 37) in %syaml_parse_004.php on line %d
bool(false)
yaml_parse_wiki_YtsBasicTests_003.phpt000064400000001137150447771430014044 0ustar00--TEST--
Yaml YtsBasicTests - Mixed Sequences
--DESCRIPTION--
Sequences can contain any YAML data,
including strings and other sequences.
--CREDITS--
Bryan Davis bd808@bd808.com
# yaml.kwiki.org import/conversion
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--FILE--
<?php
  var_dump(yaml_parse('- apple
-
 - foo
 - bar
 - x123
- banana
- carrot
'));
?>
--EXPECT--
array(4) {
  [0]=>
  string(5) "apple"
  [1]=>
  array(3) {
    [0]=>
    string(3) "foo"
    [1]=>
    string(3) "bar"
    [2]=>
    string(4) "x123"
  }
  [2]=>
  string(6) "banana"
  [3]=>
  string(6) "carrot"
}
yaml_emit_002.phpt000064400000003644150447771430010025 0ustar00--TEST--
yaml_emit - sequences
--SKIPIF--
<?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?>
--INI--
serialize_precision=-1
--FILE--
<?php
$str = <<<EOD
This string was made with a here doc.

It contains embedded newlines.
  		It also has some embedded tabs.

Here are some symbols:
`~!@#$%^&*()_-+={}[]|\:";'<>,.?/

These are extended characters: Iñtërnâtiônàlizætiøn


EOD;
$doc = array(
    null,
    true,
    false,
    10,
    -10,
    123.456,
    -123.456,
    "yes",
    "no",
    "~",
    "-",
    "'",
    '"',
    "I\\xF1t\\xEBrn\\xE2ti\\xF4n\\xE0liz\\xE6ti\\xF8n",
    "# looks like a comment",
    "@looks_like_a_ref",
    "&looks_like_a_alias",
    "!!str",
    "%TAG ! tag:looks.like.one,999:",
    "!something",
    "Hello world!",
    "This is a string with\nan embedded newline.",
    $str,
  );
echo  "=== Array of scalars ===\n";
var_dump(yaml_emit($doc));

echo  "=== Nested ===\n";
var_dump(yaml_emit(array(
    "top level",
    array(
        "in array",
      ),
    array(
        "in array",
        array(
            "in array",
          ),
      ),
)));

echo  "=== Degenerate ===\n";
var_dump(yaml_emit(array()));

?>
--EXPECT--
=== Array of scalars ===
string(604) "---
- ~
- true
- false
- 10
- -10
- 123.456
- -123.456
- "yes"
- "no"
- "~"
- '-'
- ''''
- '"'
- I\xF1t\xEBrn\xE2ti\xF4n\xE0liz\xE6ti\xF8n
- '# looks like a comment'
- '@looks_like_a_ref'
- '&looks_like_a_alias'
- '!!str'
- '%TAG ! tag:looks.like.one,999:'
- '!something'
- Hello world!
- |-
  This is a string with
  an embedded newline.
- "This string was made with a here doc.\n\nIt contains embedded newlines.\n  \t\tIt
  also has some embedded tabs.\n\nHere are some symbols:\n`~!@#$%^&*()_-+={}[]|\\:\";'<>,.?/\n\nThese
  are extended characters: I\xF1t\xEBrn\xE2ti\xF4n\xE0liz\xE6ti\xF8n\n\n"
...
"
=== Nested ===
string(61) "---
- top level
- - in array
- - in array
  - - in array
...
"
=== Degenerate ===
string(11) "--- []
...
"
ssh2_sftp_002.phpt000064400000001060150450200170007724 0ustar00--TEST--
ssh2_sftp - SFTP tests
--SKIPIF--
<?php
  require('ssh2_skip.inc');
  ssh2t_needs_auth();
  ssh2t_writes_remote();
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
ssh2t_auth($ssh);
$sftp = ssh2_sftp($ssh);

$filename = ssh2t_tempnam();

$fp = fopen("ssh2.sftp://$sftp/$filename", 'w');
fwrite($fp, "Hello World\n");
fwrite($fp, "Goodbye Planet\n");
fclose($fp);

readfile("ssh2.sftp://$sftp/$filename");

var_dump(ssh2_sftp_unlink($sftp, $filename));
--EXPECT--
Hello World
Goodbye Planet
bool(true)
ssh2_auth_pubkey_file.phpt000064400000001077150450200170011716 0ustar00--TEST--
ssh2_auth_pubkey_file() - Tests authentication with a key
--SKIPIF--
<?php require('ssh2_skip.inc'); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);

var_dump(ssh2_auth_pubkey_file($ssh, TEST_SSH2_USER, TEST_SSH2_PUB_KEY, TEST_SSH2_PRIV_KEY));

$cmd=ssh2_exec($ssh, 'echo "testing echo with key auth"' . PHP_EOL);

var_dump($cmd);

stream_set_blocking($cmd, true);
$response = stream_get_contents($cmd);
echo $response . PHP_EOL;

--EXPECTF--
bool(true)
resource(%d) of type (stream)
testing echo with key auth

testkey_rsa.pub000064400000000575150450200170007612 0ustar00ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcOpvkriEX0jbnvVSLN2vA/Nu3injPZixYcgLEctvubxRgZisqNmdtvpKN3I+BviIDnznocc+E7BWm+aF6BvQDYGcozpljjIhia27lXBB+xldJcuEvPKI1DUamwy8ZwvGXGaCLC7MBbXzdqJcnoIp3ci1JQlUOZJ+rCNkMLLbwGWI45xr3kOUzR2Mb0B3EEVtRZL4S8ZvypdZ6WmNhI2WnuJp6QobEPMti01J6LkWQDVyk2Mj+EI8+RuEPfRgYMa2lEI5/BYWIX6uHAdbiDcxmwSn4JOu0LqQvodawXt5fA8g7JchOMht4Rq0haMI5VERWziq9ERu5ShoY3WSFgmLH
bug63480.phpt000064400000000736150450200170006623 0ustar00--TEST--
Bug #63480 (Warning on using the SSH2 Session resource in the uri)
--SKIPIF--
<?php
require('ssh2_skip.inc');
ssh2t_needs_auth();
ssh2t_writes_remote();
?>
--FILE--
<?php
require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
ssh2t_auth($ssh);

$filename = ssh2t_tempnam();
file_put_contents("ssh2.sftp://$ssh/$filename", "yada yada");

readfile("ssh2.sftp://$ssh/$filename");

unlink("ssh2.sftp://$ssh/$filename");
?>
--EXPECT--
yada yada
ssh2_connect.phpt000064400000002444150450200170010027 0ustar00--TEST--
ssh2_connect() Basic connection and pre-authentication
--SKIPIF--
<?php require('ssh2_skip.inc'); ?>
--FILE--
<?php require('ssh2_test.inc');

echo "**Connect\n";
$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
var_dump(is_resource($ssh));
var_dump(get_resource_type($ssh));

echo "**Fingerprint MD5\n";
$md5 = ssh2_fingerprint($ssh);
var_dump(is_string($md5));
var_dump(strlen($md5));
var_dump(ctype_xdigit($md5));

echo "**Fingerprint SHA1\n";
$sha1 = ssh2_fingerprint($ssh, SSH2_FINGERPRINT_SHA1 | SSH2_FINGERPRINT_HEX);
var_dump(is_string($sha1));
var_dump(strlen($sha1));
var_dump(ctype_xdigit($sha1));

function ssh2t_strset($v) {
  return is_string($v) && (strlen($v) > 0);
}

echo "**Negotiation\n";
$mn = ssh2_methods_negotiated($ssh);
var_dump(ssh2t_strset($mn['kex']));
var_dump(ssh2t_strset($mn['hostkey']));
foreach(array('client_to_server', 'server_to_client') as $direction) {
  $mnd = $mn[$direction];
  var_dump(ssh2t_strset($mnd['crypt']));
  var_dump(ssh2t_strset($mnd['comp']));
  var_dump(ssh2t_strset($mnd['mac']));
}
--EXPECT--
**Connect
bool(true)
string(12) "SSH2 Session"
**Fingerprint MD5
bool(true)
int(32)
bool(true)
**Fingerprint SHA1
bool(true)
int(40)
bool(true)
**Negotiation
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

bug79631.phpt000064400000000552150450200170006624 0ustar00--TEST--
Bug 79631 (SSH disconnect segfault with SFTP (assertion failed))
--SKIPIF--
<?php
require('ssh2_skip.inc');
ssh2t_needs_auth();
ssh2t_writes_remote();
?>
--FILE--
<?php
require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
ssh2t_auth($ssh);
$sftp = ssh2_sftp($ssh);
ssh2_disconnect($ssh);
echo "done\n";
?>
--EXPECT--
done
ssh2_send_eof.phpt000064400000001105150450200170010151 0ustar00--TEST--
ssh2_send_eof() - Tests closing standard input
--SKIPIF--
<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
var_dump(ssh2t_auth($ssh));

$cmd=ssh2_exec($ssh, "cat\n");

var_dump($cmd);

stream_set_blocking($cmd, true);

$content = "foo";

fwrite($cmd, $content);
fflush($cmd);
ssh2_send_eof($cmd);

$response = stream_get_contents($cmd);
var_dump($response === $content);
echo $response . PHP_EOL;

--EXPECTF--
bool(true)
resource(%d) of type (stream)
bool(true)
foo

ssh2_skip.inc000064400000000627150450200170007143 0ustar00<?php
  require('ssh2_test.inc');

  if (!extension_loaded("ssh2")) print "skip extension not loaded";
  if (TEST_SSH2_HOSTNAME === false) print "skip TEST_SSH2_HOSTNAME not set";

function ssh2t_needs_auth() {
  if (TEST_SSH2_AUTH == 'none') {
    print "skip TEST_SSH2_AUTH == 'none'";
  }
}

function ssh2t_writes_remote() {
  if (!TEST_SSH2_TEMPDIR) {
    print "skip TEST_SSH2_TEMPDIR is empty";
  }
}
ssh2_shell.phpt000064400000000713150450200170007502 0ustar00--TEST--
ssh2_shell_test() - Tests opening a shell
--SKIPIF--
<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
var_dump(ssh2t_auth($ssh));
$shell = ssh2_shell($ssh);
var_dump($shell);

fwrite( $shell, 'echo "foo bar"'.PHP_EOL);
sleep(1);
while($line = fgets($shell)) {
    echo $line;
}

--EXPECTF--
bool(true)
resource(%d) of type (stream)
%a
foo bar
%assh2_auth_pubkey.phpt000064400000001133150450200170010710 0ustar00--TEST--
ssh2_auth_pubkey() - Tests authentication with a key
--SKIPIF--
<?php require('ssh2_skip.inc'); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);

var_dump(ssh2_auth_pubkey($ssh, TEST_SSH2_USER, file_get_contents(TEST_SSH2_PUB_KEY), file_get_contents(TEST_SSH2_PRIV_KEY)));

$cmd=ssh2_exec($ssh, 'echo "testing echo with key auth"' . PHP_EOL);

var_dump($cmd);

stream_set_blocking($cmd, true);
$response = stream_get_contents($cmd);
echo $response . PHP_EOL;

--EXPECTF--
bool(true)
resource(%d) of type (stream)
testing echo with key auth

ssh2_test.inc000064400000002222150450200170007145 0ustar00<?php

function ssh2t_getenv($env, $def=false) {
  $v = getenv($env);
  return ($v === false) ? $def : $v;
}

function ssh2t_defenv($env, $def=false, $name=null) {
  define(($name === null) ? $env : $name, ssh2t_getenv($env, $def));
}

ssh2t_defenv('TEST_SSH2_HOSTNAME');
ssh2t_defenv('TEST_SSH2_PORT', 22);
ssh2t_defenv('TEST_SSH2_USER', getenv('USER'));
ssh2t_defenv('TEST_SSH2_PASS');
ssh2t_defenv('TEST_SSH2_TEMPDIR', '/tmp');
ssh2t_defenv('TEST_SSH2_AUTH', TEST_SSH2_PASS ? 'password' : 'none');
ssh2t_defenv('TEST_SSH2_PUB_KEY', dirname(__FILE__) . "/testkey_rsa.pub");
ssh2t_defenv('TEST_SSH2_PRIV_KEY', dirname(__FILE__) . "/testkey_rsa");

function ssh2t_auth($ssh) {
  if (!TEST_SSH2_USER) {
    return false;
  }

  switch (TEST_SSH2_AUTH) {
    case 'none':     return (ssh2_auth_none($ssh, TEST_SSH2_USER) === true) ? true : false;
    case 'agent':    return ssh2_auth_agent($ssh, TEST_SSH2_USER);
    case 'password': return ssh2_auth_password($ssh, TEST_SSH2_USER, TEST_SSH2_PASS);
  }

  return false;
}

function ssh2t_tempnam($escape = false) {
  $fn = TEST_SSH2_TEMPDIR . '/php-ssh2-test-' . uniqid();
  return $escape ? escapeshellarg($fn) : $fn;
}
testkey_rsa000064400000003213150450200170007015 0ustar00-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAnDqb5K4hF9I2571UizdrwPzbt4p4z2YsWHICxHLb7m8UYGYr
KjZnbb6SjdyPgb4iA5856HHPhOwVpvmhegb0A2BnKM6ZY4yIYmtu5VwQfsZXSXLh
LzyiNQ1GpsMvGcLxlxmgiwuzAW183aiXJ6CKd3ItSUJVDmSfqwjZDCy28BliOOca
95DlM0djG9AdxBFbUWS+EvGb8qXWelpjYSNlp7iaekKGxDzLYtNSei5FkA1cpNjI
/hCPPkbhD30YGDGtpRCOfwWFiF+rhwHW4g3MZsEp+CTrtC6kL6HWsF7eXwPIOyXI
TjIbeEatIWjCOVREVs4qvREbuUoaGN1khYJixwIDAQABAoIBAH9Ysux0GBufygua
ZAjbEyWLt9njsNh2U52AycqySZ4Qw45Umcjd8e8eEb47VGsQvg8vwnc8FkkmW/vw
rfSXKF58PXqg9Z2U1zNKmWmyYuvD5zDCyNXFWf9epAGZRpJ8OovNYvUUg0Sdp9PS
8etmTJhS5KE7xbNmyFQVcT8gT7pj4IEHzEcZZQuO0w8jmKSnn8E4k5leasSR7+U3
GNRASAmuOPVsG4rp4pl4CIvUlpEPK7yuIAWD6Qwhh4nkqiZflcZ+tNDKUhMIRbez
5URX3dgZnG7fbZZI++LTRM4M09LojbdFOdT95lWJr0Pm+3h51s965F+zwkR2vYMS
6g4WcUkCgYEAyscCArrg1nocKx5ubFJVyxe/YT328Et6GhKRqTyYDMq8eznFE8of
01KiVg1+48YMb2Wc94zjsRBgHsjEz/A/f0hRtLBx3LCaYNwVF5o4DI6LqmAnOlnE
an9yYnhh8Ux4nw9PjszjdpGglIJkf0o9nP6biBgq7TAXzLfSIOxSnFsCgYEAxTvs
sE+PiF3mD4U9bWoBqRyFywDMW9mPueX9TltNqpQksaS1FzP08pCi6fTUIrsxQtXE
78N5uxiRo1OiNsPm8pluPu2Na7yfI1MQJZE8OmEadqdyPWPVYZVkUVIo13iHGovo
2eMHirb3k9y2y4WJJBPA2hOZ8azF7u1epD70DwUCgYBT4kWDqZkvQG58q+cUKm9R
R66k5IRN3XtSY9IcB3QC/q8/7qMHT7sgqXN8U7LlON2WC5wGkCL08YhB094PAxzR
Y7JhJAjGOcxzOzgCfoqnLyS5w3MW4WGuiLBh6djigDb53dSUh0+lkhKyvMokGiso
0e63OwAvBJEj3/suIXT/NwKBgGY+uGZ1+BxjQP5OvhdYWuAGDz27fjUnRaDDH1td
bZe+EH+euNn8b0DHxgyuhMI0dEcHdn4swZBCHk2i73age7rL2yD4GNX/BChVyQsQ
jT5eVE+qYkh81oMt5MFbbBy3OKKEYQOC88fvLc0TIBfFc+Cl9NWYT7e/LyS7HNLc
Z7zZAoGBAKhDfPMvGXeTjha/nBArD8rp9W7R7VrZd/VUIBOmnWhiQCRTv1KVQGKh
OGQ1taWdRt98wbnVkMxFHN4oCrnDv7cpXQNvw9m/WGZxXMgWWX0f1cpJSwewiNBt
Bb4jmKhkeAe8LwTPoxNYXxnzzf0UQox2HhcbKNP17Np/Y22NQPEf
-----END RSA PRIVATE KEY-----
ssh2_stream_select.phpt000064400000001325150450200170011225 0ustar00--TEST--
ssh2_stream_select() - Tests opening a shell and using stream_select
--SKIPIF--
<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
var_dump(ssh2t_auth($ssh));
$shell = ssh2_shell($ssh);
var_dump($shell);

fwrite($shell, "echo \"howdy\"\n");
sleep(1);

$read = [$shell];
$write = null;
$except = null;
$timeout = 5;
$start = time();
if (stream_select($read, $write, $except, $timeout) !== false && count($read) > 0) {
	while($line = fgets($shell)) {
	    echo $line;
	}
}
$elapsed = time() - $start;
var_dump(($elapsed < $timeout));

--EXPECTF--
bool(true)
resource(%d) of type (stream)
%a
%a
%a
howdy
%sbool(true)ssh2_auth.phpt000064400000000433150450200170007333 0ustar00--TEST--
ssh2_auth_FOO() - Attempt to authenticate to a remote host
--SKIPIF--
<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
var_dump(ssh2t_auth($ssh));
--EXPECT--
bool(true)
ssh2_sftp_001.phpt000064400000001404150450200170007725 0ustar00--TEST--
ssh2_sftp - SFTP tests
--SKIPIF--
<?php
  require('ssh2_skip.inc');
  ssh2t_needs_auth();
  ssh2t_writes_remote();
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
ssh2t_auth($ssh);
$sftp = ssh2_sftp($ssh);

$filename = ssh2t_tempnam();
$linkname = ssh2t_tempnam();

var_dump(ssh2_sftp_mkdir($sftp, $filename, 0644, true));
var_dump(ssh2_sftp_symlink($sftp, $filename, $linkname));
var_dump(ssh2_sftp_readlink($sftp, $linkname) == $filename);
$stat =  ssh2_sftp_stat ($sftp, $filename);
var_dump(ssh2_sftp_rmdir($sftp, $filename));
var_dump(ssh2_sftp_unlink($sftp, $linkname));
var_dump(($stat['mode'] & 040000) == 040000); // is_dir()
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
ssh2_exec.phpt000064400000000744150450200170007323 0ustar00--TEST--
ssh2_shell_test() - Tests opening a shell
--SKIPIF--
<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?>
--FILE--
<?php require('ssh2_test.inc');

$ssh = ssh2_connect(TEST_SSH2_HOSTNAME, TEST_SSH2_PORT);
var_dump(ssh2t_auth($ssh));

$cmd=ssh2_exec($ssh, 'echo "testing echo"' . PHP_EOL);

var_dump($cmd);

stream_set_blocking($cmd, true);
$response = stream_get_contents($cmd);
echo $response . PHP_EOL;

--EXPECTF--
bool(true)
resource(%d) of type (stream)
testing echo

extauth_03.phpt000064400000007017150450215050007427 0ustar00--TEST--
Test External Authentication errors with oci_pconnect
--EXTENSIONS--
oci8
--SKIPIF--
<?php
if (getenv('SKIP_SLOW_TESTS')) die('skip slow tests excluded by request');
if (substr(PHP_OS, 0, 3) == 'WIN') die("skip feature not available on Windows platforms");
?>
--INI--
oci8.privileged_connect=1
--FILE--
<?php

error_reporting(E_ALL ^ E_DEPRECATED);

// Run Test

echo "Test 1\n";

$c = oci_pconnect('/', 'notemtpy', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 2\n";

$c = oci_pconnect('notemtpy', 'notemtpy', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 3\n";

$c = oci_pconnect('notemtpy', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 4\n";

$c = oci_pconnect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 5\n";

$c = oci_pconnect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 6\n";

$c = oci_pconnect('', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 7\n";

$c = oci_pconnect('/', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 8\n";

$c = oci_pconnect('/', null, 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 9\n";

$c = oci_pconnect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 10\n";

$c = oci_pconnect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);


?>
--EXPECTF--
Test 1

Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 2

Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 3

Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 4

Warning: oci_pconnect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
bool(false)
bool(false)
Test 5

Warning: oci_pconnect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
bool(false)
bool(false)
Test 6

Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 7

Warning: oci_pconnect(): ORA-12154: %s in %s on line %d
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 8

Warning: oci_pconnect(): ORA-12154: %s in %s on line %d
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 9

Warning: oci_pconnect(): ORA-%d: TNS:%s in %s on line %d
array(4) {
  ["code"]=>
  int(%d)
  ["message"]=>
  string(%d) "ORA-%d: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 10

Warning: oci_pconnect(): ORA-%d: TNS:%s in %s on line %d
array(4) {
  ["code"]=>
  int(%d)
  ["message"]=>
  string(%d) "ORA-%d: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
drcp_connection_class.phpt000064400000001315150450215050011772 0ustar00--TEST--
DRCP: oci8.connection_class with ini_get() and ini_set()
--EXTENSIONS--
oci8
--SKIPIF--
<?php
preg_match('/^[[:digit:]]+/', oci_client_version(), $matches);
if (!(isset($matches[0]) && $matches[0] >= 11)) {
    die("skip works only with Oracle 11g or greater version of Oracle client libraries");
}
?>
--INI--
oci8.connection_class=test
--FILE--
<?php

echo "Setting a new connection class now\n";
ini_set('oci8.connection_class',"New cc");

// Get the New connection class name. Should return New CC

$new_cc = ini_get('oci8.connection_class');
echo "The New oci8.connection_class is $new_cc\n";

echo "Done\n";

?>
--EXPECT--
Setting a new connection class now
The New oci8.connection_class is New cc
Done
error1.phpt000064400000000613150450215050006650 0ustar00--TEST--
oci_error() when oci_connect() fails
--EXTENSIONS--
oci8
--FILE--
<?php

var_dump(oci_connect("some", "some", "some"));
var_dump(oci_error());

echo "Done\n";

?>
--EXPECTF--
Warning: oci_connect(): ORA-12154: %s in %s on line %d
bool(false)
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
Done
ini_1.phpt000064400000006242150450215050006441 0ustar00--TEST--
Test OCI8 php.ini settings
--EXTENSIONS--
oci8
--SKIPIF--
<?php
preg_match('/^[[:digit:]]+/', oci_client_version(), $matches);
if (!(isset($matches[0]) && $matches[0] >= 11)) {
    die("skip works only with Oracle 11g or greater version of Oracle client libraries");
}
?>
--INI--
oci8.privileged_connect = On
oci8.max_persistent = 111
oci8.persistent_timeout = 222
oci8.ping_interval = 333
oci8.connection_class = MyCC
oci8.events = On
oci8.statement_cache_size = 444
oci8.default_prefetch = 555
oci8.old_oci_close_semantics = On
--FILE--
<?php

echo "Test 1 - check initialization\n";
echo 'oci8.privileged_connect = ' . ini_get('oci8.privileged_connect') . "\n";
echo 'oci8.max_persistent = ' . ini_get('oci8.max_persistent') . "\n";
echo 'oci8.persistent_timeout = ' . ini_get('oci8.persistent_timeout') . "\n";
echo 'oci8.ping_interval = ' . ini_get('oci8.ping_interval') . "\n";
echo 'oci8.connection_class = ' . ini_get('oci8.connection_class') . "\n";
echo 'oci8.events = ' . ini_get('oci8.events') . "\n";
echo 'oci8.statement_cache_size = ' . ini_get('oci8.statement_cache_size') . "\n";
echo 'oci8.default_prefetch = ' . ini_get('oci8.default_prefetch') . "\n";
echo 'oci8.old_oci_close_semantics = ' . ini_get('oci8.old_oci_close_semantics') . "\n";

echo "Test 2 - check what can be changed at runtime\n";
var_dump(ini_set('oci8.privileged_connect', 'Off'));
echo 'oci8.privileged_connect = ' . ini_get('oci8.privileged_connect') . "\n";
var_dump(ini_set('oci8.max_persistent', '999'));
echo 'oci8.max_persistent = ' . ini_get('oci8.max_persistent') . "\n";
var_dump(ini_set('oci8.persistent_timeout', '888'));
echo 'oci8.persistent_timeout = ' . ini_get('oci8.persistent_timeout') . "\n";
var_dump(ini_set('oci8.ping_interval', '777'));
echo 'oci8.ping_interval = ' . ini_get('oci8.ping_interval') . "\n";
var_dump(ini_set('oci8.connection_class', 'OtherCC'));
echo 'oci8.connection_class = ' . ini_get('oci8.connection_class') . "\n";
var_dump(ini_set('oci8.events', 'Off'));
echo 'oci8.events = ' . ini_get('oci8.events') . "\n";
var_dump(ini_set('oci8.statement_cache_size', '666'));
echo 'oci8.statement_cache_size = ' . ini_get('oci8.statement_cache_size') . "\n";
var_dump(ini_set('oci8.default_prefetch', '111'));
echo 'oci8.default_prefetch = ' . ini_get('oci8.default_prefetch') . "\n";
var_dump(ini_set('oci8.old_oci_close_semantics', 'Off'));
echo 'oci8.old_oci_close_semantics = ' . ini_get('oci8.old_oci_close_semantics') . "\n";

?>
--EXPECTF--
Deprecated: Directive oci8.old_oci_close_semantics is deprecated%s
Test 1 - check initialization
oci8.privileged_connect = 1
oci8.max_persistent = 111
oci8.persistent_timeout = 222
oci8.ping_interval = 333
oci8.connection_class = MyCC
oci8.events = 1
oci8.statement_cache_size = 444
oci8.default_prefetch = 555
oci8.old_oci_close_semantics = 1
Test 2 - check what can be changed at runtime
bool(false)
oci8.privileged_connect = 1
bool(false)
oci8.max_persistent = 111
bool(false)
oci8.persistent_timeout = 222
bool(false)
oci8.ping_interval = 333
string(4) "MyCC"
oci8.connection_class = OtherCC
bool(false)
oci8.events = 1
bool(false)
oci8.statement_cache_size = 444
bool(false)
oci8.default_prefetch = 555
bool(false)
oci8.old_oci_close_semantics = 1
extauth_01.phpt000064400000007033150450215050007423 0ustar00--TEST--
Test External Authentication errors with oci_connect
--EXTENSIONS--
oci8
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) == 'WIN') die("skip feature not available on Windows platforms");
require(__DIR__.'/details.inc');
if (getenv('SKIP_SLOW_TESTS')) die('skip slow tests excluded by request');
?>
--INI--
oci8.privileged_connect=1
--FILE--
<?php

error_reporting(E_ALL ^ E_DEPRECATED);

// Run Test

echo "Test 1\n";

$c = oci_connect('/', 'notemtpy', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 2\n";

$c = oci_connect('notemtpy', 'notemtpy', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 3\n";

$c = oci_connect('notemtpy', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 4\n";

$c = oci_connect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 5\n";

$c = oci_connect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 6\n";

$c = oci_connect('', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 7\n";

$c = oci_connect('/', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 8\n";

$c = oci_connect('/', null, 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 9\n";

$c = oci_connect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 10\n";

$c = oci_connect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);


?>
--EXPECTF--
Test 1

Warning: oci_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 2

Warning: oci_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 3

Warning: oci_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 4

Warning: oci_connect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
bool(false)
bool(false)
Test 5

Warning: oci_connect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
bool(false)
bool(false)
Test 6

Warning: oci_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 7

Warning: oci_connect(): ORA-12154: %s in %s on line %d
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 8

Warning: oci_connect(): ORA-12154: %s in %s on line %d
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 9

Warning: oci_connect(): ORA-%d: TNS:%s in %s on line %d
array(4) {
  ["code"]=>
  int(%d)
  ["message"]=>
  string(%d) "ORA-%d: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 10

Warning: oci_connect(): ORA-%d: TNS:%s in %s on line %d
array(4) {
  ["code"]=>
  int(%d)
  ["message"]=>
  string(%d) "ORA-%d: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
clientversion.phpt000064400000000202150450215050010314 0ustar00--TEST--
oci_client_version()
--EXTENSIONS--
oci8
--FILE--
<?php

echo oci_client_version(), "\n";

?>
--EXPECTF--
%d.%d.%d.%d.%d
lob_aliases.phpt000064400000002574150450215050007723 0ustar00--TEST--
LOB method aliases
--EXTENSIONS--
oci8
--SKIPIF--
<?php
$target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
require(__DIR__.'/skipif.inc');
?>
--FILE--
<?php

// Function existence
echo "Test 1\n";
var_dump(function_exists('oci_lob_load'));
var_dump(function_exists('oci_lob_tell'));
var_dump(function_exists('oci_lob_truncate'));
var_dump(function_exists('oci_lob_erase'));
var_dump(function_exists('oci_lob_flush'));
var_dump(function_exists('ocisetbufferinglob'));
var_dump(function_exists('ocigetbufferinglob'));
var_dump(function_exists('oci_lob_rewind'));
var_dump(function_exists('oci_lob_read'));
var_dump(function_exists('oci_lob_eof'));
var_dump(function_exists('oci_lob_seek'));
var_dump(function_exists('oci_lob_write'));
var_dump(function_exists('oci_lob_append'));
var_dump(function_exists('oci_lob_size'));
var_dump(function_exists('oci_lob_export'));
var_dump(function_exists('oci_lob_export'));
var_dump(function_exists('oci_lob_import'));
var_dump(function_exists('oci_lob_save'));
var_dump(function_exists('oci_lob_import'));
var_dump(function_exists('oci_free_descriptor'));

echo "Done\n";

?>
--EXPECT--
Test 1
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Done
extauth_02.phpt000064400000007110150450215050007420 0ustar00--TEST--
Test External Authentication errors with oci_new_connect
--EXTENSIONS--
oci8
--SKIPIF--
<?php
if (getenv('SKIP_SLOW_TESTS')) die('skip slow tests excluded by request');
if (substr(PHP_OS, 0, 3) == 'WIN') die("skip feature not available on Windows platforms");
?>
--INI--
oci8.privileged_connect=1
--FILE--
<?php

error_reporting(E_ALL ^ E_DEPRECATED);

// Run Test

echo "Test 1\n";

$c = oci_new_connect('/', 'notemtpy', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 2\n";

$c = oci_new_connect('notemtpy', 'notemtpy', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 3\n";

$c = oci_new_connect('notemtpy', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 4\n";

$c = oci_new_connect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 5\n";

$c = oci_new_connect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 6\n";

$c = oci_new_connect('', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 7\n";

$c = oci_new_connect('/', '', 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 8\n";

$c = oci_new_connect('/', null, 'anything', null, OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 9\n";

$c = oci_new_connect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);

echo "Test 10\n";

$c = oci_new_connect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
if (!$c) {
    $m = oci_error();
    var_dump($m);
}
var_dump($c);


?>
--EXPECTF--
Test 1

Warning: oci_new_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 2

Warning: oci_new_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 3

Warning: oci_new_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 4

Warning: oci_new_connect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
bool(false)
bool(false)
Test 5

Warning: oci_new_connect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
bool(false)
bool(false)
Test 6

Warning: oci_new_connect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
bool(false)
bool(false)
Test 7

Warning: oci_new_connect(): ORA-12154: %s in %s on line %d
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 8

Warning: oci_new_connect(): ORA-12154: %s in %s on line %d
array(4) {
  ["code"]=>
  int(12154)
  ["message"]=>
  string(%d) "ORA-12154: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 9

Warning: oci_new_connect(): ORA-%d: TNS:%s %s on line %d
array(4) {
  ["code"]=>
  int(%d)
  ["message"]=>
  string(%d) "ORA-%d: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
Test 10

Warning: oci_new_connect(): ORA-%d: TNS:%s %s on line %d
array(4) {
  ["code"]=>
  int(%d)
  ["message"]=>
  string(%d) "ORA-%d: %s"
  ["offset"]=>
  int(0)
  ["sqltext"]=>
  string(0) ""
}
bool(false)
minfo.phpt000064400000000405150450215050006545 0ustar00--TEST--
Code coverage for PHP_MINFO_FUNCTION(oci)
--EXTENSIONS--
oci8
--FILE--
<?php

ob_start();
phpinfo(INFO_MODULES);
$v = ob_get_clean();
$r = preg_match('/OCI8 Support .* enabled/', $v);
if ($r !== 1)
    var_dump($r);

echo "Done\n";

?>
--EXPECT--
Done
uuid_is_null.phpt000064400000000754150456012220010137 0ustar00--TEST--
uuid_is_null() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
var_dump(uuid_is_null("00000000-0000-0000-0000-000000000000"));
var_dump(uuid_is_null("b691c99c-7fc5-11d8-9fa8-00065b896488"));
try {
	if (!uuid_is_null("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")) {
		echo "OK\n";
	}
} catch (ValueError $e) {
	echo $e->getMessage() . "\n"; // PHP 8
	echo "OK\n";
}

?>
--EXPECTF--
bool(true)
bool(false)
%A Argument #1 ($uuid) UUID expected%AOK
uuid_variant.phpt000064400000000641150456012220010131 0ustar00--TEST--
uuid_variant() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

if(!function_exists('uuid_variant')) die('skip not compiled in (HAVE_UUID_VARIANT)');

 ?>
--FILE--
<?php
echo uuid_variant("b691c99c-7fc5-11d8-9fa8-00065b896488")."\n";
echo uuid_variant("878b258c-a9f1-467c-8e1d-47d79ca2c01b")."\n";
echo uuid_variant("00000000-0000-0000-0000-000000000000")."\n";

?>
--EXPECT--
1
1
-1
uuid_compare.phpt000064400000001663150456012220010120 0ustar00--TEST--
uuid_compare() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
$uuids = array();
        $uuids[0] = "00000000-0000-0000-0000-000000000000";
        $uuids[1] = "878b258c-a9f1-467c-8e1d-47d79ca2c01b";
        $uuids[2] = "b691c99c-7fc5-11d8-9fa8-00065b896488";

        foreach ($uuids as $key1 => $uuid1) {
                foreach ($uuids as $key2 => $uuid2) {
                        echo "uuid$key1";

                        switch (uuid_compare($uuid1, $uuid2)) {
                        case -1: echo " < "; break;
                        case  0: echo " = "; break;
                        case  1: echo " > "; break;
                        }

                        echo "uuid$key2\n";
                }
                echo "\n";
        }

?>
--EXPECT--
uuid0 = uuid0
uuid0 < uuid1
uuid0 < uuid2

uuid1 > uuid0
uuid1 = uuid1
uuid1 < uuid2

uuid2 > uuid0
uuid2 > uuid1
uuid2 = uuid2
uuid_type.phpt000064400000001003150456012220007437 0ustar00--TEST--
uuid_type() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

if(!function_exists('uuid_type')) die('skip not compiled in (HAVE_UUID_TYPE)');

 ?>
--FILE--
<?php
echo uuid_type("b691c99c-7fc5-11d8-9fa8-00065b896488") == UUID_TYPE_TIME   ? "OK\n" : "Failure\n";
echo uuid_type("878b258c-a9f1-467c-8e1d-47d79ca2c01b") == UUID_TYPE_RANDOM ? "OK\n" : "Failure\n";
echo uuid_type("00000000-0000-0000-0000-000000000000") == UUID_TYPE_NULL   ? "OK\n" : "Failure\n";

?>
--EXPECT--
OK
OK
OK
uuid_parse.phpt000064400000000335150456012220007577 0ustar00--TEST--
uuid_parse() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
var_dump(uuid_parse("61616161-6161-6161-6161-616161616161"));

?>
--EXPECT--
string(16) "aaaaaaaaaaaaaaaa"
uuid_generate_sha1.phpt000064400000001331150456012220011170 0ustar00--TEST--
uuid_generate_sha1() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');
if(!function_exists('uuid_generate_sha1')) die('skip not compiled in (HAVE_UUID_GENERATE_SHA1)');

 ?>
--FILE--
<?php
$uuid = uuid_create();
var_dump($uuid);
try {
	uuid_generate_sha1("not a uuid", "foo");
} catch (ValueError $e) {
	echo $e->getMessage() . "\n"; // PHP 8
}
var_dump($a = uuid_generate_sha1($uuid, "foo"));
var_dump($b = uuid_generate_sha1($uuid, "bar"));
var_dump($a === $b);
var_dump(uuid_type($a) == UUID_TYPE_SHA1);
var_dump(uuid_type($b) == UUID_TYPE_SHA1);
?>
Done
--EXPECTF--
string(36) "%s"
%A Argument #1 ($uuid_ns) UUID expecte%A
string(36) "%s"
string(36) "%s"
bool(false)
bool(true)
bool(true)
Done
uuid_generate_md5.phpt000064400000001414150456012220011023 0ustar00--TEST--
uuid_generate_md5() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');
if(!function_exists('uuid_generate_md5')) die('skip not compiled in (HAVE_UUID_GENERATE_MD5)');

 ?>
--FILE--
<?php
$uuid = uuid_create();
var_dump($uuid);
try {
	if (!uuid_generate_md5("not a uuid", "foo")) {
		echo "OK\n"; // PHP 7
	}
} catch (ValueError $e) {
	echo $e->getMessage() . "\n"; // PHP 8
	echo "OK\n"; // PHP 8
}
var_dump($a = uuid_generate_md5($uuid, "foo"));
var_dump($b = uuid_generate_md5($uuid, "bar"));
var_dump($a === $b);
var_dump(uuid_type($a) == UUID_TYPE_MD5);
var_dump(uuid_type($b) == UUID_TYPE_MD5);
?>
Done
--EXPECTF--
string(36) "%s"
%A Argument #1 ($uuid_ns) UUID expecte%AOK
string(36) "%s"
string(36) "%s"
bool(false)
bool(true)
bool(true)
Done
uuid_create.phpt000064400000000761150456012220007733 0ustar00--TEST--
uuid_create() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
        // check basic format of generated UUIDs
        $uuid = uuid_create();
        if (preg_match("/[[:xdigit:]]{8}-[[:xdigit:]]{4}-[[:xdigit:]]{4}-[[:xdigit:]]{4}-[[:xdigit:]]{12}/", $uuid)) {
                echo "basic format ok\n";
        } else {
                echo "basic UUID format check failed, generated UUID was $uuid\n";
        }

?>
--EXPECT--
basic format ok
uuid_mac.phpt000064400000000664150456012220007232 0ustar00--TEST--
uuid_mac() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
var_dump(uuid_mac("b691c99c-7fc5-11d8-9fa8-00065b896488"));
try {
	if (!uuid_mac("878b258c-a9f1-467c-8e1d-47d79ca2c01b")) {
		echo "OK\n"; // PHP 7
	}
} catch (ValueError $e) {
	echo $e->getMessage() . "\n"; // PHP 8
	echo "OK\n";
}

?>
--EXPECTF--
string(12) "00065b896488"
%A Argument #1 ($uuid) UUID DCE TIME expecte%AOK
uuid_time.phpt000064400000000631150456012220007422 0ustar00--TEST--
uuid_time() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
var_dump(uuid_time("b691c99c-7fc5-11d8-9fa8-00065b896488"));
try {
	if (!uuid_time("878b258c-a9f1-467c-8e1d-47d79ca2c01b")) {
		echo "OK\n"; // PHP 7
	}
} catch (ValueError $e) {
	echo $e->getMessage() . "\n"; // PHP 8
	echo "OK\n";
}

?>
--EXPECTF--
int(1080374815)
%A UUID DCE TIME expecte%AOK
uuid_is_valid.phpt000064400000000627150456012220010263 0ustar00--TEST--
uuid_is_valid() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
var_dump(uuid_is_valid("1b4e28ba-2fa1-11d2-883f-b9a761bde3fb"));
var_dump(uuid_is_valid("ffffffff-ffff-ffff-ffff-ffffffffffff"));
var_dump(uuid_is_valid("61616161-6161-6161-6161-616161616161"));
var_dump(uuid_is_valid("foobar"));

?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(false)
uuid_unparse.phpt000064400000000341150456012220010137 0ustar00--TEST--
uuid_unparse() function
--SKIPIF--
<?php 

if(!extension_loaded('uuid')) die('skip ');

 ?>
--FILE--
<?php
var_dump(uuid_unparse("aaaaaaaaaaaaaaaa"));

?>
--EXPECT--
string(36) "61616161-6161-6161-6161-616161616161"
060.solrquery_comon_query_params.phpt000064400000003033150456303710014000 0ustar00--TEST--
SolrQuery - testing CommonQueryParameters
--FILE--
<?php

$query = new SolrQuery();
ob_start();
var_dump(
	$query->getQuery(),
	$query->getTimeAllowed(),
	$query->getStart(),
	$query->getRows(),
	$query->getFields(),
	$query->getFilterQueries(),
	$query->getSortFields()
);
$nullOutput = ob_get_clean();

$query->setParam('a', 1);
$query->setParam('b', 2);
$query->setParam('c', 3);

$query->setStart(4)->setQuery('solr')->setTimeAllowed(500)->setRows(17);

$query->addField('israel')->addField('joshua')->addField('june');

$query->addSortField('cat', SolrQuery::ORDER_ASC);

$query->addFilterQuery('solr')->addFilterQuery('solr1')->addFilterQuery('solr2');

$query
	->setShowDebugInfo(true)
	->setExplainOther('id:SOL*')
	->setOmitHeader(false)
	->setEchoHandler(true)
	->setEchoParams('all')
;

echo $query . PHP_EOL . PHP_EOL;

var_dump(
	$query->getQuery(),
	$query->getTimeAllowed(),
	$query->getStart(),
	$query->getRows(),
	$query->getFields(),
	$query->getFilterQueries(),
	$query->getSortFields()
);

echo $nullOutput;
?>
--EXPECT--
a=1&b=2&c=3&start=4&q=solr&timeAllowed=500&rows=17&fl=israel,joshua,june&sort=cat asc&fq=solr&fq=solr1&fq=solr2&debugQuery=true&explainOther=id:SOL*&omitHeader=false&echoHandler=true&echoParams=all

string(4) "solr"
int(500)
int(4)
int(17)
array(3) {
  [0]=>
  string(6) "israel"
  [1]=>
  string(6) "joshua"
  [2]=>
  string(4) "june"
}
array(3) {
  [0]=>
  string(4) "solr"
  [1]=>
  string(5) "solr1"
  [2]=>
  string(5) "solr2"
}
array(1) {
  [0]=>
  string(7) "cat asc"
}
NULL
NULL
NULL
NULL
NULL
NULL
NULL110.solrdismaxquery.phpt000064400000004003150456303710011215 0ustar00--TEST--
SolrDisMaxQuery - Methods
--FILE--
<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addPhraseField('source', 55)
->addPhraseField('cat', 3, 1)
->addPhraseField('third', 4, 1)
->removePhraseField('third')
->addPhraseField('fourth', 0.5)
->addPhraseField('fifth',5.2, 7.8)
->setQueryAlt('*:*')
->addQueryField("price")
->addQueryField("location", 4)
->setPhraseSlop(2)
->setQueryPhraseSlop(3)
->setTieBreaker(0.5)
->setMinimumMatch(2)
;
// reverse
echo $dismaxQuery.PHP_EOL;
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
	->addQueryField("location", 4)
	->addQueryField("price")
	->addQueryField("sku")
	->addQueryField("title",3.4)
	->addPhraseField('cat', 3, 1)
	->addPhraseField('third', 4, 1)
	->addPhraseField('source', 55)
;
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setPhraseFields('source^55 cat~1^3');
echo $dismaxQuery.PHP_EOL;
$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->addPhraseField('first', 3, 1)
->addPhraseField('second', 4, 1)
->addPhraseField('cat', 55);
echo $dismaxQuery. PHP_EOL;

echo $dismaxQuery->removePhraseField('second').PHP_EOL;

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->addQueryField('first', 3)
->addQueryField('second', 0.2)
->addQueryField('cat');
echo $dismaxQuery. PHP_EOL;
echo $dismaxQuery->removeQueryField('second').PHP_EOL;

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setPhraseSlop(4);
echo $dismaxQuery.PHP_EOL;

?>
--EXPECTF--
q=lucene&defType=%s&pf=source^55 cat~1^3 fourth^0.5 fifth~7.8^5.2&q.alt=*:*&qf=price location^4&ps=2&qs=3&tie=0.5&mm=2
q=lucene&defType=%s&qf=location^4 price sku title^3.4&pf=cat~1^3 third~1^4 source^55

Notice: SolrDisMaxQuery::setPhraseFields(): Parameter pf value(s) was overwritten by this call in %s on line %d
q=lucene&defType=%s&qf=location^4 price sku title^3.4&pf=source^55 cat~1^3
q=lucene&defType=%s&pf=first~1^3 second~1^4 cat^55
q=lucene&defType=%s&pf=first~1^3 cat^55
q=lucene&defType=%s&qf=first^3 second^0.2 cat
q=lucene&defType=%s&qf=first^3 cat
q=lucene&defType=%s&ps=4019.solrclient_clone.phpt000064400000001240150456303720011311 0ustar00--TEST--
SolrClient::__clone() - expect exception on clone
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

try {
	$failing = clone $client;
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

?>
--EXPECTF--
Exception 4001: Cloning of SolrClient objects is currently not supported150.solrcollapsefunction.phpt000064400000001531150456303720012222 0ustar00--TEST--
SolrCollapseFunction - string conversion
--FILE--
<?php

$func = new SolrCollapseFunction('field');

$func->setField('field2');
$func->setMax('max');
$func->setMin('min');
$func->setSize(1000);
$func->setHint('hint');
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

var_dump($func->getField());
var_dump($func->getMax());
var_dump($func->getMin());
var_dump($func->getSize());
var_dump($func->getHint());
var_dump($func->getNullPolicy());

var_dump((string)$func);
$func->setMax('with space');
var_dump((string)$func);

?>
--EXPECTF--
string(6) "field2"
string(3) "max"
string(3) "min"
string(4) "1000"
string(4) "hint"
string(6) "expand"
string(78) "{!collapse field=field2 max=max min=min size=1000 hint=hint nullPolicy=expand}"
string(87) "{!collapse field=field2 max='with space' min=min size=1000 hint=hint nullPolicy=expand}"
062.solrquery_date_facet_parameters.phpt000064400000003704150456303720014407 0ustar00--TEST--
SolrQuery - Testing Date facet parameters
--FILE--
<?php

$query = new SolrQuery();

ob_start();
var_dump(
	$query->getFacetDateFields(),
	$query->getFacetDateStart(),
	$query->getFacetDateStart('june'),
	$query->getFacetDateEnd(),
	$query->getFacetDateEnd('israel'),
	$query->getFacetDateGap(),
	$query->getFacetDateGap('june'),
	$query->getFacetDateHardEnd(),
	$query->getFacetDateHardEnd('june'),
	$query->getFacetDateOther(),
	$query->getFacetDateOther('june')
);

$nullOutput = ob_get_clean();



$query->addFacetDateField('israel')
->addFacetDateField('israel')
->removeFacetDateField('israel')
;

$query->setFacetDateStart('January')->setFacetDateStart('Feb', 'june');

$query->setFacetDateEnd('Jan')->setFacetDateEnd('Febr', 'israel');

$query->setFacetDateGap('AOL')->setFacetDateGap('YAHOO', 'june');

$query->setFacetDateHardEnd(1)->setFacetDateHardEnd(0,'june');

$query->addFacetDateOther('Google')
->addFacetDateOther('Yahoos','june')
->addFacetDateOther('removeme')
->removeFacetDateOther('removeme');

echo $query. PHP_EOL . PHP_EOL;

var_dump(
	$query->getFacetDateFields(),
	$query->getFacetDateStart(),
	$query->getFacetDateStart('june'),
	$query->getFacetDateEnd(),
	$query->getFacetDateEnd('israel'),
	$query->getFacetDateGap(),
	$query->getFacetDateGap('june'),
	$query->getFacetDateHardEnd(),
	$query->getFacetDateHardEnd('june'),
	$query->getFacetDateOther(),
	$query->getFacetDateOther('june')
);

echo $nullOutput;
?>
--EXPECTF--
facet.date=israel&facet.date.start=January&f.june.facet.date.start=Feb&facet.date.end=Jan&f.israel.facet.date.end=Febr&facet.date.gap=AOL&f.june.facet.date.gap=YAHOO&facet.date.hardend=true&f.june.facet.date.hardend=false&f.june.facet.date.other=Yahoos

array(1) {
  [0]=>
  string(6) "israel"
}
string(7) "January"
string(3) "Feb"
string(3) "Jan"
string(4) "Febr"
string(3) "AOL"
string(5) "YAHOO"
bool(true)
bool(false)
NULL
array(1) {
  [0]=>
  string(6) "Yahoos"
}
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL080.solrutils_escapequerychars.phpt000064400000000523150456303720013443 0ustar00--TEST--
SolrUtils::escapeQueryChars() - Testing Lucene Reserved Characters
--FILE--
<?php
// + - && || ! ( ) { } [ ] ^ " ~ * ? : \
$queryString = '+a - q{ } [^test] || && () ^ " ~ * ? : \\ /';
$escaped = SolrUtils::escapeQueryChars($queryString);
echo $escaped;
?>
--EXPECTF--
\+a \- q\{ \} \[\^test\] \|| \&& \(\) \^ \" \~ \* \? \: \\ \/test.config.inc000064400000004070150456303720007470 0ustar00<?php
$serverConfigured = getenv('SOLR_SERVER_CONFIGURED') ? (int)getenv('SOLR_SERVER_CONFIGURED') : false;
define('SOLR_SERVER_CONFIGURED', $serverConfigured);

define('ROOT_DIRECTORY', dirname(__FILE__));

define('EXAMPLE_RESPONSE_XML_1', ROOT_DIRECTORY . '/files/response_xml.1.xml');
define('EXAMPLE_RESPONSE_XML_2', ROOT_DIRECTORY . '/files/response_xml.2.xml');
define('EXAMPLE_RESPONSE_XML_3', ROOT_DIRECTORY . '/files/response_xml.3.xml');
define('EXAMPLE_RESPONSE_XML_4', ROOT_DIRECTORY . '/files/response_xml.4.xml');
define('EXTRACT_FILE_1', ROOT_DIRECTORY . '/files/extract_file.1.pdf');

/* Whether or not to run in secure mode */
define('SOLR_SECURE', false);

/* Domain name of the Solr server */
define('SOLR_SERVER_HOSTNAME', '127.0.0.1');

/* HTTP Port to connection */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* SOLR CORE to test on */
define('SOLR_SERVER_PATH', 'solr/collection1');

/* used to test child documents */
define('SOLR_SERVER_STORE_PATH', 'solr/metal_store');

define('SOLR_SERVER_FILES_PATH', 'solr/myfiles');

/* HTTP Basic Authentication Username */
define('SOLR_SERVER_USERNAME', 'admin');

/* HTTP Basic Authentication password */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* HTTP connection timeout */
/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
define('SOLR_SERVER_TIMEOUT', 10);

/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* File name to a PEM-formatted private certificate only */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* File name to a PEM-formatted private key */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Password for PEM-formatted private key file */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Name of file holding one or more CA certificates to verify peer with*/
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Name of directory holding multiple CA certificates to verify peer with */
define('SOLR_SSL_CAPATH', 'certs/');

?>
193.solrparams_getparams.phpt000064400000000650150456303720012210 0ustar00--TEST--
SolrParams::getParams()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->set('q', 'lucene')
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

var_dump($params->getParams());
?>
--EXPECT--
array(2) {
  ["q"]=>
  array(1) {
    [0]=>
    string(6) "lucene"
  }
  ["fq"]=>
  array(2) {
    [0]=>
    string(20) "popularity:[10 TO *]"
    [1]=>
    string(9) "section:0"
  }
}116.solrdismaxquery_boostfunction.phpt000064400000000525150456303720014205 0ustar00--TEST--
SolrDisMaxQuery - setBoostFunction
--FILE--
<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$boostRecentDocsFunction = "recip(ms(NOW,mydatefield),3.16e-11,1,1)";
$dismaxQuery->setBoostFunction($boostRecentDocsFunction);

echo $dismaxQuery.PHP_EOL;

?>
--EXPECTF--
q=lucene&defType=%s&bf=recip(ms(NOW,mydatefield),3.16e-11,1,1)059.solrinputdocument_set_getfieldboost.phpt000064400000000430150456303720015342 0ustar00--TEST--
SolrInputDocument::getFieldBoost
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();

$doc->addField('id', 123);
$doc->addField('cat', 'Software');

$doc->setFieldBoost('cat', 2.1);
var_dump($doc->getFieldBoost('cat'));

?>
--EXPECT--
float(2.1)103.solrresponse_get_array_response.phpt000064400000001464150456303720014466 0ustar00--TEST--
SolrResponse::getArrayResponse - For All response writers
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
);

$client = new SolrClient ( $options );


$testArrayResponse = function ($writer) use ($client){
	$client->setResponseWriter($writer);
	$q = new SolrQuery("lucene");
	$response = $client->query ( $q );
	$arrayResponse = $response->getArrayResponse();
	return is_array($arrayResponse);
};

var_dump($testArrayResponse('phps'));
var_dump($testArrayResponse('xml'));
var_dump($testArrayResponse('json'));
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)106.solrresponse_child_doc_response_solrdoc.phpt000064400000005624150456303720016153 0ustar00--TEST--
SolrDocument - Response parsed as SolrDocument with child documents
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);

foreach($response->response->docs as $doc)
{
	echo '--- doc start ---'.PHP_EOL;
	print_r($doc->toArray());
	if ($doc->hasChildDocuments())
	{
		foreach ($doc->getChildDocuments() as $child)
		{
			print_r($child->toArray());
		}
	}
	echo '--- doc end ---'.PHP_EOL;
}
?>
--EXPECT--
--- doc start ---
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => parent_1
                        )

                )

        )

)
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => CHILD_1_1
                        )

                )

        )

)
--- doc end ---
--- doc start ---
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => parent_2
                        )

                )

        )

)
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => CHILD_2_1
                        )

                )

        )

)
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => CHILD_2_2
                        )

                )

        )

)
--- doc end ---
--- doc start ---
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => not_a_parent_1
                        )

                )

        )

)
--- doc end ---
007.solrclient_deleteByIds.phpt000064400000002166150456303720012413 0ustar00--TEST--
SolrClient::deleteByIds() - Test deleting documents by an array of IDS
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->deleteByIds(array('334455','334456'));
$client->commit();
print_r($response->getResponse());

try {
	$client->deleteByIds(array(0));
} catch (SolrIllegalArgumentException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()). PHP_EOL;
}

try {
	$client->deleteByIds(array('334455', ''));
} catch (SolrIllegalArgumentException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()). PHP_EOL;
}

?>
--EXPECTF--
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)
Exception 4000: Id number 1 is not a valid string
Exception 4000: Id number 2 is not a valid string016.solrclient_sendUpdateStream_file.phpt000064400000001774150456303720014471 0ustar00--TEST--
SolrClient::sendUpdateStream - send SolrExtractRequest (file)
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array (
	'hostname' => SOLR_SERVER_HOSTNAME,
	'login' => SOLR_SERVER_USERNAME,
	'password' => SOLR_SERVER_PASSWORD,
	'port' => SOLR_SERVER_PORT,
	'path' => SOLR_SERVER_FILES_PATH,
);

$client = new SolrClient($options);

$extractParams = new SolrModifiableParams();

$extractParams
	->set(SolrExtractRequest::LITERALS_PREFIX . 'id', 'doc1')
	->set(SolrExtractRequest::CAPTURE_ELEMENTS, 'p')
	->set(SolrExtractRequest::FIELD_MAPPING_PREFIX . 'p', 'text')
;

$extractRequest = SolrExtractRequest::createFromFile(EXTRACT_FILE_1, $extractParams);

$response = $client->sendUpdateStream($extractRequest);

$client->rollback();

echo $response->getHttpStatus() . PHP_EOL;
echo $response->getRequestUrl() . PHP_EOL;
?>
--EXPECTF--
200
http://%s/update/extract/?version=2.2&indent=on&wt=xml&literal.id=doc1&capture=p&fmap.p=text
056.solrinputdocument_toArray.phpt000064400000001611150456303720013255 0ustar00--TEST--
SolrInputDocument::toArray - Array conversion
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$doc->addField('field_1', 4, 3.4);
$doc->addField('field_2', 1);

print_r($doc->toArray());
?>
--EXPECT--
Array
(
    [document_boost] => 0
    [field_count] => 2
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => field_1
                    [boost] => 3.4
                    [values] => Array
                        (
                            [0] => 4
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => field_2
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1
                        )

                )

        )

)
053.solrinputdocument_getchilddocumentscount.phpt000064400000001112150456303720016403 0ustar00--TEST--
SolrInputDocument::getChildDocumentsCount() - test
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$secondDoc = new SolrInputDocument();

$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat   = 'Information Technology';

$secondDoc->addField('cat', 'Lucene Search');
$secondDoc->cat = 'Custom Search';

$doc->addChildDocument($secondDoc);

var_dump($doc->getChildDocumentsCount());
var_dump($secondDoc->getChildDocumentsCount());
?>
--EXPECT--
int(1)
int(0)bug_70495.phpt000064400000001746150456303720007003 0ustar00--TEST--
Solr Bug #70495 - Failed to parse 500 error response when Solr it lacks msg JSON RW
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
$options = array
(
        'hostname' => SOLR_SERVER_HOSTNAME,
        'login'    => SOLR_SERVER_USERNAME,
        'password' => SOLR_SERVER_PASSWORD,
        'port'     => SOLR_SERVER_PORT,
        'path'     => SOLR_SERVER_PATH,
        'wt'       => 'json'
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('manu_id_s');

$func->setMax('sum(cscore(),field(manu_id_s))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);
try {
    $queryResponse = $client->query($query);
} catch (SolrServerException $e) {
    printf("Exception code %d", $e->getCode());
    assert(strlen($e->getMessage()) > 0, 'Exception message is empty');
}

?>

OK
--EXPECTF--
Exception code 500
OK021.solrdocument_iterator.phpt000064400000001766150456303720012410 0ustar00--TEST--
SolrDocument - checking Iterator interface implementation
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

foreach ($doc as $fieldname => $fieldvalues)
{
    print "$fieldname\n";

    print_r($fieldvalues);
}

?>
--EXPECT--
id
SolrDocumentField Object
(
    [name] => id
    [boost] => 0
    [values] => Array
        (
            [0] => 1123
        )

)
features
SolrDocumentField Object
(
    [name] => features
    [boost] => 0
    [values] => Array
        (
            [0] => PHP Client Side
            [1] => Fast development cycles
        )

)
cat
SolrDocumentField Object
(
    [name] => cat
    [boost] => 0
    [values] => Array
        (
            [0] => Software
            [1] => Custom Search
            [2] => Information Technology
        )

)
008.solrclient_rollback.phpt000064400000001051150456303720012000 0ustar00--TEST--
SolrClient::rollback() - Testing rollback
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$updateResponse = $client->rollback();
print $updateResponse->getRawRequest();
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<rollback/>067.solrquery__construct.phpt000064400000000467150456303720012300 0ustar00--TEST--
SolrQuery::_construct - Throws exception on illegal Argument
--FILE--
<?php

try {
	$query = new SolrQuery(new StdClass());
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage();
} catch (TypeError $e) {
	echo $e->getMessage();
}
?>
--EXPECTF--
SolrQuery::__construct()%s string, %s given
skip.if.server_not_configured.inc000064400000000156150456303730013204 0ustar00<?php

require_once 'bootstrap.inc';

if (!SOLR_SERVER_CONFIGURED) die("skip Solr server is not set up");

?>
197.solrparams_unserialize.phpt000064400000000677150456303730012575 0ustar00--TEST--
SolrParams::unserialize()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->setParam('q', 'lucene')
	->setParam('start', 0)
	->setParam('rows', 10)
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

$serializedString = serialize($params);

$unserializedObject = unserialize($serializedString);
echo $unserializedObject;
?>
--EXPECTF--
q=lucene&start=0&rows=10&fq=popularity:[10 TO *]&fq=section:0
023.solrdocument_merge.phpt000064400000003163150456303730011652 0ustar00--TEST--
SolrDocument::merge() - merging source document into current document
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, true);

print_r($second_doc->toArray());


?>
--EXPECT--
Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)
028.solrdocument_clone.phpt000064400000002336150456303730011661 0ustar00--TEST--
SolrDocument - clone
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);

foreach($response->response->docs as $doc)
{
	$clone = clone $doc;
	$childrenOfTheInput = $clone->getInputDocument()->getChildDocuments();

	if ($childrenOfTheInput)
	{
		$firstChild = $childrenOfTheInput[0];
		var_dump(get_class($firstChild));
		var_dump(current($childrenOfTheInput)->toArray());
	}
}

?>
--EXPECTF--
string(17) "SolrInputDocument"
array(3) {
  ["document_boost"]=>
  float(0)
  ["field_count"]=>
  int(1)
  ["fields"]=>
  array(1) {
    [0]=>
    object(SolrDocumentField)#%d (3) {
      ["name"]=>
      string(2) "id"
      ["boost"]=>
      float(0)
      ["values"]=>
      array(1) {
        [0]=>
        string(9) "CHILD_1_1"
      }
    }
  }
}
string(17) "SolrInputDocument"
array(3) {
  ["document_boost"]=>
  float(0)
  ["field_count"]=>
  int(1)
  ["fields"]=>
  array(1) {
    [0]=>
    object(SolrDocumentField)#%d (3) {
      ["name"]=>
      string(2) "id"
      ["boost"]=>
      float(0)
      ["values"]=>
      array(1) {
        [0]=>
        string(9) "CHILD_2_1"
      }
    }
  }
}
001.solrclient_addDocument_partial.phpt000064400000007116150456303730014154 0ustar00--TEST--
SolrClient::addDocumnt() - Partial Update (integration)
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$printDocument = function() use ($client) {
	$response = $client->getById('testing_partials');
	print_r($response->getResponse());
};
// clean up, before running the test
$client->deleteById('testing_partials');
$client->commit();

$initialDoc = new SolrInputDocument();

$initialDoc->addField('id', 'testing_partials');
$initialDoc->addField('field1', 'existing value');
$initialDoc->addField('field1', 'remove me please');
$initialDoc->addField('field1', '15/01/2007');
$initialDoc->addField('field2_s', 'initialField');
$initialDoc->addField('field3_i', 0);
$initialDoc->addField('field4', 'val1');
$initialDoc->addField('field5_s', 'unmodified field');

$client->addDocument($initialDoc);
$client->commit();
separator('INITIAL');
$printDocument();

$doc = new SolrInputDocument();
$doc->addField('id', 'testing_partials');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_ADD, 'newly added value');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVE, 'remove me please');
$doc->updateField('field3_i', SolrInputDocument::UPDATE_MODIFIER_INC, 5);
$doc->updateField('field2_s', SolrInputDocument::UPDATE_MODIFIER_SET, 'updated string');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVEREGEX, '[\d]{2}/[\d]{2}/[\d]{4}');

$response = $client->addDocument($doc);
$client->commit();
separator('RAW REQUEST');
print_r($response->getRawRequest());
$client->commit();

separator('RESULT AFTER UPDATE');
$printDocument();
?>
--EXPECTF--
=================================== INITIAL ====================================
SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => testing_partials
            [field1] => Array
                (
                    [0] => existing value
                    [1] => remove me please
                    [2] => 15/01/2007
                )

            [field2_s] => initialField
            [field3_i] => 0
            [field4] => Array
                (
                    [0] => val1
                )

            [field5_s] => unmodified field
            [_version_] => %d
        )

)
================================= RAW REQUEST ==================================
<?xml version="1.0" encoding="UTF-8"?>
<add overwrite="true">
  <doc>
    <field name="id">testing_partials</field>
    <field name="field1" update="add">newly added value</field>
    <field name="field1" update="remove">remove me please</field>
    <field name="field1" update="removeregex">[\d]{2}/[\d]{2}/[\d]{4}</field>
    <field name="field3_i" update="inc">5</field>
    <field name="field2_s" update="set">updated string</field>
  </doc>
</add>
============================= RESULT AFTER UPDATE ==============================
SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => testing_partials
            [field1] => Array
                (
                    [0] => existing value
                    [1] => newly added value
                )

            [field2_s] => updated string
            [field3_i] => 5
            [field4] => Array
                (
                    [0] => val1
                )

            [field5_s] => unmodified field
            [_version_] => %d
        )

)

055.solrinputdocument_serialization.phpt000064400000000452150456303730014513 0ustar00--TEST--
SolrInputDocument - serialize/unserialize Exception
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

try {
serialize($doc);
} catch (Exception $e) {
echo $e->getMessage().PHP_EOL;
}
?>
--EXPECT--
SolrInputDocument objects cannot be serialized or unserialized014.solrclient_addDocument_nested_document.phpt000064400000004076150456303730015706 0ustar00--TEST--
SolrClient::addDocument() - Sending a document with child documents
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 'CTEST_1');
$doc->addField('title', 'Solr adds block join support');
$doc->addField('content_type', 'parentDocument');

$doc2 = new SolrInputDocument();
$doc2->addField('id', 'CTEST_2');
$doc2->addField('comment_t', 'SolrCloud supports it too!');

$doc3 = new SolrInputDocument();
$doc3->addField('id', 'CTEST_3');
$doc3->addField('comment_t', 'Lots of features');

$doc->addChildDocument($doc2);
$doc->addChildDocument($doc3);

$doc4 = new SolrInputDocument();
$doc4->addField('id', 'CTEST_4');
$doc4->addField('comment_t', 'Child Child');

$doc3->addChildDocument($doc4);

$docs = $doc->getChildDocuments();
$docs[0]->addField('one_more_field_t', 'testing');

$updateResponse = $client->addDocument($doc);
print_r($updateResponse->getRawRequest());
print_r($updateResponse->getResponse());
$client->commit();
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<add overwrite="true">
  <doc>
    <field name="id">CTEST_1</field>
    <field name="title">Solr adds block join support</field>
    <field name="content_type">parentDocument</field>
    <doc>
      <field name="id">CTEST_2</field>
      <field name="comment_t">SolrCloud supports it too!</field>
      <field name="one_more_field_t">testing</field>
    </doc>
    <doc>
      <field name="id">CTEST_3</field>
      <field name="comment_t">Lots of features</field>
      <doc>
        <field name="id">CTEST_4</field>
        <field name="comment_t">Child Child</field>
      </doc>
    </doc>
  </doc>
</add>
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)160.solr_update_document_block.phpt000064400000004246150456303730013353 0ustar00--TEST--
Solr - Fetch and Update nested documents
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$updateInventory = function ($document, $inventory) {
	$children = $document->getChildDocuments();
	$child = $children[0];
	$child->deleteField('inventory_i');
	$child->addField('inventory_i', $inventory);

	$document->deleteField('_version_');
};

$getInventory = function ($response) {
	return (int) current($response->response->docs[0]->getChildDocuments()[0]['inventory_i']->values);
};

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_STORE_PATH,
		'wt' => 'xml'
);

$client = new SolrClient ( $options );

$query = new SolrQuery ('id:1 AND {!parent which=$parentFilter}');

$query->setParam ( 'parentFilter', 'content_type_s:product' );
$query->addFilterQuery('{!parent which=$parentFilter}');

$query->addField ( '*' );
$query->addField ( '[child parentFilter=$parentFilter]' );

$query->setStart ( 0 );
$query->setRows ( 1 );

// query existing inventory
$queryResponse = $client->query ( $query );
$queryResponse->setParseMode(SolrResponse::PARSE_SOLR_DOC);
$response = $queryResponse->getResponse();
$existingInventory = $getInventory($response);

// update inventory to 300
$document = $response->response->docs[0]->getInputDocument();
$updateInventory($document, 300);
$client->addDocument($document);
$client->commit();

// fetch the document again after the update
$queryResponse = $client->query ( $query );
$queryResponse->setParseMode(SolrResponse::PARSE_SOLR_DOC);
$response = $queryResponse->getResponse();
$newInventory = $getInventory($response);
assert($newInventory == 300);


echo "------EXISTING------" . PHP_EOL;
var_dump($existingInventory);
echo "----AFTER UPDATE----" . PHP_EOL;
var_dump($newInventory);

// cleanup: restore document's original state
$document = $response->response->docs[0]->getInputDocument();
$updateInventory($document, $existingInventory);
$client->addDocument($document);
$client->commit();
?>
--EXPECT--
------EXISTING------
int(200)
----AFTER UPDATE----
int(300)files/sample.html000064400000000353150456303740010025 0ustar00<html>
<head>
  <title>Welcome to Solr</title>
</head>
<body>
<p>
  Here is some text
</p>
<p>distinct<br/>words</p>
<div>Here is some text in a div</div>
<div>This has a <a href="http://www.apache.org">link</a>.</div>
</body>
</html>
files/extract_file.1.pdf000064400001517512150456303740011174 0ustar00%PDF-1.3
%�쏢
30 0 obj
<</Length 31 0 R/Filter /FlateDecode>>
stream
x��}ݓ%�m�S�%NU���M&O7�㛔]ql�����+Kr�+ْ%��/~��=����{feY�T���
��/�q�8�8���~���ܷ�O�z�7�7�o���7�'�{��<~��?����C�%\ByLշK��!_b^0o3�K�z�E�S���?�~ �]rbC�y�>_r��<�K��<��!>��(����~�.m��]2���O�\��ņ�/�Q�K#:�K����/%-�7���L���
�s�����	���<�.��r)x��K�D�g�cN���t�"=AS,N�,p�����
�D <�d�e����]�����f-�"�t�X�J�`�݃H�Q2Qk��,�yY`8�j�I�.)&����Y�xI<	�K^o1��H.M����zIL4�7�4a���	_(2G�[�3��8�I�0^j��I�&�
%�
��k�	���N�2�+(#&%0�a�(�
9�1̷�7�
^�I�@�y��K�tXܐ��NF�	ۈ�M����K�T�_�V�3�=�N���Ό��f�~�.�=���\�n1��Lhrʮ���/S���R��2�yAR֙��{�^$��g~��PXBV�>A���
 ��Y/����OI���B�I��T�5���%,�\�H!!��U��ov�}�n"��a�7�h�m *�X(2l��waA���/�{f1o�$L�<X���Z"Y��Y�IZ��@��e�N>�؊�Š������s�wSz���=�*L��*Cxf��V����D���<�Ƒ��M�#��N�̈e�h�����Ri���5�v�S�,z�HQ&��^�RAS�T�cQ�i{�OГO0��X&L�d {����'�k�`0`�����pJ�BW�ϣ��?�SkK���.�*��X�--��ƶr��0��W�E��a�7\���!��FܱQ���4��q#ELO�?��mP��w�I��+�*�J�B4��u�L;�f��$��nE`��	�S~8���@(j˟�X��!V1)Q]]��/`#����yɝ�vI���I���~>�{[%��
&���AxM��
N0Mh�_0)�R�W�Y�eE_?a����KWD�IŰ U4b1�11�ʚ�0��Lf��i�AP�EZ	Q��QV��6�*�{!�%�$�܏M���T�F,آ�P���"S�������{U��΋;u;�<��1<��\g�[0�](�-bLF?A�_�� F~"�@f��W���"0�Q��fh~�d�9٩D�W\K��UC�y/I�q�
�.�zT�:]�1�u?�J潋��dٚ ��
m$ŋ���\Ց�U�$)H�i鱃Yn�Ω,R�o�~����K";���x9��(�>�+`��A������	����w�hFV4��A�L���"xW&P�/������yۂy�����5
�t^b�!�Nvr�Rb��mg�h�
r�q`�ZK�e�gL��c;x���U4�הI�r]� �9��1V�Ai&{�4�������3���������}��6W
�3s�Whew�9
J��c�;���b��<�^�v��q���Z_���Ctպ�v.�v��@�e�*P� �Y$��Y��@�:^l�"����`.Q���+��!*��(P��W�+~��$_��"�PxQ�TY,����qv�v0��T�Z�	���I
,��O��B|6>o%���[�v>o%au��[�uuY+y���y��xt�y+��*��]�y�b<��@����:�p��O���g�����筴q��>o%w��^�^̤���-���2-�^o�(\��z!ҳ�#cۯ^o%���d����9ܛ��J�;,��[cwP��J;pX}�J�Q���[���N� ����@p����v��V�K�>�8�ax�^��K��[!Kso@�Z��ض
CV����Ӌ�u���9��K��Dl��F����J��B��G�m�`��G�����7��H��@\/^v<��FN������r��!ۥ,d������_0��œ��	�t����環f=FcoŸVD��Z’������a��Ij�/�-�g$�o8UD�`�3օT�A*7;n<e��:�oh�$����yK��y����Oė�� X���".�]���LC�E�HmxH�~�>T4�#������zY�P^�B�)�q'U� ��wa<vIK{�؞�~z q�ldBٽ��9��0�! � O	{Ü%+�چX�P�F�	KF`Ť�{��kG���5c��@i~��ou�Ѭs�q��$�Z1SX�ǖf�I�6��=28���рS��0��*h�I�4�p� *^'v0a�f!b��!I�ǃE`v��9�T��	��$voD�����!@���L2f�\�!׌�F0�]���I��%�ЫP�t#0�<���sń������o�H��^�g���%�j�wY"�+g��8��q[1Y��e����:�ɹcW1���}
2�"�>e�N��"�A�����U3+�$6��#/��LE�.+�u�����׳�F�t��F@��xh'͖��F�"V�=,��!.	�פ��h���lj��H�	t�s�3��E#x�t��h��!{���Oh����E#L���i���xhD椉h��Hg�q�@��VI<4ZM���F��V���ɸ�Ac��9h<�X��&o��F4M���F��X�C#�K�E\4�c�1��Tdf�1R��F`����hKb3���x���Ć��FӪ�4S��#��E#FV��E��O��Pm��E��`E\4�S��<S�x#��A��J��<��F��kr�S%$"���{}�#dnӫX�;=���'UM1:�d����S��Z��!���J0f�i��μ�1j!yo���Te�7$óP5�1�7~9S�FU5�D�á.B��<�<�dae&x�����29�L������Ӳ`�&��6�kK�	&"���	�;b���� ���G�9y�ǽ$6]�aX�\�~�L����r�yC�J��T{"YD.W�(��dg�y�/��fXBP5�QLl����A��dP)Q�
���R%�D:�{p\����E?�]����YpN�e���*/��4��5./(��k����xJ��<�+q�/��+e�e�i��$3!��4y����_Ƌ� ��e�h"tt�h"���I�j�KY3�9�s�s!5�9L�%���Qd.��γ����h��`��tL}���Q� fK
�b�>J�G(
W-5L�q���	�2�)��������KQk����Jx�����GatҭZ6���G�)zV�eΥz.��`��ә�}-�.08.�o�$���� ��N*y4�7�|hM���g���㉨5z�߈s � ͘�V�0���鞲�5�	<3i�2��D|N'®'�d��KA�h
k��enR2�F���v��Qz�,/�2�y�l�3w�07&�WLI�1���'�++�8���U����Cڑ���6�����"'U������5�D�#�[I�8Ì
22ە���j˴I�	��\�Ϡ
���Y�6{�Y�XOp	0�Ť�p��;HL�o�~I���:U���mNzB<��I����YՑ�C�5P݁�7̑�T�:���ڟGq�݄����V�p�A�6�\z��P�b�":A��5��X�A9�̒�se}!	jB9R�A�Z�u�*n-��\{-+��p��`���7�֔�>.�_��_c�,dg��[��d튡�#�͌��p,�����j���mR��\b��$��jO��x�4MC,�TY"��=�5�ð�ZG,���
�щeE��kaJMB.�`�����\H�%��k��>�--HM�1�v�y<0I*��$�iƈ��΋G�@}��:���ԣ/Y�Ͱ�OM�r~�甴 M�Ib�c�${�s#��Y[6]�q[0`4�\괂OM�|�1MT�سN0R�j�\��#��u_N���X� {S���𓀅�_�畘7�2�b5�U�*ը��-yn��S$,c1G��T�x���Z ��$�\D����'��"���Ylg�VuC"~��ՀP7�PŻ��3��3�<�<�QDn��$���a����a`�8�s=VD���ę%��Q�Hs��ۚNb/f��
ҫ��PX�0�R��T7W�b�#Z�HO��zy�҆�b/�1a�6d��O�z�]
�%���=��F�~(l:�"�N�vs��7Mc�5O�р?q�*c���A���.�5I�]=��"D�/u�h�siUޘ{������_�FFg�[�c�B;N�_K�> .`i��VT�n8'�pR�)L��.3�L����2�������n'4���JP�f�y��T۩/$�AQ��fS���j���L�R,�uŬK��ZQDC#;�,Bn!�U�J���[��b��-¸��f�,��o�)k��J@=�i΃��Lks��R棕IR�����e%���-�>�1aT�$OE�W�=v�533�o&i�[<�7щD`]R�NbNcia����
\�����!P�?o�>�
\[�Kz�\�\n�"����6
��$m�m�EӪ��%q�4�jB,�S���z/-\'�ߴ�+L�{е�+L~�9�!�hvR��I}.T���j!����,@?DZ��9h�2?�\+�{OljdB^K=J{�X�'��D~"�k*-Ya��:�p&j�a~B��.´��+��崭+a%�����E��%�M\�Mܼ�*��fI��ΪnXl�sz��A�LZ�樊>RU���sEp6[�i�s�
��2�bH���1a���J��e�{.��NF��ׯ�s�@@�HD�4CI�I��Ř�i���Nۭ�Z�.�������dV��Q�y�Ix��fF*�<��.�3�Z�.�r�����--\��M��l�HŭC�ED�qm�"D����P�����1<��h�DM<.$�I`!g���EF�t'�\��\DY����A/1YpQ��{����Q����F��w�O;��)�_ �I��=�� 0I)�s�M���ܻE�H��=z�`�besgEpee}a�&D�%k�?��[fv����6��2貃p�����F�M{UK�*���.V�g�|��n�Y[���.J��f�v�?G�$�
Q�Nٛef/����y�B;�w��p�z=�I��j��<M)������}9���#ވ�6�q��a��q�#�#N<��-�F�k�
����d!:��_��U0Q�Sр1<�]�ͪ'����cX��q��.!w<���DV�.\�
�0ωwY���f��f�
������'�‹�9qHT,���j����6T�6��Mr�Y��O�o��$��a=d��O��\1Ez���֪]���N��j�r�v$��I�,i�-�X�����K@�VL7�;D� �<����M����Kb�-*��@6�j�k�%ܚ����i�V(�!fn��F
8k~�2`��46�9�.}D"PS��bv@eث�䩑-⪺�<��n%;Pj���ߒ��jv��$��ѻ��!/d�U�0W��2�%u�1�&��Բ�B-�͵��n-���$O�vC���KX��Y�Z�f̤)�7��C�)�C_	
a��H1��X��J�]�����C �ƺ�B[�T���U!�Q{�{��p�&9�8������l�����d�h�]9;���C����B��7�%Ju1�aj����걡Ԣ���9PC�4�5P��k*pԢw=��"����Zt�_�H
_Yv�Ԣ���.�Ƙ���!.�hr��Ԙ��Gj�6��H
U�y7A��U��\]�^�<����H
E�6�\���H
�]���u�}��j��k�Q�Mk�a�b�����}
��8"�o�
�~�%TU���q�EXC��&M�k��k�Ɠ�k�f��J�Y3F�5�W��$X,d� �s�W�'�nEz��ݟ�!�®oK�aM�,�J�1��Z�ɸ��M@Y��>R�D�|xF*�E�`WQne
ոX��!L�&P	��im�d��m�R^�Xm����I�%X���m��mVʵ��·��������
�_��T��z܆�F���0eu
�cC�5�Ӕ>X���e�E�x��Z�;���	s��A�R�C5`J�f��5T�A��ϡ�Dj,��iƴ�Ѵ�@b5��P��o��6lY\\C5�m=m#Vf{چ��6N���)�K� �"��`8]=�Z�d&���|E�ni������D[0��#
+���^�渿)�R�����\+�7��IK�jC����V?���'���+�8.guW�-��q���T�n2��p��in���=Nu����e.�r!���+"�u=;��Q��r�o
����~nobp��
�
�'B4ͣs�}1KH�=ND����'r������Й Ҏ'�
��8u�a�h�$�z�.�z5�Z��i�ɼMO��R��A��jVA<9H�4vq�/!�s�/�ΊH���
U���͉0I�7��iN�r���mi��[���(s�U�4��-
���ED���4�v�y3�Y��l2�m"y>iۭv9\�P�S��e&5T��J~\�ˉI=a�r
��=�#���!?
r�Gi����;6w9��=bEr��)��)��J�&��9'?�5��
�yk+q��&p��R��f��2|�#J}'IH�j�߂)���9�}2�s�M�ќ{	���Kl�}Mm����s��8�b��il\��J`�A��&����c�Dž���6p���4H���ǥA����4�����pr[���CZ@t������q)
�u��4Ș�� ����Q����O����2Ȉ�7ɐh-g���lĩ�t��q��1�5yąA���?��e������ohm0�Լ\ӣ���k��`���M���j�
�0Rs��`Ȥ_Q���GK���c�ʊY�z���8�E���4X��m����S�
P�*肙[��}2+��6]��	G��m��y�K,����a$�嫗�`dYiԞ��	_�K'm0�\� i*�7؂�<&�t"�=�P�o�~A���'�	�%=�Rxn�з��䪎>��p6wZ8���38�*4���0�9s�]��yPU��S�7��G�q�nZ� ��|��&��H��-4��I�p�pj�Q��(:���H��3��w���N�R�4��iD����޴,I��IW}˜n�]�����k�Rr-س���� J����IMH��N��8���e���暂T՛��۳BҸ���ّ��&�
0r��鎞C	��|J�U����g����ް����X/�	$���ZN���:����U�6�a�:8:�J�W�NWlq�
�����h1�Ss�	����ҕ�R��ɩ���q9��H�I�q���fd�Ao�4;u`OS��eU���s��\�j.��3V��f���u-�*��0�2�>���8�6W�06�;g�[d�`#gY�{_2Nֱ�9�������ۇ�g��P5��a���͞��aI��e3κB
l�mj�4�]�G"��r�BS�&���F�D褝t���_T
ɼ`��$k������d�9r�9�U�&ř��>+����I�f�JP�(�V�dIT�I�*U���)����$�m8��6�3ܩ�4�AI��13g���&�b����
��g;�3Y���f���SU�—����P��G���<�"�M��=̂6I ����Mbܽ��i�,X����ã�7�Eu��g5#��;��zns�w���.w��0�1P�\/YP#a�Ƿh�����D,nd G
��r!������T:nM�x�������p�����2�c
_��b
�	���kGx�BT!=-�j��-�I�m�Vի�fXUH��)��Z�$��UN�e�����_n�����!��:�Ɏ7?�nB|���em�%A͙<�}��m g��x���4Nc�W.Vm6��F�5�Z8�^Xe�z*��ۊiνP�c�톢3�t|�A����3}�Sq�����d��]�ͷ�,�5�ڀ�@�3AE�C���)3�5#�X.�pg�8��DO{X�2�V�M���A/�#��|,zi[�I�L"_�e2H���7���u����R��\!��k*��ǫ��.H��*��^7��������|~��p�g#2-r��-|�*f‰���Փ�� �9���e�0����ow�Z�*���E��)�s�H`�/���ǽ9�Yh��*��*T僪��g�q�s�tn�q��%q����M��j�XDO֋TQ�S��%��u��@Y4�H�;EU�������%�Pma���\��MiZ�i�-��-d�o���¼(�C�;֢0Mz�S�3��C3�\����Ea@-�Q�&�Yc�t�S�1�e1.�>�����&2���,*і�
�0KWB�1̯�h��\��*�@�|�	�a�v��,m�54�Tl�!�\��z���=>|����O̚����&kN���9��;��4�y��r�k@�:���V�i��� �+
GV��m��|М�s��`�qH�9�����A��d̛#ݤ�)(��ݤ��ȄI2j�L�s�O�p#�������(����YX-�+8�Z�-�h��x*Ӑ�(��^���^d�ꃿ�!�\C4%�+f����+�r ��a�ħ:�
xC���>�9�uN�푊d���[��`\+�g��*}�-��	����{���7�w+���T�ݨ�˂D��U:g7Q�>a�Y�ܢ�N���ƊƧo��Ӹ�I�z_M�`�v9�Y���y�!��|�W�p�}��J�`�M�-��65$B�4�p�-l����V�um^�C�[!�A%77Nh���s�Y�,R�����A>������?�?]�_��������ß���G���*N4��f��}���_���y����_�����)�r���?��"��ʌ��%��FbA�n���{�'��)F!yA>���_ɋ)�iTP_����H~yO���~��iGb��Cs�ח�T�)���
�s|��1G�_���t��Ph�q��E�(C�fO�A�i�~t��a:-�3$L�܏����c�b?m�#J�̨O�c}�'���|}�
(e&
���`��	������}�C��'"��b?Ƿ@�:#Eݝ5�>�fO���ӆϘ�A�A�������r���nc"g��'�c�5u$Ц
�G74�`�!%�UJb��28h������1��!�8֪�φgb�1�T�7^���x��ƚ퉿��ޣ��zGb������9�b+Ԇ�~���Xc�7�S7�i�g�`��sE
���?j���]�����".:^�_(��1�3��O{"�9c��Hoͨ��=�op��::c��s��e����kf��~3<C��O��Pv��1�)�-� ��b�u�y�� \�~���u56ֱW��E��7����;&����u��;�����=L�<�V�������$|�Q�'OmN�Ǽ	W�&w+�7��2�G����v�J~�#ݐ�1���J�'W���
�ȱ�D��셷"c,c6<C+�l��E�c9r��_<��+���؆��>��M��]��Ƣ�2$�@���
N�hl��߿h�ұ��&/�yE3�|#�|���c������k�76�w+\e��I��bo�r̃����b�i��?�7˱�e,��h�'"�?�R�21����#���"
m��y�����D�Q�w5I5�s2nH����:��U���_�1�q+`�a�JNg��{��78g�c�s�����f���zڑ6ҿC�s���t�,
GB�[����7��tv?�!p7��X�G��!s�_��<3}��=�獄!$Fe䞉C�����c��Գ��@�Z��۵6�~,3k(�X 2��n��O��SA�J��`�e�"��LtF��nLȰ^c��Xo�A���۳��i�P���sEgd";n.ߠ5��CF�+���Xlx�oױ�˜l����3@=ī�ʘ L+s��N���C�ƶñn��f�5�&�8�A��]��'��Nz

��c��q=��ww���:{ԁpm�����6oo֏t���tN�e�)OՆK"-�X7�?�M������F���c}$�1�0�1m1rrDž�+ͤc���H��-�X�~��<֠9�h|���=[�914�t����;bb�:�n����
	3�7v����� �.���Qc����]ω{�v/ܥ��+t�~%Y0��5�cex�/8�_t�G�%��h��Ą/g�g��xO��m%ͮ
�B�Գ5��q��JBi�=Щ�(q� lY?f�
��3�MG�Fl��#7T"��z�f�_%����E>���%��
 [y5&4�1�{Q�+}�Wc�7cc�h<4֤b���ٯw�CY/�vyT���35D�`�1��z���^,_�����n-�G�j�/����ە��K�V6�%��[ko���rƆ�y�ceOC�O���2"�+њ�&�؃?Y��j{Ʋe�Li)ì��/���6���Ǯv��p|E_�/��!�g+�}���K"����y,�{ڪ�%]DzncD��ݡ��{W��^eO�gǝ#�{tS��������Bx��7Ƈ1�w��~� �p�	x��Ř�X4f�O7���. ������n}Ǫc����L�
rg�jߏ���Za���;��y��M�o�����Hj��*�'Cßፅ�WA��3�c������]�0��[ȡV��=�c�rϊ����3����~�1��8��@�Km����w:�:v���/�m&�R����;�V��݄�}ű{/�2�g��n�R���}����X���h�[m��K?�R2֨ix�7��aG��n=���b�3~C��€�^	p��0��UV���J�k��3�7��6���c]oƎ��B�}q���U����P�8��sK�Z�>�|�:��,|�Q%���lҀW;^����;f��W��{�Z�iis����c�>>q��Xc���m��㖰��=rO39�l;�'��y��\�j��Oߌ9��]�=~�U'l,�{�ãc��3Q��
�=���*�c2C���a�*���Ƿ��N���=�QmCL��Q�yN?�y��گ�w��6[�ï)m~�ड़,7�O�D�~Cf�$�g{����
����>t�s4\��6�3�l_��@)��Ր�0<���ɞ���_4P�b߷�G1�S�/������ﺹSP��5v�ñ���>#c��w�ip�un4a�/�1�➕[#��ز��z�w�P6:uF������W��4sAw�\�d4sŞ}ۧ�.��
q���m�n�`([�3/~���W��~���&�M��0�0�7^�d���A���_�2^�x�/�����S�o��[����XGIڻ�r�����KY�g���Mb`��!���_u�#
v��N�
!3P�Ǵ�`�����k�A0]�W?�A��!�Qc�cZnp��̱፱�qH8?����ҳg�Y���~ce
Zzl
~X=���{ P,�L{���b�6D�X�1��ю�����3�1�?�1���/DZ�-���:��+���ٱ���w�Xpc���ˆ<��?�1� ��14��-��f����ۧ��=f<���y�CPn2u�r�_�(�������
��Z�y�c�Ѯ<����αNk;�!GZD�_r(�(c�k
y���^�F��W{��I�a�����ul�S�CKS��9�����}�"���N/T�q/c^����\qM������ָ��k7�oyz���c*��=]c᧡\F�b,��S��f�[�;z
{/v,����.���咚s�y0,�؞l�՘�p����X�.#�3$mlQ�)��Ŀ���5G�L�t,�;��O��]��w֫U����&]e���N2������Nٿ��5��1�m��/�Կp<>�"���0~�9�~�W
RǨ�oH�����[����x��ƢC���8�^� �W\_C�
Is��\�?��a�����w�~�j̯0�}�,<.W�M�ϱ�n�K�g�aY��|�j*ƚ��c	�{R�N>�z�KN�T�3�c��N{N��!��Lk�vUgϱ]�its�e|�j��gxٌ�i��_�Sܓ��.�X��[�M�����
�������f��~4/��[�Ozl�{�����?+w��Ur5�fc��C�/-0��B����s�c]B��xS^���N*�uo)Y2�2�қ$�J�eH�X�qSm��k���)Ҙ�W]L����Ы9��koߡ>Lî_42%��x���ӂ~,W�)n��O�E&�K�6G�hC���k�Y���a�ƒ�c3�w}�@9jLv�R�7�b{w�t�zCD�r�ߡB�A׻��+?����
�؈ǩ��c�{�UW��i,mw,0W�����wt����w��r;�\Y�%�tk�A�qj�J?֘39���)���a'���!��!�w��+Of#�M��X�h,�=	�)����
Q�ժ��Ԙ�XL�鞈1
�;�
��K��~�X#=rچKg<��{�?m߱�c����~f�-�#nx� ���؆v��W��2ic�x�P�	'nӣ��t��gg�1֘|��
c�?c�p
F�5�i�2��z�U��Ao�B�%L��2]��n��NgV�{�j
��>}:x��s�	�L���Hr�6���1�;ޯ����ި�Jt�<M�r�>�0��<jW?�~8�����G�n����	Ʋo�Oo�<�g���ے�������yt�_���o�lxc����)�X�1�t�'��I,��2V�h����L
��;��S;^/�ſ����F�˘m���1��]['w).?���߼�a�����7�1o�to�1�{��5�0,�X�}|6ܥK��7qy�?WK6�m��|�z�!�c:oP?F��&y�G��K�����UL�_�d��a��Vӕ�ڱ&�{��Ojǒ�����C�c�ޠa̸*}��.
B�D�L>ޥ�t쨗�&7�*�}�{v#�t���L�w�/n�t���wu5��L)�Jh�����F��8li���aceڱ��g���t˹
�ϗ�W^��ely�2�F�g�3�!T��ߚ��n]��˦����M���;�/cI����M��w��dέ$2��y�r|��Y�nx{م��N��ؚ��;���#�7���0�?�v��
n�]w�����M�u�'ݦp�B�N��kq,<��Ǜb�+y�M���%�8N��vƴǚ�����J�c;�
���%z0]�Q��}q���g��D�q�`,%|�˚ڥ��qa}�"���a��/�a�}���{�z�N�>gl�w?���ER���#O��+-�c��Lb�8�ܷ�����0��K}��ñO���usloK6ޔԻң|���\�:mԟ_�3=]c����X�1
�ch9<Ii���7��KC8�S>}��>C>n*����1�X�s:~y�Guޭ�3q{J����_<�*��j<u���i7�t���I�1������l�2���2�ae
��o���ۑǿ��B�_y�7R�M�����VPz���瀦^j#���v�f�nic&����?䳶x�"����v�7BÔ�pc74����c|�����9|�W�$B���?�<^?��Z�e�X(����g��Q)�C�e?��������X�覰�%��S*�Q��,�B^t%�M'��7�}x$=��i
���>�Q�l~�B~m\�m��^�����ٗ��M�hy���e�6N�������/�G7�2V�3<����JM��T���+�Ȃ�E�.�H>Ih7i�|)�l~��_rL�K19�>n�{;�{��P_/K�Nġ�����S����r�aKi�2��f����o"�<�}�	�a��_}И��1�7"��9���:&��`�^H�c�9�5���0(����_�i0�78�_DC����~&
Kfb�W��!�����b:$�#��Aknj74�X��Y�e|�����`�n.c����fx,Y��ě-�����fendstream
endobj
31 0 obj
14422
endobj
47 0 obj
<</Length 48 0 R/Filter /FlateDecode>>
stream
x��I��9�&��S�	�9'�U/�zQptf`V����o�|�pR����1�#p*�I�H��?������Ƿ���x�?�k*���o�e�-�o���m��>�.y���(q����?������&_9����R�O�ޕ����?o�Af���3��Rm�Y~7���1�k�J��1t��>s=��c��%LJ�S�С��t�W���gm��b|��J�S}��=+�؞������R����?�TS{��O*��?J���Y�峧\����'%��4]���(�㹴����X�R�I��3��:�
������e������8v�zK��klw?��s������ �Zƶ��ߤm(q4�-=C��d�?6�{��ղ���B)�^���Y�9c��g
{}�X(���f%���*;h�ϒ�`QSz��gɁ�y��u�ۨ��ܺ��0�~����V��O�{�[-�|�4�����J��E
��Vaö��,Q,���Yv�V�%/Xh�������|�En9<S��d�"W�-�X�,r��p`���`����\X��?��޼�,�ı+�p�6v~�2�m�sk�D�g��0������*D7X�n�2(M�#
��3��<��)����I�XY#K��1м��Rt�f�����)/w40+a���l���B��wѴ`p>G:JN<�e<��+�8�i���`���!��}T�P�@ZP����`��!#�Ք��R�?J�cg?Z.O7�%Q��m���U�A�Y`������0��MP�[�В<�5?�`�EPZ�`�'�6����:�a��-?ޮ����^�R0p�c�����*K��^������}a�'x`�
�U�ȍ��
8��]E��_v��Q�����)�K6�F���Ŀ��ד�w���v�'���sZ�E�x�3�C�iٍ��v�9�V�a�6%�9���������=⻖��P-�]�u�w�0gG8�,J�?h��H���p;��o��
�sD��K��B�6����X>��%k��͛�����<��8��}��#J�q�n�̂�0�Y�A1��/�#K�y^�����ǜ�ǽ7ฏ�yz����}��0c*��.��wő%�<�͜7���;�1��8��}��#��ZYҊ��#�o���3�lM��h'\�9��^ˉC�JZ&K�=xY1a���O���[�C�A�\�}�B"u1Duz�aE���2��=�	��k�[��m>>i3�߱���g��$��0α-��l;��a�6T�d�>�m����X(�CI�X"(�8��I�]'E��c��&��
f�u�Dvq�1��NX��]�ݝ	�瀂���%�1��|_Lx|q�7XJ�"kz�^Q��[A���ټ���ݛ�x�(8�O+Os��H��{Lc�p �-h�^5\)ȅ�>����qb�vt�u��|Wex�ө��j}��.����(�֬��g���8�X2�b�]��q��K��3�����:��,�����2���(����6��hj(
�q�#��x��������]M�lv��i��Mѽ���b8v`4z�X�̢(.�]T8ԅ�.ܴ3?;�Pè�5�`��RY&�T
�=���iʕo�sf�=+�}�K�lƱ��r{\h����C�;_ր�Z����.Vc,ŋe�,��,�c;K����7�N�S+?���
!:g_���������R��Vˡ$�C��b8���*�u]�e�p-��#�%��b1^��$f�H��EW��j���}��D|���!��N���eY���.؅���m�Ī��|�`���0����'n���ڐ~�ayl\a50�:�ڿ�hF[��1�cs�!'BO�C[���[�u���j��A���~8�C��T�T�˜7����W���*\���{���
�ߖ�,�>^�ǭ��9}c��	iS�,��>�a�?����SDylcۉ�|֧٠���������'� �tҚ#���顏�}_9�1Q�G�C�}|��!GUoYs��
���C���/����w��;�����ǿm9˿���צ��o�S
>��(�}(�>�cFo]�,�g̩��霎�(Ģ�[)�QK�Z!5�c��\��C���kD8��q[%�0�˪Ū��9�6�8�
��hݩ(\���*��\7.T�_O�;WvHV���.�X�.~ö/Tx�c�dq^�']����s�6j��J��c��0A�Ҳ��w�Q0�R��
�'��
��[A�:ge�^��^�����,&~���_�<��e�S+��A�?�uN��\T��!��^Ta���Iz��=�Bܸ�9P&��c/��=h9��B�쯥�r�r,d��-d��B�tpI/9���ʥ�;��&�S���8t�����⇉�wY#%���kT�M~/���/�,μ%�����F�h�k�#�'�ۚ8Ӏ����t��b>�B�ޢ��?i{�a�Cp��XƀS ��k�^iʙkT!�Q��5�=U'5JA~�Y%�c�6��O�;]|�һ_�[�.��]m���~~�.�l��m�����mF�DB���w�(s�&��~�귴�������	����$m�I����\m8*B gm�ِM�%����\J��{m��H�w����5~Q��s���B[����P��9ˢ�R�ȥ���5W>^+߮�����s�%P�X�r�<�t[����\�䯕���{_ΕO��Ww���J�\�ۉ��>�3�O�8���x�2�=�tx�ѧ��˲x��N�$�*ln����KPx������)�!0��s����B�Dk�f89�y\b�AK�
�NXW�I�Ɔ�z�^5=,�]mQFE���p�eD9P%��o�.�~�`����|7�W�,�M+���8�EO%FI�,I�[2o�D�6Y�Σ[)��%2�r�g���D
�ؒ�Y"�L�$Aa�L���k����N���V9%u����
Ġ�_�sK�Y"ְM�����?M����R��Ђ��������:�̖�|CP��nηT�ؖ����-�DZ
GqQ�В������lUl����&%UG۬%`�	�qD�j)�HJ��Pb*zL�۬)(�
"�CX�n�*-�Ԑõ�@Q��¯������^l�phx	u>�R]�ARy?��i�M��t���!_�,<�U٥�L��Ft�a)]��3�&�B��9�QT�s��S�O&1��	��?Ƿ/��"b���2��{�zv�a-̱+�N�vU�]��˶�TR��[��\%���)v4����I�}��`QC��ߩi�hK�S�q�wܧ[��WLX.��qV��<„��	R�t�����CT&�%�ȩ�"\a7
7G8c���KU�^jH���"���FUmz�"����[���&c��W̙/��8�w�[�cΊ΀��pw�Z�:��s�I�� ��mN�~�i��9'c��z�@��oJ�*s���
��%��ka��G�4w9�5pf\?t�����_?�M/{=9�z��3�1�8���A��Ը��)�`��Ze�Uc�Z�
{hN�1x���JB
4;UIi��̛��֠IM=�L��i�":�T�|y���2e!�'��,F��]J�f�����-���vcӣ,�t�Ed�<�"�n�$s1�z{��\�ytu$��àۆ�d��(��0�&�
*���#=|ov�.v���Z]�т>��UW��ϟ�jk���5<f�8�m���m�h�6���g�P<��(�v�^߯���u�;����P8�>K�Y��pl�G�X��oS3��1f�e���V�?����j�	�>��0�����^K%���8(y���ƃ8�@Wo����d+J���j8���Pt��&1۴
[�ب�x�VW�ٙm�5�a�
%	=p2��e�O�\*QL�kh�1Y�d�B'
O	��V<��(�:Q�;���@1���`뜱/��)à� ��QR
�͢���'�k�D�A��Z��RF����Y"nU=p <L]���T�GzE���u���3%��KA�i�x�j+�z�i<F$��R��KT�8�<��F���z��F�aĎ��2G�6�Q+��+�5���k��Yd�Hbx��A�e�6�e�CѶ�W�y9���C��z��ƒz�ٛ�x�(8&���f�KƗ�(�T�5G��k�c�D�$�|c\GX���b!��XgAQ��#0�l(CK`�8�h��n"�Z�L��[)���	��k(��p]x��KY�7n1	�Eg%Aq	����8l���^5�Y��,�����ƃ�+|u��"�&�$*Jަ��-x�FvZ"1��J�b��a#0t�VuT�~Ql���Y�v6k���#�l�h܈����b�F��yN�p�K���{/Р���Qb��p��r����p˶(�����Wl�p-�©�����["�k�B��K��3=�?n��8�Sm*Ƣ(l�	y�^�}����I�()�	ىX�����%�U��fg0-�
��.<��W/���5p+6K@%�$��E�`C-v^�k�<'ϒT��z~O�-J�Ac�ޚ�%���Ȁ����V��%����}A�(BPZ�$ҊQ�k�
�aas���q�Y4�
0�6Y���,��`S3�J0T
(4*��
n�a���}$�l!3�!L���(�e=�c�٨!�d�R�I�XW(d@��5s]Wo�P�#�z���'o�0��Z�f8��7�D��0���6�k��͞�7򌝘QC�; 
f��fO̜�&f�p�����D�O�V/Ɗ�H��h(,���		��O��M�^���4�Z��������jsӣ��� �׀@�DNa6�Z���~W�^�
�;q�Y	(��^��y�������)�j�"nK��Lp�6}dr��&�Z�DVR�0��Fb"�u�a�X1�Tz�1�eAu'#���%td)�VDZ7�?n$��I���7 ��'Z,��#�� �,�b�����^K7
U����L�x��Q��^�e���g%�aT����Zb���Zl��P�K�o�hj{/@m�%�LqIOS
΀#g��Vl�
5:a%��%(y'���P[#�v���E.��1`e
W�G��CĶ���h�P�G�Í��N=�K0p��J��M�	aϟȴ�h]ZҬD6W5�5���ND��^����9�5g����@8��I�@8w�ͳז
�h%
�e7<ί���K"nYݵ����;�B�Ȭ�8
G�=qk6R�yk6o�FF�(o<N�p���v�H=�2uũ5��s�l����k�8&+!�68�x���}$��[�d�E�d�;*p%n�vL���6kK�!<�q��v�b���
q���T	q4�+\����j�,ټU���y�pƼպ��T�$��
8��F�%s-U;p�Y�<qı؈�%�J��P
������@@-Od��ͦZ׎�+w���٫zC��ٮ��V-b���|�P��jk$�u_8H8�ba��yo;kv�mҲM��Jɰ���v,N������q]�1�:`II��
�&~6uS�m�a�vl�N��HA�����$0��J�H�ț.W��CJ0o4�1k9.�T�A V��d�j���x8��@�m��^��R��fC{hs�LyocG�t�����@�?RfB�ڞ�J�	�F�
X
E:�5���TV��}����P�Gj�X	䁳٬@��tV�a�F*7����6}��xLܶ^��6�[����i+���
��`�r����C�=�1mѦ-�2v4N7b5?���:^\�Cg%�P���@�%�m��6����6��		4��`���$�5N!b�v��vJ�U�j�_ף��qo����Hļ��::(����G\�XF�։a5�y�%�x��-pl4cz���}#��0� �]�>��8N�ހ�6 0,�����x"0ζ�Ѷ���s�(:�U�댌=�㎆-��P[#�F�:J����`K'��`�f�(��Z���l#:��Bc����βFuC1��ۂ����l:@#�WL
wȘ�%݆F�@��������*�6��m�z ����g���Y�G���6l��q�f�X�E��0�:l�`:`����@��6�t�b��/.f_8��'ǩ�ћ��h�q�`��Xp�$k�B����p�i�G��Lmplu�q~�o~�i�V�P��L������Ď!��H�(VCAU�bf��qcqD\��}@`�<1�)�D���)8��P4Z��P��܀S5��؜;G���Wo�cC����WɎ"�38)�lV�L�
ł~��bƆ����a"��,Gg�(�Q�!T�P�ɘ�X웲�E蜮��%���X%O�'�
�{o�(�Q,�SS�������Z��P���D��<ݸ���q�a��)�k��b��+Q�����
��؜�Zxی�0Hƹ��1mP�\�q�[�-ǽ7ฏ��(q�����q��a<q�C�<��6��'
�{����c5".��F0z�Cb�͋@W}�D�[.D�i�1��on��V���Wo��-�KR��n����n��P���j�n̔y��U���Fl��Bc���m��
(�F�ܟEC�{e.��*�J�)�^���q��0R�L�'\��w<����[\�G�qˆ�zS����
�i*B$�	�ɾ3M&��:qd��x`�lp\���k�go�����čU/��'���zv'0�6e��H���E�@���1�vQ�Ea~�c��z����k��e���I�2�y�4��"k�{Q'�8�]��@�8���R�9�-�I�2��JRM��4�B���w�+0��_��-�w	�$݆
������;m�d�=_�q=Q��g�%��M�1�d���/�X���5:��r�Œ~ms�QxK����,a��q���m����o��]�EZ��l$m�:��V��O��x����>���?sN�_p�q,6+꽟m�;�dt�ǑT�������L^8�kc�q���eɦ1�
�UH�q�������Up`≑w;<��!KÊ>�͒��P�E��ő9������]Kj;1���<8�06��*�ȝ%%?f���}��˜LWoo�����\���|��
bm��h`.2��L8�ljG;TV��>VɆ�$~�q*vSr��i�h�-�LA0Dž��S�x�Q�_{󫷏U��.z	�Ѱ���� -��h$\�>���
��g׎6<�9�Wgo��.��J+QT�~�e:-��gU{g
/@� ��t�q��{�x�G��M�Z)�܁c�+l��=2j��%�4�QGіn<�X{oo���i�]�[>�+�K�!�؇���z��s��~�ƫ���{�w-���t���ߊeV׊��E��0��3��#�"������]K��q�H�FB�=�YD����)��<��'��Woo����k�L�S���^�U����Z���}2���K��ٛ��cD�
�]%��Í�n���6ѳmSYR��&�Mv}է�T�@��%��ۙ�:�c?K�S-�4uX73%g�ca��S|����R{/]�Ե��Nq{�/��Ϛ��2‹��|+�/���6�L�t��G�4~^�..pW���Ʀ�ti�z�{t�=�DvM�*\5�7bz�U|�-<LS������\=�}�[M��kM2�$�Y�D���f����0���������_�}����Q���������z"W���m�/`쳻�]���m$���T�^����٠Iӊ����*�Q�n��2��[���eKЎV�Й���\4�;���R�]��S���:�]鳅�)�/v%��	��>�e.�����Lե�l��z��V��f��B�8�S�uK
=:�T��X��x(��F��}V�5*��}�ٸ�+M m c�8��P���#��>VVn9*�T������S���,�x!Lu�%���ṁ�`U�q���H:P8�n��H�Ì%��mQ#J|D6Slņ�tjĞ.lˬ����𒒶��C����Ʊ����:�n�����>�zkP��E�zn0�W�Zy���?y���m�&�6s�qP���e�#B����NO/���'�!߭3L��r��hw�p����8����}������굦�f茰��B�e����<��F�y"�]��z�n���;�zj���7=6Cϭ�b��ɳL�`ю904m��K���!~�ސ�q�w��	��>��+�sa
8�g�p#%|\ʵ�F`+j��Gj�wn�����ֿ�{p�{Ud�=����ts��l�T�,I��g�˭y\ʷ�;�ǥbX�}����)	f18dD��Q�]��'�h�'G�B�䔸�����>]�|�����7�"�V�v}y^qġ�<�5�����o��m �����L +Iə�C,���f"h�eu��-�����P�#X��=�ƙi�
r��XH��FTU^JҴ��
����Ϊ�ހ�>"sm��1Ն���"#iM����'ﶂ��/��w,v�w��i#Rm�Ȭ-�G�3υW;!���(ͶKEzT,��Kl^�}�]ý_�7ʕ��q��P�i�����R��>�
2hn���]��;�x�D
.PDn����`h������>��a�}l���h#�����]������I5�޿&�����+N�jd����pL�:3�!J�Ѹ���f��x슰�f��#�2K���L�!�Ht�#,�5�ZaQ�bVhF�f��h%�io�Oţ.<vK��
k������Bʏ��g��%�yR�I� �N3&��eU��1r��\���O<�y�ޢ�T�6�JL����j�3�Y���S�H��T���t�l�4���>ϯ:M�����{��fJ���'����sy��s{�ɠ�6�a�G��bx�����K��n����P�b��È�y����g
%׾=c(8�x��������oW��h�f}ã�~W��BX�h#��59���c�0wo�	,s$�s�6�@Ñ,DJUmy0�]�W��/�%��	�����97fw��>⇖d�axQ��b3By����^xhf*�+�8�WP�G��6�����
���2�­ҿbuc�~E�Լz�@�OZ
���[w�E���Yw�)�8ݣ���7��,61��,��l�`�A<��WL�Ē<d��95�_�D3��\���ykyX���č�S�	2^���kRs2�M'y �=4pn���O-�%I���񹚦Rl/�I����Oy�J�i�j�*��L�w>�m��>�>Ɖ��2�N�&�c����ۅ̕�c��$�E:?�O�p{;��~��ȹk~�4o�3�]L��
RR�ޝ���뙋�v�_/��%��C�~���0^���\,Y��=��8����x]�"��L�.`.����2����ۻ���]�Z'��hۣ�zd�7Yk߰��s�{J�jd����f�^��"ZƝr��ZęY,��ens�*X6?8���.�r��`���d�3������R,�{�\��y*�EdL�O�%ur�
H))V��3v����D^穄y��n̝��%��U<s��yf��lUql*���y�q⥄�.<){��%w����幄�D��x9m^��80��ܘ�2�ȠX&&%)���lU��;f䈊v
\{ӄaVR�s+�m��,R�.�a����3��8K���8X*͞�"�K��B���ZUE���H�|G^�UX�gIʚ�G��n�5�[�ӵr-O��X��[L��-�5g�<`[��E0��M&著*�7���l�zeד��'#_*#�y#Wn�`�o쫆>8�g��5��V��oYϚ�|��/T"�ֻ���p�,Y�*ᩫ�MW�%�tU���l�%�T8��xgnU�F�z�[i7�O	W�m�3`N6�*��k������7��ߡ���ڭF�Ո7�v#^+��4B�F�5%>,#�l�I��h��N�F���W��쐞A���T��*(�&#^g��A��T|^5���)�^C��Z�)<@T��I!+1���פ)��eg�f\���$�F��\ �+�8�MA�(sa��ș���>'�ظlZ��df���vy���hz4�K*�����I�›+9�ʣݶ������)%ix����'�%JAHp^�ϐ��h:sS��� C�����
�M؃���#��̵�|[gUӣI�z��=�*6"��[�E�K�K�[c)w�ċ������r%������rx��6j*�����P[Rn�a�,n4��O���ڥ�i�M�/9<+���RAl,��n�_dp�dp�dp{������E���|M7o�k2ػ.\�~�ѯ�`&^��o�wD!A��t�yM)a��Q�����I"��F+9�;YJ:)�2qҸ�'��I�|��W���M�v�"��S4�dv���&�=�������S%��QOp��x1M��k
u{�;�r~����q	��G�Q./�^xD�xD{���&���������/��_�ޔ�r�K�O&O&a�~�?�_�����uO6a꺿�����$aR�E�O>�^�D��D��D����Q��)���S�{�����/|�l�Tu{�Tu�u�^�+�?K3)(+����1͜fi��m�O/x��o����L��0�"-�2�$k�f|F����1>���#fS�P���}IS1
�x��G.��aۈ��ga2o��ȯ�.��JA*i&L�|���d�G~E��hB��Q�D-�~�a��w�'%r�b^��m���6�ԕp�
��1Օt�+�RWҭ�,��_6G�9�is�����49���2M�x���3��/u������TW����K]�+N��q;SW̭�ԕr�
���A�����X���_�v�28��b��X���ή���k�܋נ�h,��X��5��mK1��Aca>U�4���,�͈�k�wв��-%I��Ɋ��v�IcM��\§�����U,G��
��{HnK~��V��9�ԇy��d�g�X�;�/$�r'�C}Ő(8--�	���:��B��L4����z؊ޒ }�v_��9�,��.�,��X��t�sM��b��Kg�*�u\���U,��b�L_����7�/��tV,��b�Lgſ�;.k���
�+���x3V�)�u83vVBΙ#v&M{�dlQՄsR枣&iל	�s�Ε0l�h �ف2
ɡH�7ka����y2��j%:�s&9Ȼ�C}$B�`�ჵhd%![��+C�>q\��2��@K��E���F殴`���t�C����՘l��
5��1m�|�~�k�םX�C��EdFK5�.�p043�^o�C�j�\�D�'ܵ�3Ň�E3�-�{5��	��f�q��>';�ۃ�/O����N�����vZ�Whtü���砑%3N���녜��zɦ�h
�j����f��Y{bM�l'��mш\�>\��b�㳉\o�/ю�wyU)���)=��S�j���n'�|���,\Q,�v
�
�M4���:u�w��M�:o!Ao��$�rt�������-7F��A#��N�Ʋ��C8	z*��h�z�9y����E�$�6�"��B��Q7�6�7�N/���}���hZS�_$]^H��$�E����I����I�C�p�z�B��$�z����4U����ʖE���g��̟���g�L��o�l�Q���l�,b��Q
�2	'�"�9S4t�o�	)jT�W�V�b�������_��	��G����&Gb̖S�Rz7�`1�����KF��Q�&���T��/�i��L1�����g^>�w��>�s�����V���^i���B?��yl�����I[�P
���\e�	� )4(<����ߦ��	#<�M�6{�B�L�9Sz��[�QԬ����(N{H��28�MVM�*��%��t��<U?��J�9�MO�U.���1C�1u5�3#��F#���i����<�M��=��<(t>�mf�����l�>3���̫������y\���낍��R -��<�b���G�f��h%��Y�8�=K�����[���;��R�Ϥ��3�O�IW~����'\�j���@��*SU���́�~L�D�`��T֓A
�˼�I��n�v�9:;T�
C�M��&������0'T��6���mt��y�T�ΖI������K�}�Yyw���˼�]�y�!��f
���klq�C<Z,���7���ߤ��O����{3��ބ�{.�����N�.�֛�&���)�-�!����a����E�q�_�a��!�r�8�F���ޔ�{c�Й�&�!�.�A���e����1�U�"y�������hI�$�{�Do�0�I� �,@�����8�I�K��c�v?>.�􊞢����~��K���㒅3qA�Q>9.Y�i觙����Ot��?�x���PQY���� ,� ,��|u��B�o�AA����)�%�)�XYR��[dF]
��ya�Ln�w�M�d���E��9El���,��Y8�+�k$�+�kF���I}�O?�g̜�I�u�s���
� {&�$�g=��\h�o��ɤۖi8�d����a ��
ļhV�-��K��桹}V�ނ����?�W��uO��ɚĉ�AZ�C@a�K���}��*�Bx#?��\M���
Q��I��+%Qs#u!8�65�J�H!����6]�J�����cY���фX�b/O�]G�K�3wm�$\gr�4�O����`������B��ï3
|�zP!.�8�
����P)4u��]ks�����Q�o�������+���~�*��7��gI�Z�R�#�&
�|��C��|Mo8���]�Ӎ�I�%\��ib�o��'^�������(Fsv��p�FH���)2a�@�5���rzh�s��*ٷ��u�3b�r(��ɫ�.3�)3�%3�%3���l��l��,/"�]"3_"�%�ޟ^�5��=m�$�w���Q�}�L��Ku�`�J��)��wW��3!�pa����ȇ�ʼ�r|�{"|��.+ˋ'��率d�ok�|����$���X���l���Q[����v���عx��N�&%��K����^�oe���#RuK������@����d���n����u*J�F�!�$>:�/������S�sw��e�줛���NK���,��Η�wȎ��"�p�l�C��n��\�PJ��Ĺg9)�ZÁ�ϐl����%ФP�c���"�<�bS�oC��6	��$gԩ�@ �Q���tv�j\fW~i�0;)I��b��|�M��.<;\Rʓ�<ܓ'�ƅf"��
O���B/!k��NƠ�*�`���̂���0�	oi���'�G�h`��%xK6M2�B�_���ǀO���s�f1h8�b��������͛�?{`��@&d�Ŀ+@erRW:�	��#��屰�������d`�|E�I��4K#⎩nv�5Q��#�iU�Z0�<�I��y��Sy#�n�f��#���ə�Ѥ�`�3]�1�(r�ʈ����:���~�=	�t���O��3}��|�Μ{fz��ͱ�w��$��ӣX�㼝���ϳe�c��b�T�4���^c:W1uڥ(�f��8@ŀ�2H��|
5fз�πc���&�#+�N��J�#��#�Q�H�רJ��gا�)�-��,��9X��e�(�A!K��3��R�����$��{sW��pW�gܕ��VdÓƊ��? %�㎩�;=BL	�J�}�;��E�o�L;�L���a��\��z�փ�/ԋg�W7V&�A�m���}=�^�	�f�:۬V�H��j�FR���岡�\�ԗH4�Z�	x�բ�+8��բ_v���e�up�y�Y�ȉ�+��Q.�J�P	��z�I��l4��	�����G�p|*_�v�c��"�zl#�x�6^�m/o��\^S���L���;�oM�C��!��!��jh۳�q9K�
��ZLA��2�]��f�dD,��J4ͫ&rZg�Dr\�]4�xU��P"R;t[���bv�T�uB����EŮ2}}zNM���xQ��a��鰱-cN�M���9L�_��?��an�S�������/���E�!p��HFUm�3�+Z9ޫ���Qw^K+�wv�4��:�F��ã	+���W��Z������,�8岇H�F�[O�*����A}mb�g��S?�{�My\!�hK�0���d�Ӕ�����7��ֽN#��R%�Y�;��,7��Y�s�E*����H�|�xV��x�
��I> �g�qji�g���P_)@+f��O����n�Xk�����O�"ƛsR<6���է���]�vƇ5ZW�3�ԙf�ʻO���̑�|oT��6M�/�ɅdyZZ��t�;4�6�덉Ӄ�˕عv�mzk�����y��Lx�ϯ��U��:p��*���W�n?L~Q�冩��P^�0~���&L��2�ĩ?�S06�X�K��ROV/�����H��Q�g�$u�u!�1Fxٷ�?T�W��
�x��~<y�D���H���x�>�-�
<��zc�Ĉ8�Mt�$����iA"��\;�a�2��=zrm�:��J��r��O�m��T�>��٢�)#Z����
KW��h��I��V
cU씫	,Q�͟�`�<�E�ኪ<1��L��8�s<��b������'b
��iH���	����o_3fR,�3� �Z(�vj�*mdo���o��fLS�7$�Xrh/�԰�}�$9n*�'l���d��TH��ԛ�]ő(�gr[WW	\�t~Ž��H�/��t\��a: �nA2���ԳB�'�ݠ]]��{�lQ���p;a��<b�p�'��"^5R��r��W�\O��P*����}7�' 3�*�gh��{ty�#��(�]��מ?Զ �oѼ�����B7E�H�
���8g�\�D�_QrX|�����XAdM��X����O<D�_�k()�=Un*^'�)&��Ky����Zw�&ۈv���|�Cǩ�<*S���h3� ���mp�����%kU�+�N��N�\X2�Ef\U�
L�"�)_p�B���ǃ \�IT!���p�hqI�����ӻy�~���E+i-����w���cZ���`�����)ۦ
�n���a[?=�jRBPKE2p	$��oz��8��{D���G3�Ӷ ����/ʌ*�T�q�F����D��i*{�b�>�z�|7ۇ�;��j�W��`�dK\�s#���v���:�@6���MI���C�"�V�f:;�Vq�ZNH.>Cj�a/���j�<���Q�w�4��ؙ�,��Uҕ@a^.�g�~��lP����}�[��F���1�5nЖ/��l7�J1����*��OcM�lC��I�5��̏�i1y��������
�N
L�[�Q���@BHv�)�. [L��L�&�J�rϤ�$�S�`��6��J���*�g
j��F��W�w��~��	�_V�0v���M���=�!$&���*�υ����C�B�ΕK����x�����͗��Rg>��,�7D۷jp���Jt)�ݢ�C'_+��)�&�p��Yp�N�c�]��a5Y�9^�q�j�Ǖ�tfh��L������'囅|\���f��ѻ�e��~��ܻ�[I��t�W�3�Ŝ��L�g$��0���,Gp@���R�aTs֪�#XT�ùT���u���
'({83##r�cK"�=��l��T{5�ك�� ML��y�n׸ܞ�x	�	�=ٚ�Aa>�+��d��b�w��L�hsZ瞱�+�1s`q�� d�$Z�j���f�7�V@�ނR��2
�Q��Vb	uO�AT0��X�̛q騞,�Z��)#f
�9�3ٮ��G��<y{O�H�g�	{F�}N?3n��g>n�h;�t�Z/����3���v�IL�!6�b����I�a?2e���p҉Eڵ�`z�'\���s�@O��('�Z��4�9�������I��.J̳�v��%j�)�	��-<g������3��9c6+soP!���C�C}���9�<1�r��ˆ՞t�;�}�h�$��o���u����]�����|4v�ӯ5�&�w�/l�Zt��_h�9�v=���b����1_�\9���ӽ&g���E����\��'6�A0�F��͇D�C��3@o��+5��f젫`Z�|��wvN��O��ϝw磹��͍�$��ռ�H�?�`[��7o�B1Y�ad��<C�'~=��d��ҜMi�?�q|�-�*��}|�OoYѢ�+�h��Ȧ���M;����p�x�l������(g�7������;�~��{�O�����7I�8�F7frtԛZ�)�z��TX�'=z�Kx�+lB*����c���f��d�����c�
.~�w�1��a��qgO�֥^a�A���m����H�����E}j�!3�;;L�Fz��J�V�_��9�� ��J�n���q�_�_l��*�W}��E}H?(���]v��!R�A�R�$L?*���M,�������V�0J��!�9P�}
~(OEj�l_�ɹ.�p�ƺ&��X�I�����I�_>iz��K&�ʡkĠ���I����_�J�z�@�(� \p��3w�Y��,\s�9g垳p�Y��,�̙�~՜e�hs�l���pIyz-�X�D���Fl]���l���8e��fk�}g�~�6C��WM�ƱY
���" �h��oj3�^�gѦD?�mTo-��H��N�����Gkj?�?m�)3-֏o\s��o>���e�--�jW��E#ъ��vc�T��n��F�&����A��t=:��88𨆣��|�����Zt�A�^]�C�z���${��	\�
g0�h]`S�P�'�lX|��3�Z{�����.|V�Y���&�5����D�G�*~GOck��b%�/u�T�C�\�.ъ�8�"A�,x�kHS�ni(����a&V�R#��İz�p�����oA��pg���E���;$"�:���ƃr�T���w�
Դn<����N���Ēw�Hp��8l}n������=څ_L'>�Gn���2z�����D�aY�߁��Ǯ�ݽ�g��%��8
�n���4�J�Q"'��F`�q��ǮXݽ8��9��]�Xm���>+yG���6{��8�x���ہc��Z�6PC 8s�t�J� [p�8�٥b�8f9􆻳C�~/�;�d����^.�:K�Q�=J�X��RY]
��\�����z_%z����?a�u.�GK�̽�6L)0�T<��K�޽}��#8�M�
�:�9����JE��m44��.��}��wg��E��y�^:�m�q~�W���w�0��BjCs��l⫆�[��h��O���N!���=A��-��)�"���0��0Q��B:kȂ2+K�դ��Ot�N����lo�'p���;9y���k�,�r]ĺ�c4��]
���@`�^=}�݃Q�@�]�"�|��u��Y�.(C�0�㓚\�����m�j<ݓ��*ʝ!�p�.�eVorAJ|��죠�'t�3�յ>�ؽ�wgo���(�%1%H;uh)DŽtϸ>:K|�#|�!�IJ"�H����O"��4����B���A���T�G�!J|��	 `��;��Dž�~�sw��v�ɑ2X�j�	���qiMu<K|��&���h&�٧�)?N<�$6���gq����a�h���<��LIF*se� �׳>��ĥ���W�ں�؃a��>����jމ��5��kV���d�\@>)�w2K��eɫ��7��>�0�U��x�k���׈�BE��y�Ga_���"з�Y�[�M��FJۈ��AK}�H�������Q�W�%���K��̻h�ķ����:N�h8ni�����6�z�X%��w�A�
�X	HL�X����柵�����
�̅��a�Xg���{�"�;ը3V�y��
C)�N{�.
qV�A��+�zC�.�[��}������:+�W��L:�D4�`=���Q`G�7,N}t��v�Gg��j��U�J��W�[7C@�quQY�ه��qaq�6ggo���^U��Dw‘�!?�yC1��f�%l8��?n<�3���h8�w�n/
�D)�Yr�X�ߔ�]O�tkj�?�b�%ԭ'|+�,����z��j���dz�T!/P��B�S#:�>�,y?KDJ�p�'<�	aǰ�-[���"���F�LN��Mz����>JrypH����\�}�����R���P3ω����Nu|/�J����`�WoT��ѿz����-S�#T�Pk��2w%��](��"����>b��uqO�����0ѻB
�m��W-y?Kv���S��8���3Z$s�d�D�6��+?pn�K�Ӊ����%�=����c��u�F�d��LU�=��+��w�	5!,|�UK�N�'���84ի���{DZ>AWE�++���jAW�f�^��O=�>���
GM����%��x�lyB�k:�7��K�$G�X�����6kX�����YlJ&o瀠iqn��Q9W�a����5�%�gIh�F�;8�ḷ":�����=�,�=���r������.�C-y?K�N�����s�Fo����'�Ԩ�Wm��Y��ԝ�ɼQ�~��v������sΈވ�6��,I���fPw߉%�gIy��a��Ϥ:���fN�V�����4�:�<w
i�\�؏I�'��LJk̓�8G���c��X��S������O�f�}{�h|��7��ۈ���:^����H�0LG�7�)�(��X7��uf
����/�c����WU�П�q��<Yf�׸!����OtG�䩛=�t�hl+dg��U��g�Q%+�'\��.��΢�{	�POC9�t�G�1;���}i��<}o#~��G<����JQ��i�e*p���p���A�JY(%�{j�n�˸�Vb3?�.����^(�^��^�/{!�{��[��;���?}����KV��w#�F2�� [@3l�����?�5�*��կ�Ic-o]-�?�
��d!�K�z��E��DZ�T�k���h3�-Qe�6�i
��	7�(2SUT�%͠��@���Rx���=���ks��jl�z7����X�Ң'�-�,�y���ݺX8o	h g��A��N-�� ����c�ҾFEcԎ5���R�\G -�Z�8���A�4p��H0�M��5��^�������5�v�U��Q]�B��
D�hSC�7Z���7�/lAu��b��z8m�mE�}Tt�������AD��"�)t:u��^�����B��
$�%���F8=�E"1�,�������o��[���|ѫcr1
�ǀ�Y�gzY���z�']+�q��Q��7g���Ch0Q�Mt��;��m �T�
H����,@J�,z}�r�#���`�N��#�ȥbM%��Z��O�j���2����/H��ˀ�y�SX0�q�/�P.���f*�����[
��O{�Z�y�#�Z�E!:c�K��+���l�}DI�X��y��dD�K�҆�wQ��Y�}��W8u��Qr`�ހ�%�hxh+�#�� ���YR���u��깛��n��ﵛ빝�Y���u|@�h���c(�f����j
*�!�-28����ɬVLz
#'Y�S� _&YO��&�T��!bcw�j,&$L�^�聞w�-�ݍGeJ:ɚLlmV� 5�r;����ɦ�=��r�n�!"^:�9����
��Ө��ˤ4ܱ%�F�`�e!pA��R�U��:Y�P:��9-�$]��dY�jw�?̘�z���m��ژ�����o���:Bo��2�)�+�dM�P^��Xcc���/S��f��3�^����M��1��I�s���5���0�9����IR8�i��ߑX�e�:i��h�GI�-�lL�.s�\f>B�i&�O�gj��:�Sl�S؉r3S��Iˊ)��N�Y4�f��>����I��k'M38��m�����|�N��g��,{I�\J�r#�h@����ըS�_׀�P�&��
�S�-1���s�65B��:1��lSn���'��5��V�<�����-̋���k@!c���+�qΰ7������VXpz��k�%#e_��
r�" �F���TL�;L;!m=D�i��잧�"�T���yl�{�ƪNb��r{���.L���J%�Ű��+��ݯ%���Y�F�V`�F�,�;Mj���#ɨt�j3�2/������,�53����3!�*�
�k�C)�,7�9��J�`H}�n�Q�Jo�#3�[G�L/��J�"+�������C�G�56��mWyo�D�߿���]�wf�5��yE��w�a˂�޶VR<���~�����`�bU�.� �M�	���.L�@�}$��%�o�{Y—���m������W��m]���W5�PY!K��^Oi���JX��K�}l�@��r.N�
ʣG������70;�hLݏ���p�>���<�O�=X-v9/��~���](��'���)<�F��,�d^�S�H,q4{5h�Gz4�G�2E��@_VX�So|A���t�j�XJ~UaxC�ĵ�����P�驈��;F�0���R�%)YM����3��b���M�pP3y�����2]qQ���;{,j���R��O�r�P�wp<S8�ۨ]�(��H�>��z�=
�������ڶ�>6���=�I��U��|�s�Z���i�����7�qҼY��x� ��u�����<9��=��:;�r�N��Q��=���	��~97�o�Jh2Y����N�t�,r�G~l��]�mYUU����^\��8���[T+_�T7�x��f�Ѣ��d�Ŋ�+
+�'+*6IjAx���s"N߄8|�1��b�ڞ�G�b|l�I�n�1eB������`��e7V�4e!�$2-�m]�E\�>����~1�9��<��Wwe.����o�!�{CK���7��]�|�aI.5H�K��aG��o4O�@�:+/�+�O�
*lڇE�^���d�z��K�&�����ay��=�)��pC��ѨǎPG��c���g����5h��s
�>����r���3O<O[�{ܜ�S��o�����ǺZ�c}���W��� ����g�x~U��Ep����tl�aŅ)����:�d���w�i,��Ai��!�R!8x,<�O���6����$TM6�m-�D/}��M+��RR�^�Z��onk��m�
�'��[��򬑟e˜kPq:k��K����{�m�3;�L�C�Y-r�
�Y#^p��o��R����ǘbkW笁�)7�S]�-�V#>��-�y~��ٸ�T*\�nsY�>7�֨n�	Sa^-*N�V
}�u�˾ZڂJ�!7R�j�9�-�3��rb�舟5*�&���ݝ���hL�(�K�F�zS����n���5�kۉ?�i�k"���V)�5ʢ&�볝
�dZ����v:Zx/�e}���E?��#%���W��p24kl{B�
�wkѡ[��͎��t4�۶�Lw��VG�v��&��Ead��[�sr�-��h�y�`5rX�L�)[����*�o��	��Oyl�r0��O�\ ���԰O�gN�
�x[TըV�����Y�h���
i'7�GW����s,G��3�
y��L���r�����0�f91�&b�� u���E�?;HӾ�aߤ�ǃ̈́���=x�7�Z���n�%9�t'N��:�����"p�N8��;#�/�o
�m-�	����]�`?��%7w
o4�źŴ��,;���e�Ԩ���s��EvSu�ٟ-r�Sf-�<�@�<�����ES�ڂN�Y��ͥ����Ѣ�3g�8)p��Z�I��Q�ʉ�4H�Z���������S�R�p�3�81���E~ƽB��#�P���:�Qs���|a��f����(`����Wc!"N�t9�ۼ�@*/�@nz�Z0�|2
���u@�&?ѷ��(xFJ9M�evH�%jD�w\������u&ś쫝�ԙ�"�k�	�\�%0���~ũ��R+{�@��`�ĭ��F�7N8S�Y-2&��ͼ�u�n������zv�[�l�����m��㋫FzcH.��A!��
��>���7�]޻,�<���>#�&�I��E!�X
*���CU����jTO���p�med欑�V\�!�A#��
f�n�J�l!ԾW�����@�bG���fp��F�~O�5z8q�鞨��1j�h�m��ɆQA,��v��j���F�5�͓k�)�YÛ�ip�ɟ�Ŷ�մ�7�x]ObӢn��i��4`g����Y�rЖ�i��t��PNvR�"���Զ8��F�w���n78^�PL��#���?O��;��np�7��(��e��F6A9[:��Fa�	狡k\�V�2.z�"p���Q�9D��f�v}(�Qlpٷ%
�}1Z��IXc@��=�&�B<�{�z;X�
��P=wS��)��f�1�>��P��-1a(Lv�P8���:a�	��털æV��i=������K�6���5ҜO��
��p��~�Ԛ����m�wh�FY
��|4��B�	����X���^�gΊ���/�~y���r��!/��?N��3�>Bi���o��>1Tw��CF<-9k���ĵ^-���0�0�P��v�ը�
7괫E��<68��G�[���#[��j�(
�F&o6�P�_-*}�V����9��ާ�x�[\-"��0�`ī/��
�9a�g�j�"k�'w��u��1���+�Y���Ք��.l��Y
f�p~���̹a����۶�sC�Þ��y�(�z~R�s��U��n�;�w�y�?*^��y�f��JQK�+��AްT���6��g߻~��])-�Pg�B��`s���HEsl����G�
�1�=ωM�2�-���p�Q��e"t�I�:W�V
���B.Ԙ[n��@^	�+ĵ�
T�G��Nj�����z1�MX����|�>��e-t��C�:����+�Ws..�����?󙪄��E�o�g���$�[��4ʿ�T5=�C�ƣ/ǡ*B4������8�z��09fr�c�(�(>���kB��Y��e�$��E�J�e�)�٢�F�����W�L�h523�L���;f֠j0a�X-2�̬E�I�[���r��c��ՠ���
���,G���dPքˌ^�u���F?Ǩ����l�}�́1aܩ�[��r{���f0�5`n�!��{���Uy�WK3d
0�֢B��}�w8=��a�SG��"1Tl�(W�v�Я1D�ƍ�ݜ�p�)��2�-|�}:��%e�+Tp�	��@UD�3�CR�r�Ȍ��u�*)۱��ۂ��a'a���y��O�W�*�b9[���xt9��}[*��b�zw,�����h�ڗ���XX4+ԍ�@�ML�M �����a���y�b�J
D�qV:��p�`")���%�֭�]&-������Ĕ}p<(����B�Ľ�ϒI��e�/�,�
�1M�0tz�(�_V�7:'�v��+?[t�t
Ύ<t�ȌH�5�كE�l-�E��l0�Z���j�s���բ�5K���q��z���w��|kANc,�`���ZԪџ�����_�1���L8����ը�4ө���rd��y��p�8�g���FI��4�3�{��(�-:&l�9V�[�F��DxXt{u���ϑ���iF[������c��o_ʭ�m>�w@78��B�u���Jh�� ���*��P|�fB�U�.=��c�E��b5$�x�>s4�>D��Aw6��6��Ӹ�MeⓊ�1q��NW]}q���UW/W]5v��B����S�3�\m�$e@Lm�[��9�Dk���V&����UO�t��

��	3��j��E�jdd�� Oa�Zn5�U���52��`F���<h��9M���]NxC��)�Qc��ƒ䭺�V��di�m_�o�<����n���6[Ը��\;�1k�L�v��s�Jn�ՌcY�}�z[m�Ud��d3�v�j!�g��'ێ�\�9���}�@�o;�l ,�
j9�#�
G�e�Ha�;R��9F(�gxd���~t�D�h&Nƻ�=��c��I�2^�fG}ܡ�+���q*��C���� &���u�W W�=h�%�3u�(�ވ�L���ݟ-����s��h�`>+0�܄ӎ$�uG"�`{•��j�H"V�S�.<rZ-���c�0Wp<����<�A�}����Y�v���v�lQݹt�&�|m
�We52y��&sV�J��j�`:��HT�}F��v��������j�}��^���BwG�n�Y�3 ��Q�nNk�)u��f�s�Y�+m#�w|���֥�����T����l��?��Wh<84�t�٠��eR�$.'k�LèO*�ل\�_p����!��{�_�h�"��λK̀��!�&X��d�m���m �Vu������3�ͭş375��՞�yph�7R�[=��̎�K���K��z/&%�;�x�^�$��f�����U7Ÿ��xtg��s����Vں�:3���֍�<���l<�Ϋ8�k�
�Y{oJ3��ݶT��ۜ�H�8�'�6�{�v�����~��)V�����'ve�AK2��B�����
o*j
��Fe������Sت�to�ٓG��?{Ի�?<g��v����r/�{�'�s��j����{��W�~���5Z��ͻ����{��˜/,����C�I�]Y�ћ�i����`��׃�6�˃�֑=h�a��5��j��)��(�"�%�K{�Mt�ȘT��d�=h͞��9���S�ǩ=��Ϸ�}�i��N5��z�Z�q��<����hm�m/Zs��Ek���M;�W�+3R�֒��|�X���@�‹�:lH���^��ζ�9����<���:ߏ����O]��� <h�%��t��a]{�h|�u�^��pۃ��%���ƕ�/={>�j%�O��փ�Z��ŵO�[\H|��5:����:`����J�L�'��%o�W&��z�z��}m}*���������Ak��=h��7���,6t���L/�ѭ�^�ۃ�Z�i!f�1��������Ak��=h��~>N-����U������/jݯ��G	&��1��so��g������X�'��$X,���p�g�gl���^5|z=i�%�m|��xr���'����Ik��=i-%���[�xx�9NL����e��C3׵�5\����#
��޳�޶��9��z�-~�5�[r	p��uL�u���9L�gu~D}�X|������l8�K�[�,�|;FԳ�x���sP�����QV�/�)�dž�g�Y���9k���YK��o�Y�>v�l*#$�D5�6�%�����F�Ak�[��Ak)(Ե<d���*�9�!��2�f��%�B�\��^���/Z{���^�>nU���S_q�� ��Ek��֜��'S;^�F۲�h�#��Ik꨿Lg��o%�8�?{_�cɎc���84��^@4��@�< wߗ<�eQ���Y����L#���B8�2#��"�k��h�'Y�����)�fS�`_�9�E3�f�bz}�bA@z�ѿ�8M
s4\NS>%�S@��f5ZҀ�"��v�CHX�½mp2>�Up��i�����M����
��{&�8����7��Z$B�b�vbfՃ1ꟗ��^@?%�$Ȑaj�{r�%'��￧�_r����թ��N=K>^%�Ne-Q��,��/��Mk������m5���xͅ��f
t܊�����&W�� Eq��AE�PvI��I+����㔈 X��[�N�F?w�5D���8��	k��+� y��[(�x���n!+z��0;tNI9o�*��PAY�@Ë&�P��S##�Њ�[0=©7b���b���[_�f�s�J��X��?�TPo�C�\���n5�vhE��-:L^C{�;$H�~���ƀ�ҡ5$?4��*�����������ЂH^^C`���d��-2!O�y}�Jc�|�L&X�ӥ�Ϣ�)6���94�\B�
s��h�o;tSHhAWv��� �*��Z4]q�j��PM�ZVc���F��P��[,D�z�KD�+J|�4ա�!?-4gȩ ��}Ez>ƶ]�Ԁ�?�3vAZ ���d��2p߇��R˵D$ns^#%-q��.����Z�f5�����*��>�c���C�ǡP���5��yhM�[�י"��α���(+�{���y�DŽ	Us[	�2෦(��,(<JM��̆X4�ȋ�x@Y	�b?��Y*X�K��%~2�
U�L}
�DC�T2"��K<�����:�����0W
�ͫ�������΍�@+Q6���[d�6ټF6o:����ɇ��)�������r[bwf�(��`f�R��VaVe�j!��5n�C5��x�EZ_�S��u�x�܊���i1)�X�u�P������rd��;/�5�_-�'�x]!�E�$�S��UG�S���סa�-��5��w���<Y�$�CF-+��w�^֌�zZ�;Q�{���%�A��g0�ޡ�Z���T�ЩDz���*^_�7Jo1�C�`T�7yo![=�k�ӱ�=��<�
3�	5ݧ�S	=B
8�9�tc�E�dʬƾ[�-�q3�Q9�o6o��Wx����ՠ��A/�+��3����Q���5���8N0z>v��_;~�Hm����;�#�s#�g�8)>S8��]�k����[$.��8��Ᵽ����e	V�%v��ʀ�-]h�ܕ7h���浵�����r�V�];�)��;���z��8Z���x�%�ף�~�د��~y���$Su�����w|�D�1�ÆY� �NjVA�ii2�=�mu�~QlSH��U'tY��K�V��
8�^�SNL��=ᕐu0�F#�� ������l
��Z6�ʃ�Z���ZT�����n���٭��]5V�Uqjpv�+�MO���<3�3JVz�;6�#�YRF�f�n��TD��tՐt��~�磅�X�SC�4"-��=���C
�
EZ|����1����F�P5���+�<�ִ��E���5����;�-�@`��ɸ���Aw�
Br��w���m'-iY�W�V�G�?�t�
�7zj�ЛW���Lj���zU��JE֘�i�gh��{��5�1��߃��}�1c��w�"3驱��$��[d ���q�T�pނ�&^���EEp^hQ�5ۙQj��Ԍx���)���9V�5�ޢ_��W�@�=V3Qw��E�5�gl�m�5V�J��I��[l�zYc7�F���3��jah��ڑ����
�F�׈�|��{�RorPu�o
�!�W|CU{VlQ��
�mb��h��-��_�5zނ�V��=���W}_�[F��c��)��W�5<�E��b��c�yϿ�^w�����,cr�J���
^.����UU=��W�u�5
jӒ	�NVK#-dG���vB�Ӭ;Dy��'�������NT�i������`�pZ9#n� 3�[s-7��u\Q��t]�4(�����C��ҿ�V҃K3)!��6ɥM�=Lri۹��J�>��=���[3�^�R&�q2n��L{Z��$֘�It�ej2o����<-B��-D�����\[���}���§�ri{F�����nO�_Fo��R���fd�-�+�(���э7��(�L����a�I{��v�pVc�g�����=j��tO<���O�A��H�x��]xjP"6rSg�
�)Xc��i8~��RIb5&'�;� ���D�0�	�]�j
ė4]5�{$s�2��~�9a�F蓰j�na�vʌ܋�lqɩ]
Z����(��b�^��TN�(��ªSN�G\�����VN-~�4~�[����3W#sn�qj��95���Z"�%�֭�j�Wʪ�HO�a���a�!�Z��|�f\�d�3TI_Quԧ�d��J2�MI�
\I�b��}^��SS�1�3���[���j�k�+�i���GJx�r��:ێ�����R����N�Rx�Um�hb=QZt\ʍ�TV6I�7�D&q5C�R���Gۚ
]�,�"܍P�SOU���ҫwX-�Z-!9	�G+`��"3-޼
�3M|�[�o��z�R�K�/�T}(�փ�����%;��N��:���2zuc�̦8�)�%J��%c�!�K�!@GҋF+���y7�
fj]5^��ь^-DPV�5dŪ\e�Ā���b��遖��~��S�6ƛ��&?uט�C��r8����vjЋ�id_�-�=c5��vh��E����FE��C.MoQ��>5N)�[��$?�c�$ (���:�x�S+>�X_N�-�8׼U%F3KEh0�=;��}Z���X��}W'D�z��L��Gf�PC�p���JN�<(g[����74��P�<�Ѝ�7��w�f�4��B�F�3���5̙�@�1~�����,wZ���j0�ȡ�c�iƁ8R��D�􊫞�T�\��V��z�N�R���R�F�|�i!*�0��K�H�s� z��(5�4_�;
r�y�Z��9M��iQ絟U�{ِ	0��U�A���	-����M�w�k�7�X��8��}
-F�'4_�c=V�pSa+7�.��"W}�RP��v����l!K[�2�$��0.Xj�[
��b��E"�T	o#.��pI�|��R�I3ߑ��j�\�z(%�+��[1UonJ�E"7��pS��L!����o�M�D7Օ�b�8���M)�~T	�O0��~T�C�,)�ӌ��hxd�O�j�>�EZ�gl�0�Ԑ���QE�]�Z�"�GZ居*��׀�h9?4�WB��s�j,(���Zdʁ^��,4�ޮ��'�F�
���e��g���[|@��Ϩ�|��X<�H�g�Ӣ����6�>����9���M�8���So�W�Ġ��h�f���b���Nͫ��K�*LϤw��$C5�g�u���WN
~α�1'��1'�"�k�4�ХBMsZjլFM�@Su�0Uq0��Z�	��5C�*V��Zd�S��%�7�
�Qp��^����+L@���V���w���'���[�LƎ5v�Gj��L��
-�������T�F�F��k�_k���%���8*֐��4��8Ce��:�C�-����!�;B�Cg��Cy�qGS��ױ*oa�D�1�D��C*L�*:y�r�W�Q�s�Z1�{h���*�A�󺈙�4!���RC�2`
_��b�.񊘴t�_��{w'�������z��Z��R��~���P�C���P�CU���*�T��2_��M�
��~��V����|�+��9@�.��ܓ�+�����{U_���oZl,u����jH��B�\��B��z�!�HdDl�ڨt��������-���5%0��qZ��N&��Ż��Q�B�Bg�;���b�#�֨)v[��q�� ^-6bҭ�N�lO�
ļ��#��wE_=���e��U4�Va�~!=M�-f�#��T|�8Oߟ`�k^��JF�Y�W�yW����'�̯�6��7�Ȍ�t�?-�æ@�F�9o�Ր�Qӵ62R
�՘?Vh�Z$�;yyo!LT��l�
N��.*>S��8�t
-&�\V�4�9M��`er�����5�&��b�Dn5s)\�
a�be�f��xZdZĭFn��.�[<��ᢌ6.��׾s.�H㢼A�T+��sQF��k��V�*Eڙ(oa�X^�1R}ܛ��P��<���	g<��b\���c��Z���4ݱN�]��/<P�`R���V���EW�6菥�#
�Pg��z�2�b<l��V$~l����Ec[��D��QA^�M<��&H��Y�%ʘ����r��Be�fqf�)�g��,FwA�&lY��+6g��GGp��X��w4/�߅;Ml�K-��v?Q�&J4�@=�T��ԇ˸U����M���ȸ���or��Y���P��,�+�*	����D�ž��i��rQ)	߈I���|���7=o:3���_)
!�o��#�
���{��M��[�'8l	���Z����,&��i��7��
="9G��ޫ�#(
R��-����da�ɐ�Yg:��m�x/G��.�L�F�Ų����#Lv��:C*�	����r$��X�ؔ.O���o�Q��vw�^��ΜA�׀�DŽX=>�	)�Jb��X:4��[VJ�.Cm8lB���I�q2�+������0W�N��q�a.��?	I�TH2�|��L�lA+'��dJ����6�A$��g+)Se�eߡ!(B=��sc���PCCPf�-$oW�-dlzh!�xwI�kXH
h�/�Z��[&����آ�����^�*0��l]o�M)j5�`k����-J��nx�J��A��X4��Fe����=_
*=���~�FJ�e�����H�=[�=��f-�����d��0�O&=�s�f#d5����n�f�&��&xZl3X�{�5-pl r���&�;<reϫE�qh�8�5#夰u4�`ΑngQ�j|E#��=N&�[�~$ǽ/2���Q�A��K�QVa68�9���`M�*�v��G�i��=���2��6U��P))�HIqC8-$�!�ȍ��&�{��h�Q*�IFSj>
6y��a+�E�ŭL))�r�ts�P�����G6S�Z�ya&�S���T�~�IqdG���
I�G�NY�qm<�-6�U�cV�E���-v=�������mp�*H`�2RW!Ce�ŘqZ�i3feMGD�\zg�i��\�DxW(��
p�̄�ŒeS���̢ub\��D�Z&���A���(���~��~1bC���Fy�A��w$ T�����R~���Ϻ��Zs& 50�3�=��ܷ��㭴r��#�	�
��2!�A^tC>�>����ϤD�<����%��w�>`s%Q��P��,��v�gĞO\�ʁJI"����Rr��.^���i�L|���_.�Pvv3x+M�NL*��;Ǝ��/��DH`���k���<�cָ��
opZ���"����Zx^4-|y�RbҦfp݄�̀�V��'�B��h��0�4�k��z#���|Jԓra��6��U|^P�"��VgqY�Y�T�ب=��0�V4���T������0�נ��i*�B�5X
�spz�Ӡ��M����E�s��0X0���
-�$f5��!��ݢ��jX����-
�n�F`t�`$N����Dw���E"������JlA�P�ܮ�k�	V~��^#�4z¼�V-6���HIZ�k�T�#�	
�
L�m�_��Z�G���V�5���/>����kE�D*�8Ò���w��4�M�ڏ��}��|�c��p���k��Ҝq˛��!f�ة����@�w�)�����k�S���5�lt#[wZH����F��٧z/ZTS|eY��	<��F���	=uZd$�?5*�!��{�i��N�:oE+��O).2�e���P����P��t�0)���a�-��w���5�+�
.��P�P�5^�k�t��BR���i���"P��#��r�P.>�P���N�]-��(L�b\+w Նq�r��-S�!E�7�$���2�W�f#{��gF�����>�F�TM�� �7�<��P��z�Y5�~c3�t�R��u��)u �~W����J���QR����Z�V�.�Y��A�̮80L���cY1��&��EAS��6u�Eɔ�7U1gN�12Wv�B[�V��*{��]�N:���A%�B�T"jZJ4�z��,՜��d���NIW��G���,�|AJ��%f�|i�wR(�]�9Lm,fq]{�![\I=>J'�'���:؛p�8�u�xM ���	:�M{��E�v��T+��3�BD��^��̳|چ�XXg�A�Rgֲ�u��1�w�^K�t�w�ĄmxI)
p�.²�p�����;�t�S.n��c��`�H��W�Ģ:�@�����?�K
x%y��k9�H��F��r9zXk��h{�VJ��@�s)�j�z
p+��Mx��\���Pd,�m
�D}���ޅ�4h�Y.*AVDaJ���b�,�
z�9e �-{�ɂX���w�[�٪n�:��<w���:�nN�I5��qNb.4 ����uz�W�Ts�`��ӈ�
-ڤ�
�M�:� ܞ���{�5S\c��!t;=(Ox�R��A��_n;����L�*��N��l��F�z%RM�j��XثKj���F�n����Ŭ��Y�b������(�cX
�[��ՠ#W�W���Є�<-Z�֐�4qňL��w�#LlQ:E5��~Z�uU&V���
��b�T�E)2M�FJL�A�$�l��T2����q���~�d8��H�I[�i1�d�����XT"��ȶ�N����k�}͸������5ҵ�%"��Bk�׀���
o�;�=�Q��M�����c'�R�K\ؔjšӹIo:�/�2�r�
b�M�j Hq=֐�g�y�n!�C�!�=��|��Ŕk�z}�1�nQ�~��R��Ig�"����N�j1Dy�B
1oՋn�A���P��T�j�I5��gV/�\Ha=��ʜf�%PC
�5)���6�cK�u�@���-Y�Z���e��,�X�D�b:o�ȋ.�-)&DU#�ҵ�Rw���
(�IF1Ś8X��3�$�רԡ�����	G�57��V���p+R�=/��:�k��b�GՈ��N��Ue��8!
�"�6r�hg�;�p;�5�mRu�51$ih����&H��Z�ۆ�$��pH'KwpU���6jT�n�h��)�<lY���J�fx`i$�F�� ��N�H˥K#��Gm`M��
�ʢ�C[�BE�-x馰��J��0�ă��\"u!Zdg���t;ѐ3L�g~�s_i�u5k�v3�
^ܷn���Oj���ᙙU5/(́�*:�I�7�p�p�1Mӕ��3�`�R��ܷ݉` k���/Q�Q�1M.������>|�򒋯������p���o���^k�~g��ףF�yg���k����}���\�Z#�{�|=[_����t-����ף���7S�<�C��8��niF��0[��j�@GR�k:���3�w�>K9�������}��<�3�l1�3�Zc�[��~}��=��/g�6�ݫP��/�׃�͹W�h���kÏ��Z�#�-ʦ��5Jw�4��N�<��W�>~FN�I����b�8��՗����q���[��/��
W�g���W*W_���~^5R\���>B���Z3�H���IJ�� ,i���c�ħ�j�b��#n��%�)n����^�
7?\,Q�ja��F�����i����T����L��Ԇ�́l������51L�ׇ�&j�ij���P����H�ƔM��	5���!�XCN�H��n!<I��Oxګ�@�Pc,3v�����<L��p�z��0���*jC:�/L}0��y>Nջ�g�jR�W-�p�W���'�]�7iI���/0x�,������0W�A�<|Aɠ�;l�R�k�I2#�ƥ�1�:�����NV
�3��/�Q�qB
&b����k�+�-^�B��
+
60��@�n5d�1dH���&���B���Ҿ����,��f�%��wH^�=���3KT�۲[�4N�g0���2i@���sBrk��Y��d6�<�7 _]�o�\T��&�+:�h�|�����a�4c�	Z�����~ N�@4s�<v��w�q����е;�hmi����:�i�&�R�cQi9��j͔/]8P�FSw�#���P�^��aB�-2Qa4�2����u@����0f}��fT"B\T�X�$#�T+����6¡ ��B�
�o�	�p�K���čAm�$�ԧNۃBd�d�7�����-���Se^s~�'O�"��8�c
s~�w*����	�p�z��9-�yY
�ԓR�^-,��hT,I��Ѐ��V�2m:mℷpq�5\�0��ޢ0���Hd��7�''bS�����D�p�C'����"os��LX�<Ѯ���;]���5�y֫K"M@�i�8C_\��%�ĊO�L�pZ�|���d�&��iјN�jT��F�#��1�"M\�V�pZ�o*���)�{�to�������B$��b�|m�8-����F���H�����X�8�F^���A�X
�)��8G@1�"~�H�F�{<"[�v4���kBE��;��a�F�T}=��D�b�KV�1Vy>�*E���a�R�����"ѣ�kP�42�
[)Q����),t(����9�-0�(��XS����Aq�.ƺ[$�8�VU��S-�j�j?iI�T�;��c�d�N��(^�G��2����W�������?A�訔�z��%2l���MɆt6���u��By���	۬\�}�.�CyQxQ��r��Q���$��W���^�'�|����|�����p=|��ǜ�d�4`
(�zH���f>h�Z�-!���.�kR?MG�E�l;!�����Y�>3:����AF���;��� ��Ѝ��[V�bS�ܙ�J�4/&#ǛyE�W�jx�
Z}����H�No�]1'�=��{�o�vC��xv��􅆓U�\��;�BD�_ k���H�dn*m3~����r�K$q�Yq�Ӧ���La��.k�0��Dw�@@���d����M0�{N����tO��6_@�D����b��� l�\)z�����H� ���Ԃ^GXO���#���y��*3>Zb!���g�{�(��)��o>]
�NҸt��L:�7����^�8t��Oor�ϭ���߸s�Ɯ[u����L��MϏ�]�O�=����w�����V�T��r:)�ǭ���?]��̸Uw^��+����Y�0��@��(��?Sr��dK]�ǎ3�x�^	�_n��侯�t�.���la��}��F�]ϭ��펣V,��d���>��8���d��-�
�2ۡ���u��3� �"�g������HR���&R&��m�F��j2�aJ4��1�V�
p����r�g��Z��J�)#�k���3��(�C��8C�S��w�d�a���n��o�/���h٘�>�̄ld߅����&ͫYe�eV���s��
�� �a/,.a����j,�l�.�5�?�1=�bf������'���]�%*�/b�!ū��>D��F,�2�q�8g���=]d#v�WZ��ɸ�e_ۏi��R�*�w�3L����Nʋ�,���XH��}'�����f��fz���C�οX�
�:ߎ�.?���Csx+t�j ���oj�g�E |��*���>2bvU�5��zL!X��8��%���hs$��76*�#��ŕ�� �M�5ܑ��_i�E�5�9�	�E�|��;]�ֵ�o?�Q��f������V�*v��XآT?JP�鑌��2`��G9�#뢦WO�u@����k���25�H~e(���[�& �Hΐ(=[������M�;��^e<b�zL���m��}����hq�����_�lQ�e*,���y����N(ro%aDZ����H���2#9���|*-����j.�F�[��t
��$a��{�=��e���v�+{��IƤ�E%�6{E�;/��{Q��ԅ;Y��
{2�wH��H�^{�R]�B
�<!����l�	m�5�p�O�7�0*�N%�[ª��+�U�P�U"ծ��������>.aVj�5:��s���jȥ~��"��`����!LK~���QCΏ�u�p
�5֐3�_t��f�Nf�5�lZ,��������Vc7,5.x�LB&dw��P2gx
�)�=��#�ѳQk��A*�V��`��Լк�@���>���^pL���SM�8�):8��X�hW��	�E��9�\
��
z5�}U
T��R��ՠfFu���ըkM��*��t�k�g	�c�m�0�Ƨ��S�#Օ>���y�#�Cu��VGr��W�A��-.f؉��Zo�Is��U6l��+��B��r��W��p�b+�)�u|��m�;p�Sŧ^#�(��
���RU�v��V�M�;�Ё/)���Bu��zS�	�XO���{�kE�X�0�pq�n����tS�z1{u�L���֍Y�_�oV��ΰG�;� 5�^�7���q*�'=�U1�7G�U��6kl��`F�yɬ��`�6��‘�
�)�!�L\��ڎ��X����]�>�����/u��ë�xݭ�b�
"�������b������e/��~���>䈆U�\���!hvXqPm˪�F㩰9�4��ad�0��^J�V-��F@r�T�wN��Q2̋.�F$�U8
�ңi�u�o��$~� K1��̋��kC�ܐ%Zn����B����0�p��Q���?d^Vס�{��ab�.����^��Q�6�%�"��t6�9���`έ8
�;<��;
*��y�TZ�p�1<yAu�Ȭ����U`ت��Q���		N���@�
����f�9�H�\�C��*�X��6���`����B�M1-W���J%�n����:�b�&���V����
�m����O#DFqg�m���dq6�9��ۼNx���S�M϶f���_�s��x����$Ȳ����u�e��:��r��pd����D� �I@C	[K	jS	�c+��X�5����|�KP�L@�	[���86��hb
��Dk�	��r2[���(Gd=\����d5�VC�<��W���P:(5X=(5P�(5��J
��J
�8J
��R�-�R5��J���E������ժԈ���}E��,�=����h�=�oW�M��VU�,q�A��.�nmβ�z�qyA�1"�\��i�ߜ�*��X]�eſ�k�^�1��ȱF�[�qԟӔq5�`=\����mF$�cXU�;�ֵ�R�n�`�V��sq j���2���eF\,�ͨ�6UmF�p�w��GZeA�j�{��=@oWWـ�i�xMN�"#�@V�齶����FZ.�x�i`�5�E#��3a-���>���j��w�vT,ZC$�H�s�՚�-����e.L�b̫D�#���x��j�R�!�3n�]��*3�W�Ø�C��u�iZc���+^乔��-%�7kp,�"��k�,/�@�^��V���N᥂�?��)����q��3��i`
WnP�Eݳ1L�2_��*S�uF1O��Ţ;��ʢ�Q�8�tB���0E�{��'OX��U����� ��SQ3%1|�aZ����^ŭD�o��������u��K6
�W�t0K�5)P?#�,"�wz�/�`T?2�^3�*#(��3M�
�I��Z7�a�-Ɇ���X�5��CT�)?���G2K�Y�׏�E�J�|�"�����Л�F�?��c�'о���X-��3��A"T�M&ɡ�#0J4]��z>#[M���Z�K5
�c	|~-����#kT�	��V�i
Ee���Kǁbr�,��1]�
TY�҈����`����'�?Z̓K aj�I��m U�]�i�oЧI�R��/s��z���2t�H���]l�^MLf�5�x��t{���Ն���"���JǕ�ȒCH�Yٖ.�'GW�@�n����nR|��˱�P��d�g&*��,,S�4]�]1�?1Λ+���>��6��zxK���No5��љх7��e±F"�tw�����@����
���{�O
�E��u�m��p휭��U���P�?�@0��i��jsխ�5��cj��A0T�nM1&��ͩ�Yπ� �58[٦"��C�67���^�����{/*q_�wg��?SL��j���,+.K��Q��M��U�]@P�"D����;�{x�����^g��uc�oj_�`��Ln-S�0�L]2��y^苚�nZ�ƝS�~E���u1z�R�Uq�j{�g����\F����2ZH��7��S�S}���^D?��\�d�tNXI�sD.i4 �`����\���qp�7dձ�v��9��(���� �'��B���Q��6J��P�:X	:��yǴD&�8�Ƅ�LLL�,�ri+N��Q�CSy�43I�j;�r����#�7cN�"���$�n���,܊�Xr���F��d�i��� ���N<-�j�(�؝߆�<\��8��lf�������U�]L�:��w����#6��z�(m�ֿiH�RB���Z-�To(���T ��Ҹ՞V܋��zS>�^�f�ɱm^9��Zٜ5�,$�Щb�����������6��}��-�LIC�%��O�v}`��i��͍��1�mvCw�Ǐ��KF$U=��~B!G�<��6/�lY4:�"�VΎNX"���`y9v1H�
9�����4�Jք�h��2���z��o�u`�0y��h�×!ᵡB��̨��:�2�:��*�O��~�Ffi	�swWe�̀f2i�a����|e#f�RR#�($Y��TH9��K4����훩�%
bRA�(�;4�������Z�&t�rR���[�b\��c:I3�k��J0{�e��LKXͩkS���9!(�b6P�'˔)C:x�̂�1T� &M���K�TuN�"�ê0c��ـl�*���aho��D4�P2�b�S����y����-�+D�b��.��h_��8Mx&^��S`r�O�k0~e�T�	
U����
�'�v2�$�AP�>���5<\��D΂p^+���й��l4'<1�@H���!��p��5S�����GP���/n�|�m���wV#����#p;Հ���~�b>`[�f2Z�/��/�SZ�u�
�O�ˆ��9M6r��5��^l���T\m�X�3f���w�>�r�6�u)�P�b������cV�,2�.���"�Džx^XdFbkp\��a��H��ʟ��Ȍ>.��E���xY�[�iXd�	Džx(����x�=����X!��|�,���N�!��'��ƈy���W�c؜�"W���X�׍\Gy��X���m�Pd��-�B}#=�L9�,~���~͞�����o���������5��u͆��g�;mF�P!W7�NB�]�6�q���)��5�jt��	�RzM��L�"+�B�@�C��t(��)�I(���(�#��o7:��q�is+�;ۺ���];Imna���;U�t٢7�i���sNmnw�J�Ƕ���y�'��֮�F���fw�ߑ��A[#��[8�7C���몝�9)f��BuE��f�TB�j8��_�C�Z�m`e�!��b��ݢYF֨�gxhl�z�H�5���$Gz��t��N��8�A�ř�_-,��hǧ���Da������!�۝ε�
�U"z�X����9��-c����|!�e�0N_�6pm`��~�a��kƸ�D��d��	e��,<r��J�ǣzi;�mc�dpUf����C�L������IdR�����<�zF�+�ڨ����<!��Q6#��t��p�de7�p���I��l<6萶��Hj�J�)�v��F�Q��oq���6��s��������t�t/�d��Q�#�T�8��
��B��	-Ð�;�����Ke��y�Ň|Ro�<�fVZ]�!��D���t1���e�fbJLG��}�
S�@أ� "�Nv�}��.s�á��('1�F�d�s������f�P���34Y���JTa1�\7�?	�~}/�'=zE�IGP�,��x���X�j�ΐ���I��6�X4�7$wZ덹�v1�h[���]$�#��c)S�"n"�h]��P�� �ԧjx�|�y�:��k'�σ��I\�{�L�An65�&����Z<�i��,�QD��n&�-�r�`f�yh����"�� LF,{�t�j�G"e��7݃l���ԙ\�X!Sv�"��c��j|�q���+M�b"��0�/���0�v��@���w�֞��A$�PI<5Ȯ@_����������P\�@<�щ7��Щ�^�5݅C*/:�4�
��]����VP1e��D5�.ŹM4�]l(�X[:$���<�h��3�Ѵs�+�kw����y��`�5�:�LbȌ� 7�T���<3͸�3?�����0�v��իt~��G���ֻ�t��������P�G	v��5��nҲ���x�e����`���-^a�Czorv����=�l�*���(�m@�ɀ�1����>��&�ѠF]��G2��S��żS�X�3b�w�W^ԃ�U�#=Yf����vc�N��ƛ&���b�3Mqrv�-��ܓ�z�Qw�Ґ�ENo�%קԀޝ�=�-��Ɔ.�@�^�qE\h�z�)c*��d�1!ˠ�%\����$NŽCJ_���b�As��\ʦ��N�E�xSM�d���kb��q3�f���geHU�jG6�4	��r3�%}U�Y��
�h���� �YB���э
z'jܲ���L)��:(�\�,��6�TߔաA3fN�Ӝ{b�kX>�ֵ�̦҃�a΢b����v}�7=nHX�=��>�㄁+�*��0R�1R��H��s�2�_#�l�G�u���J���U�ڌ����i<�|pOM��M4#3�t�^JpX�-C�1�
4�ƾ��X���hVs�4�D���:���	�c_ѮK�Y�B�&z	!�VZ�p<<
�S���xoN��,4�ϠqM�(R`�=��矸t�c����ٶt,QmK�ҹS�DR�Tj^�;~c����_U���X���O��W�/_U~�U�*�#3�z���*�+g����w'�Ի{~G?��OD�=JH<m�+Rg�Džs%=�Q�a�Ф¢��[���n#��	����>~<��G���>����t��
"y�L���F�h�*�Ui��PVh��ld�ٚz�^��}5{Dїl�L ��ɟש365��������|�<�S������8xFs���1i���4�%7�֘�����p�c�9��T��0I��������K�
NŪ�5+��Rmt���fʚ`����Џ�����1��av�m�/��#��)\����T����??�[z��'�P�W��}k:��W����o�8x�_?Tm�ߺ,�)]Մ��쾦\�/�ҋI�|^��d9������?���Z�����v�M��Q�6k]�z���RQ���rЀ�
t�#Z��~�r1yy�ӟ����Oc[|����z-!��kEvM���#�n8G^H_^�˱��m���e�ޱ7w?L{x�Pz�H�I$�
�@*�ٿ�Ǯ�|�K�:m���L��X�#k��B�Ɔ�>HK�O�]�1�;膻��in%���Y2q7{-�b/�k=>�_�In[dirB���n��y�̟�zS��H�%`Z�4��\�vc��Y�;:덏�a��&}�����D����AV�N�O�y�BØ��v��lu�X���l�y#?��}�ި}�8��u�Չ�jͽ��Hݣ�k葖�H޺|���c����D?�w޷R��i��Q��d��O"�vA-D��'L�INRd,/�.�$����lO�v������gO�.��<_M�U�0�wؒ�hx��[���{�v�lt�4
�J��}�
��b3�E��ܘ�J�<at���3�S"��(��hdH�
�8�j�a�
#w�$>����O���=�؃��ˎ���ex3���xD��pAz�@�M�*�:ˁtn2��A(xq܏��k���TE����p�Y��'�TL�i�G�gC�9�C�8����//��e�����\6�Az�Pf���h��
�@�}B1��PY�諍�.�ʔ���vZ0�!4��r��5�Ύ����Lh��%:b�+��AV�Y��u�!���t�
�1_�1_㞯��zM�Q�~ôi�0mur�0k��Ӝ������H䐁IQ�Z���Y�3���͠nǯ��6�n��1����aS�8h� ѳNl���i�J�wLf�h��)��æ��1��������Ӟ��U�Rؤt:�n2�A��
]�hŞ��H������Ҕ�\oڂ/CɆeo�Y��gNx��6��1���|��|�DŽ�/���o±3ΌgNx��z�R��Ctz�&2��h�ء�/�BẐjO0Y۱����V_-h�K\L��
��m�Iǭ=�@���?�+~��?�\��q����n'���x�Lh3��2�&��aW�!�@�6�IOcId�=^Nt���hZ�xe��z!BJ౞8�g��/����e�c��c�ۗ�_��������@��r�h��ؚ3	<�2:9��Vm<��3Ֆ�N[�����1�\Bg�s�,j��*C���t��ع�g_��2�m�#?C��L��W��:�w�s.|�6�js.�1����N�3
��>_�gZb9g*n��ů�Ls������0z�+��l�>;ەoC?�)�5B�'Y�����eڱħ#j�_,<��\i��Ѝq��/����V��7�;�?�8U�)|�5��1���e��cܟ�*}k�a�뺇؍K��n�N���;��e:������d���z��R8��n�Ƃ-r/��7̗������N~vjz.1[������{��9؏9(߿��c��
0i?j��h?�O���ZexN�Y��wPoIޚͦÏ���F��AQ2s2� )�*Ãfc�
�;�ߕ��cc�p�m v^��q	a!���Z�c�{�
�
����G��2&��n�DǑ��l@��ᓗC�pONX���̅�����lF����/��}\H
�<@���~&=]^,d%���:����g��nj����A��������T�ԗrM���
����-eWة���d��K=3�@"ңMhe��v���dw$���re�������_�$���
z��fr��M�%T,��Ċo��&k��l]�3�c�[;8���2]�F(��4�S:;a�M�C�rN���}���v~�q�zg$�5�c�`"e��Dı�v\���͡�e>��S��{��O���j�3Nj����q?pb�1�~���u��ݝZ��o�jz(�fu�T%9�6U���
a��>;����7�ϥ��lu?PlP�Ն����
ۿ��O�|�|��On��]9H��&@J��a8�Ӯ�iC߸�;3A�I�+3w!_rR��p
���-#jB7�H�i��=�kw����co�M����>ߔP�	�o�U�M�pE��,:Kc-t$U��,9}Fh�66�/ev
7
��ƑDqX���2�*�C���$�c��$�rMk����*�‹�ó*`�O��P�I�8�:�D��0;�]�`���sfjtw�Y�
b�U���\�״3X�2(Y�������c�,C����IA�߿YVuy�z�LE�y3[b@�G�q�zl�{���L>�S�ӆ-V���̰��$ %8(2�}���䖈3��{h=����
��=f�R�E������e�]�S�-t��jSа�5�uS�����i���j,PR����e��I��[T�U�X/^��;]��e��,S�|Ǥ=6�U�I˼{���%Դ��d�|��A.va�X&�&��x;WK�<�*���b&(���+izoMɤ��w�I/t�05]sP4	��C�eR���3S��\���s�	'��ɯ�
F��$en��o���0��3Q���H轛���i-:h�\I{p��3��7l�D�M#?�<��8�/�\���m'��J6e�#�XvB��ĤY�s$7�d�H�
�`"���[�C�LͰ6��r��[`���S_h��nɅJـ��Kř̮�Vmڊ�@��?sھk҆]k�f�AK���f���<�DEUhI����s�53�Q�K$1ӛm�bo��2䱛��
Gܤ/S��6ݘ���K|���2���36�6���:�j���
>�MΩ��ᠫ�r\,mb�l�S5�w��i�W�c;�B���ӕ�`a3v�]-���%.�Ѯn��3�XA
�%��Y�*jk"KCAF&ڥ����Ti0�1pf/^��پ_�\��~wB{��o;~��	�G.��M^kә"[~ɤ����p���g��Ҽ�`�h���b7�s��;i��!pb�u��߼P����z�-���CṜ+Ԩ�0OZ]��A'C��ì�'O�����u/��帑L42H-a�)��U�2������f;&���5�������IC>W�m:ߟz�?S��囼^�it�
��A<3�LW����	���Y.,�5?�5#�Kbn$NP��v/O*��Br��uSDN@��@��#���
k\��^�6 �rakZ}0�{�.���X���X�L��BK&Jh��l�'�r�����.��HqSW�Ѥ�ޅ	��Dq^
۠5&V�+{7LY�:\z�i�&9��,�LY#h\�ۭq��?�ָ�〈�x\�Lӷ]�f	�uj.B�N���I��;��U�u���@�)��ֳ~,)��&��F�]��/#٤���ٛ9��7�*-B'�M�R�'�P��4�[w�[C�5wd�Д����K�v𵑽�t���2�g�d�z:���4ق�;���ΰ���x���:���l��ae�Fh"F �1��Tq�L�^9�~���-'����SPAyp����OU*t�$�7p\#��E�������V_�2hOڰ/	���R�a
������&G,ՐH4��p�Cxb���VV�� �>J
ׁ�.\{����ȱ��4֞Z/Z�}b���L�z1LTP�2��Jݨ-ք�p�5�}T�$;�<�����a�G[L��s1�'����\M����&�\a5u�(���a2��u
C �_2�mm$�#���U
1�;e��rؾ����l�0���v�ds�	i�`J|�K]kc�y#�D��<aY*Y
X���E™V�t^���`�}d�?/���bIŊ�"�α�z�w�Ø;Og����0�>8�1�L�x7*�2il��(����r�Yf��
Xܴ�m=�V���g~;��>�`��$5�Erݥ���Y�4�*����z(-���Z��My�l��H��M�>q[v?)��?�w��t[�?Gd�oZ&��LLI���]�a����fE�͈Y(�����
_�����c� =�x���FE�8߾�˔ʑ ��濈��>�j`���uvF�Q6^�3gǸۙ�M��nl*��P�$$�#����'%���5)Po�ε�3|�0]����o:sƱ�c�J�J5p0VW��-�>��Zp�\�,R��V�v�RÐ��]zG:��%�U6��or�c���07(h�h.�.���D%�F|F�>D��	B�o�/ӆ�L ����$i~��dOF��j&apD�B�;�2�{_��W���g<�U����"�j�V稯��_��অ�=z�C��o�e���k�=��rU?ļ��gh(2u���W��*ʏU��U�cX/�z>L�	�_���(����(�u��	���_�?4g�����6�I����MJ4�s�]&Omq<43/
�v���]��uS�)����Hl��.�Ȝ����s����2c�*8r�|��a�^T�:�3�R����R�~
�>g3��^pξ+8�{��4�p�e�iAR-;������܋+��0S�C	8����랑��o��JuAK�Fud��>�N(��:
e3n�/7L�NW�Cz>�	]_;H杍+��m�V�C�tΔ�W����:,;8�lp�.���>?�h�v�|��E^�nR�i9ixHd�7�ؕ��롔�����ч7!�[4�(��NhT�v�l��v����;q�',���2Op��Gi�֤:��ą���qa?�wF�����r�Bڕ��\nX�Y�H�=3x��בZ�������"µ��Ӏm�@�J�E;��*f�5 ���-q߅'|݇�]݋���G�k���D��s -n��á�(�ӣM��W=Wͳ�F|�BZ)�$�
�`��-���Y���ӯ�_��1������PL_����$��H�2��QÓ�|x�Q��Y��t���;`����^��w�,,�P�
��=���r"�+���<�/�G�L�@Zݽٿ�:�톫�����a�g�Dh�a:���3� -`��~<���0�ፅЀŀ�����n8{��+�t2�Wv/�i�Ʒ��f�T����vHt��=<o4Y��@䭝tQ@��	h�ހ۷6a_���Z��d���H��7�����ZA���3�
�V
�O�Y�H�ˀ��A׶7{��U�����B���>��^�[GL@(�"0�Xu�Ζ"j9�k�3�Ĝ��g*-�x�~\Ȃ*]��}z���@�*��X��ˤ3h���#J^OU_
���̒��7���fڐ������6���u�w9��4yH����;�8�	��Ə�ր�x��������B	|͸����0�ݢj���`�0�O�����]�)4���N�Bť��<^�^�?������m��l~���Ge�M4��^��%��Q�^�C?~ޢoxZAsT�P�����CLOf��S�dn{�g2��=���V�\O���|�Ǐ[�J��گg\=,��6;>�����)_�=ޞ��y�ݮ�}�x��:�z�^��6�#ʼ��%��-��U�:Ku5����C#�n��O/���*}��esM)�m�3��+R1��L��)C?Z��i�?�o��q0_ʧ��i=�1uހŞ�����|:�n�ow?\�b���i�?�o����5n;�mv#u裖�
�x��FK����^sN�~ؾvs����7~�8�qWkf
�F����C��|B&�q��v�2�J��C�f��ݿկ�ުZ������D���.��������z�P5_���|���Q8L;T�p�tI���=A����D��H����y����>P�����"�!�Dhbi����M��v�_t��a�?�/�@I�w��M~��*�0�4ѷ@��'*]�۳?��Gż�f,	w���,��$Ү���E0f*H�����$�L�q��o_5[�oX��������c�!���%ǃ+Z۰ӭ�zG�v����6L3S�=�%�>GWh��6�5<�d�f	�I��Xߞ�������=�=�z`q�l���g�T�@��o�n���zU���>��{���dO��?�~O�f�?0�O��_]]���^xE7�a����<w��'�~�W��j⛯�i={G	���I�ݙ�8��B�x�Jt	Y�������³�?����z:<�=�C���"����0
��ޡk�2+�9������+���bC��V�J�=���8-f[üV9w0{U�'Om���
o�ڪ�1���#%���=�9);T��dr�6��yG�Od�qemj���g��G5��Q�?�����`%z|��,�[Oye�i����|�=��6�q�%0�w?��
O�4
-_�ߪ�ՒΈ�}&�#����l%(��	��#z���(k�RN��k=�,�t�Dt�c���Z�v1#�s�֌=g����Txgu��Q��P�е?	�#�L�Q��b10�@_�=�6�3��{S	ϔ~L띆�,g�'�����QB6w�V/Z������з,�w�Z_O�2����:vze=49�z,D�kµ��y���h�~4�%�kK]v���@�v���qڽu�3(ឝ�rq��}�x��w��ť��uz�)5�ˡ�+’�V��=D^��%��{��b���+>��
�mv	1є��k7S��W�~��	&z�\�G�X��Voz?;hwYOY�v{�*V�'Q=w�$�y0%Wۭ��3/�?=�½�}���{�w��6����}���(1�>"G�M<2С�y�����q�qە���i��{]^��̢İ�\�x9����|��k��><�����RR��V7��t�=�b�.���A�������}��O���|�.��kJDZLH��CgW$B�vq�ߋ��{���V����Z����x�>]�[������u�U��K�k�Z��|�������ew�]�w
��ro�}�6
nѧ�UA���$�M�?��||���P��f�z5�y`�\���/��C8\�3� ��1
���Oy�JF�
��tn[�]�}H�W���7W"#ʇ���m�!z�Ӣ����9�H��`j3o�u�I��(I�B����a
y ���:��M?�"�%�T���TJ�X���V"�	�T�h����.���k��НʺӢ�/�?������)-i��ͫ`�46�>��6���bFg���Bd�Mg��T0�\�6����y�WS(�7���h�gT����Є�5�Y���K����{y7��E-�u
�U-k����7(��9�Xus��ܯ��C'��[�*���$c)t;|e�:�+Yr�z��|z�������W^�����T�%��v�&8�Ǯ�=���3R�S�aN>��=�q�����z��x��dr���#�Tڲk�	�%dzm�{��3ͳ�ُ��|<����L�83B��JhCcJ���."��={؄�=�@s�yv�b,��XJI9|e�ݲ
_�_�J��kc~=|���<{q����}�x�P��le����M�IZd+Yb.0|���ԭg�:�Ĝ|��b+�ܭ�J[��?�Rh���V�A�+Yr{Ц�c�Yܱ�ُ��|<�����,h��Z�=�tCP}{��|�o�׳�q=��ۏ�dxO�Mn.��;���?��_���Z V#��xa�VB�6H`�;כl}�Y��FZ�H?�\�w�0vO7�?^.������)�P*�a	�d�.N/��%hiyf��{�Vx��O㍶��_��@�2/'��3�(�-�q**N����bj�[O�i��f�ϗ��P�ym�Y<�;�~����nZ3�{�z�hy����4�g፼/K�u��hU��%I{$�;�#�O�z����<�я��x���ya&ޘ��h����M�O�.j���75����A�xoݼ��ʬ�2y�$�G��~����G-��K��G<�я�����7~��3�v��+�Q�;n�*w���.�5�	�|��r�y<��������z"\��Ѱ捃�A#:�Q��%���������w�j�Z�Tǡ>�V�Ku2x���B��K4x-��ţ�Вx�M�s<y��_/�R�%o�^�ZP�=R|A%'��/�|�%��"��4��K��Q_ؼ�%�w4dlWZ��/A�Q�1���XҮ1�g�t�OF<M�(�1���,h���QgU^B ��
�ѭ�;vܾEL?����E��ޝ��w�/M����FI�4���G*�v��xJ�w'~}=�a��R/��i��.Y��D"A�=���qw�?:��o�<�=/d5��xC֘�b�3�zvq�g磏��=�q��<�f�����`_�p�_:�ߞ/�&���;����5��.�"B��UDe�ؗP���NqP�(�ni�Oԣ�Q�/�s�=/����;��:+�����>�D�I���Bb�KV�@iᵄ����@���iEp��V]
F��X;��n��X�m��W�%#���TL�-۬l�pȫ�sUW8EWC[�|+m�H�-4%
��9��lJt�lzY�z�C��W�Y�J�2ѧ�z2k�,�0�tT{稢A(��dԨ�k�ΡE�ҧU�i�-���Q|�Z`�t�@B��3�
�k_餁f�ij���i*jB�ڝ�vQ���	aeU$,f�,ry
"���%T�\*⷏y�$ܯ��ym�
�&�\�ʂ��S(%��D>{���
��TV
8&��W�^7jV�&9+�]����'l��o(b�����������T���
\Z�W��Ri1���W�C���;���eP���	ʻ��53���E�&dj;�MX?#X��)�k���e�Y�e�h	`z�\\����e���/��8�^g�nޚ�}�U�\v�9KZT�;�{��WR�x@t]���� ڢڠo��}�DMı$�J�
��+S�G�h\Xh�c!O4}�*N�k����=�&ٳU��V����T�X�`+R�����*WZu�pd�t-��ue�-I�
��Q�)]Ũ�2��;-߄�)YG�c�o�7!��k��|�;���Gri��aڥ�/�m�Jk\<�:ӊ&r�z[��Ι�g�E�K�U��uqv�[U�-֚��P���R�)n�XKJ�Z��fʢ�X:�w��!&@ȕ�߱x��I�-���';7��$�XQe�Q�sPoT�.롥3'�2S�[u�8r���ʘZ���J�B[x4�쵤�ds1��f�<���\=��P����5�U����l:�c����'��l}T'[Z]�\����;y��a�
ڌoX��E|�%��P(��Ѷqj��'��(�<+�g����
��m��P�_�#Fy�
��Fv5F�k'�z���|>`�dk,	���OC4]4��"���D��8��UWS�~�L���Ɯ�T�� u�*�X� �v&��ЉU�q��f'�*C18��\ԯ�p�3���b\��7ם�ͫ%��7�ˤ��*��CU�`�_�r89qL��Y�c��^uъ�=��<�U�2J���w�G���<�w8�����iz�U����
.$"���L�cHo��M+Y>8�2�Ž"%��qczIV�\i�F�_n�<��-�W��j����Ս��AO�=�!�d���|/�7_���`��p�.�$�	Gҍ��r��+_�*��q�.:Fꅄ�� 2M�\��Z2���B��Ry#R߬~�
�5,�i��b�vZb�#5�8^�&mv+��e�Mu�J��{�X��y4ჷ[M���D�>&�R��lC�dA$����X�B֤�+&e!���|�Z�r$M̵r���Td_� ��z��[i���Z2))t�(�F��P�7�A��_�8�OG)��i☳C����g��ȼ�̉E<�+3/\����ϘyE������p���
x�|�,*���m����j�-hƜ4P�U�vS�l�#�7Dv��SX
�=*@vn�L��߸�6���&k�N�ByH�O�M����|6�1i	
y�jؾ��	��1�
\��m�\]�\i�@������:�4�a�ܲ��}q�WBy/"d�BD�P���I��4�;`��(%]M��O��J-��A�D+����B%��>8#���s�뿊0�+GW���*K
��
zN�4Է_�%u�FGwg�����w�*�+��������'K?/�Zl���6�A������'Wl�T�Yԋ�e��T>���J��Y,I��PFce�s�}T���^��"�H�'g�*��ˬ���FY�NsY�r�PR����}0�n�zM`܊J������VOH�|�$lB#+���\K��v�*��lJ#�*� �A�H���D��53��Fks�W�l��M5��A�(�T �	1NV�9M����(���q���E%��S+U�+m�	t
�L��o�:��y�ק�%T�8�[\�\WK�����R�r��l{(d�!��b�{���r���0E��xk� ��3'raUB�hQ�c�
�hjB�׎���q�m�`�}�(�B7a嘨x��_cȂ�Z"AU��[u�C�`H��QL+���^�:\�2�3�	
�R��0#���j�*�ZUf#-����Y�1o���_��o��
ij3 ��M���x4�U�荃;9rX�D��z��g\��o���<�c�<f ~тg�2j�՛�Bp��ĺ�� l+I��x�}�I�+����XA���#��r����޻$K�#ɂ�
_A���zp|R�+��o��@�ʨ�x7�D89!@8
F���ʃ��v�s��X�� �Pq1�b�J)^��fm@�Ӻ���^����)���(܋+����7��{���;t饾ˢ�EY!U���-���	�}�2�Б�I#�6�,��yt��j��E�`]
}�;xY�*���9Gs�IZ7t�I�wP�U4�	��O�f<q�3'Ȥ$ٳ|�Y`�9��Ok�]���M_������:V�)V�!$vѷPp���Nh�yh�ʬ�_�x0N:�����ӻ�n��5�$��j�ś��y�r˹�c�K����$�eÎQ�S[_m��:�~u���9vyǪ}J6-Yx�i�K��-�it/���`�W�~!QL֍��M�t73o9cv�w+m�IKM'#@Q�pL��T��a�,�l��š����,�f벛�(D�"͕���0�������@<V]NKr�+�h�w��Q~h���H���,A����SHh��[W��ʲHm�+�^M�Ec���)�=��$4"���[`9�~ 7YE,�h�T>
���DQ�J�&F�-RƇ��Z/�Su�B�����ó��"(��}ۣ���"D��!˒�
z7�K��IK�i��ڱO���#kj`ک��w�~�ݣ�;���ك�7G�Em\X��F��%�����w�iR��g��ܕ�Ƽٶ�6[�}�ܵ��ɒ�+a�dl|�~��+����$/Un((�F�'��>�D�D�Z�a��#e�6-�]t�'R��X����b����~{�~�<>S�߉_�ڗ�w��!V�\QOW�a�XH觋�-���l��y<͗baT�קF�r�^˕�Ie�K�k��,�ee)�jB(���I'���K�ߚ>Rә�d��E`��'��=��=[���t�ɫ�G��o�?K�,��s<v3OS�M���1�wX��U7���׫W:�T�t�¸A!�y.~He��P.�`�e�K�S��fO����]y⧣떏@�	W�l�	�}l
�������<Q�D3�!r���$1
�}��-B�+�k�T��U(�h�[Fc��E�}a���u�X
4�V�F��Yt�� �򵬸0��Z��ڴ�����n9�24{P�����)�i!������������qȧ�~-���J��_�����s�n��h�2����qu8�-�K�f�m�|��W���g�[�����h�\b|�����#����̃,�Q*	��;�x��UH6-hB��Š��2�g��.�������r!��ܯ֦���������V���EE=u����t�"ڻ����{��M�:RWF�S�йzh�F�-�ñ/֤�C?�r�:��だ�Y%�5�CM�HVҳ�� !�5�p�
�X�=PƧo���ɢC���<TOx�%�5y�RoQ���E�t��{��́P�s��4�ʄX��
I���Yn�EI�ɀ��_��\.h�y��җ�X(Xi1�p<��sVM4�Ӥ,].�H	�O�9QI�M^G�����I�=��?T�W@�3j��q�����˕V����6$��0��.1@�|f�`�T��B����~*�*K�$P]�Y�k��g���*}�`�<id);��yG�,�M��J���=G;����27�ِ �z}���F�e�:l�I��Eś>OH�Jж�I�[�Y��"�X/N�6�-�!u
c}�I��k�B�a����)*b�z���,��a{�z���6'[u)��3�
�Ժ�W��<��S��MT<$Lև�I� �+W}�,��X��	0Qݼ���Z���E��ȞmB�ڽ�R�EB��JQ�=��CP9�~�%��Q�5l��
)qI��$iz��n�p��O�Xl�w�&����s���~3��],qc=b�}��|v����ā���[�ͳ��Qٚ;һ��`{�������*�{�-�V�L�\Q؝��q���]b���T�˖�y�s�����a�t+����	���]����	�������"HC� $��Ɖ��jk��.
�p��X�‰^�3h�OVBW�R�����v$C��jhA�[x��*�vJ{iѪD���&Ak��U�Z&�'п���}8�Pzڜ�y	j}��^<t�y�MM��|ȥ�:�\JG���^����Y���f��${a��:������g*��	�\�q�f�@�L���!
�X��B���K�6pA�c���_)����=C�}Z��sE�;���
�n�<� �s�lќe)�n�4RwQ��ך�,�lٞu�C�Gι�^a|�@��ex���i5'|k�^W�c���=c��~���`�/�W4����-�D�"T�O��+��C��ձ���x#;q���D��$�j�#2��P�$i�+*��k�s�@��>yR�����E��C�'!�‘����Y��e�Q��~Mb����fC�޸�x���yrc�r髈��(.C.�{��~�Խz�����uaZ�n�:��%V���]��Z�J��bb
l^��x�f���̭�Ň��,ƅ܍)��$7Uc��O�0�+�?��J�<I�2����rk�/M^,��dO
�h�̦����FL@��91��Hc)��T��¥Mًi�#�	��֝�/��XMn�R��
!�0�B�?,T�w��x�PpH���
�f���p}�EEL�Yk\��Y_.��\R�A.����x<��pPFR�[��Z�i�l3b��E���ϓi����,A&�C���Y�=��!Y���Bϯ�tW���f�|�_��i�g�&p�<K�[�������>N�'%|P�U����C!hU�~�G�qk��4�U��}����>�Z�Y�D�[��K����/[^��^g�y}EE���ԟ3zM#�+�`���
&�߸�&�
Ўu��bN���B;�<�[�ʮc�&�Asn�>��@�D/KU���B@P���u&�R�pk���E G�6���-*��s���*8�7-"�`Jf�I�m9��d�/��ݚt[����4MK�4��
��Dj��:U���<�\��$k���Ս���u<��zU���+p��jۦ�	���� ���uD������5r�+Y�������:�����}��;�B�tXi:!K��h��ؤDŤ6=�ul��8�M��>M�]a=���}��v�V�}d&�/�g b���nr\���aN4�(w�+{FOo�Z������}��0�>����X�W�”��)|�����0����y�L����>=�R�R^�vbd����a��gNXΜ���̡{RJ��(�����RM[A+"��C�:2����;	RU��2�U~��� �I�(M~Iz��Т(��v�K�
�h
R$t��\XR��K��#(w!�I2���I�̤W�,�y�C�,D��$�_���9�)���Q���ӛ�&U�!�����_�mIV�Gu?{��=�]�{7���c���twUJW��˷P�o��_�C|����_̊��X��ΑiI���jڶ�]�7E֙��]qȵ���d=�K��t-]YU�3���_�(e��APj�~B~�r����b�����UErn�,]3qt�\9���=Q�Wẇ卫��HЄ�V�fK|�2{2X����<wTzM�H��Ԕ�o��Hz�q�r�J揰�P�hU%�b�n����;��&��r@��cEq�{�5��\�CY�}�e���߿6��������[�߀��P�DT'?�&y�ҍRb��5�~��Um�R;����2 E���5�}�n(�Rn��[t`d�K�p�[�p��=4I$K���dԺ���Vb���Zi�٥��3��'^W�OS�jN}�����V��
]���ѣ�Vtb�`�׹���&���:g6�握c�	(�<�|��e�dԟ/�]���(��"�У��u4tr��S�>�>2˿��DА�$�tQ�w�&�z�;h��!��Eex��B������V�ð�WP�"�ϘV���"�I���F�+s�o���Mr�����M
n���ڤ�n�uT{d�üԾY��BǬG��vq��̒x:�����+;����,PU�<�eZ��L�yS*�Q�<4J�*C4){��v`s=3S��gZ��<��h9�ɑ
�C��5Y[�||3C�u|���f�}��(J�ҍ~��2oXS�u�SC��_��z� k��G����k�R\�k�q;J�|���"<нw����a��j��L�6�HE�ui���cj�}��Fs���j��^=���uo6�,��u(L߫��zn
��G���H���Y��9q��l%�N�j}�2����;�U몬�d��q���7y�s!2��%�1��N�|�H�Qqx0�}��\��B�m�b�8Z�dE�CuC�r�J�&�؁A����ɢ	7�1��.ߐ�g~��K&��~PE���6�[��m��U��J
�
/��!�p$����.�L/_E'��ў�T
뚚��_��e����5�t�)\S1�kl��E���J%Ye��k�8��UX�*؏�z�q��7�)M�����c����H�r�t���qE�?�=��<�U1�'2^�J
y����t�1��*ktG�Q�K�j]�}�� �C4��{����$�wƾ��k�x��)�!�C��ҵF3��ovt
����Uw�{)Ӳ�{�p�9�F�Ykgj��8��B���c
�
>I��6������F�L	�]�|���H�
�zqT�Փ����̙m̭ͩ5�T�vy)�2�K� �l�b0�Z���_���*�x�O	�ͩ���D=cm�q"͙���F
�-�}����mCIz�j��+���WP��^\6����5����@~{m۽v�F,.�E�x��0�N�n��f��^�63g�T\�z�T���
�i�:��T�e#����EŞXh��^���k��kҿ*�C�ڵ99U���ɍ�����T���{֙�v�h��*�ғ��XY�h��ͱ��Lև>��Drcc)ŲP��G���bT��w�cǺ�zb��Z��Nhy�-/��[�?e7�hN7�6ʸ��M�����g>hrwM�']p��D#��x`�T�p>6z�Y���YX�~n�
�ڞ&W���*���՟��:M*S���ܵP{�#~3�'̂R�m)	�\�<]!�}���^��4���_;[��B�����Ņ'e���i��%�!�|��ל�
�Ei���-�B����:x�ԓ9_�-���V�tlxF7�Wl��d9�v>�T ���>"��+b��ֽ�y)�U�P	��Rz�=E�ʞ��Z��=/Vj�}�o��2��f��Y�6{]ެbz=X���q�����1��ȹq����G}���I7�q�B?�z���i�ʚ��M��t�c��y��T��l#�^�+NQ��`�@i��c�q1��y�y��Mwы�{��,�����k���o�$�����G�A?RI�0~k��P'����������Ws��a�?��U��=Ge[�'�6����ٸ;
�A�=z�;����Y��"+�!��H�B�%ݑt۹��A:��9j�U�U����¦3];�E5���NE���}8��^+��p�����^�h����1����3�z&�6sz-\����%���8��,�
����5�>�E���Dq��Ўq����'U֮�Oa�Q���wP/}xU��W/��n������@�z)��>�5�s6��؁����t�q��+i�����,2�tw�D��U�;*�7!S�R���[���
�?<@��TLf1Ƚ �
	[;.���߿<h���&�	�^ |SRM��_�p�3�"��领S����ii�C���i���B�41��k�㦬�����������J7�Iq�K?T��s����E#�g~e�#����J#��b�!}U�]��U��%jwXQ�儭-4���Fk��`_S<�(2�#�66
�L���MR�2�)v�R�P���TJX=���FP��u�#�iebS_�u��ޣg*%��Bd�6�N:w���J	��q��k��#�2�ӎ�Ӎ�M{ż���=S)a����H5�$�Y�}�$�f��I8�B�Ƽ��j%�������_�^q�v��hnN��Փ�Z@4�R��	h*�jՕ�M{�P{�#R�U��v��Z"������Yk�$�w]Т+B8l�޼+�,������ ��m�]q��}����@��|�[k�
�j�)s�!���x=S�n�$�t]��=�H���Ҏ0�VX�0� ��L/Aٙ�)`.6�����~��
��Em~��fR�R�����Ki���	�M�nk�$YT>y�UY�]?���E	��+M��LE�� �|L�(�>�&ʍ6Z,��ˣ�=!�Le�As��6RҗM�I_&�J�e$�ʭ�K�+�BL��a1���g��sZ��lL�n����eӈRu�zݝ�κ;�*T��R>�^+}B�a��ۘq2܀���{j#��G��[O^:$���JWF~�(��;�,۟^�Ȃ"?�"���\T��Uec���\�\iQ�a2A��˨�P2�9DF�����&��c������,�o?�YL��S�F9Ul�p��x
�J�'0J4��U�շ����by��q-����:Ƹ����?]S���)2�3�1��-k�n4���Z=
�K�5�3��PLj��=�:�-#i�g�S�Q��I_�f��jQ�����,��q��vY-6�u�~��f���W�㌅zJ>� jX�t��:+]6.���l>=ۀ���?�,���Ve6�I�B��b^����k�y���B����{D��>��Qz�6b��l=�8gҜ��A:�8�k�=Q�xV}�n��k2�w�K=�a�d���ne��e���>�7/����G�^��qDGS��Գ�H���_|�6>��l����G�n�I�ǃSI]^��K]�Yx<�-s\	��k�c���n.�1�\�%5�]�uTJ���e�?w���~C��ͬ���Um�-5�՞<���o���^��G��T��~����{]T�kgz�B�Z�y�'�N�"���ܟ=ו�d��7ׂߕ��oʖ�F�������Fho�T���-#��cL|�:�5��莫�v����8'Q�V}D[�ޔ-,*5($#�Q_Niu����G��0�Qi��Ȉn��z��ȓSF��e`�̙n�������fls����0�3R�+�CI��#ƾ�>��JN*cs�G�J~���tH���}%�����������>�; �b���ٴ��k�*�l��r�ֲMk٦5ݦU/2'B��5#�kZ돱ݚ:��1%UkUlrl=�W巨�.��Ժ
3d���}D���+^�y�?�a�O�0p�m���ۖ^ݖޒLN<0�9""�������2@�6� :�IY�S�|��N�b)QgR�W@vT�Ы��h�W"�/���ɪ�(��e��L�i�+V�!���\������5K¤�,eڳ+KU��Xڮ�Uĭ����5I<���ke�¸ϒ��*��V�Ё��	����t�ni�����?��׌���J�CT�s�vJ.��Tj���W�?�s��ޠmoж7(�7P����6��!�
�{x��L������B�x_/op�[��;�̀�����(��XM��#$�P��I׳���e���RN\x>���jd~����<����G��-U$Mާ�OŷL�������p��B�I�P�cZ,�ʙ���zS]M?~�?^pMm+�Y�'➟#ڤ�(���3���h^,:����7�B\�9��'�V�I�Q4L��3��!���X�V���
�SϨݠ�m���9�Pz�BcJ��q�;��󱨮6j���c]�1�m�Ϊ���ʴ����T���Ǣ�ڨ-<��[���|Y�����1��	z���|<��@�r�=�:HX�-�S�[��k))��BQz��e�2�V�3I�@�%�+z��p8�O�K��m���>�<h�\��A�g�2�t�+��Jq-�Z�1-�G��z�����ښDF������F���ڙXtV��A?Ob�]�'��#گGtѽ�g�1*G�g�3�Y>]���Mr�n�Kd�_�[\��5�/������wO`y�;�ce;��'���w�©��NwYoVGυ��Ϧ;�����]^�2���g�/b��JvL�~n�K:��+�A���F�����\Ԭ�u�3�0rRS���)�Eό���/xl,|,����>�7{RwS+<)�����q��~?D����CV��^��h�X<�7j�}D�o��0|T%�Yrm^�Ib�z��=3Z@�5�Y66�w{�Z��ч�f �\7R򤨽YGA���eC�#��(��
�W@9�-�e#����Su=N�Nh
#��|a:&�L�,zfD���fY�آY6j�}�o�4ie-�R�?ؑ�u��~��)�Eόh��,K4��A�=z���/,d^1/\P��\D�u�6�׸3F,��,����X���mj�e�o6�JN"��W���
�WPza��
�S=S(���,�9bY6&օ�R{�#~���Lı6�)�>8U���3���R���,�n��>#�E=}�o�P��H�����<AU�b�~���"I�W'�h��Zوۙ��h�m@��b1)�k�z
�Ae�b�3�ş|���(�H�/�^�h�X�B�z(�6��3s1�IY3��Ԏb�5����>D"h����|��z;O��ɢ�>��~6MX���	����JW=
��z$�^i8���>��w�ٚ�P��8��u���}��Ku���Z�̍�<Q{�#~T:�ɿ[��{h�>ʟ
daSXH|�^�'�)c�)y�p�Q9����^�$mC��7D��k����2���*E���X����0z���z�g������N
��k�I1��D[�P�J*�NR/)ɤ�JN1�Ced=�_Ϥn��JjccQIm��_��
9i
m	JA2i���d�H%߫Rt�Q��}'�^;�Fj����GT�JUOP�I��iL]]#�,����qj���v�YW>��F�=ұL�)E��Hš�ԓ�dZS�`�x2�C�c"����Eo�a�G����$͡}����M&}TN]��Q��
�Qꑜ�Gٰ�_$��/R������L�%e莔De薔fe�G%OC�P�w�v=b�P.��%~PG�^���G�S堯,)]y��a\�%�,��Q�+��P%_F�ɆuW��@r}�E��z��)�8��%eY���x�2S�`�A�]]�1�+!�[d�i0yݯ��P�ܤ�w��<�.�I�>��g���vI����Bu?�:+���PH��PHmL,�m����4b�~�T*��v�#!u��^2'r�˓~h����H���Hml,�w��=�J
gw{
�����z��n�zTK��Z�URzf��Ds��6>�a����G���b�y^��C�g?���WD�J*1G�PI%/,.����"~m��_�����.��y\z���J>��|TI�gRI���@�\:���E�M̫8)��3i��Hw���v�|!����I�\�%���Rzfh�Dsh�>6��F���͞�b�����r�\�凮�"4P~�Y)�'�RJ�Rj�bSJ���_�p߼IF�]PW� ����K���~	�*)<si�@�_���E!��z�����B��(�kQ!����
�.s_��
)�
���u�Vj�e8W�%)��
l#�T
�;R�Rzf(�Ds(�6&�%�R{�#~�'IEU�G
��&�+��3)���PH��PHm|�[٨�Y!��I!e=^�E[$O��RH��M2R�Rz�+�Dr(�66��F�(�E:�$�mRHd8�R�Rz�+�Dqh�6.�{e���ڇ�f��Q��8�â�RϤ�J,�34R"94R+��e��)�L)�ȟ�i��J��]4�0�I%�G�JJ$�Njac�I���_�x"���'�\�:*MH�O��a���bך9����(�V66��F�������ڕ,��e��u�}�?�g��c�S�|��y1>c�
��1��v�y���o���L~�A���ҫ�'�&�g�K7��P���Bs�kNY�7�5Ud��),]:��:tJ�Y
��^%�+|ܥyN��<�ۀ��b��j&%��x�iĒK�4B�K����2�=�<f}Z���5_��������w$����W�6q�[�g.5���W4�1�e�T�X;�������H����$#�H�_]�4ͥx���cv��=x<���x�ڱ����Ǣ�ڨ���%g4�SML�驧����t���X�z�F��.~�؞�6�⻔Q��w)�F,9K=��ue���bRGxzLm���v�͍�E�P�]�#�.#2\S2/W�_)<=�<0���i|�#6�Q/����jW��PPM��ç���%��1c<�A� ��][=�̇��������⛷5R������hP��7��.�XBӽ?�|`�s6�)�m�;�Job9��s�Q�D����u\�Q^��;��U�'���G��p�]D<�h�rOywB�<:��x����z�遫uN�Yi@��,���9��ϊP����'�3L7�?�W�NY�����^�=G�!���ͬ�8��z�e=��<���J�����h��܀��9k��QHc�aA�'���j��{+�=�@�g�E\bB�f�� �V*Ұv�jl,Hc�Ʈa�ٌW��KO��rW`��X3�jX��j4Vl�C����F�f3��ne����St�a�f-3h��t+uNB�u&���w�p��)u@
�ʭ5���45�O��JS���W�,q^HcccA�v����G��{+\��N~���r�����f�Tm�Fuɝ�i�X���yo�
ӕ�l;�ri�����b�)�4���
0i]Y��:�;-@c&��<���콜�
Ю~��J�K��{%�4&1*��r��:ʭ����7�< ������_�����P�u�?#��W���PT�آ�v��M��9�p��[��y�zuk�{�o��"���ov�^�VФ��3N=3�[�c�^n��B+Y�p嵳1�vj�}�o�v�C~���tahg6O�;�p�02���X^��5OȽ�0��6Z�e�D��E�y:�
[ՄV�F�A;�@"�HQm_��r���4��7�<x�Z�&�O`d}e����$��i�m��IA�8�"�X5�-��;�W�����C��Ήm�
����(����qZ�[��6��ǰ:@a�5烙�#{0�諦�y��20[B!�:��2z���4>a���A�����luXh%M�47I@�p��Uat<8DVV���U��;h�^��!s!���q�|̦���k�Q�7y�]���I��q����aG`>qXډ	6���21۾6Z:�c���@SƏ��3+㤉AU��6u1
��G�pԈ�a����u
gj�o����UFgڥ��6U;K~r��#�R�(`�"n�A��8�&�e��zm�}���w{I���� �G�*L����ɴn���\K��f����u�<���H��k�,^"��/6�h���@��E"�Åנh������tJ�G��v�z+�U%1=���w��Y��̮S��7�J`;���"o�Hd� ���aSE� �E�Me���beۋax(��W���K{
�h�前�&^����E?h���lg�c��D��]�����ۊhh[x�|�hf�6TTc�N>�•���F�K��T+s�vP��J�"�h��N��k#������{������+?�c�h,󮁡Zg29���6���}�Rᝢ��_�!������"����(>\�.O�h�ݴ�
�Z��Ԙ��R:nm�y����mk��1��J�:嶴v���Eq#�1�[��X?u�:�..�|l����&q1
�Rzug3k��'��p&O��_��p?���>��Nqa�`SI-��_�p�+�)�P9$3��R[Z���Ԗ�!�O]�%
�W�Hy!�v.n����k�[�!Y�Z���)�<t���!r=�na�y뉯N�ZV���M3E_{��t%��ӌtCYJ�,%�9SáE��Y������ɉ@�k9	Բ,|l��,Y�ޣ']�-�"P�(G�[��Z)u�b��Zz�&��Iz�W.6��L�
�M�PV�d�aϦ̤�֦]Oj���(�
q�
��hSy6s�i�b�}@虒J�0��??��H�}��:H�ӊ�I)�kzf]�%��J���-+HF�Uտn��tS��7��f���0=��T�K�n	�G|t7�lm�����{d�8��,3��I��G���"�实r�Cک���F���M�S{c�֦~
�it|��x�q�H.����u�I�&
�3}(��
�W�v�ʛP�L��e�9�������k�a�,6j�PM#J�U�*!y�CG���B1�'�<^�#�Hp�30ل�&��uSR��2�����j�G��Ii&u��K�~�=�v���\&z���D<��8	� :1��r���[�J���L��Bq=ېm���mYk���������� 5hIy��DzB����,�R#I���o�v��
쿶��ʢO�	�N#�G*/H{!Se���P89n���Q����iC f�"�c�E'e��E�M�z��C�0<�y	��|��\v_P85/�>:� ���FP��࢏�9����i8�Y��F�+�
���EF�A�Tɠ��n�
^z>l�N4W.��{�v�Wf��K��'���^,*�����&���{ܘX7�L�u�Y�z��K�@�ZW&IW�/d�}����˙`�v���XϿ���?n!��T5�oڤ�j���,��G,��k�Nӽv>�{d�&�B0�KҭP�X��+ԹG{�p���u,4��1�.��#N�9��F�jҮ8?�ǻ���� �L�As�J�1]=�1�g�'�+�	i�y+��Pg��I*/(��-��Qjx�c�z���5s�Hnl,:*<����r3�E��)��ѷ�MՙI�=�.���Q�<��^8��W}��˩�����R�*t���W�~w��x��T�v�Pש
w	-�m��t%���&W��,n���}/w��&���y�)��#�Ό�HQ�a�����:�ah�:ͤ0�>j���'j�}D!t/t��n�ϑ��F/�z����t�i�����P�B��(���x�|��l8���u�t���9:E��e�K{�|l(����G�֑v%�E+lW�� ��F�Z:���}�{�z]�aG���ݖƈ�s�M�q&�-B�,�t�����E�(�:�K$�_;ܟ������ʌ�<qL�aV�uP��q�ØE~>�(��41,���Z�nKc��A{���SIdX��/�Ȍ��i��G«�av�=sgc�IJIb����,����cB�0��U7=V�w�#���PLQ쑘;�_������S7G�b��@�Pv�Z��.t
My�p��b�ܹ؀a�����h����6F���K똵����BS�c���[�p�"��"&��j�q� �c���Yl{OE�HR��N1����
�Z��W�7Ю����!�%��d��=#��H�*��C2��b07Z�}��ֻAY�&�U�X��jf����1��d��ܸ�����L�����%0���1�=,u�d�1��
Is��ke��������x"�;T��ӛ�Á�'�E`���	�̕��_��J�/�Ƚ}��C�^�(�$=�d7+�b`�,����{��B=>�f��5W���8�/]Kws�x�3И,���4�qD��S�,u�C�*W�C�x��>;7�ҋ�k��4T���X6�S(A��և�W��k�[�H��x�ͳt�&ct���|e>�1E�e�T�j�ᆬ����{�&h����ki���=
'st`G���y���I�Z/�צ�(�H���xf�Ds�կj�&{�4���N��$cr��Oцw�U�m�5��#U�4�O�TM4w>6�҅�kQ�&x��8����p>�ޥT�G���
��H�ll�1�̧e��C%�
Y�}�u�˺\�,&�=rQ=�˘	�e����Kj�}DY�s����#�=LJ�Y�H�7˿4]hn�̰�� ��\<Lj�}D�x�FE���s��b�<�!D��=rS���X�m
.���t��Sg1t;8]=,�Oa;��ȵ�U0o���#�@��a%�nFР����܈��'̞o���j�0@OT6�S�p��i�H���#4�
�,I�����R}Z\�	���f�q�}��3�_/O��ק½�1G~>C� I.���o�� ��I��^10(i3R�E[n��3�S��}r�|�/t�6-����"�׽_�9�D�D8M��ؽ$]=�_Տghh������t"�0�i@�W�Y���䚍,b2�����U�Yŝ������*�š:JG���"�F�<M���f�����1q����GsXW�z�����M�nβ���¶�0�)�Y�L@��ԛ<���h���]K�4�B��D�;F��e������Ld �ZOKW�I�.iߟ񯈔��i!$�F֨'
�pd�g�R�/=��cO��Oђ����9������
�#Kz~*$62iy��s�&�Y�Nsey7SJ���Z�$�;ks]m'���)9�z�$�	%�ІD3�(�AA�/�9(D���)�1s��gL=Kv��5�g�%ƛ�S�<��%�g2�k1;�4�]�H���Sb���Y��k��G��3����,(�X��п���}��k|_O�{�S�J��W�MկN��je�����yʀz�c�x���7��M�t���W6��2�����S�S�<΅m�"��o;�<�?�2r����cztP���|��\�L��?���Ȭ�/N5}깞���{4:^����KT�=�X���~n&n��JP�&���/�'�L��`*��b'�:�eo=�{B�{�X��C�}��u�?�hl[�x�r �5��ܴX{�X�{ϴ�P�|/�b��9zƧ+5�̾�Xi8�'�yѻO=ה��8)n=әm�p�o���
ę���Vv��s	�t��W��ǣg��W��j{g��1�8���8���㫩�xt��x�y\����<n��0��ZM���V��8�9;�y<�u���2+Ԝ�S�5�}��{���Y~��V1Z�O��3��x��3�V�]���f�y>G�x�$������̭g,�>�O���1A�]�!9I{j7.��s����B45��Iuc��7�f
Y�jY�3���ڪE��qD��`��q��CIO�/<��~�^�~���1C'�������?�\3mܧ��g:F/J}i^���1z�/П��LKә��C�	uͯ1z�"rG����3�Mw4��w�f-��ӽg:H�ىQ3�]��s��k���Ȇ;�x��g����&칞�b��s1��?�L��Y��� �}��DKQ	_נ=:�pW8�0�&L>W�;g��t��!+��A=��6|��{�7�\�{lY0!�7�<}Ꙟ��s�Уї�g��l!u����o�Z�i���+��5C�3��ϋ�k��{��FcZ�k��".odn6x�#0~��^�pC&n��5��G�4�+����H0E���
�VMʍA�Dtr&�'��s�tP��{O�I%EF��-gs`	��7˶�-�Ti�����ãJ��3g���8#k�Pi��*�j�r=���AK��Ɓj�3s��x�Zo��A�=�:i0.|虏�P�	�4:x��Щ�&4Xx�+(Z��r�"zL�+h���{�@q�Pb"�KB���|��d��huyi{M��\��o:eC�ǾGu\C��3��1 �bڍ� 
��c�T)gk:���(��i��s�,"}�1����kAl�rZ=
5Rg>.c�皩�Խg<uNLJP�OSn�V:z.4�X��SOG#�S����>���1#㩫�F�1��`��>�W[�q�L��{�};���,t�x��X0��q>3Si^-U��S��֭��{.t��
i��3�L��z�=����\�΁�3�ə^x׋���	ȕa�'"F
�ܜ�cX��mvV����47���јV���*$5�˖�8�Ѯ��=Vk7|�&"7�'�{*�ҕ��/Wf/+�gu�
3�-�dL�1!C=ߜ�ҲC���<�%�4�cE
��d�%�y���m�
�ҟ���F�n�י_h�n��l��/J��[a�ǭ�{J;dg�
�>�\[���v�w��s��J��3��߭��F��>����t�c}&�/4Ӻ�Fs�d����L��}jd��k���kjb�{ϵ�k�߇�kict��g>j���j�hQ��9��i�]�E�̭d���yAҢ�z��[���S���ܡ�����gx�-�˨�\k�?u]�U���G��E4�N�~hZ�B
ס�*�6]�fkŚqh6��~f�V8���=���3���y��g��΀=�s��L8D���DƉ2����|f6(NǙٳp�3s����;���g:3��?n3��z��{b��xiw����/��c������{��<�z�bb���g�{��4|Ǐ=}�^�zƩy����3q��85�\�_h�yj^�~j���,��ps���ӏ�P�#�im���(\���ňz���ʔ��k�O��֜~PH��1l�K�����4M�$�yW�
�Z��	W�7�բ\��=�g�{ڻ�u��=�*r�l>�LO%�z虎_>7�m>~Gϵ�S����	�=�Qo�}�t���<�������go_�kw[��c�ŽP�|蹖T��s}��O=c6���k��m3�õ�4O�&�y�ʶ�@�M6�c�m���|ɞ'U�c�)���yi�cϘ��ԭ��>������S��7?��+c${Nmɞ�g�ԽG�5�y!�k��y��8O��c��2w���?_>�W�+5K��x���ޒ��MZ�|�	Ф"��R ���a��{'L�lnpG��68��4Ȋ��I���_C�$?�B8N�U�	���_����h�>+1$�S��1[�c���A;;z�DS�˲;�v�<��SE(,B�Y�=J̞���F�*�ل�獍�?�=xP������3�����mdbHtY2Oj�@$I4�+�8{���A�KnD?���"A��	�؍�Im���r*��jg0sB~�3�R��/85t̄����sL\ud/I��4'p��u��cf�3��ʿ`&eZ������Đ�OR3\4c���T8����
1��N��Da����j�y�ɇ��8��@A���pJE�z�:フS��_�R��S�]VK���$���?�X�$[9E
n�s��/Xi,�E���I<�\��'a<}\4��C�ys7�+)鯱�qP�]^�]=��)Z9
�b��௿r�.f�g���d����W�_'CF�1(��쀦�l� c5/��G�%��MD�oOS����8OdI��J3*r�o�VR�_��R�]^�.��ۘG�DX�0��C
�k���>�`�F�3+��e���S�B����b.��Ld"��1��ә9�D�3,a��63��s$t�f/���q�$M��K07�sm�|�ɿd�I1E�w�����CE�ǣ���L�t�l�% Z�\Y�T��`d!��|���3T�$��S�Q}�O��x�e�����T��n�ڐw=R�U$q?۴��3X�yY��Ĥ�df!�kf���9;m*�<'x�q�W��
���q*l����d�.�;�+Y����"{���=
�*>*#B��e<��9ہ�\��X�暸��_�6S�Ml�c=6T1B��.�hFT����r-'��_02�t��.b�7�v ��فHⳭ�kڇ�����%3@TsR̵��Ξ�	%���$�*��?�N�e��I;��'���d鼠Qʌ��H,z��yr��q�ɭ�a/��/y�����\�&�$��b��|,���0�0��V�q`����X����_����~f�A�m�>�lG�����x�����#"��M-�r�O�贩fϥA����d���1-��a3�����/�ge�7��̵�݆�:��籂|�
��>��54��o������͓=��@@23�p��Y���6����B�L��ð�4���y�e�s����_�8����#�q��72�h��.���#�Ô>�/��o��������X��L!��Z�,���~�0������\�."z�ឭgdL���~4���{&y�8��3��
L#X�hN:�������«)&�q~tf��/��'M�Ջ�1��Y9?��It	G�>�/ �J�w��j�S�Yk 9e� $+|��t��8�W�x&�ߐ~Y
�e�a��_�ك">�8-V��s�:������m�s+�����DfC��~���a~!I�r��W���?j��1L���P��r0��TE���_I��J�/a�]�j~�5�'Z�eDAۙ>r��w�COs x9*K|x�M�y�8��@�S�9�T���^���Ikb&}� ħ�X�6r��7>������
�,�kk��/��0�/L�j����%��"U��A`��0TӯC�hY��q�Z���×���|$*e�s#�r0AsF�nm/=����<F���x��Y��T�0%��=r-� ������0]P�������!��%Q��
1��?�c�{��va�݆$1��̌���`�ږ�ǟ���R��M�3�1dK)b����2K���݃�p�i���9����50֕ƒ{V̳b~w�05�U(�醨�9v�E��;v��QC͐KIs�@���,�vsL��<�p�E��I�#�n��?�5#���%��&}��[j̗J��o��}I,����Δ@�l{��7��h�B3aLL�,
�>|���yV��$^gS.?�_�/d
��fΫ,�z���1�l���|G�X��h���L�ͳ'��lAUX̉���a�/�91��+j�|�+��U��ܡ���c5ۆȣ��-}\T9�"��h'/��g��gp@��������6�ؖ��zn�(�a��|�Ѓ�L�XRf'ȹ/�`�3�S�Q�C'L/�2�h�h��`��:�A��
�ej�[l-��L�ff8����h{~�`9f�o\��L���Pd�`!Yp+c��`�O������2�=�Z��`��4�n����8�`vk8�ڞm�w�������=Т#�2�	���-�{�l#<�l#�0AJ5��	��DUi��c�LJ�s���ݘpܵ1�z&�:{T�G��6�@'$(=ەE
226�=Q��'H>{
��Mu���s<��L�6sR������꺤w��겅W.�g��%��,��y����C��B�̯��
KX:���Y�F[*
ټC�a�)�,�����C�̖��C��zgO�ii�4�I$�`�IS&{�!H�,�����l�j��r��*S'{��mM�gDm�;����Ξ&��v�e�Iײv�}x�¼N�F�Q�p!�n�:x|Z���37H�����N=�z����Ǫ���y
��N;S
X�����g��j�j@�詭��/�<d���9Fc�ّQ��F��7�P�v�y�������G�2�*J.�ڴl���[��_�z>�>73l�d���6��
��y��Ip����v�[3�'�il���r�dR�#���U��=�X��H��8�,�[G~
:��f�`���mB���=L�bi�vE2�`~^��V�f��Rʄ)��8�t?*�x��ѐ}��@T����.Le_Q!�:r#e2>;2
m����*WE��f�/*_U��Q��Q�s��s[!�=��Z��bE����h=Gf�q YˮkF�L�}�bF�q8�$_�t�|/�u�4�C�.�������p�&�H�4蓍Dc[eZ�s���A(S���^5���yE��	�͂�Cx0�W�#���w�Ph���t�����xkڊoĥ�K�Hyy�:�I(q�
��g�y.��v�Z�U}�eEE�H7�t���]�r%�l0��'��A�1ӷ��_��Ԝ����&\%��E�/a����-���\t���1�����,=�Q���b��Y1��,�%�r��1C��'<[*���,�S��+�q
*��}3+AHj�P�������?��A��P��D�iڞ0*�S��bց�{��̟Ym*��u��V������̩̰B�,}a����RY���J���V�B@嵂o�B��Ç��\yϣ+�w���O���x�M���
������n��+T�Lq��� qK�v�i<l���g�>�p�7����?����@�����?�Ҵ1�f!�*����uh��Zprc��+��-YY�16��p[�yV�l5�z���I��û��@��'j�U�t�ʞ���>+�,�v�$Uq��1��ϩ�?����9���Q-��]�y�J��Me�+g��)�#�dS=��������@��?����OH
�	�6a�D�ڸ�����
���48��\�qΤ0 �sqv}zCEmǪk�ϩ�7:��
�4G䏥��`�'�:�7[�@��q;����C��_��	�# ���g��L�2>B�_����Q�${��ֶ��GEe�<g;���b���C�\`T����
����6^�܁�o�/�7��o��e����
���?θ�2Q�
�oȿ���o��~
��n��ݐ�!��!��!wC��Æ�݆��
�����7��n�?�ȿ��?mпޱٰY�?%���������7�_n�?m�l������������
������
��
��!
t�_n��m�n����������rC�uC�aC�����
���o�?�����������p��������
����+�/mC���
��
��
�����o�?o�?�������?�������������������;�wm�i�;�/;�+��7���
���w+�߰�a�x�q�u����
��
��
����7�a��b����O�w�7�#�z��C:п��C��o��l��m��݀�����
������~S_,��r�/;�Om�~�WT�]p��(�i.H��FaUJ��9�9$�� F����h�9i��q!O�BTm��c�)h�Ԩ���9,�v�=�y��N��*�/i�f��6�JUݦ��/��Naؿ8b����;&���GhBr�r�b+�٤�F;4)'m�miZ�F~bυ�v������?��������/�4�k��né�ǏL}�^2�}�\7�\+8O�_k�k�Q�ne��0?�M02S<zRp�U�����j��k!M�7�sL�����Fa�?1��ge��ъS�ƞ�~��m�O��.G�ˆnڳ�H����h�}��a���lph��YPY�|����o~>���7?����䛟O�����ϧ���'��>����WG��6O�r���7O�x��)7O��y������<}���'l�>q��)7O�����}����n�>������W'�;�XV����o^>�����o>>n��q���������O�||���}|���'�||6�������ǯ.>��}�򉛗O�y�����g7;�7?�������'�~>���6G��9�ԛ�O�9����'l�>���n�>iu�)m��7O�t������o�>����6G�9������9����'��>���o�>as��O�}�O��6W���ě�O������O������'�mԣؼ}�w�������'��}���g��)�����So�>�m�>eu������ק��>�Dg���O�|}6G�����|���'o~>a��7?�r������'�~>��>в��>~��O�y����O�=}���'��>v�-�>����o�>es����O������O�]}Tw���7o�t�I���[�}���'ݼ}���9�ě�O����'n�>LgD��*"�hm�I��up���o�G�#j�2
��q�+C:e	wH���
�u�t��Ig��x.O�G/��نk��D*?ޣ8� ���?���_�(�c�����V�OU<�㒱� �����}$�/�,���iȨ�S��P�@�:�)���/�οn:�r��M�7����M�_W��t����/7�[u�nS����?�J��)�ݦ�o7���w��|����?mZ��i��M�nZ��i��o7���i�æ�ϛ�?ܴ�������?nZ�x����?nj�.t������M�6����7�Y�~����?ߴ�~��U�nZ��i�aGY�yS��U�ߥ�K��nj�+wq����?���/��?����p)���O��?ݔ���/��߭Z�|����?nZ�i���7��'J�vS�Ǜ�?mJ��)��M�oJ��)���7���i�ݪ���?�����o7���e�/�D����w��߯��]�w�����o����zwS��M��V�]��E�K��6����7��i�������?�4�����?m��|����?����i�ݮ�w7�\u�]�+~Ү�O7����˦�w����T�qW��U�_6��i��M�_f�?N�Y��n����˦����t�e��M��7��ZI`����3g�4o���;�>]P�|�#�Y�_~��C��m�ؾ�|�>*��_K��9s�܀+�&ȋ�: �q`g���z�5���_~p{~��1��%�OfFQ�7���r�V�*5)k�wa3��"�Xl+�l�O?E��4������<�>������<�>������/���d"�� ѲaU�B��G@�*����u�!�?�����*":��b�#<Ή������=�M�@R�J�wkC%V��r�!ז:����;ZTϑY�b��?�a��5B���?0�b��)� �9e�'�[;��
F}�ʩc�ra~��/�d�y2�<�}��>Of�'�ϓ�����d�y2����>��tՙ`hNM©�9�y*��uǔ���QջLL�6:ve ��8����	L�����w�V��0�c���dF���O�0�;�}��L���(�+�(|=��o����-n�|�0pc�R�V��Z�V��%�
ݧ�?0����`������?0����4���/�Hiw����')�4��!b�b�mTp.��=�Yq
�C�:�:g(�pp��U����m9}��4�ފv��ʷ��`{ڨ+�o�UQ����ڕ��C�	�9��"P��<�:� \��5�ރ�8��������<.8�����<.8����/��d!��:�(�J���@%���@ȍ�`�͍�:,�eR���B���a�L�܋i)s&�	
�ҡ�`.O�O��LH�q���a8�8a8��OЭ�?��}�#�<"�y�0g�a�����,-�{�͟��vNS�C�ņֆ�O �H�a�'��	�}i�@�'��	�}i�@�?H;g$�o^��CV'��M�����@)���?΅��J����f~���a�T�_�!�Z�N��5i�#?���7
�r�7$/��^����'պJ�i��"���E�qd�Ìx`ݖ#l}
70���C��P�8�<5�C��P�8�<5�C��P�'j҄6���zA�,�J\�+}O��v�[��r`�|]���Y��b��Ҿ��C��%"VB�D}�)��A%��s�	>PAq�i���7
���	'���sd�IL�{��2��[�
��[ؔ��i�L��,�kk�6(��@��?���� ���@�?�;�L�"QO�
�xV�"��?G����Eᒣ�ItJey�}��d�8ѣ]`c�{�D�^)ql���US��֖g|Ms����X�Gѭ��6{ν3\CZ���
j�ve+��j��`������=i�I�%|��=)�����̉(�s*��;��h��Q�	`>L�P�&��އ��wncs�qL�oC��Y)�_��$�_�K9��xΉ>/:H9�lqX�;–y��Ӧ+��x�S���mw�l�4��l�H9���H9���H9���H9���H9�����S@�X�̲2y��RY�U��]���ay�G�J��,��7KB�S�z
E1PH2�m0žB�*�m)��`$C��dy<�m[w�ǐ)��t:x��/��{��kg&ޱo���]Å�3�KJ���$]�Zd^��������s�o<��,�^!��y�j;�rs,e�j�;
����,�l�e��������qOcTXo�(@X;1�Z5y{E���M��
�B
U�TJ�?�ܒ69���L{��K�#��n|T�Y��:S�!�2�^��=����������ˊb��e�+�zηV�k\>�BS�����	'r9/zs̷-v���~b�_O����l?1�O����l?1��c�'�ً�GQ'��UU*��I!o!�j�q�y.���
�� �#�D
��Z��e�����O�E�pr�n@���p�m�C[]��FY�\f�m*aB6���Qd��vy�	�AIrW��z/�ߍRB�vk�	Y[�a�"��O��̶��tE��S<c���i.�~��a�$�8̬-�h��B��q�C8�t��rQ&�'EY���ϫb��Ę�s cO���ё�_,�1(�S��|��k��MYajTb��
��P�"<�N�q�93���J�a���{�G@z�G@z�G@z�G@z�G@���@�p���hV�Ī
��?�6��'��}`r
��m
a�ĵU�׸�,P=ЮYh��R��+��Y*
a2P�^���&g�mq�9��e�̏Ц:$��r��N�ȝ���G��ȭ[XU�lEU�������*P۹��쐾�H�-�&��'�0��"�b��8TF��y�x���(�^��[�d*d��L<�4�P'0e�q�&q�&��<�`N4-�I	����G����vu؇�xt���#^�N�!yZ��!<���ү�)��]�dX"�Z%p4a�]�M<J�x�7��K<*�x�7���ģr��*�M<�7�(�ģ��G�m�Q��G~���*�	H�& 囀oR�	Ha��& ���nR���	H�& ��#��Gq���M>�ģM6�l�w�ȷ�p�7�h��n�Q��Fn��&��h�n�Q�D���F�&śh�IFy���M2�d(���Q܄�|�nY}���&�ģ��G~��.ջ|Գ�t�(n�Q��G�Lay���&��|�n�QZ�#z�_R�	H�& �M@��|���M>r�|�7����#���&�M>
7�(�䣰�G~���.APY$�˚$$�IH�&!ś�TnR�IHu����f,�*$Q&Z���IIu���.%����	Ie�6�ބ$�6)�lRRݤ���TV�h��t��&"m��&��x�n�Q�ģ��G�&��x�V�(���|�M@򛀴'	K7)�R�	H�& �U@�Kl���MB�T6	�nR�IH�&!�IB���*$՛��v!)mB�ۄ�|��MH�����H�&#�UF���Tv	��l#	�Rfy=�:AhU�P�#��tU�PLO|)ޑ�@���0i���*13��� ��<X���Z]ɇ�j�;��v�S�20j��͘K�#��P��m�V�S�@}��\���8{��1П8E�H�
$��.;�(���%��Q�j��6��c6��}	:���,�$H�����F`B�˹}���mN~�/���Nd�t~n�m�w)�k:S�o)��H���H���/���/���/���/���/��������]2y�5	��E3/�k�޶���()�XMʍ]`�9APl�^�韠�۪�~z��H�`�iG�v��j��a'���ڞ�	��=a8�wW@�ĸ�{
�}�S@aa��=����G��P�llĵ̾Y��`밃%��"|
)BX8�y-�??��,�sO��x�=�`�'��	�x�=�`�'��	�x�=�`�,	h��
D;RU1����(�s���4���>�r���H�do��E��B�c�xc��E����]S|�,��Un$�I+�N��j���#4�o����+;#"���.�Ԯ��x�'�+��V��g
0Yq���!�"���|"L���!�� ��Ӏo�ѷ�x�mw~+j�ΝB�g��o<s�<�Ϟ�gO��'�ٓ��I��?{ҟ=�Ϟ�g(��)�	4p
��ŀ�\G?���m����K�VN�#�l
���:LN`BUq��D��B�C
cX&�-�V7^ʂ�Q��C�tq�騲]�#�=�<\=d�\:������^%٩�>w}��A���/P�}��
!���Ӕ)���6�3���Dۇ��Y�s�96T�c�*�[���	�|�N���'mk�V�_7�o7��Z��ul�
<�o��ڿ���m�^#u���[߿*l
�IF�	��vo���7c�[�s_���Guڼnl����s��s�&m�(�@��mڽ�΃Q��N�7��&Umߠ��}�l���m�m۷���x)N7B��?KA�sn���^�	��cSa�@f
���q`4���bj'Q�P�=�5��n�X5�F����1т�p��7���F�#G�c y�K�A��G�V'��ئ�Qv�!��M������DrQڎ#�~����dH�FL��vM�#r?"�#r?"�#r?"�#r��"w�o�-)9,̙���p!4�|�Te\%��D������(�Yn�
M�dd5˴(���j�����2l?�؇ ���]"пB�7���'�te0�E�8�>p�)\��{-��Ј��."qډ����^jsד+�@q��+�G�?z�z4��M��r�6�MIזeH����q�X�9�c`8�L\��T��ThlPܧ�{�JO�#�%�<{P
�����cn�47��}�O����񴻁�����{<�O��iw�d�� V-�+B|N�]<���c�M�����&U%r��`:�ê�`u��5��"���ڎ��}�������K�꾻�>d{��b���WĻ;����M�,�]�THY	�D��v�.��0�0��&<l��$6Qa��
��8EQ��ŽL��r������r�_�SeC���眞GO����=�$�������>}ί�Ə?@�OI)f��JH�y�w?<_v�з��7&�iʿ6���=F��	����3�-�����05�)XJ��T5�q�ZL����TR) ��� ?�-z��$ϖHڒ;B�h��؍��(vF�3��Q�bg��ŵ������\*��U�N�Z(_q5��LIw �(0�?�i��d�ɕ0a���BΊs+<��ِ�J�1�n1��e@jk5.Qq�M_�,�8�@�!3D�#�����-�u�+"Ȫ���Q�A�Xj�^�z����;Z!)�#@�J'�U/�CD�5jm
������ď��������}Tݼ�w]�d~T�̏���Q�2?l��Q�3?L/�C.�ď((�?zA�V{e
[qT�b�0��A���tYג��-4�Q��W�R��…�M��	2�	R(♒l�3R���Tg�:#���`!U���R�����U�P2�O�4���ϟ��@��fI��	0H3��x-Ct���e�IZ]��PjܝP��]�*���i���>�'d����@�Z:��s*�A�V�M&	��!�Ē.s�ƒ�1ŵr���-�Q�8���;|�M�9	=l��-��<���s�3����$g �$+A1�~�	�]aU�7$}/�U"�B��4�,�������#dj�\)#���QPphtj(ⷢ���`�Hl'`B:�1A��5��XG��L[��A��D��|���Q��ub�M?�
k�|�+U���M~��]��̜���~�4�*R�f�k.�+��t��\
sU=Y�(rF�3��Q�"g��C�^z��B�c�`"I�iX_�~��S7���%(XF����i\�XQ�véF�~&L��djD
������N6yJ1@CH�oYKarU(	�4���Fcm�&�£������g�W�
����P
���
c-CqqD&Bk,�(���44?���ṛ�،�f,6c���X���Jj�R𩡅"p�.ZUQs<��{���+��N�L���'���U�� ��Hh?��GF��|)�B�(�ߊr�&
��*4eH��$JKT�`W�/�j��� Dз�5�MY3�ް�-)���^#C���m~��}��*њfhT�P�A��/Nu$T�JCI�6%欄�}`��vm�4g�+�6�bŽꈞ���f�6÷����
�J���*\)h�tXL��#2����gG��$N��kQ�4�,%�z!�:��Ae�:�0�ߊ�/�/u�s��H���z7h�9�l�u�CM���^�,"$�I�󑩋7�CA�Q�J�%�
��)ν��2�%d�B�*@�������8*<'6��g�?3����v�x�]�Q�NH��Z��U֦,K�����I��rO�[���dp4*\��=c��<k�EA;�L*�U����OB��I�,�	�6j:N~G�[jF>-�`5��a�uI����8���N�3���J�C�P���:r�ں�)����V����F�!T"�qbW��5���"��'�g��g�4�7͸i�Mی��>� �?��K�t�� F>��p�pQ���U�2�TY7�w��>`�i�h�UA�jR��j�ULj�:��!#������`N	�.V,5�.B��m�d�#�'���9�z@���h��͹�&��d0M�N�M~ϔ!gVa:�D��F9h���$:*�ݧ�F�rm�z����f`4��hF�FUx�bm�P\³
�omu�3[RU1���D
�U���<�T�ğ�ҤH:� ��(�
��lG�	�����9�(R�~TΡ��d��ZR����פ�5iw��W�EwS�7F�Fup�U�LLZ���>���B�&4g�n��T��U߂=�3D�?`���s��ʳ�Iu�E���u�'����̌df$3#�p$#b(cɏ姰�N�~����
��u�c%��h��AP
��j�h�Aׅ�.gU��4u��j:ij3A���
d��lt)���د�Ŗ�����p�'���%���8*]�*J,�����d��٫�'B*���V}�]&��h�R��[o�0c�3̘a�3~`a���XJ��9�
��Xp�i�,��4Zj�H�j??T���,*�B�#W�;$��s#ɢ�W`ԧ!A=O��0F���4>�qp�u_�����l�4A��zT�hM�H�D�tқ���@M	7�#�����2�
u�\����2�S�2	N��
��c'0Q�q�O�k4��aI�����J�Ӗ��B���/8�o�C���{0茣P�;���ay�.�
���7f�?�Y�Ϻ���_�G]O�5Az՛�Qs{Mm�+)��X4vkP�P���=t�{]aN/V;A�D)WAg���*I���-wO�e��M���e(�S�̕�m�ibA᝔"S�A����;J�lbV:WȘ t�����KK'hU��DS2M�e+O�*ƹ�sl%�bQ�*.D��=+�YϊxVij"~|(b`�p̢���h�.ѫ�k��0]Ή��u��oW0Nk?^dpjqFR5�e`A�(<@�Ry���A��<�b���9AFtЃ��VM�wل��x��t���`^�Z�氖5${�P�E�pLz��:fR��m�E(�ba�-٪�����))D�t֔�CZ�w�&����g�:��Y���uV�[U�VR�[A��E���MbAω��;�x����� ���e`-,�O���	l�����"x<Q3�5:�ʠ�e��)��iB�1%����v�w��S��\��^�K��c>Z�6�#��|X���a'���%fBe Q yf+a�O�X�L�qd;l��@I�lC�V	�CГ�"�SO�����;�P�Ca]��/�����F�~�k�=�
���3�^s�6yЭ���x���֓#-��V'��,�x�N��[h^�2�T��L"^���r@v|��˿C�DU�;����@`)�Q�z�~q�_�F�	���N!��mL+ZG�I22p$J`"�z��(+k�h��'�|�Uz�[�Q��T���d�g+T��	G�G�oi^�#G�9"C�RMYɰ�t�¾��W�*�#\ς}���H�C#�K���(T
[G1��Eb��
\C�J LB�+4�'5�"b�Eb�_"6��	T�+��A��H�����wv�lZ�Vx��؛�H
?���,z�
]�b�a��+eM&���s0�%]�R���#�w,L
I�mIڦT�ǖ������̘�@�*d�
�%�G� �)h�\��z�z�q*e��2�-0��Q3K������"Lhr����W@ĸ�"�J��u�=��3��Z�g���"���$.s���C�[Ň�^Ԓ3�а���AbC�#��;�a��n�KI�-���#��	l��#F�s��`@��2U���7$%�U-h/ቃD� �YZ�}�A	ˏ�0��[	�BH".(=�H����K H:YL�ڠC
�hE'^�8ۄi�;��S�{	ί4/���E;K��{$zJb}:�:�~�adh>�� ��BN68w��
E*�@I#p��@�b(�v��
U(~�^{�
��Q0�0���t��V�<�&��_S� PJ�(hI�/��A�Ut/�Ђ���i�.ZAG�R�;etW���~q�����m0�$�%�%�yDIR�f�,ù2u�F��&f�y�`i,ԭF�	�º�x��s<.����l:���_�@�n�	8�x�9I�����F6-t����S]OM�~���Z��T�
�,5lk��H�$4 c�Q��]@�ՠXdXTܥ�4�cI1C�%F�%~甪
����
���W��~n0��a|'�U39�fEY!�L�&4&u$h�#�~���LKH��
��)Lf��
|V`u��+�
Sɖo�������
�)�omIk�PV��
ި��P����I�bG,@]aKU�o�>:<a��
�H6��KD�׭�fMj��S�Da��&��#��b�$�^�E�uk���-C`�p��I����@���(�����gI�H
=%:�/��:�%�# ^��|��8��}Q�$3"f��n-�\���…Z&~���	�(�	�A�5�
��(�\ID�7*�l`C+80���!�C�T)�~�����(�(8�J��Z�x�ƠYb}MBj;����[����/Ϯ��i��W�i�+Zqϗ8�mr��h�VX���p>�Pk+9+4'���&�3~,�[X8O������jC�m2y4�??�?��D^Vx�����Ѷ�>(ϙI¼l��3Ƀ6���F-���������m�����6���ph�)� �-�tf�bZ]Z�PW	�'�t�JPZU�8�|h�tnj��2�&r�Ey
�����'H[�-(�,�PpH���ǠO`�PD�K����$#w%�oh#,�h��Xyɢ�5�3�U���u?֐
�=��BUQuMl�E���=#��WU�xB�FWU!@�$�b�v9������w�4�t�84��2���k�pZ`ex�+0<��|UI9���r���{�V�U�&���ք�휠�N�3O�ؖ�`M���,eiZ�
:���Xs@�P�T���y_f٠S%U#Stl�h��Ϩ��!�md����F��
���f,Y��Eժ�B�쿏A4yjO��M?�%���,�7tơsWK!^��m0�;2��?� e��Y������ �!�sG�WICgn
N�
�~,�
��7LtYw�J#
�<��-
�*:$Z��� ^�wPSBB_�d��*X���
�
�����’c�U���g����Z���/eB0>C�`��Dr׎�]�,^��P�	i1��8��Nh])��g�]
�A[�E��xjD���[$Ca_�QT�K��	r�!5)5J�G����_ٗ��0�`�O�笐�dJ?+0f��a��A!)�4�+�8�.c�F�S@�x��Wj:o�aO�b)%ձٺ��h��R�#�A��x2�h2��`�J1V�Q�b��k}��Ay r��͒%F�@�#��T6B	�"%�ɍ����(��ď�t�rXk��E��#����&�UK�C��zjK�rf\�pr���WT2(���7��)��N�X��p���!�WXS����j���D;�\��&M��
�f�Xߠ�m��9�P�	�Y0.(j��Uo)�ԝuڊ�9�M�l��.@�c�iĒ�
J;���"�Ώ2djPj�Ϥ>��\��'d�'2�P�t�sS�Zpس��jAE������!z!��t�1�h�lw�d�<�+����F���vػF
:3c2	Fj�uD����K�8*H�aGS^��Rb��S��Lr^4r>�;2w��tp�0Й�&��魣G(�U�Y�4��ֆBY!ܢ��L�V�}X�����3��9*�q/CX:�)�&˖�C=	qOҮl�c�)Q��g,dJ`!����%9�l�˰~��dD��#{����h��� P]��؃<S�$�$&�CSJ��gh��Gs4"k���_P4�d�Q�F�(iZ�tyk��
���hơCNi����8�?�(�B/�3� a9d<�;X��C�R��\^P��Њ\��5
\����\+��:D���X�T1��B��@�'�N���0po���%��I�
끎�G����:�[�b���♷LI�d�қ��y
��@�3�h!2/�P��e��
�d�}�*�F���,0B�s��;�1YAl���c@:{h�A$*�:T~S�F��0\��>��Gn(nX,�z,�{,m;,�ߤ<�u��T2k� <�H�7�
B�I��\���l�N��#o��%��X!
���9ɮ�c�R�'�iuQ�
c
!ʉ�������XйPo)���ߐ[(�#~�:T+Sl�0}g����7����lr{lMn���	i1Z�`�GaTV$� �Ja?�1�D�BQR�F�F����֝�*h�,��?(��xCIG�m1�z��=&v��Wds+��,�� zSRD~T���[��������P����`��Q�� ;�dz�PkJ�Ӛj��6�kXCt�Ƅ���쎩CxjhK�(�Xx!K�	���d��y`1�R��g�	�(
e�
�'{�b	ܪ��S)�n�$2��n�]M�����A���"5�ў��l
��T]�
H�N\ƆT��mC:1d�!h����T�Lbm�)��0�$f"�<�Γ��kjy͚X^�w�$P��_<́Gs��l���,�9��g��~0�(�
d<zr0f��x4́Gs��x4́Gs��x4=�
��n<z��f���b6=ьns���n7=�ls��x�
<:��R,IQFk��:�y��l4U]��i?���H�)������k�Y������+nX;z=06h	/�nx���:����Z�{�n�X;t�%7ܶpJ"�N�:���+V��\�>���%�Z��.�,��xz�\:~��:�%8d8�Kw`�5`�
W�;W*�4w�Wh�^���Z�����Hg��ɍ�+�Z;�—���W�}�R��r)֎^q�K�vձ�O�K���X;~U:HI����7��z�����Rj�*7H���io{á�|�������KP�D�I
�3pT�Q�Π`����`|΋vL��/�Q�x���׎;�=q筧^}���Y��r���g������kY^z)��O~�?���?�a߳l��k^������s~�O��7�]��z�L�.<���e+���5]Xo��h�����2��e�Zw�r⑽�z����.Į�_��	YeK�W���*��.�g�*yF/V�
n�R�o߮��w��w��2�O�}��u���,^z���0*��p�@�d��pe�s�F��֧�C8�k3��S�W�S��������/Z>��s�=ﶋ����>z���_�_�C��,�f9Ku��>]��(����R�R���*Qu��ݱ��?��=���!n�
��!�3\Y�\�wױ��P��Jpn_�S���k��_\��=�������}慿t�ӎ_���W��W���_���Z�>�����O�T�EFA��>��?�X��i�9K����5Ѳ&���OF�hD�Y�y�'W���5��Y.-����z�}��{ʘ��֞Ż_��Gw��tӕuf&���t����U�����_~��={.�}_q顧^����pk�u����W֙��S2q��w��G�nyx��ͻ/��oy��·�~�W�ݻ����s��ş|�h•	�e��f�tL�:�����}{��s�������ǟ�KOٳ��;ws�ZX�'���3S�'a"{�'�4��_��uǯ��o�5�����1�EUL+$�>F�ظt���ʨ�jU��h���.;���w>x����#NJo����_�ήŇ>{nB\�Z�DKQ�{M#��h��'��7�P��?|��ϹP_�_��;/<��s޴X|�yg��PX閬�#6)�Fa���~%����y���)]|}��W�K��E��޽R+�5#;���ڑ��QϺ����x��'?���9���ӬuB�Hh�n�;Ds����{�廖���/\��G����sO_}�y���t���?�ݏ���a�:�V�‹u��oy���]�]���9���>�؛w->�k���W��-y��;L^��w`W ���C��7�xq���6�AY�Q)���?b�S{�+�98��d���Uf4�r�׌��G}��/_���Oo��P�(���Õ�����yx�ȑ���]v�?����y��{Ϗ.�/]B��%$!F��G)��
��%j[�+��������TY���?��H����:�WL7W�;Wh��ds�5�ʄ��+R�]�Ff*ς��{O�݋��9��Z���Ttՙ��z���I����fo�ޱC���.~�s���	9��d��qH$K�����ʞ�DS�Ÿ�j2�ɨ2����C�>���~4�%�E�vYSF�-%�Aw*� ��()��Ī�Mm���O�烋��~��;��I_�d�<hv����z��Wڻ\�y��rU���H�T}���x��v���6�{���jƏՒs	�$PZ�y�?�Z�
�:���Y����~��k�=R���p�N�tA�n�K�ȩu�y���uw����Y~AL���y��9R	W�荲;pOzY{�<�E	� vyX:ZE��
��
GU?�>=|�5<Iv�}R����g:3��+a*m4I�Es�K�Z[v'$������s�z®O�~k�*[U٧ģ�8����ރ�\�ؿFw�t�;���d�����	��
٧�CyIʓ�gӡ���촟���1D���S�0�)__�r���V�&m�v�%4^�����wѝ��l�*�^��@�+\���&�AL-��;ssK����ci���t�"��3��T�41��$�|oy2ޝ鋙	������֚�$A܉k�z��͂G��Y���׶oq��_�K���q�|z5:/Q�Ow��Hx��׶/ؓ�,6��(�v�M�kSٖ��$,м��0	��Ù�.Ῐ�;��H��Y�c脄t���m�h6y�J����n�`Cc49՗᱖��D��~6����5,#�N��Вw6Y��yofG���3#o9�Uxc3ޑ�:?���z�������[�E��5����u��o�ފ��=�Y���HD�-�D9�,4V���f�z��JY/�Ãa�?�2g%b��G9�q����x��^��ޞVس���y$CK��
�<��Ĉ��t�\��yF�wv@���4Z���5w�
��׎n�ܿ���؊loE�d�n9ٞǂ��S#���:����k7C܏��6i\~��1���<�LG�2�� �J
b�����H��3�u��g(����p��������A�z�nI�V
-���R�����)���T�E��I ��@��R�9A��=A7nN��w�D"���jlF��
�rjw�}�?Im� ฿�:�0������W:+1�tL02�3��-]��uXI2�G���Vٳ��K{O����KE�6c�?ZA�t��M�R}�<d�����d�����e_��U{������)Y��������,�RN�œ�#���Zl�[�1`��ky�y�Q���W�Fȩ��L4��Z�:�L4x>̜�����R4��P]��z*7�Ig��R�=iy�y��˥�zjl6�[��H�=;c��cօI�jU
�
�F{��[�8o������2;0$c���PFN5�32n��
�6Yǡ���`%7z~Nx��?+���`����F��0R&���83S30��N�d����H)m��g�H��u�)�	�V\�����Wɭ:Ëc�v�g�):]5¾_��3�/g�D���5g����^�!!I�4�;�
����A��ߖ>?e�iа��KЮ�Rb����X��,Rclq[0����R��S0�zN�(��TVEuDٞ;�]���޶�]{�#���Fm g�I�Lo�Gg+Қ�C�JV�1�yol���Z�����ز�똰�-ǘ֎�K���i��ٰ
N�t�#y�8 �7:sM���&�E��c�B���\��lN��~��6�K(��;X��H��>L!��!;�nv_m�"���)�H(n�������0�}�ǃ��T��v<nF�3w�,�
�5�)��|���@�Q
�/2�Ɏ�Crx(ϙ�
����"�
W� [}����pc&zU$;���qC�{F�����9�n�ĸ�F3��1;C�.6btk��76tB��Xc�P�bH��.9n�Ɔ�~��"&+�؛&���K�qk�e���3V9t�w���II�c��4cX�K
~U���̋ك?8�qT���2E:�ጎ���I����v�6�D���f`QNRr����b�a�ܘ9)�H1����i4�Ï-�94�_�b2�.SJ�x����٭s�����X\	�bF�L�Z��s����f��y�Ŭ\���t0y�Xԧ��&am�,8!���U��KP��goQ�Nc2p[�����Sݚ�K�B��T�MU� ?�<��@�D��Yv��M�L��4g؀3?���mR${>&h�3lt���n����3�	�c�)7��w�a�/"�Юe�hF�!���#��g�K|�2��ԷzX�x>֪1j�(�qN�O���9���a��W�0������n�Ig2Tc޵9��eyo�?)�#��J4F3��)>��=KeĈN@�t���m�����d���X1ؼ��K��*+�9y�Dn'(�i��7M;!�zl5~;��1�
��(�:>����m8-��-8f � O�����FR0[f�_e%�F�pBVG\�V��:�W��kٜW�1�e��9�m%a �t�yCG�����k�]Xe1 0lQ�>6=���4�J�0"s�(�'���"�W����
x�'���D�k�Pt6}��N"l�Y'ͯpM�|�ecdU(�fK�VR_Xo/�"\h4�iVx����/�K�>�q��O����q�-i\Jo��i��>��r@��i�Sv<�S荿�GN�����G/->��]�|j������i��̫':\X�\��B�R���RK��X���T�*��!��;�ƿ��7ɷ<g�yX��E��/?��ٺ���}��6�B �5r�lK��|���O��o��ٿz�{w�����,��ޯ�u'%ti���6]se�s��޹��2X~���*���/��{��W~���O-?�ه?{߮��ݻ�b��Yre �Ț\�m��>����lT��rɕ�����j�F�Uj��w��
�|��o}���˯x�v����7��o�_�yq�k�Bӧ���3sѧ��<]hz��Q��{��ﺿ�x��c~���>?����5᝻�2�w��^��k���㽻�/�:���V���j��Z$��Ъy��=��{�ʛ���߽���щ+��{������.]|y���S��Q��>��S^�E���m�c�(oD�_=u���wY��o]}��%o[cY[��h�'���>S�[e��v���?�O������E{�%޸�{�{���]�{k��-[��Z-�XNW��N*�H(_��]������g^�{���s�R���F�a�d�w�+e�w��ʞ�����UZ?q� S�wo^��w���8�k�P��ܻ��Ӣ]k+�l����%,`�Qv+1B�������D��L�����m���}��Ϗ�`(+*��Uj�[Y_Y�\��Jm�=��8���t��Ft��B��UQ%L�'�%4Փ
Ka���jeo�^@t��ْ<
�-Е�_��ο��,b��]�aT$��QdT���5�3/���=�md~g�rk}��Y�B���l�r�В������]57�N�9ɤ������\
��2���3�Ǫ����|I�]��o��m��:�Rl�E��	6P�c,!�16fna3/�Ȍ]�!u��G�.��-�1���~�|:-�"��/e��N����2{+h#-{�kv��B�Qf�"�7��G�r�����a�^��YOл�u|���~<�]p�����,k3������d�N�� 
9f�RLr+�f͎EG��ln{}�|�d���fse0�q/Sꠙ�7)|���3Z�'��b�h��р7�ʔ呢��fB����<0,�0|֩8�?�zBf�0Y������ ���M�Q��,�SȠ8&��׍�e��e�$�@��Ad3�lO��qc,� ����@f����L"�`���{8�Y;H��ڑT,"6��9��J�\�9�ƌ4��:�2�|�lJᱟ�L	�i�bWo>�x<a���og�eR��V�m�RE$�j�&i�\_��HJL���pw�Y���!d3&C�J��Ӣg�TVH䛆�x�3�����Sw<���e�A��z�m5Ƒ|X-�����qW���뷳`*�c`���|�=|F�X��v����0�f��]eH]i�@�>/��IW�	����ͬ�Pf�^�#�O�cn/��TnH�Oƴ�5�'gS�O���)�i�kp
`�I�]ɝ3�כx��x�J�w�`�*y�VG��AiG�0��3�-J���ic�l��'t��&W����4J� K�@�iv0)j�1y{k�D�`�:Íd�1G؎-|��`��TbFӲk0�*�6&X�Aw+$(��"�c����i@,g�<#ST�
cX�c�E[�B�$��(��%�6.Pz�Wz��JF�4U�2�ꡳ��#���پ��F�c��N�ȵ����|�G2��1V�ʼa
�\A7���f+v�iY�q�T�\��C�kMڏ�	�.I�f��CJ0َ��~��z�Z���@-{�J:&���Øن��9b���6LM�1�o�M�A���
��*�0������I^�莣>�tD��#;�vw�nu�-엫��*�~�u��٢�n�у*q	�)�5��[nP��r��G�[��8���cG��_�L��`�{��L��>��rM�Ltq_ʱc�d�Ħm��}����k"�]��eSOE/�/�FM_C�
S��ma��������P
�Q󟞋�
bTEyXX�s�	�1iJ�j�+�l+ٯ��
�.��n�ԒY��5u
d��Ei��V6h��!c�⋉I*7d�\t���Gk=����ׁc�k��;_��I==W��ab������!���o�x��C�Oҥ*
l�m)ߓ��0Ƣ�U8m�����yh�71��ajf���_����ZXc��z
o�$��;zMm-5}�I[xS�'�>ri��dN$y�ƌ߱s�#��im�O�y�][�%#k%*?29w�ZW.2h��m���Zxå�زZ�E� ��9��Y�Gj��ֺ!�3�YX�֘��Y��kg��	�轉:�[���p�J�X׆Aضm�L^	�Ԛ���g���}���]Q�X��Ӻ1���!L�^.�O6M+�b�"��I
(G�צc��B`֝�J�^eٱ`�}�XS�¤�2��Vn��U	5ն1zQ?$PK�
���g~�L+�>�t'S�x�kYd�9�;���m;k�N49�D
�V�I�hS�ø�dVsp�����cR����Z��X� F��Yц+��l�0
��%��a��^��Mפ�NM��1�9O5���;�\����O��rQWc��V�j�ڮ�oe]�#�`��7V��`Ev~7L��?..�7-7e���y���Λc'a.�d��fΗ1U�v�<ԗ;sıq����@ۿ�R��z Vv��$J�?��l����8j`�>%#S��P�cؙl���[��`.ES���G']blL�d@pT�rZ��i��i���X:�6�B�#A�;�O<��"�J'��1C1���l���caݣ�~��i;Ҋ��
�R�^����JO�endstream
endobj
48 0 obj
94837
endobj
62 0 obj
<</Length 63 0 R/Filter /FlateDecode>>
stream
x��Y��9��~W�+��<����A�- �*	�.�G)��f�'�!U��rR ��kt����F�<�Ӈ����o�������s��i��&_9��̏�G�-<������3�Q`-V���/����ۀF���H����?�ۇ{�1���?Bm��ӣ$�)�Q�$�ޟ��N��iJ��3��>K�����m�e%{��V�>����k,b���^�%���߿�J��Eq��o���`QSz��gɁEk��J(�����n�	+���sz��d��B;#�X�,RhO����|��3,B���m�Y�XX-�찭Kް�����}�o%_c�[���,ٱ�ջg�{-�|�\�3X��;X�0v�>V��|�����/�8v��c����9o.<[�%�N�4x}d7V"��������u���Ƈ=���?V���X�����ʠ4-���g�Q+��N�&���Cj��YZ����e��s7��v����7���
�J+�y9[��[���!���CGɉ��?����%ν�c��d7�+�y)d�%��H�wY���A�)��(����~�\�nlK����,p5?�Ѓ6��:$��=���a�{-�����b{A)r͏6~��L�t��v����U'=�*�~�|}\}�׍���`�R����SWAU�:��di�†N���R���ȡ��I�Ut-��!`���PRn�����%z����S�_���I�;�z}��I�霖xQ-��P`Zvc:u��l����l��D�}N��8F�du����G�ԒX2��˼n�.F��g�E)�
X#�3��£�c���c���x���{aɘY���78����'8�dͣ��y�>7x}՜��dz���=��G�F�,8
#!����8�d�G�%����	�x�y�Aq�{����ǡ��Z;��-积�cS����G�l��6s����x���x����GD����ũG�5�,��W,ٚ�i��N��s�u-'�3(i�,z��eń�
^?�/��V�sIl��Q2i��1���QK,_�AQe0�{d���4�ۼ�h�!�r�l���9���6�m��nW��2��%c��nK�ݭ�B9GJ����A!.X���8O"�:�(�_{�5�\n0���%��Ì�8t��X���L0<�..�y��af�/&<�8
����V��	�v�(�
�J�� pr��l�x���Mp<Gǧ��'��	�Cf�D�=�1�yC8��S���‚X�
��8��x;:�:��x��2<��T�[W�>GS�ۀ�m�CSEk�^�3D�q(�%�.�U��7�t;;��ة�ʒѽ��P�A-�jpJ��hZ�k鎦�����9�	��.���^���j*e�;�L�5m���f�ñ�a���XdEq!�¡.4vᦝ���K
���x�a3;He��R)��>�)W�)̙���(�A{,���.�o��q�������Zw��?�$�\��X�7�LYt9Yt�v��7�?n4�5�fL}��(�2wt4��al��VJ�`�>9]�>؊b9���Bz��]�SE�����,���a�$�_Z#ƫ���)���P
0ռO=`��ܠ��?7p�
e,�*�Gw�.���o� � V���Þ�Pt��m-�>qC��]Ն|�C�c�
��a�G��G3ڢ$�y��D9z����>�Ь����g�P�V+?��4���p���"]漩Vf���7U�R&�W���]�m���df��2=nM�/��[N�H��gI����c��"�cۮȨc�=p�
�u�`���|B
RO�!�i0�9=ߙ����ß�}$84����C9�z˒�+�wxp���"0�p~Gx��p}G=��\�����w�;�m�Y����6
�P}3��j�,�`��G1�0z�2eq�<cN��co��(Ģ�[)�QK�Z!5�c��\��C���sD8��q[%�0�۪Ū��9�6�8�
��hݩ(\���*��\7.T�_��u�쐬'w/\��p]��m_�������-�O�pCK���e�m,�н�v=��Ǡ�a�f�e9|%�)�`Х��bO��UV{���u����	��ι����YL������y���:�Vt��*=�9�rQ
�w��X.zQ���^'9�.d��
	p���@y�T����s�-�P�����Y˱���������I�%�-�Xڿ+���\�J�x�O;h,���D�u:
�2�&��e����:�Q�7��W��?��8��8z�����I�����\ok�L
��S�U�
�Y{���s��-T�)�Mk��#Z`N�#�}zu�)gv�Q�GE#ר�T��(��f�@�mJ�`K?��t��K�~W�oͻ\�w��o���q�\��~������	W�u�H̥�ܺ�����2��₮��'�c�Z,Ǔ�-'E�g�s������gC6�.���?>p)ew�A�"�g�f��E�*���j��mE�jWC�R�,��K]#��^�\�x�|�V��+ϕ�@�c�˽� �m�����s哿V�^+�}9W>�+_ݽ�n+8^p9Zl'~�{��p>	��dp>��E��4���F��/���:��������<L��/A��+ד��"B\�d,���KΉcO�
��Q[�e����!p�-�*�;a]�&1,Z��	{iP����w�EY"{c����@��Fh����ك}V��~��H_=h4��7�@���T�=�%��$�kpl�@X���d�;�n��z��Dʩ["���b)�bKJZd�T�#2��	�3�.T�Qbc�;u�Z� �E�Ǝ+����u,Mf�X�r4�"�C��k�
N����m]�(t<�֡��d�t���z,t�p��*Ķt��G�RI���qT�-y@�HH!��V�6N�=��iRRuԱ�Z��G��Ɛ�ʀ��Y%���4�͚�rZ� b9���&����H
9\�8n(��1�*�h1�h�Ŗ]����Q�)��$%��sk����M/_��#��g�*���Xӈ.1,����F��]S>'�q ��~ΐy���$��9A�������"b���2��{�zv�a-̱+�N�vU�]��˶�TR��[��\%���)v4����I�}��`QC��ߩi�hK�S�q�wܧ[�Տ��\8a1�6/y�	ˑ�"��*	�*���L�K,�S�E��nn�pƄ
��3����
:Ԑ>�=EjGn����D$5a'����MƸ�1g�0Ԣ�H�en��9+:V���9k��,��m&��Hz�9i��1�)~朌�v�1I��)��L��"�j4XL� �/@���/	���m���q��!W�#��9lx����qֳ?�1�9ĉ��P
�|��]EM��~O�*ی�ԒV�Cs
���M�D�gTj�٩JJ��d��~x�Mj�e�s:
?�N�"�8_�3�LY�-�	-*��'n�R��v~|�&�mFl������6]At�.��Ȱ�<�\���Ğ�8�a]	�9�0(¶���_�z��{�u�X�P����7;|;F�u-�.w�hA�EԪ+T��/C�5^���P�̓6�G�F�Z�d��d(W�sa�w��WI`̺��~�f(h�%A���`���#{��Ʒ�l���Dž���l��Z��JG~5i���`pUNU�m�re����m����q�A[ ��7�q�hsX��%OPD5��`(:vj��mZ��\lT`�c�+����6��0̆���8���'E.�(&�54�,L2b����uo+~~Q�(��}@�
ELZ�u�ؗ���a�`���()�����fQlA��`�5G�� Pu-Eo)�k���,��8���so��#�"V]��:qt؋��륁��4n<�c��^��4#�r)BG�%*Iw�pE�Oud}j�F#�0bG�y�#��s���s���O��5[�,�_$1	<���2O�Ų늡h�ʌ��<�n��͊�yx�Uv�A=��Mp<G��JP3�%��j�	\*ᚈ���5DZ}"K�l�1�#,��D�EW���(�ё��b6��%0Ώ��b�O�7�i�R�i���q�F�5U�
�.<G�^����ܢ�����Unp
6�jg����x�]�	���q���:���@AR%o�E�<L#;-��l%M1�Ȱ:��
�:�uM�(����,�
;���Yt�^6e4n��C�k1�R#���<�j8ɥ�[�hP�H�(�����|9��wg�e[�h�Wl�+��	�[�T�U���-�5b!�����ə��^Hm����6cQ����<g/۾����l�$b��xń�D,���D͍̒��Zb�3��†�XH�[ʫ�V�	��%��m�T~��b��;��5S��gI*D^=�'��ܠ�Jo��C�jd@�{�f�b��}C�ɾ�L
!(�R
i�(ڵ†uް���f�8�,f�E����L�v\���\%*�]��0�^��>p���&n�c�ز��l�l
2f)�$f�+2�a뚹��7o(��`�M_J����M�No-b3
�h{�d"~^�tz��5{�fψ�y�N̨!��
���t��'f��	3[�Ĥ��l��'j�c�k$EM4ȅW��ۄ��'C�&M/�h�MD-�~�[���M�������5 PD@�(�S�
E�+p��U��`À�N�wV�u�=q����d�FJĭ���R`#\�M��i�	柖D+���-������m]�} V1�^�lL`YP�Ɉ��ev	YJ����
�	�jRc��
�#AĉK#�H�85��:��u���
G�AU���_�1�;6yT���F�� ���Y	v�c�D������i�D��+*����7���P�f�0C|�N������Z��S6�l脕����hj{/@m��Q.�l+ǀ�5\Q�ke�7�VJ(���BY!�O<7�r4:�/�H��W+*z4)'<�=. �jt�uiI��\�XJ�d2�F08��{��f��l�BԜ�V����'���
7�^[6ܢ�4�m��8�&/�f/��A8du�
n��{�
C ���(
�ĭ�H��ټU�I���8�������8z�e�Sk��"%�1��2qLVBm�*p���{n�H���j�:���aɚwT�Jܪ�lk[m�2֖�Cx���c����p[#�Vm���4h�W��w�vY�y�6O	�6�y�u}ͩ�I6��p,m�K�Z�v2�`5��y��c�i'J,���	'�6}{'Dͭ��Z���M���W�f]W�W��*1�]���Z��[���6{1��H�� �p�(p2���"/��v�<:��ۤe�$9��am�a��X�&��0Lq
��:�c4�u�8��?�M�l��.�����8����9
��D�
^;G#H` 	7���x%,�7]�2���`�hFc�r\V�Z�@�`i�0��`kI	�pij�((�D�1�;�6W͆��檙��Ǝ��,�{3��"b�̄�=1����(F��t�k@����Dq�(�������\��g�Y����&â�T&n6}�m�
p��m��m�Ϗ*}��V$��.�����h����`{0cڢM[e�h�n�j~p��u���#��J�f+��pK��6mjˏ�=l��hd}����I"bk�BĚ�0��ث�e�迮G3
'�"��1b
6U��y�1utPx3����2��ƭ�j��TKl�4��3,Z��h��o�F�a�A��}��q�\��m@`Xl�#V3�D`�m��m?gk�*Qt6���{��
[޽��F
ču�����N6��6�QR
�h%��Ft�ͅƼ�m��e��b��	��+%�1�t�F:L���1AK�
���ؑ;�Q����U�mR=�3��@0	y�φ�����++�m��-4��F͜�z�8���a0�u؀�0t���Y��"�m�����^\̾p��O4�Sۣ7C1�:��Ձ���I��
'���hӘ'�6��8�4�����8����
8�z���!%��)�2O��-�C�!�"Q������̎1���� �:�����yb$R�^�
S(p&\��h���83��j��9w<�8�ͯ�dž,4�%6��E`gpR�٬V#�b#�9�|�Ō
G�D
�Y��<Q\��C�\� 4�1�	��7eۋ�9]��MKl�f�J�(O4L,���
Q\#&�Xl/��8eC1a�����m�f'ljD�y:�qN���D���SZ��U��d[+V�HsCO����9����a��sG�!cڠ���ƃ��["�{o�q8z�Q�66�3��l3z� x���y6�lh�cOp���jD\W�`��䃛1
�"$������\�ӈc=����x�-��^��-�KR��n����n��P���j�n̔y��U���Fl��Bc���m��
(�F�ܟEC�{e.��*�J�)�^���q��0R�L�'\��w<����[\�G�qˆ�zS����
�i*B$�	�ɾ3M&��:qd��x`�lp\���k�go�����čU/��'���zv'0�6e��H���E�@���1�vQ�Ea~�c��z����k��e���I�2�y�4��"k�{Q'�8�]��@�8���R�9�-�I�2��JRM��4�B���w�+0��_��-�w	�$݆
���1��w�$��{���z�D]�KH=� �c��x�_�F����kt&2�垅7������㗏Y�(ܭ
�p�Q��k_�_��]�EZ��l$m�:��V��O��x����^�������/8�8����6�ĝ}2����H*q����GD�0�N�ǘn�D�p�E�i���hR{�h�C�!����
C<1�n��Լ0d	cXч�Yr@1J�h��82�\}�>��>�����Oxσcc�����YR�c��q��Wq���t����GD��X��x��G�hk�>�Fs�	�g¡>N<ڡ�jou��Z%���yǩ�M�	���Y���`3I�d�O��G=T�ͯ�^�d�1]���a˝�%�AZ-�H��}Γ�t���mx�s��^��.��J+QT�~�e:-��gU{g
/@� ��t�q��{{}�#J��}�d�1��pd�5��K�(��hK7wB�����=�f��G��D�������u&��m諞}���ģ�����q���%9�8��Á.�=�[���Z�6^��f�t&�x�S�\��>�?�$�'��<a$��S�E�m�[h��q�]�N�q��NQ}����G�Ԅ0�Xkf���W?���$���&�����)�o<�R���T�#�hH�*ؕnLu�'�(�����h�ʒ��7�/�h��뫾L��¯��*�gz���*�O����a�̔����]2O��V���{�ҧ���tb��C'|�|��׷���p�[�{���W�����>����z�uq��¯?56m�K��Kݣ�&�k*�P᪩pȽ�ӭ�3o�a���^8���	���j:T^k���'��$"}�6>���I|tTE��]�����c}�<���&h��~vޖ��R
n[}c��]�"���m#A-�B���T�M��V��T���O-pKO�Uޢ?E��/[�v�z�μ����)�����B�l��doĮ�Y�J�-Livx�+QWOP����.s�5�LU�d�.�gS}ЫO�
>5c�����ٟ�ж�[j��Q���ƪT�C1%6"/l'�®Q�E���e0^i	h3��߅®��ae����r�Q9�z�%�����M4d��a���.iT��
|�ꍣ䀝G@ҁ�1u{GPFf,�Dn�Q�#�a�b+6��P#�ta�Xf}���&��������>/4��'���tc�ݷ�g�I�[��-RG��s�齪�ʳL|��38/�8um�5Y@�����z�ސ/sz-�/�tzz��p.Е=a��n�az���,pG�ȸ��Ǎ���ޠ��#~���ԟU�5=6Cg��e��,�x<P���6�#���8���t�}D����S��?��zn�C�O�e�+�v́��h#0�^�>o<�{���н�=Nؠ���_���k��<ÄA(��R��6�XQ�T<R۾s�`�ޠ�瞶��$؃ݫ"�쉐�N��#����c�%x��gI�8�'\n=��R�m�y>.���Z��$�����GA�t�o_�y�i�'��S���Ǩ��ӕQϧ
�y�}�)RqPm�L�aח�GJ�cQ�M�l�&����Y�������:�B�NZh&�v[V��߲H�l��9���3i��6�� �=���ZlDU�$MK (N�p}�x���
8�#2׆MSmʚ; 2����(�|�n+�0��B����p�bg�wg�p��6"���Ѳ�8�\xŰ3�j���l�A�QD�GŢ����������ʼQ��3Ņ�L�'M�����l�As[]^H������),�@�I/��).�[�������yr�����>o<vN{����j��MR-I�W�����zw��;�uf�C�ܣq�ؙ�P>��a��0R#BGLe�G�XC���rGXn7j8��4"��	ŬЌ��B��&J2��f��G]x����zk-���3e�j�K��"���,A��fLD	˪��c�(��@'8�x��E�-�m��,,����f(�Z�%Y��w��Io���&i�k�}�_u�wo��{���fJ�������sy��s{�ɠ�6�a�G��bx�����-H��Etъ�D(O1s��a��<KNJ��3��kߞ1O<v�x����Gd���v��Y��(��U~y�&�ȸ|MN����%����;�e΂�bN�fh8��H��-�沫�������;������sz!����G|iI�P�E{-6#�'X�O��煇f��c}��y��znS��X��0��)�)�*�;V7�W�Oͫ�b~�R�5�޺ko��Ϻ+Ny����x#O�bsh͒��&��.|�TK,�CF��S��EK4��59+�������H�H�h?�� 㥿��&5'��t���C���ˀ�ԢaPޒ�:P��i*���t������TX���ƫ���δ������y��Aa�Hh (���mB>V�Ϻ�]�\�?��O�^����d���3o������H��9�.��dM� %��~���y>N����l���b�Y�1�=���	�u�j�Œ%��3�މC��Zhj��W�e)�M}�T�R�R���!�X�\���.�Q�*��u�\��=��G|���
Y�<��'�ԭF��ޞof�%	-�e�)ܬE���"jX�6��e��;؍��y!W

��aPp+QM<� �N�H�,�����k��B_D�ԁ��XR '܀��b%J>c�����J�u�J�Ǫ�����Iq�X�y\Q�3ǫ�gF-q�VǦ�ۺ�w�'^Jx��“���_�^r'a�_\�K�L�Q�����+�C�ȍ�.c���ebR��˘�V�cF��h��7Mf%9��ݦk�"��26�*A�:?sy ����;�������'�$�$;�!�y�ЮUU$y(�D�w�5[�e�q����zdO�v�Q�e>]+��t;�����}p��BXs6�#�;[c10��d��~���f�Wv=i+_p2�2b�7r��&�ƾj�3}v��]#�m�(����9ɷ�B%rm��>���ϒ����*��t�Y�LW%\.��[�M��Q+�w�V5�`��7��v��p%��F8�d3�Ү��(I�xC^�J�m���j�[�x�o7�IK#�kĪQS��2��F�����v���$�h��xU9���x+H��2Q�o2�uF�ԛL��U#<�2�54h�E����D��1����}~M�LXv�m����H"i�/��2���yQ�2�=���+��sR��˦[IfJ�iW�W��l��G3Ѻ�R�)�J࿞.���3�<�m�^�ވ~��R�����=/%</Q
B��z|��mFә����r�'�oРl�D�,�Df�M��:3��M��k���g:@�F��sK���|��|��|�a,��x�����r8�[�d��r8�[���FM傗�>�aK�M9l�ō����\���3���a��%��ber8xS
!����;�-��Η�no28�28���&�������|M{�&��%��ѯ]�5�5��K��-��(�#�יn<�I %̙>
R�s�q�X?I�[�hE"�t'KI'S&N������� I�oP�jS��i�[D3{�f��.��݄���6ՠڣ�p��]9j�)N�/�i���nO|�R�O8^<��>.�~���#��#��#��h�ho<��<�����M�KЛ�^.x	��$��$L������>����&L]������rޘ�#Lʿ���'������H7�Xb~2�7>1�|2]}�yo�zx��O�M��n�b��nb�Nы|%�gi&eӿu>����,��
���z��-�t֗�4�@U�%^f�d�ь���ax�4�Ǔ�<t�l��2s�/i*��^����7<lb1�,L�m���e�])H%�ă���7��ȯ�Mh|<���e�o2�҂����DNT��w�
<���N���9���.u%]�J�Օes����o6G;m�v�S]�&�^cSW�����b&|�८�������J#8�a�+s��60ngꊹ��Rn�����7�5��[�48����.��\��X���]c��5�x{
�{��7��_K����Mc)�14h,̧��&�ݘ�1��}M�Z�P��$i�<Y���.4i�IҜK����u�5��%���a\x�m�����/'��0ف�Lv���E�D\�D}�����9Ar㾐@'�VH>w?�����9{Z[�[�oc��_�f����e��3��u\��|��tV,��f�L_����ҙ���:�,���y�F���ڙΊ�;ެ��gx�e���ڡ��{EӰ�`��<���g��J�9s���iϒ�C�-ꢚpN��s�$�3�s��¹��#7�d]#;PF!9	�f-�_V�9O&T�D�x�$y}��D�8�1|���$d��}b��'�kT�#h)��H�R"��ܕ�T����1?՘����qZ��8#;&������@x����T�YDf�T��C3*��9d���e�A�}�][8S|hZ4���W�)�� �hF��|��s��=����t�����ۋ8j�%{�F7��zY2��~�^~�^�)�
��l:��p���K�lf�~�%�� �4�v�j����u����(�<>��5���x(p�W����ң�>Ş����vr�y�g�-����k�P�`�D�O�S{w������v�J�.A����A����M�rc� h4r��m,�:��������כ���]�O��o�.�omu#h#y#��F���I�I���5�E�卤�I�]$��H���t�I���t~;4
����o$O��סi�MS�K	H�lY�+HzF�YH�}�1�$j�fq��ϖ��ζ�"v���+�q-��3U@CW���`��F}�o*���j��{�~���<}�?�	hr$�l9�-�w�S8�!���dĘ�h�.`xM�X!�������Z(X@{��|���k;�'m���?,m�y8�	/h!�Cښdž�I����e��j�UF{����A��s|o,�m���0“>��4i��,���t�3����UE��	+�ⴇ�i�*�3`�d�4�b�0Yb_M�?�S��k����ݔ��Y����34��SW�=3�!!�m40���ОH�!1�C�4,O�J�S���B��fV�i|@Y��3ch���*�<|�ޝ�e>K�.�(�.�|���ov���@{hϾفV������ѳ�L�<{���e�lܱ���O��L���<�����d�t�g�q͏�^ {������2U��ɡL�����JfLMe=Ԡ��۸�4�vnן��C��0����m���j��iO)�sB�}�`/��F��0���aI��l�d[O�XO��޷��w������u�7q�o�@�����&'=ģ���s�K N�M:�7�t�L�8�7S N�M��7���L�8���Ri��o�鿙�����N-M�7qXnq���ay��M�[�-���hT�/�M��7&�yo���\>�^��Hs�P�(����ʩ���KbA��O��㜄��Լ�(:o�c{�T�$�_�9FOIh���O��)
ۛ(�(�d� �9.Y8���㒅��~��?����NC�o�p� *[�S����吃�����[�#�oB��B�v�q�q
�r	�v
�<V����QW�iy^�8��n�!٫vF{oeN�`3:wwN�
�	�
�Q)*aRA���3�lb�����C/ȞI�C�	�Y�;2Zc�ۺq2�eN8��?ê~�`1/�Շ~�&�R�$�yhn���� :�|��fk��cs�&q�j���P�撦c'@��ʮ���6�F�¬�fC��r|=�JI��H]F��@��fR�.6�M`��D�i���@�Xh6u4!�����z����];	�ك�j����}�/$X�jb����)�����T�K"ayF%2F T
M]jo����"�F�3}T��[*�!�
�����ɳ�z�Q��[�a>��f>��7�@x�.��FԤ
����41Ϸ[�/�u��H���{#�9;F͍�8@��VT���0h ��u�l9=4ι�n��[o��
1x;ys��Ua��错�������Mf�]f�Kd�7��.��/���a�O�����k�����y��Gu�`�J��)��wW��3!�pa�����Kwe�U9�ݽ	�Pm������s�C2淵k>c�Z@B���?`,]�g6mu騭FW����MLZ�\<�n�B������a/з2������s�H��]k `�Gs��
uo}7�dx�:%A���S�RQPO�_�)���u�2nv���ev�%�
�N�sх��K�;dG�z�wF8l6�!�y7Xn�K(%�l��3���D��gH6����hR(�1�	O�I
�M����!K�~��SL�3��m ��kc:;�_5.�+��@���$�c1X�
>ϦUvS��.)����ɓM�B3U���O���B/!k��NƠ�*�`���̂���0�	oi���'�G�h`��%xK6M2�B�_���ǀO���s�f1h8�b��������͛�?{`��@&d�Ŀ+@erRW:�	��#��屰�������d`�|E�I��4K#⎩nv�5Q��#�iU�Z0�<�I��y��Sy#�n�f���3��6�3o�I{��g�Dc�Q䚕{��5�u���=��{<��c��"�g�����9=�.�� Z��c��/I*W�G�`�y;�;��g�.��P��h�iPi���t��f�KQH�N%p��oe�|��j"̠o
��aMM�FV���ɕGp7Gx3�<�
~�Q���ϰOsS�[�C�Y��s��˼Q"R�B��gߥx1emyI������qW�Z�
O+�"�����;�"��1%8�+�������2u�2���MPl�s��[��^<��X��2	�2o�=�~���	W��L�5��f�FV��0�j�,�
��
��D����M��ۯ}^�)?��cW�N]�S��w�Տ�(��:��4��Hp���T�Fؙ�]L]|4	ǧ�m�=6-b��6���m��6��6���5��΄iI�C�֤~:��������=Kw����@ت�d?/�ۥ�l�IF�H�DӼj"�uvJ$�5�E3��W�;�%"�C����-fWN%_�Y'��_�P�*�ק��0*+���6.���2��ؤ;
�����u��n9�;e�)�ۛl��Rɾ]t�)�Y�dT�6^13����Z��u絴R|g�MS�ߡsod�<<z��������/�q���P.{�nԻe��Ƞ ��q��&6}&j:�󊱧ߔ��!-��$��OI�:M��x��|�n��4R	.U�Ż���r�y���:��_���xp���w�g��ϿA5>��D=�+ݸ5���3Kxp���3�'��{`�j��5p�b�~�'I��9)�NO������~;�����o�L3	~��'Rgu�Hx�7*�nc�&ۗ��B�<�
�ox:r��?̈����A��J�\;�6��N��x�<]e&<��W��*�T��|�q�h�&�)�r��K}(on?��l��`�m����ש?O,�%qi�'��M|tc$�Ш�+V�:g����#����*�;�vHa<�Q?�<[�Ipj��fl<[�G���L��QbD�&:n�F{F�� �Rw��q���D	���=�6�C�J�LO
�v�'׶�|�I_|��l�ܔ����t��+U|��݋��Y+��*v�Ձ�	�����L0{��"�pEU�fu��\�9_\1T��Tu�1���4��f����qN���3)�d��}�M-n;�{��6�7��طTt3�)؋�S,9��\jX�>C�7��6Jc�a�[j�$�^��Ů�HQ�3����.{:�aGx
M�ǗMO:��yM�0r� ��J�Y��n�nЮ.�=�z����v���Ow1O8���n�)\p�[�F�'\f(���l���J�34a�=�<̑Hy�.�G�k�j��ͷh^h|�]X@����K�J��f��T.T��(9,>XTE�z^� ���b,����u��'���5��F��*7�����`�إ�]��g-��[�mD;�Ok^{��qj>���6�3��<�h|�F\�=?6ux�ZU��
@�S�#��(��}�WU�����h�\�Pts�� yUg�7�'Z�@�@���7��n޲_�y{ъGZ�'���·�F�9s6�����yʶ���[�aw��O�󁚔�R�\I���j8Ni�Q�ߴ��ь�-�:���<��2�
+�w\��ob%Q��Z��1����=�޿���!��`��ա/�;��9���C)e��i=��&��&�hSR�)됹ȦU���N�U����ϐ��AA�� /��Z6n�fT�Ɲ;�Gf.v�E��(�z+v�t%P��K�Y�_`9TD��p=a������ELg�������
�S�=}�}f�
u�h��XS�$�P�vo
�>�c{ZLã�w����S��i�l?z>��f�}��S !��	����3i�-I��6X2��戮���J�Y��Ƅ��Qf�Ǹ�ݩ�_�ba����z,����SsrzO�A�	�:��
�s�� �й��s�R%��-�h�'.w󥹹ԙf�d&Ki��
���b�]�j������ʡ`
�	���g��S�xצ~XMVq�l��qe��Z`;Sn�/nk�I�f!W��b8�{�u�n}�Ez�_+�.�VR:=�ջ�Ōa1'�m;S{��76���7�&跔o�՜���p.�>�{�m��%���	J���Ȉ��ؒnsG&�_`?�^�t� ��+HDSkǧF�B��5.��0^Ba�sO�fwP�C�Oxb��0Y�l���5�/ڜֹg���n�X\f;�2�Vt��b}�YP���T�l��BqT�ŵ�X�Gݓ�C�+=�4�f\:�'�:��iʈY�a��A�k=�Q�n1O�ޓ#��Y�~žQc_�ό�$����&�N6ݩ���%l���]z�q�ͳX�v�y؏DYa'3�tb�v�0�^�Wi�\e���?��ɲV�a�-
�FN�(+�dniR�_��󬶝D�~E�Z�~J|��a��dl0鱾���wΘ���THo8n{�P��P���y�=OL��tvƲa�'�x���}��4�.����資r�Ť+jbWl�&+1����kM�������������ZtΪ]�/d�����o��9W��*�t���?�yQg���<����n̪Ѿp~�!��l�Л��J
C��;�*��4��rǝ݀S���v��s��h�m}s�)	6q5�;R���;ؖ|����PL�t���2��_�"��4gSZ8���f�
�o���AV���
�;f2��#�s����p6�3^��������������Σ���_��������M*��э��&��h
��d"��I�^����
��Jo"�D��h!����2"�!��z����_�]D�0w���ٓA�u�W�d�`%�f&"��*�7@����oQ��~�L��Ӿ��߿���W� u���>n����[���Az\�W� ��r�J��>H����L�Ʈ�N���)� j)i��XR�&�HNJ��OJ���V�0J��!�9P�}
~(OEj�l_�ɹ.�p�ƺ&��X�I�����I�?|�����*�f���W;'m����'~]?(q���l_T�p�=�s��5g�p�Yh眕{��5g횳�6g$���,�F+�3g�EE�K��k���$
��6b�:��m�͍�)��6[��;S��o3Ĩ��)�86�!=ؔuX�M�Mm�`ԫ�,ڔh���m�ꭅ�IY܉���r�hM����2�b�h��5��n���>
>������zi	��W�Z�.�V�����lv�͠5r5y�n6�������G55T�k����Ԣ+��2��=%%ٳD�O�bpT�8�� E��*X����d+��k��!���[�
&�7�5v��j��6���y0���AD|��w�4��*-V�V�K%=$�U��(��/�˂ϻ�4��F����*fb�oU0�zK���
�q:L�įw�H�Y�^���]�C""��ON�o<(WH�Q�Ѫ��+o��u;�}X�tڝl$�|�D�Ӭ��a�sC`W-�^�h~1���MfG���73X�I�emd�F|�7��w�v,�����r�44�
n�c�hh+�D���[����bu�v���pl�<�v�c�uN*���%�s���9��x�+2wo��^k
�@
�<��i��q+Q�l��F�Xf��E����������ԒUR�x�\��,�D��(b�[Keu)p�>r�޻�C�}��%���׹-Q3��0���S�(�W.�{����G<p��X�us5ǣ�(�92�hhf�]*a��%l���=�����z�`���凸�/f�˅A�R��4f_5l�:�E#w~�FPUw
��~��	2�x��'� ����؞�D

�!ʬ,�W�
S?ѵ�28���"��Q�I�T��['���)�kF��A���u�{��cv)p
���_x����i�L��E2�P��S���W]P
��az�'5�<.,v��W��x�x�'�U�;C���1]ˬ�䂔�����GA�O��g�k}��{���^���(�%1%H;uh)DŽtϸ>:K|�#|�!�IJ"�H����O"��4�z�G�ӈ��`�_Mj�pK�#�%�F�����}
���b?��;{}�~Br��Zd�e.�Cl\ZS�_5��b��8��|�)pʏ�9����Y�Fd��%b�y/O� S���\�"��%���{-q�1��U��n<�`�����=��Y�;1x��{�ʞ �����'e�Nf��,y5��pا�����v������W�P#<�(�+`1�^��1K|K��3�H�c�2h���s3���>���~Z�>�$p��1ɼ�6K|˸�����t�6����8)i����*��+��%l�7�J@b:$�z�l�H�0����$~g�W�g.4N���:{���Y��d�T��X��-�C7�D:�ٺ(�Y������
�S�Hoy��Z%��7��uVP-�8hq)�tf�h6�z��[٣��oX����q�Gg��j��U�J��W�[7C@�quQY�ه��qaq�6gg��{@v�*C�X"�;�H퐟м��@J����	���7����[4爻�
�	�7�u��,9�	?X�ߔ�]O�tkjҿ~�b�%ԭ'|+�,����z�7�j�zo2�L��(�`�өh�i�|�%"%v8��R���c�
�����L�x��e#p��SQ�&��lpk%�<8�Dž�J��^���e���==6��s�G'n�D�S�K����8���}�^&��(A���=T���m?�̝GɁbu�}�H�v������5A]�Ӈ���z:L��z[b�UK>ϒ�f���n4����0�5Ѩ�*��O����t��%�gIn�>����ئd]��&�F�A�S{ϻ�
��]eBM�zՒG��|��?n<M���q�H��'h�h�x�a�4PP-H�^�,��K���������^�A0KZ�
�'ϖ'D���Q}�Q�̰$[@r䍅k�>�l���./,��Ŧd�8M�s�ʹ���8��`�(�<KB�X5���ǽ��}_��d9����׶��p	�j��Yw�f�_�4z����H}?�F]�ju�Bw��N捒ϳĵ�V7_sF�F�͞`Iʗv�0{���N,(�<K�����G~%]���X0s��J�O��ԩ�SH���~Lb>y�}�WRZc��9�ԧKT��P��7���(F��6;���F�kM�Q��F4u���J��F��a:b�QL�F1����8��3S��޿T�Q=�m�a~������=.p�'k�,�� ���|�p��Y�<u�3���m��y���!3C]�l�!c�!�d��+Q�%��Y�t/��i(���B��?g��ٹ/-�����c�׿���軮��Н�X��y��j�4���R2༧V�F���i%6��r�_{���r�~��¹ڹڽ��
M@��W�o�d��q7�a4 �(
�43�V�o
�(�]î�L�Q��0�4����R�/٩��K¾D�8�W;�JQ��O��J��fZ؍63_��UVk����.��p0�"s1U�A5]�
�4>�{*�7I�A���o��6׋��v�wC��ɋ�/-zR�b�Ȣ��,�ڭ���r�A+�4��>�Ԓo������=�,�kT4F�XC��z E�u�Ң���i�9Hױ�=����\���5;9���.{�X3yo�X���E)t�J�@ta�65�z��*/�}��T׮�!�;�����V��GE���ۯH}D�N/R�B�S� ��%	O}�
!��@R�Y��Jo�ӳ]$�ۂ�~l��l
�F;|�5�������1 � }��x�����{�G0�ű�g9��~s�;8��D���)�2I5�����D�ʢ��->��I��fl�.��=r1�\*�T�ꬅ�n���!9z`(C�*zJ��������Z0��7��K`�қXH�n��\��G��%���=2�U^"�3V�l�R9����G����Ȝg�LF��d.m�hp����w��z�S'�%��
�_������8���
R|��%���^�/���ٿ��K�^����Y�{���e��_��Q�:Gc�C�4k\M�@WSPaIl��A���Hf�b�S9��:���2�zR�59�rt
��Wc1!a��F�ny�n�8*S�I�dbk�:��#�s�˫�l*���,W��"⥳���I���<��(�LJ��Q�o�	��^�/�_��ت���S)��M�U�`H��U�v7�Ì������X]�֔�
�1^G�M�\�:ezeA����kl���e�z��Ls����2v^�ISY#�>)s���&���<�=���!�~�p���}�{��w$�oY��N��+���Qw�>���<���P`����� �N��v�܌��lҲbJ�Se
��,�����}�z����ω�6i�t�d�a�L�3�Y�=��F�.���xCSK4��G���jԩӯk�U(�_�a�w}Os�)�ؖ���Ls��O�!�n�z�N�)�e��ғ��a
���V�<�����-̋���k@!c���+�qΰ7������VXpz��k�%#e_��
r�" �F���TL�;L;!m=D�i��잧�"�T���yl�c�p9�U���/��Һ0�˷+���B�B��v�z0���_da[�����4�a�~T�$���I��ʼܣ��f��2z�\��p>vn΄��$6Я�Q���ܴ�*ł!Y�y�	FM*�U�̴n��3�0�*�L OP��g�[�G��a���]�!�~��1K�kt��!�p��
,̒�E�-z�ZXIq��NXȮ��n�|��͂�U�R���w�7e'$�Һ0%]���S�#�`���o��e	_f��f���>���^��u�:�^�|>@e�,5Kp�{=����*i`�*.������˹8m7(�	��wSГG��<�1u?&��������?)�`q���O��w����&��Rœ�d��y�rLm#����ՠ=�=�����zz}Ya�/L��a�>�ҝ��`)�T��
�O�{o�M�Be��"j�:��k�l6�K%��d5�:ijק�V��kX*[4E�A���6���t�ES;h�챨	�n�K1�>��C���L�po�vm�pn#E��G�A�4�{�j`�n��kۺ���.�V�p&9�W���Ik�VΦ
.�
���I�f)�㑂�N�]�����tp~��PpL���kv�5;�fGٶ��w�'t�����*��d1;���C�:=jЉ�ȍ�����v�eUU�;h�2{
p��;oeDP�|�S� �!Κ�G�j;_��+�o�(\�(����$��ω8}��	��؊�]k{:O͋�&�7���0�	y�/pPBƂa���X�Ҕ�8�ȴȶu
qE�|��>��I�ᎀ�AU��+s�/�D� |�
I�Z��HU�A����K�p�A�?t�v4�F�t�@�����٠���}X��Onˠw��ܤS�u�6,/S�2#e�/70����p�u�(9�x���~�A{[�v�A8�`�-w�<��󴅻��9�ΐ	K{��%=0�G{�opx5�d_S\�L���+E��?�5�WBqa
C(n�Ŷ�/���|�c!�C�E�%k�{�T�S"��
�9?�o0	U�
|[@K�*�K_9lpr�J�ᮔ��נ־���Z�iy[z�x�	���"��<k�g�2��T���m�R��3��}��G ��dV�piֈ�v�n��}j$��1f��Z��9k�y�
�TWg<(�Ո�}nKz��-o6�8�
����F֢ύ�5��o�T�W���UC�x�ಯ���=k�j���԰Z4�e���xu��X5:�g��8�	�}��Ew�w�$�9
��ҳQ�ޔ�e�|��=l
��v��q~���Úm!�U
{���I�lg�>�V��.8������FY߭p}k�O��H��0���"$��۞P�B��Zt��V#z��#=a>
��Fӝ���B����/bQٶ���\aDG���!Zd�=X��&S8-~�y1��
��+y�j�S�۱L���Ey�S%�w�n�5���e�7��U5�U���a�f�=Z��B���k��ՠ������Q��B^,B��nk�����!m�=��BN���p>HE��l���Ǵ�p�7�4��`3a��F��M��j5��iI7݉�0��.具�+B�\��.���|���[�A�s[K��D��e.-jW=���A�͝�
i�n1-53���{�A��5�d&���l��T��F�g��Y�4�(P#Of��0v�����o��ss),��t�(��Y#NJ�憶y�>j��r� 
��'�-��k�z������T7��L,NFx�@k��q�P&�<T�l�Nw�\��&_XA{��`c�5
X����XE��S2]�6�<��i����9��@ý�)eЭ�O�m:>i� 
��RNSn��f����3��C2�w�I�&�j�3u���Zd�8�g	����~�_qꬹ��^#P!2�<q��q?�����wV��ɬa3op���[��hn�Ĭ�|�V#��fp�v[-�⪑�����lP�?���O��3��w��.�;g���-�Ľ�ˆ�	g��jQH7V�ʨ�}�P&��S)78�s[�9kd��mHm�ȩ��������7[�����}3дؑn����Q��Sc�N�z�'��yL�<0�p۩@�~�aTˢ�6A�$2z�Q(E
n�ZtJ}��ww�i��|5-�
#^דXŴ��z{}Zn�#
��"$jmV���C�@Z-:��1���TĶHi�x��-�o��x��j$��
��.Ӣ�H�z~x����ί�����M�-�A}jY쫑MP���+�Q�:f�b�׾U����p�\�`�C�~�<��٢]�t\�mICa_��il�н~������^���/��.�$T��x�B
"��A|̰�f'ԭ�wK�E
�]G3�ym�@;�N�v�$�@;!ճE`Z��7z��ÄM�{�4�S�G�0\5ƾ�0�f�hzv[G�Z�Q�¢5
f�b�5q�&�Do��癳�y����_�-��o��3��S���A��ĥ�PZf,�f�O՝p���OK��@68q�W��c5�*.���E��i5*w���:�j�)B���
�n��V�>s8��*�Z$�B��ɛ
.�W�J���0Ǻ��y!9���)�*���W�Hym5�D5��j��s��GN�l�٢�������w@ݫ�CLG������$CV��s5�z��)|V���&���r7snX�F��pw����}ǰ��Gj^;ʽ���\��w�m�Ņ�G�ݫE^���W/;l޸�»�RԻ&�R�J�l�7,U�y��C���.�_{�jW�G��8�Y��"6�\g�EtR�[�g=��ő���Gn�sb��uK��;�v��tY��k�e�Ε��U�Bjp��5&–u5�W�
q�m��Ѡ������>�^lV�&�-��`Y�ݯ��Τ�����՜�K�f>���|�*�(t��[�Y�%"I����1���8UM��Pu����q���
����&<��{��#L���X%
#��`�€�P�r� s�0Ifk���F�D��~���&�Ѯ1:t��"�#Z�̌1f:��E���5�L�0V��(3�A:a��֢�s�\p��,o5(~�B8�(o�Q��/�5�2���E��n���1�c@�l!�p_0s`Lw*�������g��Lf
���jH��ޢ�}}UF^���YL9���b�F��F�1z�����t�H[-�U�]=�k�q�8o7�&�v����{`�N8�3AI�
�u�m'P�{� Q񌺽Ő���-2�f�F��J�v,�8$��`�n�I�Ǿ&be����բ���X�y1<]�1<d�փ�>��D�u8�5Z������<G(�
uc4}�|��Ae�iت��}��إ��d��N�-�1�H
o"i	�u�d�I&oe,�=1e�J}b���-qo�dE�lp� ŋ*˳}L.�^-
�����	�)���.]��#�-2#f
�`�7[�xb�m7̳��E������l�}��dG�g�g��^x�;k���<�Z��X�6خ���j��>�$�:��p`a9N�0��a5*%��tjm-:�Y�y�B08�-��lp�Q�#��#����ޡ �{���	�u�Ղ�֬�`>�^]ct��s�"bp��֢�D�1:���ۗr�m����
N��Pn�-��4<�
!0��Pnս�@��;��li�X
�.���M���DН
�F���G�4�qA���"oL\%�Ӄ��UW�\u�r���UW�)��.�����!W@'IS�C�VdbN<��`(��I��)ǣF�z`p��­��B��n�Lw�Zdf�Yj&�S�����[�p~U�íC�f�̥3؄�j��³�&|NS�āi��P��h�~�ؿ�� y�n��ը8Y�p����)�o���쩶�5�*�|��7S�+9�ܱ���D5�XVc����V�oY��(���Z���+�ɶc(f�o�m�-��ß5�-G�ZN��H�Qd�&R䎔�t���Yn6�_D��(�1����nj��Xeg�;���w��Qw(�
.wz�
���/#�"�i.���q9D���b@�h	�L�aJ�7��bnp�g�Fh5��\p=d��
�07�#IgDݑ�<؞p�=�Z4��������V�-�%̕��i�-�{P�m���|Gbְ�mp�]4[Tw.��<_[�UY�L^k�ɜբ�~�;0��?1�p�9�ݿ��}�E&��8d�`������Q���h����AT��Ӛ�eJ������p�Jۈj�_����u)����y�5��#�F0����O��8�
6}6hqu��-	��ɚ4�0�Ɠ
o6!���B�ꐿ��=Dž/}4EJx��%f����,�@2߶���6�f�����ll�������ϙ��`�j��<8��)���yf��%E�%�_�����	X�P/f�g3�VGMŪ���P<���f���^HY+m�Y��Y�{sG��g�f�f6�U�5�����7�t��n�
���mNz$O��}�=o;U�
Ӂv�s?�]N
�+�i{u����%`u!S��p񆷍?�
5�]]������E��qR��)lUt������#E�?{Ի�?<g��v����r/�{�'�s��j����{��W�~���5Z��ͻ����{��˜/,����C�I�]Y�ћ�i����`��׃�6�ۃ�֑=h�a��5��j��)��(�"�%�K{�Mt�ȘT��d_=h͞��9���S�ǩ=��Ϸ�}�i��N5��z�Z�q��<��_�hm�m/Zs��Ek���M;�W�+3R�֒��|�X���@�‹�:lH���^��ζ�9����<���:ߏ����O]��� <h�%��t��a]{�h|�u�^��pۃ��%���ƕ�/={>�j%�O��փ�Z��ŵO�[\H|��5:����:`����J�L�'��%o�W&��z�z��}m}*���������Ak��=h��7���,6t���L/�ѭ�^�ۃ�Z�i!f�1��������Ak��=h��~>N-����U������/jݯ��G	&��1��so_�g������X�'��$X,���p�g�gl���^5|z=i�%�m|��xr���'����Ik��=i-%���[�xx�9NL����e��C3׵�5\����#
��޳�޶��9��z�-~�5�[r	p��uL�u���9L�gu~D}�X|������l8�K�[�,�|;FԳ�x���sP�����QV�/�)�dž�W�Y���9k���YK��o�Y�>v�l*#$�D5�6�%�����F�Ak�[��Ak)(Ե<d���*�9�!��2�f��%�B�\��^���/Z{���^�>nU���S_q�� ��Ek��֜��'S;^�F۲�h�#��Ik���
e�J�q~T�I��PS3�k�ъN��A!	��i�ͤp]
����f����],����c5	|� AlL��)�o�t	جFrz!+��e�\�,�k��������D{��3���y�y����x�L|q�8��S2�>fP���\���9D3sfŕct~��:�y(9A�K�sq���s��s����������s�����ޟ�Z�#ɢ`���Fp��F�r$��Y�q f����r)׹���yD:��\�,�E	lj�y6k|x�&Xs�E&���컩t�Y��f:n�h}��{��k"H�2�!@Da�K��.Hj֢���������;=4ǹ[�a��HX�y��~NTc>�m�#�0����6L�����j���sJ�xN�O"�C����Ml�ƧFf��C)-�Pz��݈]��-J�_���nw�j	�b�J�ܧ��r}l�
7�א��C=:��4e���aA�7��uj:(=4B�C����pOQ����^��"��C3�2��שa0�ai2sr�Y��O�y�*a�����,��C���N�Aed�C3�%4�4���mݠ	-��~jt �qlѯM��kTc��j�����Q ��Seogl�=����"]Qb���TM
��9C�
���W��kn�U�T�z�!X�v<5Y3~����žf��rm�ۜ�LFK\?{���vC���Ƅ��НV����gw��`�y����:O
�r>4�h���}D��9V�~e�q�|]#��2�4�"��q/�~k@Y7�gQ�Qj��HU6Ă|#��b?��-�%Q��/?[G@�*S�E�*��&4��2s��	��ϐ(� L%�榹Ҡo>�g�Sx�?tn�z	ؼ*6o���b�ؼyؼ&6�~�`�L���7��O�-�;�ĔSV0�W�`��W��T-��o�q�;E*�\���<�O!�j�Y�i���Ŕ��5��}W����o^�g�K�Z��O��yBB�lI*���ŧ���O�/���U?��_ȩ!̽��Sw�j��w�i�e���}j�{�5s�>-j������<s�Ӡ�g(��C3D/���+,)�ЩDz�:-UN
|�޺(O�Y�����z�w9-��Pc�{9v���oW��^a�=�}����#Ԡ#ܡ�n,��]L����d[ѫEqnF5j'�t��vZ|�x��5�E��~5h�n���~�L����Q�&��5���8O4z�N��_;�j��b&��-v�gr���Ϯy~�q`�w���Fa�H�bEqd���D����d	U�%�����-]�"��4h�����u��ݿ�q�^�]'E)��;ގ�z��8Z����e�׫��
�ٯ�3�uZ�un2��\e�4�m�1���f��T<�i!��ⶺk�$�5��.�4���eh��#1���=头i��3^�iP��o4�OB�ٌ�U���⿎���_�������ZT��뤁���2��^�v�Y!jWͩ�[�v=�3y%���M�����Y���3�~j�jX:�H����p��S`�6��[��\i�"m��w���J�晴,RM��]u�Cל�H��UC�,�aG��_�Q��N�q�0$����a=���V���A��G�?�r�
�7�� 
�Co=�ň?x�8턏�W�Y�TT��Z9q��~�߼�=�;}�{Rw���5f3C�Od% }j,i:E�8��dO
���T�p���MN�����y�E��jgE�=t�f�hK��j��cEzHc{Z�k��{�4�k�s5�t'�1�_t�?c��h�Sc5�d����N��O�j�&���u�c�Z��^;���[��L�����="��S�ԛ�A=��
�0�+~�ž[�y�"�v��h�Z-�
�_Փ4z��p����[��Q�}�o����nAp^=��^�[��j�{��z�-N���d���b�k����r�Hu��.T]��7^$2�Dk4�6�%3̝K#-fG탹�vb�ӌ^��f2Ծ��5�I�6���-�YS}
���33�f���ȵ��'��q��yte֠3�_n
�K�����^\�K	i���).m����֠��S_��ݿ���2���y�tW�ا��Hb�	L��^�&;-��Y�#�&�����<تaΕ��GZ�wK,����g�k���v������Z��j�v���L���}�%�v���>-��5�W�|c�ޣ�]7��X�OxJ���ګ��^D�����ScH<=�4?���)|jH"vrKgvLW.��_3�t��-V���kL1N�w�E~Zl��”&�t>zTo`��骱�"����A�מ3Vm�1�V��m��S��{�![�GqjW��e�q��&
�Z��˵��Ԯ��v8��q_�S�;�Z����b��\M̹�Ω��SS�ݮ--ٵo���Q�U���RÜGS
��j��׵�P���%Y�D�Q?-�$S��$sڕd��Q���Y)��W�f���j��g�R��J�5�u�+��b�3O^-Δ�j�j1�u�=VJ�W���J�3ߓ;�JqZ�����Li�(71Rl�7�d&q�!m� s���6����(���aZ0x�NJ��i��ZRr2��V��w�Vڼy�gH|�[�o��z�R��K�o�T})�֋�����Hv*��rf�s7��rzug�ܦ8��)�-
�Q���0��0�#E���<��ށ&3���k��4�W�
���X�UN[�Z�q �0��h��Ws�J`c��i�Sw��7�i)�C�̼lO
y���Wcy�x
�=��E����Fe���.ښ�E����xK9�r���GeA���סŇ�Z�Oa}Z l���v*HUⴲT�������^z��v�� ּ'{����z��L�kD�f�P`����J�yH��+��oh`0��B%x�C7]L�A]׼/5[�uZ4��y�^�i΂
-��sj�N>���3�i�J(���u��q ��j4Qz�]/^*.��o�Fz}]7y���x�Y#-��ia*�0��V���z��Qj\1j��o�h;5j!�vhY�u^���8��L����
A�Z��Т_{��T�f���sSa��M���Sh1Z���������
g�T��ϋ=��W�8��B:SS�l1K[!�aZ~�L,��#�^d-!ASe���8l�S�]$��P�	���NM�:�W�
$s%�VL՛��H��7nj]�)y]�#��rS���MupSj���	�_���Ƞg�}�A�W��r��PI��f��<�H�#�~b^��Z�
�{����O
�Nj<���EG^�����6Cyle�Q�,����b�^����%w�Yr��u:-o�Ђѓ�F�
��+_
�ԥ�
5}��A��Q����t��n�άO�־�ۼ��s��'��s����qn������
^qC�?�]�񴘯s�
vj^
�?�^a�z�s����^�'}�i���k8s":;srZ�qm;�F<t�T�<-��j^��k"����ʘ�8��T��C�qψ��z�6��T�����r\��(8�����VO�����=�����Y��j�v��^q�:KZ�������T�F�F��ο8*�(�EIO�TÒ^D����0Tp����a�N��V{�IŐӝ!ӡ�a���By=�>��D�1�k#0T���O�!&��'��Pa�W��ulo}�5-2G���@�1�+�*�!�󺄙��4��`H����O��1ia�?̏�{w��x\Mg���*�V�]*r�/����b�򋡚���b�ʛ�b��$�J.�ܗ25rSN�"n�ߦ�U�A�?�w��ߝ�uM��^/pO0W8=��"M���b
��
��X�-���#԰����!����!�P��'�6Ȉ�ڨ��	n���i�x���=5�$0����+6�]L��Ko�i`Wm5����>-�q$@���M��gX��bK �J�O�����캲N����3��Ծ�&�+L�/���`N���L���_4��'x�ک!W%��,tϫ��+�X:�Sh����g���Ȝ�r�Z��
@�F��n��!U��kod�
�3�в�HNw��1Qa��6Z�O�b��E�y�kh1��”q��r~{�,�Q5��N�d���2�{��Zu}˜��LԌ���Yq��۵8uZ����E9�\��b_��pQN:u�)��j.���u�ޣ��
�D�>L�i�X��k�����C��ᡜ�n8确�5�;Vh���}ܱ-w��Ů��o<P�`���(u�psǒ+|��B�`��Y�Kі׌�M\�׊�������4��l%�:�F�y�?��lfS��Зg%xJ���B���r���B�~�fP)�g��,	FwQ�flY��+��ڑكGGp�G�ǟwt/��(84��.X:�w��M� ��MP��E��rnչ;��0�������}�zp�-�����fS_�2�$����1%���,�?�L�w��
$}#���uW�"���`�F~�B0ވ`G,R�g��-��ROr�xaW5��$��Z��ә�4i����S�H��Y���׈J��Բ�F�%��w�(�d��|����q[��
D��bȴitZl��X[���$L��<��ݕ���	�X�ؔO_�F�o[Q��㶽���ʯA��I;0<>���Bq���>l���m;��#Cm:lR�����q��+q�pRr��Os����|�<		u��<�*�$W0{��mK��Gr�Kb�M;h�!�d鏳��	�h��@��P�Cӹ����0��P!(����+�67=�0p���%��5<$�4��i���h��@L�-�W�L�异���n�=-�+E��l�^z�O����'H�]���X2��FU���W�Ty*�
��)������.-�Ll!<�Т���k�b��I4���|��ߋ7�� �1�q����1�z
7m��r|Zl7x�{��8609i�Xa��'reϫE_qj�Y��QrR8:H+�s�۳��J5~�	���=.��[�~$�}.2��G����!MFFy���whN<
�T��j�</y�>
v���RWƕخ�����Ě�wpqD����?��I�p�%�Ӣ(Z�k�*k�Ӓ��[��8a+�E�ţ,))���v�"��h�+v�\y0N�ʵɋ2�>Z\L�H�LH�3;�u� $�?b�v�k���AHz���V���.�e��b�g]B�������R�	L #ure2 3-Ŭ�Ӣ�L[1+k�8b���+9�-K}��b'û2A�!*�}3"�[�M0"�S�M뤸b)X	�Z����!����(���~��0b�y�c���(���{$ �Tm���R~���?��gϹ���L����q�*��
�'��ҡk[&E�=ċn�Ǜ‡�T��2��cC�`��.���s��	���(��]���D�Z�e�u1��{>� ���6��9�ѥ6�1�ݼjk�ۈB|���_.��Pv
v3x����&����ŎA�7�a!$(B�P�Q�ԙ�������
C�.4��a��OX�K���I�	�
Z�'���G4�7�mD�o�k����-��K����ķ�V9;�
7ў�5��mwfك k�Q{p0�aXA���R��Q�Z
�����N
��-%Th!���x����i�[&߀��ND�Тɹ�k8,ء��
-�$�5꼿a��ݢ
��kx����Zݜ�l��y��xZd��|jPt?t�]�i�frj��'��V�-�:j��uz͸���;qj$>�NO����U�
Ɩ��4S҅�Z ��s$��aO�F[��h��-�k�u\sk���[��}�6��?��+��e>��9�W#�뇦z�G��v2�XA`N/^8�|�c�|��4g<�.��o��!j0��i`�;�)�=���ܩK�=5��t[�����q�M&��{L�޴&���ɲ"��xXw�r��=���LH�Ԩ�-��i��=�ԯ�ִ��)�M_��q�Ů�U-�NM�r
��F����~�0h�X�~e��r\h�Z��y^S����2$ְ0�Hۓw�0�:�0�M����Pn7�V�Z/L0��@�c\C�C^�Z�4y�I1����5��(�}j�b�
��!K5�J�Lް��#K M�1�0�~c'3�t�V¨u��)u0�~W�ծ�Jpg�,��L������K>,�B��:��5��/y,Ө"q�����6u���d�ƛB̙�e�̕ݨж<��se��s��	Ӿ����-TJ%���R�����a�`	sRZ' ���>ᔲqe��x�f��)^WP��꣍�S�@+�"���jc3�c�e��|s%x6>
�ۓ��[nL��:�i,!�I�ln����޲W_������VB�D��>��ܳ|ن�YYg�Tљ��D�n�v�cz������%��#��
.�v�x��A�8�tS.�
�%�49�і�N�?�� l�@4�Nn��/M2�t�p���	F��E6�\(��e��^��L��/�J��`
1�6�n�`���2�1I�܂���bL`��"#`�SJ%�	6�z	�֠e`l�@���´I�b�m�Mz�=� �-���E�&K�gX��n���Rd�{��i=�n�i�jb��-���@ �^����#~ҥ���B|�X�ТM�A�ј)�%R�������޻E��T�l
݇�'N�R��Q����O��"�{�����N
�{Z$f{}j�kT&Մ�q��	������5/p�-</_-f�ۭ}�!I���v�a١b��t��<��{hAD>-Z����4qǘL��o�#LlQ�D5�����랪,��C��{)쩊
R�6��4�)3}̫��6��kP�u�F���^l�7��)O�$�Y��p>-a���;�z�6�I59v�=�6��T�c���7�ټF�45��:��F���Ԡ����� w�{^�^W���v�� ���C���%Մ=a>�sR�t^�,�e���u�T0�oZWC�뱆�?���w�B
C�-��]-��X�3꫅��w�z�Ӥ��"�]:;-�=nS��h�d�Ô�-�0�V��v]THg��S!�L�jN�YO	�@��
�4K-��5�_`R����$�-K�0�-{42�Z>����Y���I2�<��/��L�
#��o����(q9���r��X3kס�ܒiF�B�U:t��5CtV3� Zs3m�x�L�"0�y�֙\��[��8%���ʙ�4d�d_���D;C�(�ءd����&�3�I!IYj:6A���6�'�܅�Y�7�T�~Q�f
����
�@Q����ӖU��]��4���L,Dbl���-�4M�=�2�@<j�{���m+d��|��p[��-aw��i�a2���bk���h��%nOz��$C�p�^���}�uuk�v
3v>�7�����ZY�==33T#�B�U���N��	�~���4�+t��8Ƃ�G1�{7�o!�@F���/I�����wy��臭�o?|�:%_���׫��׳����}�����Q#�{�|�Z��5�y����z�|=j�~��s�������������o�k��|=k<|�VJ���0�>�f�[��iX-R;�k�@'l������;]?���`�cc~E��0�j1�a.Qc�[��u�l��{S_�i��2t�Bc�{X��^�n�{U���A}��߬�xD�E�2_�F��#-w��E�q󃱏?#��I����b�8��՗����<��S<��՗kf���3�H�W�����W?�)nk��]?¸�~52�H���YJ��!<i�C���O�����_���x�֗k�x0��O��(�>�t��f��W��uj�kS�ế��Y����a�73�m:����9��޳f�=�?�K���a��NL#��w��)ԘvH"������s?�k��iSC�-�'�5����Z�5�rc�hs��[̇�G
��O��Rv0����S����	���T�X_X������'�]�Anғ���/4x��� ���cQ�n�s���/,�s�maI
 m:Ie�Rи�0��!�S��Ƞ�'8'�F�x��h����^ٙ~伲���(b�۠�b�`C��9w��=�P!k�N�G�'לa�������1�-�0Q��ߣ�N=��ߖ�
q2M8�ɵ�UIC���3̉ɭ�vg9m�!�񐧁���x�墺l>�Dې�[�����#�0����߰W΃�p��:���إ�߅ƍ�^�F�~8�%kK��>请��Y��c��JݮE�9��n͒/�p�F�;�#��E�Ф^��B��#2Ya�sd�#���L=33����"o��D��@�X'��f$A+�S��6á(��¼
�?&��a8�=���OI��o���	
�5��ߺ���[�7秪�0�T�<1ҋ�rĉk��S�Sф.O��q~�w���Ew�#��v���ԩWOz�5��N
�#4b���L��vq�8�jq�i7�E�$N�$f���F��rĉ؂�ԇN�rĉ��=]4䉫E���5ҳ`��D�~G^׿�5Q�&��ͳ^C2i��M��3��a�L�X���TO���Q8�����hJ'�5��b'���ൾ&M\�V��0�8U��qPGk|Z��0e�(N'�`=-L�h-���Q9AO��f!����bŽoM��;�N��C���¡K���=�x���E��&Q��~��´�qTu_jE��Q�S5ʖ����lL�(��5^s����U��+�iYzZ$y���9��ρ��(����S��&P����9��`mP�׵���GP\����>�#��j#�v��V����㑶O5~c�0�H��Dz��j��U��6�0��~}#2�/����h���<�����D��:�$�l�Ag��_��q]w^�-�{4:�O�f����y����65儖�M02	Vܟ�	@�ey2��e�_��� �L��(�|�9\�H�րR|�2��v�A����0/���ʇlr�_S�i9r-�f��NM��00�J���)�(���q���D.A�[��˷��
ėܙ�J A�4�L&�7�H��\��d��D3�Q�9]�d�rM:u{F��$���ۍ���a�M'�"���w~/��*�P����H��n*m+~��PY��-�8���Nˆ.G�}E;�ؼ���f_��
7-����t�ɒc���(��I3��$��9�[�-�~����&��F���fR�����:�z�llz��y��<���͓�TY��1=�>+�[Wщ���ͧ[A`�E:������;�.�Y�S�9t��?�ɑ?��=��;�̹W?�9�יּ(W�ڮ���_d{U?�;��a�D:O��K���SNu�q�}�q�?]�x�q�~xq��Yq�'��#��{��8���)N9x�8+�S��c��_O�_�(��}_#��]��-Gd��9��ߦ����fg��c�Ck繟�8���b��=ڊ$��P�X�¿��$����
�����Q�yS�C&����S:9§�`�%A
�Hg���1��m������Tk��ЫЦ��G�������{��W�x����A'�g�&0��+���KH�}x���t��ʄ�d��i3����W�<���y�ϧ��l�'i{as#�g}�_��%���_�ͷf=���H33]������'���]�-*��Ā�4����0�S��1b��9��h��sGk��E�1�`�N˾=��h��>�4��$��C%|ǻ��~�Iy)�e�=�)��dqߙ�@��a�o�W�Jr��>h��(��b�`*����Rw�ߩ���MBq�Q��wJG����c3������c
�O8�(�)	�N�#�i1�fw$p�e�7��%@��H��t΢��=F�	N���q$p��W�[��F��5#ݾ�ՠ��.���PqPe�E-J=W	k(=��y��QN��Q�TO���{F�1�`6j��Γz=�kjM@��Cz>l�Z�zc�k5�w\
ƽ�`<�z-7X���6��~�z��hq����I���E���� W�=z�ׇ�6�>Jƈ�X#]��H����k��|�6���b�#�F�[��tM��$a���qz��W
�k�}ߟ�=���6����~x	�0��8����n�ɺ&�ؓ�%,���iP��X�=OD�y�c�Ȃ�95�q�O��1*�5N%�[ƪ�8*�U泠ƫD�]Uͯ%���.�D��9�Y�-�0�H�����0�r�a��E�<-S$֨W
cZ��'^�5�(�^M��Yc
���E��n6�d�XÐ�F�Ͳ8�Q�o�/J��5v;�%"���dB>�%;O�8��@O�Hf��lҚ}VP�8���i,��4/��+j1�Or8��F��"t���ҩ��Ĭ��f@;tpp�K�/�s�\�xJeE����BU���_6�df�[�&�F]k:J����r��,1�q2`�ؠ}4L�t
B^uP>J]y��9�u$��h1�+��
"��d�i'^��zӎ`H�CN�v`39����.F��;^I�Õ������~l��ޡˠ�]*>x���0?6��ƘX–Bۥ^cXevU�\�_���6t��zS�	�XO@��=�#�El��Az�{�9X7�|��d�A�^���h��I��GѺ �!�������h~ǚ�������2|���1͸;B��c�Uc�͆+��Kf�/{�Q����U�L��f�!,���|�Eo������ƣN�(��Y�/>�ZN�qk�\�"��.��K�\���*]�Rp.�w=S�hXp䐲
���e�I�#ߍ�[a1r���al�8��^J�Q-���Hj�������c��ą낭ڄD��V�?)=�6[s֧�c
YJ�Ϻ�>\����,�j��%�y�*D~p�C��p���ݓ]��Ӹ.r�_�.�C�"D�����,��T�����Նrn�e���e5�P �PK���
�L�ɋ�s �ԯ��B�V�A�
_�x���MJpvtЂѳp;o+�f�5�L�\�`eUq,�C��7"LhQ=1���h�P��X���9�4Y����(��(�B����\�U�2)Bd���qw�,��xn�8����^gk�Vj�d[s�A?/Ĺ=~\�}�$̲���u�M6�5n:�r������fq+D3�MA���~%j,%��JH?�o�KP#XKH��͗��5�	��b��d��̈́�c4���5�لt;r�Z�j�Gd!=��_-�;��x���?�c�A�:(5T=(5X�Qj�l���(5@��Z�k�#���ŋJ
�0�����Ԉ���kE�Y@
z>����Wl߮!�J#L-T�,q�Q��]��ڝe��y��E}ƈt:�-�H���ڠ�ψ�M�QV�w>Z|�k�Vʌk�����s�2#�l`��Q1��(qQ���V(3�ں�_j��:Ԣ�x�0�\���� ���a�M�7�i3�uL�͈���V����^�t/ћÿ�Qِ�m��C�"#�@V��OmS=<��T��=$��C`�5�G#��3�-��?c4���"=�ߘ�Q���IR�6���W#�[�a.K9��]��ŘW�)/F�qx��j�yR�a�3n�]��>*�ֈa��ˠ��z�i�����/�y���m%~6�jh.�K�3U(Y/�,����E�SMx�d��O�/��E��ŹA�m�44��B���lӽ̗䨪h]Q̓�q����(���uԈy`N;]�r�LQU�^���$,�ĪgIg�T�Aǥ��Y��cZЀ�^ͭ�7�X c��[��U��F߫�:��w�
�gttK��]���*�G&�k&�2��e>C:��Lp�7�jnB��s{&�M_[��$"��ST�)?8WW�2�,�я<�J�|�&#	[�]��-w�Iǟ��c�'о��n,�FѹD�(Bu�EjjM�(LM�`]p�����!�������~��r�Q�K��kQ�L� ۣ&ܓn
[9�Ok�QR,Z�0�S��y��M��EXqd)�K�RR.����^����h�\B	i&��HB��S�e"�oЧY�R��ok�C=��k
^��:M��X_Gl�	^-Lf�5@��b:�=]�R��!?�b�d{�<\帒�����0+?�yr�+1��&
��]P�.�7)���"�7JF�3IiVa�B�a/v`��<o�	�S����wx��q��W�~	�;��P��`�6�P��I��d���!���y�[|
���ͽ9�ƌߦ`Q�:�6)A�v�����\PU?�P0��i�r��Э�3s���慫�`�B�0&��ݩQYτ��Z��K�}u��as��/~I�R�Pա��t.ܻ��T��)�Zz�j����R�u��p6T!A�Eu*Bly�~���nE�/\��cu�nX7�����XG����E�P��-C����Q�Gу�����h:9��gQ�h�^����[��a�~�*T�ٔ�hyX]�\F����~���WM-\�%���E��L�"��d�X#qI�qol^S��ȼ\��A'��3ܘ}�T���R)nkD
�P<��o�C~Ojߍ&)
���m����
t/�
t~/��iIL�p�	�Y���Y�r�;�N��KQ�$CSu�47I��'�j�߰�#�oŜ.�E�D�$����Yt�Xj鋘�&����i���$��+�t[�j�H��Ʌo�W��׊@�^63u�C��y���U��]J�:��w��Gl�+�-��Uڒ�ӑD�D�g\
�3D�7@�O :�H�B��#�Yd�ɽx�����U[a�]�֓Ӌ���g1i�J�S=?u��ZԢ��>��}dIЖ��z���DO�~i̕����lk8q'~�T��2&��~f�	@��>�����Y4:�"�g'',�� +x^�]��®�i�W[�AWٞ�͒Xw~�_/��F���#M`E[�M��
�+�b��ʊS��V��=z���>���O����Y�b��z�
���&:����&�PHYfW��r�җ ���<�[��-�bRa�('V�vhe�'C�ӢD7L���}�E��ĸ���t�n@G��J4{����JKX͉�	z$~{N
J��
T�ɶd`H���Yx<4	f��;܉�d[kji^VEcpg�Y��wO���)Rdi �b�B�P���M��F��
���0JA>�c���+�4��h��n����g�XC�+C�M`T��NnO�>���ק��2�I5�Kw�.�!),����J��5tnq7��IO�2��t9�!�
7:Y3��pM�>�z0}�|>�<M�̷
a�YM��n���}8�F<lHJ>��K-����l��_v�_������5�1�EMYk�|�N��$�z�E�^jHq��c1N8�3�ݏ�[�y�+acY�#%]�\J�kꈋ~�
�E���x^Xd���B</,2�bo�O�"ˑ�?o�ya�9����j��Xd�n�O�"�=<.��"�?#�O�"��ԯ+��5�B"K��N�ӑ�bic�|���H�as
�l\-`o+�s�;����r4�mn��"���	�Fz3�<Xdq�3�@��k�`o{�޾�k�np�g�[��,n�Z
���(9ڍn�B��<;Ev�ڜ�=�fr{HK������m�O(�5�%f,�+��:D��EV�<��>Ev7�k�1�}�Τ{\}��J��m]wln�I��-,7lnqP���Z�rb�Q�u��v���{nK�G�g�AF�v���Xt:]�t�[��:iOb�fw�`�!�׺j�xO�٭�P��G��J�Q�W��uHW����5,�Zla<��[4�h����[�^-�c
��e4ɑ^_-]-̾�z�1� hs��WO��5��S,��DѨ���?�C<�q:G���E�H�j4
Ye��ޢ���_c{������9}c�ȵ�џ�Kj�%��9�N�ɚ���'��C��d��KU�y�'��>`�My,��U��cS��'��Bg�V�O
G$�IIz������[(��j�v|#ZU-�xB:��Q�lE��y���k+���k�.���Ƌa�i�I�V)=e�#A���F���q��>+�}E��hS<=l?S=5�=�^6��G�ΘSc��D3�Ef+Z�#/w�gIa��l.�`��y��L���Py:����[�h�=�1]�(��\�,L�yP8&��M�aj
{�3�L��뾏�.k�ӡS�(�0�F�d�s�ɹ�B�7�F�p5gg Y=VH�L?%PXL9�
��O�G����G��4�
�b��{��h����!;S���&��n۲c�xޘ��h(֛r��JѶh=߅�6J��H>�R8�:E:DLѺΏ��@����Tã���s(����^;�|2�L�ګltr�2iԓ�^��C������bx8<�p+�l��@�w�+��#���'�,#XôhĂ�ۤ�cVC\��i��t/�I�oK�ruR�,ٝ�T����ۯ�O 8�xv�)P�"��3M��in4
�]�8Hy4�Ν���{$tI@.RO��q�⦜MH/R�O�Cio�0KD��R�C��z���.�Jy�)��W�]��Bu�̵Z�2�%�%����vU�Tv�!�xamaD�3K��$�EW0�&��5�ڮ���lF̮�}�k�1�43�!3fH��dS��j��t�
V~ׯ�Q����t�j��B�!x�/�2,`�]�����X���'d�=��nʲ�y�t�eݟC����=^a�Czorv��N��=��l�*F��,�k ����1���'Tcd�-.�Q���Ϗdv'�ܥ�SC,�������'�ꡟU5"�,��
���ܦS'��	���b�3M9
�|<�l!sO�Ӯ�G)M����vb��Ի��'�E�������=��W�6P�dJ�0���+&dqt��ߢ�!���Mؙc�e��+��[<��R6�uR/b�4yS�†R���fh��ٚ�ߐ�G=�B��>ȦH���[� �7Q�����łt
�b�?(�yB�����
x5nyF�Ixc���_��+U%��f�M
Ș9EOw^�I%�i��^O�c�Ӄ̆�w�a�΢f���s��!a�!{���'N\�WA��35_3���T�O�T&��g�����L��354S��5j��>����i�4K~�LM��M2#+�t��JxY�-c�1ҍ��ƾ���z�A��,2��v�Ө)�;�BS>%��s%�����f%u�%� Yi)���l,X
d,bOcW�һ9�:X$jġ�Ϥ�L�(Rb�������i��3_[g���D�-][��L��t�`^�~c����o���WG�N\�r�U����?�U�U�FV�����U�W�6����;�S�����~�"�Qb���\�:K#.Z+љծ_5�$6}���'FX��g&���)���{O�
~��_���l~oɳgѝ��>��A�V�_5���/ub�N�f6���#���^8�y�>1Y@H� ^����8|.�A,��|�N,z��I�sK[r��\�p�c�j7�)h26�^fԘI�����pA�c�9��V�_�0E>?"zʗ�d.q>9����]fK��{��)#�o�O���G�;bxI��,?6^�#��S�%bɯW�����_�G�|�'�P�O��=�F:�_�:�����8��j���ۖ�6T$L��x�b��r�~h�J&�N�/h��c^\�x���W>��%>����sd���ڬu
��/��f}���to���h�_�������!8O���؛��b�(���(��gGv�UWȑI7�#��S�DZ�u�=}ȼ��(n6��#�>h#l����$�A"�='i�����_�H^O���>��A�~cd
bo��/6� ���nw���ޝt�[Qp�{�/|&e�L���?K�8��Y��q���ȭ�,$'=mwJ�2��S�2����.��'�*����7�rC�7/�Œa����dAw�}��C�%|��X�͆��:}޿�Z/�7��"��y)̩i�ܫ��Ƚ�y���G�^����L\�m��'��*���1͒�G�,�L��Z�!�'t�$g)2�)�!�$�N�l��%��V������a��<�Ô\m��h���r�����w�vh6��4;
�J��}�q��f���ܔ���<�t�]�3�Sb����42��A
�9�"�0t��]j����򧿉��#�ܓ��������x3�����.� =Xum����L�f����7�
h�fݎ��<>��7�uT`�I+�h��������n���Ԥ�̯S�iˇ�ǟ���S)�Me�M@;JF�n�S�Cq��P���=6aU��I�\�,���0Z��f9T�����*&13ڡ�Cɤ�p�u+Ȋ8����d�I{��Z��Z�q��x��x-W���Q�eCذlujٸjC�ӝ���
��`$s�Фh�S=�"p�
0#�0��3�ۧ�"zM��״�<eںHpיm�w�̜W�!���,�62���<lI؝s�p��xk�k��X����&�吻�������8Ȋ=��rY
vg�L�)��\oڃ/Cɦeo�Y��g-x�������z��z�ׂ�o�_��܂�d<+���!
��-K!��`yQC
[OZ4u��p"��\�p]L�g��K��<X��d×MkɇI`�8h��t:��
�ܾ=��~��~=���?_O��s�Ƃ�J�̔�6��),s 	��C
��1�I�$6�'^�t��z��^4�xe��z1�J豞4�
g����k�۷�ﯩo��oߦ~��>_S�8E��%(q	���G�4��<�0�Ӫ�����^զ���5S}�c��>AJ[{��et>q�[%D�ê*tk��+�,����;��g���|������/5p�>��~r��B�nz�ʼn�է6�c��`'v!�!|�H�|-z���s�T�:E��L;�q�a����<�Mw��ٟ|���C!��>�.�z���v��->�����M�JS�1_�n��E<�L��[���X_�pt�Tu����yo�y����o�>_��T�[����{����+�~�t��Gz3]���p��NVy��f�7m.E�;���,��Ry�|I�rM~�kP���߿��x�A�נ[��Z���~}�}��GMҟ�ǣ��jCQ���&�����+�W��r��eh��<xQ���̺H�����\�"���ʿzl�`�e���ס�����������D�Z�c���DT��G��2�����D�ב��l�����S�C�tO-X:�	ᙋr�	Uٌ��y^���|��y�RedS�,zy���.�b"�9�~v\�_+��g|�?��^z_j_�R���7���wK;~kᔔY��Q�
j&���h]�G�a���Y��S[�TÑ���7�	�g��n��\||��f3���4xȚc�[g&k�q����L/�%l�rZI�;��	s�ZI�sj�����o���'���;3i����d�ɔ�ЉHs�����뭩�6
^&���=g���u5ŀ����v|�������YZ����S��L񎮆KA`5�S�*�@nK���r�T��������}��J���I�bC�6f|Σ��7�i\���Ϝ�����QJ����%m8���{��7m�L��rU�.��[nA�ܛN��Y`�gD�D�I/�P��<��=��_Ͻo�pb�>��|WB	�&L�+V�7m�u����Y���LB׫,9}�h�66�/mu�
�KƑ$qx�G�m�|�<�a>�:.�*�"���{�i�^pُ�U�S��8`��$I��r�.<���+��Ι���EwYv��O	l��ig�re>� b�����^���2���>+h�w�*�稏��D�n�̞�ꑦ_�8A���^<�Y�6a�rڴ�����
��HV‹"K�8�L��L��Zo+�������n� R��E�sOwi˱����G��.X��Kи�麥DM�j�]�AZ� ��
@�K��LR#b"I����%YU���c�Ѻ�(v���%��8b�^�+��e�=R��iZ���|��!.v��x&�&�d�x��4uKU��h-�S\�,r����9�4e�
���^�t�j�v@�,��/��*��Y97���5_99��p"(a���`�hD!,)�r�&�g��}g�ؿ����n����Lo�I��N�C/����%�m���vb�����_z��
鯒/��Ȇ�!�ߐ�er�<�9��I6�R��FN0	�묁�[�S�Lͱ6��r��[P��H��/���cɥJف�둊��?c����ށ���e�S�6�Y[\4�Y�44�H�ʳLTR��D8�:gX3�5<"I���{#V�Ȑ�njz+T^qS�L�W`�
tg�˴_�;��^)�?}
\1�k��bH'U���C��pN�M:����bieK���˼{��O��ڝ�1q�7h�Gy 	�6c'�ѥ�� �A�!_�}�
�s&+��dS�#kW%
bMbi$��B)��U�|
��ċ�U0���hG��~wA{��o�ܓ&�r��?�6S��/�tA��c+\~Er��g)�4o2.ڥ��M�Ü��NH�6N�p����K�Z�����d94��pEC���M��5�.t1z�;��y�ƙ<?����%���7s���&�%.�_����2Dj#�+�+?Qdm�k��0�QU���?`��2���se����w�WJS��!���[��>�G�f�y���T�>jl��`�Oǚ���%)7��æ݋ӓ�;�0��݀пn�ȉԛ�v�J��i�Kr��K��&d�^Gؚ^��֙��n ���-��S�%%0"#�d���Zb�+����K"6)_��#�R�a[(Ϋ����Īre�)�V'��R1�d1'��%��j��qk\���}k\��ȭ��,j��?�4�%����>Mn.\.�gy�d�V�M�3
�mS!P����~,�)����f�]���FvHw%���r!	oZU,ZDN[Z���7��P��2��w[G����r:�)�׹o���\v�װUeMYγV��Q�N���'M���Nngsg�U��
<Ȉ�$��{Nv��ո�Z4�#ۘl|ܪ�r�`���\���㖓�z	��-(���<�Sǟ�OU)ta��[
8틑��%���x�냵
_�2dOڴ/����Y�L�<diͮX�!�:h���$d���f5�הּ=���}.��L�.�{`��s�$¹���å��q��Ǯ��L�x&+@����W��͚X�m�v|��T*�o���w�AD�0��#�o���L��'���M���M*��n�Q����=dN�G��)
���J����Ϯ�G6��4$�l��Ͳ�����=e��*�u�����Ŕ�[Kl��9�z����b���B��-k)�?$�imO�E����'6���h,�T��-���P�u�S�0��ӕ�|wA<�1�\��7)��.i�|Q�g�����困�iu?z6���a������z�L���ƷȞ�������Lß"�'��A�RZ���Z��/y�j�MA�F��I=n��g%�p��]B�nQ�"�n�=��
��m���&�$��g�p��*V�2y�VD�m���M ]覯g"K��n�uF���DQ�'*j����L��	�
m��qxDӧa)��\gWT�d�%=s>w;K����M�M�֓���dvb�v�d�0_S�}�V�����=��9㱬	c�J�Uj�`���-
Z�}4͵�8��Y�ۆ
��0$��Gz�t�	9[�l�	��1h�w��?��q���O�좻��MRbo�g���H��������8��A��-o�v,�T䪫f'�-���{+�?[~���E��#�0\�z^LW
�o8G}�n�ߺ�
7-��5^�m�!Yv�~
 ��l����?�z�ɾgj(�t���w�]�_���v�a<���|�����:�HV��Q�a�]ogh��|o��Sc�����ҳvE��
��.�'Z<�Y�
B�=����<vKrI�
u���}\��y�͒����vo��9{Vɑ���1�{��u�HJ��jJI�-T�5��m�Bk�����I��㰌�&��ZzJ�<ܽ�r��3�>1���	�<��zgl"��m]��(ff����<���I(��p������v�1����f�>@1�j\%�o�*9��s��@���I�ow���Ǜ
nʽ���*4h�Q	>��C^�ݤ��r���Ho�+F���V�K8�6'�ĴZj�T��S:�Qm���]��I:V����ј���2�=�o[���7:ӓǍ�"k<��k�_|?˝iWm$�s�q�gh�&�=�3�����d��ѷM�g��c }�ys�N-���P�F$>��]��9l�^�u	��^󇫓���t���B<#�b��n��y��:��XH�D���@�������=�q�p���oF���~?���PL����$��L�2ޘQ�$i�uZ�����]
�߾���=�g�&��P�E%�j��ӡ���������Du&���G����}������9�펫�	����N���:f	h�ct��>�m`��q����8��EЀŁ�p�fw�=��-:9̫���Ц�+{��.A����_����[��/:����u"��.��nmڭ��[[��DNS�d"�.ǩ�`�
-x�����	X��NB�9��&_���_�)u90�v��û�W
Q�5�Y0��;�}J����=(����V$�;�U���)��z��CH̙�x��A��q!B�xz�}J��4, ��"�^�IH��1���+|)�7�J21��Y��8|�Y0��1F@t?|%;��c�w���4uIr��񭻀8�	���O�ֈ�x���{�����YqL"�f���p��������`�1�o�����kt�oh&5����f���x}f?x��]��h�6���
ܧ$�_�C�Ge�]t��^����cT~��0����z+c�J�_�>/5���@ӓ�����Tm��~x��̭?��y�T��~���⯿nͫTӷj�>�z�"8k�٩��ǯ?N�������[�v�����Q�X/�S�FsD��QB���}�*�Y騫����q�4�pk��~��k���җi.�APvה��f
��;O$0��'�!o�0��V���_�/��q0_ʧ��i=�c�z�����|�����87e\�����_r��mǵ��Hƈ����6(�~D���;��q��>檫�������0~ԚY�����Pw�z��0n�Ԏ'�<��G�R�������i��{�7A��\<Nt������)?a�3�_�(^�櫳��?�K��(�

P1\�����=�zЁZ=�^Ϗ�Q|Ӭ>����_,h���K_��K�	CX�j��!�IۤaǾF�M�:�����XR�=�v��5��s�&�
ex����Q�|k�y}��$��P�7��s�Dm�!�1� �>�M�I�8���1~|�l�Ç��=�R�'^ۍѯo
�8>�h�A�r�;���k}�/���p�L�,��<��@���&��^K>}l�H�T5���{?�F�ŦG��ޓ�^���M���XB��g�ԣ�"�����o�[�z���{{�'-�oN�R;��ߩ����y��PMWt�^�}��j6�7ϝOɛ�/��w��"��w��iC={g��]�I�ݕ�B8��B���_,��&u�.�{�Q�ž��K�Ꝟ�'��B������u���8�)Y���Cg���
u3?�b���C)佇{"���l�1�ku�s'�W<��6���W�r�V]ݐ����ϛ|�P���P�~�Ź�B6�Ig!;�+oS��6�>�T�~��������-�dzdn��`�e�!�����wR
mj��Kd��qDE{˧7	-_�o�aQ���g*9��ڱ�A�0�^�%34�C������ݙd��A�	Urc�'���1�C>���^�!f&Q�Кy��{QM�Τ8��E�ZO�D
�)ps�WR�2Ȕψ�Y$��������jc�M%�i��wβ�?��č���|�6�dI{]����
�_Y��?�j}�����g��3�(��#۱��Bt&<[�=_�g�V�p���ѳ�]{��5�E��&+r��n��J�� �=\����?��g��B�i�'�L�v���d�� q��K�ɲ�^#����}����?BJ4��_njA�yE��O4ѳ�`$�����M��-�/�J����C��2=���L�Y�Yr
����y��)޵���_zW�F�)^��L��e=f�����6�e��0�Y+Q���۟���NC>�u$�$��EIa,���rHa���|M�y׮�~����/>,]�tt[�x�O�U���܇����Ϙn7��8����_�/���2�Laˤ:;uv�"th���׽˼�Kyi��Q������^�C�poa������ӭ�>�����wiԺa��/;�q�k�{�{K_#�it�~�\�dT%9o@D��u��׷*�I��w�ԧ���s�U�:��D��dΔ����X2,��K׾�!/���йm�cq�0	����J2w�o"3�G��~���#�iI\�X�J�'z(��i��ܤ��(	q�N҇¾0�ɂ<���I�x��z�O�n�;e�&:h��#+�%���
�-?t�k�u��k����]ʺ�E�/��������ϠP�lׁͫp��?Z�6'�j���{�s#2�^V*.�H_�{W�|�W^Kh�7���h�Q�@�Âx�D�5�U�Ƿ�������˻��i���UG��jU�cc|�ޠ�A�����ݱ����{/���Hn=ק4���R�����+�h�q8_��ǩGMܧ�{t���.���K���޵��K��v�f8��]#D�����T�ԣ>�ɧ��q\�%z���K���Œ,�z�Qh9b�OО]�N�*y<{ئ���={��X�Wo��z�gI�ę1�<��6S��Ȁ��٣&r��ݱ�=���|������J��W���<����u��T����mܯG]�[�{[���_��{�hb+Q\[�,��E�R%��>�D���>��œ|��b+���[�����7~~�J�=Ch
�A�+U�8��M=�=�Ǟ�8.������_糨k�����:��s��|��_��=����a2�HO	��\�?��x�f�������-~o���-҃	/���m��?\o�Kl?>4�:F�e�zF��4<�ӽ=>�O'q;hK
(�Ѹ�]��!�S�+��M���H��)C[�3F�m]�_���'��3�'(�3%(�&q'�}�tq����ћ޳Yb�VRK�ޯ�6KW}��O��-kf��Z?.�|��[�z�{����d=7z�V%M.	(I�왠�9�~��w�M����8.������3���z��Q�r7�>����_�gv<���5�˃�՛^ݼb�x2��L�?I�Q�z��ާu�%��r��}��q���z�������M����w���{����z��=F���Kr�cb��q\�<��~���"�Xu]O��t:ּy16*cLG2�u�$^<y?w�T�#��7��+�8���%zDY'��h��0�/���i�J�ͣ6�����G�~;�"�-��<�XPK0"���$��C��gQ��.�?.��N��Rdx��)����@��A#��@�z�a�2Ēv�a}�O?_�����a��#t�����9��B^b ؆��F���;߂ӯ!��ゾ4��k]!��4⛛$�����v��xK��{�<�3i���[�z吼� �Sb� �����_l�09�L#��4��yC՘bWs��8�{��5�Y~��q��zs}��ů���o����!����x��f�A8 ��vy��W�T���*�����)iM}ם#���s  ���s���v��3��>�!1�o+�>�S�9AFX�q�@�et���C��7gB��E\6Z��R��v��n�,�E����+uÖ��h�u*��cV60��N���VO>��6U$��/�c��j�$:6<V��^d�S�#:�AR�^&�ԙ@�V��m��j�U6�EIf��O
�9��_�jN�h���̲�C/�;�e#I�΄(4�}��>���e*�1~�.E�)F?�D������[�|&�rl��&�"����s]���S���m��F"�դ,HY8�VRK�g�V�T�U�`��cb
h���แYm��:	���+#��Ͽ��?m�3AAM?S�F��d����M��R6�����Ϊ�;���6�<|��]�@���gv҄-m׾	{�gĞ�
���6Y%�6k��v�'ɥ]Kh�&�|�?��]�pxk��P����3�Y֢r��ٳt�����c'�
] hQ}�7�b?;�8��R����L܏�Ѹ���ca�4}�����x^e�OS��*�p�m��uątu,7f!؊�lԐ��^堡{�E3���dj֕�1�6���g\Q����1*�@&�`��71x�Q��[�M�nv���;�
�n���\er�v��u�iM�g_wZA"�u6�s���aQqcaY�-��ٹn[�5��P��2�R�)n�%�q������)��N�۳y�rյ�o,]���:�:���q�Dc�f2�2��`	+�L\��t�V��um��o�
y�p�Sѕ��T]mH�F{x4��Q�Y������P_��$�툛�&ݣ0.hB���Mgo��R�c��>F�8�Ӣ`Cj?b�/�@Y���9߰�!6�a��{P6���G��i�
\�n���Q�7��Q?#\�n�=o�/(Y�b��]1�Y*u���`�&��N8�x�q�,�.;���鈦K�:�x]�N@��/\Mq�h�:'�,��kBS�Ab�*�Z� �vf���IU�q���7��ډR.�W�c����uK1���־��y�$U��w����y5�4T������k�l̪��tx�U��8����!ȯR�Q�:|����`��t����^:������7��
$!���L�k/t#����m^\Y���Y����˹1<��?�������m[W��\�����J:���\�����i��Nz�&^�_��������tX�0a�O�8�H7SZ��9"V>6�*|�y�.9F�A�Vda�LS�v���*J&�{Z�QuB�^D����A���?}3W�.KOd�����F��c�1�_�bK])`�}���O&|�v�a�(�L��c:CJR��mh],h�dҺ��]ĚT�Ĕ,�h,�@�7��!C��Z���%�}q@p�z��L�[iS��(��:k	x#>��7�����м��nG+��ѐ8�9!
�-���	�}Nn�S������d^x�~��+82�������3hxU|�m*����A�;�j�-hΜ4
P�_�%S6��b�̾i�D�`���L�ܪ߸�6���!k�o�"yۧ�&��z�r>��P"C^�~.w�a�o�/��%�dž9WWwWnо%�e�{K�Be�"�@���p�n���t򫠼�2]!bC�����\��7h�A�vSi|�S�#��W1�[Hc�L.�_���؇Èbwvmw���9��S�c/U�����;i�o7	J�f����F����!�?��:��]ʓ�ͯ�?.E��Mz��V}2��ɕ�#x1�,�\�S[�Y)��Ŗ$@�	0+�~�S�#�n�g�E|��nά]���Y����EY����]ux��KO���=R7�|�&1nM%R����v���k&߈�0���hf�����h?n�/�>ʖ4�!AyF���E���d&!���$61X[�R��kgn��׎�Gç"I'L�q�����%�?�V����]T�p��?Q��
�i�L�S�d�F�qѭ����չ>$�,T��~oq/r]-QB
V�K!����}��<��ݣ�,��H��K�M�0rA��Z��]a��Eer��*ţ��h�ChE��kC�`{}��(~��jN ���7�Y�TC!T�иު�ZC��Ŵ�!����q�*S<�d��1��M��4�x([(�T)�B���T�kN�f�`��g���r�G'��BC�왐,ߦ���x4��荃;9sX�Wu���g\��?�s\����1������)d/�ɥ?�Ȭ{��H�JB0����	����sE{�X�W�m�Ld�mel<�kJ	����Y	+KJ�I�6���M�֋��H�{���3��(��;��/^$��o�%�{���Kz���P.�A�)��bF����"�H�d��6�Y��1Sz�n7���T}�;�X0+���9y�$��:����K�lM}܄��S���	���{�d�u$Yp~V�+!��zB�^�OjpEj�MSU����f�''���2)I�,�q~�i�&���|@W�2��D�|��.@�j�>놎�m��q�]�-\-i���pZ�2+�W!���=�h(��n�*�tM3	�)�Fs�{���r�����7;$I�Bٰc����Wu�ν_�d*n�]ޱj_��MK�q�R�@j�i�K��/X�դ_H��ucpS6���[Θ��J�r�R��P�� 4Um{�8"(�hq(+<2�=˰ٺ��:
Q�Hseie*L�&%�&n3�U����;�
(Z�@�]�p���2�l�()%KР�o�Z8�֕����,�E��ʦWf��!�}
`�(+	�H<?<�XN��MV<Z%��OC��.@��RG����}���!g�֋�TݾPy|t��l�J=n��2}�w�Q�bȲ书�ލ�R�u�n�'�v��8�$$�Ț�v*l���c��N:z0�o���F���yQ7�����Fɭ�{:��e�z�Y�"w�A�1o���͖h)wm}a�$�J�.�_��a�ʭv�3�K�
�A���	��(Q,ѱV!G��H��MKq����5�����X$|�G�<�_���_��"���w�W����r�U2W�ӕ��CX:���mˬ�3['iF��EU�Q�ܴ�r�yR��҄�Z�4�uYY
��ʯ�|��k�9�����t�!�2?b��	(d�E4E�֠�']h��Ѩ=�[��R4Kl�����Tb=�/u���?|���)?��N;)�0nP�m���R�o�ԁ���y�xjZ��I�_ޕQ��a#O�tt���1᪕M9����A���z�'j�h�3DxV�$�a�/�O�EH}e�"c-��Z#�
�
t�h,Ӏ#�H�/l�nK�f�#Њֈ�=��q�Z����UK�V������-�Z�f�A2��@�>E?-�"1�Vv`�Yc�7�r�9��үeq��<R)w|�33�|��
���@��U_’"�GC��sI������J_z��v�Ծ��^�K��6��չ`d��{�y��Z#*�A%�0w��3�
ɦMȾZX��W����e�c�U[|]Y.DӘ���4U�4q?��Aӊ!R���'�n�8�֓�QD{�s�`�2�ITG�*��x�:WmӨ�Ex8�Ś�s�QnU�BTs<�5�����t��)�Jz6B��$D�&�AAk���=�;Y`������	�����&�Q�-*�пh��.7p�W�9�xβ��Q�C?�!��B��4�M�(i1pw�K¸ܐ��<��4\��+-���pΪ��s���˥z)��<'*�ܡ��+�=�[��C4I�G�`���
��cF��2>��<1�}�~��*t5ӆd��0�%Ȕό�"�}���X(v�Y�O� @ei{����"�;�|MP��6V����'�,e�!�#猪�)��V	Q��h�aX��Ҁ^�&5$Z�/TS���,^�M C5��c8`�("�x���		W	�69�K:+t]D�����e�>d�Na��C4)z��@Ȁ[ �5^9EE�YO?�}���8lUo����dˢ.E�p�c�B�Z���ڛg��z�𸉊���P\6�x���Rk�"&j����^Kt�h5]ٳM�R�[��H�3Y)�����s*��Ͽ$�8jҡ�MQV!%.Is�$�@�T�-N���)�-����#�:z�{�C�o�9��%n�G��C�ώ?b>�8p�W\q�yv��4*[sGz�loA5ݻ�@r@ep���*�	�� 
�S�3����KL��*z�҃�R#��4@�<�n�0�8�4a�R��w�<�u�O��}�:]i(�DR�81��_mm�ҥ.Yk�Q8�K�y�	�J��bzB�3036Վd(�2U
-H�bk��X�Ni/-Z��Hwv��d#h����[������<ܼ'J�@��>/A���؋��6/��ib|���U�K�(�����{�W}c;�4Sج}��d/lU��C�^�]�lC�Q=}�K0��,�i1�=DA+T(4y|)�.�~LBز��!e�4���g���@k}�r�H|gQ�Aԍ�����-��,�c�m��}�u�A�.��ZӚ�-۳.�t���9��+�O�(s���:��o�_��*p�޾��g��د^�l���ʀ�C����器[��@���}�u�:V��od'�P��Q���]-rDf���$�sE%�-"z.B�_�'OJ�u�ӵ(2{��$aU8�A��~=���1J�ѯI����l���V"�1On�S.}V�eȅ�sϽ���0��WO߽q}b|�.L��
]�������\��[�U	�PL���k���l��]��U�����Ÿ��1����jl����a��V�9�'ɛ��B�Y[?XnM�ɋ�6��I!M�����؈��B��� '��t�b,E��*#=�U��){1�1bD2a��rҺ�}����]
�:�!�#�R����7��
�����ì{�������6k���!�˥P�C��7ȥ�=>�G~�H*|���W�4m�mFV�(Cq�y2ͶU��%��pHs<�0˽'T:$+��\���֕�,����K:����.ڀgI�w�������ġ�
�JRQy(�j�O��>n�]s!��&��]4u÷3���'QK=K��c��c�q�r���c�����l=����6s��sF�@�	A`��zE����7��D��ڱ.4[L�i=4���Rhg�Gw+�R�uL��3h�m���Ț�e�*��_U
���Q�n�~���f��E�r��Ug��E��L@�4i�-g?�l�%��[�n�8-M�R:�>q}��1�ڥE~�N�a :��9��m'��+�iuc�3qO#�^զ�@�
rźڶ�a��$�e;)0Hw}i:cр}(�qF?}���J��+�=c���@>�qߵx��Ĺ�"V�N���!�`/6)Q1�Md,+�i��O���FWX�d�hr�ݬsG������X�-�Ch���#n�M$��ʞ��[��f���;�y�(���������0��hJ�,,�nz>�n:rp�1~�z�O����ת�Y!:i9s�����3g�b;s螔��† �+
�t��+(��T�VЊH��*���&h��N�T���`���9Hf�9J��_�^=:�(
?���Ra�<Z�	]j5�Ա���m��]Hv�L*>z� 3�U*Kj��1Q@a�,�2�� cz�&�{�F�u���I�q�"����w[���Q�Ϟ�n�a��ލ �C:�ح�,�]��p��-��e%Ɨ�,�f�ׂ�"�+}<�sdZ�Co�����}W��M�u��kWr�@ki(Y풣+]KWV���x��%J��y�ڭ����骩�؃�/������sU��[�/K�L]3WiduO��U��ay��+�4!!����_�̞��:2���^�1i<5����'��`ܠ܄z���#l%�,ZU���[�E�=�y�5��{�P�XQ\�pM$-��P֤C�$@Y�������m������7�,&�9��O�I^�t��4z�ã�}U�Ԏ��j�HQ%:zM��B�
����D��9��&bgMR��R�d2��z���FD}�V�gDv�{��=�������S�f-)�{�����E�*�c�h���E:)��unw1���?�Ι���c�Øm
-"_�t�3���<m����_�:�s��?�#r
�\���Ծ�����p{�4�,I2]����ɾ�Z�nphQGEv��gEF5���ൿ��0��T2���3���+)�Hp��d����\㛸��|���o�p�}�@�[��6�v�Y�0/�o�a��1��]�k�*0�$��5w?����Nn�(;T�5��Ew�V��Szޔ�vT;��J�M������\����V���#�g;Z~r�B��>nM�V?��Pr�A�<ƮYv�(&��t��<���T{p}��P6E�(��:Țz��'�+욢���Zd܎R%_?�z�t�E�x��h�D����$S�M)RQ6]���F��d���q����n�WC�c`ݛ�;�ig��*��[���Q��k/�|�yo�moN\�5[I�S�Z�9��l�9��uUǺ*�4��|�}��M��\�'�l�e�S�2;�uTLh_)%W�ök�3��*Y��P���\�R�	#v`�D��kr�(A��A}�y��7d��|c�R�I�êE�d����e�G"�uU���Cë‹?~H'��?�K����W�ɳy��5Uú��5��,}��}�hM1z
�T��[�>bQ�0�RIVY>��N�iV�
��~~��e�F�.��;-�y�%Ҽ\8]�nq\��n��6�uUL������Bޫ�!5��jL�)���]őrT�=�BWe��8H��������oy�2Iov�Z>�%o�~�D��Ш�t��L����=b�r���^ʴ����4�C��Ql��Y�Z�-Ϋ�P wE�y�O��
�Eme`��2Sg�8�l���G:�B�^\Un��*�v9sf[s*sk�6U��G^J��d��5�7���B��n���i�J'�S�ws�/k=�_�X�u�Hs�`�IJ�w�p��)*g��PR�^z�Z;�J-*�T�����u=bͬ��9��^�v�]��ˀ`1^�:�����:�Y��׮�̙7���:��qC�hZ�No9cو����bQ�'�-�ca�Zk�����C�vmNNU�hŵ�Drcc��b�5ծŀn��^A�uf��k�w�����$59VV?�ksl*9���.<���XJ�,Ըy��}a�����رn���F�C����Z�o�u��׭��C4��ce\[���o����34�����.8��O�T<0q*i��=�ꬂ�{�,,J?7e�qmO�+O�z������Bd�&�)�`�c�Z������fA�􍶔K�T��߾G@f/EF��E˯��-�{����G�V��“2�M�y|����A���k�F�g�����ǖ�b����G}f�x�ɜ�vۖc�b+U:6<���+��Pm�^;[*���k��1Xj��vǼ�w��UQ�=�a��"Me�cz�l�+���>�7{Z�yr���,Y��.oV1
=�,G�ĸGOP��m�ܸR{�#��\�O���8o��_��gb�4x{DeMM�&�T���c��NC*ss�P/k��(�فr
����4Y�1޸sS�<�<�UҦ�����E�=zfYHe�����s�F���#��$�\��r��	�{�܂D~�~��9��0�D�͞�����N�[uy�lܝܠ�=��G��ڬeg���Y$
G���H���\�� �X��5�*�*���Maә���G]c�"�E�>�f�	����D�P��II/�K4���f�JԿcytK��D=T�9�.R{}ҏ��`q�ycG�^�Zٚq�Ģʂ~L�8�ih�8�kg⓪��kWܧ��(�o���>��W뫎��u��kccuu�B�?��Xa���9�jh�@�M�t��8�ߕ4P��BCU��p���*�󛐩j)w��m���-c�JM���JI*&��^�T����J���_4XD�N���e/�)�&R�}8�Z
T�tQé}H�ô4�sv�4RO]�g����qSVM��_��]��
G������*r����p�O͢��3?�����M{Es�Kd1���*�}�*q��;�(�r����DE`#���C��)�@ۑ^�k����F���JԂ;S)a(~�k*%�Ƃ�N#(Z߿:�ʹ2����AZ��3��L!2j	�^�
���vxM������5Cd��d��iG���Ŧ�b^PQ{������m�}��XU�,�>UV�[�$��s��I�c^���Uy�{�~S{įH�8k;�y�7�B���J- N��4���Ǧ�Z������z�*¿uB;ZX-�t|�c�Y�լ�q��.h�!�RoޕG����
GHn��6Į��[��]c����ֈ�C����5�B]�Ӕ9��nAxQ���]�K��N����S$�dmiG�i+,vG��@����L��0��OXHl?�چ�颶
�\_3)i��@R�Qť4�b���W��X�,*�<٪���P������j���Ua�d>�aiF�F�-�~������z�2i��9��\S)�˦�/�]%�L�2�x���%�r!&��0���n�3J�9-`c6&M7�FM�iD��\��NkgݝN*tq)�A��>!�0��m�8n����=��Ry���ĭ'�/���Y�+#�ev��V��O�adA����X.��X�1`�j.^�4����0� �eT�n(��"��x��E|�1�rQ�Z}Mf巟�,�D�K���*�S�Ky<�e���
��ڎ��ѿ�
�e1��zd���pk��kc\T�����������[��M–5S7��~M�
�ۥ횎˙FU(&���ZƖ�4�3P���(n�̤�n3�]���{�k�Y���p���:Z�sd�	���+w�q�B=%]5�V:�v�b��.��U6��m@�?A��c��MQ�2��$k�gc1/��\�5�<�kl����G��="�y��(�~1Zq��F��3iNm� �y��B���͞�C<��d���5�һȥ��ǰX2Esi����ﲅ�k�I���#u/��8��)l]�YxT$���/>\�e�P{�#�~��$��A���.��}ܥ.�,<ۖ9����^f�Q7��d.Ԓ�Į�:�%��2ȟ���|�!V�fV}c䏋����jO��]�7���U��Σ�H*�Pq?�]���sν.����?=�l��N���<ēb�S��{U�Ϟ��z�tțk���	�7eKt�dj�WJGU#��j�N��K�1&>
J���rt�Ս_;ҏM�w���(I�>��ro����/���Y���#��p�	uڇ�4�edD7�Be�F{
��)#U�2�x�L7z�x��?�_3��~��PX������N�c�T�]%'����#G%?GXpP:$�j��₂c�V[�WU�be��T1RE�lZ{۵uZq6Ok�Mk٦�lӚnӪ��i��5����nM�wM�����*69���ī�[Tf�Fj]���]�>"�@�����<]��0�'i�ݶ��m�mK�nKoɇ&���^�Wz��Q�� \I�Τ���D��
�W�W���3���+ ;*�U��HU��+s�~Ty��d�]��}�I��4y�ӕ��Q�R��J���N�%a�k�2�ٕ�*�c,mWu�*��ˊ�\�$��N�2ba\�gIJO�O+|�s��Sttx�m���v��SL�׉�k���%�!�׹L�
%Dh*5�YJ�+��9�noж7h���(�~��g�͐�z�=�BV��Cr�Ie�w���78��`
Ɲ˿f@}��H�}ea
�����S(^R������Ȳ{hs)'.<�UewT�	2?Z�N�
��
�
���Fw�ז*�&�S��[&�^o�x��|y8OV!Ť\��1-A�L��k�[������/����,�q��m�{
��P�F�\4/��F�}��!��ˉ�a+�(&��Fǐfz�|,z������g�nP۶�v��A(�G�1�M�8����XTW���z㱮��6�e|gU�d�be��Sxx��q�cQ]m���Y�g��ZZ�IӘT�=���>�qq���Z��[$�����-gyZ�����]�(�G�2I^+�c���c������Z8ԧۥ�Inm��U4Q������3Ny:͕�Em���N�����L=S�_�YmM"#Qz��e��k#�z�L,:��� �'1�.�G���#����3��������,�������&�E���%��e�-.�����d�Y~�ӻ'��<ݝڱ��ړ���;�
��Sz���7+���BL�gӀ�z�}��.�D��~Ƴ����a�;�~?7�%���à���Wv#������Y.j��:�e9��W�R�ТgF@h�<6>���k�=������~q���8Y\������!�~t�Ns�l|,�����>��7iz>��,9�6��$1Q=S@��-���,���=Z�w���}3ҋ�)yR�ެ��Qp�~��LY^y���+����Ͳ{���'U'4�	�K�0�z�h=3�YDsD�,|l�,���>�7{����[��^݊����:Xf?U�͢gF4�h�h���%��ʠ�=}D�2��.��K.�ݺ{�k�#�E�X��gf,���6����2�7�I%'�C�+��ن�+(��UJ�Щ�)�EόX��,�B\������Cu&�X���E����r�ꙂY��f)TΏ`���u7Gw�̢�>�7{���S$��Kyn���i�W?TO@��qܫ�d4Kz�l��L�iF4�6��W���Ł�E=�٠2n��R��O��qRr$�o�o�^,A!a=�eMę�夬�tjG�˚Y��q"4J��j�W�^h����[��dQOP�?�&,IK��X�I���}t
=�E��?/�������kNԻ�lMb��n{�x�u����a�>M����S~�l��G������*��߀��=�e����0�),$�v����1��<R8�ըJNuq�H��!��w��Ǐ�5��M�[�TRH�"�M�q,��TU�Umd=�3�]�ԍ�E'R�5餘�d��t(C%�{	'����dRI%���2���gR��H%�����6j�}D��4��� �4R�H2i���U)��(y�~z�ھ�L���E#�Q{�#*n��'(�$J�4&����J�b���85^�X��,�+�Fj���X&�Ȕ"�~P���PZ�II2�)`0�B<�����1���颷��@LEz��P��>JYR���&�>*��E��c���(�HN�l��/�`�
����BJIP&�̒2tGJ�2tKJ�2飒��l��҉;k��v(�ԃ?���X/~v�#˩r�W���<��0.ݒR�L��_y(��/��dú+Zw ��Ң��h�����BJՒ�����z<K��G0̠�����Ǖ��-��4���W�~��Dn�����o�W�פ�Z��3�LZ��$�ʃ�_!��|�Rzf(�Ds(�6&��P�dp�_?e*bg�두:�s/����I?4Rzfh�Dsh�66лQ{��I%�����J��Ig��l7U=���a��*)=3TR�9TR��Q{�#~��~��<��šó���+���P%��#u����Jj�c�6j�}D�AE�R�<.�nSI%Ge>���3���TR�Y.����"�&�U��RꙴRv�;�[X;^��J�������Z)=3�R�9�R�Zj����G�fOQ1S@J_F�S���CW@(?ڬ��C)%�C)�p�)�Vb�m�o�$��.��~�TRv�~Pr�E���4R �/���Ģ��h����p�

Q!ewݵ��J�@Or��/�BJ���
����:+���2����R���B*Ղ
)�L
)=3R�9R�\�����ٓ��"���#�T
M�R�Rzf(�Ds(�6>֭l�ʬ�RϤ���¢-�'�G)�R�&
)�L
)=�R"9R�Bj#����"Y�6)�2z�
)�\
)=�R�84R뽲�z��}�g�ȏ���a�H�g�H%�)�����r����t��z&�z���4etX�J
�Sۤ��#C%%�C'����Vb�}<�O]ߓH.u�&$�'\�0u
�`�k͜XL]E�_+�Nj����G�^`{}�J�K�2��	̺�>Ɵ��3��1�O>c�׼�1E����n;��<zvt�7~�x&�� ���N�Ճȓ[�J�3ťMe�U�qD���5���ߋ�*����.�D:%�,�MO��>�R�<'ki�ۏm@e����EA5���qE�K�4bɥf��%C{`zD��C�>�~l�/b�ȋB�~H��;�G�ZݫT�8��-s�3��f�M��+���2��g���Es�`�Cm��_�p�r$���W��R<M��1;a�<Ytn<c����k�c�Em��_���3��ѩ��?����SI���h�����,a=b�zwQ�Hl�vt�]ʨK�G#�����׿��h
O�I1�#<=�6�v�X����Ǣ�Z��.e�k��)��+�/wE��S]��4>������B}O�+��{(���t��SJ���rO��1�� q��׮�T�CH�
�	ɍ���~������^���E4��{�~,���E>0�9�ʔöÝt�7��n�9�(V"�mo�:��(/u���p����������8�."l�_���;�|�b<LX�m���Ճ:'׬4 �}�Ts��gE��uw����_��e�,�JY��۞�ܐƿi�{�fV~��p=㲞AOP�r��A{ɀc4�Rn�z�5����� 
Њ�p�MԽ���
��3�".1��F�bgX+�iX�M�6�1Qc�0�l�+k
ڥ'TW�+0�Ղ	��5�]�5+�ݡ�LL]�|���h�2`���):԰S��
�rh��:�!��:��H��e�o��:��g�֎��W��'�{���M�+uN�8/���� 
P�RЀ�#O��?�h'?`�k��e�{|�g�6`�����ł4@,OH�։��B��J�s��\��4�N�
nd1�oPv�
���,Tn����1�g���g�^�\hW?@�G��%N˽D���Z�srR��Y�Xp�B��w��ׂ^À
��__�����P�u�?#��W���PT�آ�v��_�8��}=r��N���� �������Z�#DLc��Ƚ���IS�[g�zf��6���9���3��V�~��kgc����_����)�( ��\g����l"��w�ad<a=��:Ak��{�aV�m��_�h��‹��tD�UA��	�4.���v"�D@���>�V5�J+��i<Qo�x��vMl�0���f�V�aI:Ӳ�(Փ��qzE0�jzZ��w�p�32-8$F�<6��ۦ�38d�P�=N�̷*�m ꙏau���k�I-�G�`D�WMu��}�e`���B`u^'e��9B�i|����
�6h�������J��i<n��B�豫��xp���hW��&�=v�8�$�9B�BMk�0X��M7;���>"��o�=��������2
#��(
|ⰴ/l{oeb�}m�t&�6�3� ���S�gV4�I���9�m�8b�����#�5���(�^�%�1��(��Kc;�m�v��,�GD�LQ��Eܶ���q^-L��p����F�f�� ��
��A�:U�Y�i��3�=ع�ؕ�_�>�yz����9���Y�D6�_l8=�rg-�"J	�Dd��A�ř3�o�!�W��W�F��G�V��Jbz6{��й���]�P�o���v�E���`AP�æ��A�*���M��ʶ��P=��.b=c���$���M�R{�#�~�$b�����l�8��=��t�����4���X��Lm��ƈ�|�+5�ɍҗl��V��4�$�ʉ��E$�N���f��F��������_�����e����̻�j���d�F����J�w���݆�20����j��G��K��pQ�<��Y�wӖ�*(Oh=�ORc��Ka踵Q�k���뷭u�p�+������ֆ"ō��Ln�b��i�K�4����)�&j��i�44J�՝ͬ��h�Ù<�~~��(�4�;Ņ��M%��z���T:��B��T~JmiM'S[��`?u�O�4�^�"��ڹ�i�&b�}�o��dQj�Ҧ��Ѻއ���9�'�:IkY}666�}|E�=zҕ�N3�
e)m��4�L
�Y��f1sD����''
E��$P˲�馲d	P{��t%���x@���oUbKhu���p�Jh�}�ී�'��\��TS3���6�7UCY�9�=�2�ZZ�^t=��z��h 4�74ƢM���Ŧ�Z�����gJ*iì�����"�_� �O+�&�̮�uA���+�zϷ� �Y,TET���s�M�����S�������zR�.I�%�'�-�ݘ���q"w3G�����3���&�?�SZ�$��zʍi��~R9�R6yO�9PZ��)����=L"����"������'��4T>��@�o*�_U�%*oBa3��	��#s��o�6ҫ���E�بIC5�(�W�o���Ic�̣�<�xU�,"�]�d.��#j�MIk� ����y���W'���IhS/�����O�r��	kE�0��$؂X�ĤC�i�nou��*Z�2	D�lC��F��e����X�k�*n���o�
�Ԡ%�Yq�	�6:���K�$5g[�1��Ț�6����㻓��*�>�"$H:���� �LuHH��d(�_B��= ��CGa�v��
��-��"�1���r�7Ud������%4J�=O@s�}A��x�X0���t8��AE2(��>f��p"F���_d�FSŮ$+lC'�S%�^o���+x��L��;�\�X��J��u^�=T3$.Y*���
l{��`f�7{�����Apcbݼ3���f���:/1�j]�$]���G�K��O,g�q�Ercc=�Vb���<�oR�8�i�ʪm���خ�X�g��:M��X�x,}h�D/I�B�b�ʯP��l��#�#\ױ��o�L�h��8��|5?�I��Lﮞ*�xl2
�Q+��t���ԟ�L�hn|��&�1�tC��/
$������Tb8F������n\�#���"�����ĺ����=֦tBF��4YTg&]����!|G��X�z��O�^�9W/����ϒ>K}����o�_��i��MNSUx�B]�6�	\$����ӕH�#/�\�F^���~���e��H�^�m����C�\:3"E����5w�_�t�?����4��0����Ÿ�����нЭOD�Y ?G�KZ�L��I#�?ӕ[���k�cC����>�z��Y:���2#��At���;�>��߫��/����kQ�[Gڕ88���]�6��~u(k�X:�R�����u�[L|��O�rw[#
ΙG6
Ǚ��]C��N�]F���#E����/�df|�\lp"��Rp �*3��D�1��Y�A!f�Idc�!��0۫�İ8�g6Ž�'j��-�c�M�b N%I�aَ��#3
��53	���I�8̝�
�')%��{&[w�d�/Z�	��dX�W��,X}H�%�T>�C1E�Gb�Ll�!���jO�t����;�B٭�j^��)4���QJ�=s�b�a�mRvROP�=PB�c�X�;�nL.�c�^�>v
MA�Y��n�É��#�������ɂ ��B�[d��=i��#IE�;Ť"�7�?h��_Y,�@�B����/�|H�v�����L>"�� ɬ�+~���h����:Z�eA��_Tc񫫙=Wf��`v�=s��c�ޣg2y��o����[K������\�+$͡o���p?��v��|�P]Oojj�����'zf'�0W��{o(}P�\#�����E�{�Y��d�ݬ���a���T�r����Yxr�\
��t-�����@c�l���P{�A��Oݳԍ)��\A)��E{$��,L�J/Z�}��Pٓ�b�lN���Z�_��z���i<3l"9��7�҉���u�O�q������RPi������2z�[��i��!@�vn���".s�4��сI���ٮ2�&j�|_���#ź��a��V������ӈ2w;ٻ����r?EޱV�u�לF�T�S�d?aR5��؜Kj�}D��,�I��ghC/��{�R��Y�#�5"�����.�d3������t�7dM�A�e/�r�����E�P,c&�As�cs/]����e�΅cˏd�d*gd�#��,��tY��]���3�> �Â0�s�0]�����㡓�Σ�ҋ�5��)�H��n��M��g�cշ)��7>6ӉO�y����tEt��|?��#גW���rW����g��@4�A�nn��r#V�b��0{���߫q�=Q��rLm�
6��#����D�7��$}8��fJ�=hq)&c���Cĝ��!w�~�<
_�
�2z� ��m�$��c����8��&
�#{}�0���H)m���`�O��av@���۴�b/��8:\�~
���!�4qc��ta�tU?��u�
�7_Ӊ�”�j\�s
d�OPf�k6���г�gwW�giw.n���g�8���(jN�8L}�4�z��}<BC@$�W�{�^����j��a]q�
�v�7m�9�k�>
���t���g53qE�So�z���?�w-IvЈ
����-+���K�v:F0u�\�,j=-]='
��}ƿ"Rf������Y��4,Ñ90^�YJ9��{�=���?EKV�{琧���+ff7ď,	����T�����tXf�:͕�8�L)Yn.hՓ���Ut��4����D��Փ �'��C���i\�`T�T:�����5Ҟ1� l,١~`֠�I�o�דL��"��Ɉ���$Ҵ�v�#}rGO��
fEΟz�q��w�S��/����b	�C�ZS�գ��}=u�O�+�"^-6U�:ig�����FO�)�Տ=�f��־��F6�ҽg<�_�D'�|��O�SOEN��<8���|Z���h����5^�_X\���Aajr���s�^0�J�ԓk#���8���z�3���x�z�{f/Q
��c�k�����OL*A�<�?���D3�g����ϋ���>��y��Q]�cE��I��g<֝�ԣ�m��9ˁ4�8s�b�cu�g�=�
/@��P��?������3��c�9�w��E�>�\Sf�㤸�Lg���;M<VK7gk3[��S�%��u_�~��q_=<���I�Q<���<�/�8�/
8������1���qm�_���w�8�k5an��ZM���<��\����y<z�ʬPs�O=�8��.p��c<g���Z�ha>YG�X��{ϴZMvu:��E��P=�1���ǎ���3�������>�3��-w}���$q|�ݸ�F�>��y�Ԕ_3$ՍI��d�5Ld1�e��Ы�gh��V�鎃���!�%=��!z��!:z��T���[��R��sʹq�꧞��(��y���蹾@��3-Mg��)w$�5�>�������{�86��<�߽g���O��� ug'rD��wž�E؎�-��#�$���b�N����z*#��C��4F��3-^g��J�@X���-E%|]���l�]�lØS�0�\��ʓ��庆����������ްsq�e�������gz*"��C�F_zȟ�Ʋ���ʾ�/h��qzj�r(�
�8�?/ή���s��S��i��o�������୏��gz=�
�����T�
��Ҕ��z�#��#L4HZ5)75�AșK��{��A)v�=%&�=燶�́%�O�X,�F�TS�F;^��*��\��Fb�D��C��3�z4������'�-����l�M8XgP�j�͗
�L���g>�B�&w���t�A�
/��`᙮�h�3���0կ��WP���C��4/	i�:$&�_�m
L����5�"r�ƾ�
�:�q]��{�|6ƀ��i7Ƃ4����R��
���jw�<z��Gp��>���ǐ����1�iI�(�H������k��S����91)A�?M��Z]@���@b�O=�\O�z.���zƌ����Ƽ��Ig��_m���3�S���4������5Sc�ls��L�y-�T��ozN=�[���~��M�*��S�439o��L��r�;үΈ'gz�]/b�W\& W�}��)�rs��aUr��
X��"n�����{�FcZ5�{f����.[
�G�*�f�\|X���皈ܐ�d�LKW�\����[��*�h��1�DŽ�|sNH���
�X�@c�h[�)�등���ރ��+JZ���R=���#^g~��g�
��_�(���n���B�)퐝�6|��sm�{ڽ�Z��{�uXf+�c�8t���=��,�[���u�����L�"�q�m��2]��)�E�{�i��U�=׮��}z����ݧ�����o,�ѣE�� �K�Y|v�U3��In�!H�j�Ǣ�=o
6�O=��os��{�w���d���zk�0/��s��Խg�v�Vݖ�9�Dp;���i�
5\�f�,�t��kơو���iZ	h�tf��83{�`��˧��3�:�0�y?3�]�3'�|fZ���٠8gf�������gf�NHL�Ǟ����@���������O�ۛj"̿(Ǐ��S�/��3Nȓ��~�����ʧ�q���=cS��?��ezqx�����Ss̃��1S��s9~���y5���|2��.���#F�O?&C�w��cb�!��b�f�p1қ#�v�;(S�{��?��[s�}@!�[�d��.�GjZ��G��4A��]a*�k}��%\=�4>T�r}��X��g�i�j�}��\�ș�]��3=��g:~��|�r���=�n�O�{���{'4ft�hF���M�e�K�|�n��~�+��>��}ͧz��m���=�>@��ZR��{�<#4>����z��>z��0��<]���*�ͳ6�h�M�}f�gL�%{�TݏE�<z.�-�=��=c�S��k2��z�O���:���y��9�%{���S��ր��Y��5S�<�掵���a��|�l^���,�*�=�zKj�7i=�'@��P��J��C*c���\0U���E���,6� +Rr&��?T
1���
�8!�W�&�O��n|�C�N�b䣝��Đ�N%��l	�Y���bd���MM`.��@���V�/�O�8�
gYc�(1{H&}�g��76��X��A��hN�S�T���G䷑�!�e�<���$�4�8��>0�<��/��80z�Š�'�c7&�9{�C�˩$�s�}���	��̄Jer.��8t��i0�ӯ�1qՑ�$�yҜ�9�AL�wP��u��L8w+����iP��#/C^,h�>I�pь!K�S�z����6�`#;�E������&³�>�N��)��9��VNI��JE>�N�wYi,fF����@b��l�5�-n�wV��`��d��&'�`�suN����q9�|��.���x�����
��A�wyQv����h�4D�In����}��9��_03����O;h_��T�Ơ�#���ɂ�ռ��k�����_�6��=M!J�.���<�%%�(ͨ�1��>XIA��J�wy����nc=aY�4�)��[�8���̬d��~O�
�2#3���3��jl��>Ng��̰�}'���T�Α�!���g��4��/��<ε��9&��&���e�2:���VΆ2u�9����hAse}0R��������QX��V�P��LcO�G��.<m
��a�T\�_��R�m^��jC�M�H�V��l��k�`��eg0�����쯙�zv�촩(���=^Yx�6d&:ǩ�u�wΟ���8�`�d�sF���}�~�(<{,����9;T���lfr=��c}�k��F��L�7�El���P�3�8XܣQQ2�n��2ȵ��۞��D�6��-3<�#؁�Sg"�϶j�3�if�R�����mP��I1�zLt�R8{&�`��,�Z�;y�Q:'��k�,D{���Fi(3�#��i����V�&�ڇ�����e�z?s�t�T���I�p�sÜ�4�[aƁu���j�bM[l���z�S��A=X�
�ȳ���"f��"xn�>��h��7�P�q>ŢӦ�=�9@�~�_|��z>NĴ����8*
�������\��3�:�w��`���
��6\����L��+�:�;4Or�x;qE��H<�qrg���ڨ�7.0�26����r�I��o�5�2�u�,T_T�p����X�)ϻ��`lS�0�8�g��-n�B+`�c�2�h83k���v����vTr��T聇{�
�
�1i.���<�/����jB̬g+0�`={�8�4s_�������Й���T�4�V/z��f�p�&�%y�8���+��e���O5f���у�����i���_A��C�e50�}�U~�g��@�XeG��q�`��J���̭�r?[��
	b�K�A�&Z���$�������U�Wc.
�4š��`>zg��^+ᅭ0��H��0��B5?ƚ�-����L����_�;����9���>�Ц�<{�
�Z �)ڜT�\YQ��l{ʤ51�>z��`,G9������k�X���5s��d	���P
�R�o���t�*�s��� 0@	P��סt�,Q��L-�y����DTy>��ǹB9��9�o������?���z#�y�O<��,��*p�����S	�CCN�Jz_��I�.(��`E�c~�P�zؒ(va��yݟ�1���KS���nC���sf�i{Nm�HmK��OX{�
)��&̙���1�@�	��Y	�%CuA��L8��s^���`q`�T���c�=+�Y1��b��*�tC�;�"��;����fȁ���9C �yBu�{�9&JL�~8�"�Y��Ϗ�qG�R���np�B��݅�-��K%��7����$DBz�`�gJ }���ߛpb4\��0&�d�O�`�
�<+�D��)���/������g�
�Ul=�c��x6�eg��H,ÅZ�P�B���ٓ�T��*,�D_�s�֗���K��O>���*O~�P����mC���l��>.*��m}�h4
���C���38 WHQ�n��g�lK�y=�]��rX�d�H���F,)��ܗr�N��n����(�
���i�C��]0�c��d��2��-��r
&D33���e�=?u�3�7�Z~&��K(2�V��,���LH��'�Qc�p�pN�垃Y��yT�}Nf�F�SE�n0�5Q	m϶ԻF�G�Jm��e�h�P�ov��p�w����� ����CO��4�v�1G&��9L��nL8���U�d�=�����dI�����"���$�=�Jɦ����9v
a�g�9)Msh{�D�
u]һ�nu�B�+���3u[�
fu���<ڃE�ѡGF�`�W��%,Kf�,G�-���lޡ��C���U�Ҋ!ffKv
�!�FF=����4K��L0ͤ)���$���p��l6	S�xI9XH������&�3"�6��hs�xgO�gt��2�$�kY��>�]a^'R��(G��L�b<>-����]i��t��J=\�S�cՋ�P��e��)����ND�3YO�s5�N�����t�Vq��1���(�c��՛M�D��<�TCxj�p�#w^%�qmZ6IswíIůE=�l����l�H�n��������$8̃]
v�z;ĭ�ȓ�4�\\p��2
���`�*��M�A@$�p�
��-�#��o3q�D�y�6!H�A�&S�4P�"i0?	/��y��J3�y)e”�d�r���U���h�>{T ��}�l����pB����2���R��R����y3���*^�(O�(ع�ǹ���s�o-�n���T��r��#3�8��e�5�V&�>G1#w�8�/T��U��ƺy١mV�Jm��y8x�i$p���F���2-�9Džv� ���UB�Py,"K��fAO�!<��+��D�A(�G�qA:��Vw
�Yo�5m�7���%v$��<Ď���$��K\�3�<���D;V-ª�ﲢ�v�X	�jj�.C�X6H����Ҙ�[�˯�fjNH��Q����0��]��Ca.�u����NJO~���_�(�c�Z��ꇬ`�	݈H��������-Lpiɩ���8�wq���� $��?��A��P�������?��O���4mOuĩYE1�@�T[�Ϭ6�q�:`M�U�M�Jn�TfX!W�����jC�,�ia%���c+Q!��Z�7\�v�����
���ѕ�d��'{�<������U���c�z��C���Rb�8�%�a;�46{�гb�e���@������?����@��i��D��hV�V
��:��s^-8���ڕ	�ܖ����M}��f�<+�p��F��G��$T��]X Q�5	r���z:_e�π}	�����;^��8w
����T�^��rœ|A�y�L���Z���<q%Z����ƕ�c�U�聏�����@��?��������@�?�'�	���D��j"Vm�e����sކ�P�
�|X��8gR�۹8�>����c�5��Ԉ��v
o[��#����ݍ��N�-Y�z��\T���~�_���S��cr�`��/��P��E�=ctk[`����G�����c1�_�!~.0�`�^����m/�?�߷
��
���7����x���W�g�_��y��7�_V��7�?|��w7��n�?ސڐܐ��!�tC�aC�nC���
��
��
���w7�V�_w�6�_�ؿlؿ�؟����
��
��
���/7�6�_6�_n�������v�q�q�u�����Ð:�/7��6�_7�_v�_o��m�?o������������|C�������7�n��������x�y�~����
�������pC�����ˎ��7�7�n�?��Pu�n��o����?�������
���������������Ûy����
���oؿް�a��b����|��������
���߰]����
��
��
���ߑ�C�!�_V�!wC�7�_6��6��n��݀�����
��`^a��/�?T��������+��R�.��c��4$�U��*%[ۜ���B�O#`mw�J�ۜ�RŸ�'}!��[DZ�4�j�LX��D;��<xr�Yk����a3d�`�m%��nS�{B��Fs����_�q����]�#4!9J9�g���lRl����6�4-u#?���l����������?�����wB��P��T��G���/��v��A��'�/�5�5�X��HN�v���)=)8�*^Q���
���ϵ���&{���9&���_q���̟��ɳ2��hũ�`cO}?J��6r��im�#�eC7���Q�\�Y4�>F찿�|�
84��,���~>~���7?�r��ɛ�O�|���'�|���S���VGs��On��O�y�䛧O�y����O�<}����o�>���6O��y��������m�>qs�q7G���gs�񫓏ߝ|,+����7/���g���7��������||���'m>>���>>���o>>��O�\|����W�@�>{����'߼|������훟O�|���v?�zw�I��O�}��ѧ�}���6G�ps�I7G��:���y�ě�O�y����gs��7G�zs�q����}�����}���VG�ps�7G��9����'�>�ދ�Oh����\}���'�\}���'�\}����6�Ql�>����O��}���o�>���z����gw��7o�6w����������SV_C"�����'o�>������n~>���7?����ě�O��������V?��vGhYWO�y����'�<}���'�>���VO��W�zs��7W�������'�\}���'ͮ>��;{�ԛ�O�y����ǭ�>���n�>u��ٜ}��٧C���7g�&��"LY�p4�6�$��:8L��7���D��GѸ�!����;$L���
�:W��פ3�z<�������lC�5��"��Q�_z�ΟU��/n�1�����?+�*��q�X�Q���H�>�B�R��4d���h��	 B������M�_7���ۦ��?�t���οn:�z���ο�:�)��M�w�ܔ�n�����;���i��M�6�ݴ��O7�ڴ�y�����ߴ�a��M�nZ��M�7��i��M�7�����������?lj�pS���ڿ�j�i��M�oZ�i��O7�ܴ���,���)���R���w7������u��M�nzwS��M�Wſ[��]���uS��M�nJ�rS��M��V��i��M�7��ߴ�u�Ǜ�?���)��M�6�ڔ����7�ڔ�qS�כ��ݴ�nU��M�oj�|S����?�j��i��v�~|U��]��W���ϻ�?��~��M��w���)�ݦ�o����"���o�������4�~��M�n��p��M�6��i��M�V��4�nW����?���.t���iW����?�T�eS��E��n�����۪�/��?�4��/������O7��u�e��M�_o�������_�$0N��ʙ3@�7���U�.(O��?ά�/?���!�㶇@l_X>S��ϯ�z���Hn�s��D��8���{V���|R�/?�=�����k��'3��͛~JI�{�@����»��H[�X,�z6٧���"�v�����y�}�����y�}������}`2�\�hٰ�P!d�# Jy�qc�:
�Ӑ��U�
��in��|X1���H�Z{�NCԞf��_ �~�������lu9ҐkK����
�-���Ȭ�_�P��0�����K�Q�KߔY�2��j�`���A�Ա���H�y2�<�}��>Of�'�ϓ�����d�y2�<�}�df�L��L0��&����<���c�a��]
&&o�2Q{�@�Xތ&x��r�̻C��y���|�SS2�x��_͝�>P|��K�\��@�7`�X��@
>N�1���+�U�R���o��������?0����`���Ga�@�F�ΗF$��;��g	υ����1s�Ƕ*8�^�鬸�!Go�3�u88��R�{Ķ�>�`}oE�V|��\~�=m��귀��zE]{�J��������`�^���I�S�
�`x���a��
��[����q�y\p���q�y\p���q���\p����C��jP%�ω�R���r�D �F]���FV�2)j�s�fl��0܀	&|�Ŵ�9��x�Ps0����'Wz&$迸Q��0��0o��'�V�a����\���<~�����^�y��=����i;��ȡ�bCkCf�'��	�ݰ�H��>��O �H��>��O ���3�7/@�!�d�&�B��c�T���Œ�H%[	T�p3?}�N�0\��ٯݐc�H�l�4�ؑ�����y����gd�y�Wj�j]��4��Je���82�aF<�n����Sz�ǡ�q�yj��ǡ�q�yj��ǡ�q���5iB��D��jT%.̕�'�t��-q`a90y��C��,}L��Wi�}ԡ��+�g������9�����d~���}��愓�O��9��$&�=��e������-l��4F&Rf�鵉��S�� ���@��?���� ���i&�Z��'T�O<���W�#��~�O��"�p���$:��<�>ra��
���.�1�=e"�~��8��K�)K\k�3���9��Evc�ʣ�Vƒg�=���!��S��B����R5^^0݀^X�W���$������O��Z�D��9���e�l
�A��nj0�&�I�Ӌ
B�C���;����8&�7�!lb���/v��r�/ե��l<�D����8,��a�<�W�i��i��)Ps�;wM�z6��`6}��G�y��G�y��G�y��G�y��G��R��) M,��RfY�<]a�,ê\�REﰉ<�#k%�o�S��%!d�)~=��($�6��b_!��qw0�!QJ�<��6����c�Ry:<�ϗJ��=y�3�ط�Kخ���ә�%%���fC�.C-2/�A�E��Q�9�7�NX�O���	�<}����m��9�2t�����pnd�H�E�����AL���ظ�1*�7l ���|����"|�q�&��xE!��W*%xϟGnI���s����%�Vi7>��,_S���G��{���@u���}�^�ea�eE�L�2��=�[+��5.w��C�Wb������9�ۖ���l?1ۯ'f���~b����'f���~b����1�������T���*��̤���o5�8�<Z��J�K�ZQ�ّ{����r�c�2�^��'�J89l7 ��n��6֡�.N�,t.3�6�0!��Y�(��B��фӠ$9�����v�u��F)�i��Ą�-R�0��Ӌ����'�if��d�"��)���J�4K?A�0�{Pf�G�{R!�s¸�!�P:Ba9�(�铢�,r�����
��qbL�9�����g����/
�����)TJ>���xڦ�05*��\E�l�J�P'����Wkd���lq�=�# =�# =�# =�# =�# �Ai M8�MH�	�zbU�j���M�>09��ζ��n�ڪp�k\B�hׁ,4\���[ΕO�,��0�p�M�a���������2t�GhSl9�l'N�����̣r�}��-��a������	�H�
`����NvH_r��UO˓Z��E�
bvH*����
<��_�q/��-g2��x&A�q�����8D�8D�G�F0'�줄cf[�#�G��f���CH<:���/�'��<��V��I�G������.J2���[�8��ڍ��&�M<ʛx�w�%�M<�x�o�Q��Gy��&�x�n�QYģ�6�(��#��G~��r��r��M@�7����	Hy��M@
7)lR��r�n��䣸�G�&m��&�M6�l��M8�p��F7�(�D#��Fn��M4r7�(m�Q�D�r��M4�$��JF�&�U2
uf�(n�Q�	G�,aH��HGvn�Q��#��Ga��]>��N�|7����{����Ga���M>J7�(����/)��t��& m�Q��G�&�M>�|Tn��Ga���&��|o�Q��#��Gy�� �,�eM��$�x���MB*7	)�$��IHin3w�(-RRݤ��IIq���MJڄ��	I��ToB�o��T6)�nR�MD*��t�UF��Hy�6�h��M<r7�(o�Q�ģx��M<r�x�V�z�Y>��& �M@ړ����v)��p��* �%6KH�&!�]B*��T7	)�$�p���$!�{l��MHJ���6!�mBR�	I�&$�MH�d�x���*#�MF*����X����W)���m� �*\�ܑzg��A(�'���C���L���b�Rj���J�P�Q�ZX�ΉfZ�.���f�����M;�)u�5܀�f̥���](W�6K+�)w�>x��F�mVL��G�̃�O�"e��U�F��n�@�Ӆ�(_5^b����1����Fz\�Q~Yp#�!���>]~�6'?䗃�QS'2V:?7�6û���5�)طht�Q�i$I{ėG|yėG|yėG|yėG|yėG|�s�L[M�.�<�v��X�����õuo�^�U��D�&��.���� (6W/��O��mU�	?��h$D��ം#�E�Dh��ɰ�rE��mO��Hݞ0ƻ+ Ob��=�ݾ�)�������E�	�#PX(W66�Zf_���R�u��ŏC��!,ݼ�q���
S�Թ�[~<�O����{<�O����{<�O�?�	�4�k������ډ�q�9�En���pB�K��jq$e�7Dd���m��1e�1i��"���ᇮ)>�{���*7��s�$�I'^e5�St��em�{���|Z��ijW�_<R���z���B����{�3����Q�ǐPG�I@>&F`����v�M�i�����n�ö;�5F�N!��7��J��gO��'�ٓ��I��?{ҟ=�Ϟ�gO��?��̔�����@T�b@Y���]�ܶF�Wq��V+��H��	LM&'0���p�za�Q��!�!�1,	���^�/eA��{���
�8�tTٮΎ��q�2�X.�B�om�������}���>G�f�CB��(��Q؆�Lq�i���EڙLQc��Àh����
�����-gn��J�}'m��
�⓶��������?�v�YJ�:6p���j�f�_m`��6L��:�o���_���$#҄�W�7k��͛�y�έܹ�/�OY�:m^76o���_�ɹy�6o�R�j�6��a��[�ݛ�u���o�uھe��`���6��[V�Q���}m������9��l	�[/���0d 3NBÇ80wouB1���H�q����7D�S#����hAg8�y��C^�k�C���L�1���%��y�#��~����?lS�(;���\�T��T"�(mǑY?���k2$v#�Rw��������������N�;�7��������S���g�2��|�k�kt`
ERA��,7ֆ&~2��eZ�x��f��v�C���C���.�_!����f�2��"O�P��������Rh�J^�8����e/����j���G�p��#�=^=���&�~t9a�ڦ�k�2$�k|ʸ�
���10�I&.�^*��	J�46(�S�=J��ݑ�p�=(u�F]���17e����>w����i�x��@��i�x�=�v���?�;��DA�����!>'�.�\y���
LXF[����b0�aUA��C��^kIWom���u~���?�!f�"�LH���؞7�~�/��?@��K��Ε��y������?CY^��bE=mj<�)H%��ϥ�i;�p�9�]�K!H�C��,_f�
�U��l5!�J5������P�A��}P�b����.(��q}v�hG}8�e�U�����p��kx�r�@\�і�)���%�\o����m���]DZ�8$�� .�J��E�����%X��$vԦ�c%"��q���;��&U�FH%�R+%TQ�B�T�7P�, �"*U� *Jx�Dy�*0�/�g��s�c;;Jr����{ϬY��o�z�]G��Scn����)����aC��Vc��#n����a��}@�f���Q�b���I5�Z5�"��L@�ay�
z�X!�}�k�BR�C��e��*�C%�#j�
�v��1���*��ey.��y��5��י�*�ì2?B��ѯ3?�*�C�ď$(�\H?VAaT{f��8�@�Da�ߣ�x�XΌ�� hM�0)�ˊ+(~b�`�?��!�z�B	���HuG�;Rݑ�Tw����TGU���;�JW�1@��>��c�H?O���MC��g�bh����pY�w�VW�չ
���	���Ցa����Ia����]��"�l$>��h���鑂h�4S&	��N=	��G�lLFqm�iyX~�c1��i���0�����ފX���J��<w ��H�@r�?@�W��{�&�s�!e��'z�DJ)����t
R`l~!n;?2�L+�`$���1*��N=E��TTz�X8�I�@�Ng��Y]Y� �z8��U����t��:�*ja���7=��:���k�(���1��Bz�&��6�����_7.��TE��1��ep�.ɡ͝�0W�B�fG�;��Q�"w��ȷ��҃0\��.�'��&AtIS���[$��S��`Y\,wi	��x̱��	��#�"�L�.�/v;��Ԉޱ�g�sH��<��!�s��B�0��KB;�h�n��m�&�«�����)���G���Bb?���X
�,2ZcY���9�5��E����a�b;۱؎�v,�c�7;3�ʁS𩡅%p�.Z�Ss<;���w�ݝ%J���7n�C�g�E���*.���hN�׊*�(36����5i��W�(�@;��(-Q�s�.�/2��A�`m��Л
��ް�Z0�d�	h��\�m�ow�iʾ��2hM�4��`�
������{��P����`�
W��(�z���a8+�ѣ9+����v��÷���m�o�o�f�wz���\�,����N�֋�1P%:�D�|�ƒF}��(�QgFT�k�^	��I�b��R?����`ʹ�ws�F�3�S�=6���tک����"AB�4�1��x#:BU��ԡ��5E�;M(3B6W��
�B^O~�x�ذß���g�?;����'N{��(�a:��Zf4e�΀�� �L��)��pV"��fG�E�5���gl��s�X�ʴ�B�Ku�����#�*���-"�
�Q��q�;z�R;���L��X��7T�gp\%Џu�OX	�D��q-<�B;��6�EL�\<���� �`-0z�y��;Cb�+Z��4#����
p���qӎ�vܴ�7�e�D��Q�y^
v��V�y.�1�E������2ެ��=��>`���F�Y�:R�l5X�cDFumJ�(��2BД��bK�R;.Z�"�.�'S]gS�fXs ���9v?qt�s
Ԛ��d0M��ئ�g��ZLg�(7�(�w��8J���(�>�5��0G�/[��hF;0ځ��v`t.0��J��u��DdP�.��g���b�Nɉ���������tM��BiR�:� ��(�
f	َ@�#�Is��H�Q9s�!���3�"�(�@ͯI�;��\�"�� o�@�:v��LLN�=����E�&4g�n�T���olσ�+Œ��OX�v�>`���Ic�K�P����'��ۑ̎dv$�#�p$�R(ȏIh��a��q�\��R7�8V�,��A����&��t](�r֏��Q׼���~4L��=U �PW��v\��8�Y�����N�p��@��%��P������ܘ�Ó#Z�f���}�0�[�avL<�r���&,J�1F[���a�3v��Ìf��Œ(+���!�;��{,���4�ر�s���ZҮ.҇�vv�E�,w<Fs���‘6�,*�F}����YЌ1zp� ����ސ�������H9�U9(Z_�$z��i�MI�"Pc�0B����e.��Pg�e���~:c.��4(<�9Y0vW"��^��(حh*�,�Pb�$/�����}��~�z���z�3�j@�k4!���RK����ȯvݿ�]�����opף��v�}���ęQs{Gm�`(��4v;P|��Vږ�:��1����J"���U�Yj�����R���	��z؛�6\����]�1�#M�(��RdHԬq����Q@g�YY�!c�rL����M����j�(��Dz�7I#�#��&U���N�ػ"��wE�+�7�"��;x`Vc_�ǘF�Gp�^���X����|��O�0P�]�8��x����IU�@���ıx��X������S����h1m�zN��ਾ�BS��6S�@����`N�Z�sCj��ѐ'�ʶ��1�HṳS;��;.����l������h
4�3z0t {��,�V����^w����]�ީz
�"�:��e�(�Ȅp7I=��h)P��X#�F��A8���kͬ�E�=���&�1�K�Щ�㉚��ЁT�f��rl`cX�L��ZHQd;��_)F>�F��Ց��؃��
��G}���o؉ paI��PhH��,�Mz�Y�B�Æ@��:���۶j�j1=	�:�$��;+~�p	�uݺ�Q���8��ƭ�`P�\�����z=�

l�0&�����ĉ,�ĉ��с�k{���;�8�d�vN�g�L@
O	�I�W�Ǡ�L;>l��a��Q�H�zxA�70rɨ�8�8�'
�!���@C��R�6�,���$����2
�s4(+�h��7�|�UF�;Nv�FQC��e& �L�Z�x�qN8��8r�*Hs3�9� Ds�RGYɰ�sa_��xn=��g����50+6�p������J�k��z,��2x*Ua�&�	��=�!M6�P�,�I��6 �z�~�84�gG(�vqmy��uk�O(��鼦���#��+ֹ+Sq�����K�[�y
�R���Ga�X 
I���!m�+���!�0�#e�X�D2F���#J�D���4��8}$�fJ�[��j�>f�0;�5���}����:A���.D��4��{x)��Z�g����j�!.��ހ*
�6��x�%'�ab��<YbC�#ʹ���x'���5��tmi9�u��	/�����a�<F�TM,�3e��ܐ8)MhG)@{	O$�	Mh�d{���aH�[	�B8E,\�
��2�%���$P$�&g]�!W��/N�6aZ��q�q/����bik�α�����[�x�1�t�P�ǽ��Q��艎�
	DHlp>Xb*�@C#���b�S��6��=�P��^{����(���~`�B��h%�)La�(?�zxC�@m<(����ȯX�Vb=��;�$�`�����YБ���MD�՛vx�!.q�����
pJ�Ĵ�!�2$��o&�2���(�3��M��S�2�{�X�[�f�	������!�������j��XKz�
T�ހ���M
v�,�ٴs�����H�~7LR�@���WD,=5l뉏H�t$4 ctR��]<@�UV,�w���R��Q��k>��s`��w�P$/q�G�`�ɀ�D��8�����S4��&4&{��4�H�9z��iR��5���=�Y�|�au��;�
��oXÍ�$���6K�v��&	eKڨ��K��8�[�4U����TO�d|��q�
�A�Y�l.9�&3���휥N����A�YGQݏ(�4I�7�E��k�����X<��iR�����+��Q8' 8���/��zJ,~o�(:��L4�G@�TC�+d��AD9CfD�ly�x��i���I��8�#�R�M�_�)�c���!�h��A�Vp`��	̓�K�hE�xe��@8�c����_
�=��Y��{4K\4���(�;�Ź<|�x���/��ɪ0���/��=mr��h�����p>�Pk+9[4'^��&�[q,�[X8O������jC�c:{5M)}
�:}Q|�I��l��RtG�V��l<��"|l{b��]I�MF�����e�"��q۠��`���_��69n�(�8���(���t\W	�'�t�JP=ZU�8�|h3���dbL䴀�(��[�i;_O���mk���V��`u��1���h�`��=U=�d���
m����(Y�@g
���zވQ�c
)��	%���kbc@��n��a�{�xB�ơ�9@�\�X�\~NJ�Ha���r
�t�A�̀�?g�]�B\���+�#_���2�r8mG�,!VѭV��i�5�ך�� ؉���C�#�%�X��+KE��V�.����@�J!�4�'�6�+,t��jd����]�=v|�$���+;,������m`����[T�
,����$ijǔ�jE~TKD;\9�+tơsW�"^���2���,e��:�)En>����l���e�c����C^���ۡ��y���
�*�X�R�
?�40=:4Z��� ^�wPSB��iFmӳ%\!X�"��/��9V��pp�����:��
�R������.A"w��f�
\qa?$��8�v �-�ЖR�ϔ����肢dh<5⬩�["Ca_�QT�K���ᐚ�G
���3k�^�`��#|ʞ�N�ɔ:~�`��a��A�)��x��2Ρ����(>��Վ�[c��X��:6w��@"z�Ts��(3O&M��Y�A�R)��
Գ���a�U��"D�uQ�Y�`ę4�ɮ����A�	�3x&�
�G��TF�Ġ� q��S쀵��N���b�*�jz^�;$zk��t.7������>�kV|�7��(?�N�T��p���!��Xӑ�s �5Os5q�&n��EGm���`Ph�N�
��Y�\��
���P��q�R�a�VKa�[�ӝ(�[��d$�#���\�`dž�H ��v U��"���z25)(�ԃgR�Ϥ'!�	=��;,�*�ѹ�H-س�@5V��_�|H>Ha.�e@�v0Z��$��ȃ�Y+�dTv����k��33&�``��\G�`H	L�HDz��v�=�E�(%�)J0u��$��$��༐���J�w�	k"J $�=B����B���϶��
�c�PK`�kDK�a�eC�hg"� �s�d�>rX:�)���eK8�SOBܓ���r{L0%ڸy�L	,�1�Aݐ>�ɼ�g\ #�r������PG�S�@t�Bb�LGDHL(��h��0�ݏ$�(hD�v+���h� ���3�a��V=yk��
m��hf@��u[Yaq�x���^͔���2���c��!��h57�WT/$>��%�{���u�����QG\l;>�C�u|���k�T��ד����j��7,'i8�ǩ�i�<���K���_��a�>����2�Ք�Ί(K�E
�S5�F��y�S��s�%���������¤Lq��2���CX<�yg<&[��ۼ�xȩ��,D�ǨC7%�Q�c4
c�a^3�8|�3q�%��]��[�tX�t���`v��f4��@E�5^˿yc�bM��sro
#�;=
_��t��b`�(ЋV��禸:o�n�'���E
�7�)�('�;
�.��6�cA�¸�D�~Cnel��Tx�u��Lq��[�p������l����v��kr�-foI���xFeER�|p�,�#��oI�X%ch�nt{C�nK�#��=�kf���XV���=%a<w����n����D���֡�YYEA��PD~�[�``�n�{�m�0���c�j��bt��0��e�y3���t=�
m�#DW�6��fWw�;���TnKd)�XE!K�
ߏ�9�ɐ�� `�%�pa���(
ek����C�nU���-q7�C�cp�����il
�P9�� �	�x�GM@|���#ۆ��8UWZ������Qہ�و� ;AK?� .H}3��Y���0�,f"��ć8��;��O����?@ew|�#{��x��=���b����zV�=��ӌ��@�����c7>�G{��x��G{��x��G{��[�������m���%-f{��[����v{��[���Go��[�O`I*�2�:8�:Ŀ_N��*�^�����U�S��G��_8��������o^�p���Z"����P���*�HZ��i={ux��G����>�D��>x�i��X��|��3��?
��j�.
"����州�[z���8�8϶9�#�ʊB�����K5��h�����	k�Yh��ݺɷƁ�JO�ʷ����?��#C?����v�D��DMB���[��C���߯�F��z�G�f6��-�<L�����0ș~Ӹ��r��_��U����f��"O K�W���kz����y�~6��W*[�q�.sz,n�����'f.��B$,�s��̔�����	C�JX�[q�ß�[
����X��!��J���JaF�ol��-��D޹@GYT�P�v��
��eivxi����a(�6������l>����,�œ���|��ɫ�Y��6�ȴ�t�$�%�͜��O
�p�-	h��a9�uC��Au3�@�ȳ���M�$�M���J� �՜��u�a�L/V�#�eu���M&��(,DG�d���A�@�‚{z����ȩ�iCy�%!�Q	*f��<��2�dӅ���@2r�+��jpj�����+�t)�5�	>�� @�*=Q)�,�E�_��Y
��eҗ6dN��%��V��J����h5�a�=��.��P���'�6W.s@����͇0�B̿���x���0M.��Z<.`�myݧ/
۲D{���!ߐJ+c�RF)m�/و����Sy��B��,l���>�R;�5�yz0�LA`�;	�g���7"w�	�V�$+�&��`���cr�̷F�ːC8x	�>bZ��B���/ �:��R�&�Ǻu�n%mA㊒�-.K�B�f�]D�㭙��������{6=,��"����,�+kZ;��:�U���SX՜��5�uz����֤D�'FAT}.W��J����i��|\��iq�N蘞��lM�پz���qa��8���{�G�`Dئ'lf��"�x�>����F������1,V*��f[��<�7��^X�?����V��6P�L}�ӓ]���	���j��*��u�3t�[�)�A!����[]�I�P:O��6�%9��)K��\�$b-YDLJ�<.k�d�
ֆ
\O5e+�`�/�$EU����,@gI��*<Q2��ٛ�պ+$;���kv��"�dAo���O�J�|9�ǧ�B�٥d��V��.����B��nsSDA̧�v�AԜ8�	��"l�-�ٶ���K%�0�3�0�6�Z�<®8��Z3��e�*�O�2�XSԕnK$��b��*�e�Lym�vvB�/eOq��F�%�(�l2O�vq��l!n�ʦI����%c�/\���w�G�+ǣd����g6� k
����d�@]��s�	����k��Z�eUsb.yj�=Y[�-�B�T�Y�`�Q���*&1�ܲ�"oɑe�A���-f(a攬� `�uw���p!��Y՗�B�6on	s�r��J���Anƙ�W�[�e�A���s�|5�ж�M�T0��|�'zBf�
�/x}Q�o�aۜ2%h6�'��>�X���6�d��E]V���B(Z5V"[��w��*����d�=BX����H�R�@B��x��@�0�uZ���r\�GU]�ۯe��KKF�䠝H��Y5	�4����M�uXNE`aQ������3a�~nc���;x�UOm:%Ù �b�o�������l`[�RM�#ʟ��U`�r
�M�+4Ӧ�E7UnZE�A ��9(�Q ��(�g�!���R�}��oe^�d��/�Z6��7\�.ض���c�06!|'%op�'lN�X
��c�ڢ�/>RS٢A��^tG�6�wO���!ࠄ}���e��kNȧ(�%�&�Z�ь�Puv�I�)�+y���ؼ�"Pf��!Z�d�>թ�&Ҍග��C�QK$lҝ�����(����G5� ��B�wa+A0�[�%�!i�����8�z��1�g���|F~�j��$�{���f�'!�5��%�՚yQǺ#���S1�2��R.L�n6J|f��$�>D$���ɴ�u� ��Ζ=p��[E���x(@��F^��^�d�˨��y�kQM9��K�b5E�<����zL��:���F'��f��:��Q�[������ょ1QB�@�<J��W^�,�-^�
�o��YT�`Ma_J�Ѣj-��hl
�:�"�k��+�$1$���M�c��]�R�i�Qr�Tg=mHψG��U�#	��g���.�Xd��Y�� NT�B(Q-�Eh��*G�M�yL�D� ��%��
�:ߠ`
���4S�L�����l��R���OQ�t/��%�P[�@�r/C;jA�w�zDvޛS�k��[�#�m��	�=#��me��Iټr
��`�N�V�dϫ����=՜'L��Km�ȂDo;�ne�m�Jl��A\���4�W�R!�����m�:�V|s�2Gc
@�᜵��Z����.�Ю��S�E��j��R�C��@�2#UL�l/�:��Ȣ�^�RR���z*�̇��/�G�"2���"�x,����eY"��-Q��4l	�I�#s��
���z)$��zQ��5^X�$�d��M��~-��Ir�y�ǫX�rVg5��"��jŵشK�0BR�B�pB˩p��,��-�N�
ƒ���ű&��e! �-$:Y����vR�u3Ү��Z]�I���_ʁsc9���N��a��4[�����6eQ���]%�/*��ra�6p�����U��T�r̟��+nE��Y�k��N�#Ⱥ:�^'I�n�:�ID��]���ђ���;K���ȶ��m��%���[E	^*RW��n٭ϠBs�r�p�D�f1N��U23��MaR����@ݤ'�{g�*P%�b�<=��`�o3��l��x+�i��NS�����uM54�����U-
�À������y��Cz�*�@Ք�Z�]a��3ᕭ���ڲg8���<!�D�=y����~F�M�ǐ��g��;2��#'���NA�ec��#��l̲�_�‹	�[���|y,��u�vvͫ~��K�6�֎j.W;�섚�ڵ�P܌��J���1ܲRm����8$
�����IF�b�^Q!�m�OJ��ʱY�|��6w��c���杼s��ƝFnY���/�׏H�!�&���LT�^X�_��RË��WO�A
��W�%洆ZA>�	cI����*�Y���=�5��$��mem�3$�����
6G���+���VH3�tN�!�Fw5�hCoE��E-�.ҋH��>�
��h��F�|Z��Ò�-�=�T�[?���s�8��Ɩ�i
����*�lU���,����@HO�S$�_8o�3l4[b���R��kz��l)��E!Q6@nAĖCW���*R�z#K�|��
ԥ���XA�/�Y��25U
��7.7<ߘ��;��G
�8a8�K8u\�����7>���|��ÍO��ƓGu���<��SO��o�V����o�?|�)h߻�l�H5
�ҿb��q8��r�4�����P����Q]2�����Í'���n<���>���W_z�\|��/]�">���+_<�G�|��n~�߾�'^�O�~�_��7�~���ȷ�����$�@k��5Dh�q9ߠ�^փ_Lzcq����/�SU�NU	S����������_�߿����}���zᔚN�Z_�W��
4�L(�Fɳѧ�F������w��G�����Ǿqߟ��?���v����bB>�@:��<������
�r��xg�l���~"�ɮ��O֞:Y+L���W��_�߼�{���_����������s�����<i�Ч&�w.�;�������M��F>]w�t�̩�������;?��?��o�����׾y߻�����p�׾�ܵ'~� -t7�l�z5���3���x�f������<��k��7R~�<��W��w�<M|~j�S�f��{4�(u��-��߸�׮�����\�l��z���ףo������\ǽ��s�?���?���x��G��|�;��G���k��c^�yo�3�M6�.�yײ��oܣ�O"��_}������F���я=x푯D��zҾ_Oz$�z���Z�n��o������}��}����5���������StX+��O
��M�ڬp�O��M��O|�w=�ч����?��k��~ג���n<��Mz��s���Q�NO��ލ��6����2�{������o���������?z��~��&�6�q,���_��p�W����&�8/[P�w�N2�'�~������^{�	�8�Q��@��s��3����J�O48贑8�k����?*@|�.{+��'!�s��I4���	��܁_01*��{�:d.�,��i�zᡷ�;^@ojw�pn�0Յ����]@��(�K�iV0Vn�ڟ�~F���*|���n���x�L"P���+a�̂��� ������5�P|r��\�Q��•��Bᚩ�z'���밪��i�O��˻q�
���A���s$큳�M?2ۂ�+;���`%�#� ۲�j�Ϊi�B'�����"1����\R�g�8=8�Z���F��\�^�4�
�J��r���l��������1i��[�B��p1�,�)�	��j�*<����8����ƒ�������S�#��^��r=��QxD ��M7�o]q��7nj�22R�TUA��S��̡s��U���r)O+(�TJ�5�M�C�60٪mU-8�^��±Btߝ�g�`�J�j	�Rxd!8tvk��}(�o®�Ru��+w��\��(I��+��%Ft�~��x[E�&��K,��*�z#,�-^(7�c�b,���J�S�
�r��ʝ����|-��͏��P���
�|m�W\��e�&T>okț�*!��=�N�41MMk��3W`pAT�^I�+H������W�L"��umW��
�Z�'e�"����W�O=D����(�P�戩y([��yKA���jkWۢ�ԯa��{r!Xh��?!�m+�T��I@�V�L
�I��\ψ�l�[R϶h�{8�.g�k�C-0�|u�Q�����Y���v>/�+䜳�BE�
��H�<io�PnݾS�=[��r�ی���$�&AK���2�uP�J�jJ���U�JH�k�SI_ڪ��qJ�����=�7�6�4�yv�t�"$��2��e�".�r&�K�"s�75�� ����<�l�upB���)ӂ��.t�¯�:S~��R�'�����t�$�`�����F�V���sE�
U�!<9Ð��§1����]�л�|Jغr�֋���kj��Wz+�y�z_nIU̪�Sd*����ߧ�IwX8	�sEۿ&W�U�Y��Z�*Љ�Hf��f��m�>�ݥ��t҅G#���'���-dD�D�0���Q�@�;uP����k����i�Q槓K�H�t�I!A���ӝ�)RI���U
z��5gv�R���j�i	�g�ּk���t�z{��.}>��`�pu'�T$žKSQ9���grBq���c��\h���%p����Z�/�1��i2�NA9��=l�2���md.o��se݅�!�w
��K����*���v:�y�[�+m�2��O��U��qS$嶔q幷Yr���yĄ�H�#em[�	����Vu+!�B��5�7�e����>��endstream
endobj
63 0 obj
93286
endobj
74 0 obj
<</Length 75 0 R/Filter /FlateDecode>>
stream
x��Y��9��~W�+��<����A�- �*	�.�G)��f�'�!U��rR ��kt����F�<�Ӈ����o�������s
����i��&_9��̏�G�-<������3�Q`-V���/����ۀF���H����?�ۇ{�1���?Bm��ӣ$�)�Q�$�ޟ��N��iJ��3��>K�����m�e%{��V�>����k,b���^�%���߿�J��Eq��o���`QSz��gɁEk��J(�����n�	+���sz��d��B;#�X�,RhO����|��3,B���m�Y�XX-�찭Kް�����}�o%_c�[���,ٱ�ջg�{-�|�\�3X��;X�0v�>V��|�����/�8v��c����9o.<[�%�N�4x}d7V"��������u���Ƈ=���?V���X�����ʠ4-���g�Q+��N�&���Cj��YZ����e��s7��v����7���
�J+�y9[��[���!���CGɉ��?����%ν�c��d7�+�y)d�%��H�wY���A�)��(����~�\�nlK����,p5?�Ѓ6��:$��=���a�{-�����b{A)r͏6~��L�t��v����U'=�*�~�|}\}�׍���`�R����SWAU�:��di�†N���R���ȡ��I�Ut-��!`���PRn�����%z����S�_���I�;�z}��I�霖xQ-��P`Zvc:u��l����l��D�}N��8F�du����G�ԒX2��˼n�.F��g�E)�
X#�3��£�c���c���x���{aɘY���78����'8�dͣ��y�>7x}՜��dz���=��G�F�,8
#!����8�d�G�%����	�x�y�Aq�{����ǡ��Z;��-积�cS����G�l��6s����x���x����GD����ũG�5�,��W,ٚ�i��N��s�u-'�3(i�,z��eń�
^?�/��V�sIl��Q2i��1���QK,_�AQe0�{d���4�ۼ�h�!�r�l���9���6�m��nW��2��%c��nK�ݭ�B9GJ����A!.X���8O"�:�(�_{�5�\n0���%��Ì�8t��X���L0<�..�y��af�/&<�8
����V��	�v�(�
�J�� pr��l�x���Mp<Gǧ��'��	�Cf�D�=�1�yC8��S���‚X�
��8��x;:�:��x��2<��T�[W�>GS�ۀ�m�CSEk�^�3D�q(�%�.�U��7�t;;��ة�ʒѽ��P�A-�jpJ��hZ�k鎦�����9�	��.���^���j*e�;�L�5m���f�ñ�a���XdEq!�¡.4vᦝ���K
���x�a3;He��R)��>�)W�)̙���(�A{,���.�o��q�������Zw��?�$�\��X�7�LYt9Yt�v��7�?n4�5�fL}��(�2wt4��al��VJ�`�>9]�>؊b9���Bz��]�SE�����,���a�$�_Z#ƫ���)���P
0ռO=`��ܠ��?7p�
e,�*�Gw�.���o� � V���Þ�Pt��m-�>qC��]Ն|�C�c�
��a�G��G3ڢ$�y��D9z����>�Ь����g�P�V+?��4���p���"]漩Vf���7U�R&�W���]�m���df��2=nM�/��[N�H��gI����c��"�cۮȨc�=p�
�u�`���|B
RO�!�i0�9=ߙ����ß�}$84����C9�z˒�+�wxp���"0�p~Gx��p}G=��\�����w�;�m�Y����6
�P}3��j�\D1�C�1�0z�2eq�<cN��co��(Ģ�[)�QK�Z!5�c��\��C���sD8��q[%�0�۪Ū��9�6�8�
��hݩ(\���*��\7.T�_��u�쐬'w/\��p]��m_�������-�O�pCK���e�m,�н�v=��Ǡ�a�f�e9|%�)�`Х��bO��UV{���u����	��ι����YL������y���:�Vt��*=�9�rQ
�w��X.zQ���^'9�.d��
	p���@y�T����s�-�P�����Y˱���������I�%�-�Xڿ+���\�J�x�O;h,���D�u:
�2�&��e����:�Q�7��W��?��8��8z�����I�����\ok�L
��S�U�
�Y{���s��-T�)�Mk��#Z`N�#�}zu�)gv�Q�GE#ר�T��(��f�@�mJ�`K?��t��K�~W�oͻ\�w��o���q�\��~������	W�u�H̥�ܺ�����2��₮��'�c�Z,Ǔ�-'E�g�s������gC6�.���?>p)ew�A�"�g�f��E�*���j��mE�jWC�R�,��K]#��^�\�x�|�V��+ϕ�@�c�˽� �m�����s哿V�^+�}9W>�+_ݽ�n+8^p9Zl'~�{��p>	��dp>��E��4���F��/���:��������<L��/A��+ד��"B\�d,���KΉcO�
��Q[�e����!p�-�*�;a]�&1,Z��	{iP����w�EY"{c����@��Fh����ك}V��~��H_=h4��7�@���T�=�%��$�kpl�@X���d�;�n��z��Dʩ["���b)�bKJZd�T�#2��	�3�.T�Qbc�;u�Z� �E�Ǝ+����u,Mf�X�r4�"�C��k�
N����m]�(t<�֡��d�t���z,t�p��*Ķt��G�RI���qT�-y@�HH!��V�6N�=��iRRuԱ�Z��G��Ɛ�ʀ��Y%���4�͚�rZ� b9���&����H
9\�8n(��1�*�h1�h�Ŗ]����Q�)��$%��sk����M/_��#��g�*���Xӈ.1,����F��]S>'�q ��~ΐy���$��9A�������"b���2��{�zv�a-̱+�N�vU�]��˶�TR��[��\%���)v4����I�}��`QC��ߩi�hK�S�q�wܧ[�Տ��\8a1�6/y�	ˑ�"��*	�*���L�K,�S�E��nn�pƄ
��3����
:Ԑ>�=EjGn����D$5a'����MƸ�1g�0Ԣ�H�en��9+:V���9k��,��m&��Hz�9i��1�)~朌�v�1I��)��L��"�j4XL� �/@���/	���m���q��!W�#��9lx����qֳ?�1�9ĉ��P
�|��]EM��~O�*ی�ԒV�Cs
���M�D�gTj�٩JJ��d��~x�Mj�e�s:
?�N�"�8_�3�LY�-�	-*��'n�R��v~|�&�mFl������6]At�.��Ȱ�<�\���Ğ�8�a]	�9�0(¶���_�z��{�u�X�P����7;|;F�u-�.w�hA�EԪ+T��/C�5^���P�̓6�G�F�Z�d��d(W�sa�w��WI`̺��~�f(h�%A���`���#{��Ʒ�l���Dž���l��Z��JG~5i���`pUNU�m�re����m����q�A[ ��7�q�hsX��%OPD5��`(:vj��mZ��\lT`�c�+����6��0̆���8���'E.�(&�54�,L2b����uo+~~Q�(��}@�
ELZ�u�ؗ���a�`���()�����fQlA��`�5G�� Pu-Eo)�k���,��8���so��#�"V]��:qt؋��륁��4n<�c��^��4#�r)BG�%*Iw�pE�Oud}j�F#�0bG�y�#��s���s���O��5[�,�_$1	<���2O�Ų늡h�ʌ��<�n��͊�yx�Uv�A=��Mp<G��JP3�%��j�	\*ᚈ���5DZ}"K�l�1�#,��D�EW���(�ё��b6��%0Ώ��b�O�7�i�R�i���q�F�5U�
�.<G�^����ܢ�����Unp
6�jg����x�]�	���q���:���@AR%o�E�<L#;-��l%M1�Ȱ:��
�:�uM�(����,�
;���Yt�^6e4n��C�k1�R#���<�j8ɥ�[�hP�H�(�����|9��wg�e[�h�Wl�+��	�[�T�U���-�5b!�����ə��^Hm����6cQ����<g/۾����l�$b��xń�D,���D͍̒��Zb�3��†�XH�[ʫ�V�	��%��m�T~��b��;��5S��gI*D^=�'��ܠ�Jo��C�jd@�{�f�b��}C�ɾ�L
!(�R
i�(ڵ†uް���f�8�,f�E����L�v\���\%*�]��0�^��>p���&n�c�ز��l�l
2f)�$f�+2�a뚹��7o(��`�M_J����M�No-b3
�h{�d"~^�tz��5{�fψ�y�N̨!��
���t��'f��	3[�Ĥ��l��'j�c�k$EM4ȅW��ۄ��'C�&M/�h�MD-�~�[���M�������5 PD@�(�S�
E�+p��U��`À�N�wV�u�=q����d�FJĭ���R`#\�M��i�	柖D+���-������m]�} V1�^�lL`YP�Ɉ��ev	YJ����
�	�jRc��
�#AĉK#�H�85��:��u���
G�AU���_�1�;6yT���F�� ���Y	v�c�D������i�D��+*����7���P�f�0C|�N������Z��S6�l脕����hj{/@m��Q.�l+ǀ�5\Q�ke�7�VJ(���BY!�O<7�r4:�/�H��W+*z4)'<�=. �jt�uiI��\�XJ�d2�F08��{��f��l�BԜ�V����'���
7�^[6ܢ�4�m��8�&/�f/��A8du�
n��{�
C ���(
�ĭ�H��ټU�I���8�������8z�e�Sk��"%�1��2qLVBm�*p���{n�H���j�:���aɚwT�Jܪ�lk[m�2֖�Cx���c����p[#�Vm���4h�W��w�vY�y�6O	�6�y�u}ͩ�I6��p,m�K�Z�v2�`5��y��c�i'J,���	'�6}{'Dͭ��Z���M���W�f]W�W��*1�]���Z��[���6{1��H�� �p�(p2���"/��v�<:��ۤe�$9��am�a��X�&��0Lq
��:�c4�u�8��?�M�l��.�����8����9
��D�
^;G#H` 	7���x%,�7]�2���`�hFc�r\V�Z�@�`i�0��`kI	�pij�((�D�1�;�6W͆��檙��Ǝ��,�{3��"b�̄�=1����(F��t�k@����Dq�(�������\��g�Y����&â�T&n6}�m�
p��m��m�Ϗ*}��V$��.�����h����`{0cڢM[e�h�n�j~p��u���#��J�f+��pK��6mjˏ�=l��hd}����I"bk�BĚ�0��ث�e�迮G3
'�"��1b
6U��y�1utPx3����2��ƭ�j��TKl�4��3,Z��h��o�F�a�A��}��q�\��m@`Xl�#V3�D`�m��m?gk�*Qt6���{��
[޽��F
ču�����N6��6�QR
�h%��Ft�ͅƼ�m��e��b��	��+%�1�t�F:L���1AK�
���ؑ;�Q����U�mR=�3��@0	y�φ�����++�m��-4��F͜�z�8���a0�u؀�0t���Y��"�m�����^\̾p��O4�Sۣ7C1�:��Ձ���I��
'���hӘ'�6��8�4�����8����
8�z���!%��)�2O��-�C�!�"Q������̎1���� �:�����yb$R�^�
S(p&\��h���83��j��9w<�8�ͯ�dž,4�%6��E`gpR�٬V#�b#�9�|�Ō
G�D
�Y��<Q\��C�\� 4�1�	��7eۋ�9]��MKl�f�J�(O4L,���
Q\#&�Xl/��8eC1a�����m�f'ljD�y:�qN���D���SZ��U��d[+V�HsCO����9����a��sG�!cڠ���ƃ��["�{o�q8z�Q�66�3��l3z� x���y6�lh�cOp���jD\W�`��䃛1
�"$������\�ӈc=����x�-��^��-�KR��n����n��P���j�n̔y��U���Fl��Bc���m��
(�F�ܟEC�{e.��*�J�)�^���q��0R�L�'\��w<����[\�G�qˆ�zS����
�i*B$�	�ɾ3M&��:qd��x`�lp\���k�go�����čU/��'���zv'0�6e��H���E�@���1�vQ�Ea~�c��z����k��e���I�2�y�4��"k�{Q'�8�]��@�8���R�9�-�I�2��JRM��4�B���w�+0��_��-�w	�$݆
���1��w�$��{���z�D]�KH=� �c��x�_�F����kt&2�垅7������㗏Y�(ܭ
�p�Q��k_�_��]�EZ��l$m�:��V��O��x����^�������/8�8����6�ĝ}2����H*q����GD�0�N�ǘn�D�p�E�i���hR{�h�C�!����
C<1�n��Լ0d	cXч�Yr@1J�h��82�\}�>��>�����Oxσcc�����YR�c��q��Wq���t����GD��X��x��G�hk�>�Fs�	�g¡>N<ڡ�jou��Z%���yǩ�M�	���Y���`3I�d�O��G=T�ͯ�^�d�1]���a˝�%�AZ-�H��}Γ�t���mx�s��^��.��J+QT�~�e:-��gU{g
/@� ��t�q��{{}�#J��}�d�1��pd�5��K�(��hK7wB�����=�f��G��D�������u&��m諞}���ģ�����q���%9�8��Á.�=�[���Z�6^��f�t&�x�S�\��>�?�$�'��<a$��S�E�m�[h��q�]�N�q��NQ}����G�Ԅ0�Xkf���W?���$���&�����)�o<�R���T�#�hH�*ؕnLu�'�(�����h�ʒ��7�/�h��뫾L��¯��*�gz���*�O����a�̔����]2O��V���{�ҧ���tb��C'|�|��׷���p�[�{���W�����>����z�uq��¯?56m�K��Kݣ�&�k*�P᪩pȽ�ӭ�3o�a���^8���	���j:T^k���'��$"}�6>���I|tTE��]�����c}�<���&h��~vޖ��R
n[}c��]�"���m#A-�B���T�M��V��T���O-pKO�Uޢ?E��/[�v�z�μ����)�����B�l��doĮ�Y�J�-Livx�+QWOP����.s�5�LU�d�.�gS}ЫO�
>5c�����ٟ�ж�[j��Q���ƪT�C1%6"/l'�®Q�E���e0^i	h3��߅®��ae����r�Q9�z�%�����M4d��a���.iT��
|�ꍣ䀝G@ҁ�1u{GPFf,�Dn�Q�#�a�b+6��P#�ta�Xf}���&��������>/4��'���tc�ݷ�g�I�[��-RG��s�齪�ʳL|��38/�8um�5Y@�����z�ސ/sz-�/�tzz��p.Е=a��n�az���,pG�ȸ��Ǎ���ޠ��#~���ԟU�5=6Cg��e��,�x<P���6�#���8���t�}D����S��?��zn�C�O�e�+�v́��h#0�^�>o<�{���н�=Nؠ���_���k��<ÄA(��R��6�XQ�T<R۾s�`�ޠ�瞶��$؃ݫ"�쉐�N��#����c�%x��gI�8�'\n=��R�m�y>.���Z��$�����GA�t�o_�y�i�'��S���Ǩ��ӕQϧ
�y�}�)RqPm�L�aח�GJ�cQ�M�l�&����Y�������:�B�NZh&�v[V��߲H�l��9���3i��6�� �=���ZlDU�$MK (N�p}�x���
8�#2׆MSmʚ; 2����(�|�n+�0��B����p�bg�wg�p��6"���Ѳ�8�\xŰ3�j���l�A�QD�GŢ����������ʼQ��3Ņ�L�'M�����l�As[]^H������),�@�I/��).�[�������yr�����>o<vN{����j��MR-I�W�����zw��;�uf�C�ܣq�ؙ�P>��a��0R#BGLe�G�XC���rGXn7j8��4"��	ŬЌ��B��&J2��f��G]x����zk-���3e�j�K��"���,A��fLD	˪��c�(��@'8�x��E�-�m��,,����f(�Z�%Y��w��Io���&i�k�}�_u�wo��{���fJ�������sy��s{�ɠ�6�a�G��bx�����-H��Etъ�D(O1s��a��<KNJ��3��kߞ1O<v�x����Gd���v��Y��(��U~y�&�ȸ|MN����%����;�e΂�bN�fh8��H��-�沫�������;������sz!����G|iI�P�E{-6#�'X�O��煇f��c}��y��znS��X��0��)�)�*�;V7�W�Oͫ�b~�R�5�޺ko��Ϻ+Ny����x#O�bsh͒��&��.|�TK,�CF��S��EK4��59+�������H�H�h?�� 㥿��&5'��t���C���ˀ�ԢaPޒ�:P��i*���t������TX���ƫ���δ������y��Aa�Hh (���mB>V�Ϻ�]�\�?��O�^����d���3o������H��9�.��dM� %��~���y>N����l���b�Y�1�=���	�u�j�Œ%��3�މC��Zhj��W�e)�M}�T�R�R���!�X�\���.�Q�*��u�\��=��G|���
Y�<��'�ԭF��ޞof�%	-�e�)ܬE���"jX�6��e��;؍��y!W

��aPp+QM<� �N�H�,�����k��B_D�ԁ��XR '܀��b%J>c�����J�u�J�Ǫ�����Iq�X�y\Q�3ǫ�gF-q�VǦ�ۺ�w�'^Jx��“���_�^r'a�_\�K�L�Q�����+�C�ȍ�.c���ebR��˘�V�cF��h��7Mf%9��ݦk�"��26�*A�:?sy ����;�������'�$�$;�!�y�ЮUU$y(�D�w�5[�e�q����zdO�v�Q�e>]+��t;�����}p��BXs6�#�;[c10��d��~���f�Wv=i+_p2�2b�7r��&�ƾj�3}v��]#�m�(����9ɷ�B%rm��>���ϒ����*��t�Y�LW%\.��[�M��Q+�w�V5�`��7��v��p%��F8�d3�Ү��(I�xC^�J�m���j�[�x�o7�IK#�kĪQS��2��F�����v���$�h��xU9���x+H��2Q�o2�uF�ԛL��U#<�2�54h�E����D��1����}~M�LXv�m����H"i�/��2���yQ�2�=���+��sR��˦[IfJ�iW�W��l��G3Ѻ�R�)�J࿞.���3�<�m�^�ވ~��R�����=/%</Q
B��z|��mFә����r�'�oРl�D�,�Df�M��:3��M��k���g:@�F��sK���|��|��|�a,��x�����r8�[�d��r8�[���FM傗�>�aK�M9l�ō����\���3���a��%��ber8xS
!����;�-��Η�no28�28���&�������|M{�&��%��ѯ]�5�5��K��-��(�#�יn<�I %̙>
R�s�q�X?I�[�hE"�t'KI'S&N������� I�oP�jS��i�[D3{�f��.��݄���6ՠڣ�p��]9j�)N�/�i���nO|�R�O8^<��>.�~���#��#��#��h�ho<��<�����M�KЛ�^.x	��$��$L������>����&L]������rޘ�#Lʿ���'������H7�Xb~2�7>1�|2]}�yo�zx��O�M��n�b��nb�Nы|%�gi&eӿu>����,��
���z��-�t֗�4�@U�%^f�d�ь���ax�4�Ǔ�<t�l��2s�/i*��^����7<lb1�,L�m���e�])H%�ă���7��ȯ�Mh|<���e�o2�҂����DNT��w�
<���N���9���.u%]�J�Օes����o6G;m�v�S]�&�^cSW�����b&|�८�������J#8�a�+s��60ngꊹ��Rn�����7�5��[�48����.��\��X���]c��5�x{
�{��7��_K����Mc)�14h,̧��&�ݘ�1��}M�Z�P��$i�<Y���.4i�IҜK����u�5��%���a\x�m�����/'��0ف�Lv���E�D\�D}�����9Ar㾐@'�VH>w?�����9{Z[�[�oc��_�f����e��3��u\��|��tV,��f�L_����ҙ���:�,���y�F���ڙΊ�;ެ��gx�e���ڡ��{EӰ�`��<���g��J�9s���iϒ�C�-ꢚpN��s�$�3�s��¹��#7�d]#;PF!9	�f-�_V�9O&T�D�x�$y}��D�8�1|���$d��}b��'�kT�#h)��H�R"��ܕ�T����1?՘����qZ��8#;&������@x����T�YDf�T��C3*��9d���e�A�}�][8S|hZ4���W�)�� �hF��|��s��=����t�����ۋ8j�%{�F7��zY2��~�^~�^�)�
��l:��p���K�lf�~�%�� �4�v�j����u����(�<>��5���x(p�W����ң�>Ş����vr�y�g�-����k�P�`�D�O�S{w������v�J�.A����A����M�rc� h4r��m,�:��������כ���]�O��o�.�omu#h#y#��F���I�I���5�E�卤�I�]$��H���t�I���t~;4
����o$O��סi�MS�K	H�lY�+HzF�YH�}�1�$j�fq��ϖ��ζ�"v���+�q-��3U@CW���`��F}�o*���j��{�~���<}�?�	hr$�l9�-�w�S8�!���dĘ�h�.`xM�X!�������Z(X@{��|���k;�'m���?,m�y8�	/h!�Cښdž�I����e��j�UF{����A��s|o,�m���0“>��4i��,���t�3����UE��	+�ⴇ�i�*�3`�d�4�b�0Yb_M�?�S��k����ݔ��Y����34��SW�=3�!!�m40���ОH�!1�C�4,O�J�S���B��fV�i|@Y��3ch���*�<|�ޝ�e>K�.�(�.�|���ov���@{hϾفV������ѳ�L�<{���e�lܱ���O��L���<�����d�t�g�q͏�^ {������2U��ɡL�����JfLMe=Ԡ��۸�4�vnן��C��0����m���j��iO)�sB�}�`/��F��0���aI��l�d[O�XO��޷��w������u�7q�o�@�����&'=ģ���s�K N�M:�7�t�L�8�7S N�M��7���L�8���Ri��o�鿙�����N-M�7qXnq���ay��M�[�-���hT�/�M��7&�yo���\>�^��Hs�P�(����ʩ���KbA��O��㜄��Լ�(:o�c{�T�$�_�9FOIh���O��)
ۛ(�(�d� �9.Y8���㒅��~��?����NC�o�p� *[�S����吃�����[�#�oB��B�v�q�q
�r	�v
�<V����QW�iy^�8��n�!٫vF{oeN�`3:wwN�
�	�
�Q)*aRA���3�lb�����C/ȞI�C�	�Y�;2Zc�ۺq2�eN8��?ê~�`1/�Շ~�&�R�$�yhn���� :�|��fk��cs�&q�j���P�撦c'@��ʮ���6�F�¬�fC��r|=�JI��H]F��@��fR�.6�M`��D�i���@�Xh6u4!�����z����];	�ك�j����}�/$X�jb����)�����T�K"ayF%2F T
M]jo����"�F�3}T��[*�!�
�����ɳ�z�Q��[�a>��f>��7�@x�.��FԤ
����41Ϸ[�/�u��H���{#�9;F͍�8@��VT���0h ��u�l9=4ι�n��[o��
1x;ys��Ua��错�������Mf�]f�Kd�7��.��/���a�O�����k�����y��Gu�`�J��)��wW��3!�pa�����Kwe�U9�ݽ	�Pm������s�C2淵k>c�Z@B���?`,]�g6mu騭FW����MLZ�\<�n�B������a/з2������s�H��]k `�Gs��
uo}7�dx�:%A���S�RQPO�_�)���u�2nv���ev�%�
�N�sх��K�;dG�z�wF8l6�!�y7Xn�K(%�l��3���D��gH6����hR(�1�	O�I
�M����!K�~��SL�3��m ��kc:;�_5.�+��@���$�c1X�
>ϦUvS��.)����ɓM�B3U���O���B/!k��NƠ�*�`���̂���0�	oi���'�G�h`��%xK6M2�B�_���ǀO���s�f1h8�b��������͛�?{`��@&d�Ŀ+@erRW:�	��#��屰�������d`�|E�I��4K#⎩nv�5Q��#�iU�Z0�<�I��y��Sy#�n�f���3��6�3o�I{��g�Dc�Q䚕{��5�u���=��{<��c��"�g�����9=�.�� Z��c��/I*W�G�`�y;�;��g�.��P��h�iPi���t��f�KQH�N%p��oe�|��j"̠o
��aMM�FV���ɕGp7Gx3�<�
~�Q���ϰOsS�[�C�Y��s��˼Q"R�B��gߥx1emyI������qW�Z�
O+�"�����;�"��1%8�+�������2u�2���MPl�s��[��^<��X��2	�2o�=�~���	W��L�5��f�FV��0�j�,�
��
��D����M��ۯ}^�)?��cW�N]�S��w�Տ�(��:��4��Hp���T�Fؙ�]L]|4	ǧ�m�=6-b��6���m��6��6���5��΄iI�C�֤~:��������=Kw����@ت�d?/�ۥ�l�IF�H�DӼj"�uvJ$�5�E3��W�;�%"�C����-fWN%_�Y'��_�P�*�ק��0*+���6.���2��ؤ;
�����u��n9�;e�)�ۛl��Rɾ]t�)�Y�dT�6^13����Z��u絴R|g�MS�ߡsod�<<z��������/�q���P.{�nԻe��Ƞ ��q��&6}&j:�󊱧ߔ��!-��$��OI�:M��x��|�n��4R	.U�Ż���r�y���:��_���xp���w�g��ϿA5>��D=�+ݸ5���3Kxp���3�'��{`�j��5p�b�~�'I��9)�NO������~;�����o�L3	~��'Rgu�Hx�7*�nc�&ۗ��B�<�
�ox:r��?̈����A��J�\;�6��N��x�<]e&<��W��*�T��|�q�h�&�)�r��K}(on?��l��`�m����ש?O,�%qi�'��M|tc$�Ш�+V�:g����#����*�;�vHa<�Q?�<[�Ipj��fl<[�G���L��QbD�&:n�F{F�� �Rw��q���D	���=�6�C�J�LO
�v�'׶�|�I_|��l�ܔ����t��+U|��݋��Y+��*v�Ձ�	�����L0{��"�pEU�fu��\�9_\1T��Tu�1���4��f����qN���3)�d��}�M-n;�{��6�7��طTt3�)؋�S,9��\jX�>C�7��6Jc�a�[j�$�^��Ů�HQ�3����.{:�aGx
M�ǗMO:��yM�0r� ��J�Y��n�nЮ.�=�z����v���Ow1O8���n�)\p�[�F�'\f(���l���J�34a�=�<̑Hy�.�G�k�j��ͷh^h|�]X@����K�J��f��T.T��(9,>XTE�z^� ���b,����u��'���5��F��*7�����`�إ�]��g-��[�mD;�Ok^{��qj>���6�3��<�h|�F\�=?6ux�ZU��
@�S�#��(��}�WU�����h�\�Pts�� yUg�7�'Z�@�@���7��n޲_�y{ъGZ�'���·�F�9s6�����yʶ���[�aw��O�󁚔�R�\I���j8Ni�Q�ߴ��ь�-�:���<��2�
+�w\��ob%Q��Z��1����=�޿���!��`��ա/�;��9���C)e��i=��&��&�hSR�)됹ȦU���N�U����ϐ��AA�� /��Z6n�fT�Ɲ;�Gf.v�E��(�z+v�t%P��K�Y�_`9TD��p=a������ELg�������
�S�=}�}f�
u�h��XS�$�P�vo
�>�c{ZLã�w����S��i�l?z>��f�}��S !��	����3i�-I��6X2��戮���J�Y��Ƅ��Qf�Ǹ�ݩ�_�ba����z,����SsrzO�A�	�:��
�s�� �й��s�R%��-�h�'.w󥹹ԙf�d&Ki��
���b�]�j������ʡ`
�	���g��S�xצ~XMVq�l��qe��Z`;Sn�/nk�I�f!W��b8�{�u�n}�Ez�_+�.�VR:=�ջ�Ōa1'�m;S{��76���7�&跔o�՜���p.�>�{�m��%���	J���Ȉ��ؒnsG&�_`?�^�t� ��+HDSkǧF�B��5.��0^Ba�sO�fwP�C�Oxb��0Y�l���5�/ڜֹg���n�X\f;�2�Vt��b}�YP���T�l��BqT�ŵ�X�Gݓ�C�+=�4�f\:�'�:��iʈY�a��A�k=�Q�n1O�ޓ#��Y�~žQc_�ό�$����&�N6ݩ���%l���]z�q�ͳX�v�y؏DYa'3�tb�v�0�^�Wi�\e���?��ɲV�a�-
�FN�(+�dniR�_��󬶝D�~E�Z�~J|��a��dl0鱾���wΘ���THo8n{�P��P���y�=OL��tvƲa�'�x���}��4�.����資r�Ť+jbWl�&+1����kM�������������ZtΪ]�/d�����o��9W��*�t���?�yQg���<����n̪Ѿp~�!��l�Л��J
C��;�*��4��rǝ݀S���v��s��h�m}s�)	6q5�;R���;ؖ|����PL�t���2��_�"��4gSZ8���f�
�o���AV���
�;f2��#�s����p6�3^��������������Σ���_��������M*��э��&��h
��d"��I�^����
��Jo"�D��h!����2"�!��z����_�]D�0w���ٓA�u�W�d�`%�f&"��*�7@����oQ��~�L��Ӿ��߿���W� u���>n����[���Az\�W� ��r�J��>H����L�Ʈ�N���)� j)i��XR�&�HNJ��OJ���V�0J��!�9P�}
~(OEj�l_�ɹ.�p�ƺ&��X�I�����I�?|�����*�f���W;'m����'~]?(q���l_T�p�=�s��5g�p�Yh眕{��5g횳�6g$���,�F+�3g�EE�K��k���$
��6b�:��m�͍�)��6[��;S��o3Ĩ��)�86�!=ؔuX�M�Mm�`ԫ�,ڔh���m�ꭅ�IY܉���r�hM����2�b�h��5��n���>
>������zi	��W�Z�.�V�����lv�͠5r5y�n6�������G55T�k����Ԣ+��2��=%%ٳD�O�bpT�8�� E��*X����d+��k��!���[�
&�7�5v��j��6���y0���AD|��w�4��*-V�V�K%=$�U��(��/�˂ϻ�4��F����*fb�oU0�zK���
�q:L�įw�H�Y�^���]�C""��ON�o<(WH�Q�Ѫ��+o��u;�}X�tڝl$�|�D�Ӭ��a�sC`W-�^�h~1���MfG���73X�I�emd�F|�7��w�v,�����r�44�
n�c�hh+�D���[����bu�v���pl�<�v�c�uN*���%�s���9��x�+2wo��^k
�@
�<��i��q+Q�l��F�Xf��E����������ԒUR�x�\��,�D��(b�[Keu)p�>r�޻�C�}��%���׹-Q3��0���S�(�W.�{����G<p��X�us5ǣ�(�92�hhf�]*a��%l���=�����z�`���凸�/f�˅A�R��4f_5l�:�E#w~�FPUw
��~��	2�x��'� ����؞�D

�!ʬ,�W�
S?ѵ�28���"��Q�I�T��['���)�kF��A���u�{��cv)p
���_x����i�L��E2�P��S���W]P
��az�'5�<.,v��W��x�x�'�U�;C���1]ˬ�䂔�����GA�O��g�k}��{���^���(�%1%H;uh)DŽtϸ>:K|�#|�!�IJ"�H����O"��4�z�G�ӈ��`�_Mj�pK�#�%�F�����}
���b?��;{}�~Br��Zd�e.�Cl\ZS�_5��b��8��|�)pʏ�9����Y�Fd��%b�y/O� S���\�"��%���{-q�1��U��n<�`�����=��Y�;1x��{�ʞ �����'e�Nf��,y5��pا�����v������W�P#<�(�+`1�^��1K|K��3�H�c�2h���s3���>���~Z�>�$p��1ɼ�6K|˸�����t�6����8)i����*��+��%l�7�J@b:$�z�l�H�0����$~g�W�g.4N���:{���Y��d�T��X��-�C7�D:�ٺ(�Y������
�S�Hoy��Z%��7��uVP-�8hq)�tf�h6�z��[٣��oX����q�Gg��j��U�J��W�[7C@�quQY�ه��qaq�6gg��{@v�*C�X"�;�H퐟м��@J����	���7����[4爻�
�	�7�u��,9�	?X�ߔ�]O�tkjҿ~�b�%ԭ'|+�,����z�7�j�zo2�L��(�`�өh�i�|�%"%v8��R���c�
�����L�x��e#p��SQ�&��lpk%�<8�Dž�J��^���e���==6��s�G'n�D�S�K����8���}�^&��(A���=T���m?�̝GɁbu�}�H�v������5A]�Ӈ���z:L��z[b�UK>ϒ�f���n4����0�5Ѩ�*��O����t��%�gIn�>����ئd]��&�F�A�S{ϻ�
��]eBM�zՒG��|��?n<M���q�H��'h�h�x�a�4PP-H�^�,��K���������^�A0KZ�
�'ϖ'D���Q}�Q�̰$[@r䍅k�>�l���./,��Ŧd�8M�s�ʹ���8��`�(�<KB�X5���ǽ��}_��d9����׶��p	�j��Yw�f�_�4z����H}?�F]�ju�Bw��N捒ϳĵ�V7_sF�F�͞`Iʗv�0{���N,(�<K�����G~%]���X0s��J�O��ԩ�SH���~Lb>y�}�WRZc��9�ԧKT��P��7���(F��6;���F�kM�Q��F4u���J��F��a:b�QL�F1����8��3S��޿T�Q=�m�a~������=.p�'k�,�� ���|�p��Y�<u�3���m��y���!3C]�l�!c�!�d��+Q�%��Y�t/��i(���B��?g��ٹ/-�����c�׿���軮��Н�X��y��j�4���R2༧V�F���i%6��r�_{���r�~��¹ڹڽ��
M@��W�o�d��q7�a4 �(
�43�V�o
�(�]î�L�Q��0�4����R�/٩��K¾D�8�W;�JQ��O��J��fZ؍63_��UVk����.��p0�"s1U�A5]�
�4>�{*�7I�A���o��6׋��v�wC��ɋ�/-zR�b�Ȣ��,�ڭ���r�A+�4��>�Ԓo������=�,�kT4F�XC��z E�u�Ң���i�9Hױ�=����\���5;9���.{�X3yo�X���E)t�J�@ta�65�z��*/�}��T׮�!�;�����V��GE���ۯH}D�N/R�B�S� ��%	O}�
!��@R�Y��Jo�ӳ]$�ۂ�~l��l
�F;|�5�������1 � }��x�����{�G0�ű�g9��~s�;8��D���)�2I5�����D�ʢ��->��I��fl�.��=r1�\*�T�ꬅ�n���!9z`(C�*zJ��������Z0��7��K`�қXH�n��\��G��%���=2�U^"�3V�l�R9����G����Ȝg�LF��d.m�hp����w��z�S'�%��
�_������8���
R|��%���^�/���ٿ��K�^����Y�{���e��_��Q�:Gc�C�4k\M�@WSPaIl��A���Hf�b�S9��:���2�zR�59�rt
��Wc1!a��F�ny�n�8*S�I�dbk�:��#�s�˫�l*���,W��"⥳���I���<��(�LJ��Q�o�	��^�/�_��ت���S)��M�U�`H��U�v7�Ì������X]�֔�
�1^G�M�\�:ezeA����kl���e�z��Ls����2v^�ISY#�>)s���&���<�=���!�~�p���}�{��w$�oY��N��+���Qw�>���<���P`����� �N��v�܌��lҲbJ�Se
��,�����}�z����ω�6i�t�d�a�L�3�Y�=��F�.���xCSK4��G���jԩӯk�U(�_�a�w}Os�)�ؖ���Ls��O�!�n�z�N�)�e��ғ��a
���V�<�����-̋���k@!c���+�qΰ7������VXpz��k�%#e_��
r�" �F���TL�;L;!m=D�i��잧�"�T���yl�c�p9�U���/��Һ0�˷+���B�B��v�z0���_da[�����4�a�~T�$���I��ʼܣ��f��2z�\��p>vn΄��$6Я�Q���ܴ�*ł!Y�y�	FM*�U�̴n��3�0�*�L OP��g�[�G��a���]�!�~��1K�kt��!�p��
,̒�E�-z�ZXIq��NXȮ��n�|��͂�U�R���w�7e'$�Һ0%]���S�#�`���o��e	_f��f���>���^��u�:�^�|>@e�,5Kp�{=����*i`�*.������˹8m7(�	��wSГG��<�1u?&��������?)�`q���O��w����&��Rœ�d��y�rLm#����ՠ=�=�����zz}Ya�/L��a�>�ҝ��`)�T��
�O�{o�M�Be��"j�:��k�l6�K%��d5�:ijק�V��kX*[4E�A���6���t�ES;h�챨	�n�K1�>��C���L�po�vm�pn#E��G�A�4�{�j`�n��kۺ���.�V�p&9�W���Ik�VΦ
.�
���I�f)�㑂�N�]�����tp~��PpL���kv�5;�fGٶ��w�'t�����*��d1;���C�:=jЉ�ȍ�����v�eUU�;h�2{
p��;oeDP�|�S� �!Κ�G�j;_��+�o�(\�(����$��ω8}��	��؊�]k{:O͋�&�7���0�	y�/pPBƂa���X�Ҕ�8�ȴȶu
qE�|��>��I�ᎀ�AU��+s�/�D� |�
I�Z��HU�A����K�p�A�?t�v4�F�t�@�����٠���}X��Onˠw��ܤS�u�6,/S�2#e�/70����p�u�(9�x���~�A{[�v�A8�`�-w�<��󴅻��9�ΐ	K{��%=0�G{�opx5�d_S\�L���+E��?�5�WBqa
C(n�Ŷ�/���|�c!�C�E�%k�{�T�S"��
�9?�o0	U�
|[@K�*�K_9lpr�J�ᮔ��נ־���Z�iy[z�x�	���"��<k�g�2��T���m�R��3��}��G ��dV�piֈ�v�n��}j$��1f��Z��9k�y�
�TWg<(�Ո�}nKz��-o6�8�
����F֢ύ�5��o�T�W���UC�x�ಯ���=k�j���԰Z4�e���xu��X5:�g��8�	�}��Ew�w�$�9
��ҳQ�ޔ�e�|��=l
��v��q~���Úm!�U
{���I�lg�>�V��.8������FY߭p}k�O��H��0���"$��۞P�B��Zt��V#z��#=a>
��Fӝ���B����/bQٶ���\aDG���!Zd�=X��&S8-~�y1��
��+y�j�S�۱L���Ey�S%�w�n�5���e�7��U5�U���a�f�=Z��B���k��ՠ������Q��B^,B��nk�����!m�=��BN���p>HE��l���Ǵ�p�7�4��`3a��F��M��j5��iI7݉�0��.具�+B�\��.���|���[�A�s[K��D��e.-jW=���A�͝�
i�n1-53���{�A��5�d&���l��T��F�g��Y�4�(P#Of��0v�����o��ss),��t�(��Y#NJ�憶y�>j��r� 
��'�-��k�z������T7��L,NFx�@k��q�P&�<T�l�Nw�\��&_XA{��`c�5
X����XE��S2]�6�<��i����9��@ý�)eЭ�O�m:>i� 
��RNSn��f����3��C2�w�I�&�j�3u���Zd�8�g	����~�_qꬹ��^#P!2�<q��q?�����wV��ɬa3op���[��hn�Ĭ�|�V#��fp�v[-�⪑�����lP�?���O��3��w��.�;g���-�Ľ�ˆ�	g��jQH7V�ʨ�}�P&��S)78�s[�9kd��mHm�ȩ��������7[�����}3дؑn����Q��Sc�N�z�'��yL�<0�p۩@�~�aTˢ�6A�$2z�Q(E
n�ZtJ}��ww�i��|5-�
#^דXŴ��z{}Zn�#
��"$jmV���C�@Z-:��1���TĶHi�x��-�o��x��j$��
��.Ӣ�H�z~x����ί�����M�-�A}jY쫑MP���+�Q�:f�b�׾U����p�\�`�C�~�<��٢]�t\�mICa_��il�н~������^���/��.�$T��x�B
"��A|̰�f'ԭ�wK�E
�]G3�ym�@;�N�v�$�@;!ճE`Z��7z��ÄM�{�4�S�G�0\5ƾ�0�f�hzv[G�Z�Q�¢5
f�b�5q�&�Do��癳�y����_�-��o��3��S���A��ĥ�PZf,�f�O՝p���OK��@68q�W��c5�*.���E��i5*w���:�j�)B���
�n��V�>s8��*�Z$�B��ɛ
.�W�J���0Ǻ��y!9���)�*���W�Hym5�D5��j��s��GN�l�٢�������w@ݫ�CLG������$CV��s5�z��)|V���&���r7snX�F��pw����}ǰ��Gj^;ʽ���\��w�m�Ņ�G�ݫE^���W/;l޸�»�RԻ&�R�J�l�7,U�y��C���.�_{�jW�G��8�Y��"6�\g�EtR�[�g=��ő���Gn�sb��uK��;�v��tY��k�e�Ε��U�Bjp��5&–u5�W�
q�m��Ѡ������>�^lV�&�-��`Y�ݯ��Τ�����՜�K�f>���|�*�(t��[�Y�%"I����1���8UM��Pu����q���
����&<��{��#L���X%
#��`�€�P�r� s�0Ifk���F�D��~���&�Ѯ1:t��"�#Z�̌1f:��E���5�L�0V��(3�A:a��֢�s�\p��,o5(~�B8�(o�Q��/�5�2���E��n���1�c@�l!�p_0s`Lw*�������g��Lf
���jH��ޢ�}}UF^���YL9���b�F��F�1z�����t�H[-�U�]=�k�q�8o7�&�v����{`�N8�3AI�
�u�m'P�{� Q񌺽Ő���-2�f�F��J�v,�8$��`�n�I�Ǿ&be����բ���X�y1<]�1<d�փ�>��D�u8�5Z������<G(�
uc4}�|��Ae�iت��}��إ��d��N�-�1�H
o"i	�u�d�I&oe,�=1e�J}b���-qo�dE�lp� ŋ*˳}L.�^-
�����	�)���.]��#�-2#f
�`�7[�xb�m7̳��E������l�}��dG�g�g��^x�;k���<�Z��X�6خ���j��>�$�:��p`a9N�0��a5*%��tjm-:�Y�y�B08�-��lp�Q�#��#����ޡ �{���	�u�Ղ�֬�`>�^]ct��s�"bp��֢�D�1:���ۗr�m����
N��Pn�-��4<�
!0��Pnս�@��;��li�X
�.���M���DН
�F���G�4�qA���"oL\%�Ӄ��UW�\u�r���UW�)��.�����!W@'IS�C�VdbN<��`(��I��)ǣF�z`p��­��B��n�Lw�Zdf�Yj&�S�����[�p~U�íC�f�̥3؄�j��³�&|NS�āi��P��h�~�ؿ�� y�n��ը8Y�p����)�o���쩶�5�*�|��7S�+9�ܱ���D5�XVc����V�oY��(���Z���+�ɶc(f�o�m�-��ß5�-G�ZN��H�Qd�&R䎔�t���Yn6�_D��(�1����nj��Xeg�;���w��Qw(�
.wz�
���/#�"�i.���q9D���b@�h	�L�aJ�7��bnp�g�Fh5��\p=d��
�07�#IgDݑ�<؞p�=�Z4��������V�-�%̕��i�-�{P�m���|Gbְ�mp�]4[Tw.��<_[�UY�L^k�ɜբ�~�;0��?1�p�9�ݿ��}�E&��8d�`������Q���h����AT��Ӛ�eJ������p�Jۈj�_����u)����y�5��#�F0����O��8�
6}6hqu��-	��ɚ4�0�Ɠ
o6!���B�ꐿ��=Dž/}4EJx��%f����,�@2߶���6�f�����ll�������ϙ��`�j��<8��)���yf��%E�%�_�����	X�P/f�g3�VGMŪ���P<���f���^HY+m�Y��Y�{sG��g�f�f6�U�5�����7�t��n�
���mNz$O��}�=o;U�
Ӂv�s?�]N
�+�i{u����%`u!S��p񆷍?�
5�]]������E��qR��)lUt������#E�?{Ի�?<g��v����r/�{�'�s��j����{��W�~���5Z��ͻ����{��˜/,����C�I�]Y�ћ�i����`��׃�6�ۃ�֑=h�a��5��j��)��(�"�%�K{�Mt�ȘT��d_=h͞��9���S�ǩ=��Ϸ�}�i��N5��z�Z�q��<��_�hm�m/Zs��Ek���M;�W�+3R�֒��|�X���@�‹�:lH���^��ζ�9����<���:ߏ����O]��� <h�%��t��a]{�h|�u�^��pۃ��%���ƕ�/={>�j%�O��փ�Z��ŵO�[\H|��5:����:`����J�L�'��%o�W&��z�z��}m}*���������Ak��=h��7���,6t���L/�ѭ�^�ۃ�Z�i!f�1��������Ak��=h��~>N-����U������/jݯ��G	&��1��so_�g������X�'��$X,���p�g�gl���^5|z=i�%�m|��xr���'����Ik��=i-%���[�xx�9NL����e��C3׵�5\����#
��޳�޶��9��z�-~�5�[r	p��uL�u���9L�gu~D}�X|������l8�K�[�,�|;FԳ�x���sP�����QV�/�)�dž�W�Y���9k���YK��o�Y�>v�l*#$�D5�6�%�����F�Ak�[��Ak)(Ե<d���*�9�!��2�f��%�B�\��^���/Z{���^�>nU���S_q�� ��Ek��֜��'S;^�F۲�h�#��Ik���
e�J�q~T�I��PS3�k�ъN��A!	��i�ͤp]
����f����],����c5	|� AlL��)�o�t	جFrz!+��e�\�,�k��������D{��3���y�y����x�L|q�8��S2�>fP���\���9D3sfŕct~��:�y(9A�K�sq���s��s����������s����I�e;�,
��(l��ad+`@	�%�b���(�r����G�#~�(���RK�Ϡ2J`S�ͳY��;�0��{'-2&�f�M����Z�6#�q�E����͞XA
p��"
[�]2�u�@R�u<%&������9��b
ӽD��*λE�s��hH��9F����a��-lG�P�f�S�s|
!*��
4�hb�5>52�lHi���#<5�F|�]WlQZ��Fv�CVK��W��>�����c�V�ٽ����ѱE�)�԰���
���!/�Sc�A��LD�?�{�Ј�
d�:��1�����N
��K���#�Ȃ|j��W	�4���d������dt�
*#{�Q.�A����h�o{�Hh!W�S�� А�c�~mDW\��=US��ט5�Ѩ��*{;c��豇�����܄�zhjȟ��T0��"=_s[���Ԡ�?�3�Z0��aȚ�e�-�5���k�X��f�0Z��[t���Z�e5&�ԇ�*��>�c���C�ץP��yjȕ�D#�-�3 ��ͱ��(+�{��1�y�Ǥ	���{�[ʺ�?�
�R�<E��!����������Y�X�`�hy.�Z��x��:�T��,V��6��lF���<�O8�~�D��a*a57͕}�<x8[�«��s�>�K��U�yKl��������5�y�C��dze�����m��Y%������J35�¬`�j
}��)R��Z�-��BYW��ʭH��<-������Zp,G�|�?�^��œb��ZdKR�7E->%t�~jtxy=4�����BN
a�=t�����U�$�CN-+��w�Scݣ����iQ�WD�_%v�K���?Cy��!z�E/_aI��N%�[��i1�rjP���EyZ̢�P5���[��iaG=�k�˱�׽~��>�
3�	���5�̄���tc�E�bʼƾ&��^-�s3�Q�8��^����3L��`-��+��A[w�^�O�kf꧟��5a��5���y�(��u�����W��[0�]l��=���6xv���3����8�uM8�0
{E�+�#-^'�E�o-$K�B-q�d��,�h��qW�A��L�6����ݽ����:)Jv���v$��#M���b�d�5�W�(c�^
�Wx&�~şqد�b�s�A�D�*{���n�ﴈ1�}�4������O����]�%�
���]gtY����.�@K��q�)'�M�מ�JL�:�~�	}�R�f|���l
�u�l��*/�k���G�֢�-�_'
<�v���/�����
Q�jN
���`����[��(��ol2G�������|�����S�U���F�3���c5�ӈ�����\�r5L+i�[|^�P}W�d�jB
��+���FZ��"���Jd��;�-�BP��Ÿ8
p�Р�{P�!�������ߴ�m'_
Z�?������|h �ѧQ�z�i?-F��c�i'|L���*��j��2ȉ3�X�+��5�9��ߓ���}�1��w}"+�ScI�)��)��D {j0D�Х�;-�lrj�t���-�V;+J�4#�E[�T��+�C�Ӣ_�+.��^�����;Q���H�[,F[��I%���vZlzUc7�N���g���Ԁ�ڑ�_���f��׈�|���
���ꩿ%P��1^���آ�k���=��E�E��jo8�����;-�k�Ըg�؂}���k}����u���Ɛ�������Tc����n�p2=�'˘���_;����KF��� v���A�"�Y'Z���)-�a�dX�Xh1;j̝�s�f��j7����E���NR�!�moyϚ�k��8���7#��F���>���+Ѝͣ+��i�r{h�]�ĥ����\JH�ťMqi�����}���W������,�����|��[����>-LEkL`=�r5�i�����p�6�}����V
s��->��[Xb���=#]Cu�������/������T#��ed�-��+�(Y��M/�iQ��(�������U��Ɗ}�S����^5�"�'݈�����C�葤�9-O�SC��[:��`�rA5����wl���$^c�q��.��bK���4��ѣz�%MW���\��8
r����j#��X�r�nc�v���܋��<�S��,[��5Q��b�^���vM8���]�Z�Z�������o�+���jbΝvN�8��j�vmhɮ}V-�
�ڌ��8r�j�V#=����,�(��'ʐ��i!%�*%�Ӯ$;
��L5�J�h��5S���Pc�>���8VJ�Ѯ�X)�;�y�jq��W+W�Ѯ��R:��\_VJ՘����V��bU?>H�gJ��G����`����'3��i[�����
�,D�&(
ӂ�S�pbPz�N��Ւ���|�Bƈ�+����ۨ?C���}+�֋��/^�~��K�^���G�S��3K��	�ӫ;;�6�1�N�Fh�P�����\��(���f �i��4��u�\{W��Z�0VH5l�B�r�b@��Œ��y��@[@w�Z�c�S�M�H���kL�!NK9Zd�e{jȋ��̾[�{�k�u�?-ʤ��5*��=t��<-*��O��[���(�O�8*���ľ->�Ԋ}
���a-�SA����"4��^��=�҃���#��=��.����ԓ�4fj\#�4#��=dW�4�Cr���_��~C�)*�S��b:
���x��"ͨ�Т���k�rMs$Ph!��Scv��,����L��PB�������q�V����+�z�Rqq�}[5����K��K�i�OS1��/�"-ϵ���O�R�Q�u�0G۩Q��C�2����:��|�Q6f-l�oB���������7�u|��
kn*ζp�B����E�W��X��h�T8���E�x^�/�B��Й�
>`�Y�
q�����d�`���
� k	��*�m��a��2�"�͇Z(0O�|'vj�Թ���P �+�зb����E"7��qS��L1����?����vn���R,�L����E=��
��j��0�JJ%�4#=�E�Y�����"mp�3��wjXv�P�QE=-:�Z<5L����c(�xֈ�d9hE��C���XT68-�#�ȒO����iy����<5�l8��_�jP�.}U���j}��:�wx���Lt�tf}Z��G��=ƞc�?���?�T�s;�==->o��9�ڌ��|��3�P�S�j���
S׳��'�P��3��>��+O?�XÙ�ٙ��"�k�	4�K���iQ�U�5]aL�=U�T��4�j�Z�{FLU��˵Ɍ�����p6����o=E��0e=��zZ�|�X��a-=Ч��b�Tc�{�����Y��,Ո���525���v��Q�F�/zH�xZ8G���"��P���r��t]\CuZ��kL*����-C�5�s��q4%z�q]��:-ܔxj1�N�81�P�
������c{�Ԩi�9�����^Vay��%�܅����
C0��.X�~�%�I�a~�ܻ�hF��j:{�T���R��~���P�C�_��P�CU��'1Tr� 7徔���rzqS�6����A��U����k"��z�{����)�i�W�k�V���Rgla������-ɵ_-Y���>��AF��F��OpS<�N��3��_况$��v��E�_�A�b"�^zkO�j[�Q�p讷�i��#j��
nj�?�B�[��V ���f�dוu�w��>��q`��U4�^a�}=]sZ�g�T��9O�?���N
�*9mf�{^��]��ґ�B3��ب>�G�t����"�0m*O5��u�G
�5]{#3�`hP��S���Er���?-��
+�=���r�{Z�4.*΃0]C�).W��c�����`eq�����uZ&��Ŗ��k��Ҹ���D�`�f����Ȳ�{�ܮ�y����u�.�i碞�:w��rҹ�ӠN��U�pQN��k���Wp&J�a�N��:5^3��}�J��u�9u�׭yܱB�}m��uh�c=-v}.ひ�o>G�㇛;�\�ې?�G�Pg��\���f<l��V,~�l���ז��-d+ס4*����g3����<+��P�lz�/%��xm����0�J�=35eI0���6c�R�]�֎�<:�{=b=�\��{q��pG����t�҉���%m�!�l�2//��s����̀��̸����7�ԃ�l�\mw�u7����9$��E\��(Ʉ<e���Aez��=T �1��T������Mgs4�+���F;b��j�8�eo�<��z�ö����?'i�ײ����IK��'�zFr,�zuX���FT"���5Z,i?��E�'Æ�-�ۂxoW �tC�M���b�T���f'aΐ��0��,G6O��
Ŧ\�x��6z}ۊ
E���%x�T~
�|Lځ��	&��+���a�dFo�)-j�a�2MM���]������\}���/�M�e���IH�����T)$��كV�h[j�?2�+]CPn�A[�$K���L�D�BP�z�΍m̧�a�A�=���])���顅���-,�_��!)��_N#���D[&�b�glѿ��`J/�f�tv��i�])�5�`����|Z�$��8A*�8��Œ1]5�B%ݾ�ՠ�S�T�_�L��3�%vi�gb᱇ݭ�^#~p�?T�L��7�E�^���y�y����<-���k�i[���b�y�k�3������Is�
[\�8�+{^-�S��H�8�����AZ��#ݞM=\P��M���q1%(�����#9�s���x�?j�?�xi22�+�Fg�C+p�i����V��yɣ�i��=���2��vU����&֤����#<-,�!��M��.�E�:^�TY����4���	[�-�-eIIq�H�C��E�_���ʃq�V�M^�I����bBF�?`BR�ّ�c!�õS^c\BҫŖ�j���v�.��>�������mt�*L`��+���i)fŜMfڊYY���=�^�YoY�s';ޕ	JQ��Y�u0�زl���lZ'��K�J�2�L����(؇G�L��cT��H�c��F����#AP�j;�8З�;���/���Y�=>{��Ffzfg�����F(PAo��<�G��X�2)�!^tS>�>�����Ϭn���wp�-��O�EDY��"=�&b��,���!������5��!�Pϩ�.�1�����U[��F���+
��r��M��S�������0�����%8(vR��!A�:���|�nj���o�z�/t��&χ��/}�J\�D�-H�L�l�?��?�	�al; �#^���=n!_��\�$�Mu��فT������,n��0�Y��ڃ���
2�@V�z�%����R=-\�tjH�th)�B�5x
�s84�\O���0��Ov"
�Mέ^�a�-�Uh!'1�Q�
�l�UH^����Т(���Hd�Γ���"3��S�������O�$0�S#�>��Jl!�PCܮ�k�?$߉S#�tzҼ�40�Zl0��u���.��A�#�
{��5ںE#�Fh�^���[ ���"=_����׎��T\q�-�A����i^?4��<��C��0�
;pz��	-��k��W�9�wi'~��qP�A7O�߉�Oq�����N]�視pg��غ��e���n28]�c���5A5�O���úk���,詧EfB��F�8th�O���a�~ݷ�h�O)n2���@��`.v��[�j	t�h��S��4J�ƀ���A{��+C��b@3�b���"ݿ���!���qEڞ���	Ա���n��-�Ňp�����bx	`��q
���r
�����N�Y���C��Ğ@��SSSW؇�Y�iWd�]�Yi�?}������;�Y���F�3�L�����v�V�;KgI%g
�e�h�$]�a���̮90L~��c�F�å|.�( ���&S6�bΜ.cd��F���a��({��;�N�����o�R*1
5����'�
�K���:�dn�	���+K��+�0,_H���Um���Zq��wW�Y{/�4�+���QXܞ��7�rc����yOc�yM"`�p��D����"익�������$��Y���s�6��2�:����άe%vc�C��;E��?�.�X�
)Wp�����|R�I���r9V�.9��i���t"7����`C�'��tr��F`xi�����u-O0R�F(���B��.��Z`�^~a0�Uh�k���iu[=
���I����ccK�R*�O��ջH@�-�c�de�5H�>�m;m���)am�D�,�5Y:>s��Ś
uK��"��#�N�w;��H�T+HwhA̅�]����.�\-�{h�†mJR��L�-�:�ܞ�0�����-j���eS�>�<qZ�'�RM��~���s��W�tR���"1��S#_�2�&̌K5W�H,�5$��g��x�;m�y�j1��n��X�CIʧ�(�cx
�[��ՠ3W� �C"�i�ҵ�L��;�d�t�ab��%�9-��E^�Tea�:}�KaOUl��)M�i�L��c^5��䴁-^�J��?5r�t�b��1Nyj$q΢=��i1�����㵩L�ɱ˶�A�����k�}����3j����H�	����7��]�0��.P��K����ڀM|���ĕ�č-�&�	�1�+���f�-#�߮����|ӺR\�5,�Y�M��[��jrOl1
��j1m���Q_-L��[�k�&Ť����i��q�~�@'{���o�����E��B:;�@�
�f�TsR��zJ(��X�vh0�Yj	ְ�	�����&ylY��l٣����	.^�/̲�5M�)��M�x�%�%`BT@�~Kt�E��)�,P��0Ś9X���L3��רҡ�0����	њ�Yh��Cg��a�K���䚐\���x��)\UVΌ'�!{$�"�Fn'�rG�%�DM�6	�yM
I�Pӱ	�?��)<��.6���������6k8T&��h���%�U���Jֿx�L����fz`!c3\ϐmi�i��ѕ��Q���FoXY ;��;Ԅ�n	�K�$OK
�I<�[[�.F��,q{қn'r���ʯ]x�ƨ�[�ܰ3h��c��q��`���陙��r`���tR4�M \��4�!]��;��`�1�>�߃��}2��l|I�
�ǐ\���~O�<~����)����o�^-���~�_�������"�Q΋���׫E��Q#�{�|��x�K�|��7_����o�~+]K�G��Y���R¼~��q6��ҜN�0�j���X�:�`��0�>�x��Y�����+��	W�Ys�c��b���g_��:L�V��{c���e�z8t;ܫZ�t�s�G�f-�#R-ʖ�B5J?li��=-��}�9NR
LMkĉ6��\�W��\��i5��\3k\}��F��\}�fָ�y�Hq[������!wDz�V�RR�
�I�z�V�|ڮ���]u�c ���X#Ńa\}�F��9��7KT�ZxƮS�\����4����^�T����nө��́l��5����)^jf�h-�3M�p�`���P����H�ƴC��
5���!�X�n�H��na<I��_=<��b�G�1�;D����b>L=j8G��2�Đ*��1�7������u>N�ݞ>���‚L�~pm�=Y�7�r���~��=�Xq��8�*wc���<|aɐ�;mKR�k�I*#��ƭ��1��:�F�=��8Y5:����F�&f����#��/�@���C� ȹ���1�
�pX�tB>��=���k_��X�u����nI�������u�Y%P��|,P��i�L�}�JB�}|�aNLnm�;�i��&��<
�WW�Ǜ.�u`��'چd��Btl��������D-����sć��'Ё�\X�.�.4nt���7��ù/Y[Z���A�E���|F��V�v-���i�vk�|y�X7ܙ	�.J�&�j�j���
��#s!�^eꙙ��
g�ykE%2���:�L6#	Z��J�E����m���0A�(���A��~J2��~��OP��������/��R�9?U�q�䉑^d�#N�XÝ�Ꝋ&�pyB5��S���<-�{y
��'�N�Zx�C�ѤXvR���ӽ�g�<����'T�N���(�&qj$1��7:=�#N�4�>t���#N��q�!O\-�v� �����'�;����4qMm���I�l:=��/G��e�Ċ=t�zxZ�|���d-�ߧES:9�Q%;Y$����5i⚷����Ʃ�Ռ�:Z��"݇)�Fq:)�iaEk�F���	�xZ,7y�t�(�}kE߱�p2�z~�]�5<���s�(�/7���H��������ZP�(��~��Q�TN�gc�Eq�%��<_W����\)N{���"ɣ�Ԑ��d~l�D�߼��F7�"�(�����h�r��5����?��"]�u��Xq8�U��[-��
\5����x���̀�Fr_'���W�G������W�����/֟��@�䨔���L%2m��&�d�:;n��W���lޣ��~�6k�~��{�e����)'��Pl��I��W�Mr/˓�~.�b>�M�f��GA�c��G���#�y<��=,��y�%FW>�`����OˑkI7۞�vj�?��aV�όN�F�.�=Ĉ�w|'r���
�(]�e�m �d��,U	r�y�`2q�YODZt媎'ۨ�'��Ɍ����&ەkҩ�3zȿ'�M�n��7�.K�h:Y�5]��{1�T���f�-Ez%wSi[�k�ʪ}o���W�wZ6t9
�+ڙ��-e]F�0�Bw�P`�h����]0�{N���E�tO���> �Ή��l1��6Y���0:ťo4�"�'�%���1�gcӣ_|$��<���n���ʊ��X���Y�޺�N�o>�
�.ҹt�~�t��yt�΢��Ρ�M���W?��ܹHgν���g�E����v=?��"۫�q���&�yr�^����r��Ï{�Î���Ì{�Ë�Ί�|8qUq��H��Q6.\�Lq���Yɞ�D�;��z��:F�,�I�l9"[�=�y?�6�F�]�W5;�g�x��Z;��;7�و_����V$�l���j���e ��?�n�P-�_^�"͛*"0�Ͽ=���>-;,	R@�@:��Տ��o;|�����X��^�6�d?Z��|��g�C���B�S���$
:�<�4��n_��_B2�ãeg���W&d's�]L���݄���ܵ�+>�\�`#-8Is����>���,���n�5�4��@���ng0��l>�4V�n!P�&<�y�_Շi�����q�F�?�;�X�.2��wZ�詸�G˾����'%��*�;�� �X�N�K�,[���H��&������f�~s�z�P��/�!@[�G�G��S��'���C��N���h�3����S:*��1T�_�Sx�9G�NIp$p�	N�q6+�#���(�A>/jG�G��s-�x�1��HpZ��5�#��强�"��5�<��5�5v	셊�*�p,jQ�JXC鑜��c�׈r�g����zzX����3�x�q��Qc�t����_Shb�t��a�b�c_�	��j0����k��z�O���C��^�E�SըϥO���P-ʽM��zp��� �x�>�5�!�Q2F���:�`E�u����X#��iv����5���n�k��%	˕����<�j0^��d�q=Ř԰��f�H��K����Q�}mu�N�5�ƞ��;,aa$�|�O�R�p��y":���E�ͩ���k|�}��Q�׭q*��2V��Q�2�5^%R�j~-��t�&���a�Jm���@Gڼu��1�C
{�/zx��ia�"�F�jӒ_�8�a�G��h:�k؝�/�\w�q'���T6m��q���}Qzl���,	�F� �q�@(�ax

�)zr�G2+�g��쳂R�I�FNcќ��y�u_�P�a}��	���4:���S
w���N'f%7ڡ����\~1��(�"�S*+����"�%��aP'3ݪ4q5�Z�QJ�|�t�k��g��c��a�Ƨk��Q��3����#�C8�F��\i��V)�ť �L;�:�֛vC�rr���!��nv1Z�!�J���\|GP5]���c[%�]��R�k������7�����.��*��r�b����~��)�k6כBOp�z†�)�A,bS�:��3�#���	�cȗ� �
���(�pG��M
�<���Y�%_���Ǯ�G�;�$5�^�75X|θ��S��P�i��zU��[n6\��^2���ث��ƶxe�"g��7�aa����c,z�dl7�OE0]p�Gye��ͺ|���rx�[{�2)D�v���X��Ⰽ�LW鲗�si�`�rFÂ#��U8�/+M�Y�n4�
��㠥V�`+�y��R��j�w6�@R��/�-�,�e$.\l�&$�U�
�?�I�ѵ����>�k�R��}����T>7f��Wc(���(�8�c��T!��2/�υ�ԇw��n\��u���t���!�lV�O�fɽȦ"�].��6�s+.�Ύ.��A�Z*o=8UV �`
O^T����~-�*BWT������oR���������y[��4��igb��t+��c�Rm��`B����!Ȯ����Ek���.7��E�Ρx��� �՟E��v@��m}~�ࢬr�I"�g�폻�di5�s+��u��:[��R�'ۚ��y!�
���Z�c&a�
���o�Q�q��i�#O�'6�[!�Il
����c(Q�`)a��TB���x��X��ZBz�o��%��LH?�&�xl&$��7x�&��&�ۑ��"h5P�<"�q��jqܙ�ƣ������J
�A���A���R���`���`�G�:(5�"(5X#a�|/^Tj��	%=�_
�F�D__+���j���4@�6�b�v
�Uaj�҈d�ۍ�������,�T�3n/�3F��Qo�E�oN�5}F�nʌ�����^�
Pf�X#�-�xԟӕq7�`#=��Y-F���ڌH�״B��ֵ�R��ԡ������D�)eFsoʌ�YL�Q�c
mF����Ώ����u���{)���]�ʆt�o3�5�y�JOj���F�j��!���w�Q=At��	oa���,����l��5L���9�^���B
sYʑ^���-ƼJLy1Ž���W�ϳ�b
K�q��z���Q��Fc./]LףMC��<Mx�ϣL�n+�TCs��\�y���B�ze���,/ʝj�K%�G~b}I4-��.�
��h���)� �E�dc��e�$GU�@�b�d��G�vF�%��F�s���ˍ`��"��lO'aa&V=K:K��D:.mD͒�ӂ�ψ��jn%���c?��"�W�׭z���4�^-�,�kV?��XB����_T�@?2�^3x�,��t�e����TCpF��3�l��Z�%�1���jL��z�Yg��~��dpP��7I��ZFo�M:��|�=��-^ vc1h�0��%�F���,RSk*G	`�h:낋�|=���V>��E|��Ԗc�"�X"�_��g����0�tS���|Z㏒2`�ʅyІ��6�85m�G�-��#K�_�𐖒�p�`��Ҕ��G���J�H3	��FZG�r-~�>�b��֨}[#�Q�_S��L�i2��:�`�<H�ja2��u�q�颗"|�
���&ۛ��*Ǖt�-H�Y��.ȓ�]�	h�7i��|�rw)�I�u��Q�Q2b�IJ��
�*
{��7�yk�H��҇]��Æ���R�K���	������`e�񆒵L:�X$N��8�����SGn��15f�6�Z�)�I	µk�6�W�V�炪�I���N{��6�n͞��<�6/\C�ր1�
�N�z�z&d�X`��je_��Ct���|y�Kz�2���}��s�ޝ���L�8H��;U#�XV>�J������
	�."�Sb�s��;��v+R���#túy���/u��:�L-W�(��Ll�
��z?��%Mew-G�ɩ�?��"FK��=W�ު|{�3pV��ͦ\F����2ZH��7�ݥ�jj�
/��w�\.rvf��,�%���K��{c�*��=G��2:y�@����C�:�n�Jq[#j0���[�{R�n4Ii-�n����T�{q�U��{�wLKb��c�L���Ĕ��K��t�m_��� �����IbU?�U����+�t-%�&9�po|�΢��RK_Č69%gN+O�&9��o\��V+�D�tN.|��t�V�P����cR_ϣ��dw�<����R���	忋_�M?b3^�ni��Җd���$j%R?�P(�Ѱ J��|ѩD��Ҵa�"�N���w��e��
3��ض��^|�l-
�?�I;�T����A�����բ�W�Y�� KҀ���S�]\�&z���H�`��m��d[��;񣦺ז1I�3�Or�q��XfϢ�a48;9a��Y��r�␸�veH���2����h��2���zq�7Ҙ�=\i+���mJ�l@�]�PGWV�B�ZE���]ȏ���,�h}�ְ�tU��
h�f�Kh��W6�a�%%5�B��r0�J��3���FF�i�J�m�P�
��F9��C+k��8ҟ%�a� $'��,z%�em<��t:"�W�٫/��VZ��hN�M�#��sRP�m��O�%C:�����1�I0����N�%۪XS�H�*��;����E�{:
�M�"[H�CJ�Zl]wp�h��7��o�~��P
�K��uX\�Ϥg@�tLM�<�8d��_�h�B��vr{������>�e��O�9�_�kt�IaI���V�'���s���.hNzb���t��n��ɚt�k�x�ԃ����[���i�?`�m���j�w��x��A5�aCP�!��^j���o^`�e���򽤥\���&(�h�Z��3w�&��K-��RC��-�q���~�ݢ��8\	�z)�P�R�^�PG\�cV�/,2�.���";-�ya�9��{�Džx:Y��y�����Džx���T#�O�"�w�Džx:Y��q!�Y���x:�=��~�X!��Y�wp:��D{H�#�DEz�SPd�j{[�5�{��(��`=���os�ٽ|0��O�0��)�"���y7�]�{[�C���ؠ]�v�[X>3��آ���`q[�j��F�q�ntr=��)(�k��4�4��CZ��}�,�n#�xB�@�y,1�`��X!�@�!�l(��)�)(���(_#���ct&�����V��l�s`s�Nlna�as����tբ�cC���{6�{T��s[�=�<c2���F�Ǣ�������H��I{#�0�[�зCY��U;�{��ne��@�?f�TB��8��?�C�Z��`e�a��b��ݢyFը���$���j�k�5,�I��j�ja���C��A�3o�Zx2\���b�''�F�n�9⹏�9j�p\-�G�U�i�*�<��e|�ۻ/������F�����_R#,qu�w�L֜\�<����'C.�^�ϫx<����m�c���-���<��:�0���xj8"�LJҳ��'F��B���T���Ѫj���Q��e+�l�#|<\�X�-5\�8u�u6^uH���H�J�)�>	ҍt7�$�����6�Y��+Z�F����a���)��!��)�x<�wƜ�� ��,2[��2y�s<K
�.�gs��-��.gʧ���Aof�p]�܊Es��ɍA�b&@����faJ̃�1�/o�SS@أ�Idr�|X�}�uY����E9�6�'���8L�}�J�a5����8;��B�g�)��bʹn�
<�0����<z�D�)GP`c�8�Cf�ECd'�(ٙ��4�=tۖK����nFC�ޔ�hW��E�.ԵQ}D�8��9�)�!b��u~4�28������'�u�C��NE��I��e
�d�^eˠc��/͔I��|�r-�h���ᑆ[�e�T��;\��g?ye�Z�E#��&=��J��L��֦{�M:~[:���*d��ܤR}L��~5�q���+M�b!��ir_Ns�Q��Aʣ9t��=�#��Hr��x"ȮP_��7�lBz�r�J{���Y"��f���׫Mw��PʋN!�f���r��cg��B�A.��(I
��8������
�k� ��YҜ'-���y'4�v�y�v�g3�`v��C7XS���)�1C�&��4TSw�W��s�~}0���|hG�ܽ��8W�|��k}yx@�ac��̭�@�\%<!��	�vS���ˤ�/���d����
S҃x���Twj���d+U1@�f_��OL��|��<�#�oq�j�E}~$��8q�.��`��d�
���?1�P����f��o(u��6�:�M/M�Ϗ�۝i�Q ��e�{:��v�=JiJ�&���eϧՠ�]�=�-��Ʀ._@�Q�㾊�рz�%S*��d]1!�۠�%�}��$o��C�/[h�X��`���w���ଓz�ޠɛ�6�b͌5C#n��,���0<�YR�A6E����
�H߿�*ݼ��/�S��A��
ƏnV��`�q�3bL�c3�38��\�*��6��o�ph@��)z��bO*�L�/�z�h��d6��[t5K����/���
	k�����<q�ʼ
�~w������m��r�2�?3�|��f�u����J��QU��̔��Os��X�Kgj:6n�YA����V��Zl���n�%4�ǔ�[Ҍf��g���F�Hq8�!���)�u�+�u�=46+y���()�JKN�gc�R c{�������"Q#�&�g2D���u�~��N{m���:۷�'�m��:�f*H$�C��=�K��~�W�::w���ʷ_U�ٯZ���7��7lm��2�r�Y�U��	�z�������ֈO����Yq�Zوάv���} ���s�>1��}�83�Nٯ��{�W�������eC�{CH�=����YlZ�������~�+�pZ6��l�Q���i_ͻ(����Bz��uƖ��sp��`�@\(��tbѻ�L��[�*��W4�J�KSV��NA��Y�2��L���4�D���Ρ��R�)��#�P�\ s��ɩ�U�g�B0[�Ϯ�<L	�xx�~:��7�8���KWg����BHq^��-K~�z����J?��=ч2}���7҉���y�����8����_P��ݶ���"a�g�����CST�0)�p
~A�l����2^�;���Y^/�w}�s ��g�f�k ��~��T�0�]4�{#��E����D\L^�
��y�|��]��4��G��G��>;�#��r@�L��� }�>�������C��Gq�qwg�AaK$ͯ&Y����9Ik|׮���G�z�l��Ob��#k{�Pu}�q����~0t��<`��ߊ���K~�3)�d�%n�Y"��Q��z쌋?�En�Gd!9!�i�P2?�����7F�2��i���v����?qV�����q���y�/��d���� ���tz�8g,���:m6�4���U��z�_�a��1��KaNM[�^���F�%̣t���8"��J��>�f�ok�>9��;�W���7�qh��?J�`	�dn7�B>a�3%9K��N�
�$�u�`d{�.1���ό��<�
C�����jc�F�O\ؖ�h���ϼk�C�я��QU����?��m6�\�/�$V�`�	��첝Y����&���j`�iY��f�RK|L�g�?�M�7�������],Ǜ9]�W=vq���h
��`:7�G��9�Gh�@�5��vT��Iߠ_�y׬��OZ��F���O}��/Mu��?�&�g~�N[>�?��T.�J� �h*�l�Q2zpC������L���G_}�	�R�Nz���e�$��\7ˡj,՘X7W1����J&uĀ+�[AV�Y���D'C�O��E7��z��z�{��{��k��\�R�,�e�S��Uڞ�̜�T��#1�C�&E���9>���n���nǟ��>���k:�=���
�)s��E���l���e�J�wLe�h����aK��{�SO�[�]�e�bU}�6),��M&��M����AV�ɠ�̔�j�;Kd*M��z�|J6-{��̺e>k��������{��;�|[�Z���'�Y�QFoY
�<ˋR��zҢ�kG�9��J��b�=�d]rl�J�'�(hZK>L��C�A���ўo �퉟���뉟ߞ��z�矛��7TWze��Y�Na�I�0�pR$��Lz�%��?�r��7�����a�+ˍՋ�VB����W8�X笟M�^S߾M}M}{M}�6��5�����)�O,A�K���<Z�)��Y���V�Ŝ�6�Tݯ����V�	R�ڋ��h.��s�*!jVU�[�N_X�g	|
��W?�d�ۼg~��~����%��۝:�w�s.N|�>��9���;����F��k��%�s���)�xd�q��[�F���o�[�����O
a���v������vn�y5p��n�W�⟈�btS,��`*T�ܪ|�����;8��3�t�{{�{��~�����7�*��?0�u��?��Xa�[����?қ��2̿��l�p���u6;�is)��Av�Tg����"��K�旫h�_��'���m
�k
�������?���k�0e?j��d?��T�Z0<�7�,?�� ^I��͗�\-C��x��d�d�ERdU���!w`�U��cs�8.�D�ſ�e�%��|.'Zך���� ��J� x<ꦗ����|tw&ڼ�<̗`6��z��{j��yN�\�{O���f�X���2������C�*#��g��ȋE��p�!hϱ��㊗�Z�=� _������R�җr-�$���[ک�[��<�]�zVP3�DlD[ �`��>���
��(U�rU�����@����M��=�Ep���r�㛮G�x6�����C�c�غ83Ys�����gz�.a3��J��)�N�{��H��S{f�\��L~�'?�8��ޙIs��~ L��N�0@����ި�\oM5��P�21O���9#?�>��)�/���K�_>��؟�M���Һ��u�ǝp�f�wt5\
�Y�"UIr[*���0w��������V�n�8O�`��0�s����O�|�|��O���rP��-��,i�q�?�ӧ�iswe��M��2w1�rJ��t
���=#j&B7�Hzi��=������z�}�����J�4a�]�J�i���G&��B�f�^e��Y�00F˴�	}i�StP��X2�$1���<:�os�/�{�!���1�qV�A���#�}H{���~��
��'�C��&I�t̰�+v��\���(��p�,��.�˲C�~J`�˅xM;��+�KT��8�Z��!�����YA�߿[V�=G}�L'�t�e�ĀT�4�r�	�%����J>�	S�Ӧ-OONnX�D�^Y¾��f:��g���z[���'�O�5�5p����-j��{�K[��U�<2Dw�T_���H�-%jZT���:'��T�X���e�IbM��-�ȪB��s�֝G����+Y,�����:8^�-��6�H��%�dq���Ƴ07'��󴤩[���FkQ��e��t-��͠)[T�|���"�Wӵ�f�~�W���ʹ)�W���ɹąA	����F#
a	�HY��4����8;�F�;��-�t�w;5��fz�NZ�v�Zx��-�l��ϵS�޷l�����nH�|�\G6�
���<>(����ϑ�DH�	�"e7r�I�_g
��ڝgj�����S%܂rD@FRL}��K.U�\�T�u��k՗���,�W.۟Z����⢹f�?��YG�T�e��*�$b�y�9Ú�Ψ�I���GE����F�<vSӳX���e���W�;3�_��2��?�J���k�_����C:���`�
�Ц�sj��hҡ��K[�([��T]�݃,}���<������A�<�I�E�;Q�.MiJ����n��3�X!
�'��Y��*ikK#A��H	���h�S��&^<���7E;�ǐ����
���4��ۯ�!��y�"�~ɥ��[��+���=K9�y��p�.u7�n攥wB��apb����t��߼X�w�R�d�? ˡ�\�+Ҩ�0o���t٠�!���iV�S7����u/��帙�46I-q��%��!R�\�_��"k�_���y���t�S͔!M�+�5�_o�ۿR���y�L�0��ȏ�!<7�̣dwe��Qc���k~:��/I��8e@6�^��T܉�����uKDND��D��+U��Mk\��^�6!�:���d�δ\v����[7�m�^�
-�(��$;-`��\M]�I�RWє�8�Bq^�Ǡ5&V�+{wLY�:	\�z���&�9��-�MU#h\֏[��~�[�2Dn��eQ�4����-��O�E�irs�r�?�c'˷Jo"f�il�
��`܅�c�L9��p-6����6�C�+y����IxӪb�"r���'�<����Wא	~���:ƯG�ӁLټ�}�
~tಣ������*h�r������vJ�?i���wr;�;Ӯ��n�AF�&�l�s��_�Ɲ՚��<A��d��V�3{��MN����KPoAy�塝:��~�J��D�R�i_�|�/�����]�m���!{Ҧ}�/���`��!�xH�hv�J
��A#�M'!��'7��}g��q��s��h`Zv�����-�c'�
4�.���=v�=d���0Y�e�ǽ*ݨo���h��4�RI~��t4��"zp���a|3��fj��t<a|7�n��?lR�vS��2d��!sb=��Ni��KV��̈́~vE<�yť!!f3w�m�U�/���)�0Pٮ�lN��6/��(`�Zb3��Y֋h=�6���<��nYK�!�Lk{:/��w��>�ğ��G�`�b�o��؟������r�qw������q�?��Ц��I�uI��#�j<k�U�Xe�(߄�M��ѳ�KdE�`��?f`ճ�d��$5�E�ܥ����ld�a>	��҂��O�=|�kWl
"5�7M��q{v?+Ʌ�?�w���t{���h0h���6q%4<#
�C�V����;�"2l���n�B7}=Y�otK�3��xϏ'��?QQ3η�?eJ�Loh뿌�#�>
�00H�߄�:���$/���Y�M%��nl���T�$&������$�������õzg��\�����eM�W�W:��Rcu��lQ0���i���%�"��6lp`��!��?��x�cL��r�ecMH�C�A�8��X���_X�4�}2e݅�m�{3>#�>F�<�'U���?t`�a&�
�}oy����`��"W]5�89�h��f�[Y��ٺ�+�'���x-�U����b�j�~�9�w�֥m�iat���n�ɲ�k�}d�uT��A ��N�=SC��Cf����X���e��x
�Ѭ��Ӥ�(�g��E�2.����z;C�}�{3`����g�����6����+RG�Th�Ͻw�<�����z\h(�퉸o�%L^7E�[�K�T��Ė��B��s>h�����{뾗�ٳJ�� _��(�1���pFRj5WSJ*�o����o�kZ�?��OL}�eĴ0��_��S����ŕ�e�����N�瑇�;c��n+��F13�g_\'���NBٌ����\���!�'_�6��yW�*a~��U��H%����U��L��;,8�lp�S�%���T�A��J��~�z/�&5��S��$Fz��]�0�t=��\�yt�9��&��R��E'�҉�j�ߜ�R�Nұʝu'-���,/�����(}ۺTG7��љ�<n�Y��_#��Y��H�j#��ˍ?C�4i����帏`�'������m">�pߘC�Λ�v�h!f�5"���x�B��ak���(�K�U��?\�l�8~��c��t�7���c�w#O�{�A|�B�%�$
�`���?��y�k��<E3�����?�b��g�}%9d�`b��ƌ'I˯�b�lv�R�����
��?��0i�&�,*1�P�
�H�=�wu��$�W�'�31��?�/�ר��-�u����9hnw\�M��\Dw��
�&�1K@�[�[O�чhs}��
.���9_,�,����7���w�l��a^ؽ\�6M_��w	���(��~���F�|�1dܯ��v��vk�n� n�ڂ}%r�Z�$�v9N���nh�����>HX��ur�a�6!�ZuH>���H�ˁ��C׶�%�j�¯Q�Ȃ	Pt���S�$��ALD(&�"1���EgO��kWBb΄�c��
�5�Y�����S�_|�a�7!���L�@�
��%�^�KAؾ�U����͒~��+�Ȃ�7�1����+�9����]�H��K�#�o��iM���0~��F,�{7�����^4��ϊc4󟸥�C����o�?+��a~k�_��^�[~3@3�	~��(4�P\pv���3�����E{���7m��>%�":?*��c��}l�x��.އq��E��[�sT����y��Ň:����g�h�jC���$dn����[�r������uk^���U�����Y��N}4=~�q��Ǐ�8~�j��������:�z�^��6�#ʼLjb��cU��JG]Gw�x�㥑�[�����\c�/��Ls������6k���x"�y�>AyS�q���Wo��z����R>͗M+��S��X��������Ѩ�)���_�/����5o;�m>F�0F�����A	�#��w�9���1W]�����_=�����._ߍ���C�q��v<��>��=v��=�N�߫��Z����p��u���u�L�	뜩��F�R5_����_RGG�0�hh���:-,�3W��ԃ���z~���f���_��bA{�g^���X:L���V��M�&
;�5�o�������Œ��!������p�6�W(ãGХ�x���[���L%ፆZ(��F��$�hc���I��4h�N2��!�8���fK�>�=�I�*&p8��n�~}k@���F
�����\��~��ΆkfJ�g�D����h~�6�5�Z��c�D���Y�?���7�-6=������ķn�����g�=��
��5����b�3�^ߓ�=i�~s�ϐ��N��L`v�,��c�j��37x�
��tW��y�|J�,��ǿ3��o�3�O��;K���L�d�q��b	��7��tQ��:,�UO_��W��|?)<�M-�����(P�GǡMqȪl�:��W���aC��V�J!�=�A��,f�i^�C�;����ɧ�aD��—�����ӥ%�䳇�6�d�*��,���)�H:�y]y��%����zw�����$(��$�o1>�%s�S.k
!�����jhS�v^"#�#*��[>�I�h��C�����>S��P֎�b�Q��_,��	�.��T��$k�JN��k=�-�<��򉽮@��13وr���3�]�Èj*v&�Y].j�zJ$j`�O��{��r�A��xF�"�����vV�n*�O�<_��p�u��I&/%nl��
���� K��:��u�U���:}��W�]��?���FY�Mَ�>��3���?{����Մ���-���#�7��,��6Y���w�gP½���
����A�=S"O�<��`�K�O�'����#d^�gH����D_�W����R�)��k�rS��+�_�}���%��#i,��Voz��oYOU�v�
���IT�7d��z�͒k��Vưϋ�oO�����/�һ�7�M���e:�(�1K�g@]���.�1��Z�z���_�$eev���#�%�,J
�`�5��C
�l7=�kϻv������a�z�����������(@���>�<��~�t�)��q?lwo��z���g
�X&%�٩�+�C{��8���X�}^�K+w����~���z�{�4���e�n����G��u�K��
�|����]�ޣ�[��M�[��檀&�*�y"�o����UaH*^ؿ�>��f�c�z�G'r�'s��<ƒaAt_��%y�H����m#�ӅIЇ|U��{~s�Q>���GtIOK����P"=�C��N���&=5FI�u�>��A4H��vNb�c��~zepKީ(�7ѩ@�\!XI/����T�h���/X�H��o\��R�=-:|N�Ng^/�~��f�|h^���� ��Z�9�W���s���7]��R�pqE��޻�烼�ZB;X��p�Dk�z�s�&r�y��?�}��=��^�M~�M��:�LU�p���Bu���=���x�DNGr�>��u^�b,�n_�F���J�<N=j�>=ޣ���p�W_���=��E�]t�[6�i|�!J�F}�*���N>��x��b-��N=^��/�dq�Ѓ�B�����t�U����6�x�x������Z�z�����?Kr'Ό��Q%���g�0D��5�c�w�=�A\�嫯ߧ$0�VR������?��l��|�J�o�~=���zޣ���Wg��z��E[و�z��f�$-��*q�a&"����e��k[ل�p�z�$��ͼ���V�BhX_��DZ�m�q�a��8���q1���~���"8�E͘X��=��!ߞ�3̷�]�z�q��_�qFzJ���B���5�/���n�{��o�Lxa%&@lC���z���Xb���1�/#�3:t���0����|:��A[h@���}d�q��_��m"m}F�O�
�1�7�h��z}ǔ�8񞟙�<Ay�)A�5��8��㦋��eo}F��������X�~m�Y�껮~��<�nY3�w�q���k��՛޳�E��%��s�*irI@I�e�u��H�Ӽ�cm"m}��qY�_����E=�I/f��&��7�����5D���?��V��a\������ǓY�d�Iz�J�4�>�{�(�u��k���5�������_��Wn�̈́�3��ޣ�o��{U�1���]�k�|��r�y�����1ƪ�z2\��Ѱ�͋�Qc:�Q���%���������y,�^A�n/�#�:��Gl��p}i���H��(-Po��t�7?��۱ym��)�łZX�_�$94��=s��_w�q�u�t���D�"�#>�N�/���("h���x̗z�{��!��k�s|����ߌ�
c�������u���6�W7
~����$�~
����=_��
i\/
����$��&���%x����[Z}ރ��癝I>(����+��mI��y�p���=��`k���aga��F8�9���������=Ĺ�C��1���=�˗�՛�S��/~�ž~�^�
h�x�q��8��36{
��ĵˣ�P~�*�2��UU����NqH�h��i�o�G���p�{=P���؀����
��~[	�I���	2�b�K�X�x-�;R��92�.����`�����t�4`9,·}_���$F�Sq�����W�υ�p�����z�!���"��д(xq��W�%��ᱲ/�"+���	�Y��J�29��z�j�l�0`V{׬�A&((J2k�}j�ΡE�BoUsڸF~�g�
z�6�),I*8w&�@�y�;�h�Y��8,S��1�kw)�M1�Y&��U���ݲ��3��cݖ0��T�o��$ܟ��umK
6Y�&eA��)���Xb?{���
��+Ek@���
�j�%g�H`�4^x���ME�i��	
j��z6��<8 �ޠ�eg�h*���A�̰�vV
܉�A���.(��ge=��&li��M�?#X ���k��Ŷ�*ѶY���=I.�ZB��6�����7����[�~�����D,��iβ���Ξ5��4];�V�`�A�꓾��ىHı,�
�?��`g�~4��ō�x��[8��E'��*��|�b�Va�[l]0�#.���`�1�V�d�����*
�C.��E�8�%S����Ѷ�l��<㊪��t�Q2��;m���S��R����oRv���\�oPu����(�ӴK�U_��Nk�<���
9p����;������
lyl��u�0�r�����v����Nq���()�{
7Pͼ�M�?�u�ޞ�K̀���=}c���)�m����';7��$KXQe��=���˸��r��k+�CW�+�;���̥��jCB6�ã�f��Β��0�ח���j� %�mGܬ5��q�C��Ol:{c���S��1B�ɞR���}�ʚ6����u���d����?�vNV�Zt�L��ώ�ᢷpC�y[|A�"���R��̮c4�v���s��g�|�p��X6g�OG4]2��&�c�"t2�g~�j��G��9�fq�\�ʐ
kV���"hY�3�̍NҨj���6��L���N�r��õ�dǯ[�q\
�����ͫ%����ˬD�+���/؇�O�nN^�dcV휥���dŁF��o&A~�������G�C���?���7
�X%���X�V� 	��d�_Cx�!,�p�l���ʺd�Ί�T]\΍ᑬ�]�h�F��6nۺ��o�w��n�P���f�w�-�'dO��w�[=0��v����%X��6�����	sR�E����^���1V�̋v�1�"d�Z�ۧ�UQ2���b��R�"J߼~�
�5n�雹�vYbx"�4��>4�6+����[�zH��{�X�`2ᓷ[
KF�erd�R��]lC�bA%������"֤�'�d!pGc��y-��&���g-���ԫ.f��J��Gɔ��Y�H���>����ه|�����t;Z	ޏ��1�	im)�`Mȼ�sr�ʬ�O�&��s�3f^��Y< ��?\(\�AC����mS����9T�lAs�Q�"�,��-���P�;e�Mc5 J��;e|e��V��M����Y[~��C�>u�7|�k���DŽ���s�c�|c|9�/q?6̹����p��-,��[�*��|džs/t�F���_彄��
B�wO���t�A�����J��2H-��A�B+�fr9�B��>F��k��@���{����Mݤ��IS}��KPR7ktw6�8����x�
q�Q�7��n�R�,l~=x��q)*��m�C\�ꓡ�O�<���e��R>����Jь�.�$�N��X��Üb�t�<+x.⋴usf���<,/��7�e���#H]zbnf�����5�qk*�B�g޶��^3�F���$lF3+��`��E�q�	�Q��	�3�}�-��%&3	qx�,&�������=_;sS;v�>>I:aR���'gN�,Q�i%`���o��H����
DU�N�`��%S5�n�=l]��!�d�J��{�;x��j�R�R^
Ym���m/���?䱶8��e�<F�NFX"`m���3�}�B.�
C5-*�c�U)M$D��B+�^����tG�8�Us�W�1�Ȃ�
�����V]��"R��,�g
�׬��U���$��׎�el����C�B1�J��l&���{]sB7�0��?��_��?:!o�gτd�6=�m���ţ	W�Go�ə�Z%���E_?�2��៘㚧���.��E�_���FM!�x��_H.��Ef�_�@�V���fO8�
n>�+�؛x���oCwe"��h�(c�a\SJ���\�J�XYR�O:�
�o´^���Ej��M�-�F�]���"iU~S�(�{��^ң�����rAZLU�3B''��eqG:&�ܶ���w8���c�v��֥��Y�ǂYA ��9ȣ&��p�a�-
_�fk��&�v�r�x�_�K��:�,8?���`=!]��'5�"����*@�Ȍ�w�J����`�Q�gN0�II�g���Ls4ȟ���2�	6$�盾vZUC�Y7t�lS��CH�o��jI��Є���Y��
�`�t�ECy�w��P!�k�I@M�0��7����s?�ǜ��/Խ��!I*ʆ�L����8��u��&Sqs��U��lZ��Ӯ��R[L��^5�"�&�B�>�������nf�r���Vږ���NF��8���j���Y@�E�CY�	���Y���e7�Q��E�+K+Sa"5)!7q��x������9W@�:����ĕ!d#�(FI)Y��}ӧ���ٷ�ܿ
�e�,��W6��0����S{FYIhD�ṷ�r�@n��X��*�$|Z�
�w��P-�:M���[��9��^����㣋��g��EP�q��G���D��C�%�5�n��⭓�p�<9�c���%!G���Sa3���G�w�у�}�/L7:n�΋ڸ��9��5Jn��ӡ��(Ӥ���Z�+
*�y�m��m�D�H�k��%�W�v��&�J��Wn�˟I^��PP���OhG}F�b���
9��G�|mZ����7O�f��T�-N�"�=R�y��4�b�y|�ؿ�B�/���C������4.�ұ���Om[fE�	�:I�x0�/�.¨z�O�J妽�+ϓʬ�&��ҥY���R�ՄP~%��N^K-�)�n�5}��3ɖ���P�O@!{�-�)z�-=�B�W%�F�1޺��Yb�x�f����|�c��8��6nN�!�W�tکH阅q�Bn�8\���|�\��`�e�K�S��fO����]y⧣떏@�	W�l�	�}l
�������<Q�D3�!r���$1
�}��-B�+�k�T��U(�h�[Fc��E�}a���u�X
4�V�F��Yt�� �򵬸0��Z��ڴ�����n9�24{P�����)�i!������������qȧ�~-���J��_�����s�n��h�2����qu8�-�K�f�m�|��W���g�[�����h�\b|�����#����̃,�Q*	��;�x��UH6-hB��Š��2�g��.�������r!��ܯ֦���������V���EE=u����t�"ڻ����{��M�:RWF�S�йzh�F�-�ñ/֤�C?�r�:��だ�Y%�5�CM�HVҳ�� !�5�p�
�X�=PƧo���ɢC���<TOx�%�5y�RoQ���E�t��{��́P�s��4�ʄX��
I���Yn�EI�ɀ��_��\.h�y��җ�X(Xi1�p<��sVM4�Ӥ,].�H	�O�9QI�M^G�����I�=��?T�W@�3j��q�����˕V����6$��0��.1@�|f�`�T��B����~*�*K�$P]�Y�k��g���*}�`�<id);��yG�,�M��J���=G;����27�ِ �z}���F�e�:l�I��Eś>OH�Jж�I�[�Y��"�X/N�6�-�!u
c}�I��k�B�a����)*b�z���,��a{�z���6'[u)��3�
�Ժ�W��<��S��MT<$Lև�I� �+W}�,��X��	0Qݼ���Z���E��ȞmB�ڽ�R�EB��JQ�=��CP9�~�%��Q�5l��
)qI��$iz��n�p��O�Xl�w�&����s���~3��],qc=b�}��|v����ā���[�ͳ��Qٚ;һ��`{�������*�{�-�V�L�\Q؝��q���]b���T�˖�y�s�����a�t+����	���]����	�������"HC� $��Ɖ��jk��.
�p��X�‰^�3h�OVBW�R�����v$C��jhA�[x��*�vJ{iѪD���&Ak��U�Z&�'п���}8�Pzڜ�y	j}��^<t�y�MM��|ȥ�:�\JG���^����Y���f��${a��:������g*��	�\�q�f�@�L���!
�X��B���K�6pA�c���_)����=C�}Z��sE�;���
�n�<� �s�lќe)�n�4RwQ��ך�,�lٞu�C�Gι�^a|�@��ex���i5'|k�^W�c���=c��~���`�/�W4����-�D�"T�O��+��C��ձ���x#;q���D��$�j�#2��P�$i�+*��k�s�@��>yR�����E��C�'!�‘����Y��e�Q��~Mb����fC�޸�x���yrc�r髈��(.C.�{��~�Խz�����uaZ�n�:��%V���]��Z�J��bb
l^��x�f���̭�Ň��,ƅ܍)��$7Uc��O�0�+�?��J�<I�2����rk�/M^,��dO
�h�̦����FL@��91��Hc)��T��¥Mًi�#�	��֝�/��XMn�R��
!�0�B�?,T�w��x�PpH���
�f���p}�EEL�Yk\��Y_.��\R�A.����x<��pPFR�[��Z�i�l3b��E���ϓi����,A&�C���Y�=��!Y���Bϯ�tW���f�|�_��i�g�&p�<K�[�������>N�'%|P�U����C!hU�~�G�qk��4�U��}����>�Z�Y�D�[��K����/[^��^g�y}EE���ԟ3zM#�+�`���
&�߸�&�
Ўu��bN���B;�<�[�ʮc�&�Asn�>��@�D/KU���B@P���u&�R�pk���E G�6���-*��s���*8�7-"�`Jf�I�m9��d�/��ݚt[����ii���i��̏��.-�t��y̹,l;I�@_�O�띉�x���6=BW�+�նM
'.�I�A��K���Cq�3�9�k�W�<]Y���u(W�q����;w&΅��tB�F�{�I��Imz ��`YqN�,�}�$�7��z&+E���'�f��;��LN_��@��mB���qÜh"Q��W�����4�=O�q��C9`'|(=]/��0\�)ES2�dayu��a�wӑ��0�ף}z ���V���
�I˙�d�Ϝ��9ۙC���69\Q �;<\A�5����VD
U�P	td6A�w��e(�� m�A2��Q�4����ѡEQ�i�"���H�R�����%^�nGP�B��dR	�ѓ�I�RYR�x�4�Y�
+�gI�9�Ps�S4�ݣ6��ӧ7�M��Cq5M���ے���~�u{���n1�	�n=g�����o�|�(+1����`A7S�$�i]���1�#Ӓ4z��մm��'n��3X_��k/ZKC�zh�]�Z���tgL���(Q�lσ��n�(��(�LWM�L}��-�=W'�����*|Y�f�蚹rH#�{����u�W_�=��		��͖�ze�d�Wבy���H�)=.�h=����&���a+�fѪJ�ň�J-*�σw��Mܻ�J�
Ɗ���k"h���&�&�������m<o�-
_7-�$�e1�Ή�N~bM�¥�Ġ�k���0�v�gU�e@�2(��k�
�(�PP�ܠ��':��ȶ���\�0�;{h�*H�*%�ɨu��78��0"�K���>#�K݋g��O��X��p՜�6kI9��L�,�V�G���.�I�ܯs���M�u�l��C�lPh!x���˜ɨ?_�i��'�Z�Q$��E��G��h��'(f��}<}d���C���!-`I���M���w�bwC�@�:*�𰣅>+2������V�a����E0?�1�6_I)D��&�%����W�
�ĭ���4�����r�Ioݰ��2�y�}�{��Y��?��\�U��%�t���!]Wv
pkG�Y���y,�˴"����T���yh��U*�hR��|��zf�0/LϴR��y<��r�#ڇ�qk�����f���R�1vͲ�D1Q�إ�x�yeް�ڃ�����)ʿ@��A��ӏ>9]a�%��N�"�v�*��A�Ex�{�(R_�#F�P%*�,�=$�*mJ�������?�5"��&�t�戣��v��zz��l�YN;�P��W1���^��2^{���{�l{s���JZ����aedc�w��:�UY��|���+5o��Bd8�eK.cX��2��ؑ��� �`B�J)�r��XېŘq�V)Ȋ��(�J�"M��& 
5_��E	n�c��]�!s����
LjV��(�&�8mַX-�>��
=�^^��C:9�H&�9]�
�^��N�ͣ=���55���f��>w�+Fk���S��b��ؒ������J�����X=pM���U������o,S6�t���i��t��.�����Jw�㊞p{>��y��b�Od����^
��.Vc2L�U��*�����	��*���A�U�hd���~�k��Iz�}�����,yS�$Bt�F�k�f����k����R�e�%���r��b���*�b7hq^���+*��|�Ưm@�/j+K���8��fSe��>�y���*�r�'W��˙3ۚS�[k��r�<�R�e&��A��d�`��vSݿ�OU:����S}Y�z�ڬ�D�3K%���[��fOQ9���*��;�کWjQQ��ʭ��l6ׯ�kfտ́��ڶ{�ڍX\����a��T�֩�bu�vmfμ����ԩx���E��uz˩�F���=��lq�k�Z���UN��ksr��G+��'�K-˯�v-t�,�
2�3k�^о�?T��'�ɱ���(]�cSə�}p����R�e���;����Ũ��ǎu��6���>hm���|[^�㿾nu��
x��9��(��7�~���g������5��t�I����ぉSIs�]���Tg�ޣgaQ��)+@�k{�\y*֫��W�"�4Y�L[p�B���� �0J=�o��$Xr��t���=2{)2��/Z~�|l�����>ⷢ��9nj��㳗���͞^s6*8���v>����>"�3���SO�|�۶+[�ұ��^�͇j�����R�,��_���O���R[��;�W�C%��Ju�s�i*{�kec��X��������̓��vf��x�uy��i��`9�&�=z���Ǩn#�ƕ�k��
?xR$�h�y���=<k���#*k2h�6a�҅�-{�uzP�����zY�8E���k���>�ɂ���Ř����9��6-\�=D/b��3��B*�G̯d~���(6�A�H%�����ON@���$����W_��?���$
W�o��=l��p�ܪ�kg��4����YX\�8Z�f-;��@���"Q8
]�tG�Ml��n��R�p��WWi��n
��<t��<�;).��X4[Ox�|l&…ZWoLJz�_�|�6KT���#ȣ[�Ϡ'Ꙡ���p���~������8*�j��֌�$U�cŁOC;�Q_;�Tm|tX��>�eG�~k�u@���U�Z_u�T���^��J���
�ָ��TCc�nz��]�c�������_�Ȩ�݅�VI߄LUK��nc��o�Wj*<��UJR1�� ���*$l�TV|��""0�w��',{��MI5�z��I�ԊPx�
��N�C*��Q��c��z�
=�İw�����j����G�Z'?P8�._(�t'�
/�P��ϝ�S|j�,��!�͏|l�+�+�X"���U)w�W�c���aEi��� |�$*i���}M���؎��x�4X3���6�7HUʠ�ؙJ	C�_S)a�0�vA���I�h���M}%�
�z����pf
�QK��:U��5��k*%�ƝƮ"C�$��N;O7.6���{�L��Mo#(�#�8�Ǫ�pf!����z��b'��ELR�Zl\�ʫ��k��#~Ez�Y�I�s�
�9VOVj�pJ-`�'���s�UW>6��B��H]�kT�����j���k���f�����uA��ᰕz�<����V8Br��_�!v���:���xx=�F��=n�q*誝��A�Hts‹�L�]�Dt�uu.��"�&kK;�L[a��8��2�egr4����d~�Bb���6�O�m��IIK��
�*.�i?C0�'P7���ŒdQ���Ve}w�؆r-$��4]V3%�
�&�1
�HcX�0�(7�dh��k.��o�@��3�I��y���HI_6
'}��*�gZ���+�v/y��1qF�!�wC��Q��ah�1i��6jR�M#J���uwZ;��t�P��K�z��a9��~oc��p�w���cm&n=Yx鐜��*]�-���vﰲXlz
#�������rQ-�jW��kWs�r�IDe�����/�
XtC�����3(.�࣎Q��
��k2�(��df1%O]M�T���]��),+���(m�CW�vTߎ��n�.�I��#Cĵ�[S��_����tM���x�Ȁ��b�l������kjUX�(�.m�t\�4�B1��n���0��8X�1��L�Fq�g&}u���E���_�x��Ǎ��e������#�MPG_y�#�3�(�肨ae��a�s�tٸ���l�	�8�dn�Z��L'Y=�y���Үa�_c���>���[�t�G�ۈъ��@4�Isj+����j�}�o�D�Y�%��.�1Ȕ�E.�,<�Œ)�K����~�-��_��߼L��.y�{��MaC�R�£"AO~����.���k�&ijL%uYx��.u�g��ض�q%h�����2���XD�$s���$v��Q(�v�A��U��
�26��#\T��ԠV{��:�Ѧ��zEv�FRa���a���m�s�uQ�����yd�wjU<�!�;���ޫr�\W֓�C@�\~W�;H0�)[�%S{оR:���USuž_��X*�q0�QP�L�x��;�n�ڑ~l*��T�DIX�m�{S���Ԡ��XG}9����G.�ׇSN���>D�i/##�1*�5�k ON�����3g��Ӌǻ���[��� �H���%ub����@�*9���M9*�9‚��!A��W;��G�����+�hT��*�g��ۮ�Ӫ��yZ�mZ�6�e��t�V�ȜMS�׌Ȯi�?�vk�@0�k�ǔT�U�ɱ��'^�ߢ2��6R�*̐��jO�Y:4n�xU������>I���nko[zu[zK><09E�|0戈��#��:����H��t&e�O%B�ul�:���D�I=�^�Q��B�F���^��c��ʋf&����3L2-��k��tX�燈��ruT:�v*�,	�^��iϮ,U�ci��CV�^V$��$�Tv*���
<KRz��~X�C��6'�����m��ŷ㏞b���N�_3&��+�Q��e�U(� BS�1�R^!����v{���A�ޠ��@�S�?3�k���+`���2��cXL2(��}���Q�o}S0�\�5��F:�(S`5=����B�
�%]�^�G��C�K9q�*���M���
vjV�W�oh���7����T�4y��?�2a��z��W�{��y�
)&�B��i�*g�W\��:�Mu5����x�5��8g���{~�h�ޣh���
�0:�y1��6J���q��XN��[1'�G�09N�0:�4�k�c�[mԖ�7�O=�v�ڶ���B�=
�)mzƱ� h���Ǣ�ڨ-<��u��T�y,�;�B&{+��g���S���j���X�o͂>�e���N�Ƥ�&�fO?�����E��� a%�p8�O=n9��z���<�
E�=��I��Zs�$3��������>�.-��Mrk��w��r.��q���i�|,j+ŵtj�Ǵ�=fꙚ���jk��{,S�G\9��kgb�Ym��<�Iw��8Z�h��E����ǨTݟ��g�t-��~o\7�e(�ET.��-lq�נ���&���s��=�]���Ԏ��מtt��ߙn���8�e�YYX=b�>��ԫ�Fvy%�D�3������+=�1��!�a/�4��\,�����>��v��rQ�v�Q�(��IM��z��=3Z@S�౱�xo��_����I�M��<�C'gT���eo?|�Y��{u�#�e�c��ި���E�I���Q�`f�q�y�'���Z��h�׈g��X����:h�{G�^p�Hɓ��f����
=�`ʢ��C4�^�'.�h���kP�O�@8�:�)�H�^���3E���"�#�e�c�f٨�����Ӥ���J��V,�`G^�2��z�h=3�YDsD�l|,�,�V����#����yżpA�^r�����_���,z`IJ�>3cY6�9\������L*9�b^y.�6�^A酭R*�N�L�,zfIJ��e٘X�J�����3Y��,�(��T=��;T�̢gF0K�r~�l|��98���`����C�/�"Ѧ^�s�UM����zz�h$��^�$�Y�ke#ngbpL[0�Y�E��Ť,�-�)��q��ΐz�͎C���#�� x{}��b	
	�,�h"���('e͠�S;�]��RO����Qz`�W���B��<��G$�z��"/��4aIZ�&��N*]�(�S�,zD�yQL�
�,��_�p��}gkC]w����3XD�
s�i�/՝��kec`07>�D���=P��'�l%��-�(6�e�qLa!�{%�l�x�٧��!�F�Pr��{E��
����=~\��'nz�ʤ�B��oJ�c�����j#뙟I�z�n�.:)�J�I'�l'm�C*��K8I��L$�J*9����$=���F*���E%�Q{�#*�)�%(ɤ�RF�I#�|�J�5F���3��dz�l,���kQq+U=AQ'Q"�1	tu�T��W�7ǩ�z�ڽfx\�X4R��H�2�G��"M��ROJ�iM�a���/厉@6fN���Eb*ғ4�J,8�Qʒ2�G4��Q9u-b�G��74F�GrRe�6��PH�8RJ�2�g���;R��[R��I�<
eC]�N�Y���C�H���Ae�z�CYN�����t�Q�q閔�dRG%���Ca�|5'�]Ѻ��u�F���@�P���ee?���Y�L=�a�?tum�8��4n�����u��C-$r�^h`�]󨿺�&}��)f��=$1V��
Q��묐�3C!%�C!�1����'�ӈ��)S�;�]���Y�{ɜ�5/O����3C#%�C#����ލ�{�L*)���5TR�N:�}f���Q-�kmVI陡�͡��X$���k�wH�#���y�/��|.�_=D�*���C%����TR���Q{�#�*����q�u�J*�8*�Q%��I%�g����r�6>)61�⤔RϤ��#�������V�P'�~p��pn�J陡�͡�Z���R���>�7{���R�2ʝr=����@��f���J)QJ���M)�{m�}�&�vA]������/����%(B`���̥�Ii�V&��F����Wh�
)���E�T2�z*���}1Rz`(�Do(�6�[�����@\嗤��6��R)��PH�gRH陡�͡�ژX��J���͞$yT�)�Rh�ஐRϤ��3C!%�C!��ne�Vf��z&���xm�<?J!��7�PH�gRH陮�ɡ�Z��R���>���Ȓ�I!e���TH��RH鑮�š�ڸX�k�=CGE~�~���FJ=�F*����H���H�\��s<���k��3i��#��)��*URhw
И��&��*)�:���M'�{��|�Dr��4!�?�:��k��]k��b�*��Z��tR���>���kW�\j�	�N`ֽ�1�,��gL}�c����)*��ĜGv�	d�ѳ���y���3�u�S�tJ�D�ܚ�W�).�h*C�B�#
͍G�9e�^�T�՞��t�&��)	�g)lzz� ���qp�z�9YK#��~l*�/�m,
�����+�]j�K.5�5O,��#�\��i�ck�|�G^R�Cߑ<2��^��hđ�n�S���4Slz�^�����FP=c��.�3�j#��ڇ���{ �u��4��i
N��	���Ȣs�k��^;�.j����G����N5M�1Ŧ��Jb�G�u��ov`	�ջ�"��E`{�۠��RF]bߥ8��P,����ՕESxzL�I��1�a8�k��%_47>e�B�v)c�X��p�pMɼ\A�+r�����F���ذG�Hƞ�Cx:�]9�CA5���R���T?�{00�x�����vm��2BV@�OHn�����o��H��_�z'�/(�A=߷���>��c	M��(�A��T���+���tc�)F�Io{��q5Gy9�S\��KdTM�XF?���v�`�}��=��	�����a�zo띧��9�f��ﳤ���?+B]����l�0�X��Z\-;e�V��{��4�M�߳6���̆���z�h�+�K��r��9VGu ���i�V����m��L�Tn�Y�Yp�I<5�;��Z�\H��m�]�1� �����f3^Yk�.=�2��]�I�L`�.�a��/��X��5f:`���T,@���vO1С�����h��Cӭ�9E��֙8X��F
�-�}���5<+�vԀf��Ԁ?�+MMn_�s��y!���i�ڕ�,�y"�p��,@;��^�
�.�_��=S��]$w.�byB�N�*LW"�������v�Wp#���x#Ѐ��W(��ue�r����?�<?��r�(@��<*5.ypZ� ҘĨ4�ʝ���@(���Ƃ3bܼ�ܿ�lخ��]�gGV�笣���W�r
,����e�c�����0���#p
w��U�ޘ��W�ֿg��Z!bZ�fG�UmM���:��3c���<F����0���(���W^;��h����G�fOaG9��:�H�vf�Ľ�
#�	���	Z��;��m���ZFK$�^�#��
�UMh�qi��	t ����)WZ��M�zc��'��kb��F�W6+��zK�)���F��Ԍ�+��Uӻ�r���x�+��i�!1�?�i��6�pp8��!{��r���q�e�U�lQ�|��^�Nj�<�#��j��?�{,s�%��:)�G��N��>_n�AK}�L�V��V�$N�q�
G�]FǃCdeE��]5�챃��%��2�hZ����l�٩���A�~3�'�х�0_��l�i�vFQ����x�`��{+��k��39�1�Q��4e��*?��1N�T��InS��`O�G�H֯1��X�p�F��/�QeDqv�]�mS���g!��8"*e��,����jab]����6�7;(~��T�/�xԩ´�˚�L�&�)�εĮl��ژX�q̃�[M��͑����%���b�遖;k	QJX$";\x
��/Μ1~�A�J��z4�h?���]Uӳ��}�Νu��:�*~�ި��(.�v�D���6UT�_T��T�h:� V������u����� ��X��Xo��kQ�&����vf;ƩL��1ܥ�X�ؿ��������NJffjCE5F��c/\�iLn��d;L�2G�a'UN��/"�vz��4�6b�}�N�x}m����gt,C�e`�50T�L&'4�&xt�/=P� �S��6ĕ���0�4PC��?��^:Ň�����ھ��|WAyB��5\
Cǭ�]34P^�m�38�s]�T�ܖ��6�(nd?frK��N#\�@��Ņ��M5Q�$N#��QJ��lf���D3����G�0����).�l*���k.w��!E*�d��SjKk:Y���R=���}�����)/����M35{�~K5$�R��6e����>D���-�1o=��IbX�곱�i���+b�ѓ�Ėp��n(Ki���1gj8��T4��#�t�?9Q(z-'��Z���M7�%K��{�+�%<@���H}�[B�#��X��3TBK�����>I����Ŧ������ᾩ�ʐ�9�ٔ������I-��E��!ม1m*�f.6��B�=SRIf��燴=	���Z�Z15)evMϬ�D=]��{�e����`�*���m��n�o���ڌT]=�gГ�tI�-A<�o��������9z�����e&_4i�����R$���SntH;����Q���{jó���Oa=���a�@>���V?�n?�Ԥ��a��~S����.Qy
�)��L8��C�~�ݰѐ^}�<,��FM�iD鿊~C%$x�H�X(f��ǫzd	�z&�p�Q�nJ*XS�7^X̓��h�:)ͤNB�z��ԏ��Ԯ"��DOX��(���'��B'&ZNu{�C�T���I� Z(�g�-4�-k
5=|��^Tq[��~�V�-)�Z��CO(��ѕe^j$��8��ގ@�<����6ߝԖWY�)!A�i$�H�i/d�CB�L Cy�
'����:
�3�0m�lQa��褌�����"�X�p��=/�Q���y���
���ł�G��1���*�A\�1�6�128
G�"K7��(v%Ya:���5(�*�z���\�K�g�-߉��ź�Vb�}����졚!q�R�D�U`ۋ�@3{����?�~���I��6�WO�y���P��$��L?���_2��X~�`9��.�����-����M�TVmSt��v���2=c��i����z����cY�C&zI�*�T~�:�(``��Ẏ��;f�E|��=�ب�AM��g�xw�T��c�i0h�Z�<��G<���\`�Ds�cE4!�9o���LQ I������1J
�x,WOw��fNɍ�EG�G� ֕Tn&��6�2�v��ɢ:3���E��;�����g~�Ϲz9u|�}���Y��\��}�
��NSor���Ӯ�:��N�"�e����D�y���6�ō�;���.��D"��0oC<��r�ҙ)J4�������SG�!�V����G�|��D��(��n}"���9]���eBUOa�����"�0�_;�_�����Гo���!�
�!���\��Q�!G��^�l|i���
�/��_����:Ү�A�h��*��ۨCYK�ҡ��O|�^���b�#�H�����Qp�<�i8�ĿE���w��2���(E�P��$�0�k�b��1�ݖ���W���'"��5�ʰ
1;N"{���g��^�&���=�v�?Q+�mi�;ho�q*I��v�e�Q�?����Hx�8�N��a�ll�?I)�@��3ٺ�%3�rL&�r��g��C�.y���)�=sgb����>�P{��(T,�h�nU+�҅N�)��RR졘;�#l���z���Y��������!vcri��2��Sh
r̢��v�N\��_���5\�8N�!v`���"�m�I�ȽI*r�)&��x���A+u��b����<~��C���쵽g�`��]�{Hf�^�S�F���z7(���
�_]��b0�#=���1�7�� �=��@�_�~���Z:������L=�R_!i}{�l|�����s��O�s��xzSs8P�L=�0;�����>`���{C����/��/bH�k�Ϛ�'��f�]��|��zϗ[����“��j����k�n�O�`�e��#��}ꞥntH�_�
zH�/�#�gga��Wz�z����ʞT+�fs
%4��J��#�M�a�a��y�N�d��3}�����=f�ȼ���J[��ݷ4��C�:O�
���ps-
q����d��H2?7�v��6�P����)�]�[�h�o��U��d��F����ޝdL.��)��*�����4z�J��&�	�������\�P{�#� �dO2'=CzΧݻ�
}����aɝ�ͽt!&��4���t`w���!k��.{Y�kw�Ť�G.��z`3A��;�{�B��(�w.4[~$�'�P9#kI�f������"������񞋇�B���ԨHuՕ^t��TL�G�?���pw�Gn��?��M���N�x��#�n�+����)lg����
�
��zd�u<3����ts3Ք�B#������^�#��f�cjn�1����x�&��%�{�77S��A�K1!S��"�<��{F���i��T���#���gh#$Ʌ��M]���7i��#�%mFJ�h�-�u��P�O��@����nަe{�]���k 7����������������m�ܸ���N��<
�P�*�S K}�2�\��EL��]=���<Kà�sq�4�<[��4�8TG�PsZ�a�蓧������� ������"&WS�h�[o�u�ӽi��Y�_�Q�6��=%>���(Z�z�'��
�Y�kI��FTh��w�hY�L�\���0�����dQ�i��9i�%�3��2;\4-������a�́���R����{�\��)Z�:���;�<=�_13�!~dI@�O��F�"-����ߤ�2�i�,��fJ�rs�@���ugm����=%'�_��A?��ڐh��<(H��:�����4�<f�����ac����L��xӼ�4`�����LFt-f'��}���;zJ��P0+r��s�s~�㨟z�w����K��ךz��}���{�x�\	�j����I;[�L??7z:OP�~�O5�����6���=���&:Y��~��z*r�����]P���m��G��WF��r���rL�
S�C���iU�\���ũ�O=�S��{�F�K�S�3{�j ��K_s����-|�`R	*����e�$�i<�L�~^�$P����ͣg|�B�z�+�vH�O=�!���mk�Y���1��k��c<s�Vx���R� �1G�t�f��+���8/z���2'ŭg:��n�m�Z��8�X��ʮ�z.���j��x����y\mO��y<��1�y|Q�y|5u��qO=8�k��z�����y\�	s��jb\�1g�:������3Vf���~�Ʊ�`v�{�t�9��5�*F��:z��O�{��j°��q�,B6χ������>v�W�����އ�w�ɸ�=&h���5$'��cO��5z��=\ȃ����� �nLR�&۬a"�Y-�t�^=<C[�h�:�Hw�66Qw(����t�ѫ���3f�ڠV��\ߢ����k���T?�L��E�/�k��8F��S��ii:��|H�#����!F�XD�(4W�{Ʊ����=ӬE�x��L�;;�#jF�+�u.�v|m1w�p'���sv��=�SAz.�1�Ǟi�:KuU"²��h)*���Gg�
gƜ„��Jt�V��.�5d%8?�G��Ն�`����{�-&d�&��O=�SqNz4��C�,5�-�οP�m~A+4��S3`�C�fhp�9�yqv�}�{����hL�x-|3]����o}�/8���n��퐷�ޠB}��h`���te�su	��a:�AҪI�1���B��X���{��J�{�)1����9?��l,�~��b�6���*-0�a��`xT)p�v��,4g$bM*mߝ1ԣY�W��X�?�<h)��8P
~f�`n�:��W�m�<h�gZ'
ƅ=�q
6ḃF���:Ux���tE��Y�_Dπ�~����z�(�JL�yIHc�!1��4��lS`�./m�i��4�M�l����ᨎ�b���{�1�UL�1�!��x��*�l�`M�W���3
<z�c��E��=��u�u-��QNK�G�F���el�\3՟����ΉI	�i�-��BGυ��|��h�z��sq�G��3fd<u�Ш4�5L:��j?���z��o�ٿ������f�;�gf*�k�����s�޺��cυn�U!͟z���y[O�g>`2��9�~uF<9��z���2�2�D�H����}����n�
5q�����c4Ӫ��3[��Fw�R�=�U15����j톏=�D�$sOeZ�r����e����Paf@�%��	=&d��sr@Zv(UT�Ǻ�F�b�H�^����4��
]AP��R<^���ѭ`\�:��>ӭP����E)]t+���zOi�����Ǟkk��������{���0[){ơ3���\����=�g��R}��{���fZ�h��l�8�`��隟�O�L�p-��sMCM�bp�v}-���s-m��>���@��}cQ�-�v0A_2��˼����L�p;�/AZT�=U�xk�Q|�>~;�;��3������ �]w�[��y��k
���=��k�궜�ȱ���&����MU��:4[e٦��l�X3�F��L�J@�3s�Ǚ�{�8/�X>�L������y��	��z���8Q�3�z������83{�~f�v?3{�uBb�?�Lg����m�W�wO��/��~Z��Ta�E9~uP��}y��qB�4�'�C�XL�V>���`<u������/Ӌ�[�85���ct&�������5Oͫ�O����eun�1�|�1j�s�#
��#5���޼Qϵ�A���s�)�ߚ��
I�:&��w	>R�=Z��	��8�
S_���/����Z��s���=cO{W��ZEΜ�§�驄X�=�����㗣����vC��3��;a�1��G3�ͽo�.s]��u���\y|����k>�s�n�v|칸�ʘ=ג�O�{�����g�����s�ѣm�y������d6�P�h���Fsl���0[?c�/���~,:��s1o!���0���\��G��3�xj��g��}ẽdϩ-�s�L���ȵ4/dx�B�=����6w���_����g��|�fiV�Q���[RS�I��8A�T��W
�R#,��䂩��
�(R�g�q�Y��3�^���k���W�	���5Azv���u�#��g%��t*14fKp�B��#3hgG/�hjsYvb�ζ��}a~�ŁEh8��G���0@2��[�8�p ����=��Dz��@s���r��~x8"��L�.K�Im�$��y�g����9�}ɍ�ǁ��V$��=�10���"\N%q�C��fN�Ͽ`&T*�s�ǡ��N��0��~�p�����%��ϓ��1�b2��b̬�tf¹[�̤L�2�~y��bA��Ij��fYz�
Գ�p��!��/ؘ("��>P�0O5����(�v�N��W�a\g|�rJ��V*�v���Jc�03�vx^���d+���mq㽳rn7�+�%�H�79�Þ�s�$�G��ˁ��}u!o��`%%�5V@5��ˋB������ E+�!ZLp��W���������}�|�A�*��b���4����T�Md��e]_�����������i
Q�wa����,)�CiFE��J
�VV��ˋ��u�����|Hax�p����Ԩ�`f%��̰�{�V(���Y�Eݘ�LDPc3&�q:3畨�`�%�;��f��t����%<;���?	��q�M��1���0)��.3���|���x�bp6���Α-�D�+냑��,$���ܵz���d{
<��v�iS�s}������o���T�n�G궊$�g��_s6/�8�����,d��ճ3g�ME��O5����s�!3�9N��ۼ�p�����qs%�/�3�Ud�3��G��cA�GeD�١���8g;0����\w�0�K�f���-bs�dž*F�8����͈��1vC��A��d��F&���El�������:;I|�UC�qM�0����dh��oN���c��c���s0��X�dYe���ɳ��9iG�_�d!�ۛ,�4JC�1��EO<Oζ2�0��>��%�%/�!���ؤ��RW��O�����1�
3��^WW�k�b3��Փ��Џ�:�m�G�����0�?�s��yDD[����Z��)�6��4�����⓬��q"����4l�QQ�������b����ې]{�<V�/������f���]^�_չ�a�y�����(BfF���;��F��q�Y��y�fw�3O�}s���y��g����r�3���F�MyޥP6xcs�҇��A<S�mqZY�p�4�)DÙY+�%���o��Ӡ�����E�"@<ܳU�l��IsՏ�1~q}�$��Wbf=[��`���I�ؘ��}�Xx5%��>�/��L��e����	�z��8f�4+燳4�.����\�.3X�|�1k
$��Ād�O��Ns��
�d��/����;���+<{P���*;�u�S��V���`n����X��lH�\�7�:�/$)V �to���ָsQ���(�/��;KU�Zy�����G��?��w��1�Ğhq�
mg��uܟ�J�iG=́��,
��6����T��IO��R�ʊzmg�S&����у�c9��9tP���/�?��_+��Dz������`�'K�|�0�R��
|��hTI�;,��zH��PM���e�
��ej��;�
_&������=΍��ex���T�p��/����#|�^Gd�P�Ô���ȵ�J�rJT�"�N�tAq0�+��Z�t�c��D�+Đ���!��]�څ5w�Ĝ�33N�sj�Ej[r�ړnH�G�7a�ǐ-��Y2L�f�J�,�:wf�	���_�t�C�R�XWFK�Y1ϊ����V������y���	�G
5C,%��������1Qb���	9�rX�'}~��;��B��׌t�3�����.\o9�}0_Z(��9��%� �hF8S��ބ��
̈́11%c�(|���n�Y�&�x�M��~A���5>�m8��`�F��`ijI/;�Eb.Ԣ�
2�7Ϟ,��Ua1'�j�K�����\�XJ��}�y��tWy�s�:.o��m"��f��qQq�l�F�iH�X���=�����C��vp�?�P_`["���<���2$�EB>F05bAH�� 羔�u
�tLEG�h0��H��U���8 m&+��n��0�k0!�!X��`V7/���嘡�q��3�^B�����d���eB�>�~��c�s�,��j
ϣ��s�0�5�*�t�٭�Jh{���5Z<rTj�,sp�@����`&x����𸳍��F�)Մ�'zU�����92)��q`��vc�q�� ��]� ��QE�&�H����lW)��،�D퇞 ��)TJ6�]>g��k3=��Ii�C�&:V���5p��\�tL/���:�P0��7��,�=2
3�R�O4,a�X2+g9m�Dx4d�=�
���^�:�V13[�k�i42��=��Y� '�d�i&M��͇ q�X�7�3lg�I���;H�B�L��-�5�����D�sd�;{�<c��
��&I\�����
�:��G9…d����i�N��� �J;o_�;�T��Z.�b�^$��5x�/;�L)`=ܯv"���z���u���~��󐵊[��!�gGF�ծ�lB%څ�i��SӇ����(��kӲI��nM*~-�d��̰e�Ev�4�7��o.�'�a�R�{��!n�D����-����QH��X>�W���lb
"���l�(o�-(�~�a��%ẓ�A:j�0������H��Ixi��[-T���K)�DG ������GC�٣Q
�3g�0�}E���ȍ\����(������\e�s8�q��|U�GyG��]>�m��w�{~k�w�u�������yǁd-���2��9��[��|�҅��4����m��jVjs�����H#���O6�m�i��9.t@���L��zՀ�{�eY�'�7z��_���&:��
B�=��aDw��S@�z�i+���.�#	��!vt�$w$��]*���$ڱjV�}�E�#�J�USw
ȕ�B��@����L�z^~�7SsB�v��p��708��a�:�0
sѭ3X�'�(vPz���FacԊ=W?d��O��F�@ʅn�x���l�x`�Kc�HN����)����ͬa �=��A��P�������?��A��w�i{�p�`�#N�*�Y���0f�����kZ�:nJVr3�2�
���/W;JeO+!�,[�
��
��
�3�6op�=��L�%;�?�K��q7=��(��
�'���s��P�2�%���,ۙ��`�٫��-�(�u��x@������?����@��� �H��0$��D���_�j�g֡%��j�ɍ]ЮL��de=��l��m5;�Y���|0�
�?2P�&�:�����I�{@T��*{��K���O��_��TŹS���?�������̛f
D���w�+��O4�5��ç�R�@|d�=L�@��?��������@���1�?!M(�'$ڄU�j�./`ƞ�6�bn����r��9�€8�����
���>�F���Sx+��<�?�&�n<�uW���s:�h�l��{��`����{�b'������G��3����ʟG-���[�3��=��L7�)w���s�Q��7ܟW�o�x�q��mȿl��ߐ��!�
��
���w7��8��D�+�!��"�!��5���!wC��ӆ���
����w�/7��nȿn��oȿސ��!��"��C��A�z�e�e����n�?n�n������������r�����W����+������7�_7��4�������������zC�nC�yC���
��
��
����7��W�t��������
��������7�n�?�࿴
���O7�7��7�_v�w����p�����c��p�~�~�y�������o�?��ߵ
��
��ؿ��?����3�7�_o�߭������
�������w7�6��7��o�������w�n�?m��m��ߠ������`@��B�
������w���g�7��o����
�M}������?�
��
�_Qŗ�w���Dw�� Q/��U)���t��"|�k��W��椕*ƅ<�Q��:���P�f�zp�8$��T�c�;�Z�|��
�!S�l+qTu����O�0�;�}`����G�w����	�Q�i<���f�b�Ф����i���=f���������?���������Ҍ���
�
�?2��vx���s�pp��<!1�y�QGź�Er��6-��L��AH�y�Wyp��W�M�E�4�<�h�1�g�������}`��O��!NF+Nm{�Q
��>Mk��/�i� ���Ϣ��1b�����}P����gY@�e��񛟏������O�|���o~>���SV?��6G��:�����_}r�<}���'�<}��ӧ�<}���7O��	7O��y���ӧ�<}n�>ns􉛣��9�l~>���_�|���cY�W/�y�lN>��O�������m>>����n>>i����W��)7�x���\|���v�������'n^>���Sw/���|�l�|����7?����Ի�O�}���So�>���7G��9����O�9���ѧ���'�<}����o�>��O�9�ԛ���}���Sn�>���6G��:����O�9�����o�>yw��^<}B�\}���o�>���Sn�>���S7W�4�Q�b�!�_�}���S7w�xs��7w��ۧl�>��O�y�������ݧn�>7_����Y�}n�>y��}V?w��q7?�������'�|��ϧ�/v?�����;�@˺z���ӧn�>���n�>a��	7O��z�����ԛ�������էn�>���n�>iv�Q��ۧ޼}���'m�>n���7o�t�����o�>
vg��9�t09�}aʪ���Ap�	�&��a���)���%�4|8
��=��%�!a:Vn(�ֹ�5�&����<}���kf��n>��8x���k�w���_q�����C��Y	?U�K�j�����G
������:�!�OUFC-N��ԯ�οl:����M��6��t���o7�]u�u�כο�t�m��M�_nJ��+���w�ֿݴ�W����M��nZ��i���7��i�Ӧ�ϛֿݴ������?oZ�p�����oZ��i��M��nj�����������7���aS����?��eU��M��nZ�|��M�_W��i���eQ��M�_W��.��������]���?nz�t����l���*�ݪ��"����?mJ�tS���ҿlJ�j��M�_nZ��i�������?ޔ��(��M�oJ��)�Ӧ�O7��)�Ӧ�ҿޔ��w��?lj�|S��ڿ��yW��M뿴������*�w�����޿mz���M��6�[5�w�.�������4��������o��p����n���i��M��n���j�˦�w����t�q�w!����\�]H��?�T��/���-�wS��]��V��4��O7��5�8�g���ˮ�/��?l��z��]��7տ�T��j%�	p�WΜҼAV.�tAy�-�qf��1~i��=b�2��p��~~-����EZp��� /&ꀬƁ�M޳ꕇ������}@�_���?1�Em��SJ��pX�Ԥ�ޅ�Dڊ�b��г�>Et�q��<�>������<�>������<�>��Ͽ������DˆU�
!�Q�����Q0������S��Ns��\��ÊɎ�8'F
��St��44�I�+�߭
�X=d�ˑ�\[��tngl0�hQm<Gf�������0�A���_B��0��]��̂x��To��7d �
*���˅
�E�ȓ�����d�y2�<�}��>Of�'�ϓ�����'3�f�Ug��E85	�����7�S��GU�j01y��ؕ�������f$0��x��~`�Z%���������K?��h��1��3}w�_�x����/�C�
��j�q��	�}H�fX�j�Z�F�x+t�����?0����`�����?
��4�v�4"Q��9?Kx.���w�G����=�P���R�Lg�](�9� x뜡���W�:�#��p����{+ڵz�+����i��T��WE]�+��kWZ��&�?��@�
^�LL꜂Tpu�;,�{>V���r�?.8�����<.8�����<.8�ο䂓��4g�T��*|N���ܖ�'!7�=67��X�IP��5c�G��L0�s/��̙�&(�K����<]p>��3!A�ō�>����x�8>A�z���Md������Ü��&��γ����6�N�9ME5Z23<��O ��@�'��	�}i�@�'��	�}i�@ �����y�Y� +7Y�����j�8f��G*y�J�����	�3t��R��~�ChE:}`sפ�ǎ���_�(�c�=ސ�P<#{ͣ�R�T�*%�ѯW�({_�Ƒ�3�u[���5����?5�C��P�8�<5�C��P�8�<5�C͟t�H�x� �U��*qa��=9��En�ˁ��uR^f�c��J�^��O���X9=��v���q'�@�=�%�k�_�(�c|7'�< |R�Α�&1���O,�no6��oaS�12�2�L�M�}�ڠ ���@��?���� �� ��H3�׊D=�*|�Y���J�i8�#|���K�N&�)����en�D�v����)�{�ı�^�WMY�Z[��5e̱W,�cUE�<�p�9��p
i��J7�ڕ�l�������\�rP���e&9�����x~j�2'�(d̩L��,�`k�
�G]8f$��,0�OB�^l`��{2f������1�asd�X��G��s~�.�f�9'��� ���a��[�q�2L���N�]O��#�ݹk�ֳ�����#�<R�#�<R�#�<R�#�<R�#�<R��rOib�G�2����
KeV�
w�*z�M�qY+~�<���,	!SL1��)�@!���L�
�.@��������R���,�qlݝC������1~�Tb������xǾ%^�v��.)�O43�tj�y�:,�����ɾ�tr��|z�LO���P�l�=̱������4P�s#�D�-��K�bg.O��=�Qa�a�a�<��k���ᛏ#6ѧ7�+
)T�R)�{�<pK���3�=@��.���J�A�Qef���Lu�<�t�{]O���n��#H�:.S/+�=`��	�X.�9�Z��q��M��K&�����1߶D؅�'f���~=1�O����l?1�O����l���ٞ�f/D���TU�df&���|�����
tT�_*Ԋ�̎�34��kk�����?	U��a�цv�E��muq�e�s�a���٤��jG����&�%�yLD\���p��7J	Mۭ%&dm�r��W�^d�D<7?�N3�~'��N�OTz��X�	j�ܓ��80��8�ݓ
��ƕ��
�XD�tH�Md�K�?�V���c�ρ�U<U>�GG�~�P�Ơ|TO�R�Q�m��6e��Q�=P�**�gCU��:���̸Z; +$�e�������������
Hi�!nB�MX��*(�P�,G��h����(�v�5@�u�V��^��@�@�d��w^8H�r�|zf�4��@�{h:����5�h|<���3?B���c˙`;q"w?�g�s�#�naU
�UU~>xN�GRn�@m�Ot�C��#u���xZ����o�\(�]h�C�P��EW��w���{>n9���e�3�ҌCEp���]��!��!�@>�4�9Ѵ`'%3#�"Q<�~`0��E`B���F�x	~8��x�i}���Lrv8J���l�vQ�`]��j��ф�nt-7�(m�Q�ģ�s.�l���#��M<ʫx�7�(�ģt��"���G�&�]>�|��& ����oR�	H�& �M@ʛ��oR�	Ha��& ���t���&�M>r7�h�6��o���e#�n‘߄�M6��F�&�M4r�h�n����Fi��&��ho��&�U2
7�ȯ�Q��3Gq��M8�e	Cr�E:��p��&�M<
�xT��Q�v�壸�G�&�3��M>
�|n�Q��Gi���%~	H�& ����7i���M>�7��m���r���M>
�|6�(��x���&�M>ʻ|Ae��.k���&!ś�oR�IH�&!�MBJs�����D�h���&%�MJ����oR�&$�MH�d�z�|ۤ��IIu��n"RYE���2�MDʛ���G�x�n⑻�Gy��&śxTn�[ţ��G����Ql7�oҞ$,���H�& ����V�.�YB�7	��R�$��IH�&!����&		�c��ToBRڅ��	In��MHJ7!�nB�&#ś��W)n2R�e$\Ʋ�$�J��l��U�B�t�;�U
B1=�xGU�f�T�C�R���T�ʏ����`uN4�jua$6����n�1N��<���$7c.=���By�z��Y"`X�N���n4rm{�b��=�g�@�)#�6���7��tp�����.,G����d�/���%�6ҳ� �����}�/���K�9�!��~��:�	���)�ޥH|t��L���@�#�rXO#I�#�<��#�<��#�<��#�<��#�<�˟_`�j
t��p��$��ͼ��{�2���$b5)7v���A��zA���n�BN��G#!�U�y(
�%B��O����+<~h{�'D��0�]y
�~�)�5O����<.�N`��B����2�2d�z����\(~��5�a��浌���8n�:���=���	�x�=�`�'��	�x�=�`�'��	�x��IO�$�Y^+�HU�l��N<��q.r�̶��\ʍV�#)[��!"c�nw�)�I;p<�n?tM�ܳfW�D��&I�H:�*�����H�-k#ܣ�쌈��d�HS����z����ПZU��s�)�d�ō�>���8L�01S<� ��l2O��D�v�����1:w
q�}l����U�?{ҟ=�Ϟ�gO��'�ٓ��I��?{ҟ���g�\'�,t�5�R�r�d�:�5���3,�Z95�@�5xN`j�09�	UŅ��2�vQ)�aI�@Է�Z�x)�G�V��q���vuv�����p��1�zp�r|k�xx�d���U�9
5�*O�@���6�d�sOS���.���d�mD#g
���PTP����o9s�'T��8iGn`��
��[��ؿ�1�k�R
Ա��6�ؿU�7k�jC��az�Ա�ol}���5L&�&ܾڽY�wlތ�;vn��E|Qdx�R�i�y+7/�JL�͛�y��U��i�;Fe�:��,��T�}����-��۷]�!l߲ڎ:�8��k#�,U�ιEfsHh�z�'P��M�!�)p>āѸ{����DEB�s�`<��>�!b՘A��F�D:��{��\�e���
�.�+��[�4f�a�G�هȮ7度ꯦ�Ei;����&^�!� 0]���5����܏��܏��܏�w�ܙ�I�0�L�8�t0g�g>��…�hw�=S�q���]K\�k(�
��f��64��,Ӣ�S7���c�ʰ��F`��?�w�@�
��@�v�0ӕ��y�����p���B#^P��i'�?.{��]O�P�=2�c�pY�@����lV6a��	��6%][�!�_�S��o`m瘏��L2q��RQ�NPR=X��Aq���1P*=�L����A)�C@6��﯎�)��4o�{<�O�����O�����{<���!�^�%
:d�tX�,��9Awq���#��7�o`�2ښT������
��B׈�Z�H�zk;VV�������	1��eB��m����}��X��F�^b�u�<λ'�}�/Dߖ����+�iS�LA*i�}.L�q�[���jEX
A*�f!�2#VX���e�	IW��d
-��b��}P�b����>(vA���G;��a.#�r�@߯E��_�{>���8���xMa�.Y���][��Hq}�_яv�g����7���aX6���Ӱ��w�9�KIU��gXvve�=���OReee��[!�̴{
�9r0�7�9i�+�c�9!�#w@��5vP��O��B�pP��R���H7�d��u��f��f�y��JA�Sy�8}�~���^H~(�î�c�~���cB��#�o?r]�1n�>®�#��>�u�����*?�m�Ǹ��p�ʏ�����qS�a�*)x.Յ���4�=7�V�Ub.2�#ԇ�;$`7����-�NeQ��*;��?'�pj��ףN��Q�P�3�>���H�F�7R���T�YH5vYrh�+������yN����U��(G�n:V�Q=`Rf��`5;#�qY�=�Սju�Bp:��;�]s#��V�e X>�@��
]���*)�4�sFP�J7W� W�i�I�.ˁ��L���y������{Z>��4'�S�a<�ې�<l�����7����
$o �
��aNjy�1�h\ب���A1�)K��Y<���zC&n���L����V�|G��2�42�wdS��8�D K���ƨ�^W/��c��Ƹ4�h���Q'����u~�Q'�l{�t1xD��Fe!�uȯ���f$�r��u��*�gs����ƥ\RS��4W�A��F�7��Q�"oy�ȏE�A7j���0�D�4�W�wA�i�%J��a=.^���9h<�X�n�pF�(�gb�¿�v0��
T�+�{Hg�:���୔�&7jKa��}h4��P�+��
�C�K&&�%�*� ���фR)����괹�W�	h����ɜ�3��
��y��؍�n,vc���X쫎�G9h	>Zx�3�h���x>O�̇�������t�����xjD�P�92VK�a�㦁ߞ5	ғ-����4��BZB�k�.�/�'��gl=r3z�)�74\K�E�R���>o7~�p�Ͳ������V)r�`9
��3����#���dֽq�YѮ}�R�y�Yq�N�Tt�_�����o7|���
����1
$WF�2�DaPFgDj��`��
{dv�� z�k3�4l���H�<��k�^��G�_�/������BXG7gh���
[�4�#r肌S��<�
	�h8��S�A��"�Se��9r{
�K���M�2�B!G(�7��߅
7����
n�sß.�)��ڣ�X�f@/xI�r�++�:��$��b�=2��`%�׬=W��cf��s�XL�e:��Z��O" Wύd}��n��:��3�q�n� &��J�{�K2:���A�ƩOu��J�%��PA{�q
mf�6MML�.^��s��3�d�*1b���9��h��#5��������qӍ�n�t�7}`��X��>H�B�t<j�#�m>r".r:���'V�y7
��#qɀ�h8�=ڨ�6P���`����V���Q9�G�1>�)�t�g�ԍ�V��!$�d��ꊳ� o��P�c�I���M���2X��|fnS93Nkf=�-D��	�{':H��,�r���)��y�T_�����
�n`t���h�GH)!z�js��*��C
��lˮb��ʼnF�����Ј�!��L��5)�$�	�W�J�v��dnQ���̨Qd�~(g��=��u!���_S�jw��WQD�ܐ�F�F���DS0�~O_/(�ؔ���Wɮ��v}S�$^3\�П	X;��<��D)
�7x~�x"��L�;4v#���H�F2�p$cj(��*$t�tXh�>�^��{N+��Ȓ�h��"(
s8�M��.����"����t6Nn�Yj�Jdte7��p�+T�=Ki�	vҵ�f��%��G�UpP�C�|�w̪��-p�k�e2�1��e�0��e�ك�M��h���7̸a�
3n�qÌo,�(���i<�{4�D3͠�2~A���PO�
}شs@U�:�(O�+��m,=*R%N}����,X��
5��q	���wT�iғ�"�Q���C����=Lb�M�*o"$q������Ct���u-�2Pg�eZ�<��t�Z&�Ҡ��dɻL�\)���&�ߨ���
,ϤօDy�6@p�s���	=i��	=�c���#�=��Z#/
�l�����u���o����������~3een8�0dǜØ���8Ԩ�Qڞz���G���	T5������Zg9��s��ڂv������6�qB9��{H��$Ml���'R��l��3$�L�ќ��:LPR�,�v���5	,�Ѷ�
U1h]h�,U�qTŃ�+�oE|+�[ߊ�V�_
E,�W`0�i�/�1�ha�[D�߰���y��٬�R��r\�9���9�R(hX�8dD��0רGϨV���b֭���]�ा�JS��vs�@���h�Ө
j�;�E���� (�a���{�ꨤW;|�6dIB�D_5��F��2E�e�5n�`�D��*�6/��V��z���^o����5Yf�
���(�„��$zθ�S�!�qE����'�l�U�B�|N�Gӯ�lF�E\bB�ш'4#��2�Ԫf�T9>��q�c��x��2�l�^ǍbT������<�_Q���h���D�"��ڳ�rE�ʖ3AX��lN6�
�f^�À�0i��'�j�/1$3	x�3	D�'Lg�3������6�������-G=�Ke�����Τ�(�F�����;��V�qʿqlb}�@QN8Y�x�NR�;��ɀLB��I����
��t���`�C�����ɪ�3gxI�7�r�[����&��˿|���WgJ�L��P$c�#!����Շ��H[�(M�#� �Qv	/Z��،AQ9�oـd�Ԫ_J߼�	o^���Oi�7G��XVX�,g)(���_�k1Gx$ϊ�����:�}p��_��BeH�g���yj#6`"[�H����Q�k�Ɂ\\l��X������@#��#g���b�MSlW���>;�n��ܛ!Z&��O���[BTl#����Z��IL��sB^�+h5��j�ٱB����&Gm3v�I�w(<�3y��S�U`��R�#$ɔ�L�i-�)�Rҩ��nJ��9f��]��qn��eQ���$h	8⊈��p%��1�eN��p�ư��J�+�����,�l���
�Q����5�,cG]�Jlisd�<FOr�Z��;b+��s;��5����^�~�c�\���8P-YfT���IX�%�I
�,�⠈3�.��%����;d�8J0��D4.2o�%+]
IA��/�P:%g=�H����xEp��Ĵ�,���,��J�x
�ϓe�~�+������w3�~9kȌ��_TKD �gO��H
8�A���Jd���6��*�1ko�:��)(��W
'렕B�4��C~����/m�"�JSPG��}I��H|&�A
��~�nAGE�L�����'��[\��<`	K�-�Z@�(�en&eh�*
y�Uz��uiE&�H����M!�n�fG�i�c{�ofjf�Z2��"�#�� y�d���`�!�G�{��4�!�RZ`D����1r�`�H>��(4�btV�8.��������83N�b��DF1ʋ��N���{��$q�mPa���IZ���D�`���&|'�Z���H����LD�7���sT>��Q�`�G��f�ߨ��>S�e�6Oz�D�I�쩍Iޘ�~0P�I݊�R1KP����|��	z���D��H�K�r�ҟ<�����9)�B�>=Xq���(B̊I�����,���')�0�aMڜ��"g�7�c:� ����KT 6�L��]�C�^Vb?
�e�/���}Q�э�ʖ��ȕ�5Y{��I�1�q��R-VbĜ'��H(O�2� �+1���f� u�;k�<�[�W�Q�/�?��(v���V�{�c��!F�%�=X)m��\�l6������`[��w��9Pa��eGr�L���Vz���;���>��y[�%»��yFԧE��|K�
�~fw�������ʝs!%x���/?ß-p���7ڽ��Ki<�|aow7zjQ�zk�{�,��.�c�C�ܓ�_�	��K��[8�&�k�S�dJˠ}�D}JK't��UE?pA�2&���H*��� ���q��v��ɂL��SP>&�����1�����≈#�X:�Gù!��О1��8��3m
���F=�E����v��
������j�CS��Q'��ݘ�Q��JD��=6����=�����L��/8i�k�8�|%�'���;�p���,%W1lv��٨=�������S����3'���=�Ʃ�T2�$܅'.���@
� cc5�[��ζɤJv#�4�]�#&>F��h���=�ߛ� ��&n�,/�b�*�>n��|��x��&�ِj�#At�ĕ��	�8��[xMB<�'u�g:�˟�J���}�R��a>v~7t�<w�9�6w� ��?�gw��P�y��4
��F�@)�E�F�Q�o��"1p ��C�(	ѹ�;j�Q=�`��/$����<��sOzC\*j0��)�s*��N�n�=�w�I��KJYL������R�g�.)��8�!(C�jĪ�ŭ��r.�)j�!��6\J���p匀���������8�F���)'~���Љa�����̸vQ�gŹL6����S�^hoMiO�8�>6�D"F�T5RO���eb�2�d	q�V�cȜ�A���*O��#�kCчpK:d�EA��؍Ry�>��h�?�<1�r������ �M�S|F��S<v���
v�.�����ڨ-���B��B��#F��O�����3����\Lx��(�-�Gs��g&�Z��Y���Y�8&-H�J^
n�Z�@�.��+�/	#A��s�shGc�6[�mX��(���(��k�CB���k$��&��j�zd���&#��F�LZ�����������#V���f�ZȘ�������ߜ��|��4��6C��mJk�Y�<�*������O�Θ]c
mf� 12�����Ȃ)q�J��a�8/ZÒ�`X`�ʔ�f���p^�`���r	�k � �&M	�N�#Le���DKc�v�Le�t��G�'����?l�mh��L�J=�H���� ̌S!:ږh
L�LB�I�:��:S\�������B
u� |��{Y�υD'����Q�����p�<%I@�U
{�3� :�L��C�,�~���&?R�1i�N~��o0�)�1NhD̤l�#Y��#����@{���d�|�e����񒎅(�UJxI,����/�1A�|���7�R~`�g�ފ��K�s�3h��+��F��j�K�u����k�h�������}jY��7�Y1��R¼�w��YG��V�(O��4��O��&�%˕
Q�4+hO��6�g��`:��JF�|Ǯ�#9�_�E��eb��!<��G�,f���<��3`O=x�D�Y��J�Q3"�����5����|}p���ᝲ�߰tذtZ�ty�/`63�/�
,n��Pnm�;_J����G�y�qҋ�E捠�E�#;�D/��83Λ��|i�a��KOz����B�rj?�ؕ�H�f�]\��T���aX��I���C�љ�ӏ�qx;�����m����n�ۗ�r�=f��L���0�����`�<摠z$z�Q2�F�N�/�鶦?H%���3C�sY��G�,:B>wB��R�vk���
1o�D�$�cd���Cb���}�
pT`:�9#Q-�WL�N̔�Uv����0��4<�e'�n�m�&�n�`:f��TK�ol���Qc�5�,�X"�,��3#��`dk����A,IXU*{FO�T`)ҡ3�MN5��1P��K���	x|PSSϔ
�mx1��]Yh%K�I\1i��fm'-g#�Iu@˸� �H�f�k�MHqW�hv9;�W�˲����`�������rx��w�ѝxt'��;�����>>/ȝx��t��>�;�����w�ѝxt'݉Gw�ѝxt'݉Gw�ѝx�1;�n�ݝx�5t�����cv'}lN�;��c��݉G���N<�����Go~��T�e���%4��~7�w���|g���$��<~_���ß儕�A����<=~�Ӈ��DԠh�"�>�̓��z%�O:�BZx�˲>}z��o�����/-��O��o?�%iŊ��K����r��V� ⥟������K���'e�e���8>J��"t�D��y.�P�Eqq�?���c������ß��"��)西�[]z7]Ji��rI-��K�9�:�D��,w���O���bA�_K$mM���e��/T���z�4_����g�qw�j
������!��#���drLk��i�=�T�Ty��{�
�(
w!N��V���w���v�Z��?����XV����7��j�
qg^\V�D�Iz�D�wd
��J�ڨj�_��շR�x��Ҹ��.����/d���B�J�+w��ƛ=߬��������|�W ��'���/�>���i,���4�.��wY8������K��h�ɇ�z��??�{�)���Ê��M6\�o�7{��]{��^��4DOC�7ě�ݏ�qw��d]��^��N~���'mfY$��)�/�wi�qcgۼ��G�H�4^�O�/Mo��������%��N���k�o�^?�S�]R���eE�����[���垔
h�J�@;��r�����QJ��� �~��VVk�8��1�eڔr�^}�[A�>���`��uǎ�N}�i ����M�h�K�B\Z˦|ki��x�k���H?+��|6v�q�b���@g_w���ײ�A�K[߸�f:2WV��m�B��aփ;�cW1U��L�g�Ɨ~��M��tQ����~����=�͗���N��ψ/l�*>�e�Mo�8@'��
��lY�tG�T��x�5��lm
�����Vɋ6^<�&g��Bޕظf�Z����C�����W�������]�1o<�P�~
���W���K�̌�Z֧��,_��E&�t��7{��!]'��ΠE�5�җ����d�<�>�oY}��~���V���fߜ�"��!��`S}4d���=,����]�{
]�m���x�H5ضa轟��0���r{�6�}󲎝��ow�����p�5ñ���~����Z�\��5��zAr��R�/�@�4��!/��'�a�p���K���##;�8֎�e[�j��(
N9 -?gSRu�\}�
x����&�8��
���3	�8cm�u�s���׿�[+�>]j�|ҁs��1�J���Jи!�;a���ߓpu�vhiy���8��*?���������;F른�j�𚋹:�gn��S��ò���씻�h`��^��t�Ym�VA������l��|�4섆��K���sI����/�>6�$�%��0z�@�2����v����Pbc{�~�ƙ?1��A��]�j#ېW��.{����j,�2m(�K���Q��f<�A�/M�x%�Nq��)����c{G�8��tb�����5���aߏ�.=���ށq�O��n8�[�~펤� �ޙ����*�9��0�9�[?�K��l(���Z��N�8P��j/�i�:yڙ
�p&�V�qvEqu�/��5cv?αi��
'A^?��Y�_�aVXж����'�$[���$V~i����ڗ4Z?���M�X�U��cHx�2j����ܟԈ�Ex�)]����C�����~�EbA��PIL��A�ti���>4��[&
�~1��#T+����Tr�A`�0�?p?��ϻ�p�P�s�^a56�g�� ���9�;&W�5�B���G���Tg�\�WI犠/�4�y��irC�7����fy����
(_�
q�3�b��k''��If��w�V�w�W/����x�_IBW�(Z��EZeǧ#9��=Oس%Fj��? F}f����7����2�	TP�qP�eXc-M��
gg��5�A��'�ZȢa�6�n���T{���i��G�>�
溔�v�x�{��-�e�5�r�sz`�jV� �����g;ɑ���T��a�N��B�gd�]Knz�)�!2���qN��b��Գv:i��̕�?���}����y�L��=}�a]M�YU�5�=��D���輳��3O�Y�]C̥���/~kX����?�~�Pt��HG��Z�mu/�]]-����h�����7\-uz��g_�Z��]�)�C�m�T<֨=�j�7�����t?�
߷h�eg�4�)��v�_:>�Y8�.h������5l�QC�4����H�^�GϮb?��Id� �jrx�L�}�
[co!��FZP�����P�o�(�3�!�.ן��}Ԭ�iD5\'+8����4Ҹ_��=k�T�}�_뵐{��xFJ�ڮ���\�@��\�x��i�I�� =�$"l7j���h0J� ���T/֐E������U�ZC'�0A�g��MV��3jn2�/��4>_$��۔�����u��:,,�󠊡a�e����;�G~Qa���>p|����,=A���O��D�F��I}�^mwب�Zo�v��"m�k�L���O\
��x".��}�������ۯ���P�ZJuɭ��K{���vJ�sv�m�M��Qmp�@T�i��/%�58�Lb�pM�;R�f^%�e��U��M�|��Q���T�
�3�,����sjp��e���%���Y}cüjp�YB`��?\^݁�݋B��&'M��ŕӎ#�Еs�w_�ʹ��<ֻ��6.�r.��n�|��&����%�g&ǹ�Mk��Gf�Ƒj�u�>�KW�`��X',��I�~��&���_�%�_�@Z��d	ԇ=Ӂ�˸q8+M��
9<G&:Y���Q���+9��
�`C�}Ah��߭��o@E��]f�=��.盧��u����G�A�kR�R�K-�%l��װ��^�`�Na�yi�ߧ��䪓�N­���a�TU^�u�G��	I_�Y���itv��ʥ��o�#��G��*�b�_PJO�gmUC��Ľx��O���a9�DZ�?�g'ۿT}�Ş7���_n���x��~��<Lky����ڑ�����uτNE�_v��/U;��7P\���`�*{���u6+*��Km���,;����3j}��f���+�f_R5Z9��\����ͭ�endstream
endobj
75 0 obj
90369
endobj
83 0 obj
<</Length 84 0 R/Filter /FlateDecode>>
stream
x��I��9�&��S�	�9'�U/�zQptf`V����o�|�pR����1�#p*�I�H��?������Ƿ���x�?�k���o�e�-�o���m��>�.y���(q����?������&_9����R�O�ޕ����?o�Af���3��Rm�Y~7���1�k�J��1t��>s=��c��%LJ�S�С��t�W���gm��b|��J�S}��=+�؞������R����?�TS{��O*��?J���Y�峧\����'%��4]���(�㹴����X�R�I��3��:�
������e������8v�zK��klw?��s������ �Zƶ��ߤm(q4�-=C��d�?6�{��ղ���B)�^���Y�9c��g
{}�X(���f%���*;h�ϒ�`QSz��gɁ�y��u�ۨ��ܺ��0�~����V��O�{�[-�|�4�����J��E
��Vaö��,Q,���Yv�V�%/Xh�������|�En9<S��d�"W�-�X�,r��p`���`����\X��?��޼�,�ı+�p�6v~�2�m�sk�D�g��0������*D7X�n�2(M�#
��3��<��)����I�XY#K��1м��Rt�f�����)/w40+a���l���B��wѴ`p>G:JN<�e<��+�8�i���`���!��}T�P�@ZP����`��!#�Ք��R�?J�cg?Z.O7�%Q��m���U�A�Y`������0��MP�[�В<�5?�`�EPZ�`�'�6����:�a��-?ޮ����^�R0p�c�����*K��^������}a�'x`�
�U�ȍ��
8��]E��_v��Q�����)�K6�F���Ŀ��ד�w���v�'���sZ�E�x�3�C�iٍ��v�9�V�a�6%�9���������=⻖��P-�]�u�w�0gG8�,J�?h��H���p;��o��
�sD��K��B�6����X>��%k��͛�����<��8��}��#J�q�n�̂�0�Y�A1��/�#K�y^�����ǜ�ǽ7ฏ�yz����}��0c*��.��wő%�<�͜7���;�1��8��}��#��ZYҊ��#�o���3�lM��h'\�9��^ˉC�JZ&K�=xY1a���O���[�C�A�\�}�B"u1Duz�aE���2��=�	��k�[��m>>i3�߱���g��$��0α-��l;��a�6T�d�>�m����X(�CI�X"(�8��I�]'E��c��&��
f�u�Dvq�1��NX��]�ݝ	�瀂���%�1��|_Lx|q�7XJ�"kz�^Q��[A���ټ���ݛ�x�(8�O+Os��H��{Lc�p �-h�^5\)ȅ�>����qb�vt�u��|Wex�ө��j}��.����(�֬��g���8�X2�b�]��q��K��3�����:��,�����2���(����6��hj(
�q�#��x��������]M�lv��i��Mѽ���b8v`4z�X�̢(.�]T8ԅ�.ܴ3?;�Pè�5�`��RY&�T
�=���iʕo�sf�=+�}�K�lƱ��r{\h����C�;_ր�Z����.Vc,ŋe�,��,�c;K����7�N�S+?���
!:g_���������R��Vˡ$�C��b8���*�u]�e�p-��#�%��b1^��$f�H��EW��j���}��D|���!��N���eY���.؅���m�Ī��|�`���0����'n���ڐ~�ayl\a50�:�ڿ�hF[��1�cs�!'BO�C[���[�u���j��A���~8�C��T�T�˜7����W���*\���{���
�ߖ�,�>^�ǭ��9}c��	iS�,��>�a�?����SDylcۉ�|֧٠���������'� �tҚ#���顏�}_9�1Q�G�C�}|��!GUoYs��
���C���/����w��;�����ǿm9˿���צ��o�S
>��(�}(�>�cFo]�,�g̩��霎�(Ģ�[)�QK�Z!5�c��\��C���kD8��q[%�0�˪Ū��9�6�8�
��hݩ(\���*��\7.T�_O�;WvHV���.�X�.~ö/Tx�c�dq^�']����s�6j��J��c��0A�Ҳ��w�Q0�R��
�'��
��[A�:ge�^��^�����,&~���_�<��e�S+��A�?�uN��\T��!��^Ta���Iz��=�Bܸ�9P&��c/��=h9��B�쯥�r�r,d��-d��B�tpI/9���ʥ�;��&�S���8t�����⇉�wY#%���kT�M~/���/�,μ%�����F�h�k�#�'�ۚ8Ӏ����t��b>�B�ޢ��?i{�a�Cp��XƀS ��k�^iʙkT!�Q��5�=U'5JA~�Y%�c�6��O�;]|�һ_�[�.��]m���~~�.�l��m�����mF�DB���w�(s�&��~�귴�������	����$m�I����\m8*B gm�ِM�%����\J��{m��H�w����5~Q��s���B[����P��9ˢ�R�ȥ���5W>^+߮�����s�%P�X�r�<�t[����\�䯕���{_ΕO��Ww���J�\�ۉ��>�3�O�8���x�2�=�tx�ѧ��˲x��N�$�*ln����KPx������)�!0��s����B�Dk�f89�y\b�AK�
�NXW�I�Ɔ�z�^5=,�]mQFE���p�eD9P%��o�.�~�`����|7�W�,�M+���8�EO%FI�,I�[2o�D�6Y�Σ[)��%2�r�g���D
�ؒ�Y"�L�$Aa�L���k����N���V9%u����
Ġ�_�sK�Y"ְM�����?M����R��Ђ��������:�̖�|CP��nηT�ؖ����-�DZ
GqQ�В������lUl����&%UG۬%`�	�qD�j)�HJ��Pb*zL�۬)(�
"�CX�n�*-�Ԑõ�@Q��¯������^l�phx	u>�R]�ARy?��i�M��t���!_�,<�U٥�L��Ft�a)]��3�&�B��9�QT�s��S�O&1��	��?Ƿ/��"b���2��{�zv�a-̱+�N�vU�]��˶�TR��[��\%���)v4����I�}��`QC��ߩi�hK�S�q�wܧ[��WLX.��qV��<„��	R�t�����CT&�%�ȩ�"\a7
7G8c���KU�^jH���"���FUmz�"����[���&c��W̙/��8�w�[�cΊ΀��pw�Z�:��s�I�� ��mN�~�i��9'c��z�@��oJ�*s���
��%��ka��G�4w9�5pf\?t�����_?�M/{=9�z��3�1�8���A��Ը��)�`��Ze�Uc�Z�
{hN�1x���JB
4;UIi��̛��֠IM=�L��i�":�T�|y���2e!�'��,F��]J�f�����-���vcӣ,�t�Ed�<�"�n�$s1�z{��\�ytu$��àۆ�d��(��0�&�
*���#=|ov�.v���Z]�т>��UW��ϟ�jk���5<f�8�m���m�h�6���g�P<��(�v�^߯���u�;����P8�>K�Y��pl�G�X��oS3��1f�e���V�?����j�	�>��0�����^K%���8(y���ƃ8�mɫ7�q�hsX��%OPD5��`(:vj��mZ��\lT`�c�+����6��0̆���8���'E.�(&�54�,L2b����uo+~~Q�(��}@�
ELZ�u�ؗ���a�`���()�����fQlA��`�5G�� Pu-Eo)�k���,��8���so��#�"V]��:qt؋��륁��4n<�c��^��4#�r)BG�%*Iw�pE�Oud�k�F#�0bG�y�#��s���s���O��5[�,�_$1	<���2O�Ų늡h�ʌ��<�n��͊�yx�Uv�A=��Mp<G��JP3�%��j�	\*ᚈ���5DZ}"K�l�1�#,��D�EW���(�ё��b6��%0Ώ��b�O�7�i�R�i���q�F�5U�
�.<G�^����ܢ�����Unp
6�jg����x�]�	���q���:���@AR%o�E�<L#;-��l%M1�Ȱ:��
�:�uM�(����,�
;���Yt�^6e4n��C�k1�R#���<�j8ɥ�[�hP�H�(�����|9��wg�e[�h�Wl�+��	�[�T�U���-�5b!�����ə��^Hm����6cQ����<g/۾����l�$b��xń�D,���D͍̒��Zb�3��†�XH�[ʫ�V�	��%��m�T~��b��;��5S��gI*D^=�'��ܠ�Jo��C�jd@�{�f�b��}C�ɾ�L
!(�R
i�(ڵ†uް���f�8�,f�E����L�v\���\%*�]��0�^��>p���&n�c�ز��l�l
2f)�$f�+2�a뚹��7o(��`�M_J����M�No-b3
�h{�d"~^�tz��5{�fψ�y�N̨!��
���t��'f��	3[�Ĥ��l��'j�c�k$EM4ȅW��ۄ��'C�&M/�h�MD-�~�[���M�������k@����Q"�0�r-V�`��j/��ٝ���l/z����{��m���[5B���F&�V�>
29��^�?-�V"+)Z�q#1ۺb�0@�b*��٘������U��:��T+"��7\դ����G��-�F�zqj^1`u�e
�`������LMϿc&w<l�Vi/��2�Ai���0*��gC-��\�Z-6�WT��%ѷo4����
̒a&�����g���XQ+6pʆ�
���T���
Cm����`;ʅc�"�m����+
{���}�F�!b�J	EQ4\(�#d����FZ�F���%	��j%@E�&儇���dZ���.-iV"��K��LF�'�Vy�[�LԜ�T��3�JR\ p��p �����kˆ[��ܲ������%7���Z��Qs�V�cd�s�����5�ڼ5���y##	B�7�x8{�x�G$��k���Ԛ���e�H�p�L��G��
w<l��^��>pk��Z���"wX����j;&��V����%���8�Xk�z1��H��U�g��8
�.FD��]�]�lު�S¼M8c�j]_s�t��j�K[#ǒ����8X��p�8�XlDډ�h%�q�	(���M��	Qsk ��'���fS�kG�Y���U��J�l�bf�1{�V>n��^�5��:�/$
��j���˼��5�;�6i�&IN�dX�t�s;�	vvS\�丮��f0��$�φs?�:��˶�0s;6s{'�k�� �r����H�
%p$^	�M��L�!%�7�ј��U�� +XZ2�m5�ZR<�l 
�6Qw��N��U��=��j��7���q:K���}D���)3�@mOL��k#����"��am*+Q�>�fo���#5W���lV��l:�ɰh#���M_��E���v<&n[/�m�J@_��@cz��`�m9��i�!�̘�hӖA;����k�M/�񈡳E���g ܒ�����G���cx�z��Y_0�nv�����f;Lb;%��qY5���ь�ɸ��q�X�MU$b�`L�L��#�L,�q�İ��<�[<�h��86�1����Copo�.`�h�Wo@q[���F<g[�h���ڹJ�ͪ�uF��qGÖw����q�@%@�hg�%��Mf��G3@�TC-ZIj�fs�1�{[`gY����lr�mA�J	pL6�����+��;dLВn�#g v��vTvuE��p��E�T�匶E=�FB�����,vģ��
g6n��Q3g�ހ"vt@`�h6`00Fxv����sg�{1��/t������PF��8`�yu`,�{�5C����l8�4扣Mc&�6�8���8��7�z��^+�zH	�Cc
���hmAKb��j�H����|1�c���8"�΀�> 0t�I��D�W~��
�	�n(-�`(�Ln��}Gl��#C~�7��!
G|G�ͫdG��n6���؈�bA?�g1c�A���0��p��3O׀�(�*W(�dL},�M�"tN��x�[h�Y,��'�
Su���B׈�(ۋ�)N�PLX�d-xz[���q"Qd��n\�Sz�8�0rA�ֵ�~�f1�֊�(����v�msl�`-�m�`$���pȘ6��z.�������p�G��p��f�
G����8ی�0�8�!`��k���ܽ�}D����U#��!1���E����>n��-��4�C�7���~+^{˫�E�����%)�u�\@�v7M`��
�`g�q5b7f�<��*J�R#6�i���ֶa��_#E�Ϣ�Ž2�?ha�W%s�H��Ft�8VK�|&�.T�;��e�-�ހ#�8a�w�)�
G�}�w�4!��dߙ&��m�82LR<0�S6�.��WƵܳ7�XLwe�ƪ�XR��me=��I�2�Q�Wg�"[ ��p��i��Ѣ0?�_S�{����c�S�2�`�b��T�ȼd�yb�5t�����A��.�
[�[�h�w)��̖�$e�x��&r�I�M!���;��ᯉ^ٖȻo�nC�K]h|M��I2��/渞(Q׳�R�&��}2^��Q,p�����|�ga�
����(�����m�0
wk�8�WԶ��W㏷{t׮�"-_�K6�6{�}d+ɏ�'C�o<�{�Woo�������/8�8����6�ĝ}2����H*q���v���a&/��5�1�8j��᲋d�y�*��8�H�|C�����*80��ȻR�%�aE�f��`(���Ȝs���v���%���~�{`{M�}�Β��O��ݾ��eN�����{D��u��W[p�pd��6�m40�`|&��ģ*��VWo�d�Q?�8�)9�p�4K4�l� 	����c�)p��꯽����*�pL��h�rgm	{��EK4.h�����3�kG�ƫ���{@�t%���(*l��2���ѳ����� k�C
�t��S��}��#J��}�d�1��pd�5��K�(��hK7wB�����{�w�ӏ4i�.�-�ϕ�%�L�C��W=��ɉG?y�����=⻖�|���l��o�2�kE�x�"�c�}ҙt�Os���v���%��8I$�	#!Ξ�,"l��B����
�p��v�꫷��{�wMӎ�f&ک{�c/�*�LBQ-mKz~�>����%E��M��1�΁�Ԯ�]���T�{�b��Y���,�H|��‹�����D*L ��Z��L��u߱�%����:����3ұ�K�)��b����.}���K'��=t—Q�gM~~�E�
G����W^^�|��o��O�o?�wZ�+��Sc�f��i��=��	i"�����
��1=�*>��������@����>ح�C�&�|���A"�gh��]�n��GGUT�߅�΁����>��è�m��k�`�mi=�+�`��0��݅�.�Ύ��6��n*d/P{M�lФ�i�QQ�O��(x���dQ�-�S���hG�g��X@.�Ν��x��.t��K�F�z�����B��f��u�uy�2Z��T�M��R}6����t��]3�
h!`��)
m����U*�k�JE<Sb#��v�>+��^��l\�&��6�1s��](�z��Vv
++��c��X�oh��DCM�&����F�[���w���8J�y$(S�we��aƒw䶨%>"�)�b�x:5bO6�e�g	�mrxII�H�!���B��z�Y[�A7F�}�~f�T�5�^�"u�
=7�ޫz�<��ǟ<��ҌS�6�P��	���8���
�2���B��H���	�]��Ȑ����K9�w���;O�{|�x���
��>��I�Y�Z�c3tF�Yv|��2فG�U��ih#�<����Cz\�A7�G���=�Y�ӛ���V{1D��Y�y��h���6��%�����WoH߸��;��
zm�O�蹍��3L��>.��l#0��O�#��;7
��
�{�i�_J�=�ѽ*�͞�]�d�9���?�Y��x���z��y��փ<.�����R1��>VR�ٿ��2��(ȋ.��]4ϓ#m!��PrJ\X|���k���z>U��k~�L���j�g
��<�8�Pbc���oze�7A�6^_�N&����L�!�t��B3�۲�}��Ebg�f(�,GĞI�̴����y,��b#�*/%iZAq������cgUwo�q��6l�j�P������NG��w[A�A��\
�;;ÿ;���̴��Gdֈ��#ř��+����T�e�f�%��"
=*e��%6��>ޮ�ޯ���a�8S\(�4{��T{)Ah�4���Įzܝ}��"�("7I��e�4�E�u�a�Q�0�>6�CN�����Ǯ�ioq����e�_�TDKR�'�{5��]��8&F���%�h\mvf3T�O<vEX{3�Ԉ�S�%��G&֐w~$���ۍN�0��(yB1+4#b��u���̴�٧�Q�%q����G�Z�}!�nj@ٳZ����$K��~�Q²*y�9JF.{�	�'�<jo�z*D�E%&Khvs@��ʬ�yI�)y$�]*�[�u�I�Zg��W�&�����=�u3%\��Xeyй<K�=�dPfy�0�#�A^1<������%H��Etъ�D(O1s��a��<KNJ��3��kߞ1O<v�x���v���+��4����Q@����L!,L��q����y�K������9�j�9i�y��H"����
�ˮ�f�f�g���O��酜�;@h�CK���0�(�k��<�B}�?/<43���{��+(��#pp�z��t���M�N�V�_��1�"|j^=~ �'-^�q쭻��L~��w��Q޿��yz��Ck�dd6Y0� �p�+�ZbI2Z̜x�/Z�}`��Y�<�m}@rF�F����/�E�5�9�妓<���
8��^ԧ
�����\MS)�����
_ԧ�}�‚�d5^�t��;�h�6�|���
�DBAL�o��}���B�J��^��"����'[�����xK?�U��5?@��Ιv�.&k�))v�[\���q���E`���[����!N?\`O�STK.�,A�y�N�M�BS�g��.Kl��B�
0�B_Xe
�|����]vY��W�.G��r���U=���oXȂ��=	�n5����|3c/Ih-�N��f-��,Q�2�9`,��n|��jh�D��[�j2��y�w�DҌ`)�p�=D�X�<�"2��'ǒ�9���+Q��]D�V"��T�<V�|F7�N���c�*�9^�<3j�c��86��ռ�8�R�K
����F���;����\�e"������6/]�HZGn�u�LdP,���\�D��h�3rDE���i�0+)ȹ��6]C�d��YW	����	v�%�I�D,�f�?���%���
!�{�v��"�CI$b�#��*,Ì�$e͈�#{j�����-��Z����A���-&��š�Q	�-��"�����&���O��U�@6{���I[����/�S���+7u_0�7�UC����Qm�Dɷ�g�I���*�k�]��|8}�,]���U����Βd�*�r�m�ؒn*�ZA�3����L�٭�ا�+	�6�0'���v��FY�H�����P�m���V#�j��x���HZ!^#V���o6�$�d��v'�F#�`ī�yvH� �[A��H���x��3��d*>�A��A��As-��O� *d�餐�T��kҔ`²3m3��d}FI#}Y.��i�� ȋ����i��\�U��Rl\6��J23PZN���ref4=���%��	�C��$p�͕�q��n�����F�̔�4�g�Pr���� $8��gH�f4��)��L�!w�q��
�&�A��r�Od��D��3����$k���Ϟ��-�"��%��%��-����k�E�S{w���o9���gt���o9<KL5�^rx�t(�-)7�e7���Zr�r�R�4�&��—������M)� 6
��l��/28_2�_2����|��"��NF�&��7�5�݋�.F�v����d0/���;���_g��&��0g�(H���b}�$nm���ҝ,%�L�8i�ւZ�$m�AѫM�˦y;l��)�A2�X^w��B�T�j�R�év娉�8�w�������=�K9?�x�
����#��(���h/<�]<���z��E�K�K�A�/Ao�{��%�'��'�0A?��/lb
�d�'�0u�_lb
�z�yc�0)�"�'�h/|�^|"_|"�|b���(^����t�)����O�>A6a��=�e����:E/�П���L����fN��O�6�<�i��|�Y_&�XU��x�Y��F3>#\j���O����)|(��̾���z}���#��m�ɳ0��UK�WH��v� �4&F�[�L��#���c4���(r��U��0K޻҇�9Q1���6X�t\�J8����J�ԕt�+�VW���/�����9�erLue�{�M]�&G<Zlꊙ�傗�RXb�
�o�+��TWl���������+�VX�J��fn��ޠ�Voi,���/G��rSc1�cj,P�v�|g�X��5h��k�_4i,��L�6����Р�0��^�TvcnjfD�5�;h�C񖒤��dE�r�Ф�&Is.�S�~�Uր*������q�=$�%?xv+O׿�d��<\d2�3E,؝k�	q����bH���ɍ�B��[!��|f&�j��i=lEoI����u�/~��u\��_�u\���V,�qY:��Y�XNj�3}�:.Kg�*�x�t���s���kg:+�x�v���_���Sok����M�f��+���:�;+!��;��=K2���j�9)s�Q��k�Ϲ�
�J�����u��@��P$웵0~YA�<�HP���9��]�>��`0��Z4���-�BZ���V�8�IPz�d��Ts�"AK�|#sWZ0S�J����Pc��jL6�i��예6Z�z?�5��N�����"2���Ex8�P��7�!C�E.C����™�CӢ�Ֆ��O��G3Ҹ���d�����͗���V]'V�^�Q;-�+4�a^_��s�Ȓ'����BN�Wp�d�Y4�c5�^Re3��,�=��i�U�϶hD�{�ЌG1���D��7�h�C�����O�̔�)�L�X�^����>�ny�(�_��Z�&�|�x��ػ�&�|�����CTt��\]^�_�o���A�����o'hc�F�!�=�p�X�ޜ��E��"�|�|�wtx!h�A�A��nf�L��H�o4���/�./$]N��"�B�兤�M�兤�ˡi�M�!�x�t�M�}h�*]J@je�"\A�3�`��B��3�y&Q�7�}�ԨX�t�}���(�_����hŜ�����5*�+}�P1UWs����/����	�AN@�#1f�)n)��
�����HՈ%#�ܨ�Gw�k��
��Dg����@��3���|n�۹?h�m�ai+��y��EOxA���<6�Mj�D�-{(��T{�2ڃ|���{[`�oS����Q��I�=f!vN��)=
h�Э�(jV�MXi�=�LsU��&��a���j:���^�?�ל��*N�y�����	in���D����@��Yh�ay�T���|:��6��O��j�p�C�b�UA�����<.[�qX�u�FYv)�����}��eڣ@3x����?�,}�ߍ��e�����-cg�㎝�)v�g�U����'ۤ+?S�k~��.x5��g TO����Oe��@T?�V"x0`j*�ɠ�e�ƍ��h�s���*E���&^n��uTkuO{JI\���s�xq�6�܇�ռK*ng�$�z
�z��%�ͬ��D�e��˼���3����56�8�!-�@\��^q�o���f
�齙qzo��	��f
��@�@�J���O�͔������vjiⰿ��r���"ˋ8�/�0��n�]F�Zyo��1q��{�]�Р��Y��^�Eʘ�*
@��G�XEUNu�$\��~�7~�$\�o��E�ykۃ��%	���1zJB�xzEOQ�^Da�D�%��u�q�™� �(��,�4��L��C��':
��r���i(��,l	N�[�[�C�S�:Co!�K�7^���� ��x������y�,���-2������q&7�;�&C�W�"�ʜ"6�ft��,���5��5�RT¤������3f��$ĺ߹��o�^�=�d�
ڳwd.�Ɗ�u�d�m�4�p2[�U�0��b^4��M�pIx���>+WoAt����+�ֺ���dM�D� -�!�0�%M�N�>
�U�]!���m.���YG͆���$z蕒�����V��U%���]l�k�.������a���,�l�hB,A�����#�%	י�6v��9�
���J_H�
R��FQ_!S���>�=��D��Jd�@����ޮ�5�9�EЍg���P~�B���si�_���ɳ�z�Q��[�a>��f>��7�@x�.��FԤ
����41Ϸ[�/�u��H���{#�9;F͍�8@��VT���0h ��u�l9=4ι�n��[o��
1x9yq��Ua��错�������Ef�]f�Kd���.��/���a�O�����k�����x����n0z%E�Rӻ+YZ���^�0_�ZB�Cwe�U9�ݽ	�Pm������s�C2淵k>c�Z@B���?`,]�g6mu騭FW��
��MLZ�\<�n�B������a/з2������s�H��]k `�Gs��
uo}7�dx�:%A���S�RQPO�_�)���u�2nv���ev�%�
�N�sх��K�;dG�z�wF8l6�!�y7Xn�K(%�l��3���D��gH6����hR(�1�	O�I
�M����!K�~��SL�3��m ��kc:;�_5.�+��@���$�c1X�
>ϦUvS��.)����ɓM�B3U��ӿ��K�h!���5bl'c�O�q�E�kf�B_[�򄷀��h��#F4����%�&�M!�/�l�sQ�c��l
�p�9�]�4p1S�H���ʃ���Mɟ=�Gx �r���2��+��B��W�j��X�`|��
��
e�	��yA��"�$�l��q�T7����Fّڴ�xY-k��$D�<Kݩ��J�`��ˌ�l������h�^0�.�f�fe�^�tMy��t����l��XzŧH�>~g�ygN��3=������;�K����Q,�q�Nx���ٲ�1Tq1Z�FT�{�1����:�RR�SF	�b�[$�l���3�[�g�1@XS�p��k�or����^�(O���kT%��3��ܔ��Pw����2o��� ��%}��w)^LY[^�d�+��+�3��]P+��IcES����q�Td��!�y%Z�>��"ѷC���W�_X�	��w.V~��s��ųω�+�+��� �߃�wܾ�pE/�Z�q�mV�a$Qa5x#�F��r�PH�P�K$M-߄	��j����j�/�Zt��:�ϼì~�Dٕ��(h�A��D�[�ވ�Bh6��΄f�`��I8>��h;�Yhs=��m�l/ض����_.��H�w&LK�ҷ&��!��v��h5��YҸ�����V-� �y��.eg�N2"@r%��U9��S"9��.�q|����?(���E�m1�r*���:!g�?��bW��>=���QYY�(}�q�t�ؖ1��&�i͜&ݯ{ΟHwˉ07�)�O��^d��J���L���j$���������EŨ;�����;;o�Z���{#c��у���D���O-�t~Y�S�wx�O�r�C�p��-�'F��ƈӠ�6��3Qө�W�=��<��
i�%�?��}J2�i�M�����p�^��Jp���,ޝ�F���,�9e�"��ƒ�u$X�K<��_J<��$�?��3ݸ5���3Kxp���3�'��{`�j��5p�b�~�'I��9)�NO������~;�����o�L3	~��'Rgu�Hx�7*�nc�&ۗ��B�<�
�ox:r��?̈����A��J�\;�6��N��x�<]e&<��W��*�T��|�q�h�&�(�r��K}(/n?��l��`�m����ש?O,�%qi�'��M|tc$�Ш�3V�:g����#����*�+�vHa<�Q?�<[�Ipj��fl<[�G���L��QbD�&:n�F{F�� �Rw��q���D	���=�6�C�J�LO
�v�'׶�|�I�|��l�ܔ����t��+U|��݋��Y+��*v�Ձ�	�����L0{��"�pEU�fu��\�9_\1T��Tu�1���4��f����qN���3)�d��}�M-n;�{��6�7��طTt3�)؋�S,9��\jX�>C�7��6Jc�a�[j�$�^��Ů�HQ�3����.{:�aGx
M�ǗMO:��yM�0r� ��J�Y��n�nЮ.�=�z����v���Ow1O8���n�)\p�[�F�'\f(���l���J�34a�=�<̑Hy�.�G�k�j��ͷh^h|�]X@����K�J��f��T.T��(9,>XTE�z^� ���b,����u��'���5��F��*7�����`�إ�]��g-��[�mD;�Ok>�ȡ��|�)llg��y��f�6��{~l�𒵪��X�Gz�Q.,�"3���o&Oє/�P����A.�$��~o�O�8�$p�~]�o��ݼe�|���\O�ǻ�og��1-s�l0}w�O��mS_�~����5)!��"��p�7=z�p���=�ƿi�ף�i[u
	]y�eFV��H#�
��J�`m���=b1l��{�����C�N5ȫC_0w�%�sع��R�F;�zd�M �M�Ѧ��S�!s�M�l3��r�8t-'$�!5I����A^r	�l��ͨh�;w��\�̋�Q�V�*�J�0/��F��r6�����z�>�-�U#��w���7h˗���~��{�|��P�ь���	H��d�$��a}����<�G�W��i�c\�&�-Ҩ�~�| !$;̔��-�@B&MX%L�g�[���m�dj�O%wmc����	Om���+�q��S{�����/��X;Y�������uy���K�A�s!S�ʥJB`[<�HO\��Kss�3�x�L�҂���[58��^%���n�ѡ���C�@l8��,8��1�M�����/�8B����~:3��v��F_��ȓ��B>�d}�p
3��������n��V�]䭤tz:̫wI��bNt�v���3�	nlP�o�#8 L�o)߰�9k��,*��\*�}���ۺ�Ka���=���9��%��L���~����Ar�W��&�֎O���B�k\n�a��„�l���0��Ĉ��a���1�;�k&_�9�s��˕ݘ�9���v2e��
��p��k+�boA��x���k+����'{� *�Wz
�i�͸tTOuV-�Ҕ��Ü��l�z棌�b���'G�׳���=��>���I�3�M��l�S-���S����[��$&��g��C��$����Nf8��"�Za0������ʌ�����e�È[j���QV���Ҥ̿j%�Ym;��������������`�c}����1���7���p�ҡ������{��\���e�jO��c�>i�]��Ϸ�g庋IW�Į�NMVb>;��ךLu߻���-:i��/��U��_�H�����ߘ�s���U��^�3~��vS�}y.|��� �U�}��C��!���7w���`Y3v�U0-i>_�;���G�'����λ��\��FSl�j^w�x]�w�-���7Z��,�?��e�!��JE��AiΦ�pڟ�8>�l\�>>짷��h��
w4�ddSGl�����l�g�~6���?���
��ӛ���wɝG?n���=�'_i����֛$Tu�39:�M-�n��D*,ד��%<��6!��Dh���Bn���e2DZC|�1�@
?��a����'�F�R�0� �J��6LD`
T��o�Vo	�ߢ>������}#���R+��A��}�p�R��_����A�/��p���>H����L�Ʈ�N���)� j)i��XR�&�HNJ��OJ��m�w���e��e�>����"�E�/����N8Lc]��i,礅~NZl���/�4��%�V�Ќ5b��j�
�_vV�į�%n�Q�s��
.�GvΙ��,^s�9휳r�Y��]s_�L�d�jβm��9s6^Tt��<��I�qN���l#��S�_���x�2m���3e�~�!F�L�ج��`S�a�n4}�7��Q��hS���	���Z$eq'��j�ͣ5�؟�����G�7���v�7�L�Q�2�w�Շ��y��eh��q�1I��f��Z#W�wM�f�[��}@xT�QCu>�Q�KI-��a�.C�!Q=�SR�=Kd�.G��3�
R�.���U��M�,>G��
����`�zCXc>��F�l��σ��^"�x����5Ui����:\*�!a�r�hEi}� \��5��u7�4LV�0+x���[b��T�@��Y`ҷ ~^��D��z�M���I�?���s��A�B��b�V叻�jZ����I���Fb�;J$8���>7v��������/���#���p��fK�Q"ɰ���ۈ��c���ގ���XN��f���pL
m%�(�~k#���cW�������ܮy���Ie����Dr�Y�=�UO<vE����k�a�!��9�z:n%�b�-8���R�H�z��ف�u����Z�J��C/��s�%�(�%B,rk��.�G.�{�u`h�����ٟ��:�%�a�^C��}*e��%{��>���&��k�ÜD��h%��F��6�Yg��Eؾr	ۻ��p�"���<Z/�6�8?}���b�\D}!���Ic6�U�֭C_4r�mUu����� c�����DCTV�S�(�@A!�5dA����jR`�'�vT'��QV6�7�
8w�䝜<Ep���5�`�x�.b]t�1��.N�q ����>��(xZ �.`��L>T�:����,�U��!p���I�.���C{�U��6^5����u��k8rL��2�7� %��}h�QP�����Z�h�^񻳏�{�w�d�����:��cB�g\�%��>��$%]��a{x�h�'�Y�}}�G�ӈ��`�_Mj�pK�#�%�F�����}
���b?��;�x�|��H,\�Ȅ�\�ظ��:�%�jxł�q4��S�'s�y덳����0J4��^��A�$#���EK��YJ�Z��c��Fm�x�0woo���g5����`�5+{�\J2^. ���;�%^����h��a�~�*nw<�5�{o`�kDt^�"@��󣰯���x���,�-�&�l#%�mD�ˠ�>n$��x���v���+�����%�c�I�]�Y�[�O�_�{�	��Ǎ�I�H�m�}����⠁�^�}�$�C���f��
���HI�wv~�}�B�䋰L���U��=T�̝jT�+Ѽp膡�H�=[�8�� ]z��_��qJ�-��>V	Gd��p@w�T�+Z\
&�Y"�M�zA��V�(�#���>:�x�ǣ3�C�R�*`%L�+���!�ϸ��,���s��8u�����{@v�*C�X"�;�H퐟м��@J����	���7����[4爻�
�	��u��,9�	_��oJ�'o�55�?s������k�Z�o=��j5�xm2�L��(�`�өh�i���%"%v8��R���c�
�����L�x��e#p��SQ�&��lpk%�<8�Dž�J��>����T��{zl���D�N��b�:���%�y�q0�7����_�L��P��)��{��5Vw�~�;����.�B�b��
o1Ok����G�g�t��]!����֫���%;�T���h��-�9`2k�QTΕ�87����DQK�ϒ�|Lc共Mɺz�M��H�B	�*��w�n
ڻʄ����%�z'����x������="-
�����������@A� �+z
��}/�˧V�Nw����&O��
�Y�U@<y�<!�5����zf�%��#o,\K�id�5�vya�,6%���s@д87QШ��l��xp�S�֍���$��U����p�[�Q�e�O�Þ�@I�NKpm����pΡ���%q'i�y��9I�7�ۈ�qj�ի�Q�,tw���d�(y?K\;ql�q��9gDo�q��	��|i�����Ă����<p��}�g��Q�ߌ3'�`�T�i�tM�J�;�4J�I��$��g~&�5��p�#N}ڱD�,�Ω^{S���b�'�h�þ=n4>�t���mDS�M�T�ia$Z�#��oӉQ���C�:3��S��ls
�E
���{����U��
��k܂RW�}�'�#f	�����N4��3�uҪ��u��]��	������DA�\Kg�ӽs����{:y�#����g羴�c�����?��#��F�u���P��4�2���E8W��Q�,���=��P7�e�O+��m����e/�k/�k/ė�ν�έ��pnh��>��~�%+]}������DQ����	��~S�G���v�f����ׇ餱�����x�N���X��%��	��yT�"�~"�W*�5��n���ʌ���Z�wyՄ��i������fP`�?��	�S)�I�ž?Q�����^\5�s�ZtM^,}iѓ��Gݼfy��n],��4�3Z���Ɍ�	��|��?M^���fi_��1j��U�)J�#�m-p�Hs��@��U�	$�ͦ���|���i�Xtvك�ǚ��{��*Nר.J�VB�S�����UyY�����vu
1��=��翶"�>*:���~E�� �vz��:���L/Ix�U�������UWz#���"�^�ck�wfk�7�ჭ�f`}��U�1���c@�,��3��Du�s=���.���8����H�!4���&���M�6�I�y$XW�p %rT�>n9�LM
�0c'u���X�R��Tg-Tp�'�x���C
W�S�$��e@t�<Ԃ),���X(�XXb3�^�B�w����=�|-Ɍ<�Q��	���%`��YL6�>��D�D�<ce2��%si�D����(��,;{
�+�:��(9��o@��L4<�����V��{��,��}�:}i���e7_�������{���O{�M�:>�s4F@�1�L����t5���QψdV+&=������{�/��'�]�C*G����{5�L�i�@�;���Ɖ�2%�dM&�6�s�_��S_^�dS����f�r7�/��}L�ĞG�i�G�eR�؍�}#O�?����x)�*�V�,G(��H�h��bC���r���f�=H��6cumL^HXS�7��x�7Ys��I�&S(/Dt��1Z�)�[3U̙
O�G��y�&Me��W���9��sܚ�z�H���vr�t�B�$)���4�~��H�߲O�4MW4Ç�$�}6&K�9x.3��4��'�3�Az��)6�)�D��)�٤eŔ�o��,H�YFA�C�������ω�6i�t�d�a�L�3�Y�=��F�.���xCSK4��G���jԩӯk�U(�_�a�w}Os�)�ؖ���Ls��O�!�n�z�N�)�e��ғ��a
��Z+Oxx���~�d��E��5��1a����8g؃�Dp�Y�}+,�
������/h��Dl#wlt*��������4
�bv�Sp�T�e��<�q��=\cU'����=�SZ�y�v���bXHP�����W��U�k�,L�`+�w#B��&5Lޏ
�dT�\5�Z���{��L}�RFO���ǎ�͙����5�!��p���BC�X0$�>O7��I��ꑙ֭?�#u&�FQ%^��	�	�~��t�S�!�#�^Ҷ��7X"����f	s�.�;3Κ������Yһ�e��Bo[+)��	�U�`�
z�￿X�B��P
�����DQZ�d��>�~�u���7��н,��L�܌6C[ه{�ݫ�b���\Gޫ������f	n}��4~~[%
�Xť�>�[�sWt9����#avS�n
z����G4����X�c�cz�'�,����I��o�.t����R
�xr��p2�Y��m$�8����#�ڣp��SO�/+����7� �G\�S5S,%���0��b���r�\���TDMW��pM��fz�䒔��&\�x����j1y
Ke��H8����<^�FSX����`j͝=5Aٍ|)F�'C9�z(�;8�)�mԮm�m�h�H=Ȟ~�X
l��M�qm[W����$�*_`��9i-��ٴ��ؿ��8i�,Ey<R�	º���X����
��y��x�N�f���(������@���7U%4�,f���x�X�G
:Q��#?6��خö���{M\f�.�B�p�ᭌ��/t�d<�Y3�hQm�2�bE������$� �C`�9�oB>S�[q�kmO牣y1>��$�F7��2!����J�X0�²�Q���c�ٶ��"��[�OR��{����xT����2�rH�
�7ސԽ�%Y�T��鋮K>త����K�A�7��{�j������'��6�âT�O�x2p[�K��r�NU��?ذ�L�Ȍ��~@���E�hԇc��#G�1�s
���k
���k
¹s�EPo���t�'��-�=n��)@�7p�LX�c]-遱>�s|�ëQ_�
�}MMp�3M<�*�sW�"���Mk:6��0����P�`�m�_2oq��;�4B����4K���<���D�E�s~��`�&�����U���r��䦕��]))}�A�}��7��������E�_y��ϲ�eο5�8�5�ޥ��g~�=�����@&�ɬ9�Ҭ/8��7�d���HƇc�
����s��쩮�xP`���ܖ�<�[�l�q*��	����E�MkT7ބ�0�'Z����e_-mA%z�����a�h�������`9�jt��q�\K�����I4&�r�ϥg�R�)���
7�{���ğ�4W�5�BL��eQ����}2���]pX;-<�f���[�Ң�Hɑ��aꅫEH8�5�=�p�ƻ��Љ�F�f�Gz�|:�m�i��;�m���p��C�_Ģ0�m�-�9�ˆ�mqC��<{�9�M�pZ��-�b
ZC�
�7V��ާ<�c9��g��ܧJ.�p��
jا�3'�o��-�jT�F���`�,{���y[����׀��A�ɏ�9������@��X����ւY9XCC�{D���m1�|��:Z�٢�$�i��oRi��f���<ӛl-x�j�Ӓn��ax]�o�W�r�D']������ɷ��綖
i��\ZԮz���s���;�7�b�bZjf�Ls�Z�2�	j��L����"��:i���9�)�iQ�F��Bca�)`mA'߬���RX���hQܙ�F��8�
m-�}�(s��A$p�OX[���
z�~a�)K�n8�X���b��"?�^�L�x���`�V�L����l���k�������d��m^y �� 7=
pY-r>��{�S�:�[����t|�A<#����2;$�5"�;
.dg�i�d��:��M��Ng�LYԵȄq��a��t���Ys���F�Bd�y�V�~V#�'����Y�f�ຏ�
�����L�Y=;�ޭF6[���Z���U#=�1$�٠�Z^A�p�g��.�]w�w�[�s�{��QΤ�բ�n��Q�ޡ*�L�c5��Rnp��22s��T+.ېڠ�S[3q	7G%o�j�+�
�f�i�#�LA3��k�j���=�8�tOT��
5x`4�S��dè �Em;l�`5Hd�V�P���I�����M�48��O�b�jZ�F��'��iQ������G��EH�ڬF9hˇF��Zt�Xc(';��m�����j[
^V#�ʻ�Hf��](�EّJ���ԟ'Nٝ_�wY78�L[���Բ�W#���-
WV�0ū���5�}�P=�|�^�ڇ���yj�E�>�(6��ے�¾���$�1�{�jC!
ʽz�,_�]�I��;�)��D�	����a��N�[
��0&��f(
���vB�0�I�vB�aS�g�����S�o���	��_�i΃����a�j�}?aj����춎�;�f�,�Ek>�X!��
j�M,Ή
�T/�3g�i��p�<�[J9�ߐ�gv��vUσڙ�K���X�7�R��;�@��!#���5́lp�Z����jU\(W�B��jT��u�բS�X
���#��}�p��-Tl�H�V#�7\����>O�a�u���BrH�SS<U��-����j��j0
�Հ�f^���ي�E5k�5ē��qWه��\��ٕI��Bs�j��s6S��3�M8?��n�ܰ
�Z���m��!��aO��Լv�{=?���S�*�R�7��ԻW����^vؼq��ws��wMҥޕ�� oX��U��\
���]��
ծ���q��F�El���f����9���z�ϋ#i�ܞ��&G���w8�(S�
:�$��+�	�
���V!jL�-7�j ����Z�*�Au'5S��}L��&��M\[>P��
�_�!P�I��
�ӫ9�^�|�u���LU�Q�"߷�KD�ޏ-Gc��q�����ї�P�����Mxa=�؇G�39�JF��ԅ�5�z�A�2a���"c%f�����lQ�MV�]ct�E&G��c&�t�[��3kP5��`��QfV�"t�$ݭE����1X�jP��C�pQ^��\�_2(k�eF/Y�:��P��cTǀ��B6�`�0�T�-�s�����\m3��0�Ր��E�����֫���r|kQ!�f���;��c�㩇��h�*�Z��F�z��"J�Fq�nNM��IA��>�>�p�g��2�*���N�*��A��u{�!)k9[d��Z���	���XqH�m��ݰ���}M�<�l��'ޫE
}��-�bx<��cxȾ��}~1D=��;�p�gk�
m�Kiy�P,,���h �&&�&|}���ӰU��<o�K%"�8+��[�c0�^D�R���.�L��XP{b�>8����Tz![���gɊ���2A�U�g��&\:�Z�/���n;R�-:\�gG:[dF$���"o���"�n6�g-[�B�c5�9U�v�j�Ɏ�%��ϸ�Y���wֈ;
�y�� ��
l�]X
p-j���}DIfuԯ���r&�`an
	�jTJ����Zt9�F�`p�[��3	��r�$G��G�܏�CA������Y��|"<,�������HE��4#��EىDct�1@߷/�V�6��;���i��:[�c%4b�hx�iB`(��3�ܪ{���	wʱ�"�v�]��i�9�x}"փA��;ȍrA��i��&�2�IEޘ�JF��������媫���;RV!]��ɩ�C�6�N�2 �6���Ĝx���PB+�
S�G�B��ધ�[:�g��݄��l���"l52��L��0[-����[����Kg�	�Ղ��g
�M������.'���
є���A�A�V��O�Qq�4ᶯ�7S�\Mw7�Sm�-j�GU����o�l;Vr��c%7�ωjƱ��>
N��6�*�
�Q�L;|���3�W��m�P.̜��۾[����?k6[���pߑ���ȲM�0�)��#��3<��lp���	:Q"
c4'���x���$wR/�z3��>�P�\��8�ǡ_FzE��\��r���+���4�����LoD�{
&�����|��j��z4�0��an�iG�Έ�#�y�=�J{l�h$��)n	9��[�1J�+
8���[����>[��Ĭa���N�h���\:n�	x��櫲���`�9�E��n5v`0b$��>#rj�CK�j�LVg5p�>�v/B�V���~7Ѭ���u��f7�5�˔:ae3�����Պ;�Z]�}�R\�m��Zk*r�Gh�`������f	p�+4l:�l���2)[��5i�aT�'�lB.�/��B�ꐿ��=Dž/}4EJx��%f����,�@2߶���6�f�����ll�������ϙ��`�j��<8��)���yf��%E�%�_�����	X�P/f�g3�VGMŪ���P<���f���^HY+m�Y��Y�{sG��g�f�f6�U�5�����7�t��n�
���mNz$O��}�=o;U�
Ӂv�s?�]N
�+�i{u����%`u!S��p񆷍?�
5�]]������E��qR��)lUt������#E󋟽�]����r;���}��=דҹ׈g}�SK���=�˫w����y�-��]��v�=k
�e��xa��$Ȯ,��Mϴփ����_��Ak��Ak����0ۃ�LJW�g�LQ�rLɒѥ=Lj&:�gdL*��u�
���fOۃ�l{�ڎ)������[Ͼ[�4JF���f=h��8�Ojp���^��ζ�9��zt���y�+w̕�ck��l}>u,��Z��A�Ek6�Ǎ�g/Z[gۋ�p{�Ž^�Ah���EZc�Ƨ�Zm�F�֒�w�Sǰ�=n4>y��:[/Zc��Ak���
V��ϗ�=]��ѧZj�Ak-���ڧ­?.$>{���Ak��Zkr�[��Γ`S��7۫��G`=h=JԾ�>��q��ك����5G��f�oZk��qx����V

l/��Ak-���ԁw��ك����5G��f�?��hfhh�*�W�xRPd����{֣	�������޳Foe�ZG����R,�_�r���Գ�36PKF�>���֒�6>`\<9}��ٓ����5Gܞ������-q<<�'&X`��2�㡙�Z���{�
����g�Y[o�{�q{�Z��?��-�8N�:&�:_w�&�:?�>n,>{�Z��a6���hx�#	��|��E�9(�N�z�(�ր��cC����񜵎X�笥�޷�a;j6�Z��M�������w�΅�gZ����-����Z�����Ҝ��g�O3��{!���q`Q���ގ�=��o/Z����_{
ک/�8Fb��5J�k�b����/Z�m�_����5u�_��Bٷ�s���p")���,ǒ��?V�+ph��_��
h����y@�/y)�<����/3��.u%3�F��eF@ME�5�
O�DA!���S�ͦt���sz�fJ�^5��Zł��Z��q��0h�6��|J���n��j��YE.��X�,���{�4�d|���jo�0�'ϛ��	��<��Ltq29�)�o*���H�P���̪c�?/1��~J�I�!����KN�3��Oӿ�4�Ǐ�S���z�|�J^��Z�65Y<5^���X;i�	96�j*E�ű��υ�����M�XA��(#��(h�쒰���V$5iQ�)A�n�����~�k��%�/Vq�-��֘�WJ@�-�12�P��H&��BV�5Dav蜒r<��U�⡂����Ml�p��FF��)-�`z�Sn�N�u��ŷ�h�n�d�O�~��܇T�>6h��j�y�Њ[t�2����wH��zqy��CkH~h05z�T �ɡ5J34���+,`1�������܇����ZdB��*b����L�X�K��E�SlP�shD���B���v�*�Ђ��^�+�A�U>�-��h4����ϡ����Ƭ��Z�3�X�;�DW���
h�CCC~ZhΐSA0����|�m���g살@hǩ!Ț�e�-�5���k�H��FJ0Z��]t=�!n7���jL5S;�aU-�}v�M-6��C�Я�kЕ�КD#�-�3ED��c�3�'QV���1"(�	���e�oMQօ�YPx���)R�
�h����4!�~VV�2T�<�-VK8�d����$���6��dD43�x��3�q��%uS��a��W畇��)8����V�l^%����m�y�l�t6��͓5lS �+3�s[�����QNI��V�*35�¬�L�BZ�
jܰ�j*�\�����
!�j�i��bRl��n�}W�����w^�k�K�Z��O��BB�,I*p��ū�ԧFW/�CêZ�/�ks�Н��i1y6�FI���ZVhA��Scݽ������=v��`�KN�V��`^�C#D/���=L���S���5�-U��@o��b^�����Co�.�B�z5ָ�c��{�v�ynf\j�OW�2z�p�s���B��ɔY�}
��=Z�fX�&r"F7�l��5�3��`-��=��A[w�^�W�k
f��ߣ�u
��kd��jq�`
�|�>�v�j��b$��-v�Gr?�FϮqR,|�p`�[�@)z!�H\b�qd��cG+v��K��PK�6��Õ�5Z��
�+o�5R��kk)�uw/��F�v
S�]-v<��H�q<�&X��JدG���	�_�3���k�I��&W�-���6�N�cڇ
�|A*��<����dz{����ئ�Z�N�@+?�:�-p$������6
^{�+!
�`��F�IAH���[�.�˵l������Q���f�������ߙ��[/Q�j�������VWl��Hyf�g���wl0G������"ݬ�����!�p#��G������iDZ�{l!.r������^�-^7c(Q}W�d�j�
T�UW�1x��i}c�l�3k0��v[؁�%�q1Z�)B�2�N��:]�1��NZҲ���Ə�/~ �6o��
֡7�vo1����1��>+���1�@'��b���k�c��{�u7�Vc�>#�zEf�ScQ�I�)��@ ;5��t����M�FMw���Т�k�3��ݩ�m�Sb
�s�Hjl�E�&Hy�8��{�{�f��5��Fk���b!��k�F��ѓܛ��v���n�9�^��g����(�#=߯��+�8��X#D;�
������(XC������آ�k�����"o�5[�7��'j�q�N�{d�-�w���淌|�(�SP9�k
xF/����&���e��'���Y����ڡ5�\0R�7���.z��&2�@k�6�%̝��F$ZȎ�r'�ܧYw��jUO&A�klQ#��lӐ���=+����rFܬAf���Zn�)긢���2iP3�O��ߥ#.���fRB�.m�K��{��ҶsaM�^}�-{h?f��f*�h�L��d�"ݙ.��I�1�����d�b��54�yZ��[�>�5Ĺ2�xI��n!��O���t
�U'����<��ޔ����X#��	��[,�W�Q2�a�onoQ�(��������U�<�Ɗ�TO��;Z{�0��x"z�?���)鑨����ԠDl���LS.���3�p��-V���jL2N�w�A�-6ՉVaR:���/i�j��H�Be�7�Zsª��'a���ª�0����8�S��L[��1Pʩ��\����5Pʩ�U���E���ɩŕ��Z��i���X�=�g�F��h�Լ�sj��۵DTKv�[e�B��U���T�x��XCx��~͸*��g��,���O*�X��dF������5�J�(��5R��Pc�g+��p+��h�?V��b�=^-���j�j1�u�+��+��e�d���f������z��踔��l��o��L�j������	��5��YE��4D����S�W�Z�ZBr��V��wEfZ�y�g����@�J���惗�_x��Pz�;E?�Kv*��2f�u6);e���N�Mq�S�J$��G�K�~C<�vC����VH3 �4nz�Ժj����	��Z�0��kȊU��h�W1����-�j!���Dm�7]#M~�1q�M�ph����Ԡ��Ⱦ[�{�j��<�O�2!+[��|u�.\�ޢBi}j,�RF�{I~��^I@P|G�uh��V|&���&[h1p�y�J�f���`�{:v�����-;��=��N���7�$$��W�2�����:�ɕ�yPζ�=�'�oh 0��Bx�&oP�5��K�iD݅�ngV��k�3!�Bb�x���C�Y	L��`B�C���ӌq�V����W=y�8�r���~��B�f�4���BTa4��Z����iA�~�Qj�1h��w�h���s���Ӣ�k?��+��!`h!� ��2NS�Z�k-������5n*̱rSq���Z�O.h��;�z�D��Vn�]t��E��b3��8��:QS��B��e�I(�a2\���8B�+�Y�D���F\6�)�.���@�̓f�#;5�Թ�+�PJ"W�ӷb��ܔ��Dnj}�֥�B���M!"�ߖ���6n�+7�:q4!���R0��(�c�`���(7XR*���A�-��Ȃ���x}R���y��Ba���!��C���:-��85D����cUFa�0�r~hF�����XP6M�#�Ȕ�F�Yh4�]CDOz�B��=_
���
5����Z��Q���x��nά�Ek��m�}�9>�'��s���ql�ݧ��u�؉AݟѦ�8-�Ŝ�C���W�e��U�<�I�_I�j����z������c
cNHgcN�Eײ#hġK���(ԪY������*a��`
S��Z�k�LU��˵Ȅ����Ko�����n-E�W�4�:=ɭz�����OX���ؙ�k�v��^q�KZ(K5"}-}c�b�����ʿ8*�(�AJ��qT�!I/"i�7p��N�up��[8[m5&CFw�L��PY
��8=�:��D�1�c#0T��L�^c��6zŁ1�*T��Ut�:�宯T����bT�44�X�+�U؃��u3wiBH��
��e��v���'\�1i�Ŀ�"��N�7�q5�=R�T��R٥B��鋡*�*?�������<*��;1Tt�7e�����2zrS�6���$��JW���s��	<\��K�'5W=��
���b
��
��X�-���#Ԑ���� ���� �PC�'�Ȉ�B�Q�<S�)l���ZЯ�k,J`��G��=6ȝL�ыw�7������
Nwޭ��rG�QS�rS�	A�Zl
Ĥ[	��	؞�y?��G��z����J�h����Bz��[�GZ9��Fq��?��׼]����=�r�Xcq�O��_'lT��oƑ��Z��M��S��s޲�!Y��kmd�
�1��2�HFw���B��0������i!\T|�pQq��ZLr��0is��o����Yc�k4Mv�Ŧ��j<�R����D��D�H3x�ȴ�[�ܮ�9\��xl��Em\�i��}�\���Ey�:�Vf
碌.�����U0&��3Q�����c���7��X�y(���x��ŸNMw�
-�����i�c����_x�L'���7��������m�K�G���:ez�x��E~�H��.9d�-28�ƶ4[�rL����/�x6�1L��˳<JK�1�����$^������� Sn�MY"�MزTaWl�ځ�S���^����h^\�w$��N�Z:u�~��M�hȁz6�2//��q��ݩ���	�9�qOZ�/��T���s�ա��Y�W8�U~��
D�&�I�}�*����R���M���+p�oz�tf0G�RB0�aG$R�[�~ٛ:O�ROp�x!G���	Z�kYLN'z�ĩo��'zDr,�z5X�W�0GP"���9Z(io_��ȓ!]��tF��R�^�@
�]��.B�eQ	k+G��	Xu�T^��ݙ�H�Iϱ�)\�6�
^�2�D���9�̯��	;�z|*R
ĕ
�vy�th"�����]��p؄S���dzW�	�A��a�6̝����4\�Y�~�ԩ�d�T!$��قVN�-4�/Ȕ.	!(7m�-�H��?�VR��D˾CCP�z:
��6�i!�š����[Hޮ[����B�����/ְ�Ъ_N#�P	�Ll�	��E�w�I��U`����,��"�R�j����ś�[�D��� �vу�i�hLg��PI��{�Tz*y��~���ޟ!0-�{&� {h��Zj5�0�Cu�$�a�Lz����F.�j�#\;�-��k5̴Mz�M��f��HkZ��@�9b�M�wx�ʞW�<���(fq$kF�Ia�hZ��#�΢&(��F��{�L
J%�8�H�{_d�9������w�&"���lp�s������UX��E���`�{\%ue��m�Jk�RRX���
.�pZH�C���
�M���:V�TZ����|l�^��Vr�t�[�RR\���t���-Z��l�<�r-��L��B���2���Ȏ|m+�������x*$=Zlj��Ǭ��6Y�[�zz�)$	Y���(U��De��B��L�1+�(2�f�ʚ&����
�z�R�;�؉�Pbྙ	Z�%˦2"C�E�ĸ`)H���L&S��?2
�aQ.���bĆ&����N��N�H@*�B���3���C�=��u���L@j`�g6�{X	�o
*��[i�<�G�:�eB$ڃ��|�!|PO�,2�I��yl�5���Kl��9|��0"J�n�I7�GYd]�Bψ=�����6D�9�ѥ6��]�jk��B�:�RC�\�c����f�6V����T<`uw
�S)_P����yA�M�y�Ǭq�/:��6�@_�E(
7y��hZ���+�ĤM��	I���4�O̅��/�D�ad9h��xM�F��q!���'��F�m���
���E��y���:�� +�Q{�3�a�	�h�����A�Q�8M�ia*$�A��TB��k����4�\�Ao����+;B�F�V�a�`NSkZ�I�j�y�C8��E%ҟհxm��Z�x�6��<�H�)4O
��N'��O�D0���3+n�؂���]�׌��}'�F�i�y�4�Zl06�u���.���.<G���`5ں��^#�h�^�q���kl5=_|f!l��׊��T\q�%�A����9i^���Z!��0�
;0z�	-��=���W�9�7i'�C��SA7�����S{
O��t�N��k0���F��ձ׍&��O�^�"���ʲ"�xXw�r?!z��HHjT�CN��<-Һ���uފV���R\d���9p�+�/��%��aRNaU�(Z���k�W�'\�����k�������5$�+�r��-D��5DGv��n�\|��n7�V�Z+Q�*ŸV�@�
�Z�8-�[��C�&oIfA�e��z�F�Dό>e1t�}P����6�Ao�y�%�&��2�jv��f�h�Q�H!S�@$�������ԝ����3U�e�h�D]��hK��Q�]q`�xC�DzbUMN�sQ���Sm�P��)o�bΜ&cd�����a�U������t�׻��J��
�D4�
��hh�06�'X�9)-�s�=��6�Lu���Y ���$�K(�\�҆�>P�3��s��X��2LC���z6*|�NnO��o�u�7��qN���@���3tܛ�
�t�ͩV�OgR%�:0��Ž汙g��
q���ʃ��
άe%v�jWbL�����Z��	��R�J]�e?�6_)w�֧\�
�)�4:����<r��'�Et>�*
OG�.��&�J�8��r��:B��>H�r��29��
��@���!�R��l��V<&ʛ��S�+��X"�R��[�Ti�2
0�\T���”��G�rYN�s�@X[����&S�'X�U�RuJ�y�H5
�u�ݜ&h�jb��&�\h@`������4��j�_�Z�I9�52%�"uhA�=�!���e��-j���eC�vzP�����T��v�i��=V�~UF'�	�^O�|�J��02&�\5"!��W��F?c���h	��W�Yyw���B;=(){�Q`ǰ�*�p��AG�L�@ߡ	yZ�t�!�i��&��G�آt�jF�;�����L�x��=rU��^�Rd�v���>�U�xIF��թd:y��㢃���pJ���9����b��*����㱨D���mߝl#.!J59֨��q1��3j���k�k�KD����.�#�	� w�{V�^G�b�-d�N$r�N���)Մ5!>�s��tV_,�e���88����@��z�!��"-���B�PC�{b�)�~W�)+&�x��j!b�ݢ^�)&�Hg�μE��-
�Y-���b��bުݮ�J�١Dթ*�L�j<uϬ^�&��z6��9�TK��<�/jRx��m�ǖ$�@�2�-[4��a�����Y����2�t�t�]t[RL��F�k��8�j��),P���b�5q�6:�-f�IįQ�C�}!^3@g�Fknd����V�{^��u$�T��,���՝���̙qB�E�/l����*w��v(�'jrۤ��kbH��,5�M��i�@�
�I8s�N���&��em�0�:��� 5S�QWyز*X�b�2<��	[���H��p=A������K�F���07x��Ee��l��p[��Maw��i�a�_��D�B����'��v�!g�x������j�&3�fd��o�C��Ԯ�)��33�j^P�sU&t0���qo�R?�c��+p�fb����7�o�@�(9�_�d��c�\��~O�/�}���%_���׳���Q��{�|�58|��|��7_���G��7��7_���������Ź.�F���z��>�#��Z���G���o��y|��q43�ҌN�`�H�3Ԁ������t[g<�t}�r�W�u�I��yg��bVg.����+��l��{�S_δmf�W�0�=L_6���s�l��ݩ׆񝵸G$[�M�k��lh���y�ů�}�����dQ��q���/�󅫏�$.Oq�
W_�����X#ůT��^#+\��j����sw}�p�9|�f���ٓ�qAX��C���O�����_�UG�d�K�5R��է�3ʽ�n:~�X����2vy�r-J�/\�;�t�5�=��8����né


���5+Ɖ��)jb�h-�1M԰��41"-�xw9�B�)�$үj\-^�C.�����5��Bx�X#?� �W�!���Xf� -nw�y�z�!����`�!U��t�_���`��|��w;�PդίZ��گ\[3O���I�nҒ�)�_`��'?Xr�8*wa���\y���A?w���ע�dF,�K	�yb,0t�
Z;�ɝ�gԫ_���L���לW[�0�L0Vl`�S1���j�cȐ
�5M򑇅��5�A#�}5 u�YY�/�tK�=��{4өg���e�@i�L#�`2�ke�������B��� lyHo@���?�4��.�M�Wt\��%�b	ё1^�>bi�2��[�կ�@>��?�h��y����F7K	x�kw�}��҂%���-8t�3�>M.�.Ǣ�*r
�՚)_�p�֍��LGB�ҡH�\�Ä�i[d��h�e�-d��L=32��a�oͨD���p�<�IF$�V�'��m�CA"2�x���ᐗ*8�݉��vIV��O9������ooI��[��ʼ0�TO��EFqq"��T�T4������O�NwsZt�<�f'�'�N�ZX�C�ѨX6���ӭ�e�t��	o��k�8a��	�Ea6	���T�o�O(.N�0�:�3��ʼn���NZ剫E��d5ҙ�
y�]ߑ�w�J��kh�W�D��f��q���8�Kĉ�Й�����:M��Ӣ1��ը��,�G��c~E��ƭ0|��8T2��S�5���L�'�щ!X��H����*dqZ,3Y�tm�(�u+E߱q2��~O�.��S��q��bE�r�(J�t�xD��h�U�ׄ�D��wT��d����0z���ż���c��|U�h��r�m!K�E�G�נ�id>�R�8���SX�"P����s�[`-P�ױ��e9<_��"]�u��Hqح
�6"-�Z<�*p�~<Ғ��wL1��|�@Q�^-�Ο5dnc���;"���?8��Q)M�*Jd�
U��
?�l��^=������
N��Y���6�C]����5�T-�*6��Ij�	�jͽLO&� =l�7��z����9��i�P������|��a!��ZBt��]�פ~��\���vBڡ��@
��}ft�7tQك�8}�w�A����ӷ��
ĦL�3I��i^LF�7�H�\��d��@���9��d�bN:t{B��$����{��Ra�
'�B���w~/��*�@��j��^��T�f�ZUCe店H�l����M9
�+\���-f]ְa$����(� �p3�����`��L9�/�"�03m����:'bi���7�)JA�h�R��!.}��A^A/������76<��Gb?L�?/t�d7Uf|��BL�ό��Q��S�?�|�6��q�Vݙt�o<:Icѽ�q����ȟ[ug��q�$�9��Λ�c�I���k������d{Tw���LI�ɭz�d3�?�tRΏ[mg���љq��8�7V\�É��a��:�\�Q6.��8�ʃ�Qɖ����g@�8������(��}_=��]�n�!���1��-��P��[5�G�X�Z�}�΍q6$Û�n�w[�He�Cma��
g�@�E�Ϫ(T��ˑ�xS�M�L����)���d�Ôh
�Hc���������[ϸ+��n��hSFv�*d�g�Q|��q������D
:�<�0)C����_2m�Ѳ1�}���	���i3�YM�W��\ˬ����8j�A��^X\�H�Y��8X���Y]|k��cz ��tU�=��O ����KT�_ĀC�W�U}��)�/�X e��0�q�ha�{��4F�̯��;Гq�G˾���'%��5T��xg��c���#Y6�ӱ�2��N&���	4��P-����]1����u�E\,~LE1���V��@�+��2Ԣ	(�؋�@�N�UhI�}d����kv���B��'�q�K�#���H�-�olT0G��+�A��@k�#��#��8�k�s�9x�p�h
w$0���k-��~Z�N��@��y5���%� 7T�Tα�E�~���#��e�W�r�G�EM�����=���We6j����Pz�5�PM@���!Qz��-f��1�5��w\
�=��x�N���ne=�+ڌ����l�,�5�9�A�٢��TX��	�=�
��E_�P6��Jˆ�X#]�SY�t�%eFr����TZ4;w��\(@�t����*aI�t%�1z�������W�瓌I
�J�m��tw^�-?4���k�w����d������p��yB:Og��"��k�k�
�ropaT�q+�J<��U)�W«�3�«D�]Uů%�+�O-"}\¬�kt��[�j!s9ԐK���Ez��5�UC���x��+���%���0k�!gR��r���kR��X�ի���鱭�n.Xj$\���L���d���Srz2�G0+�g���5�T�Q�Nc����y�u��Pa}�����4:��WC���q�S:tp
81+��Ю:8u���/�sR'��I��j��Bե�e�Ǎ�V���Qך\)U���2����'Ƅ
ڮaR�Og'�U��G�+}XM��G��<@��8�J��6�H�[\2̰/��ް#�栓�l��W�مh1��$�����VTS���*�w�2(d��O�F�Q/��!&�����T�!�2�*w.<�_R���������
a��׊�(J`�o��`��1�K�馪�b(��,�
�61���R��߬���a��w�Aj�@oje�1�T�Oz^�b�#n�Ыb[m��t���t�Y���^m�7��#c:SdC���2�����?4c�@}2��u�	�^2��ŇW��[{�4*Dpw)M�1���`U3]��^΅�NC}�
��JYC���ږUߍ�Sa!r\i���,�a�ὔ��Z�>��4�����d$.�]��HD�p��'�G�f����I�XA�bD�=׆�!K������G��a��B��
�L�ȼ�>&�C�U�$p��4�]�W���$�2m�9J�E6�l�sBu���[q�wxX�w:TRy�©��cx��\�Y�kq���U�:��^/6~�lm��Yp;N+5<�nsڑع ���UƱ�Rm8U��-���'� �bZ��͕J:�+'Yu�2M��v-e�+~���3&e�&F����~�.wC��l�s*��y��:[�R��m�m��F��vͷ�I�eC�]��	6�4nSu���i���fa)D3�A���>����8���Vb-��Dkk	������1��>�&�ql& ������f���d�Z
�Q��z�֟-ܝ�j���y�߯��A��tPj�zPj��Qj�h��q�J�[�j$���ɋJ
�!B�E���U�_���dwY�
zvO���{l߮.�J#��4"Y�r�F#�]��ڜeO�<��>cD:�z�-Ҹ�9]T���(3ʊg��+��cT��c�t���?�)3�jJ�z���-F��ڌH�ǰ�2#v��k�����������@�;IeFc/ʌ�XD�Q�m�ڌX���(������u���{*���������L�EF^����{mQ=��o
T��\$����kT�F �-f�Z�}?}���"=���X��HR����5�[�!.K9��\��ŘW�(/FXq[�<���u-�XC�g�t��;UfX��[#�1��.��hӴ�:WSW��s)ë[Jlo&��X&E.	׼Y^V�d�e	�-/̝*�K�~b�S4-�{��g����ܠ2 ��gc��e�(GU�@�b�`��E�vD�E���q����
a�*#�mO��0�%%�A"�6�fJb�Fô���# ��[���pcQc�o��+��V-ԗl|���`��kR�~F�XD����_P��~d�f*�UFP0�g��.�:�N�
nD��s[&�
_[��(jLm��S~8WS�(d�����9�L��ERm�v-�7ݍ&<��4O�}���4ZEga�D���L�C+*G
`�h�
�E6�*|F���-,�&�j����Z?�-�G֨
�I7���]��>�ʀ+����Y��ac<�,�8����i1)����I/IO����@��4�
��@������ߠO����9j_�H7�(ԯ1xe&�4��c��<�(���̂k��:�8�4ы>�
y��E�7��+��%�
���-]4O��J��ܨ!��	�ݤ�F�c�-�~kɈ�LTZ�YX�Pi��b�b�7W
��I}H��;,lȝ���/�o��"jV��3�o0Y˄c�D2���!&��x��3p��#�F�2~���-��$��9[˫b)o?�*~R�`<��^���[�kƧ�����`�ݚbLb�S#/��AXkp��ME��:��mn6=�%�RU��^T�0�΂])~��M��;T#rYV\�L���ћg�*$軀�E�L�#��w��t+T��

���
����Ծ����Z�a4T��d��6p?�(��5�ݴ�;�b�, �M��b�\�z��2����B��������5�e�,���o��t�����)��~�r��=Ȟ�$�<�V�\�h@�G���92�������n�>$�c��B).s
&Q<6�o�A~Oh߅I
���m����
t/t�t~/�i�Lq�	ۙ���Y���V2�~�;��
���if�X�vh�,6;a�G�oƜ.�Eh	�I�;���Y�����2��NAɘӊݷA�3�
3�xZ��JQ"�;'&�
�y�^3q0{��б���+.;��EO��� �u@��bGa�Gl�+�M�Q��ӐD���g=�'�Z��P�_�ѩ@��#�q9�=�:����|��j3̴�cۼrz���95j�YHڡS�X��'?u]-l�mrI�do[���jK>9����7�ӎ��s%.c&&���8��=��H�z>#��B��y\);l^�ٲht�E�����D�SY��r�b��
rdH+{�i t��	��L�e`�7����@��a�H#X�&�/C�kC��љQ1ute�)t,�Ux�^��h����O�����d�d�Z	
6��F:�8��FPH*�8fW��r&ӗh��ѱ�7SoK4Ĥ� �Q<Vvhf��!�i��'L��ڭ���"Ÿ̅�t�f@�H�`��ˢ���� �Sצ�#��sBP�l��O�)S�t�ڙ�c�&AL���;��d�꜊E�Ua�=���U������)��4h2D�d���q����B7[�W�� ]c����%p��L�8P�����O��A�`����B7���OF�d��I.��}B��<kx�Ja���V�'��s���&hNxb���tM�C=�Fk��#�Ӆ���>�}^�<L���1��F�y7�
G�v�[%&2���|����
d��_6�_�������1��M�s�l�<_k"k��"Q/5����g�x�-8�}��p%l,�8R�e���D
8�Uq�Ǭ0Xd�\��E�-��Ȍ>.���O�"ˑ�?o�ya�}\����5��4,�|�8.�Ӱ����<Pd�3��4(�{lK}/�Br��$Y��;8�NC"�OHӍ� �ůHǰ9	E6�jo+�r����
ֱ�}��&����Ss[|��Fz��r:Y���)���=���5$w߈
��i3����[�-j�kN-n�
5���(9vڌn�B�n���"�VmN�J1�RR'�kd��6b�J��n���EVb��<J����Pd5�S
�Pdw�Q�G�C�nt�����V�w�u�9js�v����t��-v�v7�E-n�e_����^�z�mIw/�O�ѭ]52<�NW/���#U7���$Fl!v�p�o�:Y��U;�sR�ne��?Z�n���pzI�n�t����PCr���̻E��&�Q������j�k5$�I��zo�j!���C�q��J�3o�ZX2\�юO1iω�^E����C<�;�k���D�P�*4Ye�sn�[�毡��BL�la���m����N5�"W׌q�d��T��AYx"�B�K��y%�G��v0��<����!�M�Й�����S�#�Ȥ -[_?y0:���WN�Q;�5Z�-6yB8�Q�lF���������n��ũ����x2l�!mo��l��S��	ԍt3�$������3�mF�hC<-l?C=5�=�^6���xG̩�q��@3��f+Z�!/w�gQa�	�,.��dS���ސy:�ͬ���Cn�I3�쉅�b$@Q�˴�Ĕ���1�//��&��G�ADr��vs]�z�C'sQNb��d�$�v�ɹ��7�F�p5Fgh�z�!�3}���bҹn�<0��^�-Oz��N����Y�3��4{-";�FՐ�!YAM��C�mڱh<oH�&�*�s�bJѶ`=��6H�G$�R0��E�DHѺ���$��A�?�O��(���Lu�(��N(�
-��$�*�n��lj&M���ӵx���YT�8�65�L,[&#���`��>��EkA��X*�6���P�D
�0o.�٨㗩3�:�B��EJ�������J�eW��(D
�a2_Nq�a�Łʣ9���=�#��Hr��xj�]��Z_=)g#���Sݡ���x�)�of1ȡSq��k�5�T^ti2�d��<Q;r��b�8E�jh]�s�*h2�� P<��tHv%�y�Ѣ3gB�i�W.��(8���l<�ku��Đ3�An��RC5yf�qEg~ӯ�a���W�>�h��B�!x�w�4,h;5sk,��D���k�ݤe�u3���<?G��[�¤���������{`9�LU�	 ?Q�ۀ��Sc2t�+�}D�M.�A���Ϗd6���y��xg"���f���?��Gz�̎;Tu��2��ٍ7M�����6g��
��[2��'����(�!ы��<K�O��;!�{"[�U�
]>�����>����S�T
�	�:cB�A�K��-|]TI��9���lJ�Ŋ5������Mg�Ћ�񦚼�\a�)��X3��fl��7$��A�ʐ��Վl�i4��f8�K���t���$/��ɿA������NԸe1&�1��R�3u�P�RY��m&��)�C�f̜��9/�Ēװ|�S��k?���M;����E�c%���9nzܐ��z��}>�	W�U��a��c�җ�J�He�k�Fj�H
�T�6R�#�,_#��)Oϧ�x,�����hFf��뽔�&[�,c�h
�}���Z��,4����iЉ��tN�)ZǾ�]��Ca���:M�B���xx6,2����+F�ޜV]Y$h�U�A�Q���{��?q��ҙ���m�X�ږ��s-������Լvw��R���S����ѱ�埜ϯ*_�����UxGf��V[�U�W�6_��N�w���~o�8�6{��x�8W��b��Jz��UÞ�I�E�÷�=,�F#v�k�}�x����}�VO/邝D��t���b3ТU��ۡ�Ђa�Ȧ�5�+���j���/�60�@H��?�Sglj^A�,- 
�6y,z����rKKp��\	p�c�j7�)h"6Knf�1!&+�3����<s ة��Ya�<=�eӁ	�8��UekV����ڹ�͔5�6o���y�[+bXI��,�6/^H�G��S�$b���x��~���zCO�L�r�=��t"�:�|�߆q�~��>�uY�S��	�_#�7�}M�^_4D������C��rء	.���-���?���l_��mֺ:r����Y�����G�j7�>%�b��6��?��'w��.��|-y�ZB��׊�V�9 G�p������c���=��8�c/n6�~���z��%��W�$HF�T�9A�U�]+�З�u�l��3��ډ��7F� >M���
T}��(�����	bzw�
wE���J>�5)�d�&n�Z ��^��z|&9���
����JOY�
%�?H��R��J���hb����^�lwt�O�,7M�f%(������ҝt����1C	n�6���ꦱ���W�D�F~<M�x�Q��q(��a�X�՚{IǑ�G���#-���u�H���x[ӟ�~��o���Ӵ�����k�(A�D��Z�.�O������X^"]I~y�ٞ�H�F[�3�=)Ϟ�]T;�y�����a���8�%G��Ϸ��=�Z���i6������p��f���˹1��8�y��4;mg��Dt,Qh�Ȑ�q�լêF�RI|��ɟv'�{α;������f�����@���`TZu���d1�P����-�,��+����'�~��]�\�OZ��F����φ�s���q��A��_^�a�N��]C�l()��¡̴	pE��9�ҁ��)��b*�����W{]��)o'��s�`rCh���5kL�3W!����J&t�
WZ7�������D'B�=���c��c��=_�9_�1]������i�<�a���a���93'!z5���!��N���0f��Aݎ_ùm8��c8�˟æ�)q��A�g��m���y�R��2�`#S�?�M	�c�N=o-gM�=C'��I�t��d*�����`;Њ=��r�
vG	M�)��޴_��
��*سf�Ϝ�b�=l��c�Ǘ�ޏ�Ώ	�_&|?&|߄cg�Ϝ��!�P����j
*Ld>a��C�	^r��u!՞`�.:�cc%˓��Z�8����1Q7���[{>��ۗ+~�W�ڏ+~~���㊟�7��N,U]�4�f�;�eMB�î�C��mD��ƒ��{�����uՃ�����2c�B(���c=q��6��u_��1�����з�з/C�C���?NQ�1%N����f�*��5g&xZetr�˭�xRu;f�-���=His-"c �����Y�<�U�n
8}��)�9�s�Ͼ��e�ۼG~>�~����%��'�;t���\�^m��\c,�]��Hg�-$}�<ϴ�r�T�:��_/���qa��a�2W|��}v�+߆~rSk��O��'�g�j�˴c�OG��3�Xxv������`5_
&Cu����o�w���q��S��k��c��=�˸�Ǹ?9U��~���u���`��N�n���w&��t�9Xe���*��/v��ͥpx��R�[�^
!o�/I?]E������\b����9�9��/s�sP����ڷ`�~�(��~<��T[���4�D����ޒ�5�M�-��x偃�d�d�ARhU��ƌ"wh�+������.�@�6�_�02��B��	ֵF� ��@d	'D/���eL,`�ݜ�6�#�؀/��'/��វ���	�s��ٌ�ױ_�����y�R%dc�Lz��X�JIu �96?;�xɏ��߃|�S_勺���/�	p���[ʮ�SKwI9���zfP3�D�G� ������
��HU��8��	L59z���I��=���T����K�X6�����M�cغ�g2�Z�v6pZ�e���PN)i��tv�؛���\3���3���<��W���H�k<@��+2�D�^Չ�c���;�5֛C��|0x��B���R��$f�~�}���~�ľc�9��;K�~��;���)����P X���Jr�m���
�ܱ}v����o8�K����~"�ؠ�
��������5������k�r���M��Li�p�]�ӆ�qqwf�Г*Wf�B���Ƚ���&[F��nX�x�{N��������:1o}�)�N���6�:?2Yt��Z�H���Y8r&���4ml@_��nh+�#���9]�e�T����I��X�IX��&z}�U�3�=�gU�����$q�u��\�6`vp%�j�D�����³,��Dm��ig�reP�D���d�Ǥ�Y��o�1�ᓂF������ؙ<�t�f�ĀP�4~9��&�v��e��|`�(�
[�^=9�auI@JpPd
�g��-g�'��zZ����]f�{�d�(j�ZwsO7i˰�
�[�.:զ�a�k��5-�v������X���c� q� �#$��9�=��"��^��-Zw�b�ˎ�3Y,����I{l�`��y�PK�i9[��B�\�¶�,L�Mԝ�v��4yJU�-4'�(LP&9AW�����IU��&�^�taj��hpi��?ʤ�-3g�t��f3G�N%�_#,�(�%�I�<ܨ��wս�aT}g�ؿ���{7�185�Zt�$����ēg��o�l�f�F~�yL�qx_�������NH��l�LG6�
��t��I���Hn $�R��8�D�/��v����a#l���T��*#1����ݒ��W��37�]c�ڴ�����}פ
��&�40���A
�r�Ry����В�gY�kf���Hb�7�*���/d�c79<*��I_�j30m�1�0�N�-e�́)fl�m?)uR�P��6(|@�*�S��AW-��X��F��%�j2�`��D�v�v̅|�	��+(��f�9�4Z�=(=�K\��]�@=g2�� K6�3�&rU� �D����L�K	
/ũ�`�c��^�Z�}7����1h��0��v�\O�\~���֦3E���I�	q[�#��<K1�y��0�.u3�n攩w�oC��
�l�y�D�AI��1Zx-��s9W4�Q/<a��2���E�N����Y=O�8�';��^��q#�hd�Z�$�SH	(�H-d2%�+
��vL�Q�kPU��a�MM5��4:|���t�?�n�45�7y�L�0��2�xfv��d7e'�Ac�\XRk~rk�F����H�2�N�^�T̉��T�릈��@���!G*U�ָDڽ��m@6���ִ�`�7�4]v��'�,�^O��L��	�(;N`�c_	
\u�⦮֣I�������Ak&L�JW�n��fu"�(��MrsYb��Fи��[�b�>�q�K�,r��o���l��\�l�&3.��3=v2}�x'�#
�,S"P��g!�X6R��M\����B'_F�Iw��7/r"	oXU$Z�N�Z��"N"����5h���6���k����)ǹ-���=��k#{��R�4e:�J��K�tJ?i��wr�ŝaW͛'�#^u��9��/V��j��D�@lc��q��ș��rr�"'�[N^�!(���<���Jߧ��T�I�o*�.Fv�93aw׃����eО�a_0��Y�L<d%)M�X�!�:h���$$���b����-�A�}.���]������o-�c'�Mi�==�^�=��ε��l�b����e��s��Q[�	5J��k�4�RIv�y:=�=8��/�0���c1��brO[M����7��M(��j�Q���<d<�#���@��d&��H�'Gđͫb6rw�bY�}i-sO��a��<�������2����(�F�'�6N&y²T��d%��3���@W[�<��^�L�Œ�;E��c������r�1w�����a}p�c��2��.nTze����Q�g
�害����iu�z2~	���B�v��U}�IIj���K+s	(r��i�U��	(t��PZje�U�H����B���&h}��~R�VX%0�&�+���s��(0ߴL�c���L5<#�� G+Y͊���P��u���	,����Az���@Q���q�}}�)�#A����4}V�@~#��쌪�l��gΎq�3E�
x��(�Tj=��IHfG1qEOJK�kR�ޤ�k�g�xa�����t�cY#������j�`���-Z\}0͵�8��Y����68�`��!���8�t��K�l����4�8��ta2nP��� \�]tp��J���}��9����~_��
3��@6(��I���ɞ�\5�L�����}/e���tկ�7���x,*�8��1��Et�
���Q_����m�M�{��v[�$�W���{d��~�y��}��Pdꐑ�%�* ֟U���W�
ǰ^��|��|�vE�Q(+�Q�3ꦷ��3���h,���m|���3R���h��ܻL���xhf^.0��#���<vSrI
u���]��9�fɿ���[�=eƞUp��RY�ҽ��u:gD�V35%����}�f����}Wp^�85i���ӂ�ZvTSOI���W���a��;�p�!�����=#����ꂖb���,}r�P�'0#:t�f� �_n�r��҇�|���v��;W
�ۄ�
N�*�)?��W2	�ru X<vp<��]�%�}~*Ѡ�D�d���:�ܤ�r���Ho�+;#�C)�%�G��oBZ-�h�Q��!�Ш����&��D+�Yw��NXh�e��4��Җ�IupC�����~�5�p�5�/>�厅�+��ܰ�j�&�=zf�*i9�#��f��їE�kA���P����vZoU�j@�Ӎ[�O��[��{q�����щ�
�a�@Z�fۇC�P�G��ѯz��g/������RdIv
,�jO[x�8�W�_E���c�}��ס����	d_I�7��e<1��'i���f���#��Ǘw��?�ݿ��0i�&
XX"��:
*�{�w5��D�W��30��y�_n�^;����{��u��
Wo45�8|��:F��f�tt�g�AZ�\�x���a����-�ٛ�p���W6�d0��^��6�o����tow/�>��iM{x�h��ׁ�[;颀vk�n��om¾9�-�$�vN-�cnh��i�?/,`��:�g0z|�$���D�R�#o��mo�H}� 
?zq#&����}z��0����PlE`�+��&�-E�r���g�9�TZ ����U�8O��{うUH����Ig��7�G������훙%��n��ʹ!Ƨ��P?l&;����r�5�i�D��[wqJ���G����
,x?������qD��;N�a�E��;Ʒ�
~a��Z��-�7�5��7Sh&6я��&�K���x�f����7ڳ��/ڀ�=%�"���z�,h���36K���&އ~��E��>�$���y��ɇ:����kh�l��f�dn}{���R�����Ə�敪�[�_ϸzXFMmv|F��׏S��{�=���V�]O���|�t���� m4G�y�QK�9[��u�:�j8���ُ�FVݚ�i�^r��?T�4�:��Rp۬�g��W�b��JzS�~<����><��`��O�a�
z�c���=�{1��t�����~�F�L��><�A7�k�v���F��G-�P��`=�3����}���i�?�o��q����.�_��<��L�M�ze��֋�=>�N��_��U�����1ԉ�Õ�]u'M�I�9C�u��j��������p�v44����-(�3W{�"S8P�J��֋/������}��=�3/}E�CL����f-T��
Z��W/����><_�����.�����U��a07h�o��OT���g/~>���y�	�X�hU�;Yh�I�]���`�T��3;
�Iƙ8���1޾j��߰.�y"U1�É�vC��SJ�W��a�[q�����E�
}=l�f��{K�}��(Ю�qmRkxj����*G��=����-4u�[{b{�S7���B	�F�a�,���������z{}b���ɞ.5���L`v�,��c��*�"��n��tW��?y��%O������7_��z��*�;_�Ȼ3�q%�F����&u�#ʳ�Q��gU�7�tx�{
�lC�EF}��a���C�&9dVs|�;�WZ7��&��ѭ&?��{�'YqZ̶6�y�r�`��O�ڂ���U�c�џGJ��
>{0nsRv�t����m"�$�Ȏ����N�����j��><_GAA7�J�&�cY2���ʔ�Zi+��{R
mj��K`��~DE���i6Z���U�%�?�L&G܃Y;�9�F�J>P2C8ԟG��TχQ�/��P) �zbY�鎉��^WE���bF���{�yw#���0*��2Q�V/���k\G�뙔�0��2b`��h%z�m,g�����)����;
gY��O0y)aa��l8^��=��}Ǚh�oY��ﺵ���e`��5pu��4�zhrd;<�X��ׄk����[��h�K�ז���%�;��,<��4Y��{��gP�=;���
���|!�ɋK#O���Sj�CW�%��{���K�����D_�W|֧���b�)5��n�
:���L�(�:؏���M���~v��0��/�xU(�O�z�I:�>`6J�.�[�g^tz
�{-?�x��
��m�>���Y�Qb>|D�^�xd�C7��Z+Q���~�+)3�����&���E�a(���rH�3�M��F�׮�}�x��K祤::��n8�'�J{�
]��ɃH�ӧ�M�я�b������\,�ה�c��@g�ήH��1��|�c��~)��݋ǵ����:}��� IS�;�t�|����.�b�.
Z7�ǫ���N�\�r���mܢO���6�IΛ"�Z+��R �x���8�j<7��YG_:5�p�2gJA��c,H��c�򐕌����ܶ�c1� 	����
2w�o�DF�+i�1��C:�Eq	}ms0���fނ%�r�N�Q�ƅ	
y�$
�@v;#u�c�՛~zEpKީ0�7Щ���<Be%�D� 9����](���P�;�u�EW_��NjӧSZ�d�)�W�,il�}4gmN��Ō�n�υ�ț�z��`0�$mn�U�� �<�P6Vo8%L3��QϨq�	�k��Ǘ�8��y���n�&Z28�@'�Z�PDZ1�MoPl#Ts���؃ǹ_�݁�N�D���U�[�aI�R�v��6u�W��8������ͧ�ч��������9��K*�Mp�]S{�%��g�J�>Ü|z{��b-�i;8�X��(��nU:
,G���eׄ,K�g�4��g�gϳk�x�������;pf�.G�ІƔ��]D@�{��	{�������X>���%����r����e���!�.�,9~=��z�Hs�y��b+���|�>�7��Wg+�D���V��\`�1�[�3tZ�9����V6"1�[�����7~>l�Ж!4)�փ�W��8��Mu�<��cϳc�x�����YЌ���{�醠��ܯ�6ߞ�g��z�������z	��\��w<o�諿�ew�ϯ-�@�Fz��T/���m���w�7��%�����~�N��a�n&�\>W'p;`KSZ�TF�:t��]�^�K�&���H������Q��m]Ͽn��>e^N8�g�9P�3$Zr
�TT�H�q��������x���/%�����l�x�w�@?9Oݴf���v���G?.���i���y_����Ѫ��%)J��HPw�G���iiy�������7��L�1;/ 6�({����]Ԓ��5;nj>�э˃��4޺y���Yye�I��J�4x?���Z�q����x����i�?�o��-7yg��#�W�lw��}U�>j��]�k��������x�������D�J��a�c�2Ft$�\J��9'�9"���8�^��C}����(�d�Ma;�Tחh�Z
��Gi�%��a�H�x�ॿ^���kK�8����D{���JN���^�C-��K��E�}�i�fG�Bã��y�J��("h�خ��!_�ң�cX9
��]cX���_��x��Qrc��7�YЂ�ѣ����@<e�[>�w�}�&�~t�ח�>��;oc�
h=^�B�+��͍�XiK��T��*���3�N��z�è	/�^n���]�6$v�D�<{8Ƴ���Pt���09x{^�j��1���g���\�.�Ggy{����y<����/~���~�^�th�=_�M��w<���k�%�]E�r'p���0+�/�",N�A���Q�w�8�~��G���_��{^P��w6`guVz=M}J��^%�$����b���k	��9�!E��3 ӊ�".魺�R�vR5�(M���^���
KF�֩��[�Yي�W�窮p�����V�P��[hJ<9�
r��ٔ���7�B+�^կ>��!��e�O	�d�$PY�a���QE�PP-ɨQ���C���O�ӆ9Z�W�,����N鴁��sg�
�׾�I�^����T����;�}M�ʪHX�nY��DȱnK:��T�o�I�_��lMd��)�PJJC�|�j��Z��pL�,���nԬ�MrV:�H�5O���P�(?-�3@AE?S}���:$���d�

��b6����|��UwB��ˠb�u�wQ�kf=��"M��v���6~F�@]S��୫�&���f
��.���j-#�oS_��q�� ݼ5���.$`��s���Xw����������a�<@�E�A���Z���cI,��4EW����Ѹ����B�h�VU��פ�y��{>M�g� í.0�#.���`�0�V�dk
j��U���r��.��Z5�ʚ1Z���g=�*�+R��QY
d��vZ�	�S��R����oBv���L��wP5���(ôK�Q_��Еָx�u�M��|��3
����'�N�b���옷�[�5�����% ��S��������'P�8�E�?�tCL��+�=�c��1����[�gO0vn$�+I���ԣ��ި]�CKgN�ue���
q�`�Cѕ1�P]m�����h��kIG��b���%xC}�z4%�,G=Yk�9���
^��tr�n[-OL��"N��(� �u}�w�@�Æ�߰|���K湡P6���m�4�
\O��Q�xV����"���
��$G��,�э�
j���N����'�|�p��X6'���h�h��E�����I�q^㫮���`��,Ǎ9��L�A�U09�JA��Ls�5���ī�NT�bpp%R��_!��\g���MŸ
Jo�;9�WKTUoz�I	�U`��x���"�pr��j�(9/��G5z`}3x�Pe��ߝ,M
yJ'�p4��E/�_�����Z'�\HDd�nǐ��
��8V�|ppe2�{EJ*.����c�Ҧ� @�,ܶyd
[�5����<UI'�'���r{�Cr5�z��$^�/n���?��+��]/H��"��)���1V�.�Up�]t��	Z��Ae�Z��'�U�db����;��F�*�Y�NDkX��s���`G6jhq�hM��V�����z�����x��h�o��N$��.�}LޥD�;ن�ɂ&H&��
��Ѕ�I�WL�B�������"H��k�D_s�Ⱦ�At�ʃ���&��dRR�Q(�xq;���o<�>G��q/��R��G��1g�4m!�h�y���xpWf^0��7�죟1�n��
���B��Yi�*�vYT���&S�7�[Ќ9i�(�|�L�pG0o��2y��*J{T��2�2�r+�q�)l+�M֖����.�:ț\��l�c��հ}����c��q�6ȹ����`��M,��Mu
��h�cø�e���ί��^D�4��t�һ��6si�w�:�QJ��J�
�2.�Zz%���4V�����J:�}pFTWg�r�a\W���n��u-U����;h�o7�DK�F����Rw}/&�;�U�W���~s3w1O�.~^x��v),��mЃ\7냡�O���`��c��˩|����ѳX�P;����8�$��J�����E��6O��U���Y��덲��&t��
�.^17��`P� ���H�3Nۭ��^3�F�
I؄FV:)ѹ���U��GٔF�%U�A�l� .2����kf2����¯���܉�j����Q�@�	b��<:s�f	�O)Q+
|�8'#��J��V��W�4�(����.�u<a�h5�OK��q������� !+奐��
�P�>�C���x�h-��I;a����֜A*�gN�ª�PѢ"9�Z��Ԅh�hE������r�4�Qx�n��1Q�G�0�*�M�*D��Z5���:����ͣ�V5
�Fu�Ve�g,n;���aFlf�>Uȵ��FZ���5&p�c0�~�˿,��: O�gg@2}��m�!���h����wr�f����ϸ���9�yZ��wy�,@���e�2�7������u�?�@�V����ētW6u�ѱ����G����z<+�e�]�%בd��Y�� ���	�z=8>����7MU�GeTg��U"�� �#��ڟ��v�s��X�� �Pq1�b�J)^��fm@�Ӻ���^����)���(܋+����7��{���;t饾ˢ�EY!U���-���	�}�2�Б�I#�6�,��yt��j��E�`]
}�;xY�*���9Gs�IZ7t�I�wP�U4�	��O�f<q�3'Ȥ$ٳ|�Y`�9��Ok�]���M_������:V�)V�!$vѷPp���Nh�yh�ʬ�_�x0N:�����ӻ�n��5�$��j�ś��y�r˹�c�K����$�eÎQ�S[_m��:�~u���9vyǪ}J6-Yx�i�K��-�it/���`�W�~!QL֍��M�t73o9cv�w+m�IKM'#@Q�pL��T��a�,�l��š����,�f벛�(D�"͕���0�������@<V]NKr�+�h�w��Q~h���H���,A����SHh��[W��ʲHm�+�^M�Ec���)�=��$4"���[`9�~ 7YE,�h�T>
���DQ�J�&F�-RƇ��Z/�Su�B�����ó��"(��}ۣ���"D��!˒�
z7�K��IK�i��ڱO���#kj`ک��w�~�ݣ�;���ك�7G�Em\X��F��%�����w�iR��g��ܕ�Ƽٶ�6[�}�ܵ��ɒ�+a�dl|�~��+����$/Un((�F�'��>�D�D�Z�a��#e�6-�]t�'R��X����b����~{�~�<>S�߉_�ڗ�w��!V�\QOW�a�XH觋�-���l��y<͗baT�קF�r�^˕�Ie�K�k��,�ee)�jB(���I'���K�ߚ>Rә�d��E`��'��=��=[���t�ɫ�G��o�?K�,��s<v3OS�M���1�wX��U7���׫W:�T�t�¸A!�y.~He��P.�`�e�K�S��fO����]y⧣떏@�	W�l�	�}l
�������<Q�D3�!r���$1
�}��-B�+�k�T��U(�h�[Fc��E�}a���u�X
4�V�F��Yt�� �򵬸0��Z��ڴ�����n9�24{P�����)�i!������������qȧ�~-���J��_�����s�n��h�2����qu8�-�K�f�m�|��W���g�[�����h�\b|�����#����̃,�Q*	��;�x��UH6-hB��Š��2�g��.�������r!��ܯ֦���������V���EE=u����t�"ڻ����{��M�:RWF�S�йzh�F�-�ñ/֤�C?�r�:��だ�Y%�5�CM�HVҳ�� !�5�p�
�X�=PƧo���ɢC���<TOx�%�5y�RoQ���E�t��{��́P�s��4�ʄX��
I���Yn�EI�ɀ��_��\.h�y��җ�X(Xi1�p<��sVM4�Ӥ,].�H	�O�9QI�M^G�����I�=��?T�W@�3j��q�����˕V����6$��0��.1@�|f�`�T��B����~*�*K�$P]�Y�k��g���*}�`�<id);��yG�,�M��J���=G;����27�ِ �z}���F�e�:l�I��Eś>OH�Jж�I�[�Y��"�X/N�6�-�!u
c}�I��k�B�a����)*b�z���,��a{�z���6'[u)��3�
�Ժ�W��<��S��MT<$Lև�I� �+W}�,��X��	0Qݼ���Z���E��ȞmB�ڽ�R�EB��JQ�=��CP9�~�%��Q�5l��
)qI��$iz��n�p��O�Xl�w�&����s���~3��],qc=b�}��|v����ā���[�ͳ��Qٚ;һ��`{�������*�{�-�V�L�\Q؝��q���]b���T�˖�y�s�����a�t+����	���]����	�������"HC� $��Ɖ��jk��.
�p��X�‰^�3h�OVBW�R�����v$C��jhA�[x��*�vJ{iѪD���&Ak��U�Z&�'п���}8�Pzڜ�y	j}��^<t�y�MM��|ȥ�:�\JG���^����Y���f��${a��:������g*��	�\�q�f�@�L���!
�X��B���K�6pA�c���_)����=C�}Z��sE�;���
�n�<� �s�lќe)�n�4RwQ��ך�,�lٞu�C�Gι�^a|�@��ex���i5'|k�^W�c���=c��~���`�/�W4����-�D�"T�O��+��C��ձ���x#;q���D��$�j�#2��P�$i�+*��k�s�@��>yR�����E��C�'!�‘����Y��e�Q��~Mb����fC�޸�x���yrc�r髈��(.C.�{��~�Խz�����uaZ�n�:��%V���]��Z�J��bb
l^��x�f���̭�Ň��,ƅ܍)��$7Uc��O�0�+�?��J�<I�2����rk�/M^,��dO
�h�̦����FL@��91��Hc)��T��¥Mًi�#�	��֝�/��XMn�R��
!�0�B�?,T�w��x�PpH���
�f���p}�EEL�Yk\��Y_.��\R�A.����x<��pPFR�[��Z�i�l3b��E���ϓi����,A&�C���Y�=��!Y���Bϯ�tW���f�|�_��i�g�&p�<K�[�������>N�'%|P�U����C!hU�~�G�qk��4�U��}����>�Z�Y�D�[��K����/[^��^g�y}EE���ԟ3zM#�+�`���
&�߸�&�
Ўu��bN���B;�<�[�ʮc�&�Asn�>��@�D/KU���B@P���u&�R�pk���E G�6���-*��s���*8�7-"�`Jf�I�m9��d�/��ݚt[����4MK�4��
��Dj��:U���<�\��$k���Ս���u<��zU���+p��jۦ�	���� ���uD������5r�+Y�������:�����}��;�B�tXi:!K��h��ؤDŤ6=�ul��8�M��>M�]a=���}��v�V�}d&�/�g b���nr\���aN4�(w�+{FOo�Z������}��0�>����X�W�”��)|�����0����y�L����>=�R�R^�vbd����a��gNXΜ���̡{RJ��(�����RM[A+"��C�:2����;	RU��2�U~��� �I�(M~Iz��Т(��v�K�
�h
R$t��\XR��K��#(w!�I2���I�̤W�,�y�C�,D��$�_���9�)���Q���ӛ�&U�!�����_�mIV�Gu?{��=�]�{7���c���twUJW��˷P�o��_�C|����_̊��X��ΑiI���jڶ�]�7E֙��]qȵ���d=�K��t-]YU�3���_�(e��APj�~B~�r����b�����UErn�,]3qt�\9���=Q�Wẇ卫��HЄ�V�fK|�2{2X����<wTzM�H��Ԕ�o��Hz�q�r�J揰�P�hU%�b�n����;��&��r@��cEq�{�5��\�CY�}�e���߿6��������[�߀��P�DT'?�&y�ҍRb��5�~��Um�R;����2 E���5�}�n(�Rn��[t`d�K�p�[�p��=4I$K���dԺ���Vb���Zi�٥��3��'^W�OS�jN}�����V��
]���ѣ�Vtb�`�׹���&���:g6�握c�	(�<�|��e�dԟ/�]���(��"�У��u4tr��S�>�>2˿��DА�$�tQ�w�&�z�;h��!��Eex��B������V�ð�WP�"�ϘV���"�I���F�+s�o���Mr�����M
n���ڤ�n�uT{d�üԾY��BǬG��vq��̒x:�����+;����,PU�<�eZ��L�yS*�Q�<4J�*C4){��v`s=3S��gZ��<��h9�ɑ
�C��5Y[�||3C�u|���f�}��(J�ҍ~��2oXS�u�SC��_��z� k��G����k�R\�k�q;J�|���"<нw����a��j��L�6�HE�ui���cj�}��Fs���j��^=���uo6�,��u(L߫��zn
��G���H���Y��9q��l%�N�j}�2����;�U몬�d��q���7y�s!2��%�1��N�|�H�Qqx0�}��\��B�m�b�8Z�dE�CuC�r�J�&�؁A����ɢ	7�1��.ߐ�g~��K&��~PE���6�[��m��U��J
�
/��!�p$����.�L/_E'��ў�T
뚚��_��e����5�t�)\S1�kl��E���J%Ye��k�8��UX�*؏�z�q��7�)M�����c����H�r�t���qE�?�=��<�U1�'2^�J
y����t�1��*ktG�Q�K�j]�}�� �C4��{����$�wƾ��k�x��)�!�C��ҵF3��ovt
����Uw�{)Ӳ�{�p�9�F�Ykgj��8��B���c
�
>I��6������F�L	�]�|���H�
�zqT�Փ����̙m̭ͩ5�T�vy)�2�K� �l�b0�Z���_���*�x�O	�ͩ���D=cm�q"͙���F
�-�}����mCIz�j��+���WP��^\6����5����@~{m۽v�F,.�E�x��0�N�n��f��^�63g�T\�z�T���
�i�:��T�e#����EŞXh��^���k��kҿ*�C�ڵ99U���ɍ�����T���{֙�v�h��*�ғ��XY�h��ͱ��Lև>��Drcc)ŲP��G���bT��w�cǺ�zb��Z��Nhy�-/��[�?e7�hN7�6ʸ��M�����g>hrwM�']p��D#��x`�T�p>6z�Y���YX�~n�
�ڞ&W���*���՟��:M*S���ܵP{�#~3�'̂R�m)	�\�<]!�}���^��4���_;[��B�����Ņ'e���i��%�!�|��ל�
�Ei���-�B����:x�ԓ9_�-���V�tlxF7�Wl��d9�v>�T ���>"��+b��ֽ�y)�U�P	��Rz�=E�ʞ��Z��=/Vj�}�o��2��f��Y�6{]ެbz=X���q�����1��ȹq����G}���I7�q�B?�z���i�ʚ��M��t�c��y��T��l#�^�+NQ��`�@i��c�q1��y�y��Mwы�{��,�����k���o�$�����G�A?RI�0~k��P'����������Ws��a�?��U��=Ge[�'�6����ٸ;
�A�=z�;����Y��"+�!��H�B�%ݑt۹��A:��9j�U�U����¦3];�E5���NE���}8��^+��p�����^�h����1����3�z&�6sz-\����%���8��,�
����5�>�E���Dq��Ўq����'U֮�Oa�Q���wP/}xU��W/��n������@�z)��>�5�s6��؁����t�q��+i�����,2�tw�D��U�;*�7!S�R���[���
�?<@��TLf1Ƚ �
	[;.���߿<h���&�	�^ |SRM��_�p�3�"��领S����ii�C���i���B�41��k�㦬�����������J7�Iq�K?T��s����E#�g~e�#����J#��b�!}U�]��U��%jwXQ�儭-4���Fk��`_S<�(2�#�66
�L���MR�2�)v�R�P���TJX=���FP��u�#�iebS_�u��ޣg*%��Bd�6�N:w���J	��q��k��#�2�ӎ�Ӎ�M{ż���=S)a����H5�$�Y�}�$�f��I8�B�Ƽ��j%�������_�^q�v��hnN��Փ�Z@4�R��	h*�jՕ�M{�P{�#R�U��v��Z"������Yk�$�w]Т+B8l�޼+�,������ ��m�]q��}����@��|�[k�
�j�)s�!���x=S�n�$�t]��=�H���Ҏ0�VX�0� ��L/Aٙ�)`.6�����~��
��Em~��fR�R�����Ki���	�M�nk�$YT>y�UY�]?���E	��+M��LE�� �|L�(�>�&ʍ6Z,��ˣ�=!�Le�As��6RҗM�I_&�J�e$�ʭ�K�+�BL��a1���g��sZ��lL�n����eӈRu�zݝ�κ;�*T��R>�^+}B�a��ۘq2܀���{j#��G��[O^:$���JWF~�(��;�,۟^�Ȃ"?�"���\T��Uec���\�\iQ�a2A��˨�P2�9DF�����&��c������,�o?�YL��S�F9Ul�p��x
�J�'0J4��U�շ����by��q-����:Ƹ����?]S���)2�3�1��-k�n4���Z=
�K�5�3��PLj��=�:�-#i�g�S�Q��I_�f��jQ�����,��q��vY-6�u�~��f���W�㌅zJ>� jX�t��:+]6.���l>=ۀ���?�,���Ve6�I�B��b^����k�y���B����{D��>��Qz�6b��l=�8gҜ��A:�8�k�=Q�xV}�n��k2�w�K=�a�d���ne��e���>�7/����G�^��qDGS��Գ�H���_|�6>��l����G�n�I�ǃSI]^��K]�Yx<�-s\	��k�c���n.�1�\�%5�]�uTJ���e�?w���~C��ͬ���Um�-5�՞<���o���^��G��T��~����{]T�kgz�B�Z�y�'�N�"���ܟ=ו�d��7ׂߕ��oʖ�F�������Fho�T���-#��cL|�:�5��莫�v����8'Q�V}D[�ޔ-,*5($#�Q_Niu����G��0�Qi��Ȉn��z��ȓSF��e`�̙n�������fls����0�3R�+�CI��#ƾ�>��JN*cs�G�J~���tH���}%�����������>�; �b���ٴ��k�*�l��r�ֲMk٦5ݦU/2'B��5#�kZ돱ݚ:��1%UkUlrl=�W巨�.��Ժ
3d���}D���+^�y�?�a�O�0p�m���ۖ^ݖޒLN<0�9""�������2@�6� :�IY�S�|��N�b)QgR�W@vT�Ы��h�W"�/���ɪ�(��e��L�i�+V�!���\������5K¤�,eڳ+KU��Xڮ�Uĭ����5I<���ke�¸ϒ��*��V�Ё��	����t�ni�����?��׌���J�CT�s�vJ.��Tj���W�?�s��ޠmoж7(�7P����6��!�
�{x��L������B�x_/op�[��;�̀�����(��XM��#$�P��I׳���e���RN\x>���jd~����<����G��-U$Mާ�OŷL�������p��B�I�P�cZ,�ʙ���zS]M?~�?^pMm+�Y�'➟#ڤ�(���3���h^,:����7�B\�9��'�V�I�Q4L��3��!���X�V���
�SϨݠ�m���9�Pz�BcJ��q�;��󱨮6j���c]�1�m�Ϊ���ʴ����T���Ǣ�ڨ-<��[���|Y�����1��	z���|<��@�r�=�:HX�-�S�[��k))��BQz��e�2�V�3I�@�%�+z��p8�O�K��m���>�<h�\��A�g�2�t�+��Jq-�Z�1-�G��z�����ښDF������F���ڙXtV��A?Ob�]�'��#گGtѽ�g�1*G�g�3�Y>]���Mr�n�Kd�_�[\��5�/������wO`y�;�ce;��'���w�©��NwYoVGυ��Ϧ;�����]^�2���g�/b��JvL�~n�K:��+�A���F�����\Ԭ�u�3�0rRS���)�Eό���/xl,|,����>�7{RwS+<)�����q��~?D����CV��^��h�X<�7j�}D�o��0|T%�Yrm^�Ib�z��=3Z@�5�Y66�w{�Z��ч�f �\7R򤨽YGA���eC�#��(��
�W@9�-�e#����Su=N�Nh
#��|a:&�L�,zfD���fY�آY6j�}�o�4ie-�R�?ؑ�u��~��)�Eόh��,K4��A�=z���/,d^1/\P��\D�u�6�׸3F,��,����X���mj�e�o6�JN"��W���
�WPza��
�S=S(���,�9bY6&օ�R{�#~���Lı6�)�>8U���3���R���,�n��>#�E=}�o�P��H�����<AU�b�~���"I�W'�h��Zوۙ��h�m@��b1)�k�z
�Ae�b�3�ş|���(�H�/�^�h�X�B�z(�6��3s1�IY3��Ԏb�5����>D"h����|��z;O��ɢ�>��~6MX���	����JW=
��z$�^i8���>��w�ٚ�P��8��u���}��Ku���Z�̍�<Q{�#~T:�ɿ[��{h�>ʟ
daSXH|�^�'�)c�)y�p�Q9����^�$mC��7D��k����2���*E���X����0z���z�g������N
��k�I1��D[�P�J*�NR/)ɤ�JN1�Ced=�_Ϥn��JjccQIm��_��
9i
m	JA2i���d�H%߫Rt�Q��}'�^;�Fj����GT�JUOP�I��iL]]#�,����qj���v�YW>��F�=ұL�)E��Hš�ԓ�dZS�`�x2�C�c"����Eo�a�G����$͡}����M&}TN]��Q��
�Qꑜ�Gٰ�_$��/R������L�%e莔De薔fe�G%OC�P�w�v=b�P.��%~PG�^���G�S堯,)]y��a\�%�,��Q�+��P%_F�ɆuW��@r}�E��z��)�8��%eY���x�2S�`�A�]]�1�+!�[d�i0yݯ��P�ܤ�w��<�.�I�>��g���vI����Bu?�:+���PH��PHmL,�m����4b�~�T*��v�#!u��^2'r�˓~h����H���Hml,�w��=�J
gw{
�����z��n�zTK��Z�URzf��Ds��6>�a����G���b�y^��C�g?���WD�J*1G�PI%/,.����"~m��_�����.��y\z���J>��|TI�gRI���@�\:���E�M̫8)��3i��Hw���v�|!����I�\�%���Rzfh�Dsh�>6��F���͞�b�����r�\�凮�"4P~�Y)�'�RJ�Rj�bSJ���_�p߼IF�]PW� ����K���~	�*)<si�@�_���E!��z�����B��(�kQ!����
�.s_��
)�
���u�Vj�e8W�%)��
l#�T
�;R�Rzf(�Ds(�6&�%�R{�#~�'IEU�G
��&�+��3)���PH��PHm|�[٨�Y!��I!e=^�E[$O��RH��M2R�Rz�+�Dr(�66��F�(�E:�$�mRHd8�R�Rz�+�Dqh�6.�{e���ڇ�f��Q��8�â�RϤ�J,�34R"94R+��e��)�L)�ȟ�i��J��]4�0�I%�G�JJ$�Njac�I���_�x"���'�\�:*MH�O��a���bך9����(�V66��F�������ڕ,��e��u�}�?�g��c�S�|��y1>c�
��1��v�y���o���L~�A���ҫ�'�&�g�K7��P���Bs�kNY�7�5Ud��),]:��:tJ�Y
��^%�+|ܥyN��<�ۀ��b��j&%��x�iĒK�4B�K����2�=�<f}Z���5_��������w$����W�6q�[�g.5���W4�1�e�T�X;�������H����$#�H�_]�4ͥx���cv��=x<���x�ڱ����Ǣ�ڨ���%g4�SML�驧����t���X�z�F��.~�؞�6�⻔Q��w)�F,9K=��ue���bRGxzLm���v�͍�E�P�]�#�.#2\S2/W�_)<=�<0���i|�#6�Q/����jW��PPM��ç���%��1c<�A� ��][=�̇��������⛷5R������hP��7��.�XBӽ?�|`�s6�)�m�;�Job9��s�Q�D����u\�Q^��;��U�'���G��p�]D<�h�rOywB�<:��x����z�遫uN�Yi@��,���9��ϊP����'�3L7�?�W�NY�����^�=G�!���ͬ�8��z�e=��<���J�����h��܀��9k��QHc�aA�'���j��{+�=�@�g�E\bB�f�� �V*Ұv�jl,Hc�Ʈa�ٌW��KO��rW`��X3�jX��j4Vl�C����F�f3��ne����St�a�f-3h��t+uNB�u&���w�p��)u@
�ʭ5���45�O��JS���W�,q^HcccA�v����G��{+\��N~���r�����f�Tm�Fuɝ�i�X���yo�
ӕ�l;�ri�����b�)�4���
0i]Y��:�;-@c&��<���콜�
Ю~��J�K��{%�4&1*��r��:ʭ����7�< ������_�����P�u�?#��W���PT�آ�v��M��9�p��[��y�zuk�{�o��"���ov�^�VФ��3N=3�[�c�^n��B+Y�p嵳1�vj�}�o�v�C~���tahg6O�;�p�02���X^��5OȽ�0��6Z�e�D��E�y:�
[ՄV�F�A;�@"�HQm_��r���4��7�<x�Z�&�O`d}e����$��i�m��IA�8�"�X5�-��;�W�����C��Ήm�
����(����qZ�[��6��ǰ:@a�5烙�#{0�諦�y��20[B!�:��2z���4>a���A�����luXh%M�47I@�p��Uat<8DVV���U��;h�^��!s!���q�|̦���k�Q�7y�]���I��q����aG`>qXډ	6���21۾6Z:�c���@SƏ��3+㤉AU��6u1
��G�pԈ�a����u
gj�o����UFgڥ��6U;K~r��#�R�(`�"n�A��8�&�e��zm�}���w{I���� �G�*L����ɴn���\K��f����u�<���H��k�,^"��/6�h���@��E"�Åנh������tJ�G��v�z+�U%1=���w��Y��̮S��7�J`;���"o�Hd� ���aSE� �E�Me���beۋax(��W���K{
�h�前�&^����E?h���lg�c��D��]�����ۊhh[x�|�hf�6TTc�N>�•���F�K��T+s�vP��J�"�h��N��k#������{������+?�c�h,󮁡Zg29���6���}�Rᝢ��_�!������"����(>\�.O�h�ݴ�
�Z��Ԙ��R:nm�y����mk��1��J�:嶴v���Eq#�1�[��X?u�:�..�|l����&q1
�Rzug3k��'��p&O��_��p?���>��Nqa�`SI-��_�p�+�)�P9$3��R[Z���Ԗ�!�O]�%
�W�Hy!�v.n����k�[�!Y�Z���)�<t���!r=�na�y뉯N�ZV���M3E_{��t%��ӌtCYJ�,%�9SáE��Y������ɉ@�k9	Բ,|l��,Y�ޣ']�-�"P�(G�[��Z)u�b��Zz�&��Iz�W.6��L�
�M�PV�d�aϦ̤�֦]Oj���(�
q�
��hSy6s�i�b�}@虒J�0��??��H�}��:H�ӊ�I)�kzf]�%��J���-+HF�Uտn��tS��7��f���0=��T�K�n	�G|t7�lm�����{d�8��,3��I��G���"�实r�Cک���F���M�S{c�֦~
�it|��x�q�H.����u�I�&
�3}(��
�W�v�ʛP�L��e�9�������k�a�,6j�PM#J�U�*!y�CG���B1�'�<^�#�Hp�30ل�&��uSR��2�����j�G��Ii&u��K�~�=�v���\&z���D<��8	� :1��r���[�J���L��Bq=ېm���mYk���������� 5hIy��DzB����,�R#I���o�v��
쿶��ʢO�	�N#�G*/H{!Se���P89n���Q����iC f�"�c�E'e��E�M�z��C�0<�y	��|��\v_P85/�>:� ���FP��࢏�9����i8�Y��F�+�
���EF�A�Tɠ��n�
^z>l�N4W.��{�v�Wf��K��'���^,*�����&���{ܘX7�L�u�Y�z��K�@�ZW&IW�/d�}����˙`�v���XϿ���?n!��T5�oڤ�j���,��G,��k�Nӽv>�{d�&�B0�KҭP�X��+ԹG{�p���u,4��1�.��#N�9��F�jҮ8?�ǻ���� �L�As�J�1]=�1�g�'�+�	i�y+��Pg��I*/(��-��Qjx�c�z���5s�Hnl,:*<����r3�E��)��ѷ�MՙI�=�.���Q�<��^8��W}��˩�����R�*t���W�~w��x��T�v�Pש
w	-�m��t%���&W��,n���}/w��&���y�)��#�Ό�HQ�a�����:�ah�:ͤ0�>j���'j�}D!t/t��n�ϑ��F/�z����t�i�����P�B��(���x�|��l8���u�t���9:E��e�K{�|l(����G�֑v%�E+lW�� ��F�Z:���}�{�z]�aG���ݖƈ�s�M�q&�-B�,�t�����E�(�:�K$�_;ܟ������ʌ�<qL�aV�uP��q�ØE~>�(��41,���Z�nKc��A{���SIdX��/�Ȍ��i��G«�av�=sgc�IJIb����,����cB�0��U7=V�w�#���PLQ쑘;�_������S7G�b��@�Pv�Z��.t
My�p��b�ܹ؀a�����h����6F���K똵����BS�c���[�p�"��"&��j�q� �c���Yl{OE�HR��N1����
�Z��W�7Ю����!�%��d��=#��H�*��C2��b07Z�}��ֻAY�&�U�X��jf����1��d��ܸ�����L�����%0���1�=,u�d�1��
Is��ke��������x"�;T��ӛ�Á�'�E`���	�̕��_��J�/�Ƚ}��C�^�(�$=�d7+�b`�,����{��B=>�f��5W���8�/]Kws�x�3И,���4�qD��S�,u�C�*W�C�x��>;7�ҋ�k��4T���X6�S(A��և�W��k�[�H��x�ͳt�&ct���|e>�1E�e�T�j�ᆬ����{�&h����ki���=
'st`G���y���I�Z/�צ�(�H���xf�Ds�կj�&{�4���N��$cr��Oцw�U�m�5��#U�4�O�TM4w>6�҅�kQ�&x��8����p>�ޥT�G���
��H�ll�1�̧e��C%�
Y�}�u�˺\�,&�=rQ=�˘	�e����Kj�}DY�s����#�=LJ�Y�H�7˿4]hn�̰�� ��\<Lj�}D�x�FE���s��b�<�!D��=rS���X�m
.���t��Sg1t;8]=,�Oa;��ȵ�U0o���#�@��a%�nFР����܈��'̞o���j�0@OT6�S�p��i�H���#4�
�,I�����R}Z\�	���f�q�}��3�_/O��ק½�1G~>C� I.���o�� ��I��^10(i3R�E[n��3�S��}r�|�/t�6-����"�׽_�9�D�D8M��ؽ$]=�_Տghh������t"�0�i@�W�Y���䚍,b2�����U�Yŝ������*�š:JG���"�F�<M���f�����1q����GsXW�z�����M�nβ���¶�0�)�Y�L@��ԛ<���h���]K�4�B��D�;F��e������Ld �ZOKW�I�.iߟ񯈔��i!$�F֨'
�pd�g�R�/=��cO��Oђ����9������
�#Kz~*$62iy��s�&�Y�Nsey7SJ���Z�$�;ks]m'���)9�z�$�	%�ІD3�(�AA�/�9(D���)�1s��gL=Kv��5�g�%ƛ�S�<��%�g2�k1;�4�]�H���Sb���Y��k��G��3����,(�X��п���}��k|_O�{�S�J��W�MկN��je�����yʀz�c�x���7��M�t���W6��2�����S�S�<΅m�"��o;�<�?�2r����cztP���|��\�L��?���Ȭ�/N5}깞���{4:^����KT�=�X���~n&n��JP�&���/�'�L��`*��b'�:�eo=�{B�{�X��C�}��u�?�hl[�x�r �5��ܴX{�X�{ϴ�P�|/�b��9zƧ+5�̾�Xi8�'�yѻO=ה��8)n=әm�p�o���
ę���Vv��s	�t��W��ǣg��W��j{g��1�8���8���㫩�xt��x�y\����<n��0��ZM���V��8�9;�y<�u���2+Ԝ�S�5�}��{���Y~��V1Z�O��3��x��3�V�]���f�y>G�x�$������̭g,�>�O���1A�]�!9I{j7.��s����B45��Iuc��7�f
Y�jY�3���ڪE��qD��`��q��CIO�/<��~�^�~���1C'�������?�\3mܧ��g:F/J}i^���1z�/П��LKә��C�	uͯ1z�"rG����3�Mw4��w�f-��ӽg:H�ىQ3�]��s��k���Ȇ;�x��g����&칞�b��s1��?�L��Y��� �}��DKQ	_נ=:�pW8�0�&L>W�;g��t��!+��A=��6|��{�7�\�{lY0!�7�<}Ꙟ��s�Уї�g��l!u����o�Z�i���+��5C�3��ϋ�k��{��FcZ�k��".odn6x�#0~��^�pC&n��5��G�4�+����H0E���
�VMʍA�Dtr&�'��s�tP��{O�I%EF��-gs`	��7˶�-�Ti�����ãJ��3g���8#k�Pi��*�j�r=���AK��Ɓj�3s��x�Zo��A�=�:i0.|虏�P�	�4:x��Щ�&4Xx�+(Z��r�"zL�+h���{�@q�Pb"�KB���|��d��huyi{M��\��o:eC�ǾGu\C��3��1 �bڍ� 
��c�T)gk:���(��i��s�,"}�1����kAl�rZ=
5Rg>.c�皩�Խg<uNLJP�OSn�V:z.4�X��SOG#�S����>���1#㩫�F�1��`��>�W[�q�L��{�};���,t�x��X0��q>3Si^-U��S��֭��{.t��
i��3�L��z�=����\�΁�3�ə^x׋���	ȕa�'"F
�ܜ�cX��mvV����47���јV���*$5�˖�8�Ѯ��=Vk7|�&"7�'�{*�ҕ��/Wf/+�gu�
3�-�dL�1!C=ߜ�ҲC���<�%�4�cE
��d�%�y���m�
�ҟ���F�n�י_h�n��l��/J��[a�ǭ�{J;dg�
�>�\[���v�w��s��J��3��߭��F��>����t�c}&�/4Ӻ�Fs�d����L��}jd��k���kjb�{ϵ�k�߇�kict��g>j���j�hQ��9��i�]�E�̭d���yAҢ�z��[���S���ܡ�����gx�-�˨�\k�?u]�U���G��E4�N�~hZ�B
ס�*�6]�fkŚqh6��~f�V8���=���3���y��g��΀=�s��L8D���DƉ2����|f6(NǙٳp�3s����;���g:3��?n3��z��{b��xiw����/��c������{��<�z�bb���g�{��4|Ǐ=}�^�zƩy����3q��85�\�_h�yj^�~j���,��ps���ӏ�P�#�im���(\���ňz���ʔ��k�O��֜~PH��1l�K�����4M�$�yW�
�Z��	W�7�բ\��=�g�{ڻ�u��=�*r�l>�LO%�z虎_>7�m>~Gϵ�S����	�=�Qo�}�t���<�������go_�kw[��c�ŽP�|蹖T��s}��O=c6���k��m3�õ�4O�&�y�ʶ�@�M6�c�m���|ɞ'U�c�)���yi�cϘ��ԭ��>������S��7?��+c${Nmɞ�g�ԽG�5�y!�k��y��8O��c��2w���?_>�W�+5K��x���ޒ��MZ�|�	Ф"��R ���a��{'L�lnpG��68��4Ȋ��I���_C�$?�B8N�U�	���_����h�>+1$�S��1[�c���A;;z�DS�˲;�v�<��SE(,B�Y�=J̞���F�*�ل�獍�?�=xP������3�����mdbHtY2Oj�@$I4�+�8{���A�KnD?���"A��	�؍�Im���r*��jg0sB~�3�R��/85t̄����sL\ud/I��4'p��u��cf�3��ʿ`&eZ������Đ�OR3\4c���T8����
1��N��Da����j�y�ɇ��8��@A���pJE�z�:フS��_�R��S�]VK���$���?�X�$[9E
n�s��/Xi,�E���I<�\��'a<}\4��C�ys7�+)鯱�qP�]^�]=��)Z9
�b��௿r�.f�g���d����W�_'CF�1(��쀦�l� c5/��G�%��MD�oOS����8OdI��J3*r�o�VR�_��R�]^�.��ۘG�DX�0��C
�k���>�`�F�3+��e���S�B����b.��Ld"��1��ә9�D�3,a��63��s$t�f/���q�$M��K07�sm�|�ɿd�I1E�w�����CE�ǣ���L�t�l�% Z�\Y�T��`d!��|���3T�$��S�Q}�O��x�e�����T��n�ڐw=R�U$q?۴��3X�yY��Ĥ�df!�kf���9;m*�<'x�q�W��
���q*l����d�.�;�+Y����"{���=
�*>*#B��e<��9ہ�\��X�暸��_�6S�Ml�c=6T1B��.�hFT����r-'��_02�t��.b�7�v ��فHⳭ�kڇ�����%3@TsR̵��Ξ�	%���$�*��?�N�e��I;��'���d鼠Qʌ��H,z��yr��q�ɭ�a/��/y�����\�&�$��b��|,���0�0��V�q`����X����_����~f�A�m�>�lG�����x�����#"��M-�r�O�贩fϥA����d���1-��a3�����/�ge�7��̵�݆�:��籂|�
��>��54��o������͓=��@@23�p��Y���6����B�L��ð�4���y�e�s����_�8����#�q��72�h��.���#�Ô>�/��o��������X��L!��Z�,���~�0������\�."z�ឭgdL���~4���{&y�8��3��
L#X�hN:�������«)&�q~tf��/��'M�Ջ�1��Y9?��It	G�>�/ �J�w��j�S�Yk 9e� $+|��t��8�W�x&�ߐ~Y
�e�a��_�ك">�8-V��s�:������m�s+�����DfC��~���a~!I�r��W���?j��1L���P��r0��TE���_I��J�/a�]�j~�5�'Z�eDAۙ>r��w�COs x9*K|x�M�y�8��@�S�9�T���^���Ikb&}� ħ�X�6r��7>������
�,�kk��/��0�/L�j����%��"U��A`��0TӯC�hY��q�Z���×���|$*e�s#�r0AsF�nm/=����<F���x��Y��T�0%��=r-� ������0]P�������!��%Q��
1��?�c�{��va�݆$1��̌���`�ږ�ǟ���R��M�3�1dK)b����2K���݃�p�i���9����50֕ƒ{V̳b~w�05�U(�醨�9v�E��;v��QC͐KIs�@���,�vsL��<�p�E��I�#�n��?�5#���%��&}��[j̗J��o��}I,����Δ@�l{��7��h�B3aLL�,
�>|���yV��$^gS.?�_�/d
��fΫ,�z���1�l���|G�X��h���L�ͳ'��lAUX̉���a�/�91��+j�|�+��U��ܡ���c5ۆȣ��-}\T9�"��h'/��g��gp@��������6�ؖ��zn�(�a��|�Ѓ�L�XRf'ȹ/�`�3�S�Q�C'L/�2�h�h��`��:�A��
�ej�[l-��L�ff8����h{~�`9f�o\��L���Pd�`!Yp+c��`�O������2�=�Z��`��4�n����8�`vk8�ڞm�w�������=Т#�2�	���-�{�l#<�l#�0AJ5��	��DUi��c�LJ�s���ݘpܵ1�z&�:{T�G��6�@'$(=ەE
226�=Q��'H>{
��Mu���s<��L�6sR������꺤w��겅W.�g��%��,��y����C��B�̯��
KX:���Y�F[*
ټC�a�)�,�����C�̖��C��zgO�ii�4�I$�`�IS&{�!H�,�����l�j��r��*S'{��mM�gDm�;����Ξ&��v�e�Iײv�}x�¼N�F�Q�p!�n�:x|Z���37H�����N=�z����Ǫ���y
��N;S
X�����g��j�j@�詭��/�<d���9Fc�ّQ��F��7�P�v�y�������G�2�*J.�ڴl���[��_�z>�>73l�d���6��
��y��Ip����v�[3�'�il���r�dR�#���U��=�X��H��8�,�[G~
:��f�`���mB���=L�bi�vE2�`~^��V�f��Rʄ)��8�t?*�x��ѐ}��@T����.Le_Q!�:r#e2>;2
m����*WE��f�/*_U��Q��Q�s��s[!�=��Z��bE����h=Gf�q YˮkF�L�}�bF�q8�$_�t�|/�u�4�C�.�������p�&�H�4蓍Dc[eZ�s���A(S���^5���yE��	�͂�Cx0�W�#���w�Ph���t�����xkڊoĥ�K�Hyy�:�I(q�
��g�y.��v�Z�U}�eEE�H7�t���]�r%�l0��'��A�1ӷ��_��Ԝ����&\%��E�/a����-���\t���1�����,=�Q���b��Y1��,�%�r��1C��'<[*���,�S��+�q
*��}3+AHj�P�������?��A��P��D�iڞ0*�S��bց�{��̟Ym*��u��V������̩̰B�,}a����RY���J���V�B@嵂o�B��Ç��\yϣ+�w���O���x�M���
������n��+T�Lq��� qK�v�i<l���g�>�p�7����?����@�����?�Ҵ1�f!�*����uh��Zprc��+��-YY�16��p[�yV�l5�z���I��û��@��'j�U�t�ʞ���>+�,�v�$Uq��1��ϩ�?����9���Q-��]�y�J��Me�+g��)�#�dS=��������@��?����OH
�	�6a�D�ڸ�����
���48��\�qΤ0 �sqv}zCEmǪk�ϩ�7:��
�4G䏥��`�'�:�7[�@��q;����C��_��	�# ���g��L�2>B�_����Q�${��ֶ��GEe�<g;���b���C�\`T����
����6^�܁�o�/�7��o��e����
���?θ�2Q�
�oȿ���o��~
��n��ݐ�!��!��!wC��Æ�݆��
�����7��n�?�ȿ��?mпޱٰY�?%���������7�_n�?m�l������������
������
��
��!
t�_n��m�n����������rC�uC�aC�����
���o�?�����������p��������
����+�/mC���
��
��
�����o�?o�?�������?�������������������;�wm�i�;�/;�+��7���
���w+�߰�a�x�q�u����
��
��
����7�a��b����O�w�7�#�z��C:п��C��o��l��m��݀�����
������~S_,��r�/;�Om�~�WT�]p��(�i.H��FaUJ��9�9$�� F����h�9i��q!O�BTm��c�)h�Ԩ���9,�v�=�y��N��*�/i�f��6�JUݦ��/��Naؿ8b����;&���GhBr�r�b+�٤�F;4)'m�miZ�F~bυ�v������?��������/�4�k��né�ǏL}�^2�}�\7�\+8O�_k�k�Q�ne��0?�M02S<zRp�U�����j��k!M�7�sL�����Fa�?1��ge��ъS�ƞ�~��m�O��.G�ˆnڳ�H����h�}��a���lph��YPY�|����o~>���7?����䛟O�����ϧ���'��>����WG��6O�r���7O�x��)7O��y������<}���'l�>q��)7O�����}����n�>������W'�;�XV����o^>�����o>>n��q���������O�||���}|���'�||6�������ǯ.>��}�򉛗O�y�����g7;�7?�������'�~>���6G��9�ԛ�O�9����'l�>���n�>iu�)m��7O�t������o�>����6G�9������9����'��>���o�>as��O�}�O��6W���ě�O������O������'�mԣؼ}�w�������'��}���g��)�����So�>�m�>eu������ק��>�Dg���O�|}6G�����|���'o~>a��7?�r������'�~>��>в��>~��O�y����O�=}���'��>v�-�>����o�>es����O������O�]}Tw���7o�t�I���[�}���'ݼ}���9�ě�O����'n�>LgD��*"�hm�I��up���o�G�#j�2
��q�+C:e	wH���
�u�t��Ig��x.O�G/��نk��D*?ޣ8� ���?���_�(�c�����V�OU<�㒱� �����}$�/�,���iȨ�S��P�@�:�)���/�οn:�r��M�7����M�_W��t����/7�[u�nS����?�J��)�ݦ�o7���w��|����?mZ��i��M�nZ��i��o7���i�æ�ϛ�?ܴ�������?nZ�x����?nj�.t������M�6����7�Y�~����?ߴ�~��U�nZ��i�aGY�yS��U�ߥ�K��nj�+wq����?���/��?����p)���O��?ݔ���/��߭Z�|����?nZ�i���7��'J�vS�Ǜ�?mJ��)��M�oJ��)���7���i�ݪ���?�����o7���e�/�D����w��߯��]�w�����o����zwS��M��V�]��E�K��6����7��i�������?�4�����?m��|����?����i�ݮ�w7�\u�]�+~Ү�O7����˦�w����T�qW��U�_6��i��M�_f�?N�Y��n����˦����t�e��M��7��ZI`����3g�4o���;�>]P�|�#�Y�_~��C��m�ؾ�|�>*��_K��9s�܀+�&ȋ�: �q`g���z�5���_~p{~��1��%�OfFQ�7���r�V�*5)k�wa3��"�Xl+�l�O?E��4������<�>������<�>������/���d"�� ѲaU�B��G@�*����u�!�?�����*":��b�#<Ή������=�M�@R�J�wkC%V��r�!ז:����;ZTϑY�b��?�a��5B���?0�b��)� �9e�'�[;��
F}�ʩc�ra~��/�d�y2�<�}��>Of�'�ϓ�����d�y2����>��tՙ`hNM©�9�y*��uǔ���QջLL�6:ve ��8����	L�����w�V��0�c���dF���O�0�;�}��L���(�+�(|=��o����-n�|�0pc�R�V��Z�V��%�
ݧ�?0����`������?0����4���/�Hiw����')�4��!b�b�mTp.��=�Yq
�C�:�:g(�pp��U����m9}��4�ފv��ʷ��`{ڨ+�o�UQ����ڕ��C�	�9��"P��<�:� \��5�ރ�8��������<.8�����<.8����/��d!��:�(�J���@%���@ȍ�`�͍�:,�eR���B���a�L�܋i)s&�	
�ҡ�`.O�O��LH�q���a8�8a8��OЭ�?��}�#�<"�y�0g�a�����,-�{�͟��vNS�C�ņֆ�O �H�a�'��	�}i�@�'��	�}i�@�?H;g$�o^��CV'��M�����@)���?΅��J����f~���a�T�_�!�Z�N��5i�#?���7
�r�7$/��^����'պJ�i��"���E�qd�Ìx`ݖ#l}
70���C��P�8�<5�C��P�8�<5�C��P�'j҄6���zA�,�J\�+}O��v�[��r`�|]���Y��b��Ҿ��C��%"VB�D}�)��A%��s�	>PAq�i���7
���	'���sd�IL�{��2��[�
��[ؔ��i�L��,�kk�6(��@��?���� ���@�?�;�L�"QO�
�xV�"��?G����Eᒣ�ItJey�}��d�8ѣ]`c�{�D�^)ql���US��֖g|Ms����X�Gѭ��6{ν3\CZ���
j�ve+��j��`������=i�I�%|��=)�����̉(�s*��;��h��Q�	`>L�P�&��އ��wncs�qL�oC��Y)�_��$�_�K9��xΉ>/:H9�lqX�;–y��Ӧ+��x�S���mw�l�4��l�H9���H9���H9���H9���H9�����S@�X�̲2y��RY�U��]���ay�G�J��,��7KB�S�z
E1PH2�m0žB�*�m)��`$C��dy<�m[w�ǐ)��t:x��/��{��kg&ޱo���]Å�3�KJ���$]�Zd^��������s�o<��,�^!��y�j;�rs,e�j�;
����,�l�e��������qOcTXo�(@X;1�Z5y{E���M��
�B
U�TJ�?�ܒ69���L{��K�#��n|T�Y��:S�!�2�^��=����������ˊb��e�+�zηV�k\>�BS�����	'r9/zs̷-v���~b�_O����l?1�O����l?1��c�'�ً�GQ'��UU*��I!o!�j�q�y.���
�� �#�D
��Z��e�����O�E�pr�n@���p�m�C[]��FY�\f�m*aB6���Qd��vy�	�AIrW��z/�ߍRB�vk�	Y[�a�"��O��̶��tE��S<c���i.�~��a�$�8̬-�h��B��q�C8�t��rQ&�'EY���ϫb��Ę�s cO���ё�_,�1(�S��|��k��MYajTb��
��P�"<�N�q�93���J�a���{�G@z�G@z�G@z�G@z�G@���@�p���hV�Ī
��?�6��'��}`r
��m
a�ĵU�׸�,P=ЮYh��R��+��Y*
a2P�^���&g�mq�9��e�̏Ц:$��r��N�ȝ���G��ȭ[XU�lEU�������*P۹��쐾�H�-�&��'�0��"�b��8TF��y�x���(�^��[�d*d��L<�4�P'0e�q�&q�&��<�`N4-�I	����G����vu؇�xt���#^�N�!yZ��!<���ү�)��]�dX"�Z%p4a�]�M<J�x�7��K<*�x�7���ģr��*�M<�7�(�ģ��G�m�Q��G~���*�	H�& 囀oR�	Ha��& ���nR���	H�& ��#��Gq���M>�ģM6�l�w�ȷ�p�7�h��n�Q��Fn��&��h�n�Q�D���F�&śh�IFy���M2�d(���Q܄�|�nY}���&�ģ��G~��.ջ|Գ�t�(n�Q��G�Lay���&��|�n�QZ�#z�_R�	H�& �M@��|���M>r�|�7����#���&�M>
7�(�䣰�G~���.APY$�˚$$�IH�&!ś�TnR�IHu����f,�*$Q&Z���IIu���.%����	Ie�6�ބ$�6)�lRRݤ���TV�h��t��&"m��&��x�n�Q�ģ��G�&��x�V�(���|�M@򛀴'	K7)�R�	H�& �U@�Kl���MB�T6	�nR�IH�&!�IB���*$՛��v!)mB�ۄ�|��MH�����H�&#�UF���Tv	��l#	�Rfy=�:AhU�P�#��tU�PLO|)ޑ�@���0i���*13��� ��<X���Z]ɇ�j�;��v�S�20j��͘K�#��P��m�V�S�@}��\���8{��1П8E�H�
$��.;�(���%��Q�j��6��c6��}	:���,�$H�����F`B�˹}���mN~�/���Nd�t~n�m�w)�k:S�o)��H���H���/���/���/���/���/��������]2y�5	��E3/�k�޶���()�XMʍ]`�9APl�^�韠�۪�~z��H�`�iG�v��j��a'���ڞ�	��=a8�wW@�ĸ�{
�}�S@aa��=����G��P�llĵ̾Y��`밃%��"|
)BX8�y-�??��,�sO��x�=�`�'��	�x�=�`�'��	�x�=�`�,	h��
D;RU1����(�s���4���>�r���H�do��E��B�c�xc��E����]S|�,��Un$�I+�N��j���#4�o����+;#"���.�Ԯ��x�'�+��V��g
0Yq���!�"���|"L���!�� ��Ӏo�ѷ�x�mw~+j�ΝB�g��o<s�<�Ϟ�gO��'�ٓ��I��?{ҟ=�Ϟ�g(��)�	4p
��ŀ�\G?���m����K�VN�#�l
���:LN`BUq��D��B�C
cX&�-�V7^ʂ�Q��C�tq�騲]�#�=�<\=d�\:������^%٩�>w}��A���/P�}��
!���Ӕ)���6�3���Dۇ��Y�s�96T�c�*�[���	�|�N���'mk�V�_7�o7��Z��ul�
<�o��ڿ���m�^#u���[߿*l
�IF�	��vo���7c�[�s_���Guڼnl����s��s�&m�(�@��mڽ�΃Q��N�7��&Umߠ��}�l���m�m۷���x)N7B��?KA�sn���^�	��cSa�@f
���q`4���bj'Q�P�=�5��n�X5�F����1т�p��7���F�#G�c y�K�A��G�V'��ئ�Qv�!��M������DrQڎ#�~����dH�FL��vM�#r?"�#r?"�#r?"�#r��"w�o�-)9,̙���p!4�|�Te\%��D������(�Yn�
M�dd5˴(���j�����2l?�؇ ���]"пB�7���'�te0�E�8�>p�)\��{-��Ј��."qډ����^jsד+�@q��+�G�?z�z4��M��r�6�MIזeH����q�X�9�c`8�L\��T��ThlPܧ�{�JO�#�%�<{P
�����cn�47��}�O����񴻁�����{<�O��iw�d�� V-�+B|N�]<���c�M�����&U%r��`:�ê�`u��5��"���ڎ��}��0����m���~ŭT�*�*]7�ɏލ��z[J�Y�{�%�#o�}��K����93��:U��಻	@�c��8b��đ�q��<ޯ����m��.�9��#˅�{�;��O�F�gr�G�����L�R�D{�1
qDZLq�MX��Ƿ�p_ˆ�"WQsd+�%ٍ���ɋ=X�ϧ{Z��{Z��{Z����b�@����--E�*�uQ���+����7�Y���o��%�V(%+W�`�i�D&g���VI�ۥ(W\9<�ߑ�>Ҏ�ڼƆG��D�9(�q)Z��n0d���
�DL�fתr�,�Poz��F�M�6�A�"�=�o�B��1m��.~���Z�(Vksd���GZ_�ý7�pӽ���`�\��a����f����a��ᇋ�q}�c�@�\\_��
bQ{���4�ȹD�aH�'����)����E�S �yYy�"��!N62�K��E
�xư��TOK��TOK��TOK��e�&�U��"���U�$(yާ^{����<P���4|0x��!��;-���Ez'ku%Z]�P:ڝ��Ns����
�4C0�>
���!��5��O�J�|4X"g�� y+M�IB��F��D�e�qz�8�I\�T�G�~\e��{��3�$sz���[1�x����4$OC�4$OC�4$�dP���'��vLj�7�,�^��H�
!=a<����-/��m�[�^he�ɬ�y��+��ѩ��E���‘�N
`�:��bA��U��TG�m|+L�au:s��$�Wq����N���Il����O�EX(�$M~�6��@7g��n^>�W�fs��B�q\����Eq���HsZ��yZ��yZ����Y�Yz�
�څ��0�,�.��W�D����.�`{\�ti�5h\�X�	�Ȍb��6]�_�v����4�
/&��M:]�)�
42��[1r�\��`����5���Х^��^������L���WwW�P���<��X��"2ɴ�����9�o����o��<O�-v�b�-v�b�-v�b�-f���\����3
����l*7�9� ���2%X���4���r��ꩊ��t�>2Z��k�j�)
�-�I@M*�8�q��${i���Х`��I�F�o�E0z�f��j�Q��h��1�'��FK���~������M�ː7���ރy+P_��$����(�,kc�ΊT�k�N�x��Dw*U�O�4�N��4�N��4�N���6�G�	Y�DnsJzDJ��H�e�H\�N�3_�R�(D�`��0�(�����+�x��_�_��Pd�S���jѝ�[ti���ک�dz����KÞ�#so���D�J�1�%�К�f+3F�l�T�	b
6���q�U���b�i����i����i��_�'���F9	8�y��j�#Q�WVd�$*�t2M����%�����5-�FK�+��3v�Y4'�@�.\�W��
r�x2���H��Z>��QK�8�=m���i�'���]���x��*��ԩN�m%x��=��Zx܅6q�6�"�T.�m���ւ���T�qK�3,f����q�$>�3����N�鴛N�鴛�l7q},�A\�!J!A:�jȑ�2)�]d�KIZ�ƛ5��|
l�,��
N'�-��u�Z�kЫc��:um�,����YF�M�0"]l9Y괋:���%������Ao��4��'�!Ԝ+qk"�-%�!4�s��1rg��uFM"vS�r�{$�P���(�>E5�lj��}���0:
��0:
��0:
��5��|W	����Ȭ��=�5W��^NTR�,x~������Ϣ4)�NV(�_�����a4�o[Q�5g�;�\����tL�=P�Ҋ���#7�f��X��zYtׂ�+�j�Ip.Dv19��{�i�B��h�@��'�*�"U�ğ��+����,
;fOTy6�q)�n�<BY�����gh�dNK�dNK�gnɨ�)9��Ih��a��q�R��r7�<W�,�EC� ����T�����=C�E]�BQd���N��&��P"U�]�+w��vW�
��y�"�4�l�DJ���D\f��Y9��b�d>�]�Jzr��٫�7�evS�>�]&ϯL����BE�����ۧ�q���q����53���RJ�i�,��&�t�,cK�7
��]]��\�����(w�Fo�L�ܿ�S���z��"Zl��@�a�1�Џ�{�j2=Y���H�=�r(Z�g��T�i��Ml��F��f�b�nd�w�ZC�r��5�y\��)w�Ԗ�t'sgcb�s%���5���oŶ���@�rR	_�s���"Q�����K|�`׀ʿ�}D����-/	�3>u���O��S�����Ю']�����7�1����d8��Grv;(9ԡ��e�G�����j'��X#�q:K�:˰_,�[�OЦ�ao����b8�3r~wQ�4���N�"c EH��Ţ�G�M��m$g���3A9!U�K�&�	���8�L�l�+V�D�L�Y+êxQ�ا">�OE|*�C�aBfU���>�k�t���k��0C���	7?���i��K�-�X��rR���S���+��S�����b��zN�z��o�iJQߦ����3�P��`nX-�9l�t$g�H�.�T8f���N7)�j'�"Y"��W��o=����A�Ĭ1%��#����5L�r��S���T��z}W�5g�-\�ˢ]fB�̛$B�)S<ʼn�>A�F��,��p�o%�����N�T��K����ԡSIē4#y�сT�f��rlcD���x�-�8�������(�ڬ�£z��b��6�O�$>*��؉�X0)M)3�����'����y(b;jDi!IA�m��_��zD�u�I��;+}�H	Kuݖ�p���<����0�$=�=�!�3S/�V`4��1'��*�B��bD��o!��|�68"��,�xh'��]���$2�@
������+�c�(D��C��_�V"Ȫ$�'���o@��jV�L=/"M=��Sw�� �N<uN)E�1gy]��‘$��:��12(+�Q4�� �J4�,w��E��u���L��֓��g�h��2s�*��)3'��A�4+u|+{�	���.�Jp�G80�¿A�����8�`}8�r�'�oMBe��7������-��K� MB3�taW9�'7�bd�%d�/#+m. �o?Ü

\	�<��)��o+�O�֭��P�{�x�	"��'��-�HQ��R�����R>11I�8[Ź��!Tj:%�>�zǂ<%]�F��&(��
�!�|J��D_
�@Tc���I��`2%!S٭}"�J�[@I���Yd����o��@�K�3t�F�� 1I�"��p<��,��B��f-�3�U�\	�HZS2�eIz�%RQ��I|d�R$��PYF�S$6�i��%;9.B�ļh)����P�kz�l/������0�<���f�	B�$�43�-R���8X�)�&����I���aDK[��B�".X��Q�d�]����S��Y�|H�
|��$j�MK�q"^|({	�W���;���RN�[1 ��c�����H��F�Q�|���j��	""58O���D*(`x�n
+���H�R��z�+��I09!70�S8I�d:Ś�O�3��7<	���s�R5L~%�/�|_�&�#5���6jWMб���M�2�ի;<Ӑ�8��K�����,1/�&�G���ɲ�h��-
|F����,�g�E��k�7AY*��~�s<-Od�JͤDKzA����t�y�Ɏ�er�.N68��G�i��]�R��@����L,2<7�m뙏X�,,4pc�*M�.�@�UQ,Z�v���q"+f$�Ff%��鷜SBK�t�΀"��6z�
�0I��ɴ�ıL-e�b43���hiّ�9~�����vC#���A�,�-�D���BWa�n|#��f���
�j�LoYk�P���$o[�XX��ފfT�#�.�R���
���d�/ZaE��x�\F����?�s�;�k��n�u?��8�PoxK�4�0�M)�t8�ӤN�Q�'y�s�B�Ɍ�|��v�)э7yU����k(�����>D�3�F��-?<�"WҴV%�e���'8�)e��p��DO}.��@\��Eg�(�p`�����C�K�h���2O�z�G*�c=�Q8�j�FgI�:��-qyиڎY6Ȱ8��{|����S&��(x�3_eorM�4L["�Ei��5j�P%gK�����p^�x�nQ�<��)U�PmhzLO�f�֯�W�_�ߜ2)��-���c�'�'p�m�/���A6>v��Ӌ��(����>F~��=Lj��!��ks����|2&*ܒS�I2�$�qj��,RW	�%��T �*�����0�unt�G�aHE0��"ɣդ .^S�~�XN�q�mk�(�WH����1�	�
E<Kx"|����Aq�h#*����d���l�o+�F̺�jHIuO�P��kRc@��n��;$�=�x����$�6W<�.�~�@A���(ܯ���
�$r�9#�"ٵ�8]�2<�OV,_k��]��%rݰjFVM{����ք/~N(A��w�	Hx���jr�RY**�$�
�|p��V,@w@`+E����cKԼog�Щ���Y>6F�w�w��Yt{���쨼�W���6�A�dy�W����q���Vij�k⪁���,%�.H\y̿(G�-Z-K�B<���O�|��"e�&��a��3����b�!��S��0���!��Q������.�(D?oڔn@\i�”�+|ii`�:4y��ȁ��”�+!��t��	�	Wd,>sl0Iċ{�ȁ����1���b�Q\�K0�ò`|�%X��xC�zY��
<Ka?L�b{;���Oh�%�3�]�?s�V
A�eh:5�\�m%C�/���a2�n8�&�Q��=B|��f��;�0+q0�O%r�h9�r��g�t[�R�3��s��st!�@N��W;>o��'
��ul�]�A"z�T��H=��h:�hrRg	����R��%�����a�*�\��kKև�4�q�aM�-d��,%|(b"E��ɽ��(m�c-� 1�'H�)����t�)��W��B��۪Ͷ�Jo
jK�rw���!@��DТ�$�?o<��8?���Z�q��,Q�RqLǡ�ĆWCs@��%���M�C�
�"7�Zߐ�m�噃W��F"y&��M;6�jX
�]�N�l^?�H�2;3�8����>7�v`U��#3��zv5)�Z
�Lj��BO�'v�a)V�JpӱZHԳנ���m�?�Q>�>�i.�2�
E~0^��NK�DF%���-�NԻF+>3�eJ�ttב��R�Y�X�8~�}`{Q+��_0u��,�U���p�d0���-�4(��\�M	D�-�#�ʪ�,-M}���TV�[����I�-����
�����A����~��
s�)�NeK��瞄�'y�6���p%ڼyp�"��l�|P7������~�Ev"�|�8�$l��P'��SB��Zq��xfa"@2�EΡ1��~"�%�P���'����4��Y(%�y�;4R�$/�a�Z�Gk��
m?'k&Q@�:M���8G>�X�cQ�E%,���,Ǎ����wV;�������������X�>��{"Z[xEY����.r*G�u~�B�5~*��G$�uƯf�ްr�K㰟Qq���a<��ᑿ#���}d��#3Pd JO���f���(�?�.j�C�d4m��� '�U ev'LV&5��|K��Gjޙ���y��+Mǀ�z�ɂ R��mޔ�GU�l>�F�i�<2���L冋��X�
,;��_�٘M����DM��\��z{̇aC����`vfr����/e�:�K���'z��8�6W���C_z���~��Bd9mG���kpisw.\([j��7�pX�(�#��:T�*S�A�~B����c8�N��q۝.��r;=f�������¤�X�!͇�R?�=�-�K���F�N��t��O�B{d]jf@p.+�xxϗ�(�;R�� ~���}n���U�D�
'!�#�-��CN�����`X�I��D�j^�bH:Q%
0��4���9���נ�m�װ��J��K����N�S�-��|c��,j4��Y3��d�Ă<��e�+\�3�K��F�5��ʽ#���*n��܍T`\�ag�6�jΞ��d*�w!����_�	����v�۰8�sue�
(���rUM���\gc���<2ZB��ؑ�Քk3&���i4S�2�2�)�����������??���_��Gg�љxt��ģ���L<�� g���Ӎr�@�ģ���t>��Gg�љxt&��Gg�љxt&��Gg�ѧ�;�vg��O��vz�>I�ٙx�9��ģO�ow&}r��3��L<�h�^?|N%��e��Jh�}���W��1�_SU$������7���������~���?�x���Q�Z"��/����_��±ˤ%OqF�燿����0�Qqy�⫇��g�+U���~~�ʫ�,��󃿚A�Я�x��db}�e�4
�esn��j��Y��i�2��}���òf�08Hfl4�"���t)3
Z@�c�˯G	�Ąß�#�	ZSa�m;��
�X� �fb��w�Wl޾����3?�}�.����P6��/�}E������̣h�P?�2��ۃv^}=���}��Mñ<�~��+���F��8j��v���*���$�8?������a&�q6H��΃<�2	�KpXeu8�cy�o��,�*���P&�/�o,���h�;��͔�XJz�M���TPO����v�V�~�}�m�<�|�_˃��QU
}͔[��
n{���4=V���4�?'�3���?l�z��ɨ�
eF�Ԩj��'���;�$$�W|�p1/�եN����mPy�_��L���*}���?Hs�����&ȟg*�D��!*[«��qZ�o��A��)͏��0p>"N�Y�E�&J���
#Q:���в9��cs�/2q��2�a�#����5�����43�͌�f~�W�*�m}����3E_����U�
>/�C,Z�"��à.�����
���g��	�!;:ţ6��a�S�&�^��H�Ij�4��YVH�T}�-��)�j���bnD܆�[5M�m���7՗����d��5zs�u�/J�Vپ���"d�k
����!,�nϙ���� mj�ꠝ�F��i�4�~S�*^��?\[�pe��u�f�l��o�0F�j��*S�u�N�a�����+��v�ҷ�`�i��L:��޵��7�R=-�M��y��ib�7by�G�������f>��a^�f��w>0���=�׵�F�W%WH�K��U��,����G�>Y:��b$��A�/�U������P^�?C�j����L�T�^7L
�oeF.fI�?~uFӄ����3�
���$�<�_���y14V���f� W�ᩙ�� �d�V2~��촋Ҷ)�b��=z���z󨩐:�I
.�r��,V���>� �h0 =�>8�C�m�0��0@ֈ��7�����ڪ#kk������X�y�Y�-ҷh�Ќ)uk[ ��.R�*�w^[C��:b��(V[�'\������r�y��m���7�
������[ �r#ھ^�
��rw���zSc��>��Ӽ�aB6X�-qMtו[����;p�R��r���in�����ԃ=�� m�婻M}t���O}^�y'~̫�
�̊�k�p�y�̼~B6`�Y4f^��x�3�@:�uB�ļ=5w����M��j�h������6ua�~�;���Ǽ�iv�����дnB6`ޙD�w����W 󢯰7=�VȽ����L��y�b6�S��Z�^ m�婻M��̴�ԛ�
�Rd����C:/ZqU�4zN��jůB~�{ᇞ�F���?ѽL֮��ʇ���Aք��-��]}�n���I���6��]�v��G!��%�`�n�����nk,~ޮ�4�	�����ꤑ@:i�̬�4��{I��R�5�#��ԫ�S/�6���ݦ^�Q7u7K�Y-ܔF�U
�&{
~��+O�?$���Bo'ǮI��]�4���ԧ�]�=z�g��|*��[���wD���Zz;�3o�b��u~�O��	~�Or/��Qs���|jS�ҨN�@���Sw�z�O���,���Z����פQ��B~�{�W�S�ެ9fUyS>!��å�O
���ԧ���x��8�w����CN�02G�цO|Ǘ}C�<q�'�d��0H'�t�f��Q��KuԼ�gjb�N���:�iS/O�m�EuS7wF�&z
~��+O��"�:�f�z�nmb�bWEOŮ@*.���aW�Q�޾��FK�0:�GrG��r@�?CԶ0�Qn�w�g���e�Q��KuԜ9`G��7�S&Z!u�{M��MF�Z�0��u�G�� ��ԝ�+¨Co����\ډ��]=�
)����]Fz�R����A��8�?_>�A���,4�Aa"�|xJ�
�N��"JH}�@�u'���u�M�}��#V2E�4d*�"S��2E�l"�^MVQ�B��� ��ԝ�+b�Co'd�vb�aW�HîB
.�{aW��U�>���L�'U9�7L��s~���yG�t�3�ռ�N����K�
��t�"�l.�N�*�*.�p)O�
�"��p��iv��M�&�
z��+O��"�v��|A
�*�*rRQ�O�
�"��a�ɜ��E���H&sD2��{w�74K�%3��3_�I�d<�<i��A�%���y4��ɘ�K�C�t��S�åH�-\�d���d��59T�+�=y�n��԰�Y��F�L�JFRb��@PL�Q)O5� ���o�o!�2#:���tY����<��Fݗ�@ZP�gW"�mNܾi�2���:I$�&t'�
�I�h��Dj�{I�Mj���m��!SPCF 2���)"i�;x�~UU�
��O��~E&]]��p�Ұ+"�a'T�a\�S
ro�����ҷ�J���!B����X�‫k�T@@!����y�K�EX%��뮬:�.�Z�9%�W+r�P�GR����
r�r���juL'.B� _�dA^
����`Upn��+z��~a	X0�B�`"�y�~�d���6�0��n;�2
�I�LRP�RT�1�g�^$�l[(��L� pK�4'(5((@C�<s�D(n��~-5�=�� >�K$�ɇ��>��1�4Ҩٖ�xu�RtP	%�R>%�'��2x=(�p`Вn
ll\䍹=�YGw&��.��7i�s7�dZ��A蟐���A	E%2�\�.���*�h4���@�+N�T<�Ơv��8&��J�c\A6`M��"/ry�
ȃ,��<e�� �p����-�U&sWZ3��1�R/���b��p�MkE;�^l*��&�K��(��=f��
�c�䤩�2�J�K[ɶ�1���A�-��my}�l��d[^$�� ٖ�ɶ�1���A�-�*��� ٖ�c�Q*�n0J׮�8q*��*r�ZZT!O�Y�s�S���Zʇ��*�ȥ��tO	D�i7�#o_��.����Fȥ�h�tO	�<��}�*6R-�:R ��0�{J 7�q���<PB|=R ��yTȍy\y�0T7��u�@.=�3�{J 7�q���y��+�?7��
�E;>� �)�C��P~6e��T!~�#Cų7 ��M�P��j�V���b����b$��Q:�rU<�Cb(�ـ���F(�,#�B
5�c6�;�{8�,�2B���MN��}�"�oV��h�e��ȟ?\�@�
��U��(p�QM���p5���QX�FU�1��ը��Ǎ�U�ʸyV�*��I��<�[�ѫ�rq��Դ(���RT;:t��%
��QҍBE���
�F�D	�ݨ
�F��zT�t�P�����Qҍ
� �FUH7
�cP�����n5�Y���6JSW���
ҍ���*�e,��n�*�U�����A`/̉	��ѧ\ �
�>-��[+dG(��O��U�����e��&\�ߴR$o'�n|~�Xco늼�|�5����"FXco�ф=�6A�5��oO�MP`����zD��k�mѠ��`���5H5�{��s�5�����ֱw��˨ֱw�m���;Y�����z'�=��APU_���r�q�Yt
m��y)��w�*�<��\*Ģ7	1}y�A��kyR��ʙ՘_�F�[j�W9o���i�ؽӤ#�g�hgv�v`��EX'͓5eaFX'�c�`e��yl�7�:v�*�Q#�cw�/�X��o�;\��}��=ؑ�+�el5Φc�`WlW�zT��*���e/���Wy=�:FA���t����,�rQ`�\�$���g��3J�`�42Jg�Q���?�)�M/�
=�R!��X��S
r�Q�)Eإ[-FZ-Z�g�����#L\&�X�ziz~���u���9"�QSX�)M]ktj8$�OAe}�*,��1�k>4*I$���g�b�
�(�jq�����l��d�����f���qo0zҡB7
N�ť7�d���\\Cc�y}�:Y5ޣ���,u�>+��<�𤣊y�Б�vk���y4����ڗ�y��[-%H���]���mJA��wG��`:�Ӊ/$g����.Vi��~�T?��^���Wd����}��_�����g�ó��n�3�6*��j��v�?p�@t�$|Y�g�,�_3��9n�y7�^	�����z~�;���{� +��b+��jŗ�ʳ���갲U(�4���Q_�U��LB/7��rH���H��+��zUcZ7�Z�����'A�5=u�ou�Ŗ��{2f��jx������`�/7>�M{6�z�Håo��u0"Q�*Y48O)L���s���R+M���`�c��Z\�Z�-
�R�í�6vJfO�ц�-�?�,�����ά�M�93�Z�̬��k}}��ll�մ���479�Y��+�Ȼ�S����t��[R���AhoW@��Qof�T��IU��޵!�
�/��
�l�[]K�W��A�ˠ��"�C1NKüV�W�H<�U_�}�'Y��͒���e��?C?M��k�h����y����7z����{Y�\��%zE�2�Zc�AzV�hB�y�C�E�l4�ȥ���{*��ۉ��W��$'ǩ:R �"��^ߘϕ���c�2�,�K�� ��s�+�|�’��u�@.=D���Sa?ܾ1�+_�c�q�@.=d�O��ϕ��q܎�)�K)����1�+_Y��!��҅��ړ�6��&Hy
�)�W8��B\ifў4Sc"O��mI�W���c�6�k�2c�{iU =��7tO�����Wd>"��X\��x��K����<�(���бB�t�lSS�BF�+���@>��k(�:���Q��FU%2��~T�_��w��QU��q5�
�Q\�FՍ>n�ը�i�mԏ�i߳�H��^<t�/��%��Bfє��F5H7
��ף*�eu��FUH7
���~T�t��=�~T�t��^���6�.���mT�t�4o�nT�t�*��
�
T3�d�FЬ@.
�6�kZ!c��k6ԯi~w��{L?�$˼fa�A�iG#�1H��GXc��I+6*�� ��Dh��� Va�Պ�
�1�E?��-��b��9�@.
�dZ0�<U!ǖ~�E����6mވ�c�gI�t,���M��,9�I'{�r�ê�֜�1~�cў�XǢ��a�.��`��"�#��a1U9�:V3�?�`�����LTe�0d�45�2�<U!/c�q6��a5?�l׼M�YA.b�E��r}~�Sx�-�}���������b2�\Lf����`�\�x�ur��a�u���.)�֋�r��V����u��ש_�h��������k#�[lc��X��-�l�����wq���H��ȄXEk)���Jx�ި�(q\]��������[���:2}d�%��K�^���ig�л�����,�S���F<8?�s�����O��?����ht���n���^q 8}���7�8��5�Ǧ�a��^l:��*��W��u�؍p���t��}=?w=:]b]t��j��7�.:}�]��N���m����N�P�ݚ��Z��O_���ag	EǤ�)�}yhۯ߶z��;��軳�=a�Xg��>���<�t4,�wի�t|��R�b�l,:�-[�q#HYC�K-$�}����Ę+�Ô]���p&���m�s�3	gt\A�#Am��7��ݖ,�Zt�Nb#�[	�H �܍@h�c�����و����@�c�p���U��z"�z�ѕ��HFs%�@�F�|��R�mN��Pof�5�[sa{p��5ʮ���=�7͇�#endstream
endobj
84 0 obj
93459
endobj
4 0 obj
<</Type/Page/MediaBox [0 0 612 792]
/Rotate 0/Parent 3 0 R
/Resources<</ProcSet[/PDF /Text]
/ExtGState 41 0 R
/Font 42 0 R
>>
/Annots[13 0 R
14 0 R
15 0 R
16 0 R
17 0 R
18 0 R
19 0 R
20 0 R
21 0 R
22 0 R
23 0 R
24 0 R
25 0 R
26 0 R]/Contents 30 0 R
>>
endobj
7 0 obj
<</Type/Page/MediaBox [0 0 612 792]
/Rotate 0/Parent 3 0 R
/Resources<</ProcSet[/PDF /ImageC /Text]
/ExtGState 57 0 R
/Font 58 0 R
>>
/Annots[43 0 R]/Contents 47 0 R
>>
endobj
9 0 obj
<</Type/Page/MediaBox [0 0 612 792]
/Rotate 0/Parent 3 0 R
/Resources<</ProcSet[/PDF /ImageC /Text]
/ExtGState 68 0 R
/Font 69 0 R
>>
/Contents 62 0 R
>>
endobj
73 0 obj
<</Type/Page/MediaBox [0 0 612 792]
/Rotate 0/Parent 3 0 R
/Resources<</ProcSet[/PDF /Text]
/ExtGState 78 0 R
/Font 79 0 R
>>
/Contents 74 0 R
>>
endobj
11 0 obj
<</Type/Page/MediaBox [0 0 612 792]
/Rotate 0/Parent 3 0 R
/Resources<</ProcSet[/PDF /Text]
/ExtGState 87 0 R
/Font 88 0 R
>>
/Contents 83 0 R
>>
endobj
3 0 obj
<< /Type /Pages /Kids [
4 0 R
7 0 R
9 0 R
73 0 R
11 0 R
] /Count 5
/Rotate 0>>
endobj
5 0 obj
<< /Count 4 /First 6 0 R /Last 12 0 R >>
endobj
1 0 obj
<</Type /Catalog /Pages 3 0 R
/Outlines 5 0 R
/OpenAction [4 0 R /FitH]
/PageMode/UseOutlines
>>
endobj
6 0 obj
<< /Title(Introduction to the Pdf995 Suite)
/Dest [4 0 R /FitH]
/Parent 5 0 R
/Next 8 0 R
>>
endobj
10 0 obj
<< /Title(Hierarchical bookmark to Stamped Document)
/Dest [9 0 R /FitH]
/Parent 8 0 R
>>
endobj
8 0 obj
<< /Title(Sample Word document with links)
/Dest [7 0 R /FitH]
/Count 1 /Parent 5 0 R
/Prev 6 0 R
/Next 12 0 R
/First 10 0 R /Last 10 0 R
>>
endobj
13 0 obj
<</Type/Annot
/Rect [52 642 83 652]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
14 0 obj
<</Type/Annot
/Rect [159 642 191 652]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
15 0 obj
<</Type/Annot
/Rect [36 609 71 619]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
16 0 obj
<</Type/Annot
/Rect [177 587 208 597]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
17 0 obj
<</Type/Annot
/Rect [183 575 214 585]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
18 0 obj
<</Type/Annot
/Rect [495 575 525 585]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
19 0 obj
<</Type/Annot
/Rect [125 434 156 444]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
20 0 obj
<</Type/Annot
/Rect [289 120 377 134]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
21 0 obj
<</Type/Annot
/Rect [371 91 411 105]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
22 0 obj
<</Type/Annot
/Rect [259 642 316 652]
/Border [0 0 0]
/A<</URI(http://www.signature995.com)
/S/URI>>
/Subtype/Link>>endobj
23 0 obj
<</Type/Annot
/Rect [36 499 101 513]
/Border [0 0 0]
/A<</URI(http://www.signature995.com)
/S/URI>>
/Subtype/Link>>endobj
24 0 obj
<</Type/Annot
/Rect [256 120 377 134]
/Border [0 0 0]
/A<</URI(http://www.pdf995.com)
/S/URI>>
/Subtype/Link>>endobj
25 0 obj
<</Type/Annot
/Rect [193 642 241 652]
/Border [0 0 0]
/A<</URI(http://www.pdfedit995.com)
/S/URI>>
/Subtype/Link>>endobj
26 0 obj
<</Type/Annot
/Rect [36 543 88 553]
/Border [0 0 0]
/A<</URI(http://www.pdfedit995.com)
/S/URI>>
/Subtype/Link>>endobj
29 0 obj
<</Type/ExtGState/Name/R29/TR/Identity/BG 27 0 R/UCR 28 0 R/OPM 1/SM 0.02>>
endobj
41 0 obj
<</R29
29 0 R>>
endobj
42 0 obj
<</R34
34 0 R/R37
37 0 R/R40
40 0 R>>
endobj
28 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[-1
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�kh�D��
endstream
endobj
27 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[0
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�c`�
endstream
endobj
43 0 obj
<</Type/Annot
/Rect [201 76 324 90]
/Border [0 0 0]
/A<</URI(http://www.wired.com/)
/S/URI>>
/Subtype/Link>>endobj
46 0 obj
<</Type/ExtGState/Name/R46/TR/Identity/BG 44 0 R/UCR 45 0 R>>
endobj
57 0 obj
<</R46
46 0 R>>
endobj
58 0 obj
<</R56
56 0 R/R49
49 0 R/R53
53 0 R/R52
52 0 R>>
endobj
45 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[-1
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�kh�D��
endstream
endobj
44 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[0
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�c`�
endstream
endobj
61 0 obj
<</Type/ExtGState/Name/R61/TR/Identity/BG 59 0 R/UCR 60 0 R>>
endobj
68 0 obj
<</R61
61 0 R>>
endobj
69 0 obj
<</R64
64 0 R/R65
65 0 R/R67
67 0 R/R66
66 0 R>>
endobj
60 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[-1
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�kh�D��
endstream
endobj
59 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[0
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�c`�
endstream
endobj
72 0 obj
<</Type/ExtGState/Name/R72/TR/Identity/BG 70 0 R/UCR 71 0 R>>
endobj
78 0 obj
<</R72
72 0 R>>
endobj
79 0 obj
<</R76
76 0 R/R77
77 0 R>>
endobj
71 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[-1
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�kh�D��
endstream
endobj
70 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[0
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�c`�
endstream
endobj
82 0 obj
<</Type/ExtGState/Name/R82/TR/Identity/BG 80 0 R/UCR 81 0 R>>
endobj
87 0 obj
<</R82
82 0 R>>
endobj
88 0 obj
<</R85
85 0 R/R86
86 0 R>>
endobj
81 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[-1
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�kh�D��
endstream
endobj
80 0 obj
<</Filter/FlateDecode
/FunctionType 0
/Domain[0
1]
/Range[0
1]
/BitsPerSample 8
/Size[256]/Length 12>>stream
x�c`�
endstream
endobj
55 0 obj
<</Type/FontDescriptor/FontName/UKXNOE+Times-Italic/FontBBox[-169 -270 1010 924]/Flags 98
/Ascent 924
/CapHeight 668
/Descent -270
/ItalicAngle -17
/StemV 111
/MissingWidth 250
/XHeight 442
/CharSet(/hyphen/a/c/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/v)
/FontFile3 54 0 R>>
endobj
54 0 obj
<</Subtype/Type1C/Filter/FlateDecode/Length 89 0 R>>stream
x��UyXSW�k;�TRۼ7�֪P���e�TE���h%���fBB�B6^r�HX�=�DW\P�:�Zꂊ�W���t:���>}�f�3�|�7��{�=���;lT��pƧ/�HZ�(.M��to,Ջ�8f"�y)�y9�}�mz�y<��2��~�hV�Ҙ9�M�����??��R���9�MNO];%..~�Zc��e�zr��ٳ�l�o	�H��29	�B�QR*}���H}.EJ�
�\�*y�Ҥ%��%I��JEi�
29?�F���P*5���������VI�z�Z�K ��H1��P9r�2�P�A<���J�N�Τ\Gʴb����z5)W�(�%#�ѽT�ғ�ɕH�L%�uz]�V�ѓ�cr��1�s��:9�j)Ҕ�s�G��Y��U:RO�#~�)R"�ib�Li��'!���*�/��I-%k%
J���*��G�W�b�Faz�V�D�g�r��RH����|��V�Ud�z6��L�d�
��|Z�U��l�_!1�r�
%��t�zy�A!V��a��D,[��`��%�j�,
[��c˰5�Zl%�K��b�Q'a��2�;�BΝ(�ц諣ڹӹ�x	����1�(�~�d�	�2����8�r���-&����&�����2���0���4�����ݚf���ط^}
Ut �n(y�,4��U�Ap��>O� �*��Y�xp����z^Sa7�ܛ�
b;�˿e͠-�/R��C-�{���2���۰�r4|�P��,�_�T��K�����h��[��M5N���)q.����Ʋ�5n9�a�*v*K�����'����vY��&Y�	[nF�af�iMf��3�H�{ᓝ����W�/SN�#�ڤ�6��i!]Ci��A���P�������w82k
��0���Wp�	|#���+�B�;+�Uw±]0�h���8��)�]c�����˜S�2���dlbg�:��j%g_`�a�٩��Y�v�0H�3�E@��4u������,xQ��[c2���-��4��u�� ~ᢨ�����;����6�������>�L4���*�bE�!c_�ec5���]*�F�-ˇ���&fCaE��n8<D4[�K�'��;8sxS_�̼9)D��
|~_@�s���>D��^��υ�Eo������Z)N�T�����q�n8�}�h<s���T�3���`4^���!G�0YaF��Jw��	Ԕwm[����k�p��e�*;���N�sr���>�HĪ�4�����x�ڬWe
%!ͥLo𱰃͉07:���>e�|�͐�ox3��OnN��YV����֐+�S��`6��ݚ�__���'��p!������4�
���yiQ��z�5�������Gڶ~�$�L��lT���xc!3��9���Ἲ��u
�uԁ(-)-./,���^W��a����"�"[��lα�bO@%X`ux؄�1;J���U�&�%�����n�w"p����q�T�0�;����?3E�ģ�'�i�7WR�٢g�{cm���"9�Tt�Znk�L^����>�w��e�omڶ���5M-U��E��j_��?��õt�&�����]�|_�WI�zn�Q#s�)9��n��ɎP]m���nW9z�Nf&
ztrm��r-�|9�����{�??O �АE��&���FS��
'	
ؙ�Z^ym��l�%a�W���ډ7Ϟ���pp���3w�V�+���)}�RT�����sZ�%��c)zY�-
�'.�� /��?�؛Q�T��ʼMi�}ߚE��Jl��f(Ĕ�Klv3������su�D��
C`ޫi�,K\ʾ� �c�4Oi�U�Z�����ա��,�C���w>;�
Ę�0�jW��o~܍��f-��%f"�ͱ�w)�M����z���+�j��~>����������\���M��n�$c�<���r;���Ƈx�6��G��C��N<?bn=��v���Z�~��lB��|�H�A��ͽ�����0=�W����<���^XXT�8�e�����e�r<�܁W�$c-��~8���'mvd��b�)n(���;��yZd`�4ze^�������]ߢ!FH�DF�G$v����`���ˊ,{WIh[����
�ϝ�Ke����C��g�M�9*k��J�.�'H��\�.�%f��
O�[�@=�Du�K�WbM�.90�zc��'a:��H�b`���z�ξ��w�#��f�EC�����u�69����zZ���lH��WY��E��Z΃�sK�2��j0�l�fQ���	��ƥlt�|E^����o*����I�<iŔ{��������8��前E&�b<e�ʂ�KÄ?�/�`s-�S�l�\�.����L�ܴ�`_����{��G(�+���n��'{�hf�����	3�L�b$0JPT��J��Ieݡ��~��>�>���`l�����U$�X6�]ξ�hO�'t�����V�C�����z����U�\xY��ۨ���u�3���4�B�s��O�yp�c��L_g/Z��h��ρ�^��܈~�U���,�K�2Ca���,�Z�A­���z�ֶʍ�"�h}^v�b6��Z�iЀw��I��8N��Xm3��*��cZ�\Ev�t�'��bk~�wά���?p��.D�e�#�}vk%F�sz���KG�l���b��k���!-1�b�����w�k脨��;ކi�8��X5ϲ�5��a&17�yM����b��(�0
endstream
endobj
89 0 obj
2844
endobj
51 0 obj
<</Type/FontDescriptor/FontName/MRYOOE+Times-Bold/FontBBox[-168 -341 1000 960]/Flags 34
/Ascent 960
/CapHeight 692
/Descent -341
/ItalicAngle 0
/StemV 169
/MissingWidth 250
/XHeight 473
/CharSet(/H/I/L/M/R/S/V/W/a/b/c/d/e/g/i/l/m/n/o/r/s/t/u/y)
/FontFile3 50 0 R>>
endobj
50 0 obj
<</Subtype/Type1C/Filter/FlateDecode/Length 90 0 R>>stream
x��V{Tg��d�j�69YI�d�V��j{��V�o@��V�<&0�3�3!<�~<�	��/E�j[��[��m��Y�=m���o����ힳ��3s�|������{E�q�H$�l���*2�6P��Mz��5��"⦎㦅����yO�B�a��>�)&a�S��.��"��o��/��S!j����wcfGF�Ya2g3tr��|}��Ť:����\I�t����?dRz��@-s��EZR(RG�)rEt�ֵQ�Ɉ�Q)#Ũ�dL�ZOk�
��2��lRgbH���1���6ٹ�XRE�fJC�?QV
esH3�h��I�%���BiI����}�V�י��̘x����GŘX�ah���#Ƭ|g쎖�E��Ҽ�4�xO�I�!d�͢��,i��!��"�4k֫����Qf��BK��>�d�d��S��*��G�W�*�Y�=��i������Q�A����&��HF��ȍ���0����r��0,|C�Q�Ѥ��d6�Bo^��V��7�0�Ul����b1�*�l3����c�b�7��X<�{l#�[�Ea+�E��'6���@�U��l�q�B�T��541�)�{q��j�	�Bh�S���dB,��L�0�܅&K���%3�S�d�S�Ժ��Kem�Qrz�nl�WE���ʮ=�`1bťN�����AHc�6ƕ!�y�O���©d(���/,��v8��(.|ܘuP#���@��<܏*Y���U�rT���M*8	�ώ�ٚ�frGQ��T�W*˝�NPE�g}�ΜN%v����_�Ңhi�u|gs/�7u��vTa���$����3P	P9Y�S�Kmf�Nj݅@E�>��;K���i���ᠪ���MH��׷N9�dެD�8��һxg��VփnV�w�?\�h��)¸��˜��G���5(��T�j@�wN�������R:<��m{,�ѽ�tp��h꬗�+H�0�p�\ǭʰ�+A`X=���ἐ�7��F\8؜o{��`�W|Ima�NpQ8����t�Er�h��m���ňo�x@1b�At�mI�_A_�6�[��C�ȣ�61_��n�p�Y�u8+Vq�FLGS��yN��'?�P��?!��\/�����Y	�b�NÙp垁A%�{���Vn�9��/0.�σ_�N4��Ճ5�xbeA�w����Rw1H$�z<��4n1�f(�A4�/�8�)�>����[A�%Ӟ�x�c(����.;X�Q)`F�ot����E�f�>;	h�qO��E�]W	��|�חv$�h�/�����4�"��C�����*�=]�@;hέ�;���-D���Q���|��BJW�Q`�&��%u@3�&u�}gO�f?Uek�܄��k�Źu�f�DZ���UJ_륃۷R�5�B��08�^ԟqtH����4��>�,�`\&7]v��~�yw�\�)h�µs��V�r/�\З��YC��ޓ����~k��He�/m�MC	|�ww6���X'�cVu��{�������'�^�z��;��}`j'���ˤ7�g��&ƥG�Ol=�R]�ު�Fb8�����;ך����CC�������;�EAQ�P�$��dpF^�WRj%��"יZg���ڍ�K�!Iy��΀4BkH߱*��^�„�u-�j7p��ݵ��lg��xtq��umOD�r�~St����}m�̽����l�N"lX�ϝL@r.�����;�;�lP�*l@��H�Ǵ����6o�% q�W��bi/��*m�+����.q�
��Ƃ[�p�A�*�t��z�[pUy*]�Z�3��'M_��M�T������'��]�u��h*C��"��%�8����������\����L]���	�&{S��}����Q�݆�$��<4S���
T����v�Պ��<Պ�x�����Vq��%���vS���&	-i
��a�I�PK����E��3ɠ�����Wf���ݞ梦����"��
pb��r�}�?$��ٶc馭�S��|8?�s�0"�_�
Ը��ԕ�-��9\��WPr;�J4��]pR>�}�Jo�UwHљ�5���ukx�vD_�+�B8O���m9���
�+ܹ
��Yq���^4n�����r�ViP	ԌZ�	��~�dOo�GؖW�J(����&��?��F]ҷr
��Գ�`�O
d=ե�j^�vV���C�����m �@�piojj��4E��;��_�?VT�f��ߟ𷁃�|?�ǔ{�O	�>�������c_�6���tZ��*�K���7J[�:Z�a�/:-�G=�H�bY�2o6�#��ɢ��ʞZ���A�}������%D���i�<q�Oe��eee�y~�۫�����Π0�l��j?s�����X�`�*�e.�"Zڽҡ��Q��8���-K�$2i>�����?��PQ�e����#�xҡ��2�>����u����-J�'�}��}��MB4#�^�)i �̖����p�������GZ=uG*����S�����E�8�y�&�V�K�`c�@�<l�ֳ���X���w
j���:۳���q��"v�E����67��Ͻ-M�MS�z,ѣ�]m/�	���U�"0����6�8�acF]Uv%�:�5��^/�dl
��,���)�
`H4S��"���q��"���њ,`ϊO�!F~��?;wB}(�ȡ|�'8*�>A!��r�:e��7���5h2R֭W�;N�A^��[��>�SZ8r#>[�)zP�;�4�GO���n9�{��++x}u	0_b�c�}�:�`d8��>A�8�Ի�F��_�6�>�.�u4m�)#߅��a�������}�������e�8�&��	��N���I�cؿh�*�
endstream
endobj
90 0 obj
2961
endobj
39 0 obj
<</Type/FontDescriptor/FontName/VSGOOE+Times-Roman/FontBBox[-168 -281 1000 924]/Flags 34
/Ascent 924
/CapHeight 676
/Descent -281
/ItalicAngle 0
/StemV 111
/MissingWidth 250
/XHeight 461
/CharSet(/space/exclam/quotedbl/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/three/four/five/nine/colon/semicolon/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z)
/FontFile3 38 0 R>>
endobj
38 0 obj
<</Subtype/Type1C/Filter/FlateDecode/Length 91 0 R>>stream
x��yyX���C�<Z�J��I�jݭ��b��kEQ�%�		$@�B�6 H$,�#�l�/��.�U����i�;-眷����7���=����+���of�ܿ�AxM 't��{�.N���K�����ϋi_=g�
�E�~����
�_˜B�'us^��m�>:���/3ZÌ�!A�.^�d�T�JK�OP�Z�z�0Z%��p�H��"|���2�(E�L�O$*D¸D�H�yo@��=ۅ��	n��Ң�€�hqb��?1F�"-�Iӄ�c�)���Di�|�p�\%��D1�x�H#�y�e�4I�\�������(V��
Sb�鱞���q��P�&��<�MH�
yLZ�L!�;l�⌊�(�g_y"J���XiL��6�SD%�ȅ
�R��'Z$�M���Q*�/6%KK?B�<1%��ݗ�D�Qi�b�|ܮ���'��[G�db�Z�ퟨ���q�$J����qN�{����� Q|�8*�?G~��A� 6�oT���ޤ����,�ݒ�5-~�<!h�"qߎ���!��P�$z�;W
�������{s��濽� �����b�:A[�7��D ��XN�#����[��>b1�&vo���b!J�"V����?�.F�&6��pb���#��$b&� �����ML#|���9�t›���Db#�d�/9�x��9�k���a�2�^�*a�Xy�����/�`��ZH�O�L�iRؤ�_���d��S�Oy25t�ik�L���ܗOM_<����9�3V̰py��s挙�f��t��|V�,Ŭ�Y�}^��\��|���2����<N�����,���7q�"�B�N�
V�j{���K@KHp��xTJ�P����lׂ��X�)[��M�'@Iw���&���8�a��n�h��{�b�%|���>�l;�߅��gE��ȴ�TY�v�0�ȂNv��*�5hy M�ZH)a99��6.$a�Pk*��R���ZJ�r����Q���Wh�7	�VD�2�#�*y��i,��(ZK6���Ր�
},9NIKxu<��FᯖhSӕZ`���R�U]��"3S�ԑ6p��%8��.���;*m��8��=�[3��׸e[Q%�Z*4��AmX��	N2�DS�)x�<u���P��;HD�:�3)�I(�W��T�?F^�xH�޵���4P%����{4��0���rn��xy�����x��n�!�&(K/�֪�����pi��U�2����`-�f>Z�'��ۻ�͍�涫��ߦר���|��a��K�ᎅ��O�[����t��J�p����ퟕa� Q�X1ʢ�Y耒�U�]6Qc�H0W��3�uz��D�~��$,;�r�����}��~ңty?��#�ArgQ��".ǩ$�V�F�O��:�_>�IR�?��ݺ�c���R��[%Ͳ�����l�uG|����?z���6�W�o��pn�/�,o��
B2bcɪ蜝�:����~/t����bsĐ����ȥ3h�g�1�w�/WUb7g��<�:1;P�φ��B��L�I�ZvŧN�5@A>���4�����^���A�wLh��p������
�
�����Yo��ftR�㫋�+�ux��ظƾ��\��O'o��{l���$l�)�|̄ύ\8���T�|@��T����u�q���E���r@�T�h9)�U�೓���f�N���>yL���/`2�Uf�1P~�_�i�u���ϟ>*�qlpg{�����C�8'h��Hp���;l����z%ٛ��sf���`7��#Ǹ����+ك���w��Mr��=�;�;v���>�s��q�
3XlsF�>d�ESv�:�� X
�Ļ���-hXֶ�lе~�@���/)U��-;%~������� ��;�'�y��e���;��R��'�HjԵ*(1v�S�y�yӟ���VЯp+���PǬƃ���7��
5�%9�k�
E�J�!�"����&���<���o�L�< ��!	�`5.�m��=���B�6�n�{B�6L�d7�^��돤�A�Hk�eU����:��sn[�:$݇�ppP%J<-�Vc����?ݿ
�>z�p+���F��
�����ʦ�A6�cԏ���9h.:��c��@��oc����s��Kʓ�k�۫�c�ê��ڗ��m�ܟ��NS(�B�!p�6�}�p�/c0��|�$u|�t�E�����f�fC�,N�� �6�u�q�+a	)���n^�<�I_�~1��+�o؜9J�"��x���^Y��fV�)�Ð��M�^����@�;�����ա��A�i�o=Y�gq4p�~�{�YR�-O_��0�����ŦSC�3�>�f>�i548�જr0@�?�M�k.���9��$���̖�Nn͸	>ƴ���ɍ�����)��;`T�k�7<�i��W\�ucJ-�:��X�WmCwd��ݡ�C���Ȝ��5����-6�d�o����\m1T������r�`}<������)��������	<l���:�������W�3�N�R|�6����l�ƶ�`U�q��E�_k�8��\:ë�jm��7�]��LmQ���B$�~Xѫ|���}����#r�:�d� ��d͵T�
���
8uv?�jlSt�Ơթ�9�q��4vKYY3��q��kjޢ����묱6����ȋ-J��|��n���L+=��TU�hEV�YHn2��c�LNr�E��)�Nv�i.��5V򫵕f;��5-��D�̷���ghz�.@����n8�(L:^��������I'�>����L��2���>2��4P�6n^��,�8I�T���ܤ]&�U���-�eI �
}���M��5��88�т�e>��i��;���+
���*�����lo�lqv�3�5�A�A!��ln���i@}ߩ�\�Xo�5X�g���ܫ-]��MjI5�6������$�u����\�7�h9��b^H��f
fd���R#s����3�}���	�q�YW��=
��y䗠FS�N�<c��M/s��
���,��	��̓sXvAA���0��Xl(�85���%��k��6��y!��ԕY#b^d�4,Ql�W�3�f7�.SYh��m��c�9��QЀr���9���GWw�� �#i��(h��_nK\�!�|/xD��o�g܁ᶚ�:s4~� �v�.�B������6#ȿG]x/ J��^&s-����}Y<Y+�,)��R@
���%cW5g��b'Xf����E�WO�>�:O�>���,���c(��ܲ�Uu6w4��I0��Im��5y����9�$���`��
��ن�/��=�����a6�΂+ٜ���)����N�rdixFT��(5���`��ѿ���s�h8����U����gv��лd��f�j>d�=?�|?t�?t�F�'�8�<�&���C5�s`<+�mV����,*�a������h>:��yå��m�Dpx
��.
F��j��J)5��ѓ;��E�qr~�q���~gK[���7e��MFQ𑈬<���`2�rg���KŹ}]`�j;r�to�N��2#MmL�8M�x��<���������r�)#�7F�Ż�n��7�Y�����E��8�>4$�l4l�$^���Y�c��I3�2�B*�W��6Է�(Rp�9��NwӨ?���j�řC���5���0��G�S�NG\\y���NJI���~�fh�
�':}TT�+�rjG��M+�/©�|�
%���WQ���3j�˄-iz�r�|!��~|���v%j\�.��81����';R�p�W_xz��ߌ�K#L(��CIp����v%��Ti���`Կ�	�v��{�]
F�Kh��xځ���B�� 7�^���}�1����7�}Ȁ�*|�V��N5y#���)�'�4W�5���z	�b��
85�zCK��wh�!
��kO�}�s����?8��#9�%g�ݕg<�2J96�5N2|w��?��7���TX�9��E6�k�P�P�F���i�L�Q��`���T
ڊ,�����}�p����k�/a��|\�3��F�u����]����	��Dk�5�.�@B6�W5�	T#�ױƮ��h���
.�e.j/�0l��
:��|l�6d��gޟ:�=r���|�W�`k��Z��z�����N#Pc�1ϸU�̃fG�T�N���e��p���-����ɨϧ�l1Yr�Te9e�X��8~��I���B�H�~N�}\oG�\.E�Ӧ��e`E����SouN2�(��.�'�����[�y�F��R��f=_��)Nv�E�:���P����n-�9K�X�;�-�xaeЂ�l�V����>��W,ҧ�f�$9��+��ߍ�1iHWq�HU�W6�FI>4W���X<�neId���p�QvR�a��O���wc�i���B7I����pd���8�q�b<ϝ/p��!��l&��� {����
�0����֓V�r���ɫ2�C�J��L�E�,��<[�
�x����X	��CC6��à/�ɧJR�-���^Մ�����+1���VT����/>��R7ނ�o�G��.�L����7~6-�VRI���bnNҿDo)�G��~�ȸM=��p9�
����.��������s58
L�!đ.�UӘ�}����+ܙ
�u���B�����X�����)!�=$Z�[�sD���MI'�(�Pݹ�|�}imF��1|��^<��ĒZ�����k���J�����
�Q����7ct��".�R�/���d�dz	�?��A��I��4'����PY�(”�����vp,�q�a}��Qe��7n�m'�τ��l1Ȭ�0��k8���V�Q�s����f�n�ק��s�z�.S���;pحmE��M��u�Ds}��DMI�<
��$��R{��iw�i�#a����<�2�%yJ�G�+����|�.�5��R�yJj�Ȋ�2��}���4'Z���)�E��r��z�a��PC�	X�Hp�b0y��Iij�
��m���À�\+��x����$��L-��j�q�&��k��RC��ˉ�! H�~��}�T�L4k<��&��?���0������QY�A/�#�ʊJ�P}�Q��jR�$��3'���?�� ��u�d���g�GS3b�����ۿ�y�>�d���l�@�9�(E��>��XP�]_h�eי]�46�.x�v+�˅��ck:W�Q�KO6���x��ֳ<�@I��u�z��c�XF��a9�O�����\e�y�x�s��>�v>\�Z���<:0��n��v�ch
��\3�F;>�"��3��s���)�m�~v���g�~p"�3➿=}*�~�>���愖
�;*׃��u��l��_�9p<��З1��;L������ՠ��b��'۪�0�f�@!(���w�t�|HƝ�
P��lx?Sm���6`)Z}����{�g��O�]��{���3�CA
hR.E�1������Y�#_�W��:O\ר3	�'��|N]r����ZTT��)�P�[^f�I�ƅ�	0ٿ�1�p��Y�8x�-�I�����Օ��{�<�"|��s%
�XR����P��&?*�؀�b�Z�<m\X�!�K�Ͱ��ћ�־��+��V^��V!W�Y΅5o�т����(4�^����y5���]���������Rp��p"⢗V��|��{�A��@u�y~4Z��B�$��W�(d�e���8]<��G܇/]��V�$�q�lԟN�Dk��-|��?s%i�┣i��MG[�S�<7k7@&,�L�CG�����h��=��&����F�lc}⑷�`!dzc�z�׎_1_��
^�_阯��ze�?�J��|�����]�iԻ��A�3�����(u\B�>"��M<��'�
8k���\��S(���f��S��O !Q�p���_a,L8�O/��y�]7c�)y�v,giɪ�ʒ��ZkM	u�d��A:)G������GyRa��\[�e�(���M���7��Ǚ�Eo�����Z��ű��7O��{<_�����7l}$�7�s.�_s�������ǃ�6jU�e���8��Vm��O@��HL���QS�I���+�8�u2�=�^Y��}��G{.�rץ7�#���|�L���י����u�D��&>-M �H5���?S�(��(l������N�q�9=���є~.���g͇�.�}�-���g�w�W�7Zn�u߻BM�tӡn�f�Mz�R[���Oj'O!��֒�
endstream
endobj
91 0 obj
6561
endobj
36 0 obj
<</Type/FontDescriptor/FontName/LOKPOE+Helvetica-Bold/FontBBox[-173 -307 1003 949]/Flags 32
/Ascent 949
/CapHeight 741
/Descent -307
/ItalicAngle 0
/StemV 150
/MissingWidth 278
/XHeight 549
/CharSet(/space/percent/comma/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/A/C/D/E/F/I/M/N/O/P/R/S/T/V/a/c/d/e/f/g/h/i/l/n/o/r/s/t/u/v/w/x/y)
/FontFile3 35 0 R>>
endobj
35 0 obj
<</Subtype/Type1C/Filter/FlateDecode/Length 92 0 R>>stream
x��Ww\S��ri�xQ��O:�v���RUEE]�I�h H+�2XVQXABW`Wa)��
��Ol�E�Y��|k۵a9���~������!��Ӿ�|ϙA@������9�"���(T�
�R?z�Z%�Oܹanx?���K��#T�@�.|b�I,����.�zVX�X
��쵵K�|-��e��(Www��4]�2)Yˎ���atl�	��(�RY'��T��i)�T�'�P��d��T)�s"���.���`E�"=^�Fd$��2v�R�H�(\�Du:���ԩr�V�N�x��6�դ)dJ��Ȓ)�6M����hȚUjؤ�T�B�jլ2U�ʐ���~�:U˦���y
9!�"��F��LӲ�cD@Po���x-�W�$Ǭ:�H�ղ͇3m�2U�jYZ�O���+5i�x�KL��+�!dh��I�{�銤�t�J�1����	�4�Ψ�6J}��j�D�peJB����'j�Y�����D���Q5�_�*S��g(�$F�'i��i���C3W��fM�8������l���q�)j$���CP�TH}F����1�#L����H*�r��S��xj5��@-�&RnT��
��S^�b��l�!����,���=5�F
��)�D�P��q���)5��F��	J�s췩���&�&wL%�a�;M����@g��-�l�VQ���X"�����~�Z��fc�df{���W�_1�����WK�e��C���IDz�k8������)�,O��Ib_�"���i �k�����gP'��Z���g ђp�658`s�A�=i�6\�m-Rȗdo�٫��o��Y����}e�-(,-��=6vV =�	�AX�v�Ms;�h�%?�D6]W�o\�Z6K����D`z��/I�#��x��H� � &\<b6���aH�'��g�'��	0��]`�؞��� q@ܕ�g�*��TUԣ�2� @l��3��=7��	���1\�
wUh�
n=)8S����%��?S�)�I4��Dm\�}���W�_����,��x�4���F8EN������L�-��PxD>�F[�<:W[`�c���mK�CD��^�K��GIk��)����d��V16�,�N�r�"80�/OuvJ�U�C-����Ͱ�ƍ�fRC
�CQ-�`^ؤ�s.��ھ�^����, ��`쌳�:��Τ|�`�&�J���3b�'?��0���l�.���`�\��/�{��pŐ��䡽hj��ݺ���.|�Mq(�:F���w�R,�W���!Z^��j�~kَ3�]O��{�.�լҫ�W~��;�ԲH����8'�}��qD^ʰ����������QW�ڃ�-{�ޠ{_��h���;ԍ�N|=�sV�o�H$��p��î�N�[N~E�}�X�
֜����@u�B
&������oT�@ D`�z1�c�ŠrlJБs7�+��
����'D�a��
�Ƙ���[�-�C׸
ƻ�>��UE^��y�����s���3&v�t�T�[�`���"���H[o&m�����L�g`
���8y�R|�HZ�1%���Nm�4����R�џK>>�6L@�x
�5�p�`m(�3�k$�RB��$X{��v���\/�����p�Ё�ۋ$0R�)g+چf����b�1�H�N��m/׍D_CM8b�[%�H��`wl�'c������]<+�.��$&parIC�;�9���S��/������'��r�D�KL1�g�;�.
�}���nH�cN~
O�������E`�3�.��-�����=�����z|v$�9L
�&IUE�Ң�gW��(�c�y�(C�L�rfR�<�d�-�%��l��0�F7х�������P+�Ln(Ɓg��y��qU���5Kr$&��c`!	�zO
C������Ue��<ݞ�(Y���$��;�X���9���b�<BzQ��/!��q���
�F_=�"|ڰs�tgҡl�'�(Y+im��C�f,�v���^M�E������˾�. 2�e�8Sb9TԄo;����t�D�ԫ֬^�rk^k��'����X�LG2��<;��I���w�/�<�ݱi�$N�x�N�A�$w�q]�<��Sbš�q�`A��� �m0ʄ{��a�5'�ꗴ�%}�g8��Xxa>����W�̪U���ᑉc�5��*!�+�y?	�	�"��!i��KxX��%l���=w�X׳V��^�qT�s~����)Rg�Ւ��f���I��*��$X6���NW^������+���p�P��%hV^��Q��kP��c���It���m�\���X`���_�\C����^!��F�B����ʗ�b�_M�W�4xaE?�����8�3�;ey��{��p0����͇�1���ߴ��	;M
��%0��w��p�U�tW��$�ڀPPv�;V5���|EyZ��Y��%t����޽!�<h<R_Yt�������y�S�����U��q��!r#la7�Xq��xC�ĵ�k�I.sP�@�={�/~���r!�я����WF-p�j{_�?�}�k�$�fP���c�e fp
ap^hL����[��ݼ�ڞŌa=� � �б��&$��i�D��E������l��$�moސ+�q�K<di�zU��\��B���'�h�1�P�cr��ln�X��H<3��s4͐����C�A������B��Bl���x�p���j�|Ut�t�M���ʿR_w5�2���+�d�6.�25z~ج�֛�O�]%�Quo&�����yH�A��qѓ0�[2*�3�t>h�i��b�D�d��pb�Ӄ�"���^)j�{�`eq}�W��D}��>�p��HK�M.�߹ќ-S�p�G+�P�L���!���������t��*x�c�nOp��'`�������wl��&�����oϵ5յKm�w�o���h��ؘ����O�\'�C��cb(� jR>�n,x<��#�Q�cm{�{�>@ݫ�-o��X?�L��n�؅ u�Aǿ9PP"��ݟ[Z!��!~K����%�rs�����F͚%;s�^����Or�d�a'c�? ې��Q��#���P�Z�pyO��T	�ӐУ�c#w��U�|'W�$3S���q	�� 쀰uḯ4�t(�.�^}�R}��1;��*�����&�����ѕ��_��B��o��
���)ZJD�U��Vm�������8Z�TUVOF��+�랃ߋ5�a�A�|��-�g��>��8�q�qv�����/��w��%u1=Y��4F��^��ki��;)�F�gd��hNJ��&){;�1�:����[U�A��W5�V���7rk�Z�x^�)�����Ӊ��jӑ*��0��[6��/��>\W�s�z�
�F(:�!v��'`�-hSN��K�ֶ\�\0%]��`	��I��s����.��<�; :��(wgٖ��P�8,6&<4��m<��#�������Im�����ZCe�U{0;���du�/�l�z����.�w8�������(#����i+m)W��)�/Ji03��`�ka#XXR��qK�
endstream
endobj
92 0 obj
3685
endobj
33 0 obj
<</Type/FontDescriptor/FontName/MSZOOE+Helvetica/FontBBox[-174 -285 1001 953]/Flags 32
/Ascent 953
/CapHeight 741
/Descent -285
/ItalicAngle 0
/StemV 104
/MissingWidth 278
/XHeight 539
/CharSet(/space/quotedbl/parenleft/parenright/asterisk/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/A/B/C/D/E/F/G/H/I/J/L/M/O/P/Q/R/S/T/U/V/W/X/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/quotesingle)
/FontFile3 32 0 R>>
endobj
32 0 obj
<</Subtype/Type1C/Filter/FlateDecode/Length 93 0 R>>stream
x��WyTS��1��+2(�M"XE@fg���L�`�#�&�0V�S9Z;��jEQqh��g���h���-A�
Ң�j�}��'��NB[۷���"�ܜ{ϰ���oW@�������p�(��P�Wf�-�޼��>�!ijp��e�ljFP�;��%vT�p���HG�0����JA��gJҼ���>���K�ʜ\�,`��ɲ%%�?���:e�F6�\*Ty�j�F�+KV(d�\�,[�R�f'$�E�G�<#�Sd�
�B+W������Xe�B�S��e�ie����<M�R����|e3u2�L���T�I��LE�冏,_�U+u:r-S�d9Z�F�Ȓ��dJM�� ˲=����e��<r_M�tz]�V�����"�Ϩϕ�-���,/�<���Y`��{z�R����z�>K�,�._%/!����J�
tJMΫ�}dZE�\��R��ZPy��oQ���U%ֹy֧��_��)Tپ�J���,YN��ʒ9*�������EQ�3K4�o��*�˚��H[���͙��M��+��
�΍.\�S������;�k�l�Ϥq�}��M�8�IQ�(w*�J�¨ɔ/�Aͧ�pj5�����ש$*�
�FS�TH���R�T�I�P1T05�J�ޠ�S^�<*��@ySoRq�,j"�F�S��IG�R�� ʅPC){ʕr���0ʑr�Sé!��K��ר�T$a4eCI�&;���1�`�Q�|0�0R�φ��o��O�1"�h��=��@�0��'��l6[�6
X8�v�"[7�P�<�j��A�A�]��Nf�Ү�~�������*�<�_;Nt�s|��#�<�����yȜ!�:
��|#2��
��L����S�iFl�L~��x�
��<�����f�Z��h��O-��n�<|b��
��ȁk���Ȝ��n�n���xQ 
���e�Vf��"׷Q�ƒM�f皝��AU���=;��ھg�q(39���OjͭpBm����7ɂ���8#����7^?�+����eLg���JS/��v1��6ާM�:��2xνwf՗Esb�B,�m��t���߁׶H'�e���7��s�n�X2k��
�)�D���rP �B'�:�u",��]x��V�z\����������K��:����Lj�18���L�"���x�!�"�vF�d�F'��=�=.���`�[Й]uǫk+΢�+�ѷ���=w{j,�WQM�N�k�{�
V@s\��x�gj����Tˋ�Śu��CQ�!���9��ڣc�/��?]�3徽�@_�S�Z�X$j�Z|�}�Yp����v�|h+60�-oO��'���)�}|5����0��caL�K��/��tC(��|(vƎsB�|��@N=R�"����u�v������^:�1��%��X����N,��ߝ��vRq������0��s����p�|���l���5Z�m����`?Fc�4UJB���m���v~�w�OD�gO�@
�M�M[�\�Q'�)C�ޯ�1�����T�wHZ�ݮښB jĚ
�m9|?[�t��{�a
w��'Rt͈�G ��6`�T�<%-ˊc�qo(
��܏����O��s��]VT� ����Xɡ��ZQ�|8��Xr����g�?��1`���nBd}Ă�(����;Qthݡ���f��ދW�#�x5r�z��|=�gן���{������
�}q1.�
�]�U�/J�oԃ� ��R��J&�@�/���0w��<H�GA���kA�+֥��9�bA(�Bl'�G�>7��3���DZ���Qҿ#���ҙ�LVS��$�H
�>tI���0�G��r����_\��l�Q���� �Z7;����9�H�����P�.IS�iՆRĆ.̘!
��i^�/�d���6[G�B�J���κ�'��G7X1�
���s}��w��͐�<j�?uj�@iU`�2+�
x��#��P����VͳhxH�Y\�n��/���z�tgWñ��w��
�F쿱l݆Un)hɲ�!�8�	c�&��ڄ�?�?��_y�`A�5�8t|e�WiҺ��˛�u��l>���,.�����H�E�y��{��@o�lKGd@7�9~���Y>���q\w�t삇�L�k-��G�K-��rn\[�G#`\	�g��p�K;�^��a9��&ߎ[\�tmr�~�^���^�E���J�'T��k����s���h.�$�f��֐~�;p�F~��	 �b�&ς�j������B�pMO_:k�b۞B����l��
�7a��90����מ2���'��+r�f�q=����՚�%�-��u��%�I4�O�A���eUU�YQ!�[�E��������E�7�%p���M�[���
�Z<%_Gw�dH�cТO2��]ATI��]�}o9�WO;b<����Ӵ�!���$��}/ -���ʢ}�ۖ�v|F��Ěx�U�mV��4���ɠ-����8�:3��~�d�YM'�f!��_�MW!yB/Ol�OE�h�>i���X����0�C���5�$�^���ч���W�����	�èIxTX�-��N�V_�����Mf�+��Bl��-5R��,��tB�'���^d�$��Z������~��Q͞{zxQ��S�<�v�i$��������Z)D�Qw<%���Bb�5EW%�i(eW��/�>��$��m3OG��!�D�*��_CWQw�u�*�F�Р������k
?{-�g��?c���H��>�m-�?Ex��Ծ��<���g��Eo������c��s�Й�=	�fd����cW%<3���_K�E"�܆�Z�YD��մ奠�ˢ�̼��7�GhC�$�ٲ���m�}�P{Kj�g@n3ɽ�����1
`)���8Xk4�L�u}n=�U��R	YǑcZJ�*C�u���n�8{�C��!�k�-�>b�H�:�ҩ-4_L߻�F�+���S�1�E2k�Vd��&��j��|�c�̌
K�S2��˕�(�AM,�ٗ�c��`&L��a���l�t�;����HZ�oaМw��jK�و
Ϫ ��y����0����$�O��% ��3�Z�0��"��uz��GF.�h�!q=���~���DV�Y�/���>��?��o��m�/}��Y�z������e�'�4��d�Jt�����鏿�=h@��yi����^�mW���le�V�E�>�~��Xy����sh'ڶ��c��!�CykK�z�j�[鈍Qnl�9�h�����7�ƾ�Ý�#��=i��܇��}�14l'>�U:O�^��#KB�pv�$�
���+DOhp����z����Lx���">��72��7]n�rT%�}�����Yі���q�ٱ����t��|o$b��h��E��m�~��v
�Y���
�X|���H���8�Y:�%��~3?1K
�ws=�^)�^�~ L+�!��A�a�Gx
���'���҃���/4L��4�S�U���]g��pB9��/��Ť��1'�|8��a-
Z�J��ДF�qO؃s�g�rb ���1��Υ��G�!�6qP:	��5d�4�_'y=��4�<�N5;���j8��	�O.Ÿ������n�4��tΖ��ˏ�|��K �x��@�O�\�^"=�"8Eh��o%��*���!�Y[��:"�t�՞+�g��u���HŇ`#�?�e$,�TK�.Ik)��[0�BP�B�QDN�!<����ck���#��04������SH7���O��+諬�"Y���܃�D����)���t��b��{��$�5����!��왊���t=�yJ֢J/�/8�K%�XY�`=�`n=�P
v�ԁ/n����n('���&/h��{�-vLl ���{s�[$�:%+31dv�)d ����̋��$�^��V�Ω����3�O�hn8q[*���麔<ibBr�������CX���!�5��
k����#<Kb�B�
��U0LB���G�d�+DH�����&p;1�}P�gݪ��Փ-�8b�K��_ͺw����5K��n_x�F�ަ���xf��h�ו5����3^����?!���K��I��D/��L �xaU���?����m�ǭ�
+�K���բ&V�V�����LZF�by����Ij�
K|5�B8@��F	���qz�YX{�����6������J�O' F5��I�7ѧ�Ǎ�]��Bj��'R+�@��S~#g��eJ�è��h^�ƒ�L٩WI8�7�Q'��F���əқ�����̳sC>w������&y��v��Q(E-�J�*Ve���v����৕�_}���w/%MO^:?6G�7{N\����*�_�n�9��#�-�e9��t�Q��	�sS�����R՛��d�\Vy3�����ǝ0�;��R��<}k8Li�n�cz�~_�Eo�j�ޭ{*�N�%a�_8#�D���T�Z�^\9�� �{BXE�6������c���� �H�i�5@HA�W�+ �"��6�>d����f;{��/&�W
endstream
endobj
93 0 obj
4690
endobj
85 0 obj
<</Subtype/Type1/BaseFont/LOKPOE+Helvetica-Bold/Type/Font/Name/R85/FontDescriptor 36 0 R/FirstChar 32/LastChar 251/Widths[
278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 333 556 556 167 556 556 556 556 238 500 556 333 333 611 611
278 556 556 556 278 278 556 350 278 500 500 556 1000 1000 278 611
278 333 333 333 333 333 333 333 333 278 333 333 278 333 333 333
1000 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 1000 278 370 278 278 278 278 611 778 1000 365 278 278 278 278
278 889 278 278 278 278 278 278 278 611 944 611]
>>
endobj
56 0 obj
<</Subtype/Type1/BaseFont/UKXNOE+Times-Italic/Type/Font/Name/R56/FontDescriptor 55 0 R/FirstChar 32/LastChar 251/Widths[
250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278
500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500
920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722
611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500
333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500
500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 389 500 500 167 500 500 500 500 214 556 500 333 333 500 500
250 500 500 500 250 250 523 350 333 556 556 500 889 1000 250 500
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
889 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 889 250 276 250 250 250 250 556 722 944 310 250 250 250 250
250 667 250 250 250 278 250 250 278 500 667 500]
>>
endobj
86 0 obj
<</Subtype/Type1/BaseFont/MSZOOE+Helvetica/Type/Font/Name/R86/FontDescriptor 33 0 R/FirstChar 32/LastChar 251/Widths[
278 278 355 556 556 889 667 221 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556
1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778
667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556
222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556
556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 333 556 556 167 556 556 556 556 191 333 556 333 333 500 500
278 556 556 556 278 278 537 350 222 333 333 556 1000 1000 278 611
278 333 333 333 333 333 333 333 333 278 333 333 278 333 333 333
1000 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 1000 278 370 278 278 278 278 556 778 1000 365 278 278 278 278
278 889 278 278 278 278 278 278 222 611 944 611]
>>
endobj
76 0 obj
<</Subtype/Type1/BaseFont/LOKPOE+Helvetica-Bold/Type/Font/Name/R76/FontDescriptor 36 0 R/FirstChar 32/LastChar 251/Widths[
278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 333 556 556 167 556 556 556 556 238 500 556 333 333 611 611
278 556 556 556 278 278 556 350 278 500 500 556 1000 1000 278 611
278 333 333 333 333 333 333 333 333 278 333 333 278 333 333 333
1000 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 1000 278 370 278 278 278 278 611 778 1000 365 278 278 278 278
278 889 278 278 278 278 278 278 278 611 944 611]
>>
endobj
77 0 obj
<</Subtype/Type1/BaseFont/VSGOOE+Times-Roman/Type/Font/Name/R77/FontDescriptor 39 0 R/FirstChar 32/LastChar 251/Widths[
250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556
250 500 500 500 250 250 453 350 333 444 444 500 1000 1000 250 444
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
1000 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 889 250 276 250 250 250 250 611 722 889 310 250 250 250 250
250 667 250 250 250 278 250 250 278 500 722 500]
>>
endobj
64 0 obj
<</Subtype/Type1/BaseFont/LOKPOE+Helvetica-Bold/Type/Font/Name/R64/FontDescriptor 36 0 R/FirstChar 32/LastChar 251/Widths[
278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 333 556 556 167 556 556 556 556 238 500 556 333 333 611 611
278 556 556 556 278 278 556 350 278 500 500 556 1000 1000 278 611
278 333 333 333 333 333 333 333 333 278 333 333 278 333 333 333
1000 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 1000 278 370 278 278 278 278 611 778 1000 365 278 278 278 278
278 889 278 278 278 278 278 278 278 611 944 611]
>>
endobj
65 0 obj
<</Subtype/Type1/BaseFont/VSGOOE+Times-Roman/Type/Font/Name/R65/FontDescriptor 39 0 R/FirstChar 32/LastChar 251/Widths[
250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556
250 500 500 500 250 250 453 350 333 444 444 500 1000 1000 250 444
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
1000 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 889 250 276 250 250 250 250 611 722 889 310 250 250 250 250
250 667 250 250 250 278 250 250 278 500 722 500]
>>
endobj
34 0 obj
<</Subtype/Type1/BaseFont/MSZOOE+Helvetica/Type/Font/Name/R34/FontDescriptor 33 0 R/FirstChar 1/LastChar 255/Widths[ 333 333 333 278 500 500 167 333 556 222 584 333 333 611 500
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 278 355 556 556 889 667 191 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556
1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778
667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556
333 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556
556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 278
556 278 222 556 333 1000 556 556 333 1000 667 333 1000 278 278 278
278 222 221 333 333 350 556 1000 333 1000 500 333 944 278 278 667
278 333 556 556 556 556 260 556 333 737 370 556 584 278 737 333
606 584 351 351 333 556 537 278 333 351 365 556 869 869 869 611
667 667 667 667 667 667 1000 722 667 667 667 667 278 278 278 278
722 722 778 778 778 778 778 584 778 722 722 722 722 666 666 611
556 556 556 556 556 556 889 500 556 556 556 556 278 278 278 278
556 556 556 556 556 556 556 584 611 556 556 556 556 500 555 500]
/Encoding 94 0 R>>
endobj
94 0 obj
<</Type/Encoding/Differences[
39/quotesingle]>>
endobj
67 0 obj
<</Subtype/Type1/BaseFont/MRYOOE+Times-Bold/Type/Font/Name/R67/FontDescriptor 51 0 R/FirstChar 32/LastChar 251/Widths[
250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278
500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500
930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778
611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500
333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500
556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 500 500 167 500 500 500 500 278 500 500 333 333 556 556
250 500 500 500 250 250 540 350 333 500 500 500 1000 1000 250 500
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
1000 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 1000 250 300 250 250 250 250 667 778 1000 330 250 250 250 250
250 722 250 250 250 278 250 250 278 500 722 556]
>>
endobj
37 0 obj
<</Subtype/Type1/BaseFont/LOKPOE+Helvetica-Bold/Type/Font/Name/R37/FontDescriptor 36 0 R/FirstChar 1/LastChar 255/Widths[ 333 333 333 278 611 611 167 333 611 278 584 333 333 611 500
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 333 474 556 556 889 722 238 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
333 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 278
556 278 278 556 500 1000 556 556 333 1000 667 333 1000 278 278 278
278 278 278 500 500 350 556 1000 333 1000 556 333 944 278 278 667
278 333 556 556 556 556 280 556 333 737 370 556 584 278 737 333
606 584 351 351 333 611 556 278 333 351 365 556 869 869 869 611
722 722 722 722 722 722 1000 722 667 667 667 667 278 278 278 278
722 722 778 778 778 778 778 584 778 722 722 722 722 667 667 611
556 556 556 556 556 556 889 556 556 556 556 556 278 278 278 278
611 611 611 611 611 611 611 584 611 611 611 611 611 556 611 556]
>>
endobj
66 0 obj
<</Subtype/Type1/BaseFont/UKXNOE+Times-Italic/Type/Font/Name/R66/FontDescriptor 55 0 R/FirstChar 32/LastChar 251/Widths[
250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278
500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500
920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722
611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500
333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500
500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 389 500 500 167 500 500 500 500 214 556 500 333 333 500 500
250 500 500 500 250 250 523 350 333 556 556 500 889 1000 250 500
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
889 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 889 250 276 250 250 250 250 556 722 944 310 250 250 250 250
250 667 250 250 250 278 250 250 278 500 667 500]
>>
endobj
49 0 obj
<</Subtype/Type1/BaseFont/LOKPOE+Helvetica-Bold/Type/Font/Name/R49/FontDescriptor 36 0 R/FirstChar 32/LastChar 251/Widths[
278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 333 556 556 167 556 556 556 556 238 500 556 333 333 611 611
278 556 556 556 278 278 556 350 278 500 500 556 1000 1000 278 611
278 333 333 333 333 333 333 333 333 278 333 333 278 333 333 333
1000 278 278 278 278 278 278 278 278 278 278 278 278 278 278 278
278 1000 278 370 278 278 278 278 611 778 1000 365 278 278 278 278
278 889 278 278 278 278 278 278 278 611 944 611]
>>
endobj
40 0 obj
<</Subtype/Type1/BaseFont/VSGOOE+Times-Roman/Type/Font/Name/R40/FontDescriptor 39 0 R/FirstChar 1/LastChar 255/Widths[ 333 333 333 278 556 556 167 333 611 278 564 333 333 611 444
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 408 500 500 833 778 180 333 333 500 564 250 333 250 278
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 250
500 250 333 500 444 1000 500 500 333 1000 556 333 889 250 250 250
250 333 333 444 444 350 500 1000 333 980 389 333 722 250 250 722
250 333 500 500 500 500 200 500 333 760 276 500 564 250 760 333
400 564 300 300 333 500 453 250 333 300 310 500 750 750 750 444
722 722 722 722 722 722 889 667 611 611 611 611 333 333 333 333
722 722 722 722 722 722 722 564 722 722 722 722 722 722 556 500
444 444 444 444 444 444 667 444 444 444 444 444 278 278 278 278
500 500 500 500 500 500 500 564 500 500 500 500 500 500 500 500]
>>
endobj
53 0 obj
<</Subtype/Type1/BaseFont/VSGOOE+Times-Roman/Type/Font/Name/R53/FontDescriptor 39 0 R/FirstChar 32/LastChar 251/Widths[
250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556
250 500 500 500 250 250 453 350 333 444 444 500 1000 1000 250 444
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
1000 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 889 250 276 250 250 250 250 611 722 889 310 250 250 250 250
250 667 250 250 250 278 250 250 278 500 722 500]
>>
endobj
52 0 obj
<</Subtype/Type1/BaseFont/MRYOOE+Times-Bold/Type/Font/Name/R52/FontDescriptor 51 0 R/FirstChar 32/LastChar 251/Widths[
250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278
500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500
930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778
611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500
333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500
556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 333 500 500 167 500 500 500 500 278 500 500 333 333 556 556
250 500 500 500 250 250 540 350 333 500 500 500 1000 1000 250 500
250 333 333 333 333 333 333 333 333 250 333 333 250 333 333 333
1000 250 250 250 250 250 250 250 250 250 250 250 250 250 250 250
250 1000 250 300 250 250 250 250 667 778 1000 330 250 250 250 250
250 722 250 250 250 278 250 250 278 500 722 556]
>>
endobj
12 0 obj
<< /Title(Excel Chart and Spreadsheet)
/Dest [11 0 R /FitH]
/Parent 5 0 R
/Prev 8 0 R
>>
endobj
2 0 obj
<</Producer(GNU Ghostscript 7.05)
/Title(PDF)
/Creator(Pdf995)
/CreationDate(12/12/2003 17:30:12)
/Author(Software 995)
/Subject(Create PDF with Pdf 995)
/Keywords(pdf, create pdf, software, acrobat, adobe)>>endobj
xref
0 95
0000000000 65535 f 
0000387952 00000 n 
0000431791 00000 n 
0000387802 00000 n 
0000386858 00000 n 
0000387896 00000 n 
0000388064 00000 n 
0000387125 00000 n 
0000388278 00000 n 
0000387309 00000 n 
0000388172 00000 n 
0000387640 00000 n 
0000431686 00000 n 
0000388434 00000 n 
0000388558 00000 n 
0000388684 00000 n 
0000388808 00000 n 
0000388934 00000 n 
0000389060 00000 n 
0000389186 00000 n 
0000389312 00000 n 
0000389438 00000 n 
0000389563 00000 n 
0000389695 00000 n 
0000389826 00000 n 
0000389952 00000 n 
0000390082 00000 n 
0000390537 00000 n 
0000390388 00000 n 
0000390210 00000 n 
0000000015 00000 n 
0000014509 00000 n 
0000411014 00000 n 
0000410537 00000 n 
0000422987 00000 n 
0000406745 00000 n 
0000406353 00000 n 
0000425257 00000 n 
0000399685 00000 n 
0000399233 00000 n 
0000428475 00000 n 
0000390302 00000 n 
0000390334 00000 n 
0000390685 00000 n 
0000391133 00000 n 
0000390984 00000 n 
0000390809 00000 n 
0000014531 00000 n 
0000109440 00000 n 
0000427447 00000 n 
0000396165 00000 n 
0000395884 00000 n 
0000430660 00000 n 
0000429637 00000 n 
0000392933 00000 n 
0000392653 00000 n 
0000416839 00000 n 
0000390887 00000 n 
0000390919 00000 n 
0000391605 00000 n 
0000391456 00000 n 
0000391281 00000 n 
0000109462 00000 n 
0000202820 00000 n 
0000420936 00000 n 
0000421964 00000 n 
0000426425 00000 n 
0000424231 00000 n 
0000391359 00000 n 
0000391391 00000 n 
0000392055 00000 n 
0000391906 00000 n 
0000391753 00000 n 
0000387478 00000 n 
0000202842 00000 n 
0000293283 00000 n 
0000418885 00000 n 
0000419913 00000 n 
0000391831 00000 n 
0000391863 00000 n 
0000392505 00000 n 
0000392356 00000 n 
0000392203 00000 n 
0000293305 00000 n 
0000386836 00000 n 
0000415811 00000 n 
0000417861 00000 n 
0000392281 00000 n 
0000392313 00000 n 
0000395863 00000 n 
0000399212 00000 n 
0000406332 00000 n 
0000410516 00000 n 
0000415790 00000 n 
0000424167 00000 n 
trailer
<< /Size 95 /Root 1 0 R /Info 2 0 R
>>
startxref
432014
%%EOF
files/sample_1.xlsx000064400000010751150456303740010302 0ustar00PKz�H_rels/.rels���J1��}��{w�Dd���ЛH}���a7�0u}{�Z���I~��7C��f���G�Fo�Z+���{�����kW�#�VJ$cʪ��l� �n�0�\Q�X^:�`���d�d{�m]_�d����h��V�������F�w�^F9��W��-�(F/3�O�DSU�N�l/w�{N(�[��q��T����u<��r�?焮�s9�F����M��h��'h?PKf����;PKz�HdocProps/app.xml��MK1໿"�^7�vYJ�nQ�SA�x[b2�F6$�e��
�g��;<�3r���� e|Ko����CK_��jCIF博����!�]w#_R���B&E�Gĸ�<�#8�Y�}IƐ��2��h5<=;���h8,ހ��H��	����������>��z��_y�d��r|��	�4^��5l��[?/����\-��'h�pb�0��Tkɯ9�//�PK�i>�gPKz�HdocProps/core.xml���n�0��{�*�6M��ᰉ�&M4�[���I�$Px��6q��vl��j�=X'[]"��(-�J�D��<~D��\W�i5����]!��w��^��H;*L�����[P�%����i��>��Ɔ�/^��4�
<����f$��#��l3*���;L�/^V��	�r�T�
ܴ���}pr4v]�t���'x����KݏJbũ*,pU��Y��<�,�e)��t�OK�@ɔf�����i�u�cc��բ�\�Ƃ*�n#�S1�����[��4)�u8D��}PKpYoL/LPKz�Hxl/_rels/workbook.xml.rels��Mk�0��F��Ic�8��A����Q���6�ֵ�~.[
e�Г���H��4���C�����v������V͢��h%����؀I/Z��8Y.b;]��JN��ɺ��Q/��IӜ�S�[�n+P�s��c�
_�{�0�
	�r�3�R�b�+/2�m��=�?"�#ʯ��R6w	�_f�zo	ۭP~�$��E����|PKO�z�%PKz�Hxl/sharedStrings.xmle�A
�0E��"�ަ��H�.O��hɤf�RooE��{��4S�ꎅC&�����.���t\�@�x�|̄�и�a5��z�a�5�=&�U���K�2c�j
��{DIQ��z����#��
���m�Ç���8�I�g�ߎ}"��˯�Zϟ�PK���PKz�Hxl/worksheets/sheet1.xml�UKs�6��W`xȩI9�]�bƕ�&3����f�7�X���R�_����C�:P�����oL>�(9�6\�yO�����r?�>�����T2*��y�&�����~6�% �<(��n��d��LT5��%�x��T(�JN��2,)�A�p�C�9�`���i
�Z��2A�xMr.,�/�a�9PW�=l�~���>�
:u�&a{9MG��!����2v��G3z'G.�:n���YOeIL��+L�Լ��9��Pju�
�q��'�	+2V�Z���~��!-�mA�s`�{��
t�})wJ�rZ�B@wJw��2��[ ������H�l?#���*Un3*��8�F��T�x��/��|�Z�D;�����F�z>�{E]õQ���M4w��\%滯�]<��߻��|Ka�L ����M'�Aw��K���cA��8�[��%/���t���
���G�K�3[�,�̦��:���^�.|ȍ�xI-M��D{��6V�M8��.���.�V��V���Y"��s�Jm�^vuH�$<�[���-��s��[���Eob�]
**ͥ]W~�I��j��0L�����������.У��<;W���B���c�G.�\]_��9�ة~�ΦW�k�S��3M��|�����몮p*�[��]�'7��kc�x=���v��[�j�o�8ص��qkɧ���	������r����z����N��V�o��"%L��n�pF�t۸�"�C�N?�Ҳ�����ؕg�d���~�"W�>�x�c	���CH�x���a�4Q�57}G����?�}����Cp�?����a��\7JoO��m0�	�!:N��x�+	�y���PK�K
��PKz�H
xl/styles.xml�]O�0��+,ߏ���� `t�4!E�4��$Nb��v���s�iR��v+R�l�9��c[u�-GOT��B��LT�d>�������%2%\I:�5�,�[qzWPj������K�����UR	O2��0�y`JMIj\��0ǁ L�8�s1֠Dͥ��|�=q<���.U
V�]]_ݞ��A
 �2%W��B��D8@B.��~|��Nʈ`���F��-�ÝI�W�y[�!�B��Z����Ϫ*+a�=���Ct�I5u��}P:���]V/���\I���	�7��W�,�bq�Yk�����Z%���qS{rہ���ۧ?��ۇ]do���������Ì�%���A���F��Cz�9g�t-�F+K[�Z�#�D����ns*��uu�Ҳ�I�}1�tao�%���5)g �Ed2�'�g��L>�Ԕ���Lekq�<�ti�`)�v"�E�V�pU���uj|��+w+����po�3[������������m̌w�r4�)7��r3�%7���Lн���|�?����:�G��N4��| �e㎊ܧ�_�onީ�Üq�d3J�^��k���1�J���z��
1�W��E�{�����T&UK:�F��z�Nz�㿧�P��������}������h�WPK�����PKz�Hxl/workbook.xml�RMo�0��W�7�ӢH�(�Тh��ڵgZ�c-�dHL��׏V�v�I"�����K��c��+Y�J)��`��*���l!E"�\��+&y���B��!���Iɖ�_E�-v�f�G�Hb�a���&��Թb^��E��#�*~�#4��x�COG���է�In֍u�t4$��BDz��iYl�d�����\�d.!m����8'��jY^L%�P�Jn��1�dqH�1̌w!����sJRܟ��P����8�G�Ӕ|y�ބAI^������P��<_\L�;�ۖ�\T˹��qPJ.��R46&�M2��r�1bC�;Gyg�)|h~Y�R��7�9�b�`��+�+�@�7��8Ѱ]�󷄑��޳��d�/�0�gf;�o�9�7�X�,�L;�{�PK��sg��PKz�H[Content_Types].xml���K�0��+J�Ҧ� "�v<�y�����mދ���}�������P��ޗ�j>�]�$�]-�E)2p��ֵxY>�b>�T�mʸ�Q-�Ý���>�㝕�^E�ŵJ�j
�,o��.��yLbV=1��l�0>�j!_:�E���K���P!tV��ɍ3�h����c
56��7�x�@H�q��N���j`���%�4`���ql�N��gM�#�C����c��}���3��Q�9"�%:;j
�Py���H��:��2�p/����.�hzD�ÿ�!�Z�ʺR��}PKb�4WPKz�Hf����;_rels/.relsPKz�H�i>�gdocProps/app.xmlPKz�HpYoL/L9docProps/core.xmlPKz�HO�z�%�xl/_rels/workbook.xml.relsPKz�H����xl/sharedStrings.xmlPKz�H�K
���xl/worksheets/sheet1.xmlPKz�H�����
v	xl/styles.xmlPKz�H��sg��Gxl/workbook.xmlPKz�Hb�4W[Content_Types].xmlPK		?�files/response_xml.3.xml000064400000001647150456303740011266 0ustar00<response>

  <result name="response" numFound="3" start="0">
    <doc>
      <str name="id">parent_1</str>
      <arr name="title">
        <str>Solr adds block join support</str>
      </arr>
      <doc>
        <str name="id">CHILD_1_1</str>
        <arr name="comment_t">
          <str>SolrCloud supports it too!</str>
        </arr>
      </doc>
    </doc>
    <doc>
      <str name="id">parent_2</str>
      <doc>
        <str name="id">CHILD_2_1</str>
        <arr name="comment_t">
          <str>Cool features</str>
        </arr>
      </doc>
      <doc>
        <str name="id">CHILD_2_2</str>
        <arr name="comment_t">
          <str>Cool features</str>
        </arr>
      </doc>
    </doc>
    <doc>
      <str name="id">parent_3</str>
      <doc>
        <str name="id">CHILD_3_1</str>
        <arr name="comment_t">
          <str>Cool features</str>
        </arr>
      </doc>
    </doc>
  </result>
</response>files/bug67394.json000064400000001435150456303740007745 0ustar00{
  "responseHeader": {
    "status": 0,
    "QTime": 5,
    "params": {
      "fl": "date",
      "indent": "true",
      "start": "0",
      "stats": "true",
      "stats.field": "date",
      "q": "bahruz",
      "_": "1402067668264",
      "wt": "json",
      "rows": "1"
    }
  },
  "response": {
    "numFound": 1039,
    "start": 0,
    "docs": [
      {
        "date": "2012-10-10T15:05:18Z"
      }
    ]
  },
  "stats": {
    "stats_fields": {
      "date": {
        "min": "2011-10-20T11:16:34Z",
        "max": "2014-06-04T13:41:45Z",
        "count": 1039,
        "missing": 0,
        "sum": "47085-11-30T17:59:27.999Z",
        "mean": "2013-06-03T17:17:43.684Z",
        "sumOfSquares": -234260129500201700000,
        "stddev": "NaN",
        "facets": {}
      }
    }
  }
}
files/response_xml.1.xml000064400000025046150456303740011263 0ustar00<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int name="QTime">72</int></lst><lst name="system"><lst name="threadCount"><int name="current">15</int><int name="peak">15</int><int name="daemon">13</int></lst><lst name="threadDump"><lst name="thread"><long name="id">21</long><str name="name">http-8983-3</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.net.JIoEndpoint$Worker@1bf68a9</str><str name="cpuTime">60.0000ms</str><str name="userTime">40.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">20</long><str name="name">http-8983-2</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.net.JIoEndpoint$Worker@1706eb7</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">19</long><str name="name">http-8983-1</str><str name="state">RUNNABLE</str><str name="cpuTime">160.0000ms</str><str name="userTime">160.0000ms</str><arr name="stackTrace"><str>sun.management.ThreadImpl.getThreadInfo0(Native Method)</str><str>sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142)</str><str>org.apache.solr.handler.admin.ThreadDumpHandler.handleRequestBody(ThreadDumpHandler.java:73)</str><str>org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)</str><str>org.apache.solr.core.SolrCore.execute(SolrCore.java:1299)</str><str>org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)</str><str>org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)</str><str>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)</str><str>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)</str><str>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)</str><str>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)</str><str>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)</str><str>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)</str><str>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)</str><str>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)</str><str>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)</str><str>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">17</long><str name="name">TP-Monitor</str><str name="state">TIMED_WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable@74db2c</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run(ThreadPool.java:565)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">16</long><str name="name">TP-Processor4</str><str name="state">RUNNABLE</str><bool name="native">true</bool><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.net.PlainSocketImpl.socketAccept(Native Method)</str><str>java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)</str><str>java.net.ServerSocket.implAccept(ServerSocket.java:450)</str><str>java.net.ServerSocket.accept(ServerSocket.java:421)</str><str>org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:306)</str><str>org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:660)</str><str>org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:870)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">15</long><str name="name">TP-Processor3</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable@1e16483</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">14</long><str name="name">TP-Processor2</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable@8ddb93</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">13</long><str name="name">TP-Processor1</str><str name="state">WAITING</str><str name="lock">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable@14ab51b</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">12</long><str name="name">http-8983-Acceptor-0</str><str name="state">RUNNABLE</str><bool name="native">true</bool><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.net.PlainSocketImpl.socketAccept(Native Method)</str><str>java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)</str><str>java.net.ServerSocket.implAccept(ServerSocket.java:450)</str><str>java.net.ServerSocket.accept(ServerSocket.java:421)</str><str>org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)</str><str>org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">11</long><str name="name">ContainerBackgroundProcessor[StandardEngine[Catalina]]</str><str name="state">TIMED_WAITING</str><str name="cpuTime">1400.0000ms</str><str name="userTime">920.0000ms</str><arr name="stackTrace"><str>java.lang.Thread.sleep(Native Method)</str><str>org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1579)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">10</long><str name="name">pool-1-thread-1</str><str name="state">WAITING</str><str name="cpuTime">100.0000ms</str><str name="userTime">100.0000ms</str><arr name="stackTrace"><str>sun.misc.Unsafe.park(Native Method)</str><str>java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)</str><str>java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841)</str><str>java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)</str><str>java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)</str><str>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)</str><str>java.lang.Thread.run(Thread.java:595)</str></arr></lst><lst name="thread"><long name="id">4</long><str name="name">Signal Dispatcher</str><str name="state">RUNNABLE</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"/></lst><lst name="thread"><long name="id">3</long><str name="name">Finalizer</str><str name="state">WAITING</str><str name="lock">java.lang.ref.ReferenceQueue$Lock@1b82d69</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)</str><str>java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)</str><str>java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)</str></arr></lst><lst name="thread"><long name="id">2</long><str name="name">Reference Handler</str><str name="state">WAITING</str><str name="lock">java.lang.ref.Reference$Lock@ad6513</str><str name="cpuTime">0.0000ms</str><str name="userTime">0.0000ms</str><arr name="stackTrace"><str>java.lang.Object.wait(Native Method)</str><str>java.lang.Object.wait(Object.java:474)</str><str>java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)</str></arr></lst><lst name="thread"><long name="id">1</long><str name="name">main</str><str name="state">RUNNABLE</str><bool name="native">true</bool><str name="cpuTime">3340.0000ms</str><str name="userTime">3180.0000ms</str><arr name="stackTrace"><str>java.net.PlainSocketImpl.socketAccept(Native Method)</str><str>java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)</str><str>java.net.ServerSocket.implAccept(ServerSocket.java:450)</str><str>java.net.ServerSocket.accept(ServerSocket.java:421)</str><str>org.apache.catalina.core.StandardServer.await(StandardServer.java:389)</str><str>org.apache.catalina.startup.Catalina.await(Catalina.java:642)</str><str>org.apache.catalina.startup.Catalina.start(Catalina.java:602)</str><str>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</str><str>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</str><str>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</str><str>java.lang.reflect.Method.invoke(Method.java:585)</str><str>org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)</str><str>org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)</str></arr></lst></lst></lst>

</response>files/response_xml.4.xml000064400000003721150456303740011262 0ustar00<?xml version="1.0" encoding="UTF-8"?>
<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">0</int>
    <lst name="params">
      <str name="q">*:*</str>
      <str name="start">0</str>
      <str name="rows">2</str>
      <str name="wt">xml</str>
    </lst>
  </lst>
  <result name="response" numFound="40" start="0">
    <doc>
      <str name="id">GB18030TEST</str>
      <arr name="name">
        <str>Test with some GB18030 encoded characters</str>
      </arr>
      <arr name="features">
        <str>No accents here</str>
        <str>这是一个功能</str>
        <str>This is a feature (translated)</str>
        <str>这份文件是很有光泽</str>
        <str>This document is very shiny (translated)</str>
      </arr>
      <arr name="price">
        <double>0.0</double>
      </arr>
      <arr name="inStock">
        <bool>true</bool>
      </arr>
      <long name="_version_">1513324811722424320</long>
    </doc>
    <doc>
      <str name="id">SP2514N</str>
      <arr name="name">
        <str>Samsung SpinPoint P120 SP2514N - hard drive - 250 GB -
          ATA-133</str>
      </arr>
      <arr name="manu">
        <str>Samsung Electronics Co. Ltd.</str>
      </arr>
      <str name="manu_id_s">samsung</str>
      <arr name="cat">
        <str>electronics</str>
        <str>hard drive</str>
      </arr>
      <arr name="features">
        <str>7200RPM, 8MB cache, IDE Ultra ATA-133</str>
        <str>NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing
          (FDB) motor</str>
      </arr>
      <arr name="price">
        <double>92.0</double>
      </arr>
      <arr name="popularity">
        <long>6</long>
      </arr>
      <arr name="inStock">
        <bool>true</bool>
      </arr>
      <date name="manufacturedate_dt">2006-02-13T15:26:37Z</date>
      <arr name="store">
        <str>35.0752,-97.032</str>
      </arr>
      <long name="_version_">1513324812366249984</long>
    </doc>
  </result>
</response>files/solr-word.pdf000064400000051074150456303740010307 0ustar00%PDF-1.3
%���������
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
x�R�N�@��+渑`�N�h�<z�b��(�DMz��gwmWEB�&g�����-,���A�-ښUS��[[`���ˉ�Op�P�lQ��0x8�N���Ք�\x�U"J�̖d~����s��Ѐy�8ID�*�Y�D��)�0��KŠ$8�.�5�Vs��+I,��m���ō���DYtO��S
�w�z�Կ�b�`K�f�M��J��L���`�E��f�Rꡒ_"͵�d-l��@J�i�W���F��E��A"�0m�P,�op�Î�����[Z��m��C�iK���4^�����T�L
endstream
endobj
5 0 obj
322
endobj
2 0 obj
<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]
>>
endobj
6 0 obj
<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /F1.0 8 0 R
>> >>
endobj
9 0 obj
<< /Length 10 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>
stream
x��MHa����ї��$T&R�+S�e�L	b�}w�g���-E"��u�.VD��N�C�:D�u���E^"��;��cT�03�y���|��U�R�cE4`�λ�ޘvztL�U�F\)�s:�����k�-iYj���6|�v�P4*wd>,y<��/�<5g$�4�!7�C�N�-��l��C��T�S�3�q";�-E#+c> �vڴ��=�S԰��79ڸ�@�`Ӌ�m��v�Ul�5��`�P�=��G���j��)�k�P*}�6�~^/�~�.�~�a���2
n�ײ0�%��f������|U��9�l��7?���j`���l7���"�t�i��N�f]?�u�h��gM
Zʲ4��i��[�&LY��_�x�
{x�O��$��̥߬S]�%��֧���&7��g̞>r=���g8`候�
8rʶ�<������d�WT'��<�eL�~.u"A��=9�뗚]��>31�3��X3����-$e�}��u,��gm�g�6�64$ы�EzL*LZ�_�j���_��]�X��y�[�?�Xs
���N��/��]��|m���sϚƫk_Wf��ȸA�2��)�o��z-di�������2�|m٣��j|5ԥej�8�ɮe�E��7��[���Q�|�IM%ײ�xf)�|6\
k���`Ҳ��䍐.<k��U�}j��
M=���mjߎ��Ü����e�)�`c���IWf����/���^a�44�M���i	��6p����_�
�
endstream
endobj
10 0 obj
792
endobj
7 0 obj
[ /ICCBased 9 0 R ]
endobj
3 0 obj
<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>
endobj
11 0 obj
<< /Type /Catalog /Pages 3 0 R >>
endobj
12 0 obj
<< /Length 13 0 R /Length1 24324 /Filter /FlateDecode >>
stream
x��	|\U�?~νw��Κ̞ٗ��L2I�IC�I��%�.$��t�
M���YJ���B����iJK
(A+�Z����/P}���XyUH�=wR(��~���?w�~�Y��<�y�s��=!<��\�j���>����x�����߸�z?!�/Z��/8�%B4��(�]�q��7��%�x���֭Z�τ�@ȅ=x�i"�I�·#�p���V}^ف0�c��MkV{�8!�6���U�
)���"���5��^Wn�KoD�fhӖ��F~�hY14�n�t��D�!&+�(��%�.� Y9#G���?�HV�Y�r���eW�?��"N�6�>�<f�b%��v� Ur,!N�BEw�,&//�R�
�i�w��?R\E��W�O��ߚ1�D�}d?��3��|�L�E��FzȽd>y�D�;�O�@¤�<F�4@82�TQy��N.%��w�I�.����N2������"���!����o�g�F��d�_��i
5�+O����k}
�)"�=1�8�E���^I~\�퍐��Qz}��� �Ch���"���K���C��و��A��D����wJ֡�ϑ���12��������\HV!���uj�u�T���@��}.ŽȫЎYH���C�W�i�w����k�	<?�V���u�m�z2��?�w�$�h�㪸*�VI��H�GF���I�E��}�X��.�me{��2�!�h�~��8Ksȃ�j~���*�nBג�����h�[����<��n�v�/)?V�ڢ&�L.o"�ɵ�������CN��/?P\�8S�c#s�n�^���,��q<���fD/���b����q�:}�Sr!n3�G�����I�(��$��0��l�܈Ѿ�}����D�4F3�ѫx�n6ׁ����[���>�#�mӧ��4�ay/Q��c���1
��!I��[����S���0�ȷ��>�v�^�G�τa�	�
�B�*��U��L���U�cA�����4i �?���B�����Md/��r79@�@��'/�_�7�{�BCh���j@ݭ�.<�'���%��{�j<	��+r��<n=w+�{��ܫ�;��_���G�<��_� eE=��;�*�J��V����T�T��[�d�=���_��CyEy�%R���F+>��q@�Q�"p�䶾O9��;iАƬ�|��z��x.�+񬢫�<������B?O�(?��o��G�<M���K�6�=�#}�s<�9�Ź,W@O۹�\7w1���&<C�0�3�(w�;ƽ�[�(��W��o���_�)pBZ�
��
a�p���s�5�CE@ѩؠxP�=�G٠\��Ry����G*��G�Zu��UY�!�}s��/�|�nQ؄븷�.���b7]�Sr���]��+.�g� }����*�����DWp��j>�h�/'w�2}��
w���`�˸wiB�}��ķs2�V�B�7+�!��i�v�	������Ń�mŃ��IP8�Y��Xջ9P;�3�
��+4(>$W`�Mq�{w;��_$������z��	�H�p�q�0���I���/�>Kߤ���G�bN��*q:$����Z�dž��8;���p��'�FJ�%��\Oy��M�k����i��&����_�?;��؊�w����b�#��OH������H=y0x;�q���#t-��O���+I��-�ж]���pU�����]���Z�ʚ 	���)t3
�ށg-�G��n��/H7u����\���MZѾ��!!�V��7㍯N/ ���O(Gv��s��{������D��Z�����%Ҏ���|s�2P~�|)YO����^#Md���[�H	
��/��G��wo/ oE���Ϸ�9�g�^�W�����_�&'H5Fh5��ir5�3�m?A��r���!P���E�G��%��y�#��=#įx�K��˗I�9��n)4�jjl���岵�t�&��Ǣ�pu(���Y�Y-f�d4�uZ�Z�T<GI�3<o0X�
��Xx���W!b�y�� ��}:O)��[��O唐��S��>�I�`+iͤ���`�DG88NW^���;�}�Ҥ�_"�Ge��P/;�:�%:�,�۾ao�`G&M���u�L�����W�
�Us���:[qDm@K�pGg�ƫ(��v�Z[깨���
�e�%ھ&��D�sK������Ք��%�\M�zC�JO�s\$�S��ᵫ.�-�PFgɜB����O;?	�pK{���S=��N�A�y���ҁ�z�{�b%��7�w*��Ե4���[�zK�VTd�`}��n]���^,i�s��^9��q�-��w���n�X�qw�.�
�JEO�oU�����x�a�t}:%�>$�+�z�h���
�{�a�+i�O��|]<���(��$��ђ�0��̬u�d�f?~}o��b>�(i���-��EZRD�pp��	�?<�ާcV��(���	KdP�1��@�f���J�jj���1�h�9ܘIo�J�!1�Gz0���Z��P�M��Y�@i��J8HV{ƈ�M���A�2q.ž����K����0�)y�`/�c�M��ڹ��D���u��ᮋV�;��lײO�*�l@1nH���ʋ�-)����W��쯈�w^1�K
m,Y�{y�����rQ��KW�+�z��,!����J
�chp^I\P�������4^>�ޒ�O^��s�%5ӫJK�?�T��{��e�N\ײ�{�j?�6xo��y�༽�{W��GV��bx�1����;�	�U����3wxJ���CW6�9G��ؾ�w�I��Ql�	p*��)�OE����w�[���LjB�O�*�9B�K�T<�t��4I4�*zq��Z�Z/϶.�j%E�ŏ`��B�9
��j~�'>��Cp���k���^�G�E,��}\_�q��t�t�JT�`R[�Q���	-&{�>b���F�L&��r~���j�_2�?I���-j�T�r��n�66���c�j�2\klh��;�6�5�7kT*]�b�k�j��~����}=V�Ʀi����2�����}�|�n�֑��%�R�K��Q#4t�栆�ܪ��z��ékC].*�R�����V[��=ٮ�J`��� ���:H��R�Σ��&~Q����.n���>`���Q�4[l>?������\B�xH�Z�B᪐+�0
�+�p����B�E�-9�dQX��o5�喅���4��(�i0L��§�|8T��Z��Uz���,kK/��r��t�H�ի��#�J�0Ų-��������ۭ�$3�B!��˵n��.Fm1�ɻ���|�
걺V�T����M7���t�s�1_n��&+�

��R��|=1�ί�8��%y.�}�/<���_�Z����ٙ�[��B[���������b�w�}e���î�E;|����b��9�ȎS�4+��I#h��,�ԋ��_����~(|��)���T��#��>�>�Z���p��^?Nc�A�Q���P�2�q,&��(��#�<�P8�Nh�zA�q4���ʐp�$���~!E���R�S�'I��d.)%��BrT��h��>���qzD�%Fy���|�I2V�}�$��H�<I�k��I:�9j?��<us��s�8�j)d�8͖�X/�2*N�Gĩsn]�l��SԜ�o��7�k�p�l�rT9�y{��L����o���nC4J��e�ӹ��gr�bN�6��j�;�]��Եi��{Qtz����F���+��W�l�Tc�R��I�뎑Z��=-���mέ���C�_�v8��<������7"JW\�M�
�B|v"W�2~E|�v�V�"�no������c	����UoD^����SD�¾��UӀG
�{(L|�t�/Qw��u��+�ΩU@HnѝsK�!�½�vf]�Z*Ֆj����'k��4�'���C�I��&�<i33)O��L�8��p�M]�³���_��{��̻ٙ�L�$�-�?i)�ͬ�H���&bɪX�F��⮚<�z�����e;$�_
�g��l��P�UlM��Mts?�<L�	�9��Z���1�w`�������Ɩ4L=�_�y�T�_����T7��x�o×ܲ,��}vz�H �6����k�GN�k���~��"�)�FP@���]"�,_LS5q:���I*Rݴ�Ә[��<�dSs����׀{��TFR3�"l�m5l5n7
��C١��m�݆��[L�S�	��E�!oh04��_c�f����d&?�٢�s�@.tA��j��V.W$W�|�<�@��i�s�k������
�6^ڴr����V�'�[f's-Öa�������N$^�y15�r��v���C6q���e9vQJ�!�|�dh�r������XL��˶�^�Ѧ�S���Ȏ2L�Q&�p¦ឤ�����@���iX������w���6��qn�Ӂ'�)QC5,C`-}��/�e�4�Q�}��kse��9:��J� ���6����j�.de�W�d��W&����)�N񸓈n9;)����~�>4Er*k"�Kk�$ib�j���!����D�O��"��dL�D-`uV��cPeK&"�"�����J�5��
��5)���8�
t?�=�NSAș
y��2J�V�N�s24�+Uas��U�:��*|V!�D���nO�y��wt���
��]>U4��=�q�f�ħ�y��S�ڸ����*��N�>pٮ���v^~��}�m����ҟ���[V�_�����E�+��Щ9�{%�Uj�X�[�[鿊^�]�ʯΆ�����/yS<�Qq��w<b�Z�Ba�3L�hR�ƹ	ɪ�$Z�2-&���2�%$�Z#c'���42v�TW9)?CgF������KG�=IǸ���(�ppm?�{R���c�_��5��t�q��*s
,]�I�s.�2�je��%�%Ʊ�X�162�9�0c2�t��e�{b�٩r`
�1�hX�������[i���ٝ��h�!8,�֍�R(��<�ߨvb\���X�ڜ����o%���W��:�S�l�h.ũ��M�l]�#�4J�J��jTZmNYPY�NkA�A��5
pG��+�O��1�H�'�j�(cʔ:�K�ք;�I�뚔wCn��Cե[�Y��U������^wonY�ʵ���
�
���ۅ������t���}�g�������۳���ݭz@w����=�&���7���q���ݏy������a�a���q�S�����#�?��6d��6���͞��M�k2�:�:�
ߥYX���
}�K��U�z��TD�udk��@����R��|�2�œ�x��2��Z��:u!n�0ݭ�Vq��7�*
���x�j�F����DI=��y��lғ���K���u͞�xy�G�
��7I��Z��t���^�F��^��/"�Y�Z]���r�l�R�b)�\�uVK<��$�N�c������:�٘�gb�Ev�X&א���������3u�w��\��q���M�%�$}�����?�2{���p誽���O�v�����Ypc�=S��ˆ0Glݭ�M�6�<�y�G=�Pi*d
T:��U��U�G%���%5�����	���gV0+�������Q;��Rq;��rlف�*�lk�p.�2�`�jg�\�-5}[b�'�'"�Wg����gcs��~�����eMrb��!Cʥ}�����XC�����|�5���b�h4W�qJ���L}�j����J�wM�?ݐ��q"��'�=�A�O/�VV�,Jl�R�����Q�F�:�<*c�(��Q�t�<�`Y~�)���9+��n(/��T�������<��t�A/iP�^�mF�~����g��za��:�X���)F��ִ@���I�g?�7@C�Dv
�\��	�E�E�&&�L������˥Ri�λ7�Y�6QK0P)>�9��-)�N�3�CwG��gq��ő���.V,Vv;��H�=>�֨
�ꅴK�P���kV{��.ѭ�ݪ�E{�δ�q���ܠ:OZk���g��D_�8�)���5!�[E�7ǀ|P�eg�^з:�˯II]��9�����]N�yc@��ǹV��C��2#.ӈq��IfAW;����(���G���t=NC��Fc�Dё�hT��g��H�FE�)�,�Q�K5P�D`��du*�X�`eDŋ*zFE{��j��~M�u�<<�Z�#��ۻ�:�,@� �8;u�_��\�o�2X�T*[Aoc����>�v��y�����a�uVsS3�Ԩ�jN�Vs�F]!H�>��X����K�ó/iV7ic�����X
�E��e	��	�TMM�M�j�qR�lx�ޱ��-��~�=D�e稱0+������3甤��A]�
�������Y0ڄ���Ff�ԝ����Q�Y�1��i�7���*���(l'h7��?�i��卛�������4]0�Y�'�]���q�X4[�����m�I��[�.�k�_Jww�h^|��f��l��nEd�������̊�d`n���n�mSZ��븇���҃��4}^�4�k?D�>���Ϲ?%W��5iT���8a�>��z}�j������x,P,�T�$V$�q�CY���&�@���*�%
�k]&,U,U.S�zz�����2z�����)�;�f�*W8�{ƒ�A�v�w��.�y��&w0|'�?T���������ԩ�Y.���#8>V���9���0L7�a�0Oʉ!:	q$$������h�@����
�	B���ƶ野�F��6f+0Gj��I]�=����s����0���x��p�~�hXG������~7u�S�d9�ĩ��*sJI�P�W��P�o^2�?�yjs����L�J''7cϰy��e�I�.���m���6�a577���~�9��x��x�3G��((��"��Cb\i���n�J��@*��p5�G"�����k7�J����l�Y�Y{�E�Y}�z��S�ۯQ�%�l̾=�_���o~�^��|�л�<g���e%F)�J�,S3b1n$�shY�C����D�Ԃrn�C���>����E��0^T�J#��j#QL]:��8Y|35���A�MЇ	<A#<3�{�o����٫�!�|�>�С�A��!0�ژL&�K	��I9��9�W+��L̐:��T{"������?Q�d�Q�Ld�ϟߐe�bn��a0{�p�b�0�=��Ȫ��H�#YG�=�\�\�,u�
�4�����]��_x��@V5�=��A=x��u����/�n^�O�WS�X����q}��o��6����k:!m�G-���t���.��Q�z�bt�8:��c�9���Q����
�}z~����}׌�s���p?Dd�fmr]6WĿO~D�N*�Lܱ���Gc�d��X	U4Hk� �0T�� .C8d����3ve��������ģ�tZ�7�!O;���G�w����m
:�)5gL!�'��>S�l]���Li�g�ϻ�����_�o_[��C���|�9��%�Z�P�{Ï~�+�g.�Kг��;g`:�v��DoH�����9�� �G������/�G2���Ot��YET��S�d�6�ax��W�7���l=u:��b\�T��LMdOL0t;�����@I<k�D�J#*5�Y%R���
�J*^��P	����cϪR�kl-���l?�ɼ�-������ƀ���&*����b�z��h)xH����A2h{�W��^Zo�!y�*m��u��	<�H4��Kkj<J���z�c�j��3n�5J�F�W�*�pw*w�����=�<b}�{��x��o���C�����Ψ@�T�[8^�V�+eQ�f7_�X�-Ӭ������oj��Wє�?��ҟ���'U8[9��63���(���`#9����j)X���o�����bO���yg�ʜפ��K=����jG�S09�&�.�>�8k���iN=��r�}�ռ���艺�>�V�7������,9�d�1��(�F���YK4Kc�����6��-�ڌ}d��~8���DFl�DA�����[�d���I�6��@���̤��O)	��}2{ǘ��:FT�M.�L��F�c�38K�y*!O%m&�����4�����]t\As�##��}����*+R��*l�GC�` a�7�ڵ�Wޚ	�|�����/�8��>�]k������֭k���
�����~�xKo�Y�	<Q7��W�IR�zfuG32��H�Te䝑R����I�f�Z0��,l�-,fFH�dJ��UG�~h����q��(!#)NN����d�,�(M�����	}�Y�LjI~�4ɗTFP�:�����T�V ��B��񚤓W��f��4K23�sD�35��O��7�4���b|ߡ_ຕ�U���@��]�Q�j�z��A�As)���S5)Ϋ6>�W�]M���y������s~s$ZES=ؾ�j��?"|�^|x�,��c�&5NEɐHR��,�m2��Ã�
���Rq�Ŋ��]��
5�)��q�xҨ4����JhcVv)lϑ�>�+�NZ���,/km�n-Nao�)S K4nsĢ�Xԑ�-��L*
bC`�(�'�Ǒ�9ܘ��3#Ɨ�&���>��Y:�f21�56�{d��-
����@ V+y��O=2R��D���Z�|w[G�����j�[����/7�����7��f�\Ԛ�2�i�v��Dl ��NxNIz�9��kr�TXD,���А�׃q��e����x�_O�Xx>x��.<g���yO2��3ry
~�M���Da0q�D����66��ٗ���8	! 8.@�{�a�7�y�q��X�㿰A+����m�0�m�m�o@��Hs\+��Vm��Z�唣�r���<������C��y��蟒u��b�d�gͬyq�����(�	D14��	�f��Q�<�d��b#ͣ�B�y��d3�RҞ��!%5Ӡڙ�CBj��ՙ�?��Z��¡�?6���pc������A��&"���l�.gD3��%-5i����/kH�#E3$�
dz2����0��p�%13�9�2���-97����='4�93N�eN�
��ln�"O̫py�J�V��2`{i����f�=���}e�Z�ݫ|��$�=W��2�Xl؁4�Tţtɦϵ]8��9iz�]���\ݕ��y�-�mNS�m��Eq����;W\*=>��%A�7���i�}�e�����"��yA�Oc��VX*���fdX�H����b�����!'[)!��׌���[&��We���gG�kXSg�\�V��Vٹ��y��ƣ�;�)�+ć�7a
*�R�2̪QV+�����_;�/�Ya���*8�%����x%���6+穮.l+�����\�f)�Kl[y@ɱJ	�j��u���V�F	�`���zVY�| �#��3>o
��h��'�'N2��K�5�����h�@�LD��D8�Y����d����B,��Qٕj]�,�jC�o����ڂ�P�ޥ���+B��*�E;�Ӷ�"���#����Uz��e�8�T
�����a�I{�t�9�up�q*�c�o�ˁ5Ttn���A�*��*bu����X?�k�e��u�f�욚��7��ڦ��k=���M�MqKh���=�
�(�ݭ��/��.Sd{	�og���*x��¤�Pk�+�j���&<��!i
a�2<��Go�SLx^��u���W|Z
�"V���j��4v+*6�����������y�8n�a�&ov�x
_���2@Qy��U%x�P2Qn��*�y��Z�=/���G�&��T�UV���+�f7Ъ1�ڦ�**U�T
V
U�V@F�>�W-��I�2��
mV��MR)��F�R.����qvè����~H?�?�?�W���C)[gp!���2��g��3~�}��0�X�uNw�L͊�>l[��g���2�����A���<��^�(��L��dۨ69 ��T��H�I�e\��g\-ϸ�!����CY�8G����c� >�e�\�O.—�)}R&�I��Xu��<�Ͽ$-+%I�\���J�:�	W��
��0�0���&b�ԫ�i��b6+z�}>�Ǧ��0��q�:���.�:�bC�\^'���U�7E�2�R�0�����!]r�b$ee��>9�''��22/{X�4{%�ll���+��oi�W72ʟk�iljmTd*��J��R��F��HG'y�ڑ�*L@2�,�V'��Ea_��0u񚶜���K�yyD#��d�V9"�Q5-��	����Ղ�1�d��	${��L�i$9�,%y���6!il���`C�`��������B��Wy�B�T�ϱ��j�}
4
���@��|�5���Ӯ����tuus�g[��Vh[r�v���kz�m^8o�Dm)n�{]+Zo��qI�%�S7�v���M��>O$2-]��7â�<�֙��8��J�y2�˲B�	pz�a���x����y$+��lBN��(#�UD���@E��Y>7{��`�-�d���E�,R��qBƼ�����`�kPx,�,�d[�Nˈ�>�8�C���5J��t���q��Vz�f��u�* �7
�@d��h��I�P}�5T7!�p�
P�If��0*���DϺ���q�Dzv�Ø�TW)����+�����;�"L�<�[_{�s���C��׿+��9/"�*y/	��&�D�1.�i�ʘ�du�C�S�� ���e�U�K�a�
f>(R�����A2o�)��^o��r�c�s�W
��v��+�H^��UT���g�ƙJSU5;]��@Vj�����򮗯_��K����s�n�b>��?����w|��^�V|�M�u�g��.�sz�`-N
\��%g˧����㱭	l��E�|�*�`kP>$��_2��G2ޅ�d`��)�`T�����j��Y56�)Uq
����
�+ \Y@�R�& 6�#t�
~�ԗ?:��^�`rt�r�vvZ'íUƑV���H�%�0$"WBi��2�1:��6�E��%b�������|�G�Q;���
�B�3��p[��Ngw�?���|ez�z�yG��êw��r�{�}
i6ͪ�D�b
&��۪�I�3&�Pw�O:8K*��be-�p,mԹ����vT�
jG����OA��$֞`��:���q�S9�Q�[�Q��f��=b�-����	�S)�(2�?
fUu�!��墍�� �`�5M�
RW<'�f`˶K����y�91�J��9�"�8o�� Ll�Ω[s����{拏oz|QS����5t͊[�b������k�\t�ԛ�F���;Vm��ɯ첛2��^��C�ԡ�[˯��9����n���c���B�eF�=
XN�#3����!Y�2�e"�P��f9l��	3d��<��?Kf�)dF�Aa	�!@E��p=�vB󷒱;�)�+��*����	0������O�l_Ę�O@:�(.�w7ivA�8�h��f�x���-6�rx�(3��#K����'$���'N��Ň�@���z��I��	*������js�_u[8�����՘mA�
��E�T��C���()�e����%�H ґ�h�#A1X
N�SL>���z���8��eU���d?����̡��Iz�3\Q#eg�P]vnw��{��4D—�-�L�j�;g:5�ڥU@�8�R;�g?kOǛ:m�˦.���Fb��C���+oV(Y[>��R'4�K</�Kg��r�ʻk*ﮩ��Vǡ[�-��Ll��`��R=�S�J7�KJAw(�FUD�����Z?]�h�M�"̹-8�(U.�~vl��36�'^9!�R�wo��C��Z�q�-�
��NU)�e�RЫ�Up�h���O��BX��(k�$i��&S�ޭ62�:9�ry<����R��{��'/�����E�рF1��Ԥ]i�b��t�4t��>���W�{#
�
���P~$�4��iP�
��O��#ǣ�
�y=�{���G�M�,�t�����>���Ǐ�G�#��̾Z�����ҫM�������;l���Jz�h�~%xO���Β2$ҋ����u��ҷ̿�ޫO���;��h���45F�Ej�d�q�]���7�ALKt}��-Ht�).;
?�!�����s��F��Ɏ�m�,X�J-/���B�q�&�Lt�4d5�7I���UPSuz�Ƈ�#q>�Ź�34H�i�P������ʲ�)v>Q�|���Y�X���N0N#����O��L�An:b���9�ھ�nm��k��R99{�6�14�T�����d (B=#`y�2��b	��D�Px�F-�蛀Cfz��>?0��-�m���O�s����/F��QϨ���/��g�`bRPS��l�l8�#���WҊ�>tN2'���&�*PI[�`��䘶�sBri��J��F��R4�B���q"�'l3ٹ6��@- =�u9f��N*A�&��w�@x�l�/P����H�1 ��,�O�Ȭ�Ɔ��0�aY@(+���eU��S���oF9�)s��ص��[���l[�1d�2�B�Ww^�j��L�+�mZ�7�=p�G�\�(ӜH��_���n:�λ.*t^6�R�d�U&�{r[��\���Щ�I�m>��G����z��*���*2�9�:<ge�3A�U�N�6��ߊ'�N��N��v�	�h�mvω�]U�.�!���w�(��8�q�#�X��@Mj��Fڨ\�PD�:U�,�B��*d*�@�&_���T��K��Y�>�'�/%���N��O�B����aZ��`@��:�qE��\�۟w���q����7T`�
��ߝ�/ڝq'�;]n�2��9@y{�
Z���-�R���x���h�l���8}OJA<k��.�U� ("�+�Rb�%����Ui�>��zɞ���&qV	)��i�!�8����X����%�̆e)v�i���Kc�:P�j�E��j>�c��G:j{k�0kK�*)�0��yS�L�^�X�m9�X[G�n4d=��*��3p��i�
1!C��t�S��5�s�d�f%�,2�	��'d���3
��ҩ�����̻c�^սZ�F����T�ݔ.��n��^�m�5�lj���X47NJ�BC�e��[�6��/�-Nt5H-+\+�=-�T�t��]�]�]U_T���u>�&�d6�b�H'�ɪl�VlY�Y���"̨D���0bَ�<jc
N�@jY��>_����i�e��eG%E��Y�d����1���@���Q����N耫\�|����sd!Hk�:��ltSx���aW����ϼ�L��=흍�Q�PE]*U�1jkl���x.����z��85��|<��5gcN-�oP5����Ldk�4���l����
8���>->J�<��A��qj<tQ��	,�F�Ur�r�q	,����z�k"y�A׏5��ǩ�0������+ ��x2���gS��c�Y9}�g������0Kl�g��7F�dEf�"3uZ
;����l�O�m��e?bD9(��|*��jlݍ=���Ǚs\}\G�X1|$�G,�d�t�΀��מ�@�4�w���I�5
�!W�0̕���A��*����|-���&&Vڙ��B4h*`��ژ�蟂S�	9�},���\?
��^�V%�l�8fف|� b�0U L�h*�:<{���1{bO��C�	8��g$��Ф�9[!	cV;
-y��d���A�U�v��!s�<���ӷ���	PCA�B��z�!�����pTUN°���:u,̐�,v�������ֵ�:F��"u�w�^��0ݓqY�����d���VN|{�E�F�U�z�zÆ5n�/��ÏN���#�������Ϙ�q.Q�|ז?�8K�M��y�Y��%6�&UÓ��4�(mNƛ�j2�^�A�QN�r�[/{��=���dj2��b����/;fp�_�">����w�X� �׳:L6[����9,���q|"c��r%�������g�b�ȴ��<�fL}1�Yjk�nVܪ�4�E�R�5)�;��X"�$k�M�F�|������k<�שwhw��uo�\�ޣ�㺟ܯ����Գ�d��a�F�J�kj�T
f���$]��5�-1u��v�j�6dH�R�چ��+5n��U��
�k��V8]���$#Zφ>SCU��� y�i���3LD1��D;��ǹ���T�H�ԫ� 5�c߹o M��b�K��
�b\|ֈ��O�o>=u��^ع�_A,�:�� 6��VW�"q���C.��T"�ԡr�#`���*�"*�̠YV=�=�žm���O�3���'�*uu��DN�k�����^<+*$������M!�X��}���z��d¢��{W�2?����;�5y�iN�~�p�6�q�lҪ?���s�S��1� �mo>}΅Tn�L�
gD#�g	xO��$����-��T�s+��<���50_P����-$S
3"�'���<��'a�	�t�]�=N��7p�
s�z�N����4�#koC����
�|�����0��_ ��V]��T{����M	q��jmߵ��J۰�/�_`7Ȱ���h�&��-�~��j�w����a���r�����]q��-����MW���g�e��r�W�&����F$��=q�ukX-�okn�Z��t�pC�	�b�g����|���ʟe�	�7�;;�q��Z�K$돱�1���;�o�'Q,���c�����ܹ3����pM��m(��E���o�o���-��֟i3 ��7B�B���&)�pD��8�����)�̿�>��^3��Q���1Nܲud&��a����m�tR2�$�)�30��?Jv��9#�L����O�O���}�,�&�}0Y�?�����?�_�O���@�v�w���7��:�q9����?�
\���v |���%�{�a�~q&���&��u�=�o��6?҃09�{�Cw/B6ŵU��[����ȝc��<G;W��`Hwb�wb�vb�v�S��syn����7 �
�s�܀Q��[P���E� �q߂qg�%�0'axr�Q�,�_�qL�U{�+������,n�(���._��OB-��k�3���]'�]wX�g���}��j3�k�ga8p�!���_3���/$W��d��v�]
!�A-��P�h)��iE�d`����iF4��	jrIӣQl�w�x>�g�"���
Ʒ�Z�n�W��Gut%݄�NQRN(O*O)�(��z���!�rz���
�t#:^�u9����)p�[���&�-��������`0��O`�D��🂫@Ȅ|&�3!քXb	l��33�R�t��ar0�`�(a�H5"�H8��"�2 �I�#�P�����S�j`�K�ͤ�U�~�U�,M�ṏ�U�$-%�$MR���V/UÂ��@x :�xX��ݔ����v'���b��(>,@�&��p H�->����//oZ�k1?Swx,���:��#c.w�,S�l� �3{?��0<>.>H�0E�M0wv��b���o�n���7�f�,���QȾ���>�Σ�O���������0,w�wP�/�>%�w�f���V>��;�
�J���"������_BކAɰ0C0a~%�K�K�o�y�{*ʆ:{���TjV�m"��c�}�l��lG$�"���]d�m�!>�n���vHҵ�j3t��m�VEB �v�V2��I�/��d�2�-d�k��as�pA�����5p6��1W�1{�l�p]��ŀᒀaV��f�R��̕m�l{�M�S�a"�g� ����&��Zkm����p��Z���{���~�4��X�t��N�҅��4@�6�.�%p\	�����i�Q��k����2�_'�j��C�ގ��q�#����{_K�F�_K�@�_�� ,ח�ҧ{�Xz��������^9�Zh3�O
9�w
�r�%�gj\��7"<��r�X���*��c�:8q���h������r'}$,7:r�=$*�Fj�oƪT��oB)ʧ����,�8�5�=���п��.{"��cl��/��i�h�g�g?���c���	ϧ�9z$p�\B^�
L�|+,�>F*�zk&���Q��7��c� W��+�ܗ�X�D`�H�ZQ��
���D7�Ӆ���E�YSr(㉣���MY>����mRZ�7X�P]���ʫ2�����lj�ZT�J^�������D�/0NI)��ٔ��[
�m\	%�E�F��l�E��vJV���Z:��,]�k��ҬT׸�|q��������>�J���,��eu�7fA>@i���C�G�
�~�ۮ��ҵ:X�`)���heI��$��Eg�2�\���?X�r�`�y�ilf�9}���������ꙧ���*�g���-��:;�qC���=F��6w^���}g������ò&�,����l����՝��a�LߣY&���L��L��ͬ�� �'���g���L��'�$f��0/�t(E}iX}��fE��Pt����'�a9��#,�1\��'�C�z*E$*y3y85�7������(�^�k�t��p�:����78K#���Ck��%K|lp��
�]����u����U�{�-y
K^�8D�t.�=�FZ�1�JZ�^��w��]�]��k��u�����
kgu="�����bɏ���X]]��G�G人.�K�zz��\v�"��q��à'�7�!͑���F�3���@=�4��u�i˴�$�N�dD�i&�y�����L��hsx.Ig���lٲ��m�R��nc��`ц��3�ZK���O��O�Cm����J��/�r�Zw��k��z�U�m�v$���/Ws՛�wU��_}�Z�.�=*��K5�
�D���ɪB�p�g���И-[*��J��R�pV�VMրۥ��3�,��\0y��0
�}ؿ��O����f��|�0���\E�j�C��pGo��\c=��W]^q�����V�ֶz1֏��6oJ���c�7`��/_��˅���׷�l�1ݶmLf��Y[R[q�zΆ{��3��`'z��"<�#t�6�����A&9~{
u��s?�v{U
endstream
endobj
13 0 obj
17764
endobj
14 0 obj
<< /Type /FontDescriptor /Ascent 891 /CapHeight 670 /Descent -216 /Flags 32
/FontBBox [-568 -307 2029 1006] /FontName /NHHCFL+TimesNewRomanPSMT /ItalicAngle
0 /StemV 0 /Leading 42 /MaxWidth 2000 /XHeight 454 /FontFile2 12 0 R >>
endobj
15 0 obj
[ 250 0 0 0 0 0 0 0 0 0 0 0 250 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 722 0 556 0 0 0 0 0 0 0 0 0 556 0 0 556 611 0 0 944 0 0 0 0 0 0 0 0
0 444 0 444 500 444 333 0 500 278 0 0 278 0 500 500 500 0 333 389 278 0 0
0 500 500 ]
endobj
8 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /NHHCFL+TimesNewRomanPSMT /FontDescriptor
14 0 R /Widths 15 0 R /FirstChar 32 /LastChar 121 /Encoding /MacRomanEncoding
>>
endobj
1 0 obj
<< /Title (solr-word) /Author (Grant Ingersoll) /Subject (solr word) /AAPL:Keywords
[ (solr, word, pdf) ] /Keywords (solr, word, pdf) /Creator (Microsoft Word)
/Producer (Mac OS X 10.5.5 Quartz PDFContext) /CreationDate (D:20081113133551Z00'00')
/ModDate (D:20081113133551Z00'00') >>
endobj
xref
0 16
0000000000 65535 f 
0000020275 00000 n 
0000000437 00000 n 
0000001588 00000 n 
0000000022 00000 n 
0000000418 00000 n 
0000000541 00000 n 
0000001553 00000 n 
0000020093 00000 n 
0000000639 00000 n 
0000001533 00000 n 
0000001671 00000 n 
0000001721 00000 n 
0000019576 00000 n 
0000019598 00000 n 
0000019843 00000 n 
trailer
<< /Size 16 /Root 11 0 R /Info 1 0 R /ID [ <6b8708c3178614e61c264756c0036b1a>
<6b8708c3178614e61c264756c0036b1a> ] >>
startxref
20574
%%EOF
files/bug67394.xml000064400000001202150456303740007564 0ustar00<?xml version="1.0" encoding="UTF-8"?>
<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">72</int>
  </lst>
  <lst name="response">
    <lst name="stats">
      <lst name="stats_fields">
        <lst name="currentPrice">
          <null name="min" />
          <null name="max" />
          <long name="count">0</long>
          <long name="missing">0</long>
          <double name="sum">0.0</double>
          <double name="sumOfSquares">0.0</double>
          <double name="mean">NaN</double>
          <double name="stddev">0.0</double>
        </lst>
      </lst>
    </lst>
  </lst>
</response>files/response_xml.2.xml000064400000000706150456303740011260 0ustar00<response>

  <result name="response" numFound="3" start="0">
    <doc>
      <str name="id">parent_1</str>
      <doc>
        <str name="id">CHILD_1_1</str>
      </doc>
    </doc>
    <doc>
      <str name="id">parent_2</str>
      <doc>
        <str name="id">CHILD_2_1</str>
      </doc>
      <doc>
        <str name="id">CHILD_2_2</str>
      </doc>
    </doc>
    <doc>
      <str name="id">not_a_parent_1</str>
    </doc>
  </result>
</response>114.solrdismaxquery_trigramfields.phpt000064400000001543150456303750014147 0ustar00--TEST--
SolrDisMaxQuery - TrigramFields and slop (addTrigramPhraseField, removeTrigramPhraseField, setTrigramPhraseFields)
--FILE--
<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;
// reverse
$dismaxQuery
->removeTrigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setTrigramPhraseFields('cat~5.1^2 feature^4.5');
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setTrigramPhraseSlop(2);
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=feature^4.5

Notice: SolrDisMaxQuery::setTrigramPhraseFields(): Parameter pf3 value(s) was overwritten by this call in %s on line %d
q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5&ps3=2
059.solrinputdocument_getfield.phpt000064400000000666150456303750013436 0ustar00--TEST--
SolrInputDocument::getField
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();

$doc->addField('id', 123);
$doc->addField('cat', 'Software');

var_dump($doc->getField('id'));
var_dump($doc->getField('non_existing_field'));
?>
--EXPECT--
object(SolrDocumentField)#2 (3) {
  ["name"]=>
  string(2) "id"
  ["boost"]=>
  float(0)
  ["values"]=>
  array(1) {
    [0]=>
    string(3) "123"
  }
}
bool(false)
100.solrresponse_json.phpt000064400000001115150456303750011535 0ustar00--TEST--
SolrResponse::getResponse - JSON response writer
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
		'wt' => 'json'
);

$client = new SolrClient ( $options );
$query = new SolrQuery ( "lucene" );

$response = $client->query ( $query );

$x = $response->getResponse();
var_dump($x instanceof SolrObject);
?>
--EXPECTF--
bool(true)bug_68181.phpt000064400000001101150456303750006766 0ustar00--TEST--
Solr Bug #68181 - Conflict occurs when using SolrDisMax::addBoostQuery and setBoostQuery
--FILE--
<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setBoostQuery("failing:val^3")
->addBoostQuery('category','software',2)
->setBoostQuery("end:result^4");

echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
Notice: SolrDisMaxQuery::addBoostQuery(): Parameter bq value(s) was overwritten by this call in %s on line %d

Notice: SolrDisMaxQuery::setBoostQuery(): Parameter bq value(s) was overwritten by this call in %s on line %d
q=lucene&defType=%s&bq=end:result^4057.solrinputdocument_clone.phpt000064400000003377150456303750012753 0ustar00--TEST--
SolrInputDocument - clone
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();
$doc->setBoost(4);
$doc->addField('id', 334455);
$doc->addField('cat', 'Software', 4);
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;
$doc2->deleteField('id');
$doc2->addField('id', '88', 8);

print_r($doc->toArray());
print_r($doc2->toArray());
?>
--EXPECTF--
Array
(
    [document_boost] => 4
    [field_count] => 2
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 334455
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 4
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Lucene
                        )

                )

        )

)
Array
(
    [document_boost] => 4
    [field_count] => 2
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 4
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Lucene
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 8
                    [values] => Array
                        (
                            [0] => 88
                        )

                )

        )

)
192.solrparams_getparam.phpt000064400000000565150456303750012034 0ustar00--TEST--
SolrParams::getParam()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->set('q', 'lucene')
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

var_dump($params->get('fq'));
var_dump($params->get('q'));
?>
--EXPECT--
array(2) {
  [0]=>
  string(20) "popularity:[10 TO *]"
  [1]=>
  string(9) "section:0"
}
string(6) "lucene"009.solrclient_optimize.phpt000064400000001754150456303750012065 0ustar00--TEST--
SolrClient::optimize() - Testing optimize
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$updateResponse = $client->optimize();
print $updateResponse->getRawRequest();
$updateResponse = $client->optimize(4,true,false);
print $updateResponse->getRawRequest();
$updateResponse = $client->optimize('5',true,false);
print $updateResponse->getRawRequest();
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="1" softCommit="false" waitSearcher="true"/>
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="4" softCommit="true" waitSearcher="false"/>
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="5" softCommit="true" waitSearcher="false"/>
059.solrinputdocument_clear.phpt000064400000000661150456303750012734 0ustar00--TEST--
SolrInputDocument::clear - Clear document fields
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();


$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$doc->addField('z1', 'z1val');

$doc->clear();

var_dump($doc->toArray());
?>
--EXPECT--
array(3) {
  ["document_boost"]=>
  float(0)
  ["field_count"]=>
  int(0)
  ["fields"]=>
  array(0) {
  }
}
bug_72740.phpt000064400000005411150456303750006772 0ustar00--TEST--
Solr Bug #72740 - addPhraseField return wrong query
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH
);

$client = new SolrClient( $options );

$dismaxQuery = new SolrDisMaxQuery( '*:*' );
$dismaxQuery->addPhraseField( "phraseField1", 10, 5 );
$dismaxQuery->addPhraseField( "phraseField2", 5, 1 );
$dismaxQuery->addSortField('score', SolrQuery::ORDER_DESC);
$dismaxQuery->addSortField('manufacturedate_dt', SolrQuery::ORDER_DESC);

// Scenario 1: DisMax Query Parser - Adds Phrase Fields with both boost and slop.
// Expect:
// - pf parameter should list each phrase field with ~ and ^ prefix for slop and boost value respectively.
$queryResponse = $client->query( $dismaxQuery );

print_r($queryResponse->getResponse()->responseHeader->params);

// Scenario 2: Same as Scenario 1, now including explicit query fields too.
// Expect:
// - pf parameter should list each phrase field with ~ and ^ prefix for slop and boost value respectively.
// - qf parameter should list each query field with a trailing ^ (no boost here).
$dismaxQuery->addQueryField('score');
$dismaxQuery->addQueryField('manufacturedate_dt');

$queryResponse = $client->query( $dismaxQuery );

print_r($queryResponse->getResponse()->responseHeader->params);

// Scenario 3: Same as Scenario 2, now including explicit boost value for the query fields.
// Expect:
// - pf parameter should list each phrase field with ~ and ^ prefix for slop and boost value respectively.
// - qf parameter should list each query field with a ^ prefix for boost value.
$dismaxQuery->removeQueryField('score');
$dismaxQuery->removeQueryField('manufacturedate_dt');
$dismaxQuery->addQueryField('score', 3);
$dismaxQuery->addQueryField('manufacturedate_dt', 7);

$queryResponse = $client->query( $dismaxQuery );

print_r($queryResponse->getResponse()->responseHeader->params);
?>
--EXPECTF--
SolrObject Object
(
    [q] => *:*
    [defType] => edismax
    [indent] => on
    [pf] => phraseField1~5^10 phraseField2~1^5
    [sort] => score desc,manufacturedate_dt desc
    [version] => 2.2
    [wt] => xml
)
SolrObject Object
(
    [q] => *:*
    [defType] => edismax
    [indent] => on
    [qf] => score^ manufacturedate_dt^
    [pf] => phraseField1~5^10 phraseField2~1^5
    [sort] => score desc,manufacturedate_dt desc
    [version] => 2.2
    [wt] => xml
)
SolrObject Object
(
    [q] => *:*
    [defType] => edismax
    [indent] => on
    [qf] => score^3 manufacturedate_dt^7
    [pf] => phraseField1~5^10 phraseField2~1^5
    [sort] => score desc,manufacturedate_dt desc
    [version] => 2.2
    [wt] => xml
)059.solrinputdocument_getboost.phpt000064400000000323150456303750013467 0ustar00--TEST--
SolrInputDocument::getBoost - Test document fieldnames
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();
$doc->setBoost(4);
var_dump($doc->getBoost());
?>
--EXPECT--
float(4)047.solrobject_offsetExists.phpt000064400000000673150456303760012705 0ustar00--TEST--
SolrObject::offsetExists
--FILE--
<?php

require_once "bootstrap.inc";

$constructedSolrObject = new SolrObject();
var_dump(isset($constructedSolrObject['responseHeader']));

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);
$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

var_dump(isset($solrObject['responseHeader']));
var_dump(isset($solrObject['nonexisting']));

?>
--EXPECT--
bool(false)
bool(true)
bool(false)050.solrinputdocument_addchilddocument_02_error.phpt000064400000001451150456303760016641 0ustar00--TEST--
SolrInputDocument::addChildDocument()/SolrInputDocument::addChildDocuments() - Expected SolrIllegalArgumentException
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$child1 = new SolrInputDocument();
$child2 = new SolrInputDocument();

$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat   = 'Information Technology';
try {
	$doc->addChildDocument($child1);
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage(). PHP_EOL;
}

$children = array($child1, $child2);
try {
	$doc->addChildDocuments($children);
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage(). PHP_EOL;
}
?>
--EXPECT--
Child document has no fields
SolrInputDocument number 1 has no fields105.solrresponse_child_doc_response.phpt000064400000003326150456303760014426 0ustar00--TEST--
Response - Response with child documents
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml);
print_r($response);
?>
--EXPECT--
SolrObject Object
(
    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => parent_1
                            [_childDocuments_] => Array
                                (
                                    [0] => SolrObject Object
                                        (
                                            [id] => CHILD_1_1
                                        )

                                )

                        )

                    [1] => SolrObject Object
                        (
                            [id] => parent_2
                            [_childDocuments_] => Array
                                (
                                    [0] => SolrObject Object
                                        (
                                            [id] => CHILD_2_1
                                        )

                                    [1] => SolrObject Object
                                        (
                                            [id] => CHILD_2_2
                                        )

                                )

                        )

                    [2] => SolrObject Object
                        (
                            [id] => not_a_parent_1
                        )

                )

        )

)
018.solrclient_setservlet.phpt000064400000001443150456303760012421 0ustar00--TEST--
SolrClient::setServlet() - set different servlet for a certain request type
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$response = $client->ping();
echo $response->getRequestUrl().PHP_EOL;

$client->setServlet(SolrClient::PING_SERVLET_TYPE, 'select');
$response = $client->ping();
echo $response->getRequestUrl().PHP_EOL;

?>
--EXPECTF--
http://%s/solr/collection1/admin/ping/?version=2.2&indent=on&wt=xml
http://%s/solr/collection1/select/?version=2.2&indent=on&wt=xml
004.solrclient_query_response.phpt000064400000002015150456303760013273 0ustar00--TEST--
SolrClient::query() - Sending a chained query request
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

var_dump(get_class($response->responseHeader->params) == 'SolrObject');
var_dump(property_exists($response->responseHeader->params, 'q'));
var_dump(property_exists($response->responseHeader->params, 'wt'));
var_dump(property_exists($response->responseHeader->params, 'version'));
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
bool(true)003.solrclient_addDocuments_commitwithin.phpt000064400000001743150456303760015423 0ustar00--TEST--
SolrClient::addDocuments() - sending multiple documents to the Solr server
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = new SolrInputDocument();

$doc2->addField('id', 12345);
$doc->addField('cat', 'Category1');
$doc->addField('cat', 'Category2');

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs, true, 500);
print_r($updateResponse->getResponse());

?>
--EXPECTF--
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => %d
        )

)
006.solrclient_system.phpt000064400000001204150456303760011535 0ustar00--TEST--
SolrClient::system() - Retrieve Solr Server/System Info
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$genericResponse = $client->system();
var_dump(get_class($genericResponse->getResponse())) . PHP_EOL;
var_dump(get_class($genericResponse->getResponse()->system));
?>
--EXPECTF--
string(10) "SolrObject"
string(10) "SolrObject"
034.solrdocument_deletefield.phpt000064400000000372150456303760013025 0ustar00--TEST--
SolrDocument::deleteField
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$doc->check = 1;

var_dump($doc->getFieldCount());
$doc->deleteField('check');
var_dump($doc->getFieldCount());
?>
--EXPECTF--
int(1)
int(0)017.solrclient_deletebyqueries.phpt000064400000002104150456303760013406 0ustar00--TEST--
SolrClient::deleteByQueries() - delete by multiple queries
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$serverOutput = $client->deleteByQueries([
	'id:3675',
	'id:2548'
]);

$response = $serverOutput->getResponse();

print_r($serverOutput->getRawRequest());
print_r($response);

try {
	$client->deleteByQueries(array(0,''));
} catch (SolrIllegalArgumentException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage());
}
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<delete>
  <query>id:3675</query>
  <query>id:2548</query>
</delete>
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)
Exception 4000: Query number 1 is not a valid query string

037.solrdocument_getfield.phpt000064400000000546150456303760012350 0ustar00--TEST--
SolrDocument::getField
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);


$doc = new SolrDocument();

$doc->check = 1;

var_dump($doc->getField('check') instanceof SolrDocumentField);
?>
--EXPECT--
bool(true)202.solrdocument_new_serialize.phpt000064400000001726150456303760013420 0ustar00--TEST--
SolrDocument - new serialize api
--SKIPIF--
<?php if (PHP_VERSION_ID < 80100) die("skip PHP 8.1+ only"); ?>
--FILE--
<?php
$xml_contents = '<?xml version="1.0" encoding="UTF-8"?><solr_document><fields><field name="id"><field_value>parent_2</field_value></field></fields></solr_document>';
$xml_length = strlen($xml_contents);
$old = sprintf('C:12:"SolrDocument":%d:{%s}', $xml_length, $xml_contents);
$new = sprintf('O:12:"SolrDocument":1:{s:3:"xml";s:%d:"%s";}', $xml_length, $xml_contents);

/** @var SolrDocument $docOld */
$docOld = unserialize($old);
/** @var SolrDocument $docNew */
$docNew = unserialize($new);
var_dump(
	json_encode($docOld->toArray()) === json_encode($docNew->toArray())
);
var_dump($docNew->__serialize());
?>
--EXPECT--
bool(true)
array(1) {
  ["xml"]=>
  string(172) "<?xml version="1.0" encoding="UTF-8"?>
<solr_document>
  <fields>
    <field name="id">
      <field_value>parent_2</field_value>
    </field>
  </fields>
</solr_document>
"
}
045.solrobject_array_access.phpt000064400000004407150456303760012653 0ustar00--TEST--
SolrObject - checking dimension access on properties.
--FILE--
<?php

require_once "bootstrap.inc";

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);

$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

$header = $solrObject['responseHeader'];

$system = $solrObject['system'];

print_r($header);

print_r($system);

?>
--EXPECT--
SolrObject Object
(
    [status] => 0
    [QTime] => 72
)
SolrObject Object
(
    [threadCount] => SolrObject Object
        (
            [current] => 15
            [peak] => 15
            [daemon] => 13
        )

    [threadDump] => SolrObject Object
        (
            [thread] => SolrObject Object
                (
                    [id] => 1
                    [name] => main
                    [state] => RUNNABLE
                    [native] => 1
                    [cpuTime] => 3340.0000ms
                    [userTime] => 3180.0000ms
                    [stackTrace] => Array
                        (
                            [0] => java.net.PlainSocketImpl.socketAccept(Native Method)
                            [1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                            [2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
                            [3] => java.net.ServerSocket.accept(ServerSocket.java:421)
                            [4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
                            [5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
                            [6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
                            [7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            [8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                            [9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                            [10] => java.lang.reflect.Method.invoke(Method.java:585)
                            [11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
                            [12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
                        )

                )

        )

)
043.solrobject_magic_properties.phpt000064400000000625150456303760013544 0ustar00--TEST--
SolrObject - test property access
--FILE--
<?php

require_once "bootstrap.inc";

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);

$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

$header = $solrObject->responseHeader;

$system = $solrObject->system;

var_dump(isset($solrObject['system']));
var_dump(property_exists($solrObject, 'system'));
?>
--EXPECT--
bool(true)
bool(true)059.solrinputdocument_getfieldnames.phpt000064400000000547150456303760014461 0ustar00--TEST--
SolrInputDocument::getFieldNames - Test document fieldnames
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('manu_id_s', 'apache');
$doc->addField('cat', 'Software');

print_r($doc->getFieldNames());
?>
--EXPECT--
Array
(
    [0] => id
    [1] => manu_id_s
    [2] => cat
)
024.solrdocument_child_fetch.phpt000064400000002423150456303760013011 0ustar00--TEST--
SolrClient::query() - Query child documents SolrObject (Integ)
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_STORE_PATH,
		'wt' => 'xml'
);

$client = new SolrClient ( $options );

$query = new SolrQuery ();

$query->setQuery ( 'id:1 AND {!parent which=$parentFilter}' );
$query->setParam ( 'parentFilter', 'content_type_s:product' );
$query->addFilterQuery('{!parent which=$parentFilter}');

$query->addField ( '*' );
$query->addField ( '[child parentFilter=$parentFilter]' );

$query->setStart ( 0 );

$query->setRows ( 50 );
$queryResponse = $client->query ( $query );

$response = $queryResponse->getResponse ();
echo "----XML----" . PHP_EOL;
var_dump($response->response->docs[0]->_childDocuments_[0]->id);

echo "----JSON----" . PHP_EOL;
$options['wt'] = 'json';
$client = new SolrClient ( $options );
$queryResponse = $client->query($query);
$response = $queryResponse->getResponse ();
var_dump($response->response->docs[0]->_childDocuments_[0]->id);
?>
--EXPECT--
----XML----
string(9) "IMM-HOW-S"
----JSON----
string(9) "IMM-HOW-S"070.solrquery_collapse.phpt000064400000000467150456303770011716 0ustar00--TEST--
SolrQuery::collapse - Collapse Using a SolrCollapseFunction
--FILE--
<?php

$query = new SolrQuery('lucene');
$collapseFunction = new SolrCollapseFunction('ISBN');
$collapseFunction->setMax(5);

$query->collapse($collapseFunction);

echo $query;
?>
--EXPECTF--
q=lucene&fq={!collapse field=ISBN max=5}
109.solrresponse_gethttpstatus.phpt000064400000001423150456303770013524 0ustar00--TEST--
SolrResponse::getHttpStatus() - getHttpStatusMessage()
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

var_dump($query_response->getHttpStatus());
var_dump($query_response->getHttpStatusMessage());
?>
--EXPECTF--
int(200)
string(1) " "072.solrquery_expand.phpt000064400000002177150456303770011375 0ustar00--TEST--
SolrQuery - Expand Component
--FILE--
<?php

$query = new SolrQuery('lucene');

$query->setExpand(true);
$query->setExpandRows(50);
$query->setExpandQuery('text:product');
$query->addExpandFilterQuery('manu:apple')->addExpandFilterQuery('inStock:true');
$query->addExpandSortField('score', SolrQuery::ORDER_DESC)->addExpandSortField('title', SolrQuery::ORDER_ASC);

// removal test
$query->addExpandFilterQuery('extra')->removeExpandFilterQuery('extra');
$query->addExpandSortField('extra', SolrQuery::ORDER_ASC)->removeExpandSortField('extra');

echo $query.PHP_EOL;
var_dump($query->getExpand()).PHP_EOL;
var_dump($query->getExpandRows()).PHP_EOL;
var_dump($query->getExpandQuery()).PHP_EOL;
var_dump($query->getExpandFilterQueries()).PHP_EOL;
var_dump($query->getExpandSortFields()).PHP_EOL;
?>
--EXPECTF--
q=lucene&expand=true&expand.rows=50&expand.q=text:product&expand.fq=manu:apple&expand.fq=inStock:true&expand.sort=score desc,title asc
bool(true)
int(50)
string(12) "text:product"
array(2) {
  [0]=>
  string(10) "manu:apple"
  [1]=>
  string(12) "inStock:true"
}
array(2) {
  [0]=>
  string(5) "score"
  [1]=>
  string(5) "title"
}
190.solrparams_setparam.phpt000064400000000343150456303770012042 0ustar00--TEST--
SolrParams::setParam()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->setParam('q', 'lucene')
	->setParam('start', 0)
	->setParam('rows', 10)
;

echo $params;
?>
--EXPECTF--
q=lucene&start=0&rows=10
bug_61836_error.phpt000064400000001004150456303770010203 0ustar00--TEST--
Solr bug #61836 - Extending SolrDocument
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php
class Model_SolrDocument extends SolrDocument
{
	public function addField($fieldName, $fieldValue,$boost=0)
	{
		if (is_bool($fieldValue))
			$fieldValue = ($fieldValue ? '1' : '0');
		return parent::addField($fieldName, $fieldValue);
	}
}

$doc = new Model_SolrDocument();
//$doc->addField('testname', true);
?>
--EXPECTF--
Fatal error: Class Model_SolrDocument %s final class %s
027.solrdocument_getinputdocument_children.phpt000064400000002360150456303770016027 0ustar00--TEST--
SolrDocument::getInputDocument() - Where document has child docs
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);

foreach($response->response->docs as $doc)
{
	$childrenOfTheInput = $doc->getInputDocument()->getChildDocuments();

	if ($childrenOfTheInput)
	{
		$firstChild = $childrenOfTheInput[0];
		var_dump(get_class($firstChild));
		var_dump(current($childrenOfTheInput)->toArray());
	}
}

?>
--EXPECT--
string(17) "SolrInputDocument"
array(3) {
  ["document_boost"]=>
  float(0)
  ["field_count"]=>
  int(1)
  ["fields"]=>
  array(1) {
    [0]=>
    object(SolrDocumentField)#9 (3) {
      ["name"]=>
      string(2) "id"
      ["boost"]=>
      float(0)
      ["values"]=>
      array(1) {
        [0]=>
        string(9) "CHILD_1_1"
      }
    }
  }
}
string(17) "SolrInputDocument"
array(3) {
  ["document_boost"]=>
  float(0)
  ["field_count"]=>
  int(1)
  ["fields"]=>
  array(1) {
    [0]=>
    object(SolrDocumentField)#10 (3) {
      ["name"]=>
      string(2) "id"
      ["boost"]=>
      float(0)
      ["values"]=>
      array(1) {
        [0]=>
        string(9) "CHILD_2_1"
      }
    }
  }
}
001.solrclient_addDocument.phpt000064400000001764150456303770012447 0ustar00--TEST--
SolrClient::addDocument() - sending document to the Solr server
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = new SolrInputDocument();

$doc2->addField('id', 12345);
$doc->addField('cat', 'Category1');
$doc->addField('cat', 'Category2');

$updateResponse = $client->addDocument($doc, true, 500);
$updateResponse = $client->addDocument($doc2, true, 500);

print_r($updateResponse->getResponse());

?>
--EXPECTF--
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => %d
        )

)
066.solrquery_TermsComponent.phpt000064400000003457150456303770013100 0ustar00--TEST--
SolrQuery - testing TermsComponent
--FILE--
<?php

$query = new SolrQuery();

$dumpVars = function () use ($query) {
	var_dump(
		$query->getTerms(),
		$query->getTermsField(),
		$query->getTermsLowerBound(),
		$query->getTermsUpperBound(),
		$query->getTermsIncludeLowerBound(),
		$query->getTermsIncludeUpperBound(),
		$query->getTermsMinCount(),
		$query->getTermsMaxCount(),
		$query->getTermsPrefix(),
		$query->getTermsLimit(),
		$query->getTermsReturnRaw(),
		$query->getTermsSort()
	);
};

ob_start();
$dumpVars();
$nullOutput = ob_get_clean();

$query->setTerms(true);

$query->setTermsField('israel');

$query->setTermsLowerBound('june');

$query->setTermsUpperBound('joshua');

$query->setTermsIncludeLowerBound(false);

$query->setTermsIncludeUpperBound(0);

$query->setTermsMinCount(50);

$query->setTermsMaxCount(200);

$query->setTermsPrefix('A');

$query->setTermsLimit(45);

$query->setTermsReturnRaw(false);

$query->setTermsSort(SolrQuery::TERMS_SORT_INDEX);

echo $query . PHP_EOL . PHP_EOL;

$dumpVars();


$query->setTermsSort(SolrQuery::TERMS_SORT_COUNT);
echo PHP_EOL . $query . PHP_EOL . PHP_EOL;

var_dump(
	$query->getTermsSort()
);

echo $nullOutput;
?>
--EXPECTF--
terms=true&terms.fl=israel&terms.lower=june&terms.upper=joshua&terms.lower.incl=false&terms.upper.incl=false&terms.mincount=50&terms.maxcount=200&terms.prefix=A&terms.limit=45&terms.raw=false&terms.sort=index

bool(true)
string(6) "israel"
string(4) "june"
string(6) "joshua"
bool(false)
bool(false)
int(50)
int(200)
string(1) "A"
int(45)
bool(false)
int(0)

terms=true&terms.fl=israel&terms.lower=june&terms.upper=joshua&terms.lower.incl=false&terms.upper.incl=false&terms.mincount=50&terms.maxcount=200&terms.prefix=A&terms.limit=45&terms.raw=false&terms.sort=count

int(1)
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
052.solrinputdocument_haschilddocuments.phpt000064400000001104150456303770015333 0ustar00--TEST--
SolrInputDocument::hasChildDocuments() - test
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$secondDoc = new SolrInputDocument();

$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat   = 'Information Technology';

$secondDoc->addField('cat', 'Lucene Search');
$secondDoc->cat = 'Custom Search';

$doc->addChildDocument($secondDoc);

var_dump($doc->hasChildDocuments());
var_dump($secondDoc->hasChildDocuments());
?>
--EXPECT--
bool(true)
bool(false)058.solrinputdocument_deletefield.phpt000064400000002062150456303770014112 0ustar00--TEST--
SolrInputDocument::deleteField - Delete a field from SolrInputDocument
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$doc->addField('deleteme', 'Lucene');
$doc->deleteField('deleteme');

print_r($doc->toArray());
?>
--EXPECT--
Array
(
    [document_boost] => 0
    [field_count] => 2
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 334455
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Lucene
                        )

                )

        )

)
017.solrclient_deletebyquery.phpt000064400000001456150456303770013110 0ustar00--TEST--
SolrClient::deleteByQuery() - delete by query
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$serverOutput = $client->deleteByQuery('id:3675');

$response = $serverOutput->getResponse();

print_r($serverOutput->getRawRequest());
print_r($response);
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<delete>
  <query>id:3675</query>
</delete>
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)
012.solrclient_getById.phpt000064400000001170150456303770011540 0ustar00--TEST--
SolrClient::getById() - Testing Real Time Get by id
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
var_dump(isset($response->getArrayResponse()['doc'])).PHP_EOL;
var_dump($response->getResponse()->doc->id) . PHP_EOL;
?>
--EXPECTF--
bool(true)
string(11) "GB18030TEST"200.solrextractrequest_clone.phpt000064400000000647150456303770013125 0ustar00--TEST--
SolrExtractRequest - clone [exception]
--FILE--
<?php

$params = new SolrModifiableParams();

$request = SolrExtractRequest::createFromFile('test', $params);

try {
	$request2 = clone $request;
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
}

?>
--EXPECTF--
Exception 4001: Cloning of SolrExtractRequest objects is currently not supported
bug_unknown.phpt000064400000001642150456303770010012 0ustar00--TEST--
Solr Bug #70496 - Failed to parse 500 error response when Solr it lacks msg PHPS RW
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH,
		'wt'	   => 'phps'
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('manu_id_s');

$func->setMax('sum(cscore(),field(manu_id_s))');  
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);
try {
	$queryResponse = $client->query($query);
} catch (SolrServerException $e) {
	printf("Exception code %d", $e->getCode());
	assert(strlen($e->getMessage()) > 0, 'Exception message is empty');
}

?>

OK
--EXPECTF--
Exception code 500
OK061.solrquery_simpleFacetParameters.phpt000064400000003635150456303770014374 0ustar00--TEST--
SolrQuery - testing SimpleFacetParameters
--FILE--
<?php

$query = new SolrQuery();

$query->setFacet(0);

$query->addFacetField('israel')->addFacetField('israel2');

$query->addFacetQuery('silk')->addFacetQuery('name:june');

$query->setFacetPrefix('A')->setFacetPrefix('C', 'june');

$query->setFacetSort(1)->setFacetSort(0, 'june');

$query->setFacetLimit(98)->setFacetLimit(44, 'june');

$query->setFacetOffset(110)->setFacetOffset(12, 'june');

$query->setFacetMinCount(4)->setFacetMinCount(30, 'june');

$query->setFacetMissing(1)->setFacetMissing(0, 'june');

$query->setFacetMethod('enum')->setFacetMethod('fc', 'june');

$query->setFacetEnumCacheMinDefaultFrequency(25);

echo $query . PHP_EOL . PHP_EOL;

var_dump(
	$query->getFacet(),
	$query->getFacetFields(),
	$query->getFacetQueries(),
	$query->getFacetPrefix(),
	$query->getFacetPrefix('june'),
	$query->getFacetSort(),
	$query->getFacetSort('june'),
	$query->getFacetLimit(),
	$query->getFacetLimit('june'),
	$query->getFacetOffset(),
	$query->getFacetOffset('june'),
	$query->getFacetMinCount(),
	$query->getFacetMinCount('june'),
	$query->getFacetMissing(),
	$query->getFacetMissing('june'),
	$query->getFacetMethod(),
	$query->getFacetMethod('june')
);
?>
--EXPECTF--
facet=false&facet.field=israel&facet.field=israel2&facet.query=silk&facet.query=name:june&facet.prefix=A&f.june.facet.prefix=C&facet.sort=count&f.june.facet.sort=index&facet.limit=98&f.june.facet.limit=44&facet.offset=110&f.june.facet.offset=12&facet.mincount=4&f.june.facet.mincount=30&facet.missing=true&f.june.facet.missing=false&facet.method=enum&f.june.facet.method=fc&facet.enum.cache.minDf=25

bool(false)
array(2) {
  [0]=>
  string(6) "israel"
  [1]=>
  string(7) "israel2"
}
array(2) {
  [0]=>
  string(4) "silk"
  [1]=>
  string(9) "name:june"
}
string(1) "A"
string(1) "C"
int(1)
int(0)
int(98)
int(44)
int(110)
int(12)
int(4)
int(30)
bool(true)
bool(false)
string(4) "enum"
string(2) "fc"
059.solrinputdocument_getfieldcount.phpt000064400000000476150456303770014510 0ustar00--TEST--
SolrInputDocument::getFieldCount
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();

$doc->addField('id', 123);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Search Server');
$doc->addField('features', 'Software');

var_dump($doc->getFieldCount());

?>
--EXPECT--
int(3)013.solrclient_getByIds.phpt000064400000002716150456303770011733 0ustar00--TEST--
SolrClient::getByIds() - Testing Real Time Get by ids
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getByIds(['GB18030TEST', '6H500F0']);
var_dump(isset($response->getArrayResponse()['response']['docs'])) . PHP_EOL;
var_dump($response->getResponse()->response->start) . PHP_EOL;
try {
	$response = $client->getByIds(['GB18030TEST', '']);
} catch (Exception $e) {
	printf("Exception %d: %s", $e->getCode(), $e->getMessage());
}
echo PHP_EOL.PHP_EOL;
// make sure request was reset
$response = $client->getByIds(['GB18030TEST']);
$headers = explode(PHP_EOL, trim($response->getRawRequestHeaders()));

$headers = array_filter($headers, function($header) {
    return strstr($header, 'collection1') !== false;
});

print_r(implode(PHP_EOL, $headers).PHP_EOL);

echo PHP_EOL;
try {
	$response = $client->getByIds([]);
} catch (Exception $e) {
	printf("Exception %d: %s", $e->getCode(), $e->getMessage());
}
?>
--EXPECTF--
bool(true)
int(0)
Exception 4000: Invalid id at position 1

GET /solr/collection1/get/?version=2.2&indent=on&wt=xml&ids=GB18030TEST HTTP/1.1

Exception 4000: Invalid parameter: at least 1 ID is required. Passed an empty array.
082.solrutils_getsolrversion.phpt000064400000000330150456304000013147 0ustar00--TEST--
SolrUtils::getSolrVersion() - Returns solr dotted version
--FILE--
<?php

$version = SolrUtils::getSolrVersion();
echo $version . PHP_EOL;

echo solr_get_version() . PHP_EOL;
?>
--EXPECTF--
%d.%d.%d
%d.%d.%d032.solrdocument_fieldexists.phpt000064400000000614150456304000013063 0ustar00--TEST--
SolrDocument::fieldExists
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);


$doc = new SolrDocument();

$doc->check = 1;

var_dump($doc->fieldExists('check'));
var_dump($doc->fieldExists('nonExistingField'));
?>
--EXPECT--
bool(true)
bool(false)000.solr_int_arg.phpt000064400000002661150456304000010423 0ustar00--TEST--
Solr - Accept int (non-strict mode
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

case_title(1, 'No arguments passed');
$client = new SolrClient($options);
$updateResponse = $client->optimize();
print $updateResponse->getRawRequest();

case_title(2, 'int argument passed');
$updateResponse = $client->optimize(4, true, false);
print $updateResponse->getRawRequest();

case_title(3, 'string argument passed');
$updateResponse = $client->optimize('5', true, false);
print $updateResponse->getRawRequest();

case_title(4, 'object argument passed');
try {
	$updateResponse = $client->optimize(new StdClass());
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage() . PHP_EOL;
}
--EXPECTF--

case #1: No arguments passed
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="1" softCommit="false" waitSearcher="true"/>

case #2: int argument passed
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="4" softCommit="true" waitSearcher="false"/>

case #3: string argument passed
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="5" softCommit="true" waitSearcher="false"/>

case #4: object argument passed
maxSegments must be of type int.003.solrclient_options.phpt000064400000005431150456304000011673 0ustar00--TEST--
SolrClient::__construct() - Test options
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'port'     => SOLR_SERVER_PORT,
    'password' => SOLR_SERVER_PASSWORD,
    'path'     => SOLR_SERVER_PATH,
	'timeout'  => 400
);

$client = new SolrClient($options);
$pingResponse = $client->ping();
print_r($pingResponse->getRawResponse());

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
	'port'     => strval(SOLR_SERVER_PORT),
    'password' => SOLR_SERVER_PASSWORD,
    'path'     => '/'.SOLR_SERVER_PATH,
	'timeout'  => '400'
);

$client = new SolrClient($options);
$pingResponse = $client->ping();
print_r($pingResponse->getRawResponse());

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'port' => SOLR_SERVER_PORT,
		'password' => SOLR_SERVER_PASSWORD,
		'path' => SOLR_SERVER_PATH,
		'proxy_host' => 'localhost',
		'proxy_login' => 'test',
		'proxy_password' => 'password',
		'proxy_port' => 8181,
		'query_string_delimiter' => '&'
);

$client = new SolrClient($options);
try {
	$pingResponse = $client->ping();
} catch (SolrClientException $e) {
	print_exception($e);
}

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'port' => SOLR_SERVER_PORT,
		'password' => SOLR_SERVER_PASSWORD,
		'path' => SOLR_SERVER_PATH,
		'proxy_host' => 'localhost',
		'proxy_login' => 'test',
		'proxy_password' => 'password',
		'proxy_port' => '8181',
		'query_string_delimiter' => '&'
);

$client = new SolrClient($options);
try {
	$pingResponse = $client->ping();
} catch (SolrClientException $e) {
	print_exception($e);
}

try {
	$client = new SolrClient(array());
} catch (SolrIllegalArgumentException $e) {
	print_exception($e);
}

$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'port'     => SOLR_SERVER_PORT,
		'password' => SOLR_SERVER_PASSWORD,
		'path'     => SOLR_SERVER_PATH,
		'ssl_cert' => '/tmp/unavailable.crt',
		'ssl_key'  => 'test',
		'ssl_keypassword' => 'test',
		'ssl_cainfo' => 'test',
		'ssl_capath' => '/tmp/'
);

$client = new SolrClient($options);
try {
	$pingResponse = $client->ping();
} catch (SolrClientException $e) {
	print_exception($e);
}

?>
--EXPECTF--
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0

HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0

SolrClientException 1004: Solr HTTP Error 7: 'Couldn't connect to server' 
SolrClientException 1004: Solr HTTP Error 7: 'Couldn't connect to server' 
SolrIllegalArgumentException 4000: The SolrClient options cannot be an empty array


109.solrresponse_getrequesturl.phpt000064400000001411150456304000013474 0ustar00--TEST--
SolrResponse::getRequestUrl() - Get Raw Response Headers
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

echo $query_response->getRequestUrl();
?>
--EXPECTF--
http://%s:%s/solr/collection1/select/?version=2.2&indent=on&wt=xmlbug_68179.phpt000064400000000525150456304000006773 0ustar00--TEST--
Solr Bug #68179 - Solr Params (Argument list) separator disappears
--FILE--
<?php
$dismaxQuery = new SolrDisMaxQuery('score');
$dismaxQuery->addSortField('price', SolrQuery::ORDER_ASC);
$dismaxQuery->addSortField('score', SolrQuery::ORDER_DESC);
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=score&defType=%s&sort=price asc,score desc104.solrresponse_get_response_maxscore.phpt000064400000002420150456304000015153 0ustar00--TEST--
SolrResponse::getResponse() - maxScore
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
		'wt'=> 'xml'
);

$client = new SolrClient ( $options );

$q = new SolrQuery("lucene");
$q->addField('score');
$response = $client->query ( $q );
$arrayResponse = $response->getArrayResponse();
var_dump($arrayResponse['response']['maxScore']);
var_dump($response->getResponse()->response->maxScore);
var_dump($response->getResponse()->response->start);
var_dump($response->getResponse()->response->numFound);
var_dump(is_array($response->getResponse()->response->docs));
echo "------ W/O maxScore ------".PHP_EOL;
$q->removeField('score');
$response = $client->query ( $q );
var_dump($response->getResponse()->response->start);
var_dump($response->getResponse()->response->numFound);
var_dump(is_array($response->getResponse()->response->docs));
var_dump(property_exists($response->getResponse()->response, 'maxScore'));
?>
--EXPECTF--
float(%f)
float(%f)
int(%d)
int(%d)
bool(true)
------ W/O maxScore ------
int(0)
int(1)
bool(true)
bool(false)046.solrobject_getpropertynames.phpt000064400000000675150456304000013614 0ustar00--TEST--
SolrObject - SolrObject::getPropertyNames()
--FILE--
<?php

$solrObject = new SolrObject();

var_dump($solrObject->getPropertyNames());

require_once "bootstrap.inc";

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);

$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

var_dump($solrObject->getPropertyNames());
?>
--EXPECT--
array(0) {
}
array(2) {
  [0]=>
  string(14) "responseHeader"
  [1]=>
  string(6) "system"
}
182.solrdocumentfield_unset_property.phpt000064400000000610150456304000014650 0ustar00--TEST--
SolrDocumentField - exception - on unset property
--FILE--
<?php

require_once "bootstrap.inc";

$field = new SolrDocumentField();

try {
	unset($field->name);
} catch (SolrIllegalOperationException $e) {
	printf("Exception %d: %s", $e->getCode(), $e->getMessage());
}

?>
--EXPECT--
Exception 1007: SolrDocumentField instances are read-only. Properties cannot be updated or removed.101.solrresponse_parseMode.phpt000064400000001200150456304000012464 0ustar00--TEST--
SolrResponse - ParseMode
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
		'wt' => 'xml'
);

$client = new SolrClient ( $options );
$query = new SolrQuery ( "lucene" );

$response = $client->query ( $query );

$response->setParseMode(SolrResponse::PARSE_SOLR_DOC);
$x = $response->getResponse();
var_dump($x->response->docs[0] instanceof SolrDocument);
?>
--EXPECTF--
bool(true)063.solrquery_HighlightingParameters.phpt000064400000011776150456304000014537 0ustar00--TEST--
SolrQuery - testing HighlightingParameters
--FILE--
<?php

$query = new SolrQuery();

ob_start();
var_dump(
	$query->getHighlight(),
	$query->getHighlightQuery(),
	$query->getHighlightFields(),
	$query->getHighlightSnippets(),
	$query->getHighlightSnippets('june'),
	$query->getHighlightFragsize(),
	$query->getHighlightFragsize('june'),
	$query->getHighlightMergeContiguous(),
	$query->getHighlightMergeContiguous('june'),
	$query->getHighlightRequireFieldMatch(),
	$query->getHighlightMaxAnalyzedChars(),
	$query->getHighlightAlternateField(),
	$query->getHighlightAlternateField('june'),
	$query->getHighlightMaxAlternateFieldLength(),
	$query->getHighlightMaxAlternateFieldLength('june'),
	$query->getHighlightFormatter(),
	$query->getHighlightFormatter('june'),
	$query->getHighlightSimplePre(),
	$query->getHighlightSimplePre('june'),
	$query->getHighlightSimplePost(),
	$query->getHighlightSimplePost('june'),
	$query->getHighlightFragmenter(),
	$query->getHighlightFragmenter('june'),
	$query->getHighlightUsePhraseHighlighter(),
	$query->getHighlightHighlightMultiTerm(),
	$query->getHighlightRegexSlop(),
	$query->getHighlightRegexPattern(),
	$query->getHighlightRegexMaxAnalyzedChars()
);
$nullOutput = ob_get_clean();


$query->setHighlight(true);
$query->setHighlightQuery('title:PHP OR description:Solr');

$query->addHighlightField('a')->addHighlightField('a')->addHighlightField('a')
	->addHighlightField('b');

$query->removeHighlightField('a')->removeHighlightField('a')->removeHighlightField('a');

$query->setHighlightSnippets(4)->setHighlightSnippets(5, 'june');

$query->setHighlightFragsize(41)->setHighlightFragsize(52, 'june');

$query->setHighlightMergeContiguous(true)->setHighlightMergeContiguous(false, 'june');

$query->setHighlightRequireFieldMatch(true);

$query->setHighlightMaxAnalyzedChars(44)->setHighlightMaxAnalyzedChars(53);

$query->setHighlightAlternateField('pizza')->setHighlightAlternateField('bread', 'june');

$query->setHighlightAlternateField('blue')->setHighlightAlternateField('red','june');

$query->setHighlightAlternateField('a')->setHighlightAlternateField('b','june');

$query->setHighlightMaxAlternateFieldLength(300)->setHighlightMaxAlternateFieldLength(335, 'june');

$query->setHighlightFormatter('F')->setHighlightFormatter('G', 'june');

$query->setHighlightSimplePre('OO')->setHighlightSimplePre('PP', 'june');

$query->setHighlightSimplePost('ZZ')->setHighlightSimplePost('YY', 'june');

$query->setHighlightFragmenter('gap')->setHighlightFragmenter('space', 'june');

$query->setHighlightUsePhraseHighlighter(false);

$query->setHighlightHighlightMultiTerm(1);

$query->setHighlightRegexSlop(0.0025);

$query->setHighlightRegexPattern("israel")->setHighlightRegexPattern("ekpo");

$query->setHighlightRegexMaxAnalyzedChars(444)->setHighlightRegexMaxAnalyzedChars(5.0);

echo $query . PHP_EOL . PHP_EOL;

var_dump(
	$query->getHighlight(),
	$query->getHighlightFields(),
	$query->getHighlightSnippets(),
	$query->getHighlightSnippets('june'),
	$query->getHighlightFragsize(),
	$query->getHighlightFragsize('june'),
	$query->getHighlightMergeContiguous(),
	$query->getHighlightMergeContiguous('june'),
	$query->getHighlightRequireFieldMatch(),
	$query->getHighlightMaxAnalyzedChars(),
	$query->getHighlightAlternateField(),
	$query->getHighlightAlternateField('june'),
	$query->getHighlightMaxAlternateFieldLength(),
	$query->getHighlightMaxAlternateFieldLength('june'),
	$query->getHighlightFormatter(),
	$query->getHighlightFormatter('june'),
	$query->getHighlightSimplePre(),
	$query->getHighlightSimplePre('june'),
	$query->getHighlightSimplePost(),
	$query->getHighlightSimplePost('june'),
	$query->getHighlightFragmenter(),
	$query->getHighlightFragmenter('june'),
	$query->getHighlightUsePhraseHighlighter(),
	$query->getHighlightHighlightMultiTerm(),
	$query->getHighlightRegexSlop(),
	$query->getHighlightRegexPattern(),
	$query->getHighlightRegexMaxAnalyzedChars()
);
echo PHP_EOL.$nullOutput;
?>
--EXPECT--
hl=true&hl.q=title:PHP OR description:Solr&hl.fl=b&hl.snippets=4&f.june.hl.snippets=5&hl.fragsize=41&f.june.hl.fragsize=52&hl.mergeContiguous=true&f.june.hl.mergeContiguous=false&hl.requireFieldMatch=true&hl.maxAnalyzedChars=53&hl.alternateField=a&f.june.hl.alternateField=b&hl.maxAlternateFieldLength=300&f.june.hl.maxAlternateFieldLength=335&hl.formatter=F&f.june.hl.formatter=G&hl.simple.pre=OO&f.june.hl.simple.pre=PP&hl.simple.post=ZZ&f.june.hl.simple.post=YY&hl.fragmenter=gap&f.june.hl.fragmenter=space&hl.usePhraseHighlighter=false&hl.highlightMultiTerm=true&hl.regex.slop=0.0025&hl.regex.pattern=ekpo&hl.regex.maxAnalyzedChars=5

bool(true)
array(1) {
  [0]=>
  string(1) "b"
}
int(4)
int(5)
int(41)
int(52)
bool(true)
bool(false)
bool(true)
int(53)
string(1) "a"
string(1) "b"
int(300)
int(335)
string(1) "F"
string(1) "G"
string(2) "OO"
string(2) "PP"
string(2) "ZZ"
string(2) "YY"
string(3) "gap"
string(5) "space"
bool(false)
bool(true)
float(0.0025)
string(4) "ekpo"
int(5)

NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
092.solrserverexception_php.phpt000064400000001365150456304000012750 0ustar00--TEST--
SolrServerException (phps) - Throw Exception on solr server exception using phps response writer
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
		'wt' => 'phps'
);

$client = new SolrClient ( $options );
$query = new SolrQuery ( "lucene\\" );
try {
	$response = $client->query ( $query );
	print_r ( $response );
} catch ( SolrServerException $e ) {
	echo sprintf("code: %d", $e->getCode()).PHP_EOL;
	echo sprintf("message: %s", $e->getMessage()).PHP_EOL;
}

?>
--EXPECTF--
code: %d
message: %s051.solrinputdocument_getchilddocuments.phpt000064400000001265150456304010015332 0ustar00--TEST--
SolrInputDocument::getChildDocuments() - test
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$secondDoc = new SolrInputDocument();

$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat   = 'Information Technology';

$secondDoc->addField('cat', 'Lucene Search');
$secondDoc->cat = 'Custom Search';

$doc->addChildDocument($secondDoc);

$childs = $doc->getChildDocuments();
print_r($childs[0]->getField('cat'));

?>
--EXPECT--
SolrDocumentField Object
(
    [name] => cat
    [boost] => 0
    [values] => Array
        (
            [0] => Lucene Search
        )

)029.solrdocument_serialize_php81.phpt000064400000002066150456304010013561 0ustar00--TEST--
SolrDocument - clone
--SKIPIF--
<?php if (PHP_VERSION_ID < 80100) die("skip PHP 8.1+ only"); ?>
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);

$doc =$response->response->docs[1];

$serializedString = serialize($doc);
print_r($serializedString);
echo PHP_EOL;
print_r(unserialize($serializedString)->toArray());
?>
--EXPECT--
O:12:"SolrDocument":1:{s:3:"xml";s:172:"<?xml version="1.0" encoding="UTF-8"?>
<solr_document>
  <fields>
    <field name="id">
      <field_value>parent_2</field_value>
    </field>
  </fields>
</solr_document>
";}
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => parent_2
                        )

                )

        )

)
017.solrclient_threads.phpt000064400000001130150456304010011630 0ustar00--TEST--
SolrClient::threads() - Solr Threads Info
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$response = $client->threads()->getResponse();

print_r($response->system->threadCount);
?>
--EXPECTF--
SolrObject Object
(
    [current] => %d
    [peak] => %d
    [daemon] => %d
)
113.solrdismaxquery_bigramfields.phpt000064400000001531150456304010013725 0ustar00--TEST--
SolrDisMaxQuery - BigramFields and slop (addBigramPhraseField, removeBigramPhraseField, setBigramPhraseFields)
--FILE--
<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addBigramPhraseField('cat', 2, 5.1)
->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;
// reverse
$dismaxQuery
->removeBigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setBigramPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setBigramPhraseSlop(2);
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=lucene&defType=%s&pf2=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf2=feature^4.5

Notice: SolrDisMaxQuery::setBigramPhraseFields(): Parameter pf2 value(s) was overwritten by this call in %s on line %d
q=lucene&defType=%s&pf2=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf2=cat~5.1^2 feature^4.5&ps2=2
026.solrdocument_getchilddocscount.phpt000064400000000522150456304010014247 0ustar00--TEST--
SolrDocument::getChildDocumentsCount() - Method test
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);
var_dump($response->response->docs[0]->getChildDocumentsCount());
?>
--EXPECT--
int(1)011.solrclient_phps_response.phpt000064400000000744150456304010013072 0ustar00--TEST--
SolrClient - PHPS response writer support
--FILE--
<?php
require_once "bootstrap.inc";
ERROR_REPORTING(E_ALL);
$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
);

$client = new SolrClient ( $options );
$client->setResponseWriter('phps');
$options = $client->getOptions();
var_dump($options['wt'] == 'phps');
?>
--EXPECTF--
bool(true)054.solrinputdocument_addchilddocuments.phpt000064400000001327150456304010015305 0ustar00--TEST--
SolrInputDocument::addChildDocuments() - add child documents
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$doc2 = new SolrInputDocument();
$doc3 = new SolrInputDocument();

$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat   = 'Information Technology';

$doc2->addField('cat', 'Lucene Search');
$doc2->cat = 'Custom Search';

$doc2->addField('cat', 'Lucene Search');
$doc2->cat = 'Custom Search';

$doc3->addField('cat', 'Lucene Search');
$doc3->cat = 'Custom Search';
$docs = array($doc2, $doc3);
$doc->addChildDocuments($docs);

var_dump($doc->getChildDocumentsCount());
?>
--EXPECT--
int(2)bug_69156.phpt000064400000001223150456304010006764 0ustar00--TEST--
Solr Bug #69156 - segfault on 500 response from Solr
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => 'solr/collection44444',
		'wt'       => 'phps'
);

$client = new SolrClient($options);
$query = new SolrQuery("lucene");
try {
	$query_response = $client->query($query);
} catch (Exception $e) {
}
?>
--EXPECTF--
Notice: SolrClient::query(): Unable to parse serialized php response in %s on line %d
010.solrclient_getOptions.phpt000064400000001406150456304010012330 0ustar00--TEST--
SolrClient::getOptions - Returning all the default options
--FILE--
<?php

$options = array('secure' => false);

$client = new SolrClient($options);

var_dump($client->getOptions());

?>
--EXPECTF--
array(17) {
  ["timeout"]=>
  int(30)
  ["secure"]=>
  bool(false)
  ["hostname"]=>
  string(9) "localhost"
  ["wt"]=>
  string(3) "xml"
  ["port"]=>
  int(8983)
  ["proxy_host"]=>
  string(0) ""
  ["proxy_port"]=>
  int(0)
  ["path"]=>
  string(4) "solr"
  ["http_auth"]=>
  string(0) ""
  ["proxy_auth"]=>
  string(0) ""
  ["ssl_verify_peer"]=>
  bool(false)
  ["ssl_verify_host"]=>
  int(2)
  ["ssl_cert"]=>
  string(0) ""
  ["ssl_key"]=>
  string(0) ""
  ["ssl_keypassword"]=>
  string(0) ""
  ["ssl_cainfo"]=>
  string(0) ""
  ["ssl_capath"]=>
  string(0) ""
}
030.solrdocument_magic.phpt000064400000000734150456304020011623 0ustar00--TEST--
SolrDocument - magic __isset/__unset/__get/__set
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$doc->check = 1;
$doc->deleteMe = 1;

var_dump(isset($doc->check));
var_dump(isset($doc->doesNotExist));


var_dump(isset($doc->deleteMe));
unset($doc->deleteMe);
var_dump(isset($doc->deleteMe));

$doc->addField('id', 1);

var_dump($doc->id instanceof SolrDocumentField);
?>
--EXPECTF--
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)130.parameters_simple_list_separator.phpt000064400000000625150456304020014574 0ustar00--TEST--
simple_list_parameter type - Use of default, non-default separator
--FILE--
<?php
// arg list change
$query = new SolrQuery();
$query->addField("te")->addField("te2");
echo $query.PHP_EOL;

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt')
;
echo $dismaxQuery.PHP_EOL;

?>
--EXPECTF--
fl=te,te2
defType=edismax&uf=cat text *_dt016.solrclient_sendUpdateStream_bin.phpt000064400000002077150456304020014311 0ustar00--TEST--
SolrClient::sendUpdateStream - send SolrExtractRequest (bin)
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array (
	'hostname' => SOLR_SERVER_HOSTNAME,
	'login' => SOLR_SERVER_USERNAME,
	'password' => SOLR_SERVER_PASSWORD,
	'port' => SOLR_SERVER_PORT,
	'path' => SOLR_SERVER_FILES_PATH,
);

$client = new SolrClient($options);

$extractParams = new SolrModifiableParams();

$extractParams
	->set(SolrExtractRequest::LITERALS_PREFIX . 'id', 'doc1')
	->set(SolrExtractRequest::CAPTURE_ELEMENTS, 'p')
	->set(SolrExtractRequest::FIELD_MAPPING_PREFIX . 'p', 'text')
;

$binContent = file_get_contents(EXTRACT_FILE_1);

$extractRequest = SolrExtractRequest::createFromStream($binContent, 'application/pdf', $extractParams);

$response = $client->sendUpdateStream($extractRequest);

$client->rollback();

echo $response->getHttpStatus() . PHP_EOL;
echo $response->getRequestUrl() . PHP_EOL;
?>
--EXPECTF--
200
http://%s/update/extract/?version=2.2&indent=on&wt=xml&literal.id=doc1&capture=p&fmap.p=text
083.solrutils_getsolrstats.phpt000064400000001352150456304020012630 0ustar00--TEST--
SolrUtils::getSolrStats() - Get Statistics about number of documents/clients..etc
--FILE--
<?php
require_once "bootstrap.inc";

var_dump(SolrUtils::getSolrStats());

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH
);

$client = new SolrClient ( $options );

$solrDoc = new SolrInputDocument();

$params = new SolrModifiableParams();

var_dump(SolrUtils::getSolrStats());

?>
--EXPECT--
array(3) {
  ["document_count"]=>
  int(0)
  ["client_count"]=>
  int(0)
  ["params_count"]=>
  int(0)
}
array(3) {
  ["document_count"]=>
  int(1)
  ["client_count"]=>
  int(1)
  ["params_count"]=>
  int(1)
}
bug_70482.phpt000064400000001702150456304020006761 0ustar00--TEST--
Solr Bug #70482 - Segmentation fault on server 500 response with no msg field XML RW
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH,
		'wt'	   => 'xml'
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('manu_id_s');

$func->setMax('sum(cscore(),field(manu_id_s))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);
try {
	$queryResponse = $client->query($query);
} catch (SolrServerException $e) {
	printf("Exception code %d", $e->getCode());
	assert(strlen($e->getMessage()) > 0, 'Exception message is empty');
	echo PHP_EOL;
}

?>
OK
--EXPECTF--
Exception code %d
OK151.solrcollapsefunction_illegal_operations.phpt000064400000001367150456304020016160 0ustar00--TEST--
SolrCollapseFunction - Illegal Operations
--SKIPIF--
<?php if (version_compare(PHP_VERSION, "5.4", "lt")) die("skip PHP 5.4+ only"); ?>
--FILE--
<?php

$func = new SolrCollapseFunction('field');

try {
	$tmp = clone $func;
} catch (SolrIllegalOperationException $e) {
	echo PHP_EOL . sprintf('Code %d: %s', $e->getCode(), $e->getMessage()).PHP_EOL;
}

$func->setMax('max');

try {
	// known issue, object corruption
	$tmp = serialize($func);
} catch (SolrIllegalOperationException $e) {
	echo PHP_EOL . sprintf('Code %d: %s', $e->getCode(), $e->getMessage()).PHP_EOL;
}

?>
--EXPECTF--
Code 4001: Cloning of SolrCollapseFunction objects is currently not supported

Code 1001: Serialization of SolrCollapseFunction objects is currently not supported

003.solrclient_addDocument_no_overwrite.phpt000064400000001560150456304020015232 0ustar00--TEST--
SolrClient::addDocument() - Overwrite an existing document
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Solr');

$updateResponse = $client->addDocument($doc, false);
$client->commit();
print $updateResponse->getRawRequest();
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<add overwrite="false">
  <doc>
    <field name="id">334455</field>
    <field name="cat">Software</field>
    <field name="cat">Solr</field>
  </doc>
</add>
196.solrparams_serialize_php81.phpt000064400000002210150456304020013223 0ustar00--TEST--
SolrParams::serialize() - serialize params
--SKIPIF--
<?php if (PHP_VERSION_ID < 80100) die("skip PHP 8.1+ only"); ?>
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->setParam('q', 'lucene')
	->setParam('start', 0)
	->setParam('rows', 10)
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

echo serialize($params);
?>
--EXPECTF--
O:20:"SolrModifiableParams":1:{s:3:"xml";s:727:"<?xml version="1.0" encoding="UTF-8"?>
<solr_params>
  <params>
    <param name="q" type="1" allow_multiple="0" count="1" delimiter="38" arg_separator="0">
      <param_value>lucene</param_value>
    </param>
    <param name="start" type="1" allow_multiple="0" count="1" delimiter="38" arg_separator="0">
      <param_value>0</param_value>
    </param>
    <param name="rows" type="1" allow_multiple="0" count="1" delimiter="38" arg_separator="0">
      <param_value>10</param_value>
    </param>
    <param name="fq" type="1" allow_multiple="1" count="2" delimiter="38" arg_separator="0">
      <param_value>popularity:[10 TO *]</param_value>
      <param_value>section:0</param_value>
    </param>
  </params>
</solr_params>
";}
019.solrclient_serialize.phpt000064400000001637150456304020012204 0ustar00--TEST--
SolrClient - serialization
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

try {
	serialize($client);
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

try {
	$serializedString = 'O:10:"SolrClient":0:{}';
	unserialize($serializedString);
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

?>
--EXPECTF--
Exception 1001: SolrClient objects cannot be serialized or unserialized
Exception 1001: SolrClient objects cannot be serialized or unserialized
050.solrinputdocument_addchilddocument_01.phpt000064400000001441150456304020015414 0ustar00--TEST--
SolrInputDocument::addChildDocument() - add child document
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$secondDoc = new SolrInputDocument();

$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat   = 'Information Technology';

$secondDoc->addField('cat', 'Lucene Search');
$secondDoc->cat = 'Custom Search';

$doc->addChildDocument($secondDoc);

var_dump($doc->hasChildDocuments(), $secondDoc->hasChildDocuments());

$childs = $doc->getChildDocuments();
print_r($childs[0]->getField('cat'));

?>
--EXPECT--
bool(true)
bool(false)
SolrDocumentField Object
(
    [name] => cat
    [boost] => 0
    [values] => Array
        (
            [0] => Lucene Search
        )

)
bug_72033.phpt000064400000002105150456304020006751 0ustar00--TEST--
Solr Bug #72033 - Real Time Get requests fails if it wasn't the first request
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'     => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 'some_id');
$doc->addField('field1', 'val1');

$client->addDocument($doc);

$client->commit();

$response = $client->getById('some_id');

var_dump(isset($response->getArrayResponse()['doc'])).PHP_EOL;
var_dump($response->getResponse()->doc->id) . PHP_EOL;
// pointless request just to fill the request buffer
$client->commit();


$response = $client->getByIds(['GB18030TEST', '6H500F0']);

var_dump($response->getResponse()->response->docs[0]->id, $response->getResponse()->response->docs[1]->id);
?>
--EXPECTF--
bool(true)
string(7) "some_id"
string(11) "GB18030TEST"
string(7) "6H500F0"
059.solrinputdocument_merge.phpt000064400000006504150456304020012736 0ustar00--TEST--
SolrInputDocument::merge - Merge 2 docs
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();
$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side", 4);
$doc->addField('features', "Fast development cycles");
$doc->addField('cat', 'Information Technology');

separator('original document');
print_r($doc->toArray());

$doc2 = new SolrInputDocument();
$doc2->addField('cat', 'Lucene Search');
$doc2->merge($doc, true); // merge doc into doc2, overwrite cat

separator('merge overwrite (cat field merged ?)');
print_r($doc->getField('cat')->values);

var_dump($doc->fieldExists('features'));
print_r($doc2->toArray());

$doc3 = new SolrInputDocument();
$doc3->addField('manu_s_id', 'apache');
$doc3->addField('id', '124');

$doc3->merge($doc, false); // do not overwrite
separator('merge without overwrite');
print_r($doc3->getField('id')->values);
separator('END');
?>
--EXPECT--
============================== original document ===============================
Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 4
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Information Technology
                        )

                )

        )

)
===================== merge overwrite (cat field merged ?) =====================
Array
(
    [0] => Information Technology
)
bool(true)
Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 4
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)
=========================== merge without overwrite ============================
Array
(
    [0] => 124
)
===================================== END ======================================036.solrdocument_array_access.phpt000064400000002053150456304030013205 0ustar00--TEST--
SolrDocument - Array Access
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrDocument();

$doc->addField('id', 334455);
$doc->addField('manu_id_s', 'apache');
// set
$doc['cat'] = 'Software';

// get
var_dump($doc['cat']->values[0]);

// exists
var_dump(isset($doc['cat']));

// unset
unset($doc['cat']);
print_r($doc->toArray());
?>
--EXPECT--
string(8) "Software"
bool(true)
Array
(
    [document_boost] => 0
    [field_count] => 2
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 334455
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => manu_id_s
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => apache
                        )

                )

        )

)
108.solrresponse_getdigestedresponse.phpt000064400000003445150456304030014643 0ustar00--TEST--
SolrResponse::getDigestedResponse() - Get Raw Response Headers
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

var_dump($query_response->getDigestedResponse());
$tmp = $query_response->getResponse();
$digestedResponse = $query_response->getDigestedResponse();
print_r($digestedResponse);
?>
--EXPECTF--
string(1) " "
O:10:"SolrObject":2:{s:14:"responseHeader";O:10:"SolrObject":3:{s:6:"status";i:0;s:5:"QTime";i:%d;s:%d:"params";O:10:"SolrObject":7:{s:1:"q";s:6:"lucene";s:6:"indent";s:2:"on";s:2:"fl";s:25:"cat,features,id,timestamp";s:5:"start";s:1:"0";s:4:"rows";s:2:"50";s:7:"version";s:3:"2.2";s:2:"wt";s:3:"xml";}}s:8:"response";O:10:"SolrObject":3:{s:8:"numFound";i:1;s:5:"start";i:0;s:4:"docs";a:1:{i:0;O:10:"SolrObject":3:{s:2:"id";s:8:"SOLR1000";s:3:"cat";a:2:{i:0;s:8:"software";i:1;s:6:"search";}s:8:"features";a:7:{i:0;s:51:"Advanced Full-Text Search Capabilities using Lucene";i:1;s:37:"Optimized for High Volume Web Traffic";i:2;s:46:"Standards Based Open Interfaces - XML and HTTP";i:3;s:44:"Comprehensive HTML Administration Interfaces";i:4;s:64:"Scalability - Efficient Replication to other Solr Search Servers";i:5;s:56:"Flexible and Adaptable with XML configuration and Schema";i:6;s:62:"Good unicode support: héllo (hello with an accent over the e)";}}}}}064.solrquery_StatsComponent.phpt000064400000001540150456304030013057 0ustar00--TEST--
SolrQuery - testing StatsComponent
--FILE--
<?php

$query = new SolrQuery();
ob_start();
var_dump(
	$query->getStats(),
	$query->getStatsFields(),
	$query->getStatsFacets()
);

$nullOutput = ob_get_clean();

$query->setStats(0);

$query
	->addStatsField('hello')
	->removeStatsField('hello')
	->addStatsField('june')
	->addStatsField('july')
;

$query
	->addStatsFacet('world')
	->removeStatsFacet('world')
	->addStatsFacet('pear')
	->addStatsFacet('pecl')
;

echo $query . PHP_EOL . PHP_EOL;

var_dump(
	$query->getStats(),
	$query->getStatsFields(),
	$query->getStatsFacets()
);
echo $nullOutput;
?>
--EXPECTF--
stats=false&stats.field=june&stats.field=july&stats.facet=pear&stats.facet=pecl

bool(false)
array(2) {
  [0]=>
  string(4) "june"
  [1]=>
  string(4) "july"
}
array(2) {
  [0]=>
  string(4) "pear"
  [1]=>
  string(4) "pecl"
}
NULL
NULL
NULL084.solrutils_queryphrase.phpt000064400000000305150456304030012441 0ustar00--TEST--
SolrUtils::queryPhrase() - Escapes a query phrase
--FILE--
<?php

echo SolrUtils::queryPhrase('Book Title: Apache Solr Server') . PHP_EOL;

?>
--EXPECT--
"Book Title\: Apache Solr Server"
bug_59511_error.phpt000064400000001315150456304030010173 0ustar00--TEST--
Solr bug #59511 - SolrClient::query() Timeout shall throw a SolrClientException
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
// force to timeout trying to resolve
$options = array
(
		'hostname' => 'anyhost',
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH,
		'timeout'  => 2
);

$client = new SolrClient($options);
$query = new SolrQuery("lucene");
try {
	$query_response = $client->query($query);	
} catch (SolrClientException $e) {
	echo $e->getMessage().PHP_EOL;
	echo $e->getCode().PHP_EOL;
}
?>
--EXPECTF--
Solr HTTP Error %d: '%s' 
1004071.solrquery_collapse_exception.phpt000064400000000644150456304030013760 0ustar00--TEST--
SolrQuery::collapse - throws SolrMissingMandatoryParameterException
--FILE--
<?php

$query = new SolrQuery('*:*');
$collapseFunction = new SolrCollapseFunction();
try {
    $query->collapse($collapseFunction);
} catch (SolrMissingMandatoryParameterException $e) {
    echo PHP_EOL.sprintf('Exception %d: %s', $e->getCode(), $e->getMessage());
}
?>
--EXPECTF--
Exception 4100: Mandatory parameter Missing: field
069.solrquery_GroupParameters.phpt000064400000004437150456304030013233 0ustar00--TEST--
SolrQuery - Result Grouping (Group Parameters)
--FILE--
<?php

$query = new SolrQuery();

$query->setGroup(true);

$query->addGroupField('category')->addGroupField('featured');

$query->addGroupFunction('ceil(internalScore)');

$query->addGroupQuery('silk')->addGroupQuery('name:june');

$query->setGroupLimit(98);

$query->setGroupOffset(110);

$query->addGroupSortField('count', SolrQuery::ORDER_ASC);
$query->addGroupSortField('name', SolrQuery::ORDER_DESC);

$query->setGroupFormat('simple');

$query->setGroupMain(false);

$query->setGroupNGroups(false);

$query->setGroupTruncate(true);

$query->setGroupFacet(true);


$query->setGroupCachePercent(100);

echo PHP_EOL . "-- Query String --".PHP_EOL;
echo $query.PHP_EOL;

echo PHP_EOL . "-- Integer --".PHP_EOL;
var_dump($query->getGroupOffset(), $query->getGroupLimit(), $query->getGroupCachePercent());
echo PHP_EOL . "-- String --".PHP_EOL;
var_dump($query->getGroupFormat());
echo PHP_EOL . "-- Array --".PHP_EOL;
var_dump($query->getGroupFields());
var_dump($query->getGroupFunctions());
var_dump($query->getGroupQueries());
var_dump($query->getGroupSortFields());

echo PHP_EOL . "-- BOOL --".PHP_EOL;
var_dump($query->getGroup(), $query->getGroupMain(), $query->getGroupNGroups(), $query->getGroupTruncate(), $query->getGroupFacet());
echo PHP_EOL;

try {
	$query->setGroupCachePercent(-1);
} catch (SolrIllegalArgumentException $e) {
	echo sprintf("Exception Caught %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
}
?>
--EXPECTF--
-- Query String --
group=true&group.field=category&group.field=featured&group.func=ceil(internalScore)&group.query=silk&group.query=name:june&group.limit=98&group.offset=110&group.sort=count asc,name desc&group.format=simple&group.main=false&group.ngroups=false&group.truncate=true&group.facet=true&group.cache.percent=100

-- Integer --
int(110)
int(98)
int(100)

-- String --
string(6) "simple"

-- Array --
array(2) {
  [0]=>
  string(8) "category"
  [1]=>
  string(8) "featured"
}
array(1) {
  [0]=>
  string(19) "ceil(internalScore)"
}
array(2) {
  [0]=>
  string(4) "silk"
  [1]=>
  string(9) "name:june"
}
array(2) {
  [0]=>
  string(9) "count asc"
  [1]=>
  string(9) "name desc"
}

-- BOOL --
bool(true)
bool(false)
bool(false)
bool(true)
bool(true)

Exception Caught 4000: Group cache percent must be between 0 and 100005.solrclient_query_error.phpt000064400000001333150456304030012560 0ustar00--TEST--
SolrClient::query() - throw SolrClientException on Solr Server exception
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
// force to timeout trying to resolve
$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$query = new SolrQuery("lucene\\");

try {
	$query_response = $client->query($query);
} catch (SolrServerException $e) {
	echo $e->getMessage();
}

?>
--EXPECTF--
%s: Cannot parse 'lucene\': Lexical error at line 1, column 8.  Encountered: <EOF> after : ""196.solrparams_serialize.phpt000064400000002171150456304030012212 0ustar00--TEST--
SolrParams::serialize() - serialize params
--SKIPIF--
<?php if (PHP_VERSION_ID >= 80100) die("skip PHP < 8.1 only"); ?>
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->setParam('q', 'lucene')
	->setParam('start', 0)
	->setParam('rows', 10)
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

echo serialize($params);
?>
--EXPECTF--
C:20:"SolrModifiableParams":727:{<?xml version="1.0" encoding="UTF-8"?>
<solr_params>
  <params>
    <param name="q" type="1" allow_multiple="0" count="1" delimiter="38" arg_separator="0">
      <param_value>lucene</param_value>
    </param>
    <param name="start" type="1" allow_multiple="0" count="1" delimiter="38" arg_separator="0">
      <param_value>0</param_value>
    </param>
    <param name="rows" type="1" allow_multiple="0" count="1" delimiter="38" arg_separator="0">
      <param_value>10</param_value>
    </param>
    <param name="fq" type="1" allow_multiple="1" count="2" delimiter="38" arg_separator="0">
      <param_value>popularity:[10 TO *]</param_value>
      <param_value>section:0</param_value>
    </param>
  </params>
</solr_params>
}
020.solrdocument_update_field.phpt000064400000004411150456304030013164 0ustar00--TEST--
SolrInputDocument::updateField
--FILE--
<?php

require_once 'bootstrap.inc';

$doc = new SolrInputDocument();

$doc->addField('id', 1123);

$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_ADD, 'val1');
$doc->updateField('field2_s', SolrInputDocument::UPDATE_MODIFIER_SET, 'val2');
$doc->updateField('field3_i', SolrInputDocument::UPDATE_MODIFIER_INC, 5);
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVE, 'val0');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVEREGEX, '[\d]{2}/[\d]{2}/[\d]{4}');

try {
	$doc->updateField('arr2', 6, 'not gonna happen');
} catch (SolrIllegalArgumentException $e) {
	print_exception($e);
}

try {
	$doc->updateField('arr3', 0, 'not gonna happen');
} catch (SolrIllegalArgumentException $e) {
	print_exception($e);
}

print_r($doc->toArray());

?>
--EXPECT--
SolrIllegalArgumentException 4003: Invalid field value modifier.
SolrIllegalArgumentException 4003: Invalid field value modifier.
Array
(
    [document_boost] => 0
    [field_count] => 4
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => field1
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => val1
                            [1] => val0
                            [2] => [\d]{2}/[\d]{2}/[\d]{4}
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => field2_s
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => val2
                        )

                )

            [3] => SolrDocumentField Object
                (
                    [name] => field3_i
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 5
                        )

                )

        )

)
111.solrdismaxquery_boostquery.phpt000064400000001251150456304030013510 0ustar00--TEST--
SolrDisMaxQuery - Boost Query
--FILE--
<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
	->addBoostQuery('cat', 'electronics', 5.1)
	->addBoostQuery('cat', 'hard drive')
;
// reverse
echo $dismaxQuery.PHP_EOL;
$dismaxQuery
->removeBoostQuery('cat');
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setBoostQuery('cat:electronics manu:local^2');
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=lucene&defType=edismax&bq=cat:electronics^5.1 cat:hard drive
q=lucene&defType=edismax&bq=cat:hard drive

Notice: SolrDisMaxQuery::setBoostQuery(): Parameter bq value(s) was overwritten by this call in %s on line %d
q=lucene&defType=edismax&bq=cat:electronics manu:local^2
181.solrdocumentfield_write_property.phpt000064400000000622150456304030014651 0ustar00--TEST--
SolrDocumentField - exception - on write property
--FILE--
<?php

require_once "bootstrap.inc";
$field = new SolrDocumentField();

try {
	$field->myIllegalProperty = 1;
} catch (SolrIllegalOperationException $e) {
	printf("Exception %d: %s", $e->getCode(), $e->getMessage());
}

?>
--EXPECT--
Exception 1007: SolrDocumentField instances are read-only. Properties cannot be updated or removed.
004.solrclient_query_terms.phpt000064400000002146150456304030012563 0ustar00--TEST--
SolrClient::query() - Terms component
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setTerms(true);

$query->setTermsField('name');

$query->setTermsLowerBound('a');

$query->setTermsSort(SolrQuery::TERMS_SORT_INDEX);

$query_response = $client->query($query);

echo $query_response->getRequestUrl() .PHP_EOL;

print_r($query_response->getResponse());

?>
--EXPECTF--
http://%s/solr/collection1/terms/?version=2.2&indent=on&wt=xml
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

    [terms] => SolrObject Object
        (
            [name] => SolrObject Object
                (
                    [iPod & iPod Mini USB 2.0 Cable] => %d
                )

        )

)
035.solrdocument_getfieldnames.phpt000064400000000502150456304030013351 0ustar00--TEST--
SolrDocument::getFieldNames
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrDocument();

$doc->addField('id', 334455);
$doc->addField('manu_id_s', 'apache');
$doc->addField('cat', 'Software');

print_r($doc->getFieldNames());
?>
--EXPECT--
Array
(
    [0] => id
    [1] => manu_id_s
    [2] => cat
)
015.solrclient_addDocuments_nested_document.phpt000064400000004034150456304030016056 0ustar00--TEST--
SolrClient::addDocuments() - Sending multiple documents with child documents
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 'CTEST_1');
$doc->addField('title', 'Solr adds block join support');
$doc->addField('content_type', 'parentDocument');

$doc2 = new SolrInputDocument();
$doc2->addField('id', 'CTEST_2');
$doc2->addField('comment_t', 'SolrCloud supports it too!');

$doc3 = new SolrInputDocument();
$doc3->addField('id', 'CTEST_3');
$doc3->addField('content_type', 'parentDocument');
$doc3->addField('comment_t', 'Lots of features');

$doc4 = new SolrInputDocument();
$doc4->addField('id', 'CTEST_4');
$doc4->addField('comment_t', 'Cool features');

$doc->addChildDocument($doc2);
$doc3->addChildDocument($doc4);

$documents = [$doc, $doc3];

$updateResponse = $client->addDocuments($documents);
print_r($updateResponse->getRawRequest());
print_r($updateResponse->getResponse());
$client->commit();
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<add overwrite="true">
  <doc>
    <field name="id">CTEST_1</field>
    <field name="title">Solr adds block join support</field>
    <field name="content_type">parentDocument</field>
    <doc>
      <field name="id">CTEST_2</field>
      <field name="comment_t">SolrCloud supports it too!</field>
    </doc>
  </doc>
  <doc>
    <field name="id">CTEST_3</field>
    <field name="content_type">parentDocument</field>
    <field name="comment_t">Lots of features</field>
    <doc>
      <field name="id">CTEST_4</field>
      <field name="comment_t">Cool features</field>
    </doc>
  </doc>
</add>
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)191.solrparams_addparam.phpt000064400000000355150456304040011772 0ustar00--TEST--
SolrParams::addParam()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

echo $params;
?>
--EXPECTF--
fq=popularity:[10 TO *]&fq=section:0
040.solrobject_xmlresponse.phpt000064400000005040150456304040012550 0ustar00--TEST--
SolrObject - checking xml response digest
--FILE--
<?php

require_once "bootstrap.inc";

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);

$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

print_r($solrObject);

?>
--EXPECT--
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 72
        )

    [system] => SolrObject Object
        (
            [threadCount] => SolrObject Object
                (
                    [current] => 15
                    [peak] => 15
                    [daemon] => 13
                )

            [threadDump] => SolrObject Object
                (
                    [thread] => SolrObject Object
                        (
                            [id] => 1
                            [name] => main
                            [state] => RUNNABLE
                            [native] => 1
                            [cpuTime] => 3340.0000ms
                            [userTime] => 3180.0000ms
                            [stackTrace] => Array
                                (
                                    [0] => java.net.PlainSocketImpl.socketAccept(Native Method)
                                    [1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                                    [2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
                                    [3] => java.net.ServerSocket.accept(ServerSocket.java:421)
                                    [4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
                                    [5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
                                    [6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
                                    [7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                    [8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                    [9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                    [10] => java.lang.reflect.Method.invoke(Method.java:585)
                                    [11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
                                    [12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
                                )

                        )

                )

        )

)
059.solrinputdocument_setversion.phpt000064400000001531150456304040014035 0ustar00--TEST--
SolrInputDocument::setVersion - Set document version
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();

$doc->addField('id', 'IW-02');

$doc->setVersion(SolrInputDocument::VERSION_ASSERT_EXISTS);
var_dump($doc->getVersion());

$doc->setVersion(SolrInputDocument::VERSION_ASSERT_NOT_EXISTS);
var_dump($doc->getVersion());

$doc->setVersion(SolrInputDocument::VERSION_ASSERT_NONE);
var_dump($doc->getVersion());

$doc->setVersion(1498562624496861184);
var_dump($doc->getVersion());

try {
	$doc->setVersion('AAAA-3333');
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage();
} catch (TypeError $e) {
	echo $e->getMessage();
}

?>
--EXPECTF--
int(1)
int(-1)
int(0)
int(1498562624496861184)
%slrInputDocument::setVersion()%s, string given
042.solrobject_magic_property.phpt000064400000002364150456304040013225 0ustar00--TEST--
SolrObject - testing the magic property access
--FILE--
<?php

require_once "bootstrap.inc";

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);

$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

print_r($solrObject->system->threadDump->thread->stackTrace);

?>
--EXPECT--
Array
(
    [0] => java.net.PlainSocketImpl.socketAccept(Native Method)
    [1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    [2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
    [3] => java.net.ServerSocket.accept(ServerSocket.java:421)
    [4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
    [5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
    [6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
    [7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [10] => java.lang.reflect.Method.invoke(Method.java:585)
    [11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    [12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
)
102.solrresponse_phps.phpt000064400000001115150456304040011531 0ustar00--TEST--
SolrResponse::getResponse - PHPS response writer
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
		'wt' => 'phps'
);

$client = new SolrClient ( $options );
$query = new SolrQuery ( "lucene" );

$response = $client->query ( $query );

$x = $response->getResponse();
var_dump($x instanceof SolrObject);
?>
--EXPECTF--
bool(true)081.solrutils_digest_json_response.phpt000064400000006406150456304040014325 0ustar00--TEST--
SolrUtils::digestJsonResponse() - Digest JSON Response
--FILE--
<?php
$responseString = '
{
  "responseHeader":{
    "status":0,
    "QTime":1,
    "params":{
      "indent":"on",
      "wt":"json",
      "q":"lucene",
      "version":"2.2"}},
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"SOLR1000",
        "name":"Solr, the Enterprise Search Server",
        "manu":"Apache Software Foundation",
        "cat":["software",
          "search"],
        "features":["Advanced Full-Text Search Capabilities using Lucene",
          "Optimized for High Volume Web Traffic",
          "Standards Based Open Interfaces - XML and HTTP",
          "Comprehensive HTML Administration Interfaces",
          "Scalability - Efficient Replication to other Solr Search Servers",
          "Flexible and Adaptable with XML configuration and Schema",
          "Good unicode support: hello (hello with an accent over the e)"],
        "price":0.0,
        "price_c":"0,USD",
        "popularity":10,
        "inStock":true,
        "incubationdate_dt":"2006-01-17T00:00:00Z",
        "_version_":1460602453694087168}]
  }}';
if (!json_decode($responseString)) {
	echo "PHP JSON DECODE failed with: ". json_last_error_msg().PHP_EOL;
}
$response = SolrUtils::digestJsonResponse($responseString);
var_dump($response instanceof SolrObject);
var_dump($response);
var_dump($response->response->docs[0]->_version_ == 1460602453694087168);
?>
--EXPECTF--
bool(true)
object(SolrObject)#%d (2) {
  ["responseHeader"]=>
  object(SolrObject)#4 (3) {
    ["status"]=>
    int(0)
    ["QTime"]=>
    int(1)
    ["params"]=>
    object(SolrObject)#5 (4) {
      ["indent"]=>
      string(2) "on"
      ["wt"]=>
      string(4) "json"
      ["q"]=>
      string(6) "lucene"
      ["version"]=>
      string(3) "2.2"
    }
  }
  ["response"]=>
  object(SolrObject)#%d (3) {
    ["numFound"]=>
    int(1)
    ["start"]=>
    int(0)
    ["docs"]=>
    array(1) {
      [0]=>
      object(SolrObject)#%d (11) {
        ["id"]=>
        string(8) "SOLR1000"
        ["name"]=>
        string(34) "Solr, the Enterprise Search Server"
        ["manu"]=>
        string(26) "Apache Software Foundation"
        ["cat"]=>
        array(2) {
          [0]=>
          string(8) "software"
          [1]=>
          string(6) "search"
        }
        ["features"]=>
        array(7) {
          [0]=>
          string(51) "Advanced Full-Text Search Capabilities using Lucene"
          [1]=>
          string(37) "Optimized for High Volume Web Traffic"
          [2]=>
          string(46) "Standards Based Open Interfaces - XML and HTTP"
          [3]=>
          string(44) "Comprehensive HTML Administration Interfaces"
          [4]=>
          string(64) "Scalability - Efficient Replication to other Solr Search Servers"
          [5]=>
          string(56) "Flexible and Adaptable with XML configuration and Schema"
          [6]=>
          string(61) "Good unicode support: hello (hello with an accent over the e)"
        }
        ["price"]=>
        float(0)
        ["price_c"]=>
        string(5) "0,USD"
        ["popularity"]=>
        int(10)
        ["inStock"]=>
        bool(true)
        ["incubationdate_dt"]=>
        string(20) "2006-01-17T00:00:00Z"
        ["_version_"]=>
        %s
      }
    }
  }
}
bool(true)044.solrobject_dimension_access_properties.phpt000064400000004411150456304040015760 0ustar00--TEST--
SolrObject - checking dimension access on properties.
--FILE--
<?php

require_once "bootstrap.inc";

$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);

$solrObject = SolrUtils::digestXMLResponse($xml_reponse);

$header = ($solrObject['responseHeader']);

$system = $solrObject['system'];

print_r($header);

print_r($system);

?>
--EXPECT--
SolrObject Object
(
    [status] => 0
    [QTime] => 72
)
SolrObject Object
(
    [threadCount] => SolrObject Object
        (
            [current] => 15
            [peak] => 15
            [daemon] => 13
        )

    [threadDump] => SolrObject Object
        (
            [thread] => SolrObject Object
                (
                    [id] => 1
                    [name] => main
                    [state] => RUNNABLE
                    [native] => 1
                    [cpuTime] => 3340.0000ms
                    [userTime] => 3180.0000ms
                    [stackTrace] => Array
                        (
                            [0] => java.net.PlainSocketImpl.socketAccept(Native Method)
                            [1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                            [2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
                            [3] => java.net.ServerSocket.accept(ServerSocket.java:421)
                            [4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
                            [5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
                            [6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
                            [7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                            [8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                            [9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                            [10] => java.lang.reflect.Method.invoke(Method.java:585)
                            [11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
                            [12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
                        )

                )

        )

)
068.solrquery_parameters_error.phpt000064400000001423150456304040013457 0ustar00--TEST--
SolrQuery - Invalid Parameters thorws exception Throws exception on illegal Argument
--FILE--
<?php

$query = new SolrQuery();
$params = new SolrModifiableParams();

try {
	// normal parameter
	$query->setQuery('');
}catch (SolrIllegalArgumentException $e)
{
	echo $e->getMessage().PHP_EOL;
	try {
		// simple list
		$query->addField('');
	} catch (SolrIllegalArgumentException $e) {
		echo $e->getMessage().PHP_EOL;
		try {
			// argument list
			$query->addSortField('');
		} catch (SolrIllegalArgumentException $e) {
			echo $e->getMessage().PHP_EOL;
			try {
				$params->addParam('',1);
			} catch (Exception $e) {
				echo $e->getMessage().PHP_EOL;
			}
		}
	}
}
?>
--EXPECT--
Invalid parameter value
Invalid parameter value
Invalid parameter value
Invalid parameter name
000.solr_server_compat.phpt000064400000001250150456304040011646 0ustar00--TEST--
Solr Server 4+ Compatibility Test
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
// force to timeout trying to resolve
$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query_response = $client->system();
$solrVersion = $query_response->getResponse()->lucene['solr-spec-version'];

$match = preg_match('#([0-9]+)\.[0-9]+\.[0-9]+#', $solrVersion, $matches);

var_dump($matches[1] >=4 );
?>
--EXPECTF--
bool(true)020.solrdocument_adding_fields.phpt000064400000002754150456304040013324 0ustar00--TEST--
SolrDocument - checking dimension and magic property sets.
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

print_r($doc->toArray());

?>
--EXPECT--
Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)
059.solrinputdocument_sort.phpt000064400000004221150456304040012622 0ustar00--TEST--
SolrInputDocument::sort - Sort Document fields
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrInputDocument();


$doc->addField('z1', 'z1val', 1);
$doc->addField('z1', 'z1val2');
$doc->addField('z1', 'z1val3');

$doc->addField('id', 334455, 2);
$doc->addField('cat', 'Software', 3);
$doc->addField('cat', 'Lucene');

printf("---------------- %s --------------------\n", 'unsorted');
print_r($doc->getFieldNames());

printf("---------------- %s --------------------\n", 'field ASC');
$doc->sort(SolrDocument::SORT_FIELD_NAME, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'field DESC');
$doc->sort(SolrDocument::SORT_FIELD_NAME, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'boost ASC');
$doc->sort(SolrDocument::SORT_FIELD_BOOST_VALUE, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'boost DESC');
$doc->sort(SolrDocument::SORT_FIELD_BOOST_VALUE, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());

printf("---------------- %s --------------------\n", 'value ASC');
$doc->sort(SolrDocument::SORT_FIELD_VALUE_COUNT, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'value DESC');
$doc->sort(SolrDocument::SORT_FIELD_VALUE_COUNT, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());
?>
--EXPECT--
---------------- unsorted --------------------
Array
(
    [0] => z1
    [1] => id
    [2] => cat
)
---------------- field ASC --------------------
Array
(
    [0] => cat
    [1] => id
    [2] => z1
)
---------------- field DESC --------------------
Array
(
    [0] => z1
    [1] => id
    [2] => cat
)
---------------- boost ASC --------------------
Array
(
    [0] => z1
    [1] => id
    [2] => cat
)
---------------- boost DESC --------------------
Array
(
    [0] => cat
    [1] => id
    [2] => z1
)
---------------- value ASC --------------------
Array
(
    [0] => id
    [1] => cat
    [2] => z1
)
---------------- value DESC --------------------
Array
(
    [0] => z1
    [1] => cat
    [2] => id
)
002.solrclient_addDocuments.phpt000064400000001753150456304040012620 0ustar00--TEST--
SolrClient::addDocuments() - sending multiple documents to the Solr server
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = new SolrInputDocument();

$doc2->addField('id', 12345);
$doc->addField('cat', 'Category1');
$doc->addField('cat', 'Category2');

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs);
$client->commit();
print_r($updateResponse->getResponse());

?>
--EXPECTF--
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => %d
        )

)
022.solrdocument_getInputDocument.phpt000064400000000754150456304040014046 0ustar00--TEST--
SolrDocument::getInputDocument() - creating SolrInputDocument from SolrDocument
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';


$input_doc = $doc->getInputDocument();

var_dump(get_class($input_doc));

?>
--EXPECT--
string(17) "SolrInputDocument"
bootstrap.inc000064400000000776150456304040007267 0ustar00<?php

require_once "test.config.inc";

function separator($label) {
	echo str_pad(' '.$label.' ', 80, '=', STR_PAD_BOTH) . PHP_EOL;
}

function print_exception(SolrException $e) {
	echo sprintf("%s %d: %s", get_class($e), $e->getCode(), $e->getMessage()). PHP_EOL;
}

/**
 * Prints a test case title
 * 
 * @param int $case_id
 * @param string $title
 */
function case_title(int $case_id, string $title) {
	$caseTemplate = PHP_EOL . "case #%d: %s" . PHP_EOL;
	echo sprintf($caseTemplate, $case_id, $title);
}
203.solrquery_strict_types.phpt000064400000002156150456304040012632 0ustar00--TEST--
SolrQuery - Strict type parameters without BC break
--FILE--
<?php declare(strict_types=1);

$query = new SolrQuery('lucene');

$query->setStart(1);
$query->setRows(2);
$query->setTimeAllowed(300);
$query->setGroupOffset(1);
$query->setExpandRows(1);

echo $query . "\n";

// Now with strings
$query = new SolrQuery('lucene');
$query->setStart('1anystring'); // we don't do any checking
$query->setRows('2');
$query->setTimeAllowed('300');
$query->setGroupOffset('1');
$query->setExpandRows('1');

echo $query . "\n";

try { $query->setStart(true); } catch (SolrIllegalArgumentException $e) { echo $e->getMessage() . "\n"; }

$collapse = new SolrCollapseFunction();
$collapse->setSize(1);

echo $collapse . "\n";

$d = new SolrDisMaxQuery('lucene');
$d->setPhraseSlop(2);
$d->setQueryPhraseSlop(3);
$d->setBigramPhraseSlop(4);
$d->setTrigramPhraseSlop(5);

echo $d . "\n";

--EXPECT--
q=lucene&start=1&rows=2&timeAllowed=300&group.offset=1&expand.rows=1
q=lucene&start=1anystring&rows=2&timeAllowed=300&group.offset=1&expand.rows=1
Argument 1 must be an int
{!collapse size=1}
q=lucene&defType=edismax&ps=2&qs=3&ps2=4&ps3=5

194.solrparams_getpreparedparams.phpt000064400000000573150456304040013734 0ustar00--TEST--
SolrParams::getPreparedParams()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->set('q', 'lucene')
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

var_dump($params->getPreparedParams());
?>
--EXPECT--
array(2) {
  ["q"]=>
  string(8) "q=lucene"
  ["fq"]=>
  string(50) "fq=popularity%3A%5B10%20TO%20%2A%5D&fq=section%3A0"
}
007.solrclient_deleteById.phpt000064400000001246150456304050012223 0ustar00--TEST--
SolrClient::deleteById() - Testing deleting a document by ID
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->deleteById('334457');
$client->commit();
print_r($response->getResponse());
?>
--EXPECTF--
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)
112.solrdismaxquery_query_parser.phpt000064400000000561150456304050014023 0ustar00--TEST--
SolrDisMaxQuery - QueryParser Switch
--FILE--
<?php
$dismaxQuery = new SolrDisMaxQuery("hard drive");
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->useDisMaxQueryParser();
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->useEDisMaxQueryParser();
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=hard drive&defType=edismax
q=hard drive&defType=dismax
q=hard drive&defType=edismax090.solrserverexception_xml.phpt000064400000001514150456304050012760 0ustar00--TEST--
SolrServerException (xml) - Throw Exception on solr server exception using xml response writer
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
// 		'wt' => 'xml'
);

$client = new SolrClient ( $options );
$query = new SolrQuery ( "lucene\\" );
try {
	$response = $client->query ( $query );
} catch ( SolrServerException $e ) {
	echo sprintf("code: %d", $e->getCode()).PHP_EOL;
	echo sprintf("message: %s", $e->getMessage()).PHP_EOL;
	print_r($e->getInternalInfo());
}

?>
--EXPECTF--
code: %d
message: %s
Array
(
    [sourceline] => %d
    [sourcefile] => %s
    [zif_name] => %s
)
000.solrclient_ping.phpt000064400000001102150456304050011126 0ustar00--TEST--
SolrClient::ping() - Ping Solr Server
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$pingResponse = $client->ping();

echo $pingResponse->getRawResponse();
?>
--EXPECT--
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0115.solrdismaxquery_userfields.phpt000064400000001203150456304050013444 0ustar00--TEST--
SolrDisMaxQuery - UserFields (uf parameter) (addUserField)
--FILE--
<?php
$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt')
;
echo $dismaxQuery.PHP_EOL;
// // reverse
$dismaxQuery
->removeUserField('text');
echo $dismaxQuery.PHP_EOL;

$dismaxQuery->setUserFields('field1 field2 *_txt');
echo $dismaxQuery.PHP_EOL;

?>
--EXPECTF--
q=lucene&defType=%s&uf=cat text *_dt
q=lucene&defType=%s&uf=cat *_dt

Notice: SolrDisMaxQuery::setUserFields(): Parameter uf value(s) was overwritten by this call in %s on line %d
q=lucene&defType=edismax&uf=field1 field2 *_txtbug_70496.phpt000064400000001640150456304050006772 0ustar00--TEST--
Solr Bug #70496 - Failed to parse 500 error response when Solr it lacks msg PHPS RW
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";
$options = array
(
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login'    => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port'     => SOLR_SERVER_PORT,
		'path'	   => SOLR_SERVER_PATH,
		'wt'	   => 'phps'
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('manu_id_s');

$func->setMax('sum(cscore(),field(manu_id_s))');
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);
try {
	$queryResponse = $client->query($query);
} catch (SolrServerException $e) {
	printf("Exception code %d", $e->getCode());
	assert(strlen($e->getMessage()) > 0, 'Exception message is empty');
}

?>

OK
--EXPECTF--
Exception code 500
OK065.solrquery_MoreLikeThis.phpt000064400000003464150456304050012447 0ustar00--TEST--
SolrQuery - testing MoreLikeThis component
--FILE--
<?php

$query = new SolrQuery();

ob_start();

var_dump(
	$query->getMlt(),
	$query->getMltCount(),
	$query->getMltFields(),
	$query->getMltQueryFields(),
	$query->getMltMinTermFrequency(),
	$query->getMltMinDocFrequency(),
	$query->getMltMinWordLength(),
	$query->getMltMaxWordLength(),
	$query->getMltMaxNumTokens(),
	$query->getMltMaxNumQueryTerms(),
	$query->getMltBoost()
);
$nullOutput = ob_get_clean();

$query->setMlt(1);

$query->setMltCount(55)->setMltCount(90);

$query->addMltField('june')->addMltField('joshua')->addMltField('mom')->removeMltField('joshua');

$query->addMltQueryField('june', 0.0)->addMltQueryField('israel', 9.558)
	->addMltQueryField('removeme', 0.0)
	->removeMltQueryField('removeme')
;

$query->setMltMinTermFrequency(9);

$query->setMltMinDocFrequency(5);

$query->setMltMinWordLength(8);

$query->setMltMaxWordLength(99);

$query->setMltMaxNumTokens(6);

$query->setMltMaxNumQueryTerms(2);

$query->setMltBoost(true);

echo $query . PHP_EOL . PHP_EOL;

var_dump(
	$query->getMlt(),
	$query->getMltCount(),
	$query->getMltFields(),
	$query->getMltQueryFields(),
	$query->getMltMinTermFrequency(),
	$query->getMltMinDocFrequency(),
	$query->getMltMinWordLength(),
	$query->getMltMaxWordLength(),
	$query->getMltMaxNumTokens(),
	$query->getMltMaxNumQueryTerms(),
	$query->getMltBoost()
);

echo $nullOutput;

?>
--EXPECTF--
mlt=true&mlt.count=90&mlt.fl=june,mom&mlt.qf=june^0 israel^9.558&mlt.mintf=9&mlt.mindf=5&mlt.minwl=8&mlt.maxwl=99&mlt.maxntp=6&mlt.maxqt=2&mlt.boost=true

bool(true)
int(90)
array(2) {
  [0]=>
  string(4) "june"
  [1]=>
  string(3) "mom"
}
array(2) {
  [0]=>
  string(6) "june^0"
  [1]=>
  string(12) "israel^9.558"
}
int(9)
int(5)
int(8)
int(99)
int(6)
int(2)
bool(true)
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL016.solrclient_request.phpt000064400000001762150456304050011704 0ustar00--TEST--
SolrClient::Request() - Sending custom update request
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$rawAtomicUpdateRequest = <<<REQ
<?xml version="1.0" encoding="UTF-8"?>
<add>
  <doc>
    <field name="id">IW-02</field>
    <field name="weight" update="inc">1</field>
    <field name="features" update="add">New Atomic Update Feature</field>
    <field name="inStock" update="set">true</field>
  </doc>
</add>
REQ;

$response = $client->request($rawAtomicUpdateRequest)->getResponse();
$client->commit();

print_r($response);
?>
--EXPECTF--

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => %d
            [QTime] => %d
        )

)000.solr_int_arg_strict.phpt000064400000002617150456304050012021 0ustar00--TEST--
Solr - Accept int (strict mode)
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
declare(strict_types=1);
require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);
$client = new SolrClient($options);

case_title(1, 'No arguments passed');
$updateResponse = $client->optimize();
print $updateResponse->getRawRequest();

case_title(2, 'int argument passed');
$updateResponse = $client->optimize(4, true, false);
print $updateResponse->getRawRequest();

case_title(3, 'string argument passed');
try {
	$updateResponse = $client->optimize('5', true, false);
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage() . PHP_EOL;
}

case_title(4, 'object argument passed');
try {
	$updateResponse = $client->optimize(new StdClass());
} catch (SolrIllegalArgumentException $e) {
	echo $e->getMessage() . PHP_EOL;
}
?>
--EXPECTF--

case #1: No arguments passed
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="1" softCommit="false" waitSearcher="true"/>

case #2: int argument passed
<?xml version="1.0" encoding="UTF-8"?>
<optimize maxSegments="4" softCommit="true" waitSearcher="false"/>

case #3: string argument passed

case #4: object argument passed
maxSegments must be of type int.023.solrdocument_merge_no_overwrite.phpt000064400000003040150456304050014442 0ustar00--TEST--
SolrDocument::merge() - merging source document into current document without overwrite
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat   = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, false);

print_r($second_doc->toArray());


?>
--EXPECT--
Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Lucene Search
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)
109.solrresponse_success.phpt000064400000001111150456304060012234 0ustar00--TEST--
SolrResponse::success() - Was the request successful
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query_response = $client->query($query);

var_dump($query_response->success());
?>
--EXPECTF--
bool(true)198.solrparams_clone.phpt000064400000000774150456304060011337 0ustar00--TEST--
SolrParams - clone [exception]
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->setParam('q', 'lucene')
	->setParam('start', 0)
	->setParam('rows', 10)
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

try {
	$params2 = clone $params;
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
}

?>
--EXPECTF--
Exception 4001: Cloning of SolrParams object instances is currently not supported
008.solrclient_commit.phpt000064400000001536150456304060011505 0ustar00--TEST--
SolrClient::commit() - Testing commit
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$updateResponse = $client->commit();
print $updateResponse->getRawRequest();
$updateResponse = $client->commit(true,false,true);
print $updateResponse->getRawRequest();

$updateResponse = $client->commit(true,false,true);
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<commit softCommit="false" waitSearcher="true" expungeDeletes="false"/>
<?xml version="1.0" encoding="UTF-8"?>
<commit softCommit="true" waitSearcher="false" expungeDeletes="true"/>195.solrparams_tostring.phpt000064400000000716150456304060012101 0ustar00--TEST--
SolrParams::toString()
--FILE--
<?php

$params = new SolrModifiableParams();

$params
	->setParam('q', 'lucene')
	->setParam('start', 0)
	->setParam('rows', 10)
	->addParam('fq', 'popularity:[10 TO *]')
	->addParam('fq', 'section:0')
;

echo $params->toString().PHP_EOL;
echo $params->toString(true);
?>
--EXPECTF--
q=lucene&start=0&rows=10&fq=popularity:[10 TO *]&fq=section:0
q=lucene&start=0&rows=10&fq=popularity%3A%5B10%20TO%20%2A%5D&fq=section%3A0091.solrserverexception_json.phpt000064400000001365150456304060013137 0ustar00--TEST--
SolrServerException (json) - Throw Exception on solr server exception using json response writer
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php
require_once "bootstrap.inc";

$options = array (
		'hostname' => SOLR_SERVER_HOSTNAME,
		'login' => SOLR_SERVER_USERNAME,
		'password' => SOLR_SERVER_PASSWORD,
		'port' => SOLR_SERVER_PORT,
		'path' => SOLR_SERVER_PATH,
		'wt' => 'json'
);

$client = new SolrClient ( $options );
$query = new SolrQuery ( "lucene\\" );
try {
	$response = $client->query ( $query );
	print_r ( $response );
} catch ( SolrServerException $e ) {
	echo sprintf("code: %d", $e->getCode()).PHP_EOL;
	echo sprintf("message: %s", $e->getMessage()).PHP_EOL;
}

?>
--EXPECTF--
code: %d
message: %s107.solrresponse_getrawresponseheaders.phpt000064400000001775150456304060015206 0ustar00--TEST--
SolrResponse::getRawResponseHeaders() - Get Raw Response Headers
--SKIPIF--
<?php
include 'skip.if.server_not_configured.inc';
?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
	'path'	   => SOLR_SERVER_PATH,
);


$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$headers = $query_response->getRawResponseHeaders();

$filteredHeaders = implode(
	"\n",
    array_filter(
        explode("\r\n", $headers),
        function($header) {
            return strpos($header, 'HTTP') === 0 || strpos($header, 'Content-Type') === 0;
        }
    )
);

print_r($filteredHeaders);

?>
--EXPECTF--
HTTP/%s 200 OK
Content-Type: %s
180.solrdocumentfield_construct.phpt000064400000000347150456304060013605 0ustar00--TEST--
SolrDocumentField::__construct
--FILE--
<?php

require_once "bootstrap.inc";
$field = new SolrDocumentField();

print_r($field);
?>
--EXPECT--
SolrDocumentField Object
(
    [name] =>  
    [boost] => 0
    [values] => 
)
029.solrdocument_serialize.phpt000064400000002047150456304060012545 0ustar00--TEST--
SolrDocument - clone
--SKIPIF--
<?php if (PHP_VERSION_ID >= 80100) die("skip PHP < 8.1 only"); ?>
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);

$doc =$response->response->docs[1];

$serializedString = serialize($doc);
print_r($serializedString);
echo PHP_EOL;
print_r(unserialize($serializedString)->toArray());
?>
--EXPECT--
C:12:"SolrDocument":172:{<?xml version="1.0" encoding="UTF-8"?>
<solr_document>
  <fields>
    <field name="id">
      <field_value>parent_2</field_value>
    </field>
  </fields>
</solr_document>
}
Array
(
    [document_boost] => 0
    [field_count] => 1
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => parent_2
                        )

                )

        )

)
033.solrdocument_sort.phpt000064400000003044150456304060011536 0ustar00--TEST--
SolrDocument::sort - Sort Document fields
--FILE--
<?php

require_once "bootstrap.inc";
$doc = new SolrDocument();


$doc->addField('z1', 'z1val');
$doc->addField('z1', 'z1val2');
$doc->addField('z1', 'z1val3');

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

separator('unsorted');
print_r($doc->getFieldNames());

separator('field ASC');
$doc->sort(SolrDocument::SORT_FIELD_NAME, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
separator('field DESC');
$doc->sort(SolrDocument::SORT_FIELD_NAME, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());

separator('value ASC');
$doc->sort(SolrDocument::SORT_FIELD_VALUE_COUNT, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
separator('value DESC');
$doc->sort(SolrDocument::SORT_FIELD_VALUE_COUNT, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());
?>
--EXPECT--
=================================== unsorted ===================================
Array
(
    [0] => z1
    [1] => id
    [2] => cat
)
================================== field ASC ===================================
Array
(
    [0] => cat
    [1] => id
    [2] => z1
)
================================== field DESC ==================================
Array
(
    [0] => z1
    [1] => id
    [2] => cat
)
================================== value ASC ===================================
Array
(
    [0] => id
    [1] => cat
    [2] => z1
)
================================== value DESC ==================================
Array
(
    [0] => z1
    [1] => cat
    [2] => id
)
201.solrextractrequest_serialize.phpt000064400000000654150456304060014004 0ustar00--TEST--
SolrExtractRequest - serialize [exception]
--FILE--
<?php

$params = new SolrModifiableParams();

$request = SolrExtractRequest::createFromFile('test', $params);

try {
	var_dump(serialize($request));
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
}
?>
--EXPECTF--
Exception 4001: SolrExtractRequest objects cannot be serialized or unserialized
041.solrobject_illegal_operation.phpt000064400000003437150456304060013675 0ustar00--TEST--
SolrObject - checking illegal operation of modifying object
--FILE--
<?php

$solrObject = new SolrObject();

try
{
   @$solrObject->email = "iekpo@php.net";
} catch (Exception $e) {
    var_dump($e->getCode());
    var_dump($e->getMessage());
}

try {
	$solrObject['usingOffset'] = 'test';
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

try {
	$solrObject['newprop2_dimension_access'] = 'test';
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

// unset
try {
	unset($solrObject->responseHeader);
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

try {
	unset($solrObject['responseHeader']);
} catch (SolrIllegalOperationException $e) {
	echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}

?>
--EXPECTF--
int(1006)
string(83) "SolrObject instances are read-only. Properties cannot be added, updated or removed."

Warning: main(): Attempting to set value for [usingOffset] property in a SolrObject instance in %s on line %d
Exception 1006: SolrObject instances are read-only. Properties cannot be added, updated or removed.

Warning: main(): Attempting to set value for [newprop2_dimension_access] property in a SolrObject instance in %s on line %d
Exception 1006: SolrObject instances are read-only. Properties cannot be added, updated or removed.
Exception 1006: SolrObject instances are read-only. Properties cannot be added, updated or removed.

Warning: main(): Attempting to remove [responseHeader] property in a SolrObject instance in %s on line %d
Exception 1006: SolrObject instances are read-only. Properties cannot be added, updated or removed.
059.solrinputdocument_fieldexists.phpt000064400000000404150456304060014157 0ustar00--TEST--
SolrInputDocument::fieldExists
--FILE--
<?php

require_once "bootstrap.inc";

$doc = new SolrInputDocument();
$doc->addField('id', 1123);

var_dump($doc->fieldExists('id'));
var_dump($doc->fieldExists('features'));
?>
--EXPECT--
bool(true)
bool(false)025.solrdocument_haschilddocuments.phpt000064400000000514150456304060014250 0ustar00--TEST--
SolrDocument::hasChildDocuments() - Method test
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);
var_dump($response->response->docs[0]->hasChildDocuments());
?>
--EXPECT--
bool(true)031.solrdocument_clear.phpt000064400000000636150456304060011637 0ustar00--TEST--
SolrDocument::clear - Remove all fields from the document
--FILE--
<?php

require_once "bootstrap.inc";

$fixtureXml = file_get_contents(EXAMPLE_RESPONSE_XML_2);

$response = SolrUtils::digestXmlResponse($fixtureXml, SolrResponse::PARSE_SOLR_DOC);


$doc = new SolrDocument();

$doc->check = 1;

var_dump($doc->getFieldCount());
$doc->clear();
var_dump($doc->getFieldCount());
?>
--EXPECTF--
int(1)
int(0)019.solrclient_getdebug.phpt000064400000002602150456304060012000 0ustar00--TEST--
SolrClient::getDebug() - Get request debug logs for the last request
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php

require_once "bootstrap.inc";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
    'path'	   => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$response = $client->ping();

$debug = $client->getDebug();

$lines = explode("\n",$debug);
$print = false;
sort($lines);
foreach ( $lines as $line) {
	if ($line == '<?xml version="1.0" encoding="UTF-8"?>' ||
		FALSE !== strpos($line, 'Trying') ||
		0 === strpos($line, 'Mark bundle') ||
		0 === strpos($line, 'Server') ||
		0 === strpos($line, 'Hostname') ||
		0 === strpos($line, 'TCP_NODELAY') || 
		0 === strpos($line, 'Accept-Encoding') ||
		0 === strpos($line, 'Curl_http_done') ||
		0 === strpos($line, 'processing:')
		) {
		$print = false;
	} else {
		$print = true;
	}

	if ($print) {
		echo $line . "\n";
	}
}
?>
--EXPECTF--
Accept-Charset: utf-8
Accept: */*
Authorization: Basic %s
Connected to %s
Connection #0 to host %s left intact
Connection: keep-alive
Content-Length: 0
Content-Type: application/xml; charset=UTF-8
HEAD /solr/collection1/admin/ping/?version=2.2&indent=on&wt=xml HTTP/1.1
HTTP/1.1 200 OK
Host: %s:%s
Keep-Alive: 300
User-Agent: %s
imap_close_basic.phpt000064400000002757150456614050010736 0ustar00--TEST--
Test imap_close() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_close() : basic functionality ***\n";

// include file for required variables in imap_open()
require_once(__DIR__.'/setup/imap_include.inc');

// Initialize required variables
$stream_id = setup_test_mailbox('imapclosebasic', 3, $mailbox); // set up temp mailbox with 3 messages
$options = CL_EXPUNGE;

// mark messages in inbox for deletion
for ($i = 1; $i < 4; $i++) {
    imap_delete($stream_id, $i);
}

// Calling imap_close() with all possible arguments
echo "\n-- Call to imap_close() with all possible arguments --\n";
var_dump( imap_close($stream_id, $options) );

// check that CL_EXPUNGE worked
$stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);
echo "There are now " . imap_num_msg($stream_id) . " msgs in mailbox '$mailbox'\n";

// Calling imap_close() with mandatory arguments
echo "\n-- Call to imap_close() with mandatory arguments --\n";
var_dump( imap_close($stream_id) );
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapclosebasic';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_close() : basic functionality ***
Create a temporary mailbox and add 3 msgs
New mailbox created

-- Call to imap_close() with all possible arguments --
bool(true)
There are now 0 msgs in mailbox '%sINBOX.phpttestimapclosebasic'

-- Call to imap_close() with mandatory arguments --
bool(true)
gh9309.phpt000064400000001133150456614050006370 0ustar00--TEST--
Bug GH-9309 (Segfault when connection is used after imap_close())
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('gh9309', 0, $mailbox);
imap_close($stream_id);
try {
    imap_headers($stream_id);
} catch (ValueError $ex) {
    echo $ex->getMessage(), PHP_EOL;
}
?>
--CLEAN--
<?php
$mailbox_suffix = 'gh9309';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 0 msgs
New mailbox created
IMAP\Connection is already closed
imap_savebody_uid.phpt000064400000001654150456614050011140 0ustar00--TEST--
imap_savebody() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapsavebodyuid", $msg_no, $uid);

$section = '';

$stream_uid = fopen('php://memory', 'w+');
imap_savebody($imap_mail_box, $stream_uid, $uid, $section, FT_UID);

$stream_msg_no = fopen('php://memory', 'w+');
imap_savebody($imap_mail_box, $stream_msg_no, $msg_no, $section);

// Compare what was written.
rewind($stream_uid);
rewind($stream_msg_no);
var_dump(stream_get_contents($stream_uid) === stream_get_contents($stream_msg_no));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapsavebodyuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
imap_fetch_overview_variation5.phpt000064400000004274150456614050013644 0ustar00--TEST--
Test imap_fetch_overview() function : usage variations - $msg_no argument
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
/*
 * Pass different sequences/msg numbers as $msg_no argument to test behaviour
 * of imap_fetch_overview()
 */

echo "*** Testing imap_fetch_overview() : usage variations ***\n";
require_once __DIR__.'/setup/imap_include.inc';

$stream_id = setup_test_mailbox('imapfetchoverviewvar5', 3, $mailbox, false); // set up temp mailbox with 3 msgs

$sequences = [
    0,
    4, // out of range
    '4', // out of range
    '2',
    '1,3',
    '1, 2',
    '1:3', // pass uid without setting FT_UID option
];

foreach ($sequences as $msg_no) {
    echo "\n-- \$msg_no is $msg_no --\n";
    $overview = imap_fetch_overview($stream_id, $msg_no);
    if (!$overview) {
        echo imap_last_error() . "\n";
    } else {
        foreach($overview as $ov) {
            echo "\n";
            displayOverviewFields($ov);
        }
    }
}

// clear error stack
imap_errors();
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchoverviewvar5';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_fetch_overview() : usage variations ***
Create a temporary mailbox and add 3 msgs
New mailbox created

-- $msg_no is 0 --
Sequence out of range

-- $msg_no is 4 --
Sequence out of range

-- $msg_no is 4 --
Sequence out of range

-- $msg_no is 2 --

size is %d
uid is %d
msgno is 2
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

-- $msg_no is 1,3 --

size is %d
uid is %d
msgno is 1
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

size is %d
uid is %d
msgno is 3
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

-- $msg_no is 1, 2 --
Syntax error in sequence

-- $msg_no is 1:3 --

size is %d
uid is %d
msgno is 1
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

size is %d
uid is %d
msgno is 2
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

size is %d
uid is %d
msgno is 3
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK
bug75774.phpt000064400000000612150456614050006641 0ustar00--TEST--
Bug #75774 imap_append HeapCorruction
--EXTENSIONS--
imap
--FILE--
<?php

$fn = __DIR__ . DIRECTORY_SEPARATOR . "foo75774";
$var1 = fopen($fn, "w");

try {
    imap_append($var1, "", "", "", "");
} catch (\TypeError $e) {
    echo $e->getMessage() . "\n";
}

fclose($var1);
unlink($fn);

?>
--EXPECT--
imap_append(): Argument #1 ($imap) must be of type IMAP\Connection, resource given
imap_body_errors.phpt000064400000002162150456614050011007 0ustar00--TEST--
imap_body() errors: ValueError and Warnings
--CREDITS--
Paul Sohier
#phptestfest utrecht
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapbodyerror", 0);

try {
    imap_body($imap_mail_box, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}
try {
    imap_body($imap_mail_box, 1, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

// Access not existing
var_dump(imap_body($imap_mail_box, 255));
var_dump(imap_body($imap_mail_box, 255, FT_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapbodyerror';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 0 msgs
New mailbox created
imap_body(): Argument #2 ($message_num) must be greater than 0
imap_body(): Argument #3 ($flags) must be a bitmask of FT_UID, FT_PEEK, and FT_INTERNAL

Warning: imap_body(): Bad message number in %s on line %d
bool(false)

Warning: imap_body(): UID does not exist in %s on line %d
bool(false)
imap_body_uid.phpt000064400000001153150456614050010253 0ustar00--TEST--
imap_body() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapbodyuid", $msg_no, $uid);

var_dump(imap_body($imap_mail_box, $uid, FT_UID) === imap_body($imap_mail_box, $msg_no));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapbodyuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
imap_clearflag_full_uid.phpt000064400000003445150456614050012266 0ustar00--TEST--
imap_clearflag_full() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapclearflagfulluid");

/* This works on the assumption that UID message 3 to 6 inclusive are deleted. */

imap_setflag_full($imap_mail_box, '2,8,9', '\Answered', ST_UID);
imap_setflag_full($imap_mail_box, '7,10', '\Deleted', ST_UID);
imap_setflag_full($imap_mail_box, '7:9', '\Flagged', ST_UID);

// Testing individual entry
imap_clearflag_full($imap_mail_box, '10', '\Deleted', ST_UID);
// Testing multiple entries entry
imap_clearflag_full($imap_mail_box, '2,9', '\Answered', ST_UID);
// Testing entry range
imap_clearflag_full($imap_mail_box, '7:8', '\Flagged', ST_UID);


echo 'ALL: ';
var_dump(imap_search($imap_mail_box, 'ALL'));
echo 'ALL (with UID correspondance): ';
var_dump(imap_search($imap_mail_box, 'ALL', SE_UID));
echo 'ANSWERED: ';
var_dump(imap_search($imap_mail_box, 'ANSWERED'));
echo 'DELETED: ';
var_dump(imap_search($imap_mail_box, 'DELETED'));
echo 'FLAGGED: ';
var_dump(imap_search($imap_mail_box, 'FLAGGED'));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapclearflagfulluid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
ALL: array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
ALL (with UID correspondance): array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(7)
  [3]=>
  int(8)
  [4]=>
  int(9)
  [5]=>
  int(10)
}
ANSWERED: array(1) {
  [0]=>
  int(4)
}
DELETED: array(1) {
  [0]=>
  int(3)
}
FLAGGED: array(1) {
  [0]=>
  int(5)
}
bug80215.phpt000064400000002004150456614050006620 0ustar00--TEST--
Bug #80215 (imap_mail_compose() may modify by-val parameters)
--EXTENSIONS--
imap
--FILE--
<?php
$envelope = [
    "from" => 1,
    "to" => 2,
    "custom_headers" => [3],
];
$body = [[
    "contents.data" => 4,
    "type.parameters" => ['foo' => 5],
    "disposition" => ['bar' => 6],
], [
    "contents.data" => 7,
    "type.parameters" => ['foo' => 8],
    "disposition" => ['bar' => 9],
]];
imap_mail_compose($envelope, $body);
var_dump($envelope, $body);
?>
--EXPECT--
array(3) {
  ["from"]=>
  int(1)
  ["to"]=>
  int(2)
  ["custom_headers"]=>
  array(1) {
    [0]=>
    int(3)
  }
}
array(2) {
  [0]=>
  array(3) {
    ["contents.data"]=>
    int(4)
    ["type.parameters"]=>
    array(1) {
      ["foo"]=>
      int(5)
    }
    ["disposition"]=>
    array(1) {
      ["bar"]=>
      int(6)
    }
  }
  [1]=>
  array(3) {
    ["contents.data"]=>
    int(7)
    ["type.parameters"]=>
    array(1) {
      ["foo"]=>
      int(8)
    }
    ["disposition"]=>
    array(1) {
      ["bar"]=>
      int(9)
    }
  }
}
imap_final.phpt000064400000000334150456614050007546 0ustar00--TEST--
Check that IMAP\Connection is declared final
--EXTENSIONS--
imap
--FILE--
<?php

class T extends IMAP\Connection {}
?>
--EXPECTF--
Fatal error: Class T cannot extend final class IMAP\Connection in %s on line %d
imap_fetch_overview_variation6.phpt000064400000005147150456614050013645 0ustar00--TEST--
Test imap_fetch_overview() function : usage variations - multipart message
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
/*
 * Pass a multipart message to imap_fetch_overview() to test the contents of returned array
 */

echo "*** Testing imap_fetch_overview() : usage variations ***\n";

require_once __DIR__.'/setup/imap_include.inc';

$stream_id = setup_test_mailbox('imapfetchoverviewvar6', 0, $mailbox); // setup temp mailbox
create_multipart_message($stream_id, $mailbox);

// refresh msg numbers
imap_check($stream_id);
$msg_no = 1;

$a = imap_fetch_overview($stream_id, $msg_no);
echo "\n--> Object #1\n";
displayOverviewFields($a[0]);




/**
 * Create a multipart message with subparts
 *
 * @param resource $imap_stream
 * @param string $mailbox
 */
function create_multipart_message($imap_stream, $mailbox) {
    global $users, $domain;
    $envelope["from"]= "foo@anywhere.com";
    $envelope["to"]  = IMAP_USERS[0] . '@' . IMAP_MAIL_DOMAIN;
    $envelope["subject"] = "Test msg 1";

    $part1["type"] = TYPEMULTIPART;
    $part1["subtype"] = "mixed";

    $part2["type"] = TYPETEXT;
    $part2["subtype"] = "plain";
    $part2["description"] = "imap_mail_compose() function";
    $part2["contents.data"] = "message 1:xxxxxxxxxxxxxxxxxxxxxxxxxx";

    $part3["type"] = TYPETEXT;
    $part3["subtype"] = "plain";
    $part3["description"] = "Example";
    $part3["contents.data"] = "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy";

    $file_handle = fopen(__FILE__, 'r+');
    $file_size = 1;

    $part4["type"] = TYPEAPPLICATION;
    $part4["encoding"] = ENCBASE64;
    $part4["subtype"] = "octet-stream";
    $part4["description"] = 'Test';
    $part4['disposition.type'] = 'attachment';
    $part4['disposition'] = array ('filename' => 'Test');
    $part4['type.parameters'] = array('name' => 'Test');
    $part4["contents.data"] = base64_encode(fread($file_handle, 1));

    $body[1] = $part1;
    $body[2] = $part2;
    $body[3] = $part3;
    $body[4] = $part4;

    $msg = imap_mail_compose($envelope, $body);

    if (imap_append($imap_stream, $mailbox, $msg) === false) {
        echo imap_last_error() . "\n";
        echo "TEST FAILED : could not append new message to mailbox '$mailbox'\n";
        exit;
    }
}

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchoverviewvar6';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_fetch_overview() : usage variations ***
Create a temporary mailbox and add 0 msgs
New mailbox created

--> Object #1
size is %d
uid is %d
msgno is 1
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK
bug63126.phpt000064400000002650150456614060006632 0ustar00--TEST--
imap_open() DISABLE_AUTHENTICATOR ignores array param
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__. '/setup/imap_include.inc');

$in = @imap_open(IMAP_SERVER_DEBUG, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, OP_HALFOPEN, 1);
if (!$in) {
    die("skip could not connect to mailbox " . IMAP_SERVER_DEBUG);
}
$kerberos = false;
if (is_array($errors = imap_errors())) {
    foreach ($errors as $err) {
        if (strstr($err, 'GSSAPI') || strstr($err, 'Kerberos')) {
            $kerberos = true;
        }
    }
}
if (!$kerberos) {
    die("skip need a GSSAPI/Kerberos aware server");
}
?>
--CONFLICTS--
defaultmailbox
--FILE--
<?php
// TODO Test Kerberos on CI
$tests = array(
    'Array'  => array('DISABLE_AUTHENTICATOR' => array('GSSAPI','NTLM')),
    'String' => array('DISABLE_AUTHENTICATOR' => 'GSSAPI'),
);
require_once(__DIR__. '/setup/imap_include.inc');
foreach ($tests as $name => $testparams) {
    echo "Test for $name\n";
    $in = imap_open(IMAP_SERVER_DEBUG, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, OP_HALFOPEN, 1, $testparams);
    if ($in) {
        if (is_array($errors = imap_errors())) {
            foreach ($errors as $err) {
                if (strstr($err, 'GSSAPI') || strstr($err, 'Kerberos')) {
                    echo "$err\n";
                }
            }
        }
    } else {
        echo "Can't connect\n";
    }
}
echo "Done\n";
?>
--EXPECT--
Test for Array
Test for String
Done
imap_binary_basic.phpt000064400000003150150456614060011102 0ustar00--TEST--
Test imap_binary() function : basic functionality
--EXTENSIONS--
imap
--FILE--
<?php
echo "*** Testing imap_binary() : basic functionality ***\n";

echo "Encode as short string\n";
$str = 'This is an example string to be base 64 encoded';
$base64 = imap_binary($str);
var_dump(bin2hex($base64));

echo "Encode a string which results in more than 60 charters of output\n";
$str = 'This is a long string with results in more than 60 characters of output';
$base64 = imap_binary($str);
var_dump(bin2hex($base64));

echo "Encode a string with special characters\n";
$str = '_+-={][];;@~#?/>.<,';
$base64 = imap_binary($str);
var_dump(bin2hex($base64));

echo "Encode some hexadecimal data\n";
$hex = 'x00\x01\x02\x03\x04\x05\x06\xFA\xFB\xFC\xFD\xFE\xFF';
$base64 = imap_binary($hex);
var_dump(bin2hex($base64));

?>
--EXPECT--
*** Testing imap_binary() : basic functionality ***
Encode as short string
string(136) "5647687063794270637942686269426c654746746347786c49484e30636d6c755a794230627942695a53426959584e6c49445930494756755932396b0d0a5a57513d0d0a"
Encode a string which results in more than 60 charters of output
string(200) "56476870637942706379426849477876626d6367633352796157356e4948647064476767636d567a64577830637942706269427462334a6c4948526f0d0a595734674e6a416759326868636d466a64475679637942765a694276645852776458513d0d0a"
Encode a string with special characters
string(60) "5879737450587464573130374f30422b497a3876506934384c413d3d0d0a"
Encode some hexadecimal data
string(144) "65444177584867774d5678344d444a636544417a584867774e4678344d445663654441325848684751567834526b4a6365455a4458486847524678340d0a526b566365455a470d0a"
imap_fetchbody_uid.phpt000064400000001250150456614060011264 0ustar00--TEST--
imap_fetchbody() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapfetchbodyuid", $msg_no, $uid);

$section = '2';
var_dump(imap_fetchbody($imap_mail_box, $uid, $section, FT_UID) === imap_fetchbody($imap_mail_box, $msg_no, $section));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchbodyuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
imap_setflag_full_uid.phpt000064400000003603150456614060011770 0ustar00--TEST--
imap_setflag_full() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapsetflagfulluid");

/* This works on the assumption that UID message 3 to 6 inclusive are deleted. */

// Testing individual entry
imap_setflag_full($imap_mail_box, '8', '\Answered', ST_UID);

// Testing multiple entries entry
imap_setflag_full($imap_mail_box, '7,10', '\Deleted', ST_UID);

// Testing entry range
imap_setflag_full($imap_mail_box, '7:9', '\Flagged', ST_UID);

// Testing entry range invalid
var_dump(imap_setflag_full($imap_mail_box, '4:9', '\Seen', ST_UID));


echo 'ALL: ';
var_dump(imap_search($imap_mail_box, 'ALL'));
echo 'ALL (with UID correspondance): ';
var_dump(imap_search($imap_mail_box, 'ALL', SE_UID));
echo 'ANSWERED: ';
var_dump(imap_search($imap_mail_box, 'ANSWERED'));
echo 'DELETED: ';
var_dump(imap_search($imap_mail_box, 'DELETED'));
echo 'FLAGGED: ';
var_dump(imap_search($imap_mail_box, 'FLAGGED'));
echo 'SEEN: ';
var_dump(imap_search($imap_mail_box, 'SEEN'));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapsetflagfulluid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
ALL: array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
ALL (with UID correspondance): array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(7)
  [3]=>
  int(8)
  [4]=>
  int(9)
  [5]=>
  int(10)
}
ANSWERED: array(1) {
  [0]=>
  int(4)
}
DELETED: array(2) {
  [0]=>
  int(3)
  [1]=>
  int(6)
}
FLAGGED: array(3) {
  [0]=>
  int(3)
  [1]=>
  int(4)
  [2]=>
  int(5)
}
SEEN: array(3) {
  [0]=>
  int(3)
  [1]=>
  int(4)
  [2]=>
  int(5)
}
bug80226.phpt000064400000001040150456614060006622 0ustar00--TEST--
Bug #80226 (imap_sort() leaks sortpgm memory)
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
require_once(__DIR__.'/setup/imap_include.inc');

echo "Create a new mailbox for test\n";

$stream = setup_test_mailbox("bug80226", 0);
var_dump(imap_sort($stream, SORTFROM, 0));
?>
--CLEAN--
<?php
$mailbox_suffix = 'bug80226';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a new mailbox for test
Create a temporary mailbox and add 0 msgs
New mailbox created
array(0) {
}
imap_renamemailbox_basic.phpt000064400000001654150456614060012450 0ustar00--TEST--
imap_renamemailbox() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$stream_id = setup_test_mailbox('imaprenamemailbox1', 1);

$mailboxBaseName = IMAP_DEFAULT_MAILBOX . '.' . IMAP_MAILBOX_PHPT_PREFIX;

//commented because of bug #49901
//$ancError = error_reporting(0);
//$z = imap_renamemailbox($stream_id, $newbox.'not2', $newbox.'2');
//var_dump($z);
//error_reporting($ancError);
echo "Checking OK\n";

var_dump(imap_renamemailbox($stream_id, $mailboxBaseName . 'imaprenamemailbox1', $mailboxBaseName . 'imaprenamemailbox2'));

imap_close($stream_id);
?>
--CLEAN--
<?php
$mailbox_suffix = ['imaprenamemailbox1', 'imaprenamemailbox2'];
require_once('setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 1 msgs
New mailbox created
Checking OK
bool(true)
imap_setflag_full_basic.phpt000064400000002475150456614060012276 0ustar00--TEST--
imap_setflag_full() basic test
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapsetflagfullbasic", 10);

// Testing individual entry
imap_setflag_full($imap_mail_box, '1', '\Answered');

// Testing multiple entries entry
imap_setflag_full($imap_mail_box, '2,7', '\Deleted');

// Testing entry range
imap_setflag_full($imap_mail_box, '3:5', '\Flagged');

echo 'ALL: ';
var_dump(imap_search($imap_mail_box, 'ALL'));
echo 'ANSWERED: ';
var_dump(imap_search($imap_mail_box, 'ANSWERED'));
echo 'DELETED: ';
var_dump(imap_search($imap_mail_box, 'DELETED'));
echo 'FLAGGED: ';
var_dump(imap_search($imap_mail_box, 'FLAGGED'));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapsetflagfullbasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
ALL: array(10) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  [7]=>
  int(8)
  [8]=>
  int(9)
  [9]=>
  int(10)
}
ANSWERED: array(1) {
  [0]=>
  int(1)
}
DELETED: array(2) {
  [0]=>
  int(2)
  [1]=>
  int(7)
}
FLAGGED: array(3) {
  [0]=>
  int(3)
  [1]=>
  int(4)
  [2]=>
  int(5)
}
imap_lsub_basic.phpt000064400000002052150456614060010563 0ustar00--TEST--
imap_lsub() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
if (getenv("SKIP_ASAN")) die("xleak leak sanitizer crashes");
?>
--CONFLICTS--
defaultmailbox
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD) or
    die("Cannot connect to mailbox " .IMAP_DEFAULT_MAILBOX. ": " . imap_last_error());

var_dump(imap_lsub($stream_id, IMAP_DEFAULT_MAILBOX, 'ezDvfXvbvcxSerz'));


echo "Checking OK\n";

$newbox = IMAP_DEFAULT_MAILBOX . "." . IMAP_MAILBOX_PHPT_PREFIX;

imap_createmailbox($stream_id, $newbox);
imap_subscribe($stream_id, $newbox);

$z = imap_lsub($stream_id, IMAP_DEFAULT_MAILBOX, '*');

var_dump(is_array($z));

// e.g. "{127.0.0.1:143/norsh}INBOX.phpttest"
var_dump($z[0]);

imap_close($stream_id);
?>
--CLEAN--
<?php
$mailbox_suffix = '';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
bool(false)
Checking OK
bool(true)
string(%s) "{%s}%s"
bug77020.phpt000064400000000515150456614060006626 0ustar00--TEST--
Bug #77020 (null pointer dereference in imap_mail)
--EXTENSIONS--
imap
--INI--
sendmail_path="echo >/dev/null"
--FILE--
<?php
// For Windows, set it to a string of length HOST_NAME_LEN (256) so the mail is not actually sent
ini_set("SMTP", str_repeat("A", 256));

@imap_mail('1', 1, NULL);
echo 'done'
?>
--EXPECTF--
%Adone
imap_timeout_basic.phpt000064400000001746150456614060011315 0ustar00--TEST--
imap_timeout() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

echo "GET values:\n";
var_dump(imap_timeout(IMAP_OPENTIMEOUT));
var_dump(imap_timeout(IMAP_READTIMEOUT));
var_dump(imap_timeout(IMAP_WRITETIMEOUT));
var_dump(imap_timeout(IMAP_CLOSETIMEOUT));

echo "SET values:\n";
var_dump(imap_timeout(IMAP_OPENTIMEOUT, 10));
var_dump(imap_timeout(IMAP_READTIMEOUT, 10));
var_dump(imap_timeout(IMAP_WRITETIMEOUT, 10));

//IMAP_CLOSETIMEOUT not implemented
//var_dump(imap_timeout(IMAP_CLOSETIMEOUT, 10));

echo "CHECK values:\n";
var_dump(imap_timeout(IMAP_OPENTIMEOUT));
var_dump(imap_timeout(IMAP_READTIMEOUT));
var_dump(imap_timeout(IMAP_WRITETIMEOUT));

//IMAP_CLOSETIMEOUT not implemented
//var_dump(imap_timeout(IMAP_CLOSETIMEOUT));

?>
--EXPECTF--
GET values:
int(%d)
int(%d)
int(%d)
int(%d)
SET values:
bool(true)
bool(true)
bool(true)
CHECK values:
int(10)
int(10)
int(10)
imap_utf8.phpt000064400000000334150456614060007344 0ustar00--TEST--
imap_utf8() tests
--EXTENSIONS--
imap
--FILE--
<?php

var_dump(imap_utf8(""));
var_dump(imap_utf8(1));
var_dump(imap_utf8("test"));

echo "Done\n";
?>
--EXPECT--
string(0) ""
string(1) "1"
string(4) "test"
Done
imap_savebody_basic.phpt000064400000001524150456614060011435 0ustar00--TEST--
imap_savebody() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('imapsavebodybasic', 1);

$file = __DIR__.'/tmpsavebody.txt';

//with URL
$z = imap_savebody($stream_id, $file, 1);
var_dump($z);
echo "Size: ".filesize($file)."\n";

//With FOPEN
$fp = fopen($file, 'w');
$z = imap_savebody($stream_id, $fp, 1);
fclose($fp);
var_dump($z);
echo "Size: ".filesize($file)."\n";

imap_close($stream_id);
?>
--CLEAN--
<?php
@unlink(__DIR__.'/tmpsavebody.txt');
$mailbox_suffix = 'imapsavebodybasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 1 msgs
New mailbox created
bool(true)
Size: %d
bool(true)
Size: %d
imap_8bit_basic.phpt000064400000001424150456614060010466 0ustar00--TEST--
Test imap_8bit() function : basic functionality
--EXTENSIONS--
imap
--FILE--
<?php
echo "*** Testing imap_8bit() : basic functionality ***\n";

var_dump(imap_8bit("String with CRLF at end \r\n"));
//NB this appears to be a bug in cclient; a space at end of string should be encoded as =20
var_dump(imap_8bit("String with space at end "));
var_dump(imap_8bit("String with tabs \t\t in middle"));
var_dump(imap_8bit("String with tab at end \t"));
var_dump(imap_8bit("\x00\x01\x02\x03\x04\xfe\xff\x0a\x0d"));

?>
--EXPECT--
*** Testing imap_8bit() : basic functionality ***
string(28) "String with CRLF at end=20
"
string(25) "String with space at end "
string(33) "String with tabs =09=09 in middle"
string(26) "String with tab at end =09"
string(27) "=00=01=02=03=04=FE=FF=0A=0D"
bug46918.phpt000064400000002654150456614060006650 0ustar00--TEST--
Bug #46918 (imap_rfc822_parse_adrlist host part not filled in correctly)
--EXTENSIONS--
imap
--FILE--
<?php

$adds = 'ian eiloart <iane@example.ac.uk>,
      shuf6@example.ac.uk,
      blobby,
      "ian,eiloart"<ian@example.ac.uk>,
      <@example.com:foo@example.ac.uk>,
      foo@#,
      ian@-example.com,
      ian@one@two';
$add_arr = imap_rfc822_parse_adrlist($adds, 'example.com');
var_export($add_arr);

?>
--EXPECT--
array (
  0 => 
  (object) array(
     'mailbox' => 'iane',
     'host' => 'example.ac.uk',
     'personal' => 'ian eiloart',
  ),
  1 => 
  (object) array(
     'mailbox' => 'shuf6',
     'host' => 'example.ac.uk',
  ),
  2 => 
  (object) array(
     'mailbox' => 'blobby',
     'host' => 'example.com',
  ),
  3 => 
  (object) array(
     'mailbox' => 'ian',
     'host' => 'example.ac.uk',
     'personal' => 'ian,eiloart',
  ),
  4 => 
  (object) array(
     'mailbox' => 'foo',
     'host' => 'example.ac.uk',
     'adl' => '@example.com',
  ),
  5 => 
  (object) array(
     'mailbox' => 'foo',
     'host' => '#',
  ),
  6 => 
  (object) array(
     'mailbox' => 'ian',
     'host' => '-example.com',
  ),
  7 => 
  (object) array(
     'mailbox' => 'ian',
     'host' => 'one',
  ),
  8 => 
  (object) array(
     'mailbox' => 'UNEXPECTED_DATA_AFTER_ADDRESS',
     'host' => '.SYNTAX-ERROR.',
  ),
)
Notice: PHP Request Shutdown: Unexpected characters at end of address: @two (errflg=3) in Unknown on line 0
imap_body_basic.phpt000064400000002004150456614060010550 0ustar00--TEST--
Test imap_body() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_body() : basic functionality ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

echo "Create a new mailbox for test\n";
$imap_stream = setup_test_mailbox("imapbodybasic", 1);

$check = imap_check($imap_stream);
echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n";

// show body for msg 1
var_dump(imap_body($imap_stream, 1));

//Access via FT_UID
var_dump(imap_body($imap_stream, 1, FT_UID));

imap_close($imap_stream);
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapbodybasic';
require_once __DIR__.'/setup/clean.inc';
?>
--EXPECTF--
*** Testing imap_body() : basic functionality ***
Create a new mailbox for test
Create a temporary mailbox and add 1 msgs
New mailbox created
Msg Count in new mailbox: 1
string(%d) "1: this is a test message, please ignore
newline%r\R?%r"
string(%d) "1: this is a test message, please ignore
newline%r\R?%r"
imap_mail_copy_basic.phpt000064400000001577150456614060011605 0ustar00--TEST--
Test imap_mail_copy() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_mail_copy() : basic functionality ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

echo "Create a new mailbox for test\n";
$imap_stream = setup_test_mailbox('copybasic', 1);

$check = imap_check($imap_stream);
echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n";

var_dump(imap_mail_copy($imap_stream, '1', 'INBOX.' . IMAP_MAILBOX_PHPT_PREFIX  . 'copybasic'));

imap_close($imap_stream);
?>
--CLEAN--
<?php
$mailbox_suffix = 'copybasic';
require_once('setup/clean.inc');
?>
--EXPECT--
*** Testing imap_mail_copy() : basic functionality ***
Create a new mailbox for test
Create a temporary mailbox and add 1 msgs
New mailbox created
Msg Count in new mailbox: 1
bool(true)
bug35669.phpt000064400000003305150456614060006643 0ustar00--TEST--
Bug #35669 (imap_mail_compose() crashes with multipart-multiboundary-email)
--EXTENSIONS--
imap
--FILE--
<?php
$envelope["from"] = 'Santa <somewhere@northpole.gov>';
$envelope["to"]  = 'The bad smurf <bad@smurf.com>';
$envelope['date'] = 'Wed, 04 Jan 2006 19:24:43 -0500';

$multipart["type"] = TYPEMULTIPART;
$multipart["subtype"] = "MIXED";
$body[] = $multipart; //add multipart stuff

$textpart["type"] = TYPEMULTIPART;
$textpart["subtype"] = "ALTERNATIVE";
$body[] = $textpart; //add body part

$plain["type"] = TYPETEXT;
$plain["subtype"] = "PLAIN";
$plain["charset"] = "iso-8859-1";
$plain["encoding"] = ENCQUOTEDPRINTABLE;
$plain["description"] = "Plaintype part of message";
$plain['disposition'] = "inline";
$plain["contents.data"] = 'See mom, it will crash';

$body[] = $plain; //next add plain text part

$html["type"] = TYPETEXT;
$html["subtype"] = "HTML";
$html["charset"] = "iso-8859-1";
$html["encoding"] = ENCQUOTEDPRINTABLE;
$html["description"] = "HTML part of message";
$html['disposition'] = "inline";
$html["contents.data"] = 'See mom, it will <b>crash</b>';

$body[] = $html;

echo imap_mail_compose($envelope, $body);
?>
--EXPECTF--
Date: Wed, 04 Jan 2006 19:24:43 -0500
From: Santa <somewhere@northpole.gov>
To: The bad smurf <bad@smurf.com>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="%s"

--%s
Content-Type: TEXT/ALTERNATIVE; CHARSET=US-ASCII


--%s
Content-Type: TEXT/PLAIN; CHARSET=iso-8859-1
Content-Transfer-Encoding: QUOTED-PRINTABLE
Content-Description: Plaintype part of message

See mom, it will crash
--%s
Content-Type: TEXT/HTML; CHARSET=iso-8859-1
Content-Transfer-Encoding: QUOTED-PRINTABLE
Content-Description: HTML part of message

See mom, it will <b>crash</b>
--%s--
README.md000064400000000565150456614060006040 0ustar00Tests can be run manually from the top-level build dir using:

    php -n -d extension=modules/geos.so tests/001_Geometry.phpt

If you want to use valgrind, it is recommended to disable Zend
memory management:

    export USE_ZEND_ALLOC=0

And avoid unload of modules:

    export ZEND_DONT_UNLOAD_MODULES=1

Read more on https://bugs.php.net/bugs-getting-valgrind-log.php
imap_undelete_basic.phpt000064400000001075150456614060011427 0ustar00--TEST--
imap_undelete() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('imapundeletebasic', 1);

imap_delete($stream_id, 1);

var_dump(imap_undelete($stream_id, 1));

imap_close($stream_id);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapundeletebasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 1 msgs
New mailbox created
bool(true)
nil_constant.phpt000064400000000244150456614060010143 0ustar00--TEST--
NIL constant is deprecated
--EXTENSIONS--
imap
--FILE--
<?php
var_dump(NIL);
?>
--EXPECTF--
Deprecated: Constant NIL is deprecated in %s on line %d
int(0)
imap_fetchheader_variation5.phpt000064400000002635150456614060013067 0ustar00--TEST--
Test imap_fetchheader() function : usage variations - $message_num argument
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
/*
 * Pass different integers and strings as $message_num argument
 * to test behaviour of imap_fetchheader()
 */

echo "*** Testing imap_fetchheader() : usage variations ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

$stream_id = setup_test_mailbox('imapfetchheadervar5', 3, $mailbox, false); // set up temp mailbox with 3 msgs

$sequences = [0, /* out of range */ 4, 1];

foreach($sequences as $message_num) {
    echo "\n-- \$message_num is $message_num --\n";
    try {
        var_dump(imap_fetchheader($stream_id, $message_num));
    } catch (\ValueError $e) {
        echo $e->getMessage() . \PHP_EOL;
    }
}

// clear error stack
imap_errors();
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchheadervar5';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_fetchheader() : usage variations ***
Create a temporary mailbox and add 3 msgs
New mailbox created

-- $message_num is 0 --
imap_fetchheader(): Argument #2 ($message_num) must be greater than 0

-- $message_num is 4 --

Warning: imap_fetchheader(): Bad message number in %s on line %d
bool(false)

-- $message_num is 1 --
string(%d) "From: foo@anywhere.com
Subject: Test msg 1
To: %s
MIME-Version: 1.0
Content-Type: MULTIPART/mixed; BOUNDARY="%s=:%d"

"
imap_bodystruct_basic.phpt000064400000003065150456614060012025 0ustar00--TEST--
Test imap_bodystruct() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing string imap_bodystruct : basic functionality ***\n";
require_once(__DIR__.'/setup/imap_include.inc');

echo "Create a new mailbox for test and add a multipart msgs\n";
$imap_stream = setup_test_mailbox("imapbodystructbasic", 1, $mailbox, "multipart");

echo "\nGet and validate structure of body part 1\n";

$m = imap_bodystruct($imap_stream, 1, "1");

$mandatoryFields = [
    'ifsubtype',
    'ifdescription',
    'ifid',
    'ifdisposition',
    'ifdparameters',
    'ifparameters',
];

function isValid($param) {
    return ($param == 0) || ($param == 1);
}

foreach($mandatoryFields as $mf) {
    if (isValid($m->$mf)) {
        echo "$mf is 0 or 1\n";
    } else {
        echo "$mf FAIL\n";
    }
}

if(is_array($m->parameters)) {
    echo "parameters is an array\n";
}

echo "\nTry to get part 4!\n";
var_dump(imap_bodystruct($imap_stream, 1, "4"));

imap_close($imap_stream);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapbodystructbasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
*** Testing string imap_bodystruct : basic functionality ***
Create a new mailbox for test and add a multipart msgs
Create a temporary mailbox and add 1 msgs
New mailbox created

Get and validate structure of body part 1
ifsubtype is 0 or 1
ifdescription is 0 or 1
ifid is 0 or 1
ifdisposition is 0 or 1
ifdparameters is 0 or 1
ifparameters is 0 or 1
parameters is an array

Try to get part 4!
bool(false)
imap_fetchstructure_errors.phpt000064400000002223150456614060013123 0ustar00--TEST--
imap_fetchstructure() errors: ValueError and Warnings
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapfetchstructureerrors", 0);

try {
    imap_fetchstructure($imap_mail_box, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}
try {
    imap_fetchstructure($imap_mail_box, 1, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

// Access not existing
var_dump(imap_fetchstructure($imap_mail_box, 255));
var_dump(imap_fetchstructure($imap_mail_box, 255, FT_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchstructureerrors';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 0 msgs
New mailbox created
imap_fetchstructure(): Argument #2 ($message_num) must be greater than 0
imap_fetchstructure(): Argument #3 ($flags) must be FT_UID or 0

Warning: imap_fetchstructure(): Bad message number in %s on line %d
bool(false)

Warning: imap_fetchstructure(): UID does not exist in %s on line %d
bool(false)
imap_mail_move_basic.phpt000064400000001607150456614060011573 0ustar00--TEST--
Test imap_mail_move() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_mail_move() : basic functionality ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

echo "Create a new mailbox for test\n";
$imap_stream = setup_test_mailbox("movebasic", 1);

$check = imap_check($imap_stream);
echo "Msg Count in new mailbox: ". $check->Nmsgs . "\n";

var_dump(imap_mail_move($imap_stream, '1', 'INBOX.' . IMAP_MAILBOX_PHPT_PREFIX . 'movebasic'));

imap_close($imap_stream);
?>
--CLEAN--
<?php
$mailbox_suffix = 'movebasic';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECT--
*** Testing imap_mail_move() : basic functionality ***
Create a new mailbox for test
Create a temporary mailbox and add 1 msgs
New mailbox created
Msg Count in new mailbox: 1
bool(true)
imap_savebody_errors.phpt000064400000002273150456614060011672 0ustar00--TEST--
imap_savebody() errors: ValueError and Warnings
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapsavebodyerrors", 0);

$section = '';

try {
    imap_savebody($imap_mail_box, '', -1, $section);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}
try {
    imap_savebody($imap_mail_box, '', 1, $section, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

// Access not existing
var_dump(imap_savebody($imap_mail_box, '', 255, $section));
var_dump(imap_savebody($imap_mail_box, '', 255, $section, FT_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapsavebodyerrors';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 0 msgs
New mailbox created
imap_savebody(): Argument #3 ($message_num) must be greater than 0
imap_savebody(): Argument #5 ($flags) must be a bitmask of FT_UID, FT_PEEK, and FT_INTERNAL

Warning: imap_savebody(): Bad message number in %s on line %d
bool(false)

Warning: imap_savebody(): UID does not exist in %s on line %d
bool(false)
imap_clearflag_full_basic.phpt000064400000004453150456614060012567 0ustar00--TEST--
Test imap_clearflag_full() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_clearflag_full() : basic functionality ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

echo "Create a new mailbox for test\n";
$imap_stream = setup_test_mailbox("imapclearflagfullbasic", 10);

$check = imap_check($imap_stream);
echo "Initial msg count in new_mailbox : ". $check->Nmsgs . "\n";

echo "Set some flags\n";
var_dump(imap_setflag_full($imap_stream, "1,3", "\\Seen \\Answered"));
var_dump(imap_setflag_full($imap_stream, "2,4", "\\Answered"));
var_dump(imap_setflag_full($imap_stream, "5,7", "\\Flagged \\Deleted"));
var_dump(imap_setflag_full($imap_stream, "6,8", "\\Deleted"));
var_dump(imap_setflag_full($imap_stream, "9,10", "\\Draft \\Flagged"));

var_dump(imap_search($imap_stream, "SEEN"));
var_dump(imap_search($imap_stream, "ANSWERED"));
var_dump(imap_search($imap_stream, "FLAGGED"));
var_dump(imap_search($imap_stream, "DELETED"));

var_dump(imap_clearflag_full($imap_stream, "1,4", "\\Answered"));
var_dump(imap_clearflag_full($imap_stream, "5,6,7,8", "\\Deleted"));
var_dump(imap_clearflag_full($imap_stream, "9", "\\Flagged"));

var_dump(imap_search($imap_stream, "SEEN"));
var_dump(imap_search($imap_stream, "ANSWERED"));
var_dump(imap_search($imap_stream, "FLAGGED"));
var_dump(imap_search($imap_stream, "DELETED"));

imap_close($imap_stream);
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapclearflagfullbasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
*** Testing imap_clearflag_full() : basic functionality ***
Create a new mailbox for test
Create a temporary mailbox and add 10 msgs
New mailbox created
Initial msg count in new_mailbox : 10
Set some flags
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
array(2) {
  [0]=>
  int(1)
  [1]=>
  int(3)
}
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
}
array(4) {
  [0]=>
  int(5)
  [1]=>
  int(7)
  [2]=>
  int(9)
  [3]=>
  int(10)
}
array(4) {
  [0]=>
  int(5)
  [1]=>
  int(6)
  [2]=>
  int(7)
  [3]=>
  int(8)
}
bool(true)
bool(true)
bool(true)
array(2) {
  [0]=>
  int(1)
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  int(2)
  [1]=>
  int(3)
}
array(3) {
  [0]=>
  int(5)
  [1]=>
  int(7)
  [2]=>
  int(10)
}
bool(false)
imap_sort_uid.phpt000064400000001507150456614060010311 0ustar00--TEST--
imap_sort() basics
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapsortbasic");

var_dump(imap_sort($imap_mail_box, SORTSUBJECT, 0));
var_dump(imap_sort($imap_mail_box, SORTSUBJECT, 0, SE_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapsortbasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
array(6) {
  [0]=>
  int(1)
  [1]=>
  int(6)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
}
array(6) {
  [0]=>
  int(1)
  [1]=>
  int(10)
  [2]=>
  int(2)
  [3]=>
  int(7)
  [4]=>
  int(8)
  [5]=>
  int(9)
}
imap_base64_basic.phpt000064400000001446150456614060010710 0ustar00--TEST--
Test imap_base64() function : basic functionality
--EXTENSIONS--
imap
--FILE--
<?php
echo "*** Testing imap_base64() : basic functionality ***\n";

$str = 'This is an example string to be base 64 encoded';
$base64 = base64_encode($str);
if (imap_base64($base64) == $str) {
    echo "TEST PASSED\n";
} else {
    echo "TEST FAILED";
}

$str = '!£$%^&*()_+-={][];;@~#?/>.<,';
$base64 = base64_encode($str);
if (imap_base64($base64) == $str) {
    echo "TEST PASSED\n";
} else {
    echo "TEST FAILED";
}

$hex = 'x00\x01\x02\x03\x04\x05\x06\xFA\xFB\xFC\xFD\xFE\xFF';
$base64 = base64_encode($hex);
if (imap_base64($base64) == $hex) {
    echo "TEST PASSED\n";
} else {
    echo "TEST FAILED";
}

?>
--EXPECT--
*** Testing imap_base64() : basic functionality ***
TEST PASSED
TEST PASSED
TEST PASSED
imap_fetchstructure_uid.phpt000064400000001305150456614060012370 0ustar00--TEST--
imap_fetchstructure() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapfetchstructureuid", $msg_no, $uid);

// Usage of == because comparing objects
var_dump(imap_fetchstructure($imap_mail_box, $uid, FT_UID) == imap_fetchstructure($imap_mail_box, $msg_no));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchstructureuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
imap_fetchmime_uid.phpt000064400000001250150456614060011256 0ustar00--TEST--
imap_fetchmime() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapfetchmimeuid", $msg_no, $uid);

$section = '2';
var_dump(imap_fetchbody($imap_mail_box, $uid, $section, FT_UID) === imap_fetchbody($imap_mail_box, $msg_no, $section));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchmimeuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
imap_delete_uid.phpt000064400000001671150456614060010566 0ustar00--TEST--
imap_delete() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapdeleteuid", $msg_no, $uid);

imap_delete($imap_mail_box, $uid, FT_UID);
var_dump(imap_search($imap_mail_box, 'DELETED', SE_UID));
imap_expunge($imap_mail_box);

echo 'After expunging: ';
var_dump(imap_search($imap_mail_box, 'DELETED', SE_UID));

var_dump(imap_search($imap_mail_box, 'ALL', SE_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapdeleteuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
array(1) {
  [0]=>
  int(9)
}
After expunging: bool(false)
array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(7)
  [3]=>
  int(8)
  [4]=>
  int(10)
}
imap_headerinfo_basic.phpt000064400000004445150456614070011733 0ustar00--TEST--
imap_headerinfo() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('imapheaderinfobasic', 1);

$z = imap_headerinfo($stream_id, 1);

$fields = array ('toaddress','to','fromaddress','from',
'reply_toaddress','reply_to',
    'senderaddress', 'sender',
'subject','Subject',
    'Recent','Unseen','Flagged','Answered','Deleted','Draft',
    'Msgno','MailDate','Size','udate');

echo "Check general fields\n";
foreach ($fields as $key) {
    var_dump(isset($z->$key));
}

echo "Check type\n";
var_dump($z->toaddress);
var_dump($z->fromaddress);
var_dump($z->reply_toaddress);
var_dump($z->senderaddress);
var_dump($z->subject);
var_dump($z->Subject);

if ($z->Recent == 'R' || $z->Recent == 'N' || $z->Recent == ' ') {
    echo "Recent: OK";
} else {
    echo "Recent: error: ".$z->Recent;
}
echo "\n";

if ($z->Unseen == 'U' || $z->Unseen == ' ') {
    echo "Unseen: OK";
} else {
    echo "Unseen: error: ".$z->Unseen;
}
echo "\n";

if ($z->Flagged == 'F' || $z->Flagged == ' ') {
    echo "Flagged: OK";
} else {
    echo "Flagged: error: ".$z->Flagged;
}
echo "\n";

if ($z->Answered == 'A' || $z->Answered == ' ') {
    echo "Answered: OK";
} else {
    echo "Answered: error";
}
echo "\n";

if ($z->Deleted == 'D' || $z->Deleted == ' ') {
    echo "Deleted: OK";
} else {
    echo "Deleted: error";
}
echo "\n";

if ($z->Draft == 'X' || $z->Draft == ' ') {
    echo "Draft: OK";
} else {
    echo "Draft: error";
}
echo "\n";

var_dump($z->Msgno);
var_dump($z->Size);
var_dump($z->udate);

imap_close($stream_id);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapheaderinfobasic';
require_once('setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 1 msgs
New mailbox created
Check general fields
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Check type
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
Recent: OK
Unseen: OK
Flagged: OK
Answered: OK
Deleted: OK
Draft: OK
string(%d) "%s"
string(%d) "%d"
int(%d)
imap_list_basic.phpt000064400000001233150456614070010572 0ustar00--TEST--
imap_list() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD) or
    die("Cannot connect to mailbox " .IMAP_DEFAULT_MAILBOX.": " . imap_last_error());

imap_list($stream_id, IMAP_DEFAULT_MAILBOX,'ezerz');


$z = imap_list($stream_id, IMAP_DEFAULT_MAILBOX,'*');
var_dump(is_array($z));

// e.g. "{127.0.0.1:143/norsh}INBOX"
var_dump($z[0]);

imap_close($stream_id);
?>
--EXPECTF--
bool(true)
string(%s) "{%s}%s"
imap_open_error.phpt000064400000001577150456614070010643 0ustar00--TEST--
imap_open() ValueErrors
--CREDITS--
Paul Sohier
#phptestfest utrecht
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
if (getenv("SKIP_ASAN")) die("xleak leak sanitizer crashes");
?>
--FILE--
<?php

echo "Checking with incorrect parameters\n" ;
imap_open('', '', '');

try {
    imap_open('', '', '', -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

try {
    imap_open('', '', '', 0, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

?>
--EXPECTF--
Checking with incorrect parameters

Warning: imap_open(): Couldn't open stream  in %s on line %d
imap_open(): Argument #4 ($flags) must be a bitmask of the OP_* constants, and CL_EXPUNGE
imap_open(): Argument #5 ($retries) must be greater than or equal to 0

Notice: PHP Request Shutdown: Can't open mailbox : no such mailbox (errflg=2) in Unknown on line 0
imap_fetchbody_errors.phpt000064400000002266150456614070012030 0ustar00--TEST--
imap_fetchbody() errors: ValueError and Warnings
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapfetchbodyerrors", 0);

$section = '';

try {
    imap_fetchbody($imap_mail_box, -1, $section);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}
try {
    imap_fetchbody($imap_mail_box, 1, $section, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

// Access not existing
var_dump(imap_fetchbody($imap_mail_box, 255, $section));
var_dump(imap_fetchbody($imap_mail_box, 255, $section, FT_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchbodyerrors';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 0 msgs
New mailbox created
imap_fetchbody(): Argument #2 ($message_num) must be greater than 0
imap_fetchbody(): Argument #4 ($flags) must be a bitmask of FT_UID, FT_PEEK, and FT_INTERNAL

Warning: imap_fetchbody(): Bad message number in %s on line %d
bool(false)

Warning: imap_fetchbody(): UID does not exist in %s on line %d
bool(false)
imap_fetchheader_uid.phpt000064400000001216150456614070011562 0ustar00--TEST--
imap_fetchheader() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapfetchheaderuid", $msg_no, $uid);

var_dump(imap_fetchheader($imap_mail_box, $uid, FT_UID) === imap_fetchheader($imap_mail_box, $msg_no));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchheaderuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
bug80438.phpt000064400000002437150456614070006643 0ustar00--TEST--
Bug #80438: imap_msgno() incorrectly warns and return false on valid UIDs in PHP 8.0.0
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once __DIR__.'/setup/imap_include.inc';

// create a new mailbox and add 10 new messages to it
$mail_box = setup_test_mailbox_for_uid_tests('bug80438');

$message_number_array = imap_search($mail_box, 'ALL', SE_UID);

var_dump($message_number_array);

foreach ($message_number_array as $message_unique_id)
{
    echo 'Unique ID: ';
    var_dump($message_unique_id);
    echo 'Ordered message number: ';
    var_dump(imap_msgno($mail_box, $message_unique_id));
}

imap_close($mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'bug80438';
require_once __DIR__.'/setup/clean.inc';
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(7)
  [3]=>
  int(8)
  [4]=>
  int(9)
  [5]=>
  int(10)
}
Unique ID: int(1)
Ordered message number: int(1)
Unique ID: int(2)
Ordered message number: int(2)
Unique ID: int(7)
Ordered message number: int(3)
Unique ID: int(8)
Ordered message number: int(4)
Unique ID: int(9)
Ordered message number: int(5)
Unique ID: int(10)
Ordered message number: int(6)
bug80242.phpt000064400000000535150456614070006631 0ustar00--TEST--
Bug #80242 (imap_mail_compose() segfaults for multipart with rfc822)
--EXTENSIONS--
imap
--FILE--
<?php
$bodies = [[
    'type' => TYPEMULTIPART,
], [
    'type' => TYPETEXT,
    'contents.data' => 'some text',
], [
    'type' => TYPEMESSAGE,
    'subtype' => 'RFC822',
]];
imap_mail_compose([], $bodies);
echo "done\n";
?>
--EXPECT--
done
bug80800.phpt000064400000001033150456614070006623 0ustar00--TEST--
Bug #80800: imap_open() fails when the flags parameter includes CL_EXPUNGE
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once __DIR__.'/setup/imap_include.inc';

$mail_box = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, flags: CL_EXPUNGE);
var_dump(imap_reopen($mail_box, IMAP_DEFAULT_MAILBOX, flags: CL_EXPUNGE));
imap_close($mail_box);

echo 'Connected without any issues', "\n";

?>
--EXPECT--
bool(true)
Connected without any issues
bug40854.phpt000064400000002067150456614070006640 0ustar00--TEST--
Bug #40854 (imap_mail_compose() creates an invalid terminator for multipart e-mails)
--EXTENSIONS--
imap
--FILE--
<?php
$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = 'a.txt';
$part2["contents.data"] = '';

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo imap_mail_compose($envelope, $body);
?>
--EXPECTF--
From: joe@example.com
To: foo@example.com
cc: bar@example.com
MIME-Version: 1.0
Content-Type: MULTIPART/mixed; BOUNDARY="%s"

--%s
Content-Type: APPLICATION/octet-stream
Content-Transfer-Encoding: BASE64
Content-Description: a.txt



--%s
Content-Type: TEXT/plain; CHARSET=US-ASCII
Content-Description: description3

contents.data3


	
--%s--
bug31142_1.phpt000064400000002067150456614070007046 0ustar00--TEST--
Bug #31142 test #1 (imap_mail_compose() generates incorrect output)
--EXTENSIONS--
imap
--FILE--
<?php

$envelope["from"]= "joe@example.com";
$envelope["to"]  = "foo@example.com";
$envelope["cc"]  = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = "some file";
$part2["contents.data"] = "ABC";

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo imap_mail_compose($envelope, $body);

?>
--EXPECTF--
From: joe@example.com
To: foo@example.com
cc: bar@example.com
MIME-Version: 1.0
Content-Type: MULTIPART/mixed; BOUNDARY="%s"

--%s
Content-Type: APPLICATION/octet-stream
Content-Transfer-Encoding: BASE64
Content-Description: some file

QUJD

--%s
Content-Type: TEXT/plain; CHARSET=US-ASCII
Content-Description: description3

contents.data3


	
--%s--
imap_reopen_with_cl_expunge.phpt000064400000002445150456614070013220 0ustar00--TEST--
Test imap_reopen() using the CL_EXPUNGE flag
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

// include file for required variables in imap_open()
require_once(__DIR__.'/setup/imap_include.inc');

$mailbox_suffix = 'imapreopenwithclexpunge';

// set up temp mailbox with 3 messages
$stream_id = setup_test_mailbox($mailbox_suffix , 3, $mailbox);

var_dump(imap_reopen($stream_id, IMAP_DEFAULT_MAILBOX . '.' . IMAP_MAILBOX_PHPT_PREFIX . $mailbox_suffix, flags: CL_EXPUNGE));

// mark messages in inbox for deletion
for ($i = 1; $i < 4; $i++) {
    imap_delete($stream_id, $i);
}

echo "\n-- Call to imap_close() --\n";
var_dump( imap_close($stream_id) );

// check that CL_EXPUNGE in previous imap_reopen() call worked
$stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);
echo "There are now " . imap_num_msg($stream_id) . " msgs in mailbox '$mailbox'\n";

// Close connection
var_dump( imap_close($stream_id) );
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapreopenwithclexpunge';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 3 msgs
New mailbox created
bool(true)

-- Call to imap_close() --
bool(true)
There are now 0 msgs in mailbox '%sINBOX.phpttestimapreopenwithclexpunge'
bool(true)
bug77153.phpt000064400000001026150456614070006634 0ustar00--TEST--
Bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter)
--EXTENSIONS--
imap
--CONFLICTS--
defaultmailbox
--FILE--
<?php
$payload = "echo 'BUG'> " . __DIR__ . '/__bug';
$payloadb64 = base64_encode($payload);
$server = "x -oProxyCommand=echo\t$payloadb64|base64\t-d|sh}";
@imap_open('{'.$server.':143/imap}INBOX', '', '');
// clean
imap_errors();
var_dump(file_exists(__DIR__ . '/__bug'));
?>
--EXPECT--
bool(false)
--CLEAN--
<?php
if(file_exists(__DIR__ . '/__bug')) unlink(__DIR__ . '/__bug');
?>
imap_createmailbox_basic.phpt000064400000003750150456614070012444 0ustar00--TEST--
Test imap_createmailbox() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once __DIR__.'/setup/skipif.inc';
?>
--FILE--
<?php
echo "*** Testing imap_createmailbox() : basic functionality ***\n";

require_once __DIR__.'/setup/imap_include.inc';

$imap_stream = setup_test_mailbox("imapcreatemailboxbasic", 0);

$newname = "phpnewbox";

echo "Newname will be '$newname'\n";

$newbox = imap_utf7_encode(IMAP_SERVER.$newname);
if (imap_createmailbox($imap_stream, $newbox)) {

    echo "Add a couple of msgs to '$newname' mailbox\n";
    populate_mailbox($imap_stream, $newbox, 2);

    $status = imap_status($imap_stream, $newbox, SA_ALL);
    if ($status) {
        echo "Your new mailbox '$newname' has the following status:\n";
        echo "Messages:    " . $status->messages    . "\n";
        echo "Recent:      " . $status->recent      . "\n";
        echo "Unseen:      " . $status->unseen      . "\n";
        echo "UIDnext:     " . $status->uidnext     . "\n";
        echo "UIDvalidity: " . $status->uidvalidity . "\n";

    } else {
        echo "imap_status on new mailbox failed: " . imap_last_error() . "\n";
    }

    if (imap_deletemailbox($imap_stream, $newbox)) {
        echo "Mailbox '$newname' removed to restore initial state\n";
    } else {
        echo "imap_deletemailbox on new mailbox failed: " . implode("\n", imap_errors()) . "\n";
    }

} else {
    echo "could not create new mailbox: " . implode("\n", imap_errors()) . "\n";
}

imap_close($imap_stream);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapcreatemailboxbasic';
require_once __DIR__ . '/setup/clean.inc';
?>
--EXPECTF--
*** Testing imap_createmailbox() : basic functionality ***
Create a temporary mailbox and add 0 msgs
New mailbox created
Newname will be 'phpnewbox'
Add a couple of msgs to 'phpnewbox' mailbox
Your new mailbox 'phpnewbox' has the following status:
Messages:    2
Recent:      2
Unseen:      2
UIDnext:     %d
UIDvalidity: %d
Mailbox 'phpnewbox' removed to restore initial state
bug64076.phpt000064400000001132150456614070006632 0ustar00--TEST--
Bug #64076 (imap_sort() does not return FALSE on failure)
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once __DIR__ . '/setup/skipif.inc';
?>
--FILE--
<?php
require_once __DIR__ . '/setup/imap_include.inc';
$stream = setup_test_mailbox('bug64076', 2);
imap_errors(); // clear error stack
var_dump(imap_sort($stream, SORTFROM, 0, 0, 'UNSUPPORTED SEARCH CRITERIUM'));
var_dump(imap_errors() !== false);
?>
--CLEAN--
<?php
$mailbox_suffix = 'bug64076';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 2 msgs
New mailbox created
bool(false)
bool(true)
imap_rfc822_write_address_basic.phpt000064400000000327150456614070013547 0ustar00--TEST--
imap_rfc822_write_address() : basic functionality
--EXTENSIONS--
imap
--FILE--
<?php
var_dump(imap_rfc822_write_address('me', 'example.com', 'My Name'));
?>
--EXPECT--
string(24) "My Name <me@example.com>"
bug31142_2.phpt000064400000001117150456614070007042 0ustar00--TEST--
Bug #31142 test #2 (imap_mail_compose() generates incorrect output)
--EXTENSIONS--
imap
--FILE--
<?php
$envelope["from"]= 'host@domain.com';
$envelope["return_path"]= 'host@domain.com';

$part1["type"]=TYPETEXT;
$part1["subtype"]="plain";
$part1["encoding"]=ENCQUOTEDPRINTABLE ;
$part1["charset"]='iso-8859-2';
$part1["contents.data"]=imap_8bit('asn řkl');

$body = array($part1);

echo imap_mail_compose($envelope, $body);
?>
--EXPECT--
From: host@domain.com
MIME-Version: 1.0
Content-Type: TEXT/plain; CHARSET=iso-8859-2
Content-Transfer-Encoding: QUOTED-PRINTABLE

asn =C5=99kl
imap_open_with_cl_expunge.phpt000064400000002176150456614070012672 0ustar00--TEST--
Test imap_open() using the CL_EXPUNGE flag
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

// include file for required variables in imap_open()
require_once(__DIR__.'/setup/imap_include.inc');

// set up temp mailbox with 3 messages
$stream_id = setup_test_mailbox('imapopenwithclexpunge', 3, $mailbox, flags: CL_EXPUNGE);

// mark messages in inbox for deletion
for ($i = 1; $i < 4; $i++) {
    imap_delete($stream_id, $i);
}

echo "\n-- Call to imap_close() --\n";
var_dump( imap_close($stream_id) );

// check that CL_EXPUNGE in previous imap_open() call worked
$stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);
echo "There are now " . imap_num_msg($stream_id) . " msgs in mailbox '$mailbox'\n";

// Close connection
var_dump( imap_close($stream_id) );
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapopenwithclexpunge';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 3 msgs
New mailbox created

-- Call to imap_close() --
bool(true)
There are now 0 msgs in mailbox '%sINBOX.phpttestimapopenwithclexpunge'
bool(true)
imap_mutf7_to_utf8.phpt000064400000001003150456614070011163 0ustar00--TEST--
imap_mutf7_to_utf8
--EXTENSIONS--
imap
--SKIPIF--
<?php
// The underlying imap_mutf7_to_utf8 function can be missing; there's a
// ./configure check for it that disables the corresponding PHP function.
if (!function_exists('imap_mutf7_to_utf8')) {
    die("skip no imap_mutf7_to_utf8 function");
}
?>
--FILE--
<?php

var_dump(imap_mutf7_to_utf8(""));
var_dump(imap_mutf7_to_utf8(1));
var_dump(imap_mutf7_to_utf8("t&AOQ-st"));

echo "Done\n";
?>
--EXPECT--
string(0) ""
string(1) "1"
string(5) "täst"
Done
imap_fetchmime_errors.phpt000064400000002266150456614070012022 0ustar00--TEST--
imap_fetchmime() errors: ValueError and Warnings
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapfetchmimeerrors", 0);

$section = '';

try {
    imap_fetchmime($imap_mail_box, -1, $section);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}
try {
    imap_fetchmime($imap_mail_box, 1, $section, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

// Access not existing
var_dump(imap_fetchmime($imap_mail_box, 255, $section));
var_dump(imap_fetchmime($imap_mail_box, 255, $section, FT_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchmimeerrors';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 0 msgs
New mailbox created
imap_fetchmime(): Argument #2 ($message_num) must be greater than 0
imap_fetchmime(): Argument #4 ($flags) must be a bitmask of FT_UID, FT_PEEK, and FT_INTERNAL

Warning: imap_fetchmime(): Bad message number in %s on line %d
bool(false)

Warning: imap_fetchmime(): UID does not exist in %s on line %d
bool(false)
imap_utf8_to_mutf7_basic.phpt000064400000001003150456614070012324 0ustar00--TEST--
imap_utf8_to_mutf7
--EXTENSIONS--
imap
--SKIPIF--
<?php
// The underlying imap_utf8_to_mutf7 function can be missing; there's a
// ./configure check for it that disables the corresponding PHP function.
if (!function_exists('imap_utf8_to_mutf7')) {
    die("skip no imap_utf8_to_mutf7 function");
}
?>
--FILE--
<?php

var_dump(imap_utf8_to_mutf7(""));
var_dump(imap_utf8_to_mutf7(1));
var_dump(imap_utf8_to_mutf7("täst"));

echo "Done\n";
?>
--EXPECT--
string(0) ""
string(1) "1"
string(8) "t&AOQ-st"
Done
bug80710_1.phpt000064400000002160150456614070007045 0ustar00--TEST--
Bug #80710 (imap_mail_compose() header injection) - MIME Splitting Attack
--EXTENSIONS--
imap
--FILE--
<?php
$envelope["from"]= "joe@example.com\n From : X-INJECTED";
$envelope["to"]  = "foo@example.com\nFrom: X-INJECTED";
$envelope["cc"]  = "bar@example.com\nFrom: X-INJECTED";
$envelope["subject"]  = "bar@example.com\n\n From : X-INJECTED";
$envelope["x-remail"]  = "bar@example.com\nFrom: X-INJECTED";
$envelope["something"]  = "bar@example.com\nFrom: X-INJECTED";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream\nContent-Type: X-INJECTED";
$part2["description"] = "some file\nContent-Type: X-INJECTED";
$part2["contents.data"] = "ABC\nContent-Type: X-INJECTED";

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo imap_mail_compose($envelope, $body);
?>
--EXPECTF--
Warning: imap_mail_compose(): header injection attempt in from in %s on line %d
imap_close_variation4.phpt000064400000004736150456614070011736 0ustar00--TEST--
Test imap_close() function : usage variations - different ints as $flags arg
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
/*
 * Pass different integers as $flags arg to imap_close() to test which are
 * recognised as CL_EXPUNGE option
 */

echo "*** Testing imap_close() : usage variations ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

$inputs = array (0, 3.2768e4, -32768, PHP_INT_MAX, -PHP_INT_MAX);

$stream_id = setup_test_mailbox('imapclosevar4', 3, $mailbox); // set up temp mailbox with 3 messages

// loop through each element of $inputs to check the behavior of imap_close()
$iterator = 1;
foreach($inputs as $input) {

    // mark added messages for deletion
    for ($i = 1; $i < 4; $i++) {
        imap_delete($stream_id, $i);
    }
    echo "\n-- Iteration $iterator --\n";
    try {
        var_dump( $check = imap_close($stream_id, $input) );
    } catch (\ValueError $e) {
        echo $e->getMessage() . \PHP_EOL;
        $check = false;
    }

    // check that imap_close was successful, if not call imap_close and explicitly set CL_EXPUNGE
    if(false === $check) {
        imap_close($stream_id, CL_EXPUNGE);
    } else {
        // if imap_close was successful test whether CL_EXPUNGE was set by doing a message count
        $imap_stream = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);
        $num_msg = imap_num_msg($imap_stream);
        if ($num_msg != 0) {
            echo "CL_EXPUNGE was not set, $num_msg msgs in mailbox\n";
        } else {
            echo "CL_EXPUNGE was set\n";
        }
        // call imap_close with CL_EXPUNGE explicitly set in case mailbox not empty
        imap_close($imap_stream, CL_EXPUNGE);
    }
    $iterator++;

    // get $stream_id for next iteration
    $stream_id = imap_open($mailbox, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);
    populate_mailbox($stream_id, $mailbox, 3);

};
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapclosevar4';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECT--
*** Testing imap_close() : usage variations ***
Create a temporary mailbox and add 3 msgs
New mailbox created

-- Iteration 1 --
bool(true)
CL_EXPUNGE was not set, 3 msgs in mailbox

-- Iteration 2 --
bool(true)
CL_EXPUNGE was set

-- Iteration 3 --
imap_close(): Argument #2 ($flags) must be CL_EXPUNGE or 0

-- Iteration 4 --
imap_close(): Argument #2 ($flags) must be CL_EXPUNGE or 0

-- Iteration 5 --
imap_close(): Argument #2 ($flags) must be CL_EXPUNGE or 0
imap_fetchbody_basic.phpt000064400000004302150456614070011566 0ustar00--TEST--
Test imap_fetchbody() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
/*           [, int $options])
 * Description: Get a specific body section
 * Source code: ext/imap/php_imap.c
 */

echo "*** Testing imap_fetchbody() : basic functionality ***\n";
require_once(__DIR__.'/setup/imap_include.inc');

// Initialise all required variables

// set up mailbox with one message
$stream_id = setup_test_mailbox('imapfetchbodybasic', 1, $mailbox, false);

$msg_no = 1;
$section = '2';
$options = array ('FT_UID' => FT_UID, 'FT_PEEK' => FT_PEEK, 'FT_INTERNAL' => FT_INTERNAL);

// Calling imap_fetchbody() with all possible arguments
echo "\n-- All possible arguments --\n";
foreach ($options as $key => $option) {
    echo "-- Option is $key --\n";
    switch ($key) {

        case 'FT_UID';
        $msg_uid = imap_uid($stream_id, $msg_no);
        var_dump( imap_fetchbody($stream_id, $msg_uid, $section, $option) );
        break;

        case 'FT_PEEK';
        var_dump( imap_fetchbody($stream_id, $msg_no, $section, $option) );
        $overview = imap_fetch_overview($stream_id, 1);
        echo "Seen Flag: ";
        var_dump( $overview[0]->seen );
        break;

        case 'FT_INTERNAL';
        var_dump( imap_fetchbody($stream_id, $msg_no, $section, $option) );
        break;

    }
}

// Calling imap_fetchbody() with mandatory arguments
echo "\n-- Mandatory arguments --\n";
var_dump( imap_fetchbody($stream_id, $msg_no, $section) );
$overview = imap_fetch_overview($stream_id, 1);
echo "Seen Flag: ";
var_dump( $overview[0]->seen );
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchbodybasic';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_fetchbody() : basic functionality ***
Create a temporary mailbox and add 1 msgs
New mailbox created

-- All possible arguments --
-- Option is FT_UID --
string(36) "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy"
-- Option is FT_PEEK --
string(36) "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy"
Seen Flag: int(%d)
-- Option is FT_INTERNAL --
string(36) "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy"

-- Mandatory arguments --
string(36) "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy"
Seen Flag: int(%d)
bug45705_2.phpt000064400000002540150456614100007047 0ustar00--TEST--
Bug #45705 test #2 (imap rfc822_parse_adrlist() modifies passed address parameter)
--EXTENSIONS--
imap
--FILE--
<?php

$envelope = array('return_path' => 'John Doe <john@example.com>',
                  'from'        => 'John Doe <john@example.com>',
                  'reply_to'    => 'John Doe <john@example.com>',
                  'to'          => 'John Doe <john@example.com>',
                  'cc'          => 'John Doe <john@example.com>',
                  'bcc'         => 'John Doe <john@example.com>',
);

var_dump($envelope);
imap_mail_compose($envelope, [1 => ['cc' => 'Steve Doe <steve@example.com>',]]);
var_dump($envelope);

?>
--EXPECT--
array(6) {
  ["return_path"]=>
  string(27) "John Doe <john@example.com>"
  ["from"]=>
  string(27) "John Doe <john@example.com>"
  ["reply_to"]=>
  string(27) "John Doe <john@example.com>"
  ["to"]=>
  string(27) "John Doe <john@example.com>"
  ["cc"]=>
  string(27) "John Doe <john@example.com>"
  ["bcc"]=>
  string(27) "John Doe <john@example.com>"
}
array(6) {
  ["return_path"]=>
  string(27) "John Doe <john@example.com>"
  ["from"]=>
  string(27) "John Doe <john@example.com>"
  ["reply_to"]=>
  string(27) "John Doe <john@example.com>"
  ["to"]=>
  string(27) "John Doe <john@example.com>"
  ["cc"]=>
  string(27) "John Doe <john@example.com>"
  ["bcc"]=>
  string(27) "John Doe <john@example.com>"
}
imap_search_basic.phpt000064400000001260150456614100011056 0ustar00--TEST--
imap_search() with unique ID (SE_UID) flag
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapsearchuid");

var_dump(imap_search($imap_mail_box, 'ALL', SE_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapsearchuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(7)
  [3]=>
  int(8)
  [4]=>
  int(9)
  [5]=>
  int(10)
}
bug32589.phpt000064400000001204150456614100006630 0ustar00--TEST--
Bug #32589 (crash inside imap_mail_compose() function)
--EXTENSIONS--
imap
--FILE--
<?php
$m_envelope["To"] = "mail@example.com";
$m_part1["type"] = TYPEMULTIPART;
$m_part1["subtype"] = "mixed";
$m_part2["type"] = TYPETEXT;
$m_part2["subtype"] = "plain";
$m_part2["description"] = "text_message";

$m_part2["charset"] = "ISO-8859-2";

$m_part2["contents.data"] = "hello";
$m_body[1] = $m_part1;
$m_body[2] = $m_part2;
echo imap_mail_compose($m_envelope, $m_body);
?>
--EXPECTF--
MIME-Version: 1.0
Content-Type: MULTIPART/mixed; BOUNDARY="%s"

%s
Content-Type: TEXT/plain; CHARSET=ISO-8859-2
Content-Description: text_message

hello
%s
imap_constructor.phpt000064400000000446150456614100011042 0ustar00--TEST--
Attempt to instantiate an IMAP\Connection directly
--EXTENSIONS--
imap
--FILE--
<?php

try {
    new IMAP\Connection();
} catch (Error $ex) {
    echo "Exception: ", $ex->getMessage(), "\n";
}
?>
--EXPECT--
Exception: Cannot directly construct IMAP\Connection, use imap_open() instead
imap_rfc822_parse_headers_basic.phpt000064400000004220150456614100013503 0ustar00--TEST--
imap_rfc822_parse_headers() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('imaprfc822parseheadersbasic', 1);

$z = imap_headerinfo($stream_id, 1);

$fields = array ('toaddress','to','fromaddress','from',
'reply_toaddress','reply_to',
    'senderaddress', 'sender',
'subject','Subject',
    'MailDate','Size','udate');


echo "Check general fields\n";
foreach ($fields as $key) {
    var_dump(isset($z->$key));
}

echo "Check type\n";
var_dump($z->toaddress);
var_dump($z->fromaddress);
var_dump($z->reply_toaddress);
var_dump($z->senderaddress);
var_dump($z->subject);
var_dump($z->Subject);

if ($z->Recent == 'R' || $z->Recent == 'N' || $z->Recent == ' ') {
    echo "Recent: OK";
} else {
    echo "Recent: error";
}
echo "\n";

if ($z->Unseen == 'U' || $z->Unseen == ' ') {
    echo "Unseen: OK";
} else {
    echo "Unseen: error";
}
echo "\n";

if ($z->Flagged == 'F' || $z->Flagged == ' ') {
    echo "Flagged: OK";
} else {
    echo "Flagged: error";
}
echo "\n";

if ($z->Answered == 'A' || $z->Answered == ' ') {
    echo "Answered: OK";
} else {
    echo "Answered: error";
}
echo "\n";

if ($z->Deleted == 'D' || $z->Deleted == ' ') {
    echo "Deleted: OK";
} else {
    echo "Deleted: error";
}
echo "\n";

if ($z->Draft == 'X' || $z->Draft == ' ') {
    echo "Draft: OK";
} else {
    echo "Draft: error";
}
echo "\n";

var_dump($z->Msgno);
var_dump($z->Size);
var_dump($z->udate);

imap_close($stream_id);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imaprfc822parseheadersbasic';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 1 msgs
New mailbox created
Check general fields
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Check type
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
string(%d) "%s"
Recent: OK
Unseen: OK
Flagged: OK
Answered: OK
Deleted: OK
Draft: OK
string(%d) "%s"
string(%d) "%d"
int(%d)
imap_getsubscribed_basic.phpt000064400000002304150456614100012436 0ustar00--TEST--
imap_getsubscribed() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
if (getenv("SKIP_ASAN")) die("xleak asan chokes on this: 'LeakSanitizer does not work under ptrace (strace, gdb, etc)'");
?>
--CONFLICTS--
defaultmailbox
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD) or
    die("Cannot connect to mailbox ". IMAP_DEFAULT_MAILBOX. ": " . imap_last_error());

var_dump(imap_getsubscribed($stream_id, IMAP_DEFAULT_MAILBOX, 'ezDvfXvbvcxSerz'));


echo "Checking OK\n";

$newbox = IMAP_DEFAULT_MAILBOX . "." . IMAP_MAILBOX_PHPT_PREFIX;

imap_createmailbox($stream_id, $newbox);
imap_subscribe($stream_id, $newbox);

$z = imap_getsubscribed($stream_id, IMAP_DEFAULT_MAILBOX, '*');

var_dump(is_array($z));
var_dump($z[0]);

imap_close($stream_id);
?>
--CLEAN--
<?php
$mailbox_suffix = '';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
bool(false)
Checking OK
bool(true)
object(stdClass)#%d (%d) {
  [%sname"]=>
  string(%d) "{%s}%s"
  [%sattributes"]=>
  int(%d)
  [%sdelimiter"]=>
  string(%d) "%s"
}
imap_gc_error.phpt000064400000001205150456614100010251 0ustar00--TEST--
imap_gc() ValueError
--CREDITS--
Paul Sohier
#phptestfest utrecht
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('imapgcerror', 1);

try {
    imap_gc($stream_id, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapgcerror';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 1 msgs
New mailbox created
imap_gc(): Argument #2 ($flags) must be a bitmask of IMAP_GC_TEXTS, IMAP_GC_ELT, and IMAP_GC_ENV
bug80213.phpt000064400000000662150456614100006622 0ustar00--TEST--
Bug #80213 (imap_mail_compose() segfaults on certain $bodies)
--EXTENSIONS--
imap
--FILE--
<?php
$envelope = [];
$body = [[
    'type.parameters' => ['param'],
    'disposition' => ['disp'],
], [
    'type.parameters' => ['param'],
    'disposition' => ['disp'],
]];
var_dump(imap_mail_compose($envelope, $body));
echo "done\n";
?>
--EXPECT--
string(67) "MIME-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII


"
done
imap_undelete_uid.phpt000064400000001463150456614100011123 0ustar00--TEST--
imap_undelete() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapundeleteuid", $msg_no, $uid);

imap_delete($imap_mail_box, $uid, FT_UID);
imap_undelete($imap_mail_box, $uid, FT_UID);
imap_expunge($imap_mail_box);

var_dump(imap_search($imap_mail_box, 'ALL', SE_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapundeleteuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(7)
  [3]=>
  int(8)
  [4]=>
  int(9)
  [5]=>
  int(10)
}
imap_fetchstructure_basic.phpt000064400000002242150456614100012664 0ustar00--TEST--
imap_fetchstructure() function : basic functionality
--CREDITS--
Olivier Doucet
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');
$stream_id = setup_test_mailbox('imapfetchstructurebasic', 1);

try {
    imap_fetchstructure($stream_id,0);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

$z = imap_fetchstructure($stream_id,1);


$fields = array('type','encoding','ifsubtype','subtype',
'ifdescription','lines','bytes','parameters');

foreach ($fields as $key) {
    var_dump(isset($z->$key));
}
var_dump($z->type);
var_dump($z->encoding);
var_dump($z->bytes);
var_dump($z->lines);
var_dump($z->ifparameters);
var_dump(is_object($z->parameters[0]));

imap_close($stream_id);
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchstructurebasic';
require_once('setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 1 msgs
New mailbox created
imap_fetchstructure(): Argument #2 ($message_num) must be greater than 0
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
int(%d)
int(%d)
int(%d)
int(%d)
int(1)
bool(true)
imap_fetchheader_errors.phpt000064400000002234150456614100012310 0ustar00--TEST--
imap_fetchheader() errors: ValueError and Warnings
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox("imapfetchheadererrors", 0);

try {
    imap_fetchheader($imap_mail_box, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}
try {
    imap_fetchheader($imap_mail_box, 1, -1);
} catch (\ValueError $e) {
    echo $e->getMessage() . \PHP_EOL;
}

// Access not existing
var_dump(imap_fetchheader($imap_mail_box, 255));
var_dump(imap_fetchheader($imap_mail_box, 255, FT_UID));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchheadererrors';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
Create a temporary mailbox and add 0 msgs
New mailbox created
imap_fetchheader(): Argument #2 ($message_num) must be greater than 0
imap_fetchheader(): Argument #3 ($flags) must be a bitmask of FT_UID, FT_PREFETCHTEXT, and FT_INTERNAL

Warning: imap_fetchheader(): Bad message number in %s on line %d
bool(false)

Warning: imap_fetchheader(): UID does not exist in %s on line %d
bool(false)
imap_is_open.phpt000064400000001273150456614100010110 0ustar00--TEST--
Test imap_is_open()
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

// include file for required variables in imap_open()
require_once(__DIR__.'/setup/imap_include.inc');

$mailbox_suffix = 'imapisopen';

// set up temp mailbox with 0 messages
$stream_id = setup_test_mailbox($mailbox_suffix, 0, $mailbox);

var_dump(imap_is_open($stream_id));

// Close connection
var_dump(imap_close($stream_id));
var_dump(imap_is_open($stream_id));

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapisopen';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 0 msgs
New mailbox created
bool(true)
bool(true)
bool(false)
bug45705_1.phpt000064400000000534150456614100007047 0ustar00--TEST--
Bug #45705 test #1 (imap rfc822_parse_adrlist() modifies passed address parameter)
--EXTENSIONS--
imap
--FILE--
<?php

$address = 'John Doe <john@example.com>';
var_dump($address);
imap_rfc822_parse_adrlist($address, '');
var_dump($address);

?>
--EXPECT--
string(27) "John Doe <john@example.com>"
string(27) "John Doe <john@example.com>"
imap_fetchheader_basic.phpt000064400000003556150456614100012065 0ustar00--TEST--
Test imap_fetchheader() function : basic function
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_fetchheader() : basic functionality ***\n";
require_once(__DIR__.'/setup/imap_include.inc');

// Initialise all required variables
$stream_id = setup_test_mailbox('imapfetchheaderbasic', 1, $mailbox, false); // setup temp mailbox with 1 msg
$msg_no = 1;
$options = array('FT_UID' => FT_UID, 'FT_INTERNAL' => FT_INTERNAL,
                 'FT_PREFETCHTEXT' => FT_PREFETCHTEXT);

// Calling imap_fetchheader() with all possible arguments
echo "\n-- All possible arguments --\n";
foreach ($options as $key => $option) {
    echo "-- Option is $key --\n";
    if ($key == 'FT_UID') {
        $msg_uid = imap_uid($stream_id, $msg_no);
        var_dump(imap_fetchheader($stream_id, $msg_uid, $option));
    } else {
        var_dump(imap_fetchheader($stream_id, $msg_no, $option));
    }
}

// Calling imap_fetchheader() with mandatory arguments
echo "\n-- Mandatory arguments --\n";
var_dump( imap_fetchheader($stream_id, $msg_no) );
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchheaderbasic';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_fetchheader() : basic functionality ***
Create a temporary mailbox and add 1 msgs
New mailbox created

-- All possible arguments --
-- Option is FT_UID --
string(%d) "From: foo@anywhere.com
Subject: Test msg 1
To: %s
MIME-Version: 1.0
Content-Type: %s; %s

"
-- Option is FT_INTERNAL --
string(%d) "From: foo@anywhere.com
Subject: Test msg 1
To: %s
MIME-Version: 1.0
Content-Type: %s; %s

"
-- Option is FT_PREFETCHTEXT --
string(%d) "From: foo@anywhere.com
Subject: Test msg 1
To: %s
MIME-Version: 1.0
Content-Type: %s; %s

"

-- Mandatory arguments --
string(%d) "From: foo@anywhere.com
Subject: Test msg 1
To: %s
MIME-Version: 1.0
Content-Type: %s; %s

"
bug80223.phpt000064400000001227150456614100006621 0ustar00--TEST--
Bug #80223 (imap_mail_compose() leaks envelope on malformed bodies)
--EXTENSIONS--
imap
--FILE--
<?php
try {
    imap_mail_compose([], []);
} catch (\ValueError $e) {
    echo $e->getMessage(), \PHP_EOL;
}
try {
    imap_mail_compose([], [1]);
} catch (\TypeError $e) {
    echo $e->getMessage(), \PHP_EOL;
}
try {
    imap_mail_compose([], [[]]);
} catch (\ValueError $e) {
    echo $e->getMessage(), \PHP_EOL;
}
?>
--EXPECT--
imap_mail_compose(): Argument #2 ($bodies) cannot be empty
imap_mail_compose(): Argument #2 ($bodies) individual body must be of type array, int given
imap_mail_compose(): Argument #2 ($bodies) individual body cannot be empty
bug80216.phpt000064400000000651150456614100006623 0ustar00--TEST--
Bug #80216 (imap_mail_compose() does not validate types/encodings)
--EXTENSIONS--
imap
--FILE--
<?php
imap_mail_compose([], [['type' => TYPEMULTIPART], []]);
imap_mail_compose([], [['type' => 12]]);
imap_mail_compose([], [['type' => TYPEMULTIPART], ['type' => 12]]);
imap_mail_compose([], [['encoding' => 8]]);
imap_mail_compose([], [['type' => TYPEMULTIPART], ['encoding' => 8]]);
echo "done\n";
?>
--EXPECT--
done
bug44098.phpt000064400000000367150456614100006637 0ustar00--TEST--
Bug #44098 (imap_utf8() returns only capital letters)
--EXTENSIONS--
imap
--FILE--
<?php
$exp = 'Luzon®14 dot CoM';
$res = imap_utf8('=?iso-8859-1?b?THV6b26uMTQ=?= dot CoM');
var_dump($res);

?>
--EXPECT--
string(17) "Luzon®14 dot CoM"
bug53377.phpt000064400000001136150456614100006632 0ustar00--TEST--
Bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding)
--EXTENSIONS--
imap
--FILE--
<?php
$s = "=?UTF-8?Q?=E2=82=AC?=";
$header = "$s\n $s\n\t$s";

var_dump(imap_mime_header_decode($header));
?>
--EXPECT--
array(3) {
  [0]=>
  object(stdClass)#1 (2) {
    ["charset"]=>
    string(5) "UTF-8"
    ["text"]=>
    string(3) "€"
  }
  [1]=>
  object(stdClass)#2 (2) {
    ["charset"]=>
    string(5) "UTF-8"
    ["text"]=>
    string(3) "€"
  }
  [2]=>
  object(stdClass)#3 (2) {
    ["charset"]=>
    string(5) "UTF-8"
    ["text"]=>
    string(3) "€"
  }
}
imap_append_basic.phpt000064400000003520150456614100011061 0ustar00--TEST--
Test imap_append() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__. '/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_append() : basic functionality ***\n";

require_once(__DIR__. '/setup/imap_include.inc');

echo "Create a new mailbox for test\n";
$imap_stream = setup_test_mailbox("imapappendbaisc", 0);

$mb_details = imap_mailboxmsginfo($imap_stream);
echo "Add a couple of msgs to the new mailbox\n";
var_dump(imap_append($imap_stream, $mb_details->Mailbox
                   , "From: webmaster@example.com\r\n"
                   . "To: info@example.com\r\n"
                   . "Subject: Test message\r\n"
                   . "\r\n"
                   . "this is a test message, please ignore\r\n"
                   ));

var_dump(imap_append($imap_stream, $mb_details->Mailbox
                   , "From: webmaster@example.com\r\n"
                   . "To: info@example.com\r\n"
                   . "Subject: Another test\r\n"
                   . "\r\n"
                   . "this is another test message, please ignore it too!!\r\n"
                   ));

$check = imap_check($imap_stream);
echo "Msg Count after append : ". $check->Nmsgs . "\n";

echo "List the msg headers\n";
var_dump(imap_headers($imap_stream));

imap_close($imap_stream);
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapappendbaisc';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_append() : basic functionality ***
Create a new mailbox for test
Create a temporary mailbox and add 0 msgs
New mailbox created
Add a couple of msgs to the new mailbox
bool(true)
bool(true)
Msg Count after append : 2
List the msg headers
array(2) {
  [0]=>
  string(%d) "%w%s       1)%s webmaster@example.co Test message (%d chars)"
  [1]=>
  string(%d) "%w%s       2)%s webmaster@example.co Another test (%d chars)"
}
imap_fetchbody_variation6.phpt000064400000002550150456614100012564 0ustar00--TEST--
Test imap_fetchbody() function : usage variations - $message_num arg
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
/*
 * Pass different integers, strings, msg sequences and msg UIDs as $message_num argument
 * to test behaviour of imap_fetchbody()
 */

echo "*** Testing imap_fetchbody() : usage variations ***\n";

require_once(__DIR__.'/setup/imap_include.inc');

//Initialise required variables
$stream_id = setup_test_mailbox('imapfetchbodyvar6', 3); // set up temp mailbox with  simple msgs
$section = 1;

$sequences = [0, /* out of range */ 4, 1];

foreach($sequences as $message_num) {
    echo "\n-- \$message_num is $message_num --\n";
    try {
        var_dump(imap_fetchbody($stream_id, $message_num, $section));
    } catch (\ValueError $e) {
        echo $e->getMessage() . \PHP_EOL;
    }
}
?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchbodyvar6';
require_once(__DIR__.'/setup/clean.inc');
?>
--EXPECTF--
*** Testing imap_fetchbody() : usage variations ***
Create a temporary mailbox and add 3 msgs
New mailbox created

-- $message_num is 0 --
imap_fetchbody(): Argument #2 ($message_num) must be greater than 0

-- $message_num is 4 --

Warning: imap_fetchbody(): Bad message number in %s on line %d
bool(false)

-- $message_num is 1 --
string(%d) "1: this is a test message, please ignore
newline%r\R?%r"
bug80220.phpt000064400000001023150456614100006610 0ustar00--TEST--
Bug #80220 (imap_mail_compose() may leak memory) - message/rfc822 regression
--EXTENSIONS--
imap
--FILE--
<?php
$bodies = [[
    'type' => TYPEMESSAGE,
    'subtype' => 'RFC822',
], [
    'contents.data' => 'asd',
]];
var_dump(imap_mail_compose([], $bodies));

$bodies = [[
    'type' => TYPEMESSAGE,
], [
    'contents.data' => 'asd',
]];
var_dump(imap_mail_compose([], $bodies));
?>
--EXPECT--
string(53) "MIME-Version: 1.0
Content-Type: MESSAGE/RFC822


"
string(53) "MIME-Version: 1.0
Content-Type: MESSAGE/RFC822


"
setup/clean.inc000064400000001711150456614100007463 0ustar00<?php
require_once 'imap_include.inc';

if (!isset($mailbox_suffix)) { throw new Exception("No suffix provided"); }

$imap_stream = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);

// delete all msgs in default mailbox, i.e INBOX
$check = imap_check($imap_stream);
for ($i = 1; $i <= $check->Nmsgs; $i++) {
    imap_delete($imap_stream, $i);
}


$mailboxes = imap_getmailboxes($imap_stream, IMAP_SERVER, '*');

if (!is_array($mailbox_suffix)) {
    $mailbox_suffixes = [$mailbox_suffix];
} else {
    $mailbox_suffixes = $mailbox_suffix;
}

foreach ($mailbox_suffixes as $mailbox_suffix) {
    foreach($mailboxes as $value) {
        // Only delete mailbox with our prefix (+ optional test suffix)
        if (preg_match('/\{.*?\}INBOX\.' . IMAP_MAILBOX_PHPT_PREFIX . $mailbox_suffix .'$/', $value->name, $match) == 1) {
            imap_deletemailbox($imap_stream, $value->name);
        }
    }
}

imap_close($imap_stream, CL_EXPUNGE);
setup/skipif.inc000064400000000554150456614100007672 0ustar00<?php
include __DIR__ . '/imap_include.inc';

$options = OP_HALFOPEN; // this should be enough to verify server present
$retries = 0; // don't retry connect on failure

$mbox = @imap_open(IMAP_SERVER, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, $options, $retries);
if (!$mbox) {
    die("skip could not connect to mailbox " . IMAP_SERVER);
}
imap_close($mbox);
setup/dovecot.conf000064400000002526150456614100010225 0ustar00# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
listen = *, ::

# For SSL need to setup a certificate
# See https://wiki.dovecot.org/SSL/DovecotConfiguration
ssl = no

# Disable plaintext to prevent a warning at each login
disable_plaintext_auth = yes

auth_mechanisms = cram-md5
auth_username_format = %u
auth_verbose = yes
auth_debug = yes
auth_failure_delay = 1secs

# This need dovecot 2.3.12.
# login_proxy_timeout = 500milliseconds
# ^ This would allow to kill login processes early, but needs testing. So would use v instead
# login_proxy_timeout = 5s
# There is a 1 second delay between each reconnection attempt.
# https://doc.dovecot.org/settings/core/#login-proxy-max-reconnects
# This need dovecot 2.3.12.
# login_proxy_max_reconnects = 3

# Log config
log_path = /var/log/dovecot.log
# If not set, use the value from log_path
info_log_path = /var/log/dovecot-info.log
# If not set, use the value from info_log_path
debug_log_path = /var/log/dovecot-debug.log
## Mailbox locations and namespaces
mail_location = maildir:/var/vmail/dovecot/mail/%d/%n/Maildir
passdb {
  args = scheme=cram-md5 /etc/dovecot/dovecotpass
  driver = passwd-file
}
protocols = imap
service auth {
  user = root
}
userdb {
  args = /etc/dovecot/dovecotpass
  driver = passwd-file
  override_fields = home=/var/vmail/dovecot/mail/%d/%n
}
setup/imap_include.inc000064400000015201150456614100011031 0ustar00<?php
/** If required change these values to make the test runs */
const IMAP_SERVER_NO_DEBUG = '{127.0.0.1:143/norsh}';
const IMAP_SERVER_DEBUG = '{127.0.0.1:143/debug/norsh}';
const IMAP_SERVER = IMAP_SERVER_DEBUG;
const IMAP_DEFAULT_MAILBOX = IMAP_SERVER . 'INBOX';
const IMAP_MAIL_DOMAIN = 'example.com';
const IMAP_ADMIN_USER = 'webmaster'; // a user with admin access
const IMAP_MAILBOX_USERNAME = IMAP_ADMIN_USER . '@' . IMAP_MAIL_DOMAIN;
const IMAP_MAILBOX_PASSWORD = 'p4ssw0rd';
const IMAP_MAILBOX_PHPT_PREFIX = 'phpttest';
/** Tests require 4 valid userids */
const IMAP_USERS = ["webmaster", "info", "admin", "foo"];

/** list of fields to expect */
const MANDATORY_OVERVIEW_FIELDS = [
    'size',
    'uid',
    'msgno',
    'recent',
    'flagged',
    'answered',
    'deleted',
    'seen',
    'draft',
    'udate',
];

// record test start time (used by displayOverviewFields())
$start_time = time();

/**
 * Display all fields in an element from an imap_fetch_overview() response
 *
 * Special handling for 'udate', which will vary run-to-run; assumes an IMAP
 * server with its clock synced to the current system, which is consistent with
 * setup instructions in ext/imap/tests/README.md
 *
 * @param $resp
 * @param string[] $fields
 */
function displayOverviewFields($resp, array $fields = MANDATORY_OVERVIEW_FIELDS) {
    global $start_time;
    foreach ($fields as $mf) {
        $z = $resp->$mf;
        if ($mf == 'udate') {
            if (($z >= $start_time) && ($z <= time())) {
                echo "$mf is OK\n";
            } else {
                echo "$mf is BAD ($z)\n";
            }
        } else {
            echo "$mf is $z\n";
        }
    }
}


/**
 * Create a test mailbox and populate with msgs
 *
 * @param string mailbox_suffix Suffix used to uniquely identify mailboxes
 * @param int message_count number of test msgs to be written to new mailbox
 * @param null $new_mailbox
 * @param bool $simpleMessages
 * @param int $flags OP_* (or CL_EXPUNGE) flags to pass to imap_open() sub-call
 * @return resource IMAP stream to new mailbox
 * @throws Exception
 */
function setup_test_mailbox(
    string $mailbox_suffix,
    int $message_count,
    &$new_mailbox = null,
    bool $simpleMessages = true,
    int $flags = 0,
){
    // open a stream to default mailbox
    $imap_stream = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, flags: $flags);

    if ($imap_stream === false) {
        throw new Exception("Cannot connect to IMAP server " . IMAP_SERVER . ": " . imap_last_error());
    }

    echo "Create a temporary mailbox and add " . $message_count .  " msgs\n";
    $new_mailbox = create_mailbox($imap_stream, $mailbox_suffix, $message_count, $simpleMessages);

    echo "New mailbox created\n";

    // reopen stream to new mailbox
    if (imap_reopen($imap_stream, $new_mailbox) === false) {
        throw new Exception("Can't re-open '$new_mailbox' mailbox: " . imap_last_error());
    }

    return $imap_stream;
}

/**
 * Create mailbox and fill with generic emails
 *
 * @param resource $imap_stream
 * @param string $mailbox_suffix
 * @param int $message_count
 * @param bool $simpleMessages
 * @return string
 * @throws Exception
 */
function create_mailbox($imap_stream, string $mailbox_suffix, int $message_count, bool $simpleMessages = true): string {
    $mailbox = IMAP_DEFAULT_MAILBOX . '.' . IMAP_MAILBOX_PHPT_PREFIX . $mailbox_suffix;

    $mailboxes = imap_getmailboxes($imap_stream, $mailbox, '*');

    // check mailbox does not already exist
    if ($mailboxes) {
        foreach($mailboxes as $value) {
            if ($value->name == $mailbox) {
                throw new Exception("Mailbox '$mailbox' already exists");
            }
        }
    }

    if (imap_createmailbox($imap_stream, $mailbox) === false) {
        throw new Exception("Can't create a temporary mailbox: " . imap_last_error());
    }

    // Add number of test msgs requested
    if ($message_count > 0) {
        populate_mailbox($imap_stream, $mailbox, $message_count, $simpleMessages);
    }

    return $mailbox;
}

function setup_test_mailbox_for_uid_tests(string $mailbox_suffix, &$msg_no = null, &$msg_uid = null)
{
    $mail_box = setup_test_mailbox($mailbox_suffix, 10);
    echo "Delete 4 messages for Unique ID generation\n";
    // Delete messages to remove the numerical ordering
    imap_delete($mail_box, 3);
    imap_delete($mail_box, 4);
    imap_delete($mail_box, 5);
    imap_delete($mail_box, 6);
    imap_expunge($mail_box);
    $msg_no = 5;
    $msg_uid = 9;

    return $mail_box;
}

/**
 * Populate a mailbox with generic emails
 *
 * @param resource $imap_stream
 * @param string $mailbox
 * @param int $message_count
 * @param bool $simpleMessages
 */
function populate_mailbox($imap_stream, string $mailbox, int $message_count, bool $simpleMessages = true): void {
    for ($i = 1; $i <= $message_count; $i++) {
        if ($simpleMessages) {
            $msg =  "From: foo@anywhere.com\r\n"
                . "To: ". IMAP_USERS[0] . "@" . IMAP_MAIL_DOMAIN . "\r\n"
                . "Subject: test$i\r\n"
                . "\r\n"
                . "$i: this is a test message, please ignore\r\nnewline";
        } else {
            $envelope["from"]= "foo@anywhere.com";
            $envelope["to"]  = IMAP_USERS[0] . "@" . IMAP_MAIL_DOMAIN;
            $envelope["subject"] = "Test msg $i";

            $part1["type"] = TYPEMULTIPART;
            $part1["subtype"] = "mixed";

            $part2["type"] = TYPETEXT;
            $part2["subtype"] = "plain";
            $part2["description"] = "imap_mail_compose() function";
            $part2["contents.data"] = "message 1:xxxxxxxxxxxxxxxxxxxxxxxxxx";

            $part3["type"] = TYPETEXT;
            $part3["subtype"] = "plain";
            $part3["description"] = "Example";
            $part3["contents.data"] = "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy";

            $part4["type"] = TYPETEXT;
            $part4["subtype"] = "plain";
            $part4["description"] = "Return Values";
            $part4["contents.data"] = "message 3:zzzzzzzzzzzzzzzzzzzzzzzzzz";

            $body[1] = $part1;
            $body[2] = $part2;
            $body[3] = $part3;
            $body[4] = $part4;

            $msg = imap_mail_compose($envelope, $body);
        }

        imap_append($imap_stream, $mailbox, $msg);
    }
}

/**
 * Get the mailbox name from a mailbox description, i.e strip off server details.
 *
 * @param string mailbox complete mailbox name
 * @return string mailbox name
 */
function get_mailbox_name(string $mailboxName): string {

    if (preg_match('/\{.*?\}(.*)/', $mailboxName, $match) != 1) {
        throw new Exception("Unrecognized mailbox name '$mailboxName'");
    }

    return $match[1];
}
setup/dovecotpass000064400000000155150456614110010165 0ustar00webmaster@example.com:{CRAM-MD5}be5f3177e9c7c06403272f25d983ba630df4ef40476b353bb3087a8401713451:vmail:vmail
setup/setup.sh000064400000000432150456614110007402 0ustar00sudo service dovecot stop
sudo groupadd -g 5000 vmail
sudo useradd -m -d /var/vmail -s /bin/false -u 5000 -g vmail vmail
sudo cp ext/imap/tests/setup/dovecot.conf /etc/dovecot/dovecot.conf
sudo cp ext/imap/tests/setup/dovecotpass /etc/dovecot/dovecotpass
sudo service dovecot start
bug80710_2.phpt000064400000002230150456614110007037 0ustar00--TEST--
Bug #80710 (imap_mail_compose() header injection) - Remail
--EXTENSIONS--
imap
--FILE--
<?php
$envelope["from"]= "joe@example.com\n From : X-INJECTED";
$envelope["to"]  = "foo@example.com\nFrom: X-INJECTED";
$envelope["cc"]  = "bar@example.com\nFrom: X-INJECTED";
$envelope["subject"]  = "bar@example.com\n\n From : X-INJECTED";
$envelope["remail"]  = "X-INJECTED-REMAIL: X-INJECTED\nFrom: X-INJECTED-REMAIL-FROM"; //<--- Injected as first hdr
$envelope["something"]  = "bar@example.com\nFrom: X-INJECTED";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream\nContent-Type: X-INJECTED";
$part2["description"] = "some file\nContent-Type: X-INJECTED";
$part2["contents.data"] = "ABC\nContent-Type: X-INJECTED";

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo imap_mail_compose($envelope, $body);
?>
--EXPECTF--
Warning: imap_mail_compose(): header injection attempt in remail in %s on line %d
imap_fetch_overview_uid.phpt000064400000001303150456614110012327 0ustar00--TEST--
imap_fetch_overview() passing a unique ID
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php

require_once(__DIR__.'/setup/imap_include.inc');

$imap_mail_box = setup_test_mailbox_for_uid_tests("imapfetchoverviewuid", $msg_no, $uid);

// Usage of == because comparing objects
var_dump(imap_fetch_overview($imap_mail_box, $uid, FT_UID) == imap_fetch_overview($imap_mail_box, $msg_no));

imap_close($imap_mail_box);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchoverviewuid';
require_once(__DIR__ . '/setup/clean.inc');
?>
--EXPECT--
Create a temporary mailbox and add 10 msgs
New mailbox created
Delete 4 messages for Unique ID generation
bool(true)
imap_fetch_overview_basic.phpt000064400000003326150456614110012636 0ustar00--TEST--
Test imap_fetch_overview() function : basic functionality
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once(__DIR__.'/setup/skipif.inc');
?>
--FILE--
<?php
echo "*** Testing imap_fetch_overview() : basic functionality ***\n";

require_once __DIR__.'/setup/imap_include.inc';

// create a new mailbox and add two new messages to it
$stream_id = setup_test_mailbox('imapfetchoverviewbasic', 2, $mailbox, false);

// get UID for new message
$msg_no = imap_uid($stream_id, 1);
$options = FT_UID;

// Calling imap_fetch_overview() with all possible arguments
echo "\n-- All possible arguments --\n";
$a =  imap_fetch_overview($stream_id, "$msg_no", $options) ;
echo "\n--> Object #1\n";
displayOverviewFields($a[0]);

// Calling imap_fetch_overview() with mandatory arguments
echo "\n-- Mandatory arguments --\n";
$a = imap_fetch_overview($stream_id, '1:2') ;

//first object in array
echo "\n--> Object #1\n";
displayOverviewFields($a[0]);

//Second object in array
echo "\n--> Object #2\n";
displayOverviewFields($a[1]);

imap_close($stream_id);

?>
--CLEAN--
<?php
$mailbox_suffix = 'imapfetchoverviewbasic';
require_once __DIR__.'/setup/clean.inc';
?>
--EXPECTF--
*** Testing imap_fetch_overview() : basic functionality ***
Create a temporary mailbox and add 2 msgs
New mailbox created

-- All possible arguments --

--> Object #1
size is %d
uid is %d
msgno is 1
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

-- Mandatory arguments --

--> Object #1
size is %d
uid is %d
msgno is 1
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK

--> Object #2
size is %d
uid is %d
msgno is 2
recent is %d
flagged is 0
answered is 0
deleted is 0
seen is 0
draft is 0
udate is OK
imap_errors_basic.phpt000064400000001073150456614110011130 0ustar00--TEST--
Test imap_errors() function : anonymous user not supported
--EXTENSIONS--
imap
--SKIPIF--
<?php
require_once __DIR__.'/setup/skipif.inc';
?>
--FILE--
<?php
echo "*** Testing imap_errors() : anonymous user not supported ***\n";
require_once __DIR__.'/setup/imap_include.inc';

$mbox = @imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD, OP_ANONYMOUS);

echo "List any errors\n";
var_dump(imap_errors());

?>
--EXPECTF--
*** Testing imap_errors() : anonymous user not supported ***
List any errors
array(1) {
  [0]=>
  string(%d) "%s"
}
306_Imagick_interpolativeResizeImage.phpt000064400000001037150457363150014501 0ustar00--TEST--
Test Imagick, interpolativeResizeImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('interpolativeResizeImage'));
?>
--FILE--
<?php


function interpolativeResizeImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->interpolativeResizeImage(
		320,
		200,
		Imagick::INTERPOLATE_CATROM
	);
//    $imagick->writeImage(__DIR__ . '/claheImage_output_image.png');
    $imagick->getImageBlob();
}

interpolativeResizeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
159_Imagick_transformImage_basic.phpt000064400000001143150457363150013612 0ustar00--TEST--
Test Imagick, transformImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('transformimage'));
?>
--FILE--
<?php


function transformimage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $newImage = $imagick->transformImage("400x600", "200x300");
    $bytes = $newImage->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

transformimage() ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s Imagick::transformImage() is deprecated in %s
Ok
173_ImagickDraw_bezier_basic.phpt000064400000004353150457363150012734 0ustar00--TEST--
Test ImagickDraw, bezier
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function bezier($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $smoothPointsSet = array(
        array(
            array('x' => 10.0 * 5, 'y' => 10.0 * 5),
            array('x' => 30.0 * 5, 'y' => 90.0 * 5),
            array('x' => 25.0 * 5, 'y' => 10.0 * 5),
            array('x' => 50.0 * 5, 'y' => 50.0 * 5),
        ),
        array(
            array('x' => 50.0 * 5, 'y' => 50.0 * 5),
            array('x' => 75.0 * 5, 'y' => 90.0 * 5),
            array('x' => 70.0 * 5, 'y' => 10.0 * 5),
            array('x' => 90.0 * 5, 'y' => 40.0 * 5),
        ),
    );

    foreach ($smoothPointsSet as $points) {
        $draw->bezier($points);
    }


    $disjointPoints = array(
        array(
            array('x' => 10 * 5, 'y' => 10 * 5),
            array('x' => 30 * 5, 'y' => 90 * 5),
            array('x' => 25 * 5, 'y' => 10 * 5),
            array('x' => 50 * 5, 'y' => 50 * 5),
        ),
        array(
            array('x' => 50 * 5, 'y' => 50 * 5),
            array('x' => 80 * 5, 'y' => 50 * 5),
            array('x' => 70 * 5, 'y' => 10 * 5),
            array('x' => 90 * 5, 'y' => 40 * 5),
        )
    );
    $draw->translate(0, 200);

    foreach ($disjointPoints as $points) {
        $draw->bezier($points);
    }

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object 
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

bezier($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok004_clone.phpt000064400000000772150457363150007143 0ustar00--TEST--
Testing clone keyword
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
print "--- Testing clone keyword\n";

try {
	$im = new Imagick();
	$im->newImage(100, 100, new ImagickPixel("white"));
	$new = clone $im;
	
	if ($new->getImageWidth() == 100 && $new->getImageHeight() == 100) {
		echo "Cloning succeeded\n";
	} else {
		echo "Cloning failed\n";
	}
} catch (Exception $e) {
	echo "Cloning failed\n";
}
?>
--EXPECTF--
--- Testing clone keyword
Cloning succeeded236_Imagick_identify_basic.phpt000064400000001607150457363150012450 0ustar00--TEST--
Test Imagick, identifyImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->setImageFormat('png');
$data = $imagick->identifyimage();

echo "format: " . strtolower($data["format"]) . "\n";
echo "units: " . strtolower($data["units"]) . "\n";
echo "type: " . strtolower($data["type"]) . "\n";

if (array_key_exists('geometry', $data)) {
	$geometry = $data['geometry'];
	if (array_key_exists('width', $geometry) && array_key_exists('height', $geometry)) {
		printf(
			"Image geometry %dx%d",
			$geometry['width'],
			$geometry['height']
		);
		exit(0);
	}
}

echo "Failed get geometry from identifyimage:\n";
var_dump($data);

?>
--EXPECTF--
format: png (portable network graphics)
units: undefined
type: palette
Image geometry 640x480119_Imagick_sepiaToneImage_basic.phpt000064400000000754150457363150013531 0ustar00--TEST--
Test Imagick, sepiaToneImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$sepia = 55;

function sepiaToneImage($sepia) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->sepiaToneImage($sepia);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

sepiaToneImage($sepia) ;
echo "Ok";
?>
--EXPECTF--
Ok070_Imagick_equalizeImage_case2.phpt000064400000001275150457363150013330 0ustar00--TEST--
Test Imagick, equalizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


//This appears to corrupt the image colors?
function extentImage($startX, $startY, $width, $height) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->equalizeImage();
    $imagick->extentImage(
        $startX, $startY, $width, $height
    );
    
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}
$startX = 50;
$startY = 50;
$width = 150;
$height = 150;

extentImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok144_Imagick_spliceImage_basic.phpt000064400000001133150457363150013047 0ustar00--TEST--
Test Imagick, spliceImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$startX = 50;
$startY = 50;
$width = 50;
$height = 50;

function spliceImage($startX, $startY, $width, $height) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->spliceImage($width, $height, $startX, $startY);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

spliceImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok074_Imagick_flopImage_basic.phpt000064400000000672150457363150012541 0ustar00--TEST--
Test Imagick, flopImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php


function flopImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->flopImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

flopImage() ;
echo "Ok";
?>
--EXPECTF--
Ok266_ImagickDraw_getFontResolution_basic.phpt000064400000003474150457363150015154 0ustar00--TEST--
Test ImagickDraw, getFontResolution
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickDraw', array('getFontResolution', 'setFontResolution'));
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';


$draw = new \ImagickDraw();
setFontForImagickDraw($draw);

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$fontResolution = $draw->getFontResolution();

if (isset($fontResolution["x"]) == false || isset($fontResolution["y"]) == false) {
	echo "$fontResolution doesn't contain expected values:\n";
	var_dump($fontResolution);
}

if ($fontResolution["x"] < 8 || $fontResolution["x"] > 100) {
	echo "Font resolution x outside expected range: ".$fontResolution["x"]."\n";
}
if ($fontResolution["y"] < 8 || $fontResolution["y"] > 100) {
	echo "Font resolution y outside expected range: ".$fontResolution["y"]."\n";
}

$resolutionToSet = 36;

$draw->setFontResolution($resolutionToSet, $resolutionToSet);
$fontResolution = $draw->getFontResolution();

if (abs($fontResolution["x"] - $resolutionToSet) > 0.0001) {
	echo "Font resolution x after set is not $resolutionToSet instead: ".$fontResolution["x"]."\n";
}
if (abs($fontResolution["y"] - $resolutionToSet) > 0.0001) {
	echo "Font resolution y after set is not $resolutionToSet instead: ".$fontResolution["y"]."\n";
}

$draw->line(125, 70, 100, 50);
$draw->annotation(50, 32, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);


$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 


echo "Ok";
?>

--EXPECTF--
Ok251_ImagickPixelIterator_setIteratorRow_basic.phpt000064400000002001150457363150016330 0ustar00--TEST--
Test ImagickPixelIterator, setIteratorRow
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function setIteratorRow() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imageIterator = $imagick->getPixelRegionIterator(200, 100, 200, 200);

    for ($x = 0; $x < 20; $x++) {        
        $imageIterator->setIteratorRow($x * 5);
        $pixels = $imageIterator->getCurrentIteratorRow();
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $pixel) {
            /** @var $pixel \ImagickPixel */
            /* Paint every second pixel black*/
            $pixel->setColor("rgba(0, 0, 0, 0)"); 
        }

        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setIteratorRow() ;
echo "Ok";
?>
--EXPECTF--
Ok280_imagickkernel_exception_invalid_origin.phpt000064400000004442150457363150016007 0ustar00--TEST--
ImagickKernel::fromMatrix exceptions
--SKIPIF--
<?php 

$imageMagickRequiredVersion = 0x680;
require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


$kernelArray = array(
	array(1, 0, -1),
	array(1, 0, -1),
	array(1, 0, -1),
);

$validOrigins = [
    [0, 0],
    [2, 0],
    [0, 2],
    [2, 2],
    [1, 2]
];

$invalidOrigins = [
    [-1, 0],
    [3, 0],
    [0, 3],
    [3, 3],
    [1, PHP_INT_MAX - 10],
];


foreach ($validOrigins as $validOrigin) {
    try {
        $kernel = ImagickKernel::fromMatrix($kernelArray, $validOrigin);
    }
    catch (\Exception $e) {
        echo "unexpected exception: " . $e->getMessage();
    }
}

foreach ($invalidOrigins as $invalidOrigin) {
    try {
        $kernel = ImagickKernel::fromMatrix($kernelArray, $invalidOrigin);
        echo "Exception wasn't thrown for case: \n";
        var_dump($invalidOrigin);
    }
    catch (\ImagickKernelException $e) {
        $message = $e->getMessage();
        if (strpos($message, "origin_y for matrix is outside bounds of rows") === 0) {
            // this is fine.
        }
        else if (strpos($message, "origin_x for matrix is outside bounds of columns") === 0) {
            // this is fine.
        }
        else {
            echo "Unexpected message: " . $message . "\n";
        }
    }
}

$flatKernelArray = array(
	array(1, 0, -2, 0, 1),
);

try {
    $kernel = ImagickKernel::fromMatrix($flatKernelArray, [1, 4]);
    echo "Exception wasn't thrown for case: \n";
    var_dump($invalidOrigin);
}
catch (\ImagickKernelException $e) {
    $message = $e->getMessage();
    if (strpos($message, "origin_y for matrix is outside bounds of rows") === 0) {
        // this is fine.
    }
    else {
        echo "Unexpected message: " . $message . "\n";
    }
}


$tallKernelArray = array(
	array(1),
	array(0),
	array(-2),
	array(0),
	array(1),
);


try {
    $kernel = ImagickKernel::fromMatrix($tallKernelArray, [4, 1]);
    echo "Exception wasn't thrown for case: \n";
    var_dump($invalidOrigin);
}
catch (\ImagickKernelException $e) {
    $message = $e->getMessage();
    if (strpos($message, "origin_x for matrix is outside bounds of columns") === 0) {
        // this is fine.
    }
    else {
        echo "Unexpected message: " . $message . "\n";
    }
}



echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
100_Imagick_posterizeImage_basic.phpt000064400000001115150457363150013604 0ustar00--TEST--
Test Imagick, posterizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$posterizeType = 2;
$numberLevels = 8;

function posterizeImage($posterizeType, $numberLevels) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->posterizeImage($numberLevels, $posterizeType);
    $imagick->setImageFormat('png');
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

posterizeImage($posterizeType, $numberLevels) ;
echo "Ok";
?>
--EXPECTF--
Ok220_ImagickDraw_setStrokeOpacity_basic.phpt000064400000002201150457363150014747 0ustar00--TEST--
Test ImagickDraw, setStrokeOpacity
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeOpacity($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(10);
    $draw->setStrokeOpacity(1);
    $draw->line(100, 80, 400, 125);
    $draw->rectangle(25, 200, 150, 350);
    $draw->setStrokeOpacity(0.5);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(200, 200, 325, 350);
    $draw->setStrokeOpacity(0.2);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(375, 200, 500, 350);

    $image = new \Imagick();
    $image->newImage(550, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeOpacity($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok217_ImagickDraw_setStrokeMiterLimit_basic.phpt000064400000002644150457363150015437 0ustar00--TEST--
Test ImagickDraw, setStrokeMiterLimit
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeMiterLimit($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeOpacity(0.6);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(10);

    $yOffset = 100;

    $draw->setStrokeLineJoin(\Imagick::LINEJOIN_MITER);

    for ($y = 0; $y < 3; $y++) {

        $draw->setStrokeMiterLimit(40 * $y);

        $points = array(
            array('x' => 22 * 3, 'y' => 15 * 4 + $y * $yOffset),
            array('x' => 20 * 3, 'y' => 20 * 4 + $y * $yOffset),
            array('x' => 70 * 5, 'y' => 45 * 4 + $y * $yOffset),
        );

        $draw->polygon($points);
    }

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $image->setImageType(\Imagick::IMGTYPE_PALETTE);
    //TODO - this should either be everywhere or nowhere
    $image->setImageCompressionQuality(100);
    $image->stripImage();

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeMiterLimit($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok320_Imagick_getOptions.phpt000064400000001614150457363150011617 0ustar00--TEST--
Test Imagick, getOptions
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getOptions'));
?>
--FILE--
<?php

function getOptions() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $result = $imagick->getOptions();

    if ($result !== []) {
    	echo "unexpected contents of options:\n";
    	var_dump($result);
    }

    $imagick->setOption("jpeg:preserve", "yes");

    $result = $imagick->getOptions();
    $expected = ["jpeg:preserve" => "yes"];

    if ($result !== $expected) {
        echo "unexpected contents of options:\n";
        var_dump($result);
    }

    $imagick->deleteOption("jpeg:preserve");
    $result = $imagick->getOptions();

    if ($result !== []) {
    	echo "unexpected contents of options, failed to delete the set one:\n";
    	var_dump($result);
    }
}

getOptions() ;
echo "Ok";
?>
--EXPECTF--
Ok
276_Imagick_artifacts.phpt000064400000001176150457363150011461 0ustar00--TEST--
Test Imagick::setImageArtifact and Imagick::getImageArtifact
--SKIPIF--
<?php

$imageMagickRequiredVersion = 0x656;

require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('setImageArtifact', 'getImageArtifact', 'deleteImageArtifact'));

?>
--FILE--
<?php

$im = new IMagick(__DIR__ . '/php.gif');

/* Examle from http://php.net/manual/de/imagick.setimageartifact.php */
var_dump($im->setImageArtifact('compose:args', '1,0,-0.5,0.5'));

var_dump($im->getImageArtifact('compose:args'));
var_dump($im->deleteImageArtifact('compose:args'));

?>
--EXPECT--
bool(true)
string(12) "1,0,-0.5,0.5"
bool(true)106_Imagick_reduceNoiseImage_basic.phpt000064400000001105150457363150014032 0ustar00--TEST--
Test Imagick, reduceNoiseImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('reduceNoiseImage'));
?>
--FILE--
<?php

$reduceNoise = 5;

function reduceNoiseImage($reduceNoise) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    @$imagick->reduceNoiseImage($reduceNoise);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

reduceNoiseImage($reduceNoise) ;
echo "Ok";
?>
--EXPECTF--
Ok294_Imagick_cannyEdgeImage.phpt000064400000001151150457363150012332 0ustar00--TEST--
Test Imagick, cannyEdgeImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('cannyEdgeImage'));
?>
--FILE--
<?php


function cannyEdgeImage() {
    $path = realpath(__DIR__ . '/Biter_500.jpg');

    if ($path === false) {
        echo "Image is not readable.\n";
        exit(-1);
    }

    $imagick = new \Imagick();
    $imagick->readImage($path);

    $imagick->cannyEdgeImage(10, 4, 0.1, 0.5);
//    $imagick->writeImage(__DIR__ . '/cannyEdgeImage_output_image.png');
    $imagick->getImageBlob();
}

cannyEdgeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
188_ImagickDraw_pushPattern_basic.phpt000064400000002753150457363150014001 0ustar00--TEST--
Test ImagickDraw, pushPattern
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function pushPattern($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
    for ($x = 0; $x < 50; $x += 10) {
        for ($y = 0; $y < 50; $y += 5) {
            $positionX = $x + (($y / 5) % 5);
            $draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
        }
    }
    $draw->popPattern();

    $draw->setFillOpacity(0);
    $draw->rectangle(100, 100, 400, 400);
    $draw->setFillOpacity(1);

    $draw->setFillOpacity(1);

    $draw->push();
    $draw->setFillPatternURL('#MyFirstPattern');
    $draw->setFillColor('yellow');
    $draw->rectangle(100, 100, 400, 400);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

pushPattern($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok261_compositeImageGravity.phpt000064400000001446150457363150012362 0ustar00--TEST--
Test compositeImageGravity
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');

$v = Imagick::getVersion();
if ($v['versionNumber'] < 0x693)
	die ('skip too old ImageMagick');

// if ($v ['versionNumber'] >= 0x660 && $v ['versionNumber'] < 0x670)
//	die ('skip seems to be broken in this version of ImageMagick');
?>
--FILE--
<?php

$im1 = new Imagick("magick:logo");


$im2 = new Imagick("magick:logo");

$im2->scaleImage(
	$im2->getImageWidth() / 2,
	$im2->getImageHeight() / 2
);

$im1->compositeImageGravity(
	$im2,
	\Imagick::COMPOSITE_ATOP,
	\Imagick::GRAVITY_NORTHEAST
);

$im1->compositeImageGravity(
	$im2,
	\Imagick::COMPOSITE_ATOP,
	\Imagick::GRAVITY_SOUTH
);

// $im1->setImageFormat('png');
// $im1->writeImage('compositeImageGravity.png');

echo "Ok";

?>
--EXPECT--
Ok131_Imagick_setOption_case2.phpt000064400000001003150457363150012515 0ustar00--TEST--
Test Imagick, setOption
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$imageOption = 0;
$format = 'png64';

function renderPNG($format) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageFormat('png');
    $imagick->setOption('png:format', $format);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

renderPNG($format) ;
echo "Ok";
?>
--EXPECTF--
Ok314_Imagick_getBackgroundColor.phpt000064400000001365150457363150013250 0ustar00--TEST--
Test Imagick, getBackgroundColor
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getBackgroundColor'));
?>
--FILE--
<?php

function getBackgroundColor() {
    $imagick = new \Imagick();
    $background_color = $imagick->getBackgroundColor();

    /** @var $background_color \ImagickPixel */
    echo "Color is: " . $background_color->getColorAsString() . "\n";

    $imagick->setBackgroundColor('red');
    $background_color = $imagick->getBackgroundColor();

    /** @var $background_color \ImagickPixel */
    echo "Color is now: " . $background_color->getColorAsString() . "\n";

}

getBackgroundColor() ;
echo "Ok";
?>
--EXPECTF--
Color is: srgb(255,255,255)
Color is now: srgb(255,0,0)
Ok
027_Imagick_adaptiveResizeImage_basic.phpt000064400000001131150457363150014545 0ustar00--TEST--
Test Imagick, adaptiveResizeImage
--SKIPIF--
<?php 
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php

$width = 200;
$height = 200;
$bestFit = 1;

function adaptiveResizeImage($width, $height, $bestFit) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->adaptiveResizeImage($width, $height, $bestFit);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

adaptiveResizeImage($width, $height, $bestFit) ;
echo "Ok";
?>
--EXPECTF--
Ok321_Imagick_getOrientation.phpt000064400000001143150457363150012455 0ustar00--TEST--
Test Imagick, getOrientation/setOrientation
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getOrientation'));
?>
--FILE--
<?php

function getOrientation() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $orientation = $imagick->getOrientation();

    echo "Orientation is $orientation\n";
    $imagick->setOrientation(Imagick::ORIENTATION_LEFTBOTTOM);
	$orientation = $imagick->getOrientation();

    echo "Orientation is now $orientation\n";
}

getOrientation() ;
echo "Ok";
?>
--EXPECTF--
Orientation is 0
Orientation is now 8
Ok
073_Imagick_forwardFourierTransformImage_basic.phpt000064400000003432150457363150016471 0ustar00--TEST--
Test Imagick, forwardFourierTransformImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;

require_once(dirname(__FILE__) . '/skipif.inc'); 
require_once(dirname(__FILE__) . '/skipprobefourier.inc');

?>
--FILE--
<?php


//Utility function for forwardTransformImage
function createMask() {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(0);
    $draw->setStrokeColor('rgb(255, 255, 255)');
    $draw->setFillColor('rgb(255, 255, 255)');

    //Draw a circle on the y-axis, with it's centre
    //at x, y that touches the origin
    $draw->circle(250, 250, 220, 250);

    $imagick = new \Imagick();
    $imagick->newImage(512, 512, "black");
    $imagick->drawImage($draw);
    $imagick->gaussianBlurImage(20, 20);
    $imagick->autoLevelImage();

    return $imagick;
}


function forwardFourierTransformImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);

    $mask = createMask();
    $imagick->forwardFourierTransformImage(true);

    $imagick->setIteratorIndex(0);
    $magnitude = $imagick->getimage();

    $imagick->setIteratorIndex(1);
    $imagickPhase = $imagick->getimage();

    if (true) {
        $imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
    }

    if (false) {
        $output = clone $imagickPhase;
        $output->setimageformat('png');
    $bytes = $output->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
    }

    $magnitude->inverseFourierTransformImage($imagickPhase, true);

    $magnitude->setimageformat('png');
    $bytes = $magnitude->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

forwardFourierTransformImage() ;
echo "Ok";
?>
--EXPECTF--
Ok243_Tutorial_svgExample_basic.phpt000064400000002516150457363150013205 0ustar00--TEST--
Test Tutorial, svgExample
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function svgExample() {

    $svg = <<< END
<?xml version="1.0"?>
<svg version='1.0' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='746' height='742' viewBox='-362 -388 746 742' encoding='UTF-8' standalone='no'>
    <defs>
        <ellipse id='ellipse' cx='36' cy='-56' rx='160' ry='320' />
        <g id='ellipses'>
            <use xlink:href='#ellipse' fill='#0000ff' />
            <use xlink:href='#ellipse' fill='#0099ff' transform='rotate(72)' />
        </g>
    </defs>
</svg>
END;

    
    
    $svg = '<?xml version="1.0"?>
    <svg width="120" height="120"
         viewPort="0 0 120 120" version="1.1"
         xmlns="http://www.w3.org/2000/svg">

        <defs>
            <clipPath id="myClip">
                <circle cx="30" cy="30" r="20"/>
                <circle cx="70" cy="70" r="20"/>
            </clipPath>
        </defs>

        <rect x="10" y="10" width="100" height="100"
              clip-path="url(#myClip)"/>

    </svg>';



    
    $image = new \Imagick();

    $image->readImageBlob($svg);
    $image->setImageFormat("jpg");
    $bytes = $image;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

svgExample() ;
echo "Ok";
?>
--EXPECTF--
Ok198_ImagickDraw_setClipPath_basic.phpt000064400000002016150457363150013675 0ustar00--TEST--
Test ImagickDraw, setClipPath
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setClipPath($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $clipPathName = 'testClipPath';

    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(100, 100, 400, 400);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setClipPath($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok227_ImagickDraw_skewY_basic.phpt000064400000002220150457363150012545 0ustar00--TEST--
Test ImagickDraw, skewY
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';
$startX = 50;
$startY = 50;
$endX = 400;
$endY = 400;
$skew = 10;

function skewY($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor, 
               $startX, $startY, $endX, $endY, $skew) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);
    $draw->setFillColor($fillModifiedColor);
    $draw->skewY($skew);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

skewY($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
	$startX, $startY, $endX, $endY, $skew);
echo "Ok";
?>
--EXPECTF--
Ok281_imagick_houghLineImage_basic.phpt000064400000001351150457363150013556 0ustar00--TEST--
Test Imagick, houghLineImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('houghLineImage'));
?>
--FILE--
<?php


function houghLineImage() {
    $path = realpath(__DIR__ . '/houghline_input_image.png');

    if ($path === false) {
        echo "Image is not readable.\n";
        exit(-1);
    }

    $imagick = new \Imagick();
    $imagick->readImage($path);
    $imagick->setbackgroundcolor('rgb(64, 64, 64)');
    $imagick->houghLineImage(20,40, 40);
    $imagick->writeImage(__DIR__ . '/houghline_output_image.png');
}

houghLineImage() ;
echo "Ok";
?>
--CLEAN--
<?php
$f = __DIR__ . '/houghline_output_image.png';
if (file_exists($f)) {
    @unlink($f);
}
?>
--EXPECTF--
Ok
088_Imagick_implodeImageWithMethod_basic.phpt000064400000001347150457363150015234 0ustar00--TEST--
Test Imagick, implodeImageWithMethod
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function implodeImage($method) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->implodeImageWithMethod(1.15, $method);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
//    $imagick->writeImage(__DIR__ . "/implodeImageWithMethod_$method.png");
}

$methods = [
    Imagick::INTERPOLATE_SPLINE,
    Imagick::INTERPOLATE_AVERAGE_16,
    Imagick::INTERPOLATE_BACKGROUND_COLOR
];

foreach ($methods as $method) {
    implodeImage($method);
}
echo "Ok";
?>
--EXPECTF--
Ok076_Imagick_fxImage_basic.phpt000064400000001103150457363150012206 0ustar00--TEST--
Test Imagick, fxImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkFormatPresent('png');
?>
--FILE--
<?php


function fxImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(200, 200, "xc:white");

    $fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5';
    $fxImage = $imagick->fxImage($fx);

    $fxImage->setimageformat('png');
    $bytes = $fxImage->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

fxImage() ;
echo "Ok";
?>
--EXPECTF--
Ok028_Imagick_adaptiveSharpenImage_basic.phpt000064400000001157150457363150014715 0ustar00--TEST--
Test Imagick, adaptiveSharpenImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;

function adaptiveSharpenImage($radius, $sigma, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->adaptiveSharpenImage($radius, $sigma, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

adaptiveSharpenImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok272_imagick_identifyimagetype.phpt000064400000000675150457363150013260 0ustar00--TEST--
Test identifyImageType
--SKIPIF--
<?php 

require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('identifyImageType'));

?>
--FILE--
<?php

$im = new Imagick();
$im->newPseudoImage(100, 100, "magick:logo");

$type = $im->identifyImageType();

if ($type !== Imagick::IMGTYPE_PALETTE) {
	echo "Unexpected type value. Expecting: ".Imagick::IMGTYPE_PALETTE.", but got $type. \n";
}
echo "Ok";

?>
--EXPECTF--
Ok132_Imagick_setOption_case3.phpt000064400000001054150457363150012525 0ustar00--TEST--
Test Imagick, setOption
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$imageOption = 0;

function renderCustomBitDepthPNG() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageFormat('png');
    $imagick->setOption('png:bit-depth', '16');
    $imagick->setOption('png:color-type', 6);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

renderCustomBitDepthPNG() ;
echo "Ok";
?>
--EXPECTF--
Ok175_ImagickDraw_arc_basic.phpt000064400000002412150457363150012215 0ustar00--TEST--
Test ImagickDraw, arc
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$startX = 50;
$startY = 50;
$endX = 400;
$endY = 400;
$startAngle = 0;
$endAngle = 270;

function arc($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $startAngle, $endAngle) {

    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);

    $draw->arc($startX, $startY, $endX, $endY, $startAngle, $endAngle);

    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object 
    //into the image.
    $image->drawImage($draw);

    //Send the image to the browser
    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

arc($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $startAngle, $endAngle) ;
echo "Ok";
?>
--EXPECTF--
Ok250_ImagickPixelIterator_resetIterator_basic.phpt000064400000003204150457363150016174 0ustar00--TEST--
Test ImagickPixelIterator, resetIterator
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function resetIterator() {

    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $imageIterator = $imagick->getPixelIterator();

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {

                /* Make every second pixel 25% red*/
                $pixel->setColorValue(\Imagick::COLOR_RED, 64); 
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $imageIterator->resetiterator();

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) {
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 3) {
                $pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Make every second pixel a little blue*/
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    $imageIterator->clear();

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

resetIterator() ;
echo "Ok";
?>
--EXPECTF--
Ok025-get-color.phpt000064400000006523150457363150007657 0ustar00--TEST--
Test getColor and getColorQuantum
--SKIPIF--
<?php 

require_once(dirname(__FILE__) . '/skipif.inc');


?>
--FILE--
<?php

define('ORIGINAL', 'ORIGINAL');
define('NORMALISED', 'NORMALISED');
define('NORMALISED_INCLUDING_ALPHA', 'NORMALISED_INCLUDING_ALPHA');
define('QUANTUM', 'QUANTUM');

function checkExpectedValue($expectedValue, $actualValue, $hasVariance) {

	$variance = 0; 

	// Behaviour of 50% pixel was changed in 
	// key = version
	// value = variance expected in result
	$troubledVersions = array(
		0x692 => 1
	);
	$v = Imagick::getVersion();
	$versionNumber = $v['versionNumber'];

	if (array_key_exists($versionNumber, $troubledVersions)) {
		$variance = $troubledVersions[$versionNumber];
	}

	if (Imagick::getHDRIEnabled()) {
		return abs($expectedValue - $actualValue) < (0.01 + $variance);
	}

	if ($hasVariance) {
		$difference = abs($expectedValue - $actualValue);
		if ($difference < 1 + $variance) {
			return true;
		}
		echo "difference $difference not < 1 + variance $variance\n";
		return false;
	}
	else if($expectedValue == $actualValue) {
		return true;
	}

	return false;
}

function getExpectedValue($someValue) {
	if (Imagick::getHDRIEnabled()) {
		return $someValue;
	}

	$v = Imagick::getVersion();
	if ($v['versionNumber'] >= 0x692) {
		//this is the new correct behaviour
		return (intval(round($someValue, 0, PHP_ROUND_HALF_UP)));
	}
	else {
		//old behaviour had wrong rounding.
		return (intval(round($someValue, 0, PHP_ROUND_HALF_DOWN)));
	}
}


$tests = array(
	array(
		'red',
		ORIGINAL,  
		array(
			array('r', getExpectedValue(255), 0),
			array('a', getExpectedValue(1.0), 0)
		),
	),
	array(
		'red',
		QUANTUM,  
		array(
			array('r', getExpectedValue(\Imagick::getQuantum()), 0),
			array('a', getExpectedValue(\Imagick::getQuantum()), 0)
		),
	),
	array(
		'rgb(25%, 25%, 25%)',
		QUANTUM,
		array(
			array('r', getExpectedValue(\Imagick::getQuantum() / 4), 0),
			array('a', getExpectedValue(\Imagick::getQuantum()), 0),
		)
	)
);

$version = Imagick::getVersion();
// The following don't seem stable in lesser versions.
if ($version['versionNumber'] >= 0x687) {
	$tests[] = array(
		'green',
		QUANTUM,  
		array(
			array('g', getExpectedValue(\Imagick::getQuantum() * (128 / 255)), 1),
			array('a', getExpectedValue(\Imagick::getQuantum()), 1)
		),
	);

	$tests[] = array(
		'rgb(0, 50%, 0)',
		QUANTUM,  
		array(
			array('g', getExpectedValue(\Imagick::getQuantum() / 2), 1),
			array('a', getExpectedValue(\Imagick::getQuantum()), 0)
		),
	);
}


foreach ($tests as $test) {

	list($colorString, $type, $expectations) = $test;
	$pixel = new ImagickPixel($colorString);

	switch ($type) {

		case(ORIGINAL): {
			$color = $pixel->getColor();
			break;
		}

		case(NORMALISED): {
			$color = $pixel->getColor(true);
			break;
		}

		case(NORMALISED_INCLUDING_ALPHA): {
			$color = $pixel->getColor(2);
			break;
		}

		case(QUANTUM): {
			$color = $pixel->getColorQuantum();
			break;
		}

		default:{
			echo "Unknown test type $type" . PHP_EOL;
			break;
		}
	}

	foreach ($expectations as $test) {
		list($key, $expectedValue, $hasVariance) = $test;
		if (!checkExpectedValue($expectedValue, $color[$key], $hasVariance)) {
			printf( 
				"%s %s is wrong for colorString '%s': actual %s != expected %s"  . PHP_EOL,
				$type,
				$key, $colorString,
				$color[$key], $expectedValue
			);
		}
	}
}

echo "OK" . PHP_EOL;
?>
--EXPECT--
OK152_Imagick_swirlImageWithMethod_basic.phpt000064400000001044150457363150014725 0ustar00--TEST--
Test Imagick, swirlImageWithMethod
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$swirl = 100;

function swirlImageWithMethod($swirl) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->swirlImageWithMethod($swirl, Imagick::INTERPOLATE_BILINEAR);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

swirlImageWithMethod($swirl) ;
echo "Ok";
?>
--EXPECTF--
Ok185_ImagickDraw_point_basic.phpt000064400000001370150457363150012604 0ustar00--TEST--
Test ImagickDraw, point
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function point($fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setFillColor($fillColor);

    for ($x = 0; $x < 10000; $x++) {
        $draw->point(rand(0, 500), rand(0, 500));
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

point($fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok239_Tutorial_gradientReflection_basic.phpt000064400000002511150457363150014702 0ustar00--TEST--
Test Tutorial, gradientReflection
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function gradientReflection() {
    $im = new \Imagick();
    $im->newPseudoImage(640, 480, "magick:logo");
    
    $reflection = clone $im;

    $reflection->flipImage();

    $reflection->cropImage($im->getImageWidth(), $im->getImageHeight() * 0.75, 0, 0);

    $gradient = new \Imagick();
    $gradient->newPseudoImage(
         $reflection->getImageWidth(),
         $reflection->getImageHeight(),
         //Putting spaces in the rgba string is bad
         'gradient:rgba(255,0,255,0.6)-rgba(255,255,0,0.99)'
    );

    $reflection->compositeimage(
       $gradient,
       \Imagick::COMPOSITE_DSTOUT,
       0, 0
    );

    $canvas = new \Imagick();
    $canvas->newImage($im->getImageWidth(), $im->getImageHeight() * 1.75, new \ImagickPixel('rgba(255, 255, 255, 0)'));
    $canvas->compositeImage($im, \Imagick::COMPOSITE_BLEND, 0, 0);
    $canvas->setImageFormat('png');
    $canvas->compositeImage($reflection, \Imagick::COMPOSITE_BLEND, 0, $im->getImageHeight());

    $canvas->stripImage();
    $canvas->setImageFormat('png');
    header('Content-Type: image/png');
    $bytes = $canvas;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

gradientReflection() ;
echo "Ok";
?>
--EXPECTF--
Ok213_ImagickDraw_setStrokeAlpha_basic.phpt000064400000001717150457363150014401 0ustar00--TEST--
Test ImagickDraw, setStrokeAlpha
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeAlpha($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeOpacity(0.1);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeAlpha($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok048_Imagick_cropImage_basic.phpt000064400000001123150457363150012535 0ustar00--TEST--
Test Imagick, cropImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$startX = 50;
$startY = 50;
$width = 50;
$height = 50;

function cropImage($startX, $startY, $width, $height) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->cropImage($width, $height, $startX, $startY);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

cropImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok041_Imagick_chopImage_basic.phpt000064400000001124150457363150012515 0ustar00--TEST--
Test Imagick, chopImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$startX = 50;
$startY = 50;
$width = 100;
$height = 50;

function chopImage($startX, $startY, $width, $height) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->chopImage($width, $height, $startX, $startY);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

chopImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Okbug21229.phpt000064400000001262150457363150006630 0ustar00--TEST--
Test PECL bug #21229
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

class ImagickTest extends Imagick {
    
	/* Protected property */
    protected $test;
    
	/* Override width property */
	public $width = 112233;

    public function setTestValue($value) {
        $this->test = $value;
        return $this;
    }
    
    public function getTestValue() {
        return $this->test;
    }
}

$test = new ImagickTest("magick:logo");
$test->setTestValue("test value");

echo "Value: " , $test->getTestValue() , PHP_EOL;

var_dump($test->width, $test->height);

echo "OK" , PHP_EOL;


?>
--EXPECTF--
Value: test value
int(112233)
int(%d)
OK093_Imagick_modulateImage_basic.phpt000064400000001125150457363150013406 0ustar00--TEST--
Test Imagick, modulateImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$hue = 150;
$saturation = 100;
$brightness = 100;

function modulateImage($hue, $brightness, $saturation) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->modulateImage($brightness, $saturation, $hue);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

modulateImage($hue, $brightness, $saturation) ;
echo "Ok";
?>
--EXPECTF--
Ok138_Imagick_shaveImage_basic.phpt000064400000000704150457363150012704 0ustar00--TEST--
Test Imagick, shaveImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function shaveImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->shaveImage(100, 50);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

shaveImage() ;
echo "Ok";
?>
--EXPECTF--
Ok278_Imagick_optimaze_gif.phpt000064400000004426150457363150012161 0ustar00--TEST--
Test Imagick::optimizeimagelayers and Imagick::optimizeimagetransparency
--SKIPIF--
<?php

$imageMagickRequiredVersion = 0x686;

require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('optimizeimagelayers'));
checkClassMethods('Imagick', array('optimizeimagetransparency'));

?>
--FILE--
<?php

function makeSimpleGif() {
    $aniGif = new \Imagick();
    $aniGif->setFormat("gif");

    $circleRadius = 20;
    $imageFrames = 6;
    $imageSize = 200;

    $background = new \Imagick();
    $background->newpseudoimage($imageSize, $imageSize, "canvas:gray");

    $blackWhite = new \Imagick();
    $blackWhite->newpseudoimage($imageSize, $imageSize, "gradient:black-white");

    $backgroundPalette = clone $background;
    $backgroundPalette->quantizeImage(240, \Imagick::COLORSPACE_RGB, 8, false, false);

    $blackWhitePalette = clone $blackWhite;
    $blackWhitePalette->quantizeImage(16, \Imagick::COLORSPACE_RGB, 8, false, false);

    $backgroundPalette->addimage($blackWhitePalette);

    for($count=0 ; $count<$imageFrames ; $count++) {
        echo "Frame: ".$count."\n";
        $drawing = new \ImagickDraw();
        $drawing->setFillColor('white');
        $drawing->setStrokeColor('rgba(64, 64, 64, 0.8)');
        $strokeWidth = 4;
        $drawing->setStrokeWidth($strokeWidth);

        $distanceToMove = $imageSize + (($circleRadius + $strokeWidth) * 2);
        $offset = ($distanceToMove * $count / ($imageFrames -1)) - ($circleRadius + $strokeWidth);
        $drawing->translate($offset, ($imageSize / 2) + ($imageSize / 3 * cos(20 * $count / $imageFrames)));
        $drawing->circle(0, 0, $circleRadius, 0);

        $frame = clone $background;
        $frame->drawimage($drawing);
        $frame->clutimage($backgroundPalette);
        $frame->setImageDelay(10);
        $aniGif->addImage($frame);
    }

    $aniGif = $aniGif->deconstructImages();

    $bytes = $aniGif->getImagesBlob();
    if (strlen($bytes) <= 0) {
        echo "Failed to generate image.";
    }

    return $aniGif;
}

function optimizeGif($im) {
    $im = $im->coalesceImages();
    $im->optimizeImageLayers();
    $im->optimizeimagetransparency();
}

$simpleGif = makeSimpleGif();
optimizeGif($simpleGif);

echo "Ok"
?>
--EXPECT--
Frame: 0
Frame: 1
Frame: 2
Frame: 3
Frame: 4
Frame: 5
Ok
houghline_input_image.png000064400000003110150457363150011621 0ustar00�PNG


IHDR�,e��gAMA���a cHRMz&�����u0�`:�p��Q<�PLTE������^^^KKK���������8cy�w�Z�	-O���쭭�PPP��޿��~~~}����K����r���
0Ua���ߐ��6a}����[[[V��츸�n����)#�bKGD*S�Ԟ9IDATx���nGEQ9DZ�-�
��6)J�С��4���'O8��^�ͷ�~g�3���q���9�ß�K'w���=��Wv����:|y/�|����k�{���k{��_��'w��֜��KYr�/b��>�}'w�Ď���S:~r�O���>��'w�z���C�wr����>�1'w�@F���Cr��l��~��'�����"����?��95�9����d����w���*'��oy�g�����'����/f�R)�O~���㾚�Qu$8��|}y�7����'_�oE[3IN�,߉�FҜ�����L'_�D�q�N.��v�E����혔'mG$=�h�/��ѶS擋�]r�\���h۪��E�6%N.ڶ(rrѶ^��/�m�J'm��:�h[��R'_D��~���Ͽ̾W�m�_�>��̾X�m�?�7���g��8ѶR��mk�xѶ^��m��xѶE��m۔�xѶQ��m��xѶ]��m;d�xѶK�m���xѶS�m���x�v@ڍmd�x�vH΍m��x�vPƍm���x��@��m-d�x��D��m�d�x��J��m���x��P��m-%�x��V��m�e�x��Z��m���x��A�m=�x��G�m�D�x��K�m���x��Sԍm=�x��Wȍm��x��]��m���x�6B��mC�x�6F��m��x�6L��m��x�6R��mC��x�6X��m��x�6��m��x�6��mS��x�6�̍m�L�x�6ͼ�m��x�6՜�ms��x�6ٌ�mӍ�x�6��m��x��؍m1�x��ȍma��x�ǰ�m���x�ʘ�m��x�̀�m���x�O��mu�x�Sߍm1u�x�UǍmqu�x�X��m�u�x�[��m�u�x�]��m�5�xі@�m)4�xіCӍmI��xіFÍmy4�xіH��m���xіL��mɴ�xі��m	�xі�эm)�xіԑ�mY�xі��m���xі�ލm���xіܞ�m���xі��ml�x�V�ƍm5l�x�VĖ�mUl�x�V��m���x�V�ʍm���x�V͚�mլ�x�V�+7^�U�m%�b�E[M�n�h�ꑍme=�񢭮7^�U��Ƌ����x�Vܽ/ڪ�g�E[yw7^�����mg��Ƌ�Sxq�E�I��x�v�6^��ƭ�m��|�Eۉ�l�h;��/�N�f��~	]o�h;��7^��˿/���j�E��\m��'S�����z�IEND�B`�063_Imagick_distortImage_Shepards.phpt000064400000003707150457363150013761 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        //The control points move points in the image in a taffy like motion
        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

        $points = array(

            //Setup some control points that don't move
            5 * $imagick->getImageWidth() / 100, 5 * $imagick->getImageHeight() / 100,
            5 * $imagick->getImageWidth() / 100, 5 * $imagick->getImageHeight() / 100,
            
            5 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
            5 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,

            95 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
            95 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,

            5 * $imagick->getImageWidth() / 100, 5 * $imagick->getImageHeight() / 100,
            95 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
//            //Move the centre of the image down and to the right
//            50 * $imagick->getImageWidth() / 100, 50 * $imagick->getImageHeight() / 100,
//            60 * $imagick->getImageWidth() / 100, 60 * $imagick->getImageHeight() / 100,
//
//            //Move a point near the top-right of the image down and to the left and down
//            90 * $imagick->getImageWidth(), 10 * $imagick->getImageHeight(),
//            80 * $imagick->getImageWidth(), 15 * $imagick->getImageHeight(),  
        );

        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
        $imagick->distortImage(\Imagick::DISTORTION_SHEPARDS, $points, TRUE);
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok066_Imagick_embossImage_basic.phpt000064400000001007150457363150013063 0ustar00--TEST--
Test Imagick, embossImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;

function embossImage($radius, $sigma) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->embossImage($radius, $sigma);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

embossImage($radius, $sigma) ;
echo "Ok";
?>
--EXPECTF--
Ok130_Imagick_setOption_case1.phpt000064400000001132150457363160012517 0ustar00--TEST--
Test Imagick, setOption
--SKIPIF--
<?php
//Double-free issue in ImageMagick makes test un-runnable before 690
$imageMagickRequiredVersion=0x690;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php

$extent = '10kb';

function renderJPG($extent) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageFormat('jpg');
    $imagick->setOption('jpeg:extent', $extent);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

renderJPG($extent) ;
echo "Ok";
?>
--EXPECTF--
Ok322_Imagick_getResolution.phpt000064400000001241150457363160012326 0ustar00--TEST--
Test Imagick, getResolution
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getResolution'));
?>
--FILE--
<?php

function getResolution() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $result = $imagick->getResolution();

    echo "x is " . $result['x'] . "\n";
    echo "y is " . $result['y'] . "\n";

    $imagick->setResolution(120, 60);
    $result = $imagick->getResolution();

    echo "x is now " . $result['x'] . "\n";
    echo "y is now " . $result['y'] . "\n";

    $imagick->getImageBlob();
}

getResolution() ;
echo "Ok";
?>
--EXPECTF--
x is 72
y is 72
x is now 120
y is now 60
Ok
197_ImagickDraw_roundRectangle_basic.phpt000064400000002076150457363160014437 0ustar00--TEST--
Test ImagickDraw, roundRectangle
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$startX = 50;
$startY = 50;
$endX = 400;
$endY = 400;
$roundX = 100;
$roundY = 50;

function roundRectangle($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $roundX, $roundY) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->roundRectangle($startX, $startY, $endX, $endY, $roundX, $roundY);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

roundRectangle($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $roundX, $roundY) ;
echo "Ok";
?>
--EXPECTF--
Ok009_properties.phpt000064400000000511150457363160010234 0ustar00--TEST--
Test reading properties
--SKIPIF--
<?php 
	require_once(dirname(__FILE__) . '/skipif.inc'); 
	checkFormatPresent('png');
?>
--FILE--
<?php

$im = new Imagick();
$im->newPseudoImage(100, 100, "XC:red");
$im->setImageFormat("png");

echo $im->width . "x" . $im->height . "\n";
echo $im->format;

?>
--EXPECTF--
100x100
png085_Imagick_haldClutImage_basic.phpt000064400000001152150457363160013336 0ustar00--TEST--
Test Imagick, haldClutImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function haldClutImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagickPalette = new \Imagick();
    $imagickPalette->newPseudoImage(640, 480, "magick:NETSCAPE");

    $imagickPalette->sepiatoneImage(55);
    $imagick->haldClutImage($imagickPalette);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

haldClutImage() ;
echo "Ok";
?>
--EXPECTF--
Ok256_Imagick_exportImagePixels_basic.phpt000064400000003231150457363160014304 0ustar00--TEST--
Test Imagick, Imagick::exportImagePixels
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x687;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$imagick = new \Imagick();
$imagick->newPseudoImage(256, 256, "gradient:black-white");

$pixelTypes = array(
	Imagick::PIXEL_CHAR => function($v) { return $v / 255; } ,
	Imagick::PIXEL_DOUBLE => function($v) { return $v; } ,
	Imagick::PIXEL_FLOAT => function($v) { return $v; } ,
	Imagick::PIXEL_LONG => function($v) { return $v / 4294967295; },
	Imagick::PIXEL_QUANTUM => function($v) { return $v / Imagick::getQuantum(); } ,
	Imagick::PIXEL_SHORT => function($v) { return $v / 65535; } ,

	// This is not supported as ints close to 64bits are weird in PHP
	// Imagick::PIXEL_LONGLONG => function($v) { return $v / (2 << 64 -1 ); } ,
);

$v = Imagick::getVersion();
if ($v['versionNumber'] < 0x700) {
	//This test will probably fail on 32bit platforms. If you see this please
	//submit a PR that fixes the problem.
	$pixelTypes[Imagick::PIXEL_INTEGER] =  function($v) { return $v / 4294967295; }; 
}



foreach ($pixelTypes as $pixelType => $scaleFn) {
	try {
		$pixels = $imagick->exportImagePixels(0, 0, 1, 256, "R", $pixelType);
	
		for ($i = 0; $i<10 ; $i++) {
			$expectedValue = $i / 255;
			$scaledActualValue = $scaleFn($pixels[$i]);
	
			if (abs($expectedValue - $scaledActualValue) > 0.0001) {
				echo "pixel type $pixelType has incorrect values. They should be 0/255, 1/255, 2/255... 255/255 or the scaled equivalent\n";
				var_dump($pixels);
				break;
			}
		}
	}
	catch (\Exception $e) {
		echo "Exception caught for pixelType: $pixelType ";
		echo $e->getMessage();
	}
}


echo "Ok";
?>
--EXPECTF--
Ok049_Imagick_deskewImage_basic.phpt000064400000003152150457363160013062 0ustar00--TEST--
Test Imagick, deskewImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkFormatPresent('jpg');
?>
--FILE--
<?php

$threshold = 0.5;

function deskewImage($threshold) {
    $imagick = $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $deskewImagick = clone $imagick;
    
    //This is the only thing required for deskewing.
    $deskewImagick->deskewImage($threshold);

    //The rest of this example is to make the result obvious - because
    //otherwise the result is not obvious.
    $trim = 9;

    $deskewImagick->cropImage($deskewImagick->getImageWidth() - $trim, $deskewImagick->getImageHeight(), $trim, 0);
    $imagick->cropImage($imagick->getImageWidth() - $trim, $imagick->getImageHeight(), $trim, 0);
    $deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2, $deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
    $imagick->resizeimage(
        (int)($imagick->getImageWidth() / 2),
        (int)($imagick->getImageHeight() / 2),
        \Imagick::FILTER_LANCZOS,
        1
    );
    $newCanvas = new \Imagick();
    $newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20, $imagick->getImageHeight(), 'red', 'jpg');
    $newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY, 5, 0);
    $newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY, $imagick->getImageWidth() + 10, 0);

    $bytes = $newCanvas->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

deskewImage($threshold) ;
echo "Ok";
?>
--EXPECTF--
Ok112_Imagick_roundCorners_basic.phpt000064400000001702150457363160013306 0ustar00--TEST--
Test Imagick, roundCorners
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');

checkClassMethods('Imagick', array('roundCornersImage'));
?>
--FILE--
<?php

function roundCorners() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setBackgroundColor('red');

    $imagick->setbackgroundcolor('pink');

    $x_rounding = 40;
    $y_rounding = 40;
    $stroke_width = 5;
    $displace = 0;
    $size_correction = 0;

    $imagick->roundCornersImage(
            $x_rounding,
                $y_rounding,
                $stroke_width,
                $displace,
                $size_correction
    );

    $bytes = $imagick->getImageBlob();
    $imagick->setImageFormat('png');
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
// $imagick->writeImage(__DIR__ . "/112_round_corner.png");
}

roundCorners() ;
echo "Ok";
?>
--EXPECTF--
Ok
001_imagick_readimage.phpt000064400000000535150457363160011440 0ustar00--TEST--
Imagick::readImage test
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
print "--- Catch exception with try/catch\n";
$imagick = new Imagick();
try {
	$imagick->readImage('foo.jpg');
} catch (ImagickException $e) {
	echo "got exception";
}

?>
--EXPECTF--
--- Catch exception with try/catch
got exception195_ImagickDraw_rotate_basic.phpt000064400000001731150457363160012754 0ustar00--TEST--
Test ImagickDraw, rotate
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';

function rotate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeOpacity(1);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $draw->setFillColor($fillModifiedColor);
    $draw->rotate(15);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

rotate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) ;
echo "Ok";
?>
--EXPECTF--
Ok186_ImagickDraw_polygon_basic.phpt000064400000002011150457363160013135 0ustar00--TEST--
Test ImagickDraw, polygon
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function polygon($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(4);

    $draw->setFillColor($fillColor);

    $points = array(
        array('x' => 40 * 5, 'y' => 10 * 5),
        array('x' => 20 * 5, 'y' => 20 * 5),
        array('x' => 70 * 5, 'y' => 50 * 5),
        array('x' => 60 * 5, 'y' => 15 * 5),
    );

    $draw->polygon($points);

    $image = new \Imagick();
    $image->newImage(500, 300, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

polygon($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok196_ImagickDraw_scale_basic.phpt000064400000001732150457363160012547 0ustar00--TEST--
Test ImagickDraw, scale
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';

function scale($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(4);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $draw->setFillColor($fillModifiedColor);
    $draw->scale(1.4, 1.4);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

scale($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) ;
echo "Ok";
?>
--EXPECTF--
Ok260_localContrastImage.phpt000064400000000455150457363160011621 0ustar00--TEST--
Test localContrastImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');

$v = Imagick::getVersion();
checkClassMethods('Imagick', array('localContrastImage'));

?>
--FILE--
<?php

$im = new Imagick("magick:logo");
$im->localContrastImage(2, 2);

echo "Ok";

?>
--EXPECT--
Ok039_Imagick_borderImage_basic.phpt000064400000001100150457363160013043 0ustar00--TEST--
Test Imagick, borderImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$width = 50;
$height = 20;
$color = 'rgb(127, 127, 127)';

function borderImage($color, $width, $height) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->borderImage($color, $width, $height);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

borderImage($color, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok323_Imagick_getType.phpt000064400000000570150457363160011111 0ustar00--TEST--
Test Imagick, getType
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getType'));
?>
--FILE--
<?php

function test_getType() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $type = $imagick->getType();

    echo "Type is " . $type . "\n";
}

test_getType() ;
echo "Ok";
?>
--EXPECTF--
Type is 0
Ok
054_Imagick_distortImage_Bilinear.phpt000064400000001520150457363160013725 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            0,0, 25,25, # top left  
            176,0, 126,0, # top right
            0,135, 0,105, # bottom right 
            176,135, 176,135 # bottum left
        );
        $imagick->setImageBackgroundColor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
        $imagick->distortImage( \Imagick::DISTORTION_BILINEAR, $points, TRUE );
        header( "Content-Type: image/jpeg" );
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok193_ImagickDraw_pushPattern_basic.phpt000064400000002753150457363160013776 0ustar00--TEST--
Test ImagickDraw, pushPattern
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function pushPattern($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
    for ($x = 0; $x < 50; $x += 10) {
        for ($y = 0; $y < 50; $y += 5) {
            $positionX = $x + (($y / 5) % 5);
            $draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
        }
    }
    $draw->popPattern();

    $draw->setFillOpacity(0);
    $draw->rectangle(100, 100, 400, 400);
    $draw->setFillOpacity(1);

    $draw->setFillOpacity(1);

    $draw->push();
    $draw->setFillPatternURL('#MyFirstPattern');
    $draw->setFillColor('yellow');
    $draw->rectangle(100, 100, 400, 400);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

pushPattern($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok143_Imagick_spreadImageWithMethod_basic.phpt000064400000001052150457363160015043 0ustar00--TEST--
Test Imagick, spreadImageWithMethod
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;

function spreadImageWithMethod($radius) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->spreadImageWithMethod($radius, Imagick::INTERPOLATE_BILINEAR);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

spreadImageWithMethod($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok325_Imagick_setDepth.phpt000064400000001215150457363160011247 0ustar00--TEST--
Test Imagick, setDepth
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('setDepth'));
?>
--FILE--
<?php

function setDepth() {
    $imagick = new \Imagick();

    $imagick->setDepth(16);
    $imagick->newPseudoImage(640, 480, "gradient:red-blue");

    echo "Depth is " .$imagick->getImageDepth() . "\n";

    // $imagick->getImageBlob();
    // TODO - check that the depth has actually worked?
    // this could be done by generating a gradient, and counting the unique
    // numbers of colours, or by looking at gradient artifacts.
}

setDepth() ;
echo "Ok";
?>
--EXPECTF--
Depth is 16
Ok
235_ImagickDraw_translate_basic.phpt000064400000002334150457363160013446 0ustar00--TEST--
Test ImagickDraw, translate
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';
$startX = 50;
$startY = 50;
$endX = 400;
$endY = 400;
$translateX = 75;
$translateY = 75;

function translate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor, 
                   $startX, $startY, $endX, $endY, $translateX, $translateY) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $draw->setFillColor($fillModifiedColor);
    $draw->translate($translateX, $translateY);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

translate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
    $startX, $startY, $endX, $endY, $translateX, $translateY);
echo "Ok";
?>
--EXPECTF--
Ok151_Imagick_subImageMatch_basic.phpt000064400000003121150457363160013334 0ustar00--TEST--
Test Imagick, subImageMatch
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x687;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

function subImageMatch() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->adaptiveResizeImage(100, 100, true);
    //This makes the test fall over on some versions of ImageMagick
    //$imagick->setImageAlphaChannel(\Imagick::ALPHACHANNEL_DEACTIVATE);
    $imagick2 = clone $imagick;
    $imagick2->cropimage(25, 25, 50, 50);
    $imagick2->setImageFormat('png');

    $imagick2->setImagePage(25, 25, 0, 0);
    $imagick2->vignetteimage(0.25, 0.75, 3, 3);

    $similarity = 'not set';
    $bestMatch = 'not st';
    $comparison = $imagick->subImageMatch($imagick2, $bestMatch, $similarity);

    $comparison->setImageFormat('png');
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

    $version = Imagick::getVersion();
    if ($version['versionNumber'] >= 0x700) {
        $expectedValue = 0.7642;
    }
    else {
        $expectedValue = 0.5585;
    }

    // This doesn't work reliably - the values are not comparable across versions
    // if (abs($expectedValue - $similarity) <= 0.005) {
    //     echo "Similarity in range\n";
    // }
    // else {
    //     echo "Similarity is out of range.\n";
    //     var_dump($similarity);
    // }
    
    ksort($bestMatch);
    foreach ($bestMatch as $key => $value) {
        echo "$key : $value\n";
    }
}

subImageMatch() ;
echo "Ok";
?>

--EXPECTF--
height : 25
width : 25
x : 50
y : 50
Ok296_Imagick_waveletDenoiseImage.phpt000064400000001065150457363160013422 0ustar00--TEST--
Test Imagick, waveletDenoiseImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('waveletDenoiseImage'));
?>
--FILE--
<?php


function waveletDenoiseImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');

    $imagick->waveletDenoiseImage(5, 5);
    $imagick->writeImage(__DIR__ . '/waveletDenoiseImage_output_image.png');
//    $imagick->getImageBlob();
}

waveletDenoiseImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/waveletDenoiseImage_output_image.png');
?>
--EXPECTF--
Ok
181_ImagickDraw_pathStart_basic.phpt000064400000002766150457363160013434 0ustar00--TEST--
Test ImagickDraw, pathStart
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function pathStart($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathLineToAbsolute(100, 50);
    $draw->pathLineToRelative(0, 50);
    $draw->pathLineToHorizontalRelative(-50);
    $draw->pathFinish();

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 50);
    $draw->pathMoveToRelative(300, 0);
    $draw->pathLineToRelative(50, 0);
    $draw->pathLineToVerticalRelative(50);
    $draw->pathLineToHorizontalAbsolute(350);
    $draw->pathclose();
    $draw->pathFinish();

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50, 300);
    $draw->pathCurveToAbsolute(50, 300, 100, 200, 300, 300);
    $draw->pathLineToVerticalAbsolute(350);
    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

pathStart($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok078_Imagick_gammaImage_basic.phpt000064400000001040150457363160012656 0ustar00--TEST--
Test Imagick, gammaImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$gamma = 2.2;
$channel = Imagick::CHANNEL_DEFAULT;

function gammaImage($gamma, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->gammaImage($gamma, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

gammaImage($gamma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok326_Imagick_setExtract.phpt000064400000001172150457363160011620 0ustar00--TEST--
Test Imagick, setExtract
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('setExtract'));
?>
--FILE--
<?php

function setExtract() {
    $imagick = new \Imagick();
    $imagick->setExtract("300x200+0+0");

    $imagick->readImage(__DIR__ . '/Biter_500.jpg');


//    $data = $imagick->getImageBlob();
//
//    $new_imagick = new Imagick();
//    $new_imagick->readImageBlob($data);

    echo "Width is " . $imagick->getImageWidth() . "\n";
    echo "Height is " . $imagick->getImageHeight() . "\n";
}

setExtract() ;
echo "Ok";
?>
--EXPECTF--
Width is 300
Height is 200
Ok
045_Imagick_compositeImage_basic.phpt000064400000002052150457363160013574 0ustar00--TEST--
Test Imagick, compositeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function compositeImage() {

    $img1 = new \Imagick();
    $img1->newPseudoImage(640, 480, "magick:logo");

    $img2 = new \Imagick();
    $img2->newPseudoImage(640, 480, "magick:logo"); 
    $img2->negateImage(false);
    $img2->blurimage(10, 5);


    $img1->resizeimage(
        $img2->getImageWidth(),
        $img2->getImageHeight(),
        \Imagick::FILTER_LANCZOS,
        1
    );

    $opacity = new \Imagick();    
    $opacity->newPseudoImage(
        $img1->getImageHeight(),
        $img1->getImageWidth(),
        "gradient:gray(10%)-gray(90%)"
    );
    $opacity->rotateimage('black', 90);

    $img2->compositeImage($opacity, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
    $img1->compositeImage($img2, \Imagick::COMPOSITE_ATOP, 0, 0);

    $bytes = $img1->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

compositeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok080_Imagick_gaussianBlurImage_basic.phpt000064400000001142150457363160014227 0ustar00--TEST--
Test Imagick, gaussianBlurImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;

function gaussianBlurImage($radius, $sigma, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->gaussianBlurImage($radius, $sigma, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

gaussianBlurImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok273_imagick_falsyimage.phpt000064400000000460150457363160011653 0ustar00--TEST--
Imagick::__construct false
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

try {
	$imagick = new Imagick(false);
}
catch (\ImagickException $ie) {
	echo $ie->getMessage()."\n";
}


?>
--EXPECTF--
Constructor shouldn't be called with a boolean as the filename305_Imagick_complexImages.phpt000064400000001217150457363170012265 0ustar00--TEST--
Test Imagick, complexImages
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('complexImages'));
?>
--FILE--
<?php

function complexImages() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $multiply = new Imagick();
    $multiply->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(), "gradient:black-white");
    $imagick->addImage($multiply);

    $imagick->complexImages(Imagick::COMPLEX_OPERATOR_MULTIPLY);
//    $imagick->writeImage(__DIR__ . '/complexImages_output_image.png');
    $imagick->getImageBlob();
}

complexImages() ;
echo "Ok";
?>
--EXPECTF--
Ok
067_Imagick_edgeImage_basic.phpt000064400000000733150457363170012507 0ustar00--TEST--
Test Imagick, edgeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;

function edgeImage($radius) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->edgeImage($radius);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

edgeImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok211_ImagickDraw_setStrokeAntialias_basic.phpt000064400000001774150457363170015264 0ustar00--TEST--
Test ImagickDraw, setStrokeAntialias
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeAntialias($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeAntialias(false);
    $draw->line(100, 100, 400, 105);

    $draw->line(100, 140, 400, 185);

    $draw->setStrokeAntialias(true);
    $draw->line(100, 110, 400, 115);
    $draw->line(100, 150, 400, 195);

    $image = new \Imagick();
    $image->newImage(500, 250, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeAntialias($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok289_Imagick_setImageMask_basic.phpt000064400000003411150457363170013214 0ustar00--TEST--
Test Imagick, medianFilterImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getImageMask', 'setImageMask'));
?>
--FILE--
<?php

$canvas = new Imagick(__DIR__ . '/houghline_input_image.png');

$mask = new Imagick();
$mask->newPseudoImage(
	$canvas->getImageWidth(),
	$canvas->getImageHeight(),
	'xc:black'
);

$drawing = new ImagickDraw();
$drawing->setBorderColor('black');
$drawing->setFillColor('black');
$drawing->rectangle(0, 0, $mask->getImageWidth(), $mask->getImageHeight());

$drawing->setBorderColor('white');
$drawing->setFillColor('white');
$drawing->circle(
	$mask->getImageWidth() / 2,
	$mask->getImageHeight() / 2,
	2 * $mask->getImageWidth() / 3,
	$mask->getImageHeight() / 2
);

$mask->drawImage($drawing);
//$mask->writeImage(__DIR__ . "/test_mask.png");

// This would probably be more useful for users
// but shows the issue with PIXELMASK_COMPOSITE
// $mask->blurImage(10, 2);

$mask_types = array(
	\Imagick::PIXELMASK_READ =>        "PIXELMASK_READ",
	\Imagick::PIXELMASK_WRITE =>       "PIXELMASK_WRITE",
	\Imagick::PIXELMASK_COMPOSITE =>   "PIXELMASK_COMPOSITE",
);

$channel_types = array(
	\Imagick::CHANNEL_ALL => "CHANNEL_ALL",
	\Imagick::CHANNEL_RED => "CHANNEL_RED",
	\Imagick::CHANNEL_ALPHA => "CHANNEL_ALPHA",
	\Imagick::CHANNEL_RGBA => "CHANNEL_RGBA",
	\Imagick::CHANNEL_BLACK => "CHANNEL_BLACK",
	\Imagick::CHANNEL_DEFAULT => "CHANNEL_DEFAULT",
);

foreach ($channel_types as $channel_type => $channel_name) {
	foreach ($mask_types as $type => $type_name) {
		$output = clone $canvas;
		$output->setImageMask($mask, $type);

		$output->blurImage(15, 4, $channel_type);
//		$output->writeImage(__DIR__ . "/test_canvas" . $type_name . "_" . $channel_name .  ".png");
	}
}

echo "Ok";
?>
--EXPECTF--
Ok
013-read-filehandle-file-stream.phpt000064400000001240150457363170013164 0ustar00--TEST--
Imagick::readImageFile, file stream test
--SKIPIF--
<?php
	require_once(dirname(__FILE__) . '/skipif.inc');
	checkFormatPresent('jpg');
?>
--FILE--
<?php

$file = dirname(__FILE__) . '/__tmp_rose.jpg';
$handle = fopen($file, 'w+');

$imagick = new Imagick('magick:rose');
$imagick->setImageFormat('jpg');
$imagick->writeImageFile($handle);

$imagick->clear();

rewind($handle);

$imagick->readImageFile($handle);

echo "Width: " . $imagick->getImageWidth() . "\n";
echo "Height: " . $imagick->getImageHeight() . "\n";

@unlink($file);

echo 'success';

?>
--CLEAN--
<?php
@unlink(dirname(__FILE__) . '/__tmp_rose.jpg');
?>
--EXPECT--
Width: 70
Height: 46
success
241_Tutorial_psychedelicFont_basic.phpt000064400000002245150457363170014214 0ustar00--TEST--
Test Tutorial, psychedelicFont
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

function psychedelicFont() {
    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);
    $name = 'Danack';

    $draw->setStrokeOpacity(1);
    $draw->setFillColor('black');

    $draw->setfontsize(150);

    for ($strokeWidth = 25; $strokeWidth > 0; $strokeWidth--) {
        $hue = intval(170 + $strokeWidth * 360 / 25);
        $draw->setStrokeColor("hsl($hue, 255, 128)");
        $draw->setStrokeWidth($strokeWidth * 3);
        $draw->annotation(60, 165, $name);
    }

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(650, 230, "#eee");
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

psychedelicFont() ;
echo "Ok";
?>
--EXPECTF--
Ok058_Imagick_distortImage_Polynomial.phpt000064400000002476150457363170014343 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;


// Order     X1,Y1 I1,J1     X2,Y2 I2,J2     X3,Y3 I3,J3     X4,Y4 I4,J4 . . . .
// The 'Order' argument is usually an integer from '1' onward, though a special value
// of '1.5' can also be used. This defines the 'order' or complexity of the 2-dimensional
// mathematical equation (using both 'x' and 'y') , that will be applied.
// For example an order '1' polynomial will fit a equation of the form...
// Xd = 	 C2x*Xs + C1x*Ys + C0x	  ,      	Yd = 	 C2y*Xs + C1y*Ys + C0y 
// See also http://www.imagemagick.org/Usage/distorts/#polynomial

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            1.5,   //Order 1.5 = special
            0, 0, 26, 0,   
            128,0,  114,23,  
            128,128,  128,100,
            0,128,  0,123
        );
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
        $imagick->distortImage(\Imagick::DISTORTION_POLYNOMIAL, $points, TRUE);
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok292_index_iterator.phpt000064400000002402150457363170011066 0ustar00--TEST--
Test iterating over images works
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$canvasTypes = [
    "radial-gradient:red-blue",
    "gradient:black-fuchsia",
    "plasma:tomato-steelblue",
];

$canvas = new Imagick();


foreach ($canvasTypes as $canvasType) {
    $imagick = new Imagick();
    $imagick->newPseudoImage(300, 300, $canvasType);
    $canvas->addImage($imagick);
}

$canvas->setImageFormat("png");

foreach ($canvas as $canvasSubImage) {
    echo $canvas->getIteratorIndex() . "\n";
    echo $canvas->getImageIndex() . "\n";
}

for ($i=0; $i<3; $i+=1) {
    $canvas->setImageIndex($i);
    echo $canvas->getIteratorIndex() . "\n";
}
for ($i=0; $i<3; $i+=1) {
    $canvas->setIteratorIndex($i);
    echo $canvas->getImageIndex() . "\n";
}

$canvas->setImageIndex(-1);
if ($canvas->getImageIndex() !== 2) {
    echo "Setting image index to -1 did something unexpected. Or at least is a BC break.\n";
}
else {
    echo "still " . $canvas->getImageIndex() . " as hasn't changed\n";
}

try {
    $canvas->setImageIndex(3);
}
catch (ImagickException $ie) {
    echo "Exception: ". $ie->getMessage() . "\n";
}

echo "Ok";
?>
--EXPECTF--
0
0
1
1
2
2
0
1
2
0
1
2
still 2 as hasn't changed
Exception: Unable to set image index
Ok

203_ImagickDraw_setFillRule_basic.phpt000064400000003262150457363170013700 0ustar00--TEST--
Test ImagickDraw, setFillRule
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFillRule($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $fillRules = array(\Imagick::FILLRULE_NONZERO, \Imagick::FILLRULE_EVENODD);

    $points = 11;
    $size = 150;

    $draw->translate(175, 160);

    for ($x = 0; $x < 2; $x++) {
        $draw->setFillRule($fillRules[$x]);
        $draw->pathStart();
        for ($n = 0; $n < $points * 2; $n++) {

            if ($n >= $points) {
                $angle = fmod($n * 360 * 4 / $points, 360) * pi() / 180;
            }
            else {
                $angle = fmod($n * 360 * 3 / $points, 360) * pi() / 180;
            }

            $positionX = $size * sin($angle);
            $positionY = $size * cos($angle);

            if ($n == 0) {
                $draw->pathMoveToAbsolute($positionX, $positionY);
            }
            else {
                $draw->pathLineToAbsolute($positionX, $positionY);
            }
        }

        $draw->pathClose();
        $draw->pathFinish();

        $draw->translate(325, 0);
    }

    $image = new \Imagick();
    $image->newImage(700, 320, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFillRule($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok242_Tutorial_levelizeImage_basic.phpt000064400000001773150457363170013661 0ustar00--TEST--
Test Tutorial, levelizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$blackPoint = 50;
$whitePoint = 100;
$gamma = 2.2;

function levelizeImage($blackPoint, $gamma,  $whitePoint) {
    $imagick = new \Imagick();
    $imagick->newPseudoimage(300, 300, 'gradient:black-white');
    $maxQuantum = $imagick->getQuantum();
    $imagick->evaluateimage(\Imagick::EVALUATE_POW, 1 / $gamma);
    
    //Adjust the scale from black to white to the new 'distance' between black and white
    $imagick->evaluateimage(\Imagick::EVALUATE_MULTIPLY, ($whitePoint - $blackPoint) / 100 );

    //Add move the black point to it's new value
    $imagick->evaluateimage(\Imagick::EVALUATE_ADD, ($blackPoint / 100) * $maxQuantum);
    $imagick->setFormat("png");

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

levelizeImage($blackPoint, $gamma,  $whitePoint) ;
echo "Ok";
?>
--EXPECTF--
Ok008_newpseudoimage.phpt000064400000001467150457363200011061 0ustar00--TEST--
Test pseudo formats
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$im = new Imagick();
$im->newPseudoImage(100, 100, "XC:red");
var_dump($im->getImageGeometry());

$im->newPseudoImage(10, 10, "magick:logo");
var_dump($im->getImageGeometry());

$im->readImage("magick:logo");
var_dump($im->getImageGeometry());

$im->newPseudoImage(10, 10, "rose:");
var_dump($im->getImageGeometry());

try { 
$im->newPseudoImage(10, 10, "png:");
var_dump($im->getImageGeometry());
} catch (Exception $e) {
	echo "fail\n";
}

?>
--EXPECTF--
array(2) {
  ["width"]=>
  int(%d)
  ["height"]=>
  int(%d)
}
array(2) {
  ["width"]=>
  int(%d)
  ["height"]=>
  int(%d)
}
array(2) {
  ["width"]=>
  int(%d)
  ["height"]=>
  int(%d)
}
array(2) {
  ["width"]=>
  int(%d)
  ["height"]=>
  int(%d)
}
fail234_Tutorial_edgeExtend_basic.phpt000064400000003002150457363200013131 0ustar00--TEST--
Test Tutorial, edgeExtend
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$virtualPixelType = 5;

function edgeExtend($virtualPixelType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageVirtualPixelMethod($virtualPixelType);

    $imagick->scaleimage(400, 300, true);

    $imagick->setbackgroundcolor('pink');
   
    $desiredWidth = 600;
    $originalWidth = $imagick->getImageWidth();

    //Make the image be the desired width.
    $imagick->sampleimage($desiredWidth, $imagick->getImageHeight());

    //Now scale, rotate, translate (aka affine project) it
    //to be how you want
    $points = array(//The x scaling factor is 0.5 when the desired width is double
        //the source width
        ($originalWidth / $desiredWidth), 0, //Don't scale vertically
        0, 1, //Offset the image so that it's in the centre
        ($desiredWidth - $originalWidth) / 2, 0);

    $imagick->distortImage(\Imagick::DISTORTION_AFFINEPROJECTION, $points, false);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

//Fyi it may be easier to think of the affine transform by 
//how it works for a rotation:
//$affineRotate = array(
//    "sx" => cos($angle),
//    "sy" => cos($angle),
//    "rx" => sin($angle),
//    "ry" => -sin($angle),
//    "tx" => 0,
//    "ty" => 0,
//);
}

edgeExtend($virtualPixelType) ;
echo "Ok";
?>
--EXPECTF--
Ok143_Imagick_spreadImage_basic.phpt000064400000000743150457363200013047 0ustar00--TEST--
Test Imagick, spreadImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;

function spreadImage($radius) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->spreadImage($radius);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

spreadImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok135_Imagick_sharpenImage_basic.phpt000064400000001116150457363200013225 0ustar00--TEST--
Test Imagick, sharpenImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;

function sharpenImage($radius, $sigma, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->sharpenimage($radius, $sigma, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

sharpenImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok247_ImagickPixelIterator_construct_basic.phpt000064400000001730150457363200015370 0ustar00--TEST--
Test ImagickPixelIterator, construct
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function construct() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imageIterator = new \ImagickPixelIterator($imagick);

    /* Loop through pixel rows */
    foreach ($imageIterator as $pixels) { 
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) { 
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)");
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

construct() ;
echo "Ok";
?>
--EXPECTF--
Ok013-read-filehandle-memory-stream.phpt000064400000001321150457363200013547 0ustar00--TEST--
Imagick::readImageFile, in-memory stream test
--SKIPIF--
<?php
	require_once(dirname(__FILE__) . '/skipif.inc');
	checkFormatPresent('jpg');
?>
--XFAIL--
This test was recently added (July 2024), and appears to be failing on multiple
versions of PHP. It should be fixed, but doesn't need to hold up a release.
--FILE--
<?php

$handle = fopen('php://memory', 'w+');

$imagick = new Imagick('magick:rose');
$imagick->setImageFormat('jpg');
$imagick->writeImageFile($handle);

$imagick->clear();

rewind($handle);

$imagick->readImageFile($handle);

echo "Width: " . $imagick->getImageWidth() . "\n";
echo "Height: " . $imagick->getImageHeight() . "\n";

echo 'success';

?>
--EXPECT--
Width: 70
Height: 46
success
007_thumbnail_fill.phpt000064400000001450150457363200011025 0ustar00--TEST--
Test filling thumbnail with color
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');

$v = Imagick::getVersion();
if ($v['versionNumber'] < 0x632)
	die ('skip too old ImageMagick');

if ($v ['versionNumber'] >= 0x660 && $v ['versionNumber'] < 0x670)
	die ('skip seems to be broken in this version of ImageMagick');
?>
--FILE--
<?php

$im = new Imagick("magick:logo");
$im->setImageBackgroundColor("pink");
$im->thumbnailImage(200, 200, true, true);

$color = $im->getImagePixelColor(5, 5);
if ($color->isPixelSimilar("pink", 0))
	echo "Similar" . PHP_EOL;
else
	var_dump ($color->getColorAsString());

$color = $im->getImagePixelColor(199, 5);
if ($color->isPixelSimilar("pink", 0))
	echo "Similar" . PHP_EOL;
else
	var_dump ($color->getColorAsString());
?>
--EXPECT--
Similar
Similar180_ImagickDraw_matte_basic.phpt000064400000002014150457363200012550 0ustar00--TEST--
Test ImagickDraw, matte
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc'); 
checkClassMethods('ImagickDraw', array('matte'));
?>

--FILE--
<?php

$paintType = 4;
$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function matte($strokeColor, $fillColor, $backgroundColor, $paintType) {
    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->matte(120, 120, $paintType);
    
    $draw->rectangle(100, 100, 300, 200);
    

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

matte($strokeColor, $fillColor, $backgroundColor, $paintType) ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s ImagickDraw::matte() is deprecated in %s
Ok
315_Imagick_getImageArtifacts.phpt000064400000002435150457363200013051 0ustar00--TEST--
Test Imagick, getImageArtifacts
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getImageArtifacts'));
?>
--FILE--
<?php

function getImageArtifacts() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $artifacts = $imagick->getImageArtifacts();

// TODO - get a better test image with artifact data in it.
//
//    $expectedEntries = [
//        "exif:ApertureValue" => false,
//        "exif:ColorSpace" => false,
//        "exif:CustomRendered" => false,
//        "exif:DateTime" => false,
//        "exif:DateTimeDigitized" => false,
//        "exif:DateTimeOriginal" => false,
//        "exif:ExifOffset" => false,
//        "exif:ExifVersion" => false,
//    ];
//
//    foreach ($artifacts as $key => $value) {
//       if (array_key_exists($key, $expectedEntries) === true) {
//            $expectedEntries[$key] = true;
//        }
//    }
//
//    $any_failed = false;
//    foreach ($expectedEntries as $key => $value) {
//        if ($value !== true) {
//            echo "Expected entry $key was not set\n";
//            $any_failed = true;
//        }
//    }

//    if ($any_failed === true) {
//        var_dump($artifacts);
//    }

    $imagick->getImageBlob();
}

getImageArtifacts();
echo "Ok";
?>
--EXPECTF--
Ok
003_cast_color_opacity.phpt000064400000001555150457363200011716 0ustar00--TEST--
Casting color and opacity to pixel
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
print "--- Testing casts\n";

try {
	$im = new Imagick();
	$im->newImage(100, 100, "red");
	$im->tintImage("red", "gray(50%)");
	echo "Casting color and opacity succeeded\n";
} catch (Exception $e) {
	echo "Casting color and opacity failed: " , $e->getMessage() . PHP_EOL;
}

try {
	$im = new Imagick();
	$pixel = new ImagickPixel("red");
	$strengthPixel = new ImagickPixel("gray");
	$im->newImage(100, 100, $pixel);
	$im->tintImage($pixel, $strengthPixel);
	echo "Setting color and opacity without cast succeeded\n";
} catch (Exception $e) {
	echo "Setting color and opacity without cast failed: " , $e->getMessage() . PHP_EOL;
}

?>
--EXPECTF--
--- Testing casts
Casting color and opacity succeeded
Setting color and opacity without cast succeeded265_ImagickDraw_getOpacity_basic.phpt000064400000002042150457363200013553 0ustar00--TEST--
Test ImagickDraw, getOpacity
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickDraw', array('setOpacity'));
requirePHP("5.5.0");
?>

--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';



$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$opacityToSet = 0.1;

$draw->setOpacity($opacityToSet);
$opacity = $draw->getOpacity();

$delta = abs($opacity - $opacityToSet);
if ($delta > 0.0001) {
	echo "Failed to get correct opacity, it should be $opacityToSet but got $opacity, which is a delta of $delta\n";
}

$draw->line(125, 70, 100, 50);
$draw->line(350, 170, 100, 150);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);




$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 



echo "Ok";
?>
--EXPECTF--
Ok330_Imagick_newImage.phpt000064400000001075150457363200011216 0ustar00--TEST--
Test Imagick, newImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');

?>
--FILE--
<?php


$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'), 'png');

// Image format case changed at some point in IM
echo strtolower($image->getImageFormat());
echo "\n";

$image = new Imagick();
$image->newImage(100, 100, 'blue', null);

try {
    $image->getImageFormat();
    echo "Failed to throw exception";
}
catch (ImagickException $ie) {
    echo $ie->getMessage() . "\n";
}

echo "Ok";
?>
--EXPECTF--
png
Image has no format
Ok
300_Imagick_autoThresholdImage.phpt000064400000001105150457363200013241 0ustar00--TEST--
Test Imagick, autoThresholdImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('autoThresholdImage'));
?>
--FILE--
<?php


function autoThresholdImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->autoThresholdImage(Imagick::AUTO_THRESHOLD_OTSU);
    $imagick->writeImage(__DIR__ . '/autoThresholdImage_output_image.png');
//    $imagick->getImageBlob();
}

autoThresholdImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/autoThresholdImage_output_image.png');
?>
--EXPECTF--
Ok
030_Imagick_adaptiveThresholdImage_basic.phpt000064400000001330150457363200015227 0ustar00--TEST--
Test Imagick, adaptiveThresholdImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php

$width = 50;
$height = 20;
$adaptiveOffset = 0.125;

function adaptiveThresholdImage($width, $height, $adaptiveOffset) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $adaptiveOffsetQuantum = intval($adaptiveOffset * \Imagick::getQuantum());
    $imagick->adaptiveThresholdImage($width, $height, $adaptiveOffsetQuantum);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

adaptiveThresholdImage($width, $height, $adaptiveOffset) ;
echo "Ok";
?>
--EXPECTF--
Ok268_ImagickDraw_getDensity_basic.phpt000064400000002043150457363200013566 0ustar00--TEST--
Test ImagickDraw, getDensity
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickDraw', array('getDensity', 'setDensity'));
?>
--XFAIL--
Expected behaviour is not known :-p
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$opacityToSet = 0.1;

$densitySet = "200";


$draw->setDensity($densitySet);
$densityGet = $draw->getDensity();

if (strcmp($densitySet, $densityGet) !== 0) {
	echo "Density retrieved [$densityGet] is not the value set [$densitySet].";
}

$draw->line(125, 70, 100, 50);
$draw->line(350, 170, 100, 150);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";

?>
--EXPECTF--
Ok097_Imagick_newPseudoImage_basic.phpt000064400000000742150457363200013551 0ustar00--TEST--
Test Imagick, newPseudoImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$canvasType = 'gradient:red';

function newPseudoImage($canvasType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(300, 300, $canvasType);
    $imagick->setImageFormat("png");
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

newPseudoImage($canvasType) ;
echo "Ok";
?>
--EXPECTF--
Ok
245_Tutorial_screenEmbed_basic.phpt000064400000002126150457363200013301 0ustar00--TEST--
Test Tutorial, screenEmbed
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function screenEmbed() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $overlay = new \Imagick();
    $overlay->newPseudoImage(640, 480, "magick:logo");

    $overlay->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

    $width = $overlay->getImageWidth();
    $height = $overlay->getImageHeight();

    $offset = 332.9;

    $points = array(    
        0, 0, 364 - $offset, 51, 
        $width, 0, 473.4 - $offset, 23, 
        0, $height, 433.5 - $offset, 182, 
        $width, $height, 523 - $offset, 119.4
    );

    $overlay->modulateImage(97, 100, 0);
    $overlay->distortImage(\Imagick::DISTORTION_PERSPECTIVE, $points, true);

    $imagick->compositeImage($overlay, \Imagick::COMPOSITE_OVER, (int)(364.5 - $offset), 23);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

screenEmbed() ;
echo "Ok";
?>
--EXPECTF--
Ok133_Imagick_setSamplingFactors_basic.phpt000064400000001506150457363200014433 0ustar00--TEST--
Test Imagick, setSamplingFactors
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function setSamplingFactors() {

    $imagePath = "../imagick/images/FineDetail.png";
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageFormat('jpg');
    $imagick->setSamplingFactors(array('2x2', '1x1', '1x1'));

    $compressed = $imagick->getImageBlob();

    
    $reopen = new \Imagick();
    $reopen->readImageBlob($compressed);

    $reopen->resizeImage(
        $reopen->getImageWidth() * 4,
        $reopen->getImageHeight() * 4,
        \Imagick::FILTER_POINT,
        1
    );
    
    $bytes = $reopen->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setSamplingFactors() ;
echo "Ok";
?>
--EXPECTF--
Ok221_ImagickDraw_setStrokeWidth_basic.phpt000064400000001712150457363200014421 0ustar00--TEST--
Test ImagickDraw, setStrokeWidth
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeWidth($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeWidth(5);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeWidth($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Okbug_72226.phpt000064400000001044150457363200006764 0ustar00--TEST--
Allow Imagick exceptions to be extended.
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
error_reporting( E_ALL ); 

ini_set( "display_errors", true );

class UserlandImagickException extends ImagickException {}
class UserlandImagickDrawException extends ImagickDrawException {}
class UserlandImagickPixelException extends ImagickPixelException {}

if (class_exists('ImagickKernelException', false) == true) {
	class UserlandImagickKernelException extends ImagickKernelException
	{
	}
}

?>
--EXPECTF--
183_ImagickDraw_pathCurveToQuadraticBezierAbsolute_basic.phpt000064400000003576150457363200020421 0ustar00--TEST--
Test ImagickDraw, pathCurveToQuadraticBezierAbsolute
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50,250);

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is the first two params, and the end point is the last two params.
    $draw->pathCurveToQuadraticBezierAbsolute(
        150,50, 
        250,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothAbsolute(
        450,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined relative from the current position by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothRelative(
        200,-100
    );

    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(700, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

}

pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok218_ImagickDraw_setStrokeLineCap_basic.phpt000064400000002101150457363200014654 0ustar00--TEST--
Test ImagickDraw, setStrokeLineCap
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeLineCap($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(25);

    $lineTypes = array(\Imagick::LINECAP_BUTT, \Imagick::LINECAP_ROUND, \Imagick::LINECAP_SQUARE,);

    $offset = 0;

    foreach ($lineTypes as $lineType) {
        $draw->setStrokeLineCap($lineType);
        $draw->line(50 + $offset, 50, 50 + $offset, 250);
        $offset += 50;
    }

    $imagick = new \Imagick();
    $imagick->newImage(300, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeLineCap($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok249_ImagickPixelIterator_getNextIteratorRow_basic.phpt000064400000002126150457363200017166 0ustar00--TEST--
Test ImagickPixelIterator, getNextIteratorRow
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function getNextIteratorRow() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imageIterator = $imagick->getPixelIterator();

    $count = 0;
    while ($pixels = $imageIterator->getNextIteratorRow()) {
        if (($count % 3) == 0) {
            /* Loop through the pixels in the row (columns) */
            foreach ($pixels as $column => $pixel) { 
                /** @var $pixel \ImagickPixel */
                if ($column % 2) {
                    /* Paint every second pixel black*/
                    $pixel->setColor("rgba(0, 0, 0, 0)");
                }
            }
            /* Sync the iterator, this is important to do on each iteration */
            $imageIterator->syncIterator(); 
        }

        $count += 1;
    }

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

getNextIteratorRow() ;
echo "Ok";
?>
--EXPECTF--
Ok075_Imagick_floodFillPaintImage_basic.phpt000064400000001573150457363200014505 0ustar00--TEST--
Test Imagick, floodFillPaintImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$fillColor = 'rgb(0, 0, 0)';
$fuzz = 0.2;
$targetColor = 'rgb(245, 124, 24)';
$x = 260;
$y = 150;
$inverse = 0;
$channel = Imagick::CHANNEL_DEFAULT;

function floodFillPaintImage($fillColor, $fuzz, $targetColor, $x, $y, $inverse, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    
    $imagick->floodFillPaintImage(
        $fillColor,
        $fuzz * \Imagick::getQuantum(),
        $targetColor,
        $x, $y,
        $inverse,
        $channel
    );
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

floodFillPaintImage($fillColor, $fuzz, $targetColor, $x, $y, $inverse, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok118_Imagick_setImageArtifact_basic.phpt000064400000002146150457363200014043 0ustar00--TEST--
Test Imagick, setImageArtifact
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function setImageArtifact() {
    $src1 = new \Imagick();
    $src1->newPseudoImage(640, 480, "magick:logo");
    
    $src2 = new \Imagick();
    $src2->newPseudoImage(480, 640, "magick:WIZARD");

    $compose_args = $src2->getImageArtifact('compose:args');
    var_dump($compose_args);

    $src2->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
    $src2->setImageArtifact('compose:args', "1,0,-0.5,0.5");
    $src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);

    $compose_args = $src2->getImageArtifact('compose:args');
    var_dump($compose_args);

    $src2->setImageArtifact('compose:args', null);
    $compose_args2 = $src2->getImageArtifact('compose:args');
    var_dump($compose_args2);

    $src1->setImageFormat('png');
    $bytes = $src1->getImagesBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setImageArtifact() ;
echo "Ok";
?>
--EXPECTF--
NULL
string(12) "1,0,-0.5,0.5"
NULL
Ok165_Imagick_unsharpMaskImage_basic.phpt000064400000001270150457363200014065 0ustar00--TEST--
Test Imagick, unsharpMaskImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$amount = 5;
$unsharpThreshold = 0;
$channel = Imagick::CHANNEL_DEFAULT;

function unsharpMaskImage($radius, $sigma, $amount, $unsharpThreshold) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->unsharpMaskImage($radius, $sigma, $amount, $unsharpThreshold);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

unsharpMaskImage($radius, $sigma, $amount, $unsharpThreshold) ;
echo "Ok";
?>
--EXPECTF--
Ok279_ImagickDraw_setTextInterlineSpacing.phpt000064400000004015150457363200015130 0ustar00--TEST--
Test ImagickDraw:: setTextInterlineSpacing
--SKIPIF--
<?php
$minimumVersions = ['6.9.8-6', '7.0.5-7'];
require_once(dirname(__FILE__) . '/skipif.inc');

?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

$interlineSpacings = [0, 16, 24, 36];

$imageHeights = [];

foreach ($interlineSpacings as $interlineSpacing) {

    $draw = new \ImagickDraw();

    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(56);

    $draw->setFontSize(16);
    $draw->setStrokeAntialias(true);
    $draw->setTextAntialias(true);
    $draw->setFillColor('#ff0000');
    $draw->setTextInterlineSpacing($interlineSpacing);

    $imagick = new \Imagick();
    $imagick->newImage(600, 600, "rgb(230, 230, 230)");
    $imagick->setImageFormat('png');
    $imagick->annotateImage($draw, 30, 40, 0, "Line 1\nLine 2\nLine 3");
    $imagick->trimImage(0);
    $imagick->setImagePage($imagick->getimageWidth(), $imagick->getimageheight(), 0, 0);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) {
        die("Failed to generate image.");
    }

    $imageHeights[$interlineSpacing] = $imagick->getImageHeight();

    $imagick->writeImage(__DIR__ . "/interline_spacing_test_$interlineSpacing.png");
}


$previousHeight = null;

foreach ($imageHeights as $interlineSpacing => $imageHeight) {
    if ($previousHeight !== null) {
        $differenceFromPrevious = $imageHeight - $previousHeight;
        if ($differenceFromPrevious < 15) {
            echo "textInterlineSpacing of $interlineSpacing only resulted in extra height of $differenceFromPrevious\n";
        }
    }

    $previousHeight = $imageHeight;
}

echo "Ok";
?>
--CLEAN--
<?php
$interlineSpacings = [0, 16, 24, 36];
foreach ($interlineSpacings as $interlineSpacing) {
    @unlink(__DIR__ . "/interline_spacing_test_$interlineSpacing.png");
}

?>
--EXPECTF--
Ok
163_Imagick_uniqueImageColors_basic.phpt000064400000001252150457363200014257 0ustar00--TEST--
Test Imagick, uniqueImageColors
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function uniqueImageColors() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    //Reduce the image to 256 colours nicely.
    $imagick->quantizeImage(256, \Imagick::COLORSPACE_YIQ, 0, false, false);
    $imagick->uniqueImageColors();
    $imagick->scaleimage($imagick->getImageWidth(), $imagick->getImageHeight() * 20);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

uniqueImageColors() ;
echo "Ok";
?>
--EXPECTF--
Ok052_Imagick_distortImage_Arc.phpt000064400000001741150457363200012703 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        //Make some text arc around the center of it's image
//        convert logo: -resize x150 -gravity NorthEast -crop 100x100+10+0! \
//        \( -background none label:'IM Examples' \
//        -virtual-pixel Background +distort Arc '270 50 20' \
//        -repage +75+21\! \)  -flatten  arc_overlay.jpg

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $degrees = array( 180 );
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
        $imagick->distortImage( \Imagick::DISTORTION_ARC, $degrees, TRUE );
        header( "Content-Type: image/jpeg" );
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok206_ImagickDraw_setFontSize_basic.phpt000064400000002142150457363200013714 0ustar00--TEST--
Test ImagickDraw, setFontSize
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFontSize($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    setFontForImagickDraw($draw);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);

    $sizes = array(24, 36, 48, 60, 72);

    foreach ($sizes as $size) {
        $draw->setFontSize($size);
        $draw->annotation(50, ($size * $size / 16), "Lorem Ipsum!");
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFontSize($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Okbug_66098.phpt000064400000000337150457363200007002 0ustar00--TEST--
Bug #66098	Check that there is no segfault from zval_addref_p
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');
--FILE--
<?php

$img = new Imagick();
echo $img->foobar;

echo "OK";

?>
--EXPECT--
OK208_ImagickDraw_setFontStretch_basic.phpt000064400000002616150457363200014426 0ustar00--TEST--
Test ImagickDraw, setFontStretch
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFontStretch($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(36);

    $fontStretchTypes = array(\Imagick::STRETCH_ULTRACONDENSED, \Imagick::STRETCH_CONDENSED, \Imagick::STRETCH_SEMICONDENSED, \Imagick::STRETCH_SEMIEXPANDED, \Imagick::STRETCH_EXPANDED, \Imagick::STRETCH_EXTRAEXPANDED, \Imagick::STRETCH_ULTRAEXPANDED, \Imagick::STRETCH_ANY);

    $offset = 0;
    foreach ($fontStretchTypes as $fontStretch) {
        $draw->setFontStretch($fontStretch);
        $draw->annotation(50, 75 + $offset, "Lorem Ipsum!");
        $offset += 50;
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFontStretch($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok295_Imagick_setSeed.phpt000064400000001146150457363200011067 0ustar00--TEST--
Test Imagick, setSeed
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('setSeed'));
?>
--FILE--
<?php


function setSeed() {

	Imagick::setSeed(50);

    $imagick = new \Imagick();
    $imagick->newPseudoImage(256, 256, "plasma:tomato-steelblue");

//    $imagick->writeImage(__DIR__ . '/cannyEdgeImage_output_image.png');
//    $imagick->getImageBlob();

	Imagick::setSeed(50);

    $imagick = new \Imagick();
    $imagick->newPseudoImage(256, 256, "plasma:tomato-steelblue");

    // TODO - compare images.
}

setSeed() ;
echo "Ok";
?>
--EXPECTF--
Ok
051_Imagick_distortImage_Projection.phpt000064400000001366150457363200014314 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array( 
            0.9,0.3,
            -0.2,0.7,
            20,15
        );
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
        $imagick->distortImage( \Imagick::DISTORTION_AFFINEPROJECTION, $points, TRUE );
        header( "Content-Type: image/jpeg" );
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok031_Imagick_affineTransformImage_basic.phpt000064400000010003150457363200014677 0ustar00--TEST--
Test Imagick, affineTransformImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
if (PHP_OS_FAMILY == 'Windows') die('skip dither is apparently borken on Windows https://github.com/Imagick/imagick/issues/590');
?>
--XFAIL--
I don't understand what values are returned in which elements of getImageChannelStatistics
--FILE--
<?php


function checkAllStatsAreValue($channelStatistics, $value) {

    if ($channelStatistics[Imagick::CHANNEL_RED]['mean'] != $value) {
        echo "Channel red is wrong " . $channelStatistics[Imagick::CHANNEL_RED]['mean'] . " vs " . $value. "\n";
    }
    if ($channelStatistics[Imagick::CHANNEL_GREEN]['mean'] != $value) {
        echo "Channel green is wrong " . $channelStatistics[Imagick::CHANNEL_GREEN]['mean'] . " vs " . $value. "\n";
    }
    if ($channelStatistics[Imagick::CHANNEL_BLUE]['mean'] != $value) {
        echo "Channel blue is wrong " . $channelStatistics[Imagick::CHANNEL_BLUE]['mean'] . " vs " . $value. "\n";
    }

    echo "Stats checked\n";
}

function affineTransformImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 640, "xc:black");
    $draw = new \ImagickDraw();

    $angle = deg2rad(45);
    //$angle = deg2rad(3);

    $draw->setFillColor('white');
    $draw->setStrokeColor('white');
    $draw->setStrokeWidth(10.0);
    $draw->setStrokeLineCap(Imagick::LINECAP_SQUARE);
    $draw->setStrokeLineJoin(Imagick::LINEJOIN_BEVEL);

    $draw->line(
        $start_x = -50,
        $start_y = -50,
        $end_x = 690,
        $end_y = 690
    );

    $imagick->drawImage($draw);

    $draw = new \ImagickDraw();

    $affineRotate = array(
        "sx" => cos($angle), "sy" => cos($angle), 
        "rx" => sin($angle), "ry" => -sin($angle), 
        "tx" => 0, "ty" => 0,
    );

    $draw->affine($affineRotate);

    $imagick->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_BLACK);
    $imagick->affineTransformImage($draw);
    $imagick->setImagePage($imagick->getimageWidth(), $imagick->getimageheight(), 0, 0);

    $imagick->cropImage(
        $imagick->getImageWidth() - 40,
        $imagick->getImageHeight() - 40,
        20,
        20
    );

    $imagick->setImageFormat('png');
    $imagick->writeImage(__DIR__ . '/test_031.png');


    $lineCheckBlack = clone $imagick;
    $blackout = new \ImagickDraw();
    $blackout->setStrokeColor('black');
    $blackout->setFillColor('black');
    $blackout->rectangle(
        ($lineCheckBlack->getImageWidth() / 2) - 20,
        0,
        ($lineCheckBlack->getImageWidth() / 2) + 20,
        $lineCheckBlack->getImageHeight()
    );

    $lineCheckBlack->drawImage($blackout);
    // $lineCheckBlack->writeImage(__DIR__ . '/test_031_blank.png');

    $whiteout = new \ImagickDraw();
    $lineCheckWhite = clone $imagick;
    $whiteout->setStrokeColor('white');
    $whiteout->setFillColor('white');
    $whiteout->rectangle(
        ($lineCheckBlack->getImageWidth() / 2) - 4,
        0,
        0,
        $lineCheckBlack->getImageHeight()
    );
    $whiteout->rectangle(
        ($lineCheckWhite->getImageWidth() / 2) + 4,
        0,
        $lineCheckWhite->getImageWidth(),
        $lineCheckWhite->getImageHeight()
    );

    $lineCheckWhite->drawImage($whiteout);
    // $lineCheckWhite->writeImage(__DIR__ . '/test_031_white.png');

    $channelStatistics = $lineCheckWhite->getImageChannelStatistics();

    echo "Checking white\n";
    checkAllStatsAreValue($channelStatistics, Imagick::getQuantum());


    $channelStatistics = $lineCheckBlack->getImageChannelStatistics();
//    var_dump(
//        "lineCheckBlack channel stats are:",
//        $channelStatistics
//    );

    echo "Checking black\n";
    checkAllStatsAreValue($channelStatistics, 0);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}

affineTransformImage() ;
echo "Ok";
?>
--CLEAN--
<?php
$f = __DIR__ . "/test_031.png";
if (file_exists($f)) {
    @unlink($f);
}
?>
--EXPECTF--
Checking white
Stats checked
Checking black
Stats checked
Ok
081_Imagick_getImageHistogram_basic.phpt000064400000005557150457363200014237 0ustar00--TEST--
Test Imagick, getImageHistogram
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc');
checkFormatPresent('png');
?>
--FILE--
<?php


function getColorStatistics($histogramElements, $colorChannel) {
    $colorStatistics = array();

    foreach ($histogramElements as $histogramElement) {
        //So broken. Wow. Much surprise. Sad. Bad. Sad, bad, sad.
        //$color = $histogramElement->getColorValueQuantum($colorChannel);
        $color = $histogramElement->getColorValue($colorChannel);
        $color = intval($color * 255);
        $count = $histogramElement->getColorCount();

        if (array_key_exists($color, $colorStatistics)) {
            $colorStatistics[$color] += $count;
        }
        else {
            $colorStatistics[$color] = $count;
        }
    }

    ksort($colorStatistics);
    
    return $colorStatistics;
}
    


function getImageHistogram() {

    $backgroundColor = 'black';

    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(0); //Lines have a wi

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $histogramWidth = 256;
    $histogramHeight = 100; // the height for each RGB segment

    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    //Resize the image to be small, otherwise PHP tends to run out of memory
    //This might lead to bad results for images that are pathologically 'pixelly'
    $imagick->adaptiveResizeImage(200, 200, true);
    $histogramElements = $imagick->getImageHistogram();

    $histogram = new \Imagick();
    $histogram->newpseudoimage($histogramWidth, $histogramHeight * 3, 'xc:black');
    $histogram->setImageFormat('png');

    $getMax = function ($carry, $item)  {
        if ($item > $carry) {
            return $item;
        }
        return $carry;
    };

    $colorValues = array(
        'red' => getColorStatistics($histogramElements, \Imagick::COLOR_RED),
        'lime' => getColorStatistics($histogramElements, \Imagick::COLOR_GREEN),
        'blue' => getColorStatistics($histogramElements, \Imagick::COLOR_BLUE),
    );

    $max = array_reduce($colorValues['red'] , $getMax, 0);
    $max = array_reduce($colorValues['lime'] , $getMax, $max);
    $max = array_reduce($colorValues['blue'] , $getMax, $max);

    $scale =  $histogramHeight / $max;

    $count = 0;
    foreach ($colorValues as $color => $values) {
        $draw->setstrokecolor($color);

        $offset = ($count + 1) * $histogramHeight;

        foreach ($values as $index => $value) {
            $draw->line($index, $offset, $index, $offset - ($value * $scale));
        }
        $count++;
    }

    $histogram->drawImage($draw);
    $bytes = $histogram->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

getImageHistogram();
echo "Ok";
?>
--EXPECTF--
Ok069_Imagick_equalizeImage_case1.phpt000064400000000711150457363200013325 0ustar00--TEST--
Test Imagick, equalizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function equalizeImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->equalizeImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

equalizeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok060_Imagick_distortImage_Polar.phpt000064400000001245150457363200013251 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        //v6.4.2-6
        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            0
        );     

        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
        $imagick->distortImage(\Imagick::DISTORTION_DEPOLAR, $points, TRUE);
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
OkBiter_500.jpg000064400000141027150457363200006711 0ustar00���JFIF,,���Photoshop 3.08BIMIZ%G?094042+1000>20110723720110723<094042+10008BIM%yb6㏣���|s����XICC_PROFILEHLinomntrRGB XYZ �	1acspMSFTIEC sRGB���-HP  cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L	VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m�����ExifMM*	z
���(1*�2ȇi�CanonCanon EOS 5D,,Adobe Photoshop Lightroom 3.5 (Macintosh)2012:07:25 23:40:21��&��.�"�'��0230�6�J�
^�f�
n�v��	�
~��������������1
��2��4��2011:07:23 09:40:422011:07:23 09:40:421�����AE�Q,930602934FEF24-70mm f/2.8L USM��/http://ns.adobe.com/xap/1.0/<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
         <photoshop:DateCreated>2011-07-23T09:40:42+10:00</photoshop:DateCreated>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:aux="http://ns.adobe.com/exif/1.0/aux/">
         <aux:SerialNumber>930602934</aux:SerialNumber>
         <aux:Lens>EF24-70mm f/2.8L USM</aux:Lens>
         <aux:LensID>230</aux:LensID>
         <aux:Firmware>1.1.1</aux:Firmware>
         <aux:ImageNumber>12</aux:ImageNumber>
         <aux:FlashCompensation>0/1</aux:FlashCompensation>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
��C	
	
	
	

��C����"��	
���}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������	
���w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?ԟS�S��R���k#��S?�H�6δ�v��`�C�]�My�������t�&���
I;��G��9�؊n9�SEԁ��`�x&�$hI/�׭R��#�V��ޫ�۳S&m;Qn+�չ&�;�-��?�G��<����pW⑔z�uќ�O�U�\��;�Y��j�O��k�<^��k�<F�;W�\���T�T�/�j�0"�^����J��H���T���GDV���*�EB���N����&N�Tь㊎5���3Y���ّ��.��|p:ӌ"N�i�!���$��Pm�n��'�@�&O�S���,�pXT�1�z�li\�G�P�ԡ8����dM<�m� �4��CDd})�8�H�3��=��l��1I�x���l��8�!Ni��&��5b2��y��3�Mc�i�
�\f��h�T�]�zұ�7<�F�H.#�)��ӛ���Ȧ&�DFz�Tl�`U��r8I�r��6f���4ɪ!�#�iJc�<�y�H�3V+��1J(�Q����LU<�c�r���P�K(�N4�l* ��ր��m�QɎ��W�TBO�S�&�j橓��;�㊉q�Ӂ��Lw�h�Oݢ��z��K������.�|�?Z�-�y9��;8Gk�'&�Ǣ���zۗ��?j��y�?�l$,5�xfŲ��ln��^�ۃ�u�ReEr�`Ev:u�@�l�E��"��,0��#E��f�2����?��>j���ʞ��kPpՄ���&��z�O.C��gup~%���z�e'��~.L��^i�D;�5�~.�ϯ�y���ö}k�������H���o�qK�J�=q�f�C�5=G526�*r8����J�=���d�d�7W&��*x�7<T��<�6]�iZ�S�VI	"I��ޡ���A�����d�ަF��ԙGN��@����64�����L�`��v�4�'|q�x�M+�F���~��ԇ�4��M �#'�RgiǽFNJ��K�3z����!9��[�!ɋ���~���sH[B��x9��Swq�&z�a��/A֚hS�W+Q�g�&�ݩs�v�w4'q4#t��g�HO�L+��$�n4�`T�rx�0#&�;�ƞ�ZcS���TD��T�-�L��:撔�6�.�t����G��9�!�"�&�J���|n~�-H�3��N��WC��j�	k6�R,+dT��^�M�Jz�osT�,T�N+�9��U�RӼ(?���A��aF2�V����+^��p3_�4~8��O��Hڵ�hZHL*-2�8�t�=�N*K5�
�x�����V^�g�h���������o��W���-����4F5�_-s��?)�u�pqӵs�ݾ�X��<�����SW����G�15�T�^-�
��>(��8�ռ]߯2�L_;dW��=�/C�q��P��I$cy��¸�Z1�����M8/)Uy�l�Dtc֥��Jx��6͢�'S��i?Jr�R]��֤L�ud��J���,}:��z�jh�֡�"d��OTH٧�� ܑzӺT{����P��#`SqJ[�i�E�+��=)�҂�Rj���bb���7I|�P�5QR��S�ck���j&�ү�֑ͫ[.�^+Y%��}k�φ_�KO��������\Nu���?vH�Gֽ\�*��s{+i��s,ކY��o�c����[�6Z���'d>Ӝ�����k���O��ſ�o��3�t֌��<�c� s����߱ޝ{m�x��ۢ�L�� 0!��|v��Z�A����Ӻ��$�T�Q~���h�c@�ơ�],4Yno$�D��5�x���<�G���G��OrA�i+g��v��ӿf]_�7��xQɷeDG$wS��_{Cm�_�	�ϩ��=����	e������.�i5>���'1�ag	R�p��G�pp:�2I�ӭS�	��;�sima�_DЫ�H�g��5��?d�_�?�O
��_�V���:�Ϯ85��w��e~k�i��$�cܣ𴯯Sȳ�֌|ܚ����+�|C�)�{mZ����l���N@�#��}�{�d���Q$r�L�O2�+NA��Ɣ��ή�����g�\S��/������z��pM}�C���7�[o�$�x$u��|��|�#�������WVm\��39QwI�^�)ϥ���!�ƞ=*7<�*F����Ԃ'&�c�O~i�*�hk9�I���~i���ֆR��4�n8��3NW=
��4�>�
��$�ղjdR,)��H��9���hN��g"�n6�S�s�U�<T�޵�������E7�Ҋ�KO����,��*����iXŜW�ㆎ�5�i܌�6��1]6��2(�o��8��������Һ[H�Q�q�#�M��#�WV>)�ŕ8�#H��k��"�Nk����q\��Ռ��M�}�(�<W�x�8bk�|Kޯ;�Rn
\�N�,��Ǎ��^g☹5�,^Z�����x����t����B/s�����?�[=��\R���@�4�k�sڜ4��Nj
���`Ӏ�ɦ���"{�l�r.jU�1�Z�)6KC�i��MQ�R�r^���qN�q֐�HV�W��L�N֕�qrH���<#{�m�L��A��j瀾j?uAo��d=��t������xY!<����`��3��攰�Ǚsv<�߳N������2z�+���;�f������l�!�C}��n��\W���|zf�g�hH-.
o�>W��ۿ��u�����Euj��V�[�)�;b��.ʖ�jT�,�O�3�q��'2N�-e���_���Ӿ���Dar���z���V�x�Z���K�.M߆]sg�l��������zv��CJ���ݦ�*X�Ͳ������z���^#�k��
�ᢝ�l��anH�C(<)#8�ON����џ����Ds
��{��ϡ����i�3�5;�|�f%�<��G3��;�;�/��i3
'O�=2y��I�F���� ����	�a�τr�cǺ���b<vQ*��_U%[�h�i���7��hk�/��_��c���ƶz�E��0�z�`8$t'�T��=��MT��_����9����g�h�
�]>�I�p�
M*�����{5p1�o�|B��^�yMn&vh�g�GֹQ�T��F]>�kw	xd�wGr�r�8������\_�?�~'�C�~3��9�%.|Ŗ9�h\��d�A��zjp�Z;~�\��RP���_�_ƈ�𞟫I0vŽH�?�> ��D�Ωkyr#B�Ĝ�t�|ۨ�D>&�3�d�@7��a��R]�luP������&y�!�Z鬯g�;(ć	<�g��l��+�NU*(��$��:0�ӏ5�v=�J��i��'S���,6�B�0=�����t`��Lo�~Ե��i"���&�8�l�Ȟk�o���}�x�o2X�^�l!�,Xw9q�]w�Ϗ:������Md��j� P	��(�N98�c�_U�W�愧N�X�}��J|3վ0�xh��JZox�m���@k���[�C��~6k6_�I���"�t���>�_B|����^��ݙ����I�p��C�ߊ6x�=��3K4�b��$W���(���Ilv`�j�:5h�K��ڿ��_�����q\0A����e�`W�;z����C�
'�'����_��|K��d��3���O'��`���}ޣf��ĶʷsJ����t�3_��h�u�+A�+me�z�>�'�S�x��&�~�o�c䖓֢w�Z�X^4Gt`��@a��P��i�}��ri�=jC�La��M0�ț�g�RI�Za?�.���4��✼P�V���51֞�j[�X�6⦋��A�XF�⥖���*��U㓏Jy�Ҳ��tD�M_͢���]'�֕�c����F�W��o��җWO�&1��t�H��I��h�td����>Q��4q�
�G�3T�����W��G�zT�\L�œ�5�����^���9��U�����g�5�lל��q��+�k�ٯ:�Z���Qhz44g�����*\3�ק��~f���~+_���ģ�0���\s-0t�.��i�3^c���.1J�֜?�CE�`Q�S��(\�v1֤��"�M;n(�p;R4��*���zT���E��&N� ���W�=_��ؗ#<�c'ҁ�h'����=��.�-
?6E��?�d�5����3��42Z\I�H6��_��>k��7��|#�$p'G,������g�j˧�Z��vڭ���W�q�-�(���g��Y���I=:����g���~�K�f��r�Gn��_�o���� �[�M���>�i�>!٦�%���ݼgc)�ƾ|��ӻ�Ư.����m�%�K�T�#ھ��g��a�E�utݜd�4�S�3%,K���yG�U�{C���
���B8�_5q��}
p_uX4�oX@�Zn�n�����t�x��6�~�|[�����RF��?w�UpN���|8��J��
�
#�^�c�s�j_���&&�L�q��ҿi�B��b��<	Ԕ'�-�x�᮫�}?|��2X�1���٨4{�L�u�A��W��5���F�1�����id��[����n^Há�?Q�&EE��,��dϤ^7�l�tO4�:�~qӑ�x��1e��?��uK�
�K����+3�]�L��,p�[�l��+(C���"�bc9�����k��t�ų�Z�q��i�8.
���=7�*>���O�}S�>��pi1�F:n�;F'��t�\��J�� ���/�V�u����?h�/���E�l���p��'x5�4��y�鯾J�k]i�e���J�)��ʐ7�My᪪UV��滯O��3
�����֞_3�%���e���Z�W^Z�j��Ю�y��\��ۧ����w^7ZU���e}u���K�������6��I#�m�-R��G���~I���F�>��I5o���!�9h�8$W��Z���?‹�;5��X�`𤄬������
�G>�k�Qto*q�V�K�0��U�~��	�
~"��K/����n�o%��2��&H�1��Gs����
���f��[�o%�b��V?�HI��A+�Oa^y�cW��1�so�p�G(=+�'����MO�?��e���_𼻧����e�]�C��²z�\&%NP�-]7�U����]jN��J��OK7�S��Ў�Y+��+��N�fO/�;w�&��iji#�V���s_�R2��#�\.�8 �H<����o��</�h.m���M5�q��;29C��q]�ǎ��>�P���A]�AM΄q�,K�h5�9�F�L<W��GӪ����:��))�w�����G�)��N�4���$�$�#g%Ӹ��ZBG�w	<wqs}�J�,�r"RG�p7_L:ב��L�[k= �tm�J�]�"[��V��ѩ�Z�<%�߲�Yj1۫�4�-4'�yP���"6��|�X��'�����u�	�Iu�)��ރo�[\K4�|߹����m�>�_U�_ ���}J��R��u4
4hrR>�ξ3��x?^��o���h�ko0�0�&y�g��j���/�����[�6�p��$9��ÔL�	Ϡ��Y�a/d�d�~�Ǚ�rW����������[�^'�	nD��e��q�@���7�K���(�zu���~4�ſ�Z<!����^F%ݏ|W�~�_W������&�#� ���{u��x�/�:p�a�{v�#�.̦�*��ݭ~�������<��ǯ�9�з��fx9������!��b�("�7q�ߚrri�Ӕc�RT�����P���R�鞵,��%V�Z~�
D���jmr�:�i�������o��;�Ұ�����k	�b�E?:m(�ֺ�)�Z�4��e��I�p4��a�ɒ+���c�hR�2q]V�'�R4���2c��'�|�{�ĥyʚ��7�tCr����)�c#�S���7Ҽ��K��J�&Cb���	�W]�F��,L��y����GŊ2��1�X�6+�Ğ�᯾Y�L#���'�j4|���*�;S���875%%a�ҝQ�"��恊N:R�n��҂��N*E9�Q��S�p{P]�#<ԣ��c�jT�9�{��wt��i��Ω�K\��Be$cz���-*��t�Ep���}��K����a��9W���xӉ
�%�Iߥ���y��S���=��-�Gy��G���LQL��!���~(���CIb��k&!�
=��ޙ�����5�Y�Q_~���I����MeP�������-��ښ�T��mn�h�ʴUH�������MN��=_�_FxD;�_lW�Y�d�|]�YW�z4"R<�x�W��̇��_�������ږ�=�N�.b�=�y�zƭ��q[Ϫx~�[���ƍ(�#�Sʟc�_�Q�����qq��og�|'8Wp�f��iu�s�1��^�;��K	�3�yw*��2�=ԃL�w�a�����=#Q̒�҇���=M�l��Rs��Dlz9ϗ|L�=㈭i�S�HyTG*.:����i�w����t�OZМc,k5�Ժ��qҪr�a�8ƛ_'��Kg;��V���'�!mO�7�.��r�;Iks�{2�c�s(��S�)�q���Nm �zhuk8��!����'��k��:�A����jd����2H�v�mVP~�y��[�~*��}�X��s�˿.ݙfm�1�.���'����x�
m�K�t��qxkM(�۹�h��<��Zj0L,ݶܪE'����Xf zn8�'�k���[Z[�-����l�
G�����<�!�@���o?j-2�����Q����xn�Ԁ���#.*���ex��v��[X�߅z�yjn`�����
�񓜁�_z����8�E��u���)'$�����x�D7��h^=�j��\�1���
�<��"��_|Z�o.�}r��C{mJb�t*�uV8�x�[�Y�V�Yr�
��˺2�4m���qY�4���E7"���J<�r�|6UV�<��kЯI��
��KX��]���:�1MO�Ah��5���O�~��_�X�s���Gs�3`���DRv�4m�C#���gԵKK��=漵���7�N�(�g�q�f�]<#|��nE�!b[k�5.o-a"3a�<H6<m���3*���>#�[�t�";-B�Y.�UQ$?+&�<ݒ����c��r:1���eh�t���OO=��e\�Tj+������r���"�u�"����6��VP�z96m%z�z�zkIS��*�/�N�o6�e�i�>@���h�R@1ʬ8'�Y���H���K�;ۺ��\Ca#�֤�ŰV�#��8��x7�Qh�o����Wח^�o5{�L��CD�BW���$�{�\5iR�Z:?r_$�O���v��*���گ���J?���Zz��6�As
w���v��`6���-ߋ�C�cMg��e�xce*�y2D~��~�
a��2�a�x���T��L��m �ȿeº��0?��S�:��������H;�f�n�.e�aP99��@�99Nj[	��J5��3�W�n�����,D�;$�����_�W+�S�Sj�Wם&��M�!�=�Q���W	�J�Q�����J���Pܾ[
+g"�!Pq�y&�>-��+�=c`"M?M�Y�BG�۽�"���!FO`kwþ��Ӭ'��R�JD�5�*R'���n��� /'�=��-���a�E]�}��_Mq�IG�M���C��:��4Khf�bhn&O$�6���'�p�{��G��%���Zϭ�imo�ڼ���&����~����K'���ϊf��mˍTا���yq[�1b^K��増b2��C�jW�$�Ʃ�ߍU���-���iV*\�*-�m�
���r8L��6�XUw�ݼ�_Vw���V)+KK�_��������qֶ|o�C�x�U��IR/%H�V
"�s�1�\VC�G'��X:s�Gc�zr��R]U�O�`q�+O4��T3D�����4�s�\v�;=GzP1J8�P99�p����i���*�J��"@��$�s�8�j�c�ǭ�?�QR_)�Z�u��;R�My�~&f��li���FM~�~+}OT�u%$s]^��)�5�Z�͎y��÷e��}�,���I\WY�N89�ó+�]���A�c�ڍ�9�����+�KsH��ŒV��)�����qX���[�g3���W�f���+��^��D���*\�*��D���/^a�ϼ޵�^0�wҼ�ū����b���s=B*mUv�Nj�o�yrG��(l
r��Z����iĪ�<ԁ���OWȩ��)n(^O�Ig�Kx��R
�t/��_��c�\��e2�IX�u�O�fP��5�c�ۋ��½G�TV�R���m��;��3�S�%7vsV�rG�ly^�����W]��L�O�]u��6�
�x�]��95�b8���6>3�Y��,��S�y�º��rnlmj�3��-��E-��Q��(���l�G�����m���ۻ���eA�=+�.>��fu�
S��ti=>e�q���^�k���Mn�h3�
m:����k��x�ľ9��_��W�v#�$�B{�ѿ���]C��R6�0-�*q_x��&�����*�ޛX{�_���X�&+��:OE����v��3���*��^�?�&w����͸���L�>x�|��{�c��5���o����b���升e��DZ���ľ*�[Y��웲Z+��)�t��>�$Y���ڝ��
�D�K��}�${�磃�"��Ŵ��޺��璟�ɋj�n�_�?ڋ_��ء����\�w��d�Á�ɮ�J��y�i�����'�92�ֻ�'$�pS�_1��|:�f캧�bI6ɷm�@�1䊗V��f�y��e�ۛ�BtTkd�[��'�\�+h΍.g��SZ]6޿��h�D:r�J�|��V_�s��?���L����͞�n�nt��7:m�'����B{��|�Q�|�yi���'���l�C�&�@�l@�Ƹ2Dy��6;��^�9|@�>)o��ͽ���QӶ-�eϖPczq�7'��#�z�{k6�o�t/4(�.�10�,6�/qЫ`I�p��R���}��?��+�n�k����(���a�xs�"�M��j�G�^v��Ot>j��<�L���5�o��o�4�n,b�����R[�0<�v�nDa�L$І�>��ĨF�&������е+��#L����BCZ����0��b�W���F�c�܍nڊ@x����8ea�h6kYSP���kf�^W��9�Wm��-���܎\����徵&�����G��<��H�p�Wi��wS]]y���#��r̜��I��V�s��Ɵ�!�5��׷^+�v�Oi4�V�����&+�c�K�Hr0+�t�SO����xU�1���f�eou����p:�0�Z���ʸz��T���W����%���ݯ{"�(ԃ�e��g�z\��xV�g���i���)2$D������#O���4{�zc����Q��%���q,k�2'��@e!X��-R�:8�J��g!�F����+���4�v/(���ݼ���'�^���Hq����*��Qx�+�7��Ev�^W�i��0��ug�7�w�w���Q��7ÿ��oD��>U�1����
�!�%���[�o���7��o%��ƭ����n��̼G�+RPEy幷񯅗L��g�iq��NA��"c�hV_\
�#�	�#�j�_o�}%��'��6u �}ϥ|���ʨ�M^���u�I��٥���=�1/O�+5�U���7��i��7�Lֶ��ki�6��:e��€���O5�go�x��o�1�hM����'1F�Z1'��c�?��� u-O�u�l �67r�#
��x�[��}_���]�ɢ�$�msPH&-����H�hR[���FQ��9�$�k�j�����d�U\y^�y���F����+��z�5)5
6(�{�*��C�+�����'�+��5���u��\A�B'ڲ^�<a�JҜ�ܹ�<p�*��i4
'�e�H��y���`� )��1�G'$�@�S��:��<;k�_E
ݦ�����g� ��H���P��X��c��q�Vm���d��k����qNQ��;�gO��Ľ"�Y�Y��M>$cmm�}痑3��2�O W�__[ּ]�j:��
��!Y��e��>��d)�|ƾ?��C�w�!I�9
�j��Tu���A�{����O^>
�t�C,zu���wM��L���Ӟ��z
�Stp����W�˚�\U��w��?w��\G���fer�ŗ?{9��_ư�qַ�yu-߉f�]�7��)x�d������6�q_��^j��n�s�|<���Z�W�ZM��g9�c=���F��Q�sGSҤ13K��~�;��T皗�Q��!�a�x枩�iv�p֓c��	K�
pC�5&����,wT���F��̿J�ti�c�8'���h�g�BG�7;�I��u�i�����r����n4�L�O���D?(�Ï��w��T{�!����G
� U�2)4h�ӮA�m]p+nu�9�}]~SYL���E�J�/�۫�<H�{5�~*�*��3ӡ��&7�ח��r[�1B7漿ű���bO��nyְ�K�z����{Z�犢�rkʓ�=�-�R�����j���� ��S���&s�7ic-�b%5�x7�\���ob�8_�&*N�^��N;d>��_
�<MS	M�*��Є�d�M�e�����crqɭТ����ҙ'�T��˶P�}{V&���>L��F�+�ϯ��ڪ��|�k�ӕ����Xt�a��U=C��Sb����\���͜�U���ᱚ飕ӡ?i-Y�����͡��7��$]g�4��j�Ż���ל�wS{ق =q_L~�	���s�U�e��#�8�6Mny8Z3�+(GS�~xnO	�q���EO�G�u�ti�K6��i��j����G�E{�f���J�k����cmu4�Ol����',��ٜ��.\�mz��JP�R�5+X��?c�_��X_�����3\/��,�"@m4�fn���'���<��F����q
ی�4X>����F��O�T	�����J�Y}�{�G��
.�œ�x��I����x�T�$$��M�Z���~�־>���R��B]��b�Iy)�����;�����]�uM.�]��wY";�T���^����6��
=���0��?y���рǾk3���$�t����z<�4�?�FXm�����}���R�"��o��V��柼��J�e�cZ��X�k|�+s�(��LN8<w���>��>��h��cL�m-$ԣ.�F�@�9v*��Z�/�����J��`���N��!�{w]�+tʰ�3�^=�Y�,����S�[�t`�����PWΞ���m)P�N�[8s_�ةe�T(AJnI%����I}����\��p���Ut���9%vҒ��c�4�$��J�{G���W������T�Sb)��	m/,$*_Y��.ee������=Y����k~y�V�����OV�\��;��Eq����w���z
��>Z蓏xB��Q�l�/�%�=��.mՠ�����x�"��w��KS��5��>����q\À��V8c�\���}�[��U��颺����{X�|֕-18T��n���v�kd������J�Ѽyi}��j�$�������6e�!��d�UH$��j��~-i�����m����Qml��G�laVH��@)�~S�Ei�@��s�Ƒ�j�6�cqu��La��� 3�P2��*�
e�z�'�
"�<Mc�Z_kJ���H�)�,��+n#9�^���
J���N�M������m�&������~_
x��
�[}R�m睦��Q��">%����rG,�t;����Wƺn�]�:9#n��}`����]��zƉ4�j�e����`�up�=#��6�v�_��*��<%��5���\5��[�b��xTa�8⹳?�j�(r�����o�M��uf����}�?������䰋��M�c���e��ǡ8�ғYT�>��Zh��+`e9�{��v�6���1�n�}��FNٍ��=�
P[����堒��0U��p��g8aaCB񶷽�_��켒���֦�G*2��f{˭#�"y
��YTM�{r����1����!�j�\j��{�KY!U��v
NA����4x����ɪxJ�{m2�Jۣ�;�g�>��X���.t�t�
����z�̀���+�s�_	�X)&�M�.�ۤ�����'��n��
Ƥ}�w�tko�v����kk�7�V[�[��-�G
�H��b6��+��lj��'�}H9�[(�X�@	au�H٣?�ز*��B{S<%��|9�n��]2K��A�c!�|�Ȯj�Z��+m����H�q�.��K�=� =�Oz�si��~�ZM>�W���#��������O�_�=S�Z���O	-����/��D�W>Q��-��;�N��&�~Gi��BݼA���'y+
����a�~�nؠg.�$5`��.��D��4U��mm����m��+�C�FY؟rk��l-$�VW�l�s*�rߺ����c!�X�k��G	V�oQE6މ=�^w���h�ھXm�_�W�|2����%�[��U�ܱ��wm[�aC
^WTc�
�m��
X'��;U��U�{(.�.T���1k�U#h\N+��\h�F5����CC��j���R�8���)��/��4/cyo�s $����o��X�%Sh�ܚ�)�=�'*��Z�%��ޥ.Y�G�[�<�Ś��N��ݘL�u�֎abі��IS�qY�3���\�ٮ$%�y^R}K1c��"��_�Ւ�����(ӊ��W!�pԁ}iLx�X�R&_N)6s�J�I��Rƈ��n:b�+�z@��ACq�*�J~�sO�f��PG֞��:R�֡�D'�GO�E;v�tR.�S��5�hSc�i��$�p>��w���w
�6�!�\�;&���޹Oxi�A�Ƙ�����|8����ABg�r~��^=��`�U"�k��b��M�.M�ґ�J��Y����&\�d��
c#��<I��Ҽ��Q��+�Iޯ<�LY1\��Qg���3����,�*s�^��(��.�l|6+��#��Kc�5��y��p\r{V�dn%'�5��X��~��L);3��f4𱼙�}�s�0k:M{͔`��ҳ<Eq#�R,�v�`�4�?Z�����|i�3�ځ�KU{��I�^��{�l�y-����}��H�>��o��k�`ϵ~QĘz��s��y�63����uP�:7d��g��\��t���`���f�bo[Xi�30���k�^��@N��_����U���!���KK����������Vߙ\dt���W|��$<`�*{����k��ci#�E�x�5-9�d3K�lb��	;ѩZ��+ˡ���J��o�j�.x��(R�ȯ�~����-��
|u�+K���n�����S�v1��<Q�:��O�J�ݡ�7S��)Jr�^��ɩ�l�C�E�G��n
^)nv�����8�{��?�g�n�@g ����߆��MJ�k� [[��~eS_u�W�y�6�*S^������}na�����j��9�?�/�Y�����h��o����hZO�w��Z76�1"���;o�#�Z��v�փ2�][��{�ڴ��_��x]��N��Hs��}i���=����	Y�o5�τ�$��Z��e��kGp�~#ќ9ppӠ<�Я0����{�;]����ܷ���D�����va�]���]c²x���jB���w����>�W�m|i�P�ߋ�/4�����B�N����{��ps�W��*�S�e����s��Tx�����H����i2��ީh�nO�{����
�?ڟ��~��x:��tk�O�&7i�[F��e�š/��'�����]�/�����%�cc
HB�M�-!nx� ���
���Jt�4۔��v�[G{�]j�(8����W�cf����
��~2�W�W�+
)E�r��Zח�ɯ-�?F�<NO���*1�Ԗ��HK��d���F�z&|�x7T�|%����&���R�J�����4����CH�B�I�#>���ċ�S���2C\���s���>�b���KҼEg�ǮjZ��ވ�4zU���ౘ4���ƻ�s��l��>?��\����H���%x�$`v��q+�.�Fp��䙕\F1c=��R�����G��}��%�hp�\���iկ*�߻�2�d��i8���s�G�	S�ɺ�t2Œ��)�c�z��!���*���;���i6�]����ך|���>6�3D�+2�z�Ҿ|��|�x{{�μ6�#��;#��]�񝴫�5�6|����<�u��L�_��x�W$���Nݴg�5��k����ďj����6�!��@�jEͨ�NH�0�5���ݧĭx�ᨳ�����l����4��Ywp[����˯j!�_j�]�p����a�%ݧ=Wo'�jұ��,��V��%d��m��+�~a�
�ײ���/J��ު�gӕ�ռ����g����I�WZk��<gÖrIgp|)�b{I�lF��aʂs���Zc�w �	�nW���0�=+��{a/�a��/�kw�兵+y!b��K�f�?��z�]#U���������ȹ�����J�6gK'��R|��-�-[K���V��Ļ�Y�8x�O��-m���S����B�;_?P�"�vx�y`I���Ͻtsj�ͦ���aqj�M����៼cߡ�!Ѵ�˔���Գ�.U�0|����=k|Ng���R�ٻ|K�N�_[Y��hS�Pni5o�_��^��k�OR�urdc�&U���5͵��̐�h�c"����8�'ՈU�`3Y��K��p�!�������qϽu^*�=?Rm/C�h�h�v�A�;��k��M\V&���Z�$��m�[/=�s��-:p�*�~�V�9�{�-���c�G܈3������ȼ�sX����(���H�0��@xL�x�սGA��.p����$�vG'�_S�I�5[K��Ig��-�K���>�1�[�qӥg��S��N�_+߾�G���z�L=9+�M_���mi��xv����ig$�g�����n�Rpz�)�8��gay�5-R�	��_������9q�vw��0�<t���+���mBa�D"�� �5�o��4?�60�o��J�6�X��g�18�c���,�M�YOD���im��y�GFy�aF+T���_�b�Lt�@^i�riv���0͸�m�v:c�1�R�$FɁ�n�u�YI=�<��7+���4� әsC�!�E'<w�'�H'x4��I�U=�CI���c��D��E0��3E"�x���>_ӭu:��W�5��xW�z�A�xsh\��?KR���l��I#o�^�2+�Ѵ����f�V-�zqR8��H�Ž�V~��c
�4�=�8��Eo���8���qC��JL�&U�X�uH�5�uZ���8�&t��<IZ�����|D��}k�|Sw�j�#�<gP�� �ޥ�|�⽇�	��X�q_?|L�����2�9�;华f�r\�rp9�uY��+��Vf�f��g�WM���ޕ��N�#�b��%��3{��o	)߭XX�@��)��J	V{�&��F�Oq�DZ5�q�F+�͝*iS���[US�KC�����
���	��W�|�{w�]i!�q`:g�_�V�e�D�|� r����iQ��/%�b+Iԧ�a��w^3֔��<�נ|EH<!��V
�{נ|1�]�|8>Իd�q�|��R��Ρ-�nJv����]療��"~���,�XʿG���YmCV�R��M��/���=G|�G�Ժ
��t�{��R�sAF�H�~��s��K��7�q�ߵ^����g �Wغ-��yd.C_8~ķ�i�+�n���]��[��1�_�>#�=�n�C}�~���,_}O	��uY �[)%�3Ҿ~�>˥�ky���;\˽�_z�O��Y���[\]=k���7�Z�y�sє���Ù
���־%���f>�Y�=<�d�_V�L��V���,L߹�*�[x��o�b��V�bN�@���{W	q�_Gd[����1%~��|;�W�%��n�u�Ɵ}&��DG���ؠ�RK�R�g��⟴����d<+�um.�+��[�aPl�W��=	�����~<�-?����x�����gw�H���*x�*�����++_�[�rޑ���h�3ݢ|�5���6�G�\��Q�`;��������R�R<����2r�zRi����xGNִ������Ή�����G��_C�pk����d�:�𶫢�ji��qM(�;Bp@I	��ܧ;�q�Ӻ�����5Iu�F.��q{k2���)/��=������x���mN�U�B��hczRʽ1�2{�aK���S��g��/�]�dk��ʜ�ޱ{��.�#�S5���x��Rռ�E$|(F?�!`��;��t/�-������Hs�����)#�8U���e�7�ou��ĺ�ë�;��g��d��&b�pGoj�|y�L<ks����B1݈��H/Y�~_��|�7�����W�c2�nkͦ�맮����a/yk�p;���?�ǩ\�Ip��ga�i��L��p����`����Mmqq"��c,�& �@%}�H>��x2Tw��1%ǘ�K}e�nS�˶`3Z�N�e�	/�cl������'��\�;�& ��o�J�����t7���/�_c�m�B���Lk�'�-��$j�ԫ��=s��4�i�v��}�M��eC"�N7�m4e�A�.��P�$���Q�@9)��I�W��%�QҶ�"�$�F������LW�akO-���}����y�!C�F��gc�rn��x�����s�����kKwim��4��fK�O�:md�3��Z؃’��Wݪ�Am�U�\�-�ökӠ�֙?��O��{p��i@��q����W�f���ٵʕ�Gm<*��9-O1����.ê�zE��E���p��h�8�9�s~)�}{��o�bQ{b��G+�@�nx����w��m2���]��$�'),3���z7�|?}���|O��}zh���,�'�\�j���'�kȧ�U��]����t�8%��E�?�>}�-e�5D���[��ϘGFFU}Ny��[�a���&�gԦh�Ye�RHfv' sԊ�u]6#��s<o�X`M�Ƨ���GSY�\��"_Z��0$�3�}}���:�XrI������2���k����I.���6. ����#\	?�$
��M���H"�����m�1��׫Hǩ��Ӓ
@]ã$SO���x���ISц:�������	4���ry˄�9�t8�zY>e)*�Zj��&8�+��,�����l�'�-�����R����?ކ�{��.�A��s^����~
Ѵ���I���)�*{�f��U�.��b��ie�ü�S��U=�㞄r8�ѩ����n<�[���f�q�:|��g™Z�ޫ�`���9�����F8���>��{1�F�֞�N)B��-����WT�Sd�sWd�{�va��M'SH�|�G��ޓh�q��������3��=�5(�i-������������,���c����Nt�S�EI
�^���R2�t_/���3LFFsN�1Z)Ȭ٬Qr��)Vݔ@b���kY��Z|�)���XE⣕iH���i�j���5�v>SX���5���q� �9�J��ʖ��Mz�����n�t�	���.
-XH�$�Qּ�f!RD�q�
�Oę���'9�x���95)半W�k,���k���8'�y?�ύ�6vR-��������UeWc��f�12�g�[�t��BQT|�k�B��R�9�(�ś��M������5�?���;�j�O�) �##�k��K��J�ǫ�P�.J1՟}~�Z��p�pG�����g�%:4�D,�pvZ����ҭ!w���w�ׄmgӂ���q_��K�J�?��oS�P�}�D�~����|�39��T
ʃ�-}{�_xl`�v���K�}��@~���b��ö�:6�Q�1Ҽ|���*�����<2�r�������n��i�/�ȯ�~-x*�^�k���9o�~�|O�k�
i���0������Qo�/M�D
U{
���ZXis����z9�[[5�(7���?9.c�-ۤ�yI5���.�<v�1�70qX����kW-)�z֯¿]�[]�F��D{�rk��b�9Q�7/���>a�>����g}_�v+;Bʬ��^����;�z"(�'$�͟�o�����WaAQ�����/<E�Ks�~��`(n�����fe�9��k��?�s�L�F8HƇN�	������ˤ[m#nW1��	���
8�P0�M��TZ�
Ŭ��:��(����?
�"'��ˆ]R�u�$��?:��Ȳh�yu*J7I-�S­�x��^�׺���4ґ�-�k�o�!!OҫO�E�)����ie�@3!?�y�}Zg��˜��]G�~�j��m���\)����}A&��-z���J���5hR���Ok~3�I|5�^[*c]�}1�Y���෺��.�ewp�Ǻ�N�J���P��{�MԤ�O��ŭ��su/�ha~s��KQ�5)��_��[;	e���B��P;���JXy�L3n��o�<�i��bςi)�ŚTڒ��c�����`3�:�[~*�<5�[+6�u��.�72������p�0^��s1��5(�MS�z��r���%�
�P��\����厥t��];nV1cI8��ʠbMoQ�W��_m���Q�;~�5��i�z��{q,>�~��r��[��i�B�P)�o����ڎ�s'��m|7i6ո�dݹ�ł['�q���w�|m�{�
F��i��.������>��B4�ntvO�Wz���s$�m�rA?�տ�z湪F�LM���|������B�ih߫��Om�i��u�j�xr̬]�H��"�,�yڼ��[��,<4��[�D׃�ӡ�B^�ȱ�-���1��%�P�m�|xSM�m[ˊ`(�bv�O�`2j]t=mS�d�z��e�Gb��ONGz��9ӌ�~|ZZ�]�z�����ھ���yz�&�S٢��g��_2,x�ޑ�N;�(`��J����^G�p��$�,�[i#%���gA��?�,�Z��+ķ�J�Z�|݋�E�m��x?��n���)�8��c�$}w�^+�:������ݾ������7X��~�=�{�U��/��0C�Y]y['��x.J9
�y|�2MR�kvzP6V��3~��M����?J��
�ֺ}ͻ�_++�	�zb��ៈ4��l��]-���4
b��>�9��w,�*�|��#��"�^����O���'�ѼL��/�|Gwi�쩇;z�8ʮ;���?��.���������L�dew=|����?1���F֖��~���.�V�yv�[��r	?P+�w�4��& ���,�_64����h������T��w�]^�9�aci/���K#�T�K.�a�]ޘn�HQB`��\�>��F1�k�o;y�bi�.?�p�=s^����&�v��3���m��A�q�]o|:��)3��,M����y_�&�y,,�G�}F3Ì]
9bi�'ut�gxW���=��lgkcg$��������X1n����G�'�	����B�\D-�!XZ8;�~�@�w��C�
K��!�Y�v�&��sPwB���x?/������׬��M��|Q%��$�l� ���@��?8e=�>��_�dIc`�1W{�߱��oBymW����x����o	i1\(�q�*�V^��l�NE`�z��C2���O��˷��bs���yv29����\����_ԩ��i^��R����⼃�Hn2y�Q�=�q��ư SNi��0�!�D�'���*f_�S�����`zS�i��

<u�j�Lc�����EX�f��9��u�t�z*3��ۥ~���Q���#��g	�\M(��\�Ҏy�i�
���V��8"�m8�01Z6�D�D#���N
iBW��<�S"�bގ
a��,3�@�诠�5���H���^@�o<�5i�+��mO<���/[�|�eh<f����D�Ri|�N9�h��?h��YiR��q���^-?����1.���|�"^֥��G���*��u���PVa,�%�3�כ��>%�y����Q^�g�=��J���b�{�(4�F� 6�Ⳮ�Q�B�jVW���g��Gsɾ��3��@眒E}��.|)[Y�"*�¯��:��\��8�k鏅��t����q��_��gF�7M�3���Yl^'=Z��>�����6�21]��4Q���\g����X�?/LWC6��ٓ(���w��l�9��nmY�Xl#q���}Bk�C�����{��,–�^w������]M��
班~s�g5q��J�Ej��`�)]�v�9�^�f��o]�⾃��M圏Ƽ����ܤX9S\y6oW�ѡKnclM�FqK��U�&?�kw��5����k����y8��,^�;�de�G�|E��hX�q_�=,l��W�!��y�z�k���g�UŞ��<�y�t���he�2+<ڼ�|T[]I�Pv�p+_^���t�ʺ4H8Ul�^�Y�֖aM�f��w���2|$.n����� =�b>��h|/��� ү�Q��\����|N��Y@z�|Y�ZoL�b����U�#��(�˝��s�n�m+/-F����*���~��ݻa��Rk����9����
�Y؅�C��8�X�{��� f�e	�*�U��o4׍oC
�e�21���x֯^<��V8eJ�9]��k��ۿ��2����ҷ��i�\i��^��]����3}�P�c|>��V�����l��w��G�\��>}��`�O��s�Q�QZʭL"�|ߧ��N8��5kk�$Z�P�� X�x[=�>��i���t���r���S��yQ/����!GA��'Ң�t�+�zA��I��0���IS��9�9?J��,�oZ�q�B-�ȕ�I�����R{�C�C�Rn��j���ź��Z��:+Mv�⦡l���Ȗ�A{���n����=u��No�֗w�z��]YF�-Q�3���l<".r�MrV6���]��Y˂'8�=I8�sUŖ�udoGm>&&[���A��+9V�J�.z�Vߞ�]����	r�a�;kP�j�W���2vʨ�jI)�TF��,@'���ƥ��ֽt�"�,�ʋ�@��'�'�j֭�᎕q,���������@}�U� �t�=W-�LK�o)�yb����~��a�`��]"����5�s����W���.�
�Źt��c_ò�E�Ȼ�X�^�p8���MzO��?��]�rڳj����I��v*��8�G,Y'��*Tד|C���=C]B�u��łyJ˾FUW>�UN=N}+�τ~
m{ᖻY_����ǜ|�նetU�dRF��y���0�A��|L���C�f�x���W~��a�xLʆcB
Ѝ�7��I-o��o���$*�p��ϧ�]v��ɤ�%�ee�B
r����N׶�5�b�r�A����q�rs�J���f�đA�>��]H͑*1�p}_j���݋�S��5�7(�h���>��o�t�r��-򲗍���$�c>��	|So�\���Dv���u��W��W~���I-ݼ�
Y2G|�^+��U�g��f��1��2T�M�7���u9�4�N�O>��_�����'#pk��4i&�u���W��&�_^��Y����4�<:� ����ܗ�~���W��M��%�Cn ¨e���&���em�~�Z^���/�{�f�"������g0��f����|C�I��\j�����a�!s����'���|m�-l�6�5�P�8[���9v�ɞ��/��|M��{�[�ۋ{��
�.S!!O�J���pR�B��^�q�sq.7�jۮg�^�?�P+7�[�ud����5+���ݺK�ߴE�]��x��ҿ1�#lmMz��dR�S�"a�)=�Z���Ӆ5���y旨���ZM٩hkQY��Q��R��NJ�
�J�ϥH��=}h$a���ޝש�0�
_���&)��A�sJ樌�֊xOƊ.Q�F4L�&�4j놌A�S�����]��c�1�X�E���e�y�P:TZ�N�ZK�r3�ip��(*�)I��{)�R��
�8�&���Z���G�:�i6H�)5���fMN�{KIH���������=rU���
�����:�t��D�os��]|�y�����Yӧh��yW�|
�ީ%�'s=�д�`�Kx��y;GO�z_�پ�h�U��5��#o���G rv�k�\ˌ��O�wc�8W�MN�\c�xW���<���Z�l<2�ʏNk��o��0P	�a�W��M��B�i4���@�ϥ���t���w����b�����~Mj�B���y�~��S�w�u�3l:�	6�Ys�ʼ#��ǭH�������NO�^���'P)$�<y����q.k����7��p�0t��R	��hz�De'�WAu<�a�A��ᇆx�<�G"���������q�Ԧ�c�!N4��W���krC��{k��Ł/�
yЀ[����kr]LE��u�yU[�����c��U"mg_6�ba�Lו|��,�&���ظ�$�Ra&H'�kKQ��P��K��+�r�L��f����傇"�����)�'ҼG0Hʲ��3����w)�5���a�p꺌��E��A���~3�[w�)�;�ҿ��8ϡ��ӅYY��[�<7����a�x��1�e��F	�� ��k%(�鞕���&�(G�fKko,dE.6�����.�^����ɫRt"�!&���E�d��~��]��!�,l�K���I~G�+��4�)�I�F��oRִ�+v�IR_ݞ����g��f"J������Q HHS��>�`x���lj��S4">c�>�}G�y���Mmv�鋇��Ɍ��!��/,Ŷ�Z�&;���S�MkS7�]8%��ZL��7:�߷H�S7��3�aϠ�}뷰:_��O6y�V�
����>���?�:��"C���k��L�ܢ���x�N�д�.ť��2�1��7p>��^��ӝw��w�;�XƤ��Ey5W�yn59�u^wH��Iʯa��tqx�R��%m*7���¬͜	�#��0\_	xNo�I�=���N���~���-p�m��'X�m[ )��&�.zP��6����&�ڌU�T��]���PX[Yg8M�Py��`2q��5�kӛ�];�߼��}���2n�ǻ`g�
�����5[��=����$�'�|�}O�{���+o+Ħ���&�T��2~����U%jZ�v�t����y�E��s�SC7��modi�n��k�6��r#Q�|���)��=���4�V8\_P���nw�g��3�?�q:�����H�7�NӦ}�G�P]=�����I��Y-� �,�Þ���zW?�"�R���kz��k������u�:���\:���s�\-�l�yJ�0-�9�}�޾��w�ˡj[R�")�$�a��+�u���Z���ރ7ۯ����ZL1Ya8尡s�����ע���?��k}�rq|�w׭7x��ա��^oݒ��Z�{���1����N>�㧮��r��
��I4ǎ];PAwj��(Sá��O@Wַ~hP|T��N��[_Zڼ�-����v��~y����2��udž4��wSv����[����,�Vl���R�W�M�mGIլ���yn]v���.�	u���f�	T���^��~WG�D+Jt�`��Z	r�5���q}�݋W��jQD�$��*�rv�:�]?��
#�=��B�K֚�@�&�n�n#x���c���G�+[�$�*��v�7aGݮLbi����a�B�2�U�'�3�z��i�����P���$�V��y����MDb-'K��v��T��z~4��(�|�r��Z]MH|�D�m�RK})[�d�t��Mu��ٵ
kw$|?����8U�������^����o.o�[� ���I��A��'�_J��Cƺ��ݻ%��9$�\�U�^
�-����m�KWT�BpDh��G��_G�g[�ԗ�Y�<�
W���qF�w���8�z�En�
��5��|Xcf$F����y�9��|���w?�X�Պy�_����"sO��V_C�xS쁈4�n9�c�S�"W;g��R1�zo �G-�{
X��I�y�M/�H/q�SQHž͞�u��!��q�4�:��mIi
��Ҝ�'�
�*��
����%�QV9$}(�q���J�Daګ����g��T,qO�N*��VcD����^*	.qޫ�y��2��fœ�6�u��䞂�]^qֹ�j]��=Ee'dh���ko��[�M|��-�
4���r���S5䁻f�SC��+�1�prp+�1SPP�S�+��x�{.��+k%P
eߵ�r��H��1x�X�v=.kw�Ϩ뷋���/�ƿ�s,�9˕z��d�T��sҵ-ջ7�{��\7�`�����_���]��&�L-rp;�����u#���9�̖�k����qi;���I��W�X�9��m!����:�7ᗆ�ˤ��=�}+���N�F���rzןŘeFMJ�l��)��ivz֝pƦ�v�sj�����C4ۋ�p����s����^Z�_PS�ǯOZ�V����y�f��E��Tu�o�R��+�x7
��Z��Q�S�/�թ:�1���[�����m>��i�D\�
s�\׎�gy0X���׻��7좷���b�����>-jݤ� ��xO�M��Sx���z/��jR�O��cR�����~���q�u=,}��2�єj�|e��Iyp��0	�q^W���ray)<���)x=��.C.C��ohRXj�N9ϵdp�o�cg�G�p�\�8�D�V��qYFm�x�Oߐ���Lmf;i?|��'5�5á�f��Үiz%���u�?�1<G�?�7Zu-��r�6��	o�S�a��r�Fѯ<U*}���F�0�|u�S%򵋘������W�{֯��(��4��}��1����������R�ih�.��VRiAj��I�}��-�;1��	���|W�#�^�֢q9��p�=�j���Ҕ���p�4�3d�UHu_���r�[�c���,BT��D]#���CӾ-[h~��Op��0�>�}M�!o�� _K�	�!'P;�W �
mZ�f����5����]Kټ��C���k���a%	U��N�N�*ɨ;3�<] �Z�g�i����mV���v'�~�W��&���Z�ܼ�ncY��A��W-��\�6z�q)�4�vƧ�X��g�ڰ�Mr�O��.�]��s޼�ٌ�����m��K��徝�����|Y6�=���X��`p�.?ϽZ�'�ω�罶�2L�:��@	���|;�i^�������s�8}��{*��?n�{��>���>�f��m-������d�vьp�qϭ:�����Z��X�I.��B�K-^�xU���^'�y-_O��Žp��[���|
x��y�{�
ג�T� ���h�g����ߴ%���|X��g{���yqɧ�HK��a��@�9���F�����Q��L�`�I�،��`�~u���=�=m8��>�/>����|U.̣�J�+n�>�u�l~ſ���u�F�;�^��u@G�5�|��nRQ���'�5��'�<g��X��5��X��o����EܛZAk�&�uA�8�5���e��^#D��c�[�|s�	�⍂=����4��񆝨�=��A$���Q��)��"��*�pG��1�e�!��A(�'�G����]�?�����ެ��(��QũA5iI�ΚmZ�k_5����V7�)s�[����m9����������Y�N̶�Ã��+�j/����>$xg���ƣm�x�nd��>TK!_�'�0f�}3^n�W�;�6�C-��mVnLè|�����Ӆ(�2�r�o4�4��S���$y�8ΔZ�����7-�5�ֆhm-�!r��T�$�<^����t����9�����M�&&x�$���q�Ҹϋ��i�(c	W���t�d��zW���}_�9o�sW�kH&�oO��Ǽ�a�?�'�I%�Z��	�_E6��6��NŽ������9��?��)D�YY���a�s��Z�"��o���?-n��w��.���K19��]��V��������yg�k:�Z#-�s�i�0)w~t�+����y�ٿ:q<�a�!��M�u7�Z	r~��5!�4�0*yC�kt�F�=)�t���M
��M��I��͢���zz?�Z~q�CF���z)��(�*��+ρ�Uy�⢒犯-�{����柯5J{�
Oך�q!9�e�af��z�5�3�Q\Js֩O1楖�5��A��^gO�'�_���s~5���=A�j�X�Q�?�G�����8Q�^5��W��o0�<V��㵲K����%Ey�E��$py�~5�t����8ON�d�6���W���o*��rk��O��!�R�rޝ��׋��cmr��6�=�t����u��?½M~�aҧ:s����S^�/g%�=����V��Aڼ�\�"����X����_����Pq�yw�|D�ӳ���M|���i���P狍��Þ>:}���`z��>!\�"�P�ھG��6�@D�p8��߆��H�8=���}�.���o����F���(��5��N�bI�𗌃�����P�Ơ.�Ha�W�y����E'I�֟i����x�Ix���pj��,��'1pq_;G5�\���tk%��it�J͓���s�<U
�(_z�]�KMU����z�|Es�J�
�Ҿ������<
r��\�|W|��eĨA�5�w�,����W<q�D��s�r�ᛇ�gG��~����%9l~���RWg�B��Ο3��(���mB׊�=zkIRN[`ז�K,3Ikp@����1������?5�|�5j;7�5��}|����,�
�sڰ�����]ߏt�*��X�ָB��9�~�f�%+���E��
��#.k�O#B�[��<�ѷ�������'e�=+RKX��9|qPͮ�p��L��Z��b(�ݻ��ҩM����<j,�����M�K���=��ic���싸�@Ѡ�
~��F�U�KB�b�+7�˹��̈́{_n鏥r�X.��%�~�Y��Z>$�\�J��?��8�5�o�r�`�8�z����0~�G-(�[��Ot���DKO'�Ú�=��–Ӵ@]�!ǰۜ*���H�s,K��"w�rk;S�n/,b�G%��#�=k��RWm}�d':�;�64]`�o� ����)_�kb�I�L����0YܕU �?���l��I�<rI��}�]7�'Y��;�2��7�����5�Z�N�m��+Sњ�W�f���kO/"c��m�W�9�3Ut��O��M�KB�.�:��=����1m���e`�����Pzf��!���mդiaa�̝[�7z��㏵�����\���]O>��f���&�����#n\�{���x����x��[���=
�
ݖ�+�W
�A�_�F�NU��1�w�
������-���Z2�\ w%���A^��*
N�uOȂ��6�����(���CC5N5aA�M_���s|VSQV�U�&�Ŵ��o�c�~��Í���Ѽ%��+E7v��ԓ���!LI��8V~X�1����ij�hX�����t�+���vB<g��Z���e�.�đ�2���8<�����Ք��Ҭ-�~Qs����k��Č<�����h�N��n�KWm9C�¾4��G*Uޮn��-��_C����s�j��K�i�Ϡ��=�`�5��1�_3j���;�d�@�����	u}��|��2{Q�\����mDuRJ�v�	$��L>�|R���5�e���H��*����_����|H��:�/�ih����"?��Y.2��`�~��7y���&�'���f*x�ҩQ��	(҂�~���9�ϭ#?<�:[�����1��sA��M+��ƟҐ���׭6�ț�bi��ӛ�Fi8��#�<�N������Li5`LJ'�3��SA~
fՋ�&S�֔�]��2穬�6D�'<b���QJ�s��!5���$�ޫ�zS_��Zē5S�A��m�����D�)\�k6������@�H���iy�6,����>!K�Y��ֵu=}T��_���	������ʲ�I�gV|�m�~پ-:����w�I������S�F!sȫ������%�o���`iw&�M���}f��ٟ+�Ŀ����æ��"+o�#�+��|t�&إ?\�W����{n�9�SG��c�`��Y��T��~��<WC
��'�=��xQ�.Os�q�2�ɺ�p1��{��b����b{qNѴ�j!c)<���_�"�NR����K���U`�t^�]��U��^���F�	�Z����ش�9ZU���"�9-������l�5eJ#ԣ���[��x]�T�幯e�k�<
n�Wh��7�)�#�+���F��ϓ�l�c�t/��͏Ưk^%[�F��⼮�S{h7�`G�W��/4��־W��K�D�%���J&w�����̢�tv��'��5����,��9�kͼG��������_��x{?g3�2(AC�f����;e��k9'���V�%V,:W9��
ifS$\Eֵs%�#m=k����B��I�_��s�$�>*�w\HcMy��xL�� ��]��m�b@8��5yR۲GҿV�1/
���C��a)�h{��o���.o��^Y%��y<W�k~�XB����x��2YH�
oj�{��zx�J�?�8˅k��n[����'�lŇ�j����Gʃ׽m�&(�ܩ.?JÚw�픀��y}y�j�C�"����+>���$���B�[�U�X�L�X�G�Ig���3�
3Qэ�|�6����γ��z�%\=5V[2����,��;w��
������9PkHnǚs�Z��nD�OLW�N�K���<�FM�%�6��+��o.�ۘ����_�|�c���Ӯ��w�Kd���a_ef�E�x�Z��SM4�F���h0�&��[g(��߰��lլ�7�풠u�+��2YZ��8nq�F�5?j�!�@����������aBm�޻�U����g�h/��>���")�Lf�p���b��]�y��Mli�}�rX;C��jՋ��l�	-w;���XCu �/}��-;�WzƦ����`8T�}j���Gt�j�_n�ږ��-CQ�m��<�+���%KO/�2�T�ԏ���:���_����մ�F�L��)�o�_P���ŷ���|�2Kw�V��I� �Dq%�/u��b��~f�����ٿ�k�|1kv��kq�&ky�b�PA� A�9�Ml�E���ڷ[�������
&6���d���F9o-��q�fbp:W�\O�Xl�<�w��.�5G�t�k��}M��}Ye�(�i&���G�5��jR���d2�+��NK9�"I�&�����!���Z��ޡ��DQ0�^zT^օ�N�Ma�g2�o(|'�a�H�S�*;��u}����ץ(#�#��r�g�'���Q���!�)sZ"$)���P{Rgw�ݎ�D6.>����Z��L�P@9�5��t��⡑��@	#�2HI�S�oJ�����b$�H?z�i�����[M)'�-z_�O�3�^9��Ϸxbb	�NM8НGh��U�Ҡ�9e�h�:��;��Q��-�������L�����g/�'զ�ijv����I���+��0.�$�ֽz�+���OF��M��_�?��-����I��h�Y��p-#�h���w8�֪��V�\U�!Y�>"U�*�o�h���o�r9z��c���:�
Y7�,U��^{�x�/G�=G���JE���MC�g-��6�����y����J�/�\�?�H����x�B�?J������dW�A�j~>g��^�]k�b�<W��Mg
.+���M›>m�$��	I9ɬ�6�;zԺ�Ǚ�H�Ξc��_�����������Mi�kC��d�T>��&���8���ɢ��	�.N�Ǚ殜]:[��p�A����VV����vP�/�+�~xfѧO" �=My>����[t'�s^�����r�'�S_��j���9j�ꜢT�aU:]�d�׆ݭ�-�TZ�|9y��98����.�-�Wg���]@W�����le|E)7�G��)nc鱝�)���]֑�-���ָ�n4��G�kO�ڜv��i0G���t��������[��$��@�6k����<W<M���)Ȯ~MT]?<�F�
P�G�DӚ�]DY���\Ʒt��zV���W�A�0����z�5�͞��Ե�s��M���;u�?�4�K����o�Җk��x�J�_�p/�]�g<��\�2䓦�~p���jWkmo��s�^$��1�=��48�%p�a^Q�{�5 +9 W��������Wu�4m��7S�x�C�
+����w�ﵭ�И$U��D�|ǚ�yal���`i�#�5sͼi�#�{e
��^i��C+��}	v�t�p�j�����=x���x�+�]��8���9���Vx��,�h���j�����f��t�E���P~*���ս�pE}}%�7��+�b<6�R�U��ӱ�Ũ�e��*k��/b%Z�.~��c�7a��O�7��Z寧��>X�]o����Es�v�ѥ{���\��1�/sP�o5����]�xP���!W��R���əP�t�b�&�H�-}O��e8�4����P��"�������k���~Z�O��%f<�iW�Mm6���n�-�tG�ڋT�fdV���d�{V���pعp1�U����č�r)�o{���c�E<B�nC���b�`��R[���<��^+�����c��kk�Bu���t?Iy*�����s�3*8ʭIX�ʸo�W�=6��п�-mn�5;�c���;�+᭱��ӥ`|5��pΆ5�{����ǣ�r�`	^+�*��e���O�����u�>j�j�z3�h�7�ʙ�<V��}_�*Kg&�S�lj���3�p��?�H�����p�������l���I7��x�MЃ�wnj��&�U�T��%�>�?
��1�i7s�Mc���D�c���3�����\��ͫ��Lv����ۍN@�P�+�5�C�w�'��_�YI7vZ�S�ߺ�aV�:Z�V8&n)�zUƧ Kd���M}[�	�}�4o�,�OPG��Ÿ�'����FkP�1�<ץG)�WW�<\NB��՟�	��|I�9�Ci$H��M}�	�s��R�$��w+�_���a�Ƃ4\w�^�Ꮑ��t��^�%�
e��x�"�WHh�����?��(�Y�#�^��/�~�C��ڢ��?K�uoh�dc�h<'C�@?
��բ��2�WyH��|6�JU!�Wm�1�3Z+��\(�����w��5�F��M��Br(��7?�� ��1������p�$<�Օ{�<�s]��\�q�x�#q�k�����k���f#?�g��L��^�]{�9��'޲n�K�9c��5.��ƫM��rs�E�ۻ�`���yŝ[�1�I�u7z�ț=�y�ĽTy2���'��g���(E�K��R��j����zS�K��}Nj��|u��-���ݚ�?�
���N���澟��z�&��9�)r���v�QS� �qּ�u�9F;�q�8ړj2�d��V/ss�z���������@PzW;�X���~�'����K銤8-�(=>���{�VžX��G�q���>��ĖѠ,v���ks�3�3�g=q_3x{�:ۙnd;3�\�k��Ʒ(��K�䞙�W�cxw�&��>�BS\�G���yi������e9߄����lNA#��t���,��-��J�:7
����n��$Zյ�t8'ڠ�1�NJ��Q}߼9�i�_i�>��<'���z�����J���f2)y>�j�N����P^x�8���+�4[���9J�Я�x���	����įy����Mhx�ZV��X?J��u����&��/�E%'O������g�_hs��W?�u���ƍZ���.�I�T���L;f��N����M�D��O"V��=2kI�� �=1Z��X��<��/uh���}k顊m'��V�a���f�E�9ZK�B����_ll7N�����U5c�($�߲9#��ۣ�ry>��4���5�*����V7kR����[�tNp9�U!�r8��Y	�s֜�R�AG���*�]y	5���P>�Vm6+�1�y�V^�W$��Q@��[��꣏��Z5lj�rپiQO�C'��c�O}&(Hd�j�s��q�VE���;�j�s	G��v<o�w&�7RuA�$�NU9���Td��R�\y��ПZu��A�<��3U)����̟/��t��I��:le��Z�Й�-A#�|��ܵ��	9������P�u�0�kb.�+����2�O�&z�b�G�9j�����~�k2����[����#~��'ƿ��4�1 �9��%�cUI��Gg��5ͫ<�[�mW���/^��g)�5�u��V��{��+r�^~ɘ%N���~�',C��{����)��*fl�*�K�h�$gc��eៃ:׉�U��u�܃_+Jn�G�N�i��g$�ۚ|�^��7��e��>��Z��,m�$�	�+韃��O{;-��T������շV<lV}����>�O��U�����Xs^��	ߨ��&��0<�����u�$X��M�.?ٯb��kOܨ�5�a�8CY�|�/�j��#⿅�O=?H�#-�'�ᯠ��!�i
�]��z�}�x��׏jݶ��*��)`��>z�>�WyH�����E�*����I�mok�ݨ�+�����N}���#��l�c��U��G�S�d���R!���T�&��lRq�&9,վ�J���ԗ��)���(���=襠����Wf�MP�T995�6�ב��s��~�Y�\ڟU��˩�:��	���[��.�3�b�W��O�`��.��
s�렏��3���-X�k�wX�u��yw��c3��]cX�	�s���)��f<�>�Zן)�y���8�nBd8�	��nN1W5F�I'��|G��;N
yXJ^�ѱ��˕����lT��cV\�$zטj� ��m�95��;v�Ui�95�K)��3�)e�N���a�.$�XՏ�n.�c����)j�V+�ڻ�0����2E|>p���q��1�XI���|%p֤4�B'A�����e�kKw�4W�w���Cgr�!]��W�chƫrj����_��W+��W�&�mk�6�v�H���'�y� �-�������C�]�"B�5��3�T璴F��RrG���:�O���8ݛ{���+�|)�Ʒ�Ӷ��]E��E�{���ϯ�ʌ�KAIʓ�='J���#�L������*�+1!`�Ҩ��I��$�5�C+�g�c:t��h����$�0�A\�$	ț���0��9��������kڡJ4�٣��b-fk�Ԣ����U���M�އ�C��t��x�kޘ/-�F�v+Y?d�z3ا�/����1�?�<��������ֹw-��V��a�W����+]s	;�ЊD�wz�H��f�������$�k��N��մ)#�l� �ͫ4C�9�ӜF[ �Y���N���ITj�%LB��C�r@�:�V��	"�/���QZx�#q��T�/�qK�@�������j�D=�>$�+�5����UϔF+:q��nS��T��ӽ�䕉v�k6�Qا�����!�
S:��7�I�FIu0�au:[{�4��֍�
?߮oM���֭����汫N{D㭘�]3��-R,g�����N���5��)��oϬ��1�>Y^��h�L׈�a�&婵�o<�0V<�kŖr�n�c�ֽ�ßo�i,j�!�W�|;��g�V3yf�v9)��/'�V
	%�?�x�6�ӫ)7�>!���W�:�}���Ԋ��v���mt��p����>�>��f�I�@�?r��=�/�xv�ۨ#�_CS��x||���>e�'�
GA��PN%k����5����������0���?v�j�]3ö�1����
*+Dc���Wwl�|������^�umb��5�\�gK���SG��l���k�l�ެ��F��@UV�*���
�������Mth�5e�lԊ���Rb!��R|�
W<X�YiE=[�Yq֗��CwԒ�i��T�i'� -�z��g�Ty�ix��b�2n=js�9��y~n�+Nwb��E�4�ds����ހ�E$�������}y�>#��ֹ���qY�>$#9z����[s�<g�֨O�L�\�׉:��N��q�^N[��Ú�g?��?=Q��'9�\]Lj�n5Jos�5Kw��s�^}���k��%�	=�Vҵ�=��ڛyq�6zu�͸�~�C�s7f�9�j*6oJ�O�m4�G�+��!��O"��P���Mvdtl��80��|�[+$�����zV=����u>�;c��19�1�1\��;(�A����O�^���Þ�$W����q���;ũo"�rz�|�&�X:�W?B�."TZ�ݏ_��O��lz�=jDwp�ɪ�2�
۟jν�7sp~Pk��8	R��G�~Q��J*iݱo�k��.�g�t�\�y$c5��Tt5��#'ڷ&vֵ��{&����'�Ж1
�<�z�j�q��^٬�5���u3�,i�����ξ[�JZ���R�2�5ζ�r��*����j�[�"���Q�Ş�P��Q�,BOB՞���]��NO�\��A
ki�+�ج�4a%���I�M�L��ެi��ӥ�Z���YH�s�aG�s��|55)rIho���f>�][�w�&�.��j�{�߂{ջ6��5����]f>�h�ͬ\s�Tn�"#��yc9��wP[PA#��ۆ��;E�u�I;
f��G��<VM����sf�n5�f;H������<�_$�e�c^��KqX�x��~f���Sյ�*r�>��j��X�د����j�)��Gu#���{��O�E��
�V����)����;�zة��y��=���z#��zB���A5�#��*�:�jH5K���y�VM��n4���zx�g"�\x�I�e�<�\晣��.
ϵzO��sk7I�#���i�T������W��.X|�^���p���J�C���s��M�#����O���%��:����7»mc
���W���;�|v;V�|�3?g�ٞ�I��}Vّ����~
�?����m�J����>S2ax\q^��_�2�8��#��w�J
74�5�_�iro���D�P
�q\Β�֢YA�ih�#�n� {ק
�QW<�ғz��p�/ɓQ�2���`K��G����B�J���P��j���n#+a�E*�b��
R}���W&@n��`�j�/x�5]=]W��B�ɡ�sp��2["���_�u� �g�$��Nk:rq��*q授���~V��('�5Fo�g(0�b}댾'T��s.��j�4���������7���]OG��_���H�����ʁ�q^%��Zf�P�[}+�4
xɣ�#/��_�]0�K�R]KP�(<�U �K�ҳ��Yn�I��9�*!��_Pk���h�y՛�QVjT�2*���4`�������cR�Tc(.�إ���5bk�)���>ќ����]������z�$�t��m?7J��R��cZj);Fɫ�O��z��M|��8Vw�{�*�.M��b��'��k2��Y���n�]'?5f��d���Y9�v:{�u���ƿ��W3q��ުI�pj%2�N�}w9�Ui5Þ[�5�>����B���Z���B�xKQ3F9�[����ٳ�q^��푉��OT�nFs�|q	b1��pr��'��I�A�5�ghd�{���B��]r3Lk1G�a��p��p�+�n@�]~�U`]������]��I�W|@�[ʄ��c���uW1��O�bF+��Бo6�~�Mn�
y�YZtbI�F��ʔ(��z=NJ�Rf�!kD
��
�g���k�׵?%�4�SC�rk�e�Rŧ&����]�-[�����#��^,���*�ǽxŧ���Kpz�x��~s��|�+�]ge��8ښ����<Lu�@ls�j����7Z�
�J���5��$YHP�ך��Y,�˗�D{�N#�⡤�=��Nr��k!"���޸�#�	{c9�R�����a^L�MQ�qi��t�� ����]aY2k�b�vK�֤Z�*[�ʾ\�k
x�N��-%��z�5���Gb�
�'��峚�u�u���{��6��F�g��X�V�|P#k��[
�b���/8c�W���WK��`��]���\�<K����\���l�s��a�]��,|����^� pjL��V~���-_�J\�{�
牂���O
jw�+��S�|"�/y�$?���
t֬�\gΣ�+�4��{VmΠ�9�=q^�o�R�r�H3��_������F�DžS���y)�INv���B���^������WM���W�:�v�1=^�O�U�?����.YX|��b��	|6iʗ\~���uMF�8��A��^���o�'d���:��VrO��u�Q�(Rë͟1�6�>�#k[v|��ֽ��k�.H�ؿ���'���m"�[x��*�x��X|0�툀Ypp~Z���#�x�R��|!�$�$iunPv��|�h�ˌ�Ê�o���5����p1Vc�M:�]�R��N�,t<��}�нG����5�鷑\*I!�2��
�����W�_�Ķq��+�b9�c
��U��WVS�U�:���ǟ�}jDѝ�@��^��կ�6�DG�V~��7ȷ
=��eo�V��U�+a�N�nz�3�O�Z�im���'8�y��Mw-�M&��q�����@k����x�R�R�Lԡ�5i�@��0HS�W�W^�ű�OB*�j|�-ψ~#x�i:l�-pX@�����F�ះ ēHO�T�֝nj��"q�͡�i,
�:��`�����/��%�m�.9�p�x�vu/'��>+��,���������V�=��:mEg\q]S�2�-�Y�kW��4�Q�r�M{�
-�{x�=�s��[Ԏu��ʁc��n�466��5PzUk]4�/-̹
�V�)��1�Np���O�~^�kJ��Ct�#�4}����%�f��	&�Vy�V��TܴF���VJ�;�9lf���W��8Y���v����w���*���)�b
)��R��g]��Y\L����S�gDF���#�W�x?�$�ωo�"��m�0� ����y���G�&��AK�Ӧ��24wh�F�"��V�)%{�2�*1��އN����>�#*ݶ����8�{��X�œ�����[{2��m�%f�J��f�ܩS���g:�机#�h��S<�SEu$���o>�q��Yu2�n���f�I�k�s��*e�/�w���~�
��RGC��PB�g�y��,T���m�D�t�����ƶD�`@5��LaU�-<�=s^6
-���ѻ��Y��R�$-Ҷ�5��6�Mq��3��N��u�Lq��E�<�mƹ����Ic/�i�_Q���EW�QW�W�[�Q�]->n��
n�Ϲ��]@�Oj���PG�dTc	)2��u,�Gz��G�L��ϸ$�|*6��hSJ)I��;�,���G�(]M���N�TL8�:XxKty�Uir������U�7��G ����b;}h^�U�˨VV�M��8�<��&z^��Q�
��l���
���#��x*MiZx�Hq�Ҿg�p�r�}V��Q�j��k��l���[�[���כX����	�:ס��o��#*�N�dn�P�~��򘼂t�>�
�4�M$�'��.5����Jv�������#��d�m ��dTV������m;T��X�U�B7}s_���π�/
x��LHd�0����ՁɣV�v}3.%����u?�0~ƾ1�]��K�+��m���S�;���[����dS�)�����zO�H\k�q;�m���/�:h>�>�g��>@+��_**�w<ʜC*�M�	�(����V��IZ�?�)d����ܮk�Y�kb�`��'�Bօ���bA����X{�y�sF���?��{��`ğ�ת��	+cu᧼�����q���/�@β\ģi�ع�M*�ɜ�G@+�XEݜ�4�k������U䑥��F�;i�߰�
s�E��k��j���r���Sxw���J
��ҝ<59-V��iQlτ,�b+he��=�Z�?�^�bEƧj�b����	 �C��Z�W��ymv�0+O��-"e,�o�,��t��:|`tN��c�K���(*�8�6�𽦑�Dj��������=
eK�gWu�8?j��[]�ML��/���h��y�:��=7��I�aW��-����D\�L�'Qr�K��ce�˨Y��\g�_|5�_�H��y�k���O�di�z
n��+Yc���ܚ!��2�>��G�W�qauxg�̓19�w~
�r��[}.�}�"q���Oģ��{��Os�"���t���"�*3�6m4�V�K��Ua���d�V���X�A���4�}>�ӵ��@JI>��^Ae
�b����tMrks�2�Яol�xPk�zֹf��j��`�:Wa��U�ët�:қ��E���5t��+�Y��Z��4�jQ���M�;3�+�>��Z�����q�t�
��8%i�猰��Q	�g	'v&��e�zRs����T�֨�$��P�#mHї�P��lL���0+�M*%�G��5[T𽞨����&�*�C�J7ԡoq�zM)s��5GW���[e��IF��;V嶉�g��
�S!�c,aڵP����Q��"3:1#����tiLg�d�u�Z:�"��A�ozx����M�[�u{lMƵ�I��WwS�MD-���1�FK8'����@�y$��k�����2B<'i�m��H��=	�JƲ�c}
)^N�o�>�tK���-�K
	��rN�~���~2x�ᙆxz�ó��4�S�ZNٕIL�F���u��lo`�/��N��o1���9?�{u�_^�.�5��Z��][8�,s((��x5���J�Z���8�<�/�o�u,�����T.���Wk�+I��<�
�GJ�)�>��z��"Mo�%����|������j��"�h0]�jR�nn�>"�eeb�ٌQZd���rX�8�?Zr�O4�J�n{�
X�U��sOQ��Ke%Me�#�5WӽK����-��k[D
�+�ғtx�X�G!}�҆��}+����1��	n8��k��,�B+~�|Frk��5�\�����3�o$��g�w��Z��_)�~�p��sZqͺ>;��a#�#ЩF�I�/�fjȽ�<�Z�����N�完J�=��9�@ISREs�sH��|ӥM5s��R�z���7$���"$q�]��k�?���]�3�L��Eo	��vʒ�Rf��x�'�5�W��U���kyu=.M�\ҡ݊�
��?��MC�=���P�`��V�q�ڜ��6��o��
x�������������}A�;���?⇗6�a5��H*s���>��3>|��=E�C��:�=�.���#�������&���E����?����T��gn]S�;��	������2�J�ycn(
}z<'gg&��E?J�,�Ő�,7��+��J��5c�|3�_K��@[�Ļ}�[w~�m��5�v�\G�9>�n��c\��Z***�"U����5��g*Ld�_�W7��]t[b�=@ɯk���N@5�jڅ��^In��;�*$e�Ϡ�5�[
�d٬1.:�o����$��2���\�Z�r�
Rx�P0r@���/���tKH�e�$�l1��k'H�+چ��{>�s����e�Ƶ����U�J�O��$��-|H���V�>���ֈ�0������-�z=�6�1�N�����I�9�*R���D+I{��O��O���^*
1�P:Wc`%�l�][In�
���G[��uu�#E'̄�Kfr��<�݁��jŵ��p��]�v#l���Y�a��Ғ�Nx�HPG]���-�<�L��Gk�Y���LMn� �p�t
d�\S"�Rً�C�ir���s(��@9�=��[*�2I�����&����uB�=������A��3�����7u�N���Opzn�%��_S�"���R��	U���Ě�
�����9ɦ��h\�&D��fq<��9��W�V�L��\����S�Id��A�"0@?������5���tYe>V~�y#������=Fäj0:���*����֫K�ȭ$�7�'vOҺUM�=��\���B�G�������0X{��eZ�Rr��R��剒�t[MA��/�q�9�nM�*�#�wk�9��q����|K{'Ġ<�j�#���%��Y�$$�u�@�zG�����[ͯ�f����u*K�H�H���8�*�e6�N)]�p�c6�g�Zj�xa�H�Yc�U7����V��>Q������I��k0�^��޲�|ɕ�D�UQ�����0'uv�Up3�^���B�Meh*r�]�HY�h#��d����䞀ⴖ��@����ǽt�a�T&�������l��2p?*� \,K�	��)��u|�T��k�Imz0:JD��\��ű�s�kE#�����q��4ęUa|��ڟ��*�U���x�'�M&5s��Z^��-"���j����.�㠐�(�	�tA
<-G��cNyw!������(�aU��~����ӄuz"^�BQR��\�S�Z�.
�"��^;=�s�i�s�J��O�Ơ`��N�ޚ��5*�jY�z�xʮ}kz���ǥaim���g�~�����.V�g�u���t�WU�?�}���g�)#ִ�a��i�e ��P+f��VN��t�v���Rff�2I����u;��Q���e�X%K?C_G�	��q|^����O�����b?Үb0��Xd��F�d_�5sQ�~ͨ~�:�T8f��W�X�jeUT�������c�B��;Զ�,�o's�c�2�O�W��/���?�,�z}"�b?}v�N=v��=�6��~͖0/��5`�łfx�;RM}9�i^�X�K+xD�y�e������*����N�%���ٵ)F�?,LW��?�&���t1x[��@
�%,�e�\�(��e���RTwa,D��s�/��/B�SJ�� � �I4�Te
1Zb'88�>r
ZIlf���(�ʠ���P�x��둒�S<����㧩�"��_!Fr�J�8M.�7*D�%�`����L�J�Mi�A�qO:c�*�$����N�s�-{�l�ۖ;ɳ>�R�O�l�'&O�kV��0�6^��ܣ��R]iz��Z�5L7MÑ�[Im�*��5�UE
��N? �Zy�N�����(�A��6}*��Yd�32t'���<�k|���H��G#��
E�g��;`@=�*�Ƥ4�i;�1�´dP��~�ϳ1�W�Œ�
��|M�僟Lu�� ��t�6HI��c�5I�4O;�'�;�?��&霃�Nj�]�;��s�U��[,�=01�� 3��"|F�c}�>���
',ř�㓓��zV�[��~g���?�(�q�\�zq��w3ΐ�t�aܒi�Kq7����}��M�O�Ϋ�(��鰔�vUTLrIl��d�vW��y�bclz�ۜ������4�y�+M� c>�ME �*y�sK1=x��U�'�c��݊�-[ݴ�fm���Bo!�=�W�<F�N8<�bʃBگ�I�,}�U�D"��?œ�)ɦ�e�;��
7*
��p1OHJ��M_Aܤ�-���%m"��
�3��T.}�����>�Ew��f�P*���H�f�4�vJ���������;�p�MO�֏-��~�����!�
r'<-XX��G��P�D#�)���<S�Y�@Xj"����z�N�P��j��8'�=W4픜�G�S��p�KS�BzӀ�R��(�wҞӭ"���9⼛j{���4��<�“�ҰǨ�s�SUsҦ�OL�H.�zd� 
�Iv���o������5�p�|%�|Cq+����??_���;��͵����?�����y��S��yx�.��w�y��^�D~ek�x�OA[?�c�����
����ѝ����)�2�L��i�0�����m{��6_j��M��
�~Q�
�S��7�N��:6����@�+��V��+#ȧ�Pw�����?���'�
j���m�?��~�|3�[6r=7���S�!�?�m���}={T�n��|���+�q���Tk3/�p
z��(�Z�*0Z���s�Y�x� �ig*�\W@c�V*+��2`�[�쐮���SZ��	��!셲GԎ+�1Q��帎�w��?뺏�--��-Ưyv�#�'X�p9i$s�Q�������B��$�zԊ7.�֛�`Ql��,L�:k���ɳ,�B;.��s�=�\*��ɧ�;��\�i���ԽKJ�a��O֗o�Á��"�y��BBU����1T��lZV�;�(��֚H��*Ql���'��~����02��J��$���74Ӕ_��ӊ-`�Ǹrs�ґ�EZ����i����'a�C�?����h�l=qȫOG[�eLb"��
��T��EqlT�8�T��p�}�H��\!.AC&��1���?�F��y��}
L"L�zӉ |�n�T\T^ʽ�E���S� d���9�ʖ���@
p�"�cD�EO\ML�7���r���
��l��dRO|u�"<Pi���9�L{Fiȧ��L}�B��*vD��a	>Ԫ�?5L�;Ҝv�""�t�r*]���z�	�LqCJ�s�
��@E?o<R������x�=�r�j�SҜ8F�
J` �֜:QJ��ӂR��-HQ@Q@Q@��P��329_imagick_getImageBlob_empty.phpt000064400000001057150457363200013271 0ustar00--TEST--
Imagick::getImageBlob behaviour on invalid images
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

// Fails due to image having no format
$imagick = new Imagick();
try {
    $imagick->newPseudoImage(200, 200, "xc:red");
	$result = $imagick->getImageBlob();
	echo "Imagick failed to throw exception" . PHP_EOL;
} catch (ImagickException $e) {
	echo "ImagickException: " . $e->getMessage() . PHP_EOL;
}

echo "Fin.\n";

?>
--EXPECTF--
ImagickException: Failed to get the image contents (empty or invalid image?)
Fin.101_Imagick_quantizeImage_basic.phpt000064400000001241150457363200013415 0ustar00--TEST--
Test Imagick, quantizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$numberColors = 64;
$colorSpace = 1;
$treeDepth = 0;
$dither = 1;

function quantizeImage($numberColors, $colorSpace, $treeDepth, $dither) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->quantizeImage($numberColors, $colorSpace, $treeDepth, $dither, false);
    $imagick->setImageFormat('png');
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

quantizeImage($numberColors, $colorSpace, $treeDepth, $dither) ;
echo "Ok";
?>
--EXPECTF--
Ok154_Imagick_textureImage_basic.phpt000064400000001164150457363210013272 0ustar00--TEST--
Test Imagick, textureImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function textureImage() {
    $image = new \Imagick();
    $image->newImage(640, 480, new \ImagickPixel('pink'));
    $image->setImageFormat("jpg");
    
    $texture = new \Imagick();
    $texture->newPseudoImage(640, 480, "magick:logo");
    $texture->scaleimage($image->getimagewidth() / 4, $image->getimageheight() / 4);
    $image = $image->textureImage($texture);
    $bytes = $image;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

textureImage() ;
echo "Ok";
?>
--EXPECTF--
Ok029_Imagick_adaptiveBlurImage_basic.phpt000064400000001143150457363210014212 0ustar00--TEST--
Test Imagick, adaptiveBlurImage
--SKIPIF--
<?php 
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;

function adaptiveBlurImage($radius, $sigma, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->adaptiveBlurImage($radius, $sigma, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

adaptiveBlurImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok282_ini_settings_set_falsy_string.phpt000064400000002104150457363210014175 0ustar00--TEST--
OpenMP segfault hacks

--INI--
imagick.shutdown_sleep_count=Off
imagick.set_single_thread=0
--SKIPIF--
<?php 


require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


// So, this can't be tested for properly. ini values are stored as strings internally
// to PHP, and are not normalised to the actual type used by an extension. Which means
// you can't easily get the actual value being used by an extension, when the input
// type isn't the same type as the extension is going to use it as.
// aka 'Off' is stored as '' not 0.
//
//$sleepCount = ini_get('imagick.shutdown_sleep_count');
//if ($sleepCount !== 0) {
//    echo "imagick.shutdown_sleep_count is not set to 0 but instead " . var_export($sleepCount, true) ."\n";
//}

$setSingleThread = ini_get('imagick.set_single_thread');

// This should be a strict compare but can't be because
// it's stored as a string...
if ($setSingleThread != 0) {
    echo "imagick.set_single_thread setting is not 0 but instead " . var_export($setSingleThread, true) ."\n";
}


echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
299_Imagick_rangeThresholdImage.phpt000064400000001115150457363210013410 0ustar00--TEST--
Test Imagick, rangeThresholdImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('rangeThresholdImage'));
?>
--FILE--
<?php


function rangeThresholdImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');

    $imagick->rangeThresholdImage(
		32,
		64,
		192,
		228
	);

    $imagick->writeImage(__DIR__ . '/rangeThresholdImage_output_image.png');
//    $imagick->getImageBlob();
}

rangeThresholdImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/rangeThresholdImage_output_image.png');
?>
--EXPECTF--
Ok
168_Imagick_whiteThresholdImage_basic.phpt000064400000001055150457363210014573 0ustar00--TEST--
Test Imagick, whiteThresholdImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$color = 'rgb(127, 127, 127)';

function whiteThresholdImage($color) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    //TODO needs a control
    $imagick->whiteThresholdImage($color);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

whiteThresholdImage($color) ;
echo "Ok";
?>
--EXPECTF--
Ok179_ImagickDraw_line_basic.phpt000064400000001540150457363210012401 0ustar00--TEST--
Test ImagickDraw, line
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function line($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->line(125, 70, 100, 50);
    $draw->line(350, 170, 100, 150);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

line($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok259_Imagick_colorPoints_basic.phpt000064400000003207150457363210013150 0ustar00--TEST--
Test Imagick, Imagick::evaluateImages
--SKIPIF--
<?php

require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

function im_check($value) {
	static $count = 0;

	if (abs($value - 0.5) > 0.0000001) {
		echo "Unexpected value of $value for check $count\n";
	}

	$count++;
}


$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");

$imagick->setImageFormat('png');
$v = Imagick::getVersion();
if ($v['versionNumber'] < 0x700) {
	$imagick->setImageRedPrimary(0.5, 0.5);
	$imagick->setImageGreenPrimary(0.5, 0.5);
	$imagick->setImageBluePrimary(0.5, 0.5);
	$imagick->setImageWhitePoint(0.5, 0.5);

	$color = $imagick->getImageRedPrimary();
	im_check($color['x']);im_check($color['y']);

	$color = $imagick->getImageGreenPrimary();
	im_check($color['x']);im_check($color['y']);

	$color = $imagick->getImageBluePrimary();
	im_check($color['x']);im_check($color['y']);

	$color = $imagick->getImageWhitePoint();
	im_check($color['x']);im_check($color['y']);
}
else {
	$imagick->setImageRedPrimary(0.5, 0.5, 0.5);
	$imagick->setImageGreenPrimary(0.5, 0.5, 0.5);
	$imagick->setImageBluePrimary(0.5, 0.5, 0.5);
	$imagick->setImageWhitePoint(0.5, 0.5, 0.5);

	$color = $imagick->getImageRedPrimary();
	im_check($color['x']);im_check($color['y']);im_check($color['z']);

	$color = $imagick->getImageGreenPrimary();
	im_check($color['x']);im_check($color['y']);im_check($color['z']);

	$color = $imagick->getImageBluePrimary();
	im_check($color['x']);im_check($color['y']);im_check($color['z']);

	$color = $imagick->getImageWhitePoint();
	im_check($color['x']);im_check($color['y']);im_check($color['z']);
}


echo "Ok";
?>
--EXPECTF--
Ok014-setresourcelimit.phpt000064400000005076150457363210011363 0ustar00--TEST--
Imagick::setResourceLimit test
--SKIPIF--
<?php 
$imageMagickRequiredVersion=0x692;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php


$k = 1024;
$m = $k * $k;

// These tests are flaky as the values ImageMagick will accept
// are limited by the policy.xml of the system.
// Also, it appears that some versions of ImageMagick will
// reject overly large values. e.g. setting RESOURCETYPE_WIDTH
// to a billion fails. Which is not totally unreasonable.

$tests = array(
	Imagick::RESOURCETYPE_AREA =>  100000000,

	// Set maximum amount of disk space in bytes permitted for use by the pixel cache. When this limit is exceeded, the pixel cache is not be created and an error message is returned.
	Imagick::RESOURCETYPE_DISK =>  100,

	//Set maximum number of open pixel cache files. When this limit is exceeded, any subsequent pixels cached to disk are closed and reopened on demand. This behavior permits a large number of images to be accessed simultaneously on disk, but with a speed penalty due to repeated open/close calls.
	Imagick::RESOURCETYPE_FILE => 100,

	// Set maximum amount of memory map in bytes to allocate for the pixel cache. When this limit is exceeded, the image pixels are cached to disk
	Imagick::RESOURCETYPE_MAP => 123 * $m,

	// Set maximum amount of memory in bytes to allocate for the pixel cache from the heap. When this limit is exceeded, the image pixels are cached to memory-mapped disk
	Imagick::RESOURCETYPE_MEMORY => 234 * $m,
);

if (defined('Imagick::RESOURCETYPE_TIME')) {
	$tests[Imagick::RESOURCETYPE_TIME] = 30;
}

if (defined('Imagick::RESOURCETYPE_THROTTLE')) {
	$tests[Imagick::RESOURCETYPE_THROTTLE] = 1;
}
if (defined('Imagick::RESOURCETYPE_THREAD')) {
	$tests[Imagick::RESOURCETYPE_THREAD] = 1;
}
if (defined('Imagick::RESOURCETYPE_WIDTH')) {
	$tests[Imagick::RESOURCETYPE_WIDTH] = 15 * $k;
}
if (defined('Imagick::RESOURCETYPE_HEIGHT')) {
	$tests[Imagick::RESOURCETYPE_HEIGHT] = 15 * $k;
}

$reflection_class = new ReflectionClass(Imagick::class);
$constants = $reflection_class->getConstants();
$resource_constants = [];
foreach ($constants as $name => $value) {
    if (strpos($name, "RESOURCETYPE") === 0) {
        $resource_constants[$value] = $name;
    }
}


foreach ($tests as $resourceType => $value) {
	Imagick::setResourceLimit($resourceType, $value);
	$actualValue = Imagick::getResourceLimit($resourceType);

	if ($actualValue != $value) {
		$resourceTypeString = $resource_constants[$resourceType];
		echo "Error testing $resourceTypeString, value returned $actualValue is not $value \n";
	}
}

echo 'success';

?>
--EXPECTF--
success099_Imagick_oilPaintImage_basic.phpt000064400000000753150457363210013364 0ustar00--TEST--
Test Imagick, oilPaintImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;

function oilPaintImage($radius) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->oilPaintImage($radius);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

oilPaintImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok018-clone-length.phpt000064400000001253150457363210010335 0ustar00--TEST--
Test clone length, this is expected upstream behaviour
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc');

checkFormatPresent('png');

$v = imagick::getversion ();

if ($v ['versionNumber'] >= 0x640 && $v ['versionNumber'] < 0x650)
	die ('skip seems to be different in this version of ImageMagick');
?>
--FILE--
<?php

$im = new Imagick ('magick:rose');
$im->setImageFormat ('png');
if ($im->getImageLength()) {
	echo "Image created has length" . PHP_EOL;
}
else {
	echo "Image created has zero length" . PHP_EOL;
}

$cloned = clone $im;
$cloned->setImageFormat ('png');

var_dump ($cloned->getImageLength ());

?>
--EXPECT--
Image created has length
int(0)
033_Imagick_autoLevelImage_basic.phpt000064400000000716150457363210013530 0ustar00--TEST--
Test Imagick, autoLevelImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');

?>
--FILE--
<?php


function autoLevelImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->autoLevelImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

autoLevelImage() ;
echo "Ok";
?>
--EXPECTF--
Ok136_Imagick_shadeImage_basic.phpt000064400000000711150457363210012653 0ustar00--TEST--
Test Imagick, shadeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function shadeImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->shadeImage(true, 45, 20);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

shadeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok077_Imagick_frameImage_im7.phpt000064400000003163150457363210012304 0ustar00--TEST--
Test Imagick, frameImageWithComposite
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$color = 'rgba(255,0,255,50)';
$width = 5;
$height = 5;
$innerBevel = 3;
$outerBevel = 3;

function frameImage($color, $width, $height, $innerBevel, $outerBevel, $blendOption) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $width = $width + $innerBevel + $outerBevel;
    $height = $height + $innerBevel + $outerBevel;

    if ($blendOption === null) {
        $imagick->frameimage(
            $color,
            $width,
            $height,
            $innerBevel,
            $outerBevel
        );
    }
    else {
        $imagick->frameImageWithComposite(
                $color,
                $width,
                $height,
                $innerBevel,
                $outerBevel,
                $blendOption
        );
    }

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) {
        echo "Failed to generate image.";
    }

    return $imagick;
}

$blendOptions = [
    "null" => null,
    "COMPOSITE_NO" => Imagick::COMPOSITE_NO,
    "COMPOSITE_BLEND" => Imagick::COMPOSITE_BLEND,
    "COMPOSITE_COPYRED" => Imagick::COMPOSITE_COPYRED,
    "COMPOSITE_ATOP" => Imagick::COMPOSITE_ATOP,
    "COMPOSITE_OVER" => Imagick::COMPOSITE_OVER,
];

foreach ($blendOptions as $name => $blendOption) {
    $imagick = frameImage($color, $width, $height, $innerBevel, $outerBevel, $blendOption) ;
    $filename = "077_frame_" . $name . ".png";
    // $imagick->writeImage($filename);
}

echo "Ok";
?>
--EXPECTF--
Ok167_Imagick_vignetteImage_basic.phpt000064400000001137150457363210013423 0ustar00--TEST--
Test Imagick, vignetteImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$blackPoint = 10;
$whitePoint = 10;
$x = 10;
$y = 10;

function vignetteImage($blackPoint, $whitePoint, $x, $y) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->vignetteImage($blackPoint, $whitePoint, $x, $y);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

vignetteImage($blackPoint, $whitePoint, $x, $y) ;
echo "Ok";
?>
--EXPECTF--
Ok246_antialias_image.phpt000064400000000677150457363210011163 0ustar00--TEST--
Test pseudo formats
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$im = new Imagick();
$im->newPseudoImage(10, 10, "magick:logo");
//On by default
var_export($im->getAntiAlias());
echo PHP_EOL;

//Turn off
$im->setAntiAlias(false);
var_export($im->getAntiAlias());
echo PHP_EOL;

//Turn back on
$im->setAntiAlias(true);
var_export($im->getAntiAlias());
echo PHP_EOL;

?>
--EXPECTF--
true
false
true
043_Imagick_colorizeImage_basic.phpt000064400000002052150457363210013412 0ustar00--TEST--
Test Imagick, colorizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$color = 'rgb(127, 127, 127)';
$opacity = 100;

function colorizeImage($color, $opacity) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $opacity = $opacity / 255.0;
    $opacityColor = new \ImagickPixel("rgba(0, 0, 0, $opacity)");
    $imagick->colorizeImage($color, $opacityColor);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

colorizeImage($color, $opacity) ;

$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$opacity = $opacity / 255.0;
$opacityColor = new \ImagickPixel("rgba(0, 0, 0, $opacity)");
// TODO - legacy mode of setting fraction as transparency needs
// to be removed.
$imagick->colorizeImage($color, 0.5, true);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image for legacy mode.";}

echo "Ok";
?>
--EXPECTF--
Ok064_cropThumbNailImage.phpt000064400000003673150457363210011563 0ustar00--TEST--
Test for round issues
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc'); 
if (getenv('SKIP_SLOW_TESTS')) die('skip slow tests excluded by request');
?>
--FILE--
<?php

//Test the the calculated values are actually correct.
$desired_height = 250;
$imageWidth = 1128;

//Test the the calculated values are actually correct.
$desired_height = 250;
$imageWidth = 1128;
$imageHeight = 1128;

$legacySettings = array(0, 1);

foreach($legacySettings as $legacy) {
	for ($desired_width = 245; $desired_width < 255; $desired_width++) {
		$imagick = new Imagick();
		$imagick->newPseudoImage($imageWidth, $imageHeight, 'xc:white');

		$imagick->cropThumbnailImage(
			$desired_width, $desired_height,
			$legacy
		);
		$error = false;

		$thumbnailImageWidth = $imagick->getImageWidth();
		$thumbnailImageHeight = $imagick->getImageHeight();

		if ($thumbnailImageHeight != $desired_height) {
			echo "Incorrect height for desired_width $desired_width imageHeight $imageHeight".PHP_EOL;
			$error = true;
		}

		$expectedWidth = $desired_width;
		$expectedHeight = $desired_height;

		if ($legacy == true && 
			$desired_width == 250 &&
			$desired_height == 250) {
			// Thumbnail size of 249 x 250 does not matched desired size 250 x 250 for source image of 1128 x 1128
			$expectedWidth = 249;
		}

		if ($thumbnailImageWidth != $expectedWidth) {
			echo "Incorrect width for desired_width $desired_width imageHeight $imageHeight".PHP_EOL;
			$error = true;
		}

		if ($thumbnailImageHeight != $expectedHeight) {
			echo "Incorrect width for desired_width $desired_width imageHeight $imageHeight".PHP_EOL;
			$error = true;
		}

		if ($error) {
			printf(
				"Thumbnail size of %d x %d does not matched expected size %d x %d for source image of %d x %d. Legacy is %d\n",
				$thumbnailImageWidth, $thumbnailImageHeight,
				$desired_width, $desired_height,
				$imageWidth, $imageHeight,
				$legacy
			);
		}
	}
}


echo "Done" . PHP_EOL;

?>
--EXPECTF--
Done176_ImagickDraw_ellipse_basic.phpt000064400000002215150457363210013104 0ustar00--TEST--
Test ImagickDraw, ellipse
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function ellipse($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->ellipse(125, 70, 100, 50, 0, 360);
    $draw->ellipse(350, 70, 100, 50, 0, 315);

    $draw->push();
    $draw->translate(125, 250);
    $draw->rotate(30);
    $draw->ellipse(0, 0, 100, 50, 0, 360);
    $draw->pop();

    $draw->push();
    $draw->translate(350, 250);
    $draw->rotate(30);
    $draw->ellipse(0, 0, 100, 50, 0, 315);
    $draw->pop();

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

ellipse($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok274_imagick_setImageAlpha.phpt000064400000003621150457363210012235 0ustar00--TEST--
Imagick::setImageAlpha
--SKIPIF--
<?php 
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php

require_once __DIR__ . "/../util/functions.php";

$imagick = new Imagick();
$imagick->newPseudoImage(256, 256, 'xc:purple');
$imagick->setImageAlpha(0.5);

$imagick->setImageFormat('png');
$imagick->writeImage(__DIR__ . "/setAlphaTest.png");

$pixelTypes = array(
	Imagick::PIXEL_CHAR => array(128, 0, 128, 128),
	Imagick::PIXEL_FLOAT => array(0.50196081399918, 0, 0.50196081399918, 0.5),
    Imagick::PIXEL_DOUBLE => array(0.50196078431373, 0, 0.50196078431373, 0.5),
	Imagick::PIXEL_SHORT => array(32896, 0, 32896, 32768),
);

function getColorError($type, $expected, $actual) {

    if ($type == Imagick::PIXEL_CHAR ||
        $type == Imagick::PIXEL_SHORT) {
        $string  = "Expected: " . $actual . "\n";
        $string .= "Actual  : " . $actual . "\n";

        return $string;
    }

    if ($type == Imagick::PIXEL_FLOAT) {
        return float_compare_32($expected, $actual);
    }

    if ($type == Imagick::PIXEL_DOUBLE) {
        return float_compare($expected, $actual);
    }

    echo "Unknown type: $type \n";
    exit(-1);
}


foreach ($pixelTypes as $pixelType => $expectedValues) {
	$pixels = $imagick->exportImagePixels(0, 0, 1, 1, "RGBA", $pixelType);
	$channelNames = ['R', 'G', 'B', 'A'];

	// Loop over the colours
	for ($channel = 0; $channel < 4; $channel++) {
		$actual = $pixels[$channel];
		$expected = $expectedValues[$channel];
		if (abs($actual - $expected) > get_epsilon_for_off_by_half_errors()) {
		    $channelName = $channelNames[$channel];

			echo "Pixel values appear incorrect for pixelType $pixelType channel:$channelName\n";
            echo getColorError($pixelType, $expected, $actual);
			break;
		}
	}
}

echo "Ok";

?>
--CLEAN--
<?php
$f = __DIR__ . '/setAlphaTest.png';
if (file_exists($f)) {
    @unlink($f);
}
?>
--EXPECTF--
Ok
182_ImagickDraw_pathCurveToQuadraticBezierAbsolute_basic.phpt000064400000003576150457363210020421 0ustar00--TEST--
Test ImagickDraw, pathCurveToQuadraticBezierAbsolute
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->pathStart();
    $draw->pathMoveToAbsolute(50,250);

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is the first two params, and the end point is the last two params.
    $draw->pathCurveToQuadraticBezierAbsolute(
        150,50, 
        250,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothAbsolute(
        450,250
    );

    // This specifies a quadratic bezier curve with the current position as the start
    // point, the control point is mirrored from the previous curves control point
    // and the end point is defined relative from the current position by the x, y values.
    $draw->pathCurveToQuadraticBezierSmoothRelative(
        200,-100
    );

    $draw->pathFinish();

    $imagick = new \Imagick();
    $imagick->newImage(700, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

}

pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok107_Imagick_recolorImage_basic.phpt000064400000001133150457363210013231 0ustar00--TEST--
Test Imagick, recolorImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('recolorImage'));
?>
--FILE--
<?php


function recolorImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $remapColor = array(
        1, 0, 0,
        0, 0, 1,
        0, 1, 0,
    );

    @$imagick->recolorImage($remapColor);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

recolorImage() ;
echo "Ok";
?>
--EXPECTF--
Ok192_ImagickDraw_setClipPath_basic.phpt000064400000002016150457363210013664 0ustar00--TEST--
Test ImagickDraw, setClipPath
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setClipPath($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $clipPathName = 'testClipPath';

    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(100, 100, 400, 400);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setClipPath($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok191_ImagickDraw_push_basic.phpt000064400000002045150457363210012424 0ustar00--TEST--
Test ImagickDraw, push
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';

function push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillModifiedColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->push();
    $draw->translate(50, 50);
    $draw->rectangle(200, 200, 300, 300);
    $draw->pop();
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) ;
echo "Ok";
?>
--EXPECTF--
Ok311_Imagick_channelFxImage.phpt000064400000001757150457363210012342 0ustar00--TEST--
Test Imagick, channelFxImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('channelFxImage'));
?>
--FILE--
<?php

// MagickChannelFxImage() applies a channel expression to the specified image.
// The expression consists of one or more channels, either mnemonic or numeric
// (e.g. red, 1), separated by actions as follows:
//
//   <=>     exchange two channels (e.g. red<=>blue)
//   =>      transfer a channel to another (e.g. red=>green)
//   ,       separate channel operations (e.g. red, green)
//   |       read channels from next input image (e.g. red | green)
//   ;       write channels to next output image (e.g. red; green; blue)

function whiteBalanceImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $result = $imagick->channelFxImage("red<=>blue");
    //    $result->writeImage(__DIR__ . '/complexImages_output_image.png');

    $result->getImageBlob();
}

whiteBalanceImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
114_Imagick_scaleImage_basic.phpt000064400000001712150457363210012654 0ustar00--TEST--
Test Imagick, scaleImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


$tests = array(
    array(200, 200, true, 200, 150),
    array(200, 200, false, 200, 200),
    array(200, 0, false, 200, 150),
);

foreach ($tests as $test) {
    list($width, $height, $bestFit, $expectedWidth, $expectedHeight) = $test;

    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->scaleImage($width, $height, $bestFit);

	$imageWidth = $imagick->getImageWidth();
	$imageHeight = $imagick->getImageHeight();

	$error = false;

	if ($imageWidth != $expectedWidth) {
		echo "Width $imageWidth does not match expected.\n";
		$error = true;
	}

	if ($imageHeight != $expectedHeight) {
		echo "Height $imageHeight does not match expected.\n";
		$error = true;
	}

	if ($error) {
		echo "test was ".var_export($test, true)."\n";
	};
}


echo "Ok";
?>
--EXPECTF--
Ok184_ImagickDraw_polyline_basic.phpt000064400000002013150457363210013275 0ustar00--TEST--
Test ImagickDraw, polyline
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function polyline($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(5);

    $points = array(
        array('x' => 40 * 5, 'y' => 10 * 5),
        array('x' => 20 * 5, 'y' => 20 * 5),
        array('x' => 70 * 5, 'y' => 50 * 5),
        array('x' => 60 * 5, 'y' => 15 * 5)
    );

    $draw->polyline($points);

    $image = new \Imagick();
    $image->newImage(500, 300, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

polyline($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Okskipif.inc000064400000000117150457363210006531 0ustar00<?php
if (!extension_loaded("apcu")) die("skip APCU extension not loaded");
?>
057_Imagick_distortImage_PerspectiveProjection.phpt000064400000001736150457363210016536 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        //X-of-destination = (sx*xs + ry+ys +tx) / (px*xs + py*ys +1)
        //Y-of-destination = (rx*xs + sy+ys +ty) / (px*xs + py*ys +1)

        // sx   ry   tx
        // rx   sy   ty
        // px   py
        
        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            1.945622, 0.071451, 
            -12.187838, 0.799032, 
            1.276214, -24.470275, 0.006258, 0.000715
        );
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
        $imagick->distortImage(\Imagick::DISTORTION_PERSPECTIVEPROJECTION, $points, TRUE);
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok034_Imagick_annotateImage_basic.phpt000064400000001750150457363210013401 0ustar00--TEST--
Test Imagick, annotateImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'rgb(232, 227, 232)';

function annotateImage($strokeColor, $fillColor) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);
    
    $text = "Imagick is a native php \nextension to create and \nmodify images using the\nImageMagick API.";

    setFontForImagick($imagick);
    setFontForImagickDraw($draw);
    $imagick->annotateimage($draw, 40, 40, 0, $text);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

annotateImage($strokeColor, $fillColor) ;
echo "Ok";
?>
--EXPECTF--
Ok240_Tutorial_imagickCompositeGen_basic.phpt000064400000010271150457363210015002 0ustar00--TEST--
Test Tutorial, imagickCompositeGen
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$contrast = 10;
$blendMidpoint = 0.5;

function generateBlendImage($height, $overlap, $contrast = 10, $midpoint = 0.5) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage($height, $overlap, 'gradient:black-white');
    $quantum = $imagick->getQuantum();
    $imagick->sigmoidalContrastImage(true, $contrast, $midpoint * $quantum);

    return $imagick;
}


function mergeImages($outputSize, $overlap, $contrast = 10, $blendMidpoint = 0.5, $horizontal = true) {

    $images = array();
    $newImageWidth = 0;
    $newImageHeight = 0;

    if ($horizontal == true) {
        $resizeWidth = 0;
        $resizeHeight = $outputSize;
    }
    else {
        $resizeWidth = $outputSize;
        $resizeHeight = 0;
    }

    $blendWidth = 0;

    $srcImages = array(1, 2, 3);

    foreach ($srcImages as $srcImage) {
        $nextImage = new \Imagick();
        $nextImage->newPseudoImage(640, 480, "magick:logo");
        
        
        $nextImage->resizeImage($resizeWidth, $resizeHeight, \Imagick::FILTER_LANCZOS, 0.5);

        if ($horizontal == true) {
            $newImageWidth += $nextImage->getImageWidth();
            $blendWidth = $nextImage->getImageHeight();
        }
        else {
            //$newImageWidth = $nextImage->getImageWidth();
            $blendWidth = $nextImage->getImageWidth();
            $newImageHeight += $nextImage->getImageHeight();
        }

        $images[] = $nextImage;
    }

    if ($horizontal == true) {
        $newImageWidth -= $overlap * (count($srcImages) - 1);
        $newImageHeight = $outputSize;
    }
    else {
        $newImageWidth = $outputSize;
        $newImageHeight -= $overlap * (count($srcImages) - 1);
    }

    if ($blendWidth == 0) {
        throw new \Exception("Failed to read source images");
    }

    $fadeLeftSide = generateBlendImage($blendWidth, $overlap, $contrast, $blendMidpoint);

    if ($horizontal == true) {
        //We are placing the images horizontally.
        $fadeLeftSide->rotateImage('black', -90);
    }

    //Fade out the left part - need to negate the mask to
    //make math correct
    $fadeRightSide = clone $fadeLeftSide;
    $fadeRightSide->negateimage(false);

    //Create a new canvas to render everything in to.
    $canvas = new \Imagick();
    $canvas->newImage($newImageWidth, $newImageHeight, new \ImagickPixel('black'));

    $count = 0;

    $imagePositionX = 0;
    $imagePositionY = 0;

    /** @var $image \Imagick */
    foreach ($images as $image) {
        $finalBlending = new \Imagick();
        $finalBlending->newImage($image->getImageWidth(), $image->getImageHeight(), 'white');

        if ($count != 0) {
            $finalBlending->compositeImage($fadeLeftSide, \Imagick::COMPOSITE_ATOP, 0, 0);
        }

        $offsetX = 0;
        $offsetY = 0;

        if ($horizontal == true) {
            $offsetX = $image->getImageWidth() - $overlap;
        }
        else {
            $offsetY = $image->getImageHeight() - $overlap;
        }

        if ($count != count($images) - 1) {
            $finalBlending->compositeImage($fadeRightSide, \Imagick::COMPOSITE_ATOP, $offsetX, $offsetY);
        }

        $image->compositeImage($finalBlending, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
        $canvas->compositeimage($image, \Imagick::COMPOSITE_BLEND, $imagePositionX, $imagePositionY);

        if ($horizontal == true) {
            $imagePositionX = $imagePositionX + $image->getImageWidth() - $overlap;
        }
        else {
            $imagePositionY = $imagePositionY + $image->getImageHeight() - $overlap;
        }
        $count++;
    }

    return $canvas;
}

function imagickCompositeGen($contrast = 10, $blendMidpoint = 0.5) {

    $size = 160;

    //Load the images 
    $output = mergeImages(
        $size,
        0.2 * $size, //overlap
        $contrast,
        $blendMidpoint,
        true);

    //$output = generateBlendImage(200, 200, 5, 0.5);
    $output->setImageFormat('png');

    $bytes = $output->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

imagickCompositeGen($contrast = 10, $blendMidpoint = 0.5) ;
echo "Ok";
?>
--EXPECTF--
Ok308_Imagick_levelizeImage.phpt000064400000000707150457363210012253 0ustar00--TEST--
Test Imagick, levelizeImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('levelizeImage'));
?>
--FILE--
<?php


function levelizeImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->levelizeImage(0.1, 2.0, 0.95);
//    $imagick->writeImage(__DIR__ . '/claheImage_output_image.png');
    $imagick->getImageBlob();
}

levelizeImage();
echo "Ok";
?>
--EXPECTF--
Ok
161_Imagick_transformImageColorspace_basic.phpt000064400000001216150457363210015614 0ustar00--TEST--
Test Imagick, transformImageColorspace
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$colorSpace = 1;
$channel = Imagick::CHANNEL_DEFAULT;

function transformImageColorspace($colorSpace, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->transformimagecolorspace($colorSpace);
    $imagick->separateImageChannel($channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

transformImageColorspace($colorSpace, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok038_Imagick_brightnessContrastImage_basic.phpt000064400000001232150457363210015455 0ustar00--TEST--
Test Imagick, brightnessContrastImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$brightness = -20;
$contrast = -20;
$channel = Imagick::CHANNEL_DEFAULT;

function brightnessContrastImage($brightness, $contrast, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->brightnessContrastImage($brightness, $contrast, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

brightnessContrastImage($brightness, $contrast, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok285_ini_settings_set_truthy_string.phpt000064400000001204150457363210014421 0ustar00--TEST--
OpenMP segfault hacks

--INI--
imagick.shutdown_sleep_count=On
imagick.set_single_thread=On
--SKIPIF--
<?php 


require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


$sleepCount = intval(ini_get('imagick.shutdown_sleep_count'));
$setSingleThread = ini_get('imagick.set_single_thread');

if ($sleepCount != 1) {
    echo "imagick.shutdown_sleep_count is not set to 1 but instead " . var_export($sleepCount, true) ."\n";
}

if ($setSingleThread != 1) {
    echo "imagick.set_single_thread setting is not true but instead " . var_export($setSingleThread, true) ."\n";
}


echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
087_Imagick_levelImage_basic.phpt000064400000001227150457363210012706 0ustar00--TEST--
Test Imagick, levelImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$blackPoint = 50;
$whitePoint = 100;
$gamma = 2.2;

function levelImage($blackPoint, $gamma, $whitePoint) {
    $imagick = new \Imagick();
    $imagick->newPseudoimage(500, 500, 'gradient:black-white');

    $imagick->setFormat('png');
    $quantum = $imagick->getQuantum();
    $imagick->levelImage($blackPoint / 100 , $gamma, $quantum * $whitePoint / 100);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

levelImage($blackPoint, $gamma, $whitePoint) ;
echo "Ok";
?>
--EXPECTF--
Ok022-writeimagefileformat.phpt000064400000003322150457363210012156 0ustar00--TEST--
Test format support in writeImageFile
--SKIPIF--
<?php 
	require_once(dirname(__FILE__) . '/skipif.inc'); 
	checkFormatPresent('png');
	checkFormatPresent('jpg');
?>
--FILE--
<?php

define ("JPEG_FILE", dirname (__FILE__) . "/imagick_test.jpg");
define ("PNG_FILE",dirname (__FILE__) . "/imagick_test.png");

$im = new imagick ('magick:rose');
$im->writeImage (JPEG_FILE);
$im->clear ();

// This is the problematic case, setImageFormat doesn't really
// affect writeImageFile. 
// So in this case we want to write PNG but file should come out
// as JPEG
$fp = fopen (PNG_FILE, "w+");
$im->readImage (JPEG_FILE);
$im->setImageFormat ('png');
$im->writeImageFile ($fp);
$im->clear ();
fclose ($fp);

// Output the format
$identify = new Imagick (PNG_FILE);
echo $identify->getImageFormat () . PHP_EOL;

// Lets try again, setting the filename rather than format
// This should cause PNG image to be written
$fp = fopen (PNG_FILE, "w+");
$im->readImage (JPEG_FILE);
$im->setImageFilename ('png:');
$im->writeImageFile ($fp);
$im->clear ();
fclose ($fp);

// If all goes according to plan, on second time we should get PNG
$identify = new Imagick (PNG_FILE);
echo $identify->getImageFormat () . PHP_EOL;

// Lastly, test the newly added format parameter
$fp = fopen (PNG_FILE, "w+");
$im->readImage (JPEG_FILE);
$im->writeImageFile ($fp, 'png');
$im->clear ();
fclose ($fp);

// If all goes according to plan, on second time we should get PNG
$identify = new Imagick (PNG_FILE);
echo $identify->getImageFormat () . PHP_EOL;

unlink (PNG_FILE);
unlink (JPEG_FILE);

echo 'done' . PHP_EOL;
?>
--CLEAN--
<?php
@unlink(dirname (__FILE__) . "/imagick_test.jpg");
@unlink(dirname (__FILE__) . "/imagick_test.png");
?>
--EXPECT--
JPEG
PNG
PNG
done253_getHdri.phpt000064400000000624150457363210007430 0ustar00--TEST--
Test ImagickPixelIterator, construct
--SKIPIF--
<?php

require_once(dirname(__FILE__) . '/skipif.inc');

checkClassMethods('Imagick', array('getHDRIEnabled'));


?>
--FILE--
<?php

$enabled = Imagick::getHDRIEnabled();

if ($enabled === true || $enabled === false) {
    echo "Ok";
}
else {
    echo "Unexpected value for Imagick::getHDRIEnabled:\n";
    var_dump($enabled);
}

?>
--EXPECTF--
Ok226_ImagickDraw_setViewBox_basic.phpt000064400000002456150457363210013551 0ustar00--TEST--
Test ImagickDraw, setViewBox
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setViewBox($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    /*
     
    Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.
    
     */

    $draw->circle(250, 250, 250, 0);
    $draw->setviewbox(0, 0, 200, 200);
    $draw->circle(125, 250, 250, 250);
    $draw->translate(250, 125);
    $draw->circle(0, 0, 125, 0);


    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setViewBox($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok199_ImagickDraw_setClipRule_basic.phpt000064400000002553150457363210013714 0ustar00--TEST--
Test ImagickDraw, setClipRule
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setClipRule($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    //\Imagick::FILLRULE_EVENODD
    //\Imagick::FILLRULE_NONZERO

    $clipPathName = 'testClipPath';
    $draw->pushClipPath($clipPathName);
    $draw->setClipRule(\Imagick::FILLRULE_EVENODD);

    $draw->rectangle(0, 0, 300, 500);
    $draw->rectangle(200, 0, 500, 500);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(200, 200, 300, 300);
    
    $clipRule = $draw->getClipRule();
    if ($clipRule != \Imagick::FILLRULE_EVENODD) {
        echo "Failed to get correct clipRule $clipRule != \Imagick::FILLRULE_EVENODD \n";
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setClipRule($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok166_Imagick_waveImageWithMethod_basic.phpt000064400000001127150457363210014533 0ustar00--TEST--
Test Imagick, waveImageWithMethod
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$amplitude = 5;
$length = 20;

function waveImageWithMethod($amplitude, $length) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->waveImageWithMethod($amplitude, $length, Imagick::INTERPOLATE_BILINEAR);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

waveImageWithMethod($amplitude, $length) ;
echo "Ok";
?>
--EXPECTF--
Ok137_Imagick_shearImage_basic.phpt000064400000001077150457363210012700 0ustar00--TEST--
Test Imagick, shearImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$shearX = 15;
$shearY = 5;
$color = 'rgb(127, 127, 127)';

function shearImage($color, $shearX, $shearY) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->shearimage($color, $shearX, $shearY);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

shearImage($color, $shearX, $shearY) ;
echo "Ok";
?>
--EXPECTF--
Ok125_Imagick_setImageOrientation_basic.phpt000064400000001143150457363210014574 0ustar00--TEST--
Test Imagick, setImageOrientation
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$orientationType = \Imagick::ORIENTATION_LEFTTOP;

//Doesn't appear to do anything
function setImageOrientation($orientationType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageOrientation($orientationType);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setImageOrientation($orientationType) ;
echo "Ok";
?>
--EXPECTF--
Ok317_Imagick_getImageMean.phpt000064400000001473150457363220012016 0ustar00--TEST--
Test Imagick, getImageMean
--SKIPIF--
<?php
// mean calculation seems unstable on earlier versions
// lets only check modern versions, and see if it breaks
$imageMagickRequiredVersion=0x710;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getImageMean'));
?>
--FILE--
<?php

require_once(__DIR__ . '/functions.inc');

function getImageMean() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $values = $imagick->getImageMean();

    check_value_with_epsilon($values, "mean", 29267.518515000003, 0.2);
    check_value_with_epsilon($values, "standard_deviation", 18075.35838235082, 0.2);
}

getImageMean();
echo "Ok";
?>
--EXPECTF--
Value for 'mean' is %f which is close enough to expected %f
Value for 'standard_deviation' is %f which is close enough to expected %f
Ok
026_phpinfo.phpt000064400000000574150457363220007510 0ustar00--TEST--
Test Imagick module hasn't broken phpinfo
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

ob_start();
phpinfo();
$contents = ob_get_contents();
ob_end_clean();

if (strpos($contents, 'imagick module => enabled') !== false) {
	echo "Ok";
}
else {
	echo "Imagick was not reported as enabled?";
	var_dump($contents);
}

?>
--EXPECTF--
Ok174_ImagickDraw_affine_basic.phpt000064400000004350150457363220012700 0ustar00--TEST--
Test ImagickDraw, affine
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function affine($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);

    $PI = 3.141592653589794;
    $angle = 60 * $PI / 360;

    //Scale the drawing co-ordinates.
    $affineScale = array("sx" => 1.75, "sy" => 1.75, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

    //Shear the drawing co-ordinates.
    $affineShear = array("sx" => 1, "sy" => 1, "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0);

    //Rotate the drawing co-ordinates. The shear affine matrix
    //produces incorrectly scaled drawings.
    $affineRotate = array("sx" => cos($angle), "sy" => cos($angle), "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0,);

    //Translate (offset) the drawing
    $affineTranslate = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 30, "ty" => 30);

    //The identiy affine matrix
    $affineIdentity = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

    $examples = array($affineScale, $affineShear, $affineRotate, $affineTranslate, $affineIdentity,);

    $count = 0;

    foreach ($examples as $example) {
        $draw->push();
        $draw->translate(($count % 2) * 250, intval($count / 2) * 250);
        $draw->translate(100, 100);
        $draw->affine($example);
        $draw->rectangle(-50, -50, 50, 50);
        $draw->pop();
        $count++;
    }

    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(500, 750, $backgroundColor);
    $image->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object 
    //into the image.
    $image->drawImage($draw);

    //Send the image to the browser
    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

affine($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok102_Imagick_radialBlurImage_basic.phpt000064400000001413150457363220013642 0ustar00--TEST--
Test Imagick, radialBlurImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('radialBlurImage'));
?>
--FILE--
<?php


function radialBlurImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->radialBlurImage(3);
    $imagick->radialBlurImage(5);
    $imagick->radialBlurImage(7);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

radialBlurImage() ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s Imagick::radialBlurImage() is deprecated in %s

Deprecated: %s Imagick::radialBlurImage() is deprecated in %s

Deprecated: %s Imagick::radialBlurImage() is deprecated in %s
Ok
bug20636.phpt000064400000001320150457363220006622 0ustar00--TEST--
Test PECL bug #20636
--SKIPIF--
<?php

$imageMagickRequiredVersion=0x680;

require_once(dirname(__FILE__) . '/skipif.inc'); 

checkClassMethods('Imagick', array('roundCorners'));

?>
--FILE--
<?php
// This test fails to work as expected on 32bit Ubuntu. Instead of the
// image being created and then roundCorners failing, instead the image
// fails to be created with the error message "unable to acquire cache 
// view `No such file or directory' @ 
// fatal/cache-view.c/AcquireAuthenticCacheView/121"

$image = new Imagick();
$image->newImage(0, 0, '#dddddd', 'png' );

try {
    $image->roundCorners(5, 5);
    echo "fail\n";
} catch (ImagickException $e) {
    echo "success\n";
}

?>
--EXPECTF--
success
318_Imagick_getImageRange.phpt000064400000001176150457363220012173 0ustar00--TEST--
Test Imagick, getImageRange
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getImageRange'));
?>
--FILE--
<?php

require_once(__DIR__ . '/functions.inc');

function getImageRange() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(320, 240, "gradient:red-blue");
    $values = $imagick->getImageRange();

    check_value($values, "minima", 0);
    check_value($values, "maxima", 65535.0);
}

getImageRange() ;
echo "Ok";
?>
--EXPECTF--
Value for 'minima' is %f which is close enough to expected %f
Value for 'maxima' is %f which is close enough to expected %f
Ok
005_bestfit.phpt000064400000000500150457363220007467 0ustar00--TEST--
Test thumbnail bestfit
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$im = new Imagick();
$im->newImage(50, 100, 'white');

$im->thumbnailImage(100, 50, true);
var_dump($im->getImageGeometry());

?>
--EXPECTF--
array(2) {
  ["width"]=>
  int(25)
  ["height"]=>
  int(50)
}065_Imagick_despeckleImage_basic.phpt000064400000000715150457363220013534 0ustar00--TEST--
Test Imagick, despeckleImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function despeckleImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->despeckleImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

despeckleImage() ;
echo "Ok";
?>
--EXPECTF--
Ok297_Imagick_meanShiftImage.phpt000064400000001040150457363220012351 0ustar00--TEST--
Test Imagick, meanShiftImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('meanShiftImage'));
?>
--FILE--
<?php


function meanShiftImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->meanShiftImage(
		10,
		10,
		5
	);

    $imagick->writeImage(__DIR__ . '/meanShiftImage_output_image.png');
//    $imagick->getImageBlob();
}

meanShiftImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/meanShiftImage_output_image.png');
?>
--EXPECTF--
Ok
158_Imagick_transposeImage_basic.phpt000064400000000715150457363220013616 0ustar00--TEST--
Test Imagick, transposeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function transposeImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->transposeImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

transposeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok270_imagick_restoreErrorHandler.phpt000064400000001076150457363220013523 0ustar00--TEST--
Imagick don't borg the error handler
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
error_reporting( E_ALL ); 

ini_set( "display_errors", true );

try {
    $f = new Imagick('http://any/url/here');
}
catch(ImagickException $ie) {
    echo "Normal exception".PHP_EOL;
}

try {
	$x = @file ('non_existent_file');
	echo "Normal warning is suppressed".PHP_EOL;
}
catch(\Exception $e) {
	echo "Abnormal exception of type: ".get_class($e)."\n";
	echo $e->getMessage();
}

?>
--EXPECTF--
Normal exception
Normal warning is suppressed
291_reflection.phpt000064400000001764150457363220010205 0ustar00--TEST--
Test that reflection can get default values
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$class_list = [
    'Imagick',
    'ImagickDraw',
    'ImagickPixel',
    'ImagickPixelIterator',
];

if (class_exists('ImagickKernel') === true) {
    $class_list[] = 'ImagickKernel';
}

foreach ($class_list as $class) {
    $rc = new ReflectionClass($class);
    foreach ($rc->getMethods() as $reflectionMethod) {
        $parameters = $reflectionMethod->getParameters();
        foreach ($parameters as $parameter) {
            if ($parameter->isDefaultValueAvailable() !== true) {
                continue;
            }

            try {
                $value = $parameter->getDefaultValue();
            }
            catch (ReflectionException $re) {
                $method_name = $reflectionMethod->getName();
                echo "Exception for $class::$method_name : " . $re->getMessage() . "\n";
            }
        }
    }
}

echo "Ok";
?>
--EXPECTF--
Ok

319_Imagick_getInterpolateMethod.phpt000064400000001315150457363220013617 0ustar00--TEST--
Test Imagick, getInterpolateMethod/setInterpolateMethod
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getInterpolateMethod'));
?>
--FILE--
<?php

function getInterpolateMethod() {
    $imagick = new \Imagick();


    $value = $imagick->getInterpolateMethod();
    echo "Interpolate method is " . $value . "\n";
    $imagick->newPseudoImage(640, 480, "gradient:red-blue");

    $imagick->setInterpolateMethod(Imagick::INTERPOLATE_BILINEAR);

    $value = $imagick->getInterpolateMethod();
    echo "Interpolate method is now " . $value . "\n";
}

getInterpolateMethod() ;
echo "Ok";
?>
--EXPECTF--
Interpolate method is 0
Interpolate method is now 5
Ok
216_ImagickDraw_setStrokeDashArray_basic.phpt000064400000002456150457363220015234 0ustar00--TEST--
Test ImagickDraw, setStrokeDashArray
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeDashArray($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);

    $draw->setStrokeDashArray(array(10, 10));
    $draw->rectangle(100, 50, 225, 175);

    $draw->setStrokeDashArray(array(20, 5, 20, 5, 5, 5,));
    $draw->rectangle(275, 50, 400, 175);

    $draw->setStrokeDashArray(array(20, 5, 20, 5, 5));
    $draw->rectangle(100, 200, 225, 350);

    $draw->setStrokeDashArray(array(1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 8, 8, 13, 13, 21, 21, 34, 34, 55, 55, 89, 89, 144, 144, 233, 233, 377, 377, 610, 610, 987, 987, 1597, 1597, 2584, 2584, 4181, 4181,));

    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeDashArray($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok255_getFeatures.phpt000064400000000476150457363220010330 0ustar00--TEST--
Test Imagick::getfeatures
--SKIPIF--
<?php

require_once(dirname(__FILE__) . '/skipif.inc');

checkClassMethods('Imagick', array('getfeatures'));


?>
--FILE--
<?php

$features = Imagick::getFeatures();

if (!is_string($features)) {
	echo "Features failed to return a string";
}

echo "Ok";

?>
--EXPECTF--
Ok109_Imagick_rollImage_basic.phpt000064400000000777150457363220012554 0ustar00--TEST--
Test Imagick, rollImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$rollX = 100;
$rollY = 100;

function rollImage($rollX, $rollY) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->rollimage($rollX, $rollY);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

rollImage($rollX, $rollY) ;
echo "Ok";
?>
--EXPECTF--
Ok099_Imagick_oilPaintImage_sigma.phpt000064400000001001150457363220013367 0ustar00--TEST--
Test Imagick, oilPaintImageWithSigma
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;

function oilPaintImage($radius) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->oilPaintImageWithSigma($radius, 2.0);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}

oilPaintImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok094_Imagick_motionBlurImage_basic.phpt000064400000001201150457363220013720 0ustar00--TEST--
Test Imagick, motionBlurImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 20;
$sigma = 20;
$angle = 45;
$channel = Imagick::CHANNEL_DEFAULT;

function motionBlurImage($radius, $sigma, $angle, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->motionBlurImage($radius, $sigma, $angle, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

motionBlurImage($radius, $sigma, $angle, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok290_imagick_profileimage.phpt000064400000000406150457363220012171 0ustar00--TEST--
Imagick::profileImage test
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$imagick = new Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->profileImage('*', null);

echo "Ok";
?>
--EXPECTF--
Ok116_Imagick_separateImageChannel_basic.phpt000064400000001042150457363220014661 0ustar00--TEST--
Test Imagick, separateImageChannel
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$channel = Imagick::CHANNEL_DEFAULT;

function separateImageChannel($channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->separateimagechannel($channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

separateImageChannel($channel) ;
echo "Ok";
?>
--EXPECTF--
Ok002_thumbnail.phpt000064400000007451150457363220010023 0ustar00--TEST--
Different types of thumbnailing
--SKIPIF--
<?php require_once dirname(__FILE__) . '/skipif.inc'; ?>
--FILE--
<?php
echo "--- Source Image: 400x200, Imagick::thumbnailImage( 100, null, false )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
$imagick->thumbnailImage( 100, null, false );
$g = $imagick->getImageGeometry();
echo "{$g['width']}x{$g['height']}\n";

echo "--- Source Image: 400x200, Imagick::thumbnailImage( null, 100, false )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
$imagick->thumbnailImage( null, 100, false );
$g = $imagick->getImageGeometry();
echo "{$g['width']}x{$g['height']}\n";

echo "--- Source Image: 400x200, Imagick::thumbnailImage( 100, 100, false )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
$imagick->thumbnailImage( 100, 100, false);
$g = $imagick->getImageGeometry();
echo "{$g['width']}x{$g['height']}\n";

echo "--- Source Image: 400x200, Imagick::thumbnailImage( null, null, false )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
try
{
	$imagick->thumbnailImage( null, null, false );
	echo "FAILED TEST\n";
}
catch ( ImagickException $e )
{
	echo $e->getMessage() . "\n";
}

echo "--- Source Image: 400x200, Imagick::thumbnailImage( 100, 100, true )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
$imagick->thumbnailImage( 100, 100, true );
$g = $imagick->getImageGeometry();
echo "{$g['width']}x{$g['height']}\n";

echo "--- Source Image: 400x200, Imagick::thumbnailImage( 100, null, true )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
try
{
	$imagick->thumbnailImage( 100, null, true );
	echo "FAILED TEST\n";
}
catch ( ImagickException $e )
{
	echo $e->getMessage() . "\n";
}

echo "--- Source Image: 400x200, Imagick::thumbnailImage( null, 100, true )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
try
{
	$imagick->thumbnailImage( null, 100, true );
	echo "FAILED TEST\n";
}
catch ( ImagickException $e )
{
	echo $e->getMessage() . "\n";
}

echo "--- Source Image: 400x200, Imagick::thumbnailImage( null, null, true )\n";
$imagick = new Imagick();
$imagick->newImage( 400, 200, "white" );
try
{
	$imagick->thumbnailImage( null, null, true );
	echo "FAILED TEST\n";
}
catch ( ImagickException $e )
{
	echo $e->getMessage() . "\n";
}

// Legacy version
$imagick = new Imagick();
$imagick->newImage(2961, 2592, "white" );
$imagick->thumbnailImage(300, 0, false, false, true);

if ($imagick->getImageWidth() != 300) {
	echo "Error in height for 2961, 2592: actual is ".$image->getImageWidth()." not 300.".PHP_EOL;
}
if ($imagick->getImageHeight() != 262) {
	echo "Error in height for 2961, 2592: actual is ".$image->getImageHeight()." not 262.".PHP_EOL;
}

// Correct version
$imagick = new Imagick();
$imagick->newImage(2961, 2592, "white" );
$imagick->thumbnailImage(300, 0);

if ($imagick->getImageWidth() != 300) {
	echo "Error in height for 2961, 2592: actual is ".$image->getImageWidth()." not 300.".PHP_EOL;
}
if ($imagick->getImageHeight() != 263) {
	echo "Error in height for 2961, 2592: actual is ".$image->getImageHeight()." not 263.".PHP_EOL;
}

?>
--EXPECTF--
--- Source Image: 400x200, Imagick::thumbnailImage( 100, null, false )
100x50
--- Source Image: 400x200, Imagick::thumbnailImage( null, 100, false )
200x100
--- Source Image: 400x200, Imagick::thumbnailImage( 100, 100, false )
100x100
--- Source Image: 400x200, Imagick::thumbnailImage( null, null, false )
Invalid image geometry
--- Source Image: 400x200, Imagick::thumbnailImage( 100, 100, true )
100x50
--- Source Image: 400x200, Imagick::thumbnailImage( 100, null, true )
Invalid image geometry
--- Source Image: 400x200, Imagick::thumbnailImage( null, 100, true )
Invalid image geometry
--- Source Image: 400x200, Imagick::thumbnailImage( null, null, true )
Invalid image geometry
212_ImagickDraw_setGravity_basic.phpt000064400000002703150457363220013602 0ustar00--TEST--
Test ImagickDraw, setGravity
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setGravity($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(24);

    $gravitySettings = array(\Imagick::GRAVITY_NORTHWEST => 'NorthWest', \Imagick::GRAVITY_NORTH => 'North', \Imagick::GRAVITY_NORTHEAST => 'NorthEast', \Imagick::GRAVITY_WEST => 'West', \Imagick::GRAVITY_CENTER => 'Centre', \Imagick::GRAVITY_SOUTHWEST => 'SouthWest', \Imagick::GRAVITY_SOUTH => 'South', \Imagick::GRAVITY_SOUTHEAST => 'SouthEast', \Imagick::GRAVITY_EAST => 'East');


    foreach ($gravitySettings as $type => $description) {
        $draw->setGravity($type);
        $draw->annotation(50, 50, '"' . $description . '"');
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setGravity($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok103_Imagick_readImageBlob_basic.phpt000064400000002102150457363220013270 0ustar00--TEST--
Test Imagick, readImageBlob
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function readImageBlob() {

    // Image blob borrowed from:
    // http://www.techerator.com/2011/12/how-to-embed-images-directly-into-your-html/
    $base64 = "iVBORw0KGgoAAAANSUhEUgAAAM0AAAD
 NCAMAAAAsYgRbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5c
 cllPAAAABJQTFRF3NSmzMewPxIG//ncJEJsldTou1jHgAAAARBJREFUeNrs2EEK
 gCAQBVDLuv+V20dENbMY831wKz4Y/VHb/5RGQ0NDQ0NDQ0NDQ0NDQ0NDQ
 0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0PzMWtyaGhoaGhoaGhoaGhoaGhoxtb0QGho
 aGhoaGhoaGhoaGhoaMbRLEvv50VTQ9OTQ5OpyZ01GpM2g0bfmDQaL7S+ofFC6x
 v3ZpxJiywakzbvd9r3RWPS9I2+MWk0+kbf0Hih9Y17U0nTHibrDDQ0NDQ0NDQ0
 NDQ0NDQ0NTXbRSL/AK72o6GhoaGhoRlL8951vwsNDQ0NDQ1NDc0WyHtDTEhD
 Q0NDQ0NTS5MdGhoaGhoaGhoaGhoaGhoaGhoaGhoaGposzSHAAErMwwQ2HwRQ
 AAAAAElFTkSuQmCC";

    $imageBlob = base64_decode($base64);

    $imagick = new Imagick();
    $imagick->readImageBlob($imageBlob);

    $bytes = $imageBlob;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

readImageBlob() ;
echo "Ok";
?>
--EXPECTF--
Ok269_ImagickPixel_setColorFromPixel_basic.phpt000064400000001045150457363220015257 0ustar00--TEST--
Test ImagickPixel, setColor
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickPixel', array('setColorFromPixel'));
?>
--FILE--
<?php


$backgroundColor = new \ImagickPixel('green');

$red = new \ImagickPixel('red');

$backgroundColor->setColorFromPixel($red);

$expected = array(
  "r" => 255,
  "g" => 0,
  "b" => 0,
  "a" => 1
);

$actualColor = $backgroundColor->getColor();

if ($actualColor != $expected) {
	echo "Not as expected :\n";
	var_dump($actualColor);
}


echo "Ok";
?>
--EXPECTF--
Ok015-imagickdrawsetresolution.phpt000064400000003043150457363220013075 0ustar00--TEST--
Test ImagickDraw->setResolution
--SKIPIF--
<?php 
	require_once(dirname(__FILE__) . '/skipif.inc');
	checkFormatPresent('png');
?>
--FILE--
<?php

$im = new Imagick();
$im->newImage(1000,1000, "white","png");

$draw = new ImagickDraw();
$draw->setFont (dirname (__FILE__) . '/anonymous_pro_minus.ttf');
$draw->setFontSize(72);

$draw->setResolution(10, 10);
$small = $im->queryFontMetrics($draw, "Hello World");

$draw->setResolution(300, 300);
$large = $im->queryFontMetrics($draw, "Hello World");

if ($small['textWidth'] < $large['textWidth']) {
	echo "Small font _is_ smaller than big font.".PHP_EOL;
}

//These will both be one line.
$oneLine = $im->queryFontMetrics($draw, "Hello Hello");
$forceOneLine = $im->queryFontMetrics($draw, "Hello \nHello", false);

//These will both be multiline
$forceMultiLine = $im->queryFontMetrics($draw, "Hello \nHello", true);
$guessLine = $im->queryFontMetrics($draw, "Hello\nHello");

if (abs($oneLine["textHeight"] - $forceOneLine["textHeight"]) > 0.1) {
	//Reaching this is bad
	echo "One line and forced one line are not the same height.".PHP_EOL;
	echo $oneLine["textHeight"]." ".$forceOneLine["textHeight"].PHP_EOL;
}

if ($forceMultiLine["textHeight"] - (2 * $forceOneLine["textHeight"]) + 2 > 0) {
	echo "Two lines are 2 times one line.".PHP_EOL;
}

if ($guessLine["textHeight"] - (2 * $forceOneLine["textHeight"]) + 2 > 0) {
	echo "Two lines are 2 times one line.".PHP_EOL;
}

echo "OK\n";

?>
--EXPECT--
Small font _is_ smaller than big font.
Two lines are 2 times one line.
Two lines are 2 times one line.
OK
324_Imagick_polynomialImage.phpt000064400000001520150457363220012610 0ustar00--TEST--
Test Imagick, polynomialImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('polynomialImage'));
?>
--FILE--
<?php

function polynomialImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick_gradient = new \Imagick();
    $imagick_gradient->newPseudoImage(
        $imagick->getImageWidth(),
        $imagick->getImageHeight(),
        "gradient:black-white"
    );

    $imagick->addImage($imagick_gradient);

    $terms = [1, 1, 0.1, 0.1];

    // is 2 x (number_terms + 1 (the constant).
    $imagick->polynomialImage($terms);
    $imagick->writeImage(__DIR__ . '/polynomialImage_output_image.png');
    $imagick->getImageBlob();
}

polynomialImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/polynomialImage_output_image.png');
?>
--EXPECTF--
Ok
145_imagickkernel_coverage.phpt000064400000011516150457363220012525 0ustar00--TEST--
ImagickKernel::fromMatrix test
--SKIPIF--
<?php 

$imageMagickRequiredVersion = 0x680;
require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


$kernel = array(
	array(1, 0, -1),
	array(1, 0, -1),
	array(1, 0, -1),
);

$kernel = ImagickKernel::fromMatrix($kernel);
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
$kernel->addUnityKernel(0.50);
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->morphology(
	\Imagick::MORPHOLOGY_CONVOLVE,
	1,
	$kernel
);


$tests = array();

$tests[] = array( 
	"Cannot create kernel, matrix is empty.",
	array()
);

$tests[] = array(
	"Values must be matrix, with the same number of columns in each row.",
	array(0, 1, 1)
);

//Should fail, matrix needs to have same number columns in each row
$tests[] = array(
	"Values must be matrix, with the same number of columns in each row.",
	array(
		array(1, 0, 1),
		array(1, 0, 1),
		array(1, 0),
	)
);

//Should fail, value instead of second row
$tests[] = array(
	"Values must be matrix, with the same number of columns in each row.",
	array(
		array(0, 1),
		1
	)
);

//Should fail, value instead of second row
$tests[] = array( 
	"Only numbers or false are valid values in a kernel matrix.",
	array(
		array(0, 1),
		array(0, new StdClass),
	)
);

$tests[] = array(
	"For kernels with even numbered rows or columns, the origin position must be specified.",
	array(
		array(1, 0),
	),
);


foreach ($tests as $test) {

	list($expectedMessage, $testValue) = $test;

	try {
		$kernel = ImagickKernel::fromMatrix($testValue);
		echo "Failed to throw exception".PHP_EOL;
	}
	catch(ImagickKernelException $e) {
		if ($e->getMessage() != $expectedMessage) {
			echo "Unexpected message ".$e->getMessage()." for test:".PHP_EOL;
			var_dump($test);
		}
	}
}


try {
	$kernel = ImagickKernel::fromBuiltin(\Imagick::KERNEL_DIAMOND, "CestNestPasUneKernel");
	//echo "builtIn OK".PHP_EOL;
}
catch(Exception $e) {
	echo "Unexpected exception: ".$e->getMessage().PHP_EOL;
}


//Test adding unity kernel works.
$matrix1 = array(
	array(1, 1, 1),
	array(0, 0, 0),
	array(-1, -1, -1),
);
$kernel = ImagickKernel::fromMatrix($matrix1);
$kernel->addUnityKernel(0.5);
$matrix = $kernel->getMatrix();

if ($matrix[1][1] != 0.5) {
	echo "center point should be 0.5 but is actually ".$matrix[1][1].PHP_EOL;
	var_dump($matrix);
}
//echo "Adding unity kernel ok".PHP_EOL;

// Test adding kernel works and you can get the values back
$matrix1 = array(
	array(1, 1),
	array(0, 0),
);
$matrix2 = array(
	array(0, 0),
	array(1, 1),
);
$kernel1 = ImagickKernel::fromMatrix($matrix1, array(0, 0));
$kernel2 = ImagickKernel::fromMatrix($matrix2, array(0, 0));
$kernel1->addKernel($kernel2);

$kernelList = $kernel1->separate();
if (count($kernelList) != 2) {
	echo "Incorrect number of matrixes returned.";
}
else {
	if ($kernelList[0]->getMatrix() != $matrix1) {
		echo "Matrix 1 does not match".PHP_EOL;
		var_dump($kernelList[0]);
	}
	if ($kernelList[1]->getMatrix() != $matrix2) {
		echo "Matrix 2 does not match".PHP_EOL;
		var_dump($kernelList[1]);
	}
}

//Test Scaling
$matrixIn = array(
	array(-1, 0, -1),
	array( 0, 8,  0),
	array(-1, 0, -1),
);
$kernel = ImagickKernel::fromMatrix($matrixIn);
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
$matrixOut = $kernel->getMatrix();

if ($matrixOut[1][1] != 2) {
	echo "Matrix was not normalised correctly.";
	var_dump($matrixOut);
}



//Test single line kernel works
$matrixIn = array(
	array(1, 0),
);
$kernel = ImagickKernel::fromMatrix($matrixIn, array(1, 0));
if ($kernel->getMatrix() != $matrixIn) {
	echo "Values do not match for 'Test single line kernel works'".PHP_EOL;
}

//Test even sized kernel works
$matrixIn = array(
	array(-1, 0),
	array( 0, 1)
);
$kernel = ImagickKernel::fromMatrix($matrixIn, array(0, 1));
if ($kernel->getMatrix() != $matrixIn) {
	echo "Values do not match for 'Test even sized kernel works'".PHP_EOL;
}

//Test 'wrong' order matrix is converted correctly.
$matrix = array(
	array(0.0, 1.0),
	array(0.5, false)
);
 
$outOfOrderMatrix = array();
$outOfOrderMatrix[1][1] = $matrix[1][1];
$outOfOrderMatrix[1][0] = $matrix[1][0];
$outOfOrderMatrix[0][1] = $matrix[0][1];
$outOfOrderMatrix[0][0] = $matrix[0][0];

$kernel = ImagickKernel::fromMatrix($outOfOrderMatrix, array(0, 0));
$kernelMatrix = $kernel->getMatrix();
if ($kernelMatrix !== $matrix) {
	echo "Kernel generated from 'out of order' matrix is incorrect.".PHP_EOL;
	var_dump($matrix);
	echo "vs".PHP_EOL;
	var_dump($kernelMatrix);
}




//Test Scaling, and with null origin
$matrixIn = array(
	array(-1, 0, -1),
	array( 0, 8,  0),
	array(-1, 0, -1),
);
$kernel = ImagickKernel::fromMatrix($matrixIn, null); // <-- line under test
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
$matrixOut = $kernel->getMatrix();

if ($matrixOut[1][1] != 2) {
	echo "Matrix was not normalised correctly.";
	var_dump($matrixOut);
}


echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
187_ImagickDraw_push_basic.phpt000064400000002045150457363220012432 0ustar00--TEST--
Test ImagickDraw, push
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';

function push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillModifiedColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->push();
    $draw->translate(50, 50);
    $draw->rectangle(200, 200, 300, 300);
    $draw->pop();
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) ;
echo "Ok";
?>
--EXPECTF--
Ok039_Imagick_borderImage_im7.phpt000064400000013305150457363220012465 0ustar00--TEST--
Test Imagick, borderImageWithComposite
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$width = 50;
$height = 20;
$color = 'rgb(200, 64, 127)';

function borderImage($color, $width, $height, $blendOption) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->borderImage($color, $width, $height);

    if ($blendOption === null) {
        $imagick->borderImage($color, $width, $height);
    }
    else {
        $imagick->borderImageWithComposite($color, $width, $height, $blendOption);
    }

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) {
        echo "Failed to generate image.";
    }

    return $imagick;
}

$blendOptions = [
    "null" => null,
//    "COMPOSITE_NO" => Imagick::COMPOSITE_NO,
//    //"COMPOSITE_ADD" => Imagick::COMPOSITE_ADD,
    "COMPOSITE_ATOP" => Imagick::COMPOSITE_ATOP,
//    "COMPOSITE_BLEND" => Imagick::COMPOSITE_BLEND,
//    "COMPOSITE_BUMPMAP" => Imagick::COMPOSITE_BUMPMAP,
//    "COMPOSITE_CLEAR" => Imagick::COMPOSITE_CLEAR,
//    "COMPOSITE_COLORBURN" => Imagick::COMPOSITE_COLORBURN,
//    "COMPOSITE_COLORDODGE" => Imagick::COMPOSITE_COLORDODGE,
//    "COMPOSITE_COLORIZE" => Imagick::COMPOSITE_COLORIZE,
//    "COMPOSITE_COPYBLACK" => Imagick::COMPOSITE_COPYBLACK,
//    "COMPOSITE_COPYBLUE" => Imagick::COMPOSITE_COPYBLUE,
//    "COMPOSITE_COPY" => Imagick::COMPOSITE_COPY,
//    "COMPOSITE_COPYCYAN" => Imagick::COMPOSITE_COPYCYAN,
//    "COMPOSITE_COPYGREEN" => Imagick::COMPOSITE_COPYGREEN,
//    "COMPOSITE_COPYMAGENTA" => Imagick::COMPOSITE_COPYMAGENTA,
//    "COMPOSITE_COPYALPHA" => Imagick::COMPOSITE_COPYALPHA,
//    "COMPOSITE_COPYOPACITY" => Imagick::COMPOSITE_COPYOPACITY,
//    "COMPOSITE_COPYRED" => Imagick::COMPOSITE_COPYRED,
//    "COMPOSITE_COPYYELLOW" => Imagick::COMPOSITE_COPYYELLOW,
//    "COMPOSITE_DARKEN" => Imagick::COMPOSITE_DARKEN,
//    "COMPOSITE_DSTATOP" => Imagick::COMPOSITE_DSTATOP,
//    "COMPOSITE_DST" => Imagick::COMPOSITE_DST,
//    "COMPOSITE_DSTIN" => Imagick::COMPOSITE_DSTIN,
//    "COMPOSITE_DSTOUT" => Imagick::COMPOSITE_DSTOUT,
//    "COMPOSITE_DSTOVER" => Imagick::COMPOSITE_DSTOVER,
//    "COMPOSITE_DIFFERENCE" => Imagick::COMPOSITE_DIFFERENCE,
// "COMPOSITE_DISPLACE" => Imagick::COMPOSITE_DISPLACE,
//    "COMPOSITE_DISSOLVE" => Imagick::COMPOSITE_DISSOLVE,
//    "COMPOSITE_EXCLUSION" => Imagick::COMPOSITE_EXCLUSION,
//    "COMPOSITE_HARDLIGHT" => Imagick::COMPOSITE_HARDLIGHT,
//    "COMPOSITE_HUE" => Imagick::COMPOSITE_HUE,
//    "COMPOSITE_IN" => Imagick::COMPOSITE_IN,
//    "COMPOSITE_LIGHTEN" => Imagick::COMPOSITE_LIGHTEN,
//    "COMPOSITE_LUMINIZE" => Imagick::COMPOSITE_LUMINIZE,
//    //"COMPOSITE_MINUS" => Imagick::COMPOSITE_MINUS,
//    "COMPOSITE_MODULATE" => Imagick::COMPOSITE_MODULATE,
//    "COMPOSITE_MULTIPLY" => Imagick::COMPOSITE_MULTIPLY,
//    "COMPOSITE_OUT" => Imagick::COMPOSITE_OUT,
    "COMPOSITE_OVER" => Imagick::COMPOSITE_OVER,
//    "COMPOSITE_OVERLAY" => Imagick::COMPOSITE_OVERLAY,
//    "COMPOSITE_PLUS" => Imagick::COMPOSITE_PLUS,
//    "COMPOSITE_REPLACE" => Imagick::COMPOSITE_REPLACE,
//    "COMPOSITE_SATURATE" => Imagick::COMPOSITE_SATURATE,
//    "COMPOSITE_SCREEN" => Imagick::COMPOSITE_SCREEN,
//    "COMPOSITE_SOFTLIGHT" => Imagick::COMPOSITE_SOFTLIGHT,
//    "COMPOSITE_SRCATOP" => Imagick::COMPOSITE_SRCATOP,
//    "COMPOSITE_SRC" => Imagick::COMPOSITE_SRC,
//    "COMPOSITE_SRCIN" => Imagick::COMPOSITE_SRCIN,
//    "COMPOSITE_SRCOUT" => Imagick::COMPOSITE_SRCOUT,
//    "COMPOSITE_SRCOVER" => Imagick::COMPOSITE_SRCOVER,
//    // "COMPOSITE_SUBTRACT" => Imagick::COMPOSITE_SUBTRACT,
//    "COMPOSITE_THRESHOLD" => Imagick::COMPOSITE_THRESHOLD,
//    "COMPOSITE_XOR" => Imagick::COMPOSITE_XOR,
//    "COMPOSITE_CHANGEMASK" => Imagick::COMPOSITE_CHANGEMASK,
//    "COMPOSITE_LINEARLIGHT" => Imagick::COMPOSITE_LINEARLIGHT,
    // "COMPOSITE_DIVIDE" => Imagick::COMPOSITE_DIVIDE,
//     "COMPOSITE_DISTORT" => Imagick::COMPOSITE_DISTORT,
//    //"COMPOSITE_BLUR" => Imagick::COMPOSITE_BLUR,
//    "COMPOSITE_PEGTOPLIGHT" => Imagick::COMPOSITE_PEGTOPLIGHT,
//    "COMPOSITE_VIVIDLIGHT" => Imagick::COMPOSITE_VIVIDLIGHT,
//    "COMPOSITE_PINLIGHT" => Imagick::COMPOSITE_PINLIGHT,
//    "COMPOSITE_LINEARDODGE" => Imagick::COMPOSITE_LINEARDODGE,
//    "COMPOSITE_LINEARBURN" => Imagick::COMPOSITE_LINEARBURN,
//    "COMPOSITE_MATHEMATICS" => Imagick::COMPOSITE_MATHEMATICS,
//    "COMPOSITE_MODULUSADD" => Imagick::COMPOSITE_MODULUSADD,
//    "COMPOSITE_MODULUSSUBTRACT" => Imagick::COMPOSITE_MODULUSSUBTRACT,
//    "COMPOSITE_MINUSDST" => Imagick::COMPOSITE_MINUSDST,
//    "COMPOSITE_DIVIDEDST" => Imagick::COMPOSITE_DIVIDEDST,
//    "COMPOSITE_DIVIDESRC" => Imagick::COMPOSITE_DIVIDESRC,
//    "COMPOSITE_MINUSSRC" => Imagick::COMPOSITE_MINUSSRC,
//    "COMPOSITE_DARKENINTENSITY" => Imagick::COMPOSITE_DARKENINTENSITY,
//    "COMPOSITE_LIGHTENINTENSITY" => Imagick::COMPOSITE_LIGHTENINTENSITY,
//    "COMPOSITE_HARDMIX" => Imagick::COMPOSITE_HARDMIX,
//    "COMPOSITE_STEREO" => Imagick::COMPOSITE_STEREO,
//    "COMPOSITE_FREEZE" => Imagick::COMPOSITE_FREEZE,
//    "COMPOSITE_INTERPOLATE" => Imagick::COMPOSITE_INTERPOLATE,
//    "COMPOSITE_NEGATE" => Imagick::COMPOSITE_NEGATE,
//    "COMPOSITE_REFLECT" => Imagick::COMPOSITE_REFLECT,
//    "COMPOSITE_SOFTBURN" => Imagick::COMPOSITE_SOFTBURN,
//    "COMPOSITE_SOFTDODGE" => Imagick::COMPOSITE_SOFTDODGE,
//    "COMPOSITE_STAMP" => Imagick::COMPOSITE_STAMP,
//    "COMPOSITE_RMSE" => Imagick::COMPOSITE_RMSE,
];

foreach ($blendOptions as $name => $blendOption) {
    // echo "name: $name \n";
    $imagick = borderImage($color, $width, $height, $blendOption);
    $filename = "039_border_" . $name . ".png";
    // $imagick->writeImage($filename);
}

echo "Ok";
?>
--EXPECTF--
Ok156_Imagick_tintImage_basic.phpt000064400000001231150457363220012546 0ustar00--TEST--
Test Imagick, tintImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$r = 100;
$g = 50;
$b = 100;
$a = 100;

function tintImage($r, $g, $b, $a) {
    $a = $a / 100;

    $imagick = new \Imagick();
    $imagick->newPseudoImage(400, 400, 'gradient:black-white');

    $tint = new \ImagickPixel("rgb($r, $g, $b)");
    $opacity = new \ImagickPixel("rgb(128, 128, 128, $a)");
    $imagick->tintImage($tint, $opacity);
    $imagick->setImageFormat('png');
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

tintImage($r, $g, $b, $a) ;
echo "Ok";
?>
--EXPECTF--
Ok263_autoGammaImage.phpt000064400000000520150457363220010715 0ustar00--TEST--
Test autoGammaImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('autoGammaImage'));
?>
--FILE--
<?php

$im = new Imagick("magick:logo");
$im->autoGammaImage();


$im = new Imagick("magick:logo");
$im->autoGammaImage(\Imagick::CHANNEL_RED);

echo "Ok";

?>
--EXPECT--
Ok
bug_71742.phpt000064400000001761150457363220006776 0ustar00--TEST--
Bug #71742	polyline touched by array_walk
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$coordinates = array();

foreach (range (0, 100) as $index) {
	$coordinates[] = array(
		'x' => 2 * $index,
		'y' => pow($index, 2)
	);
}

$callback = function (&$coordinate) {
	$coordinate['y'] = 200 - $coordinate['y'] / 50;
};

array_walk($coordinates, $callback);

$imagick = new Imagick();
$imagick->newImage(200, 200, "white");

$draw = new ImagickDraw ();
$draw->setFillColor("none");
$draw->setStrokeColor("black");

//Fatal error in PHP 7, but not in PHP <= 5.6
$draw->polyline($coordinates);

$draw->translate(0, -20);
////Works in PHP 7
$draw->polyline (array_values($coordinates));
$imagick->drawImage($draw);
//$imagick->writeImage(getcwd()."/test.png");
$imagick->setImageFormat('png');
$bytes = $imagick->getImageBlob();

if (strlen($bytes) <= 0) { 
	echo "Failed to generate image.";
}

//$imagick->writeImage("./bugTest.png");

echo "Ok";

?>
--EXPECT--
Ok177_ImagickDraw_composite_basic.phpt000064400000003305150457363220013454 0ustar00--TEST--
Test ImagickDraw, composite
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function composite($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setFillOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(140);
    $draw->rectangle(0, 0, 1000, 300);
    $draw->setFillColor('white');
    $draw->setfillopacity(1);
    $draw->annotation(50, 180, "Lorem Ipsum!");

//    $imagick = new \Imagick(realpath("../images/TestImage.jpg"));
//    $draw->composite(\Imagick::COMPOSITE_MULTIPLY, -500, -200, 2000, 600, $imagick);

    //$imagick->compositeImage($draw, 0, 0, 1000, 500);
    //$draw->composite(Imagick::COMPOSITE_COLORBURN, -500, -200, 2000, 600, $imagick);

    //Create an image object which the draw commands can be rendered into
    $imagick = new \Imagick();
    $imagick->newImage(1000, 302, $backgroundColor);
    $imagick->setImageFormat("png");

    //Render the draw commands in the ImagickDraw object 
    //into the image.
    $imagick->drawImage($draw);

    //Send the image to the browser
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

composite($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok012-clone-separation.phpt000064400000001036150457363220011213 0ustar00--TEST--
Testing that cloned object does not affect the original
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("white"));

$new = clone $im;
$new->thumbnailImage(200, null);
var_dump($im->width, $new->width);

$new2 = $im->clone();
$new2->thumbnailImage(200, null);
var_dump($im->width, $new2->width);

?>
--EXPECTF--
int(100)
int(200)

%s: Imagick::clone method is deprecated and it's use should be avoided in %s on line %d
int(100)
int(200)224_ImagickDraw_setTextUnderColor_basic.phpt000064400000002206150457363220015077 0ustar00--TEST--
Test ImagickDraw, setTextUnderColor
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$textUnderColor = 'DeepPink2';

function setTextUnderColor($strokeColor, $fillColor, $backgroundColor, $textUnderColor) {
    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->annotation(50, 75, "Lorem Ipsum!");
    $draw->setTextUnderColor($textUnderColor);
    $draw->annotation(50, 175, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setTextUnderColor($strokeColor, $fillColor, $backgroundColor, $textUnderColor) ;
echo "Ok";
?>
--EXPECTF--
Okbug59378.phpt000064400000002136150457363220006647 0ustar00--TEST--
Test PHP bug #59378 writing to php://memory is incomplete
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
<?php if (substr(PHP_OS, 0, 3) == 'WIN') {  die("skip php://memory can't be used as filehandle on Windows"); } ?>
--FILE--
<?php

$imagick = new Imagick();
$imagick->newPseudoImage(640, 480, "LOGO:");
$imagick->setFormat("png");

$fp = fopen("php://memory", 'r+');
$imagick->writeImageFile($fp);
rewind($fp);
$memoryBlob = stream_get_contents($fp);
fclose($fp);

//This test depends on getImageBlob working correctly.
$imageBlob = $imagick->getImageBlob();

//Read the images from the data blobs.
$imageReopened = new Imagick();
$imageReopened->readImageBlob($imageBlob);
$memoryReopened = new Imagick();
$memoryReopened->readImageBlob($memoryBlob);

//Compare to see if they are identical.
$result = $imageReopened->compareImages($memoryReopened, \Imagick::METRIC_MEANABSOLUTEERROR);

if ($result[1] == 0) {
    echo "Reopened images are identical.";
}
else {
    echo "Error, reopened images have changed.";
    var_dump($result);
}

?>
--EXPECTF--
Reopened images are identical.
042_Imagick_clutImage_basic.phpt000064400000002406150457363220012536 0ustar00--TEST--
Test Imagick, clutImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc'); 
?>
--FILE--
<?php

$draw = new \ImagickDraw();
$draw->setStrokeOpacity(0);
$draw->setFillColor('black');
$points = [
	['x' => 40 * 3, 'y' => 10 * 5],
	['x' => 20 * 3, 'y' => 20 * 5],
	['x' => 70 * 3, 'y' => 50 * 5],
	['x' => 80 * 3, 'y' => 15 * 5],
];
$draw->polygon($points);
$imagick = new \Imagick();

$imagick->setColorspace(\Imagick::COLORSPACE_GRAY);

$imagick->newPseudoImage(
	300, 300,
	"xc:white"
);

$imagick->drawImage($draw);
$imagick->blurImage(0, 10);

$draw = new \ImagickDraw();
$draw->setStrokeOpacity(1);
$draw->setFillColor('red');
$draw->point(0, 2);
$draw->setFillColor('yellow');
$draw->rectangle(0, 0, 1, 1);
$gradient = new Imagick();
$gradient->newPseudoImage(1, 5, 'xc:black');
$gradient->drawImage($draw);
$gradient->setImageFormat('png');



$imagick->setImageFormat('png');

// This test is for IM < 7 so setInterpolate not available
// Which probably means the clutImage method isn't usuable...
//$imagick->setInterpolateMethod(Imagick::INTERPOLATE_BILINEAR);
$imagick->clutImage($gradient);

$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}


echo "Ok";
?>
--EXPECTF--
Ok219_ImagickDraw_setStrokeLineJoin_basic.phpt000064400000002560150457363220015064 0ustar00--TEST--
Test ImagickDraw, setStrokeLineJoin
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(20);

    $offset = 220;

    $lineJoinStyle = array(\Imagick::LINEJOIN_MITER, \Imagick::LINEJOIN_ROUND, \Imagick::LINEJOIN_BEVEL,);

    for ($x = 0; $x < count($lineJoinStyle); $x++) {
        $draw->setStrokeLineJoin($lineJoinStyle[$x]);
        $points = array(
            array('x' => 40 * 5, 'y' => 10 * 5 + $x * $offset),
            array('x' => 20 * 5, 'y' => 20 * 5 + $x * $offset),
            array('x' => 70 * 5, 'y' => 50 * 5 + $x * $offset),
            array('x' => 40 * 5, 'y' => 10 * 5 + $x * $offset),
        );

        $draw->polyline($points);
    }

    $image = new \Imagick();
    $image->newImage(500, 700, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok047_Imagick_convolveImage_6.phpt000064400000001553150457363220012515 0ustar00--TEST--
Test Imagick, convolveImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
$imageMagickBelowVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$bias = 0.5;
$kernelMatrix = array (
  0 => -1,
  1 => -1,
  2 => -1,
  3 => -1,
  4 => 8,
  5 => -1,
  6 => -1,
  7 => -1,
  8 => -1,
);

function convolveImage($bias, $kernelMatrix) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    
    //$edgeFindingKernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1,];
    
    $imagick->setImageBias($bias * \Imagick::getQuantum());
    $imagick->convolveImage($kernelMatrix);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

convolveImage($bias, $kernelMatrix) ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s Imagick::setImageBias() is deprecated in %s
Ok
141_Imagick_sketchImage_basic.phpt000064400000001054150457363220013046 0ustar00--TEST--
Test Imagick, sketchImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$angle = 45;

function sketchImage($radius, $sigma, $angle) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->sketchimage($radius, $sigma, $angle);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

sketchImage($radius, $sigma, $angle) ;
echo "Ok";
?>
--EXPECTF--
Ok037_Imagick_blurImage_basic.phpt000064400000001102150457363220012527 0ustar00--TEST--
Test Imagick, blurImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;

function blurImage($radius, $sigma, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->blurImage($radius, $sigma, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

blurImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok252_ImagickPixelIterator_construct_basic.phpt000064400000001731150457363220015367 0ustar00--TEST--
Test ImagickPixelIterator, construct
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function construct() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imageIterator = new \ImagickPixelIterator($imagick);

    /* Loop through pixel rows */
    foreach ($imageIterator as $pixels) { 
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) { 
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)");
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

construct() ;
echo "Ok";
?>
--EXPECTF--
Ok
110_Imagick_resizeImage_basic.phpt000064400000002460150457363220013064 0ustar00--TEST--
Test Imagick, resizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$filterType = 22;
$width = 200;
$height = 200;
$blur = 1;
$bestFitSettings = array(0, 1);
$cropZoom = 1;

function resizeImage($width, $height, $filterType, $blur, $bestFit, $cropZoom) {
    //The blur factor where &gt; 1 is blurry, &lt; 1 is sharp.
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $imagick->resizeImage($width, $height, $filterType, $blur, $bestFit);

    $cropWidth = $imagick->getImageWidth();
    $cropHeight = $imagick->getImageHeight();

    if ($cropZoom) {
        $newWidth = $cropWidth / 2;
        $newHeight = $cropHeight / 2;

        $imagick->cropimage(
            $newWidth,
            $newHeight,
            (int)(($cropWidth - $newWidth) / 2),
            (int)(($cropHeight - $newHeight) / 2)
        );

        $imagick->scaleimage(
            $imagick->getImageWidth() * 4,
            $imagick->getImageHeight() * 4
        );
    }


    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

foreach ($bestFitSettings as $bestFit) {
	resizeImage($width, $height, $filterType, $blur, $bestFit, $cropZoom);
}
echo "Ok";
?>
--EXPECTF--
Ok201_ImagickDraw_setFillAlpha_basic.phpt000064400000001645150457363220014013 0ustar00--TEST--
Test ImagickDraw, setFillAlpha
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFillAlpha($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->rectangle(100, 200, 200, 300);
    @$draw->setFillAlpha(0.4);
    $draw->rectangle(300, 200, 400, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFillAlpha($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok162_Imagick_transverseImage_basic.phpt000064400000000721150457363220013764 0ustar00--TEST--
Test Imagick, transverseImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function transverseImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->transverseImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

transverseImage() ;
echo "Ok";
?>
--EXPECTF--
Ok309_Imagick_orderedDitherImage.phpt000064400000000733150457363220013221 0ustar00--TEST--
Test Imagick, orderedDitherImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('orderedDitherImage'));
?>
--FILE--
<?php


function orderedDitherImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->orderedDitherImage("o3x3,6");
//    $imagick->writeImage(__DIR__ . '/claheImage_output_image.png');
    $imagick->getImageBlob();
}

orderedDitherImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
170_ImagickPixel_setColor_basic.phpt000064400000001371150457363220013422 0ustar00--TEST--
Test ImagickPixel, setColor
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function setColor() {
    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel('green');
    $fillColor = new \ImagickPixel();
    $fillColor->setColor('rgba(100%, 75%, 0%, 1.0)');

    $draw->setstrokewidth(3.0);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);

    $image = new \Imagick();
    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setColor() ;
echo "Ok";
?>
--EXPECTF--
Ok207_ImagickDraw_setFontFamily_basic.phpt000064400000002634150457363220014234 0ustar00--TEST--
Test ImagickDraw, setFontFamily
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFontFamily($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    //TODO - actually use setFontFamily
    $draw->setStrokeWidth(2);

    $draw->setFontSize(24);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontSize(36);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontSize(48);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFontSize(60);
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $draw->setFontSize(72);
    $draw->annotation(50, 250, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFontFamily($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok061_Imagick_distortImage_Barrel.phpt000064400000002445150457363220013411 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;


// The arguments needed for the 'Barrel' distort method. Generally you supply
// 3 or 4 values only...
// A   B   C   [ D   [ X , Y ] ]
// The optional X,Y arguments provide an optional 'center' for the radial distortion,
// otherwise it defaults to the exact center of the image given (regardless of its virtual offset).
// The coefficients are designed so that if all four A to D values, add up to '1.0', the minimal
// width/height of the image will not change. For this reason if D (which controls the overall
// scaling of the image) is not supplied it will be set so all four values do add up to '1.0'.
    
        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
     
        $points = array(
            //0.2, 0.0, 0.0, 1.0
            0.4, 0.6, 0.0, 1.0
        );

        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
        $imagick->distortImage(\Imagick::DISTORTION_BARREL, $points, TRUE);
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok303_Imagick_averageImages.phpt000064400000001427150457363220012225 0ustar00--TEST--
Test Imagick, averageImages
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('averageImages'));
?>
--FILE--
<?php


function averageImages() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:LOGO");
    $imagick2 = new \Imagick();
    $imagick2->newPseudoImage(640, 480, "gradient:black-white");


    $imagick->addImage($imagick2);
    $imagick->setIteratorIndex(0);

    $result_imagick = $imagick->averageImages();
    $result_imagick->setImageFormat('png');
    $result_imagick->writeImage(__DIR__ . '/averageImages_output_image.png');
    $result_imagick->getImageBlob();
}

averageImages() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/averageImages_output_image.png');
?>
--EXPECTF--
Ok
225_ImagickDraw_setTextDecoration_basic.phpt000064400000002114150457363220015111 0ustar00--TEST--
Test ImagickDraw, setTextDecoration
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$textDecoration = 2;

function setTextDecoration($strokeColor, $fillColor, $backgroundColor, $textDecoration) {

    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->setTextDecoration($textDecoration);
    $draw->annotation(50, 75, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setTextDecoration($strokeColor, $fillColor, $backgroundColor, $textDecoration) ;
echo "Ok";
?>
--EXPECTF--
Okbug81235.phpt000064400000000432150457363220006627 0ustar00--TEST--
Bug #81235 (Imagick::newPseudoImage gives open_basedir restriction error)
--SKIPIF--
<?php require_once(__DIR__ . '/skipif.inc'); ?>
--FILE--
<?php
ini_set('open_basedir', __DIR__);
$imagick = new \Imagick();
$imagick->newPseudoImage(10, 10, "canvas:white");
?>
--EXPECT--
skipprobefourier.inc000064400000000737150457363220010647 0ustar00<?php

$canCallFourier = false;

ob_start();

echo("skip failed to probe fourier functions");

try {
	$imagick = new \Imagick();
	$imagick->newPseudoImage(640, 480, "magick:logo");
	$imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);
	$imagick->forwardFourierTransformImage(true);
	$canCallFourier = true;
}
catch(\Exception $e) {
	//fftw probably not available.
}

ob_end_clean();

if ($canCallFourier == false) {
	die("skip fourier function seems unavailable");
}

?>149_Imagick_sparseColorImage.phpt000064400000007720150457363220012736 0ustar00--TEST--
Test Imagick, sparseColorImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x653;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php




function createGradientImage($width, $height, $colorPoints, $sparseMethod, $absolute = false) {

    $imagick = new \Imagick();
    $imagick->newImage($width, $height, "rgba(255, 255, 255, 1)");
    $imagick->setImageFormat("png");

    $barycentricPoints = array();

    foreach ($colorPoints as $colorPoint) {

        if ($absolute == true) {
            $barycentricPoints[] = $colorPoint[0];
            $barycentricPoints[] = $colorPoint[1];
        }
        else {
            $barycentricPoints[] = $colorPoint[0] * $width;
            $barycentricPoints[] = $colorPoint[1] * $height;
        }

        if (is_string($colorPoint[2])) {
            $imagickPixel = new \ImagickPixel($colorPoint[2]);
        }
        else if ($colorPoint[2] instanceof \ImagickPixel) {
            $imagickPixel = $colorPoint[2];
        }
        else{
            $errorMessage = sprintf(
                "Value %s is neither a string nor an ImagickPixel class. Cannot use as a color.",
                $colorPoint[2]
            );

            throw new \InvalidArgumentException(
                $errorMessage
            );
        }

        $red = $imagickPixel->getColorValue(\Imagick::COLOR_RED);
        $green = $imagickPixel->getColorValue(\Imagick::COLOR_GREEN);
        $blue = $imagickPixel->getColorValue(\Imagick::COLOR_BLUE);
        $alpha = $imagickPixel->getColorValue(\Imagick::COLOR_ALPHA);

        $barycentricPoints[] = $red;
        $barycentricPoints[] = $green;
        $barycentricPoints[] = $blue;
        $barycentricPoints[] = $alpha;
    }

    $imagick->sparseColorImage($sparseMethod, $barycentricPoints);

    return $imagick;
}

function renderImageBarycentric() {
    $points = array(
        array(0, 0, 'skyblue'),
        array(-1, 1, 'skyblue'),
        array(1, 1, 'black'),
    );
    $imagick = createGradientImage(600, 200, $points, \Imagick::SPARSECOLORMETHOD_BARYCENTRIC);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
    echo "Ok".PHP_EOL;
}
function renderImageVoronoi() {
    $points = array(
        array(0.30, 0.10, 'red'),
        array(0.10, 0.80, 'blue'),
        array(0.70, 0.60, 'lime'),
        array(0.80, 0.20, 'yellow'),
    );
    $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_VORONOI);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
    echo "Ok".PHP_EOL;
}
function renderImageShepards() {
    $points = array(
            array(0.30, 0.10, 'red'),
            array(0.10, 0.80, "RGBA(0, 255, 0, 0.5)"),
            array(0.70, 0.60, "RGBA(0, 255, 0, 1)"),
            array(0.80, 0.20, 'yellow'),
        );
    $imagick = createGradientImage(600, 600, $points, \Imagick::SPARSECOLORMETHOD_SPEPARDS);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
    echo "Ok".PHP_EOL;
}

function renderImageBilinear() {
    $points = array(
        array(0.30, 0.10, 'red'),
        array(0.10, 0.80, 'blue'),
        array(0.70, 0.60, 'lime'),
        array(0.80, 0.20, 'yellow'),
    );
    $imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_BILINEAR);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
    echo "Ok".PHP_EOL;
}

try {
	renderImageBilinear() ;
}
catch (\Exception $e) {
	echo "renderImageBilinear failed ".$e->getMessage().PHP_EOL;
}
try {
	renderImageShepards();
}
catch (\Exception $e) {
	echo "renderImageShepards failed ".$e->getMessage().PHP_EOL;
}
try {
	renderImageVoronoi();
}
catch (\Exception $e) {
	echo "renderImageVoronoi failed ".$e->getMessage().PHP_EOL;
}
try {
	renderImageBarycentric();
}
catch (\Exception $e) {
	echo "renderImageBarycentric failed ".$e->getMessage().PHP_EOL;
}

?>
--EXPECTF--
Ok
Ok
Ok
Ok084_Imagick_getPixelRegionIterator_basic.phpt000064400000002036150457363220015270 0ustar00--TEST--
Test Imagick, getPixelRegionIterator
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function getPixelRegionIterator() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imageIterator = $imagick->getPixelRegionIterator(100, 100, 200, 200);

    /** @noinspection PhpUnusedLocalVariableInspection */
    foreach ($imageIterator as $row => $pixels) { /* Loop trough pixel rows */
        foreach ($pixels as $column => $pixel) { /* Loop through the pixels in the row (columns) */
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                $pixel->setColor("rgba(0, 0, 0, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

getPixelRegionIterator() ;
echo "Ok";
?>
--EXPECTF--
Ok098_Imagick_orderedPosterizeImage_basic.phpt000064400000001376150457363230015141 0ustar00--TEST--
Test Imagick, orderedPosterizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');

checkClassMethods('Imagick', array('orderedPosterizeImage'));
?>
--FILE--
<?php

$orderedPosterizeType = "o8x8";

function orderedPosterizeImage($orderedPosterizeType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    
  
    $imagick->orderedPosterizeImage($orderedPosterizeType);
    $imagick->setImageFormat('png');
    
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

orderedPosterizeImage($orderedPosterizeType) ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s Imagick::orderedPosterizeImage() is deprecated in %S
Ok
171_ImagickPixel_setColorValue_basic.phpt000064400000001317150457363230014421 0ustar00--TEST--
Test ImagickPixel, setColorValue
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function setColorValue() {
    $image = new \Imagick();
    $draw = new \ImagickDraw();

    $color = new \ImagickPixel('blue');
    $color->setcolorValue(\Imagick::COLOR_RED, 128);

    $draw->setstrokewidth(1.0);
    $draw->setStrokeColor($color);
    $draw->setFillColor($color);
    $draw->rectangle(200, 200, 300, 300);

    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setColorValue() ;
echo "Ok";
?>
--EXPECTF--
Ok142_Imagick_solarizeImage_basic.phpt000064400000001062150457363230013416 0ustar00--TEST--
Test Imagick, solarizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$solarizeThreshold = 0.2;

function solarizeImage($solarizeThreshold) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->solarizeImage($solarizeThreshold * \Imagick::getQuantum());
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

solarizeImage($solarizeThreshold) ;
echo "Ok";
?>
--EXPECTF--
Ok164_Imagick_trimImage_basic.phpt000064400000001115150457363230012544 0ustar00--TEST--
Test Imagick, trimImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$color = 'rgb(39, 194, 255)';
$fuzz = 0.1;

function trimImage($color, $fuzz) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    
    $imagick->borderImage($color, 10, 10);
    $imagick->trimImage($fuzz * \Imagick::getQuantum());

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

trimImage($color, $fuzz) ;
echo "Ok";
?>
--EXPECTF--
Ok258_Imagick_evaluateImages_basic.phpt000064400000001320150457363230013564 0ustar00--TEST--
Test Imagick, Imagick::evaluateImages
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x687;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$imagick = new \Imagick();
$imagick->newPseudoImage(256, 256, "gradient:black-white");

$imagick2 = new \Imagick();
$imagick2->newPseudoImage(256, 256, "gradient:red-white");

$imagick->addImage($imagick2);
$imagick->setImageFormat('png');

$imagick->setIteratorIndex(0);

$evaluated = $imagick->evaluateImages(\Imagick::EVALUATE_MEAN);

$evaluated->setImageFormat('png');
// $evaluated->writeImage("./evaluateTest.png");
$data = $evaluated->getImageBlob();

if (strlen($data) < 50) {
	echo "Image data seems too short.";
}

echo "Ok";
?>
--EXPECTF--
Ok262_autoOrient.phpt000064400000000653150457363230010177 0ustar00--TEST--
Test autoOrient
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');

$v = Imagick::getVersion();
if ($v['versionNumber'] < 0x693)
	die ('skip too old ImageMagick');

// if ($v ['versionNumber'] >= 0x660 && $v ['versionNumber'] < 0x670)
//	die ('skip seems to be broken in this version of ImageMagick');
?>
--FILE--
<?php

$im = new Imagick("magick:logo");
$im->autoOrient();

echo "Ok";

?>
--EXPECT--
Ok006_cropthumbnail.phpt000064400000002155150457363230010710 0ustar00--TEST--
Test cropthumbnail
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$im = new Imagick("magick:rose");
$im->cropThumbnailImage(200, 200);
var_dump($im->getImageGeometry());

$im = new Imagick("magick:rose");
$im->cropThumbnailImage(170, 120);
var_dump($im->getImageGeometry());

$im = new Imagick("magick:rose");
$im->cropThumbnailImage(50, 50);
var_dump($im->getImageGeometry());

$im = new Imagick("magick:rose");
$im->cropThumbnailImage(60, 120);
var_dump($im->getImageGeometry());

$im = new Imagick("magick:logo");
$im->cropThumbnailImage(100, 100);
var_dump($im->getImageGeometry());

$im = new Imagick("magick:rose");
$im->cropThumbnailImage(200, 10);
var_dump($im->getImageGeometry());

?>
--EXPECTF--
array(2) {
  ["width"]=>
  int(200)
  ["height"]=>
  int(200)
}
array(2) {
  ["width"]=>
  int(170)
  ["height"]=>
  int(120)
}
array(2) {
  ["width"]=>
  int(50)
  ["height"]=>
  int(50)
}
array(2) {
  ["width"]=>
  int(60)
  ["height"]=>
  int(120)
}
array(2) {
  ["width"]=>
  int(100)
  ["height"]=>
  int(100)
}
array(2) {
  ["width"]=>
  int(200)
  ["height"]=>
  int(10)
}functions.inc000064400000012663150457363230007267 0ustar00<?php

/**
 *
 * Gets the installed version of ImageMagick and compares the
 * appropriate version to the installed version. *
 *
 * @param $testIm6Version
 * @param $im7Version
 * @return int
 */
function version_compare_imagemagick($testIm6Version, $im7Version)
{
    $versionInfo = \Imagick::getVersion();

    if (array_key_exists("versionString", $versionInfo) == false) {
        die("skip unable to determine ImageMagick version.");
    }

    $versionInstalledStringComplete = $versionInfo["versionString"];

    $firstSpace = strpos($versionInstalledStringComplete, ' ');
    if ($firstSpace === false) {
        die("Failed to understand version string [$versionInstalledStringComplete] - finding first space");
    }

    $secondSpace = strpos($versionInstalledStringComplete, ' ', $firstSpace + 1);
    if ($secondSpace === false) {
        die("Failed to understand version string [$versionInstalledStringComplete] - finding second space");
    }

    $versionInstalledString = substr($versionInstalledStringComplete, $firstSpace + 1, $secondSpace - $firstSpace - 1);
    // echo "versionInstalledString is $versionInstalledString \n";

    $versionToCompare = $im7Version;
    if (substr($versionInstalledString, 0, 1) === '6') {
        $versionToCompare = $testIm6Version;
    }

    return version_compare($versionInstalledString, $versionToCompare);
}

/**
 *
 * Compares the installed version of ImageMagick and returns true if the appropriate
 * version is greater
 *
 * @param $testIm6Version
 * @param $im7Version
 * @return bool
 */
function isVersionGreaterEqual($testIm6Version, $im7Version)
{
    $versionCompare = version_compare_imagemagick($testIm6Version, $im7Version);
    // echo "version compare for $testIm6Version, $im7Version is $versionCompare \n";

    if ($versionCompare >= 0) {
        return true;
    }

    return false;
}

/**
 * On some systems, where the standard fonts aren't available, trying
 * to draw any text fails as the ImageMagick default font is null.
 *
 * This function just find a 'sensible' font to use, either from the
 * preferred list, or just the first one from queryFonts(). That 'probably'
 * is the right thing to do, as it makes the tests more stable.
 */
function findDefaultFont()
{
    $knownFonts = [
        'Courier',
        'Helvetica',
        'Times-Roman',
        'Liberation-Mono',
        'Utopia',
    ];

    $fontList = \Imagick::queryFonts();

    foreach ($knownFonts as $knownFont) {

        if (in_array($knownFont, $fontList, true) === true) {
            return $knownFont;
        }
    }

    if (count($fontList) !== 0) {
        return $fontList[0];
    }

    throw new \Exception("No fonts available on system, apparently.");
}

// Find and set a font for the Imagick object
function setFontForImagick(\Imagick $imagick)
{
    $font = findDefaultFont();

    $imagick->setFont($font);
}

// Find and set a font for the ImagickDraw object
function setFontForImagickDraw(\ImagickDraw $imagickDraw)
{
    $font = findDefaultFont();

    $imagickDraw->setFont($font);
}

/**
 * Checks that a named value exists in an array and it matches
 * an expected value.
 */
function check_value(array $values, $name, $expected_value)
{
	if (array_key_exists($name, $values) !== true) {

		$message = "Expected key '$name' not set. Array contains:\n";
		$message .= var_export($values, true);

		throw new \Exception($message);
	}


	$value = $values[$name];

	$epsilon = 0.01;

	if (($value < $expected_value - $epsilon) || ($value > $expected_value + $epsilon)) {
		$message = "Value for $name doesn't match expected. Expected: $expected_value, actual: $value";
		throw new \Exception($message);
	}

	echo "Value for '$name' is $value which is close enough to expected $expected_value\n";
}


/**
 * Checks that a named value exists in an array and it matches
 * one of a number of expected values.
 * This function exists because the expected values for Kurtosis can
 * change when the underlying maths changes: https://github.com/ImageMagick/ImageMagick/issues/6924
 */
function check_value_posibilities(array $values, $name, array $expected_values)
{
    if (array_key_exists($name, $values) !== true) {

        $message = "Expected key '$name' not set. Array contains:\n";
        $message .= var_export($values, true);

        throw new \Exception($message);
    }


    $value = $values[$name];

    $epsilon = 0.01;

    foreach ($expected_values as $expected_value) {
        if (($value > $expected_value - $epsilon) && ($value < $expected_value + $epsilon)) {
            echo "Value for '$name' is $value which is close enough to expected $expected_value\n";
            return;
        }
    }

    $expected_string = implode(", ", $expected_values);

    $message = "Value for $name doesn't match expected possibilities. Expected one of: $expected_string, actual: $value";
    throw new \Exception($message);
}


function check_value_with_epsilon(array $values, $name, $expected_value, $epsilon)
{
	if (array_key_exists($name, $values) !== true) {

		$message = "Expected key '$name' not set. Array contains:\n";
		$message .= var_export($values, true);

		throw new \Exception($message);
	}


	$value = $values[$name];

	if (($value < $expected_value - $epsilon) || ($value > $expected_value + $epsilon)) {
		$message = "Value for $name doesn't match expected. Expected: $expected_value, actual: $value, epsilon = $epsilon";
		throw new \Exception($message);
	}

	echo "Value for '$name' is $value which is close enough to expected $expected_value\n";
}117_Imagick_segmentImage_basic.phpt000064400000001223150457363230013231 0ustar00--TEST--
Test Imagick, segmentImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$clusterThreshold = 5;
$smoothThreshold = 5;
$colorSpace = 1;

function segmentImage($colorSpace, $clusterThreshold, $smoothThreshold) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->segmentImage($colorSpace, $clusterThreshold, $smoothThreshold);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

segmentImage($colorSpace, $clusterThreshold, $smoothThreshold) ;
echo "Ok";
?>
--EXPECTF--
Ok120_Imagick_setCompressionQuality_basic.phpt000064400000001602150457363230015205 0ustar00--TEST--
Test Imagick, setCompressionQuality
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$quality = 15;

function setCompressionQuality($quality) {

    $backgroundImagick = new \Imagick();
    $backgroundImagick->newPseudoImage(640, 480, "magick:logo");
    
    $imagick = new \Imagick();
    $imagick->setCompressionQuality($quality);
    $imagick->newPseudoImage(
        $backgroundImagick->getImageWidth(),
        $backgroundImagick->getImageHeight(),
        'canvas:white'
    );

    $imagick->compositeImage(
        $backgroundImagick,
        \Imagick::COMPOSITE_ATOP,
        0,
        0
    );
    
    $imagick->setFormat("jpg");    
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setCompressionQuality($quality) ;
echo "Ok";
?>
--EXPECTF--
Ok126_Imagick_getImageChannelStats_basic.phpt000064400000000451150457363230014660 0ustar00--TEST--
Test Imagick, getImageChannelStatistics
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$identifyInfo = $imagick->getImageChannelStatistics();

echo "Ok";
?>
--EXPECTF--
Ok328_Imagick_polaroidImageWithTextAndMethod_basic.phpt000064400000001422150457363230016672 0ustar00--TEST--
Test Imagick, polaroidWithTextAndMethod
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

function polaroidWithTextAndMethod() {
    $src1 = new \Imagick();
    $src1->newPseudoImage(640, 480, "magick:logo");

    $imagickDraw = new \ImagickDraw();
    $font = findDefaultFont();
    $imagickDraw->setFont($font);

    $src1->polaroidWithTextAndMethod(
        $imagickDraw,
        15,
        "Hello world!",
        Imagick::INTERPOLATE_SPLINE
    );

    $src1->setImageFormat('png');
    $bytes = $src1->getImagesBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

polaroidWithTextAndMethod() ;
echo "Ok";
?>
--EXPECTF--
Okbug_73840.phpt000064400000002005150457363230006770 0ustar00--TEST--
ImagickPixel iterator
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--XFAIL--
This needs a significant amount of work to fix. The issue is the iterator object is going out of scope and being freed, but the row object still has a reference to that pixel iterator,  internally in ImageMagick. We need to stop the pixeliterator being freed while the row is still active.
--FILE--
<?php

//$im = new Imagick();
//$im->newImage(1, 1, 'black');
//
//// This works fine
//$it = $im->getPixelIterator();
//$row = $it->getCurrentIteratorRow();
//$rgb = $row[0]->getColor();
//
//$expected = array (
//  "r" => 0,
//  "g" => 0,
//  "b" => 0,
//  "a" => 1,
//);
//
//if ($rgb !== $expected) {
//	echo "values are incorrect:\n";
//	var_dump($rgb);
//}
//
//// This crashes with SIGABRT
//$row = $im->getPixelIterator()->getCurrentIteratorRow();
//$rgb = $row[0]->getColor();
//
//if ($rgb !== $expected) {
//    echo "values are incorrect:\n";
//    var_dump($rgb);
//}

echo "Not ok";

?>
--EXPECTF--
Not okbug64015.phpt000064400000001004150457363230006621 0ustar00--TEST--
Test PHP bug #64015
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$im = new Imagick(dirname(__FILE__) . '/php.gif');
var_dump($im->getImageLength());

// Both should return filesize in bytes.

var_dump($im->getImageLength());
var_dump($im->getImageSize());

// All cases below now return 0;
$cloned_im = clone $im;
var_dump($im->getImageLength());
var_dump($im->getImageSize());
echo "OK" , PHP_EOL;


?>
--EXPECTF--
int(2523)
int(2523)
int(2523)
int(2523)
int(2523)
OK019-readimages.phpt000064400000001651150457363230010064 0ustar00--TEST--
Imagick::readImages
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

try {
	$imagick = new Imagick(array (
							'magick:rose',
							'magick:rose',
							'fail_this_does_not_exist.jpg',
							'magick:rose',
	));
	echo 'Fail'. PHP_EOL;
} catch (ImagickException $e) {
	echo 'OK construct exception' . PHP_EOL;
}

$imagick = new Imagick();
$imagick = new Imagick(array (
						'magick:rose',
						'magick:rose',
						'magick:rose',
));
echo 'OK construct' . PHP_EOL;
$imagick->readImages (array (
						'magick:rose',
						'magick:rose',
						'magick:rose',
));
echo 'OK readImages' . PHP_EOL;
try{
	$imagick->readImages (array (
							'magick:rose',
							'fail_this_does_not_exist.jpg',
	));	
	echo 'Fail' . PHP_EOL;
} catch (ImagickException $e) {
	echo 'OK readImages exception'. PHP_EOL;
}

?>
--EXPECT--
OK construct exception
OK construct
OK readImages
OK readImages exception281_ini_settings_default.phpt000064400000001070150457363230012244 0ustar00--TEST--
OpenMP segfault hacks
--SKIPIF--
<?php 


require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


$sleepCount = ini_get('imagick.shutdown_sleep_count');
$setSingleThread = ini_get('imagick.set_single_thread');

if ($sleepCount != 10) {
    echo "imagick.shutdown_sleep_count is not set to 10 but instead " . var_export($sleepCount, true) ."\n";
}

if ($setSingleThread != 1) {
    echo "imagick.set_single_thread setting is not true but instead " . var_export($setSingleThread, true) ."\n";
}


echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
077_Imagick_frameImage_basic.phpt000064400000001777150457363230012704 0ustar00--TEST--
Test Imagick, frameImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

//$color = 'rgb(127, 127, 127)';

$color = 'rgba(255,0,255,50)';
//$color = 'rgb(255,0,255)';
$width = 40;
$height = 40;
$innerBevel = 10;
$outerBevel = 10;

function frameImage($color, $width, $height, $innerBevel, $outerBevel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setImageFormat('png');

    $width = $width + $innerBevel + $outerBevel;
    $height = $height + $innerBevel + $outerBevel;

    $imagick->frameimage(
        $color,
        $width,
        $height,
        $innerBevel,
        $outerBevel
    );
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) {
        echo "Failed to generate image.";
    }
    return $imagick;
}

$imagick = frameImage($color, $width, $height, $innerBevel, $outerBevel) ;
// $imagick->writeImage("frame_image.png");

echo "Ok";
?>
--EXPECTF--
Ok210_ImagickDraw_setFontStyle_basic.phpt000064400000002314150457363230014101 0ustar00--TEST--
Test ImagickDraw, setFontStyle
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFontStyle($fillColor, $strokeColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);
    $draw->setFontStyle(\Imagick::STYLE_NORMAL);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontStyle(\Imagick::STYLE_ITALIC);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontStyle(\Imagick::STYLE_OBLIQUE);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(350, 300, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFontStyle($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok036_Imagick_blueShiftImage_basic.phpt000064400000000775150457363230013527 0ustar00--TEST--
Test Imagick, blueShiftImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$blueShift = 1.5;

function blueShiftImage($blueShift) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->blueShiftImage($blueShift);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

blueShiftImage($blueShift) ;
echo "Ok";
?>
--EXPECTF--
Ok257_Imagick_setImageChannelMask_basic.phpt000064400000001623150457363240014501 0ustar00--TEST--
Test Imagick, Imagick::exportImagePixels
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$imagick = new \Imagick();
$imagick->newPseudoImage(256, 256, "gradient:black-white");

$initialMask = $imagick->setImageChannelMask(\Imagick::CHANNEL_RED);
$imagick->brightnessContrastImage(-20, 20);
$imagick->setImageFormat("png");
$imagick->writeImage(__DIR__ . "/maskTest.png");

$redMask = $imagick->setImageChannelMask(\Imagick::CHANNEL_DEFAULT);

if ($initialMask != \Imagick::CHANNEL_DEFAULT) {
	echo "initialMask is not equal to \Imagick::CHANNEL_DEFAULT but instead is $initialMask\n";
}

if ($redMask != \Imagick::CHANNEL_RED) {
	echo "redMask is not equal to \Imagick::CHANNEL_RED but instead is $redMask\n";
}

echo "Ok";
?>
--CLEAN--
<?php
$f = __DIR__ . '/maskTest.png';
if (file_exists($f)) {
    unlink($f);
}
?>
--EXPECTF--
Ok
152_Imagick_swirlImage_basic.phpt000064400000000735150457363240012736 0ustar00--TEST--
Test Imagick, swirlImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$swirl = 100;

function swirlImage($swirl) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->swirlImage($swirl);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

swirlImage($swirl) ;
echo "Ok";
?>
--EXPECTF--
Ok277_Imagick_colorDecisionListImage.phpt000064400000001364150457363240014074 0ustar00--TEST--
Test Imagick::colorDecisionListImage
--SKIPIF--
<?php

$imageMagickRequiredVersion = 0x676;

require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('colorDecisionListImage'));

?>
--FILE--
<?php

$im = new Imagick("magick:logo");

$ccc = <<< CCC
<ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
    <ColorCorrection id="cc03345">
          <SOPNode>
               <Slope> 0.9 1.2 0.5 </Slope>
               <Offset> 0.4 -0.5 0.6 </Offset>
               <Power> 1.0 0.8 1.5 </Power>
          </SOPNode>
          <SATNode>
               <Saturation> 0.85 </Saturation>
          </SATNode>
    </ColorCorrection>
</ColorCorrectionCollection>
CCC;

$im->colorDecisionListImage($ccc);

echo "Ok"
?>
--EXPECT--
Ok056_Imagick_distortImage_Perspective.phpt000064400000002647150457363240014505 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkFormatPresent('png');
?>
--FILE--
<?php

$distortion = 1;

        //$imagick = new \Imagick(realpath($this->rsiControl->getImagePath()));
        $imagick = new \Imagick();

        /* Create new checkerboard pattern */
        $imagick->newPseudoImage(100, 100, "pattern:checkerboard");

        /* Set the image format to png */
        $imagick->setImageFormat('png');

        /* Fill new visible areas with transparent */
        $imagick->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

        /* Activate matte */
        $imagick->setImageMatte(true);

        /* Control points for the distortion */
        $controlPoints = array( 10, 10,
            10, 5,

            10, $imagick->getImageHeight() - 20,
            10, $imagick->getImageHeight() - 5,

            $imagick->getImageWidth() - 10, 10,
            $imagick->getImageWidth() - 10, 20,

            $imagick->getImageWidth() - 10, $imagick->getImageHeight() - 10,
            $imagick->getImageWidth() - 10, $imagick->getImageHeight() - 30);

        /* Perform the distortion */
        $imagick->distortImage(\Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok016-static-methods.phpt000064400000000611150457363240010704 0ustar00--TEST--
Test static methods
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

echo gettype (Imagick::queryFormats ()) . PHP_EOL;

$im = new Imagick ();
echo gettype ($im->queryFormats ()) . PHP_EOL;

echo gettype (Imagick::queryFonts ()) . PHP_EOL;
echo gettype ($im->queryFonts ()) . PHP_EOL;

echo 'success';

?>
--EXPECT--
array
array
array
array
success062_Imagick_distortImage_BarrelInverse.phpt000064400000001554150457363240014750 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

//  Rsrc = r / ( A*r3 + B*r2 + C*r + D )
// This equation does NOT produce the 'reverse' the 'Barrel' distortion.
// You can NOT use it to 'undo' the previous distortion.

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

        $points = array(
            //0.2, 0.0, 0.0, 1.0
            0.2, 0.1, 0.0, 1.0
        );

        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
        $imagick->distortImage(\Imagick::DISTORTION_BARRELINVERSE, $points, TRUE);
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok169_ImagickPixel_construct_basic.phpt000064400000003522150457363240013666 0ustar00--TEST--
Test ImagickPixel, construct
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function construct() {

    $columns = 4;
    
    $exampleColors = array(
        "rgba(100%, 0%, 0%, 0.5)",
        "hsb(33.3333%, 100%,  75%)", // medium green
        "hsl(120, 255,   191.25)", //medium green
        "graya(50%, 0.5)", //  semi-transparent mid gray
        "LightCoral", "none", //"cmyk(0.9, 0.48, 0.83, 0.50)",
        "#f00", //  #rgb
        "#ff0000", //  #rrggbb
        "#ff0000ff", //  #rrggbbaa
        "#ffff00000000", //  #rrrrggggbbbb
        "#ffff00000000ffff", //  #rrrrggggbbbbaaaa
        "rgb(255, 0, 0)", //  an integer in the range 0—255 for each component
        "rgb(100.0%, 0.0%, 0.0%)", //  a float in the range 0—100% for each component
        "rgb(255, 0, 0)", //  range 0 - 255
        "rgba(255, 0, 0, 1.0)", //  the same, with an explicit alpha value
        "rgb(100%, 0%, 0%)", //  range 0.0% - 100.0%
        "rgba(100%, 0%, 0%, 1.0)", //  the same, with an explicit alpha value
    );

    $draw = new \ImagickDraw();
    $count = 0;
    $black = new \ImagickPixel('rgb(0, 0, 0)');

    foreach ($exampleColors as $exampleColor) {
        $color = new \ImagickPixel($exampleColor);

        $draw->setstrokewidth(1.0);
        $draw->setStrokeColor($black);
        $draw->setFillColor($color);
        $offsetX = ($count % $columns) * 50 + 5;
        $offsetY = intval($count / $columns) * 50 + 5;
        $draw->rectangle(0 + $offsetX, 0 + $offsetY, 40 + $offsetX, 40 + $offsetY);
        $count++;
    }

    $image = new \Imagick();
    $image->newImage(350, 350, "blue");
    $image->setImageFormat("png");
    $image->drawImage($draw);
    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

construct() ;
echo "Ok";
?>
--EXPECTF--
Ok244_Tutorial_psychedelicFontGif_basic.phpt000064400000003641150457363240014644 0ustar00--TEST--
Test Tutorial, psychedelicFontGif
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

function psychedelicFontGif($name = 'Danack') {

    set_time_limit(3000);

    $aniGif = new \Imagick();
    $aniGif->setFormat("gif");

    $maxFrames = 11;
    $scale = 0.25;

    for ($frame = 0; $frame < $maxFrames; $frame++) {

        $draw = new \ImagickDraw();
        setFontForImagickDraw($draw);

        $draw->setStrokeOpacity(1);
        $draw->setfontsize(150 * $scale);

        for ($strokeWidth = 25; $strokeWidth > 0; $strokeWidth--) {
            $hue = intval(fmod(($frame * 360 / $maxFrames) + 170 + $strokeWidth * 360 / 25, 360));
            $color = "hsl($hue, 255, 128)";
            $draw->setStrokeColor($color);
            $draw->setFillColor($color);
            $draw->setStrokeWidth($strokeWidth * 3 * $scale);
            $draw->annotation((int)(60 * $scale), (int)(165 * $scale), $name);
        }

        $draw->setStrokeColor('none');
        $draw->setFillColor('black');
        $draw->setStrokeWidth(0);
        $draw->annotation(60 * $scale, 165 * $scale, $name);

        //Create an image object which the draw commands can be rendered into
        $imagick = new \Imagick();
        $imagick->newImage((int)(650 * $scale), (int)(230 * $scale), "#eee");
        $imagick->setImageFormat("png");

        //Render the draw commands in the ImagickDraw object
        //into the image.
        $imagick->drawImage($draw);

        $imagick->setImageDelay(5);
        $aniGif->addImage($imagick);

        $imagick->destroy();
    }

    $aniGif->setImageIterations(0); //loop forever
    $aniGif->deconstructImages();

    $bytes = $aniGif->getImagesBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

psychedelicFontGif($name = 'Danack') ;
echo "Ok";
?>
--EXPECTF--
Ok267_ImagickDraw_getBorderColor_basic.phpt000064400000002207150457363240014370 0ustar00--TEST--
Test ImagickDraw, getBorderColor
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickDraw', array('getBorderColor', 'setBorderColor'));
?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';



$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$opacityToSet = 0.1;

$borderColor = $draw->getBorderColor();
//var_dump($borderColor->getColor());

$draw->setBorderColor("red");
$borderColor = $draw->getBorderColor();

$borderColorElements = $borderColor->getColor();
if ($borderColorElements["r"] != 255 ||
	$borderColorElements["g"] != 0 ||
	$borderColorElements["b"] != 0) {
	echo "Wrong colors after set.";
}

$draw->line(125, 70, 100, 50);
$draw->line(350, 170, 100, 150);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);




$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 



echo "Ok";
?>
--EXPECTF--
Ok011_polygon.phpt000064400000000744150457363240007527 0ustar00--TEST--
Test polygon method arguments
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$im = new Imagick();
$draw = new ImagickDraw();

try {
	$draw->polygon(array( 
					array('x' => 1, 'y' => 2),
					array('x' => 'hello', 'y' => array())
			 		));

	echo "pass\n";

} catch (Exception $e) {
	echo "fail\n";
}

try {
	$draw->polygon(array(array()));
	echo "fail\n";
} catch (ImagickDrawException $e) {
	echo "pass\n";
}

?>
--EXPECTF--
pass
pass086_Imagick_forwardFourierTransformImage_basic.phpt000064400000003365150457363240016502 0ustar00--TEST--
Test Imagick, forwardFourierTransformImage
--SKIPIF--
<?php 
require_once(dirname(__FILE__) . '/skipif.inc');
require_once(dirname(__FILE__) . '/skipprobefourier.inc');
?>
--FILE--
<?php


//Utility function for forwardTransformImage
function createMask() {
    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(0);
    $draw->setStrokeColor('rgb(255, 255, 255)');
    $draw->setFillColor('rgb(255, 255, 255)');

    //Draw a circle on the y-axis, with it's centre
    //at x, y that touches the origin
    $draw->circle(250, 250, 220, 250);

    $imagick = new \Imagick();
    $imagick->newImage(512, 512, "black");
    $imagick->drawImage($draw);
    $imagick->gaussianBlurImage(20, 20);
    $imagick->autoLevelImage();

    return $imagick;
}


function forwardFourierTransformImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);

    $mask = createMask();
    $imagick->forwardFourierTransformImage(true);

    $imagick->setIteratorIndex(0);
    $magnitude = $imagick->getimage();

    $imagick->setIteratorIndex(1);
    $imagickPhase = $imagick->getimage();

    if (true) {
        $imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
    }

    if (false) {
        $output = clone $imagickPhase;
        $output->setimageformat('png');
    $bytes = $output->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
    }

    $magnitude->inverseFourierTransformImage($imagickPhase, true);

    $magnitude->setimageformat('png');
    $bytes = $magnitude->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

forwardFourierTransformImage() ;
echo "Ok";
?>
--EXPECTF--
Ok122_Imagick_setImageCompressionQuality_basic.phpt000064400000001046150457363240016155 0ustar00--TEST--
Test Imagick, setImageCompressionQuality
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$quality = 15;

function setImageCompressionQuality($quality) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    //$imagick->setImageCompressionQuality($quality);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setImageCompressionQuality($quality) ;
echo "Ok";
?>
--EXPECTF--
Ok160_Imagick_transparentPaintImage_basic.phpt000064400000001442150457363240015126 0ustar00--TEST--
Test Imagick, transparentPaintImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$color = 'rgb(39, 194, 255)';
$alpha = 0;
$fuzz = 0.1;

function transparentPaintImage($color, $alpha, $fuzz) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    //Need to be in a format that supports transparency
    $imagick->setimageformat('png');

    $imagick->transparentPaintImage(
        $color, $alpha, $fuzz * \Imagick::getQuantum(), false
    );

    //Not required, but helps tidy up left over pixels
    $imagick->despeckleimage();

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

transparentPaintImage($color, $alpha, $fuzz) ;
echo "Ok";
?>
--EXPECTF--
Ok150_Imagick_setregistry.phpt000064400000003030150457363240012043 0ustar00--TEST--
Test Imagick, setRegistry and getRegistry
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$tmpPath = Imagick::getRegistry("temporary-path");
if ($tmpPath == null) {
	//I am unsure if this is guaranteed - it might be set via policy.xml
	echo "Temporary-path was empty at start.".PHP_EOL;
}

$currentPath = realpath(dirname(__FILE__));

Imagick::setRegistry("temporary-path", $currentPath);

$tmpPath = Imagick::getRegistry("temporary-path");
if ($tmpPath === false) {
	echo "Failed to set temporary-path".PHP_EOL;
}
else if ($tmpPath == $currentPath) {
	echo "Temporary path was set correctly.".PHP_EOL;
}

$registry = Imagick::listRegistry();

if (array_key_exists("temporary-path", $registry) == true) {

	if ($registry["temporary-path"] === $currentPath) {
		echo "Temporary path was listed correctly.".PHP_EOL;
	}
}

// Since 6.9.9-26, no exception raised
$exceptionExpected = true;

if (isVersionGreaterEqual('6.9.9-26', '7.0.7-15')) {
    $exceptionExpected = false;
}

try {
	$tmpPath = Imagick::getRegistry("non-existent string");

	if ($exceptionExpected === true) {
		echo "Expected exception not thrown.\n";
	}
	else {
		echo "This is fine.";
	}
}
catch (\ImagickException $ie) {
	if ($exceptionExpected === true) {
		echo "This is fine.";
	}
	else {
		echo "Unexpected exception" . $ie->getMessage() . "\n";
	}
}


?>
--EXPECTF--
Temporary-path was empty at start.
Temporary path was set correctly.
Temporary path was listed correctly.
This is fine.
194_ImagickDraw_rectangle_basic.phpt000064400000001667150457363240013430 0ustar00--TEST--
Test ImagickDraw, rectangle
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function rectangle($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

rectangle($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok115_Imagick_selectiveBlurImage_basic.phpt000064400000001234150457363240014400 0ustar00--TEST--
Test Imagick, selectiveBlurImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;
$threshold = 0.5;
$channel = Imagick::CHANNEL_DEFAULT;

function selectiveBlurImage($radius, $sigma, $threshold, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->selectiveBlurImage($radius, $sigma, $threshold, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

selectiveBlurImage($radius, $sigma, $threshold, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok223_ImagickDraw_setTextAntialias_basic.phpt000064400000002303150457363240014727 0ustar00--TEST--
Test ImagickDraw, setTextAntialias
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setTextAntialias($fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);
    $draw->setStrokeColor('none');
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(32);
    $draw->setTextAntialias(false);
    $draw->annotation(5, 30, "Lorem Ipsum!");
    $draw->setTextAntialias(true);
    $draw->annotation(5, 65, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(220, 80, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    //Scale the image so that people can see the aliasing.
    $imagick->scaleImage(220 * 6, 80 * 6);
    $imagick->cropImage(640, 480, 0, 0);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setTextAntialias($fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok071_Imagick_flipImage_basic.phpt000064400000000671150457363240012527 0ustar00--TEST--
Test Imagick, flipImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function flipImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->flipImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

flipImage() ;
echo "Ok";
?>
--EXPECTF--
Ok089_Imagick_medianFilterImage_basic.phpt000064400000001066150457363240014210 0ustar00--TEST--
Test Imagick, medianFilterImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('medianFilterImage'));
?>
--FILE--
<?php

$radius = 5;

function medianFilterImage($radius) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    @$imagick->medianFilterImage($radius);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

medianFilterImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok091_Imagick_linearStretchImage_basic.phpt000064400000001306150457363240014402 0ustar00--TEST--
Test Imagick, linearStretchImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$blackThreshold = 0.2;
$whiteThreshold = 0.2;

function linearStretchImage($blackThreshold, $whiteThreshold) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $pixels = $imagick->getImageWidth() * $imagick->getImageHeight();
    $imagick->linearStretchImage($blackThreshold * $pixels, $whiteThreshold * $pixels);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

linearStretchImage($blackThreshold, $whiteThreshold) ;
echo "Ok";
?>
--EXPECTF--
Ok304_Imagick_is_imagemagick_borked.phpt000064400000003404150457363240013744 0ustar00--TEST--
Test whether ImageMagick is producing valid images.
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
//checkClassMethods('Imagick', array('averageImages'));
?>
--FILE--
<?php

function testOpacity() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:LOGO");

    $transparency = new Imagick();
    $transparency->newPseudoImage(640, 480, "xc:rgba(0,0,0,0)");

    $draw = new \ImagickDraw();
    $draw->setFillColor('white');
    $draw->setStrokeColor('white');

    $draw->circle(
        320,
        240,
        500,
        240
    );

    $transparency->drawImage($draw);

    $transparency->blurImage(50, 15);
    $transparency->writeImage(__DIR__ . "/304_output_trans.png");

    $checkerboard = new Imagick();
    $checkerboard->newPseudoImage(640, 480, "pattern:checkerboard");
    $checkerboard->setImageFormat('png');

    $output = clone $checkerboard;
    $canvas = clone $imagick;
    $canvas->compositeImage($transparency, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
    $output->compositeImage($canvas, \Imagick::COMPOSITE_ATOP, 0, 0);
    $output->writeImage(__DIR__ . "/304_output_before_softlight.png");

    $output = clone $checkerboard;
    $gradient = new Imagick();
    $gradient->newPseudoImage(640, 480, 'gradient:#979797-#373737');
    $canvas->compositeImage($gradient, Imagick::COMPOSITE_SOFTLIGHT, 0, 0);

    $output->compositeImage($canvas, \Imagick::COMPOSITE_ATOP, 0, 0);
    // TODO - we need to store a known good output and compare
    // the result image against that.
//    $output->writeImage(__DIR__ . "/304_output_with_softlight.png");
}

testOpacity() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . "/304_output_trans.png");
@unlink(__DIR__ . "/304_output_before_softlight.png");
?>
--EXPECTF--
Ok
298_Imagick_kmeansImage.phpt000064400000001014150457363240011715 0ustar00--TEST--
Test Imagick, kmeansImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('kmeansImage'));
?>
--FILE--
<?php


function kmeansImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->kmeansImage(
		128,
		10,
		5
	);

    $imagick->writeImage(__DIR__ . '/kmeansImage_output_image.png');
//    $imagick->getImageBlob();
}

kmeansImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/kmeansImage_output_image.png');
?>
--EXPECTF--
Ok
096_Imagick_negateImage_basic.phpt000064400000001056150457363240013045 0ustar00--TEST--
Test Imagick, negateImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$grayOnly = 0;
$channel = Imagick::CHANNEL_DEFAULT;

function negateImage($grayOnly, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->negateImage($grayOnly, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

negateImage($grayOnly, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok055_Imagick_distortImage_ScaleRotateTransform.phpt000064400000001305150457363240016303 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            1.5, # scale 150%
            150 # rotate
        );
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
        $imagick->distortImage( \Imagick::DISTORTION_SCALEROTATETRANSLATE, $points, TRUE );
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok020-pixeliterator.phpt000064400000003514150457363240010647 0ustar00--TEST--
Pixel Iterator tests
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

function count_rows ($pix)
{
	$rows = 0;

	foreach ($pix as $r)
		$rows++;

	return $rows;
}

function count_objects ($pix)
{
	$objects = 0;

	foreach ($pix as $r)
		foreach ($r as $o)
			$objects++;

	return $objects;
}

function count_objects_with_iterator ($pixelRegion)
{
	$objects = 0;
	$row = 0;

	$pixelRegion->rewind();
	$pixelRegion->resetIterator();

	while($pixelRow = $pixelRegion->current()) {
		$row++;
		foreach ($pixelRow as $pixel) {
			$objects++;
		}

		$pixelRegion->syncIterator();
		$pixelRegion->next();
		if (!$pixelRegion->valid()) {
			break;
		}
	}

	return $objects;
}

$im = new Imagick ('magick:rose');
$it1 = new ImagickPixelIterator ($im);
$it2 = ImagickPixelIterator::getPixelIterator ($im);
$it3 = $im->getPixelIterator();


$count1 = count_rows ($it1);
$count2 = count_rows ($it2);
$count3 = count_rows ($it3);

if ($count1 != $count2 || 
    $count1 != $count3) {
    printf(
        "Row counts do not match %d %d %d",
        $count1,
        $count2,
        $count3
    );
}

if ($count1 != $count2 || 
    $count1 != $count3) {
    printf(
        "Object counts do not match %d %d %d",
        $count1,
        $count2,
        $count3
    );
}

$objects = array($it1, $it2, $it3);

foreach ($objects as $object) {
	$loop = 0;
	$count = count_objects($object);
	$countIterator = count_objects_with_iterator($object);
	if ($countIterator != $count) {
    	echo "Counting with iterator doesn't match counting with foreach $loop, $count != $countIterator.";
    	$loop++;
	}
}


$it1->newPixelIterator (new Imagick ('magick:rose'));

echo 'done' . PHP_EOL;
?>
--EXPECTF--

%s: ImagickPixelIterator::newPixelIterator is deprecated. ImagickPixelIterator::getPixelIterator should be used instead in %s on line %d
done157_Imagick_thumbnailImage_basic.phpt000064400000001026150457363240013560 0ustar00--TEST--
Test Imagick, thumbnailImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function thumbnailImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->setbackgroundcolor('rgb(64, 64, 64)');
    $imagick->thumbnailImage(100, 100, true, true);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

thumbnailImage() ;
echo "Ok";
?>
--EXPECTF--
Ok215_ImagickDraw_setStrokeColor_basic.phpt000064400000001722150457363250014431 0ustar00--TEST--
Test ImagickDraw, setStrokeColor
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeColor($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(5);

    $draw->line(100, 100, 400, 145);
    $draw->rectangle(100, 200, 225, 350);

    $draw->setStrokeOpacity(0.1);
    $draw->line(100, 120, 400, 165);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeColor($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Okanonymous_pro_minus.ttf000064400000355550150457363250011435 0ustar00LTSHj*p��tOS/2Jb���`VDMXj�r<	P�cmap�L��cvt �
�!.fpgm�A��agasp	�Xglyfe�G& I|hdmxydM�0	�head���6hhea
g�T$hmtx4j5���locaq>"<!<�maxp�ax name�l��o�Y�postZ`�v�Tprep0��h `��$6�_<��E��o�[�u{>	���^�^��{paX
�^��3%�3�{�	��p��mlss@�����u �� ^1���u��#�u)��
��1����u�������1��111��1���1111��1��11������1u���1�������1�1�1��1��1�����/���������11��1������������1������1111�1�1���������1��+��������/������������7�������H�u.���1��11���������111��N��u�����u�7���������b��1���1���������������1����1��1��1��1��1����������11�w�wNN���������1111�1�1�1��^�11111111�������111��������111111111111������1/1/1/������������_�_�[�[�[��11��111���1��11��11+����1����1')�1��1��1��1��1���1��1��1�w1�������u1�w1��1��1111��111��11��11������111��1��11����111��11��11����111#1���1�����u1��1��111111��1�111��������������D��J���H�������������������HJ
J��p

















����	��
	��	��
��
����
���������������������������������� ��!��"��#��$��%��& ��' ��(!��)"��*#��+$��,$��-%��.&��/'��0(��1)��2)��3*��4+��5,��6-��7-��8.��9/��:0��;1��<2��=2��>3��?4��@5��A6��B6��C7��D8��E9��F:��G;��H;��I<��J=��K>��L?��M?��N@��OA��PB��QC��RD��SD��TE��UF��VG��WH��XH��YI��ZJ��[K��\L��]M��^M��_N��`O��aP��bQ��cQ��dR��eS��fT��gU��hV��iV��jW��kX��lY��mZ��nZ��o[��p\��q]��r^��s_��t_��u`��va��wb��xc��yc��zd��{e��|f��}g��~h��h���i���j���k���l���l���m���n���o���p���q���q���r���s���t���u���u���v���w���x���y���z���z���{���|���}���~���~�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t

����2
"~�01QSwx�������������O\_�AWak��    " & 0 : D �!!"!&"""""""+"H"`"e###&#}#�#�$#%%%%%%%%$%,%4%<%l%�%�'������
 #�12RTxy�������������Q^�
@V`j��      & 0 9 D �!!"!&"""""""+"H"`"d###$#}#�#�$#%%%%%%%%$%,%4%<%P%�%�'��������������\��A���s�[������������������������������<����v���h�wޔޠމމ�r�o�]�-�.�0��޻ޱ�l��<�;�2�/�,�)�&����
�ܞ���R"f
���Z\8<@D2���������������������������������������`a�b�c�������d����e�����f���hgikjl�monpqsrtu�vxwy{z��}|~�������������0����������2�n
��	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_���������P��l���������Q��m�������������������������������������`a�b�c�������d����e�����f���hgikjl�monpqsrtu�vxwy{z��}|~����,K�	PX��Y����D�	_^-�,  EiD�`-�,�*!-�, F�%FRX#Y � �Id� F had�%F hadRX#e�Y/ �SXi �TX!�@Yi �TX!�@eYY:-�, F�%FRX#�Y F jad�%F jadRX#�Y/�-�,K �&PXQX��D�@DY!! E��PX��D!YY-�,  EiD�`  E}iD�`-�,�*-�,K �&SX�@�Y�� �&SX#!�����#Y �&SX#!�����#Y �&SX#!����#Y �&SX#!�@���#Y �&SX�%E��PX#!��#!�%E#!#!Y!YD-�	,KSXED!!Y-�+�+�+�B?0%+�	S?=%+�
gR=/+�L?0%+�S?0%+�
aR=%+�!	+�S?=%+�gR=/+�M?0%+�L?0%+�B?0%+�aR=%+�S?0%+�+� E}iD*oZy{�u��oZ{�u\���8888�x�Xp��H|������6�8���	�
�
�
�
�,���
z$�����X��V`6�n�"P�b���8J^$�x&��>��H�N�� X �!z!�"P"~"�#2#j#�$$ $z$�$�%0%�%�&&&&$&0&<&H&T&`''&'2'>'J'V'b'n'z'�'�'�'�'�'�'�'�'�'�((�))�*R*|*�+�,|-B-�-�-�.&.x/V/�00$0F0�11�1�2@2�2�3�4B4�5�6�7&7Z7r7�88P8v8�8�8�8�9999�:p:�:�:�;R;�;�;�<< <,<F<�<�==�>>h>z>�?@J@V@b@n@z@�@�@�@�@�@�@�A&A2A>AJAVA�A�A�A�A�BBfB�B�B�B�CCDC\C�DD"D~D�E*E�FPG*G�G�G�H2H�H�I�I�I�I�I�J0K
KK"K.K:KFKRK^KjKvL$L,L�L�M
MM"M.M:M�NHNTN`NlNxN�N�N�N�N�O�O�O�PP�P�P�P�P�P�P�QJQ�Q�R4R�R�SS&S2SrS~S�S�S�S�S�S�S�TTxT�T�T�T�T�T�T�U$U�U�U�U�U�U�U�U�VVVV*V6VBVNVZVfW W�W�W�W�W�XXXzYYYY$Y0Y<YHYTY`YlYxZZ�Z�Z�Z�Z�Z�Z�Z�Z�Z�Z�[n[z[�[�[�[�[�[�[�[�\\&\2\>\J\V\b\n\z\�].]T]z]�]�^B^�_,_l_�_�`4`�aDa|a�bbrb�cXc�dd*d6dBdNdZdfdree�f(gg�h(h�i4i�i�jj�j�k�l4l�mnnnbn�ozo�pp�p�p�p�p�qqq�q�rbs"sVsbs�t>t�u2u>uJu�u�v"v�v�wwVw�x�x�x�yy�y�z z�{{b||`|�}@}�}�~@~�~�L�����Z�Ђ��n��(�z��X���F�R�����L���@�x�&�̊ �X�6����0���ލ>����z������"�.���T������t��r�~���̔�4�@�L�X�d�p�|�����������ĔДܔ�����$�0�<�N���B�R������B�Ι�8�J�d�������ҙ���B�`�������X���Ȝ�>�p���؝�8�h���؞$�T���ڟ�H������$�`����0�J���¢�f���̣�<���1sE�/�	/�ܰ�а/�����EX�/�>Y�EX�/�>Y����01!!!!!s��B�G/���\/���� /�!/�ܱ
� �а/�
��а�а�а�а�а�а�а���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+�+��а�а�
а�а�а�а�а��01%##5!#5#53#5353!533#3!!��u�u����uu����������nm����m�����F��+2;��3+�$,+�)+��	а�а)�а$�а/��,�,]@	,,),9,I,Y,i,y,�,�,�,�,�,
]�,�а/�)� а)�/�@33&363F3V3f3v3�3�3�3�3�3
]��3�3]��6а$�=��/�*/�/*9�6*901.'7.54>753&&'#4&'66�T�d@��tT�\/1Z�T�K\8�
h`��1^�V�amjta��sb7R3
?_zD!e�ATmI@p[9
��
Dbw=X��)C��Dx_A�Vy/�"}�Mg'�+9B����7+7CE�2

+�	,+�	8+@&6FVfv�����
]���]�",9�"/��"�"]@	"")"9"I"Y"i"y"�"�"�"�"�"
]@f2v2�2�2�2�2�2]@
22&262F2V2]��2�2]��8�8]@	88)898I8Y8i8y8�8�8�8�8�8
]�>	��E��/�/�EX�/�>Y�EX�/�>Y�';+�5+��/��/�/]@//(/8/H/X/h/x/�/�/�/�/�/
]��A�@AA'A7AGAWAgAwA�A�A�A�A�A
]��A�A]01#".54>32%'#".54>324&#"3264&#"326�'E\43\D&&D\34\E'��^Fy)D^34\C))C\43\F)��V@?VV?@V�X?@VV@?X13\D))D\33_C))C_���<��5ZF''D\54\C''C\@XX@?XX��@VV@?XX����/'2B�0+�;+@00&060F0V0f0v0�0�0�0�0�0
]��0�0]�09�/�3��;�;]@	;;);9;I;Y;i;y;�;�;�;�;�;
]�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�(�@(('(7(G(W(g(w(�(�(�(�(�(
]��(�(]��>��>�>]@>>(>8>H>X>h>x>�>�>�>�>�>
]01'#".54>7&&54632667267'>54&#"�P;�^�J�iL�d</@%>D��DwX1>^w9h0=�!N�5��4?}V#93eM/hN+E25V�N�k�BT8`�L?iTCN�N��)LlFNnTD%��B�F�;1P-uV`�r/wK:AP5NZ#;NuD/�/�EX�/�>Y01#/+f)�+������>�
+@&6FVfv�����
]���]�
/�EX�/�>Y01.54667yk�p<<p�kH_�g55g�a��T������TZL���y{���L���>�
+���]@	)9IYiy�����
]�/�EX�/�>Y01'>54.'7�<s�kH_�i55i�_Hk�s<5�����TZL���yy��LZT��#��G�EX�/�>Y�EX�/�>Y�9�9�9�
9�
9�901%#'%%73%���V7��t��7V��7LtL���^�}��^��`���z�
��7�
+��а�	��/�EX�/�>Y�+��а��01!#!5!3!��ht�h�t���i�u��i�b��/�EX�/�>Y01%#b��`����/��	�+01!5!��\��uu/��/�EX�/�>Y01!#53/���)��J	�/�/01'��b���4����/%��&/�'/�&�а/��@&6FVfv�����
]���]�'�ܲ9����]@	)9IYiy�����
]�9�EX�/�>Y�EX�!/�!>Y�!9�����]@(8HXhx�����
]�!��@'7GWgw�����
]���]�!901&&#"324&'4>32#".h#c0�^��Rc�����8v����x66v����w5���Z`��}�+H�;����qq���qq���:�+����EX�/�>Y�EX�/�>Y��9�а�01!!53#52>533���NjD=�vN��u{)]M4�Lv�J�\
w/ r�/�+�	+�	�а/�	�
�	�"��EX�/�>Y�EX�
/�
>Y������]@(8HXhx�����
]01!3!5>54&#"#4632s1P=�9'u���'G8 �u����T�sB�6VXb?�3��y'NPV/x{���1\����/6Գ$%+�/+�/�	��$�а/���]@	)9IYiy�����
]�2%9�/�8��EX�*/�*>Y�EX�/�>Y�+���@'7GWgw�����
]���]�*�!��!�!]@!!(!8!H!X!h!x!�!�!�!�!�!
]�2901#".'732>54.#52>54&#"#4>32�Fu�T_�}N���;hN-3`�]Dd>�t���Bv�eT�m=�{FhF%hV�d84d�b��'H`;Pe9u5XDn���f�o;1\�Vo�
;[n�Q�
+�
�а���EX�/�>Y�EX�/�>Y�+����	а�а�
а�01!!53!533#3�����#������Iuw-��w�w��u���*��+/�,/�ܱ���]@	)9IYiy�����
]�+�а/��"в#9�EX�/�>Y�EX�/�>Y�&+���@'7GWgw�����
]���]��!�#901#".'732>54.#"#!!6632�H}�h^�yJ�4TrDP}X//V}LP�6�1�X<�Pe�zD�`�}H8h�bDuR/5_}GJ\5C@�u�h:?Aw������/"6߳
+�#+@&6FVfv�����
]���]��#�#]@	##)#9#I#Y#i#y#�#�#�#�#�#
]�
�-��EX�/�>Y�EX�/�>Y�(+�����]@(8HXhx�����
]�9��2�@22'272G2W2g2w2�2�2�2�2�2
]��2�2]01#".54>32&#">324.#"32>�G�e��s3E�ϋZZ�i�k5Nfw<f�{E�-T{MLZ1(T}VJ{Z1�l�yBq���n�PbP��x3ZA'E{�gJ�^62Z{KJ�d:1Z�1�K�/�/�ܱ��а/�

��EX�
/�
>Y�EX�/�>Y�EX�/�>Y���01
#67!#!�{�P�#X�t��ug��������B%
}�u�����/'3G1�>
+�(+��(�(]@	(()(9(I(Y(i(y(�(�(�(�(�(
]�4(9�4/��4�4]@	44)494I4Y4i4y4�4�4�4�4�4
]��
9@>>&>6>F>V>f>v>�>�>�>�>�>
]��>�>]�
>9�/�#
9�.��EX�/�>Y�EX�/�>Y�19+�919�#919��+��+�+]@(+8+H+X+h+x+�+�+�+�+�+]�++]��C�@CC'C7CGCWCgCwC�C�C�C�C�C
]��C�C]01#".54>7.54>324&#"3264.#"32>�J��bd��J'Ii?7V;!Fv�TT�vF!;X8@hJ)���������/7_xDDx_77_xDDx_7og�`..`�g5l]=<P^+X�X--X�X+^P<=]l)nngzz�	Ge??eGFfD!!Df����/#7�$+�
.+�
��@$$&$6$F$V$f$v$�$�$�$�$�$
]��$�$]��.�.]@	..).9.I.Y.i.y.�.�.�.�.�.
]�
�9��EX�/�>Y�EX�/�>Y�)+���@'7GWgw�����
]���]�9��3��3�3]@33(383H3X3h3x3�3�3�3�3�3
]014>32#"'732>5#".732>54.#"H�e��s3F�щZ-wEi�m5Lfy:f�{F�-T{MLZ1)S}VJ{Z1\m�yAq���o�P21P��y3ZB'F{�fJ�^51X}LJ�d91Z�u/�/�+��а���EX�/�>Y�EX�/�>Y01#53#53/�����\��b�*�+�EX�/�>Y�EX�/�>Y�901#53#/��3��`����/���	�/�/01%M�M�P-OP�P����+�+01!5!!5!��\��\�w��u�����	�/�/01'7�N��PN�O��P��/!��+�+��а/�����]@	)9IYiy�����
]��#��EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]01!#53#4>54&#"'6632/��^9VfV:�;ViV;lg?_A'{ð���DNubV\mENzk^\c9Xd)E`:�ª����/O`@�2	D+�X+�+�	&+��ж�&�&�&]��&�&]@
I&Y&i&y&�&�&]@		&&)&9&]@V2f2v2�2�2�2�2�2]@22&262F2]��2�2]��P�@XX&X6XFXVXfXvX]@�X�X�X�X�X]��X�X]�EX�K/�K>Y�EX�=/�=>Y�[+�S+��в=K9�S9�[�!а!/�K�-��-�-]@--(-8-H-X-h-x-�-�-�-�-�-
]�=�7�@77'777G7W7g7w7�7�7�7�7�7
]��7�7]01#".55#".54>325332>54.#"3267#".54>32%&&#"32>5�6ZC6*^>BX5"DeC#N�('>YuJq�]((]�pR�5;��\�oO22Op�[��x6��?&&7$94%<*�D�qH&3 K^:`z@J�g=#%5�� 6Sd/E�{iM+`��usӢ`:1D�3\~��WY��~[3o��1'-K_1mn-I[-���
0�EX�/�>Y�EX�/�>Y�EX�/�>Y�+01!#!#3�{��y���}��u������_1�$��!+�+��
��
9���]@	)9IYiy�����
]�!�а�&��EX�/�>Y�EX�/�>Y�+�
9����!�01#!!24.#!!2>4&#!!26���`�R�}N��:Zl2�8lV8-������u��J�j�JLaEX/�E1V��{�������/%�&/�'/�ܰа/�&�а/��
�а��@&6FVfv�����
]���]��%а%/�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�
9�
����]�(]@8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>3253#4.#"32�3谉�y55y��y�)uu5Z{Dj�T##T�j�`V��q���qVX��TE{Z3d��cbǟe'1�p�/�/�ܰ�а/��
��
�
]@	

)
9
I
Y
i
y
�
�
�
�
�

]����EX�/�>Y�EX�/�>Y�����01#!!2#!!2�7y���X���y9����������hk����1s=�
+�
���EX�/�>Y�EX�/�>Y�+����
�01!!!!!!!s��B�G���u�-u�1s	6�+����EX�/�>Y�EX�/�>Y�+���01!!!#!s�G���B��-u������/+ӳ 
+�
+���@  & 6 F V f v � � � � � 
]�� � ]��+��-��EX�/�>Y�EX�/�>Y�EX�/�>Y�+(+�9�����]@(8HXhx�����
]��%�@%%'%7%G%W%g%w%�%�%�%�%�%
]��%�%]01#".54>3253#4.#"3267!5!�7y����y55y��y�)uu5Z{Dj�T##T�j��������oq���qVX��TG{X3d��cbǟe��u1s`�/�
/�ܱ��а/��а�	��EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�	+01!#!#3!3s��щ�/�\����H��=�
+�EX�/�>Y�EX�/�>Y����а	а�
а�01!!53#5!#3����/��u/uu������sL�+�EX�/�>Y�EX�/�>Y�
�@

'
7
G
W
g
w
�
�
�
�
�

]��
�
]01#"&'732>53s�ٮ�/w+�}\s=��ﷶ-��Js�H'1�J�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�901!##33���N���/������{��1s'�+�EX�/�>Y�EX�/�>Y��01!!3!s�����\1sm�
/�/�ܱ�
�а/��
9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�9�
901!###33s��b扲��?�_����V�1s	b�
/�/�ܰ
�а/�����EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�901!##33s�����P��������/'�(/�)/�ܰ(�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv���]���]���]�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>324.#"32>�6v����w55y����v8�1\�Vk�T!!T�kj�T ���qq���qq��ϒMd��cbǟee��1�
r�/�/�ܰ�а/������]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�+���01#!#!24&#!!26���ى��쉪���'����������y�y����/ 0�1/�2/�ܱ!��!�!]@	!!)!9!I!Y!i!y!�!�!�!�!�!
]�а/�!�а/�1�а/�+�@++&+6+F+V+f+v+�+�+�+�+�+
]��+�+]�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y���@'7GWgw�����
]���]�а/��&��&�&]@&&(&8&H&X&h&x&�&�&�&�&�&
]��.�013267#"&'.54>324.#"32�/i�w��#15��n�g15y����v8�"R�hk�T!�����}�w�fu��s�灃�qq��cƢdd��c����)1���/�/�
ܰа/��а/��
����]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�EX�/�>Y�+��а/���01!###!24&#!!26����ˉ���:d�R���%��/����R�\8o�{�y���/?ܳ
 +�*)+�)���а)�,а �6�*�A��EX�)/�)>Y�EX�+/�+>Y�EX�%/�%>Y�EX�	/�	>Y�EX�/�>Y�;+�%9���@'7GWgw�����
]���]�(%9�%�1��1�1]@11(181H1X1h1x1�1�1�1�1�1
]01#"&'#332>54.'.54>3253#4.#"�Dr�Pn�6tt>`}A:bJ+7]t<G�pFDn�M_�-yy1Tl<5`H+3Vq;J�tJTR�`4RP��CoP-!=X8?Z@-7TyZP}V-NP���;gI+5T:3H7-@Z��k�/�
а
/�	ܲ@	]�ܲ@]�
�	��
�
����EX�/�>Y�EX�/�>Y�����а	а�
а�01#!3!53!#!�u������u�`D��uu/���1��sp�/�/�ܰ�
а
/�
����EX�/�>Y�EX�/�>Y�EX�/�>Y��@'7GWgw�����
]���]01#".5332>53s1g�lm�e1�=mXXo=��o�FF�oF��;�lHHl�;H���1�EX�/�>Y�EX�/�>Y�EX�/�>Y�901#3�L��P�}{���r����Y�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�9�9�901##33�뢅��鑸������}������C2���z�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��в9�аа	а
а��ав9�аааа
�а�01!!533!53#5!##5!#3���X��X����mum��iuq��u��Tuuuu�^�uu������g�+�9�EX�/�>Y�EX�/�>Y�EX�/�>Y�����аа�
ааав9�а�01#3!53#5!##5!�j������jpl��lp����Buu�quu��u1w
U�/�/�ܰ�а/�в9��
��
��EX�/�>Y�EX�/�>Y����
�01!!5!#!!3w�����u1�w)uu/���u��Eu����-�	+�����EX�/�>Y�+���01!!!!�t����Ho�����J	�/�/017�b�b�43���/�0�+��	����EX�/�>Y�+���01!5!!5!/����u��qho/��/�/�EX�/�>Y�901##3����ǘu�/e����F���	�+01!5!��\��u���T	�/�/01%7�)�RB5A�m����s�&7�8/�9/�8�а/�9�ܱ�в9��,а�5�@55&565F5V5f5v5�5�5�5�5�5
]��5�5]�EX�/�>Y�EX�/�>Y�EX�$/�$>Y�0+�����]@(8HXhx�����
]�$9�$�'�@''''7'G'W'g'w'�'�'�'�'�'
]��'�']�0�-а-/01'4>3254.#"'6632#5#"&2>55&&#"X��`%;56 ;V^!h�L>T�}L�uF�$[dd-��wV�`5C{-J�f>s�XwECDX38/g3A'Q�\���-D+�3LV#X
-H5;c1���$�%/�&/�ܰ%�
а
/�	�в
9�����]@	)9IYiy�����
]�	���EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y� �@  ' 7 G W g w � � � � � 
]�� � ]� 9�����]@(8HXhx�����
]�
901#"&'#366324.#"32>�B{�lL�<��<�Ll�{B�)T}R�u<�NR{T+�k��H65T�539I��jP�d:}�A8:d�����(װ)/�*/�ܰа/�)�а/���а� �@  & 6 F V f v � � � � � 
]�� � ]�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�
9�
����]@(8HXhx�����
]��%�@%%'%7%G%W%g%w%�%�%�%�%�%
]��%�%]01%#".54>3253#4.#"3267�;͍m��HBz�l+ZP@{{-Nl>T}T+1]�Rh�+�\mH��mj��I)9'���>fJ):d�PP�b:RD����s&�'/�(/�ܱ�'�
а
/��а�а
��@&6FVfv�����
]���]�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�$�@$$'$7$G$W$g$w$�$�$�$�$�$
]��$�$]�$9�������]@(8HXhx�����
]01!#5#".54>32#5!&&#"327s�;�Jo�yAAy�oJ�;�D�;�NR}T++T}R�vV58H��kj��I55Tu��A::d�PP�d:}������"{�EX�/�>Y�EX�
/�
>Y�"+�
��@'7GWgw�����
]���]�����]@(8HXhx�����
]013267#".54>32'&&#"���i�)`FŽl��HA{�mw�w9���BpV:���V@BbgH��mj��IP��wu��+PqC��/��+��а���EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�����аа�а	а����]@(8HXhx�����
]01!3!53#534632&&#"!��s�������/A?+���/�Fuu�u��u�����us�.�//�0/�ܰ/�а/�(�@((&(6(F(V(f(v(�(�(�(�(�(
]��(�(]�	а	/���а� ��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+��+�@++'+7+G+W+g+w+�+�+�+�+�+
]��+�+]�+9��#��#�#]@##(#8#H#X#h#x#�#�#�#�#�#
]�#901%#"&'732655#"&54>3253&&#"3267sBw�c��G`+�h��z��Ay�mL�;��;�NR}R+��N�;
`�h7hbJAX��dl��j��I55T�A::d�N��;B1s��/�/�ܱ��а/��в9�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]�
901!#4&#"#33 s�lyL{V-��c�X?}�Fu�R�^������
_�+�9�/�����	��EX�/�>Y�EX�
/�
>Y�EX�/�>Y��
���а
�01#53!53#5!3/�������]�^���u�u���u�>�+�9�/���EX�/�>Y�EX�/�>Y�
+���01#53"'732>5#5!麺�s�bi$uVD\5�\�^��\�HLR'HfB/u�\��1�Q�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�9�
901!##33�������-��������T��	D�+������EX�/�>Y�EX�/�>Y�����а	�01!!53#5!3����]�u/u�\��!ڰ"/�а/�
ܲ�
]�@
]�ܲ�]�@]��
�	���в
9�
9��#��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�����]@(8HXhx�����
]�в9�901!#4&#"#4&#"#3632632��85NI�951:!
��+��1D|wo�PX�����PX:Zn6���������1s���/�/�ܱ��а/��в9�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]�901!#4&#"#33 s�lyL{V-��c�X?}�Fu�R�^���������'�(/�)/�ܰ(�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv���]���]���]�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>324.#"32>�E��om��EE��mo��E�/\�RR�Z//Z�RR�\/�m�HH�mj��II��jP�f::f�PP�b88b�1����$�%/�&/�ܰ%�
а
/�	�в
9�����]@	)9IYiy�����
]�	���EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y� �@  ' 7 G W g w � � � � � 
]�� � ]� 9�����]@(8HXhx�����
]�
901#"&'#36324.#"32>�D{�lJ�<���l�{D�+V}RN�<<�NR}V+�m��H65�7VlG��jN�d::A�A8:d���s�$�%/�&/�%�а/�&�	ܱ�в	9���@&6FVfv�����
]���]����EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�� �� � ]@  ( 8 H X h x � � � � � 
]� 9���@'7GWgw�����
]���]�9014>3253##".73267&&#"Dz�l���;�Jl�zD�+V}RN�;;�NR}V+�j��GlV���56H��mN�d:8A�A::d�����+��
����EX�/�>Y�EX�/�>Y�EX�
/�
>Y�����]@(8HXhx�����
]�
��а
в
901&#"3!53#5!!2qJfT�\1����\^Gi-!%Hu�P��uu�u�������2߰3/�4/�ܱ���]@	)9IYiy�����
]�3�а/�)�@))&)6)F)V)f)v)�)�)�)�)�)
]��)�)]�EX�/�>Y�EX�/�>Y�.+���@'7GWgw�����
]���]��$��$�$]@$$($8$H$X$h$x$�$�$�$�$�$
]01#"&'73 54.'.54>32&&#"�R��L�\=g�k53Vo=N�MGw�V{�N7P�`+iZ=3Vo=L�NRl@J<vAF�'1<dRFfD 95k8-%;-'/:d�����+����EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��	�
ааа��@'7GWgw�����
]���]01#".5#533!!3267�ǕR�`5�Ӊ��s!;T6f�
)��6`�P�uu��u�'3ZD'e1��s���/�/��а/���ܱ�в9�EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�/�>Y��@'7GWgw�����
]���]�901332>53#5# 1�myLzV-��b������}�Fu�R��\�{����1�EX�/�>Y�EX�/�>Y�EX�/�>Y�901#3�l��j�NL��\���1����Y�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�9�9�901##33ý�������������\��T��������w�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��9�аа	а
а��ав9�аааа
�а�01!!533!53#5!#7#5!#3��R��K�����V��^����y��yy`P{{��{{������u��#�EX�/�>Y�EX�/�>Y�
+01#"'7326773��'�V``/ZD39�`�PJ��pb=#vB-����//w�
X�/�/�ܰ�а/�а/�9��
��
��EX�/�>Y�EX�/�>Y����
�01!!5!#!!3w��{��u/��uu��uu�F�����&F�#	+��а�&�а#���EX�/�>Y�+�
	+�	
9��%�01#".54#5254>33#"33�\=gI)��)Ig=\\�-@%%>/�\��+Jh>��p��>fJ)o��R"J@/-@I#�X���F��+�/�/01#3���������&F�
+��
	�а
�а�#��EX�/�>Y�+�&+��
�&901"##53254>7.54##5323�)Lf=]]�/@%%B-�]]=fL)����V>fL)q��#K@+-@J"��o+Jf<�R������#2>7#".#"'>32�%3!�+Ff@=T9+)2"%3!�+FdB=T;+)/u/RsAZ�pB/FPE//RpBX�qA/ERF/������&"�s����%h�

 +�� � ]@	  ) 9 I Y i y � � � � � 
]� 
9�EX�/�>Y�EX�/�>Y�EX�/�>Y�#+�+014>32#!#&&32654&#"�">R//R=#?3��{��y��3?���TP77PP77P�/R=##=R/Bf�u���h����_�7PP77PP���/.�'+�
+�
+���@''&'6'F'V'f'v'�'�'�'�'�'
]��'�']��0��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�	�9��"��"�"]@""("8"H"X"h"x"�"�"�"�"�"
]��,�@,,',7,G,W,g,w,�,�,�,�,�,
]��,�,]01#5255.54>3253#4.#"32�-��RX���n15y��y�)uu5Z{Dj�T##T�j�`V���X_u�t����qVX��TE{Z3d��cbǟe'��1s�&&�s��1ss&/�s�������&0�s��1��s�&6�s����uS&B������uT&BA����uW&B������u&B�����u�&B������u�&B������1�)+�
+�+���@))&)6)F)V)f)v)�)�)�)�)�)
]��)�)]��3��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�	�9��$��$�$]@$$($8$H$X$h$x$�$�$�$�$�$
]��.�@..'.7.G.W.g.w.�.�.�.�.�.
]��.�.]01%#5255.54>3253#4.#"3267�5�sRX��d�u?Bz�l+ZP@{{-Nl>T}T+1]�Rh�+�Rf�X_u�K�gj��I)9'���>fJ):d�PP�b:RD�������S&F���������T&FA�������W&F���������&F�����S&�������T&�A����W&�������&����1s�&O��������S&P��������T&PA������W&P��������&P��������&P����1��sT&V���1��sV&VA��1��sX&V���1��s&V��u��/�EX�/�>Y01'#5'37��n��n����bp�����'|�(/�)/�(�а/�)�
ܰ�
�@&6FVfv�����
]���]�
�
���]@	)9IYiy�����
]�+�#+014>32#".732>54.#";e�NL�d;;d�LN�e;\+Nd<9fN++Nf9<dN+^L�e;;e�LN�d<<d�N;eM++Me;:fN++Nf�#��$/�%/�ܱ�$�а/��а�
а�а��@&6FVfv�����
]���]�� ��EX�	/�	>Y�EX�/�>Y�+��а/� 	901%&54>753&&'667#���7g�X��9`)�\\�)`9����yy��!�^�}R��kVB>P�N?BVj����!��1�/,��+��в9��*��EX�/�>Y�EX�"/�">Y�+��а����]@(8HXhx�����
]�"��$а%а�+�0134>32&&#"3#3 7#!532>5#1�-TxN3_K8}R<b\��3)�pmB����J>"0
��L�\5#?^<ZI{p��u��Pi�;��u!19;�F��?O��P/�Q/�P�а/�@�@@@&@6@F@V@f@v@�@�@�@�@�@
]��@�@]�а/��аQ� ܰа/� �H��H�H]@	HH)H9HIHYHiHyH�H�H�H�H�H
]�а@�а �&аH�9��4++�+01467&&54>32&&#"#".'732>54.76654.'D?H<K?m�RP�{R���-^L/j���k8;3@Bq�RV��`��7eI+j���j�^��P)1T��LF==L�6(y\P{T-+X�\��3R<IZFB`�sH�5+{XP�^5+X�`!��;V:XlJ>X�pI\B9'!X3NfH9!#^�����/�EX�/�>Y014>32#".�<d�NL�d<<d�LN�d</L�d<<d�LN�d<<d����+�+�+��а�а��@&6FVfv�����
]���]�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�+��а/�
�
��а/01!###$!!#�����y��rq�/��7'Fu�����}f�'1���/;�$%+�5+�0+�+���]@	)9IYiy�����
]���]@	)9IYiy�����
]@55&565F5V5f5v5�5�5�5�5�5
]��5�5]�EX�+/�+>Y�EX�$/�$>Y�EX�/�>Y��@'7GWgw�����
]���]�+����]@(8HXhx�����
]01#"&'732654.54>54&#"#4>32�5_�Kc�BN5mD\y<VhV<BPARdJ^5�P�{LwQ+APA;XfX<=kM.85h1/VZ8K819N9DL?J=Fd;f�H��LL��^-Lh>RbA4"+/9Pou^�'7@��

+�,-+�48+�
+���]@	)9IYiy�����
]@&6FVfv�����
]���]�(
9�7
9��8�8]@	88)898I8Y8i8y8�8�8�8�8�8
]�,�<��EX�=/�=>Y�#+�+�/;+01#".54>324.#"32>#'##!274&##326^T��yl˜^X��uqȚZAL��gf��MM��he��N���#�3^H)b^3:;}}7>�o˙\P��s̘XT��wd��OK��hi��LL������7P7Py
�-?�<�b-Aճ8
$+�+�
.+@&6FVfv�����
]���]��.�.]@	..).9.I.Y.i.y.�.�.�.�.�.
]@88&868F8V8f8v8�8�8�8�8�8
]��8�8]��C��EX�)/�)>Y�=+�+�+�)�3��3�3]@33(383H3X3h3x3�3�3�3�3�3
]01#".54>32&#"327%#".54>324.#"32>b`�P�`53^�T�`j7�fuqj�7jT��yl˜^X��uq˙ZAN��gf��MM��he��N�5`�OL�c9�Hd�id�d�n˚\P��s͚XV��we��PN��ih��LL���^n�	+�	+�	+�
9�/�/�/�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�9�
9��
�а�01###33###5!^n�N�o�yy��s�q������N�v0��Hq�A�q���T	�/�/01'�P%���A�^�0�+�EX�/�>Y�EX�/�>Y���а�01#53#53麺����^�����A�EX�/�>Y�EX�/�>Y�+�+��а�а�а��01%!#7!5!!5!73!!!���ZoZ��J��!ZnZ���컻�pPo��o�����V�+��	а���EX�/�>Y�EX�/�>Y�EX�/�>Y�+�+�����01!!##!!!!!���o��X����o��u��y�7y�s��m����/&2�3/�4/�3�а/�а/�4�ܰ
а
/�����]@	)9IYiy�����
]�
9��'�'�']@''&'6'F'V'f'v'�'�'�']��'�']�*
9�EX�	/�	>Y�EX�/�>Y�	�.��.�.]@..(.8.H.X.h.x.�.�.�.�.�.
]�
	.9��"�@""'"7"G"W"g"w"�"�"�"�"�"
]��"�"]�"9�	9�*	901'7&&54>327#"&'4'32>%&&#"-N#5y����<�R##6v����;�j"��)�kj�T �+e0�^k�T!�TT�h��qj[��VT�i��qgZ�n�y�rN`e��bE�?�V\d�������)3R�/
+@//&/6/F/V/f/v/�/�/�/�/�/
]��/�/]�'+�#+��а�а#�,а'�2�01#"&'#".54>3266324&#"326%&#"32�#?X3Hu55oN1VA%%?V3No55uH1VA%ZV;JJ;T�RF�;VR?��3ZB&CZXE&BZ33[A%FZZF%A[3HT��^A�XDA^�F��-�	+��а�	��+�+��а��01!#!5!3!!5!��fp�f�p��\���Z�q��g�/q��F��	�/�	+01%!5!M�M�P@��-M�N�N�hq��F��	�/�	+01'7!5!��N��PN���M��N�hq�n�+��в9����EX�
/�
>Y�EX�/�>Y�EX�/�>Y�+�	+��а�в
9��а	��01!#!5!5'!533333!!��s��q�l���̙!!����n���h�x#�y���T�jy�#1��s���/�/�ܱ��а/��
��EX�	/�	>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�	9��@'7GWgw�����
]���]�901!#5!"'#332>53s�`�{T��myLzV-��8�j��}�Fu�R�����/%��&/�'/�&�а/�'�ܲ9����]@	)9IYiy�����
]���@&6FVfv�����
]���]�EX�	/�	>Y�EX�/�>Y�	9�!�@!!'!7!G!W!g!w!�!�!�!�!�!
]��!�!]01466$7&$'7#"&4&'32>t��N���-���pG��y�A��b��\�b3bi�zT}�;u5�����ϒN�o7d/Fb}Lt�@t�+sC�+��а�
��EX�/�>Y�EX�/�>Y��	���01!!55!#!!3s��H��Hy��E��+yuu�GD���E�W�/�
/�ܱ��а/���EX�
/�
>Y�EX�/�>Y�EX�/�>Y�
��ааа	�01##!##5!����䊺���\��\�u������/�/�ܱ��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�	/�	>Y��@'7GWgw�����
]���]�	9���ааа�01%3267#".5##65#5!#�F3#)R-VC)�+�����58	q:V7Z�s�d���{{�u��'�+�	+�+�	�а/��а/01&&#"!"&'53265!2�?)���rC#;-��D#'y����sy�5}���+%48İ9/�:/�9�а/�:�ܱ�в9��+а�2�@22&262F2V2f2v2�2�2�2�2�2
]��2�2]��5а�6а6/�EX�/�>Y�85+�&!+�/+��
а
/�����]@(8HXhx�����
]�/�,а,/014>32254.#"'6632#5#".2>55&&#"!5!Eu�M% '7BV�@7=�s=u\9�u�=fL+DkG'5D%v�H�D��Ec=K%1#-m)/;\B��o�:P2!/6PCL-:�ou���-%)��*/�+/�ܰ*�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv�����
]���]�EX�/�>Y�)&+�!+�����]@(8HXhx�����
]01#".54>324.#"32>!5!�=i�RT�j;;j�TR�i=�)F\56\E'�o7\F't���V�f97f�ZX�i77i�X=gI''Ig=}�'Hf��u���/-dz$+�
+��
�
]@	

)
9
I
Y
i
y
�
�
�
�
�

]@fv�����]@
&6FV]���]�$���EX�)/�)>Y�EX�/�>Y�EX�/�>Y���)����]@(8HXhx�����
]��а �013!>54.#"!535&54>32�n}��CZ8'V�^Z�V)6XC���yn?{�ww�}?��]ru#g{�?R��VV��R?�{g��urV�qբbb�������5<K�L/�M/�<ܱ�<9�L�а/� <9�<�)а�=а�C�@CC&C6CFCVCfCvC�C�C�C�C�C
]��C�C]�EX�/�>Y�EX�#/�#>Y�EX�/�>Y�EX�3/�3>Y�
)+�9�
�а/�����]@(8HXhx�����
]� 9�3�,�@,,',7,G,W,g,w,�,�,�,�,�,
]��,�,]��9а
�@�,�F�01%#"&54>3254&#"'>326632!3267#"&4&#"&&#"32>5�
+=N1u}9]x@0FG)^#VFFANp�E\k3�TNN/Hu#}fLP@GBP�-V{<;!=/�#C8#�wPuI#`LsH;T+='ENNEp��J��:A%lieͣ���e`f6V5H)�����$/��0/�1/�0�а/�1�ܱ���]@	)9IYiy�����
]�а/��%�@%%&%6%F%V%f%v%�%�%�%]��%�%]��%�%]�а/�EX�/�>Y�EX�/�>Y��+��+�+]@++(+8+H+X+h+x+�+�+�+�+�+
]�+9�� �@  ' 7 G W g w � � � � � 
]�� � ]� 901'7&54>327#"&'4'32>%&&#"+\EE��mq�A�^IE��oq�B�^+��/TR�\/�B'9/�RR�Z/wJt�j��IKDywLy�m�HJDw�jT�<1:8b�PkM�1::f������+�+��а/���@&6FVfv�����
]���]�EX�/�>Y�EX�/�>Y�EX�/�>Y��@'7GWgw�����
]���]013#4>533267#"&/����9VgV9�;VhV<mf{ð�����MubW\lFN{j_\b9Xe�r�ê/�?�+��а/����EX�/�>Y�EX�/�>Y�EX�/�>Y01!33#13R3�����V��/�	+�+01!#!5!�q����p�^�EX�/�>Y�+01!#7!����h�j�o��!����u�+ ��+��а� ��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+���а�а/��аа����]@(8HXhx�����
]01!!"&'53265#534632&&#"��s�rC#;-�����/A?+���u����sy�?u��u������'#".#"'632327#".#"'632327�r�JXED3�Rdr�JZED1�Rdr�JXED3�Rdr�JZED1�R��-7-�;�/8-��M�-7-�;�/7.����!�EX�/�>Y�EX�/�>Y��01!!3����������\���'�/�	/�/�/01%M��FM�}P��DP��OGJP��OGJP����%�/�/�/�/01'7'7'7'7���N��N/��P��P��M��N����M��N��@�EX�/�>Y�EX�/�>Y�EX�/�>Y���ааа
а�01!#53#53#53����������������������&"Au�����s&"�s������s&0�s����/*��
+�#+@

&
6
F
V
f
v
�
�
�
�
�

]��
�
]�#�	�#�а�'в(#9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�&/�&>Y�!"+����$�%в(9014.#"32> !25!!!!!!5�
!90/;!!;/09!
��� JH���u�H�{ϓRR��{{̔RR�����LP�u�-u�u�PL�����"*��+/�,/�ܱ#�#9�+�а/�#9��"а�'�@''&'6'F'V'f'v'�'�'�'�'�'
]��'�']�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�
/�
>Y�"+�	9�	9�����]@(8HXhx�����
]�%а
�)�@))')7)G)W)g)w)�)�)�)�)�)
]��)�)]013267#"'# !26632'4&#"#"32NN/BD��1+����/oTdq9�7RR:��������8G)������b`h��Ty����Jw������	�+015!��ll���	�+01!5!��^�l7��t�
+�
+���а�
���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y������
аа��01!54>3"3!54>3"3���)PwP����'PwP����E{\8u���E{\8u��mk�+�
+��а�

�
�а�
����EX�/�>Y�EX�
/�
>Y�+����а�а�а�01!#5255#%!#5255#?(PwP��/>'PwP���E{\7t���E{\7t����;�
+�����EX�/�>Y�EX�/�>Y�����01!54>3"3�)PwO����E{\8u����0�+��а�

��EX�/�>Y�+���01!#5255#�@)PwP���E{\7t�
��5�+��а���EX�/�>Y�+�+���01#53#53%!5!/����u�\����]��u������EX�/�>Y�EX�/�>Y01	����b����b���b��������u�"Z�������":�s���7�/�EX�/�>Y01'���^F���<���/5��EX�/�>Y�EX�&/�&>Y�+�+��а�
��
�
]@

(
8
H
X
h
x
�
�
�
�
�

]�&��@'7GWgw�����
]���]��+а�-а�4�013>32&&#"!!!!3267#".'#53&45447#�<`�Z��3y�\d�����d\�y3��Z�`>���Zb�J��{���q/-q���{!��J}�bq/1��\'	�/�/01%\N��GN��OGJP�H��%	�/�/01'7'7��P��P��M��N^+��/�/��а/�а��а�ܱ��EX�
/�
>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y����а
����]@(8HXhx�����
]��ааа�аа��01!!53#534632&&#"!3!!^�������/B@+��/���Zu�u��u������F^+��/�/��а/�а�ܱ�����EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y����а�ааа
����]@(8HXhx�����
]��аа��01!!53#5346323!&&#"3#^�������g�;��L>����u�u���m3
��u�F���K�+��
���а�	а�а�
а
/��а���/�EX�/�>Y01'#755'37'7��n����n������n�p��p�'u�/;	�/�/01#53/����.��n�A�+��а�

����EX�/�>Y�EX�/�>Y����01%!#5255#.@)PwP�˻�E{\7t���m�y�+�
+��а�

�
���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y������
аа��015!#5255#%!#5255#?(PwP��/>'PwP�ɻ�E{\7t���E{\7t����\/'3?K��

+�"
(+�.	+�:
@+�F	4+@

&
6
F
V
f
v
�
�
�
�
�

]��
�
]��"�"]@""&"6"F"V"f"v"�"�"�"]��"�"]�"�а/���]@	)9IYiy�����
]��4�4]@	44)494I4Y4i4y4�4�4�4�4�4
]��@�@]@	@@)@9@I@Y@i@y@�@�@�@�@�@
]�F�M��/�1/�I/�EX�/�>Y�EX�/�>Y�++�
+�����]@(8HXhx�����
]�1�%�@%%'%7%G%W%g%w%�%�%�%�%�%
]��%�%]��7а%�=а+�C�01'4&#"326%4632#"&4&#"326%4632#"&%4&#"326%4632#"&���f=��/311113/��bfgbbgfbb/321123/��bgfbbfgb�/411114/��bfgbbgfb���)#�@VV@?VV?i��ih���@VV@?VV?i��ih��h@VV@?VV?i��ih��������&"�s��1s�&&�s������&"�s��1s�&&�s��1s�&&Au�����&*�s�����&*�s�����&*�s�����&*Au�������&0�s�������&0�sh?0 �/�EX�
/�
>Y�EX�/�>Y01#".#"#".54>3232>323�u;9Pd8:9<965D�g='NyT$F>9 >?@#�m�/E?��

�f+zqR{��\J�vL�{�+XN;�������&0Au��1��s�&6�s��1��s�&6�s��1��s�&6Au���	D�+������EX�/�>Y�EX�/�>Y�����а	�01!!53#5!3����]�u�y�����X�/�/�/01''�5�5)9C��A#N/N�+�+01#".#"'632327NZ�9H76&g?P\�9H75'f@͞%+%o/�%+%q�R��	�+01!5!��/Rq�F�	�/�	/�+01#"'7327�u��uN^qq^�ttL^^u^/�+�/�EX�/�>Y01#53/��^����:�

+���]@	)9IYiy�����
]�+�+014>32#".732654&#"�">R//R=##=R//R>"ZP77PP77P�0Q>##>Q0/R=##=R/7PP78PP�/	#�
+�EX�/�>Y�EX�/�>Y01#52553/RX��s)�X_u�)�dw�/�/�/�/01#3#3�����ы��w��w��'4�	
+@		&	6	F	V	f	v	�	�	�	�	�	
]��	�	]�/�/01"&54673�}�5'%2mP��}f@\#'-LH`���X�/�/�/01	77����5���� D��u/�EX�/�>Y�EX�/�>Y01##53-3R3����V����H�#�/�/�EX�/�>Y�EX�/�>Y01###�(g+�+e+�/�/�7��b���/�EX�/�>Y01#b�Th��
�����!5��6/�7/�ܰ6�а/��"��"�"]@	"")"9"I"Y"i"y"�"�"�"�"�"
]��,�@,,&,6,F,V,f,v,�,�,�,�,�,
]��,�,]�	/�/�/�!/�1
+�'+01'#"&''7&&547'763274.#"32>�u155/sPs=�\^�=sNs/1buNu�\�;uJ/\�RR�Z//Z�RR�\/7t>�\\�=sNq/15/uNu=�\�vNwg6/u�P�g99g�PP�b77b���F��+����/�/01#35#3���������	�+01!5!��\��u��%`�
	+�
�а/��а/����EX�/�>Y�+�����]@(8HXhx�����
]01353!57654&#"#432�!;E-�b�k�/7)sf�T7B7-5?/I�N�/)#%��)1����#!��	+��а/���]@	)9IYiy�����
]��а/� 9�EX�/�>Y�+�������]@(8HXhx�����
]� 901#"'732654'&#5254#"#47632�s\�jl):!CjXpi@?Z\iBL�Ek�{2 8

dBJ{j83\HL#5��(�	+��
��EX�
/�
>Y�+���01!53#52>533���Z`JC8$mZ�["3Jc6K0�+���7#&��'/�(/�"ܰа/�'�а/�а�	�"�	�а/�"�а�$в%"9�&"9�/�EX�/�>Y�EX�/�>Y�EX�/�>Y�$+�+��в9���$�а� а�"а#�01'!53#52>533!535#533#3'5���^F�=��Z`JC8$mZ��\��oZZZ�w���<��["3Jc6K0�+��Z<KN��\<������70��1/�2/�ܰа�а/��	�а/��а1�#а#/�-а#�/	��/�EX�-/�->Y�EX�/�>Y�EX�/�>Y�+�0 +���0�"в$901'353!57654&#"#432!53#52>533���^F^!<F-�b�j�/7)sf�T7B���Z`JC8$mZ���<�_8-5@/J�N�0)"%��)1["3Jc6K0�+�����7!%47�8/�9/�8�а/�	�@&6FVfv�����
]���]�а/��а/� 9�9�3ܰ%а%/�3�)	�-а-/�3�.а)�5в639�739�%/�EX�/�>Y�EX�#/�#>Y�EX�&/�&>Y�5*+�+��ܰ����]@(8HXhx�����
]� 9�&�(�5�/а*�1а(�3а4�01#"'732654'&#5254#"#47632'!535#533#3'5�s\�jl):!CjXpi@?Z\iBL�^F\��\��oZZZ�w�Ek�{2 8

dBJ{j83\HL#5��<��Z<KN��\<��������/�/�ܰ�а/�
а����]@	)9IYiy�����
]�����EX�/�>Y�EX�/�>Y�
+���
�а�а��01#!#53!2#!3#!2�<z���X�����y5����������f^uFk���/u�bmDN�	/�/�/�/01	'7D��#P���N!��N#!���N#��N#"N��#������&:�s1�
t�/�/�ܰ�а/��а����]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�+�	
+01!##33 4!#326��������������������\ 0°1/�2/�1�а/�2�ܲ9�9�!��!�!]@	!!)!9!I!Y!i!y!�!�!�!�!�!
]��)�@))&)6)F)V)f)v)�)�)�)�)�)
]��)�)]�/�EX�/�>Y�9�9�,�@,,',7,G,W,g,w,�,�,�,�,�,
]��,�,]017&&'77#"&5466$7&&'4&'32>�)V/-uf�NyP�`7G��y�t��)yG����b��\�b3Ѡ#u-5�P{3��p�ϒN��i�zTFn/���7d/Fb}Lt�@t�����u�T&Z�1���!�"/�#/�ܰ"�	а	/��в	9�����]@	)9IYiy�����
]����EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��@'7GWgw�����
]���]�9�����]@(8HXhx�����
]�901#"'#36324.#"32>�Bx�n�}��}�j�{D�+RR�ww�RR+�m��Hc�A��?bE�qR�d:��9g������6&"�s����u�&B�������y&"�s����u&B�����o�
+���]@	)9IYiy�����
]�9����/�EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�+�901"&5467#!#33o}�H{��y����1mP�?���}f0Ku����-LH`��_������3D��B+�
+����
а
/��!а�9�@BB&B6BFBVBfBvB�B�B�B�B�B
]��B�B]�/�EX�./�.>Y�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�=+�.9�.�'��'�']@''('8'H'X'h'x'�'�'�'�'�'
]��4�@44'474G4W4g4w4�4�4�4�4�4
]��4�4]�=�:а:/01!3"&5467#5#"&54>3254.#"'66322>55&&#"smP}�<$[dd-��X��`%;56 ;V^!h�L>T�}L�uF�V�`5C{-J�f>s?#H`Z}f0K�-D+��XwECDX38/g3A'Q�\��3LV#X
-H5;c�������&$�s�����S&D���������&$�s�����W&D���������&$�s�����&D��������&$�s�����W&D����1��&%�w��)&*ٰ+/�,/�ܱ�+�
а
/��а�а
��@&6FVfv�����
]���]�/�/�(/�EX�/�>Y�EX�'/�'>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�$�@$$'$7$G$W$g$w$�$�$�$�$�$
]��$�$]�$9����)�01!#5#".54>32#5!&&#"327#�/u;Z�c55c�Z;u/�C�/l<=`B##B`={\�TeV58H��kj��I55Tu��A::d�PP�d:}?�/�����������-,	�-/�./�ܱ�-�а/��а�а�а�а�%�@%%&%6%F%V%f%v%�%�%�%�%�%
]��%�%]�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+��*�@**'*7*G*W*g*w*�*�*�*�*�*
]��*�*]�*9�� �� � ]@  ( 8 H X h x � � � � � 
]� 9���01##5#".54>325#53533&&#"327-��;�Jo�yAAy�oJ�;������;�NR}T++T}R�v�V58H��kj��I55�u���mA::d�PP�d:}��1s6&&�s��������&F����1sy&&�s�������&F����1s�&&�s�������&F�1��{�+�
+���]@	)9IYiy�����
]����/�EX�/�>Y�EX�/�>Y�EX�/�>Y�
+��
����01"&5467!!!!!!3}��B�G���1lP��}f0Ku�-u�s-LH`������'0��

+��
�
]@	

)
9
I
Y
i
y
�
�
�
�
�

]�
9�/�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�(+��"�@""'"7"G"W"g"w"�"�"�"�"�"
]��"�"]��+��+�+]@++(+8+H+X+h+x+�+�+�+�+�+
]01%3"&5467#".54>32!3267&&#"�mP}�++l��HA{�mw�w9����i�)`^��BpV:B#H`Z}f)BH��mj��IP��w��V@B�虖+PqC��1s�&&�s�������W&F���������&(�s�����usW&H��������y&(�s�����us&H���������&(�s�����us&H������/&(����us�#2�3/�4/�3�а/�4�ܲ9�9��,�@,,&,6,F,V,f,v,�,�,�,�,�,
]��,�,]�
а
/���!а�$��/�/�EX�"/�">Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�	+��/�@//'/7/G/W/g/w/�/�/�/�/�/
]��/�/]�/9��'��'�']@''('8'H'X'h'x'�'�'�'�'�'
]�!'9013#"&'732655#"&54>3253&&#"3267`��Bw�c��G`+�h��z��Ay�mL�;��;�NR}R+��N�;^u����`�h7hbJAX��dl��j��I55T�A::d�N��;B��1s�&)�s��1s�&I�u�w/��/�/�ܰа���	а	/��	�
а�а�а�а���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+�+��
а�а�а��013##!##5353!53!s����щ���/����Hq�)\���q�������ws��/�/�ܱ��а/���а�а�в9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�
+�����]@(8HXhx�����
]��а
�в901!#4&#"##53533#3 s�lyL{V-������c�X?}�Fu�R�^�p��p������NNs&*�s��NN�&�������6&*�s�����&�������y&*�s����&������u��	+�
+���]@	)9IYiy�����
]�9�/�EX�/�>Y�EX�/�>Y�EX�/�>Y����
�аа�а�01"&5467!53#5!#33u}����/��1mP��}f0Ku/uu��u-LH`���u��+�
+���]@	)9IYiy�����
]�9��	��в9�/���/�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y����
��а�01"&5467!53#5!33#53u}����]�1mP������}f0Ku�u��u-LH`������&*�s�u�g�/�/�ܱ��а/���EX�	/�	>Y�EX�/�>Y�EX�/�>Y�+�����аа�а�0132>53#"'!53#5!#31H\s=����{�����/�Ҫ94Js�H��d���
u/uu���u�
$��+�"+����	а"�&��EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX� /� >Y�EX�/�>Y�EX�/�>Y�EX�"/�">Y�+�����
���а
а�аа�а�01#53!53#5!3#53"'732>5#5!u�������\�u���s�ci%uVC\6�\�^���u�u���\�HLR'HfB/u�\��������s�&+�s�uXX,�+�/�/�/�EX�/�>Y�+���01"'732>5#5!''\�bi$uVD\5�\�D5�5)�u�HLR'HfB/u�\���C��A#��1���&,���1���&L�1��J�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�901!##33�������-������
��T��1s�&-�s�����&M�u��1��s&-�������&M���1s&-w����&Mw\��1s&-������^&M�/�^s
O�+��а���EX�/�>Y�EX�/�>Y�9�9�9�	9��01!!5737!s���Ӊ���3EEg��FF�����+�����а�	а�
а�а�в9����EX�/�>Y�EX�/�>Y���9�9��	�
ав9�901#5!73!535��]��������w��FF�ww�E��1s�&/�s��1sS&O����1��s&/���1��s�&O���1s�&/�s��1sW&O����s/&Ow�t1�us^�/�/�ܱ�а/��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y�	+�9�901%#"'732>7#33s���{V1HA^B)
�߉���}���`94'BX1u����1�us� ��!/�"/�ܱ�!�а/��в9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+�����]@(8HXhx�����
]�90132>54&#"#33 #"'�CD\5lyL{V-��c�X��ZD�'HfB?}�Fu�R�^��������������6&0�s�������&P��������y&0�s������&P���������&0�s������v&P����1��&3�s���T&S���1���&3�������&S���1��&3�s���X&S�������&4�s�������T&T�������&4�s�������X&T����/H��
)+�

+�32+�2���а2�5а)�?�3�J��EX�2/�2>Y�EX�4/�4>Y�EX�./�.>Y�EX�
/�
>Y�EX�/�>Y�
.9�1
.9�.�:��:�:]@::(:8:H:X:h:x:�:�:�:�:�:
]01#5255&&'#332>54.'.54>3253#4.#"�7\{FRX��`�/tt>`}A:bJ+7]t<G�pFDn�M_�-yy1Tl<5`H+3Vq;J�tJTJy\;
�X_u�PG��CoP-!=X8?Z@-7TyZP}V-NP���;gI+5T:3H7-@Z�������;��2!+�

+�+���]@	)9IYiy�����
]@22&262F2V2f2v2�2�2�2�2�2
]��2�2]�EX�&/�&>Y�EX�
/�
>Y�&�-��-�-]@--(-8-H-X-h-x-�-�-�-�-�-
]01#5255&&'73 54.'.54>32&&#"�;b}BRX��z�Z=g�k53Vo=N�MGw�V{�N7P�`+iZ=3Vo=L�NDbA%�X_u�E<vAF�'1<dRFfD 95k8-%;-'/:d������&4�s�������X&T������&5������&U�����&5�s������&Uw\�����/�а/�ܲ@]���а�
��ܲ@]�
��а���EX�/�>Y�EX�/�>Y�+���аа�а�
а��а�01#3!53#53!#!#!3��������u�u���`�uu�q����GD�-���#��+��а�а�а�!��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�#+���@'7GWgw�����
]���]��а#�а��а а!�01#3267#".55#53#533!!3/�!;T6f�
sǕR�`5���Ӊ��s��h3ZD'e��6`�Phquu��u���1��ss&6�s��1��s&V���1��s6&6�s��1��s�&V���1��sy&6�s��1��s&V���1��s>&6�s��1��s�&V���1��s�&6�s��1��sw&V�1��s&��+�#
+�+���]@	)9IYiy�����
]�#9��(��/�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�	/�	>Y��@'7GWgw�����
]���]01"&5467#".5332>533�}�!m�e1�=mXXo=��2mP��}f)@F�oF��;�lHHl�;H����+-LH`1������+�
+��а/��а���/�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�
/�
>Y�
9��@'7GWgw�����
]���]01"&5467#5# 332>533�}�>b����myLzV-�1lP��}f0K�{@��}�Fu�R��\-LH`������&8�s�����X&X�������&:�s����u�X&Z���1w�&;�u��/wS&[����1w�&;�u��/w&[���1w�&;�u��/wW&[����/��+����а�	��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��аа��а����]@(8HXhx�����
]01%3!53#534632&&#"�������/A?+��uuu�u��u��������&��w������V&���������&��w������V&�������/&4���������&T������&5������&U��^F/	�/�/01#FTe/�/�^�/9�	+�/�EX�/�>Y�EX�
/�
>Y���ааа	�01##53#53FTe�����/�/�/��������/"�w�����_s/"�w�����_s/#w������/#w������[���/"�w�����[�/"�w�����[�/"�w�������/&�x���
0�EX�/�>Y�EX�/�>Y�EX�/�>Y�+01!#!#3�{��y���}��u������_1�$��!+�+��
��
9���]@	)9IYiy�����
]�!�а�&��EX�/�>Y�EX�/�>Y�+�
9����!�01#!!24.#!!2>4&#!!26���`�R�}N��:Zl2�8lV8-������u��J�j�JLaEX/�E1V��{���1�*�+�EX�/�>Y�EX�/�>Y���01!!#1s��u�\���!�EX�/�>Y�EX�/�>Y��01!!3����������\��1s=�
+�
���EX�/�>Y�EX�/�>Y�+����
�01!!!!!!!s��B�G���u�-u�1w
U�/�/�ܰ�а/�в9��
��
��EX�/�>Y�EX�/�>Y����
�01!!5!#!!3w�����u1�w)uu/���u��E1s`�/�
/�ܱ��а/��а�	��EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�	+01!#!#3!3s��щ�/�\����H����/+�,/�-/�ܰ,�а/�����]@	)9IYiy�����
]��"�@""&"6"F"V"f"v"�"	]@	�"�"�"�"]��"�"]�EX�/�>Y�EX�	/�	>Y�+�����]@(8HXhx�����
]�	�'�@''''7'G'W'g'w'�'�'�'�'�'
]��'�']01!!%#".54>324.#"32>��)�6v����w55y����v8�1\�Vk�T!!T�kj�T �u9��qq���qq��ϒMd��cbǟee����=�
+�EX�/�>Y�EX�/�>Y����а	а�
а�01!!53#5!#3����/��u/uu��1�J�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�901!##33���N���/������{�����1�EX�/�>Y�EX�/�>Y�EX�/�>Y�901!#3P����������s��1sm�
/�/�ܱ�
�а/��
9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�9�
901!###33s��b扲��?�_����V�1s	b�
/�/�ܰ
�а/�����EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�901!##33s�����P�����~�/�/��а/���ܱ�а�	а�а�
��EX�/�>Y�EX�/�>Y�+��ܰ���аа���
ܰа�013!53!!#!#!!y�y�\+�Ny�y���)-������0���u����/'�(/�)/�ܰ(�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv���]���]���]�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>324.#"32>�6v����w55y����v8�1\�Vk�T!!T�kj�T ���qq���qq��ϒMd��cbǟee��1sK�/�	/�ܱ��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y���01!#!#!s��щB��\1�
r�/�/�ܰ�а/������]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�+���01#!#!24&#!!26���ى��쉪���'����������y�y+sC�+��а�
��EX�/�>Y�EX�/�>Y��	���01!!55!#!!3s��H��Hy��E��+yuu�GD���E�k�/�
а
/�	ܲ@	]�ܲ@]�
�	��
�
����EX�/�>Y�EX�/�>Y�����а	а�
а�01#!3!53!#!�u������u�`D��uu/������g�+�9�EX�/�>Y�EX�/�>Y�EX�/�>Y�����аа�
ааав9�а�01#3!53#5!##5!�j������jpl��lp����Buu�quu��u���"+��#
+�+�+��а�д��]@	)9IYiy�����
]���@##&#6#F#V#f#v#�#�#�#�#�#
]��#�#]��&��EX�/�>Y�EX�/�>Y01#5.54>7534.'66%�=o�^�^�o;;o�^�^�o=�'GkC���B��CiG%�b�P
��
P}�bc��O
��
R�cF}b@�%Ǎ���B`}���z�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��в9�аа	а
а��ав9�аааа
�а�01!!533!53#5!##5!#3���X��X����mum��iuq��u��Tuuuu�^�uu���1sU�	+�+�+��а���EX�
/�
>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y01#&533>53s������-RC�AR/�'���D��5ufN_��Nfu5����"��u������#�u������/"�w�����/&�w����s/&�w������/&�w�����/&�x����)̳+@&6FVfv�����
]���]�EX�/�>Y�EX�/�>Y�EX� /� >Y�EX�%/�%>Y��@'7GWgw�����
]���]�����]@(8HXhx�����
]�%9�9�"%90132>7.#"4>323##".�;aC<\G44G\<Ca;�-`�d{�)8����8)�{d�`-�@�lFFj�@?�jFFj�?^��R���/�-��R��1���/4
�+�'+��'�']@	'')'9'I'Y'i'y'�'�'�'�'�'
]�'9�/���]@	)9IYiy�����
]��9��1а�6��EX�/�>Y�EX�/�>Y�EX�/�>Y�$!+���@'7GWgw�����
]���]�9�!$9��,��,�,]@,,(,8,H,X,h,x,�,�,�,�,�,
]01"&'#4>32'2654&##532654.#"�c�@�Bp�Z`�h8um��Bt�b����ZZ��@fJ5gQ2<�01�AT�i9;^}@h�%)�{R�d:u�tu�u�l%PA+ DfF�-A8��{�>�+�9�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�901#367{9VwM��s�=w��w���k��J�����'��y/'7�.+�+�(+@&6FVfv�����
]���]�9��(�(]@	(()(9(I(Y(i(y(�(�(�(�(�(
]@..&.6.F.V.f.v.�.�.�.�.�.
]��.�.]��9��EX�/�>Y�EX�/�>Y�9��%��%�%]@%%(%8%H%X%h%x%�%	]@	�%�%�%�%]��3�33]@'373G3W3g3w3�3�3�3�3�3]��3�3]01#".5467.54>32&&#"4&'32>NR{�{R<n�b`�o;��%@/'KmET�==0j>CX�����CoNNnFD)LRb�fa�s>>s�av�\37B)+TC)!)b!;�r�GG�u9nY58Xn����0��++�+�а/@&6FVfv�����
]���]��а/�EX�/�>Y�EX�&/�&>Y�+�����]@(8HXhx�����
]�&��@'7GWgw�����
]���]�.9014>32&&#"33#"3267#".5467&&Bw�a��=f)�v��@bB��DdD#��{�/`?Ϡd�}Hq\c^�?iG'ddFFTXJ3)t+7PZLHBdc'JkCHww�u�(��)/�*/�"ܱ���]@	)9IYiy�����
]�)�
а
/�
"9��@&6FVfv�����
]���]�%/�EX�/�>Y��014.'.54>7!5!'66!;X7T��fd��;���mHs�JG�b;tu<XDs%+#d��h˴�5uu1���\q�P3XJV�)h!`��s���/�/��а/��9��ܱ��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�����]@(8HXhx�����
]��016632#4&#"#4&#"'6632/�h���VZh��-#"!9GmNf���I�t������+/k
X)��/)��*/�+/�ܰ*�
а
/���
��$а�%��EX�/�>Y�EX�/�>Y�%+���@'7GWgw�����
]���]�����]@(8HXhx�����
]01#".54>322>7!"!.1g�qs�i//i�ss�i/�TNlD��!DjNNjD!@!Dj����cc������dd���?N��ll��N\I��hh��I�����]�
+�EX�/�>Y�EX�/�>Y��	���@'7GWgw�����
]���]�901%#".5#5!327�9+-R>%�]j1
:V7\y�+q1��J�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�901!##33�������-������
��T���/]�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�����]@(8HXhx�����
]01!#'&&#"'632������93DZ/``V�'�/����-Av#=c�q1����!��"/�#/�ܱ�9�"�а/��
��EX�	/�	>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�	9�	9���@'7GWgw�����
]���]�в	901%#"&'#332>53327#"&u�b<h��mN/TA%�)11%Hl�Li>9�+��jw)NsG�-/m
Y{�
1�EX�/�>Y�EX�/�>Y�EX�/�>Y�901#367{#������/w��!��������u�/:ó8+�'.+�8'9@&6FVfv�����
]���]�89�/���.�.]@	..).9.I.Y.i.y.�.�.�.�.�.
]�'�<��*/�EX�/�>Y�"3+�+�9�����]@(8HXhx�����
]01&&54>32&&#"33#"'6654.'.546osDq�PN�?+FzFu�����L}X/Fs�LG�b;tu<XD!;X7uÍP��#�`NX1##j#}dqt'H^7N\13XJV�)h!`/%+
#P�ml������'�(/�)/�ܰ(�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv���]���]���]�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>324.#"32>�E��om��EE��mo��E�/\�RR�Z//Z�RR�\/�m�HH�mj��II��jP�f::f�PP�b88b�1����&ΰ'/�(/�ܰ'�	а	/������]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�EX�/�>Y�"�@""'"7"G"W"g"w"�"�"�"�"�"
]��"�"]�"9�����]@(8HXhx�����
]01#"'#4>324.#"32>�By�n�{�1i�oi�x@�)RyN=kL+<�NT}T+�m��Ha�AF\��TG��jP�d:)Z�d�A8:b��u��+��,/�-/�,�а/�-�ܰа/���@&6FVfv�����
]���]��"��"�"]@	"")"9"I"Y"i"y"�"�"�"�"�"
]�/�EX�/�>Y����]@(8HXhx�����
]014>32&&#"'6654.'.H��m��;`+�hR�[1Hs�JG�b;tu<XD!;X7o��T�l��Gl\BDR:d�P^}N%3XJV�)h!`/%+8j������)Ͱ*/�+/�*�а/�+�ܲ9���@&6FVfv�����
]���]��$��$�$]@	$$)$9$I$Y$i$y$�$�$�$�$�$
]�EX�/�>Y�EX�
/�
>Y���а
��@'7GWgw�����
]���]��)�01#".54>3!!"32>54.'�+TD)By�df�wAI��j#�۪�+RrJJuT+#BZ9/Nix>f�yBH�mj�{Bu��N�b:3X}J<viP����\�+�EX�/�>Y�EX�/�>Y���аа��@'7GWgw�����
]���]01!5!!3267#".5��s��sj#(R-R>%/uu��qk:V71������/�/��а/���ܱ���]@	)9IYiy�����
]�EX�/�>Y�EX�/�>Y�EX�/�>Y�
�@

'
7
G
W
g
w
�
�
�
�
�

]��
�
]01".5332>54&'7�^�n<�-Lg9\}L#%+�)+5q�0`�`>��=bD#N{�Dh�\5`�{^��a����!-��+�+�%+@&6FVfv�����
]���]��а�"д�%�%]@	%%)%9%I%Y%i%y%�%�%�%�%�%
]��/��EX�/�>Y�EX�/�>Y��*��*�*]@**(*8*H*X*h*x*�*�*�*�*�*
]012#.54674>6654.#"TR�^5=o�`�^�o;d\RBG��-L��)?R'#�G��lb�}P
��c
P�b��F^5�l���+N: ��ɍP�d:-2���u��<�/�EX�/�>Y�EX�/�>Y�9�9�9�	901	#73��Ǥ���yJ-���^�u+���iE��'�j��1��s^K�	+�+�+��а���/�EX�
/�
>Y�EX�/�>Y�EX�/�>Y01#&533>53s������-RC�AR/�����c��-5ufN��Nfu5������4ֳ+�+�-"+�9@&6FVfv�����
]���]��"�"]@	"")"9"I"Y"i"y"�"�"�"�"�"
]�-�6��EX�
/�
>Y�EX�(/�(>Y�EX�/�>Y�EX�2/�2>Y�
9���@'7GWgw�����
]���]��01%#".54>73265332654.'7#"&�rPHd@
�9F=V�X=F;
�!@dJPs�RgDw�d>���/5-u}3����Q������3}u-5/���>d�wDg������&����1���&��������/"�w��1���/&�w������/&�w��1s�&��u�w��s#�$/�%/�$�!а!/� �а%�	ܲ!	9�!	9���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX� /� >Y�EX�/�>Y���9�9���@'7GWgw�����
]���]�����]@(8HXhx�����
]��"а#�01!#3 #"'73254&#"##���c�X%>R-T&#jlyL{V-��u�����7V:m	qp}�Fu�R�^���1��&��u����/.��//�0/�ܰа/�/�а/��
�а�$�!а�.а./�EX�/�>Y�EX�/�>Y�"#+�9�����]@(8HXhx�����
]��,�@,,',7,G,W,g,w,�,�,�,�,�,
]��,�,]01#".54>3253#4.#"!!32�3tt�[�pO36w��y�*uu5ZzE`�U+F��#&7GW5�`V�db4[~��X��qVX��TFzZ3T��[uX�G'B0'���/?ӳ
 +�*)+�)���а)�,а �6�*�A��EX�)/�)>Y�EX�+/�+>Y�EX�%/�%>Y�EX�	/�	>Y�EX�/�>Y�%9��@'7GWgw�����
]���]�(%9�%�1��1�1]@11(181H1X1h1x1�1�1�1�1�1
]01#"&'#332>54.'.54>3253#4.#"�Dr�Pn�6tt>`}A:bJ+7]t<G�pFDn�M_�-yy1Tl<5`H+3Vq;J�tJTR�`4RP��CoP-!=X8?Z@-7TyZP}V-NP���;gI+5T:3H7-@Z���=�
+�EX�/�>Y�EX�/�>Y����а	а�
а�01!!53#5!#3����/��u/uu������&*�s����sL�+�EX�/�>Y�EX�/�>Y�
�@

'
7
G
W
g
w
�
�
�
�
�

]��
�
]01#"&'732>53s�ٮ�/w+�}\s=��ﷶ-��Js�H'�u���$��#+�+�+���]@	)9IYiy�����
]��	а�&��EX�	/�	>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+�	��	9��!�@!!'!7!G!W!g!w!�!�!�!�!�!
]��!�!]014&##32632####"&'7325l\LL\l��J����ѻ :L+(6
 ^q��%�����+7V:	
s	qJ1���	+�
+�+���]@	)9IYiy�����
]��а�а
���EX�
/�
>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�+����а��014&##32633332###l\LL\l����J����ѻq�����0�м���u���ws��/�/��а/��а�	ܲ	9�
��EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y���	9�����]@(8HXhx�����
]��а�01!#3 #4&#"##���c�X�lyL{V-��u�����?}�Fu�R�^���1��&��u������{&��u1��sS�+�+�	+�/�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y��	�01!!#!3!3s������/���?�\����
0�EX�/�>Y�EX�/�>Y�EX�/�>Y�+01!#!#3�{��y���}��u������_1�s�/�/�
ܱ���]@	)9IYiy�����
]��а/��	��EX�/�>Y�EX�/�>Y�
+�����014&#!!26!2#!!!����'����'����RB�Gq�������u1�$��!+�+��
��
9���]@	)9IYiy�����
]�!�а�&��EX�/�>Y�EX�/�>Y�+�
9����!�01#!!24.#!!2>4&#!!26���`�R�}N��:Zl2�8lV8-������u��J�j�JLaEX/�E1V��{���1�*�+�EX�/�>Y�EX�/�>Y���01!!#1s��u�\���R�
+�+�+�
+�
���
/�/�EX�/�>Y�EX�/�>Y��аа��015>5!3#!#!#9X<��{�R{u1P9��u1q�#�B�\�L?�����њ9/1s=�
+�
���EX�/�>Y�EX�/�>Y�+����
�01!!!!!!!s��B�G���u�-u�����+��а�
��EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�9�9�901!'#333#�7���?���7�7���?���7d���8��D��D��jd�����/>�-
++�7+�7�	��-�а/���]@	)9IYiy�����
]�-�)а)/�:+9�7�@��EX�2/�2>Y�EX�/�>Y�+���@'7GWgw�����
]���]�2�#��#�#]@##(#8#H#X#h#x#�#�#�#�#�#
]�-29�:901#".'732>54.#52>54'&#"#3>32�Fu�T^�}N�]\�;hN-2a�\C�d>IItAy*(6}uJX`0T�k>�|EiG$hV�d83f�c�ML(Fb:Pe9u6YCnBC2)&pL��1B)1\�Up�
<Yo1s	b�
/�/�
�а/���ܱ��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�90133##1����������P����1sy&��s1�J�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�901!##33���N���/������{�����s��/�/�ܱ��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�
/�
>Y���
9�
��@'7GWgw�����
]���]01#!#"'7325s��[%>R-T'#j����+7V:m	qJ1sm�
/�/�ܱ�
�а/��
9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�9�
901!###33s��b扲��?�_����V�1s`�/�
/�ܱ��а/��а�	��EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�	+01!#!#3!3s��щ�/�\����H����/'�(/�)/�ܰ(�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv���]���]���]�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>324.#"32>�6v����w55y����v8�1\�Vk�T!!T�kj�T ���qq���qq��ϒMd��cbǟee��1sK�/�	/�ܱ��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y���01!#!#!s��щB��\1�
r�/�/�ܰ�а/������]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�+���01#!#!24&#!!26���ى��쉪���'����������y�y����/%�&/�'/�ܰа/�&�а/��
�а��@&6FVfv�����
]���]��%а%/�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�
9�
����]�(]@8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>3253#4.#"32�3谉�y55y��y�)uu5Z{Dj�T##T�j�`V��n���qVX��TE{Z3d��cbǝe%�k�/�
а
/�	ܲ@	]�ܲ@]�
�	��
�
����EX�/�>Y�EX�/�>Y�����а	а�
а�01#!3!53!#!�u������u�`D��uu/�������Z�EX�/�>Y�EX�/�>Y�EX�/�>Y�
�@

'
7
G
W
g
w
�
�
�
�
�

]��
�
]�901#"'7326773��'�V``/ZD39�`�PJ�pb>#wB-����0���"+��#
+�+�+��а�д��]@	)9IYiy�����
]���@##&#6#F#V#f#v#�#�#�#�#�#
]��#�#]��&��EX�/�>Y�EX�/�>Y01#5.54>7534.'66%�=o�^�^�o;;o�^�^�o=�'GkC���B��CiG%�b�P
��
P}�bc��O
��
R�cF}b@�%Ǎ���B`}���z�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��в9�аа	а
а��ав9�аааа
�а�01!!533!53#5!##5!#3���X��X����mum��iuq��u��Tuuuu�^�uu���1��O�+�+�+��
��/�EX�/�>Y�EX�	/�	>Y�EX�/�>Y��а�01%#!3!3{���/�u�L?�\��\1s^�/�/��а/���ܱ�в9�EX�/�>Y�EX�/�>Y�EX�
/�
>Y�+�
901332>53## 1�myLzV-��b�����}�Ft�R���^�{�|�/�а/�ܲ�]�@]���ܲ�]�@]���
��
��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��
а�013!3!3!����\��\����\��o�+�+�+����а���
/�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y��ааа�0113!3!33#���{{�\��\��\�L?�v�/�/��
а
/��а�ܱ
��
�
]@	

)
9
I
Y
i
y
�
�
�
�
�

]�EX�/�>Y�EX�	/�	>Y�+���	��01!32#!#4&##326u���Ƕ����o��o��м���������
��+�+�+���]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�+�	��01332#!4&##3263#���������l]��]l@�����q��%��1�l�/�/�
ܱ���]@	)9IYiy�����
]��а/��	��EX�/�>Y�EX�/�>Y�
+���014&#!!26!2#!3����'����'����R�q������������/.��//�0/�/�а/�
�а/�0�#ܱ
�
а�а�.а./�.#9�EX�/�>Y�EX�*/�*>Y�

+�*��@'7GWgw�����
]���]�����]@(8HXhx�����
]�*90132>7667!5!.#"#36632#"'&'o`�5WG7&#��F+U�`EzZ5uu*�y��w63Op�[�tt3���0B'G�Xu[��T3ZzF��XVq��X��~[4bd�1���/"޳+�+�+��а�д��]@	)9IYiy�����
]��$��EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�	/�	>Y�+�	��@'7GWgw�����
]���]�����]@(8HXhx�����
]0133! ! ##%2>54.#"1��
!���
��V/< 

 <//;!!;��h�\�^i��^R��{{ϓRR��{{̔R��s��/�/��а/��
ܱ��а/���@&6FVfv�����
]���]����EX�/�>Y�EX�
/�
>Y�EX�/�>Y�+��а/���01.5463!###3!!"}R�e9����������$�ܐ�58\�R����/����y{����s�&7�8/�9/�8�а/�9�ܱ�в9��,а�5�@55&565F5V5f5v5�5�5�5�5�5
]��5�5]�EX�/�>Y�EX�/�>Y�EX�$/�$>Y�0+�����]@(8HXhx�����
]�$9�$�'�@''''7'G'W'g'w'�'�'�'�'�'
]��'�']�0�-а-/01'4>3254.#"'6632#5#"&2>55&&#"X��`%;56 ;V^!h�L>T�}L�uF�$[dd-��wV�`5C{-J�f>s�XwECDX38/g3A'Q�\���-D+�3LV#X
-H5;c���/
:
�;/�</�;�а/�)�@))&)6)F)V)f)v)�)�)�)�)�)
]��)�)]�а/�<�3ܱ���]@	)9IYiy�����
]�а/�EX�/�>Y�EX�/�>Y�EX�8/�8>Y�.+�8��@'7GWgw�����
]���]��$��$�$]@$$($8$H$X$h$x$�$�$�$�$�$
]���)890132>54&#"'4>323267#".#">32#"���FwV/�����?s�`->1-)9)G+t3':13#=kP-HXd1b�{FF{�b�����1]�O���/���d!R)7C�q-F1;u�ub�}HH1��&��#+�+���]@	)9IYiy�����
]�9�/���]@	)9IYiy�����
]��9�#���EX�/�>Y�EX�/�>Y�!+�!9����#�01#!!24.#!!2>4&#!!26�Ǻ��D�hBFf}\�.CR'��H)TD)-�t��et�
���5^LHbqJ+5
��
3��RL��N1��*�+�EX�/�>Y�EX�/�>Y���01!!#1s���u������R�
+�+�+�
+�
���
/�/�EX�/�>Y�EX�/�>Y��аа��015>55!3#!#!#/V@'��{�R{u!5D!��u
X�ߑ���L?��"tˠs�������"{�EX�/�>Y�EX�
/�
>Y�"+�
��@'7GWgw�����
]���]�����]@(8HXhx�����
]013267#".54>32'&&#"���i�)`FŽl��HA{�mw�w9���BpV:���V@BbgH��mj��IP��wu��+PqC�����+��
��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�
9�
9�
9�
901333##'#��������1�1ٓ��w��w��h���H��ZH�^�����.ų +��а/�� � ]@	  ) 9 I Y i y � � � � � 
]� �а/��0��EX�*/�*>Y�EX�/�>Y�+�9���@'7GWgw�����
]���]�*�#��#�#]@##(#8#H#X#h#x#�#�#�#�#�#
]01#"&'732654.##532654&#"'6632s_b\qH}�d��?`/�{��#DdD�����v�)f=əa�wB�DwwHCkJ'cdBHLZP7+t]3JXTFFdd'Gi1s�	b�
/�/�
�а/���ܱ��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�90133##1���������\����1s&��1��J�+����EX�/�>Y�EX�	/�	>Y�EX�/�>Y�EX�/�>Y�901!##33�������-������
��T���s���/�/�ܱ��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�
/�
>Y���
9�
��@'7GWgw�����
]���]01#!#"'7325s��[%>R-T'#j��\/��7V:m	q�1s�m�
/�/�ܱ�
�а/��
9�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�9�9�
901!###33s��b色�������1s�`�/�
/�ܱ��а/��а�	��EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�	+01!#!#3!3s��щ�/���^��s������'�(/�)/�ܰ(�
а
/�����]@	)9IYiy�����
]�
��@&6FVfv���]���]���]�EX�/�>Y�EX�/�>Y�����]@(8HXhx�����
]��#�@##'#7#G#W#g#w#�#�#�#�#�#
]��#�#]01#".54>324.#"32>�E��om��EE��mo��E�/\�RR�Z//Z�RR�\/�m�HH�mj��II��jP�f::f�PP�b88b�1s�K�/�	/�ܱ��а/���EX�/�>Y�EX�/�>Y�EX�/�>Y���01!#!#!s��щB/���1����$�%/�&/�ܰ%�
а
/�	�в
9�����]@	)9IYiy�����
]�	���EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y� �@  ' 7 G W g w � � � � � 
]�� � ]� 9�����]@(8HXhx�����
]�
901#"&'#36324.#"32>�D{�lJ�<���l�{D�+V}RN�<<�NR}V+�m��H65�7VlG��jN�d::A�A8:d�����(װ)/�*/�ܰа/�)�а/���а� �@  & 6 F V f v � � � � � 
]�� � ]�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�
9�
����]@(8HXhx�����
]��%�@%%'%7%G%W%g%w%�%�%�%�%�%
]��%�%]01%#".54>3253#4.#"3267�;͍m��HBz�l+ZP@{{-Nl>T}T+1]�Rh�+�\kH��mj��I)9'���>fJ):d�PP�b:PD��k�/�
а
/�	ܲ@	]�ܲ@]�
�	��
�
����EX�/�>Y�EX�/�>Y�����а	а�
а�01#!3!53!#!�u������u��C�Fuu������u��#�EX�/�>Y�EX�/�>Y�
+01#"'7326773��'�V``/ZD39�`�PJ��pb=#vB-����/���
$/2�0/�а/�ܲ�]��]�0]����а�а�/�а�*ܲ�*]��*]�0*]�*9��/�"а�1��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�#/�#>Y�EX�
/�
>Y�EX� /� >Y�����]@(8HXhx�����
]�
��@'7GWgw�����
]���]�
9�9�9�"
9�'а�-�01&#"327#"&546323632#"'#32654&#"�9TJIIJT95X����X5�5X����X5��9TJIIJT9�_��ɪ^}V���V��KV���V�L1^��ɬ_����w�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��9�аа	а
а��ав9�аааа
�а�01!!533!53#5!#7#5!#3��R��K�����V��^����y��yy`P{{��{{����1���O�+�+�+��
��/�EX�/�>Y�EX�	/�	>Y�EX�/�>Y��а�01%#!3!3{���/�y�H?���/��1s�^�/�/��а/���ܱ�в9�EX�/�>Y�EX�/�>Y�EX�
/�
>Y�+�
901332>553## 1�myLzV-��b������}�Eu�R��\�{��|�/�а/�ܲ�]�@]���ܲ�]�@]���
��
��EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y��
а�013!3!3!����\����/�\������u�+�+�+����а���
/�EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y��ааа/�а/0113!3!33#���{{���/��/��H?��v�/�/��
а
/��а�ܱ
��
�
]@	

)
9
I
Y
i
y
�
�
�
�
�

]�EX�/�>Y�EX�	/�	>Y�+���	��01!32#!#4&##326uݢ������i\��\i�������/��MT��V����+�+�+��д��]@	)9IYiy�����
]����EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y�+���013#32#!34&##326���n������ՉR\T��T\��\/������uMT��V1��
o�/�/��а/��а�ܱ���]@	)9IYiy�����
]�EX�	/�	>Y�EX�/�>Y�+���01!2#!34&#!!26�e��Ǻ��_�t��et�/������uMT��V#���� {�EX�/�>Y�EX�/�>Y�+�����]@(8HXhx�����
]���@'7GWgw�����
]���]01!&&#"'6632#"&'73267!���h�+`;͍m��HH��m��;`+�h������RDB\lG��lm��Hk\BDP��1����޳+�+�+��а�д��]@	)9IYiy�����
]����EX�/�>Y�EX�/�>Y�EX�
/�
>Y�EX�	/�	>Y�+�	��@'7GWgw�����
]���]�����]@(8HXhx�����
]0133! ! ##%2#"1������\�����h�����hXyw������s�
��/�/��а/��ܱ	��
а
/���@&6FVfv�����
]���]�	���EX�/�>Y�EX�/�>Y�EX�/�>Y�+��
а��01&&5463!###3!!"Z��Ǻ���—�ud��u�u�����\u���NTFV�������&�����us'��(/�)/�(�а/��а)�
ܲ
9�
9���#а�%��EX�/�>Y�EX�
/�
>Y�EX�$/�$>Y�+�+��в$9�
����]@(8HXhx�����
]��&�013533#3 #"'73254&#"##q����c�X%>R-T&#jlyL{V-��^��u�����7V:m	q�}�Fu�R�^���1�T&������ {�EX�/�>Y�EX�
/�
>Y�+�
��@'7GWgw�����
]���]�����]@(8HXhx�����
]013267#".54>32&&#"!���h�+`;͍m��HH��m��;`+�h�����PDB\kH��ml��Gl\BDR��u������2ٰ3/�4/�ܱ���]@	)9IYiy�����
]�3�а/�)�@))&)6)F)V)f)v)�)�)�)]��)�)]��)�)]�EX�/�>Y�EX�/�>Y��@'7GWgw�����
]���]��$��$�$]@$$($8$H$X$h$x$�$�$�$�$�$
]01#"&'73 54.'.54>32&&#"�R��L�\=g�k53Vo=N�MGw�V{�N7P�`+iZ=3Vo=L�NRl@J<vAF�'1<dRFfD 95k8-%;-'/:d��
_�+�9�/�����	��EX�/�>Y�EX�
/�
>Y�EX�/�>Y��
���а
�01#53!53#5!3/�������]�^���u�u�����&���u�>�+�9�/���EX�/�>Y�EX�/�>Y�
+���01#53"'732>5#5!麺�s�bi$uVD\5�\�^��\�HLR'HfB/u�\���u����$��+�!+�+�!�д��]@	)9IYiy�����
]��&��EX�/�>Y�EX�/�>Y�EX�	/�	>Y�EX�/�>Y�+����!�
!901#"&'7325!32#!4&##326� :L+(6
 ^�w�������\TyyT\/��7V:	
s	q������/��MT��V1����+�+�+��а�д��]@	)9IYiy�����
]��а���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�+��а�а��01333332#!#4&##3261���w�������m\TyyT\���u��������FMT��V��s��/�/��а/��а�
ܲ
9�����EX�/�>Y�EX�
/�
>Y�EX�
/�
>Y�EX�/�>Y�+��в
9�
����]@(8HXhx�����
]���013533#3 #4&#"##q����c�X�lyL{V-��^��u������?}�Fu�R�^���1�T&������u�&��1��s�S�+�+�	+�/�EX�/�>Y�EX�
/�
>Y�EX�/�>Y�EX�/�>Y��	�01!!#!3!3s������/���?���/1��A�/�	/�ܱ
��а/���/�EX�/�>Y�EX�/�>Y���013!#!/u�����\1�^A�/�	/�ܱ
��а/���/�EX�/�>Y�EX�/�>Y���013!#!/u���^������1��&#�u��1����&C�u��1��&%�u������s�&E�u��1s�&'�u�����&G�u��1s�&.�u���&N���1��&1�u��1���&Q�������&4�u�������&T�����&5�u������&U�u������&8Ay�����X&XA������&8�u�����T&X�������&8�u�����&X�������&:Ay����u�X&ZA��	�+01!5!��\��uF	�+�+�+�+���]@	)9IYiy�����
]���]@	)9IYiy�����
]��а/��а���EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�EX�/�>Y�
+�9�
9�����]@(8HXhx�����
]����01!##33254#" ! !!��ˉ���Jttyw�������T�������o//����u��	�+01!5!��\��u���P �/�EX�/�>Y�EX�/�>Y01%'�P�R�NNPN��PNDF/:EIT_"�Y
+�?
F+�I
+�'
0+�'�аF�а/�I�а�а/�I�аF� а?�+а+/��0�0]@	00)090I0Y0i0y0�0�0�0�0�0
]�?�6а6/�0�;а�J�@YY&Y6YFYVYfYvY�Y�Y�Y�Y�Y
]��Y�Y]�Y�PаP/��Uа'�a��C+�$3+�F+�T+��аF�а$�аT�а�*аF�,аT�7а�>а�Gа3�Mа�UаC�\�01#"&55##"&546335#"&54632354632##324&#"3264&##326%5#4&#"33#"3265oNNj�nNNnnNb`NnnNNl�lNNooN``No[9))7`)99)^5))9���Z7))99)`b)99))9NnnN``NnnNNl�lNNooN``NooNNl�l)99)`7��)7`)99����)99))7�f7))99)����
/�EX�	/�	>Y�EX�/�>Y�+��а��01!5!!5!'���+����+�P�R�NNVqqq��N��PN%\��+�	+��а	��01%#"'&##53233!5!\��{�f����{)V+d����p%��q�C�C��qJV	1�	+�EX�/�>Y�EX�/�>Y�����01!!#3''7'77V�s������P}}N}}N}}P}��u�r���M~~M}}P}}P}\/F�/�
/�ܰ�а/�	��		��EX�/�>Y�+��а�а��01%!!5#5!!5!\����m�n���n�����b�(��)/�*/�ܱ
���]@	)9IYiy�����
]�)�$а$/�#	�($9�EX�%/�%>Y�EX�/�>Y��@'7GWgw�����
]���]�"%9�%�'�01#".'732>54.'7#!#bI�cP�uVICcyER�j=(Li?J{\3��P��o���b�}J1X}L;hL+=i�T?yeGIVu�`Np��o���T}�	+�/�+�
+���01#!!2>5!5!TT��u���N��DN�u\�yE�J%pɘX�LBEN�Fx�\oH\/@�/�	/�ܰ�а/�	��	��EX�/�>Y�ܰ���а�01!!3!53\��n6p/��H^�	�+015!^H�������+�/�EX�/�>Y013#��������^��+�EX�/�>Y�+01!!#����щ�C����+�EX�/�>Y�+015!#�H�����H^��+�/�+013!!��G�/��F�H��+�/�+015!3��H�������^�%�+����/�EX�/�>Y�+013!!#��G�����F��C���%�+����/�EX�/�>Y�+01#!5!3��s���������^�"�+�EX�/�>Y�+���015!!#^���H���C�H^��+�/�+���015!3!��GH���F���^�7�+��а�
��/�EX�	/�	>Y�+��а��015!3!!#��G���H���F��C��^��+�+01!5!5^��^�������������@�/�	/��а/��	�ܱ��/�/�EX�/�>Y�EX�/�>Y01#;#\��쉉������^�>�+�+���а�
��EX�/�>Y�	+�+���01!#!!#^���u\�����t����^�I�/�
/�ܱ��а/���
��EX�/�>Y�EX�/�>Y�+�
+01!###!^�s��uщ�CH���u��^�F�/�
/��а/��
�	ܱ
��EX�/�>Y�EX�	/�	>Y�+�+01#!!#\���s����������;�+�	
+������EX�	/�	>Y�+�+���01535#5!3#��\�������t����I�/�
/��а/��а
�ܱ��EX�/�>Y�EX�/�>Y�	+�+01!####5\u������/H��������B�+�+��а���EX�/�>Y�EX�/�>Y�+�	+01!5!###5H��щ������t���^�4�+�	+���а	�
��/�	+�+���01!3!#3���G���u�����H^�5�/�
/�	ܱ��а/�����/�/�	+�+01!333!H�����Ht��E�H���^�2�/�
/��а/��
�	ܱ��/�/�+�	+013!3!Ӊ��������u�����.�+�+����
��	/�/�+���015#5!3!#5�������w���H��5�/�
/��а/��а
�	ܱ��/�/�+�	+0153333!Ӊ��H����E�1�����.�+�	+����
��/�/�	+�+015333!5Ӊ�/��w�t�����^�1�+��а�
��/�EX�	/�	>Y�+�+013!!#��G�����������^�L�/�
/��а/��
�ܱ��	��/�/�EX�/�>Y�EX�
/�
>Y�+01#;!!#\�����s����F��C��^�	X�/�/��а/���ܱ��а���/�/�EX�/�>Y�EX�
/�
>Y�
+�+01#33!!#\�����s����w���������1�+����/�EX�/�>Y�	+�+015!3#!5����s��w�t�����L�/�
/��а/���а
�	ܱ��/�/�EX�/�>Y�EX�
/�
>Y�+01##53;#\��Ӊ쉉����������T�+�
+����а�а�
��/�/�EX�/�>Y�EX�/�>Y�	+�+01533##53#Ӊ��H����w�t�t���^�(�+�EX�/�>Y�	+�+���015!!#!5^���������������^�L�/�
/��а/��
�	ܱ
��EX�/�>Y�EX�	/�	>Y�+���01##5!!#\��^�s�������CF��^�	N�+�
+������EX�/�>Y�EX�
/�
>Y�+�+��
а��01##5!5!#\��^��^�s��t�t���������^��+�/�	+�+���015!3!!5��G�����늊H^�8�/�
/��а/��
�	ܱ��/�/�+��а�	�0153333!Ӊ��H����C�F��^�:�+�	+������/�/�
+�+��а�	�0153333!!5Ӊ������w���늊��^�=�+��
а���/�EX�/�>Y�	+�+��а	�
�015!3!!#!5��G����s��������^�[�/�/�ܱ��а�
а
/�	�
���/�/�EX�/�>Y�EX�	/�	>Y�+��а�
�01!#3##53^�s�������щ�C�F�������^�x�+�+����а�а�
а�а���/�
/�EX�/�>Y�EX�/�>Y�	+�+��а�а�а	��01533##5%3!!#Ӊ��F���q���w�t��������������EX�/�>Y�EX�/�>Y01	���������V�	�/�/01	7V����^���5�;�qs����S�/�/�ܰ�а/�
	��	��EX�/�>Y�EX�/�>Y�	+��а	�а�
�01#!#5	3!����`������k��\k�b����;�����EX�/�>Y�EX�/�>Y01#!#5!�������\��\k������0�	+�/�	+�+�	�
а�а�а��01%!!#5!!5!#53��O��DO�y�+�_��s����LBEN��mmm�doH
g�
	+�	+�

+�	+����EX�/�>Y�EX�/�>Y�+�	+�������01!!!#'!!##5#53533�47���%�����l��l��m�������+��n��J��^�"�		
+�/�/�EX�	/�	>Y�+01!!#3^��yN�N��/�Znn���N�N�����
��{}�	+�
/�+�	+01!!3!'7'7!".5
%�JEy�\u�ND��N���uʖT}o\�xF�N����L�X��pJ��\�0�	+�	/�+�+��а�
а�а��01!5!#53'7!!#!'7\��p������N��+�{�Nm�do9��L��m�@�N���"�	+�/�/�EX�/�>Y�
+01!#3'!5!7nn��P{��1��P��1�Nyn{NhD$HT��U/�V/�U�а/�V�!ܱ'
��'�']@	'')'9'I'Y'i'y'�'�'�'�'�'
]�!�-а-/��9
�@99&969F9V9f9v9�9�9�9�9�9
]��9�9]�!�GаG/�R/�EX�//�/>Y�EX�5/�5>Y�E+��а/�5��а/�E�=а=/01#"'&#"#"'&547632327632&5476677&#"'&#"3276323276%h$Nc^-GJ-)HJ"{wyNZ�9V+7
"VV2�m�13&�1
$ \^��hs>3k\F1\<?Z83N�75L+oum���ťs�
�{�ZPVAv�gZ
')!l[|���#u1VRX
<	���/-dz$+�
+��
�
]@	

)
9
I
Y
i
y
�
�
�
�
�

]@fv�����]@
&6FV]���]�$���EX�)/�)>Y�EX�/�>Y�EX�/�>Y���)����]@(8HXhx�����
]��а �013!>54.#"!535&54>32�n}��CZ8'V�^Z�V)6XC���yn?{�ww�}?��]ru#g{�?R��VV��R?�{g��urV�qբbb��b;;N'U;
|�4�	
���
�;N;	vr	&�		N	&�	j	"�	h�			0(	0(	
8�X	&�	Copyright (c) Mark Simonson 2009-2010. All rights reserved.Anonymous Pro MinusRegularMarkSimonson: Anonymous Pro Minus: 2010Version 1.003AnonymousProMinusAnonymous Pro Minus is a trademark of Mark Simonson.Mark Simonsonhttp://www.ms-studio.comCopyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com), with Reserved Font Name Anonymous Pro Minus.

This Font Software is licensed under the SIL Open Font License, Version 1.1.
Copyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com), with Reserved Font Name Anonymous Pro Minus.

This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL


----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 -----------------------------------------------------------

PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the copyright statement(s).

"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

TERMINATION This license becomes null and void if any of the above conditions are not met.

DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
 part or in whole -- any of the components of the

Original Version, by changing formats or by porting the Font Software to a

new environment.



"Author" refers to any designer, engineer, programmer, technical

writer or other person who contributed to the Font Software.



PERMISSION & CONDITIONS

Permission is hereby granted, free of charge, to any person obtaining

a copy of the Font Software, to use, study, copy, merge, embed, modify,

redistribute, and sell modified and unmodified copies of the Font

Software, subject to the following conditions:



1) Neither the Font Software nor any of its individual components,

in Original or Modified Versions, may be sold by itself.



2) Original or Modified Versions of the Font Software may be bundled,

redistributed and/or sold with any software, provided that each copy

contains the above copyright notice and this license. These can be

included either as stand-alone text files, human-readable headers or

in the appropriate machine-readable metadata fields within text or

binary files as long as those fields can be easily viewed by the user.



3) No Modified Version of the Font Software may use the Reserved Font

Name(s) unless explicit written permission is granted by the corresponding

Copyright Holder. This restriction only applies to the primary font name as

presented to the users.



4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font

Software shall not be used to promote, endorse or advertise any

Modified Version, except to acknowledge the contribution(s) of the

Copyright Holder(s) and the Author(s) or with their explicit written

permission.



5) The Font Software, modified or unmodified, in part or in whole,

must be distributed entirely under this license, and must not be

distributed under any other license. The requirement for fonts to

remain under this license does not apply to any document created

using the Font Software.



TERMINATION

This license becomes null and void if any of the above conditions are

not met.



DISCLAIMER

THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF

MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT

OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE

COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,

INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL

DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM

OTHER DEALINGS IN THE FONT SOFTWARE.Copyright (c) Mark Simonson 2009-2010. All rights reserved.Anonymous Pro MinusRegularMarkSimonson: Anonymous Pro Minus: 2010Version 1.003AnonymousProMinusAnonymous Pro Minus is a trademark of Mark Simonson.Mark Simonsonhttp://www.ms-studio.comCopyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com), with Reserved Font Name Anonymous Pro Minus.

This Font Software is licensed under the SIL Open Font License, Version 1.1.
Copyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com), with Reserved Font Name Anonymous Pro Minus.

This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL


----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 -----------------------------------------------------------

PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the copyright statement(s).

"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

TERMINATION This license becomes null and void if any of the above conditions are not met.

DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
 part or in whole -- any of the components of the

Original Version, by changing formats or by porting the Font Software to a

new environment.



"Author" refers to any designer, engineer, programmer, technical

writer or other person who contributed to the Font Software.



PERMISSION & CONDITIONS

Permission is hereby granted, free of charge, to any person obtaining

a copy of the Font Software, to use, study, copy, merge, embed, modify,

redistribute, and sell modified and unmodified copies of the Font

Software, subject to the following conditions:



1) Neither the Font Software nor any of its individual components,

in Original or Modified Versions, may be sold by itself.



2) Original or Modified Versions of the Font Software may be bundled,

redistributed and/or sold with any software, provided that each copy

contains the above copyright notice and this license. These can be

included either as stand-alone text files, human-readable headers or

in the appropriate machine-readable metadata fields within text or

binary files as long as those fields can be easily viewed by the user.



3) No Modified Version of the Font Software may use the Reserved Font

Name(s) unless explicit written permission is granted by the corresponding

Copyright Holder. This restriction only applies to the primary font name as

presented to the users.



4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font

Software shall not be used to promote, endorse or advertise any

Modified Version, except to acknowledge the contribution(s) of the

Copyright Holder(s) and the Author(s) or with their explicit written

permission.



5) The Font Software, modified or unmodified, in part or in whole,

must be distributed entirely under this license, and must not be

distributed under any other license. The requirement for fonts to

remain under this license does not apply to any document created

using the Font Software.



TERMINATION

This license becomes null and void if any of the above conditions are

not met.



DISCLAIMER

THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF

MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT

OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE

COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,

INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL

DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM

OTHER DEALINGS IN THE FONT SOFTWARE.�E{p	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������	�������������

��� !"#��$%&'()*+,-./0123456789:;<=>?@ABC��DEFGHIJKLMNOPQRSTUVWXYZ[\����]^_`abcdefghijklmnopqrstuv��wxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:�;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw.nullDeltauni00A0Europeriodcenteredmacroncommaaccentuni00ADAmacronamacronAbreveabreveAogonekaogonekCcircumflexccircumflex
Cdotaccent
cdotaccentDcarondcaronDcroatdcroatEmacronemacronEbreveebreve
Edotaccent
edotaccentEogonekeogonekEcaronecaronGcircumflexgcircumflex
Gdotaccent
gdotaccentGcommaaccentgcommaaccentHcircumflexhcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonek
IdotaccentIJijJcircumflexjcircumflexKcommaaccentkcommaaccentkgreenlandicLacutelacuteLcommaaccentlcommaaccentLcaronlcaronLdotldotNacutenacuteNcommaaccentncommaaccentNcaronncaronnapostropheEngengOmacronomacronObreveobreve
Ohungarumlaut
ohungarumlautRacuteracuteRcommaaccentrcommaaccentRcaronrcaronSacutesacuteScircumflexscircumflexTcommaaccenttcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring
Uhungarumlaut
uhungarumlautUogonekuogonekWcircumflexwcircumflexYcircumflexycircumflexZacutezacute
Zdotaccent
zdotaccentlongsAEacuteaeacuteOslashacuteoslashacuteScommaaccentscommaaccentuni021Auni021Btonos
dieresistonos
AlphatonosEpsilontonosEtatonos	IotatonosOmicrontonosUpsilontonos
OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiIotadieresisUpsilondieresis
alphatonosepsilontonosetatonos	iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomegaiotadieresisupsilondieresisomicrontonosupsilontonos
omegatonos	afii10023	afii10051	afii10052	afii10053	afii10054	afii10055	afii10056	afii10057	afii10058	afii10059	afii10060	afii10061	afii10062	afii10145	afii10017	afii10018	afii10019	afii10020	afii10021	afii10022	afii10024	afii10025	afii10026	afii10027	afii10028	afii10029	afii10030	afii10031	afii10032	afii10033	afii10034	afii10035	afii10036	afii10037	afii10038	afii10039	afii10040	afii10041	afii10042	afii10043	afii10044	afii10045	afii10046	afii10047	afii10048	afii10049	afii10065	afii10066	afii10067	afii10068	afii10069	afii10070	afii10072	afii10073	afii10074	afii10075	afii10076	afii10077	afii10078	afii10079	afii10080	afii10081	afii10082	afii10083	afii10084	afii10085	afii10086	afii10087	afii10088	afii10089	afii10090	afii10091	afii10092	afii10093	afii10094	afii10095	afii10096	afii10097	afii10071	afii10099	afii10100	afii10101	afii10102	afii10103	afii10104	afii10105	afii10106	afii10107	afii10108	afii10109	afii10110	afii10193	afii10050	afii10098uni1E02uni1E03uni1E0Auni1E0Buni1E1Euni1E1Funi1E40uni1E41uni1E56uni1E57uni1E60uni1E61uni1E6Auni1E6BWgravewgraveWacutewacute	Wdieresis	wdieresisYgraveygrave	afii00208	afii61352uni2303uni2318uni2324	optionkeyerasetotherightuni237duni2388uni23ceuni2423SF100000SF110000SF010000SF030000SF020000SF040000SF080000SF090000SF060000SF070000SF050000SF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000blackdiamond	checkmarkshift	shiftlockverticaltabcopybackendtabinserttab	appleopenuni03A9	
��302_Imagick_claheImage.phpt000064400000000702150457363250011501 0ustar00--TEST--
Test Imagick, claheImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('claheImage'));
?>
--FILE--
<?php


function claheImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->claheImage(
		10,
		10,
		8,
		2
	);
//    $imagick->writeImage(__DIR__ . '/claheImage_output_image.png');
    $imagick->getImageBlob();
}

claheImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
209_ImagickDraw_setFontWeight_basic.phpt000064400000002354150457363250014246 0ustar00--TEST--
Test ImagickDraw, setFontWeight
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFontWeight($fillColor, $strokeColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(1);

    $draw->setFontSize(36);

    $draw->setFontWeight(100);
    $draw->annotation(50, 50, "Lorem Ipsum!");

    $draw->setFontWeight(200);
    $draw->annotation(50, 100, "Lorem Ipsum!");

    $draw->setFontWeight(400);
    $draw->annotation(50, 150, "Lorem Ipsum!");

    $draw->setFontWeight(800);
    $draw->annotation(50, 200, "Lorem Ipsum!");

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFontWeight($fillColor, $strokeColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok079_Imagick_getImageGeometry_basic.phpt000064400000000663150457363250014102 0ustar00--TEST--
Test Imagick, getImageGeometry
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function getImageGeometry() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

getImageGeometry() ;
echo "Ok";
?>
--EXPECTF--
Ok202_ImagickDraw_setFillColor_basic.phpt000064400000001652150457363250014046 0ustar00--TEST--
Test ImagickDraw, setFillColor
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFillColor($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(1.5);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->rectangle(50, 50, 150, 150);

    $draw->setFillColor("rgb(200, 32, 32)");
    $draw->rectangle(200, 50, 300, 150);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFillColor($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok286_Imagick_setMask_basic.phpt000064400000003246150457363250012253 0ustar00--TEST--
Test Imagick, setImageMask basic
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('getImageMask', 'setImageMask'));
?>
--FILE--
<?php

// TODO - this doesn't really test that it works...

$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");

$default_mask = $imagick->getImageMask(Imagick::PIXELMASK_READ);

if ($default_mask !== null) {
	echo "Default mask is not null but\n";
	var_dump($default_mask);
}

$mask = new Imagick();
$mask->newPseudoImage(480, 640, "gradient:black-white");
$mask->transposeImage();

$imagick->setImageMask($mask, Imagick::PIXELMASK_READ);

$mask = $imagick->getImageMask(Imagick::PIXELMASK_READ);
$mask->setImageFormat('png');
//$mask->writeImage(__DIR__ . "/i_am_a_mask.png");
//if ( !== Imagick::PIXELMASK_READ) {
//    echo "Failed to set/get Imagick::PIXELMASK_READ";
//};

$imagick->setImageMask($mask, Imagick::PIXELMASK_WRITE);

//$imagick->blurImage(15, 4);
//$imagick->writeImage(__DIR__ . "/mask_test.png");

//if ($imagick->getImageMask() !== Imagick::PIXELMASK_WRITE) {
//        echo "Failed to set/get Imagick::PIXELMASK_WRITE";
//    };

// This can only be tested MagickLibVersion >= 0x708
// so should probably be in a test by itself, once it's figured out
// what it does.
// $imagick->setImageMask($mask, Imagick::PIXELMASK_COMPOSITE);
//if ($imagick->getImageMask() !== Imagick::PIXELMASK_COMPOSITE) {
//    echo "Failed to set/get Imagick::PIXELMASK_COMPOSITE";
//};

$imagick->setImageMask($mask, -1);
// $unknown_result = $imagick->getImageMask(Imagick::PIXELMASK_READ);
// todo echo "not sure what -1 should be: $unknown_result \n";

echo "Ok";
?>
--EXPECTF--
Ok111_Imagick_rotateImage_basic.phpt000064400000001027150457363250013063 0ustar00--TEST--
Test Imagick, rotateImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$angle = 45;
$color = 'rgb(127, 127, 127)';

function rotateImage($angle, $color) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->rotateimage($color, $angle);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

rotateImage($angle, $color) ;
echo "Ok";
?>
--EXPECTF--
Ok284_ini_settings_set_truthy_number.phpt000064400000001205150457363250014407 0ustar00--TEST--
OpenMP segfault hacks

--INI--
imagick.shutdown_sleep_count=20
imagick.set_single_thread=1
--SKIPIF--
<?php 


require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


$sleepCount = intval(ini_get('imagick.shutdown_sleep_count'));
$setSingleThread = ini_get('imagick.set_single_thread');

if ($sleepCount != 20) {
    echo "imagick.shutdown_sleep_count is not set to 10 but instead " . var_export($sleepCount, true) ."\n";
}

if ($setSingleThread != 1) {
    echo "imagick.set_single_thread setting is not true but instead " . var_export($setSingleThread, true) ."\n";
}


echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
044_Imagick_colorMatrixImage_basic.phpt000064400000003007150457363250014075 0ustar00--TEST--
Test Imagick, colorMatrixImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkFormatPresent('png');
?>
--FILE--
<?php

$colorMatrix = array (
  0 => 1.5,
  1 => 0,
  2 => 0,
  3 => 0,
  4 => -0.157,
  5 => 0,
  6 => 1,
  7 => 0.5,
  8 => 0,
  9 => -0.157,
  10 => 0,
  11 => 0,
  12 => 0.5,
  13 => 0,
  14 => 0.5,
  15 => 0,
  16 => 0,
  17 => 0,
  18 => 1,
  19 => 0,
  20 => 0,
  21 => 0,
  22 => 0,
  23 => 0,
  24 => 1,
);

function colorMatrixImage($colorMatrix) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    //$imagick->setImageOpacity(1);

    //A color matrix should look like:
    //    $colorMatrix = [
    //        1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
    //        0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
    //        0.0, 0.0, 0.0, 1.0, 0.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 1.0,  0.0,
    //        0.0, 0.0, 0.0, 0.0, 0.0,  1.0
    //    ];

    $background = new \Imagick();
    $background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(),  "pattern:checkerboard");

    $background->setImageFormat('png');

    $imagick->setImageFormat('png');
    $imagick->colorMatrixImage($colorMatrix);
    
    $background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

    $bytes = $background->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

colorMatrixImage($colorMatrix) ;
echo "Ok";
?>
--EXPECTF--
Ok113_Imagick_rotationalBlurImage_basic.phpt000064400000001112150457363250014563 0ustar00--TEST--
Test Imagick, rotationalBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); 

checkClassMethods('Imagick', array('rotationalBlurImage'));

?>
--FILE--
<?php


function rotationalBlurImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->rotationalBlurImage(3);
    $imagick->rotationalBlurImage(5);
    $imagick->rotationalBlurImage(7);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

rotationalBlurImage() ;
echo "Ok";
?>
--EXPECTF--
Ok222_ImagickDraw_setTextAlignment_basic.phpt000064400000002404150457363250014742 0ustar00--TEST--
Test ImagickDraw, setTextAlignment
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setTextAlignment($strokeColor, $fillColor, $backgroundColor) {
    $draw = new \ImagickDraw();
    setFontForImagickDraw($draw);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(36);

    $draw->setTextAlignment(\Imagick::ALIGN_LEFT);
    $draw->annotation(250, 75, "Lorem Ipsum!");
    $draw->setTextAlignment(\Imagick::ALIGN_CENTER);
    $draw->annotation(250, 150, "Lorem Ipsum!");
    $draw->setTextAlignment(\Imagick::ALIGN_RIGHT);
    $draw->annotation(250, 225, "Lorem Ipsum!");
    $draw->line(250, 0, 250, 500);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setTextAlignment($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok139_Imagick_sigmoidalContrastImage_basic.phpt000064400000001422150457363250015264 0ustar00--TEST--
Test Imagick, sigmoidalContrastImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$sharpening = 1;
$midpoint = 4;
$sigmoidalContrast = 0.5;

function sigmoidalContrastImage($sharpening, $midpoint, $sigmoidalContrast) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    //Need some stereo image to work with.
    $imagick->sigmoidalcontrastimage(
        $sharpening, //sharpen 
        $midpoint,
        $sigmoidalContrast * \Imagick::getQuantum()
    );
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

sigmoidalContrastImage($sharpening, $midpoint, $sigmoidalContrast) ;
echo "Ok";
?>
--EXPECTF--
Ok021-countable.phpt000064400000000545150457363250007733 0ustar00--TEST--
Test countable interface
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); 

if (!extension_loaded ('spl'))
	die ('skip SPL is needed');
?>
--FILE--
<?php


$imagick = new Imagick(array (
						'magick:rose',
						'magick:rose',
						'magick:rose',
));

echo count ($imagick) . PHP_EOL;
echo 'done' . PHP_EOL;
?>
--EXPECT--
3
done127_Imagick_progressMonitor_basic.phpt000064400000002174150457363250014051 0ustar00--TEST--
Test Imagick, progressMonitor
--SKIPIF--
<?php

require_once(dirname(__FILE__) . '/skipif.inc'); 
checkClassMethods('Imagick', array('setProgressMonitor'));
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;

if (property_exists('Imagick', 'RESOURCETYPE_THREAD')) {
	Imagick::setResourceLimit(\Imagick::RESOURCETYPE_THREAD, 8);
}

$debug = "";
$status = 'Not cancelled';
$startTime = time();

$callback = function ($offset, $span) use (&$status, $startTime, $debug) {

	static $x = 0;

	if (((100 * $offset) / $span)  > 20) {
		$status = "Processing cancelled";
		return false;
	}

	$nowTime = time();

	$debug .= "$x: nowTime $nowTime - startTime $startTime".PHP_EOL;
	$x++;

	if ($nowTime - $startTime > 5) {
		$status = "Processing cancelled";
		return false;
	}

	return true;
};

$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");

$imagick->setProgressMonitor($callback);

try {

	$imagick->charcoalImage($radius, $sigma);
	$bytes = $imagick->getImageBlob();
	echo "Progress monitor failed to interrupt.".PHP_EOL;
	echo $debug;
}
catch(\Exception $e) {
	echo $status.PHP_EOL;
}
?>
--EXPECTF--
Processing cancelled068_Imagick_enhanceImage_basic.phpt000064400000000705150457363250013203 0ustar00--TEST--
Test Imagick, enhanceImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function enhanceImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->enhanceImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

enhanceImage() ;
echo "Ok";
?>
--EXPECTF--
Ok050_Imagick_distortImage_Affine.phpt000064400000001405150457363260013367 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            0,    0, 
            25,  25,
            100,  0, 
            100, 50
        );

        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
        $imagick->distortImage(  \Imagick::DISTORTION_AFFINE, $points, TRUE );
        header( "Content-Type: image/jpeg" );
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok287_Imagick_GetImageChannelRange_basic.phpt000064400000003150150457363260014570 0ustar00--TEST--
Test Imagick, GetImageChannelRange basic
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--XFAIL--
Tests are not stable across ImageMagick versions.
--FILE--
<?php

$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "gradient:rgb(0,32,32)-rgb(128,255,255)");

$redChannelRange = $imagick->getImageChannelRange(\Imagick::CHANNEL_RED);
$greenChannelRange = $imagick->getImageChannelRange(\Imagick::CHANNEL_GREEN);

$expectedRedMinima = (Imagick::getQuantum() * 0.0) / 255;
$expectedRedMaxima = (Imagick::getQuantum() * 128.0) / 255;

$expectedGreenMinima = (Imagick::getQuantum() * 32.0) / 255;
$expectedGreenMaxima = (Imagick::getQuantum() * 255.0) / 255;

// Floating point math. This is absolutely going to blow up
// on some platforms. But as finding out which would be interesting
// will leave it like this for now.
if ($expectedRedMinima !== $redChannelRange['minima']) {
	printf(
		"Unexpected red minima. Was expecting %s but have %s\n",
		$expectedRedMinima,
		$redChannelRange['minima']
	);
}
if ($expectedRedMaxima !== $redChannelRange['maxima']) {
	printf(
		"Unexpected red maxima. Was expecting %s but have %s\n",
		$expectedRedMinima,
		$redChannelRange['maxima']
	);
}


if ($expectedGreenMinima !== $greenChannelRange['minima']) {
	printf(
		"Unexpected green minima. Was expecting %s but have %s\n",
		$expectedGreenMinima,
		$greenChannelRange['minima']
	);
}
if ($expectedGreenMaxima !== $greenChannelRange['maxima']) {
	printf(
		"Unexpected green maxima. Was expecting %s but have %s\n",
		$expectedGreenMaxima,
		$greenChannelRange['maxima']
	);
}

echo "Ok";
?>
--EXPECTF--
Ok190_ImagickDraw_popDefs_basic.phpt000064400000001743150457363260013055 0ustar00--TEST--
Test ImagickDraw, popDefs
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function popDefs($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setstrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->pushDefs();
    $draw->setStrokeColor('white');
    $draw->rectangle(50, 50, 200, 200);
    $draw->popDefs();

    $draw->rectangle(300, 50, 450, 200);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

popDefs($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok178_ImagickDraw_circle_basic.phpt000064400000002206150457363260012717 0ustar00--TEST--
Test ImagickDraw, circle
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$originX = 250;
$originY = 250;
$endX = 400;
$endY = 400;

function circle($strokeColor, $fillColor, $backgroundColor, $originX, $originY, $endX, $endY) {

    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel($strokeColor);
    $fillColor = new \ImagickPixel($fillColor);

    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);

    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);

    $draw->circle($originX, $originY, $endX, $endY);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

circle($strokeColor, $fillColor, $backgroundColor, $originX, $originY, $endX, $endY) ;
echo "Ok";
?>
--EXPECTF--
Ok254_getConfigureOptions.phpt000064400000010450150457363260012043 0ustar00--TEST--
Test Imagick::getConfigureOptions
--SKIPIF--
<?php

require_once(dirname(__FILE__) . '/skipif.inc');

checkClassMethods('Imagick', array('getconfigureoptions'));


?>
--FILE--
<?php

$allOptions = Imagick::getConfigureOptions();

if (!is_array($allOptions)) {
	echo "Failed to return array".PHP_EOL;
	var_dump($allOptions);
}
else if (count($allOptions) == 0) {
	echo "allOptions is empty".PHP_EOL;
}


$optionsStartingWithC = Imagick::getConfigureOptions("Q*");

if (!is_array($optionsStartingWithC)) {
	echo "Failed to return array".PHP_EOL;
	var_dump($optionsStartingWithC);
}
else if (count($optionsStartingWithC) == 0) {
	echo "optionsStartingWithC is empty".PHP_EOL;
	echo "All options are:\n";
	var_dump(Imagick::getConfigureOptions());
}

//Example output on Debian
//
//array(38) {
//  ["CC"]=>
//  string(3) "gcc"
//  ["CFLAGS"]=>
//  string(186) "-I/usr/include/libxml2 -I/usr/include/libpng16 -I/usr/include/freetype2  -fopenmp -Wall -g -O2 -mtune=core2 -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16"
//  ["CODER_PATH"]=>
//  string(56) "/usr/local/lib/ImageMagick-7.0.11/modules-Q16HDRI/coders"
//  ["CONFIGURE"]=>
//  string(155) "./configure  '--with-quantum-depth=16' '--with-magick-plus-plus=no' '--without-perl' '--disable-static' '--disable-docs' '--with-jpeg=yes' '--with-png=yes'"
//  ["CONFIGURE_PATH"]=>
//  string(29) "/usr/local/etc/ImageMagick-7/"
//  ["COPYRIGHT"]=>
//  string(46) "Copyright (C) 1999-2021 ImageMagick Studio LLC"
//  ["CPPFLAGS"]=>
//  string(34) "-I/usr/local/include/ImageMagick-7"
//  ["CXX"]=>
//  string(3) "g++"
//  ["CXXFLAGS"]=>
//  string(9) " -pthread"
//  ["DEFS"]=>
//  string(15) "-DHAVE_CONFIG_H"
//  ["DELEGATES"]=>
//  string(33) "freetype jng jpeg png ps xml zlib"
//  ["DISTCHECK_CONFIG_FLAGS"]=>
//  string(217) " --disable-deprecated  --with-quantum-depth=16  --with-jemalloc=no  --with-umem=no  --with-autotrace=no  --with-fftw=no  --with-gslib=no  --with-fontpath=  --with-jxl=no  --with-rsvg=no  --with-wmf=no  --with-perl=no "
//  ["DOCUMENTATION_PATH"]=>
//  string(34) "/usr/local/share/doc/ImageMagick-7"
//  ["EXEC-PREFIX"]=>
//  string(10) "/usr/local"
//  ["EXECUTABLE_PATH"]=>
//  string(14) "/usr/local/bin"
//  ["FEATURES"]=>
//  string(22) "DPC HDRI Cipher OpenMP"
//  ["FILTER_PATH"]=>
//  string(57) "/usr/local/lib/ImageMagick-7.0.11/modules-Q16HDRI/filters"
//  ["GIT_REVISION"]=>
//  string(24) "18571:309fcfa1c:20210328"
//  ["HOST"]=>
//  string(19) "x86_64-pc-linux-gnu"
//  ["INCLUDE_PATH"]=>
//  string(32) "/usr/local/include/ImageMagick-7"
//  ["LDFLAGS"]=>
//  string(17) "-L/usr/local/lib "
//  ["LIB_VERSION"]=>
//  string(5) "0x70B"
//  ["LIB_VERSION_NUMBER"]=>
//  string(8) "7,0,11,6"
//  ["LIBRARY_PATH"]=>
//  string(33) "/usr/local/lib/ImageMagick-7.0.11"
//  ["LIBS"]=>
//  string(96) "    -lfreetype  -ljpeg    -lpng16                       -lxml2  -lz     -lm    -lpthread  -lgomp"
//  ["MAGICK_TEMPORARY_PATH"]=>
//  string(4) "/tmp"
//  ["NAME"]=>
//  string(11) "ImageMagick"
//  ["PCFLAGS"]=>
//  string(65) "-fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16"
//  ["PREFIX"]=>
//  string(10) "/usr/local"
//  ["QuantumDepth"]=>
//  string(2) "16"
//  ["RELEASE_DATE"]=>
//  string(10) "2021-03-28"
//  ["SHARE_PATH"]=>
//  string(30) "/usr/local/share/ImageMagick-7"
//  ["SHAREARCH_PATH"]=>
//  string(48) "/usr/local/lib/ImageMagick-7.0.11/config-Q16HDRI"
//  ["TARGET_CPU"]=>
//  string(6) "x86_64"
//  ["TARGET_OS"]=>
//  string(9) "linux-gnu"
//  ["TARGET_VENDOR"]=>
//  string(2) "pc"
//  ["VERSION"]=>
//  string(6) "7.0.11"
//  ["WEBSITE"]=>
//  string(23) "https://imagemagick.org"
//}



// Examples of output on nixos
//array(5) {
//  ["DELEGATES"]=>
//  string(102) "bzlib cairo djvu fontconfig freetype heic jng jp2 jpeg lcms lzma openexr png rsvg tiff webp x xml zlib"
//  ["FEATURES"]=>
//  string(28) "Cipher DPC HDRI OpenMP(4.5) "
//  ["MAGICK_TEMPORARY_PATH"]=>
//  string(4) "/tmp"
//  ["NAME"]=>
//  string(11) "ImageMagick"
//  ["QuantumDepth"]=>
//  string(3) "Q16"
//}








if (!(count($optionsStartingWithC) < count($allOptions))) {
	echo "";
	var_dump($optionsStartingWithC);
	var_dump($allOptions);
}

foreach ($optionsStartingWithC as $key => $value) {
	$key = strtolower($key);

	if (stripos($key, "q") !== 0) {
		echo "key $key does not start with c".PHP_EOL;
	}
}

echo "Ok";

?>
--EXPECTF--
Ok200_ImagickDraw_setClipUnits_basic.phpt000064400000002222150457363260014064 0ustar00--TEST--
Test ImagickDraw, setClipUnits
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setClipUnits($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    $clipPathName = 'testClipPath';
    $draw->setClipUnits(\Imagick::RESOLUTION_PIXELSPERINCH);
    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);

    //RESOLUTION_PIXELSPERINCH
    //RESOLUTION_PIXELSPERCENTIMETER

    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setClipUnits($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok214_ImagickDraw_setStrokeDashOffset_basic.phpt000064400000002360150457363260015400 0ustar00--TEST--
Test ImagickDraw, setStrokeDashOffset
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setStrokeDashOffset($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(4);
    $draw->setStrokeDashArray(array(20, 20));
    $draw->setStrokeDashOffset(0);
    $draw->rectangle(100, 50, 225, 175);

    //Start the dash effect halfway through the solid portion
    $draw->setStrokeDashOffset(10);
    $draw->rectangle(275, 50, 400, 175);

    //Start the dash effect on the space portion
    $draw->setStrokeDashOffset(20);
    $draw->rectangle(100, 200, 225, 350);
    $draw->setStrokeDashOffset(5);
    $draw->rectangle(275, 200, 400, 350);

    $image = new \Imagick();
    $image->newImage(500, 400, $backgroundColor);
    $image->setImageFormat("png");
    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setStrokeDashOffset($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok046_Imagick_contrastImage_basic.phpt000064400000001054150457363260013432 0ustar00--TEST--
Test Imagick, contrastImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$contrastType = 1;

function contrastImage($contrastType) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    if ($contrastType != 2) {
        $imagick->contrastImage($contrastType);
    }

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

contrastImage($contrastType) ;
echo "Ok";
?>
--EXPECTF--
Ok312_Imagick_colorThresholdImage.phpt000064400000001035150457363260013422 0ustar00--TEST--
Test Imagick, colorThresholdImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('colorThresholdImage'));
?>
--FILE--
<?php

function colorThresholdImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->colorThresholdImage(
        "rgb(10, 10, 10)",
        "rgb(240, 240, 240)"
    );
//    $imagick->writeImage(__DIR__ . '/colorThresholdImage_output_image.png');
    $imagick->getImageBlob();
}

colorThresholdImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
088_Imagick_implodeImage_basic.phpt000064400000000714150457363260013236 0ustar00--TEST--
Test Imagick, implodeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function implodeImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->implodeImage(0.0001);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

}

implodeImage() ;
echo "Ok";
?>
--EXPECTF--
Okphp.gif000064400000004733150457363260006044 0ustar00GIF89axC�j��97G(%*��⡤���粴�CBX������RRr�����ު��LKc[\����;8<nq�jm�ac�uy�{~����ƌ�����kk�NNkqt�zz����rt�ts����Z[~���{}����mp�rv���Ȼ��tx���������꒒�df�kn���Δ��.+/SQh���lj�\[v���fh�hj����1.9��Ӝ��UVx��ʖ�Ł��gi�?=P���^`���Ȍ�����WX|������" lo�����w{�vx�_^}���no�sw�"������YVW����������������trs��񞜝���KHI���gde����GF_��훜�ik�os������ٸ�ך�̧����뚜�fd�hg����np����������il����!�j,xC��j�����������������������m?ms����?yy6>qLL>>
2A<B-I"99"/)�¡
}MPP}|QQ*r��t��B3-�W(%	���&q|.llu.��2�"�,@��7�᤬@�F�	?;�L���E5Al`C�G$�5�@�ɓ(S�\yr\	v�A�+CD\��	�/�0B�ˣH����&�#G�XrăΝ�~ht�##X(K6�:,�@��)3��.2��@u
HR��_�`,Q���<	��e�|�r�˘1|���
֬Q�A��<F���d��p�M�K��J�,Ys�;�Ea���+1p�¼���ȓv�]�Ț��~��cD�W� Ӽ���^yp @p@�0�D�WS�9�)���p&s��2�J]��\�R1��C�Q�24�@I�@b��f%&�@'I��`�')7�_ਔE�@��3����5�$�G�Ƅb\�$�,1�����4P�#H`�G}�El���YtQ@]�T�g�`�I�)(�]ЀR@ ��� b)E�r)Vj\| J]lQi�4l�E]�h���N�^tq(R#���l#čI���[xA�'�)c` �x
�j$5�N�H
"��fR�l�a@`^l�"�]੸���E�H�-v����de}!!��y�������6GC�,`H?�[��m��3���V���Ձ�c��9֤;�9��N��N�ścp�F�Zd�j�p�qƹ��%K
@�!��:�����-J4�yj�����
|A�YhQ5���E���a�R4�:� �dY�湩�Y|�t���J�\΂3w��*}0�w��
�!�&�e�����:S�tJ1�wF4m�J���E�,u�
���P_O8Ƶ'm�Y���*tҐ�Q��:KE��F8s��r������J����^p����N� H�1]��T{��7w�J���E�c����S
�%�P�n�[�I����9�ӏ��,�c	�֟�	��)������T�%�cN:����$�X�L�xmB�"�� �/�� �E��j�by��tO?,O��
�(!YtD�'���B�C�1|�'LI�&��qb�P�*w+�a!Z\Z�C.�Q���0F�
�~�� J��3�e�d��H�Qq%�S��:p���G�UZe(�p���x�
�h�	b���(�@�a��,ͣ��Ё�DHch��N�C��\�a!vʡI�u�H���C�(�_�<�+��Db���0��8'D�y��X��/�a�R@f�𪭩�9mX�pg��y�x�	$�I�0R\f �P�vП����e2��I)��F�!��
c���f9K2pa�BS�HJV�D\`��.(��Ҥ(e��2C��'P'R`ȅЃ�#�i@�����J�C.�9^�0�Q��G�t,K�!���)�L$S}$�4�<Y�(r��x"e-hr�B���
�X��SNi)�ye�A�hL�J��l��r�j�5���ǪDwR�$e4zYF�`1�@�@�zz�$ys��Ӂ@���Hj%�Ŵbak���F���=��a#��'L@�R���K]޽֞ԥ.��J2��@���*=w])�W�p-e�p0'D���H�P��նׯ'��rA�)�����_Q�Y9�������W�%:�܃�>�Ί����@`��`npC�Yb����b�"	% �`<�8) P�$&��x)H�t@!�!�������
-�xx���)���g�GI|�A�цp��/@���>��~��P�3"<4�q��q;ߙ"ž)@�JS�}�p��iNK�ӟ*P�pi���7�Npl 1�F
>PX*Py��w=�%�lia
c�М�7EPn801�Z1)P<�
l -�v��Bl�p�
#��P�f?�܋Apt����w�;072_Imagick_evaluateImage_basic.phpt000064400000006026150457363260013406 0ustar00--TEST--
Test Imagick, evaluateImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkFormatPresent('png');
?>
--FILE--
<?php

$evaluateType = 1;
$firstTerm = 0.5;
$gradientStartColor = 'black';
$gradientEndColor = 'white';

$evaluateTypes = array(
	\Imagick::EVALUATE_ADD,
	\Imagick::EVALUATE_AND,
	\Imagick::EVALUATE_MAX,
	\Imagick::EVALUATE_MIN,
	\Imagick::EVALUATE_OR,
	\Imagick::EVALUATE_SET,
	\Imagick::EVALUATE_SUBTRACT,
	\Imagick::EVALUATE_XOR,
	\Imagick::EVALUATE_THRESHOLD,
	\Imagick::EVALUATE_THRESHOLDBLACK,
	\Imagick::EVALUATE_THRESHOLDWHITE,
	\Imagick::EVALUATE_ADDMODULUS,

	\Imagick::EVALUATE_DIVIDE,
	\Imagick::EVALUATE_MULTIPLY,
	\Imagick::EVALUATE_RIGHTSHIFT,
	\Imagick::EVALUATE_LEFTSHIFT,
	\Imagick::EVALUATE_POW,
	\Imagick::EVALUATE_LOG,
	\Imagick::EVALUATE_GAUSSIANNOISE,
	\Imagick::EVALUATE_IMPULSENOISE,
	\Imagick::EVALUATE_LAPLACIANNOISE,
	\Imagick::EVALUATE_MULTIPLICATIVENOISE,
	\Imagick::EVALUATE_POISSONNOISE,
	\Imagick::EVALUATE_UNIFORMNOISE,
	\Imagick::EVALUATE_COSINE,
	\Imagick::EVALUATE_SINE,
);



function evaluateImage($evaluateType, $firstTerm, $gradientStartColor, $gradientEndColor) {
    $imagick = new \Imagick();
    $size = 400;
    $imagick->newPseudoImage(
        $size,
        $size,
        "gradient:$gradientStartColor-$gradientEndColor"
    );
    
    $quantumScaledTypes = array(
        \Imagick::EVALUATE_ADD,
        \Imagick::EVALUATE_AND,
        \Imagick::EVALUATE_MAX,
        \Imagick::EVALUATE_MIN,
        \Imagick::EVALUATE_OR,
        \Imagick::EVALUATE_SET,
        \Imagick::EVALUATE_SUBTRACT,
        \Imagick::EVALUATE_XOR,
        \Imagick::EVALUATE_THRESHOLD,
        \Imagick::EVALUATE_THRESHOLDBLACK,
        \Imagick::EVALUATE_THRESHOLDWHITE,
        \Imagick::EVALUATE_ADDMODULUS,
    );

    $unscaledTypes = array(
        \Imagick::EVALUATE_DIVIDE,
        \Imagick::EVALUATE_MULTIPLY,
        \Imagick::EVALUATE_RIGHTSHIFT,
        \Imagick::EVALUATE_LEFTSHIFT,
        \Imagick::EVALUATE_POW,
        \Imagick::EVALUATE_LOG,
        \Imagick::EVALUATE_GAUSSIANNOISE,
        \Imagick::EVALUATE_IMPULSENOISE,
        \Imagick::EVALUATE_LAPLACIANNOISE,
        \Imagick::EVALUATE_MULTIPLICATIVENOISE,
        \Imagick::EVALUATE_POISSONNOISE,
        \Imagick::EVALUATE_UNIFORMNOISE,
        \Imagick::EVALUATE_COSINE,
        \Imagick::EVALUATE_SINE,
    );

    if (in_array($evaluateType, $unscaledTypes)) {
        $imagick->evaluateimage($evaluateType, $firstTerm);
    }
    else if (in_array($evaluateType, $quantumScaledTypes)) {
        $imagick->evaluateimage($evaluateType, $firstTerm * \Imagick::getQuantum());
    }
    else {
        throw new \Exception("Evaluation type $evaluateType is not listed as either scaled or unscaled");
    }

    $imagick->setimageformat('png');
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

foreach ($evaluateTypes as $evaluateType) {
	evaluateImage($evaluateType, $firstTerm, $gradientStartColor, $gradientEndColor) ;
}
echo "Ok";
?>
--EXPECTF--
OkOFL.txt000064400000010657150457363260005751 0ustar00Copyright (c) 2009, Mark Simonson (http://www.ms-studio.com, mark@marksimonson.com),
with Reserved Font Name Anonymous Pro Minus.

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
327_Imagick_polaroidImage_basic.phpt000064400000001220150457363260013403 0ustar00--TEST--
Test Imagick, polaroidImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x631;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

function polaroidImage() {
    $src1 = new \Imagick();
    $src1->newPseudoImage(640, 480, "magick:logo");

    $imagickDraw = new \ImagickDraw();
    $font = findDefaultFont();

    $imagickDraw->setFont($font);

    $src1->polaroidImage($imagickDraw, 15);

    $src1->setImageFormat('png');
    $bytes = $src1->getImagesBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

polaroidImage() ;
echo "Ok";
?>
--EXPECTF--
Ok047_Imagick_convolveImage_7.phpt000064400000001237150457363260012521 0ustar00--TEST--
Test Imagick, convolveImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x700;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$bias = 0.5;
$kernelMatrix = array (
    array (-1, -1, -1),
    array (-1, 8, -1),
    array( -1, -1, -1),
);

function convolveImage($bias, $kernelMatrix) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $kernel = ImagickKernel::fromMatrix($kernelMatrix);
    $imagick->convolveImage($kernel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

convolveImage($bias, $kernelMatrix) ;
echo "Ok";
?>
--EXPECTF--
Ok013-read-filehandle.phpt000064400000000775150457363260010772 0ustar00--TEST--
Imagick::readImageFile test
--SKIPIF--
<?php 
	require_once(dirname(__FILE__) . '/skipif.inc');
	checkFormatPresent('jpg');
?>
--FILE--
<?php

$file = dirname(__FILE__) . '/__tmp_rose.jpg';

$imagick = new Imagick('magick:rose');
$imagick->setImageFormat('jpg');
$imagick->writeImage($file);

$imagick->clear();

$handle = fopen($file, 'rb');
$imagick->readImageFile($handle);

@unlink($file);

echo 'success';

?>
--CLEAN--
<?php
@unlink(dirname(__FILE__) . '/__tmp_rose.jpg');
?>
--EXPECT--
success307_Imagick_levelImageColors.phpt000064400000001004150457363260012720 0ustar00--TEST--
Test Imagick, levelImageColors
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('levelImageColors'));
?>
--FILE--
<?php
function levelImageColors() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->levelImageColors(
		"rgb(10, 10, 10)",
		"rgb(240, 240, 240)",
		false
	);
//    $imagick->writeImage(__DIR__ . '/levelImageColors_output_image.png');
    $imagick->getImageBlob();
}

levelImageColors() ;
echo "Ok";
?>
--EXPECTF--
Ok
134_Imagick_shadowImage_basic.phpt000064400000000717150457363260013065 0ustar00--TEST--
Test Imagick, shadowImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function shadowImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->shadowImage(0.4, 10, 50, 5);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

shadowImage() ;
echo "Ok";
?>
--EXPECTF--
Ok155_Imagick_thresholdImage_basic.phpt000064400000001251150457363260013571 0ustar00--TEST--
Test Imagick, thresholdImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$threshold = 0.5;
//$channel = Imagick::CHANNEL_DEFAULT;
$channel = Imagick::CHANNEL_RED|Imagick::CHANNEL_GREEN|Imagick::CHANNEL_BLUE;

function thresholdimage($threshold, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->thresholdimage($threshold * \Imagick::getQuantum(), $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

thresholdimage($threshold, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok172_ImagickPixel_setColorValueQuantum_basic.phpt000064400000001516150457363260016001 0ustar00--TEST--
Test ImagickPixel, setColorValueQuantum
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php


function setColorValueQuantum() {
    $image = new \Imagick();

    $quantumRange = $image->getQuantumRange();

    $draw = new \ImagickDraw();
    $color = new \ImagickPixel('blue');
    $color->setcolorValueQuantum(\Imagick::COLOR_RED, (int)(128 * $quantumRange['quantumRangeLong'] / 256));

    $draw->setstrokewidth(1.0);
    $draw->setStrokeColor($color);
    $draw->setFillColor($color);
    $draw->rectangle(200, 200, 300, 300);

    $image->newImage(500, 500, "SteelBlue2");
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setColorValueQuantum() ;
echo "Ok";
?>
--EXPECTF--
Ok
189_ImagickDraw_setClipPath_basic.phpt000064400000002317150457363260013703 0ustar00--TEST--
Test ImagickDraw, setClipPath
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setClipPath($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $clipPathName = 'testClipPath';

    $draw->pushClipPath($clipPathName);
    $draw->rectangle(0, 0, 250, 250);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(100, 100, 400, 400);
    
    $storedPathName = $draw->getClipPath();
    
    if (strcmp($storedPathName, $clipPathName) != 0) {
        echo "Error retrieving clipPath: $storedPathName != $clipPathName\n";
    }

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setClipPath($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok108_Imagick_resampleImage_basic.phpt000064400000000757150457363260013415 0ustar00--TEST--
Test Imagick, resampleImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function resampleImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $imagick->resampleImage(200, 200, \Imagick::FILTER_LANCZOS, 1);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

resampleImage() ;
echo "Ok";
?>
--EXPECTF--
Ok248_ImagickPixelIterator_clear_basic.phpt000064400000001770150457363260014445 0ustar00--TEST--
Test ImagickPixelIterator, clear
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function clear() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $imageIterator = $imagick->getPixelRegionIterator(100, 100, 250, 200);

    /* Loop trough pixel rows */
    foreach ($imageIterator as $pixels) { 
        /** @var $pixel \ImagickPixel */
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $column => $pixel) { 
            if ($column % 2) {
                /* Paint every second pixel black*/
                $pixel->setColor("rgba(0, 0, 0, 0)"); 
            }
        }
        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    $imageIterator->clear();

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

clear() ;
echo "Ok";
?>
--EXPECTF--
Ok153_Imagick_statisticImage_basic.phpt000064400000001305150457363260013602 0ustar00--TEST--
Test Imagick, statisticImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); 

checkClassMethods('Imagick', array('statisticImage'));

?>
--FILE--
<?php

$statisticType = 1;
$w20 = 5;
$h20 = 5;
$channel = Imagick::CHANNEL_DEFAULT;

function statisticImage($statisticType, $w20, $h20, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $imagick->statisticImage(
        $statisticType,
        $w20,
        $h20,
        $channel
    );

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

statisticImage($statisticType, $w20, $h20, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok017-clear-destroy.phpt000064400000000677150457363260010550 0ustar00--TEST--
Clear and destroy aliases
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$im = new Imagick ();
$im->clear ();
$im->destroy ();

$im = new ImagickDraw ();
$im->clear ();
$im->destroy ();

$im = new ImagickPixel ();
$im->clear ();
$im->destroy ();

$magick = new Imagick ('magick:rose');

$im = new ImagickPixelIterator ($magick);
$im->clear ();
$im->destroy ();

echo 'success';

?>
--EXPECT--
success271_imagick_constants.phpt000064400000000503150457363260011543 0ustar00--TEST--
Imagick::readImage test
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$reflClass = new ReflectionClass('Imagick');
$constants = $reflClass->getConstants();

$output = '';

foreach ($constants as $key => $value) {
	$output .= "$key: $value \n";
}
echo "Ok";

?>
--EXPECTF--
Ok166_Imagick_waveImage_basic.phpt000064400000001020150457363260012533 0ustar00--TEST--
Test Imagick, waveImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$amplitude = 5;
$length = 20;

function waveImage($amplitude, $length) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->waveImage($amplitude, $length);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

waveImage($amplitude, $length) ;
echo "Ok";
?>
--EXPECTF--
Ok283_ini_settings_set_falsy_zero.phpt000064400000001167150457363260013664 0ustar00--TEST--
OpenMP segfault hacks

--INI--
imagick.shutdown_sleep_count=0
imagick.set_single_thread=0
--SKIPIF--
<?php 


require_once(dirname(__FILE__) . '/skipif.inc');
 
?>
--FILE--
<?php


$sleepCount = ini_get('imagick.shutdown_sleep_count');
$setSingleThread = ini_get('imagick.set_single_thread');

if ($sleepCount != 0) {
    echo "imagick.shutdown_sleep_count is not set to 10 but instead " . var_export($sleepCount, true) ."\n";
}

if ($setSingleThread != 0) {
    echo "imagick.set_single_thread setting is not false but instead " . var_export($sleepCount, true) ."\n";
}


echo "Complete".PHP_EOL;
?>
--EXPECTF--
Complete
032_Imagick_addNoiseImage_basic.phpt000064400000002034150457363260013315 0ustar00--TEST--
Test Imagick, addNoiseImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x702;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$noiseType = Imagick::NOISE_IMPULSE;
$channel = Imagick::CHANNEL_DEFAULT;

function addNoiseImage($noiseType, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->addNoiseImage($noiseType, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
    echo "addNoiseImage\n";
}

function addNoiseWithAttenuate($noiseType, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->addNoiseImageWithAttenuate($noiseType, 1.4, $channel);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
    echo "addNoiseWithAttenuate\n";
}

addNoiseImage($noiseType, $channel);
addNoiseWithAttenuate($noiseType, $channel);
echo "Ok";
?>
--EXPECTF--
addNoiseImage
addNoiseWithAttenuate
Ok228_ImagickDraw_skewX_basic.phpt000064400000002224150457363270012554 0ustar00--TEST--
Test ImagickDraw, skewX
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';
$fillModifiedColor = 'LightCoral';
$startX = 50;
$startY = 50;
$endX = 400;
$endY = 400;
$skew = 10;

function skewX($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor, 
               $startX, $startY, $endX, $endY, $skew) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setStrokeWidth(2);
    $draw->setFillColor($fillColor);
    $draw->rectangle($startX, $startY, $endX, $endY);
    $draw->setFillColor($fillModifiedColor);
    $draw->skewX($skew);
    $draw->rectangle($startX, $startY, $endX, $endY);

    $image = new \Imagick();
    $image->newImage(500, 500, $backgroundColor);
    $image->setImageFormat("png");

    $image->drawImage($draw);

    $bytes = $image->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

skewX($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
    $startX, $startY, $endX, $endY, $skew);
echo "Ok";
?>
--EXPECTF--
Ok092_Imagick_mergeImageLayers_basic.phpt000064400000001532150457363270014057 0ustar00--TEST--
Test Imagick, mergeImageLayers
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$layerMethodType = 13;

function mergeImageLayers($layerMethodType) {

    $imagick = new \Imagick();
    $nextImage = null;
    $imageNames = array(
        "magick:NETSCAPE",
        "magick:logo",
        "magick:GRANITE",
    );

    foreach ($imageNames as $imageName) {        
        $nextImage = new \Imagick();
        $nextImage->newPseudoImage(640, 480, $imageName);
        $imagick->addImage($nextImage);
    }

    $imagick->resetIterator();
    
    $imagick->setImageFormat('png');

    $result = $imagick->mergeImageLayers($layerMethodType);
    $bytes = $result->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

mergeImageLayers($layerMethodType);
echo "Ok";
?>
--EXPECTF--
Ok
040_Imagick_charcoalImage_basic.phpt000064400000001017150457363270013343 0ustar00--TEST--
Test Imagick, charcoalImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$radius = 5;
$sigma = 1;

function charcoalImage($radius, $sigma) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->charcoalImage($radius, $sigma);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

charcoalImage($radius, $sigma) ;
echo "Ok";
?>
--EXPECTF--
Ok010_importimagepixels.phpt000064400000002155150457363270011602 0ustar00--TEST--
Test importimagepixels
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); 

if (!method_exists("imagick", "importimagepixels")) {
	die("skip imagick::importImagePixels not available");
}

?>
--FILE--
<?php

/* Generate array of pixels. 2000 pixels per color stripe */
$count = 2000 * 3;

$pixels = 
   array_merge(array_pad(array(), $count, 0),
               array_pad(array(), $count, 255), 
               array_pad(array(), $count, 0),
               array_pad(array(), $count, 255),
               array_pad(array(), $count, 0));

/* Width and height. The area is amount of pixels divided
   by three. Three comes from 'RGB', three values per pixel */
$width = $height = 100;

/* Create empty image */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Import the pixels into image.
   width * height * strlen("RGB") must match count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

var_dump($width, $height);
var_dump($im->getImageGeometry());

?>
--EXPECTF--
int(100)
int(100)
array(2) {
  ["width"]=>
  int(100)
  ["height"]=>
  int(100)
}204_ImagickDraw_setFillOpacity_basic.phpt000064400000001656150457363270014410 0ustar00--TEST--
Test ImagickDraw, setFillOpacity
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';

function setFillOpacity($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);

    $draw->rectangle(100, 200, 200, 300);

    $draw->setFillOpacity(0.4);
    $draw->rectangle(300, 200, 400, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setFillOpacity($strokeColor, $fillColor, $backgroundColor) ;
echo "Ok";
?>
--EXPECTF--
Ok288_imagick_prevent_zero_size_images.phpt000064400000001500150457363270014637 0ustar00--TEST--
Prevent zero dimension images and check exception
--SKIPIF--
<?php 

require_once(dirname(__FILE__) . '/skipif.inc');


?>
--FILE--
<?php

$im = new Imagick();

$im->newPseudoImage(0, 100, "magick:logo");
$im->newPseudoImage(100, 0, "magick:logo");

ini_set("imagick.allow_zero_dimension_images", 1);
$im->newPseudoImage(0, 100, "magick:logo");
echo "Well done, you have a zero dimension image. Now what?\n";

echo "Ok";

?>
--EXPECTF--
Deprecated: Creating images with zero columns is deprecated. If you think you need to do this, please open an issue at https://phpimagick.com/issues in %s on line %d

Deprecated: Creating images with zero rows is deprecated. If you think you need to do this, please open an issue at https://phpimagick.com/issues in %s on line %d
Well done, you have a zero dimension image. Now what?
Ok229_Tutorial_fxAnalyzeImage_case1.phpt000064400000004566150457363270013727 0ustar00--TEST--
Test Tutorial, fxAnalyzeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

ini_set('memory_limit','512M');

// Analyzes a one pixel wide image to make it easy to see what the
// gradient is doing
function fxAnalyzeImage(\Imagick $imagick) {
    
    $graphWidth = $imagick->getImageWidth();
    $sampleHeight = 20;
    $graphHeight = 128;
    $border = 2;

    $imageIterator = new \ImagickPixelIterator($imagick);

    $reds = array();

    foreach ($imageIterator as $pixels) { /* Loop trough pixel rows */
        foreach ($pixels as $pixel) { /* Loop through the pixels in the row (columns) */
            /** @var $pixel \ImagickPixel */
            $color = $pixel->getColor();
            $reds[] = $color['r'];
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    $draw = new \ImagickDraw();

    $strokeColor = new \ImagickPixel('red');
    $fillColor = new \ImagickPixel('none');
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setFontSize(72);
    $draw->setStrokeAntiAlias(true);

    $x = 0;
    $points = array();
    
    foreach ($reds as $red) {
        $pos = $graphHeight - ($red * $graphHeight / 256);
        $points[] = array('x' => $x, 'y' => $pos);
        $x += 1;
    }

    $draw->polyline($points);

    $plot = new \Imagick();
    $plot->newImage($graphWidth, $graphHeight, 'white');
    $plot->drawImage($draw);

    $outputImage = new \Imagick();
    $outputImage->newImage($graphWidth, $graphHeight + $sampleHeight, 'white');
    $outputImage->compositeimage($plot, \Imagick::COMPOSITE_ATOP, 0, 0);

    $imagick->resizeimage($imagick->getImageWidth(), $sampleHeight, \Imagick::FILTER_LANCZOS, 1);

    $outputImage->compositeimage($imagick, \Imagick::COMPOSITE_ATOP, 0, $graphHeight);
    $outputImage->borderimage('black', $border, $border);

    $outputImage->setImageFormat("png");
    $bytes = $outputImage;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}


$arguments = array(5, 1, 0.5);

$imagick = new \Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$imagick->functionImage(\Imagick::FUNCTION_POLYNOMIAL, $arguments);
$imagick->setimageformat('png');

fxAnalyzeImage($imagick);

echo "Ok";
?>
--EXPECTF--
Ok042_Imagick_clutImage_im7.phpt000064400000002277150457363270012164 0ustar00--TEST--
Test Imagick, clutImageWithInterpolate
--SKIPIF--
<?php

require_once(dirname(__FILE__) . '/skipif.inc');

checkClassMethods('Imagick', array('clutImageWithInterpolate'));

?>
--FILE--
<?php

$draw = new \ImagickDraw();
$draw->setStrokeOpacity(0);
$draw->setFillColor('black');
$points = [
	['x' => 40 * 3, 'y' => 10 * 5],
	['x' => 20 * 3, 'y' => 20 * 5],
	['x' => 70 * 3, 'y' => 50 * 5],
	['x' => 80 * 3, 'y' => 15 * 5],
];
$draw->polygon($points);
$imagick = new \Imagick();

$imagick->setColorspace(\Imagick::COLORSPACE_GRAY);

$imagick->newPseudoImage(
	300, 300,
	"xc:white"
);


$imagick->drawImage($draw);
$imagick->blurImage(0, 10);

$draw = new \ImagickDraw();
$draw->setStrokeOpacity(1);
$draw->setFillColor('red');
$draw->point(0, 2);
$draw->setFillColor('yellow');
$draw->rectangle(0, 0, 1, 1);
$gradient = new Imagick();
$gradient->newPseudoImage(1, 5, 'xc:black');
$gradient->drawImage($draw);


$imagick->setImageFormat('png');
$imagick->clutImageWithInterpolate($gradient, Imagick::INTERPOLATE_BILINEAR);

$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}

// $imagick->writeImage(__DIR__ . "/feels_bad_man.png");

echo "Ok";
?>
--EXPECTF--
Okgithub_174.phpt000064400000000442150457363270007332 0ustar00--TEST--
Imagick::resizeImage prevent 0 width/height images
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$i = new Imagick;
$i->newPseudoImage(1, 1000, "xc:red");
$i->resizeImage(0, 250, 0, 1);
echo $i->getImageWidth(); // should be 1
?>
--EXPECTF--
1
310_Imagick_whiteBalanceImage.phpt000064400000000607150457363270013020 0ustar00--TEST--
Test Imagick, whiteBalanceImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('whiteBalanceImage'));
?>
--FILE--
<?php

function whiteBalanceImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
    $imagick->whiteBalanceImage();
    $imagick->getImageBlob();
}

whiteBalanceImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
024-ispixelsimilar.phpt000064400000004313150457363270011017 0ustar00--TEST--
Test ImagickPixel::isPixelSimilar
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');

--FILE--
<?php

$root3 = 1.732050807568877;

$tests = array(
	array ('rgb(245, 0, 0)',     'rgb(255, 0, 0)',        9 / $root3, false,),
	array ('rgb(245, 0, 0)',     'rgb(255, 0, 0)',       10 / $root3, true,),
	array ('rgb(0, 0, 0)',       'rgb(7, 7, 0)',          9 / $root3, false,),
	array ('rgb(0, 0, 0)',       'rgb(7, 7, 0)',         10 / $root3, true,),
	array ('rgba(0, 0, 0, 1)',   'rgba(7, 7, 0, 1)',      9 / $root3, false,),
	array ('rgba(0, 0, 0, 1)',   'rgba(7, 7, 0, 1)',     10 / $root3, true,),
	array ('rgb(128, 128, 128)', 'rgb(128, 128, 120)',    7 / $root3, false,),
	array ('rgb(128, 128, 128)', 'rgb(128, 128, 120)',    8 / $root3, true,),

	array ('rgb(0, 0, 0)',       'rgb(255, 255, 255)',  254.9,        false,),
	array ('rgb(0, 0, 0)',       'rgb(255, 255, 255)',    255,        true,),
	array ('rgb(255, 0, 0)',     'rgb(0, 255, 255)',    254.9,        false,),
	array ('rgb(255, 0, 0)',     'rgb(0, 255, 255)',      255,        true,),
	array ('black',              'rgba(0, 0, 0)',         0.0,        true),
	array ('black',              'rgba(10, 0, 0, 1.0)',  10.0 / $root3, true),
);

try {
	foreach ($tests as $testInfo) {
		$color1 = $testInfo[0];
		$color2 = $testInfo[1];
		$distance = $testInfo[2];
		$expectation = $testInfo[3];
		$testDistance = ($distance / 255.0);

		$color1Pixel = new ImagickPixel($color1);
		$color2Pixel = new ImagickPixel($color2);

		$isSimilar = $color1Pixel->isPixelSimilarQuantum($color2Pixel, $testDistance * \Imagick::getquantum());
		if ($isSimilar !== $expectation) {
			echo "isSimilar failed. Color [$color1] compared to color [$color2] distance $testDistance doesn't meet expected result [$expectation].". PHP_EOL;
		}

		$isPixelSimilar = $color1Pixel->isPixelSimilar($color2Pixel, $testDistance);
		if ($isPixelSimilar !== $expectation) {
			echo "isPixelSimilar failed. Color [$color1] compared to color [$color2] distance $testDistance doesn't meet expected result [$expectation].". PHP_EOL;
		}
	}
	echo "success";
} catch (\Exception $e) {
	echo "Exception caught in ImagickPixel::isPixelSimilar test: ".$e->getMessage() . PHP_EOL;
}

?>
--EXPECT--
success105_Imagick_raiseImage_basic.phpt000064400000001156150457363270012700 0ustar00--TEST--
Test Imagick, raiseImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$width = 15;
$height = 15;
$x = 10;
$y = 10;
$raise = 1;

function raiseImage($width, $height, $x, $y, $raise) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    //x and y do nothing?
    $imagick->raiseImage($width, $height, $x, $y, $raise);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

raiseImage($width, $height, $x, $y, $raise) ;
echo "Ok";
?>
--EXPECTF--
Ok301_Imagick_bilateralBlurImage.phpt000064400000001100150457363270013203 0ustar00--TEST--
Test Imagick, bilateralBlurImage
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('Imagick', array('bilateralBlurImage'));
?>
--FILE--
<?php


function bilateralBlurImage() {
    $imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');

    $imagick->bilateralBlurImage(
		5,
		1,
		2,
		2
	);

    $imagick->writeImage(__DIR__ . '/bilateralBlurImage_output_image.png');
//    $imagick->getImageBlob();
}

bilateralBlurImage() ;
echo "Ok";
?>
--CLEAN--
<?php
@unlink(__DIR__ . '/bilateralBlurImage_output_image.png');
?>
--EXPECTF--
Ok
090_Imagick_magnifyImage_basic.phpt000064400000000705150457363270013231 0ustar00--TEST--
Test Imagick, magnifyImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function magnifyImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->magnifyImage();
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

magnifyImage() ;
echo "Ok";
?>
--EXPECTF--
Ok264_ImagickDraw_getTextDirection_basic.phpt000064400000002743150457363270014746 0ustar00--TEST--
Test ImagickDraw, getTextDirection
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('ImagickDraw', array('getTextDirection', 'setTextDirection'));
?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/functions.inc');

$backgroundColor = 'rgb(225, 225, 225)';
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'DodgerBlue2';



$draw = new \ImagickDraw();
setFontForImagickDraw($draw);

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(56);

$directions = array(
	\Imagick::DIRECTION_LEFT_TO_RIGHT,
	\Imagick::DIRECTION_RIGHT_TO_LEFT,
	\Imagick::DIRECTION_LEFT_TO_RIGHT,
);

$i = 0;
foreach ($directions as $directionToSet) {
	$draw->setTextDirection($directionToSet);
	$directionReturned = $draw->getTextDirection();

	if ($directionReturned != $directionToSet) {
		echo "Direction error for $i \n";
	}

	$position = 36;
	if ($directionToSet == \Imagick::DIRECTION_RIGHT_TO_LEFT) {
		$position = 500 - 36;
	}

	$draw->annotation($position, (72 * $i) + 64, "Lorem Ipsum!");

	$i++;
}

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
 
$imagick->writeImage(__DIR__ . '/directionTest.png');

echo "Ok";
?>
--CLEAN--
<?php
$f = __DIR__ . '/directionTest.png';
if (file_exists($f)) {
    unlink($f);
}
?>
--EXPECTF--
Ok
bug59378_windows.phpt000064400000002206150457363270010424 0ustar00--TEST--
Test PHP bug #59378 writing to php://temp is incomplete
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

$imagick = new Imagick();
$imagick->newPseudoImage(640, 480, "LOGO:");
$imagick->setFormat("png");

// Although the bug was about php://memory, that isn'--TEST--
// available to use as a filehandle on Windows, so may as well
// just test php://temp instead.
$fp = fopen("php://temp", 'r+');
$imagick->writeImageFile($fp);
rewind($fp);
$memoryBlob = stream_get_contents($fp);
fclose($fp);

//This test depends on getImageBlob working correctly.
$imageBlob = $imagick->getImageBlob();

//Read the images from the data blobs.
$imageReopened = new Imagick();
$imageReopened->readImageBlob($imageBlob);
$memoryReopened = new Imagick();
$memoryReopened->readImageBlob($memoryBlob);

//Compare to see if they are identical.
$result = $imageReopened->compareImages($memoryReopened, \Imagick::METRIC_MEANABSOLUTEERROR);

if ($result[1] == 0) {
    echo "Reopened images are identical.";
}
else {
    echo "Error, reopened images have changed.";
    var_dump($result);
}

?>
--EXPECTF--
Reopened images are identical.
095_Imagick_normalizeImage_basic.phpt000064400000001320150457363270013576 0ustar00--TEST--
Test Imagick, normalizeImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$channel = Imagick::CHANNEL_DEFAULT;

function normalizeImage($channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $original = clone $imagick;
    $original->cropimage($original->getImageWidth() / 2, $original->getImageHeight(), 0, 0);
    $imagick->normalizeImage($channel);
    $imagick->compositeimage($original, \Imagick::COMPOSITE_ATOP, 0, 0);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

normalizeImage($channel) ;
echo "Ok";
?>
--EXPECTF--
Ok053_Imagick_distortImage_RotatedArc.phpt000064400000001266150457363270014240 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $degrees = array( 180, 45, 100, 20 );
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
        $imagick->distortImage( \Imagick::DISTORTION_ARC, $degrees, TRUE );
        header( "Content-Type: image/jpeg" );
    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok275_ImagickPixel_unitializedObjects.phpt000064400000004225150457363270014336 0ustar00--TEST--
Testing ImagickPixel with unitialized pixel_wand
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
requirePHP("5.6");
?>
--FILE--
<?php

interface MockInterface {}

class ImagickPixelMock extends \ImagickPixel implements MockInterface
{
    protected $foo1;
    protected $foo2;
    protected $foo3;
    protected $foo4;
}

$reflectionClass = new ReflectionClass('ImagickPixelMock');
$instance = $reflectionClass->newInstanceWithoutConstructor();
$methods = $reflectionClass->getMethods();

$methodsAndParams = array(
    'clear' => [],
    'destroy' => [],
    'getColor' => [],
    'getColorAsString' => [],
    'getColorCount' => [],
    'getColorQuantum' => [],
    'getColorValue' => [Imagick::COLOR_BLUE],
    'getColorValueQuantum' => [Imagick::COLOR_RED],
    'getHSL' => [],
    'getIndex' => [],
    'isPixelSimilar' =>  ['red', 0.1],
    'isPixelSimilarQuantum' =>  ['red', 100],
    'isSimilar' =>  ['red', 0.1],
    'setColor' => ['red'],
    'setcolorcount' => [4],
    'setColorValue' => [Imagick::COLOR_BLUE, 0.5],
    'setColorValueQuantum' => [Imagick::COLOR_BLUE, 1],
    'setHSL' => [0.5, 0.5, 0.5],
    'setIndex' => [5],
    'setcolorfrompixel' => [$instance],
);

$testedMethods = array();
foreach ($methodsAndParams as $methodName => $params) {

	if ($reflectionClass->hasMethod($methodName) == false) {
		continue;
	}

    try {
        call_user_func_array([$instance, $methodName], $params);
        echo "failed to throw an exception.\n";
    }
    catch (ImagickPixelException $ipe) {
        if (strpos($ipe->getMessage(), "Can not process empty ImagickPixel object") === false) {
            echo "Incorrect message: " . $ipe->getMessage() . "\n";
        }
    }

    $testedMethods[] = strtolower($methodName);
}


// pretend we tested these.
$testedMethods[] = '__construct';
$testedMethods[] = 'clone';

foreach ($methods as $method) {
	$allMethods[] = strtolower($method->getName());
}

// Have we tested all but __construct
$missedMethods = array_diff($allMethods, $testedMethods);

if (count($missedMethods) !== 0) {
	echo "We didn't test all of the ImagickPixel methods\n";
	var_dump($missedMethods);
}

echo "Ok"

?>
--EXPECTF--

Ok083_Imagick_getPixelIterator_basic.phpt000064400000001764150457363270014137 0ustar00--TEST--
Test Imagick, getPixelIterator
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php


function getPixelIterator() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imageIterator = $imagick->getPixelIterator();

    /** @noinspection PhpUnusedLocalVariableInspection */
    foreach ($imageIterator as $row => $pixels) { /* Loop trough pixel rows */
        foreach ($pixels as $column => $pixel) { /* Loop through the pixels in the row (columns) */
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {
                $pixel->setColor("rgba(0, 0, 0, 0)"); /* Paint every second pixel black*/
            }
        }
        $imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    }

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

getPixelIterator() ;
echo "Ok";
?>
--EXPECTF--
Ok104_Imagick_randomThresholdImage_basic.phpt000064400000001373150457363270014732 0ustar00--TEST--
Test Imagick, randomThresholdImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$lowThreshold = 0.1;
$highThreshold = 0.9;
$channel = Imagick::CHANNEL_DEFAULT;

function randomThresholdimage($lowThreshold, $highThreshold, $channel) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $imagick->randomThresholdimage(
        $lowThreshold * \Imagick::getQuantum(),
        $highThreshold * \Imagick::getQuantum(),
        $channel
    );
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

randomThresholdimage($lowThreshold, $highThreshold, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok025-function-image.phpt000064400000000404150457363270010664 0ustar00--TEST--
Test functionimage
--SKIPIF--
<?php
$imageMagickBelowVersion = 0x700;
require_once(dirname(__FILE__) . '/skipif.inc');

?>
--FILE--
<?php
$im = new Imagick ('magick:rose');
$im->convolveimage (array (1, 'a', 1));

echo "OK" . PHP_EOL;
?>
--EXPECT--
OK123_Imagick_setImageClipMask_basic.phpt000064400000002132150457363270014007 0ustar00--TEST--
Test Imagick, setImageClipMask
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
checkClassMethods('imagick', array('setImageClipMask'));

?>
--FILE--
<?php


function setImageClipMask() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $width = $imagick->getImageWidth();
    $height = $imagick->getImageHeight();

    $clipMask = new \Imagick();
    $clipMask->newPseudoImage(
        $width,
        $height,
        "canvas:transparent"
    );

    $draw = new \ImagickDraw();
    $draw->setFillColor('white');
    $draw->circle(
        $width / 2,
        $height / 2,
        ($width / 2) + ($width / 4),
        $height / 2
    );
    $clipMask->drawImage($draw);
    $imagick->setImageClipMask($clipMask);

    $imagick->negateImage(false);
    $imagick->setFormat("png");

    $bytes = $imagick->getImagesBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
    
}

setImageClipMask() ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s Imagick::setImageClipMask() is deprecated in %s
Ok
237_Tutorial_deconstructGif_basic.phpt000064400000003771150457363270014067 0ustar00--TEST--
Test Tutorial, deconstructGif
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$deconstruct = 1;

function makeSimpleGif($deconstruct) {
    $aniGif = new \Imagick();
    $aniGif->setFormat("gif");

    $circleRadius = 20;
    $imageFrames = 6;
    $imageSize = 200;

    $background = new \Imagick();
    $background->newpseudoimage($imageSize, $imageSize, "canvas:gray");

    $blackWhite = new \Imagick();
    $blackWhite->newpseudoimage($imageSize, $imageSize, "gradient:black-white");

    $backgroundPalette = clone $background;
    $backgroundPalette->quantizeImage(240, \Imagick::COLORSPACE_RGB, 8, false, false);

    $blackWhitePalette = clone $blackWhite;
    $blackWhitePalette->quantizeImage(16, \Imagick::COLORSPACE_RGB, 8, false, false);

    $backgroundPalette->addimage($blackWhitePalette);

    for($count=0 ; $count<$imageFrames ; $count++) {
        echo "Frame: ".$count."\n";
        $drawing = new \ImagickDraw();
        $drawing->setFillColor('white');
        $drawing->setStrokeColor('rgba(64, 64, 64, 0.8)');
        $strokeWidth = 4;
        $drawing->setStrokeWidth($strokeWidth);
        
        $distanceToMove = $imageSize + (($circleRadius + $strokeWidth) * 2);
        $offset = ($distanceToMove * $count / ($imageFrames -1)) - ($circleRadius + $strokeWidth);
        $drawing->translate($offset, ($imageSize / 2) + ($imageSize / 3 * cos(20 * $count / $imageFrames)));
        $drawing->circle(0, 0, $circleRadius, 0);

        $frame = clone $background;
        $frame->drawimage($drawing);
        $frame->clutimage($backgroundPalette);
        $frame->setImageDelay(10);
        $aniGif->addImage($frame);
    }

    if ($deconstruct == true) {
        $aniGif = $aniGif->deconstructImages();
    }

    $bytes = $aniGif->getImagesBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

makeSimpleGif($deconstruct) ;
echo "Ok";
?>
--EXPECTF--
Frame: 0
Frame: 1
Frame: 2
Frame: 3
Frame: 4
Frame: 5
Ok059_Imagick_distortImage_Polar.phpt000064400000001455150457363270013273 0ustar00--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$distortion = 1;

        //v6.4.2-6
        $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
        $points = array(
            0
        );

        //Only do partial arc
//        $points = array(
//            60,20, 0,0, -60,60
//        );

//        HorizontalTile
        
        $imagick->setimagebackgroundcolor("#fad888");
        $imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE);
        $imagick->distortImage(\Imagick::DISTORTION_POLAR, $points, TRUE);

    $bytes = $imagick;
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 

echo "Ok";
?>
--EXPECTF--
Ok121_Imagick_setImageBias_basic.phpt000064400000001547150457363270013171 0ustar00--TEST--
Test Imagick, setImageBias
--SKIPIF--
<?php 
    require_once(dirname(__FILE__) . '/skipif.inc'); 
    checkClassMethods('Imagick', array('setImageBias'));
?>
--FILE--
<?php

$bias = 0.5;

//requires ImageMagick version 6.9.0-1 to have an effect on convolveImage
function setImageBias($bias) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");

    $xKernel = array(
        -0.70, 0, 0.70,
        -0.70, 0, 0.70,
        -0.70, 0, 0.70
    );

    $imagick->setImageBias($bias * \Imagick::getQuantum());
    $imagick->convolveImage($xKernel, \Imagick::CHANNEL_ALL);

    $imagick->setImageFormat('png');

    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

setImageBias($bias) ;
echo "Ok";
?>
--EXPECTF--
Deprecated: %s Imagick::setImageBias() is deprecated in %s
Ok
035_Imagick_blackThresholdImage_basic.phpt000064400000001066150457363270014530 0ustar00--TEST--
Test Imagick, blackThresholdImage
--SKIPIF--
<?php
$imageMagickRequiredVersion=0x675;
require_once(dirname(__FILE__) . '/skipif.inc');
?>
--FILE--
<?php

$thresholdColor = 'rgb(127, 127, 127)';

function blackThresholdImage($thresholdColor) {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(640, 480, "magick:logo");
    $imagick->blackthresholdimage($thresholdColor);
    $bytes = $imagick->getImageBlob();
    if (strlen($bytes) <= 0) { echo "Failed to generate image.";} 
}

blackThresholdImage($thresholdColor) ;
echo "Ok";
?>
--EXPECTF--
Ok010-compression.phpt000064400000001102150457366230010305 0ustar00--TEST--
leveldb - compression
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb-compression.test-db';

$db = new LevelDB($leveldb_path, array('compression' => 33));
unset($db);

$db = new LevelDB($leveldb_path, array('compression' => LEVELDB_SNAPPY_COMPRESSION));
$db->set("key", "value");

?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb-compression.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
Warning: LevelDB::__construct(): Unsupported compression type in %s on line %s
==DONE==
019-null-comparator.phpt000064400000001043150457366230011100 0ustar00--TEST--
leveldb - NULL comparator should not throw exception
--DESCRIPTION--
NULL is the default value of comparator open options
open with null shouldn't throw exception
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/null-comparator.test-db';

$db = new LevelDB($leveldb_path, array('comparator' => NULL));

?>
Should no exception
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/null-comparator.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECT--
Should no exception
==DONE==
018-snapshot.phpt000064400000002600150457366230007617 0ustar00--TEST--
leveldb - snapshot
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb-snapshot.test-db';
@unlink($leveldb_path);

$db = new LevelDB($leveldb_path);
$db->put("key1", "value1");
$db->put("key2", "value2");

$snapshot = new LevelDBSnapshot($db);

$db->put("key3", "value3");


try {
	$it = new LevelDBIterator($db, array('snapshot' => ''));
} catch(LevelDBException $e) {
	var_dump($e->getMessage());
}

$it = $db->getIterator(array('snapshot' => $snapshot));
foreach($it as $k => $v) {
	echo "$k => $v\n";
}

var_dump($db->get("key3", array('snapshot' => $snapshot)));
var_dump($db->get("key3"));

echo "*** Release snapshot x1 ***\n";
$snapshot->release();
echo "*** Release snapshot x2 ***\n";
$snapshot->release();

echo "*** Try to use released snapshot ***\n";
try {
	$it = new LevelDBIterator($db, array('snapshot' => $snapshot));
} catch(LevelDBException $e) {
	var_dump($e->getMessage());
}
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb-snapshot.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
string(69) "Invalid snapshot parameter, it must be an instance of LevelDBSnapshot"
key1 => value1
key2 => value2
bool(false)
string(6) "value3"
*** Release snapshot x1 ***
*** Release snapshot x2 ***
*** Try to use released snapshot ***
string(48) "Invalid snapshot parameter, it has been released"
==DONE==
011-getApproximateSizes.phpt000064400000001533150457366230011764 0ustar00--TEST--
leveldb - getApproximateSizes
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb-getApproximateSizes.test-db';

$db = new LevelDB($leveldb_path);
for($i=0; $i < 99999; ++$i) {
	$db->set("b{$i}", "value");
}

unset($db);

$db = new LevelDB($leveldb_path);

var_dump($db->getApproximateSizes(array("A", "B", 3), array("b0", "Z")));
var_dump($db->getApproximateSizes(array(), array()));
var_dump($db->getApproximateSizes(array("a", "b"), array("c", "Z")));
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb-getApproximateSizes.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
Warning: LevelDB::getApproximateSizes(): The num of start keys and limit keys didn't match in %s on line %d
bool(false)
array(0) {
}
array(2) {
  [0]=>
  int(%d)
  [1]=>
  int(%d)
}
==DONE==
008-options.phpt000064400000001651150457366230007457 0ustar00--TEST--
leveldb - options open options
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_options.test-db';

try {
	$db = new LevelDB($leveldb_path, array("create_if_missing" => false));
} catch(LevelDBException $e) {
	echo $e->getMessage() . "\n";
}

try {
	$db = new LevelDB($leveldb_path, array("max_open_files" => 10));
	$db->set("key", "value");
	var_dump($db->get("key"));
} catch(LevelDBException $e) {
	echo $e->getMessage() . "\n";
}

unset($db);
try {
	$db = new LevelDB($leveldb_path, array("error_if_exists" => true));
} catch(LevelDBException $e) {
	echo $e->getMessage() . "\n";
}
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_options.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
Invalid argument: %s: does not exist (create_if_missing is false)
string(5) "value"
Invalid argument: %s: exists (error_if_exists is true)
==DONE==
003-openbasedir.phpt000064400000001236150457366230010251 0ustar00--TEST--
leveldb - open base dir
--INI--
open_basedir=.
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$cwd = getcwd();

$path = $cwd . '/../leveldb_openbasedir.test-db';
$db = new LevelDB($path);
LevelDB::destroy($path);
LevelDB::repair($path);
?>
--EXPECTF--
Warning: LevelDB::__construct(): open_basedir restriction in effect. File(%s) is not within the allowed path(s): (%s) in %s on line %d

Warning: LevelDB::destroy(): open_basedir restriction in effect. File(%s) is not within the allowed path(s): (%s) in %s on line %d

Warning: LevelDB::repair(): open_basedir restriction in effect. File(%s) is not within the allowed path(s): (%s) in %s on line %d
014-iterator-destroy.phpt000064400000001043150457366230011274 0ustar00--TEST--
leveldb - iterator destroy
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_iterator_destroy.test-db';
$db = new LevelDB($leveldb_path);

$db->set("key", "value");
$it = new LevelDBIterator($db);

$it->destroy();
try {
	$it->next();
} catch(LevelDBException $e) {
	echo $e->getMessage() . "\n";
}
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_iterator_destroy.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
Iterator has been destroyed
==DONE==
015-double-iterator.phpt000064400000001000150457366230011047 0ustar00--TEST--
leveldb - Fixed bug segfault when double construct iterator
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_iterator_double_construct.test-db';
$db = new LevelDB($leveldb_path);

$it1 = new LevelDBIterator($db);
$it2 = new LevelDBIterator($db);

$it1->destroy();
$it2->destroy();
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_iterator_double_construct.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
==DONE==
012-getProperty.phpt000064400000001763150457366230010307 0ustar00--TEST--
leveldb - getProperty
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb-getProperty.test-db';

$db = new LevelDB($leveldb_path);
for($i=0; $i < 99999; ++$i) {
	$db->set("b{$i}", "value{$i}");
}

$stats = $db->getProperty('leveldb.stats');
var_dump($stats !== false);
var_dump(strlen($stats) > 1);
var_dump($db->getProperty('leveldb.num-files-at-level1'));
var_dump($db->getProperty('leveldb.num-files-at-level2'));
var_dump($db->getProperty('leveldb.num-files-at-level3'));

$sstables = $db->getProperty('leveldb.sstables');
var_dump($sstables !== false);
var_dump(strlen($sstables) > 1);

var_dump($db->getProperty('leveldb.anything'));
var_dump($db->getProperty('anythingelse'));
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb-getProperty.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
bool(true)
bool(true)
string(1) "%d"
string(1) "%d"
string(1) "%d"
bool(true)
bool(true)
bool(false)
bool(false)
==DONE==
009-comparator.phpt000064400000003711150457366230010133 0ustar00--TEST--
leveldb - custom comparator
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb-comparator.test-db';

echo "*** could not use invalid custom comparator ***\n";
try {
	$db = new LevelDB($leveldb_path, array('comparator' => 'invaid_func'));
} catch(LevelDBException $e) {
	echo $e->getMessage() . "\n";
}

echo "*** valid custom comparator ***\n";
$db = new LevelDB($leveldb_path, array('comparator' => 'custom_comparator'));

$values = array(3, 1, 4, 6, 2, 5);
foreach($values as $v) {
	$db->set($v, $v);
}

$it = new LevelDBIterator($db);
foreach($it as $v) {
	echo "$v\n";
}
unset($it);
unset($db);

echo "*** custom comparator can only open with the same comparator again ***\n";
try {
	$db = new LevelDB($leveldb_path);
} catch(LevelDBException $e) {
	echo $e->getMessage() . "\n";
}


$db = new LevelDB($leveldb_path, array('comparator' => 'custom_comparator'));
var_dump($db->get(1) == 1);
unset($db);


echo "*** custom comparator which throw exception ***\n";
$db = new LevelDB($leveldb_path, array('comparator' => array('CustomFunc', 'willException')));
try {
	$db->set("Hi", "guys");
	var_dump($db->get("Hi"));
} catch(Exception $e) {
	echo $e->getMessage() . "\n";
}

// reverse DESC
function custom_comparator($a, $b) {
   if ($a == $b) {
        return 0;
    }
    return ($a > $b) ? -1 : 1;
}

class CustomFunc {
	public static function willException($a, $b) {
		throw new Exception("Oops!");
	}
}
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb-comparator.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
*** could not use invalid custom comparator ***
Invalid open option: comparator, invaid_func() is not callable
*** valid custom comparator ***
6
5
4
3
2
1
*** custom comparator can only open with the same comparator again ***
Invalid argument: php_leveldb.custom_comparator%s leveldb.BytewiseComparator
bool(true)
*** custom comparator which throw exception ***
Oops!
==DONE==
007-db-close.phpt000064400000001067150457366230007454 0ustar00--TEST--
leveldb - db close
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_close.test-db';
$db = new LevelDB($leveldb_path);

$db->close();


unset($it);
unset($db);

// ensure destructeur properly close the db */
LevelDB::destroy($leveldb_path);
var_dump(file_exists($leveldb_path));
?>
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_close.test-db';
if (file_exists($leveldb_path)) LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
Deprecated: %s LevelDB::close() is deprecated in %s
bool(false)
016-different-iterators-should-differ.phpt000064400000001472150457366230014475 0ustar00--TEST--
leveldb - different iterators should not affect each other
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_iterator_should_not_affect_eachother.test-db';
$db = new LevelDB($leveldb_path);

foreach(array(1, 2, 3, 4) as $k) {
	$db->put($k, $k);
}

$it1 = new LevelDBIterator($db);
$it2 = new LevelDBIterator($db);

foreach($it1 as $k => $v) {
	echo "$k => $v\n";
}

$it1->rewind();
var_dump($it1->next());
var_dump($it1->next());
var_dump($it1->current());
var_dump($it2->current());

$it1->destroy();
$it2->destroy();
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_iterator_should_not_affect_eachother.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
1 => 1
2 => 2
3 => 3
4 => 4
NULL
NULL
string(1) "3"
string(1) "1"
==DONE==
013-compactRange.phpt000064400000000712150457366230010360 0ustar00--TEST--
leveldb - compactRange
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb-compactRange.test-db';

$db = new LevelDB($leveldb_path);
for($i=0; $i < 99999; ++$i) {
	$db->set("b{$i}", "value{$i}");
}

var_dump($db->compactRange('a', 'Z'));
?>
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb-compactRange.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
NULL
==DONE==
005-iterator.phpt000064400000003365150457366230007616 0ustar00--TEST--
leveldb - iterate through db
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_iterator.test-db';
$db = new LevelDB($leveldb_path);

/* Add test data, and the data will be be sorted */
$data = array(
	"First", "Second", "Third", 10, "", "Last"
);

foreach($data as $item) {
	$db->set($item, $item);
}

$it = new LevelDBIterator($db);

echo "*** Loop through ***\n";
for ($it->rewind(); $it->valid(); $it->next()) {
	echo $it->key() . " => " . $it->current() . "\n";
}

echo "\n*** Reset to last ***\n";
var_dump($it->last());
var_dump($it->key() . " => " . $it->current());

echo "\n*** Last->next will be invalid ***\n";
var_dump($it->next());
var_dump($it->valid());
var_dump($it->key());

echo "\n*** Seek to give key ***\n";
$it->seek("Second");
var_dump($it->current());

echo "\n*** Seek to a non-exist key will point to nearest next key ***\n";
$it->seek("11");
var_dump($it->current());

echo "\n*** Bound checking ***\n";
$it->rewind();
$it->prev();
$it->prev();
var_dump($it->current());

$it->next();
$it->next();
$it->next();
$it->next();
$it->next();
$it->next();
$it->next();
$it->next();
$it->next();
$it->next();
var_dump($it->current());

var_dump($it->getError());
?>
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_iterator.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
*** Loop through ***
 => 
10 => 10
First => First
Last => Last
Second => Second
Third => Third

*** Reset to last ***
NULL
string(14) "Third => Third"

*** Last->next will be invalid ***
NULL
bool(false)
bool(false)

*** Seek to give key ***
string(6) "Second"

*** Seek to a non-exist key will point to nearest next key ***
string(5) "First"

*** Bound checking ***
bool(false)
bool(false)
bool(false)
017-db-getIterator.phpt000064400000001210150457366230010627 0ustar00--TEST--
leveldb - LevelDB::getIterator()
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_get_iterator.test-db';
$db = new LevelDB($leveldb_path);

foreach(range(1, 9) as $item) {
	$db->set($item, $item);
}

$it = $db->getIterator();

var_dump(get_class($it));

for ($it->rewind(); $it->valid(); $it->next()) {
	echo $it->key() . " => " . $it->current() . "\n";
}
?>
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_get_iterator.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
string(15) "LevelDBIterator"
1 => 1
2 => 2
3 => 3
4 => 4
5 => 5
6 => 6
7 => 7
8 => 8
9 => 9
leveldb.inc000064400000000230150457366230006662 0ustar00<?php

function leveldb_empty($db) {
	$it = new LevelDBIterator($db);

	for($it->rewind(); $it->valid(); $it->next()) {
		$db->delete($it->key());
	}
}
002-db-management.phpt000064400000000471150457366230010454 0ustar00--TEST--
leveldb - db management
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$path = dirname(__FILE__) . '/leveldb-db-op.test-db';
$db = new LevelDB($path);
$db->set("key", "value");

unset($db);
var_dump(LevelDB::destroy($path));
var_dump(file_exists($path));
?>
--EXPECTF--
bool(true)
bool(false)
006-iterator-foreach.phpt000064400000002061150457366230011214 0ustar00--TEST--
leveldb - iterate through db by foreach
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_iterator-foreach.test-db';
$db = new LevelDB($leveldb_path);

/* Add test data, and the data will be be sorted */
$data = array(
	"First", "Second", "Third", 10, "", "Last"
);

foreach($data as $item) {
	$db->set($item, $item);
}

$it = new LevelDBIterator($db);

echo "*** Loop through in foreach style ***\n";
foreach ($it as $key => $value) {
	echo "{$key} => {$value}\n";
}

echo "*** Loop through in foreach with newly-created iterator ***\n";
foreach(new LevelDBIterator($db) as $key => $value){
	echo "{$key} => {$value}\n";
}
?>
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_iterator-foreach.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
*** Loop through in foreach style ***
 => 
10 => 10
First => First
Last => Last
Second => Second
Third => Third
*** Loop through in foreach with newly-created iterator ***
 => 
10 => 10
First => First
Last => Last
Second => Second
Third => Third
004-write-batch.phpt000064400000001706150457366230010172 0ustar00--TEST--
leveldb - write batch
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/leveldb_batch.test-db';
$db = new LevelDB($leveldb_path);

echo "* batch write with setting\n";
$batch = new LevelDBWriteBatch();
$batch->set('batch_foo', 'batch_bar');
$batch->put('batch_foo2', 'batch_bar2');
$batch->delete('batch_foo');

var_dump($db->write($batch));

var_dump($db->get('batch_foo2'));
var_dump($db->get('batch_foo'));

echo "* batch write with delete\n";
$batch->clear();
$batch->delete('batch_foo2');
$batch->set('batch_foo', 'batch again');

var_dump($db->write($batch));

var_dump($db->get('batch_foo2'));
var_dump($db->get('batch_foo'));
?>
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/leveldb_batch.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
* batch write with setting
bool(true)
string(10) "batch_bar2"
bool(false)
* batch write with delete
bool(true)
bool(false)
string(11) "batch again"
001-basic.phpt000064400000001176150457366240007041 0ustar00--TEST--
leveldb - basic: get(), set(), put(), delete()
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = __DIR__ . '/leveldb-basic.test-db';
$db = new LevelDB($leveldb_path);

var_dump($db->set('key', 'value'));
var_dump($db->get('key'));
var_dump($db->get('non-exists-key'));
var_dump($db->put('name', 'reeze'));
var_dump($db->get('name'));
var_dump($db->delete('name'));
var_dump($db->get('name'));
?>
--CLEAN--
<?php
$leveldb_path = __DIR__ . '/leveldb-basic.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECTF--
bool(true)
string(5) "value"
bool(false)
bool(true)
string(5) "reeze"
bool(true)
bool(false)
020-null-snapshot.phpt000064400000000725150457366240010567 0ustar00--TEST--
leveldb - NULL snapshot should not throw exception
--SKIPIF--
<?php include 'skipif.inc'; ?>
--FILE--
<?php

$leveldb_path = dirname(__FILE__) . '/null-snapshot.test-db';

$db = new LevelDB($leveldb_path);

var_dump($db->get("key", array('snapshot' => NULL)));

?>
Should no exception
==DONE==
--CLEAN--
<?php
$leveldb_path = dirname(__FILE__) . '/null-snapshot.test-db';
LevelDB::destroy($leveldb_path);
?>
--EXPECT--
bool(false)
Should no exception
==DONE==
003.phpt000064400000001066150462015260005747 0ustar00--TEST--
vips can save a file
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $output_filename = dirname(__FILE__) . "/x.tif";
  $image = vips_image_new_from_file($filename)["out"];
  vips_image_write_to_file($image, $output_filename);
  $new_image = vips_image_new_from_file($output_filename)["out"];
  if ($new_image != FALSE) {
    echo("pass\n");
  }
?>
--EXPECT--
pass
--CLEAN--
<?php
  $output_filename = dirname(__FILE__) . "/x.tif";
  unlink($output_filename);
?>

bug74975.phpt000064400000001437150462015260006644 0ustar00--TEST--
Bug #74975	Different serialization for classes
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php

#[AllowDynamicProperties]
class Foo {

}

class Bar {

    public $xmlrpc_type;
    public $scalar;

}

$foo = new Foo();
$foo->xmlrpc_type = 'base64';
$foo->scalar = 'foobar';

$bar = new Bar();
$bar->xmlrpc_type = 'base64';
$bar->scalar = 'foobar';

echo xmlrpc_encode([
    'foo' => $foo,
    'bar' => $bar
]);

?>
--EXPECT--
<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <struct>
   <member>
    <name>foo</name>
    <value>
     <base64>Zm9vYmFy&#10;</base64>
    </value>
   </member>
   <member>
    <name>bar</name>
    <value>
     <base64>Zm9vYmFy&#10;</base64>
    </value>
   </member>
  </struct>
 </value>
</param>
</params>
bug50285.phpt000064400000004606150462015260006631 0ustar00--TEST--
Bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

function test1($func, $params) {
    return array(1=>'One', 3=>'Three', 5=>'Five');
}

function test2($func, $params) {
    return array('One', 'Three', 'Five', 5);
}

function test3($func, $params) {
    return array('One', 3 => 'Three', 'Five' => 5, 'Six');
}

function test4($func, $params) {
    return array('One', 'Three', 'Five', 'Six' => 6);
}

$server = xmlrpc_server_create();
$result = xmlrpc_server_register_method($server, 'test1', 'test1');
$HTTP_RAW_POST_DATA = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>test1</methodName>
<params />
</methodCall>
EOD;
$response = xmlrpc_server_call_method($server, $HTTP_RAW_POST_DATA, null);
var_dump(xmlrpc_decode($response));

// ------------

$server = xmlrpc_server_create();
$result = xmlrpc_server_register_method($server, 'test2', 'test2');
$HTTP_RAW_POST_DATA = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>test2</methodName>
<params />
</methodCall>
EOD;
$response = xmlrpc_server_call_method($server, $HTTP_RAW_POST_DATA, null);
var_dump(xmlrpc_decode($response));

// ------------

$server = xmlrpc_server_create();
$result = xmlrpc_server_register_method($server, 'test3', 'test3');
$HTTP_RAW_POST_DATA = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>test3</methodName>
<params />
</methodCall>
EOD;
$response = xmlrpc_server_call_method($server, $HTTP_RAW_POST_DATA, null);
var_dump(xmlrpc_decode($response));

// ------------

$server = xmlrpc_server_create();
$result = xmlrpc_server_register_method($server, 'test4', 'test4');
$HTTP_RAW_POST_DATA = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>test4</methodName>
<params />
</methodCall>
EOD;
$response = xmlrpc_server_call_method($server, $HTTP_RAW_POST_DATA, null);
var_dump(xmlrpc_decode($response));

?>
--EXPECT--
array(3) {
  [1]=>
  string(3) "One"
  [3]=>
  string(5) "Three"
  [5]=>
  string(4) "Five"
}
array(4) {
  [0]=>
  string(3) "One"
  [1]=>
  string(5) "Three"
  [2]=>
  string(4) "Five"
  [3]=>
  int(5)
}
array(4) {
  [0]=>
  string(3) "One"
  [3]=>
  string(5) "Three"
  ["Five"]=>
  int(5)
  [4]=>
  string(3) "Six"
}
array(4) {
  [0]=>
  string(3) "One"
  [1]=>
  string(5) "Three"
  [2]=>
  string(4) "Five"
  ["Six"]=>
  int(6)
}
bug45555.phpt000064400000001365150462015260006634 0ustar00--TEST--
Bug #45555 (Segfault with invalid non-string as register_introspection_callback)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

$options = array ();
$request = xmlrpc_encode_request ("system.describeMethods", $options);
$server = xmlrpc_server_create ();

xmlrpc_server_register_introspection_callback($server, 1);
xmlrpc_server_register_introspection_callback($server, array('foo', 'bar'));

$options = array ('output_type' => 'xml', 'version' => 'xmlrpc');
xmlrpc_server_call_method ($server, $request, NULL, $options);

?>
--EXPECTF--
Warning: xmlrpc_server_call_method(): Invalid callback '1' passed in %s on line %d

Warning: xmlrpc_server_call_method(): Invalid callback 'foo::bar' passed in %s on line %d
005.phpt000064400000001205150462015260005744 0ustar00--TEST--
we can call any vips operation 
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $output_filename = dirname(__FILE__) . "/x.tif";
  $image = vips_image_new_from_file($filename)["out"];
  $result = vips_call("invert", $image);
  $image = $result["out"];
  vips_image_write_to_file($image, $output_filename);
  $new_image = vips_image_new_from_file($output_filename)["out"];
  if ($new_image != FALSE) {
    echo("pass\n");
  }
?>
--EXPECT--
pass
--CLEAN--
<?php
  $output_filename = dirname(__FILE__) . "/x.tif";
  unlink($output_filename);
?>

bug71501.phpt000064400000000736150462015260006623 0ustar00--TEST--
Bug #71501 (xmlrpc_encode_request ignores encoding option)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php
$params = 'Lê Trung Hiếu';
echo xmlrpc_encode_request('foo', $params, ['encoding' => 'UTF-8', 'escaping' => 'markup']);
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>foo</methodName>
<params>
 <param>
  <value>
   <string>Lê Trung Hiếu</string>
  </value>
 </param>
</params>
</methodCall>
bug77242.phpt000064400000000431150462015260006623 0ustar00--TEST--
Bug #77242 (heap out of bounds read in xmlrpc_decode())
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
var_dump(xmlrpc_decode(base64_decode("PD94bWwgdmVyc2lvbmVuY29kaW5nPSJJU084ODU5NyKkpKSkpKSkpKSkpKSkpKSkpKSkpKSk")));
?>
--EXPECT--
NULLbug61097.phpt000064400000000544150462015260006631 0ustar00--TEST--
Bug #61097 (Memory leak in xmlrpc functions copying zvals)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
$server = xmlrpc_server_create();

$method = 'abc';
xmlrpc_server_register_introspection_callback($server, $method);
xmlrpc_server_register_method($server, 'abc', $method);

echo 'Done';
?>
--EXPECT--
Done
bug18916.phpt000064400000000673150462015260006636 0ustar00--TEST--
Bug #18916 (xmlrpc_set_type() not working)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--INI--
date.timezone="America/Sao_Paulo"
--FILE--
<?php

$params = date("Ymd\TH:i:s", time());
xmlrpc_set_type($params, 'datetime');
echo xmlrpc_encode($params);

?>
--EXPECTF--
<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <dateTime.iso8601>%dT%d:%d:%d</dateTime.iso8601>
 </value>
</param>
</params>
bug44996.phpt000064400000002353150462015260006642 0ustar00--TEST--
Bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

function DecodeDatetime($datetime) {
  print "\nISO 8601 datetime $datetime\n";
  $obj = xmlrpc_decode("<?xml version=\"1.0\"?><methodResponse><params><param><value><dateTime.iso8601>$datetime</dateTime.iso8601></value></param></params></methodResponse>");
  print_r($obj);
}

DecodeDatetime("20010909T01:46:40Z");
DecodeDatetime("20010909T00:46:40-01");
DecodeDatetime("2001-09-09T08:46:40+07:00");
DecodeDatetime("2001-09-08T21:46:40-0400");

?>
--EXPECT--
ISO 8601 datetime 20010909T01:46:40Z
stdClass Object
(
    [scalar] => 20010909T01:46:40Z
    [xmlrpc_type] => datetime
    [timestamp] => 1000000000
)

ISO 8601 datetime 20010909T00:46:40-01
stdClass Object
(
    [scalar] => 20010909T00:46:40-01
    [xmlrpc_type] => datetime
    [timestamp] => 1000000000
)

ISO 8601 datetime 2001-09-09T08:46:40+07:00
stdClass Object
(
    [scalar] => 2001-09-09T08:46:40+07:00
    [xmlrpc_type] => datetime
    [timestamp] => 1000000000
)

ISO 8601 datetime 2001-09-08T21:46:40-0400
stdClass Object
(
    [scalar] => 2001-09-08T21:46:40-0400
    [xmlrpc_type] => datetime
    [timestamp] => 1000000000
)
bug70526.phpt000064400000000413150462015260006621 0ustar00--TEST--
Bug #70526 (xmlrpc_set_type returns false on success)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php
$params = date("Ymd\TH:i:s", time());
$rv = xmlrpc_set_type($params, 'datetime');
var_dump($rv);
?>
--EXPECT--
bool(true)
007.phpt000064400000000560150462015260005751 0ustar00--TEST--
new_from_file supports optional args
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename, ["shrink" => 8])["out"];
  $width = vips_image_get($image, "width")["out"];
  if ($width == 200) {
	echo "pass";
  }
?>
--EXPECT--
pass
004.phpt000064400000000543150462015260005747 0ustar00--TEST--
vips can get image header fields 
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];
  $width = vips_image_get($image, "width")["out"];
  if ($width == 1600) {
    echo("pass\n");
  }
?>
--EXPECT--
pass
006.phpt000064400000000726150462015260005754 0ustar00--TEST--
vips_call supports optional input and output args
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $point = vips_call("black", NULL, 1, 1)["out"];
  $image = vips_call("embed", $point, 10, 20, 100, 100, 
	["extend" => "white"])["out"];
  $result = vips_call("min", $image, ["x" => true, "y" => true]);

  if ($result["out"] == 0 &&
    $result["x"] == 10 &&
    $result["y"] == 20) {
    echo("pass\n");
  }
?>
--EXPECT--
pass
bug77380.phpt000064400000000520150462015260006625 0ustar00--TEST--
Bug #77380 (Global out of bounds read in xmlrpc base64 code)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php
var_dump(xmlrpc_decode(base64_decode("PGJhc2U2ND7CkzwvYmFzZTY0Pgo=")));
?>
--EXPECT--
object(stdClass)#1 (2) {
  ["scalar"]=>
  string(0) ""
  ["xmlrpc_type"]=>
  string(6) "base64"
}
bug42736.phpt000064400000002330150462015260006623 0ustar00--TEST--
Bug #42736 (xmlrpc_server_call_method() crashes)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

class SOAP_Array {
    public function get($id){
        return $this->add($id);
    }
}

$xml = xmlrpc_server_create();

$Myrequest = '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>GetProducts</methodName><params><param><value><dateTime.iso8601>20060922T14:26:19</dateTime.iso8601></value></param></params></methodCall>';

class MyClass {
    function GetProducts($dummy, $time){
        return array('faultString' => $time);
    }
}
$myclass =  new MyClass();
xmlrpc_server_register_method($xml, 'GetProducts', array($myclass, 'GetProducts'));
$response = xmlrpc_server_call_method($xml, $Myrequest, null);

var_dump($response);

echo "Done\n";
?>
--EXPECT--
string(402) "<?xml version="1.0" encoding="iso-8859-1"?>
<methodResponse>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>faultString</name>
     <value>
      <array>
       <data>
        <value>
         <dateTime.iso8601>20060922T14:26:19</dateTime.iso8601>
        </value>
       </data>
      </array>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodResponse>
"
Done
002.phpt000064400000000444150462015260005745 0ustar00--TEST--
vips can load a file
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];
  if ($image != FALSE) {
    echo("pass\n");
  }
?>
--EXPECT--
pass
bug47818.phpt000064400000001565150462015260006642 0ustar00--TEST--
Bug #47818 (Segfault due to bound callback param)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

class MyXmlRpc {
    private $s;
    private $method;

    function impl($method_name, $params, $user_data){
        $this->method = $method_name;
        print "Inside impl(): {$this->method}\n";
        return array_sum($params);
    }

    function __construct() {
        $this->s = xmlrpc_server_create();
        xmlrpc_server_register_method($this->s, 'add', array($this, 'impl'));
    }

    function call($req) {
        return xmlrpc_server_call_method($this->s, $req, null);
    }

    function getMethod() {return $this->method;}

}

$x = new MyXmlRpc;
$resp = $x->call(xmlrpc_encode_request('add', array(1, 2, 3)));

$method = $x->getMethod();

print "Global scope: $method\n";

?>
--EXPECT--
Inside impl(): add
Global scope: add
bug68027.phpt000064400000002072150462015260006627 0ustar00--TEST--
Bug #68027 (buffer overflow in mkgmtime() function)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php

$d = '6-01-01 20:00:00';
xmlrpc_set_type($d, 'datetime');
var_dump($d);
$datetime = "2001-0-08T21:46:40-0400";
$obj = xmlrpc_decode("<?xml version=\"1.0\"?><methodResponse><params><param><value><dateTime.iso8601>$datetime</dateTime.iso8601></value></param></params></methodResponse>");
print_r($obj);

$datetime = "34770-0-08T21:46:40-0400";
$obj = xmlrpc_decode("<?xml version=\"1.0\"?><methodResponse><params><param><value><dateTime.iso8601>$datetime</dateTime.iso8601></value></param></params></methodResponse>");
print_r($obj);

echo "Done\n";
?>
--EXPECTF--
object(stdClass)#1 (3) {
  ["scalar"]=>
  string(16) "6-01-01 20:00:00"
  ["xmlrpc_type"]=>
  string(8) "datetime"
  ["timestamp"]=>
  int(%d)
}
stdClass Object
(
    [scalar] => 2001-0-08T21:46:40-0400
    [xmlrpc_type] => datetime
    [timestamp] => %s
)
stdClass Object
(
    [scalar] => 34770-0-08T21:46:40-0400
    [xmlrpc_type] => datetime
    [timestamp] => %d
)
Done
bug45226.phpt000064400000002156150462015260006626 0ustar00--TEST--
Bug #45226 (xmlrpc_set_type() segfaults with valid ISO8601 date string)
--INI--
date.timezone="America/Sao_Paulo"
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

$d = date(DATE_ISO8601);
xmlrpc_set_type($d, 'datetime');
echo xmlrpc_encode_request('method.call', array('date' => $d));

$d = '2008-01-01 20:00:00';
xmlrpc_set_type($d, 'datetime');
echo xmlrpc_encode_request('method.call', array('date' => $d));

?>
--EXPECTF--
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>method.call</methodName>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>date</name>
     <value>
      <dateTime.iso8601>%d-%d-%dT%d:%d:%d%s%d</dateTime.iso8601>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodCall>
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>method.call</methodName>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>date</name>
     <value>
      <dateTime.iso8601>%d-%d-%d %d:%d:%d</dateTime.iso8601>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodCall>
bug40576.phpt000064400000002506150462015260006630 0ustar00--TEST--
Bug #40576 (double values are truncated to 6 decimal digits when encoding)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
?>
--INI--
precision=12
--FILE--
<?php

var_dump(xmlrpc_encode(1.123456789));
var_dump(xmlrpc_encode(11234567891010));
var_dump(xmlrpc_encode(11234567));
var_dump(xmlrpc_encode(""));
var_dump(xmlrpc_encode("test"));
var_dump(xmlrpc_encode("1.22222222222222222222222"));

echo "Done\n";
?>
--EXPECT--
string(125) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <double>1.123456789</double>
 </value>
</param>
</params>
"
string(130) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <double>1.1234567891E+13</double>
 </value>
</param>
</params>
"
string(116) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <int>11234567</int>
 </value>
</param>
</params>
"
string(106) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <string/>
 </value>
</param>
</params>
"
string(118) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <string>test</string>
 </value>
</param>
</params>
"
string(139) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <string>1.22222222222222222222222</string>
 </value>
</param>
</params>
"
Done
bug70728_64bit.phpt000064400000001157150462015260007643 0ustar00--TEST--
Bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
?>
--FILE--
<?php
$obj = new stdClass;
$obj->xmlrpc_type = 'base64';
$obj->scalar = 0x1122334455;
var_dump(xmlrpc_encode($obj));
var_dump($obj);
?>
--EXPECT--
string(135) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <base64>NzM1ODgyMjkyMDU=&#10;</base64>
 </value>
</param>
</params>
"
object(stdClass)#1 (2) {
  ["xmlrpc_type"]=>
  string(6) "base64"
  ["scalar"]=>
  int(73588229205)
}
bug50282.phpt000064400000001260150462015260006617 0ustar00--TEST--
Bug #50282 (xmlrpc_encode_request() changes object into array in calling function)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

class One { var $x = 10; }

$o = new One();
var_dump($o);
var_dump(xmlrpc_encode_request('test', $o));
var_dump($o);

?>
--EXPECTF--
object(One)#%d (1) {
  ["x"]=>
  int(10)
}
string(279) "<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>test</methodName>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>x</name>
     <value>
      <int>10</int>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodCall>
"
object(One)#%d (1) {
  ["x"]=>
  int(10)
}
bug37057.phpt000064400000002221150462015260006622 0ustar00--TEST--
Bug #37057 (xmlrpc_decode() may produce arrays with numeric string keys which are unaccessible)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
$response='<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>50</name>
            <value><string>0.29</string></value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>';

$retval=xmlrpc_decode($response);
var_dump($retval);
var_dump($retval["50"]);
var_dump($retval[50]);

$response='<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>0</name>
            <value><string>0.29</string></value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>';

$retval=xmlrpc_decode($response);
var_dump($retval);
var_dump($retval["0"]);
var_dump($retval[0]);

echo "Done\n";
?>
--EXPECT--
array(1) {
  [50]=>
  string(4) "0.29"
}
string(4) "0.29"
string(4) "0.29"
array(1) {
  [0]=>
  string(4) "0.29"
}
string(4) "0.29"
string(4) "0.29"
Done
bug38431.phpt000064400000001026150462015260006621 0ustar00--TEST--
Bug #38431 (xmlrpc_get_type() crashes PHP on objects)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

var_dump(xmlrpc_get_type(new stdclass));
var_dump(xmlrpc_get_type(array()));
$var = array(1,2,3);
var_dump(xmlrpc_get_type($var));
$var = array("test"=>1,2,3);
var_dump(xmlrpc_get_type($var));
$var = array("test"=>1,"test2"=>2);
var_dump(xmlrpc_get_type($var));

echo "Done\n";
?>
--EXPECT--
string(5) "array"
string(5) "array"
string(5) "array"
string(5) "mixed"
string(6) "struct"
Done
bug72647.phpt000064400000001024150462015260006626 0ustar00--TEST--
Bug #72647 (xmlrpc_encode() unexpected output after referencing array elements)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php

$ar = array(4, "a", 7);
$v = &$ar[1];
unset($v);

echo xmlrpc_encode($ar);
?>
--EXPECT--
<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <array>
   <data>
    <value>
     <int>4</int>
    </value>
    <value>
     <string>a</string>
    </value>
    <value>
     <int>7</int>
    </value>
   </data>
  </array>
 </value>
</param>
</params>
bug70728.phpt000064400000001161150462015260006626 0ustar00--TEST--
Bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
?>
--FILE--
<?php
$obj = new stdClass;
$obj->xmlrpc_type = 'base64';
$obj->scalar = 0x1122334455;
var_dump(xmlrpc_encode($obj));
var_dump($obj);
?>
--EXPECT--
string(135) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <base64>NzM1ODgyMjkyMDU=&#10;</base64>
 </value>
</param>
</params>
"
object(stdClass)#1 (2) {
  ["xmlrpc_type"]=>
  string(6) "base64"
  ["scalar"]=>
  float(73588229205)
}
bug72155.phpt000064400000000731150462015260006624 0ustar00--TEST--
Bug #72155 (use-after-free caused by get_zval_xmlrpc_type)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
?>
--FILE--
<?php
if (false !== strpos(PHP_OS, "WIN")) {
    $fl = "c:\\windows\\explorer.exe";
} else {
    $fl = "/etc/passwd";
}
$var0 = fopen($fl,"r");
$var1 = xmlrpc_encode($var0);
var_dump($var1);
?>
--EXPECT--
string(109) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <int>5</int>
 </value>
</param>
</params>
"
001.phpt000064400000000302150462015260005735 0ustar00--TEST--
check for vips presence
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  echo "vips extension is available";
?>
--EXPECT--
vips extension is available
bug51288.phpt000064400000000542150462015260006630 0ustar00--TEST--
Bug #51288 (CVE-2010-0397, NULL pointer deref when no <methodName> in request)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
$method = NULL;
$req = '<?xml version="1.0"?><methodCall></methodCall>';
var_dump(xmlrpc_decode_request($req, $method));
var_dump($method);
echo "Done\n";
?>
--EXPECT--
NULL
NULL
Done
bug61264.phpt000064400000000531150462015260006621 0ustar00--TEST--
Bug #61264: xmlrpc_parse_method_descriptions leaks temporary variable
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<a>
 <b>foo</b>
</a>
XML;
var_dump(xmlrpc_parse_method_descriptions($xml));
?>
--EXPECT--
array(1) {
  ["b"]=>
  string(3) "foo"
}
bug42189.phpt000064400000000427150462015260006632 0ustar00--TEST--
Bug #42189 (xmlrpc_get_type() crashes PHP on invalid dates)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
$a = '~~~~~~~~~~~~~~~~~~';
$ok = xmlrpc_set_type($a, 'datetime');
var_dump($ok);

echo "Done\n";
?>
--EXPECT--
bool(false)
Done
bug45556.phpt000064400000002110150462015260006622 0ustar00--TEST--
Bug #45556 (Return value from callback isn't freed)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php

$options = array ();
$request = xmlrpc_encode_request ("system.describeMethods", $options);
$server = xmlrpc_server_create ();


function foo() { return 11111; }

class bar {
    static public function test() {
        return 'foo';
    }
}

xmlrpc_server_register_introspection_callback($server, 'foobar');
xmlrpc_server_register_introspection_callback($server, array('bar', 'test'));
xmlrpc_server_register_introspection_callback($server, array('foo', 'bar'));

$options = array ('output_type' => 'xml', 'version' => 'xmlrpc');
xmlrpc_server_call_method ($server, $request, NULL, $options);

?>
--EXPECTF--
Warning: xmlrpc_server_call_method(): Invalid callback 'foobar' passed in %s on line %d

Warning: xmlrpc_server_call_method(): XML parse error: [line 1, column 1, message: %s] Unable to add introspection data returned from bar::test() in %s on line %d

Warning: xmlrpc_server_call_method(): Invalid callback 'foo::bar' passed in %s on line %d
bug40576_64bit.phpt000064400000002473150462015260007643 0ustar00--TEST--
Bug #40576 (double values are truncated to 6 decimal digits when encoding)
--SKIPIF--
<?php
if (!extension_loaded("xmlrpc")) print "skip";
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
?>
--INI--
precision=12
--FILE--
<?php

var_dump(xmlrpc_encode(1.123456789));
var_dump(xmlrpc_encode(11234567891010));
var_dump(xmlrpc_encode(11234567));
var_dump(xmlrpc_encode(""));
var_dump(xmlrpc_encode("test"));
var_dump(xmlrpc_encode("1.22222222222222222222222"));

echo "Done\n";
?>
--EXPECT--
string(125) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <double>1.123456789</double>
 </value>
</param>
</params>
"
string(119) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <int>-1066555326</int>
 </value>
</param>
</params>
"
string(116) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <int>11234567</int>
 </value>
</param>
</params>
"
string(106) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <string/>
 </value>
</param>
</params>
"
string(118) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <string>test</string>
 </value>
</param>
</params>
"
string(139) "<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <string>1.22222222222222222222222</string>
 </value>
</param>
</params>
"
Done
bug50761.phpt000064400000003107150462015260006623 0ustar00--TEST--
Bug #50761 (system.multiCall crashes)
--SKIPIF--
<?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
--FILE--
<?php
$req = '<?xml version="1.0"?>
<methodCall>
<methodName>system.multiCall</methodName>
<params><param><value><array><data>
<value><struct>
<member><name>methodName</name><value><string>testMethodA</string></value></member>
<member><name>params</name><value><array><data><value><string>A</string>
</value></data></array></value></member>
</struct></value>
<value><struct>
<member><name>methodName</name><value><string>testMethodB</string></value></member>
<member><name>params</name><value><array><data><value><string>B</string>
</value></data></array></value></member>
</struct></value>
</data></array></value></param></params>
</methodCall>';

function testA($methodName, $params, $var){ return "C"; }
function testB($methodName, $params, $var){ return "D"; }

$server = xmlrpc_server_create();
xmlrpc_server_register_method($server, 'testMethodA', 'testA');
xmlrpc_server_register_method($server, 'testMethodB', 'testB');
$res = xmlrpc_server_call_method($server, $req, null);
echo $res;
?>
--EXPECT--
<?xml version="1.0" encoding="iso-8859-1"?>
<methodResponse>
<params>
 <param>
  <value>
   <array>
    <data>
     <value>
      <array>
       <data>
        <value>
         <string>C</string>
        </value>
       </data>
      </array>
     </value>
     <value>
      <array>
       <data>
        <value>
         <string>D</string>
        </value>
       </data>
      </array>
     </value>
    </data>
   </array>
  </value>
 </param>
</params>
</methodResponse>
037.phpt000064400000001170150470622270005756 0ustar00--TEST--
can make an image from memory
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php
  $binary_str = pack("C*", ...array_fill(0, 200, 0));
  $image = vips_image_new_from_memory($binary_str, 20, 10, 1, "uchar")["out"];
  $width = vips_image_get($image, "width")["out"];
  $height = vips_image_get($image, "height")["out"];
  $format = vips_image_get($image, "format")["out"];
  $bands = vips_image_get($image, "bands")["out"];
  $avg = vips_call("avg", $image)["out"];

  if ($width == 20 &&
	$height == 10 &&
	$format == 'uchar' &&
	$bands == 1 &&
	$avg == 0) {
	echo "pass";
  }
?>
--EXPECT--
pass042.phpt000064400000002003150470622270005746 0ustar00--TEST--
can set metadata
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $profilename = dirname(__FILE__) . "/images/sRGB.icc";
  $image = vips_image_new_from_file($filename)["out"];
  $data = file_get_contents($profilename);
  $output_filename = dirname(__FILE__) . "/x.tif";

  $image = vips_call("copy", $image)["out"];
  $result = vips_image_set_type($image, "VipsBlob", "icc-profile-data", $data);
  if ($result == 0) {
    echo "pass set_metadata\n";
  }

  vips_image_write_to_file($image, $output_filename);
  $new_image = vips_image_new_from_file($output_filename)["out"];
  if ($new_image != FALSE) {
    echo("pass reload\n");
  }

  $new_data = vips_image_get($image, "icc-profile-data")["out"];
  if ($new_data == $data) {
    echo("pass get_metadata\n");
  }
?>
--EXPECT--
pass set_metadata
pass reload
pass get_metadata
--CLEAN--
<?php
  $output_filename = dirname(__FILE__) . "/x.tif";
  unlink($output_filename);
?>

017.phpt000064400000000655150470622270005763 0ustar00--TEST--
can set enum from int
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $point = vips_call("black", NULL, 1, 1)["out"];
  $image = vips_call("embed", $point, 10, 20, 100, 100, ["extend" => 4])["out"];

  $result = vips_call("min", $image, 
		["x" => true, "y" => true, "x_array" => true]);
  $x_array = $result["x_array"];

  if ($x_array == [10]) {
	echo "pass";
  }
?>
--EXPECT--
pass
012.phpt000064400000001235150470622270005751 0ustar00--TEST--
new_from_buffer works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $buffer = file_get_contents($filename);

  $image = vips_image_new_from_buffer($buffer)["out"];
  $width1 = vips_image_get($image, "width")["out"];

  $image = vips_image_new_from_buffer($buffer, "shrink=2")["out"];
  $width2 = vips_image_get($image, "width")["out"];

  $image = vips_image_new_from_buffer($buffer, "", ["shrink" => 4])["out"];
  $width3 = vips_image_get($image, "width")["out"];

  if ($width1 == 1600 &&
	$width2 = 800 &&
	$width4 = 400) { 
	echo "pass";
  }
?>
--EXPECT--
pass
036.phpt000064400000001031150470622270005751 0ustar00--TEST--
can enlarge with a bicubic interpolator
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image1 = vips_image_new_from_file($filename)["out"];
  $interp = vips_interpolate_new("bicubic");

  $sz = vips_call("affine", $image1, [2, 0, 0, 2], ["interpolate" => $interp])["out"];

  $w1 = vips_image_get($image1, "width")["out"];
  $wr = vips_image_get($sz, "width")["out"];

  if ($w1 * 2 == $wr) {
    echo "pass";
  }
?>
--EXPECT--
pass
014.phpt000064400000001043150470622270005750 0ustar00--TEST--
new_from_array works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $image = vips_image_new_from_array([1, 2, 3]);
  $width1 = vips_image_get($image, "width")["out"];
  $height1 = vips_image_get($image, "height")["out"];

  $image = vips_image_new_from_array([[1, 2, 3], [4, 5, 6]]);
  $width2 = vips_image_get($image, "width")["out"];
  $height2 = vips_image_get($image, "height")["out"];

  if ($width1 == 3 &&
	$height1 == 1 &&
	$width2 = 3 &&
	$height2 == 2) {
	echo "pass";
  }
?>
--EXPECT--
pass
028.phpt000064400000001332150470622300005750 0ustar00--TEST--
can call draw operations
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];

  $x = vips_call("draw_circle", $image, [255], 50, 50, 10, ["fill" => true])["image"];

  $pixel = vips_call("crop", $x, 50, 50, 1, 1)["out"];
  $r = vips_call("extract_band", $pixel, 0)["out"];
  $r = vips_call("avg", $r)["out"];
  $g = vips_call("extract_band", $pixel, 1)["out"];
  $g = vips_call("avg", $g)["out"];
  $b = vips_call("extract_band", $pixel, 2)["out"];
  $b = vips_call("avg", $b)["out"];

  if ($r == 255 &&
    $g == 255 &&
    $b == 255) {
    echo "pass";
  }
?>
--EXPECT--
pass
016.phpt000064400000001377150470622300005756 0ustar00--TEST--
new_from_array has optional scale and offset
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $image = vips_image_new_from_array([1, 2, 3]);
  $scale1 = vips_image_get($image, "scale")["out"];
  $offset1 = vips_image_get($image, "offset")["out"];

  $image = vips_image_new_from_array([1, 2, 3], 8);
  $scale2 = vips_image_get($image, "scale")["out"];
  $offset2 = vips_image_get($image, "offset")["out"];

  $image = vips_image_new_from_array([1, 2, 3], 8, 12);
  $scale3 = vips_image_get($image, "scale")["out"];
  $offset3 = vips_image_get($image, "offset")["out"];

  if ($scale1 == 1 &&
	$offset1 == 0 &&
    $scale2 == 8 &&
	$offset2 == 0 &&
    $scale3 == 8 &&
	$offset3 == 12) {
	echo "pass";
  }
?>
--EXPECT--
pass
030.phpt000064400000000602150470622300005740 0ustar00--TEST--
enum fields are returned as strings
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];
  $interpretation = vips_image_get($image, "interpretation")["out"];
  if ($interpretation == "srgb") {
    echo("pass\n");
  }
?>
--EXPECT--
pass
027.phpt000064400000001360150470622300005750 0ustar00--TEST--
can use 1D array as constant image
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $image = vips_image_new_from_array([[1, 2, 3], [4, 5, 6]]);
  $rgb = vips_call("bandjoin", NULL, [$image, $image, $image])["out"];

  # multiply R by 2
  $rgb = vips_call("linear", $rgb, [2, 1, 1], [0, 0, 0])["out"];

  $pixel = vips_call("crop", $rgb, 0, 0, 1, 1)["out"];
  $r = vips_call("extract_band", $pixel, 0)["out"];
  $r = vips_call("avg", $r)["out"];
  $g = vips_call("extract_band", $pixel, 1)["out"];
  $g = vips_call("avg", $g)["out"];
  $b = vips_call("extract_band", $pixel, 2)["out"];
  $b = vips_call("avg", $b)["out"];

  if ($r == 2 &&
    $g == 1 &&
    $b == 1) {
    echo "pass";
  }
?>
--EXPECT--
pass
038.phpt000064400000000556150470622300005760 0ustar00--TEST--
can write to memory
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php
  $binary_str = pack("C*", ...array_fill(0, 200, 0));
  $image = vips_image_new_from_memory($binary_str, 20, 10, 1, "uchar")["out"];
  $mem_str = vips_image_write_to_memory($image);

  if ($binary_str === $mem_str) {
    echo "pass";
  }
?>
--EXPECT--
pass
images/img_0076.jpg000064400002031464150470622300007754 0ustar00���%�ExifII*	z���(2�i��fCanonCanon DIGITAL IXUS 300��2001:10:22 10:01:33��V��^�0210��"��>�
F�N�
f�n�v�	�
�~|�����6�0100��@���0� �(���2001:10:22 10:01:332001:10:22 10:01:33� ] }
��c�� &hpx�� ���B	 �
L0����� ]�����@@���4��_�0c]�IMG:DIGITAL IXUS 300 JPEGFirmware Version 1.0j��O�R980100@���(�U���
� �E�� ��DQ@ ����		
		


!#"! $)4,$'1'-=-167:::"*?D>8B3796			





OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO��x�!���	
}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz����������������������������������������������������������������������	
w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?��ТԦVH�	�F�w9�v�����'��,�1�.ܞq�֮EW[[��
��x	��X��-&��I�����=�իyƴ����	���3ۃ��>��څ��݆��%�,V�
&�*��a�8�dsL��$���輱C��*���8R�������?�'���z�=�����p[��s��W��ڻk��L�Y�`�.�oo'�~�OK�7�Aacw{pHE�8�l����9��u��W�!¢� l���-m�)=��1E3,��.�e��Oүi�4�(��u\d}߯lSR���i�=5�cF-Ion-����]۸$d~���y'ė�Ws4�#�]�tb$�}d�R��$�.ˢ1��?�@����ҕ#�F�|�#�6�F
���q�S��Vj���g}YU]�F�S���t� ��(�J���F��Wg�>���D�RQ����U֮�t4uk�%�U��B��;��B;sިK�A,23Aa�x�?���4z-�Zj�'�o�M)����A�@���֭i��ue�ZYT���$g�f��M�۬�ߑ�z~f��̱dDh�1�ݷ�����gws���-�S�Y�M,K��ֶ��m�
��*�zd��T6ֺr�M*���2������j�O]u؛����w�˩�ٮO�2D:O���m$1IJ�HV�CÜ��N+yݻGK�y���[;�_|2�~Py%��Y��xV���r�X�$U��'��4�o0��vI�t�ի+���^�ޛy��vn�QI�h���m8	+�쀤w>ğ¢�m�cק2�^C#y���x�����5͡�l�fb�G
�I1S�����=�Z��Q�i�B��2m'��5�~�;�o��H���ʱ�	l�ci���U->	'Q7ȱ���7'�N��/�n�Q#,P[�Ήq�@(��UD[fL�ك�g'?J�jW�u�CDլ��O��Ο��E4H��a��q�y�?�3gqk�=No4|�BJ���;QU�֍�[��H��^_9cC��(�~�z*|67�\A�GF�A�<�2Es��/�ka"#ewq��Հޡ�t�_�[!����Y�����J�6��v��I6U�޹o�x��-�* �����]��j��;$gL�.U�Fs���#]jvv�KV|R�W�vȨH�0��
��;-68TchQ�^7c��D���W?-ٟ-�m�z�iS�e��q²�?���5�^�#7Q5n���
q���k��O1�����qo$����$����\�&�9�r4�djZ=��ٟ)�?'π}��i���>�|�%�w#l�b!T���U1���Q���[ݝ
Y�F�i�E�z���v�ZE�ɰ��i����ď��~Ք�~�4�cQr.%�*��F��=깺(,�Z����3P+�kr�g�\��Bz��z���m����>��2�n�񧈏��M.��
[+Xb��@����T3Z�^J�<��F�۔d^���մ��R�N�	�b�P�
#ycg%q��灑L�.�>!���$�ٛk�:����J�:5��&'+���	>�xDQ��*�緯J��
\���s�9IeO3k�H\|�~?�u����D��<~F����{	򦔄�y�O\b�7w;bӗ%F2p�?,~T��Y�~�)t���6�ɏ�%��Gju��5��kkgr�07�޵�\�h��Q8���l�&�-��|��S����K�Z�J�p��C
6[yt\ps��n�����I���b�'IIN=?3�V����^ܽ�w�6����d��TpI�&�j+]�m7f�����?`V��Bc�<��:cb��D��~۬A`�K�C�������˨u�Ft��kfI-T3<��c�?�S����(�����#�t���{[��=�~�u�V-�H�U?���2k[��,�G�����y:�
DžNN'���*�$���;hn$x����A��<��s�t2��6�H�Í���G^{ϥs;)$����7s
���S�Ųv�;0��ך��4�����lPI!v8o�`�C�ojޜoi%e�ǣ�g#�
�wYK`O�8�A�&2@k{�.��^[���HGv�����,V6��-��dk�9�H6�'<����ہ1�Dʌ��{�
��c��[��k�TBh�L���21��_�������Q���9��-�u�����e�2]yV�@�pv(���~��j�JM?�Oq�$��,c���a�RM�����We������n��*yϭ_��Z�6�a4�~��9�p/�W%���l��o1�*[���]G'��,s�z��S�->�,�z&�H�p7���$c��Wʛ�pK~��A�ҝCN�,���wm��©X��[,G,9;I��AZr�=,�)�w�w�-|Ik9\,��ԃ�׮j�X�MM�2�X�;z}G����l�KRڽ�sмO�J�O3���Z@J��B9��^Ie��em���	�y�Nޙ�k�qNr��2�}���b�eR���c|�q�3�r��]o�٬�9�����E����=���iNV���{J��?��x�{�i��~h��8�#�~u庾�u���Nwnfh�z�ۊ��m��&��⨮�it��K���yc?(a����d��Y��bz���X�g�#������'�Ꮥ�#/��O���Z^�(�6�Ym�<~|��T�֫B��#70A|�)
��7��zv��<KvI�7ZS��^���w�]�*ҳ�Ԣ���0�t&��K��ɐ��3�ҩ+�[Z_���e���丷����z��ӊŵ��D�f`�;�V����Kı8+�,��|ݸf���Ғ��V4���ԑۚI���5u��#{��U,IhWw=I@k��W�=�J�+rǾ)6��`F�Ǯ9#�SSD�ji�64�q���d��ɹL��;61�u^�����:����s��3L�J�����8~&�U�m�1��{i}�����Oq�����;w�q���Pj��/��]b1}�lm�v��EJ��fDu��꺫x;�ž�o*��@$�z;�yΕ��cUW���Ib�/���
uMi�m-��H�΃
ij..p�4���8�N~l�<��	<�j�Gwi"��)�$^FI���6�2�W��u�'�t���.��ZN���}�a��{�o�X�\�C����$�?SZ%�_��-t2����T�C��������ƒ	˙��aʕC���Z����Rf�$d�Wi#j����F�ѝNU� �Ƭ����gbd�w�Nw����&�7P�����o��K��g}���ӣ������MP�5K-P3åGe!'v��?\~�]��艊{��z'�u�>i�`�[��{@�*�����f�*[�E�v�T#�W���j:�gh�}v*E�F���~&�DC�^�.�mn7)=�7=}+^��N����c2�n�F���3��׮q\�}�}H���B��g�J���F�	,�f%e�7N��2
f_O���6S9iZCr�\�>��\>��e῕�8]vIu�%�n�&'����M��e!�۴$���p?\z֕ݥ;��3
�Z�������K<,�$��{����ԶW�y��`�l$iB�a��pX�$v����^���ϖ�]��V�.�/_���5�E"Ą>7FS=NQڸH�-.��K�l#� �m��;�NJ�6q�}�᳿S&�ᡕ��ۺ0Q����imn6]�Hϱ��պ���ZؿR�,����8�偧y�ё�!<�������D&�ǖ�����=)��P6�R9�إʆ��F4���~�:v���Ӳ�Nҿ� ���pk���{�K�0K��ՙ�ʶ�CEu�}�RvW6���n�/�y���	v�pd�ę�q�p��5�^�׷^�A ���V]�[����㧠�^[-���_KlΦ�L��>�е�Pƈ$�$y�C��<����{�[����0!N1��q��
�s]5-�0WNZ4yޏy$��X��Wam��q��V徺��./|�{h�č$ ��{��TJRףK�$i��8�$����kH>�i����WCu�6���4�;h��einF<�+��x��k)+-7�&���;�MF}b���T�y,�r@�v�}z�ֱ,��<0d|}�1�{p)B6��'�I�{�n���a���nIF��7O_³䉣e>a8�s��e�I�h\Ź9槂��	p|� �?�Z��)��i��Q�Y�BA���{�1Y��5���@�v���7V��O��*�æ�i����,�\ݯ���i�[��R��jj^8��Sc����It�f*f���~��w����CU��K�Sv
�x	�����k�r�RZ�{3���Ν#�4���d�!U��Ny�8��s_�4��>�$��=Mta��i�g�P�*�eMík�[]\G.n����`��<w���F���+�6��G&��u�gۡ�e9]������35��:~�n�I	��-RKc80r9���nle\�Z<6�d���u%g��Q�5e�͹�Y�8�����'>�t���bdE<d��+d���Z�������5 */�9��U[Ok�%D.�������(Kn�X7œ���x��߭jir�W#��#
�皯*�4������;
�I��q��-�<��֮��
J�縉Dn��� sң�/Ф�t��_���7�@�=Z�����X��V0	&� >��jY�]���c��i��m�;I��,!J���-�㷿Z�b�մ�{v�Ґ$k-!��n+�g
:@<�=�䉔m�C;T���K"!�3J%�<.7�@ �3Ԝ��)-��Đ�˟/;�$���]ݤ��ڊ/���
)fB�p�lY���Qs�����֥�mNJ4�tve�Β�D���o�!z�Aָ��J���	z��fs:ݴi�,����7������' �5˼RGwu+Mr�8c$��g���rsߵ:j���SK��9���0kW����GQ���3C�^�95�f���a���4�h��v�ڭ�@�#pn{`�h��-���E
w�_�\��h�Ay$k��V�5p%:���ݝ���ǯ�V#�V�T�@�Qpܜ���r�7�o����M���v�Jc�W���5s�v��jک��E�Ç����Gn�sV��eqCY���t��W���#��2��Oz�C��&Id�.F#TA�y ���놤���e�;�W}��yG��g]Vhe9�J��v�υ~���R��rp�O�S��w��Wm^eI%�(�H���e��Lj��8�"<rŹ6'|`�>����MDY������J����C7�}��ɽ�}��m�k�۰������#e�#�� �?��f�v��4�m��DT	>�W|���$���#[�^��(Y]��{ح���Ɂ�;�x�0�����O9�sAӴ��]HK뉉�9��S�x*Ó�J��\�Ϟ�[�a���C/u&{.��ޏ���W.��q_����e}�Tkv�!�@Yc9�ק�� ���D�Z�rǑ�h1�|l��E�Kkm�ɱ"�Oݍ{�5���.�nѢ�K|��T����le�İ?3pkw�e���V�[�<rF%u����O~Gm�	�v��z��4x���yc��O&8�0W���R�~/�V����^H�m-@h���N>����J|�]ݩ5��9Y'��(��wK/\�<�W�
�������gb~|��P���?Z��KnƗK��ۓY�ٶ[�5�P��;�"�6;I��OzK��tP��d�$P�8#�D��4`ת��	7�إ�|Q�X��K�hݶ���Js��9���8�ek�/iud,X�HѶ]�vH��@s�֖ӻ)�?R���K�p�o��#��K�ű��w�\qR����V�4q�B�淔d�� ���N�:Vm+�~C��=�k�R�B�rE!!T\��8�ӟJ��]X"I��	���'����sZ�M��}˳j�O#����}��O͑�U�Y���n�J�̔�ᩆ|H�;T�Q�@܎��-����-���T��H���=�޺�<!V3�.�b�*�2��q�g95k+ܸ�3��,��m���7F��U~:��#��?#>��oI���3K��RNG�q�tp��|�K<q1�ee}�mU#���g��8B�Q��MO��T����d�f'%�ֻ����C����q,p����=��q�_j��$ݞ�t5o�����qw��T�L1����F'�p};�z���t���y֮ch�R����t�S��dk���u��p!�y��! �s�#���K��H��(��;�~rG^����Y��[;��"����Y���ON1��^���Y�ɖ[>�f�+���O|��ϭf��*m�K]͖��Q�{��X�����@�g�7M�����Z�Kg��ҏs�GoZ<�V)E�>�]W�:o�T��
Բɐ'i�W<W�xGS�k}.�$�D�m���+�rztqZ�}����}��9qs%��2"�?QF��a��M-�3�ʈ^?�_2v��On��C�H���>B�>j�=8�G�m)4�K˛�g�Y�S$��\�G-נ��)J�Y]�f��]�NoT�9%�1����&X��̌����
k[TE��M4���"��p$|�z:qSi�2X�� ��<�*ΒNK�q�5~��WL�J���1�j};J����k���tPm�X��8���ַ�U5�����>�S�47R��G��|�`���ʹ�D��i7z���\��)�����{�ӜtEF%Xt�F"���FSr��A����}*펅6���D�:��Dax�e���0=�*[��ˌ���v��Z_^i��X��ن�x�>������$L��
��C6S�p1�1��I���=
�����[��X5�뫖���n�s W��9#��o�Dž%�<;��`�?{�q��!{}j���Ź-�:����zͨUO,Ʊgc܃�y_���x����V��W2@���������{h|��k9,-�e,d�2�z��x�� ����s,�Ȳ+��)�=�b��[u7�"��nohV^ O	i�hЋa���>��a|N�Y��jp[��0Co!*�H��9�i(�d�ﮝnM�6�� O	i�hЋa���>��a|N�Y��jp[��0Co!*�H��9�i(�d�ﮝnM�6�� O	i�hЋa���>��a|N�Y��jp[��0Co!*�H��9�i(�d�ﮝnM�6�� O	i�hЋa���>��a|N�Y��jp[��0Co!*�H��9�i(�d�ﮝnM�6�� O	i�hЋa���>��a|N�Y��jp[��0Co!*�H��9�i(�d�ﮝnM�6�@@��P
��D�@@��A�QE*�(� � @ ��  ��A�@ "� F��B�"�
� �E�� ��DQ@ ����		
		


!#"! $)4,$'1'-=-167:::"*?D>8B3796			





OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO���@!���	
}!1AQa"q2���#B��R��$3br�	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz����������������������������������������������������������������������	
w!1AQaq"2�B����	#3R�br�
$4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?���/^�f	$�S�V>�G,=�%rR��5|U�T�ab���<@�'��X����	8aڳ�V�k�5�R���n%����Q�Ԥ���b�;d����b�Մ�����s<fP�~�62+��~�4�JE{e${���֢Sr�l)5�0\<�M�YXv-�'����N�\*>�}MT]�]��Zn3Y��M֞9&w�r�ԏʵF�x֞s��6�c9ǽiH"�ש���i�OD�5An�AŒ�N񵭍�j��	��ї�os\�R�N��V��ܽ��1��we]$]�Q!����R�.�����iE�;��=����MvL��ڶt-{X���od��u�)�Wӡ��G⋫4��W�@�7VQ׮Imy-Ž�+ǓQ(��ʒ�ĺ��і+���=U�'o�҈ �����M�E�Rá�ϡ����]7bMEm�rox�������v1,.2���C����P�tYN�c�KF8�!�OCQU�$�mw�����_P�]>��|���,�����Mom{s=�*�xL����V�q���Q�	Y_���62k��.|�ي�,+�68��hxOÆ�K�-��J؊f\�׳
j1M�I(�y��m;���xt���.�D�@z�g��yּ;�ڍ���8fr�=+��X�W^��cN+�W]?�i��E�D�ʊ�.��nx�x:�}n�O����v+��D�;��E�.ˢ2<E�ç�yo��)kR���JO�>�~u����Y�e�7��$�;�;����\5�ng�CkL��D��4�_� g��Y�G�O�$
�9#?185��7�mY�+�F׾u��G��[GP���I�����iY%��D�
�O����I��� ֝�>�����r���w=�)$��v{�ݗ���[Y��&�/$1�x�c�H� �@�FV�;��5b1[5��kc��ǣX_xjY쬅ă{K���޴Í^�Bk�S�x#9?�?�Ҫ�����ZV���z���Y��=R��E��S�������N�n�f��XF�r	c�&�~D;�Ae���o���4l���
nǭ���i4�V�t`��>ݫ5+�q��,�
�
FP��xX|��9�T����[C$a���Ѳ�~��|6�4nȡu�-��o%�dB��3�G�y��ռ?��ڣ���
ǿZ�+F�'w�c���6�a/�t��V^����\��.<3��uZą�!~S��}{S��w[�D�x��z����/LkW����]a#�Nա�x�+-u%��a9��j|ɾ�͜���M2���D�d9��T������qX� Ҿ���bWk�ܴ4R<7ĚK�׎B�+���em3C0�Wy1����*��[S&�w��{ֿ��/�\����-�B�{u�!}�&ڎ�������[I�d2(J�����F��l���u��w�+-�sgW�/�M����¿*6�s֭��V�*��E�K[�����ԩ%�Zo���
_š���/�r�9V2=jݴ�ym=�W�]�90c&z�qD�}���΋�^���3N
��r��?ٮ�F�M�T�XƊ���D���̥��
�P��`۹�*�޵w.�6@L&�Fk'13"�WV`�t�����O\�L��N�D�z�n�R_���Z�מٙ�����V��r�I'�oN6�%�L�Q�Ѡ��=T�Mj�e���εh.�١�#!�`��z�zv��o�61=�Ǎ�2wc�5�I�5�
\�gB���o�[�Zh��J�V��z1�F��J�p��Cd`�Y�
˞c.��X�=gQ��7�+�%������̪#A��+Ɯm�M�<�~|R����bJ���֬B7�7���'��T��k��eF#�ˆ���TQ��RjV�P<Q���V��Q�a��*M.��/�����NEm�4���o4���a�P��GC�֦��,V��� ���I�}��Y�F�b�آ� ����n�an9X�{R��ba�i���Ѧ��^��]�y��l���F���Q-^5�\*���?x/��iY[M���>!��\��lˍ��Gz�{H�i�k�Q�vj�=�r*��F2;�_c+ 0�8�����li�����g�d�ʹ�����'����cN�|D�X�Sʜ��C�}
d�7̾Ժw1�𽣾��&ݰ��0��-�/�p�#�T6��թ�vG��1��k[��j���݇�H+/�_�|Im>��g��Q#�>��J�̛�S���:[.q�6:
���RS�M-š)q&�x���@=�d���
�&��Ʃ {�h��9Y:�v�x���$.�A�zXd�c����P��L�x�k�k�F1����<p:bc��Q*X��0GZ�f�.Ŕ�8�<*�o���P�l��95]{
1�遵�a
��l{W1�_I�|G��\ڡV�<�&*r�z����r荩���s���+*e3,��8':W�_�V�u�����ؼ#s=߅�e�M����~2&�}>e@��Pz׮����S����y���Y�*Tu�j��~e�O,���G��.�I��]��n���n���*�=EV���t�t9�+'��_�܊�cNg2D�h�d���������)�*��
�2���e�7OML7�U�٬�DG�R�K�k���,W0�kp���5�r��A$㶩����	m�d�' �QZ�|_L�;�;�pG��M�x���v&:@D�xA�#���Kv�CoRUpI�5%��s�v�P�S��3�%;�;�Ol p)sض���K�+ΰ���QUY.lb���{����fWr^D��A�X�c�B��{Gp8����i��]P��3+ap{������W1�U��B�l�-M��Y���8v0?�_
�����~|����ZR���M��IY�����J�M�g,r<�/@z��)���]۬�a�.<ƒ���Ե���f�$m8�N��M)�/6sM5dd.��X�=�o:�A#��{�α>����r�%���쌒h)1���zzVR4�d�>���O�Sh�dn_ZI�WR��������d����qK���-)܃�.��]������Yd�+GNI�#ڽM6ٜ�i�6[�c��]G������ob�	�)4��K�б֖Vdf�85j�T�x�[V�aI$�];=62�K˂��~[���$�Ө~w��JK�B�oT\��f��r��ҳZC3c8"�jȈ��԰X���z�з�<��Wu��X�t�f��V1&
��Z�(���۶��M����4�y;�d�Ny��ψu;]"]!�"��㬪xQ�?°��Hp�R�n�>���-�i���@Ѣ�����L�?�u��ss�)��me>�J�Ҽ=6�M�Բt(T�I�*p�UK�M��KaN.J䷸�8K�-&��C�_��T�hPy1�e�.C�q�Ү�^�*�kf���%-�M���~����D���+�q�h�w,Sh�2s�S]!��to�/�$�����=�ݥ�7U]���7e����Cg�i��Ξ��b���}�jd�G�ҢN�-���ћ������@c��j}&e��d9W�
o�殞��]Kww��Lf�0�+I1?y��v��ԍ��V��ֲ���
^��4"H#H����E�����5"�wl�&�-�\�C��Ԝ�zkb��7ِ��Ed.��p�E��9�3�<��%�e�bI�қ-ZKC����D�ٔ�����=~����
����\];�n|��JR���Zw�\\j.o�wa��t�P�Ǧ���Tg#��;�BSi�}0ī"����;��=ผd��Gu⪜��uSVn]"��&�l�C#M��4�r��z8=����:-:)�]@o�6�����Q�r���D�(֓U����5�� 
��k-R+i�?��Vs}*���.��23�;t��	��`�h��Ҕv�"QW�G�jF�ykw��d�ZZ�4�Ś��n-�Ĉ��=kh�=F�Z�:��n�ƛs���$��|���V����;ī
���r�ۤ8G��T�u�"lx�ë�'�t�W��Vê����AVPX/$�Җ�����~�uI�Ufv�w�RxGR��Ose4��͐`f���+_dK$�m�����]���5�sxf$�'��܇+�$li����4ЯZ��ﳺq��c�f�|/�[��,z�v
T�\��hO��Ԩ��{�Z~��m��w�%��l��sިx��kא�";�\���0��D�z�r�R�uK�
^���|�6�2�=����&� ��I7^��Zū;��H���|5�R�V�x�$�dE"�)��5����V𥬛c����>ބ�}khϚ����s�����Q�i�Wm�gm�h0�Ǹ�*_x��b;�9�D#M�B����ޓ���Ū=K᮫��9غ	�h�u�֤�'�#���`�b�C�]%
���d�9�M�z"��b���5ը��4�{MK%�X�6c��V/��]�X	a��	SqvI�P=D�M��QR~�Ӳ5<S�
B-5��A8q!�����o��=��o%����G.��=�~U��I۠F
��r��7~��ʅ�g�<�䞣�ެx�����`"�$�dA�3�Q6�l�����+i:cjv�ck<[�M�'�\�����Cn���!G��8#������+��괙�[�r=W@:��S%�g3���>��og>�e�i֒\��B���n�w��û���|�[̲��.CF��Zu͜�!���K�×���*Tu�t�%c��M���/��@�	E{}���#�sz�wט�bjV�&D�
��85�zRk�X��VZ����yq�|�Xz{WM�?���	�4^U�$��4c����׊�w�m�vKr�3��9e}eu��-�"�p8ǡ�W	,Q�i����Yrm�Ǖ'�s�TԚmE=�+�����-�U�YV�9���z֏�氏ijNq/褍�W��y�=��ZW�c�$�w��u��)%�S�\�p���:_�G�]y.,���Lj����cr��L��ךC2*��ѾH#�W���L\Fۤ9�zv�K��ֿ�]�_���!=}EqZ�ּK{e����c�`}k8���8+9�����%IV�����B-,��x�s�����֭;hgbLJ�K�OX]9��P�q�'����e �w���1h �0<��^�Ԃh�d��2�x�Ҽ�����CkLm��A�
#��-�K#<���e��֭�
��S�R��1_ZI�R�d�����^�W�:�Դ�B��N�mۗO��I�}��r͌b���,�ED/oy����"]�=���}�U�K�Kf�Ӯv�[���+h��h/u
G[�� ���8�9=��]�����K�:����h9��ֿÃow�ce��Z��n.X[[�mm
��j�:��j��|VP����7�.
�2oq�E�	%���iL���-a8���n��G\�����j���b�1b{�P���e$�Uٽ�h��4MYE�=6{��jq�z
޶��ޗ4S\Y��X�!��T��W=�_b����g�2��v��Q����ֿ��M3\�N�DFw��;���J��r��m���ο�z\V�F�<�Im���ݘ���k��AxH����qXג�s��Hǰ"���&y��Y�E�I)0D��Pg�'�Ϡ�+~\�S��3d%�?�Q�kV0
�nT�k�:}�Y����1���*�S��[
;���qK��p[�T#�m��>�
ƥ���'vj��c�����bL���,���W.y8���2	�YX&Ӽ�zն���A�0��1]ԒokAZE��<�Vpxb�ĨZ~lu��Jn[��m7,^���[H^پ���$,��M�~y�Tl��iu4-�Ddu�
����z�Hn<�d�)��kU)t	A[Ȏ)`S��Q�a�+[I����{�9(�1����V˕����k��ג���}���[b�. "��X�Ɋp@c��eN^�U��.P����o�x)l��(�ܑ��מ��V,���H�S�KM��Ֆ�վ�Wӭt�c��敇�hhTZƩ��t�O��ܫ�0�ڮ�S����L��r�͆���kM��@<���'߱�Z~#�$�3�`~@G�vѨ��:-�:ɹ~�C&�]��=�9&XbFC�w�u�K���6,�#�39�!?Nk.	F��F��Dco��N1���$�j_	~+��Q��6��Z�ש�j:���H��j�"Z��BP�y%!�8�����:�jv��i.I�yˀ]�^Ӥ���s�浔c����ؘM�w��[@�Qj�0F1\��X,�4����f�)1ȧ��LW�4��od��}�O���7@}묞ݮ"/���?)��&�|�u��Ҭ��sm�I'
���x��\LKe3��j(��� ��z�&��Q�&u�6�CÏq޺M��Ͳ�.��VI$9Q�OƜ䣺i���\����� -o)R�ᾕvo2x�L�4g�t��W����g?���`�-���F߄9�}EZ�R�n��Z��0�e��]�.[�9�kߡ���|�$�x���Uu[\N�N�XL�k�����S�i)�R@Ak�~�<9� �N��\���QR7k�֝�CH��E�z�e��;ib��c*i{E
�j^*݉��+T�b��v�d�=�F�j�
�\UΪj�c�Tw�%#S�b�� $��?�R�i&�*v������|��dJ��U,�r�dm�>R�Uʙ�VV-Y4�RE�X.$�ГK�io�j*�X�s�0x#�W$��ݗP��{42Wk˘���9.��EmhZN�����In]H�p��u��5��#�0��sh)�ہ�����綑|�*=�:����RjKM�{MT&��:��{���"�^ٸdf���
���Z�5K�y6���Ԭ��z�ԝf��$�ʶ�E�������b�P��u]���+0Ur��Z���b��j�dxBF��oB3Tt�>��ym�3av�t҃�ũ���w�<s���o+b7
���%����u ��ot��<�9\���5�M1�f��� �'���(���^K��+I�I%�~� ''��6��]�R���@dV6r�������d�pm,s)f!09"�	��E��,�6���IL��������zV���LJn[��?UչouwycJ��5�ڹbH�k��Ww��!:d�k���f��"�]��9Œ��Ui�k�i�eQ���7{�M��b�ᶿkY�h�vt�Gl��?�������n$��Lb���/�Yu(��Yivʒ��j�d�}���i|9iqp�k�7^�t�vŦ��Z��]<̝6K�\jWf6��mX�u'�k���$������[Ȍ~�/~:��6�躚��O�V�8��p�5���Fw�[�@$v��C�%��I�]54J�Ɵ�#��Zj]�s�l@F	��v�{���P��H)� �+Z3���eT�Zt54Ӆē��d���(�f���m!�����$RwO*�*�1I'�Δ䝑��;�8W�V���D�Ǩ��S]��JV!�\�nˬdr���m/-�cbh��۫٬�g�\S�35�f�ऌpy��D��L���ǟ,��OS���m�Ui�FD`[��nY�]���'5�V'q�Ir�-��:߈.J���eZ�y�i���EGx�C�EiȖ������Q_�G�%��-m4-/�Y��i8;�jd�-�H�}&9�GߞO�W����W̪K�Rk�[#�����ŗi2'�,[�^0)�ދi25ͬ���>h�p�JP���{��SN��e8��5��%�?60k�$rI��^�2$�����y��N���.���6��O"�����F3���nx@���o�uX%�LCrx��{�5,��ƴ�ֽ���׺g��M6Y�$��N�� �Q��O�:�q��eV-�(0}(z��or�Դ
J��R�K��M��[�t���[�Z��l��׈m��F�

�$ܟh��$�jd��꣓Bܤ��h���Ř��I`&8e���u-*���F	f@����WS�%��.�y�ڄ�r"Ѫ��c�}*��!`�J$s��H���Fn��"�S�\u��Eu��#�d�H0Ѻ�J�og�8���^��vW�������^��Z�F�It�c�\��*���B�{��{
��k�x���l��o�>��72$��u�?�vZN�1�ԥ�5þ�d��o�|�Z.�Qc�i�F�a�J���G���z��JÊ��H�\i�B�8��]�U�����n�T��.]_���6w���`��#9ۓ���<D�� Hu�$A�c�D1�0#�ׯ�ֺi�J-n��(�A=��r����r��<�zdnIA��x#����C�*�2��qg
�����s�QY�.7oNm���}����5k�GX�jQXQ��,���GSSk^ ������j$��e�.|W2��&��d��΋[ҍ��U�	�����xGT>��~5L]K��+�}�	Ѓ���}>�.�-�����ou�.��P[���`@`���-�����u;F���E̋$�榄��m�1���hM�.���jV�,�C���-q໭!�Y-���\�9�~��Qwz�2��=A�4xy!�X�H��`�u�J<�+,Q�	V�ҺeS�_����h������W39i ۴y8�]\�oF��1ƣrȽY}�[*1T����E�wC��/T�������{ĺm����}���`�w1|��1���UMGT�^�D�ZĞu�&T3�J�-��u��V��f��*t���l�U���H��6�ŽY�D�b��"3�,8a��5=v�Zӥ�����`j�w����*%Ri._�2�w��l>2��-�[^)'���ї�ֺM6Q�k���$�#��=J���kޖ�ӱϿ�-uOO:i�wl�R'+��^�9��kvw6�of"�	���N*��-�ob��M=oԳ7���^��p�il»��g8�j
k���3ً��X.�b��Et�F1�W�.Cw�)Ls�N��'ds�Czc�ײ�=�_Y�O����`NH+�'n�m3��:����n�^efۄ�*�VѮ�M�I�l�����f���
/�s�Ec���e��S��^ovZ|���I,�"&1�;����K
4p�ͼ�}��+��r�c^�2N�r�H�o�S���ݕ���p#�8a�JPQvN�f6�p��wv��!"�滸��ꚔwZl�L7H�Ō�Z�<��إ��i��t�B����*8>Տ���,���zV5'�-v��<��a��<��=�X�'�Z7ddѝ%�9c���NG�<W3Z��S�~s�j�Hq�Z�"|�d�Z"��y������Z��~F�$�)B3Pݪ��5lD���X����H6����;KH"��bZ�
��V�S(�z��[5�B��p}k��y`�^I����b6��*)_���4NǬ��ƃ
�S�S0��@�ْ)�ԁ��s:ďqnѮ��+����K<���Ky�Y����[����8��kJ[�
s�֢#�h�Y����6�ɑ�+]��mm1� b$�E�r�k���t�*�y+��
�y�B�����" $r[�W<־l<��J�R$��A皺�Gl�d>o�I�*���H�ԵYM�/�RH[r�9����Q�wq*���X�Z��X�7!�	�l��i,�2�A[9淌�����U�6���K63�5X�uc��-n#���(@j%KK��5w�v>�����zd��+'��H�]#�'���T�
���� {t�z��u�������zۦ�4Q�L�H��e�*���������l"�|ғ���	�4�U��i�?b���Y,��m�����Z��`�ʨ��(���b<��DtF-��mA��U�Fx���4s�|�_�=
�
2�bK��ylT�n�e(�����Kien���(�ث6��x?�	�
���\��3����]�v�3�4t:/i�g�|K�_��k=N39�#*A��\�=���@֚�7�H��L�A�XשJQt�zI?t䨶[���-�<6����.���}:]�ZH��4 �c�InZ�<��u��8$u#Nڣ�F�W5Q螏v���j�\�oӥzsT�-41�F���$�����r
%�Ô��� �>��}��[���M�A=���+�xec������Msӛ�ܖ�:J)A.�|��Ʌ*I ��m>G���~�{�}$�$hL��s���Z�����]�]�22z-eME>���t��b��-��j���;�U�m
i�ΠJ�I�oZ���I>��S���̽�]^;{X�\B6��{����8���p���%��T�3��[f�n����Hd�w([8hϡ����
R��Ǖ����~9b���"���ݥ~��Q��:��(��xd;O��cT�[M�X�o��L��=G�r�<��;��n��e���'�~�5!��L��na[�a�r�p�7�����Z�SmhƦ�s�^�̿�����p:S���U�٥f�͕
�}������߸�S/"�`�r�T��lCb�#�*����|�/���$��C����m3�;0�$湧'~Ʋ�����-�V�Q鞵-���*X+q�#�*ϒ=�tܝ����A!���k$��3�<3Mw�*N��"_%x��&���H�g�t�-
��"=̗*f&G�?Zu�����ˆ��8�ָ��VՃ�}�E�koo���9�$l���kT�҇�m �4��f?0��ц�'u���R�c��|�����,{�V}ؒ��*s�JS�4�FJ�*����	��SZ6��ok���I�=�!�]E���ɕ���}j���2 ��E��&��J˨Z�lV��f�C+�g8�9���R���~"��Jj�m,uzU���[��>b}+j��=�"��$^C7Bs޻�.H܋~;�=K�װ�,��'��a�@�:��q���wf��Xkh�
w;kRu ��8>�Ϧ�5�-��H��	�5��?�+˦]D�Ld��\���`F=E	�]�I�#�F+ �Xv5��kik�/Il�sћ�JF��Q�_����A�iE��&���Z�d����xe��$�v!'k:G�M���-l�����fé����K��?�=MC�N�TSZ[��i�-(f�x�c&pX�ǩ�h�m��g�[��p$A�*3/�OcYr�O����%��cu
F�;��O�f�W`��^�f�/	jW�i�m�{���w^Ut�{~5�4]¥�щ�NfD3�ړ�-9��r{jֹ�&�ե�%��=��\u��y�z��($��rv�������p�7
�I���O[�K�v_8[������v�zl�淟�4��6��n (ϧ�a-�7�q0�+X� �rH��kN.2lz�����2n��}�@��;����n-�k�O#��9\�?��-Y��݇2I5��������5��*LqLF�Z�K���*i�|M�{7sێE5�ھ����z�9�?G�\Ԝ8�?(�v�l�j�Ʃ��9eT���W�Y}�]�%v�:�xF��O�Ʊ�/���[�@-r���\��S����UF��JQ�S����J��q��U�KF���c�O6FP�*�3^�w<����-��χ��
��x�Zs��^_qwy��M{�o��`H��Rz������l:�S��-ca���-�_̯�2�����Yr��Z�c֧s*��=k'N3w{�[��ج���,~d��s�4���r����Z�E[о["kx�\�l0�	�Ғ��������T���o"�铉J�,zz־��J�|�,g�8.�J��V_q�x_����7C�/%�����=A=���M>��iUՈ
�3����:֛R�\�TR���uWZ�ť�q��-��帜n\�2��+ʼrn�/L�U�(s$,��I�j���3�ߔ<�V,z������s"vS�ԸF��6ZI-dK�v"�:R��Z��5ǔ%Tٔ]�����U&��Kz�V��M$q�A��3�'Ҙ��RΏb�uW��S9��>����qJ�h�h�#��
J�����C����oo��'��l�N5�Hɶh�
ч�m�w:��wW������H[qvo�C�o^����٭��5�$�$)�L��G��Y�"�����2X�1��O�{v�%�uqLO�*۱5�7U�K�Ѳ�[��8F��^��1]g�t<��3G�@Z7��!]��[hB��c�V��^�wqɴMp��1؊��K{�)oR{��5�I�v�2s�q��2Z�2��v{����4w��n"����*��拫CptȦ�TiFWr�7j�Խ����k}�����T���M�b��bz{f��𴚢o+$��,�R}+��M)�Zݷe��2�?*1E����#�g��̳[K���7���>�N߁.&ؽ�66�f=�a��^�V�Z��jW����gw��Yӄ)��W^f��j�42��6F$��W���X�t����
��ȅ�H�?����2t>��K�1љG�,3.�F9�_��Le��hTn�η�)�@�N�w�������8��e����G�k��5+������C
��;q��oO3	ƕ�i�Egh�\&�$���s���~�||�:}�%��g1����k��Nv�� ��Uq$��F��x�s�ֆ�t��Mgu�[��y^�3�V��ު�sB��v�f�N�{�t���ƙ%���p$V�m�}ٓ���z�R}4]I�ߑ.�q��G��|�\�p�vϮ(�k}J��i��p����w�}����݃]w6�|9�om{�V)g 8F`�F:�״�+��jW�d3�|J���sF�5����E롱*Kg,7�q\�b�]@l���񾩦X�o��O�Y&Ƀ���
뛴}z��M4꺔֢?�"�X�wڻ_�������W���$���b�c�j)b:\��Հ�,㵑�%���*I���x�H�a��A
��\�
����Bo�<�-�?J�<�Y�tK*`�m�}i�r���rO�v�
��y,q�u*���qӎ���ͪip�f��W,�T��y=�_\���ԛ�t��.-t����$����,��}�E��]E��&�;�ڹ-^��iO{�P�w��jրވ��Xq�\��䔮r���5�f�g�2��=*&��aX�$�����"�
��o᫹t�6T��n��g�J��E�M2x`sy���:���Y��q�y~[��Qe�\^Y�*R���v��[ڷ��}?Z[�CN�U��߲�6��qQ$���I��oM��5i���=�#�F���_���m	e��Mn�5������ik��ﮊ��H����@�Dl_H)�ⵋ�"Ҍ�W��mnq����XUWbg�x�o*�[x��.������+�bF�0"���B�֣c�7�t�*_D�6��V�5�%��,SṘ���T{%����mKP��{	�ܐ��[޸��9�x�S�������Me�	�B���o:4HGV�i��-���%��U����k�i�~�m��{�]�����O���&�C�ksiq���tWB�z;r�%Ŗ�<��D��ܧ�t�N��b��<t-� �"I��F�ZQ�N/�z��4�tm'������qPOӽs������%	
�m�P;c���Ok=>��z�ȅƗi}f.f2����
E*Y��?��Y`.|�0g�<un]#�pwь����T����fF�*�d��c^is�ڵ��r���:�#��SB򷘙^%���bO$Y;O�kwI�&����Y�F�9<���0r��F����c=�e�\X%��ۈvlq ��:͊�i�ԓ	�'��j�P��͗�n���y�����
io�ԭ�v��a��~��4ӏ��\%mj/,��';/����8�*A�J&���8&�?i[��y����7�%%q4�5��$�8��M������g����W_��v�Sis���{`ݴ�5XZ���戯KM6{���c�|:�b�|��1���ϡ��5R�du�{����?��D� '���n�g���0�Cl���c����Q�]���W�^#ך���6V��'�}kJ�hH*̼��t���J4��Z�*����/ ��e��׫��Pl�_�q�J�V�sN�{=D������;دW)�S�մ�8c��� ;�@��g�ߪ��J���[I�ύ�ln<ԗ����C�5�*\�>/D��v�2��R���tM�;��f�,m�U82r1Z	x��'k�����_��Q^걇����cJy�a~oZM4��YJ���uֽ2���Y�F�n���3N]C24�#��U�m�X�}�}T�8�ث�:n|�^H�4ݮUI�X�#�9nnYOz�?�Miz�d���$q0��A�[���sպv�P�s��e��_���⠊�*P�kc1K�`�UX�m�2$��]��ƕV�s�'�Q.T�uv5-�l�+V!x��wB%Lci8�2Q�ֽ��v�ٚ:n��W0�c�Y@xć�|�֬Ir�S�y�����%[����	�V6[�����~+!bFI�U��G�Za�:oW�V��m��
Ʃ}�y,ǒzWQ��6_4Л����]j�u4��=^��e��t�{-+e�Y̪���UH��;���|�=��5�W;��&W�h����֧�Yyn�#��r�-����ԗs��œ��N��gk�rC�;�n��cd!���9�O��׃�=��:S���o8F��tff��Gr0��}j�v�U���w*}k�Zk�m[�{���Ȋw��d���j���	%��oJ^��K�Q��M�����i �<�����{{-��!�p+�M(�;#5+�q54���+�[��tL3�}��Q}[Y���L	��[�����]�*Z~�~,����T������qZ���|�z�Q��3<�gc~�8,Mex�PQ����Vonķ���e�Å��{�Vuճ\�K���+�7l�/��c�b@}��SȪ�+��+��m&^��紒7�ht��(�}j���jW!��?y�ҡA-L�l�U��D_.6!	�Wl��x̍#�	c�����
-�(�i�I�p��H���^C.�-���go����\Ӌ{i�:ֺv�}k$8bin2=��|%�/��+ww3�iKJ�'�Q�m�u3i�/#?G���������CW�%�/�g�>���A��4��mVs:��p�\����O����Մf��)}t-bW�a�g����ɴ�XɍQ��y.kj����8��J���G�Y�x�-I&��$��3�	W�Žf��M��=�ʹ�4SK��2;}��N���ڽ�վ��Eii��;��Z�Ú~]L�v�Mb
*�A�/u6����K$��^��?�f�%���ֶ��py�
�tռc;Ȫq�+�Q�od�o��x5�i��ͫ��n=p8�1
����b����ۇ�ʞEr�>+�G��Ѡfnw �}A�Z0�����ִ��h��t=x�L�Ѭ�òC���j-SX����_5���1�\
��J|�y��;��ī��t�&G��ԯ���u5Hk1j�KA-�gp��;I�+*��]Q�/+�W���i��G����N-y6��i��撨����Z������r!h��f���u�i6�IhI�r]FXB+hI5r��~�ͳ�p�H�������N������2�n�ZU+�
Gv�����Ψ���]^�o-�/]�=j="��:��յ��Ϊ�9*��c����h�s=�)rI�|δ���@�E���Xv��r��/�Z{xđ��9 �Ȯu�U��`����j��+�b��,-�O��s�q\�o{'�)$��u��e(؉p��"����1�t~���;���[U?2��]��q���V4��e_���m�P��g�h����`1=+>����孯-�' ��cX&�܈q[�J��9�Ú��σ��қ�E6<�{�ڳ�S�<̈��tF�49!��6Y���>D��}���c\E�u2����y�<����k�7N�lnu)�<Kr�N��\Ę��`Tk:j1$�Yhې7+�q��D{v75���M��WVEB�dݽ1��cOic�Ӻ�
���zk*Q�NIz�ҽ�&��]7Q���20
���u�}�_�^�ZM֋�F�k7<��oʺ�_�V�V3u=:�R���,�%���bL��=�o�:H�h�څǖ��Ԝz�\T��_ˠ�J>��e׆4��:\Ƒ���ݏ��#��("�4��������"�(����"�ĸ"Z^�ܴ���$�nC'�ڳ���ӈ��n `�?����΢ך=�ܛ艒�
n�\1Z�a
��%�/��ĸm7T�t�ux�r^c�O��㗵��3�i�E�O�r�B������7�@zWW��ȼ3q����x�䔀KC��]Ex.�ռ�-��]L�N�"Qx9*zqް<C��� ����(?g��#�����I.e�"��V�-��-ńP�%]�#/���������
G�g�H���n.�� ���7S=���.�N6��l[��_�t�y�0
�RR��]��
�9ۯߍUo�q�6���z5i����	��%��|ԋ;=ϥsӦ�o�d�ا�|:Mv��v
��24LrS��<���k�ld�d)�4��ҽ7ȡ}�5��N��Z麤�_��-�'$Ʃ�����m���Z�����?ֹ����ȳ�kRh�$W6Q^�(1����>���_K���r��!v�۷��%g��;��s?N�}���RѲ�پ��Z^�[K����H���G���L�i�����?0�����y�-�\Z"e�GF�|`T�%��-RmZ�I��B�^G�vS��y�1~G	}a5����ɼ�����"�Ӽ�mWϷa��=ø�+5t��3CԆ��[^*@�j�h ��
�s���c�M����F�-ې������4SZ(yD�!aԧ�a�YE����]��Z�H:(�I5v�^�v��c#��KZ�ǖ�II8���u�+��	p7C���=늸���0��ڢ/�
��i9�d�&�W�I�z&~@$
�+�u^�Ų^<���đ���Aݮ��@�l:�����͵����)TKE�*[����:��^��orA{{������3X����I��=,��JwnoQ�"�݅v�{�Px:�s|6�q�[,=j��Ɲ��YnʎbA�
rv���cf�t�F;3�X��N��$tg�qҽ�J��LӢ��ps��Z�˯Q7зE@����ؠ��9+'˃����Kcm,|l�-��o���ܙa�H'���n��<�b�V�̌�	�s�R�]�����e@�+���";��s�$qW����w'^Hl��_6���~��wgwetַ姝:�[-�
D��y���v%����~���g����B4;�"�%�2���?:�!E�h.d1�e�t�wh�Kp�慇΄w�è���z�ŊJg�c5��k�I$��{�井���/u	d�V�7�F�l
���Q��˱��b'�l��X%�Zw�7k.�)���iO�O6�!�T����9(܌{V�Tm`�Hɹ���[�߳�SZ:-����6A��g�8�L^�[�4�e�J�H��b��'�㟥b�g���`<#��zV|��l$��~H�f9�ˆ#���g�Lp;��x�+<;r�o�Sih�k
"#J�RB���
Ƌva�o�#=��S�kz�
�]��q4����J��&��_���d�׳
�Q|V�$T��6u�a/m�4��Ɨ)�I�Ҟ�⸽��)�Oo����9Px ӫVU{%���=�L�����+�P��m�@"��>��J�\��W�}�p�|�i�mQ{�̐�Z���ֆ+������3����,���]3Q�F`D��w� �s��ec��+ܷƠ/vy�7_5��<�V_�u���n����nj�qN�]���S���<��$�]�R�)r?�kkQ�7���zd��I�M��K�ۈ�ۮ�#/�z�U��x��]v��������)��-ݽ��1.�+�ּ��Z\.�gMY��*��?�M���{5�Qwi.����#�}@Z[�e�0�v��/nD�$���J�e�ٝs�v�o��kh�)gO���U��%
�DS=�j�x^y7r�K+-�h���K�{�Ki6e�%�Lp�Ԋ립��%S�wd��pmUɬ۷���bU�'���{՜޶;gx�Ȑ���H�f`Xt�V�-��؆ff����?½���cϨ�?����k|L���
��O���� �����&�z�;�;3��5j�B�݄��ӡ��c�ދU�`
�H8����1����̭��:^s��z�su���a��vӴL
��v4��M,�nFQ����`��]
�-V�VeD�W;;��U��9�8�$��Y8"��5:��}��%g��KاhbI%'���֛yor+��#����#U+7��ʩ��~Ɔ�o�B	B�ޣ�W$��� �C���?kSMN�ǒ=�f�i{;Kxv�zS^��!;���jof�{r]]�m{w��F�~c��S['�z�Ō�yq���v>`+���S�t��˱��ܦr��Ks���	
͵���]s�MH�Mz�A�j�_�Z������ϥCԒ_�:�h�=}=+z	�6zؙϙ�b��w�us�@���~�b��4�%�+j3I�}���^Wn�\�)uw�o0`7���syv�H����X��J�vݻ�ӂ�ރ����I�`�c2�J,��l%C�%�#�d'��j9,�[�ɵ�í^��ٛ5ٳ�8�l6%�QB೰
{f�6�Y��᠖L.[$u�U�7�qj��,q�֜�.[?Rݍ��Q��FIl���֠ԧ�1	��aʜ汧����ʺ���4{�?{�7L��.��;+f٥�tz��,a���.�O����o|-{cj�Y��q�(�$}+7>Wg�!.o#/=v5���os�\\OW��j����Wv��	n���>���[i�K+�����;r��Ռ��H�GC�]t����J{�Z�㛯������
$J~UA��\ܶ����4׾���˟�K!�|�s�L�W�6�gl�lh���3��>����L��M���\�'&-�x{�sW�D�&\���v(��ѹҦ��-���Ґ��'���L�������K�8����{���鯶�`mn$�%�v���Tzqކ�
���[*�.r��G��W}�m�Wm]��_�!�#z(�O�F�i&�4۝`��K<����
�ŤR�b+[H����j�w+�O���[y�ټ�Ց���0�3j2W��ak:��$g�<gҨ�4�R\]\M��[Fd��_`=����Պ�����C���o�M"�
:�3�c�A�Oa�j���k���G/��Kz��ވ�G�㊳��5a�iR�4���e`9_�Y6Ko!�9;s���ڦ�F�tΥ�����D<��V[޲'�G����g)l�����׬o<��t��^���n����̗#(�G9��1]���bf�c�<��7�:�_X��&ap���@��]x�sPY������.����T�ʥd��ve��r��S��D�Ѷ��R�-�h�}�k�m�n���Qc���"Lm'�z�ִ�(�<��rQ�K�.%����Y��$��r�GϥZ�%��V{X㶒#�g�!�ԟ�y�Qi�%�)F*�n{����ar�1H�nu�F0k̑H��@�+�ӼW��w��z�f
��xw�6�O-���6�YH#��Z;�/i���ip�M������5��šN��BU\Ơ�'%�Le�Y�bSv8�t����c,��J��1��mngk�ׁ)ݜv��CJJ��zE>�jy�Qki#x?+�eoC��{�y��X
�Cqt>�1ʳ��랴oM��&e�vtZ�C�_�,Rۖ\��d�}ES�,dy��� ��O,��#֖.�;���)NϿc�"m7T�D�-�[Z��E捪�t��K�;Y�6�$�"nt^�����e(.�F�y[������č!�1����_�����4x/�/@i�/��9��
֜a�3){�3�7WV�Q�`��~��������T�u
?������6{�Ƿ=j:i�I�Y�ךƧ�`�IZ&��{j�S�ؼF�ck��y3!�g�C��5J���Եk����&ͤy c�ֵ�1ys��]� Agr�Ww�k.^mz��j7������N�L��SPw�l��e�5��x��9"��m>�x��3�{�ޓ�z~%�M;t�U�5Yt��:S�o���~��+W���/��n+,��{
��2���b攒���#Qu�#8qZZo��t���1<�V�#�LqJ������Hma��'� ���T��S�/u�涖��t�&��YGc��*�V��ܝ.\���VgH����nc�2�c�}��;?��H[H�$[y'�
���\gͪ�}4�Zč��*��k��u^񵞓<�:B-�A򃟘�'Q���[y��Qjח���7�"N���޵�-PMs�B8䋡l��2��ݔ�mw(�,��i�̲L���=�+Ğ*���}���a>^	_j�[�o��8��cc������r�F�O5GR�/`�w�6�˝�[}��k��Qk�4{��zcny~�%ź�����J��.�6�V�t���{I�q$c�1��=v&q�3n|%iu�G�ja`bD#$ӵ.��V�akf�x��G�s��?:%](Z=�F�M�Z���)"t�O䔐�ӱZ���>/�t�|>]�d%���7�@U*�ѳ��奎g�ZJi!K[i仱�AN挞���T~�F��A}i��V�Sm��I�E)�F�a}4���W��V(
��I'�����N�kmB�c
F!T��h&�$]2H��9<H5O�Z*�v'|j؜c;GaS�g+��zR�\���SQ.��=kϼU��p�]�G*:�z���!=/�5r�'%s���c���z�GK��؁�ޢ�MR)-�$���:��</i
��m�]|���
|ܮ���қ�k�H*�+������7���QNA�����4�g�ገFI�x6�?
x�)���ֳb$'�Y�<g?Μ��#S����-��M���E������T�<�`[�6覠��Kyc�=H=���I�l��C�]����u�i�'~�d��淓�T�O�'ڀ9�~�Ht� K�@S^[�;�y���o*WEd�{�?j��K8m�s�*	q�^��Ѝ�󁞹��d�f2�^ ]q��FEZ��畾_����89;!��_O�Ρ�݆�}�Op+GO����M��,�s!��k*��>�-QsXK���¿e8̋�p}jŬ�0��J8����W.*���裢����P�&;T�q�W;%�%���dn2ѯ���=*��s�g�U�7�Y�O�J�$��.[z��5��O�ǩk��a�}�Mع?5��^�<5oB�.�a5̼�<QҒ��XeY
ɹ��U)�I2�Q.��^*�U]��3��^a� ���Z�"��2C)W@:��1U4)+�>�Q��v�O#�>��$���m4����~:g�K��ӱR�GQq�U�t`�qa�{�α�0�&���k��\�~ƴe���G�%�ԍ�S��r�H�"��5��/8mr8B��?δ�J�E�&�����VOۮm���6ZD�3��\ֳeh|v�<�MJ�͊E���~�Vя*�S�����棧+���=��!ڹ���J@�г`r3�5͇i˕h��YM۹V���t^��[�K��i�=G�ҫ'��؉����77'�^�Q��t8���D�mGOyes��dn�à�s\ց�K�E�
CHW<���-X>t������_3Jx���^g��[�@T+����^�Ž�-�+��Cyn�1�������ez����V���<z��&UH�<H�#�T�v�m��R��,�@\mN;Q	Y>m]�1���y����I9��2s��\����uUu�VKs򲎕ɋ����$tФ�܉b��Ѯ�
����z���j�6)h�rc�j�hNR�R~��Z)�%���6���!.'�Dnm�~[T[�=�dU�y=�����i��)J�9˙m����Z^�������Z�2q[��^�[��Ib��aY�cBdYW ���,9c�-[:%'�TMyԧ��d���A�Ci����k�Y�Nj�j;j>�!g��< ccH�ֵ����$��2��]�x�}Q���2�m-��0��fG=q�I=�i�89�y���Iu;�J>���>��mo8�&tR~�Ҵ#�l�,�6D$#t���vI}��K_�����l��0�QY�^fQoy&�c�|`�z�p玻���rΛ����ޤEp&�c��e�֍��
�!���|�dd�j���NVNȪ2�uґ��ۘP��
�G�*��i������cR�O�gD�}��NDq�U1���ٝM��Z�y�{KYY��*��u�֎�ừ]�y�F�$~��}���m��kh��p�Nq��Un4�.�E!L��=��䦕��'fe
=a�hySϵ^�$�>����N3Qk'b/���sv؎C�,�{���0��{��v,
.�����0��c�Ejiw^m��_o�>@8泔��=-m�L�ۤ�����R�T�]Cswj�Z���t$V��od5�����KMje���!�VZV�
�k`�T�
]D��5��]�~�;�K�UO�%�cK�,qö4X���k��|�t�c
E���p�Ca$���iC�w�l�K�o]�y!�'�U�}*O0�|��2��,�rR�g��1Oq	8����?{ڤ�ɑ�ȉl��E<-'/������[[巶�pƣ��wO*��Ļ��>��O�t��RVI�+Gss���Yz3�]��� �z\q4�R�<�
��wKN�5�ֱ׺:x|Y�Ec>���8�˵'͖�\����i/��p���}��s�zW-5;��:z�z�R{X`D��Vh��T��+itٖ�'�~�%8B,=�n�k䊺���O��Gin8
3�z������u9կ*Z�K#R?�H��8�IgPX�Jθ������\���J��V%��Co�Ei(��In��`������qj؁ݏzqm�=�v�=K�����0:�iA���M&�$l�d�R,m�gF=�ܚ�)ZͿ��
�>�U-D�>
�d�՝kys"}�2���q���A[_��++�����91��ȧ
���ڬ���ڈ��p*��Z��4rOԫ�֚Ki�����J����k�[�c{�§�gr"��;��ZV���&�����˃�֪R[��O([�b|�ڸ�eܩ6����pj�֓	��|�xR�9'�ֳ��:���4�fο�
!�땽��Y\`+�c9 v�U��o���L�8�'1#����tԕ�n�ud���T�
1��68���5�hr�����RG��Q��jN|�������~�z<ak��l�m���b>�V��8����҂��-�7%{�k�RU4Z$�9�m�ȯ|9~�C�n{���qߊ⵭kQ��$�[��.�:�C��a��ZHN�o�8�qm�O�D�[ܶ����e`��z��6���h��D�2�0�$�lW�O�I��֗+��]#��؞�ZΥ�}�_b��csH���ԕ��+Y�!T��ӟO�w6~(��<��$�ā_v	���&��-��n�7�o���G�)��f1�u���?�Ye�����S�2j#m�Rr����x�S�u�]}�8휰Q.:s�}Mt)��M��Ś�v�1����_z�1VJZ��4���ݳ��|�E�&v��n��PMit5�>)VK�z��r�Zlj�N���m��"r4���V��_�3݀���^j���4&1���eϭ:4�)>�q��؝�7{�	�L2��FD�w_Z�-�w�)��B�I�4=�4qR�R�V_j�f/�wf�NE�G"	`�1�_�}(ו��h��j���p�ҙt�N�=v���GV�����L��U���37##�=�i))G���CJ��lzu���Tӓ�k��$��bO̭�Ⳗ��4R�՜Q��(��lH�8�z^��-e�Y$�E�r���i���	L���1����M*i29p��Q��^xrI/��E��«)��IF�ٖ.��cH�'�T����k��M�I��� Kd��V�@��kJ��|MhL�[O�5kc��[X<�X��F�aS�8�Pqd�׷Q\��L�ƹ��n/��d�]�h�k�iW܋[IǷ)��KRk�r�K�V8|�\&�����ZӇ/�).��M.	nSD�d�ZT���Qa����[�x��AR��#�\ɋb�躏��{������$k�!� �]=�4�R�}�<2�~c��Oœ։��KQ��������J��x�g��qY��-�鸻�>Б�
���Z�P���Y%����F�K9�t���������ͽ�˞[>�֪��%g�r9�o�/����>�{m)I��N�
�����8�K���sAȟ9x��z`�k*��V��2���7���k�;�g>e�pGOʮ��K���1�B�.s���Sr��#��1u%�EԅƑ�N!/�,I�A=p;U�ŗ�l�y��$�g��d����j��O@~�љ�W���B�?�#!p��x5�e���K%�Cs&TaB�}M:�tգ����Z�𷉢x�����x����`�H ��;�M;��mJB�VL��g��fjr��͗`TO�Z����Zn�eUs�d�ﰮc�(��C GG�3��JџU��$DH���|�L��sƖ�����D�L�T俵y����V�8��['o`k8F�]�oSW$�v|���4��,�V���4���(љO��SK�G���N�z����*�&
���qgm›k�x�A�>���Ԭ��K7zij���sa�pC�$(�+�;��q��)j����,t���I�RTq���52Y�^����@1��U̯�°�2�!�֭H�f��XJI�����V3J�>p܃�J)N]��{χ�V�A��Wn#�s�hWS�aE ҚHvx�t�x��:Xݶ9}ʧ�Q^-�������2G6dc�1�+��`��q�3L$�WD�BQqMb�{����z�h�A��1/m$X� ��>��jk��Q���ma��Z>jm7�F��1����D���#1�U���h�P�đ�
�2��N�����=���F��54w�xX.��V�r��nt�(�<ć�k(P���[=���:���7���ǐՆ�|hA^	��P���n�;-@��}�Hn~l�0��W�W�Hgk+�����B*��he���df����J2Z�+�>/1c)).�U��	9�4�P���W����Dg��Xu+;ȯWΘW�z�P�׫*23^��i%*w�:V��j.&Ut�6a�EEuʻ�E�/!�V����ɾIG��<��Z�]��LJ4�]����y���?Z�_$����*�wRM#8¼�9���o��%��4���}�%	��NS�Ksi�%vt>Ӆ���q!��ت�,�؏�+�����gN��$�\������J2���qG
��5��^�/��)��8��SkZ�v6��HӮ��A��y�h�GFk�.�Kz}�)m<wF�v���.z��K�FI�$��B�����Z���-m����o�{��uP�3�\�ÈE��+������8��':���Ir�~g_#�j7k����FI�l�&mJ��a��C$H����	��Ft�i;�T��[�0�ܲD0Aקh�a�4���;��!��
V��E���ֺNݙ�u�jkm ���IR6J:�5��Z����[^�%����|e:�V���(oL:qv��ۿ�f(mc�H�
���U�΃�޽����P�k��䦧d���)�-I����Y_�$
�VD�٬���[��F*�A����ݞ�2rS^k���q̮���*�'�+B�F��\���g���7s
S�	��g��$t5%��}��R�7�_���[�chɤh�YYM5���H�WıI��O�ǩ΀�=;ӷB��z�%���+w�X�a'����ǽD��S��y&��;��3G�^A��H�U6��RY$���x��J�T�=�.�^mƭ޽y�^O����`^Ki�r=�Ϡ�Y�]if�o�@(��6���k3��sE�ܷ�]
��NI }�5������c4J��\�����I�`w��tX�MKO@�(d�Ը�f��3�*#�9�:�r��U8��]�72>�z$v̊3��K����
��/���A>V޷2u=�N��o������<���Wf�z?#>{�K�r�K�;��Q��Լ@��J�HD����~R����z4趕��p7�1/�O��1^V����D�.2K|���c�{uծmA��fo���;�j��ם����Zɥ�&	9��<(!�n���i�@�e����;3w�h���
0F�q�+S��_406F�+*��ђ�w�47א3$c$0����ڮ��}f�|ӧ>r �8�J�N�K�$��y��,ڞ�sw$&�Bc�����Z]Ѵ��X���
�C����ж�ב��憷�����hB�=�MN���"U�$n��*S{#Վ�G7�=K}s̍#�0�s�j=>�5Tȋ,�g��F|�����B����f�+_IM6�/��ER�M�Ǘ�,"Bc��������k���%�h��x�R��}��
� i՟*���fu��;��'�]&�wg̷7j���C>�
�'�e�����I3si��@��_�>���{�s,��\�T)�r���Tw�f�Ƨ�O��S��������/����f��o>yH��N�ˆ��u�n��Zw-�����5��p�<Ē�����U�t��oo�đ�!�Ǧx���k���9��{[a*O�W<�v��G�T�övے�T��\�P�\�j�-�9ѕ<kc8��S銛�Ţ"5X��EG/:M��:�7���Χ;@��i�_�ڏ�5U��[D��3G�{�k�*�.��Q�ȝ/N���ܘ�T<�}���ӭ�Ե���Y�8�jR�d�=#��G��o�����F�^��G�����[T�ݑ�t��� ��ҙ�V�����"�V�M�<�Ҳ�hG_����ث}�k��A5�.�vϯ�*��t������=���.��5z�m�憽>���5㧗%���}OsN{h�<������<�-z(��j̩qgĠ�P�,}�U�k�t�f���R�"���N1�������?�5+]:�B��v���\
�o�.�N���,8fc�}*�ʝ���<�h�6��#g�x#��]T�V�o3C�Er�ʦH灷�_��pժ��jգ��]�w���RB����Y���;�+N�_��^�!�H�*b.
�l��sR�k��V���枣�{�N�����۰��L>`zW����w:��_�+u �b	5�e*�&�P܊r��m�����"a�����5�wt7z�w�Z}�ε�����|·ڽR��Zg���{�CSbQB5�B���%Q'�ۨJQ�\ڥ����M�F�����kpC,��+\�dž��}qw���\��A^ܑ�\U�7Z�w�^�橦�Nb)t2F�c<�]d��=}��;_��z^�4	��v�!�А
��MtS�q�u�S��s�С���L��9�7a�+�+�]i��M"�$�1����&��ش��Ѓ�� ���0�v���t��c�1�՛�g�%�n.^�v�ɱ�;�O�d�?{fF��ݳ�?�~=�1���VP�\k��&s��Z��z����������yֺ)�e�5�,mՒ�2{١�P����������]i�w7:�n�G,!���P�����u3�n��c���=�t6��E�{U6��2:��S��*��Թ���c���'15��Z��z�j�h�bS� ���&�c�0L���tѫ[ǪC%����&['�#�f���v������[R[v��o��hh���R�s-�Ͳ�ң��9S�5�i�%M�oc� �e�#���e8�]k�������h��[Q`�dp=��Ƽך�w�V����l���,{�
���e���d7Ӫ)M�RV�[k�4岤��Ƽ�Y����1�6�
�I�V�浢8��D�ƻ{���;�_0�����צ�:�?��crO�6�9 �`���^�n�Ssq���W�$p�]��0z���G��t���w[��0���ҹ�{_�BT��hh7/cs潺^[���ܑ�+�3��[�]�d�w2Ƞ3-�^��ޝ;��zŲ�RG�–�1ee�o+�5Q$Ԧ���KUYXFH�*d��[Y-Ú��G�<J��v�F�v����~:Ԗ��.��U�zz�U�9B����[�Y���j
�}�l�c&�NLd�zu���t��m.�%J�w ���P���r������jw�[�p�����:WQ�kE��Gy{y�WQ��ߧJ�BJ<��
z.�:�)Ү45��t�ݑđ���y�zV��Zn�.�Y�W/�ݵT$Ҵz-LT�̬��R�G[�����TVp�Cr�V�m��^x?���4���tԷ��[Y�p��wY�2�{ջ�a�8�nv0�'���m�w�m��n�i-UV`T�p��J��j_ڞ����M��yUӻ��	F�c
�u&T��S�R�#�7���Y0K��y�
<���tF�]A
��&�3��7c�}+�J�~l�xo�5;�/�a;@˻g�2GӚ�~&^��5�V��y���y��7�
��]_c�bI�X�u�,�<V�6Ӱ� 2���Y��M�H�-�<�i���n��R�y|<E`�qE���+�畗B�S�O�A{���k4w
���>o�/�j��p����\��)�*|�n�i�܂ѥ�_3nsҮJ�;lx�q�z�3���K;Ȯ
�Hb0�eG5��I.�m6�}`�#�x�w�ڪ0�^}K�V1x�1���:ֶ�k;^�6�@6��&���J>��?*Ӯ��[�
(���R!��4�G�������4�2�}7W�KA	�YK"����S���L�"�'�<�y玂��cu&�FX֠i��L�l�
�R�[���7�=���Įr�В�,�cZJ�-��,�+�;n�G ���f�s�~��f�h�V����G���V�{�<Gx�ݲN��E�	ޱ�,����08��n	���[�L�ٻ>��5���Bl8r9�W��"س"�k9�rv�ˌREm�X���i��zWV`����QV0�Iɮ�
ϛt&��/k��>oҫ�)!�Hǭv�L������+�ߎkYb�V��4����b��3ҥՋ���%�3���"H���݆�=Ek���Ah������خlO�77���u�$�Dl7#����>ʮ�9d�ʹ�Iu{�u~�w��T���+��y����i3�J�2�J��?���)�/J~���@���ٓ����m�+�~#�ծ//�Ϧ~��|��+ثUN�]8�I>����|E�[{����B�C)�4�Ɲ�Y�~�N�5\��0z��*eR��h�.��O��*�m�e�pX������GZԒ�IcE�ApG��ܯ�����u�xn_�6�H�n�+wBzc��U<3�[�.���)c��<��b���#&�ӱ�eh����o�n�)ܾ�ܑ\޹otomo����R���v���q|�|Ϩ�A�_b��54H��eȸQ�>�עxtA��ֶ�(�b�4�S�s�4EWd�����i��%@_���\'�'{]^��KѲT�N}}�+EB����R��=�i�:
�[GsrS�
�v��j�{@�	���y��0p�ۛZt:�Mr���U�T���3w!l.�'�߯zӷ�M��5�z7�}V�q�_=ɏ�����la�dwP��"I����;L)��u�ְ��M��EGY�%д����<��pQ�>�6��ϬXj:�܋X4����Jwۡ����M{�#!�W��0�==�^��n��%?�	�)]�X3E�Փd���.��[��,��0�tNr;��TnuT�I##x<)ⓨ���k.�J��&��]'h�v4���������0	����ǽȌm���O�4��$�=+7̞����#�S�W�;�
*���Gխͭ�VX&Y#u<�
mk�r�2��Re��4r@��u�D����n���܄��h��	\��=�d_���+k�;�O�F[|�s�]���\i�#O��W.�����D�q�2����'���3R��rk�Nܝ�n³n���6�R>d�#�sҥy;�eS�Y2B���5k�0��c�����v�y5��i�X�x��|����k��S�#�m_�������%���c'Pj`a:���K<�A�q�Y�i5�IY����
�4�&ބT6V�אO-�٥O����j���Q�b�2�S����A��Z�{���4��"��5�D��GE9]���e�y�r�V^�o���_J�¤�3�}+}�½>M�g�Z�Zv�rt�H�6��*������I�6�����ؘ�G���qw��>W|�v��Q�L�x9�=�/h�{��Fz��d�#��+�]Y���C��=>���(��glpK;�'�|�S>h���&�5����C��rN{�t����Z�R�I��i�<)>C�O�j�qr!�[�)`9oZ���Z'۩� �l���b�&�{i5�q��o����W]�k��Wc�l��!�c�9�"�4(o��y՘���Ɯ�F
:/��fL`g�jݎ};O���w,Li�%�Ҽ�Vu�6��+k~�'��y�")�q�F���񬛫]9�hRǦV�z9#���_3:mFo�d��3�>��|;m2 (�˸� 
��h�j�覲k_�BG(?}1�O��
�&�`eS�㯽s�-���&����
�̖�) +���h�PZ���VZ����s���<mhǿ�k7��L[4(��"��a�zg����WF<�;��c&��/`ekk+Vi�K\.�>�%����kų��t�1���'���^�a��-4ҷYfm��OJ�
�]n�&�s/+�V��һՉ�ė'D��2]y�I�K�$[j���?
Σu7�v#��m�;k=�20���[�k3P�^W]�ڧ iŶ��CM�k���{���`�`X�7�����-%�hASAa�W%wi�c�F��[K�V���g�$�F�����-��{5���1$�����M��z��7ܱ���~ߩC#,H7H;��{�>��)�.%@Ѯx��+j�����/��Z���ji9U|}�=+G������_�d��v��k/V4��{��;�u�I���)c�"�__�qzƈ��8\��c��
:��'��E�v�R�����J�
��{�/4�%�$�A�����E�V}F���=r���I���TK�<b�-���}ޙoy5���n\`�t�"Эt+�cb�� �*�\q^�2{;���n�wqpu�#7#dm�NC��w�~H���T(d��?�Jco��fp�J�sJ��=����cw\++�^E�6��X�:hX�3������MA|ƣ�h�X�o�K��M�\yr#`�Xz�浗����ͦ�b���
H&���wҴ�EI7��n�eh-���_���T*?�5��|;���Ԟs�o�O��Iߠ���-;�SYY�x����U6��c�mwJ��W��{���m!,�g��֩'�.Vo�����n���B�a2��z��A%��57�x�턁�>�q��?>�GY[pվ�	�N����:�۶��qUb$H�)2*�NN=*6)=5ܞ{�+�{�/T��ܫ`�=���˳�%��[�"{���>rќu��c�������b�6'U�8TwnTv5[V�mkY��%�ю"���);.h}�j�v5,l�{M>IM�����h�tw�W��O��>�M;IGC�)�0GP{�)Ƣ�w��-�b�I�K8.>�5ݲ��n�1؊ڳ�\>��s��ؒC����;KU�{}���I�M��{4���"J<�F��r�+�,�r���T�Eb3�x4�ԏ¾%�4�{njA��w�����]<c͋!�Mk�z�xc��j�j��f�O|��9;k�c(rɻ߱��\��� �U�ĆB`{
�|?w�h���tW��I���ݽ��.�e�/f�,�5���e�Ђj-g\���u}/˴�RD����.{��n�����&�t�s�K��\)�:ے�J�ҡ�9�Fd-*Lv�lt�U��^�n������A$�9
���zVF� ���!���d]y�/��n���-:޿�ﴴ����O1�S���Y��J%ޗq4i�������Ta���lL���@�>���X�IX�v�5�k����;M��6v��l�s�zU���{�����n�)
Ǚd�R�T��0�� ��KM~	m�K[_�r��‘��Y��k�}nR+M*�C��/-
�$~�V��?�1��$�#��M�cl�
�!��|W���d6m��Z�u�=��@2q�\��<Z��D1C�̞@���rrjE&ޅإ�ELvcɯZ�j�|4�1�s]t���1����	ޘ�F��#�O`>}��7��#Fe��) 穨�/���5��%�f2�����z�w���;���
y$��H�<�MU�prGJ����)����,�5i!6��[z��y�-�E|���ON}iN�.ڌ��@���,�߻�Xc�\W8��5�@2��"��9�,2|��ҫM#f�X���uyc���b䜷LV]����-����ޢۺ�b����_\��Ld
����H��^���M)���sCVW+��}�_j�2�r���݆J�V�nlnM��~Ӑ���0��k�С�[��g��y�w?	C?��Kt���+��c�m��@�z(�����J��튙l�j&+��yWͶ��q����v�E��<g'�|��Z�g"&l�i���+Y!�9���tb	
s�����C�A&e	��<Փq�ڜ���q���-5�)��Ϸ�θ%�
3�����##�8��u�K��"��lSC�Ϲ�w2�\T��ι��46��l,2���J�ݭv�]�j�M:V�w�a�V�,-�_O�]:��$U�8�EqTi;v4ܥmg1}���!y8��zt�0�\u8]_q4nZXZ$HpKN��u�v~o����k�M*v��!6���L�ޞ�Hf�.b3^<�һ��������1Ri�-��Y�y{�$�Z��6����q�zZƧq{�	.�`�D,�n�)�qN�ҚEk�Sʽ�zz�\��Ξ��h�=�˥�=�-%�3޵��;|������&6|�IS��r���i�F9�k���T�DK)���j��;�fx��g��|I�p�J���z���ۆ���v<���޽��qR]:��I���fI�	����
�ʻ�}CEk��<� ����G|��T}�7�l�S���<W7pZD~X�$��\�@Z�wh�T���+ʭu5�튺g4�#Լ��N�ɍ�Z��u�z�G7+sZ���o$W}:NK�v8�k�����$���֤���4�V9�9	*��E,/%�'�t5�ee�VTo��z��Λmڟ�ZI�F�W�=�u�N�}��Vw���D�O���[�_��U9�/W�ӧ��ݛ�5���%�[���`��VQ�\׍>��mj�.>TT9�1޺'��k�S%	Y��Q�I���7z�*9�R�\��J䷲��.ҽŸҧR���?! q��FVVڠ�=EK\�|���v�Kv�shPġ�%!�+>8��㸷������*pU���cF�'3��
d��C�����%�V�'��a��k��C�y�*m'K�J��·�~�u!�i�Wc��v獻=
c+�/Q�'ԧ��Y�l�r�'�+�Z�ZI)m���Z{5mP9-_`}4��H�Z�cg5����z�ƴycuЈ�M�����l�]��p:���y-�'1!%rZ9+�R�6���D�ixU6�\c���$sZ��稭����C�;h4��?vN1��xNI.Zbd>dj>v��5��6�FԵ�wW�
��j709��5�_h�A}�<ߐ{VXY;��Y._>��*�f�#r��k�.� ��ݮ�+ݜ�[R"F.���Mp����8�5��ʣ�f��$cⵌ1�b��9�z^���ܤ��:�s^�IB�CѴ�(դ��>S���;�,ɹ���Y4���k�^d��1@�M�M^�m��UPX�e�qQf�̶�y߀2x���#��Y��˼Ra�!�����M�5S��k$ӄ���@����3��M� ���yc�Eg����դ�ӻ}�b��K�w4!v���>�h��D�y����W:q�՜�og�2nm�۲���BxZ�6�V:`�D ���׊�Q�wюVoФ��XI��XL���q[�ij}�2�zמ��?3JU�LF��yY�ln���y�+��Z��ބ����['&��˹�_,���
�?Cj�8j[�X��%�R��X��]J�(�+�UB�j�+���p'g��s��鶶��1I����`��ҺoO�2NV@걐3�
�²�O�N�J�jϣD�b�vĖl)>�cV���v֖h<�F�R�ԟJ�cKo��ۿVk'�c�)�w��8�:��h��d��߹����V�\��c�T9V�2���]_[���H�a�]a^3�#�V���?�o�)�DU�����k���;m�烺qꙗ��X+&��(�ʧ�ח��g	���>!�N��yEZ�@�!%���SGtc�X��pT����f
�Z���u�i�LG�p��\H
��šJȻhX�ĸ��*rj�Z{�YF!���h�$^��m���1K�%?3~x�MG�^��'z�ć���8���i�]t3RWW9�nX-5�}rZ���K��S(8|�y�����Q��.޵*�� w����п�,��gI�P˴��5��Ưm
Kubg���D��\�i�=t:bٳ�x����E��+���`0�OaZҋA�J�W����W\|�A�+V��D޷"�N�W��X��8�H�c��u������/*�ue�1؎�s����Q�\�ݕ��:�W)<6қx�I���reuԖkr�91��V)%��.RKDt�.ԵK/.��F3�c!��_T�Y���<mj9s}Ec^���]������k�oWF`G�`��j�o1��]������ZJ��g�����$���C�0j*+&����?p��Oa]�~�H�}'^�=��v��+5^���2��y��'�[�mKV�٣�e=�q���h��~�?A��f��5���r#�<2s���X�Jc�m��h��:Qڥ��N�R�t�t�>(�����'�8UU��=sX��m-�}N��->��v��1�&�T����Q[��"�ike���]�,ۉC�UmQӭ��t���qr�ĥ�'���9�������k���c�F謧i��Y"����O�f��[����2@Gʳ)A�(䵛ѱ�ɝ��Z�iWR[\n��b?vOn�?��u�U��9¯4�6_`<�q[l��}մ}H�öK��P�<,�������o���2^�u;6���8�<�Jp�]�q�%5>�;��
��S{�������%>��[7�U��5X����s9�r����g>�Fԣ��!���R��{kO��!�!������g��5��*�[�G(�a��k8h�3^ct�;MJ��&DA�W?0�WB��P�MѼ-��č�<��)ݷ�ۆ��-�Imuqyn���G�I����V�&��1K�A��b=3޳�ET�^��M�t
�5���Q��c��!��a�8�Oz�֭to�G�$�rWo�+le?�pV���N:�̯n��<;�K�
�Wkt��E�Vǵw��Zj����yS�ޡ��c]T�^rӘ�
�C���:d��W&��KƥF�N��P�f�G�5��+��6�YKcq#�n����^Z����}K�߀���il�|�p�Ђ	"�i�z�<�!PJNIT��t���z5�·⦸gU/~[�e?J�}[�b�L��M,,@;�k��M+�E9}�[�Ҥ0�[yc8ݜ����a&�j�˫��qdН�@�}�+%+'}�
�����Ȳ�$��Q�?J�{��Q�r0%��8jc{�A��3,:^Xy"3d���UXt���L�J�KMM�Vá���+#������cZf'DkI��C�ģ���v��JԶ��ޛf��aH܂F94����ݕ��T��n:���$�F���$�uX�i'r27͞�?�nj��uxnu���&_�0ݳ��T�ׯb�[��^��E�A�ya$[X��#n�ڢռc��Oq>�N��V�wث'��?��[x�y�.�cTOֽ���+1�I ¨W\�x��D�����>��`�X�P:���������ԡ�Қ阪/\u�]M�>^{�.5[�Ǒ��y��H�s�M- ��d�E[�Tr*��v�V�eĄ�ի=:[�A�O�kݖt������}�its!�a�X#L��H����p��Њ����>�Q���-�Q\]+�\F���GL�M���ϓ�36��VP����%��*�3Gt�)*T����{�AkujU�{/=s�q]1���)_uР�Z\Ip���3���>�?�Sk��$j�1�z�Z��}6)������X�H�� �SĶ���Ϣ�b"�Ȭ���ǥ&�U�:���q�ED��\�0y�]�m�ŧ[\�,F&���@�7t��֊P_�lu��bj�^~c���Q=��#�]�ָ�S��VG�c���p,y�.3UIYȬ�;�eIM��<Ջpv��F��V�B�%��$u�R{T[F{YfWL������S�4��_M��.��{k���|���QZ;��a�֭���,uZn���yPޫ,c�d'Niֿ�[�9�R�P�s��ƹ��l���6����t�����t��y٘Ȭ��քQ��cwը̐�b?�;��U��h�!�vE8O
�pz�=Ek�uم�8�$��x�8�� GJ�T��w�WiʾWa'`�0�q�Ek>V�A6�H,�bF<���nl�8��D��H!���RV[�;$M�G&-�B���<�z���Q�&R[�٫��8��X����$ ���8�[$}+��Ϟ|��:)����͆S�Z���/A�$LU�Q��וI²�ɘ�o:m�=�q��9�:\�>����z�7��R�-��%���ڽ�E�zik��nEޞɨĸa�p~�Z�K���gk>�<�FUg��'L�My�b��=*�O��VG�c�eN��ѝSςFEe�r$Lr�}[�*]��e:3%��IJ�^����֟.ݠ3�%b�)��B;�k��;F�3���1��_�Q8c��Jt�nc��(�m��N�N��ޮ�M�C��}s]_��+0�,e{��&
��QIBv��K+����YGf�"��feZ�q��J��
s�ڇ�M75�m1�M=�q����KM	)/�8�:�m)�Y��0~s����;j���j1Mn>-_ʻ � <r2�*���B>ʡ��C�`�Fm�!%-J�6���i%����5�qjZv
@=�I�Mr��sI��b���i"��>�z}
i�Ous���M�U��Q��t�r)v/&��j1�[Y)�.27d�©A����.;�Q�w��6��[����L�`CW-�:~���:���R{VUu����4�����͎%�H��3�E���.~��a�Uu�zS���f�Z��7F�x$qU��2�̠�kҲ�~g�ԭn�+m�=�_L������缕�����5Z8��Ì�dn�j�;�Q��"�_��wQ���n"����(�I�gUJ��Ϛa��6��4�K�6�(:���޶���z��Щ=�M�Tr3��O���@$X���#`
����/�C��x^��{�uw �v���J�����
̾\Q7܈�z���Rj:��/T�n�1o��2��Q�=�N"�����҄9�f��dR�/2) �#���_�w����\��=JQH�s��5��G�`:�PN��KA3g9a��k�M-4Qelyn��**=�����i�q{!��8Qӟz�ЛJ>,kmDG�`��w54���a{?R3�ڰ��K�]�I�p
dC;�#���
kQ���b�f��e)�KzB
��n�ys��lVjM��Iأ��og��k�B;�<Ջ-Z8ǒ���X���Fk	�\Țk�daC��JΊ�HY�n�Fp9���y��Z�Z�Z�oq���%�L�G����p\���Eq�6Sx�G�u^�u0���a�%���/���B��
��/�'��	uk	�2	������W���p�5�ٙ�ڷ�3i���ic؎�*��]ȑ�ģ�9�+�q��^b�Zv��3����u2?~f�!!���;��������<�k��/.^�r�W�g�co�]��)�u9�<�˪�&�sq�3.w�7:~u�V�?2(��߉�ӥ�q��6l=CW�2��������뱵�Da���n�? �v�\�%y����F~��Z�Ҵ	.���-�B�t�n�=I<U�>�C(\��#���7�\ܫH۟߅C�2�;+�ʪ�q�EV]JQ'��d#��Z�NѷS�"��
��n'�}�f��[��2N�6[\�6ڹ U��,ȇkd�>���;j.��5��0Ep�P��]��k�xR��MQ���b�a8�y��j��o�o�<3�@�n�/-�Q�����;�v��_�yד�f��7�NP�;~�W]�'t�Ч����m�-��؁�\�[;�
w�cŚl�DV�h��������\�(�G�պ
W�W͒�j�:�݈wD0��Ykk���4�H.�,��Vi8�}�+�t�����5�;f\,�ub�mJ)#�%�{��*���
�
�M�/I=ޝ�4�ծ�hԦOΪ0�U��?e�{w��%��Wt*J��l���r��\���a���?�t�\�,��iQ��ɕc��Һ�i����x��f����w0�̅��m1��(�M4��\Mt�#����^1���pww{��Y��:��Q���i�D�q�gx-�"O�iOJ�M#YØ�e}>���ص���1���Y:�O���wƎ��Īq�f��Լ|�y�O$n�K=R9�ϕ"0*{}
ijk��^*�V��UE�F;�XT�i(���Gm�:��>����I�[�� �5�ڢ\_�&���IT	X�����)rho+�zu45=N�H�^���o#q�\�2���\W�v�}G�n�乹�#yc�?�cܱM�ܞk�u��x�4�*!�3����12��G�s�����Es���`3z��2�'�6oRy�~�h�-��-�̆K�b�A�����Ns�7[�K��!]'�P����kЧW������c�����$��Gi��BG�/X��\ߊ4˽'�]�i��<W�#̌�;��zg4:2rR��}������f�gm�ZͥZ�mw�Oo*�-��~?δ����gu<�ֳ�g�Lw����[)rE��{���ơs��5&�`�&*�i����a%յ����RS�:���߸�h���5K����`��͐G��"�D~*WMcJ@��>$���k��+�r��͆���9Z��3���G�o���?C}�G�2�!��|��Sjk�f���8�+Q�A$�F0cR���ַ�_	i�p��op��A�J$�>���ϩR^빊�A���m�%����ޮ[x���	f�ZAʅ�!����W��f)��T�u��D��+�6.F}��Y�.ҵ/����i$wS6H� }�Һ�B+���KKB�����-Q�%��.�'��U�?�0��%��\�J���rپ�cE�E7���6��YB��e�zcֶm�l��p�I
�02��)�ɫ��Y��]�U�sO-���tX�v9힞�K^���5�2-ݴ��-���ڵR�.��ڮc�G�����ǒH��r���m>�����޳7vj�w?�D1]��m�[8eṖ8'�DU�g�ͽS���#�in-�»��1��f���n�j6�ym 1��ױ*z}+7Ϧ�t3I�?�S��c{!�W�j���b��v��M�X���I)˖[-��m�S�t�o�fR2fb��yg5ѓ�Os]�M�E,eǘ�A#�	.hB��C�����Ֆltb:��#ľ,�#�4yp�)C���9����u��l��F�8Œ
�G	� ֶ���4ʼn�,6;�Ev�c�bg��צ����DI:���Z]��QE��i����Fr*-R�9�^,+o/���N6w�l�oAPF�#�����&/�Wq媍(�ԛةa�z�2�J�9�^�u�����ܩ1�f��Ug��e+r�wf�S�Ht�*�v��E���w���i�J[k�(��|���)�%��^
B`�xSҝMq�V:[�]�+7�p�YO_½�F�6�E�o���SZ�܀]��
()���q�s^!���&w=�n³��g����d��$���[v?
ƛk�Oz�K2�N�*,�M@�����O��$Q���
�-�JP�����T�~���2�o�<TS����4��ry/�m4���&�6�c� }j��Y��G=Ehݝ�
�^I�����X�][�>�nX4 ��9��Mi�pz=IRI���6�+^���$��{
-,���Sw���~��N���TR{�'[0���ca�CK�7`�W>"��З���n�����	��6����條KЯ0�w����Z����V���̾k!9��鮗-/��r曢���i,�s���Ƿ�U�x��)�2���.�v7��ܯ��ϕ��Ύr�AS��x�1IlsҸ��[�Rܵ'�ݒ)AV�q��Ս5O��*C�%N����r�q)�C�7�k�=
�UG��KYM�H�Eo�x��K���ec2�C�ֽ��}��ћ�����"�FK��7ς���~���o6��Ia'[�'���4ԡu�ޜ�u:=:K�o@9ݟ��@�B���L���p9e�����6��Ư�Q�ͧ4Q�Y%`�O�O�˦|<��}����OL���2V]IK�c�d�{
�1����Y���}.���fya�I�_Z����%�����[�}A�^�c�(��x�J
ѮᑞƳ�h7}n�
�C~��=J�T�Q�L�\&��j���K����j��cֱŧ*RK�8t���s6��ZV��W�̒3�n��,����q^v~�CŦ���G�jF������C�B>h����V�D����N���e!�X��-���U�zu!_���Ѧmw��T7��[Lcr�J�vl��d��S�ǹ���K��~���и��A��L�&�f@~]�=��T��Z��Q�}�+X[Τ�J=j�o�I�U�rj�ש�&�WAJ�$�l+t8桼��<��&M�	�J�ҍ����{�֍qj�!��oP6�NI�5WQ��b�-�!���n|�+�h���2;��;��v	©�.HO�"�����Z�|�?y�����ib��&kIA����W�� ����!�\[�$�H9d#����U��E�;�II_�R��%�����g�u�8�%���H��\�����!$���j�'�mB��t�gV�#ԧ�f&rw$�Z�%Ǖ#)G�=
���[��B̹z�jV�-죐�v1�Vd66q�<�)��B�t����*J��uD�ʎ�X�g��E:�en���'�v����K�z��R�8�i	���kwB�SD��k4�X��G#=��-6.��ú�Mjc�
�(O]���]��1�N*o��rō��S$�(̣�W�����Oʾ�_�	;�L60i��7�3H�
�\*�j�Ц������V��I�'��]�!pI�ڣ�-�kǹ�� v!KVi]���R{njI��$o�i��)̎�0#����[������888ȪS$�w�={WT�Մ֥�컸Q���3��*J�:Y�*	N~n�&����cKY_�m/6DZ�,.e�>jc�<(�n�`��7eD��H���%>c�d�+�r�׫<<d����)ߙ�h�\��w/�D�O-G����2E<��Ьp
1rZu܈���N��j׫)��U��wcL�W7p��<��9�P�y#{��e:<R@�����|g>X����c�M���c�E8Y�ud=KPK?;�"P��UA%�ӽi�kv����o,��_ZҤ�RRߡq_��>m�Vٙ�,��n����#�ѨX���'�)����m�VR�����
���z�j�-wjbT����-��2�����r�(w,%�EoP=}�l���V]� *kpPK�����L�V$�<jv2G�dcuT��#�?ZϞ��߉�]���YU32��������D�Oi�ƈ�X����{om��l-�Mr���ޕ�=wewn�=�l�+�O�}e_$��`2!n��Ǜ�	�Y�ݭ�K��s>
ȧ���[�د忿L7�Ϋ�v��׊��qVc��A�{s��_H�{�wo�3�'��U;�Ky�����ư�"���A)K�FChq�ɲ;��\��9O�Ԏ�̈́J�$W֠��ێ}�EUI��k**�hʉs����wi��n�z�O�lϡ�.�t�y,�\���#���,6[�9ߺ�3�7�4�s{v�\�w/�k�}R���ͦEp�v������s�:�\����U�ӯS;[�?��?��$fp;�l�V�{eo�Ҙ�#��=+)M�:h�v���6���cF���3S��7Q�����~��Tr�"�U�n^6�91���O�kD�l�fv��?Zד�:�̭�RM5�a�X%1L�u����t�&���{�@��2�֪N4ܺI�_��WO�O��-��#}�a���z��S���ʥ��4m�X�*��1Q斆���u�$�-�i"'slo�*?j��VV���3
ň(�Q�k��zE�-.k(���O���b;9�g�e��VM�����@�w���@�����\�{ҭ�N�h�bq�
CD)����e��X�!<��\�u�k�[�O.�O��3�(��
�TcJ6~���;���M�>�dy%�J�1��	�t�1��o-<N�w�����F�?.I�j�ouj��FM���ou)��4��>ٴۘT��0�<c���wN�m<u��u�]��
�`���QITM��ةj��_ȮX�n����B��+������1ͥ<����FN���Nj�:m8ꯨ�m��A��3M-�n��J͌�\w��4M6��`&;���!�ٮ�rR�}��X���h��^�'�����?�;Y�q�5�P^
��έ��[���J짡x��BҤ�TS���c�9?ZȰ�_�M^�쬣��H�8�?��\T�5Yɿs�!o~���Ee��Q��˧�pv��k���Kg6�OMVh����c����M�O��Э��@������%\��WMῇW���U��g��[��_�1���V�=3¦�;�Jcr�m>��6��F�ñO|��oŁ>����U�٫J���m��k���:N�0Ʉ�q�Vm�E&�,�,x*�1��Et��5L��������Rq��U�x�'���f��E�W�o�M�s�2����<�sy[]�U�vH�#�dj��0�z��qDr�����9��ؖ���z��t�~L���sT��/�����K�ڕҷcwK��m��]0�O��+~�G���[�xsK�-�4�ukq�7��Gѩ*��_��V�9ˍ*m�y�?ޏ���[�4�I�� L�*kX�o�躇-�[]��c�=�킻I=�U�	�~�V��;8��VC��L�sg}�Zm)y��)����wd/5+f�&8r�}�U�
�t~�N�<7֢[���t���w��'��w�$�,n���f'ԓY��N�iG�Q�z橂(9*حmL�wpH�3��
������Y�m���\1D�Б�C�*����	��&�X2Ǥ��si�w�c���t
�Vn/]��鱩���i��8nP�a�֡�d�Ϩm��t�9
1�����=I�������z����Z>cݞ��r�x����i:�d�q"�C�u[���i\ۮ����;Y��̸�ֹ[�%��ЦM��75�:��-ť�x���b�b'��)�ֶ�k�X��i��<7�7~��M]��'���}�Υ�h��X�ь���C��^�Z%��Q@�
O��ܥ7d�Z�p(08��[�s��;�VipN��Px�����ڒ��4P�2+��<�~�*W��c���܉��Z���;R�&F@�Wm�RZ��-��.$�x^�m4�*[9����%F���<r�S[[C
�a���k6՗SZv��M�o�9c1��o�k.8���2B��UB�V{�fӖ��ds� �[���O
>�ҭ�k��Jň�$��' �v�SX�	K���r*�U�:���T��8������II³���{E�Aʟ/�A3�ϳ9�Z���\1��^�Er�k��i�umPF�|������9�/
�K�]ݪA:n�����J����q�i��}��L�[�6r�C&Q�G�z����_[%��	��}E'�}����(�r�4eʜu5,�.ʼXŒ1�����mn���Mj��n�� ܉�nyМ�u;ln��v^^XO���nW�7�r�f,o�-����ʤw��z��\e��h�b�UǠ��2I,�nЇ�����h�,r�WX�o�]��I'�Z���?!��VekMC	w�xܣ������.#t`s�ݫ8�}�䶷��;�t�N���]/�6=���=�];j�M�K�K���C#s���o��f�&]��v��-�[p��GpkGE��{yd8�/�Ҹ=�Q�mܫ݋f�ڦ��wnm.D���+���|qi
"�D�5��
�W~&�۩5%��.5X�7�X��RAڅ��<W�oA��]X��#��(#�b)W��[H(O�I:�B6h�y5^�q$����+ȣK�6��V%�Z�Y��̀|�~	�Zx��螺%(��Y#꒯�����{�b�]�������29��X�CnL�%�Py�rF��O&$���Ч���@�
�N��>)�������F�%�]A���]��
��vf&�~��Z�lUd�³��*5��մ��G�y׆'���Y�N�GB���%��%P̪s�O#ک�0���0�@��}*k�IY=B���>t�܄ž����m��a�5t�$50���P�oM�dg�����Ȉw�7HG~��8��Ɋ_��hHڕ�z}��flK�r�Z�/�+e��m.�	�O��%}�k��U�sq����(߱���zO�BK�=վ�T"�#�Z�<*.�}nm1o>��vϵYr�2�zpO?Z�VT���s
��i�e�
ȒD����6(��#����&�x���۹���4-5K�$���^��XZ���:�I�' 
Q���D'ͧB�ڮg�<�"���[���fb3�]6��v�ؙ#���*3��3J�[�.e�edb�zhJWwc����&�ܰ�a#b�
JVM��ث��>�p��SN��M|"�Y���Ki�2���{�[6�%���Xp����E�����&Cz�J��Gꊺ-%Ԩ�&���1[�������*�	��MEk��W�x��'���a��yH=�8�R��������"w�?�6��Y��/��ֻ�	;|��0���{�)$"�A��s��c$dFI��MFM��&�l�m��Ǘ���t��ׅ���D�KQ�.��[��E�;q]-���!o.nc"#^�iN\�]n8�{��<��'����sZE���"�#\nrOJ¤�{'vF���y��8tQ����B.�33�9�kI�T	��44���#]BymD�,rnʓZ���">ͪǕ<n5�Rj�"]B���ݯb��(
�p�O^)5�wsm�jSH��L}+�/z�qvV��25X��O�l6dm���
�D�����z���h���!�����'Ҥ����eW]è�.�����o5*�#	>�2�����X��8 ��Z���B̥�g�Ld���ȉJۚz�w����8��;���DZt��h�.\���؈��ޘM�J�cY�n?�OS�Z�!W��'�qNP��NĴ��X����<�5K�9����* 
��>��u�\tg*��x?X��G���K�ga���
U��v:et+�;˝|a#���[�G�U+���i��K$��
�P;giǧa�ᕛ�jRJ�m#Yx-�Mgr��·���c���%��6��$�!�i�QY���T\m-ve[�����3��^�X��a����E��I��V]Ψ�-u!e��b��X0�b�э2�e��&�IW����k�rinr�Z���Zyڼ6�hH^f���PW'��x���¶���C#�ρ�e�#������+
����m��Aqm"�r1�kBH�eFX"kI�~e�?㩪�n���(��Y%���u����������kln��A �(�}s]E�kr�h�h���k�:f��ee J\TFЌ��&=��9����j�3�ZT#��O�A��K}�]jsA>�zd��mIa���5���}%r�3-�ϝ+K,��W|��f�;K{]=Z{K�ncBY;���\��#e����~(��Iu�
���JNO��R�|]����ߘ��P�ac��'���N�ۂKx�L��S>o�����t�ke�l	���ҽ2-&�Vҡi`Xݏ��	����Q���+�+��f��v�(��X�
o�ñ��H���;�f�M��������.RW���'n��}�����m'���e�z}r�rmg"\ٵ̦#�X�q]0QO�r��e���Zx�(l�������S����wMgO�\��˺7 ���k�Td;~��6ߠ����vzn��;Ghe�ep:�t��%�,�jZ��N���˴E�A�=�+�Xg(ݻ�=��^�&�.��+��˻�1h�N�}G�k�ӵ�:�|ˇ�)�O�2�UEr�-j�cQ����5�J��F��GsnrC�Ĺ��^*�4Mn�\�n����oG�`9�5r��z�bv�c�]>I�Rb;5�F��9�y�$����űW�J�d��?+�u��B����c���ӯnt�6��39��PU�>V?�Z�5MiƯqc�X�j���0I�g?�S���A�u��������6�ka�G�]�Z!�o��+��=���[X[��v	������u�*O�FM;.�O꺘h��l�	��O$��>����Iw�Q�A�q\p^ͷ'�)=�i��{��ڭ֚�H&
W�f�}�Mw�JrX&w7~;
�M�4�j����i��;i���>a���{U��4v��yfe�J�oU�zSsmY
-=�x`MNyl�G1ؙ��T�t�g���(��	���J�;���Ŗ�Y�!\����ǁ�-w���(
"�r?J�MT���D��5����<�Y�ﲐ��֦�2�M��w\��4M�+$���9�iJ�
*=>(�-�	��z�k�8.<2�mè�)V�]i�g���Tb��nQ�߅u5���<�@a��	�{���k{��J�Ԍ��~������q�Ǧ��$����O����h1��Ug�L]

�攀�.M�u���5�r|��j�=��DR�8�31�h*E�t�G�A؛QzWE5��K����U�	��-��H�����X�rɢ��5�M?�Vy�p,��U�
X����7�e,�P�	��ՅV�.U��4�t�.�VR�ӭ���<+���W�n%/����#{��g+lTw�\��>��]���ڵ�h��8ǥM���Z�@�-Ũ���'��0}*���}>e�"�o��C�\
\���*��o��E�*��~��]w��Qo{�؞�;'��k3}��N;סJ^�'�n�y+;��-,'�d}���9�8�����S�e��I�H����z�`�Ga
N�>��sޥ�@%��K|�q\N�~��#j��\?��ǰ�z1;X�mN�\k���CyNca���Y��X�c�k�=z�6�C�gEje+���VFO��!�E$W��u�;�Z$a%��0��G4�[א��枓���]ܵ�n�)X�'�;U�����U�z��F�h��g�'#�,x��v:F��+u\���W�5���5�y�J�\�S�MZ����`��s�t���!=ea�0ɻ�ʩ|Њ��޸�ا�ȕ��������^]b�ak)Z=���)OD��>�c�]3�1G֞��It��y��X�a�rq[J��эN�Ȇ�K����g�C����Ϧ]��*�X�ْ��(���׊��g�/����
E�io�[`��]�����gkh�����#'�T��)�As�y����Q��U�;T���6;Ns��Q���,���c&�"f)�����qo��'9�s�>Jv���L�>��}z:�AYZ��n5	�Xe1�y�s^��
��<ɾZ���ID�Z`T.�M�Z��ڦ�$K�.3��V�`��!{��c�M��iq�+F�� �^(��Օ��i	7166��Y{4��Ѥ妆�����,�[��n����Y���?�ֻv�p�H��=W��WD�֛��u2 ����[����f�-�V��rq��XɾU�-+;�-iZ���/O�(8	���W��3��
ʿ)����T�ړӡ3�K�{��2��毢���!;���W��q$2�&�U\2��89'�~$%2��nyI�z��9[x*�Rx�m�M����w7�n�mNJІ�9�1/n�=T�Qm�>�v�a�~�m���8��2q�޲%�፶�8��S�E[���Ҥj^[�!?z��{��Қ>��mMh�܈��s=��:,-�2��W��l�"
;IJXkf9�g�Fs��Q��PnGW2KCC�$��֟Qۥ��M���K?�k�+a/�q<�6���͟�^v���r�ek�L���Sm�P,�⨴w֬&(�z����>���C赧)W�K��۱�?��UIY2�gy����}��(���5v�J��]���EE0�+g��3������Wѝ4���	�9����l䑆�d���Rx�qk"�G5����}�����ƽ�J0����5���C�ԵI|I�{٭c��e��2���Oν��X�A��7ڷbE#�=Ej��gb*J����3�$�SU�M�l��r8�E}>�"]�Q[P�fb���?�e�.m�I�c�[\j)��I'��i>��<!q<q���8�u>�PLMXͲm)�E*���&��m��RZY�%i!t��Aq!���\|��;O�I�M
��-�m���vL�����j�q�s�^y��,J�`�m�đ{K�g�s��Y:f��'�A�x��Lԑ�lE�;��ٮ�g���E=��m8�~!�UJ�x9z�u��6��55$���SE�F}JM��u|��ȃ؜���>l���Э�Z���֬\�bm�6�y���k�.�j�(%�;.>ՙ}^g�ڢ�ܥ�l֖��n#�N���I|�P7��MVݒ�JN��&�,�%��œ��c���x�v��P�=떼�D]х%�o�X�R���f'�+�k����n1���V �����c"�|���W'�a8�]�1a����ž_$�En�G�^	o�d�UF9o��d�sI_e����5��j[�e��$���������y�kc��ֶ�R0V���2^f�ztzu��m�$���c���2kH�^?;%S���}+�rr����R��-��-��:��rHrǧj��^�z�ْ��4�p8?ӖN:��M2
Zhe֯�ʡ`I��}T��r�����^�Ҵļ�,�g�J��1W8��Xu{HZ&i#@~dF�}�S��q��J��Q��)K����J��0
�q[�_ЫX�KM�*��#ȜF�����M;��2�Tַ���W%ub���ĶgÑEf$�WWF��G�=?
���+QwA,��c�PkΕ9C����v{1�~�m4�Y��'��d��͕#�z~u{O�;�����MI�$ѪV{Yt-kK���r�w8=�����ꛒ���x�]������E�z�n�����X��^]>�Z�w���̎�}�&c#�#�Rr=+��
wdO��m���\c�un��s[�uhu�z�*�b?!��k~m,c-~FU��0��	�ڻ/��G9ތp���q�	Y�F��M�c��(�ŭ�f�U+�h��s��^j:��E[���}׉��+rk.[���i��M�y3�J��-�>.��{�}S<��؍%��q�y���o�Ʈ�[�r]2��1�v����Kgv�W�^�A4d��E]�C�M/�ͽt:�"��o��[{d�Q���VP����ϧjd�4V1�2�p�F��ZRIi�R���$�&�;��m�
���ڻ+=sS�u8 �T�(S�><�s��=j�F)'���N2I=1��CX���Sl��n��O\�m�zTs���Mc�d�Q����)ү���&�v���tI�5O"x�q�*��Ҷ�����b��~-�2A���[���WFdZM�����"�n)��I��q5���4�r�:�
�e���Ҕ�$��+�͠Ϥ_h�@�<g�2cx���'��溛E����$�9�Vx��H"�:m��R���F�����{3@�J�YF��V����x!E���p���t5��G$��c���3�7rD��#�\���E.�yn��݉��hT~�_C[�9;�4�ϋ�<If���0GTȇ��8������WN���K���r�S��0���į3GY�ƿ�x��٭��9kc2`H�{ջ�h��t��[=b�L##p �Y���i��&� ���D�x��&X�Pd1���kV[I�-�+5}J	��y�����v�d7ur����qo5�_�I ϔwN­��-������.���K�yJ1��cJ��㼯�.���S�~��:��W�Ko(�p}k�:xs_��X����B[�κ�F�2������dj:/�)�V(��c>��{I4�~[�t�9��V�N�p�z>…�w���|#m�[)n#���F*PtSY�@t;ۋMD1>@JnIc�vT^�~cvkțL(�7����@ڮ�3Wm��r�k*w��sN��O�e�I^(���^ԭ�ǖ���0y���46���Ƴ�T�mu1�_;�M���c�^���(���H<���7�5�M���mv�}�k�~!��A��K%�ʝJT�M�ڄw�ƚK,{DȜ���T����k���vZ]��f{���#I�W�c5�y��������_��ik�lr�����=c�sYǩ� �c�J�*��$�����cTx[�?�^����o�r�E�:�ME�@�:�Evp|?�{s,��9�3��\5j���v:aK�tK�n�AҴ�2Kw
�G�n�k��<G��+S�-��e3�A)�� �}�sa��Tzo�*�\m�B���M��V��\"H�Rs�֣���B,�x��������b��Q�*�F�ܝ��x�6�hLo�T-&�H�fĬ�Hx��EqA���R����Ţ]������YAܾ��ұ��D��w�Q8�3v�S��^"�į�M���qPK��i1i�,��h�W��x*}=Eua��ʴ�0�w�{F�h�5������q=�]�E�(�C=��[�yw�w��I�R{�G�ؑ�u��5�\�Y�M�/w�<��ݓ#�'B�,A�b2I;�ꬤ�������D۾��V�����l��M�ټ���E�F{U��Cz�k)��L����$:��Zu��&!R힝�g�
���Bёr��>`�S��]��s'�����u����,%�/R�6���[��F�yk<�����c9��ZBQr�TmcX��t�d�L�XwT:D�ʢ6.�$
��*�+߰�g~Ƌﷇ��
F��8�2��=A �*�&����ҜZ�vW���7���3*0�����OX�$t��/g5���i-�<���z�܆X�|��]\���os�I�Hب]̠zT�}mr�䐛D��zz��R��YJNƖ�ڤ^�����)�ַ���_A����k��9|F�U��X�E[�q؉twԧ��9�e��&v�}*�x#V���>�=�J�-een��J�]�:]����uc��������Eu T6�i݌�EZ�T�;8�r���GC�����2��lrOVRY\\udv[�����U���#��RN��^�V��f ��ŀ�،�Wu���(-��V6S��I9榴yf��l�;ųK�
a�X�!B�8����]x�֎��b7c�c_�h�����ۣ5��-��a�d�	Q<�g��[𥎏�=��r�˔� ��TmweN)3"��;�~�bWy2��0zP�ҋi�&�{�+�
]z��mu+�Weyw���5�s�������,B�$���F7�4�oc�iؽo�6&ӊ�����/�Ǩ�'��zΩiwim�N�1Q���\��8�gD)J*�ۡ�y2��G��%Ozے�,$e:�ވSkWԙI'�f�bn������h��I�-�,r��n��(�I_���W�7��'�OQS̑��F�����
]��Fî���-����gq��+e�Bz�}kT�ȹIr�:�Hm|�nYf�-Ki��&ӭ�	{y�����9(G�4�&���Wb����ldy#��8�\����Z;G4,��c�|�Q���zO�~���x���� n�yfE}}�t].��M��̸/��Q\�5�ȗ'ad�[�2�m�A%�"Lz�
=��[�Cn��f���W���ܿ
彨KԌ�ȿ4jH<Vƫ���� �id��En�Y��r*	�u��o��#?ő>�ol۷��E�8��\�iy�Kf���fP:��z���Rww4$��ʵy%
j�L!��5<�O��#q�qх)�m�rE�I�c�O�q[�PǦB��>229��4��e'ۮ���u7E��X�"0�j�4K϶�%�l�	,�+\5'Y{G�E&ҿ�F�Xb�3��|1a;��t��Z�,�d��l���Ҕ+�J��ڰ�g�y�y���vC}�k+F�w��+���ƒ�kk��d�8�亿`�ŗ�d��`�K�Ոu�t�md�7�$ð�z������˦篼���`�Z#4�aS����˨�N]Uvǹ$Q��^��mө��{�q�[YuM]��
���?ϋK������+��v[#nml�3�y�>i��]�(,es����P�j+ssN�U�$�e�j�ux#�U䷎f^">_���7��x��v�B�
��P}�dG�������-�O�[�@�u*�~l��W�N7��Vrl��u0��贰���p�K=�Xڬ��Tp1ֹgP+�2��w����a4L��ޘ���E���,��`��n7��ZWrh�6���d��s�2s�C�e$���H�Jc~=�9I�/2*_掞��N�4���,��aW����_�y����5X^�D'X�?#��5�����S�y����ǧ�e�E��H�\�݄LP��7��;��|B�#��g���������m�$�^º��Z���O�l�x6�N��s@�P34`�}*��vV6�-ń��.Ve�7}k��T�ʺ
og��Qx�����m1+!�$k<�K�.F�<�Y�'��T�ɯqB���+j�7mb�y�a�1�����Uӭ�^�&������5Q�q�waV�O��b�f�m��]U��{�泞Ab��:�
Kve{���a]�_�6��O�UU0J����g�jOx�����|��sT�I��5Qб6��X�����L�J����ֿ����yg�<��B�rG��\҂�}��)6�x�zۈkh�I����V��4�?ڗ:d�a�ʰ�UA��ϨJ��7���B�;�fY%�nY�y���'��-��6�-g!K�<��5��2ӠN�*�#��͔wZ�+r��<灚��ז�>$���vZ�v �2�Z�k��]�t�[��(|7B��ۇA�,�6�CH�^I�⭈Wq�
�GEs��v�/۠����ׇ��{t�0��`�<�"���3�Mt.����+�����9$`r���{�t�KK�'e���p+�w�^�R�!�it���]�`�,G8'��i�}w�$��'r�k�ֱM��r7+\��Z��ye�7�Q�b�jPyV5�Yԍ�W�{z­Ki��S����?�$��OFzֈ4"8�T.3��
�	�\�q��9mGP��Z��T70)
��rR
k菧��]��M�Ng��C��Z�g�-.at��Cy�:��{}I���sW���ν��Ҳ��-L�c�KY��ܮ��8�5�Fk����W^!�����\0�d��8��k��@��xv�lV���F�����Òޝ�h������J�1y�4oqV/�*�Ѽ�C�\���hsЏL�J�A7���g}]� ����5�w��PVN�}A�S�v��-���sY��,�b��^��N*�
Q[���m��Mh�)�E��IUs��xw��>�wK��6{��jŇ��'�eRm+E^۱7oСc��u=o�ڕ��v���W-�����-
�R��5K�cǔ$���8���Zѯ�tr����_q�Y�QKp�B�D�Ϟ�W.����k<�^��-��ݪm�?����j����B��e�:���߆�:����|�-��p���&����V����$/��=�pSs��kN��ݽ�#�|"����}�+�҄���s����Rk-[o�J^C���>`Gu����|�ݎƱI+2���tŴ�x-bz��5�x'E��5^s�Fd,ܓ��[��?��艡�z��D�_��9�j��`�<Mu���p��bƌMH�rKW="�&��A/�,`���h�����V6���O���!Lݽǥpb���P|�̃��"Ɨqe�#]��e��2�
���x�����+����A����[,D�qW}Y
_g��\[[�g��Y�g���8��EX��^��fӯY#�=�s�ӧ5�V�l��OB��k�|�t����9-�סhZ�d�Yj�����+��f��IS_�e�m;���#�vv~�!�RGx&��lj�o����8n�y��{�R����l��gq��'X����"�A�?�8�we��+.V0z�i�;\I�����63��έU�!={qH��"ͩZ$g-1����\AS���ߵ�3oRG_Z�Q����1��S�1�zٷ�K;�e���!�kH��=*�?��죒�d���~5�h�<0�m-��drb�}��y8����tR�e������5����z>r�b��ս���^0�]J��N���|{����Y)7��~�ey�x��$Y�W�7=pk��t��59��y�hG2!�=�vմ��-Zz��wO]�#�KS��I<�zQ[:V�.�$���*��49�ZW�FJv#Ž��٬��g*ˊ����%����Xt�8Tv���7���M6��Q���X�kS�aڢ�N�u/G�Ȱ������kJ�c'eu{�EX��k��{�Ts�Uv'W�͸�Ѵ`�L�S^s�I���zp�`�dD�g��5	�L��#KH?x�,�A)rk��Fh�#l�%R�e�+7�H�e�̑#�Д�t�sǥg��k�l�:/5�’zU� �2�����"����*�N�t���\�<nZHt��R]�:t��J(�s�|��	��Z�tE]Y"�T��ҧ�A]M���ԥm;P[�>�r�p��Tt{�).�N2��곫������=EQ���u�oN��G�'�f&��E��&�<����bd��;�Ʋ��ee�t?�T4kH����e��m�;������
j�9{�h���œ���e�*6�I�I����O�FSWE����ݘ���"�YT�A���(Tv`�sI��dkAmssj�@�i��M��Bs)����K-:�����='P�Ӱ���Ȍ����u���p{?�Y�q�i�N�Le�Ż��>k{�.0���5�KW�;�f�����w=�UJ3����Z��0J\�S����]Ɲ&�7��[?�[�rm��w`���RZ�չ{z$�-4�d��Y�=T�G�W��[��7I$�����y�j�RR�{�#�h��v���m!�d�=�P�s����@\bkK�8vd9�j����.�,Rմ�
V7UK�#;�*{�WZ ��J�i�f$#�[y>hϮ=3�Z��f�5���S��PƟ��k#�H��M�������J���+(.j��)�7�N��{�o��/,�X���8�4�eέ�=����|�$}�Eub�rR|�YY᩹T�m&�[�T�[���m�Z=�5��k��^	9ֻ�-��Vv��Mq�b��(�p�`~�����a0s�:W�^�qIic�poR��Bc�5���z�������ǰ'p#����Ms�E%g�pV����61 �ԕ��!VE<���w^~�n�L�<�����c$���B�\]L�t[{�+V�����-�d�s�֦0i�=��Fn�/�D%D�	�O#�i^�\��ZK{��<~_�\3��(�g�_i������׀��5�`-ͻ��~b�*xӜ�S)�+7���mmr3p�\K7'�k�����u��m�[��p�zB��=������3�w}�G%�9�MR���o��F᜜n9$����{�}��nc*X�r�=kU���J�~�S�_C��2k�%�z@����-�έqy�Kk��V2[�������K�6�͟����� �0U�
e�=��ƥtM�K��x}+4��S[��=U�����b��W�֪ǭ�ϥIj�Z|���DǸ�
�k��m|�2������ht?��U�ϥR�Y��eg�@�oh�.��EGͲ������t���Y�H��z�|^�ii�p.�d��_�:v�ќ曦�[؍��uZ�}ޑhb���v%F?:�S�\��1n��5�!�KH9�GN՗��oo{\�c��v�s�8����Rzy��oF���Μ��8�%����|�7�1���c49�/!�l��xˌ`3~B����]��UJ-�l��s�<#��]x����r��I���K	
��)Fa�G�뺥X҆��B/s.���˶c1<��MW�5ۣ�0�F+�����J�e�˪��2噏#�T��ב��9�OOC�%cQu��e"�$�\�T���]���;��+r���
rSwN���:mf,p	�Q94�)��x�f�xPc-���J�÷m�ı���sF�'�u4�RK�,��J����{/1�X�:�������?��}:�i#u��=03�T�ө2��fb�Y�p-ԕ㞔��ݚK�3��}k[�i�[lP�ؼg��ڛi��quPA$�������$��;�mυ�X�M�L��L�G֩����]:�kx��]����ӥf���&�Z���g���Cb��Ĩ`Z�s�<�����%�;Oj�$(|��(���ZW��3ns�޹%|�+���ߜȊx�h�Tڭ��X@<���z���zUsID�%���Cl�OƩj����Ka4�d��_s�\4h�MIj�\��E�J�����M¸.T�'=Mj�x�������$��k���v9!-w׹s&���o<F�9X��g8x���ž�4�*M)��—bH-�>���9��;��;jZ�3�t� �4۝����e��l��լ���!$�9��c֐��^��gk�(��A�����d�����]ύ�m�i���X;�	y#
�x��U=���:�1��[�o��}��+O&8��� ̘��/S�k��C�
��$G��.=��E���tT�3�Lִ�#ث�v(7~�e�W]�jz?��R��a�����<�����-��b�v2�Z��ݡ�k�P����m&��Ȣ33E��6?.�oJ�BQ�]/��ӎ�O������\�w
��u�>^B{���z�#���:��o5==b�Kc�$a����S��Ad�|�G"g<(VzW�^�}�����K�{1�^q<��巚�Yq�'���L�Z-�$C�4�f�t��}w+E,����3�GQX�%Ԭ��RɧH�E�6w���e�%n�Umuo�CLעҬ�d���/�7��9/��y�c�1�'��+��f<��E�5�6����хa;x�ӑ�ުB���.�|�}�V��(�N��V���nĎ3��Է�.��&K��D2�
`�#�5��b��b��2#2��_N'�W��n�# ^?
�n/�Df���\~�����~W�~�MH�w\L�q�@�~��'HЕ��{�{V55Zi�o	�5G]�����澴�X�%�	�$�?6+��YEk�X�qZZ�ځȗ��p؅Z\��y�:�R�Ɔ��_B��{Y⻞8�ߪ�ƪ�.����Oaqc3�b���}kZ�{-�4ߝ�x/_ѭt������bR�B8q�0}�7[�u������$�c�����x�)���NWVo��k������]���}ǟåY��}?��[^X�7bc�Tg<q��Wpn;��ͻ�6!���en�Uд�-�sAv�N>a��kW��o%�پZ[�t�p#>��۵/g��-n뮝Q�[���d��!�� }��0.��w�=j���Mj�tM>�c�8ēM�L}+Tս��R���q�>�eqg��i���3�y9��,g'��Ϩ��)�J�$<ңWޗ6�7|�FV����X�4zd\I+���ZW�J���K�[�U˂� �V�^�7��=Mc�鹟�[�n�\8��@A��O�oj�g�|�$��P�c|$��Ϸ�N�����Q��E�,�nړ���d���m��2�h�ڤzU�G}q,	��#��x�Z�uqv�^��%�����u�y��(�tbe*}}费��뙵�Z(+�aKU�2�^�)7�3-ah��}Z��+Wr�9\�ؤ���ŵ�:��q�l_9%�>ƺ!��q��-�ݦ����C��F�L��x��j�o{qkor�G;)C��Ǩ?OʈT�V��M$ji�]_R�����7>v@�?�A�� 
T�sw����4U��Mkrd�o.�=u!��-�Ԓ�&|����%�ʬ (�	��BJU���It���[�T��(h��u�m"��X�,o�q /�D�t��kJ������=�R4��i	/��'�sZu�T7����R{�%7z�J[�£���\���/��er&�'���hϙ�/�H"���4�+�Ì��Er�6t��k�#0��!
o�
�$�ǰ0�ץy���|�[�ښ7qCI4�|�� �{
��V}'U{�6�%�X��W�t�ֹ�ѵIZ���{�Y�3����|���O���Ć�J`L�#�:��0o��=�1�ݹ�S���$�����69M޾��i�<��]h��}�o���T0F;St�*8n�":���5m?�R�(��S��
���j��'���5��AY�[\���u5�̓�(d�A��oJ�����O�˫*a��*٭i�G�[E0qMs�?�ArJmnwg���L�6���#��Q!3S�ZV��~HW���כ�����G�
���?�؎Xz����C8�m�!l��G)�J�{yb��c��ԣ�ѯo4�l$�'��:X�i$v_0��0
f�N�]KM����g��2��O�Ai�y�*�
>nm@҇�q�}�T�^B��	@H�kxkƦ�`yR�?�������Jj����k��W�7��D�be���¹�?S��	�2H�(-���nhk����!����@f�ce�-����ns)
��OJ�Tێ�����,-�Z8��V]�%�d;ׂ�d�P�~�T;]�zj,k!���	��z{�7��^[�ޅN�u\#�+�t�ۧR��`�/nl�[�r�D�1ӽN5������!�TF����Ni`#>Vɓ���֩i�W2�r� s�a�EZ���Bm��m���RCw���3l�j$
��C���p���MhL���GyT�'握�֊�����`�����������4�ij�ϙF�v������Lѯ,G�~W�˘r��k�QK�Z>��7$����:׉-���<��ǸP;WM���$�M������@pYkL-4���T����!�m��e�dL�V�0�
K,b�QEn�c���3�i��8n�~�N�{}䗐]h�5����t��x�X��dxB^E�.�&3��t�����q�f�`�[N�N�qo���b�D)ߴ����&�u����i<����Xѝ(��9)�Θ�Kt
�>_Rk���}V	�@,	�[Ў���b�j��*7�.�7�6>)ե6�$����Z�Kq�\�"�Y�n��ONs�hj����6�kN�H��{��Hi�1^�}~�/�5*mZ�-"@�m}�=�a��,=?yZs�ڴ��e�ɻ�����Py���[=֕�G�%[{�≺䮤�2�*.?*k����im��#�p��D���*��匢���R�.mvk�����3�-�Tec�+���u���]ơ�I�Ƀ�^��5k{���"��{o�5��jP�;��N:�+��鶞[������qZI�[���ɧ�̂��Bl���;���k!�5�e�j"�����s��SH�W<����Ki��,�C!=�j&���U��b+-2�U3t,��sKo��J�9o�󺹜�N%B=_Qn4x���\���xg�R�Z���K��
��F�+jr��w��iȷ�t^2��P�L�ծ���u�mc^z�u�hizׂ.tƲ�sn1��sU�R*�6���4��qcc�k����Ds�w�s���5^7e��*�]�xk�ȒVӨ���k;�ݹA��T2�${�Y$��e%���q�?M��9}Jn�Q�c�˟z�4��4����h,�.��H��+m�|��kٵ
O�l�݌g��k��ۮ�T�^��+k{�/L�:���5��Z��,�h��`��9��#�v�.����7)���S\�3o��4�uR�(�v����K��1َ�eY���&�U��/YH�dUp�م�$��w��$���5��^�M7�v)����\ci9���-mp�#P�qps"�=@�S�G�l�B����Ai,�%�����Q�ʟSg�6~���Z
;�61(�xu4fHa��m��)A]3n�D7Ju�����n�HS�EKE"���u�Ɓ��O�L!N"�5-
Е�x�Y6����,$�v&�6��C}��ZBQ����o�F���إ�2p�}�7�"���Ic�Xm�F�c�4�Mw]��G�fs�<%�q�Bŷ�0ME>�-Ř�yv⣦}iE�U�D�Lmd]���7�]���L��0����)�u���h�Q.4���Ό���}�[oK�^�s�<�9S�-��zoSŚE��u�9�X;d���'$cM$�n�A��+F��W�n\�vfVL̸�&��n�\f�+���2�%̇�@W�nx]|�&�HN�$�*z���n��某���+	G�sQN-�DE�#8�����aZ|�v%��./��.�3`0*{8�.��u>�M=Y�V���*�q��A�ij���ol����i���J7�fѕ�V�h��F�$e��Td�+T��g�X��>���^�9�z|2]\������vz���9�y�֭��i?����_¸�TUD��f9EIjl����퍄�c1DC[�#��~}>;�˥4�������_�}{V?Ê���*�����:K�k�\�8>b0(r3�{�T��?��w�k�ˉܼ3�v��'�	��J�8�yi�Te׷B���t-cJ��5�:{y�[Ո���4���[i�U���\XG�՟����%f��2���<�Fo5��ZB��T����
V[���|yw8x�=0iGbR^��׍b�ѭ�WJ6�Q���$�_~�դ<o�i��2�n�p��#o�k���\���#
�ԋ�[��y.�s��7_���N��C�mѽ����=�SH��R���I�-l-��`Aާ���Emȗ6d�����W%�o�mbsn'H�ۼwȫ�x>�����Y�22��#�WS���'w���h��e�.�^v�h�x�w6w�	kEIԩϖm�⹪ZK��j�٘]����mE�r>�?��}+^�h��E�$�L����v�M=�㦟q�u�Z[���%�$a��}j��I<��$��S�tR���Y��qe�<)5��%�K:[�2[�A��J��k�[�Lc�A���1�WZ	�2�%�k���5��Y�b�X�L*0��*�9�[�ב��'�~���G�(�N4Ӷ���T�^��y~&Z�Z���,'��`<��Y=����-���-�S,���i
,���}Lج�P3�\�m��)����<�~�����h���z�kE�r_y��f��xaծ��pX9$z
��<,�y�+�=��R@y���:��׹��s\iz��K�)�#��v�"��|/�Kf�yG�!���NQIyjR�:/K�i�K>x��Y�U?�� ��V�
0Cs�^����"��}qX�-J�h�#E��;[�u��n�Z�qn�X�Z���7N�,R�Z�������+:Xi:���\�[K�΢J�D��m�[�+��y���Z�����x�iVI����WM�\���/H�R-cM�ƴ����\9�+؃\��4�<A��Yj�/%&U�Rs�}��kƔ��Z)�z�<)>�hF�����E�Mu��^�Yf�#���s#r��pX�nJ�2����~���iZ�-�v[g*C�_��f�\��4�O�ue����'�浄eZ_
�7�v�bϋ�{�u��t�����|�>�r�=B��=�5��rg��V�QWo[�h��Fp��Q}���p�E�eB}1V��>��X�A"�nK&�ְ���h��jo�����
����(���=N�V��Hg��[��'-!��;��+I�]�m�oP��r�R	�d2=�X�n��o�;ՙ���]t����i��7��u���Ld���#��vg��=Z�7�,���O6�%$�?njT��h�z2ھ�S�|!��붑O,	kg�N�}���JQ��w�VN����ݘ���m���j;-��y���W���6��=�ʛ���>l�d����*�X�ޞޣ(��O��X��bH�W�gW�xv�I�Pn�������e�i^M�Ɯ���
朖�Q}<͘&�PD��q-�+�A��N+Ƞ�9�N���A�~�Io���,�FcŹ\�$zՋm�M{��rt䦷:a8Y�(x�X]c_����yw(c����c����PRF�<��׳��j�&qM:n����f�\��04�	5���>Մs� v9�u�����cX˙6�����2�#�����#��E�gia���p�����j7��]�����V�G&K���'�H�Z"�Fq�܉oJ`��9�E��n�L	�Q!3���ZU��o'_?`H�r��ך��F�L�J�4��c�;ҧ��"L�a�z-Vw���[ɒ�ٸ��k�.�pH�5�і��4r�B��pr��M6I-�Ġ���ubֽ�j�Q�A)VʀyU�,cE�:�W����<eo�
؜�Wn$�g�U5��Rܹ_,0�ޕ�j;���t�h<�G�U�L�}����-4�r�v�v�����<	����J,�|��5��
�%�w V@�*����ؤ���ք�(�V+�}}�>y
]�ͩO9�=�"�w��R���Ƴ��,��6�S�}j����I��{-d����N]v+O���kl#��p?/QHu�2\Ib��pw��%���o
��N\���-����y�xl�5���L��v/�ޝ����"(���9I���S-����e����c����Ż��"6�taX�^�}�I�ȞekE��v1�y�j�
��T9L�iT�wB�yn��Zo�,�&�qa�H!���0��hƝq��{�LD���Z��rM)�S
���&�ŵ��Zu���\���Z��j��^�gt7��8ݞ���۔��^�6M[i#��g��Q�ȕdp�ⱑ��I�����09�5�h��2�mZ+Hg��!�!�랝eԬ�r�tS�DZ�#RU'ʶGeevR�F��E�����}��4H��R��H��GLw�Es;�؊Ҷ�����rX�m*�n�9��-2��[���c��O�z
(��.�Q�n��j>���(�$18�@�;�=����gI��<�h��=q\u���km��NI5�!�'��3+�qo 
�\�V��kd�0���:����;W�'x��m;]4wZRj�K=��.�s�?ι�kE��c�V�.��hp���"�-;���,%9�޴��g$�c��c�q��)�kn�MvM��?t�ʞ›{}��
��؊O���^�����cMٻ��4��0�3�k{#��H;j�ڑ�(\2�޹�I��r����fTjR	N���M��<�l�=��v���]Z��omn��ȇ4؎������;�ڈ�sR�Wr����}�$�;�'� d"<q�ڹ�vv��eB�2	��M���{��Ee����H�B�A�v�Si:V�
\��r�@�>��6�l�+����o��7���w:u��B�Z8��U=J��Hm_̄���5��fr��3V�z��H�K�p1�j����/X�wz����X��c��i�i�,���O�\���Z����l�8	��K凌����ի�]��o��E伮	a�-�]屛�ٜ���.���Sd�w	��'R���m��h��X�(i�c�U
�T~Y�r{沾��t�� �)�"{�����z��])�D��p+6
"�YFdYec�MtW>(�W�,4�b�i�p�J���N�~G�^i��L����d��8�˝*��.���[��*+���֌�ݡK�Vf���]���H�ga�A�VF��	�k'�U�t@�H�ְ�v�ʵ�\l�����@�NhK��=�+XK��-v"��Mn�ܱZ�a,GO�&9�X���Ӡ�u7���H|�љ=TdTQ�Gu0I"1H�.�G��yк���t�ё��[]M�z&�AD�`m� ^�%ew��-��z�V�S<	0?��@�[[�k�ZC*�I¶;�5��]-�MW��b�T��tP9.��W;�D�z8���kN�
,��
:����Ԩ�� s�{�qV/ti4�A�/."���3�Z�OQ~gI����܄U�3��~K���I`x!EumS-o�p~ m�BȍX��F;vYUBŻ��W
Ik���/W!�YT`��I��B�V��	�V	�h��)S�1[VS}�L3��~X���%�qI����k����n�	�Ɋ�&����RwcbL#+�Y�OA]_�4���d���;TU��Q~�]"g��\:���2�V�F��<��YB
RO�*J�2�������N�`��G����Ǝ��8�pGs�4�e�
��dq(����CA���J����+���Kı�M{n�?���Eu�i�W�O�㽲�K�$?2�P=qV��R�2�J��rEy�����!��g]y6+��J�6#1�v�cV�;X4�'H���鸔n��z�	��)F2����W{��K����E*��~��Z��5�-����>���&iw�KY�d�$e��>F�Z�.o`�H"�_*U*�Ie#�x��z	+����Q@O�GQF��i��*�lVś
:[��q���������N�ҥ���M�p'����Z�������}͞����YF�Y��|ž������v����[V�0F�=�IE^�l�'�p[ɬ��x�8%F+���E宝�=�]��ׁ�y �:���XT�ד����K0�_�=q��Һ�ko��g�d�q��7�Z�f�m��U9�����cM�9.�q���Q��}\\\[Đ�1�d>���ŷ�b"䦯� �/�㹶��x�>ƹ
.ML]!����>�rz���^��JO�:O�4��u���E�6�r�S�O���ӵ��2��"tfN���Wh�ʞ��
�����@�׈}2[{��N�?y;
�>ݨZI-�zd�yR��� 4�ݶ�㪛�:]j�^��]J�E��0��ICo�:���5�<0�%͌����"��q��ҳ�ڛ���7}�b���ZT�5��<[�&�2y�=��R\�iVr��Y�;*�,0�տ3�k~�M��,�-�A�S�%�$/&�V�Q[�M�N��bi`�<^N���S�v}Q�*�;/`�]T��L�P2������“^j�I�j�Z��e�U����ש�]{G͢[
V}G����`�V���V`�<+þ�4]VF�����݉m��i���
T~�Jv��s��/�.Ξu�OKY$I͂9� �L���y�Y��46���v�M�4�zm�ٶ-S+j׺����=Ά!��L9�_�IeKخm����$�dt�NO��t��5�����-ń��ܒ<�U*�w��}Y�S·s[�Ax�*œ��N*�լ�3���fsCY�Y��:���ݺP�20zV֩����hRKl��N�	e����
*�9#�op�yQ/�<@�}���V�ܒ��8�㸫����UԤ�eK��lbrAS�@�]V�E�����bx?�M��o��q�SY���
WD�k��]��Wc��U:J0�Zث�y�W{�x�<#(`6;]~��d�tv�fS�E�[�
�5tm슄֩�~+ׄ�[Aj�m�����U�;�W�F�/�����[���o���Z��i
n�F�?A���u;m�r�s4v�o�מA���$�K��溿Sw�vzM߇"����z��,_('�Ұ4-SJ�2�����ߍF2U��oCK����u��i�Ī
2�=��z2we�����`�:W����WVZ��1����R���5�U����L�&�́���I�=�U
8��V�%�ɉ',Nj����T�@8�m���M���tv�܈�<��s���U���M�-���e(�o^�is����n������jF9$��}��Q����$�\�6�U8hﮁ�o3CH������~��T������l��pUG���ڼ���t6���u&{MbI�u�e���w����M�����=�z����,Bܥ�"�|l�K4�D#w!������t_�[�h�W�Ȯ�ϙ�}H��.�-T�������*t��é#��WE���1��j�	[]�OS�#F��Q��^�+]�S�(?{(��w�ʪ�C����@U��C.�JO�jZ�Y����4�2�o��Q&&y�uY�mf�$�`��JI!��<�J���8�kJj�]ٔ�.[v�a�j�##չ�@�[<�}��n��[����� B�1�5-��	��5�?0<RU9�cd��e�:��L:��#��)��|M��{u���D��[Ǩ�����WB����u<�����H!�'96ڳ���ys���ҭ��w$���Z�1Q��k��X��{��R�#r9 J��s<(fN���O�������6q����t�*&3�\j��h1鳺Mu?)�Xsi�N��<��1����],�r���-��'˕eL���fy�yn�0>_�h���d�1��p�ۢn d�	�n�K��Ғ70n1\�Z_�
ܫ�M S2�}�Y���I$r��N)����CsmC;�w�v��7:ڕ��$�b'!�³���FMٙ�sEr2ygw��m�U�����hߪ*S�"��`���0e�d���V�
����9�R3�Q)|D�574W�2J�������K�C6�;���p9����i�)�R����|Y��,����!�\c�����<��}�ҵ�Y=S9.Vex�GX�'�
��"@����Y�Z�RV� �]q�k<RQj]�"ܖ�=VV�t�If
�.9��u��5�t�Vv*�����G�{�T\����;�$�uGM��R�-���=�u�{b�6�$�ME�ČG$����ZV��,@\���+�p�6���R�O,p]���ć���\�d��MΈ%t�v
��IS�E�;���>��I�K���y,c��p�N��t;%�/�<I��cr�t'̕�%f�@�O^����@��xl9�7���g{J¾�ld\��,E�RO\֎������Ү� �r���	Jj�$L��-tl��U�{sp�$�9MǠ��gT���T���$W���VpG_�k��U�]L�Fڒ��A-�m���K����c��e�uG��e�
�Czm��2�S>D�>x�ǵjj�K��Ю#���r�n@zz�I����8�K��eˣ�V������mpTc�A�i�����X�v�Q巡Mi�SY�'�
�ޤ+
��&ia�?�"��W*w2&��$��s�m�S�S1Ē�rp57NV2KMQ#2���s�y�z�������L@����M	��)E�`kS����[M��v��:�̷ֳ�p%�!=���U:��RK��E_~�S��	4S�y=k�״����U����I9�{�}��>��h�O
��'�Cҹ��W�Ԓ�{g�1��*k�|q�H���3o�o�|���%�.s�MK��m�2C/
?x���ݹ0O[т�|2�
„����z;�)i�u~їĚK-��%�|��������P��Y�]�11p�s�PjZ1n��;/���YP��΁碎����
|-��:��/d2��z
���gm����e�r��b𽖟#��#� �R��8�
�����ȇ����Aǚ���7�V�(��ҙ<��)Ŧb�r�m̡7c�)ַS�~�F2W8\g��l.F�
�[�n�A=����"�����<ol�q>!�Z��*���J��}�΅NQW���|S�5�qj�-X����ҝ���	Ul.>��w{WE4�ܩk��om�wF��#��>Ʈ�3F�����=���'n��SW\���r�A6��&«�}��fXj�)�Em,IW m�~��N�M�
I��b��<;?��.�����'�=�?ɬT%.Cgl��9'�P��$��nC��A��x����.|A,�y�fh�p�pE*������ÖHo.�����e!E'�sM
��v'<���h"M�,��G/k�~�&�O;\�~�㚫sua �Z��o�9�'b��]�`��y]���9$z�i��N��s���㏭Tb'�4o��txl�p�p>oέ�i�Ƈik!�M�{�DTW{�/U�g\~�7I���ֈ-�^���HN|�Vto�Rvc��R}>�h �G�H��Uc%��Ȅ��������u���ˎA�G�j�W5�x�ui�ҭf[i��9��#�޳j���.���:���,��c$e�X�D��1��rY�2]XJ��9�VE���$��pИ�?��H����_�������&M�d=3�R�ʴ�p�N��}�G�5ʃ��jK�>kGF�Ӄ�㩭�)�a�yʋ��D�t�AxD����du�pi��gM�h4H�?�d��U�ः��q҈��7*��i�w�9;�G�-����rY�*�I��5е���-�M�(/�򑟓?x_Q�����2g�;oEa��(���(��nkͭ�x�V���Ȓ�l'`�+H�4��C��:�@.5����ȂH�p�qZ�6����տ�27�>W_cIǶÔtF����w��x�[��-��m&�n�f���
s�m���=g���V�/^�W��(6�t�M��.�2o�Gv�����iem.$��t?�r�e>U�-�O1��:��Gam\� ;��UM�+��m�����洌_��W����2i����L��Q��ӹ5��Wv���V�[�U
������۷SH�KG���o�[�1F��ϟ���_�]K^ѯ�>�Yb��hR��Z�7�n�3���9�Bh��$bC���f�ƛ-��p.�s	E,�އ�+*w�z
[��3�^�����xc���u�K:��)u\��}�W3��k��ӣ'�����5�P��rmd��:�U�c�+�&�So ]��ƺ��)-.�f�o��;�i#�Y"�nc�wE�QU/u- 7qA,_y;�����Caok�-�찼`�^Z�%GA�u������,p���ָ{E��ظ�OC��tF���|�)�ѳd6;7�p~7�t������X�v��G�	���mU�_t����1�3d�n��jBD��n�u���q���J�\���7e͊IpO�q����<�YJ|��^�j�dv�����P0��Q�;����t�r�zj6��vP��Ȩ��D�	)�۩��x<Y��Gi$Q�=�
�Ec^�>��Yckg�3+�Tu�?�i��GC�]!|=!Դ�ZIT��#ޣ�V�����7z�zz[�u,ț�zI��Vٖ�v����.��H��K1Z+�mq/�܎���ZN��d�V���|��q�J�+���mɔ�}�$z<z�p\}��U��ֲ�4��I �L�a�[�W�ʬ��B�]�I��IU"��I&>H?J���Y-��!�*
�ƊO��Bj?y�{A�MZmOk��!6썐�W9�$]��XWt�����]�M'�e˦���&��f�T��b$!=#J�&��խ,啞??���x{N�ONP_��t��i�\q[3��9UD�\C��Ŏ�5{+���gx�.f�_�+��R^�)�R����0��HdNAc����CFil����Ŵ,���Pz}j�vZGo�/6�g�3�_�Ql���ڰ-lc�VH��O9�Y�H�,u>Y��XB���a�Z�2K�֜P�����犤Ԑ���c{�6�jw�Yݠ�ܟҴ�
Ǫ�r�*ܬ��*1S��5�aөiY�q> �hn�h��͕�Z��i�ή�|�ȥ����vmM=RD��%��p'�=�OGgb1�V�Z>�h�b��x�C��@�k��=�\��N@A�ث�V3�z]�dhf)�mm�_�j�T��֥i�K��q���M@�w���pʠ��'�j�
oV���ݹ�>�%$s�vGޕ�	��ׯ���,�%�@{²ncs[著R��>��s�jɔ�:^�w�j�����b��(�[6�P����I#��!�1S;r�iiq�ٻ821�sU~x�(ۚ�%}:�6�5�\�
n�	���Fu�_qUe�����$�9�r
��gM�n69�-3=�Q�Y���L$Rp��u1�zn��0_�{*:m2J��.&��.���O�qV�q�}���)��:V���8��-��l�^��k�&�{l>eku5%��#:v���N�Dj)	.RpU��Ղ���m�u���k��[�[�6��+��4{�X��䌯'*kx&ʋ��?m�ͬ�6����%ԍf@|��֕*4�z�*2��Ԃ]dK��)b{V����8)�d�k6��߹2~\���g�4���4�R�2^�z?��0�Po�fgv֟36�I�9�r��B>e=�R�X���d*Vc�®U���l�M�_��]Ko-�}�6��g��5{J�������ci)c���s����6�g�Mz�|xigyof[e1����r�帼1��#��6��+�Xx��5�VD�s.������͵�6�+�j��ZI>��d��q"�QZ+SM5m73�׸�����.���<���e��Vn�su|��[<`I�7|���V�;.mYrJ^��躞��H�,��z��W+ynڎ�n���B	�[{�اv�wL!'�j�<�D�8C ;B�����-�:�� �_�	A�V5�T�m�dDt��O��gQ�W��Um���:׹���N�mZ	=��ߑ�e�Ҽ��Q��8O�Km�ӵ��Ը;���hz���_���h�d��*Wԏj�5���cӯ�X^?�F�Nd��zu�.P��t]Jw{x{Qky$E�ݩ�2y�Pɜ���޿�E��l�����y�P�Ih�Y�h����^�]jp��K���B[�U�n$f�d�L*ާ�K�T�^�x	".���������c�P���͢�0�Iz���yl]��v�I��=��n�2+ۡoNC����~�==�d����g�G��<?)ϸ��~%E��^�W�����������R�J�`��'�j�yt��Z> K(SKkYZW��ɻ�7u��I�����F	�H�+5.�M\��^��&�ڝ��;]�� 21�⦖�H-���N��ݺ�)L��;�֯�qV��Tc�Z��}{��֤�~@�t
�u�Qq����"��[�M)B��;ct�4�	*M�^�h�\��t���:�Ѵ�I�?3{����_��WY���q��ZȌ=9��Ɠ�_Kw$,�d@�z�s\�D��F�{a��ww�%�z7j�u�ɩ�wW��ļ��Jƛv�mjSVS2b��=����p��
6�5���C�Y����x��*�t�{�mŶڭ�\[0`���y�@���i�3z?P״ٯ�m���[y/"�ʌTڿ�o5�$��f+��ov�U���[Vke�ߡ����[ۡ{�=E������ǥP�N��Zh�H��h�.׹�SJ2�_$
�2rZD�ԎT PtI]-sO��Ԙ�k�@��]&��[F�ei��W����X�Μ5>}^�cR�Z��Ʒ�iqȬ�k��ٷ�ݡ��t?9���J��~g��+T_DQ����.�,� ����zJ[_����X�)BO=��R���W�/"�����Bm�_5��B��a�RzcYՕ���,2��<�=�B���f��^\f^�3��Q/���Aֺ#;�&�)j�x���-�	nՂ]�\3d�Ⳬ;�
�3
��p	�j̿h��D�S�ss+�a&fK��������f�p�p��i�7��4G�Crz�J����/OjOrZdwf�Y���uh�Dwg�z�)��'k�4ot�(��3� b'������eC�H:��Z=�]7��\���)
�'!�=�C���4�
��~�ނ��+�FV�_q��+�>�$21�Mi�]˧$��H$�A���&0}�TV�Bw�JI �B�r:�x������J�odROr�p١����F38�}�	$,RTm�ê�Z��v;��'���Ti!�m�c
�q댟�C��V�>���-�M�K��Ua����	�G�MgI�_����/
��)��C�+�v�i�g ���/�Xt��%k�Rd���GS����T��;/S.�]�O��	H���2�c�@�{�/S��9�����Þ�5)�z"Z����w�I:F3��`~5���v+۩����mc���O�v�����hv���؞bӑ��3���_^)��o��Ւ��H���'���GQI8�ţOv�� 
��}'Q���VT�����2����;^�K�G�&��8�u��*��GљN<�}�Kg�
3K��c�3#c���OV�+���uuq)ɞ��(��s�V�#+�]�~����kg���F���w��f�^�nL�a�X��Q��;{�MD�]�Hsw����V��m-�-	V�I�s�>������Y��Y�s�-�u�{W�sw"re�=n��[�`��|���X�o��
��RF�d�QNi�SIR�GN<2!��i�B�۹�o�T�;km9�K�.~����ޝj���ld݉t�~O
N/�e�x��������qP�ֺ\�u滩�$�'��vm���������F������S���Nܢ��wt��J�Ԟ	�	B( �#����rPz�-�mSOW1��O;��x��-�֬"A�;e�3�Y�E}䶄�b���F�H*��=f�WM��ĸy�y�GJ�I8��c;��n�ic&�+�
��62�s]��R�h��uX�cx��r��UI�i���ն��l�����+�#�A�R#����\���+-�}�ڞ��PG��rJ�H��}	�i��TF����;dH���$ь;ZK++�]GͶ��7 RG���Tכ�9'-6��y���N��T���@	��b�ޮ_K���$x����t<�Dz��b��Z6���!-��sZ5��bv��9���A]�:�Z�[OYEw{��|0���.�53���a9[F�zm����xO��ap}Oz�/k�N�=�Ǵ�2c�Њ�7�=�x�W�a�N�Ņ妢�����O��Ӷk�7�������p}�mZ�S��
,��.i���C�s��+�x#?�ֺ;]o�:d��cԛ�20}����V[��(��3sg$��"䟙�=I�{TҖ	VM2ѠF��I��
.����N���*G}sd1p�D�᱑]d���却�^ۋ��q���=k*�w�U�-[��{��9(ё��U�W>�����Y�&�?u�ޅO�{�w�3����tn��B^�t�$�q��T5�KJ�7��k�}F<,J�!�t���T�^�9��
�E�[��(甴��2���v��]3ƶ�BsfA�6�ں�ٵ5�kT\y�U{˵��=�oj�N���C�Ե[-Rm���{�ɑ�j��zu��%����ZS�}�Z���{y�?,�Qެ�������ܮǚ�tŸq4<?�۽ھ��\'�3V5h#��iv�/����GB+9�wQ����v�'�.d��5�Uٙp(�Ԣy�4��nB�"���v��E�?Y��-n�:��+��|2����cl�bK/jN<��:�s��%���K�Q��2��S�jݥ�l)��g���&U9d>��WF���3�����My��[��ɬ]C��g�=�șP� �LzV�'um�r!vH����
u�T��ہ���@�,.5��b�x)б�?
�5?;u4i�Ђ(^Vۍ�?���	h�I�F���5դa�Ȋ�ݦ�1�
�ЅX.I c!V�Hv[�C��zT]�����t�g��C�!ɐcҼ��|�	-͹���m�*=)���lD�e��Y���c[Kc>��'��3Y2��-g�5c��偎p;���-D�����|:�`��
��있�M��-��s�nP�3�)���t	-dq+F�[����;����ɔn��yb(�#��)���TG�]��Z�5�I(i��TF�F2=괤�����=�ۉh�n���Y�f�i�4K�:7�I��;��
U�ީ�z��"�b`\�J`�G�?U��i����[v-K��u�UJ�P�w��o�Y�'���W{��敆�}�h��(�'�nG�&��%�����$R��Ʀ��GO!���c����n	+�I5�M!yIc�C���z򢹓+��籫����n H�.�p�'M��bђ����ȭ������Or��M�B���"����q"�սg��$�F�_�+WDX��d��[ �ǽT��Bwe���e��sO]�хa\[�^�t��#}����{�S���7t]z�g�7���Y\n��)5}R
Q�+uK���b�gֻgVTᮗٜ�v-���|C=����	V�4SF0CEo�z$ھ�n�h[)m��;w��0�=&�N<��>�y�\%�t���,���
e��C~d1�G����Oo��e�r�q����!��l/.�hK|��N=3T���X��a%R$Q�7lǥJOykb��:�й�fd/o�gX��������;����Std�:������M}¼l���ƺN�����Nm�+lKo,	��ڦ�Oĩ�;�M#��K����'�޺q��絹w1J�ϩ�x��m*�(�m^���|���gV��W�ȭ$�x�1*�U��ם,L�N��fj��-6*���F��yZ?�$@yO�_�B<]��N�1i��ǖ�d���勗5��M}�N�S��V�m<i}	F*J+.s�V�Q������n�0>V?һ=��=���>�נ�Q�؅��qo�C�ӽ>��;`m��5]Ѱ\�-u_�%}W��m?��}��#}��R������\늺���6b���F[�D�_ *��g;��F(H��T%hۢܥ��П�̅8n���D�e_.C�;v���4���C>���#q�z��Lbul�8�M�ID���q;E��t9���*|��R��Fr]Kek�i@FFi�z|ڤ�8U��8�+�ͮ��SE�˅Y�y:CҲ溕�[���q_Z�f�HI\�h㯽Mn�χl��hWRԈ5e⤉�ձ"7��ms�.�C���/5!T�s늵�;�Դ+EL,�K�h�OҺ)�79g񜁚��y�u+u��E�=��+���@��S�H$�}�+�aիV!gm
��I��2z
Ͷ�Et!�KO�ʐ6 o�G�:
,Oc+��_�{�siq7�=���֨�R�����+�
�{̫��O�:2��ȕ�{�Ιg��S�b�[b�i���s�+Z�V'�: ep^W>��Y��wf�vIa�
Rյ㺞Cr���\���x�#AQ}�Vi�R}^匩D�'֣f-.���L���ii���V��I�Ur=j����y�v��WZ)�g�j�������
e�
G	��n,{ǟN�%W�=���a6��#I�+�Rqc>�d�Z�+�� �@��;�y�. �h�-"2r�s�GO����O�j�	1����3�;S�mc�"V���\��xZ~ͭ�c�x�Q���H�e�H�J�=_R.���WqӨ��F�P���|�=�:RA
���|��a޲�O}�����m���^\ȭ1��gTf�x�?+n�by��WLX�~�zj�m,F������J���`��Te��G�y$�hn����q��U�zb�2���Z���uV#�������{����A>�<��2�E(~POL��+^�*mR�b�DE9 �L����D���p��N�"ZM�Hl\)i����Xc5;0
pTq��EF�e���l%A���ryLp��X[5�?/���h��ɕ�en�9PQGU�U3t2)֫���p��je�Ȩ�3ӭ��m'��Ѥ�>1>T�})uK;-VekM�F>`:��^6��5�gW7�zl�����m-���/��Q�W/�魮�� �_���n�뢃���ۡ�HZW:�I�)#�Q��kxW� �|��P�֯
��R�i���Bf����D��^�\֚Lp��=�՝�g�7e�l��X��F�,�W�i+=	n�O��m�
C×pۙQ偢��	��ǭ6��>^�
��������CJ-�þ����
c潭�igpZ9B��ֲb�-���c
H�Xϸ�Y�/�M����xSP���0&�f��tl=��?�$���U��n�+�O6X�|+��Z挗g�.6O�=�Hr�TI�YB���
:���$�L@��2?:ң\���g-��O�v��k�6�+�f0*���t��R���^�$���ߒ׽y3m��1�|��4���B�8�� oʕZ�u�z����n!,�ߐ�~�8iFU}7R����S�>�S
��R9�a�����U�j���Դ�����:���ֵ�}�E��{C�-CW�
zk�)�a��;~��#��,F_/����[�]���Ff�7���%���[�%͂K9��j��C�_�2k�jZ�Q�e���Lw��hܤ�.Q�V<����H'�4�C!�z�l�+&�7��X)��#��𝕈PsЄ�+�-:F�'�m"��K�;�!X#pw���^��w�5t�X�(�"f�ѭ'2�xS��a��5�-n����L�&�KT�ݗR9�۩��Xh�|ְ���j7�p��+)�[�};�B���|�M�}sS.k���	�G'؇K�F��\��곓�d�r~]+���j�H�{��_B�2�P�q֦���m�t6�~g)�x�\߼7zu��D���q�zT��Ÿ�����)�I&Q�8>Ʒ���jJ[��ii�������8ol�kOL���Kg}m��F��7?OJvQw�m�,�6uz����h�Yk2"y�Q��EyRh7ר~��Efm���}*��U��n�k��?N�WҠ����8�X�H�������Ļ�m#��P'��o��}�j�e���]��+�泽��e���G8��SJ��J#�?�V�l)6����Ox{�EjM���L��$"��yW6�.���c���7.]w1[O���ʹ���n?�iiz>���s\�m$D�a&#����{;YngِF��n��5��-r�H��u{so/}�����qꉵ�s7WKK�V��6�p�\a�^��]z�^��==�mާ;��k\2n�d\_��u�^��\��8�=+vns�2�&ktH�|��׉k�:�ȳB�b�Q@�=Ƴ�m"d���졇j@��J��@�r>�Ů˺�U{�Ism�wI��3io
�$�H�gګj:uΝ|-��{{�����:~��䦭�����V@N��Lkw�T����T"��a�[�m$���ô��P0J�4o�u���eڌ�Yv�u��Y]zӣ,xVo�Z�k=�y�K"0�u�Sӭ���$�Q��:t������ؾ�4���lx
�nxe�Z|��or�@fS����j����vv�Wc%ܛUK�;Q;�]�����6�qF#wq$ʃ�7������VU�ixG�'����r�{Wl`Wd�E�iX*��c,�w�`T�J�J�d�
��
���6���$@�o\R��hƩ�Z�ȓ,���#�U�x�V��l���a�������]=�g&aH<��=i���*��̬緭"�eu�z�Y3DvZf�}ih-�[u�#I��6���K��A�ڣ�F�e}F8�Zt�;���u�N6{���R��i�����Q�ִ��Z�C��*R��lw��zR���7��/��)��|��RIϭtE���qM{�ɓ�B� >�� ��B60���yy��V�hj���Sv{�V���^�oW�ľ��H�B��[���3�h��&�Ч��z��Ӯ%Cg}!x�3�U'���u;c�I��`��$�1���p�W�2t�c�Ry#?)��,�c�'�jߝ�e�8�_��I^5�,h��>e�>��A򪌤��T��a���ۣm�ݎ�����)J����$�d't�ZƒO�\�j�O��u��m��4�$�s�:��]�[��W�Q��I��}k���2}�P�յ��;���pE8D�����B�����[���Bq�>G��ZI3�@��M:_]b%�DV2#�>��
Wn�XR�Z>���.4��V8d�y
Ap�捺��߽b^i�y��r�#�*]��:S�W�<�WM5f�~����q�#��㟭ljV��w�ڱ�F�� W�J�#E9j���R�ӠAi��!�|���+�V6�q��]��ݣ��`7��tcnh�[tJ�����)�x��#��W�6�%ޖ�&I1��ְ���z2��Fi�Y��m.���Ÿ!&��/��_QU�=�ˣBX
�i���[r��=�
Z��E��)�KI��1�v�LA9&���y卡F��6��5�<�{��:{����?���mb�D����KC�Iq�ҧo�+WR�Yֵ��Bŷ��VU��H=k���W��	�U��G/����%��2de��O��zE�����ys�X�mn����3��"Zi�5�.�uE�Q{6�׬��}j����!�ʜs�J�S�\��4R��v���Y��
���d�Z���kpĺ���r�t,�֮�e����z������G-ԓF�H�+�>�v� yvM#ΧⰩS����ԉM���c_^6�'�8�@�&��m���u9\WCj1�^a����YT+������Xً�����hw0c�}�9n��i����{��.3�5
�0�x�L;�4l߽n�WA"�H#����b}*��\m�}�v�܎��ۨ����]k�on,�S��:�X�j*��$ck���]�1$�$�$*�jb�֚@2:���Z�>�����ˠ�P\Έ��J�v\���[��2#�����=1Z�:��0[9+�R���޺��C9n�8;��2ȬW��S�ֶ��{H�6�#^�ֹ��	���m��	���6ϼ��:�66����Sč��Ur��者ow.��x���KҲl��v�y��Bl���K�>#���F:Z�cu&����ŵⷙd`z2���$����G���P�]k[��+n�(�L{��X�%����a6�Ȯ�$}�'�=Z<�P�mF����O�T�ݐ�Ю}F+j�Nv.{� #i��ry?�cQ�'��$���M�u�Ckn<�{W;�-twG]�C���3ZF�?�W88ǵU��i$c�9�\v�M�oYv5����N�,�Us�0k���w�#Fv$�}k��Zw}�0�4��p (�^樉K�/�n���5r�����ѐQ�?J�m�DY�� �ުv��E%�/�{��E�Ƥ�#km؞��%���r�9���A�Q���G��xcP�3I\�o��!*�	��f9�6�T���
���){=n˻2���;x?Σ���r��ح�n	<�v�9?x�4tf�eU���׺W�f�� R�������o���:�3��rq�WM��
h���X,��N3�}���WXf���Ӝ���-t�x�2�9���U�����yy>�.)i�W�
(1H��'�Q�q��б��8ɮz��h�!H�u���˚���A��1Sa�kA��!7���ߣ���C�-��n�&��~DR�q^v)_�_z�h�7�V殱�[IJ��r���eI���7:m��va�m��&f�ݵ��	Bt���aV��[w��Z#m߆Y�Bn�Y�6��z�+��t(Vxn�m�|�1P}��3Z�����3.�^�f�rZF��bI?Ri��2x���V7lu)4vY4�Y�yl�(�|ֶ��ME�E���a#t�lj��ޒ��5����tX,���CG�1��5�����—sAu-�&���rMh�{t����?k�*�5�.b�Y~�o�q[�T���;�B��HknT8�I�Z����$n�^7�B�� �yądB�Q1�d����Z�5�3L�u�)8?��XƲM�Z)k��}-̈́�Il�Kں�\F8�t��"����%��31d�8(ޢ�d�~�c7s�^i:|6�F]�m��6H�8aی���]�7:���t%g]�"v�+�
MBr�6�a٘�YZ�[+�%�����l�=�
��o���6~l�[��[�[E�u��:�1�囉��
ӏSH��i��&�w��JCH�*���q�}P�f�
žn��T6�2��x�ؠ�Ǐ�\��۝3P�5���H!m�q�޴T������#�h���3!)�m4�|��-��&�M��vtEE-K�@��gG.�����9!]]�d�1�0�q���I.{Ka�r�ďT�+-^?���*pP������﫬��#����-���Wm�o.��wԽ���^\%�[<2�a����x{R�V��*��aU֢t��{��QK�Ϲ�Q��W���[��&9��x��S������d��R�Z�/fL-jYW�2�Ǯ*�o5�hL���']T��?ºM�k�{JO�p�H��;c~Jѻ��)��hWp.��J��������QE�`�Y��u(<�ړ��_J���k��o����V��#|�1�e��+���ľ�Դ}ZA�ʂd9H���&�=��ƳP~���K��QԿiiq5��1}�X��	�T>��GQ�h��G�{�棧]�N
�`����+�\G.�;�n�ֹj5�cWt��F��`ֶ�{hкϏ<0(��؞٨O�8��S5��kR�������6��y��opi�5���03L���'��zʋpm���dq�vqh�I�Y�����|�9�jR���Й+2֖�K|�}o;[m81ץ�2�h�`���}�{x�M�7;*)��.�q���k��V�1�=y��ލ	�L���:�jL
�f0�Q�WK�յ���&��B��q��^�1��aKa�}�Z���1�B[V�[Hp_�?��x���V�R��Y!({*�׹�b�*���[
1鱏-�Ebd�>a�AVnf&�PC/ V��)���Gb};X�Y�k��Ÿ���0j+`f�t��Wn���8����[k:���yL��G"7N=ko��Z���k?��������J���J�9򝽵柭h�������a1��uM�8�ٺ�����^=+�T�E�{����-	~�ꚢ����ddp\��zeŌn�2���PT��jo��`R�PB8�@
�S}+&�8�c�Q�s�u��Kp<����)�YH���ad����\N��Ơ*��kI�\�z���1p8�H�0;x���@O<��-��f��*�.=k=�4�y��K���W���V�����X���sŷٮx�H3�^UJ�O�=έc1��Q�ل��&��7��_cZW�l��@����լ��(���FJ�[ƌTH�;n�*X�<ɂ��種�SjK����q��o9��R%����zWu�%SR��P�n0x�E.�s4�����m�OjR���I�-A����hE�<nǦjk7�TKo#��r
6+:��ܺ�n+C2�x�����V ��!(����T�~�t���j�&��A��_�"���m=))���a�e�4Cr�Cw���(?w�z���ZZ1���)�v��/=�nA��J����n�B���^����0��}>��K�nB��������pʧ�ݴ���ZJ�'��\ROuђ\��+;i��KF�`3��L���jI���8!�eܤ�|�[�w���L���N@�x��M�]_Ok��=��e�?ŏ��D�݃V�۴�г�XE�%8�ߊ��'�� X��2[��Ys�^�	W�8Y�����ڝ���\�i��j;3{�]Ms�+^F����p�V0����(5���I�Y�6ތz�D����*�?~���W���6��|i֐[�%���V��=9��豋‘�Kw�\;\;1n?)�@+jX�[]]-��VW+h�%O�^�:(�!���3�D�ks���xB���q�51-��U�s����u��I��dc�d;X
ڃN��EMcI�
D6
���x�����/�K��y�<Q{�=+V�]>��A&�vLq�zf����3q3+�1�W�Z2���0���
�_8�f��I⤉��*Ct����]ia�Z�H�g�ǜ~��ub4���c޻�}˭�Gs��go�I�O�m�ˑ�>�Յ)k/	��`��!=낧�5�,��#%l�	%<���ŝ���Vӓn�o�.^1�J��0rՐ&�3�1�V���28�|��'��3�D����5\�-I�f[�s�b�:q��HE�֡K�멣e�Vœ�٪�&�9���o1m�\K�le8�Gq��R�a'q�qe1(gN�"��#ru����<ĒUv;0`*k->MR�+[4�q&p���ji�J��o�ݿ�4��Jqw�(��5[P�Q�H��X���׾
tr;�;���oϩ�v�#*��rpsU�X�$��A�VⳚ���K�
������F�o�?Qޱc��h�bH�`n?wЊ%6�KO17����"B����]G�o6�V����=qֳ�IFJ�d�67,�B�N�OJ��Պ�8�i�Y�q�סZ����C{���B��=
>��E�,e�bi�I1�8�⪭Uh��~�N/\��8��#�(�2&9��v��I�|�Y��:I��=[ԂY�\t�ƪyc�W'v	g
�Zz�������Ɍ��F�QR>�KFր��O�N���t�3���,��p}jo�������O:1�a��Z���g��;�sM��’J2�ަ������yl*���i5L��-jb+?%���L&�+��pͼ��O u�x��/u��ik�ܕX �،�W�b��	�08o��Y�r�����[[ʎ��g$9�E-����L�(=��l��;�cј�
���K�%$ߕ����]ƒ�U5�6�������!�
6��܃�ı�X�ŀ�U�O1��aE	�8�	��̠�x�1��23��ȩm�O2���q���F�(-^E>��ދ����Ȋ��m��u�;��@�[��wECҵ�$��2Uۻ���A��/U�yo%�b�ڹܹ��j��,N�B�5�OsɧEc��s��Q+�~�b���0{�k��@irA�ѹ�i�{��uS��ro�<��
x����تEp0X�kzW���u#%��vП�����
���͎q\�|+a�������Wv��wL�_i�jP7�T�,ee���<�Ҹ���l�u���91�>���=J��uo3��#D6�#�C�3U��M���6|z
ӋEլ�\���'��{WШ��X�ެ���g� v�xU+ܩ���)�J�$7)a?X�M�}�*��K����Kxu��A̐��r7�P8'��\���&mf�V&��=r;ⱔں�V����u˧���5��J���x�Ż4�d�	V��+R�=�t�W�����2˶a�Ǫ�
�')��lʹ޽V�[��Ʃw���p�v3H���	�’�H�O>��iGP��iW�YKD��168�ִ�J�֩�"U���ռh5���t���U"27����c�
b��m9%�؜�|�*oJގ�i={��݋v+�m�Vk��79�"b���뷚��M��H�s�v5��(Cv�&�k�!�5]�6�����tN�M1�
WR��d�m}zzҋ��k���v	-Զ.��v4�������nM�go"y�����\UZ3W���%�T�����Ò\^*�9����;�U����
-�3��B�����MS]6.+�n�׆�)���e��8EQŸN)�Ύ��谟%d�.ǡ�we5ct�1�u��̊�ap	O�]L��\�������dj�Rv򹌬u����Z[Y���n��/.G��/��E+�s�G��C
>�'��Rm�-HWOȯw:p�	O�놌�cL�lV�y9��3�^Mc�c��SK��5-N�^K
sѵ��l�Yx~p�ҍ�;�]8or/�F�9f��^����K2_��{�����L�t��F �Y̱m��X�;���z�-=N:�;�*m&r���Y=�S�t=wD��S��`�ܧ���US�o�B���Qw"��ͬ�r��Oe)H����ҹy6Ay�x����4ݯ���iAu<�������~ub�NLQBT���rw�A���+}2�Y��\��f���(=�T�����h���d�s�}3X��s'�Q�Y�<!sk�-͔mw$lE��u�R������+]}�&~C�םJ�ҹ����䰸��"�����j}KR��X�a��ڃ��s)9'�q��f\\�,�O3��I<��Y^gt��^q�V�J6�@l����eu[��=Z/A���v�i��Gb�MzP��v������R��9݅"���>�x%�*Yg(�9S؃Yși =MF��v��A�5���ۋH!�P��}����M�:�۱��i��<��W�u�+oD��F��[���T*��U=O�dӏ���!籷�}C×�����͸��T9Q�A5�ķU�푹�犘���yR�Vͣ�ʹ��YW̅߀V�j,�q�HA��i�>kt&1�䶗?fa${��� ����
sD��Dz~�Z9�}����Wm
�)�]t&iț���xubI�O^ݍS��:�����0u܆ J���L}������
h1�wA��3��9=I5�\�w�gZ�(�S]�[��@G�8���OU������~�ǝ�VRz���ex��${�f0��7u*ZĒ�!,T�}+zr�}L�2��&E9��Ĕ�B`��k�ӵ]3OӠ�WYZ1�NI��LB��/}M �n[j^Z�{lU���4�io��;��p��zוZ\���)�TV�3�{�˛@�ʨ}��U�:#�h^-�p�޻h6���	^q��]�Y�k&��W,�Z���C���;�0��\�#�q��:ҋV�n�MY�a�����=�n�H<�E��g;�lUuF5�N���faYʞ���6S���T�SȬ˫�[���(r6W��Z���3�72X�4��,c�7a�Rs��G�H6��=T��o�ђ�G��F�l��R��`b���2(�K��'�VO��|���RC
��7:drj��e>g�a�QEnS˘H����緄`>�늗$��;��饷Xc"Ul��A< �C�O�_�H��E��i �M�cq�|p�mk�8i�<v~�J)ߣ�
M+1$��(��h���y'�j4�m�W/X_%����I"�=�dg֯�V�M-����>ⴡEJ:�N����jZ{��5$�R�+5��M�F���4����ŧ̄�w5��ځHw2���v�I9C�ҩ/jվ�Q��)n�h�!8⢂Y�f�FI����Ӛ~�_��Wd����,Q��H��\c
�T�unv�م\`���[�f7B�6U�ex�<�F�\���m�A���oDӭoud������w#�S���^������C���#���I���L���X��
Җ�ta��ӊ)ßm�G��]Xx����WɻR��*L�%���\Gq�d^o�����e�f;�X��_~��#��	��*ռ�]�=�t���W�[����q[L�jҸEyc���KJ�I���54aq���p;��b���T��.N��Z&�q0��N>����4��sYM=Q���B�uZ�q���f����%qpT!X�m�Ozʼn����E���E�,���Z�Y����ȴ����Y(E�ۭ6vV]��Z(�G�WH7���V^��Te��-ѤU�d�33����\Es�q��*�&wZ�O����|���EQh��5	��qVE��6�r*�J�z�N�I�ڳ���b�mu�����5�Td���ҥ�l
�.m�&��V{�;z�9�]{]�Դ�V`�h�(b�UyW����g;hdYK����j����%l�9�٫�%2��ٹ&i�g�P}��gb���Su�b�ƈU��m�Fr��o6K��&L�:�>՜��Lw!�S������YF�
ne���!cp]T}����osWi��-���E'��t<��ϠiZ-���������������#�{[��[��#=k.x�|��Ve]
t}�ʐ;{�C3J���BZ�k�l��`r?��MnY�^�X�(g�,����ɏ���YT����:�����C5ٜ�0��=��;Q��Ējw��I�m�)S� �¹�'�u�*:zDŽ��{k��-�<����JD��hg�b&@�S�[V���-59�i~�3���1��O�3�V��lAlIa�N�yV�LΫ�v�U�+4B�]�΃�>��F��Ţ�$�*�r�>2O�)Nj�ݕ��9l4�;J@�AL	�
�q�0i��[�$�vZ��q)���G���-��Y�Ү5K�xm<蕳 �� ���m+���9�_/P��SÑ�߅6yBx�jSr���p�.}�Uюv��֭ IX�E�cŠ��b�,x��%c=�<�f(�ldu�aV)�Ҕe���?�-�m��Qĥ�.�:t5MJo��f���	#�5cJY�@-�R����(��M٫��{RD����3��m���Pj�*7�#;1��$�Z�Jw9��i�M\f�l�L���C��k�z���{�=k��qv=c�:���.��灘���a]6���ⰚK�w�7s����°�t�٠��f���-n�k��BY�1����\�{�
C�ش�7@�0P
����JOUճI����v֦��hFnI�Ml�3L�Ь����4�7��#l)\�<�WVSI�'����b�*nc��g�R���zl��Ͱ��մit��h�R�$�A����е/iڛi^��D|�$u�/����U�mݒ�V��7�F���u`��	-��B�m�u��+/��9�/��+���t8�L�Q���ݢcf�p��
�������d�r��e?+`��n�k��m*����+=[�Z=�-���P���kU��O-e��؏�Z:����?��]HG�M�R��)����7��Y�R��]�ݴFm��ay���	[$�*��ǿ�Z~(�𕯆d��|�����Bq�ʴ���wؕ-;��\hws�y�&��v��}?�յ�i:f��A|��o�ː����N����6=�ʖ����7si�V$� ��q�'���&���O�ًr�ysLS�#�(�Z���G��̗G�5����:��&�`w�y$��ƹ��p�k�XcV)(D Kx��P�f�w��e��v7)�]>�M�Isu��vOV�l~���W�	�D�h.�X�23��N8��jϖ-��F�vO�E�Oñ鶱��Jd����kR�+�>¢�㳗�R_鈶�*ȦMہ�Z�ԗ6�3;ɿ�U���w÷V�P�j�dw)�s�GJ�'sk�x=�P���<!ny�0ƽ���4�m_����A����An�2�J�+7]��Pԋ�A�1�"���ҥx�'�ubn���l,��<.���yjq��q�A��L���{#wi(�pV���x�k
�ܯ�����>Q�FH��KFj�F�r��G=3��O-�oA�7Zt3k�]Y��*F�YTu�m��Ed���K�?��ޔ�Z�؉'k��V�m5�WR�*�8 �f�u+�U���pq��5���%+�RI
������kr?�ew�dNvmee�6{�V���Z�M��d����, �do��L֍�m�[�����'�SG*I�bW�95)m���b� ̊��Uk�Z�k'��h��p�D���w֚�RkK��ok�-���n���p_p�vF�a��gL{=^V��7½�ǩ�Z��Kk+lS�fX�@��!��`wm��r*�AX�`n S�;O�s�q���f�d2U�h�F܍�U{X$��K���3�vV�[�T�^�$��ym�f���ߎ���"�[e\l��ޫ�����h�L��Q�#8����e;ыF�$J�߉W6�,`#z�aY�Rdp�0 gj*�@�]���֌��	
���I��5U+]wԙ��\P�T}�+���K}g5�p�r���w#��Z�?�B�vӠ�9o�e1i�đː�*d~�a���:��ܢ�2��Vz)]j�&7i�c��K�SY�l8�Q��سg֑���4�iv&P
���+n��_O��Ė8�lAe��V�}Лh׷��h-�	<�B�>�um��sL-<��L��f튺u�n�Xj<�g��2D	v�+2]i����Rv��Yɻ�j��"�l�n|�M��S�*'��OP �UW�[q�n�کO���+p�������A�5�=�𤀤c��ϵy���Wl'����e�I8
�<���[~l�p:��څܒ0
����V`$�dWR�X�#�Fq�R�����XoQ��S�1^���v�Α4��7��a���"��p�1�wc
�_�O*I�O��O���QԴP�͕Ǔ/k����6���9{=���h��� ��)��V;YOPk��5��ne��A��F�����=+j��^�s�����c�mz��y��ۼR���`�A� �?J�|s�Ai%��n�p�'l�}�U�\�w{�I�]Rw����H�,q�ջ��l��I
����V.�,��$����s����!g�Ss{w����Ϲ��hS�U���5��(v��Ju(�\2�����ꌒ�c�ִ�!+,
����Q
Zܒy���R��zlK�k��1����n��Z�����5f�?x����������1���c\X�f#�&��H��2��Q%�I�ǭ\}�ڛ��bwyo��ң��*`���u
��e$נ��jX%�Aec�t�	�;}��GÃ��Um���r�d|�
�<�As*�� x�R�0�GlV��˱�KH����h�2v����H�I6��W6"NN�ʧ�&�����>��~8�����-%XivJ��Q|����Y
^h,�2@��O\�Z��i����m_|�[�����*k��f�a���m��Xe�~kJZ�|�C[S���U60��G"�����8���"�}�=�ִ�.$���Ya��!�D;��z�
k��S��t�����Ta$��j�t��q�̎{!�Ccsc3<7Q>7����Ř_\�b8й��0*�>R6��䭀-s�GO�=+��Lv����Gjm.���`ٴ��}EgZVw��R��{i��R��<6+k�ݶ�w!x�*��v5Υ{���!���߉/�X�)d���=��տ�|
��}'���C�}�Qѳߌ��A���l8��r76&�U����>h�O*GC^��`�O{�}�8"bFEo�}{�m-�>�5=^�=���*1���[e��k+63A��6�N?2/v`^;+����Z��9@���Դ��C��
�kR5n"4����_FTcvLt�U�E��Q����M4T՟264�ϪX�wAD�I�}*
V�H�J�[7�g��ǡ�Vj%��s2]y��"���7�/���.��$���:�ۑZ�v�6"��y�7�^�}kN};�أuu%ӷ��;�T�BA�z���e@�9L.6��C9f�S+�$�$�`T2LY�ܯ��(��E�-�5�
��h�c#8�zD�"k��������f�IwX���T����E9�؅2=#N}Gy�q
(�Ct5�|2ђ�{�~6�x-�G�*�J�@߼�Mx�F��&�ҬVi
����>��3�<Gw�����9T��5�6�.g��ƒ]�ZĬ����>Тa��K�����)hd�f���CH��JF�l����+=��p���ޡ�+�rփk%���#�!���ס�[[�~�[b��,�A �*�w�ԬR��D����߷�^�x���Dw:��M�,,���ǡ�;Х������%�ј[9�9Bzd�:]��:B]^j2%��Z8B�q�֋/��;3 �I�夜��J�-P��*O�ǵj�e�]�rOC����4&k]�#/n5����\�v?w���>�1Z�a��"���>ԑ�	�Ջ��FH��9��N�Դ�)�]���o�W�R�j�ցͅٷ��/�To����&�?SD�g��kX�I4G�U��
cG����N�
��&�+"�7mz�v��In���
�Y��wQښ��K�cN70haജ��sݦ��;R�F�_jaA��\&�K�V;]���!�D�3��G�>�<Z��q
��,FM\�$����R����[�[�j3$�cd���*<f;���� �[p8�+������`�KQ�F2�u��`�c��CGQ��<."���8�[偊��$Oz�y]�쥽��o4rڣ���G�>��\&����<Ey�����F%����E՚�IE>��");�ZҜ���O�m�e{�����y%���2��l���4�ӧ�̱}�X�q�:�Y9ٻ-._;��-~�D�t���As+
���&��}SS�A���3G����P3�5�>[�ؖ�o!|���^��|G+4�dn��>��oY�V�]�zQai*����B�TԖ�.��!�.���٦�m��i`oh��F:���T����n��e2����kD�Zl��M�ȭo,֐,�W���Ǹ/J�񷉯5�h���]�$��H��{�J�)yjL�~gM�YAo������Op�ѸíK���ֳ�z<�5��
�����LV5�����-��q��t�eRɎ�%&ص�fvv��p=�Z��%r��/�����Ds>q�����ic�{K�Y�����(���g��w���>�k��:,	cQ�/�����.��Z� �(r��7�$����]塝���\́�@ef�e���{U���h�b�q����._AG]�6*����tG���1l�:g�U	໼���g��Ȁ�}g��V*1M�4�={{�ymeiu+΄���=kO��+�]iz���"��bhۮq�sN����h���N�-���Uq�6{t�{Y�_I����d�I�;Dw>��!/ivȚ��^��Sՙ��Q!�$���>�v�s#[\��9Ps�"v�Ɯ����#)kcf�����c�z�V���c�/y'����G�T�S��ݠ�
���������}+6�U��Q��qKqYX�pvg�֒�r_�1uV����kw�rQԳ�����W��u
婉��f�����Z��q�s]X^D<���Hg�W���k�$�Y�V))r�3w���Oh�z�r5����G��ړZԭ��6�Y��]�X�I䯧�C�J�Z�pr�����~c��^8#p��I��E��-F?�@P�S�朤��r��%ʉ|����{�<T�cMe�E:�6����=ki�ե���y���Is��[��w��n˧�:�ҝ�杲y)��n��y�W�qV�w~F���ngYZ��w�g�z�$��t��]ɧ�z9�a�ѶH���R�l�Mܣ
�J�I�{Ŋyz}��G�[���t���OQNr�q��♱��_��j������ו���:������gEn�Vj^�S��v��j&$����sD��v���AHD�����t7��}��l�V��L�
�\��Z�j).��ZN��[_^�j�[�y�����M��?K�%���%�w?g.0cl���ih�	N��k�jqX_ʶ��)�N��?����&�.��5��;���g!��\����J̧iq$'����9����̸O��(f2e��>��RI��Շ�9�]�F;q��j�N#f^�Mj�"Z����,� fP>eL�>����.,<9l�G����$8�j�>X_k�c�KD7�����n���5�&�E�tU����133�7�`g]ik$�L$#�~^:W/q�K���6!���n�9�J���\o8��3��A^w��=۱$��8�{Ж�3�c6B���Ĉ�DCt�c�E���4�`�Cv��zW��Hi�Y����!�d_C��
sթeg�.�a�hW������Io'ܨz���Z> ������r�K�߆*h�,��.��9���-���[L���j�6�ڔ0D�ev°$��ɹ��f].���x��1s���W�(8D+�jp�,��7�+��Ўiɪ���Y��T��~�y0�j�Y*��{��qiP�K�w
Tջ�����JB��0�֑�r
럢���Mf��rG�j�l=�~B�����܎�jHl�fwF�0��R	������Z�얄p��nHI K(Y�{��@R
5%q8�,�lHT��S�������r�@�6H~����)�Y��Z��;m�G���.R�`�npH�C�\Ơn>ʑ���7α��Xw#��^{m�����ԗ�>O$�-�O#L���[7ڮ�,���0���Gsn뎟�֕$��ݓ-v�Yh���-��C�M�*}sک^�*��^�ep%����5�Rj�=[&��fi����q$�D��v�wDn��H�!��Q�"�;�����pM�x�o5z�#��^��'���4��1��6A)]�㵿2-�O���<'�/���{��c+&Gj�
QN���~"�sc�H�>>�"��+�%��œ�\y"��1ݲ�����F�F�
ê��P�|�i�t�iE��tȒ4tQ�阱W��DZ��u��a��sZ��L*�3G�z����9��uS�2�jM=��f�"�m.�($$�Ì7PG��Iey���2�������2�Eз�-��"��ʱl�q��
���q�z|�;��1���	���E4�8��֕s��o����i6��ˏ-����Wu�;�E���a���8 |ˎ~��iA�u���y�5��6���~�v���>^ԨN��n�W�3���ڞ�-�ܤi����	��C�o��sX�L�NH"�X��T�b�[I˱)�u�7`>�����sW�CN
^��E{Ky1o+�e� �-��s�⣑�]�$Z�t��u�m.�H㸟qF���3�������Wx�6Qys(�}~�VI>����2%qo�H��_b��'����7��C���"�K`�ؽ��5
J+^��Loj>:Tv��em�0BA�n����|ִ��ӡM��1DD{���	�qCZ�w�����Jk��[�-�)���_����W���R��be�[�T�
�yS1l��G4(r��oI���\B�O<q]W�n���`�w\mC����'�bR���m���j��c�q��k.�� 7�4�����4Z��j���qj�~��x2��biZ|���[�)U.K�
�^����6<�Y�
kc�=�_T�����H��������ҍ�{�4wR�8�+�rg
��>����ï>�$�p�ʍ�ܸ���rbm��=�\�.�����LZ}�;[�
���S^�Z~��9�$�'�Uۀ��7��d���qv���b[�O�.P���W�{TZ�Z���Ǽ�/ԍQ��������A>�ee2F���0�=�Y����[F�W6��H�8�7�ۡ.�,��Gwer
���#q�s��X����^����<g5�]�Х��S�L�PBӣe�S޶��
�Љ�)�ӥ$��'�j�wa�[t-B����AoN�5ˉ‡!UW�
�M(ۯRz�A�2Y9OR(�32�z*^�1�&��R1��k*�G��Ui�U���Ү
19iq��
��>��g�n*�sBr	�"��VЮdպ���w���Kr��j�:
��va�;�¬y�Iϭ[Kr\�.��
۬�(go�����ql2���S[}Q�p�-��͂nw�&��Ʒ�إ��,|���Z�φ[Z��[�fI7��jNGs�՜�ii}�sVӔt�NG����)�05��A�ͷk{VvRZ��dQ���^k�)7^O�O����z0n�u�E���Mb��H�F<�&%6��zVnZl�ܹ��!�i�D�N3�ֺ(���WM��:��:���2N�l�z���G��p���c��r�#���3kn�u{���.
Kky}D'�=@��y-�t�6ڈ�{�@�U۲�����z_Bu ����O�K�s����W��\��kr��<��$���c[�	G�|��^$�O�XvD��C�!�0��iiZt�7Lb9m��>��<�Y.�٩��5��I�Fo+��d>:c��X�%���n`��D֒<rq��;q[��g�q^Ť�t
Y�uՉ��=��2�J���'mZy�,�X����
���鑃��yr��k��BOTҦ�P�L�%�3����]W�t�<k�j7�����9#ʔn�=q�衭�&���N�JK�&I�lB^@s�3���aT亖�@�κE�F������z�{��‹��s/���>����X��_j���/t�ŭ�����.x�q��=���n��!�ݑ�:��p�ZOn��	\F:��?�%�������_�ȠHǽTk{��\i5���HdM;ϵv������f��b/�Yїh߂{��$���H�k�j^�a�Y-�'}�y_/��?�wZO�5Y��I=�$y#t���T���wzF|�e}r��]u*���`~��Qu{�7H�7�7�?1��+����^ڤ9MM_f��gK�Z���s���K{(Q#Ӯ����ҵq�����V��ў�R-���
1Ǿk_D�@��CH���O�uѳz�2��6u=6;��e��)q�Y�I�TZ����0ƶ��"y�������-#�P���e)�;�+�G�:~t6�mix��"yEY]~��Js�4�����xr;�9m���0YU>��4;�qwlcX�Qە#�ԭ�z�j-ul$�~��>�v�~,�͆�amq,'��2�E���éM�Gд�Vd:֩ui�ht��+�Џ�^��'���3\֟�|
���=��*\��S7+5��g������c��O5�����؆e<*�4�;�ܪ�z4t3XjzyK+y�������W=jd��6�0��W*��H��!���e;����M��s~����v��E�#�s�׬-r��z��u� �0C���YF�����KK�
Zu�KN�2����+�����M�.�#=+�ZqKqS}{��*�p�eS�,q�$�����C
��ͭ�ns&���ca�E ���x��)쭭Lj.���qʌ�Ҕ`�󾤶r2��Ҡ#i�\�ZIw��щc�=�F�S�x%�+!1�6xQ\���6
�?hDr	��
s����*GPiž[�f��qz�<���<7��VE��8�h�������]���U�!�G����3/�}j�u�%��az�}��-�E��ȹ�,�M��J���+x��y����ᧃ�����J�[7#H����n
B��Y�h���4���f"Ed�ڟXf���#�֕�
��(�W�`���W%��.�qm#��K��<z��Y�]	g���R���#�[[oBǾ=�������7���z��
ߌ�G�ɡ�b3{U��K|�?��9$�>�-�GW[��!��I(?&�1�1W�����y7R+�C`zd�j�M���j\�$YK;��ޭi��֒Y�
ո�?2V	���sYk`����̈�H	�p�Gֳ_LIl����E,'���V�n/^��ŧ���|:o�w��ub����ۗ=:b��l�����?��e����]
Fs�o�n�o�1'>c�v瓴q��Z8�EvF-G�猽��K�qS�{UX-��{������4��л��l���K�����Гf�%�"��g!�E8��Thbv�U��-�,K
#�ئ�I#G#����I�JcB��Q�i�RW<�UY	7�=�q-äjA��E1�#�>�����oA�n	���Ƃz�p�^d�4M�Y�Hm���DM�#�Ew�,ִ}2H4��ZY���BއҸ�?tZ�YjZ����"71��J�($t��}+��\j6y�)�n����Q7$�C6�w;�Z\��{������R'�Q�����B�K-qd�{\�R�XgV���ή���~���~�I�6���P�L.Dǻ{T�{]���I
�ta����[ʞ��R�<Cy}���V;k�Ԥ�>U��]o�<O?��kmv3oi�b[R9�Q�L��I��ՙI�W�P����+���s�2GQ�\d����>���4,��L�S����<3���sk$.�	e'b�h��S��{�~�
����v#����UAw�B��c�ͬ�F��/F��r8�*�˞<��Z���\J����)�>h��R�kq9����I/��j�a����z���+&�
��w\���*�����c���~)ӭ<m���È�q�H�Xᇨ����Hc����6���' ��
�ne��F�OS�1D�T|�q������1�8�W�'%c�~�y6��ޱ�!@���pyR+G�z���^K�bf+cӓ^uy�K���=_��������烧�'�j��¤Hs�q޳|o���L��,����Z^�%�}D��,��'�]�U�M7-�eI����4��6�A�D �?
{;E��m�����f���z{�o�w�+X~�L:��G&�$.@'�OZѻ�jڝ��ýb��v�c{�u����F>���/+�ر���P�dǸ�ߵ�b�w<�J�1��/R����䜳l�͌�Q^�s���Κ��c� ݀���{o�IV������:s2� �d,mտ��f;���F#,J��V��촉�H�䏔�N
l�ia6�L`s����-�)��j��nҹV���JVW5�l!Y�˽������Z�
ZF�G�H጑ �Vu&�ژ�_S��L���6��(�yQe�1���?]�캅���AnZV��՚��7dk��8�x����l��h{~��O,�9.I&��n��]�
Gǂ�*��v�uϛ�AVSє��z�"��]ّv)<ڥ��{r�bc��G�.s��	hM����V��*�e^A��q���U��˘�?�{b��I�W�tD�RM;����H��X��;<�s���Пֳ��֚it�$y�<Ad�@�hT�2VJܦ�N�m�>!��-m�9�n.�E}3���$_�]O�xWFѬ��-&k�1Rm�e�<d�k+r�z�DU�y�ç���˜�de�iI8\p	���G��Kc���G��6?�ֶ�n�Û���S4Iq,l�pj;�CvJ�J�AֶRQ�|�Qv�'e���A�����MQx���I\,��0
)M��4�Q�#�ęF�T*�6|�}�Ӌ��씺�P]HC�T�
Zf,�4Y_�K�!��h8�OgŹ"[?{=(�n����0[m���WƮT��d�I�†��P*V���Z��\۾Rg#���R���p��W�m:��d�Z�dv�{c�Mesmh�|�����<~GW�2��C��m�<�L�dk!f�_�SZ����9��Ϩ�T縚F�5J��7����Fyh��q�X.0��[Gb��Ȥ�W9�1T�^������$�4f91PW׎�J��Tt鶷4�����<��Z(\KhT2���I����)�$��Y�&�>�D�vGz�	�K�,�m1DvPT��z�ۈ�S�N
j�ge�b$#��.T�#r���+�3��o��I�����.9_ƻ�+GKM#��#©ʜ�)��ӊ�z�յ�ʾ��/�����8���X6'Q����I�%U���v&��N
���Fq|����+�K&�vT#��OҼ��S�k�Y�Y��VH�wQ¸]���XT�����~Ek��g[���L��ݲMY�Dk/
��#�(x��'�qV����\��WY"���Y<��?#���=��3C�έu5����,�t�Y�c�~��9&�!�WvmEᫍ�+E������7P��ڢ�gIxm˴L}��zϒR�2�#Z��u��2+_–�W62���
�\h��f������1Zҋ�k��w/_x�m��gӴ��q$~]�2!	�L�sW�;{讒yE�{�0�q�<�?�j�Qk]��AwߡGW�N�<���V���K�*u��J�qsg�xf�O�_h�"�,�:s�V5[��~��-3OÚ}��n��#���U��H�p>%���V�D��������@��wF�l�F�[�֮��
CQE],����)T���BԎ�F�m�Mj1j�2����P{��]��.u}3JԠ�[��F<�!�R	�{?�Z½IF
���N�JV���$�ȳ���r}�A��%X�8g�I!L7ֹ�����E�m~�@�,.~�t�v�ӟ�<�Ri��[YKO��E#�J�6����y��Z
7�M����!X9�+j�t�/V�#Qq{0)	$|���һiTV��Jj:���o�m���v~�O�>������%�[��c�1�V�1Q�z�#KhbZ�t6� ��$ ��Jw�g�[�>[4�[F�;�9)��ֳ�i(�'�	�Pѯ��o���9ֺ��]��kǸ�e>L;��q&��_Qʮ�[�ooU�j������
��,�������	��l��џ�t��̥{k�5�v��.�u�6�H��V]�YC���.2��5+o���ȟZ�u?�1�e4l�G�]� �j����mp�x��y����e;��5�ڗ)߉�4�w��u�*Gq�l��1�Y��H2d�9������5v܁����#>�4��"�27t�O[!����9`�^�2�+����
���%�9�����֘P�r�%cϵkJ\�^�EYy��1�01���c�v��W�Z��LdCR�ZF�IϦk:���;��O���eI��ҫdy���a1�k�K[
T�P4�EW�,;㎴���m�����]E��)��<�W3�WN��+s?M�VHXH�R��j���#�qW4	�ڃP��M��i������~�j?�;I�10����T�޻����#��rIn��	�CՀ��Z'w��q�z�����-e�t�H
Œ2�����i�^M�@��?t���[�잤Տ+>��Ύ����ʹ|�,z֥i7v�KDc����=�{U;��(�Js���V��ͼ3�\;q\6�u���-�C'�՝�����j�-o�b�y����f�`�:�{��ж3��'�P�&���+����\��+�v��vЫ�ЎV�q��PF3ZvN�����F3���U>_f��[��>o'������Kx�d�ܮ�Ў�4�MF[{��8c�H�B=
b�����\�?���b@��Wm,�T-���U	��e� ����+�K�5��jW:Ū���9c�)鞡��+�����'��`<A��d���9Ǩ#�&���0�O����f�h��2�4O�q�V�xj���
:4�L�#a
����o��]�i=��M�C
�E���9�
md#��O5�@4kh�H��4�'{}�rh�IYFFrA��+F(��]`�֣Q����S!��)�v�-o��:u�~b-���Zw@�#��(�j��I�A�֝	㙎2��,��)$���QNM6@rF��F��'��}.��y�K�9�Z�˪4������}=�](���5t����LV3%ݤ�@Oҵ,|Wo���;��;K���VN���
|/�
WT5&���B�����eS��&����뀱��ط�|9u��iu��j�x��$~/$\���O�]�5���0�9p��?�z�ӵ	����#��̅	ڲ��zt�)��������+X4CJ��Rݖk��
道Ԏ��x�h/��ml�{hm����|u��V���K���hi�x�5��ť�|��[�>���E���hRZ^���>�gD��?���ڱ����FL�F��m�]xv��o�!��	^��a�h�g�ni�N��M��m⽜���6v�JU�x�bO��x�L}3ē��G$#;�b>W_c޳�F�E���3��
ؤ�t{�~Cn�NzT�:��_�x���'gm���d�ҙrU�r���[(5kw�,�km�
s�w�ҲI�]���i�x2s�貛�
�@�%!�F����ﴭ.�Z����O,<q���5��w�#gd�#��5ܭ�W*�*k�I�'v���![;\c���S}�������i�j�L��G��d��"�|Z��G��m-c!-�V��p�К�4�W3�q���D�1��9���D�L�zՄ��2�]���̡�Y�6�>�J���֝5e���w�7uR0�@�Ui#"B�q���Ԟ�q��b�V��E$'��MWL��0T�:�TڋV����2�0�f?��zt�O`�.�=vțMC�2k��oVьZZ_BVKW*�e<=��Tc�X��Ό�0�j`��3��ǰ|2�w�$~m&����)n���=�(���\�}F q�������]P�&��TMJ-3���m�d�Ό�d<l�J�հ�����eY�>{I�U�?^k��ߠݺ���է�o��-��yrJ��\�����C�W�W@[�FirNEt7`B�tc���G�sY�P��=ƴ�H�Aہ�52�2�L�-5�~F��r�4���Y����3�N�����W:_��!���S�A�[�/��k--U�`2�|����o}�5�����=N&�5[`�v�=k<�F���V��-��xI-�u��cI�1F2���N��PWv��NCo�(�]ܓ���bT��;�D�?1��H]J�[�.����N[�jSv^B����_\��NZ�9\G��#����ʱ�V�ot��8�CX�k�̄��+��K���Ȑ��0f`1��t��i巊�;-�9؟½��W��e����Y��fs*���r=jY�kILx�R2
6��+]�x��cD�d�-�B{�c�/��y�Ԫ����R�i_�B��-�¹i�q+,��R0A�T�ͣ97o��&�i/��at�qN�؆�Pz��T����B{�ⴈ�Y$���Wk�[,m�t���D���brآI�ہ�ԧ�X$����jЂ$�<�9�JO�'}�J�P�v~QP��6
�mo����@C͞rj��e:��)��
?̪��+�隴�v�n� �1��zV�h�"w��@J��yO�$`��h�&�G_@H�m�����Fؤq�2k�#*G�m
�ԉCi���P�ppkо�60�\i�q�M)-�H��+�i��]���A-��㴓#>Q��稯5�ٴ�؄����e-�\�F�7�ؚ2jv}Y�ƹ��Æ�{�ð���#�x<�ȃwG?Z�n�bۼ�[�������k�(2q�Z9r�݇�{�ڑ-�4��I
�69��})�����W�yXp}��Nt��
���2xv9u�m�|�.��xe>��KWl
���q\��Y�ß�j⬕6�=�R�O��ںi����Tc�s��z��;�����@U�ٹK�$� ���t�}
`���k^��_��N����F&B~p�0;f��Ey��xoSH��6���t��W\��[���ɬ^��cio��wg�V����}RKItő���,�=�5�)�G�6�5MoE�m6;xYb�$�!r�q�Nj�zd���z�ъ1��@����+)V�+�(��"����]*�_k�\@G a�qM�E����O�K��"�c���]���Ԯe�;��_�V�m���"hv1c'=��ҧ��]�aoy�Z�qmq"9<`�Ƶ�r}�P�~w=OOլ��P\�D�:�ѱ�pZ��o�k�-�ry/�)��}j�5ku�;��M��_��-R�;y�F��c����M#�_�mv�Ǿ)߷�>氩%����j��4d����tr1�dҷ<;�ťj�^E'��mKg9G>�t�f�J1�u�3O�/�m?ŷ�^��K�܆�7q�|n:�Xכ^��~ ��{�����1�I�u�QE�����B|�3м%r��[��[�7n
Pk�xa�]vO��\Ep�$7�+�����U��C���>!Kk�G�7$��7$zgҵm�;w�O&��	�<D�*#J1Z/BӲ��E/��k1G��l�q*��=�k�O�*�8��9<��q��s��mڠ�ԭ|��.�̟!���n�=�l�=��$�nNYMu{7*|�z#��]��g���=6�H�DHH�gB<ϯ����K#���}g'�c�XeJ�n��t�.�qNJ�z���4�ܳ�6�I���9��X�D^�P����[\4^pĀw�+)J2�5���F��,b�*I�\�[ũn��gHx�q:�=��N��e��ʐj-m�Of.#���s���~����i�UF1�}
iQ��`M�^�F��S��
���gk�E�2�߭E�^\[Z� h�U�ͷ���Z�	[��m����U�Q\��'�4����KK��S�8<�q���FJz�C1\"����b�no��LB?�ڴ�WԿh��R9�����;�4m
��8�H��hG��I��#���a�6�Z���!�=�]i��2�5[?Z�E����'���T��K�	��k�Z���x~����jz�͵���`zՉ��}��U�~Me6��l�sKo�n}.7�
�����D�$Pv�+��K�Jw4{��dVw�j�0�<Ǣ�ɭ���K�~�S���
��/�ۿ�-�.�`��^��d�^�.n�-��m8���ӎjҳ��lz��-׃��!�ٔC,l�ܤc���Z
��+�{b�}���{V�߼�iY��E1��@�9��Yop��HH-��j�;�5�%�u4&G{	�!��i�W�j}���31$7q�z��\���� ^�*��
�֬�7�99�����oE�f�5xlmvy�d����K���h���1V�A���ꕭg���5E�w�b�!�d�����y'��L!�k�i�]WR$�����m���b�Ö#�j��7�Ҡt�7g���6��F����"�	/"�%���a[��<uc�+�F�#��X���'%�u��㫷̧y$[)؝�Zͷ�������{y�Ǚ��zcx$�d��b@�7(�I���Z[MWP��g���{x%;�X���(r�؛�ܬe�����^B~i1֮i�z�Ɏ����������n�)����[{��)cl27Pi������4��4��ޞ�v2�`ǯ�9)���T�'4���R�-b6q��H0ϖ�v:��H����P��!��>�2]��%��;n�}}�����Ap���|����R�c�P�F҅H3O�Y߮��v�.�u{����m��H|�Q�8aЊ��ׇ���T}���p;�k�|��V�]M�y�{�k�h�j�ڋdFi�����W��򽗉n���X)W�T<0#���ABWN���D�ߡ��,ItHlb�$�o/�%03�5��ھ��
�U�N�
�K]Vj,s�ΟV��Ţ�{4x��8=�s:~���Q���Ns����&;�omt�H��[-�Sn��=��[���S�f@�3ۊn���Z1���u� ��o�:\�F��-b�K��{��k���f�($���9��֡6���n��۩<��u5�0$@r���aT�[κy�1�+�%kt�+Hуr�qRXB"������[˧A4zO�[ľ�u="�t�
�bݐ�z���Z��‰�^}�m����fA�Ѓ\э�u�v6��<�n��4�TԒh�ې� ��+��.�?�{c�zv5�R�fV�o�~(��𯗧ny�X�v��җP��"I�ne��Yzd�'کԜV���S�,l�5.t�[/��"kV��w=�\��A�R��S)���*��:�jΥ��5�v%�f���}�ڢ(�"8><��'�q1A��-#��;��UR��ӡ;?A�Z]ޞ�4�Bcp�EA6�̛ON�ڪu]Jk��_���]2;!�D�τ����kg�)�Ě\���%�fN�1��j-�%�qJ��i�,��^ ��m/�>�lV�'���G�t4kQs��F�$��eHP	���(�W�Mb�ۜ����٦�GNr&Lcό�ˡ�u�1i:O�aov��7I�>���$�?)nDV��?�;���mP�}�����"���S�d��f�\��N>�.���)I�ݶ2�s+��G�|�]pV)i���R�Z��(����h�u�{���Lб���	=����q�l�p~R=h�pkM-�7$_�H>�0���.�#M��v�Jռ��{�vr4#�/��18$v�k�O�^D'���9�u�羛�[�q��v�t��wO������nZ?�<}?ɬg%m���{��{�߶ܘ��j� ����V�����O�R�0G`�� �=ǽI$&^(w&2p*�~ �f|�Ê{i
�9X�l�⨋yc���J�0d#i�5Q�ˎ��:l$��N��O����:�4�dH�fpH�p*���s��D�td�y�>��r���S[B�c�kz��r#��S��[w�S��IҴ�
��Œۆ+�n�+>~�qq�u��7w�iY�-�	A��ֹ����:��4�i��'��I+''���۽��_��~'�e�PI��2=3^��M�φ��Ŵ^qB�wlq��--��D]�������ݨ���|�G��=�&h���m�7��r܆>���}:�I��m�������^o*(l��#֡��s.Y�,d�Y#��'s��q���sT����S�9�YQP���TJZ�ކ����w;M#�WacT
�G$�l�#'���k����Wf��4˙�I��1MF��a�q��R1���q�qUԼ�!u�綊(��f>���U`��pJ! u=�j���
���gC��Nio|��4�(c�ޒԨ��z?�^3jѸ�� v�y��B;��	���Ű1ޚr�U���6k��U��R=���C�+94�odRg��^I.�����0?��hO�\w��i�G}m,��)�Hs�$��s\�I'%k2 �w���w��6��APNG�Z�s���CKz��B=�,��O�'�_qD��ƏN�u�I��+b8&)�H���Z��QԚ	'��P\|�x��5�C�rq���C��v��9,�G�W�2##�W[	�״co�6�<zX�jN4��=$��L�u����В�*�8���J�^�F��K8�^[�$V/� ��WG�u_�i5�����u�����'�`��?�b��z��C���y!<�T��5���٭��#���������/���G�5�os����S��HO�ٷ|���S)4��JV�c^I�T����WY�`�B[�:n��W�m���d�H�2�\��a�Yݧ�e)i�I��B���Ʋˑ�S�v���Y��G&E�1��]��ҢK&�$���a
[t�"��9�[�����R�v�H<t<��u���/�WT����k�O�!�2	ϭT�|Dt�.�+Mqe��2c��'�*�$��qz�ccH��u-?�w[�/�A#��2{�^u�������8|�5��2�$��#v�����m^+d�'3Aoc?;��E���[Y�{qj�C�Y��Մ��A>�s:�FV6<s�^-�x��Gsd��HT�\W��-wu�����5ҩ�R�S>[k��_��_鋙�k<�;�+�M��5���nI���IH˺,��}	��(BI=طz�i� ѧ���U��V���>¶�v]&�`��	������\~�P|ֺC��'�2���A�y0 ��	�Tlt�֯ƛ��ۃ7�����-ϕY�I_h*��NC���X�����ɏ J3�:�릍u�+�J�ߣ8[�kM�s
֖��3/��o_o֛�蚮���j�M݋�pϷ7�����*��7D�
擥Cc+\y��#�[J�#��B���x�y�"�6s�c'�8�B�$����Mr��KR`�OrN�ld�{���RZOo�J�j�Ce��.�@��"����m|��|Y�h�4WIuo'@��S�ET�W�{Mۤv�#:�S�^٪���by��RX�K�V�=��q��~=j�ׅ��7G�Q����e�8�GӾ*┕��xS�y��m�����Xb���<��@�K����8����ٴ˿s0>�2�ec95�]�r]�3��fŖO:����rS�g�忼o٥��/'�'��x������1�}�PwZt4��뀗v��c�g��dd����P2v���w�s���S�k�QV[���<R���J�-#b���
����m�{Y��X�Y$��g��m:�^��Y"�Ev�xٰ7�������R���R��t��K��vh�2y8�Z褒��#�’�����oR&�9�ЊM3V��o�sy.*���]�MTzN���gx����q\���s��z�\��|;�xv��;�6��m�c)��n������v��ꗗ~
�tt����[�pF;~W��:Ӯ!�Z�P%�.�Y��Tt��[���ymB
��	b{V
���_h���$�g���;l&x��mN[�j �EA�Q�f�\W%4�>;UR�&r*Jp��P;y��Ć�aaI���N�L���/�����+�0��&�(���w����퐰Æ�>��Y4�����e�ڦv��&H�)�hv7�w��!���C��$�
�3{1�r�{����Hp�#m��g\�^1h��o�~R�1���*)6D�ֈ�}B��+LKi�"�SV�7y&���]m�|�;�#���'p�j�2�&��cU�ql��0���s�5ڤ��2$�l@$����>շ�4�5s���r�\{׈��ڴ�����N�G�kY�'�Οd��c;� /�{�j����|)�4X��	0Oӎ�Z�U%4������F�r�Ư=���$�����%p��]����)�Cg�\�#[!`~�
]�JC���RA�ޡn�ӏz.$|ܺ~tǶ`s�H>�K@��Q�����`��].�Z��άi�?a�
4"x��'s�5.�i���m�ks~�!,�28ı��#��YZ�t��.(R�Kr
L�%��^}y�ū��.�{�Om�3iv�h�.�����U+h�+�o�T�}�~�Ң�/�]Z��umN��/n常�{9
���F��5�ԷZ�ڄV�.�Ͳ$����%�ǧj½ޫE!�WZks]ϡ�D\���,��9FOC�ҳ��Y^�?�5��� �v�⮕��X�yn/���|Oq�BgȌU'�]�H���&6�Kx�D�CVЫ7O]دw�3V��+��²)���=��G����;I�����uE�e�2c�O��޺��Ĥ *��$`�T2&V��Mߨ�7<34:��k����$���ga�֫�Ϧj�0OF�>��0��}kg\��4:�]i��uyj\��9�m<?yu��z&�G��'���^���-�K�B��{�]�r�/u��5��c����$��	1�pEg{���F��C��\7v����^���S,b��{�k����&�u�\��a��j�IӼ���Q[�g[�>	`�՚�6Tu_-�p1�ֺmCRС��;�T6�~7�\��+�����iC]D���T����H��*G�`_�I�j������v�1�XE �>޿�rP�*���k�1��2<I�[�M�}W��o��:��c�Z^�=��Hג��g�9�k�v����dA�B�5�[kNM���1_�ʸ�m$��ەkl-�;˨�lz�����k��|�zj�œh�O�fm��m���}3��]����#{y���U�����j�]ԍku�u�o��b=�zս���U�^�l��>Q0�{�z�U���Td�n���E���&��~WzT̏J�~\M���f�O�$�-pW�9��1UV:y��8��:�{��x�����A�Tշ|�����moI��/絾��4-���QI��v?=��|$�����t;�{k<bEV8�k����hgF�E8���ai-��
������U����Y"�=��H�{z�yn��*Hc����uR��˘�w,;W<�7�OR��Z��"�3q��hY��im�'i;�x&�I؉_����,���ƧqYG��M�M[P�n^3:c(l�zƣo}��ڵ�O�|2ڥ˟޲�+rda�����7���W���L�	�f�a�T�i~ƏH�Ե�MG���O�3!Ze+z���<;�Y2Jl���A���>u���M3!�n���Z�1���RG�RY[�:ƥ��F�K+���=�*ed�؆{/�<gዯ��K�FU�qrW���_�߈4�;���\̀|��'�>������"����J��7ٮ�Ú������D�P�8r{]5�,n�=�i�Kk-1�@c$��yf�y��
|=w��w���M��nW��ԏLW;jk�^_3�&��}4iA9�[��œ函Ow�MÚ����2L�737�j)�e'��]�#ľ5���������	�f{��k��ε����D�IG&F=MaK�r��h�NM$�_S��O�!�>�dΒ�z��kŵ�J�^�3��I7�v�r�]4�y%-�V��J˲+K<b5Kt1�9��&!�?�n�������6�V��"
[*�ѱֳ�OFR��4��Hc�������h^�K;y&X�,�㨡�%�
����Q$E[-&[���6���T���#Te�Z��0��w���XF��Em^jV2h��%��v�ǧ��h�a�[cJ�m(O�OJ�Ĩ�So��"w"��ݍ�銮�pF̐��*����V�����7+���̶�3�@�p�4�a�E�ZiZ�ΗzX�JZ-���c\��@�&
�T9
=�Hl[E/�M#r1T��Wt�ͭ�����gR7�^C=�鍬A���+62����^��O�����8���ye�{��f�yR!�.ǀB�‡<�R�{�J�z��7���-Ƴ
Ğg*:��+����ۍBCZ9]ܩt�K�x)�4�!�im�Uڲ�s���p���%#���|�^���D��O��]��ɡZ���B8����jB1��ީ�iʹ.�3kR����Z��&��+��H5�j�|���v�j�?5w�:s���Q�Is/���*2�=v�Z����hM�i���?Z<;�=ը��p�9�|�rʬ�m�;�S�ծ�/&���&�.���Ҳn��k�p��w:
�>��R���2����%��1�� ���ʿ1�׏���K&�ܲEqi#lY���]x{s����\��h&�4��?+���4���o��8NH�a4�Y�-&�;;˧�Jh^�1]|���&����
�][s���ǭi
�uԋI��÷חs��Kj�[A2�[���k"��M�\̫h��拆��ҕF�ȴhQ��Y�׮��a{�$��E�R�n8�����)��ϯ�yX�I���ћ�}��R���	�u�P��l0��U���3&���U�s!�z�`%(I-\d�]D������v�mb�%d�Ό�I�q�=kϵ�￙>ʫm���>l�"����9�oS���:�����U�1�>��'����QA9H.���FrOq�Xc�����6eSo>�ꫣ�6����u4��#�Oj�_�?�5��*?2��b0w��_�喓h�N�_~�$�S5�Ċ�}�4w���O:�Zn�	�	>g�3OJ�c)N�חv�������_�[As`�b�8,��Њ�H����}<�$&�+j����R�臬|�j-R{
i>�q$V���Ps���]SD�a�M2�V8+��iF�nkF����Ͽծ��~QG8#��^��+��c��v�҅'���a�inou'm�Cò\i�.�dq�Y��a���뚦�b�ڥ�R4A���"�;hMZMm�c!49a>tQ�1_�*�F)�/r��-��qꊥ�j-�t9�9u�l�j�V�Q�]8E#�K0��~*��`�)�bX�S�Gd��[w��G�Qq���2b��:�V֓"�z���|F0�ބ�湭oF�H�eK��`�6�uu=蔖�3H�g`��G�s����Z�j�O�#ӧ��	#���U�#�R��R��]Ѣ�n�-$-���c�g�C1B2q��G�+l3R�֚�O���S2�T�0Vll�u)p'b�j�0)�"�O�MSp�H#�9�f2	Q�yN1X6Z.�Z�h-&1̱i`|�������d�� 9��-�\�N7WEHևė�<
v��/����=�\��MD5Ɲʋ���Q��L�o#;��I�\�� d�����e
��U�X�4lR��F�m6�v:f�
�$^k�k)��ʛ^B�RS��NP^�B�,���jz_���H6���ҽ�R��1�`
�W���)�S��n�Np}���w�:��5��v�C�/��%���C�=�)=D��~(h�FӤ۾{��aP����'!�c��:�C&� r��F}*��MOQ�h�sE��5�;2v��c�;�Z���UWJ֮��P�l�cc��uϭ[�m7V��t
�q�F\��	��URq�d��Y�t[��jier���d�9��H�w���Sx�L|�|Ě����J��.�L�gӵ��4r)�=)���/���-��9@�9�cXN/��T��Z^�D��z^�V'U\~��~`q޴5����?��k4X(�#�zU������)&�wތ�T�Ƴ'�f�e�,�m����+�PU"��d��1�F
��{b��� .$O�`֪I�ݐY�����2��Z��$�S��Vy�1$�`~U�8F�h���[�qt��!i��ջ��J*/��ݹU�k��1Z��e�`�L�<61Қ�k@2yHPr���0rs��@HxQ�E R;���L��g8ǥ
��ۓR�E,�l�3��$��Mx�J�W(ۣ�99ZԻ�$���"1%��H�?�2�W����ķ�u��;�d����W���;p{��,--5'�8.�`��+���Vj�*�KG��z1 �ωn��t����?��v�C���+O���$�Suo!V�n�ퟧB+�AJ6�m�m拚|�:����E�˩���ʣ�|e���^�EԞ��Ἑ��o�oa�Mr�8�+�).—��.-V%x�L���q��Ҵ��v�u����S�/�c�]\�I5��3M�q��$��Ld�`�<�jXm��	f���\�=kgV�m������F�FQe]�O�
�db�[�q����ad�y@��90�.�����C��$e�2��������	��C�jQ%��]A�"�#�r֧ױ}���՞�w��t��\�Ȁr�\��T�1K[
1!���v�k�s�V�Hi����Y�tL��@�����k��=��;f��
��:g���V�W�f�=	m���]^�������כ�G������ ,Z�dB=QC��z�T�'ig�C��x�b)2ƅ�G�c��[����ѽ�JV� �W��Y��Qif��M����
�v[}
�\)D��=�����_U��ܛ����)�1������Eh���Z��Y-�F�%zU��?iX���lf��0��Nk�5_
_XO{)��Z��ׂI��Ӈ��j��2!���c�|��g�|�fG=EtRO��Q�_W�zܳ�D�Mg3f#�L��>ƺ;�5�WG���H;�7�x�
���<7��\����A��G�S��hP�w�zOÏ��t����j��;�0C\��͞��zIb��������k&��r�u�`xC�Zޛ���[��Wʑ�k��{�Q�{���5K�wu*��1o<C,}A�L�v����*��|A>Վ��9]鉌�����S�^���>(��Y"N���c'���e��g���g
�پ$�X�Q=�Hc�f�U�`�;g֣����w�X�~}��>b���s�ֳ���Ͱ)+~G+����9{���gcy~p���]���iV�K�E+\[�Jr~oSB�]�Wס�Q$7'ce3�Z���7��������8ݴ�}+�o���xKU�
�I"��3��U=#�R�iWzTh�or��d荎YOo�J�s�v�M��nzf��}9l�5;�e��`�g(8�w����ntk{c�U�U^��`�*�z��k{�Ϣ�+ϲL��q�L��y����yn�,��/�t�ʜed>gu�.5
&��Y�?R�Gt��1�w R�����մth�'&g�$d��OJ�����ț�J�O"�j�v�ao���\˅�r�X�4�����|��yTM�%I�g����)j���X<5���a�i��;D@�o��G�֎���k���Kx�9�r9��Z��s���>˹��zӽ��
Yσ�5��#��|,�[[�I1�c9���^��e+�%�d^�g�52�W��$���v�,֭$�2�$�6w��i���9���I5ќ������[�����#t _��F�����-��{���̣��&��5����;��亦�.��Mq$�����s���,���Pvrsһ��T�(��H�H�an9�9�93��S��B�B��2|��֮����yB�I�k�ƛ�O�t�D�x�x*x�=ǽ6���H��I��J�v��},Q���;���(������͎µJ�vFA��]���R��RqMj�B��0=i0w�ma�(H�U"� ��jjY�I�Z��K0�
ſ,�$}*��!nX���Vi+�M�X��;�C�;R��n�ⓕ����x�I�m2�|��A,{K}k̯�}��9a�5�
��Q9�c�:)�HQ��<_�
���9	��~��Y#P�K����&��,��P�Ny�cQ���.E����R�*�41]��(�u�]G
�Cz�8��kF#�t��Ll���S��۾���
�uU�c�#Uh��/�M�bմ�ݒf�*9�@=k:��[EkQUc��'�5�Z��)�{�7�E�|g
����d�\��&z繪ږ�u��]�Kx�PL���Oʮ��z7�-��ڻY��L%�2�sIo=���n,�[�ch��;N:zUf���jTԠ7��v3ii`-�{I��F����Vl�C9��>`�v+�~S�
E(���d]��Z~�$�]N����Ag(���Zɻ��4A�a{�Im�(Ol��ϖ���|��/զ���Ⱦ�ob9-�}E]�'��2\�mk�-0�$��B9�+JTܪ�T�g~��x[±A,"�P�ی��?���5�;�O3Q�(.�	��=�f�:���/r��n�^��X�����^B��U�E�́�0y�X�iZU��,��L��*�t_��q���:I��Ф�|���rZ�IlYq	V�3�MhkOmk4�D�>�n�e�6��j�഻}��u��4��-�,
�&Ø�=+��D�\���Gߓ�L�\j��e�M�6�{��z.�.���쁁� �����x��6�ӭ���^�q��_NJ�'Yr�g6�1��o�q����q�|8�O21�I?��?Z�S�WWMf��m(���؏��^}xM%&�2q���v}T����,�^�F3Ͽ�x~=CF��]6XIءB0�=@<VQQ��=S��7>'{xu>y.d�iJJ��6����Dž�U�ZAl���](�3'�>��n�ij��I$��y��,��ܟ8�D`u5��z���x�5Ww�X��3ڶ�]J�Z%��;�%���]hn�si�I"�'=�{}J�7�������	�ø���U	���
�eлoe�����n�+����{{WM&�e�}���5�Xc�T�i/�ի��-.eN�+�h%�z�����`y�����xU!U
�;��R/ݗٽ*R�n��h���=�<,�/^ٝyY8�GZ�|ao{�__��������@?�Ӝ�mm�n��m�ԫ��]�XE�G{y�]e�X�3���]5��ftD���v,3�ןz��RW��c��2�奕���p�{��F�+��X�������O3y�ZL�����w�+f
-�.��i�ZX}�n� �͆��xk�>�oq/�G�
3��aOڦ޼��*m.�M/M����v`�l��_
X7ۖK&�mD%�c�袔U��F��cjl���2犢�Y�<�$v���[���'���k�N+9��)=*"v�y�y��i�ǺV��Fh�p֨Ȉ��]��1n�
l,�%�XH*��R�I$P�i+n����_P4t9O� �X
��t�=k�/.�$��k�q�b�$TU���n�XK}H����t �d��h�U)���"��A�xR�[i
�<��*}�Q|�}��jğ
4X��um�.H}�S]�t��M�Q@BcX���=q�����ȅ��</�^����K,����B��9<��VM��/�ϙ⋈T���V�#x����=��1oR���@�����e &�4[�\���$�7���+��ܫ]��k�j�}f#pH���Y�'�o	^>f�^���d�zLm�!��x���>���E��I"\���h�e��:�칣�SX==kT��5�/v	m�1�RX�cb�N�mT �1�^��9]�r�N��`>�u�&'(�1�1����^w�[xR�^Eu�[��)P��	�]Ri�=��sꤷ�ir����?�E>�a̛%V�ʮ��J�ȋ�n.�n�V��|��G�ؑ�Z���>�)�O��P�˹��M�&���Dr*Y�A�6�S�J�dlVE��Sw��~�W�\���[��h��Oҡ�P���o&�R��l�U$ܮ���<��y��A�]�I!�e
��u8���ċ"��x�+
�F(�@��;�s��Mi$
nq�Y� c*��
>	Z&ܭ���'$��I9i��ZcN���8�&��۠%qD��s��#�k��S�yB�C��ЮċJW��H�G��W�5�SU�{���Ypx�IE����ze�C���=���a�O�Wc�X���QkZ&��b�Y�k6x8�ϮN�zꙢ�M37X�O�t�o6��s�:��8o�K��Hh�~��J<�N�r��#�H�к9��>𩬭oN�5��o*P�'�ҢT�"̞�{��h����c���,0å@�`�O�4D`��]1��L��[�6m:�[Y—E�9��Y�?+)�5�+*���u&1�x ��O��7r�ǵ\�$V����K�հ�R�͘����-������8���QY���-����T��~��Ÿ��2�컜#�g����\e�[�]_Sh��'�>O�¸E9�E~'?7�����Eu�޾�1�&A4Pg�D��=�pZ���ڕͻ���$4j9����g�j�	O����>io|*�^\�Cu�T��ƽE���d��~ɰ+�Ŏ)*~����B�v��j�����&�-��'�+���;�j��Dž!�\�6z{��N���}�+��5��`�Wo�n��7ph��z�c�]�q��@�*׌�Rڮ����`��H���������j���/V[T��KB��Fፍ�(�48/���}����ecÁ�O��R���|�2��+��}h���<���6|4���FX��k�ێ�5�.�Ʊ�ؗ��JW=�Z��}ʎ�g7�k�-
��zt��V7
D9.�q�|���WFC�oGp�
x6�.rw��o¹*'���J�w���>*��h|��X#\m8���X
�jZ[Y޽�h�઀T��CP��;%{v+�-�m�B��f�Q}�֌�J�Z�	�k'D��NGh倜l#���9�j�Յ�f�*Ж��,<k�]��4-o�n6��=Q��c^u�	���K`n�ͅ����WF�k�Z��F���~���K�e�/G��y$�||�	�	�kW�,{OܛH���F?��4�V���F%%k-���7
l�q���l�D�e3�_�{7�=2�jW�+\�xѻq���J�:%}o�#�D?.
j�g24�<ۆޠ��*�������jw�	�@1m�vI�Y+NOb_�nƵ���M���	�ًv6���p0�ָ]�N�Χ�]Y�Gb��'�t>��ng�L���k���{��r���=����dK�k���,��l<����4Y��߸o�+�Ki�]�������]C�跟`��Q�
�?���O�=b���wz.���Cl`8�9#*��n:�������2#�eҥ��O�f�һ��aw3�@�
��R��ib�%t�Y��O�����Wzw!��P�OԮn�k<�y\d��k������3r��
�7���0��Һ9m
PnϢ�`xF��R���ti�g�~��z_���,�oou��\˜*u���Qݻv5l�;���n�"ʬ�'�j��巊�G��H��8g#kb�����cNd���6�㖯5�[C�Co!���3��U�ur��z��\M�h$`(�p��4��\��Ф>p���O���F�g
ַz�Ȗ4��:��X��A�pz�͋�<-��2n�B��x>��Ĭ�Y�;{�Qn6ʲJ�8��*�S�I�9;��`�j�33��@�q��,�o_���5�B1u�#RDx�V�Ii",F�5�z
��4��GJC3�L1����ԁm�HwI����lZi���gy��`���D�зѐZ����L۔��7cT�`J7øT]�F�bִٜG`�����r�t�c�בk�=��%����	 0�W=~��
������x��~��*X�r*�%!T�R'Z�2P9�����$�Y6���VS�����i�H'�M�H�+�������ɨ*�$����)8j����4��_��ơc�B�L`��[��z$�դ��4,�!�����+�{nM��s��z�ʹ��_e!T7���q�h����̷����-�u�����>���(h��	;+�}��-��B9�t,���n!��E�yW.�<�=ҹ��~��,Qw�,^˦��p�Ȓ�O�29�I+�1�2s�TO�Z���w�@~F����=�]���m|={��֭.|<����Hv��̑���
Ko���i:o13&2�>����Vף+������d���av�_8�����5YVH�A\S���º�ʥh�a�v�{�!���+����s����vʲ���-���|��¶�;��p8��RSVz��E�*�pˬۥ�S=�B�	���}+Fx^��=R�?�Bٕ7��=��X:)j�r����z�͍��c�Y�U8iQI`=��i��Zu�w�/��7:ʅ�?�
����;���Eom6�ff3"�2e[n��>�CH�/�})�!y��yrp	=�\Ӧ�.�nmܫ��A���?!��Ï�b��O��{�&�N3k�B!��E?��$�(�i��K�����s����u}B
%��3�O"���OqS�G��鷖d5ȇeڱ�$�ϯz��+[E��w�����zM�_Oj�e#fp���k���g��^�Ē#q*�������#M{������㮼8�'��,a�"�O1$S��b�S��f��x��76��nc�1�U��dgj�n��i
d�)�@<��܉#�L���k��b��	Jv�A�����&�z��@x�̄�O�
����n��[Z[Eesm$n��w�C��p��]���u�:(&��"���0�G��p:��Z�q�Ұ�9wAp��z��ִ�QZ�sW�hi�d�S��]����	1l���J�c����Q����I��ޕ�Q;�DQ�3Qٚ�~&2X��У
C���\��pɢ\�s�H�Yc���Ⲍ�{��mZn1��eM'R{�!%SFzq]����d��dhlfn�koh�Q��*v%���#~��?��oP�Jɼ���K{��0ӆ�0�)����4�F�J�Fv��[�~�
�>p��V{�dT��v��J\��[��p�ס�GG�xP[��a���O5��wfĴd�\p=kx�E5���B�ic?6�b�T�/��+S;6���w#ޠp|�H���D	�?.3Qș湤�u~{="�瑖P��E���6�4��s%�-��]|=�)ͽ^���!��1��>���J���h��$�Ũe�"���"��/+�Kiy؂ؽ�,�#+�k��Ĉ�e�Tid@%%v�oj��[>�N���O2|4���羾�'�
�c�8xgv	9$���)%��.�W=�E��K��c�@�ޮ�K���������٪�e���d��L����Ȧ%�NrO��/W�?mMBN-���g��Y2䚭�jZ��܀�̌�}�
��.ON�д��*�� TDs�)�|��5�'!H�Q�l8#�Ҫ)u)2�[��<�Ο�Dp�#ޢ��$��uد�c��W�;
�ڈ�J"ܧ�	�4J
j�X�B�i��b`2G���t��_�xl���ߒ�炴��$��E���>5�t��KH������'���4�K摯&��$Ž���ZM&���k3�:��J��1D�q�rk[ƚ����%�z<�>�+(-�ȟ�ϵ\T���}A+npօ�GF�A�5ы[�+��^ �xͼ�Z�r:EUJzk�3z�C�^�Gr�9!x?ڧ}i�4�+�w&?\zf�i{��%X������!.�@�E�}ߥf_Gw{)p�����'w�[#8ǫؠ`���4�T�c]��\��JF�tɥ��ʷ���S��3�M'LZm�˿�0w�\m
��*��<~�J1J�ʢNە_G�-�6��vx�&����?�9��H��;�E��pA4�瓞��#.�r��ޕ2���7�L���JƌR�Xّ� �5�q�9/�y�5[H��a.c�?¹$���C/���n4�X���<�rw.�(��=3]��������ZUȐ���r���E>f���|K�I��-�:��;�>�;I�5�**:���|7弳Z�֦T���F	#�\�5�i�]i�%�h�H�Uǡ
C���q��ԏZ���'�#�0P�9\5�:�}By�BTt�=��s�+ѣ'��-��z�vH����;UI�#���2��#���슧�V6VZ�ًU[ta�H�e>��&�sv!I��;{�\gz�ʲN��rvv�s�/�6��+;F�0nCWMk�XCjF��훔�s��Q�-5Dsk�̽�u-M��X!�Hf�W�Z׆l4+� ���m�Lr��S���k
��q{�'���/��b��$�w��o�kO�B��7�y�������=E����i+[���izMֿ�阄�s��C|�N�~�T�@�nc�&;o�E/��?�].Qwqi�v���_	k�U���ԭ���¸)|A�ئ����D��#�����]�����m��ga��𽵬�}�r�|�&g��y����Y�u;C�	�d�l�=G��RWW��M��r-_J��ç�v�ym1��!�F�8�?:Ͼ���ŷ�l[,�"z8�Pm'�����ԕm�UC/
ǽU,������(��+x�[���I�Ox^��i�h@�0��kѵ�6��S���ݱ�<||���Q�5����(�[�_c���Ú����X�]��0~�Wv�6>�ڭ-b�]_3C��P���M{�8��oE�y��u{�����F9����*��m�7�*��%�bJ�Ʊm$(_��=v���������]��›��s��>��q⻍cH��Z-wsj��'-�����R�hv��|6����zݶ�d%L���������%�P\��\��ۮs����'��W+��ĭ����Y����71,�.&#�r�>���s���4�0��8ȫ��`���zE>̹�/�_�ٶ�<�Bc
�v5��I.��i��Z��"�6�3t��ןRR�Kw�&{�.�
��m��j|��y�8�h{�uym�Z@mP��Xmbf����N{-Io�k���h^-���r$p���BA��H����:}����ܤ��%�}pP���"��p�D�$�\l�ы4�[��g��Oǽ6}sR��!��`�n�~p���T��I�4W���%��u{�u	�J�Q$j.{
�5-F{������;nbF3�]��D����b�qf-�R�-�p�y"���c\�W��$��յg�J�ۡEQ"��:V/��"K��mҵ�z~&SW���/�umcN6.�o����\�mX��;zV|�/��w�Q�����	�U����F�H��j��=*���o>�%��S��r'�UK�����/ұ�3ЋܤQ�Kz�T���
�G"��l6��!G
Ny�R6b�J��&��lam�F})�B'�9�-@vK�g,�鎧�ҳ��D�u=��&�U$�NR�T�"����Vn�b�v:���._x��V$�IvB�sp3M���v��F^j�}Ƶz�Z���9lsS;�&g��ڛ��vx��Sݳ����dc^a�.�ΰ�ϻv�'��"�f�����
cమ�N�xj3���7P0�CDc�S�}i1�a@Mz'�,���n.��F�]��ݫ��v�%�֝o.�5����k�� �����2\�ȶw
��̧����U(l�kR[��M�M��A3\�	)�m�3����i=���7q�|�����M�8�.�J�Z�r���k)S���Y��u=��i9'ɝp9�J����I�[c�:MĖ��%��L�LK�֗�&�N�4��A��Di�x����T�(���VK��h:�i�+KkǚKu}��<p�1�z�G�]G>��H�Y 0PB���W�h�M-�}�df=U�$�������ݗ�o���SX�֩��V;D�i���yi&�
��t洣.e�ݛ{'r��]���e��׉c��4�8<?5���d�_8(})֛�[�'��v[��z�|�Ը#�s�w���mv㹙!������8;���aǻ��~�W��d�-�hs�G�����x&Q�k��R�|�Tҳ��)������cԞxm�6�I.{s�YD�h�y��\ٹ[�y
z:�Q\m82U�:}[�K'�- �ia8�03��x���R1�3j0��23���=��r��fj�^h�_���0��b����;^&�c�h����C(PJz�i�w�����ӱST��i!��S*98tf�h|=%��^N��C���{�\�����舨��F��ԭ�kd�4m�~Lw8���"�Ybk�#Ki���|�})B�c�f�6�oG#��y��
IHB%o���I�F{}*K+l+·kH�Ժ�q^�z0��]���^����������W{3hs�q<]Y�~S��i%��]Y�!es{�7-{�]j2�O4�DGN=�gR�JX�2W�eU�����w]�H����d���d�Wo��cқ�?�׫{b�4#-��Z��^����mK�7�t���-�	
�L6�B�a�>����]-�]ܘ�9��U���28[��э�꺯��R���2y��!���jڞ�����'�V��P&׸=����|ΉWSV���!��O���g[w�#ڙ=�2BE��*��`橮m�9�/�jV�3�)�9y����I�_��u%đ0ܸ`�$S���u������e���=�svF����y?J�4�
I<Md�5���v�x�U�OW~�qik�VL�^���zlWQJ�
�ս�9Ms��R���F1�ל�R�I���d�U)t"G4�ˎ@Q�TO�X��3+�'��Tr��2���&�0��l��ʀ�}
o޶��u���?2��}����%���T�^f%���G*�L�ż��N���J��e��2����#>Պ�uz�`�cc�Zt�-Ŕ>i�t+�=�k��mV��l�/,�Q�p$C�,x�zg��6McV�����C�C�֔ ���#���EjPQ@
c�Q�j�J�YH�?�L��ʚ�Y�(�����c������ ��Un���Y�]�l�@�T�p�f���iw�I��,��дQybn�$�����1%�`.-v���z��5��)E�s�Zy\�Ye��14�p��������.
�"�:Z�۟ƠR�~�yJ���߸N<��H�g�Z	#�$����<f����t�XMaz������w�$��+us����X���y�{�S��i�8���q{m$wI�T�Y>P}��-߽�/��&�D��AFc�+>;t��\�`:ץ��%%�.}�#�չ��FM5��7ވ@�ju�Ӡ�����g"l��ԴӬ&�yn�Z7Q…�&�����q99�ءt��\H=�)�d�Hr� w�"��d=e��B���!�O�'�"݀�5МF�-�~��1�M�D���.x�+�HO��y��m9���Cq���dB3g�횀\�Hv��={W-Xs+Gg�����t{���G>Q��,9���g�ڹ�H�����.r@�ե�ц�?Z�R<����-�M��ù@qПCP$\�ⳕ�;'��&��n��hmc�T�Q��;�&���F�Prj%{�ס\�m�Oe�d��91��}j��"�t��84���+��I5�6�4�i�+���J�R`)Z�n�8�ۂ{zSS������6��Ǩj1C,�@��$�n�=�K6�����ъ�{qZ�1��H��fد����6�һ�������IZ�﹠oW[O��g� ��A��&����3�A2|����G��G�29�ؠ�$"��=�F�Ԭ$�ܶ�<�c��Et*
�9�㔔���:N���ZsM�x�D�<0Tx[X������w9Vǥs�+�f�1���y�����ŷq#��Gb?�Jӆ��;k[Dq��l�pN+����V���.�i7o�ډ����̣xw�V��i4oX�ܥ����c,ï^A�[S�V-Z�5k�9O�Z�s���mӸ� �)�[�Njt�xcP����~t�����XM�W���dɨ��f�wZ��X�M��؅��n��Jˁ.?��qTu�^ͮ<�;$Kp���1қ{�Fu׈L�(�R=�eYRwm�H�~�i�k��Yڻ,�0�*8�v�%Ȭ(�z]��Oaar�c4�����;�{]�M��h�n�F�IWʹ'�	N3J)�O�/m��5ۼ����^��i>Ѥ�5��{���.?u��k�R�Cz$����J�ZԦ���]�r��t�t��5{��?�*��p� w���z�;�sG&�ٲ�}M�����Y�"Ԣ�E}g�f����pA���'����fۤ�a;c�=��S;�t��v-&�s<;�p��Vuš�B�䎼֚
-�DG��w��A�sM�ȓ��}ю��,o$n�D�$�ãz09�6_i�8�l4�R��t%W�HO��>�ΰ���|�z;���m>���h�k���W����.|U�X�J�Ȳ�Q7��B�H����]	ߛ��ֹ{�6�"�qt�Yi)$�J�et���/
����V���8�	�n��B}k�}�PqI�jM����]�n��B�K�`�o�ZΉ}y��bX��s�f�J��WF?ge��xZx�4+��tح/�&B�`# �>���濽��	m��̲�r@3�l�NOWס�Wm�kڍƻ���wZ��`rh#��MX��.�/���K}=M�W*Ò���֫v��4m�f�4���d��� ��,��^}%���2Gq��3����o
��ꉋ��s��#�ZTRh�F��c���c�-�[���A��K���&���_C�.5�S�ЂΪ\�Z7-mj��C#C�Ҫ��V�x�۰���Lq��1��oZ̅Yn����7z�Ko1
G���r�S�@���KvS���
��؋V6�|�X�E��9��7ۍ���枩j;�ƭ�\�Y���q�*hً���N�S'n���E>�\�y��K�8�}�����֬$
�֗1/Q�>g$�Ryd�gY�&�Bc�2��ޢ�D�B��5,�h����I7�sHUԆe�zsޕ�4���f�T��&i�y������i�-�S�D� m�{�S�����l9'޵VBvZ�O����*X�%���T�]D�����_l� 0u8 ⸟8��x�J�s��:}�zѫ��kC�X�(�{�|��C11����f޵����v��y��l�?Z�1����p�� n��aZ:	�]��[K�K�X����_�"��
�k�KE�>|�${�\㸬���\��$��ޝ�m]G�r�U[������w��h�Yv6_w�Vr��^�Ö�l2?�v����AE��=�6M.IB��BP8Go�^܊�O�k�-t.��h�s"I�u�a��k6���Q�lE��@���i‘Ӛ�J��^_�f�L/�sZ��w�l�G�e��rk���P]�}���A�Ì���]�r=�*-إ�I�j���؈♉FUON	�VE儶�2�rU�� V���l�t��wJ�g@oZ���3��v8��s��XK�v�&b1Ӝ:�R�]{�]��7����U��D�ق���]���ZV�X���"�z淡��Q7�n��14eTUK�
�{���{O�V�WV�/6�A���WNnNۡ�{�~���s*�����^K��|a�#G*���'�"�=��+�u�4cӴ���Y���xY�R}��T�.��}�R�Sn��������O�^�z!{�&o8g8�;��zW3�kv:���4䲱Q����y8�]Z��ˡ�6�G9mm%�|3;�jWr��m,{�J��R�.m3Q�q<?!�џ_q�ޱ�#8�o��j�k�=����FVȕ�/pG���%����Ӧi_섒���k}k��9�ZrlW��|�r�t��R��ɥީ�x�t$����j�_x��C#���Z�^S�e����$�t��G��6�!�"��@�J��s+���5����a�+���Q�n�N�o�'�|96���� �@6�ܑ�Sj1*[��O�?,����U+�v*R�l��돣���|��_z�)|�{ic�d;�C|��>X~E�)ɧ��$��M����\2��"�8�ȭ�7ŒGp�m̍�؂�@�����IN-�&qԍ��gj�^j���k��g9�����O��kQ𾣧��&he��"�a[R%���?�K�B����lՕ�.�'Y�vX�|�W�ƶ�7ch��].>�k��9-]���`yV���2��ʊU�sWNj�6�n�
9|Mw�yEm����y��m�[����kE�S3�6�Ҋu�.�s;ٞ�M��#@��5�3Sԓ%��d`����i�#����4�/�2���i~q���n$���+y��S����ⱒ(�}:;M+րL'$f��Lo�i�H#��J��v�!ُ�?fU���fl4[�q���6�G�L������p��{h���-2����Y̫�⶞�юv6ߙ���uy���tՙS�^�-�
�i���u�=�^��4
�Z�|»�by,y5�hz�n��S��Td�a@i/�Pr}�:�U+:��*;�}�$#����[m�i����#Ԁ��O�3������oj�	�6g=�jk�)�z�N��P��o�p85������L�!Zv;�����]����Βm"�D�.��������OY$�$�0h��+�d�+d��[�~Wb��꾜/?�
�
�&
9Cj��k�d����o�~j��Cޭ�ݰ�ٔג}�Co$�ª�I��4�ۤ娡6ލlcQ��/��#E�v��;��#!��zN��!9in�Κ%�̏6�x�-�W�>�si�],#���h�iO�˃�S8h���ꆷ���Ύ��Z�g�b�+�'*�6�s]G��?�Z�y�(��$�ql�� z�2�Q�reV�.ۜ��-���Ű���i�B���t]!��:5����&���S5+mԎ-��	�sC�r ��WDZ�֓��v3�*PCy���<�h���H�r7t�R]�%;�m0癣?�*����RJVC���=-�Ȁ����1�?�*mFނ��<��.X�ž���p����wB=�E'��:�K�e|Í�����|�R=T�SO����}
�KhFII�i/�;�]�&79S�V(���FN6#�	$��ᇭSY���:G�d�%/�����ڂ�Ì�9W���f��7����U��OJ�Sr��MƝ� Ԯ���,*���i���!A?x��K�FRG�[�c'���R�i����.Vg����¯]4�\*��œ��m;��^����o��y�x���@-���*ܲ���i�z�[t�x�r���Q�il7&�L	m�f�HI��q�X��n��kwdc������^1my��a�6Mt���n���8�o�g�W~"��̻Y���~�Ъ*qK�����u���|ƶ�+37̬85���F�[�W!����
��Z6����w�|=%����]�쑹I=ҹ�+N{�4�0X�L�O\�Vq�W���_K~'y�_�i�ɠ���a���}=�����q���+�$ap��1<��k��kK�r������]KK�ue���՜܀�����[:�SZ�I����e)�HX�.E�[��_o���
?���y��?����}�c�z����Σ5��cJq��ե�}�n'x��B�pC�d��zf�4�FK
� �i'u�>h��J�}�!˰�oº���Zk�L�����19�}x��_>���@I�������m��f��d����w�{�_�I)/<�ڪ�\�0���2.���0��&��?�υ���p�up‘�8�jܬ�7��P��[�Z_O'�-�7G7���2:J�;�{Y�o�&�n���I����t�����kH�m��I.Yqq>�ߝs�����QV^}Y�V�&o�=�&�iz`���9�� 8��N�.:�In�gs�zI��	�)8e8#ު��>���[Z�4���Ni]�-���Ӻ�0��R��知g9n��AI���/����KԤ��u"Ϗ��#�R?:��ui5�V��îн�'�t��pT�3����!��vv0�6�օ���kk���FY��}y���I���Q����E <�����֪����&
�qK�U��b�je��B$$���V������E���:B,q���`���q��Fj�{�f��}Z]�K�R#X�Q�7�%ηww{����,_*�p@�4��ӵ��)�i�Es�IȦ�y<
�݁ ��ɡ��Թe~�Z�Rj2M,#!���5u�I�e06#����%#�KS.Kh��2X�ʢ��B>c�8��W����ҵ�Cޞ����69�=k(��u$�R�R՗��{2ҩ2H>S�*�e���:U(�'�A��;T�	���`�b��o�H�az�JҮo�򡁤Ef���h���Ku7n5O��d�UI�ʎ��� >v�dc�JVD$���Z�ϑ��!��h3S�z5ƌU/"1JFv�$T�r�oЦ#p�tjp���NMZ�^�݋�D���+=��q��D�I�ΐ��O�Y���)�p��v��wI�~�`���oc����sQ҉8հ�s:
��R���\���J����'V^F9ϭfj:���C$r[���ʲr���K��z�2��[��|�$�ڧ�G�2�<pkfݍ/q��P(�F���SJ�O`�5q����I�3�n��sa�p
�W��Y������wҮ9V9�X�AkE�!l43Hz�`8� ��L�9�ܹWj��J����$׈����ɩ��L�-;��Xin��C��t �pzqҽ
�O����0��J��v��V���d1�S����k��K[��̖gψa��(���̭��
2DF�d�a(1��9�(��6(�P-�
m��LW5J��IY��;�3�R{I�%�
{�ZzK��ѵ��D�~`s�
�,�74�6�����Φ�cݭ�O� �5�]cKw��#{
���	9!{c>��G�W���n�DK�^X��q$�É��v������!��/m���6���r��5��u5[sI��V��.T�F@�U<�5�b5'2���9���Q3gI���T�]��/�Dy�~�=ޭ�cuf/d��Hʼm�ὍsN�M��Ghȅ��;�E��r��o%�X?A��&�r�?�[[�Ӷċ�������pĥ�yu�v�mX����:��Kn--f����?N�X�yc�x�M��.�5F����Սj��P�-w��<s��wVp��&�o+�-�Z�f��ӵ��ZC}k��ѐ�WE�l���<�f�e�[���ɢ�0D[�Q�?�g�xi�,Mͥż�lݸ|�N:r���7�%%~��cÚ~�Ĩ��R��76��W<���6�ı��k��	:w��W���+Ù����U g�h�^�Y�q��!h��g'<0�]]��z���tЕ��
�˂�G�һ�F��������l'ѵiw�а`8;����"�Ibے�1�UJ�^�D^���'�;��NJ2�zeqU�A�8�/��̗��l/�W֢�k���\׎�N2���������<}����O�jV�B;��:�
	�'A�_{��9��6�\������+$\Ri�7z{��`<���s�~������l�����	�%Yn��5n���}�h�����]g@��|��[Iy��)��[cK]��U�[��wV�ϧ�0�d�mU>����i>)F��ژ�4 ��T�<��
��O�hV���3nZ_�U��e�6�~I��?1T�=A�K@���#��mb;�TZy�}�ʶ1I:��a����S�5�����s �(��*�Bݕ�nh�W-����>�w�ۛ]B@��W��m�J�[�6�6��qE�� ��z=Ø�f��}o�7Fq��WC��g	�x�Mx�<�~Z�Z���K3�i[S7.�D�A^K
���2A�9
�F�Z�E�ͦ�~RkCm0	4�%���2�
�t~��Akm|�$x]�����*滮���N�t67���%�|/l�
�s�O�⑶��m�����幵�E�.Aѽj+{f��j
������5�7xْ�f�����5šh�$��7���VK�X�P�8�Ȭ,�=HI\���>��?��fY-�m�p�$��J�_
,Aֆ8ǹ�ce}��:���U@#-���&}�Ţ) �O�gȝ��H�Fc�c�g{�s�<O���B�H�4�y���/oƼ��Z��z��R+!c������O�L�'o�jZ��� J�if��{6�&�}m͹^��s�3�K]�I�߱gW�n��i�|�V\	�m��O�Y]�s�<�2�ns�j��ރ����V���eu�xn${tRn���	�@�f������~�������8a�0�5^Ѷ��0R[��W��gx��� a")9��kJ�K
^v�by�狂w?SWRn.�b[W�s.k ���aT��V/�viF�W�DO*�,O<�
���ܿZ�-�-J8ǖw����ֳNK�"c�d��F��q�>�sң�I�5�?z7}��HK=����w;N0�g�JI/C���؈�aN�C#��z�>��OR�� �Ɲ�I�A�Ȁ�>��V�Q�J��,���C�j�G!�@c;��WU:\���%�E�\���&���U�K��B*���6{iÓ�	㊒�KiA�A�c壑�)5b��{,����[�l"
����Z\�"'%����8��b���+��K�<S�k�Q�^A�؜1�S����Ʀ�Mm���V�w-��R��v��e���<g�J�g�M{9�K4���TҦ2jZ�U7w�2�ٷX!%;�r��p��\�P3��Y���v��+�Gq�c�2[p�Rkh�eS広����\�:�m%}��kr�*��pGj}���3l
߅E�-��u��[�d ��:͂fW��CXi͡-X�=�B�SnR9����0Fž��k;�I���ϳOx�e�!�B�ZO���3�?ʥ���Ou�C�N�%�B\a�:g�WO�j�z���=��E�f�]�C��;I=ɻ���怗�3��D,rx��2{IB��mc�JM���iX�-��~�!LD��q��^��)�����d���y���?:�ϝ���n�ͼ��<5a,sʲyӟ8uC��8�>[��mnK�s
��'8��{mܖ��Oqkc�hV:��n_�F;��T�~Uk����c�i��E�Ҁ�F���S�m����^I�X�R�m� ��q�Y��oge�.�Rz��5**+ϩ�U���64�܆���:3t�s �(���u�%�����K���
���\�')Z�-���OZ��������L�F���؏N~�sTK
/]��ӵ�[ʠ��`�I���B1�!�B��K�!t|7�O���o
h#Z��
Cɼ�0@W�g��>��:~�ٙ������.5F���]�fyX��p��+�������.fJ��r?!N)B��*�>��L�y�m�3���+E.��f[uq��McR^�e�s���w���>�þ1�6��B�~�qs���%A���ڴ�>x�k�f�V=�z͇�>M�نo ��x\T�Q^q��M�i�"���k�P��P��#׊q~�2�$��LL��F�c�@O�@d�x��o�#d\��{Ktm���)�ڤ��J��Scz�qO`]���K-��v�bZ"����w�\�rWI~����a)_�=L�5{��/0���YF�Հ�s���e���K�u�}�P[��F0�uo˿�rb�Mi���������o�嵶-�3m�T����l�O�Yt�ȋ��.�����Tr�^�����9�
x��Fе�X�/3���`��G���ߊ����8���$� ���Ť���ޥx�Y���K��x���a�sq��}?:�T��>��vW�G��~�a�huMb�T��-�`#8�v�7Z��v��<���5��\ϟK�:MG�S�^�$�^%���D9Ž��t�n�ne��i`��a�S�W+z���x�T����=�*ps�����Z�>�c��{種��
�_i�_��[2��K'b=���P�`�V0����c��,:H��s����q����>����V�.��8���6�–��f���Ccr���T��%顭��-�?q��j��t�;7������=;��7I2ߥ��	�3��^�k�hZV�{c����G��+I��f�+����w’k�2Ũ�
>8#˓�ۏ@sҹ���E��b��'��x�U{T��4RѾ���:���T֦`.��ʆ�&�jR��4�6�Ü����1Mk�ˀ
�՘!�K��?åt�$�ՊE��[K
���e���ޭ���MBQNs�J�o���g�V���-��J�$���֤�X�t�J�$}��O�T�p�~��:&����[q.6F1�w5~Mbk�G��$wl3��$�V�V/�E�;%��Υ(}M��)�0z��\h@X����F�E�y� Gb5�c?!${�}�#{�j���sV!�i�	,ǰ�r�/��G���dCӳWW�jp�1ݙ$g�[��\����j����`<�i��!>�)�H4�85Z�m	��h2Ǡ����s�^�!hdeܡ��Z����U�d)*���L=?º�Ρi���m�u�P2�5������jf+K�`?��_�Q�u��5��˭"�l��U$&�����z�MӤ���`�v`�8���[���ks"��s���F������j��4`,�K�9��q\�#w�\�]oBMcL�쭼q$l2�S�"�o[Ow�kYS�c�j.�W��QV����ZK�X�N���cd�o�a��|)�I�6�\F��w��#�B<��k}�ұr��>�{�[j�+	�2�m��gޭ$1E�V5��I+��+y����5KK�z�j,��K$�e����;+�"�y�u`0r��,��&���o�Ck�ɮ��,�(K�f�ǞO��b�{	�o�9qr�|���e��yx�����e���;:�Q��2�`I
�.	�Vu��~�����l�b�h����iac9$�u�������봶q��1W��2:�Ҵ�F�&�-g�\���x�E]X�54��
�[�|C��.�^��&OU+�T6�ckWje�;��a�UZi��M	�J��$ҮLeTn���oT��^��Ү�8���g�X��s]�W{�)������洺�L$�1�"oP+cT�M�^"�#��͐�
6?Z�\UH(=V��S珚&�E�i�fKL����J�����&X/ʷ*���p��o�R_eZƊ6��C2K�5��"�du�<9��9�W5(-u�	���0F�:���M��E處T�F���c�]�_�e���r9�y���#�Y5=F�K,c���~�r?�k[��7]u���t��n�j�M�TXx<��;dz��6�в\B�P�.��&��t+�K]�ܳ]&�iW���Sk`g�Jg�t�}P-�WdO�LҮ�s�dִ�{��{}߅t�Z�u�I9�O�r��N�%��D��1Fq��ՍW��M��X<F��4"(�G��YKyk$��@��FK)a��QI���_�M[���9�Y����}��#ʸF��V���l��挺�&�Qi]�����c9-��ƍ$o;����խ7�Z��
՛\��K�s��'�4N�[n%-KR_
r����q��C�-$�x�5�$E���;$@	�i�k��ݵS�{�oe���ڸ_pD���#�Ǧ8��y l�o�̸<7zǸ��Mwr�^�7Ԯ�§�F*20�v��!��q�8ǵN'�=�&���Ұ���S�civJ	ONb��ڕln��2Ż"�Ȭ4q���4�f�d]|�0�h�Z�?�4�=0Xx�L������_S�N/�����Q�4������h����~��NMI��{)cF��K�Gpjai߸_S�
�h�{�U����Cu	ڻ�p3]��б��GL�Lw!��^=�H]0E���v"y�,|����lE(�E��
��x��Msڅ��*Y%�AC�3��<
˗Q3�<A�\\ܴ���<�X<���vy7�Ϲ��I\���׭B�^�^�!�Dd�*�'�]DV�kl��R��U^�(O01)0[�LU�mZ`V�[�h��M� 
�y��n�m�{S/���)�y��=�W����|��6�w��EE$��JL�[���1�qMi؀Ce{U�\Ѱ��k���F��㍤8D$�ڲj���{��evE��L�Z�x�WYE�p�rwGX�1���|q�}�Y��+d_�{Va��c�N��޴�+i܊����b��l��I8��c@��.��P��<��'2��Eee�
-艼7������	KX̓q��Ux���iq���oy_.~a�}k�7&��z�G�Z�=���TR�j�c�'����gkr�)�W�tߕ����J.��/�%���K~"���X���T91r���#����
������ҝ{�x�Kx�=��w��0�s���)'�nL��
�9ʌU�ֵې����+O�j���(�бm�j|�<�	�*>�Ms�7�WQ޲�qzlg�U�D뺅��_1|�dq�V��H"?f\�8Ri���ۦ��urŸ��M�m<���gc�x�K�����	N̉�UF�'��ؿ�ڡ���J���cq�S�����+�Q����c��ʻ��z�'4�/m��=7N��$���ջp��n�τ��e� �j#i;���٘nnm��O\q���j�r��l��d��%>��jV����Q�e�Rрx�8\����OK�P�<�wJ�g��iy�c�#�`:"�]���k�I&��H,�m��Fb���һ;�
=�f��6���I�z{R�(�1��V��>�~�_,��:�3F�%�钬��m6�i��u��k����oT��˧_ۛ�w��R����%D��U7Һ%�-�b(~���5�m�Β�TRI<�Xn�z����,�o�t��d^�mc�j�t_f�P�y��>8'֟�ot��:�R�Ei�
�F��A��}}�gfֻw��N.��χ|\���q3Zʌ�20y�L�WK�G*��^x��D���'����u���e�����pڝ�G��A�K}��A���)��^�����Ť�4M�n�I�;{�'�}���π�-%�Y`�|���I�<�k��5+��O��{k)��D���P{�srn��"v~Mk?�Ӽ[=���x�b�&~\�f��'����Sw)�L���n۵�C�ޕ�$߽-	��w0�fؚ7M�˹���:��t���'o��� �|K$#�VL�A�Ȯ�-���;�<'��jI�x�
�K��؁�|n��UOxbMSm=ne,��_1���٬��}�-x���Hf:�ÿ�I�,.�	���KS�Lv����:e�TT`���tZ���1acl�,�[�۫�“���N\��s�n���π.��	j�}2�W�	a�.�x#=;q^z�-�?g�g`YT��w�^��V�4U������/���A#8q�f�n�AmSU[�
��n�/&���랴⛎��v�z��{t�}F�G�`F"=�ȼ�~�f,���Mqh���<ɪ�Z(�Ճ�E��OK:׊��p��`p��ƻ��w^�����z	Iw��s�>�Nk�+�ۄ�����|q����L�������
�S�MtzG�-��f���[wK��H�Uq+�G�r��.|FӴ����_'�l�O)X�t#�+�~诬K}��޽��Tp2��d����Zs�J�^�Z�B��^еS��.&��B�R�r�H�{WQu���+�
BCo�Z�VV
����J���-�չ��K�Tk��h�4W��K��2��o�m_��N�K�mc��!�UG,p��{�����ފ�!UE7!� �}ɬkUq�v�'^k�hy����:�͝��X��a�^���{�:��5�i��*<� �����վ��o^�w{�4����V��.ḍrEi��E��!�1�֫s�,�r����
Ѯ����z[s�4�B����	._��5�ֻm�ω�xnDQ��O��98�R��w3~����?�t�B�6�)��>�p=y�p\��.Y�I���k%.k�H,��^���Z�����v�{՝:m/Mӄ�{��b)8�h%n�yq8�O6R��Py����_$TbM[��(W6Җ�V��g�W$����su�ףֵ�=r[�YZ8���Ȭ�.f�}����=�דi� ZF�޻+���˸
ur�d����Ҳ�CѤq�F�[o�o48��M��F7<�����)_B�[w�M$��k�Ie����?��>�����mR�V�4��۱Ctϭ�b��:{߆z�tw���!�	��܅9�L`�^p霰?/`G8������ט�[
3]��4��n��;
Ș�G�h���9�e����o}5���r���[���o�d��Wi`9a�T&\|á�� �� ���RF���jZ�-�Ɠ4Ro��(e1��}j��u�j?j����	�p+���(��iKs�W��i����N���i��<���]�"��V=��׋��V��$�'�oz��{�o5��I��0 �M龃9�(�9���Bɝ�8�*[�O����>����M�9;=��tۯ��,܈��I+���o�X��崩���lc�s�W|oRkG.��%���4�f�H�FB4y�=�5�j&y#�Wv�o>p�8��ڴ�]F���M-n�Mq�e�[�kh7`[F�$gߨ�Y��G� ��E�໰��kF�\۶8^�L��5�59Y��ar�Ѷ+n&����5��,o�d�ETo%~�{ح�O�o�-�\<��-�x��E:��p�Ŷ�#��	���i�
o]���t�v���܏3{�D#9�+R�L�mI-��AP��z�q�\�J�i����
�LX���;�	�$�*�{��j�kک�$��)n�*�țC󍾇�\�)�214$��IJ��[���vBP�	�k���.���yB�Bb��Tu?�aR��*��!�㳾�kX {y��Y�8Y@�W|Yo6��K�9m�DC����G^+xK��Z���}�7д4���B&o�9Kl'�5���y�_f�p��
��w��XNWv�]=Z�kZ��D���|E�"����y{��4���
+0;��FS�-�{�V���bτ41$/{q	��4lrW��V�6��Eq����F�H���x��pT�Ԏ%Q�����*�;�wQ]^�·/,�yrNG�4�3�|�,Bk8�"9eN�{�D�����oyմ0��&D��N+J�#�dI�"v�T��+���.�KsXɺv�f�� S�`nϭuZ����lY���ݦAV�T���r^��}v0���ȑ�r�a�,쥊�����M�k-@=��K!�S��ǑǦ�v)&�����\��kv��-���,�����b�5�6qٷ�����4�ݹV�%oR(��"�v���7
��k�J3pc"m�w��VӒ�EɻYl�:G�SU-	�L����j�lRm���&��=�)SV�!�vW�E斊��+�����M���L�G!E6�i���~af��w��j�{�v�'5�Y�k,��� �~s�Wd#f�9��������^wᔏ�X��]Q��!�nTP�ÒA8�� w��08P�[0Ci�h��\-�����y�H�B^[��+���H�7R\$i�/��]���C������~�}�m��C��p��l\iz��;j2�G�,L=�C���GB���F`��5B�?�5��Ђ�N��s������q�u����Eo�D�W�]�hX��X�"�A��jŭ�s|�74N�p5E^vD���n�p��vpq��l
����f�C��4�B�ֹ-[Tk}"�Wh�D�9����J웞_q���z�O$��)t��}���g9�izÏ�Rx�$�n�>�d�V搎��S��f�c���턠	gj�_cSW��j�����!�v�3�����Vp�ِ[$r+��t�V��}�*�8��M�ҵl%���iV���z�B&�;��k�skc�Lk+��D*�7�}�Z�d�3�n�IFr��ѫ�ʈI��M*>N����⺵r���=
Lm)Y�SV��	iw�I��Gul�9�T�g�z�W%�EA�z ����wg�j�t�˝�rp���+Ԛ��?�:]3Eӵ�1�~I^mŇ
�w�|R|M���
F��	Cc�}?Z�7%��q�[���1�-$ز�2��{R�>��L��ݾ�=$��ҳ��u{�k]:����h�đ$�RQ�\z���K{fU'$��e����s�=�9�d\n��p��R2=�Ua�g����`Xe��y���ޕ�8�w�j�rX4�L�D��<�{Rӵ_����XE�~�D~ާ���z4s�>c
���̀��j���O��n����k�2�W�UH�M%�S��I�gg�LXg��P�ߩ����G��qSƲ�Ev�^�|��t�[��{wII��R�i˛�k��ę!#>݅c*|��ԗɆ�qqe"����fh�z{U�3�w�[��mu4wY�]�V�?֡8��Cu��n--���u;%��ն����7~~˫\4py(͟'��T�۲��ơw�\F�d��B9Q�Yb+���l���m���\��j[�X�CFU�4$�6�I�\Mha�4Q��u��&��S�]kk����$����Sʴx����53��~Z��ӹ��:.��\����D�c�g��V_��+K4��Q��N�k8�W�Z��-�gPg6p,1�$3)3(ܟJ�o-�-
;[����洕ҷ}����.}^�{t�c7�%�2c��w�-����
cgmd�����}sP��g����_�Ίw��e��YdX-Har�OץKx��֓z���wr�ٮy(�����Jȣ���xu�mZ���dH
�z)=��S��+���l��V;޳��s�=�x�tմ�pr���:��xL����2��{�?Ut�a
6�ʬQ[E��#�R�N��T�`��Z����
c@��f
-�(����)B�Xn7w3�$w��6m�w�I��o�����y��I�O�hD��k���&��h���L�q�b~f�VE��ɵ[��C�#��ASM�@��YѠӭ�s����ͫ���HcV�E�%�P�GS�W��PJ]]�׳b�K ����>Y=ǥmk� �ִ�'G��o���a��L�ԧ����v���/_A��*���fQ�'�jީ�SĐ���t�E�^�ҳqi��fs{�w7:��WI�y$���"�s7��Vo��Uks���A<Fԃ<\�R1����Y���D�Zo��Q���V�&�[���`�ƛ�<��
�}V�F���P�Kuc$���w�f���JSg�E>�1���+��X�ܺ��L�vy�k��,�ò>��d��ǐp}��)Y9/��3K�u�cj�=Π��3\5�ٺ�v
=?��M"�N�[k��H��a����0�q��*2w9��{=&#[4��))#�>��~!�
����Vl�.0:����B���Vn_��[x�\�/5	�oL-z���s��=*���\��2jz�լ�G�JO7�8��[J�VrՄ�}Y�?�dr�LK}��;���_
�6��m�^_^$v�;�(��ON~�
��$getc�x6+}/�Jy>�;��m�~���/�^M��[�P��z֩����W�6�B���.�
�[������Aagڻ�+:+7�,Z�+�'��T��֖�֢S�M͞}kH�-�Z^��5��m�*�����?��YV���9+�c��ǃllud�ѭb�h�h�8�?ҽO�x� ����*:�zq\��h��ԯ�hdxCQh�<E�����U�N�]GG<So{rC�lwi ��k��i�(G�Ր���&m艢�{�3�ZY��73� =1Z�)�]����۾}�(��Ы�8��{˩J|�V��O%���]�]��I6�6]G��c�F=�?�톋���ZE��7��&?y1�����:�Ŧ�臀�Mf�������A\g����o�=&���
���/�
�2�qm]iЭ5��[Fv��g"��>D�:��GZ�I? ��SnOjVzM��=�X2�cֺK�����\jq7�$���.['�ǵ����Ob�����!�_ߥ�A�d�Oz�����G�Cw}�-+-z��\[�m��e�|����M_S���k�cͩ������9�����<����sH�e��ciiuq0p?v� ^�47mV�ջi՚W���a3����<�[���]�'�|E{%�F2�nN����)�K�2p��9����.���!��3��Wm���?0?w�*~�ks]�ѱ#��!0G���JoLU��xM�s�qr�L[�A��o��s����,2
z�@r#1�{��M�u6(wZ�����]�=[K����9?�&&H�y��H��̻d^�޹j�Y۾�KFRdʜ�]��*��fsV-#� ����6���&�Q��9O�[�]�߇�ȁO�Y���w UՓp��!z莍�㵚@D�|�d}=*���.�fp��q_%R��^g�����}:w8o���W��M��YvI41��"���5ɖ�l������ڽ�AF<��+hl��7�{Z���J��}���]��\ߓ���ם5;�[{�=��f=&�귗6�$�+���t.z�?��Qj~�,r��;p%�:���z�)?r�sH��G�ɪ�Kgn����,��޺��-�t�	%I����lǧ�Ұ��%m�k}z�������1_��Á�=*iz�������UF@�Wl ���lk]Bu`t�+��:���}������V��k+{�����l�L��;�ul�w��z��CEl���}�>�T2�iڇ�K�
�M��H���VT��'��
-�{�=��Y�i2��`�[��N�t=OV���2��,�Q���PR�K��ԯ{j�U����m�gl�wz��V�
Gl�ǩ�F�im��k%F��u���,,�4˻�{�W�D|[���I�y��O��ڠ��	R����ԕ)s.]WV]5�y�Ƈ6m9��0��Zɀ��}�n����
��@b�����Ǩ���%��V�)h�8�Ԛ+{x&��Y2b	�����ۛ���%����"��0�ȯ0r��g��>ڲٕ�^k�H�� S�n��X��߇���r�[�,@C�r[Gv����+�:*N�_�����ˆ�`9w����Z�:5���e!�\8��^�O��_ߒO�B�ď��e�Z�0]���	������m5景�l�Msv�d%����~U���q��qd�r����"]B;MQI���f_���~U��x6�Z���B�YV��3�;�jJ��ZnT�י��Μ�F���!܌xa����h~"�L��i�
j�%��F=ʴ����c7�r�u�Ѓ
4�f;v��k���>��X���^B6�2�����lҊ���#f�����������Pf^7��MV�ֆ��[ʆ�[٦,��U
����N+E�S���-/̹�����]���z����_ϩ�uu3�g*�����+̙Oݲ=�у�B����}M\�Ґ�y��G�s]�FDQ���9m�Nv��^w��dǧ͌з�@�;��<}*����J$JCCf�g�.��m,hKȀ��
本���-�)kyLq��J8#iSL���$Z�����V]
��k�u��;�*ѾUdA�횹���n^
GS�b�(��CNP��
��ȷu�+�0��D�e?J��o/�W;�>Rq���A��g��2@���-Z�yx�7	l����X�O��$����������v�1X��v^�>�M��H��|�?��f��'[��VȲ�p�r��f-2����6dC�?�T��˳5A���v�ib���"X��ԣ��_�^�i���[Z,����������5����eΧk~ͩC!1�0�t#�+�Q���F�[�[�Vf%�"��VC�k�M;}̰�f��8cЊ���p~d:���w]���|�"��Ӵ�Cqi#��#ڴ��ceש�K����>��ZI�Y��$2
�Ҳo�Wۚ�t�CÚ|V�:E�k8�c�>c�=�F�[w��sZ�u+8%֠���,�c�Oj��is˛w���7.e��
��T���KV����l9�B�b�=EiN���EB�YI+�@�R��<NÇ�zUM=�I]X�=+O���hs��L�z��ڸ���Y���k2�&H}�̭��X�]���{��3�y)t�l�{�eos�O��$��N�:t��˙�������l�ښW���$�ҹMr	c�ذQ�$�
�J��5fn�i>�V�-?�5�#��im�>��X���u
j�;mOM�e�������9��H���'�0'�5f��P�����b��kq�v�<�=���i��5sC�D7e�o2��ҢQrZ�s7�2c��O/7x�T�����J�Ċ��/�(�sU�$>b{+{�۝�
9$��j�n>�!�p	K��RW-�:}ݔ>e����
�U��u]N	g���g�!�uN�޵2��)"���[��[�G	�JP��ץz��|v�G�+
V��d(�|X�@�
qb#/���	U����Mf%o6B�sʎ›tl��!�H^k+�p9(=}�YE�5n�̓��6&�d/`�L<�GTd'�?���kZd�w�!�/*O�Z�T�}��.�<��"��ꭎ��R�O5sЃR(>���M:~�=�(�0]Am"�9|���Pk�Ӭ|�$C�y�I~_�`���n�=���Q�G��jj��J���2?Z�N��A��4���n ���n?.=
gX�ky��7ױ��L`�/ʙ�
a�N4]�F���r���:�QU9)4��E_^ō?R��t�6ww6q��o_Z��iM���d�էj��adh�8>�9�g87����i���4]cÚ�
���#J��VG������i~����t�j{�YĨ�[ly����6T�u)��y{ё�[��Ҽ�-+X�Q=��^|�v��wQ�=iJ��z��&j�݋~$��<,��s�*>�p
�;֮�o�[x�k��e3ymYrq��S?�GK����9��J�u���Ko�i�D蠮爟��=Oj�cj�Ja�M��UB���"��WkqI�\��,,4mKԖp׈��[�s�HQ���/#����݌��	S=	�\}�F�F���>��{����
���2X��g*,�;���8#���K����n�s%��ěxݤ�z��Z�.<(�^�֞C��}�#����֍�R[ԧ�kW�Z���3}�e�q��ֺ�7�_�\D�̸����+�م�kRX
�#���'+{���4�6�
X�bD��s�UI���vg������Xu����_�}jY4[/
��D_R2~�a�C���*jĶ����W�Ү�HdY�����}�S�6R��F�Դ�g��fXna�~e�~�M��1p��5��	�^��3��	T(���z}*��,�ol/�r�[���4�7>Y������]O"��5��z˥�����<��k94�Q�Ingm�Q h�bI#?�?ŏκT��!#�K���I�no�v�����m"}N�?,��e�\$����׊�]mr��9��%�ͳh�2�|e��Eg\j3J�l(��קC'i3��燇�����^	wB_�����j�z���W}�9�B�-"�O=�:��"ROm�V��|=���	
H�0d�P?��t�\�^(�+��FyS�m��'��^�
���y�++kH�p�O�����~�^,m-�͑NOҪ.�ucm�e�cum�
ɠ\��&�o�U9��C�<~u������.�^F�n�#�R�s�[�vi�ue�w:��>��TM6F�q������.tY�G���ڏ�>bc��VϤ��K���3���k�#SQ�Z�|�X�=�ST�|!��]ȡU�Ձ���qI��^�;[�,͹�_���Rk��܌��)���mA��]��m\����J�|�VH9T�։�s'��!�N����lYA�k�z>��K�����qg8d����?^j�T��!���]�H�,�M_Q�L��K�`�Ei^xK�<s]]+���+�ڪj��
5{'3���U��u"];�������7�|7����Z=�&�:��j���n���mkc�>h�u��W]u���ccȍE�w�;-"&���Ov�rF9�?��i�}[�Dm�S¼q�k��˨9�[�����vI4	PZ^_�.�-	�Xl���/E�,����YxB=Cē����m��lm'�G�94�!;˗��!yw��b����wq�c�»˟i�&���H6��+���_Φ
J�؆����R�Ϻ@��s�ɨ��x�ር#�m$<,Obx�[V�yVp�������, �!���ub*{��4��0
���j�{v�v��VP�+�&��dz�6��sP1sR!�ѳ�
k\��;���}:W
�s�m���jV��i�<H@�a~�>�ψk~̹,��{UvO^jb��Gϊ����ke�Bg�x7X��� �+x�� ��>������{���~�;Ub"��Bd��T�d�9�<��V��r�j�Q���n�����v�6���k�M��Aos.�k���b;����D�_��IaS.6���1
j�qw�Fj�5�U���r��vs�#�*�M���	�(��W���
1z�F��-���؞2�["mR�$1�U�x��[�i:u���������N�V�߇�m*������t�_G����E�-pd�%z�z�:�E��ֵ/$Y��LB��s�YQ�������xcV��P]�07�n��ַ/�KkS
��ΧbƤ�=��ՌU���紁a��I��k(Fb-�p�D�Z]���i�|��d���{�\��F�.��Z�$�Fm��6��$Z�����rP�*=kV��m/�&�1:�FL4�aFNpRZ4Ri-u.��[=N�5)-Y�����U�Bi��o|?��-�[�[����N^�N[=�;�,t�j�6�E-͸Xn>��2��O�֖�|�Vw٤�#���vM���=-�[y��X��G糨W�A#�WG�[K]:�L����c|J7)�j�����X�5K�FY�G�
�1����ҳ�Q}a�)mZM����{��Y��˫�r����;8�+��L�����+d�ֹO�k�\����<��nܑ�����C��Q�#$�+�� ձ{��_M�in�H�H��^�Q��]�n<P"�Q��Y-Ѕ1g?Z�J�M�J�ԏ�7�g�.���Eь�1H�1��;��[O�=v��F�(���?��S��Q�vV�̇��Z����i���Cj~d�����Υկ_V���ɻ�R�t���9]m���j�V�ƚϫڨ��L� 	lRx[\�e�x]:8RG�7�=���MK�z�%t/���o��[�8�$��������(nm�]���8�w��;m��R��sT���?ٳ�-�2)rG��D>��U��l�v�߿��J����t���h�D��M��gc����}KO3	.���q�C�>�Z�Wi&����̸t����-%p~�ֺ_�MgEsA#6Y\s���K��9�w:�+anb���s���wz!�x[�����hh��kw�^s���N0�;(f$J�ԉL�	U �SQ���^�g�����4c�\���+��n�4��%�� 
�W�\���)l\�_�[�
��WM �v��^i��o�D�l�g?�g8��װ了�W�5������N��ՙ�����h��";eks�0wȧ�V���\��b햋�H%W���?��G�?�{G�4X�
�٠�W,ORMoO�[�+�m������?:#�,Ěh�W+m��H����:�E��f��>b�5��#��uP�$��	�w>��<7b�a�|���&�tBg#�j��ȍ� �pl�@��qz���i%*�8ʌ�S��CZ.� z�J�֭�m����w��o$����KM>�+�9
ؑ�ǽ	]6�qE�
b�ᯏd�ԠI�L���E<y�?��]�[�4�CN����W��(±�;ŭ�OOTq����yH�.��O�J�u��i6��c�u,�	"@K�A�=��Y҇3󹜥͡��¿o�,�C�FfK�~�z��?Z�4{��[�%�RH��4R���tN�����S$WfM�Č4{�;I�ƪ0.Ч>¹ܮ���5K����1���˔b�9�u&W�C��@X�
�[��L�ԌWN���j|�H�c��FT��Equ�C�H�B�*µ�%d9TGS���7D����m<��{y~�g�����Z>�g���H�j.�ѕ�����,���qw9�k�u�D���Lo�֛_m��pj�n�ޛ�;;~&�vZeŴ$�4n�7��(�ϬN��{}"9l������8E�����n��l|3�x��Fy<��Sk��x���i�g7�|��JOq�H��������gk���I��r��"�ń=�����=�и�����$aO�Ȯ��1�i�[t>w-����)oeU�������cP��H�m(y�8Y9��Bm/TW�˘l�i������U�Nli�\��j���c>�rn.Z��R�[�ҚIi�7ԸdҞ�d�	�u".7�7���i���7�����q�DǞO�r�ME���z��<cgie���
�cv�S�8��:�e�^�jti��%�D1a3�u�#Q�>h��)�^+��ǩ�u͵�
�cܹ�rGQߚ��
4�DZ?��:b�<e�C�<r��Y{�N��
2oKX�[�&�w��g����$ҡ\��qf��b_2Y�%e;�C׎�V�1{�!�+���֫�d���|֬z{�R�:H�0�=�R�0\6v㱮f�
�"�g'ym��®����CU���]FW$����Z�wA�^����,��L����U��rǿ�h��~�^��+�r�L�c}.��DA�>�*�������R�t�����L~�}k�ɷ}Ȋ�R������5�ʙ����>�[O�[H]D�\6IÏC[�]�W�����K4���7�V��mc���V����m]��g��ڮ�nޯ�:���f����b��x?J������)1���Ɍ��5j$��5ʽz�<�#�4u�N��aq��}�s'⾻0q���c���a�U��࿘D����`j3��0�nn���O1�q���;W�<=�C��n.RH��OQ�֭�&���Jw�rkx&���(�3�g
�s�FYW<�WC��<[Y[]�A�\���^}�{K�V��> �<rb�~	�5 ���zuw���zMk�0Ek<���9ݞH_�`,#;GQ�S�����r��E�]�Q�p��G$�g���#�9�C��O[���D����i�T��6���a�����mV��X��ia�mU=���e7{#:�_Ql��&e�c’Ǹ�9�ȼx�9�;ӽ�*�Krt���6��8�d�g��z���f���2I�V�M�������V���W���wG���K�ĺ]���
�(��l�=�koYK�4�Ai%��iPG��=�gZ�;�OG�r������n����?�t]*���T����v�kU�ms>��}��%�u�����o�ɐd'��0j��<7&�ዡi���@<��:����$])�r{�dc/y��3F����=���km4e�c�ɞ~��}W_�ּo��Y��o�6�d�Ȯ��5E/v���u�x�����QۣZ���Ç��t���B��,�]\��xd �y_εuw[v%7�Dy�ׄ�{	�e�b�P��4d|�3Ѓ�+~���z^�4�r�^�FG��\rJ�j2���J\�9
G�m@]�e*����Z���֚.�-�u��<���:�nj��ym牵+��G���%�C���?
Oxyϊ���,FD���q�=+�����rrw�6�|:_�N*iI#n!xq���k�6��(t�_���p�c�ӟu�k{����(�n�PK<�q�����=:]h��t����'�\w���{������mu��,K�AӣkM��5�2)�U~3�7R��P����6��ϧ�UI�K�֏n���^�5����Qy��u�o���7{��:�Ľ&�[Dm���V^�$VJ���[�ot��E���i�ZC�i/g#��Xv�d�=1YW�+�u��/�܅��{
ҝ6߽��SԾ�����Еgi"�8����}Bd���[�qKA-�_kv��][;[^��,�$���׮�c�N���N��k��D�u85�7*r��3��:A{m��Iqh�ctܒ
�Q^5��Pjz�ޙ�!�]�Zݢ���?�������Xd֬<
���<󬬲�ljX���O�Үh>����H���q l���E{G�-��k[}���/���\�n����+�$��W���7~)��Ѡ�O�+��z���MAy��|;�����P6�J��}�Œ�^&�Ⱶ�kۇ�1Z(�F�叠��k�rI�r����Ҿ&�j$��Ou!�bQ�ĺ�Z��dv2m����LV�J-)l\SJ�q�~�B��U�[��ƍ�±#���n��N��_1��������t>k+��Ѽ�X��vld�>�5V-tG�*Ú��'e�&W)Cmumx�.T��*k='�=ʘ�S�0��V跱IY��gk��l�kx���qǭF�`}j��%0#�8�j
�h7�r)��]n}#T�x[x�<k�����>jVE�f�<gA��\��ͩW�<�.���T��泎ރz�n�ڵ�������'��Ӣ��!l3��u'�v��Xt��<)F��Ļ��ВУ��r;
*)����q��;��Tn���}\6B��[ڼ?��p�v��C��������ad�ut���F=HV��ں+�j�,��ɿ,�[��+le8ެmɤP��E�=����j�-O˂�Q��ve��I�P���ǵmSWh�u�m}�%���_���U����M��n?��3O5���s��;�$��2��r�%��,F���ImP�%�q���>��x+V���kK���`�^A=�]4_�N��5���/Q�4�%���,RBq�37=H���^�-��&���/n�	�j��o]�	v���'���v��ψ�,)%*�E��M�GK��0�>���h)+I��-���$:��*�ˀ�'��M����J0[i)��13�}�i�*p�۱��kmDj&�DZ�0��V�%�Ijg�X7Yy���HQ�3����=v�K�_tnj^%���-"[�]�����*��pj�BYHR	�H��m�=k[�K��CX˹�j�����.^�c�Ճ�+F��X�)5W�h�\��G�4knU�B�I�<;y�B�ܓc+
����Wb[]�r���^PAؤ��Y/6R�����6���b��]������*�hn��� !fPr�����n�%�K�ԱW���4�2��;֢j	m���oc*�ʂS=x�TS�l�����l���=6V���I�1=�R��Z�4�	,	�$GWҝjъK��M�i��S��'������c�,a�1�Rxk�!Z;+��-�&h��'��9+jm̢��u�(ґ�g�H��y�4D`���X��E��J��y{��@#�޴�Z��Z�����gK�(��
;8g�h$����%��-�$$���N��n�-ng'����4-.Yl�Ւ�+�N��7��A��2��M}:���hxJ���'&��o�ͯ9���>��\Hp��E~7b����u�6��o"�4�a�P�VGK�֦�5{sT{{�V(t�6�'�Z�-luRֲ�un�JI'ҺhC��[�ش���%��G����iR0zsW���3\	ҲFWD��)ڕ��fM�X��A\̏��O8-��m����I�^A��r8�/4�����7(H�
�ކ�c�m�	��~`z��
aRJ����Z�c�f��.p=}��F�I#
�����G��2O�z�%����ᜎ���ڑ@W
��N2)��=v3�]���z���l�d�(?x�����l3ӎkKYz�m�F�@3b��o&BO��]����9h�����eu��FQ��5O�i�D�����wj�-�y�#�Eip������
k-�u��dtdL�>�Z^�8�Ja�–'��S\�d�Ĝ�kA�4��(`kxc÷>'נ��`KɌ��u&��Ь�,ty<?�4. �e<y��"�I(�=ʉ�����saoI8��)
�G�?����T�o��r\�\ZM�ݖLqǿ�湖��OcH��y����α�[��r����?���ғO�o�I^M>���˵���CB��t9^���xs��]ZꮒK1�����Q\�O�u�݁������ލ��2�%��2�>O�(����Y���?�pk6���|@Zm.��$Ϝ�;UmB���F��`J�����ՙVA1Z����W���x�dr����M[�t.�ei���`X���D��)��e��A$�a9#<���Iu"
�q�/Z�>�M�,I��P�O� ``���M�5;6��-�_�\�BKrO�r�7���Xk�B�N�դ�'��Ya��)�^2>T��WI��GUw�[MKI۩��#��\�wr�01����J�v��%�ߴw8����rA'��&�A�t�۷���J�O���7����
M�k��$ФZ��&���;c���k�b�3iE����f6 ��ie�g�G@Z�^�wE�F��lv�)h`�P���H�|7�A$?��Dp�G��9��V�	�=j���l�:TW��_;XzX�	g*3���c"7���2�%���5�j=F��8���q��:�ׂ�c�5���S�S�+o�A'�b��n��<Z����!�uᗡ����d^;���{$�%�9�>̧��\�a(��D�BSR~e�|{`5(t=:6H�q�P=�����V��k�S!#9O5�jNUvQ�iwe�����3�7,���*1��!OCڸ������ݝ��%�0�!�>��=��Trv��7~��J�}�-��T9�_<�'��Zv����R��m�<Z��]k�V&�Aɩ,w3�6�ǽ=��[{��:#��=
E��Z?Th�q5�{��C�;���W]
��+y��O��ĻY��=�ho����r�՜V��›�|В~f_z��Nk{Hg'F8��#n��&
k�k�+Y��M妧�Yߨ�pV��s����S����S7�+�N��)��n�u&�FZ?����B��#��RhZ$���b�}�;��Z^��E&�h^���W�SK���X�>Tq��}H�u�?����C��U��?�
�K�O�$�����k�
�����%X?��\%���7rǨ@��ю�U�Z[�z
J�A֗aY�c��1�[�g���L)&���y��A7
_�Q�!����%�f�u����V]�fc�wu53w��!�<�H-�I�Ǯf�P�F�
]�K������[�z+hV�4�7�6�|���V#8"��@#��Mж
���T�I-7eu�TC$��ʄZ��Fx�)z��c�UIu{t0I28�j�JYYʩ�+9���Ρ�9���D-5Y�3�c! �>�Xi�/�m��9�%��eJ�Mm����}��m�4?d�+rےLg�OίC�owq%��j�W��^."�M���sVk�u
�+niC��	5�3�[e��	686�@�cJs�I�g�_c����H�IJ��ZQ�|¼'�>/��M�s�	B�����^�J��J:����hz����:&x��l8�g��B�q<��短UA���S�(���6���I)س9ك��[��),DF�+��E�]yt=�~*���&� �i��� q���=��n��3Y��R�f�D�]񂇸'�s:��qzܘ�f�N�h��3v�Ļ��1#�9�8���W
�%��o��wu��\��������j����m�W�]��3�&���:S�zӟC{�7d�.��v���q�|�l��m6�ϟ˒8��:���.=q�׫ؿ��p��i��L��R�g�h��QQ��:m*�I�����a��`~�亝���Ǫ%�[k9�ܰYw��A(�4�Mh`x�����aG#b���$�׍+	�l!��Tѥgw�2 �P���2�WVk -�A�K���0�ĞG{r����[����}�q7iy�����՗�5e#C���`֥�;)# J�~�j�N�O�ȶ�ffY#9��%x�	��(o.b��o��B�|m�)����9;"Q��CG��R-F�m�]���߷�T�ն�ֶ�)l���n�����ӯss�>9�4����d��21�G����"���Ca�y����䁌�5�V��)(�=Y�hp\_h��N�E��3��G�k���O�}���]��Z���c��������Y�\�];#��d�.��{Ǽ��F�e���}�GB���NHD�6��bkZP|�{�ұ����Uկ��ۼ�ES�W�J�k?�蚤��O[�@B68�AY��+�[�v�gk�u۷I��X�x�dP�>�w��ͤz��� �b�S��x�EaQ;����Q�o7��x�V��Z���d�"8���]g��y�l"���_#�����y��+7
v[��j]ۧa�(��������GRyoA\t�.����ӓZ�����Zk�B9'�Qi�l����S������
����j'N&��0#�\~=� Bx ��1OPi44�|�����p�J��X_BYxGO�)l��gozS��TtG�k:ƃ�_YLK-��P��zV<���WtӰ��2(����g1Y��굥��&{ׅ5�.|9k��Kr�eYHz�4�V[�d�@��q*�k�x֦�Z7���e�GQ����,��9]ǭs���-��=GR��T��~�+��'{;�jU��s�WZ�vk�TL�C�쓞�kpx�P���MI2�B��b�c��O�u��7}>fv�s����_۸��S�W�߱��^u�kw>�6$�w`������2����������{?i�~�����Q��2�t?�u~֢�B�Z�$TM���O���B�������)��ގ�޵��Cqo�)�lG�&T0$����ZX�3���Vg7wo���w������}.��;��ɏb��UΞ��@�B����"���Jѡ�Q��N=
uZcZ�i�խ���)˔�;޼L|奷������b���֑Os�]Ą�L������m{�Մ��G�"w$�W�F�(���`���%�N��{�@�o��+c�P^ǤZ\��
�Q*��ߧA�5��9�7нms���4�2�㳊X�A�dWcz�V�<G�ͧ�'PS����
Q�u�zsc\yG��Z�=�4R��1=�ڲ-�Qu�Z��[���������-z�T^��y�i"���#�>i2.ߺO��R��8�m{�/7��3�t�����}���si*h~!^@��F+δ[��_���m`-+�$���-�슒�wܫ�x~�47��E�,������m��+�5`�%��^{��>k�s�Z���6�j-rs�9`�ɲU�c�~�隆��^[�6�)I')=I�ޞ�I�ZN���V]+Ēh�0`t���$g��L>�x�sB�v�q��gҭ�)ۣ�ߡs����w+q�j쬗9��>��R��o��Z�����̭����>V��v7*���ɥZh�d�]�'%NEj��^ђ�Q��������~rz�{��M+��!���6�f��E����)Xa���EU�6�τl|D��4`C1C���'ӷ�J���'+����WzR�~Z5��~k����z��dq��y�O
��XM��n��z�kM66��Z�L�j]2�;S��%�P��\�Z��d��$K�1ܑ�{Ua��g,՟��21-�a�%�-=�u��u�I"���w�3ҳB._<��ZRю��f���5�͏j�et�ss;(eB���@��dh�>P%��Wx[��$]J[րO d��``kic�f�
s�W�^�j]�V*�o.D�S?t�U��<�0��ҷUyڃ^��+���Z8��&�^=�\6��+��d��GD6 ���OU�sުK���K�n�F;�P�b�ʖ�%c�pzgҹ����i���*�^���#��Z�X��� p���?��E����P#n���#=kN]����+�6@�p1Y��N�lA���ܤv_
5��+�Cx���<� |����ݽ����Eltᗞ���G��Uס�|E�l�lt��r.��H	oC��Z���S�Z5��i�<)����:������R��#��I����ɻ8�j��]Bu,�1'�:��'��I�R���N��Z�vv��̧��Ժ�Ѽ��|Z���iJ��V��f*�,r�{
����!d%S�B<ԫ���ekk�9��;{�y�	��aD��m$�:�'�"��B+��˸���bYp�\�#�-L�Bhʴ��W�+Y��.b��<��<3F�ks���v��;"��7\�#��ԏ�����9v櫋6}E��n���Z���L';�R$1�E�)c�*Ņ���@��H��޵�!+��t.���U� Uk�q�Wn?��T���8Mѧ��5�
��z+"�--
ɴ99��j7���*����J��hc]<�nG��E�ޣ:H!dRC7V𲍌j>gd`<qy�/dx���5��h�u�A�B�4��LV<ܲ��:�jvjPC:0dU�g�8>��&�ݍ�7��D�|��k9�)���;��
��׮t��mFA�qUb�0��pCt��=5��I��jiMo�E��[�a��?�$RK4,��t���]5}{�~��W��5�S�d�7&N{�w�W[���U�KT�E��`H����^Mjݐ���̟�z�B��t\Iqt� �z�gڹK��_��^�١�o��27�X#�UI�v{�SROM
��q$�'�dx̃8��rMQ�����!0]�x�W�
*]v=��~��H�6��EEl�uC�'���Ʒ��z��-�2F�6�����Z�T�}Bh^���i��=�L�F��(;���R]�,1�%��.�*8|��5վ�ط���h�P���Xrj\��}��^�k��ќ2�Q]�]"=a���:9G�6I^������љ�����;����T�9OS���M�4���.�Yg����)W�˞�J��eu�(���s����q���k�t�t�������ֺ=WR���X�<Ea�i�^�ܙU��p��ֹ�����Bc��FqO�_���d�4��4�N9.`l�<2�ۊ�S��/����o,~�mǎ��YJ�S��ɒ�)�sK��&�e��(�̛d�1 叱�a�<!��V[���.��9��T��rv�a�-_b���t�RH翊��&:7�y׊!�ْ��eœ�Y���+��N��I��O
��~��h�k{�0<�7G�ؚŸK�]Y�Seq���%O<�u�AJ�]��)�ƶ�cdFNB�oJ��S�a�A'�ޔ�{�gr��H���!j?1�U�j��rw'[�2/��N��4�,�*)(��*c��m���%{�-R�R6��S���C�RD�^��3H��ʷ4[�Wڍ�1�2�g�*�K��i$�-������X�!k->(Yđ��aZ����iڶ�y(I$)$��(s���ewխl6���I/�{���U�d��~x���G���m���s<�C��X���k�
N����[�+-K:���4繎]T��Bf��O���\���\FC�C��t�b��]��&�^�U��̉f����d�C}��[Д�@^6���xO��^��H���}���bc����g��Z؛[SCėo�[�i:kmm�d���'3�Ms����]*ߡ���9��YQ�ʛ�ޤ�t!�?��F���$`���ִ�u]OMv����@cdU���'�%�J
��;v��+K�$���eb6����Y�w��Щgu=�Gq̨b�n
�ei�߉n�[kIdKʈq���oZ�S��n�+��i�V��Y�.��T��\��
˻�A,���NX�����1ꋺ���e���q
Ϟ�b��@F�5�ḒD�]��@�\?�T��{���&D��/9�h]2��|pI"��Q�E��4A)�PU�GJgΑ�U���P�Zy�|��iZ��I}�.��L����s�+KTҴ���u{(�����Jw=�J�6�e�au����4
���Ņ�O�ʃ�!�/��#��X��Z]��f��q��S��=�.�R���)�i]��_�Z���	�<��B��v��#�V��ng�Xn�t�h㐌�N:��DV��ԍ%�S�ֵ�[�Υ��Z�D7I��z�/$}Q6HcY`�l�zdv��v�Ƶ���K�!ѬeB��A���
����͠�W��2����ǯO�V��mkm�=wX������uq�K3�!wH��>��/R�voX�kR��dԣ��Q���;b�ˬ�̱�+�e]�0q�W;��+�m���㿟N�����J�@4ɇp}�\��X:��xf�m+I�I%BcyX��R��%
�RRVz8��K���~f��6��z��s�u��T���DO��m�Ir��{��e�kj���V��6�dn�-�U�l��;ա1�Px=*6�ړv��9zR�"չ�WП/n��6�_1#RÚ��=��a�nl�9��iv����O�k�.T��My����.�28�Zì�c���g�,��t+y�rY�/�ѻ��_K����ں@��O��\�{�l�dZ�#P���-��˨ɷtl�*7��8xwS�|;w�ݬi„y��{~�)�7e�''Է��H������t<#7����<?c��۔e�m��x�
�ӂW��r�R"�}?\���\1I�k��ݫ���N�{-͌���h��;l�rJs��)���̾�>���5{4y"p�E�u�^��+�K�2����Cm�}�FBq��i]��
��-���@.�1�
���^"��S[׋p��<��}k��}��t.[jWoiVw�L�rJ��9��Oλ=F�+մ��?�#��4��I_�ؕc���s�]&�l�i1�"��f�km�Z]AsnU&��S>���{�Uu�jf�6�Q��׿ّ�ql���;�cE�-��f�0�s�ŝ��Z��"K���J�s[G����D�ʻp=sW��MZ�E-�I,ck���kL�q�K����Щ�-K����"��T}�e?Q�q�Ҭ���CF3��	�2$�n{~�⹬�v��x&��lu�vq�R27+z�=:�$vK�*��$$Ob+�2�����;?�j6�YHZ!nW<�=�T,^�K�sy��v\��{]-Z����܆MJh����.7-�+}��=���������6���S�dy8	!�}>��������s��f=��<=蓙�nn�"oYFq�X2�s���m��Tl�y�ZΝ%uՙ�6���{��X�mZ�6��Ƣ 
�럯�Y~��K�U���P�խ�\e�s�����7si�����]�{tηWy�����+o�S���m+�qp�b�?��튘{��z���V�7�\=�O4�ܟ��@ت�WSO�g,������2�{��
�mu[���o��j<�j����ĺ�[Bc�F��ve8��u�kQǙE|�#�=YK��XM��֒�.��������?#�jOxv�K��D�e���a��*�j�j��n��}4�\���<;�7�=��h�1'h�^��
;�vSJ�y�b����i)EÇ��=�I8�b��ւB"-�˞	5�\j0�yGh}�.A�U�n�{�=t�Q�RI�̃���=�0ܬ���W ��[�%��p ��ۆ�
Q
Vr!�u9	�%I�jk���$Z745nt�.ق�D�:��˘�ҮYc�)І`x<V���vԙ's�M�F��`6�\T�6��H�b�V5�S|��F''mKV}SN�VO,;�]*�k�R��#���?��tЇ�תּN���u�i�t��$���>�oVl��#���Pa~�N�9�#���K�F?g��
��rzԋu��>fx�q����]f���W�:��1P��]Rp�s�0�����f�_q5ҦL�����#L��8�y4��Ԥ�d��=m6�k>�t_!H��8�W�Z[Gmkq�����M���U�Ӵ[�����T�9c�:c��C��J��FKX-^�!@%]��ey'���A�Kkx<]�,[y�u~���ǩ=��?�|Z�q9c�9J�|�k�2Գ��M�kWZt1�\c�ƒ �Q�֩n^]hH5D�+�'�md8��I��_fė���Z���e u�3R身?����]�i+l�
������K,wѠ�-�$Q������۸�yu�b5��;yW������9�x ���t���h�2�6;��q�u��O�>�[�ɑ��B���㊚���i��4�б��3����%�����IV����m����*"����sj�i[M�s���P�|��/��& s]ih�7��Z��%a�Yz+V��`��.cUr9:j�r�M�3�*FCD&�8+�Fx���x��S{N��=�Ķ��J��"��_x��i�"E�7�ɐ�'���R���r�;u⟇7�v�nn��H����
E�G�Ik�FL/#
3����s��Z�j&��Ş�������c<����Y�ƃ�xab���Sff#v�<gҳ�U7���;v�dO��>�B�*�p=�4@n$bpA�[�kfTe�+اش�X�ɴ�O�}knؘ��i1KЃ֢q�i�s9o鱠����=����A�V������c �ZM�ü����XW\�0����-OT�FԤ_64��`����~!�������jZ��\�3��A�j����c�o�8���G��-���8ٌ|���+?��?Z�m�V�-�#?/s���<�FO�g�����u9�'y�la��{��ĽH=�{���,`���8g荖A��gZ*K�C����a|14����~���i�*�<Cmu�=�K@�gh��cYԫ	���4��nR��K�K7�Q�X�G���ڍƝl��]��ÏZ���_q�����R�O�ٞRyc�5�:i��Z[�nl爴��3�e¹�A[W�2��O�-j?�Mqc`��C��x3.}{��M�-�=Au9��'h�?�s�J*���iD���l���Gu�1�ϡ5����,I�����Fz���O��߼1�U�ѭ�L�h�c�rC[��R=i�J:we����5���-GO��wï�ʾ��
z=���t�u��o�!����^}+�N��v������׏�u�D����W6��gn2n��O���;�F�[]6�0��q�XF�k��v��]�k�����W�̞W�L0%�<��W�����1��g�])�*�w�iX�мA��^�m:�ݮ�{�!�q�������h|
��1�P�xz}+~V���ЃQ�}>�[Wq F :�a�*~Q��UM��
;(SY�����8��!�Zv��Š�F�\@�s��•��!��h�ڇ���1�*$�О�Z�t�y
��h�U�d�4��#���U�	�[�c����2˜�cֹ��	�wn���Z�j���;_
�?��-�\B���*$q�*I�l�%ss'�$�#;�犉Ӻ��C�W�����Y�X�]��ֽ>�@����N��.�`e<��q��=56�Ԩ=u�#����u?���D�;v���Xt?��V��L���iv�e�k��NT榚I��K�+n��F_����V�U�\I��!e9O8�ǚ}ֳͬ2.��|ʠ�)�^�).�e�ن�F��s̅z�*P,���Wo�m���I@@=�;O��W��v��CWXm��A��B����rqPj�����DW����#�7C$xo	��(��4��8��8�\�D�4Z�O/�%h�m���mϓ 7������ƹ�R�ܩrfI,I!�`<�|��ϥV��h�2�A�\ctl�cR��I�q�ǝ�t��5x��O�7Q_ŷ@��f�GB��e���u%����rۯD8�`q�U	��]���sMi�
���K�"<rl�?���^8v�s?�i�;�^��롛�
����n�a
��;W�֭�^��IId֋���N9����Q)4��ub��b�Ŵ���è#�]����?�7���M
�V��O���N�����tb��M��2���&hX����U$�.����tF��՝nZ�͠�gh�h��8(��>�����|�uw=�֮�~����ޟ\}�G��k��r"�����X�,��}�i�Fr�ǒ�z�Y:n�����Υ���(�K�%��E? Ncc�V��~)k �bcO�_��������ё�����p�*0~�y����Vv���U�]�0�}�e-54m���$Q\�R}��B���h�H��$py�>��*�d�D����7����JR���Nk2Y@��<������ԚK�#�͠�4��Î9�t��;I>���wb㱱��H��d[�>H����U���N��J�`�տ���5��m���
�ӿֺ=C�����o
�P�(Q�'�bޞ�M��ʮ�e������!\�;�~�\^�Cw``��#i���S�����H
�߄�,�е��>0ކ��u����4k{�ʈ�"��O���Ex
��L1�������:���⦶sի��>�V��!��Tq��8 Q��^���=7�Ԯ�`	�
}+8]7&쑜oCR��h����va��6�?c��ZZ�υ��?ek�?~�|�}+/n�	9����3�mmcˮ<-w����7-sep�HIS����D��M[M:t�!H�3�t�5��g�J�Q�%��3u�Oj/oK4��ef�⤒W�-&�������^ү\��S��Js�/bc�5�/]i�?�-��SX�WP��F��r�/�B�׶��l2��O��-����Qi}�6o2�4�w{P�ԯ�9.m�q��J��=�D�����?i5Y��SG9!�?^k~�L�t��Z\���$�����Z�%۪z(�CZ�Sֵ$�K��U�li�$R?�+��>�47:d�f+�c�#�:۵vM��QE&���
F��P��3��Оq�v5�j^��,,�/۝���iB<˙�Jɔ�/�Y��^{U�32�ٮ����H�$�آP߻�]Tڌ�
�1g���h��N��fO�޹K(,�^��s�pw�\zW4��k٤�ञ���$�.t)�lO�{��I��������>�R�"x�z���0����d����Ѿ��|1;j����Go�0c>��q�ˏ��y�9U?2g�ںg���F#icN�}/]$����+g����д���N�B�(��T!'�U	�{�U��^�4S�~}��ڛ׌�^1���ZԆ�̒��Y�`�<z�)4���\��/#�u;]F/�]hӡ�q�eH�#�j�+{-U5�_Z�wwbC.v����(k���5�2WD���Դ�k��]�۰�g9��3@Ь�X����'ء2�>r����pJ
ۻ�ȧJ�������7�s�_ܩ�#�#gv���oi���}��Tڌ�l
�����ٰ�޺S[����g��q�����]2a"G��QF���ֹ���[��L"��KO������6Y�(e�򴏓�3O���F�Mݭ���S�B#��S��$r��~k;Z�ۭ�>2��I��	b�y�"�n1�@�N�f��zA��f�y�"7�8ϭ){�}-�������.���+r\��A�z���Zx5�	%�����k��=~�s'^�1�v�D�o(E�{�	=���<�rN8ϥi	]����وH�}*�ʖ�;?J�jJ"8fm�:�n:j�]�_��m��qc���*���+]4k[[�
���;�Ӧ�m���rW�R�7c"�o�B�:U�Hizƚ[D�q����k�є*]j�!ϧs�K'7\R��zO
�w�&Ԝi����wA(���胺=��I
���
�XN6�
���4���*6�$�L��q;Y�ɔb�<���W0kqw4�b�4��p*S�L��+;�ȅHBʞ�g��J��2O>�����f�r�����ҦCC�#�+��V�-��y��Cص�и�Op�Ěf��ZC{p��B�T�W���f��;F!�8g'�V�sr����Vo����c��(�)_ݣ�'56������l�3&d��Z-tp;Z�{<��^��:w�\�߿S�'�z�c����!���c���s�t�DҎ�~���,^#q���s����f���w'+��q�{Ӳ�]��;m�F��� ��_�]J�6F=k����芍=����Im'ڍ�K���vd�z�����Mbɢ�f����zg�r�۱���;���c@���.c�z{�U�ߣ	�n�c�]d�RU��*1� F8����fdBĂI�<�	�jҳ�H�lm��c�G~���b}�1���k~D���+b��c$��c%7cp�W.������k�V���d��z�ApE�$q����h�
�\�����7B3�F8�3ڦꖯ�6��R?M=���s�J#����M�=k7�[Ð^i4/����bN�ZƯ�5[�)h�(\��7zr&�wu�y��"�o��b@�#$����c�OQZB��빊o�n�oƂ���sz����h$zq�*]��Ƴ�X���Oi"�s���z���N�.�9������v�c�B�A�T�Y�\�9<�Һ$���e{|������Հn��5R���U���a��lu�өn�'T�乴#��`��4�zo�nw��)`[�z{Vu⠮�4����šV�ֿ`�h�ƨ~Eq��֮	�)5$�f�Lb��Lx�g��>���JO]%sd��C��v�kd&�#IVB�#���5��^���F��6��!<��Iϭz�$���[+mw�'��5��׏f�qw]?�
���
շ���������e[��՜�=v[{Gh�3.�Rۥ��Lr�����#XWWWA}�\;Eg��8dq�>����?⤶]I溳ݘ�-�����^�=܄����s�>����:d��ό�_O��Ӛ�6�m����ME�nVi#����������/�on']CqD�0{
ҫ]u2��]��ty�l�1�yj\n��\.��^����6�H��)#w��-%k��qZ���g2�	l�rO�Oe�Mk9R>�2W�T�k.�M�����0X�ܛ��[��x�k��4i�O�0<�n(\�mєt���(=5�h~,�t8-m獮,�%�Q�&{��EZ\�s~T�:������㜒�+��b��R�S�ӏ��{�4@@l��Mx��5����0I���u���=>���(��#��1��T��c��J�tסf���.���na[�. >YN��5OT���ZB�G�n����R�����LnNWױ�A�1����ɻ=:�N�\��_#k)��e�ϵy�{���{����n�d���Ȭn-%k�c+<������D𖰳�m.�
��W�YFm�}�K����s��:� G�n�&[v��~��|%��j�6��eW�M8(G��z�Ƴ��EOOF�~Ե+K}6b��B���ۥ|�M6��*8������@=��]J�~�Zr�UI&��zg�,�����D��6��(��M�!�u!1�S�aWޫ�I+�DU�1|�233����B���o�c�{St���Zk�$%��w\�BB3���-GB팛&P�|�jxm����i.�rV��d��t�eܠ�
�A��
N�[�D�7�`}��ө�]�v�e�Ƹ�E��!� T$ke��S=�F~�0�i�UΧq��i	�����z��X���bE����E6�Pe�D
y�*\өh�n��ᩭ�3}�_���>��ƛM�4kÞCq9yX���8�f�hE&<�pg�Z]D���:\o3C'̧��tw��y9�9��"�f��4�S5f��R�2a�ammP�X8�nBI�݊P_ys��4�K	8�+g�ri�w���+�H���UIϖ��8>WԫY����ږ�ytv��32��t�N���)%uI<ō{ҍ.X��e�_P��[��$x�bH"���rF}k���&��þ��L���y��;7<�z��(�(��� 
�Q�3N�#�Ď-zTL��V��%�M{pǒFq\���i�t%�:����q��a��X�|�b��5:|������2s���Escn�[�Yp%P?��j���Ny�jz��N$G#���Ս,]�K4�c�c�U8��d5e��IJ��Ƚx��hcג*�iۯRl8�,�u��[�e��%�Մb�H��}
c&�2��|/
��u+�������[�1��k��Va��$����9=z.��g��3IJ��Ƴ\jK��-�����ק�i>M�Gm���}kF�������y��4_>)gi`��A<|W�Ϋ�*�@a��)��l�'�(<�Z�0r��8��Eoxf���&R:mSZ�R���;npZ�330۸����������05�B���!�x��#����Z~�DM��-ב��G��;F�Mž_����O�F���XQ9�Ɋ=��ִ���?�IR�{�)BKmo�qF���l�-�:'���o
ۦ��j�Ӆ�%;�
���w�;��$:{3+JW7��^��Jb�^�|�y������M&�X��Ś퇆�,��h�K��U��:�N2�#q�I����Aw+�=�p�$��W#zg�k��5���O�Q�%I-`�%��9�"�o_#[s|�4��i�+���q³q��'y�,'l�Z��I.��Ўջj�[=�c��������wňee��?�������ìw�N���{g���);�d�(�k2i��s<q�+���<���=��޿j��Y[�m�5T��1�f��zX��u(i�R�,:�����dz{�u��SH�<5ne���F�֔��k�72�3��7VM��[�!	L�����5y���>Kd� uF�o9Y�Z��;���֚^��Y;��zj;ˋ�Z�k�8Vx�$��X�D)E�s5Л����ݲI{qat��)��W|;��+I|�B/2%�)�o�Xz��6
���zy��c��n�y�4V�
V	�k3/������Z�։�k��"�1�+7��������8n]M5F��@yVO�}�]�τ.�M�K��N��Q�g�Vt��zߨ��e?jGE���`���W�p�?W�ƺ�c��F��jf�q~{�s��?�u}���ӷ,�(�cqe8ǩ�Y���?�u(n����$c���=�^����k��x�X�i����fBzӥZ�D�݅��^��K��#4��?�Jޒ�_�2h����{{(��&���F3���^Y�i0M���c�y���2��9�ng�[DK�]��<�ϯj6�1�"3H���?�oA�i�x�h��H��d�zz�iB*۷�����.����MB��D�~�B�L�r�6�����m፵
I���~h��>���ZNW��]���,��.�&�<��y��?:�ƿLԣ�ll���皤.=��9]F��Ԧ�B��.�Z-)l��4�:���k�TX�8��i��i�;�s���k����qҼ���Gou����\�D]����'��<�ڪI���Vڙ����O���
Iq�jɖ��G��<:��̟z/@{�f�n�/�^�II ��圜_��a+]��Y6�f�D�9�zg֫4�P�$`�n�zX����{�>G%~��{{�5�0>����)��	۴ȫ=���&��%�����^GHs�:�	…� g=kB�܊�",� ,���>�)6�|��{ⳓ0u�E 2��D)OR+��gH4�di	�a�vn�U�ks��/s�L߽A���5��ɖǧZ�dKԪǑ����E��]���f�G6��/2��N7���fz&��Y�4�MCIXěM��1�
?ᧇ�:���%����B>��Ed�Z����b�|���Y�I���L��Où��=SP���լX,+���p;⚋����Q���8O���ތ��]��!f�}s�^aq<�/* NGaSo-�撏{#��uIF�pL���<f��e�&w|ȃ f���s�8���_6s�S�,�5xn542ڇ�$C��Z�o����&�<���)j�{�*��5B��"�1G&��k��1�]�!g�*�T��]��M7L��/��b�yj��#N���D�'CYZQ�Ta���O"C��Ww\v���M�pAG"�'��VХrŧ���
��@�=�؍�wV�ۚ�Z�^��1��:t�i�oṱ���i�W{�j�QM�6�ا���i���,����My�[<;��.3�!�j��]�\��Cz���?�/��0a�jh<[��O��6��l�9�Z䴦�4��9#�L� H$_����5�B��^�X��jv�m����(�5Ϸ8?���%�`�ON�^���Cۤ��2�o��*���]���QL"I�1���XBs���d��;Z�r�I�8�W�l�L�	�=)|e��K�t�� �*��s������[��� �Y�E�Q�����Y�Zx�p2kG+�38���\L�Z�
��T���B�[P\G
��ZFj�vC���om,���F�� ���E�ޥv�j?�6r�U�g�'�L{u�j��_��S���J�;��~L��%�W�߭^��v��$�H�e*�'���+�Q����nKhy�������~!�T�h�⠐�:�#]Ԯ,u=kN����]m�D�HǮ1^�5c�r{�E�[��i�(�CϨ\f����ϒO����M֮�r����ż6�m��N���ErJ�����4�4{��������:7���
9����B�Ym�B�v0�G�	��c�sJ1R��!lsZ
^]_���[YA���]���]�J���H�{�a2v��WD�4tb[۱B��$h6gLz5]�e{�kZ%��l�Dfo��7����w9z���,�#��NԵ};D�1�����T���SX�ׅ�?c�ļWjRY`h���O�Uh�^+�]��O�|m�Y�������������n\�J`�WR��u�))�ϩ{�"��(@�NB�}�]}N�k1���NkElS�ܽa��Bk���*:Q�E<0Z\yAm�09��Jn�~&I���j}%�{e>���^�U����y�i�3H��ޱ�t�mLĎ6��#���w5�hV�5�����cK�>Q��Q���c�2���Y����]"�p�6�^�3���X�BK
�S�N��OF),�H��sV,�]��hYc36�g8�@O�h��M	y�E��r�9�V�7d�ǚ���abи�}2��1��+��zo���V����f����Q(���ǡ�Y?ݻ��$�벿���+�lt�e�H�s��N3Z��2_�<�[	�2��`rdjp�m��h\�����u<M�ZX]3��K0'捏�+@m3�"��_��v�hpl�B���}k�
FP�������gx���%�Ie_�d� �O�f�x�����_)���#�+Ӆ��(�̛V�+�V�6�ٹ�qW�CVA-�Lb�O\ƶR��-s*[ t��Y3�v����n)'��zD�\�V	xWic�A���
�w"�U��{\��s��KM+�8%�ej�>"����K�Of�[�z�E;i}�?�+F�W�IϜ28a��t�GM�4ռ�,5(�x���M-�9�����.�m3�vQ�j�$�F&U�wڲ����M!s�8��2+E��P��$%�������Ȯc�f���s �=���ܭ؉�ξ�B���g֫YBd9���/u\�]>{M<^���l�	3.��\���e8s���]MkwԞ�X�����֤�<�ِ]<j#�e;�W����!�MH��n�^�&�<(Uq��>���l)=��Y�n��~���t5mj&�;]
�X��]�Z}�{��o��U��'���Y�Y�g�s�ݳ��U�Rz�a��}��
ef1>�z`�s�
��b����	����Ԍ��rz��)neU�f;�o�D��"f�*�}6X��6d�#�W*Z�s^;9>�m�J�I�0^����3���Bg�Y{'&��Q/�'�#?m���ʇ�d�Y�c?�PB��B�Z{>�Xh�<-�]b�h�!�߻���ަ���J�D\�:���s�I-�Ĭ����4(��, �2m,�8>��!�$r�b)^7��_�>����fr�S�%�sH���1P�Ѱz�g�}+U+�
���5]�Ѓ�Ҵ�[�o�@�g2)Xi���[#!?7�+��S|��N+�[��b�G�E4+E���xQ��׭Z��J	����q�S�����o%a�r������
��5[v"Z?]���}:
=�Q0\	�ʷ�s��mc��èM-�ʸ�fq�BFx=yٍ(��RS�C�b�;	6���et�J�z�F�o�xc�R�wo�F� ���s]���}M�9/jvQ�vRN�&FuF9(;�5��]kn�K��Za"z�z{VU+�VQWI���\��t��9'�X�4�H%v�P2~���%oY��w@�?���.��^���2W��/�~��w�t�D�rcq��J����w~����H���q���T�C�û���Q�4�sM�d���j::�M����_��T#񾕬����:-��ݰ#g�8�9⒖�c�mk�C_�im��i�*J��yz�=0�R�G�f����+�`%���c��sX� �[��$ʺ�������G٤�W>�V���K]�uO>(]�l�n=��9��d�}z�|�V��}⼩�����FҤ��Cnf�z-���K�h�q�
ZmK�X��� vZ�u8�L����-��y�Խ��mٜ3ok�/���KI����T��u��z�~���t������2q���\ԩ{)%��ym+|�V�X��,�ЫFb>l��OY\߾��+���˸/�w�]��sW�����iI���s���"=;�������"P142|�Nz��Jj��]�q���o����A߸6�W���E��O}V�sG$�'��ȍ�9��Fϲ�ɿ�o�7z�4�.�|�,_0  �.9Ϧ+SF���Ri�$h�L��yd8��k/��S���K���%�-avQn>_-�#����I�u-_�V�ּ�L���4^p�ֺh�Y���[��[�����ˉ!#�r��t�xB�Sc-�xà��}je��ފ�
Zv�'��F-b����E܍�ް�W�[�x��Y��yW�k#��,�������VgE��T�>�u�M<���@��ҵ<i��������30�B/C��k�*-^襪�b���Wcmu��o"���I�Ё�X>1�h�|cŞ��m�(V�0NO^�R�n)Z��)jn�/��|Iqp�W��3^�!�s��]�^�CcZL]	b+����^}��5��dq�W,�&������m�*�Г�Vs���$�k��D,�It��j>c�Y=
;-LJI����6����}M�Ԃ����.S�]�1�5m|�U��fIt{#�Fд�;$?:�Ux��d|H$��
y�Үԓ�=�m�CGH���(ҭ#�X����A�M{�"��*�����X�t�wWzTlF�m\��k#C2I��A�?ʤ�$�Ywo���|��'�5f�bg1{0�/��U��/��MRY,t�`Vڍ�+c�=��g91�m++�����PKs[5ec;�b'��Tx��
L��/1�8��������#G�F:�NR�uSּ�u���	�x�B��c�8A"�'$(�k��Fjվc��Xd�zb<��"3˨�4��&{xN�=~���.c��fm���J�[�>a9{��n��t�D��ʃWumB-Z��G�A����N��c���f�H�-���o�w�\g�n3�j<[�6������K"D�҃�4m���s�]����1K�犕�A48�~�jňɉ�?��@��Cgc)����7w�7��t�m����1��:�_&�>*r�/��Y�Ӎ���8�V�I�]�J��X���c���{������
�tۍХink�z�t�~�p$���:�x��-j�6�76K�'�y�M������!c��Y���N���\�W����Z��e���+����9Pz����Li*q�Y�cUn���孔w�jWq�M�3�ccن+��o
x�5.�o�	p`K��A�j�R�vj�eT�V�ݝ�47��_n�vˤ���G�J��C�V=���Z	c�0�;e�F����M�6&��ZF���v�Ȃ{w��BFC��=j]g�ɔ�w2�7|�3��A�i�);[�e{����Atx�$<�=���d����Hl����#%O�I�)X5z-Fc�9]�)�j��tM:��W���������0I5�Wg}�bc�ס�|%��-�dD�K�������X�ݟ����[!��MUXǕw�i�)_��Xk�2i����p6���J�|E}4ڞ�/�H�)n�s\:�����i-U������7�Lm��Pޛ�2�����3������D�����2_��+�5��m�"�/�u9˭j{�tۦ����'S<6C(=��<W�N��g��}Ҕl�<�G$�ub���k��W���c�>]SH++<e"(xb;���c��]�~��}�����>i�Ћ��[���FgT�1`9�]�%�H\�p9#ִ�kMɷQ-m.eR���V���k�UX㶖3"O7*q�c��s�Ty��N�Q�{M;J�{�U�ǜ��8J�A�^����ۅX�$y���Z����ih�'ռ/d��D���a�d}*���I5x
��#)Vc�=�
=���e�
I���&�A��j{�c�h�m�Ö�6�J�ӗ]�Rd-	Hqe��ڄ�dv�WtU F�u~������%����--�9s1?0�T����e��8#�Z�i����P����<��Z�ŷ�˻8����dbF,6��Z�д+�]gl�xi&l`��iGW�FN�4�\D������`���B0�U
�m���b�޵,��g��&pF�\e��T~ѵʺ���J̷�^}����cV��Gr�j~��F�����>�bb~c�\Z��r�DOIYlw~���X�(�Aj�40��Av8���]S�c�d�y]@�"&#5����i˳)Ml�<���?���
�A-��i��ܑ��|S�{�o5���wg�>�(��ǭl�����r]�2PnU���*��#�/�kH����=J~c\0���=V��M��9\�"+�9M�^XWH�O��[<c��(A �8⩷b���i��z
Ҷ��o��-ȉ�69��$��f$ ��,aY��P7zO{=�p�%�@�d�x�ӳ�K7,{Դ�3J��Ńi�ز�E�d��!MT�7��ewv�u&�K�.Z���Y����7���Q�$i
�#�|����<�؝�˟��f�������1��.��Cž���i�Ť%儑�a*23Y�Lھ�vZ5ֹzSN�y��P��Yx?ς�+`!���!�G��
9�w�D�׉��U�M
k�������c<���*�xe0y�S�}��p>��qJ�p�[ܷ�h����t���82�ƽ��~$�5k�0�h���T*$�%�9Y}�4�!kY|��%`l������u-���<D���qҷS�RХ.��E�<1@5���ȋ'�:�r��u�(?�����oe�jm,n�!�A'�V���q�g_�9?Z�̲3QYٯC�*�@�GZn���nW*�sHĆ���6����—�Y�����c��
�EU�̱�뺔w3��P��H�G-�]	���q��f�j���Q��G�XL�r,���;�U��r���V&"ۈ������KK��inl/��q5��)}�J�k˫{�<7R$�`�<�JZ
$�e��Vv�Ʃ��v��I=�����u�3��Y��fX�l��I�}0+��KZ�&�ksqs,��bY��aB��eg)ۢݐ��nsm�N@1[�r���994�rL�r:�ьw
}4;�'�.CeG�sN�i|�>���:��2P	51Ҫ;'��ɹF<m9�i���?��חR�%TP7�̍Ӂ֕X'���&�;�"���C�['Y�	�^��~:�>�g��5�ϐ���v���p~����5b��ۡ�'v����x�T�m��L��j��;��ֽ'þ'���q�d��e~c��xW�B�P䎑KS~[+wxl|A�%�y�Y��~�{
�t=2	c�bP�('����4�M�KrT^���~�m���-��8�}1�7��Y��`�Cs�y����υq�U�����SkR�㱼��8�i&8p�}�r^#���]GT�$eQ"L�j�$���Cr��
��h�f��wc���\�Vǒ�_B�Q�m�a��Ҳ�)J
v��>�4�|5��x�5��jv�I�LɏC֙�j���	g�6�׷`�#�|��}?
Q�p����~�z���x�o�ݘ�eLʻ���y�lm�'X�;���+W�V�ER7_̎j�_�߃_�[�{1"9xw����z~���>�DpQ�8$u�ZTպ��kk^�ܰ��dH�;���Z���kh�Hd��gޢ�����"b��X�	LWV��'��?�>�OºKi���,Ј����aA�x�B�\ֲ]
����kycv4��"�%�8?�vV������L;�V��쮶{�4���֏�j�[�u
�6n=1W<./l���Gsy�"������ވ�-t���Ev²{��`W��׏]���D��#.ѝަ��ڊ�۠z��O��}�u�ǰ���Ѓ�=�j�"��Sw&�p�i|�9��ʶ�顥8��2�e�h�LJo�[xV=IoV�[旑��G�e_�~"��ӧ��O�m$P�eĘ<��Bw�*ZՏ���O��YZ�o�Z�68C�{U����u
�a�&��XG��}49�o����K�K��.�ov��LC�ܾ�8?��;��
�v���Km}p���
��.Z�kn�h���i%�	�+fI~�(������z��jw�����?*I�����>�{�Nnr�Y.�f��}:?�\[\[��B
2��Rx�O]GK��,��k�ܬ�J�tA�‰7$�ж��?DW��P� �\��k���uO��F�ne�����F+��R;�ŬD�e���X�Q3��u�*rB�m��pXs[�K�������g�A�p��z�\gn�v#A�]���+,m�J_
��>�>�wo�[a�"��>���IFKF�"6r�2�s��]��?��1Eb?��w�Hb�'O�����}���G�|(��s겨�&>\g�Gz�
��Κq�C_�[}*��nB�G�k&YB��UF!B��/c\�Β�+0�َ��c��k13��/��^G�%�b&#�:p?��{�2gY�Z�y� ����n���%Ԇ�WP�ilm-C�.-���֬�8󚧹6D{���Q���omV:����u���.���n�($��8�BZ�����p��@�%��[�d�Ei֏sG�R�G�!���i���ڜ�8�����+�m/��mcS��9%�iK�)\���Q��+�e��y-����m�Ņ�`{��]-՗��`�i��H�|���N+��r"0R��������h����]鷉��I�Cyxu8G��h��J�%��2���m?J�-'��y�&L���C��n��7I�nI����u,��Or��+9(�q�ƫ�c,[��
~���#��։c��wVi~MV�2D�N�#�q���Er��he�!\��==�x��k15oԛQ�KH�J�Ldt�Fɀ��8Ϊ*ޥ��s����8���i�X�N�P���T�^@��*���t7�ہ�ڪ$On�W�W޸��$�(��u
־��./�e岳"���V<kaZ��V�t�w�OL�����~�kW+�$����b�H�M9�-��\���m�{UT�����dե�����گÍ_C('��̶�g%�<�܎+��}����FO4Rv^f��C!Y��$g�J����<m
�Z]3Q#<�Xp}:�~����C��*j~K]j}2�f��&�rc=��M7�S�kJM2�(om�hc�-��XMJzu]D�*�1d�u��.��$��y��s*�c�ӽY�E�$���ʣc�̱�q�{�曒v��b�:��&��Z��F%D�x<q��?�A�ˮ^J��H�B�9�	�q�ERZ�H�Ѵ��w=3�W�n��2�5���g%��
��v/�-�a�2�~����*�4yV����t�ٔ�(�x���6�Ǚ��@��6~/�u�M�D"�c
�'2{s�׭"�E��+���:�ׄ�|/���k$0��(��op{{�ñ�|Au�Cw
�y7-�+�n>�뎧5�%��R>�^���v�d���<�1!�8�߃NK�'_���X��Р,� ��Џ�*5���O^W������%I����;���s�k�)�{8e�.HF���ʈM�/#���4�oY^��]�� 
������%��
:��l!����&��
W���ׁR���P�i��<C�X���ImyhF�r������ֺ۴W?m_9���0A�j'��Q��j3�-)���[�d���4�_\Wj�����ݏ&�$����)���e�n�;�$�I�Z�V�0��ѷ���\A���}l:�lY�S���x�pF�)�,�r���Y��J�1
�����tw��E�/�f�CW�4oM��(�h���T�,�������HҼ��Ou�jZ��Ҽ�� m�ǯ~�ŋ��e~fkJ
O����njt-%^]�]�c�0���9����m;�e���E'X�^:u�3�V4�8�y^)�����1�G�[�
!��bU��_-����XC��R�{�IؘZD�_{#)�"��]CPךͯ.RX`M���H���~��ue�w��I{;�	<0��X��j̚�3�b��o�Z��&�R�h��j
�w�T�}��"fl䚒�5�1�N	��~�;t�|�i�$ɞ�	4��Ip�9cx�4�	�k�ܨK��hz�4;I\L�\ \��,��]>��_���r�mc�>��Io��NZ_����V��+�����,��O����:]��ߴQJ�\��+Okx�B���C�H�f8T���ÿ⾎�}U��7�jek������s��4��Yi��`��\Vf �EܛD� �{��I�M�
�$`QH��BkCJ�u
z����`���j%I�K�1fv����rCDJ0=�v��Yl"tN7���+IǗCx�R�����=�T�RV��aF�r8>�n�^��
p��6�ǘ�V�m?��P�kE���D��EG��Zķ2]����GC��ڱt��)B�S�;���W� ��"�n����z�>����{I�;;��ZAr���A�$�.���Ҋ۩-Z)-;�W�6��d}>�VH �2#x�6��qҲ�~4�Mm<�>w3��w��諸"0���޷�;�O��EP:�o�;g����]�E�	]ap�qɭ⚱���VV��9ۀ*�^��ň��9�����>6��kH�L��^Ф�־�ZMR"�W�c���;�cn��x�Ru��i�93POOJ���pVHh|)I��+��n�9�,��HnzWc��q�1K4�F	����W
�����~
�_r�8>�[�f-�j�y����D��Zr�%��d�]�DG�8��5�7����H�xOVp�*�{���ۀ��W=i��E�^Sd�D���{����<A�u��n/�H��!1�{�x{L�l���#{r�����7�k9;/Q=����6ɔ,��CQ�ֱwH�!��������Z�	T��:�h�ƒ������՚WL�c����YjQ�#|�������oM�k����I	�H�j���a��L�k�]7A���59^�a!�d��M�C�v�?	����.ds�2q�k�xG	ʭ��w{�<�ՙ�`;ױ���t��ճ6p��_EE���cе-Pi�ysqFd�U����<C�KL׭�i�<C&b��w'��?�R	|[�"g&��eG{5���W3����8��F�N�m|+�c�+��="�u՜��'��/�Jlյ'�"2���'�j�u+�gq��QE}<4�w��U)rNT�y4���h�ϩF�_����>�x?tQ������I�����[˹d�-�ч"�R�n��ߔ�ᤆ_
���C%�LRe��gx�E��;x�q��u,~Y<}*�傒�"R�2.<;�׶�Aiz�œu���9�~�mo�kx���["os\S�ͥ�R�[�~�'k�n-���nG9W��avx6�B��zb��9Qjr��DBN�c,cx-e��J��ʝJ��K���t���exl����^����6f�[(lm�P�+�2���x��_��ҕ����wO����S�����W�g���c��W��)m3�2D���j����-C�VR�r�2�8;G^�U[��[�D%�e�mgJD��%��$A!�S�c�MKn���]/��O�+|����gi�N_g�4��؇��$�ռo�-=��p�xd�ל�[�q~�-�̋�E	���T����)==N�Ú폃�;�MG�eG��F��8����<7q�Jn��d��IZAs$EI9��n���|˳��5�kH濗�V�̕���(������]�7��$ɴ1���#���JME�.��q��P�}��kⅺ��c)��,F�o_·��x�[�����v����:�rH���/-l��=�B�R����jx?ß�v�q��l�)��� vɬp����^Qj޽��Ե?#D�yb�� b<+��,-�E����=Q���m۽���E}R���Zv�ԍ�K5e;���1g��׳�j7$�щ
����

SK�ݍ�Ѳ���Ȟ�%�Y���1�;�\zqֺ*+KM��1�C*�K�,��\&���NADi��G�c�L�屌n'N@I��+�^S'������1����G��X�R�;_G΅$*��H�p��֫z����=����e,���x�gʣ����ѿs���|�)�#�>Ʀ����>�$�}�y�3J��Ѵ����Iƥ�H�+N��L�`��� Q���C��CX�����I�UGsR�ͽ�z|�R����H��>��i�O ,�����e��&�KX�!�(et$�yJ��5���-��H��@Gj�+�%���9�y5]�s�o�(E�Vτ���x��+�%��#���>���s��R݊e�hWZ5�ոF}<0{y����>�+c��0xpA��$	@���
�IZ��;����MC�֒���Dn{�;V��
�#q��׹w���@���<��d�(���x��$�ciQ�Fz�*Z��}�Ap��,���U�B�Aa����X�'����6��Lr�q�WE�x�+]K���V�KĚC*�<�+��^Y[���Y���/#�X�����c��ڪD�T;��s����M.�'?:��y3)ڽj�B�v*��:ZI��°>���33����%[Q������{���UQn�_I��.��
�#�ڹ�ݟ�����q7�f�8��a���Qb%��Ah�:���{U��v]Mf�� �o#d�xIv|�m#�U���VY�Qh��0ۆ�+��H�b�n�л����+S�.Q��R��q��Z���1+,#��F�^�}�=m�4mZ��Q�5�Nm�P��g�|�Ԟ 3��.%�����i�sz
k�*X�Zn�o��0A�!�H���t~*Ѭ[��I�v��Έ�9O|v$�>��%dTtќ��ֳQ�o����^�LW:�ί�����=������}���Uj:���Z^v.�ږ��×WznX��2�h��S��=��ֹ�H��8q�UӨ�U�d��6�;�\�r4��
�b>��u�k/�o����+{{�iB���Zor'�Ѭ�4Y�}.�l��*�O�ɟ�ֲ��NH,2�dm
C�Z��W�R��
]���Z�<v0H��c8��Zv�/���L�,s5�|�B��=(�O٫���?�u��W���H��R��V|/�$�#��#��|{!�ִW�����G����J�tc�0��6�w�5�z?���5���$�Ӭ��ف��tC�֭�J��CyJJ
��.�K�MMc��'��I�탌򦧹I-f�I)2�����y���ҏ�+�M'�"����um��º�[մ���m-3mw��9��Zh�ճ/A����l���X���wF���&�'��a�x�B�սӵ�VXT.�ޠ�UҾ�5ZD�]��R�D���Ol
���<Y����X�|�T��W=�U>[�r��=lv^$�.�b�b����"n@�s^aulmn�ݙ]���Ҵ�T���:��[]�s^̱�qu��@��Ԋ��V��a���Q��zJ�K�6Z�����oxe�!Q��TV��E)er�ZA;k�4q����<��nQy�AW�tRV-^�����$�#�ZK.iJʙ�)Ӄ�EZ��ũ�<x�l|Ơ���[;B��?
�#n�jڕN�����{f�][i�rnB�p���e�"g�$�.f�[in��m��BQ�Qۑ$�Œ���(�GE�!D��T&�M�rg'8���݋��Ů�e��妌��'�ېr��B;�j�O����Kk[���Eմ��X��$`f���s=.Q%�q]V���	7��4���+� ���z%{]n�zj\�V��xq��5ZK��}������]Ʒ����?��-ƣk�3�]���u���u.�GK�}J���XM=̲Oh�v'h<�j׍�Q�Ow��M��<k ��U������Iyz8���i�:�X��(p�����,nt{˨%h浛cH?�g��rQ�fT��ZW�mt{
r�-ĨX:����2+{]�������0���S�Y��^�j6��MJe�i���w�m���=�ixo�2�~]�ْ��[vJ��nՖۗ)Y[��S��f��X�fR��y�3\<��i��]9$\K!9'�ڪo��z[�8_�-5�~���w�?����2@W���tGa�i���e�Cn<㊮��f?zs���GA���Z�h�#���0����Kc��$i,��$���"�`�W�5
E_YӤ�cʟA��_c%�뱞���<oi�^x��,v�/�H��'�3\�։ykt��)�
؊�[[Z�M-	.6[b6l�+G�v��7���3|��=)��2��F�
����Z$�-�<E�a{�Z����yE��Vχ�Q�jZ��c��!'wB�)=��_�����R-�+L[�+�V|���Ɖ�=uf�a�Z�6F*J@�}j<��@�&����v��[��?@j��"�9��ܹc��MI|����C����V����?�f@D�ۤX®~n��S��-�j�Ldl�q�R�epG2�)g'0�}Mq6دo���W�6v�[�D2Ί��j�$���l�7K��0l�\�;b���Й#�5���~��a���;�Y����ӜӁ8�@))��"�3���&�䒼b�m-4��_k
o,�6|������X�n\V��.J�P���Jy�H���f��s4:�E�}�g9�[?A��7���<�ʑ��#�6�2z�V�S]�7���#�#�$�s�8cۧ_z�TZJ)���q�1�T3H��WП
�)�<��p7�+Ԋ�m۲��K�"���ŧ�8�"v"[���8,�k�c��M�"Hq4d+�zƚ����T����7�d��w�c9<m_CP�zv�U�B-�e�(��?�k�Q�s涌��z����$�kF�bܪ���r=�Q���Od�<fA��}{�ָ�4f�y�u�[V����?�Q�yt�+6��&����W���Լ;[���r�uR+�1ӷ1�����P�'���c�!e^���{L�t����#3�!����,ޑ����_Pִ�CZY?���M>�{�c��Z��`�#�����8��>Tz�%�u��é�l��z/��-��	R�VtdY�=k'��߅��u����M���+�2���6�z��ӡ7��c�.K˨�gv
)�~��4��ՐB��6ܐV5�„`���]�\��s;�ZE�c�
�~�3���\�։s�Q���q�'<��ub�o�SF�o�t��\Q/�nU㊽�š^�mo{���\�ˌ$��5����3K��Β-KF��Yck��7.��a�T%�/��8'��KS���/���֚M�ב��.[��{)��1��T��#p��q�ֹ
~�]2���[Zx$��~�%��]
�	h�;�<o���0ͼn��0:�N{�G?ń�>٣�h!ԭHP��<qT�%n�dDԭu�o]���x��wl3,���AVݗ��渽7����˽Re�[�&2�Q�J<�nTTU��M�������5�V�}��G��w�����6��"��}8}��&�>@��zP�f�Z�~:Л����]M�"�V穫����>�<9�I��6ʹ!�Xs�^��g%�܉OW}{_g��֕����r3�����M{��4�:&���n�01�k�R�:7vM�;�+t�;Ğҡ���\K7 ����ڰm��.�t�G��b��*O\�ᒨ�J�-�S�=��֑�hV�Dsǭh���-�bh
vV9�=�����|�v� :��C����<�巤��ca�ۓQ9��<
�lcmJ���I��m�"�M-��²ڴHd��w5���-t��L����&Any`{�ڶ�e��5��=����+ЧK���ͭNi�FO�=��SR���m3PV L����V���[G�5(��c}k�^���_p��_��Fz�N5��4gz�}MQ����UP`�:})02�ErM�c�I��RFv��V�K-[��y�\Q�$.q��V}Ih�M�6���"+`V%c�p:�s\��Ř@bI��[D�d`5GCI��<3^��?
\�x~Ry�+=Ll���!9�9�������S��.jR[͠O�_^9�l�e_���[�g�\l���<�O��>�v>���4J:�ƚ��|;��p�v{yY�ʓ�3����m�ֻ�j��rf�\"�xQ�·�w?{U�M�+��Etax��mKAk[p�6n��+R��M�
��-op�<�o^�kɍJ�R��m/mu�5�#@���H�X.p��t��i�n˔�ˡ��Z�=�[����[2]R=q����F�m$��r�To�j�s����-k��V�-X@R&�l�8*chf�2�03���֟-��.�J[=�}�>_${U�^R�
�0MU���d�]�v��7��涼���ڡ�g�kh���†8�Uum)%�n݌;�BK=:�F�U�I���==�=.�$wQ��5qK�8�_B���]����ڛi4�g$��e8<�iZ�o[���Zk�-Hy��HJ����R�v�$�v��:e.p����ҹW��%�b���崒E�#j�|q���c�ӥ������܋�W�ܣ�=s�B����H\�����������d��5כ�MGPkH\������I�ȇ�b��<
���חH�k������jV�={��%�[��c�eǖ����5�Z����4�+��H�5{=7S����K�jI`Fq��Ԟ#���dh[�R!ڲp���C沲���R��^!���fA��F������<I���*�"}��F��Z�J7o��#���t�[��[ߴ�#f`�v5�|N�jp�j�]Y_�аu��T�Ȭ�\�kD�k��.���tIa�>)й����C�5�����4�d8R8Ϧ+X�9+���5l�;R�I$a� �@��u�m:X"������Tե��њ�!���Αn�0�{u7M8f c��_�:U�Zu��k�]��8�z����}ʃ��J�]�����Seԭn���ПOjͿ��Ҽ+��"�<�Fp���ߥiI�.X�ܗyj�t;�+N;׻��H,��O�R��S�c�Z9an�
�ɓ=*���̝9m���t�7Y�%��24Z���k���Jǖ�Qд�Ե�c����Fx=3P�N�Y�\��n���������^�����#9��ڪ�^��ӯ&��n���.�tG�ǵw�iv&�It ���ƒ�0
�F	թe�K_�i�W���%���ZY����.x^5�V+Y� ��|��u���^Kr�.�!f��F=H�k�=|�|��j�-kH�9��
g��1����F����2"�ߓ[-G��2Zb	"}�`GCM=ԭ$)�9��u�+(��������ib`��*�B�j�+;�v�O��z�֕��b���nя1
�w�.����7���ȕ	n�d�\���-&��� l�%�+(T���WIԴ��� �$t6�G֫+��J�4�-I�w�� L�v��O{�ɞ6�ׂ�0jTm�2��a$�	�����ՍCQ���+i�.��(�Р��>E�(+6Ε2�v��Q%q�"Ŧ�l���WFP���iK�2��B�Âw��i�FO.��D�70�i�����t��k�k:�)�y``e���Da�V?g�7�<m{��3�ZL�[۲$��:g��|7�[�O\�׭��Y��}~�J����lKN�}:��~�q��\�����g1��N?Z�[�}Z�[B̃j��8�g� j�Qod��+�N�ϴ�L�7u���.��E6�"H�>X�a�Z��%ۡ����v4t[��_2�cmĒ�r<e��Ma��k���e�L���ܴ[�|��M�Ēz�䚰���������o��x$�k
���!�dQI,곾����Q@ɄqC}*A'�����*ƈ��� z��4	�I�n�pÃ�+�V���Z�6Ev;`��ƺ�d@9[u�Uih.�0��%�ivC[>��#Sx�hR�oC���J�g?q�=���Y4I�Jg�YIY�l�'G���b�3^Ie�6TdW]���3`n������ŧC9�g�ɻV�����Yg�Oz*|GBZ!�?�9��e`���Ӌ�Ҙ�1�5��ͮ���mh|��[�Zqvw3�2	Y��*�}�s3F��ME��L~�1Ǡ�Md8=�'7'�7E�Kecx�����Ͽ�Z���-j�x-��nW͎?��<zb�����>��"��f�s��C:
WVq1+ ��q�%kkdi'�G����8=�X�G�)!�Y�c{,]X䁌��U+x�aq�Jo�Ռ�p>ԁ֗�X�O<����B�{�K���<��#?|�w[�з:N�43OȈn��!{{��`�{Ba��eR�Y6�g�cOS5\���J�w^kQ�9�*��Q�zV�cúN��^,zu��۶����C��R��v��U���$0;�a��{$��~�������76�����6�!ʖ�.}[�{WK�	�p�&���	�0�P���$�EVۙ����vzŔvc�(�,��G�y���K�O�:�FV"҉]�hR�X֚Q�{\��9���1C�\,��^\��`?��U�궚���������L����&�y�LVѣ�4�w��2�bcs�R]i�^5�R�o)\OZ�t�qv3u3�M���O0�պ�\ד�ֲִ-�S>�xNoz�r���Vw�NƄzv�֛��J��)��d�V����w>!D��=>�?;u�B?��.r�4��fdԻ�, �!mg,��RM��}*ho��b=2Ԫ�q���=Ma8ʥG&�KDk���!�h�c���
s3D��B���/�k�$��9�rq��J�ib=�],�N��J���|!}�iw%f
��a���q��-�%�M�w�����#[�2�N}=jy�5vվ�h�{�hZiږ�eƓ2�K<�0��S��׏������7�H�r�c�Rz�VU�d�S���ݎs��Mmqd�U�r�����1�sr_�i�F��h'S���r>����޲M���nW��m7I�
���d���>�W��k�����VI���?��{5c{Itfɫz�C�?�nt�F��;��`��e9+�ǵ`���Bּn�f�e��
��!U@:�>�*m';�4ylbjw��.f��Xm�p����^�|*
d�$�mX��n�ҒT��ކ~�#�n<=��8��js� ���"��O\���wz���u鷺%Ǒ�G d�v9�}�T����En�?	\�Y^�v
��ē2�.��1�=�|Cშx�u;��$�Ue�r�c�s�hMT曼ox�V���E��x^��p�ǐߧz��L>k^j�f�+4q6�=+��EJ)�}WztE�3z�j2J��J
��r@���`�h�Ɩ�lQ�`����+���4��RyzM���%��Vs�Q'v�̰�f��X���-e{
j:��({��3ԁ�
��c'g��6�8��%7[9c����2����o��}J�q֢c�}�8)'t��Z۹H�
f�+���q���m����N���ٶ�Tc����S��R���(ݿ3*���g"���Z/�7��VK7�_�z
����/���#��<��s�<��0��˺b�s�V���&�s�-��7��=��=Fx�+���mg\\l��͞�u;���8�0��'�`O�ߪ��c�?�a�!cZ�B]��7o#D��-��q�H��Ge�5��ӵ�����HC‡��ⱭMN�۳՜�V�x�n��	��VH���N0O��\��Ԏ�o�c��q��c\J<�&�J,jj7QG�I(�;T��}�]���NMz�ݢ�I�J�G�oBO���q߱��Wa����RҴx�t�	��t=�ֹ�kZ�����E�ȅp�>h���ڹ��_�+����Z�Zm�7[`�ٌ�Y�l����W7s>���[�6���ăw_�sʻ�^X�Nwfm��o4�N��9^X���	��*o���:�sYƢcޮ��"����*j˹N�R��2ڗ�M��zg֛�at��Y�VmtdE��ȓ�T�]�X�7\rj�FڛR�i�&���x�V�,*fsŠ�<%����ST
�iAY�csw#֮�Q�0���Z{�`�ݜ���fG�w0�OJ|�$��M�QZu"�S+on�{5��i��wmg��t��;Ut��R���ҡ�Yȵ����S��[�����.�x�F�����2�q�����'}{`�f�䶒b���6I��T;E�����>�0N�m}�N�mu����4g�n�J�O�S��!���+�#�yG�kG�5沱�گ�4�ik�;s<���5��k�<Q�{��zT���v��5��/(�;��:O�]���"�
�Z_�)'f�.s\
��C�nޱ���X<ʵ����4�3
���;Woc�5�jڼ0[�O���5�O�=��y�w�ܶ�.k�����ff
[b��;K�������:����]i�7���b:�p�R��p��6~3�V�ei���Ǔq�:渿
ZZ��ί����8�?Y�?�\��?we�)��Y|���I���~�3�`a�OoN+S�Z��x�I���T_=#	y��)I-�$����e5����-nqo<Fޟ(a���5���N��=J�����Q2��OҸ�)s�-$E���ȧ��:�ꐬ��Q@�ʲ�{{�MB�}Z����#�B�9�o��/R+-	��Ξރ�$�`y���j��{;+]x�W|�y'�u��Q�]i�Z�_������rGy4���v��۵X�Α�k*�K��Ka`���g�٨�����q(��O�}r�8�!{k;H�}�.s��Оk����qqyGi��"��Б�WE��n����F��&��y�3�윗�®�P�^�X�Ide�n}?ˆs9[dF��ڞn�%�KImف��
GJ��sk<r&��s�]��˩��J�MB9��&�<��*�P���h�yt)!��O-�S�jw(��ڪ�X��P���
^����;P��f���)�EnC�<p�W�GCClh�MrGbB��\VcJD��u��%� sϥZ��P�	���%rZ&��'���"�U���hc�s��މ�g��pJ�Q.�x$��U�E�ؤ/�FA��V�a����+��$��S�EmkZ�ֿ߬k2��ʸ,*e�O�%�Lyd;p8"�.r*�h���?v���њE�BT�
W����u�)�lS��s��]
k�
��l��W�
����Z��Ԗ�zk��䲒{
��׋u�
�m�jr�Zn-�2Q��()y��#��5i��ԛ�q;~�}�B}=u>���]"=7ĺ0-w{�}{�Fp��v���ަ_�!���y�He��.��3�Q�e���a%ZkP�p���P�ͪ�V�S�Z���$���fFK�!ځ���ui�a��C�E�e��繮mSW�0�+[�W�G���KS 6]��銋ž)�u�^Yx��/l�2䷡S]�y�.g�=}�2��
i�������u?g�@wG�~���]��ga.�XH�O��gO�U���/�	w/i?
�A�io{l-�U�����z��4�Zx`���e��1��G�^�r�4R�����H�3��řrG�;��U�sc�H��	Z���p���V��C�;�B).4�b�wH�`V#�wTeaQ�RkX$֮�lI<+��U#�I9���t�J�%�#�!��h�]I������}2I�
�ךlZ��Q���������]E�̩��O�$?J˿�Ν�yt�f�Ք�wL���<5�RjzT�Kq�o�M\��2�Q4VJ��f����T-�G-u4�.\�O5_d��������~�4���`穧y�ril&�>[y!e)�{�C�C���5��E�DlI�DZdI�.���v�y�|�<�V��������w%�@H��r�-���u�%�薳�f�R��x�J��=5�?2�Z��<
�(CW�W������ĺ����HTD���Һ���6jzjmx�1HW�>�ܪyt'ө�Zes���gj����qǵq^4q4l턑�iA�H�k	nL�G��q��,��ӀǽRe�&�#�(;u������z�G,d��F�,+GH�n�<(ⳑhԟM�9`���+�輛�A�j�z
�"z�ҼO��G�H�q�+D6Y��_-9bpu�D�j�r[��8S{���+E���.��IEjhk_m�[	t?i��P��D�op�g?^�����V��/���OR�g?�qP��rr�v���g��܎�῁�u=FB[w��~���<�O_rk�m@h�D�B3'��*��
�kIB
jkR��<��Y�.��h7�B�mӕ�Vύ���Ow5�6��X��]Oq�k�ĩԇ=쓽��}�G�ϣKav�E�1d28^��Y�
Hë�J3p�|�~e-ڽ<:�b�%s�*ڞ��7�/EP˱�̌��5j�U����� �q���=��fu��r�ԲOr�K�C�R�6��}�Ht�e���μi��^��E�D��3��,��71jP�N�%�Ww�rXz��ֹ�u�]R��[i$m��-&�?�)R竮�3�/+���z]�5�r���,�U�QP�x�mC��Y]����v�a�GL����q�J��M#m�{��u
me02��:/L��<��x�&�z��N!w�@���"Q�Ւ�Ḳ�k������n�q�� V��i>�|C��\3���x;�]tW�۽�a���㸼={(�7�G�I9 �ݟ�v�<�V��w7T�R��[#��B��;Es'�&W[��?
�:N���C��v�K�S�=s���Wm6])���݊�<m��Zʥn�\W,��^����r����'��*��mN�S�i��v?1�iĄ�Z�+$��vkeb+k8��d�Gq��r�,Jm=��V�e�K�f���R��D�h�~\v#�p�gZ�-��3sQN�qo��.�����h�������6�:��v�d@[�c/�z��Rj�]�ݕM���8�WMO�GZ�`q
��[����z�|9��O�����=��y�8��j5��jʋշ�9�4����1��Q�3����qߓ��.�|eyw=�Ci	�dv��?�N��ݾ);|�.�WR��on�˻sq	1&����g��.�ȵ'��r2�w�E���Z
VI'�,���6�
�X�x�y���Kd�qXZ�Mc���Iiw*���p��W4!�W]R��cۑq����'׽S�g���21�9�6�!��О��)����ڻ%���#o��@���I9ɭ��̯1"N��RD�PFA���oxj�
:�t?#L�G<g5�x�&�6	=���k2���i��RK�
:����W]�
��jLa��{��k�Qh��
���j�S��w�ZN�F�)����N3T.������9��8�J�n��Obx�k�������Q���ĄX��n��|��)ؖ�<��Id��Gvgf=Y��jaտJ��A�S1R�F�`�{�k�
��޺[�h�5�{mN��*`H��s՞�/���tX��.>Ť�w7���`�}����l�A����+�q��a$8��Q������$�Q�:H��>ٮ��ֿi�=fk�X��Hv�ʹ�'���M9{9\���w��Hu�fh�{k �$�rI����_��3:G7�{NS��q]P���E�_b��.-o<x�ʲ���Q���ӦK�k�xϻ�o�[߿jƼ��Z	�G՘�ƫ-��a�2d�bF��v#�޳u�Hn�k[�u����wZ��R�m�g>�x~�{k��+Cv���`g�5�yyo��t���H|����5�VVKԫ�Y��6�w�s�i"[Mm���7H�e�5�m-�+�d��Q&�ѝ���^�՞��m~�5I�Ewh�Gul�y�2q�lV�n�5���#�k�hM��F���h���$���wq}{j�������}}k9�y_�-�^������J�|=���s���H���$���ԽJ{'��3�?�൹��KyL]3�Xvpƻ��C���F�8��<
0U��piT�Ȼ���ݎ}�E���c
L�%�kyo1�+�����~��
�E���;{�ʱ�;��B�M۱���Y�-��3ϖ�MeE6�,�A=qZ*����t:�z�.�n&D 6	�z�63��!��'f�I�8��[7upn�Wa �
���+�o:#�;�����q.�p�횋��:L�nj*۠_qzy#����/t��/�����X$�_�^!�2Y]�:�PwS�g���Z��D��d��U_�Νct�R�%���n�t�J�+9IK��)w�V!��u��6�Oɟj��ch�q�����6"�Vݚ�pMi��֦M݌���BW
~�g�}�Z��V��h@K��:3�ϭkJV��Sk�-�10�[Z-�ť���<�l���b9�
mʞ�	�sGU�o������,N�c��{�J�¾2��f�Gx�j�	[�r��s�S^��R_A��^�Ƒ�Z�»�n�ckk�+h9��#�|g��k�����z����M>8�IC
�8pǩ����Q9_u��5��SF�g��:v�z�
<V�<�r��+��8q�>�Ɯ�#���v%Ӭ#�nuU�?(FA�6�y���!�����堲�t����
�2�}�k(O�M��sGj]𕿋n�L�]���YDgf1�EoO�kmIe6{{�	Ym�
Mt{5
/{�9;�f5�kZ�˧�h,�b��<��s�r�6Ԧ�촍Ny\Y�17����CUM{�{wk��2�Ib9y�A���-�4��n���cX�{����p�s��?�V�WQ��ѩ�8v`_�,�YSc�1��0y���H��GZ8�d�R�8<{�`X��Ie���֣x7*�u��7C�"�Xq�[Y�_ܱV��Җ�a|��rd�-#��l#h-ګ��N�L����x�V�x�9-��ඝsfl��dͼ�~dPx��5�S~�}J���$�@�A0������w7Ry1K��c�qM���kMK�$ӡ���.�r�~�e8��Ut�#:��NOu�Ms?̦���ڮ��%���a2*��G�W�i�"�PN?x��i;/>–�˳�E����X6q�Z^(�#ԯ�Z�!�v���i'���I���K]"��+���xd'�{����ڇ'ktBI�@I$��k3}cj�[�@{�V��H�-~%�ޕ�?�vT0���q�׭���#���
k�{i7c�p����a4���$��ʷ>��$w�i���
�𾞼~uJ�H��E���rA��38�Ĭ���kF���u�Q�H4����B�,lo��yz�������Cv���h�
U�;V�J)Ei�R�KBퟌ�kKg������+ćS�$�k7j�R�H��0;ֱ�����P�ZW�hw:3k�t�|��T=���=��}�K��h�
�0�}��HO~�����vs�����px��
��������q�I��:�Z�KK-�$݀GjÓ[�H�%9��cK	o��SC<�r<t���ΦTl�e>���i����a�`�W/o��Z'����F�b������cUnog��`�}��A{�7�i��0^��Z\�)��:qS�[G�ֵ;���#�<Ч���#+h����T��4v�%r�Sx�M�_Cd�9�mQ��7��?*\�HB�<�JX�1Q-I�nv���ZBI����,�(�j�"V3FU��Wnm���A۟zԖȨ~h��SZaK�E��&#f
L�ʌ��K�J��%]��������-�D��+~��4*:��94�S뚍�\�3�H���&	�b>A�޸ܺZ����\�t�+"dy�%�C	~�MRl���Cq�
#
v(`�8"��~?JCF�&�;�3�ё�WL�-����Q���k9�DMgO��E����)>�5�x�/��c�Pk5��e�&��S*�V�O�1�p}k��r/��5���BdV9�j�|o��1��,x��ڗ��Сg[Ӊ��B8�}+���iZzM�A����@ھ���W�Z�ݜ�i_��X]j6����Z�p���=�ڠ���w\�J�1.8������)J����Ѵ!�<��L�_���nb�&�s���L��z��שzp��ا���ӡ��F��i�5��59�H��L�kS��ҿ����ǃKseU!�����.wg�SNk[�=)][,���H��6������s�Vq�=2*��uz�.�����dѢ�G8��/�!�
���h]Ĝ1�Fz��:�>]ɔ�k;�o�!������s����v-Jӵ0̻�*�wֺW�j�n���W:��7S��`�\6q�@0ɂ���⧶[ۻK�e$�Y�ȥ%�Op����
L��vL���> �i��Vk ����9}My��N�95F���a��1��T*m�m#�)�� ծmtۛ!,SD[�/���_MI��:�O���'V�'=Mm��*7xI�x��߶K1"hc1�g<s��;j��8(��FT��U��fu4v�ӵ�N�������S�HMOm��X��uh�M!��=�`ӽ���^�v:�Oes�[)�7���;u�:v9����hw�� 7s���W3 �I��WL����{[���@��J	D]S�2��z�گA��sV���>�IHc���$vϯ�]�T�S��QZ�)+�osC_�咋]6���˩�Ԟ=sG��[�G��c(�"r���g��UQ��9k��5�Ir���Kqso�^�����0��������m.��v�t�HA�Fq��=+
��K�kq�%�]��,t�4��~�b���Oc�����[�<R@�~pB}MU:|��i\\����͒��W���ZK�\]��Q�^�V��E��9�I�QA�q���Ң��1n�^g'v���mpP��������@�n��^��Ί�n�!��ӵrPk���6����rQ�9���g?s1]"bǩeLW�����}�#�:Ԣ^Ǟoė8��	\�ީ@�Н�y����?9�f�.,4�y�����)8�
�_pި�k>?0 �Ez2x���^��(Ump�w7V���\�����:O��F�>�W�|�-8�(5���+>^���𠨮�î*)�4Pك/*��S\�ؚv�9�a��f�1�YI�a��w�d��R-�Xc��>�J�[V���\1P�,y�}=)�]�-�eĂJ��+i4�˜��+6V慪I}qZ�:\כ�V1���h.y��F����i:n��^O.��+<J���S�j�|U��h�u����G�z6��?'�m�i[b�V��2�c��%��]��c�?ɮG�l�k�n�b�xC��U��>��N7^f�-+�f���1������m��!ZY
��W���,6Q�UJ� ��E.�B*ljx�J�|�I��*�TNTg�"�;�WP�D�Q����'ָqQ��m��ߒ:�k:v�iq�x�������=�k�5[�m,-)!	=����6���~�E�Y_x[��՘K����1�>�w�/"�]L��&�'#r���e�������<���,+�3�zT�~�q�y��ʴ�����g��ԍ���$�g�O&�.���a.���<zVΗ:I�$-�܍52�s�q��դRx$U���D���R���X|?<�\���%�0U�%��-n'��
��1�7n]wb��k�7�C�77���qt�`�61����d��}���R�p�$`����ג�
i��q��kD�4�B�����p$pF1�0~�cS��\I�h��X��D'p�'�5����*�wC��'����/��LfQ��$���;7��^sswat�s+�q�� ��V��֝��7|=�k�E�a�'�F�oư��Ym�fk�xZRX\I敚vq-hn�2떑X]�[�X��H��d������������}E	k��}W?ʕ������Z���d�	�p��].��jx]t���W2�NN����V�+
h���gdt�R08�Tv��}6{tA"2���=��(�J"��n�JY�2��$���%�pxϦx�+GIG�K���k;a	��� �©E=�d����Uܺm��՘��mbH�y��=�q3�w�<���w��q�9�UN/���r�)\��a�N{b��W�-<��eK���g�j�j�rp��mm78\1�����_�E���:S�	M�ݢ��lj'�����;+���Q��{�G��� П�:
�,��#�?�Zv���A]k��Y���bQ����|t˛ۈu��h#@�\�O�j*�MYj^�v3u����XClm�a�.�g�;E�"��<S��ڂ�B:���>�~54��(;�"�+�t/Yx��ź�7��r�]#~��NWg���O��hm�i����|
—.��ٜ���9�O�z�ƛpЅ��es�O���UԴ�BX�]�$, `�J)�����Sw^�e|�E�����!	3h��N8��>�,t��]*�"�Z"��O�v���"w9���i8�z�7H��v�λ�K�W_��e����ړez�,y �"B%^3�JD��7�UC~XU&���8����kڬ^[	q����EF`���j}�?�Ƃ5*�x�L���K�i��f�ߡ�WeM�x����[�3��LA�$U��ܻno^��mU�1P	�N٦�z�V6 "��%޴\D�L�ch5|�+Ar��n$�&i�:���3��|�zb����[4�>�$�ZNs�x8�֖���O�����mŊ#�&Z��n���٬�d�8�$,�bi��r�Ai-w����6�p�󱜤۹��ry�Ks	y�=�m�NZ��l�Nx✖�63��;�����VH��"�A�Ns��ծO�&x��ܡ�%��8�m���3�i��i���9����C�(<���)�����d�~>�(�����0�2�d����]w�u(um+�V�e�1"����I�GZT�i>]���z�T����O����}�g�S��7��i֪�2]5ڶ$��W4�,����O��[�Po?gOB(:���-���N��I��ܕ��-�i�+��e�S?.Z��`�#*�[F���_��NrG5�a�����y�C��w��9��[k��Ӳ�#�Ir3�+���0dV���=(�w���̋��k/Q�[�N��a�J����q.8�kK�)�Z�*8�>�RKMD��g�K��O�O�q�+c_�t�}�ei���G_#4��9����&0�|t�P������
����]�Q�S�%x4�)˗a��S1�ҥ���&N�0��Ʒ3r��g'�)m�9;�/�\�EiW�#�60y�3W�k9�A
���MU�ԇ�1��!��Y��ic�����f��.���ɖ �ixr!�ۧ얯���E�Cw16�5&�����d���I�1����5�p꼊�:LK�´�v��>��c0��#�.G�Ȭ��I_y�K��w
��L��&�RБ�3���S�;�4C������/m,��9o��(�I{�Aᆼ��$��o(kr��2F~��Zش��
OLӥ�������5���Э�s;]6��Vrz����}��Fj�U��+�𶠺v�o4�������F~Υ��b'���jz%��%��|ܻc�s��.#EPbU<��kJ��Us�º5n��ڲ]l���$�rq�+��U��P[c8���s�\��O/w�]���F�jUF��H��aK�t�s�bL���+
u�
�Q~얦����p/�A�ŒG8���?Zɶ�
��q��	�����m�kI�ʧ3v����h�-͍CW�𖞐�3�pUK�W%k+��)e.�]�T�����W=i�7�jLݭ�d��o����Z��/�m���+,g��\���y4}{�QD"�<m�2Z��n��.>��G_c㛶�%��X��TY���g�� �zm��2Z<	VYx
}+��h��]�S[�3�>%����K��
q���XpH�������U����� WC�6x�ӧֲ�msGh�J�Iw�vs���f%��\)�s~,��<Q��^��W0�v�S���sQ���K��Tg���K�?xv���G���L�U�,��2�ɯ1�-erln�Z�S����m'���H���и�t�+��×W1��[&r{���
]k�0�a�1,���*�\w'4��$f֤sh�Xk)g�jK1շm�Z}�i�jsA�I=Œcl�����Q{}��g��{��.e����^���V7�~'� �D1�t�,���1WW��(�}˖�C�;��k�{O���dt.pp:��M�_\���t����z�Tn���6⒲��� <Gu�ޛ���b�d��W��ĂID����	�2+|SP�_f+B)]���&�KռW{���e�2���ю�Mkxr�H���E�E��Po���&��r���"K��-N���2;"��a8���Q�a��C�����J@���
�^z�r�i%�����*[-�,s�YN,%.��
޷&֥��-?E�H�9ǖp1��A]�RT�������/c��^'H%��E��|�
Z&����^���&i�Uc��)c��s�����z/��-�����5^fc�y��2�OY��E(���=z�"��j�Eyk��~x_�'�����?�IJc`1-�^j$���֫bX�Xe�lWS�[��4X��I�Vl��}��:V3�kc��)��6�8�>oZ����R�m�Іlm�\��V�#+���j�AhZji��c(�<c��~�;�΄�������r3֤fN�V�c�w��SX�����jC��q���n#�<E�9|Aq�W��ݸ�V�Y�q]����oR=�=���!	�f�t=%�k�-H�N)E]�hܼѥ�hب�S���ontK��F��*x�g�r[6K��=$��,��A'��5���6�w�K�`�y%��cX��ZݘԓKB晩_i�a�G@NE8'�O�5�RxkM�|��[�ڱ�B)�:��t6�'$����̚o��"��@��L����N�f��s/ʒsx�/l�E�769�6Mu�yn!�l����C�������G��!U6�0=��+��Riu��5v�:�h�v2h��n4Ty�r�u��a����kF����G�]�oQ�j�e��d�m��A�
���P����7�D�@
&z�5�h�ڐ��u���Z�"�VV75}6�W�.t�hf��nG����VTzl�(�h\C#�W����w��I�sXX�Go9IQ�w����
veNk���RK�U�:�
=���y�i	v�p:^�O�Ϛ�gQt�O(NW��\���g�;��u��m�I�����s��>��j`��'u�aȤ�k��)سkmck#+�H��gڻ	��DӬŶ�nY��y{�{�kz��V�h�̭{ƺg��;ug.��k�}����<d㊵o�k��5��q�S��T���#i��]I�ܟO�ľ���6�{�e�$��^2�T^(��աҌb8����y�9�j���7++�wq}v+1�S�#���ԯ��W�Rټ��e��ȣ�8�P�z��I�E�#�/a��b��ˊ�l+p:���<,��e!���Pvd��E��=�J�m�WQ�}��㵇P��Q��'�1+�)���+#�6������:O�	�]�⶧t����l���Dj�����58��� ke�8H{��Rx�÷�ӝ�d�ND��KG����i9%����Є�ʤ�/��o
j%�އ}.�MJ27�
J�A�:z�W{�/�֗D��IVx� �}��Le�C��?$]�6���Z�^�R�2���Jzd}j���y� ������7��J�2W�ߨ��k^�_���54V�$���1NM/�����j|y
9����T�?����6Ki1�.�]����*���j:��O��q�7�6�ֻ�e~}Y��]�Q��D�b�C$����jѲ<�����'>��䥪7���"�D�
�w �q[V��Ѣ��~���)Ż��Rv�'��4]K�7���	Rzὅh�k���s���Oe����Ps:�;/�sV��D9=Wc��𖁦�l�V��:e\�s��.����t��,�94c�J�7;�[w���O��M�K٘�󓱸�f[Bes�U�s]��BZ"�w|l"���k��C��m�ep�!OP
h���R�F��Ěx�]��2+8���~@=�I%b�r��ڣ�Ju�!�&��\|�y��7QQ�������G�����BēV-��kX�\�3�Q���cd��8�Ҩ�m��n^ƍ>bz�m�ML�⥭D��<q�Ш��."�m��|�9�Ƶ"k_*ۺ�t%OOƩ�$��y�*�j�"�(Ȥ	�������%�P�G���Т9%�B�d>sSKe5���# �qT��"OC��n4kk�0H���r�%	8����E$�%����شa��=+6�6ً��R�;���p�T�:�j��^�%t.�	��5.���@�f���l�UD�!R1����i�{D]�̽2=
O'0$T\�w�ǸT�7���0�I[�	*vaUg�vйsp��?,�})m|I}�����ʱ��.��nw�j�Jے����I��c�U���(�g��Q��JKQf�q��I���3��d)F:j_)X�㌜�F3ެ�l���ak�n�p�����[���H-�.q�=+��WFc�����F�S�>���-r���+,�|��<�{	��h#w��
��-9��y�\\��Z�P�Y�xnT��սGZ�U�3͍�
�AN@�ԧ��.�>�4��\qR��ջ��>C!��;"Zԇc\I�1��T��Io�F���C���Q�4
���4Ѡ��e�8��!
�֩[b�(gvP	�
�g�EЖI�i@�L�n�s�$!pkV���9���oox��U>�j���Q�?alA���q-�i���I���Я!:��ٯ��f-���;WF��*z+�UQH�2/���x0����5M�l%��Y� u���2<j���r���$ez��b��f2Iު��M��n*K%�����¾#��kf�iղ�~�_ozj�E��{n�}�x��8`K�҇��W����O��1�Z�p��ֹ�Y�g��`H�zg��_��]�X��
_��-�E�������<y���l�kF{%�qIk	�0�?
m����7��1E���W���,}:=M-�M^]���ן��i�l��<Lv7~+���*mM^3��8�.�頺��D�G$c�U�ڔk�P��\��1�꒡V\�s��#�)���vZ����})�8(��kZU�?*�H�<�K�kz6q� ��lr?x�-R�����28ǜ��J�ѵ=
8S�LIW�����N]�X9E��>:��m%�t{����WqȑGc�5���<���������7q\���e����4��{?�Ga���B�}�F�o��n�K/���u#ʋk1�#�ҽ*�˕m����������YqH;�����<Y�j��C��tԗ"���?{p�k�
F.-o��٪���4��W�2%��N0�<W����ڕ���3���lz�-
n�g(�[2Nj�M�x��Q\Ooq�y�x�Y�q�b�۽"�o��~ZQ�����ث�[&��^&����j�kI��ty隖�k�z}��.�Ki��n
zG_��9���⋹�x/Aa�ݧ�RW�E�3�w>���闗�-�:aKy�����;�ڹ�N�tKt����\�����\��w|Ɂ^e��_.�� ��2kz�UӋ�I4��h�!�l4K�3@���RD��eC�Y>�4��w�K�;gv%�s��Z�֝���[39J�]����qk[�1q��˄/��T��Z��D[��Ք���a��O��R�t6�%����-�lV`p\zU�A>�i�x��ZH�aB�}�==��9�j�{�lj��<�?�X�	u=B9"��S+�m��]��ỿi :�[E�.=�,W��J�}�ĵD-YOE�-l��{�X�v�C�Fr=�SR��Q��*ѯYdҢj�&�z�w�1S�Iv>�����������k�q�Hz{W_�G�EgԥȎ/�'���𴦧)��%���[�=j��걸� WS(�N4�TR�>]��x�yv�td�h�2���qJ;����i8�v3�P��+F�#ǝ.��qϽ_զ���l����$DF���8"�j��J��.��\j3���r��n�
�<�诼Kg.1䩑���^�$�/-/y�{-2U܄A�\GX�J�8�~��o��<�
�JsڢN�03��{�,���k�|}wqueA!�ͤe��l}�ǧ�gnf�N����nRS���U�����̉���8���?ʷ����-b��V�d�T��~“�����A�ϐ� g���{�*
~��_��%V�lz�+*��^��]v9f�B1��pGzH.�{�4��r�rp*����}�_�C�难�qq|�k�8��yk؁�Y_�Y��u^I�Q��;�w=?UQ��ߢ:c�*xWPox�5_���ڰ�(A�v�=+�
�	:��+���G�T%�שQZ.��
�ޯ��EY${I$�yzc���XӒ+�.��� Ʊ�z�6�s�j�~�5��=ż���]�C1\�;}>�z�O[m���$9W��b�4]�Fr�h�WN��=H^K��Էl�T�!�3���t5�NI��R�q��c��	�nL�����EO��uqkob1C)d�c��5<��Tt��jD�����
U�l$:�!
��i���w聻�j?Gm�Ѵ�Sa(P�H���?�c!�T��1���Y��w��	hMl�7��?�U��eC�M���:�>�o�հ�fy#�%�pj�ya���H���������2���Aoo姛'L����ڍ����~Q�y1���
��G��6�c������v���6#��HO���B�P�N����<�>VS�[�X�.J���f�ס��������L���4˘�;����:ν��H'� "r�{����g����%����Z@�_��{H.��W1����#��!�OkA�2@n|�ь�ܠ��BZ�|#��k��:�O�<L�V�]6�g���z#X^'�͗˽�����Z���*��2���[��/B���ir�7�єn��y��q�O4z���ܴ֓��I��3�Ǯ+F�/[Ƥ�&�^��
�}Z�-�\F�	I�[�������fԮ)g�7�/�9>���O2$�mA.|k{�]����D��"p"pz�O�Zz���֣�G�Y\�	�����5^�/y>�7��;��|?kխ�A�)�\�\�.�w�;O�;�29�|�9����n�ܻ����,���
���J� �6�M�����.#�z�z��\����s?U�:��
u7�mpO�<�*�Օig.��E&�"~IW�`GQY�'n��:+�m��^��ͮ.%$*���oƺ?��T���}����	��Z*����^g���V�ڌ�����Q��1A�+��~#]�m�՜s2���qҢT}���硿g��K�
��^)�tBɁ�Ѓ��$��/���y.e2��۹�D0��|� ���^���t�Xf4.�>z��m���X�8$�cH�P���$N��W�Q��@<֍��Cf��P����ѫ�kzFs�x9�����)2�7(gM�����A���6���>���q�e�MzU�����gҩ١�܎�� �9��ڭZC��yv�8��c�LR�U�<��(jړ$�'�y�>c�ҽ�2=�MJ��3�Č�Шc�Ү۵���n�'��g�\mѲ[l���t�
#I�qD�oA���"(y�KC"�u�������K�M>�BD7������U5�6���X_�-a\}���
�����Рa3HO&�!��D���z�U]�ޤ�^v�RH�I���›E���oN**��P��*�vh�ZLe��].���.WaB��jO�O4a�P�܏�LT���?!�o8؊�'�M�X�5}�ἒN����']��w��w����R�;�*w~��X�C(@�H�����U{�G#�nsW�{%�O!X>>}޵�Z�6TM���#F�p�*�*�ҵ|:/?����zB��{�h&6�Rk�B.��q�?w�2�0�p[$�&��@X�`��b;��,'����r���,��\�O�ծnU2��X�sڍá�kZ.�qcbo�,�'hX�&���=����Լ��`���;#4�LmR@5k�2Im�X��WqP���h��ۖ�@�n�$l�� �*9o�_�7}k%��t��Do&h��� ��Fj����1xW�3]���YKfb�B�=�V���g5�g3-�3|���-���5��	��ֵ���~�RЁ�x�[~�f��5�oo3��
N���n��i>V���W6�cmn�SI��
�N���H/��Q�@���RzjwZ�}4Hiz�9�fjE�γ��𷸮SU�(o&�y7G1	צ}�n&xֽ���{g`���;���<�"}+�-���jW�)Ӛ��Se!��F8��
����g1�q�\�-2�[?%�S��׽e�Z��-Ӧ�pn����c������2��X���;7�=鎻�"�-���� 9�pGc]��%.ž���M�𭮡s(�1���M3[����#��0�1��Q��XVu��m�a�>��n��m�&��ZYYβ��E��������sv7+7�@�s
I‹��V�R��K�;[}Z��"�\ǵz���.�e≕�$9�Z_�}q_3��}�����c���5��^kՆ�s��,6��"E�rON
'��=^�C��c$�Տ`?¼�.\��=H�kݾ��]���:�^}�I�
���
zU��]�������(ڪ*ɎOLקȮ�n���w����(��
\���W�dO�g�G�c0��qO�<��
�T�jE��8J����v�_n,�*�.m!ڱ<�T��J���.���>$�$K<�g=�{�U;ջ��lt+��?�z<~��$���y��x���~<���{�KAn�[gQ�7}k�Q�����f���#šu��9�I�Y0�Ʊc����'����w#��i���˓�e澝nn�eh�8��ϫ����9��y�*l�2��gS�N���K�_\�ٮ1��5��Qb�N��f��˯�Fǡx/���{&�(�����~����u�j�.���T�o|�:z��&ѣZ/S;��f�����l���oZ޲����&OZ1�#Xm�2��ڮV��l�*w^��
���z���pYc��=3����k]v����a�)r���'���翻%�����t6t=�]���u ��s�?J��uew=��d��ܒ@�V_Z��p�%�{�h|�[x{�Vdϲ���9�5Go��n~�jo���=v��5�R�����g�����;E�j��h�n���K��,I��ح�/x�Y�����l≀	!�\z��)^����ԛin��5X�u�&���</�������޽�\�k��C���&��5?zZ��oe�]M�k���i	��|
�mk[��e�1%BA�w�z8�(�ˤl*Rm���gm�Mfߒ�\䈱��k����ծ�=Rd�[���yV�	������&�-s9m�d�o,�x�M40*犦��6�^�v6�L�o4�fe����5�3�w�M��+�G����T���q�sֹk˓N�s9��{\�F��q�h�S��LQă���]�‹g�C�R�1\9�D+jܠⶎ�M{��;�*���D���l��:+2a�u�52��.M��"P7��}��qw�-�h��yCw@ǟ�"�*��~�Al����ɐ�[<S���Rހ�!�͑P�#'�W��^h��H��Wv�y:0�5�F�V�gQ�c&��,���.X�Ұ��2G	"7<�ޢ��ԉiX�C���u��3J�����ş��gh��J��Rj�"۲��{�>�g���]Oh`[��O�ץq~
����w��K"�$/�N�;�Q���
�\Ϧ�Е��QN���`T��΍�<�?�^��GW2���v��&�{s�V�u���z�G�N�];��4msbH����zUM�3�,���dZMi����&�{+&��%bԕ�a��|����MFk;=���/c�\�r�_��������-���H؎?*ϰ j���3���B��a���ԯ4_f�%���B����jKy�f��=�v���4�3�yon�i�,�&�}��1��f�$l�}����7؂%X���67P������ޢI7�Ns���z{Վ�X[��$�p@`=�Rw�@M7�ŋѧy��Lg�Se
���ջj��~E6��q�jվ�&�0����oL���v!������Դ��k�Y73F���Y���_8<ӧ�3ճzkƗK��ձs'1�?<�J��v��iO��Q���̑��n6��j�}�
kI[���*^:�/#��=;ⰾ#Y.SR��]�z�:�*ߠ�V�R�����<7-���ж"{e#�����UmkM�I�������S�Ȫ�I۩/}K>�g����R���Dr]����\��q�$`_,��b���;��������"��4�p��y�S��|p+c[���Z�-�C:\�� <���Z�zw/�c/���"Ԥ&�����`���Q�[�z��g-��1L�5>_��'�։&��f)�k��>3��8C�v
�n�G�N��06<�_)���}EkKMBg��kÚF��.5Y�DfGl��r�j�x��c,
�͠���W�M���|�^����υ�
�;�[�Z�\�g�\}r8���/̹���m��Gz�0#�ooCT�n��]��n��)��t�I��c�ے��~�t�ڽ��d�fK�v�a��g�q�{�3M�CH���u/�j�|>�f�1�m�+2�w(̌���0���+?�SwZ�s|p�m��\Am�m��L�ס��H��\�>�	�Σ�Q"<C�	Nq\77!(�NU��8ǭ^��c��"�dn\dSPo�OR���fR���`�����5
=�mH�S���4Y��)h]�P�i���ż���hH��Ⱥk���x��zgi(�U�I杉C'�F�˂3�U[��pi;�)29����j���HӀ��52NJ ���z���W��iШb�S�{���Y��Q_�{�A�<Pܬ�ZȠ�t4ۋ���G*+�Q��bW#uF��W��(	�+�r	��\��=�0��L�L*��^�7���1+��E�ަ��H�d�-�	|�>_!{qڴ�4莑�̗_h#*6���N0�w���їg�2�Ws0 
��<y��Ȭ�E��d���V��݂n��Z�A*٦ <�$Vf�l-�^^3��<ZΊ�o{ۡ*weH��p�>9�Pk���R�6��+�{�hW*4�7;��=+f����)ih�PdK���sSޭ;���1����a�zTn�#/#��7��Z����k���1:�V�_��NڕkKp$M�
���=�>��VI�8�#�y����w����	��vdp:�Z�6Y�X}E+�"Ƭ����?B&�&�}h���3�qQ�����NZ�_
�:�r���XU��:t �E+�2����.�K�]Yz��T������Gw;P�0�L���jȄ��CϞf�x�6N�V՝B���y�H@���M%�e�
	f���`��#�K�%���"�>�6�l$�t���{�j���B�����[���P2�$G8�rkh�������&��!�Ri�0��1��.i�N���>�ȭo	ۃ�FH����u"o�>��f}9�n���8�C�ϽV�$�\d~5�������e���y����YЛ����gQ�cY.6���
�!y�k.M�4������8�i =���]iW%��y���?�T��|�r��a���Jl�x�z��0TG9�[+�0sR@A*A�U�a��G�V�.tײrH�����Һin���$�������'.e���Z����H�.j���{s�5�!Z�����Krޱ�iP�$I#C,�u�u5�|
�b[ܝ�`V��U��w��j�F�5;ۃacou�N���`��ʩ��=JM1osy{,N��YP�Ͻz�L�����"W�s�mU�8�6~_�Z��I
���6�d3�$bx���]J77����Y�tK{�:��\[L��fl�\v4j7�~�k5ݽ�Mך����<~�8��d�cO�E�NK[����塉�I랙����?H����Hg#��o�jꦜ%ɽֈrM4�md��ҵ3�&��nj��&�|Cqsy��F�21K{��Uۜg##�d��ܸ��R�O��
;�,��hLb@���q�:Z�_��X��ZPY�O���#��ҳ��y=��z�۪*��@���X�ϵ]�o�1���JƷm�����5�ZwdN)K�rāvf�"�%Pt�Q��͔����lB�?u���ޒ�ו%�����E͟O2�E8�.�kS���!l��5\�kЎ���/�W���lyҏ����o�Z^�r����GY>�p���p�~������{���V�^
���f��R� �,~㰮"m�7�y7��7�r2q�T�(�mY�(�u�~�tФZݼ��R�1*2�j��~7����4��bE�%}�\t+��OH��Sv�FrR���q��]��d�T/֓U�φ�V�U���Ĩ�U8uz�^�i����h��ꭌv6꒪���&�ּ[��$ƖY�N�J�������#�nZ�8{�"��c�m��9�tze����b^�8Y���yXj.r�E�i����}b�{k��3�
ȧ�j���|5�Om4�ii7�s����[+^�C).z�r��2�䁴f�f���i���0Qʳ?e��5�Ĩ��$D���C��4�!�r.�GLTC#nxf�bF�����|Oe�4|p�޻rB�Gҽ���;ŊKI?�/@�_�a/b=3\���G�lD�~�㸵�Z{=P�L���y��kմ}:='G���B�1��֫�6����$��.Q]�$�FB�Z����T�:d�*$s4r��;;G�$�la�~���(���X�I�y�2���)ác��x"�g�����)��Vr(��o_L��͌��(nj���^կ��/�mŢ��^��Eb߽��3�֖��Ci��g��8+�7f�����P�H�gkG���ε�S���6=K\��]&�I�_2m�Q:��O���A%����ɹ�`kZ+=�%�|�VWNڵ��Y�ݽǚ���w���Y5=z�T�L�@�8�����+'��=-܏�v#�>1����[��w*;*�?
�&/���PR��*B�y@:���^��Z\��ϊ|'�3�en�����`�}�k�4]�&W�������S�eԩY�n���wQ����C�v�!����sY�~��xK�v�l���N�9���	�)^i7�#�XA�]G[�۷kv��p����2��Qd�J�%�$2���Ukr�#�*p@5�)Y2Z��'&eCُ ֟� ���͞��m�����n�V�zz*j�D�u��ć�#/F^Ƴ�+)�T�&���m=��]�ͩ���=ճ���0S���*��Iَ���U�O)'كD�P�3��
��h&�Y��Ô9�\�M��/a�zT�p����u�=�5�glLH�� ��۸"��w�hW��V��7ѽ����)�iRmV��R`��
�_L�֛;�\tw15k+�n\�f x�NU�����.�.��}̉��O�۟���5(�I^�
�B+�l�QKy�h2�yD揻�Ӹ�+6?]�A���G����\�
�&E�����l���lW<�-�?Z�~%Cog{5�qm��$���r>��u��R��f���;N�ƞ�FIY�o\q��\݅����e��3�z�	c�G|g�D�ֻ��ߡ��.�O��f�4e��FEv��.���E���*N��u�G>�g�X�B�^G���jR�\���ncA����G��wr�-6�����UT}���~�$�Vй�hc�Wo�Ko�;��c0������E�
F�T�]�yQ�S�}�d~>�T���HWo��`�6jxE��P����>_a�dx��V��H��G��Vyʞc��h���9��S��;Hk�/��4{�%�x��Dz�v���Y�{]!u�Cqz��+���\j���Rzۡ����6���J�t�.w���I#�5;�-�fx�<$��
��?�m=
U�+Kip�?k�l���J�Aa��A��������Za����
+3����[�A�	e�"���=H�S�~���;O�'��$������몮'�r��PJ.�k�Ɨ	Ә�Q�%rH5�u�׆28p��Yӗ3�����bO
[�����H�W>P��e=��*}j�[�Fy�	��X|��>��OwE�r��.�濔}��'
dT7�;�i5վ%��@�*��ϥd�z��	f0jQW�8�'c[mE�,3�	!i_�q�+^"�A�W"�̶@�p�
�.]l;��N�:b��&r��l��w� r}�D͍�UX�I�Dd��*��:ܵ����v��Q(x�Z�[;�n��6��NY��T��Ъ��T~��Ikq�`�u<rI����&Țv7-!�'4�p%$����6SĂ��[�@'�;Wq⛣��}��*VV�Z���Kўi����v��Ff'�#�?Z���1\*[���I���SO^��:�����\Iov�r6�`
`+=u�2��c9�4��F�𡼷����v[&����O|W=�鶆�N**쨲D�-.<̋�1^��z/	��8��H-~��7�9���AJZ�eRViw0<	��xud�6%ȕ�r>��|C����t��!E�db�:ڮ�7�
)�S�0q�Q��i�Vn�Ȭ,��*~�ɨ�VmXc0v��i�:�[�%�ǦϨH�eTTU�$����fhf֐f��nM��b\\<{`�N��BErꌧ�"�bQ���}>�쮖x�1_�q�j).|��2s�0�=�1�\�@��cڷ�t�O���^G��F*�BZ�%ԇ{ۡ�*r��b�=__����zu��{Jw\m�G8�(�kUc�T�jRx
�h�y�/�L�CQcK�.*"I8�64t��<�{Gy�X��1��VLjt�y�9�'/�q��8��SO��J�0�і`�1�*�͓ہ�Y�n�P�$���!
r5<7R�m$Q�X�凭h�%�:��֧�p��3�|�ֶ��g?����h�*(�ߖ=���C��|�A&q��o�q�%j�"L<��w���%�G�*%ū�M��v�V˦{�ޞ��=:�+T1��5#A,w^�ݵ��׺�֐�7y���sS'���l��<5ms{��A B�3�s��I�ߥE�+�^�W��V	�\���u-�ty޿N�a��u�♧B��R[��t��:��RhںH��(H�pA<~���i�U���.� �r{ׯ���ח�Y�[�dz��6�w3>h�6���/�,c���&)@��8R+��ԏ�Ny��[��vw�&��%�5;Tɕ?�fx��������JKy��1�0�ݏ��x����f˅�L�	�2�xZu��_�ߜ6�A��ōKM�x����һrhS\.���R��KD6���[�Y��$r�`d�
�)��j��]�3F3��.�y�e����$�"+|�[��k�h��SH���;����l/d�wȮF��Qխœ�RU�O�]v����zώ�I�k
6��<���rX-s�!o��%�k|�ݎ��''�%�\Z�<�^7��uskk=��u0��0����5��/�>��`��Zi|�0���y9#��{��ivz��ǜj�5�#;�3�$g9�MEo�;2�����ִ�hى��͍,lg�!i��(���R�A}x�C�I�2|�{���OL�>�-$�k�Z�\�d�I��kn�+��2��:~u��zŘ��v�b��H�2�v���5������ݘ�YKj�$�˒ǃN����j� �o��qƱ�<QN[��5�7��hw�Mge����,ojʬ�*���O+��#�>j����[�cs�ʐ0���\������h̳8�ط�j�G���i��ʻ�[�Vz����l�h��ƷY6���I���^ ��{�Y��2���<tF��~9f���C76�dФ)c���.{���9*�jx��O���`\�1�z؜\d���&�WסJ�A�O�#7��(3�K�?��l��U�Kq��  ��pj���ui�:[_k~$�[+�.��g?�lװ@��"�~��	{V�R�E�z1.8��NF+.豻�\Z���J�k�3�ϱ"��Q$��Xa!�zzӤfџrۉ>��s�q����<I7�H��Ķr�O��C����
F�.�M6V�̄��^mI�NM�m��U.���h5o�]���b
��C[U�AZ�E=��Ž�����bg���g�>��c��y���Ge��$;f�P�\���8�0�n�T��.��ݨ������R6����8�$k��h�k6�=�ZK�>�K1��r.J{���9���m2��.ӟ��G��+����ϭ�Ok����P%C�I�ՎQ��!�'�o̤�{ѝo�u��\�ܗg�rA�!��j�v�RҚ�������;�3�>���.Z�l�{����wv�$�3[ƅ�Pe�f�v�J�_�A��%�8�H'G���K�~]�W�mx7C�Ҽo�K��3�yd�(%8ܽJgֺ��屲�K������f�m�1�z�j�K.U�C�iY�3>Y�~��|I��v2�|�:��r��V�t��TƆ@d?y}�MkM[}���S������[/\�֌�
#.��2v�U=;�WzF�m���kxe�+J�{Tքi�ַ�s9_M�P����x����5��j�<c&>�#ֳ�A�Y�Lth����ԁ�W<U�։�)-t3
�F��d�@#�k�����xzh!���0�c� �ޭ$�e�\�{�۴�@�e-���?J�l�	��g��E4�+#FC���>�|��*�++(��f�+?]�̎K1k!b0}(���q�#4n:2U;��mw6��I��[O�G#�\�w�I�m'��]�%/
�h�|Ѱ�W<`����5-F���"��U�j�DDX�u�(���K-Τ�8���r@qֽKT��g����P�b��~S���+���W�&�_3��~���Csf�Oi�$�p���L�;���l��T��$.�s�ޮ3�Ӡ��/�V��]��f^DV	���G�s��|y����S�3j��4Wp�U�/���2W��	&���4�(��؅�v�?\u�>"֎������[I&���
p3�҄��&ڑK���������g8N���A��.$�+�R�G�K�sh�lt�U��/tI��ƣd��O���kn��ח_t�&׊t�L���?�_�XMkm�
jm�rx��O��^j[VM�2{�k%�WJ�]D��%��ʠ�;Q�Ӣ�cS}6[�F��[T��M3R�$6�%�=q��S]Ԗ�N[��	%�Q�����RT�6\b�u���Eյɵ����ˬg&(����F�B�<D/"��E����?
Ҝ=�x�,�B���g]$0,Y��,GlV��l�2hcT����q,`�c�zu�[W�]��2�Mnp��ͨ꺮���7L1�q��V��ᴛN�Y�i�~��,��A+_vZZ��i�i�ZXZ\��$�7;�!Ol�V�>
��W�{(��Ť>h'��F\�_�����ƴkkɢ���f6U9�ޢ���>���K{8iR2Rf1\�5u�ʬ��9od��VL)F�Ga
�}���$��݇E�)��wz�	6���-���fM��ҏ�98�l[�,���tT�Ϲ�I�6�j^K������Wq��E?u���}h�еs���$T��2���@��rsm��U�Vf1^3�H�j��p4MX���CD��a!O�K�˱|ȫ,[b�T���fܜp8&���g��fd��O�v�Ϟ�P2e����U׳���-�{=��n29�b� q���<%\��`��bܮB�O��Mon�H@e)n{�|���@��m?%�z|��R�ﶂB�����W+�m��%h.���"}.�]SU�����'k�Wi�T�l�og�:1�`L��=�UN-��n��^(M�9��3�VCw��l�i��@��$G�;�Ro�p�����2[-�hC�{�S��ml�aqku.裉�$nlqZ���b/�ӽ�U�%{omi#�r�o��x�O��q�q��w3���WͧB���7�[E6���|���l�7�<�]8e�C���3��_B%�\4��{�o�V�%����'��6�E����9�$�W�d ��%�E���!x��S]�m�uf# ��	`�`�e ��^*��"�r�!����u�*Y$���@`7�\�O�qKcv��V��6�
��Z&�N��p�HI���&W�4�\d�3M�2�yIa�ϩ\�-g ��@�r8ʜc��t�J�u_��8�9*���N;�=�ع�Em.`��ج;�Q�}��ț�X�E���c�kV;1Eܪ������W;6��<S:�	0gb�r3A�g!���x�Xc5����u㧔��
�f��-]����r}�ڕ�܈g䪅Jr���Q&Z�����zӽ�Ar"F�V�<�{;����QZ�KE���4���	#<�Q9KfFfڸ ��'i�%k��*@Bd��֭
ΚA@f^��V<�İ�C��s��ч��@vJGc]��{2)8|v�㟭[��3Hi
�}+cK��Q�K('��s#�$!��D����y�j���,V�J�'r"��z���E�i��Yܭ�Ȟr���Z�QV�V�y/��{�7Q��BT��К���F1X��]
-�M�ބ��@��P=+H�#JY��Ëh���7��I�mݜ��F�-G�dI^I��1��۸����s�;~��kVv��11�$�v��Նk�4���t��̤|7+�Tz�I�>�p1PUw`f�+QR\��+�6��J�J�WÒ���tI�U����s�!�������5��0"eHc���=�Ȩ��NWQQ^��O^�?
|5��@בA';y��/�|;/�|dt�K|���:��>��<WM.U?�uB����l�@����m�x�73
�ʟ��@�s�+���k�2�G3�F�Kb����^!����^LwV��dJ}��Vh�-ͬ�dY��֭��4��=C\mW�7�e��PY.8���5��~�m<_yaa�q����}��8�'}�����{�]F�o��[��7��)���
|B}��)#��h�@^٩o�X�P�i[��m��b�䕉pBGַú����O�&b��}���
��(����3�L�V�]�[J_�[;���P�Dm(�
��y�
��s�O�����D�~E�x�
�Vڃ�h2FQ����	�Z׺�ğ�f���������Pm��Bw{}�%��{���N�M�CPk�2�����J�i,^���k�\[�6Gp����Q���o&�/�77.d|�Š�{D�E��V]���/�7x��\�\�68=}?��6��8�C{����*��H�>s���\�ç>u���8�xT0]{�Y,�`2����?��C�N�k�xF�	�^�t�c�����EX��u�c5g}��.�k�	 �ԣMh���ֻo�^��w�t+ʹ�I,C��t?�](���S8F��r2[ǪZ�t)&D�ñ����֮�xc���2IG���[ѓ۶���ߡ�|�Y�
<�?�g ק[1x7wEo7vmA�%�mT�|VU��u#�`�0���lp�'�Ϋ)��7����y���;��'9$w�MX�je[��*'<�cT�$Y���2�7arF;WC��-!��;�-UY�+7�+��T�c��n�=��Z�������0��;ٮȫ+=θ^��E���ۅ^���鎗2�a$�cԞgQ��&yG�<G��6��i�Ҵ1+M+�B;d���s�\���WE5v�HͲ2oaL?z�Dd��`�Eg!�z�w�k�ڕ��Ό��O��?ҽƒh^.�N�~�����8;p�����^}W��-g�y�l�v�I�~�E$�z]�#u��}���>��	�/�E�W��� wmǎ�zV��aa�Ap�;�F���\s��I�{}F�֧?=��[�ny\�(Ilb��׹�RH������4SY�ǻ+`��=����w�-�ee�^ʻ5Kc���*���L��k:��=	�F���6�@]GK��]��X�ʞ2=E`�^����L�x5�A6���*��w����i74h�2�@�
\Ac�<ڔBk)Sʒ����
���Ș��9�Ͱe�x�_`y8��#A�Z�g[�w���X�l�+�\�[Eiܤ����g��B%��#�s'8����D��p�o�jd��ȳ�iڝ��W�Qf��,��
À�ֲ��d|sMjǫ6�;
'0ݬ�'.��ŏC�V\r�ҨC��[-����"ż��Exo[�h�0�3���}>��qx��.%@8���Po���Y�q���T,��=�jr곮��z�b�˱�9c�D� �����P$��z���h	�xW�n;�5���ʝ8�t��O�>�\~7]�1߼ؑ_�ɑ��h>.������ⷚ鼨r�w=;V9��^�)(��f?��۽#Ś������j֥��'l�$sی���]�������b��XqWg˺��Ql��2^��7;��\�������Y�\�kS*�~U?ҮP�nu2|yk��:���;Euk��1�������T����iV�����j�a}IcY�9��z�VRo���<�5{"�,�
Ν-�4wP *�pD��Z������&�m��^B]��>�T��~�;���j�>"է_�\1W�Y�lo�dm=��d�Tl4>������6�q���5w���Mq�&�mv�w�D<��z��<guqsw�f���<O��iMtgD��WA�/0Ko1O�\��b��OcU5�m�5+�P�&��r�=�+=�Sԭ��]�݉,���q�%rPz��"�u�jCU�0K{:ۋ�?2&:đYUߙ�ֶ#ּ1��9�/u�#�r���ư��f��K}�h�B���Tt���-
qQ]�(Y���_]���A����u���L�����#{4����Ꮿ�]7��Rv}��b혅���B���aj�����[�9򡍲Pp��6�!-��j�ߍ.X/si*>Y�69�˭E{oj�1�����1�=�J-����������zv��\E�%�/FNN��A�5��6�iwB6�|��d���z딚]��D�3Eu�[Y�!�o(�pT����T�w�6>� ���2�֔j6��Z�ٙ�Lb2�;�y�l�:��Ħ�;�l���{(�r��Ҡ B���zR��>>=x��e�@I��i!
q�ҫG��z��6L��H�r@=�6ޫ�6V���${	 ��U�[����0�lh�,
:R��$w�����z�7-���̘F�X�T�i�ھ%S&������*8�ct�w4b�Ј�!�9f���H |��`�@��c�֢Km�I<v��t�dӦ��v�Cm(�W�F+���5����&2numT���c)-NQ%��I�6��U$�'�Wy�[x������YOBI�V��ə̵�Z#<�	�'o�6=0�e\Hu=^Ya��=U_�#�Q{qd�Yo	ks����ʦ�e(����A���k+�M���eޤ.��XB�˦���b�;��q�^]灡�cUp1"�;u���'u��i+y���]���Y޺��G,]��$�\�ޥ
���J�	a�I�`Rs�y�14%��%brZƽ�Ը�=74�ɜ�qT�`�Yd{N�L#-R2�K��t~Ԧ���xb��1���qRKإ����K���6Y�ʡԵH��H!�ˊ2J��N��.ɮ�#M�
�<dw��/otɝ�<Zih	�ihPX��jr�0�'z��p8����+�an[fx�'��-����'�hhw2��֒���-�0>Z7��b�wVO�������Mq+g΍XFÔ���W�t�=jP�����v��kfg��r�1M`��x�I%s�i94(,QHM\�(�5!'�,��-s��X�y�n��Ml.�bo#-������
*n43���jm���nG�Kbzjoih�}���.�3*~��ڲ/��o%���a��
��8�K�_$b�m��Kx�q��sc�U�t
�9���{��S+��1�+?Q�l��.��OO��$y?�m<�^yXm�Y�q��?��vw޴��u"l��|�s�֬����G+Hb��4�=J%u,�v�>�{d�HgKk�xyb��N���x��F{�)|1����p���=«y9c���?�zʜ�+5��D�߹�?�L�|5�XDa�Y�Q���޼{[���$���a5�i���y����1/#񪈓��j*��]��\h������䟑�
�յ6���g=6._�W��������D�#�厕��i76�r^���#�N���K
5F����-�)?#:}B(BG!'=���XũJ� �U��!���
�pp����%u�t���u�έd����G���jΊ�z�{�W/�o^���(5ͣ��7��k%���k1��Z����V�IrZ׃���o{w��p]�3K,�2�n]��O��v�[�$�wˤ[��x�n�\�j-;R��fkrn#9�Z�+��N�|+x�,�;�{���������S��pG������zꅔܻ-����x�X�b��1X��Y^)�,�f�oai�C4�i�����M����M���7Z��5�z�Ig�"�n	nz��s2�x�'F��O�
�j�Eٷ�����J��7��Y��1��Z����<M��h�ʏ�������{����In��+�,-g�H��^=j��v�C�tr}��$O�s���Zkԫ�2�~թ9��N [���D����Y�t���'F��w*<��i#<����Z84��d��E}}y�Z��R����LfI1������5���Q�H����!�R��'}F��|C����+��AVKu^��vܜ�ʸ����.�%O��
�O�I6��eL8���zR�
��G�W�OBY��#'�»���+�xo�p��P����p�O�|��X�_�C9�v��/�G�Y��Ց�O����^kc�]Ŧ����J�I’O�ɮg'�R�E�)YZ�M}E��m��	�q�jm<�-���*���o��G�ҽ
��2p�Oy�sH�/t�^��\=���m��+���n$�)I'�[Yr�w7�Ԗ��=�Ұu�<�9XPF>��ɫ����cK�F(�f��Ҽ����^\�Fߘ�=�����S��6�sL�y4I����ZW�Xb����D���=�Z�K������<r�F��\ܷ����J�C�v�e�������Z��u!�4.ppq�UIL�3���/�Jt����ע0����{���^����Z�r
��F89=i��VW�D]Qs�b2q���jd��@�b�=qQ�z`⡔hi�ڧ���L��zs�־�����?k�a�15��{lS�l�ɮZ�����I\Ϸ��V�{i���� I	]�~���XAj�mj>�ǫ�9$վd����x–V�L����� ��Vkɛ�Q=���p�2�����Kq��1�I�W9��MEXM4��sR�1�26�ƢZ��2�����	�:J֔��3��k]h~"����"Et�TY7o�Mg��1����1p��R��:u�*�Ro��:z"췓������u�\u֪�����K[Y�I
\TF
?�rw׹�5�������Ö�!KF�ᭌ;�6����x�/����.]�onR�P�o/ZH��	�&\��<�R��4r;)M�xc��V��S��gaֶ��'H����Jӎ[��1��T�Z�+zO1�yS�>���^�_pR��O�E//��R��h��9�j2e���k��1���pk.E�I�v����ؐ���b�\d)#=�"�/A�tZ
�I.�K�H��i��ڦկ��y
�DNx��+Y�R�N�Q2�Aİ�r����۾��E�,w�����+���c��}?
���ӠJ:�j�V;��5Σs*�~\;t�7P�L�e-�Ē[��rH���ҹy���JH��jztd�ivb8�s�gw�Y�Q.�H���:�]��qשvLx2I#Iq��ǽ[Ӣi�Xc&D0r}���q��i�X��Ȏ��S"�w^�}j���=PDd$�,�A���)��q(��WC�R
�CV�YҮ�����:9g�rv��
�K�>�g���9����Ex�xp�x�N(�3Be��Z��|�q�i�S�ѴIntK��Ȃ{I���'� �y����kZJh�6���k�^��zu��L��ë�mב�h~��:��)F��YW'����4�������\�%w�N=�ִ�+��NQ�{3���Lӵ+��RFa�@�_��ޯx��MF����sn'��r{�V��ۙ�m�ƃX�����Xd��5͸��uWy2Jw��R�.���Ե��M7@��ѱ{jCl'b��8�+���t�o�kP�4J�$�*~d��=�5����s����'�-�b�A���P���K��G|�m>���k�n����
��ִ��5�h���-_MK7|�E?���,��/�ki�tX�Y@�#J�aI>����F��L�����\��im^ض>R�zT,z:,v�� �ϊ�v1�=q�jֳ�VW6�~�6���N�v��D��"^�
���w�p'�91�֫Q�ykG�ͦR�ŽMh�kSE�[�И..p�����ܤ�Ȃ��n^;�R��8�:�U���֩ew=�yK$
>:�k,��l#�"2.��)L�+GL�4��R�'�ὪM>Y��2�\g�4Q�.��Ԝ*���f�R	�J�4�E�Cv�<�I�b7�f 3�Z1�����0�2��=t��z�L*Β�0�7�zK��o��y|�s�O{��<1R��c?���_.9af\�ở�Sx��v����c��2�s����Or[�#�/�[�jdx�[�]�[�5��'J���tE�/39jb��VQ�[�2eEe��R���N�9v�:�WK�(�eI�b�_��1Q&>\�٫�n��F�M.����Y�^Z��ݑw�u��kZ��=��ƽ����iq���>
��`
�Qi�	�!;���>�e�Ewc%��xI�	��}
s�N�� .[�k�J���mBX��X�2g�=���O�:�D]��&{�P@,�=���*3M��!F3Q���$d��/e	S�@y_�ia���zkF���}GZ@j
\Ckn g�#M�=?
������i��Uɰ�nZ�!�I��5O�lR�h�i�2,�����צ�&�O��-ф��L�8��J?��]t5�C{n��&�0�F�Y�=}��Ttc�׮�$�AA=.u��ޘȹ�5�-��qDnGJD�jJD4)�axa�4��e1��I=�E���f`�wvCq$n�o\��ͱ$�<n��Zz&���}�ȱK(;I�H�NC�+�l�f�V��Lm�*��8lv5y�R�����C�ƒR���V���"	#d=b�7*�m�����_[0s�\�r@q/���i@]�rO�=~��2�X|g|"Q������.�M�ۧR��?uqM#�	���JzP��Rhb��sVt�W����g��*��I=3ړܤ{���OO��旭��tI�%�;{W��h�}��z8�]��g;�k��Ni�Ӿ�o]
�>�xn��K��D`q�=}k��5ծ��*��r*��SX�b�����`�3�J+K���9�Z]ѳ��p�8oʵ�.Y���KM���ӵ�K
B�>ԣ�(�����w�
�~ʪ7�9$���S��S��^�$��{�*[�q%��O%���r�A�E����k��D�@S�8��j�iӫ�ѽ�1����no4��[��1��b?٧k�|"���<���ŶU?����W�Є��]�К���1���Zn�g�y0D��'ПZ�<Aݵ�;廻�����cp@�JTcN1I�9	�^�R�e�c�ԉ�#x*�1D	�n����V6��v�J&�4W��)��]���hu-;L�de�&��d�+�߱�^�o�*ao�t��K�"���K�4EW.����M��F̿�:lz���B���c��uK�M�A�M&��ͤ)t�yI�����T�P~��sŵh�n�@��#�F1���'�<uC�j�����Aqa����O�xO��4>&��u/��܎��?Z��������~�N��ޣ��F8�X��j�SОFFMr��k�=KB��H�&	�\zg�)���'��Xĺ�6��0N~���I���o��_G�g(1� ��8�j�Y���J{�s��6�5vfV�p�_��?Q���dP��#���M�b�ـ��X�'�+��s�6��\88�ֻ�xOD�a�}f�r���GbGz����pr�:/��]�6�}����t$�v����4<7����)y:G�@�
L�]y���d_�?���
\��]�.	Ȑ�oz��/�mt��p}��/T��\����S74�ٮ��'�v�֑i�"��Rp�66=�[ռ#
�,�5�*���N�^zm=��n�i&��->oTbI�(�Q���s�C�7?�}f�]��,j?J��+�^Lޒ�ʺ����x=T��X:��E��`������Ϧ5�0Gx���&��q�g�r3UY���}1H�{��N�Xg�H�?C^��[��?hԀ�4��rI��(��_�M�#�h�:ֆ�Q�mٱڀ)�9�vlUV��J�����%h�݈f�`�����	6ݷB<�ŏ,>%�-�S@[��q�t�7|(ߒk���L�"l��P>��6MU��1�e"H��w�eu�NA᾵��=�6�c�i�p�2鴃���YT���&{\�y�j1�6ڌ���ۭ����9��5��3K#;rk������9���b����,B-�
�If��{�۳dݬ�l�H-���sTh����5����S@�e��!�c����&W���wfH�x���J�ҵ�j�_�j��O�|������*ݙI��nj�3�W���NJ%pR/��s�}=�����G�Y����/�ux��
*%{v�q����Au{�ZX[�29���?�5��[K�"��H�����3���%$��L������SRyYUO�{C[����i1[�ߺf8<�b�Z��U��u���	K���1��:��W��3غ�[�e��d��s�ͧ}4e[R���˭�$�t6��ʘN	��_�ͤ'~�,���ZC}wV����]YG1��4��0�p:ֱ�,�)���6q���[�3w�{{(a�N�x�QK�O�FBY��8���b����ՑD�5ʤ�
�B����_zm��ux������X��`�c�}������h�d^Eqq��$r��0��0{c�|/=żpk7��G-9|zW4�޺ �l��|Gqc��KxF��خOTf��[�暂^�݂�	h`x�J����w�g�aHFBGQ]��܆�.Z<_ge�� b�ew�XI��#֡+����k���,�
M6gL{�V��,,n<_q�BG�\�]��
�ɬd�_�K|��W�2�F���9�t�o�nu�i��[�1��K �"���W7�3��HF�<����5�U�1�7tϥb�����X�y��UML�D�C��Յ�������*�E�}o4MJ��O[�b��lH����i��|�3�u��CH���ԝ%{�.%E
!�a��X���o��
R��d=A�j�}��r�Q�%د���)�U�`7�_R���n+s�0��n5M|]����B1���>����%j��rW>X�$w��Z��*��Eu��3M��M~'M�_=��uOX�{�T7V�WvF~`�����G���𽾚�.�HNp��'ڹ��w�!A�7]�{e���y0H�0��e��ώ@�k���n�8o<az�Z������mo�
sm���d1�X�4�/��v�ۻ� �NG|U�/Isg�h��xx�a�[S��l%�cK��,M���,��}��I�	�g�5�e�K{t���l��
��kCR6�ya$��`ns�oznLiئ��.�=+SK���E��uU�@$�s�\�c�)��1H�# �SW.^٦V��B��ݏz���+��;-_�杢KdꁮmJM ^]�L�f����v�H�;GjƜ�޻�q�����F�5$L"]�-������>����I��O'�m��${��0���=*.�$��r&uid��
>(�3��=��1��qy�@|�C��V*����c>�"!�<��r(��lG /zl���?�gpYc$z�Yc)��!%��m%���׳R�]MrWΚIv.���$���e�~�qE6���'�<�5
/̽�����/<�F:�n���c��|������C$:��V\:]���ƫ�f�yR{w�4���Ш�C�����h�ww	<wR��Lpx5�xF�5
y,�IDr�A���ғ��k���w=���Z������J�r?�C�]5/��NcH���0��5ؤ�����nq�~�-/�u1g�y�ƭ̜v�����Ά�g@�i����Lם%v��Ҷ%��G� �=�����@�7*jhi�#
9�ܐ(܀@4�:RQ���jePF)0{
�,���]�����]�P[ywƨ��;PE��
��1	����q6k�J�]3ZK�nn  ��N=EV�=ՕިZ�ѭA$���P;U��ɂz�Ҡ�����-��2�ڀ��ڔ���Anf���S�EXRwe+�-t����^K���G��x�u�"�8bhb�}��u�S�+�	Y��^C���
dl�q	�G�{������B�q�<`@���3��ri=k�f�K����0d�N
�ޥ�Y�yz� ��t�
�P��R;�S$�H�=���B��EO7.�n�#�q"+�F��5 �l1ڲu2��<����gĉii���̛1�m����z�+����k��^R~i���Օ/��=G�0�Eul �Hx4�0��k�V].-n�Me�m#�H�A;��|T?�h��y5�j:��9%' R}Ȭ����5�8�W�z��=�\�ɶ�@L�UNq���>^iZ���%����d���^":'�\Y��)�K+���9F\db����)��G1�)q�ǧzkI\��>��;�6���չ>�s�簫6���U�{��dr���}�tے�v�s	���eՎ���Ο�r��)H�vXf�-6=��g�X1%���x�k�t���D}���9�����p�b�W����(�6Љë�6[ұ���r�N�N�fX���]NG�Z��5��;J�@�|卿v�r�v��\m�����H-�x`��V'�>�8x�ͯ��DĠ��bֳ�]b�I��{�g`���c�j���;M.�IKk���Mt���U�>�U/�n�6�ҽ��k�V�y�2���d��\�_5���I��t^G�=��-�Uu�l������5/ۋ�Z%2�Yר��_�������qu��>K���t(ާ�e��
S�7,�V�2����J�~��b�a��>�?rݮ�ZeΝ{;��[�,b�9���?�!܈x8�Mr�e�tw4��Ƈ"_Z�׬���!��c�ȱ�2"�b3T��b��^��}1-D�W�I��Z�����T�l%PI>��i�w&�'��ZE��\I�KnK���U�o:V��izM��zd�d��v�W#8���M%k�pk����!K&����Ã�+*5f�dRLg��k'U���c͡,n�A�S��G��=�����ܫL>S埾���M/39=j��-�K(u:�La�n��z~��oxV[YQ�h\��A���I�\���'��e��ct	!ڮ�ïQ��޷�5��|@i�_D��c��#�����k���sT��Z��}���M��ǫ%ʪK"��r9��#\��l��YgK)"�#���乽�j�N���>�k
���-�*��� ������^����E
�g�R(�	�<�mޜW-�\���,��q�8�M�j�Uu�J�ܜD@�ָ{���3�R�L��⑏�ǭL������	�kq���-�|�DI�������X�F��Ù��`zf�=}�0^�;�N�p)K
�G��Q�ܱ�~R	�n�h�ג9'��2{�3�,�G��=+��u�4���K����Z8�a	��{�:��[����N���&/*K�KȾ��*�F& ��Wb���}0�jD36�'�;Kӥ��#�%���f�w��k6M�j�Y9��1���+��U�_,)��8*���gQ���k�4�U�E�kk��t�f&Y��z��V��	R��&Y �M)bDdz��ɇ�m��ӆ���͐J�i�2�+�H�V[hOjn�v!y����+R;C�nbd�7�r)&�׮�����6��,�-�u\���-&���+�v���g�r+�����L�o_���䰖�$��0��O��MnxuM6	b����8�|���Qڜ�=�R懲�-r�#
�)�5J`�!1�%�剭�����<=���)�^ܘ"�SFw���#�̺k�7Yh�^��ٽ0þ*�^�lY>��5���6e��]��Fw���w�5����Ѓ�T��gQ]�bL%R�@���'�A+yǞI�kf]���;kY|�ާ�3UYf2��
��N��w�;F�I�������n<����9�z^����C���R>PqXU����Os�~��>˫�.d>a
r�{v���^"��/�P���BcQ<@�0n��}kXɻ[A�k�_�'���$�β}�y!"�઎1Rx���W��{wy(�	^?֭w��>m���T���}%������1��l�;��/?�:�D��~�!�#�~tE��E��<�Q�o�k� O�=Ø�������3�0e�L��7�\U�����][M�y�d�Z2�p�*4ـG"����&���_��}�E�6�Љw�#��s��+Y�f�J�F���u�|\W�N�힇�=lj.�:V����}��	�n7q<(�~������#fy���}�x�]�Q{k� ��s�κ���oE���������9���~�����I���}y��6��ݲ��Q�����x�-����Ԙ%�'����p���{���G�m��J��ŝa�6�c�u��=k�;�~�g��V�5j�nlxA���5Ē*�`vB{�1�Q���,�6D�=zrr*[NF}H7��0����}iu�k�N$q�ph{�
�+w#��7�luX��o01��a��5��i�E���1k�$1�S�@�rjf���BWe��-#���=��j:���l��zc�:W�j��#��Q������3��J���
��)l�u�6v��
$�e}�w��3��wW�Ј��R=�V��_xet����rK�0��F��SW0˳Ro�p1T]�+�8�׈�/��y�W����O1)ʩ,g֤�DY	�8�Ω��
]��phj�Es�"4D��`D�,~lqE��Co4v�)��:�ۆX.!�eq�E�R��\��S��q0�=3�.h�Bή�TM2�%P7rNG�Jz��3a�x�	��L�T�z�Ȯ�c@8���1D�]�0;�H�W��ʲ��מ��㧙�x�pU�	��ἶ�z�	���6W�9&�Z��{�6��D}�Bi5�+k[[�g/5������.�A�]��lY#�I6�.k����&���ȑ*��v��P�J�4�f7�oU��oE��ˣ�`��p�L�Z���m�����NzҪ�ZV�*K��4mA���U6�����]������,�*5t`��s)6زG��!����:��W�4����O��wp�#ҮIr�=R*�������=Js4�b�<a߅'�U�"G��/l�HS-�!��y�jIo՛6q�QM};9 翭g�[=��Մӻf��B�������p)��
����;�&�ޅ� ��թ,!�!����J�<�f�F�0�;H��&Rȹ�Ш�hA�^[�x�D�8_�~5j��~J�%��iP��$�i�4W ��v0m�C��ޢ��%�X’��9�>[��wz��z�]���L���&�j������4���IۚC�4�^3@
���,=�\.;SPX�$<��u�i�:���6u��F56�.�n��=�q�$P�4}oự{�YG? �[��~���k#W�� ���C<(�尙�I�4�y҃{y>[�?w���/�0�{ys5̯)Fʀ��F=c
$�g'���R�vX�m$z�a<T44�pTH�$��_� 0b�j@���	簤�݀����J�I"�2�\�u���t���=�2��w�Z�^>��)�[[x�W��|�g(8庌~���g�>z�\Qmvz����:Ԅ�t�`�6�'���b�ف��F�
�z���1�\�Iq0�ʣ�
��sWOH�Q�V���Z��{��5/���y�3:.INj���u}Ns*޺D�|��=��|���'6ڒ�q)7-^��U��Ԯ!I�B��y�.��}EmZ|<���E�5�"��7gpo��^����m�m��]IY?���C���pIq�+�O�֦��[����	�$�$B�r���$�Q�{=N�^�w�C��6�c��(�R�Vօ�0t���Oz�Fm_P�K\�r�b��(u_@;�Gޭ̶�'+�����-�=]݇�V�]�V�\�j�K�a(�
��i��M���=tO[� �g�~����C�m�b:��Z�i��ZZ�����W��-�^F���0;���oGq�>4e&W��=�o5��1y��PZ|�E��ͦ+zr}��AsV�Km*G9t I�=��hמ�7bLj�-GA��
V��M�lm�Gצ}�C���|G����%�Q7��T{�E6��	��ڜ��f��F�y_�5@N��mkdX��	�f��ݗ�9�-Ɲam���ӽ���˯��黵A�&����<��d=}+�w�������h�/n�m��I����q�D����I�}k�RT�)-�U��J־2Լ�N�Q��1e���|g�~񶕩i�O�H�D	!���Ԏ�م��N5-y5�#l<��޾g�x�>%M�t�!ym�y?}��9�z�h�g�!������5HܫG!�'�9#�95��$Ԥ���w|�&��>+7bӮ���Q�W�s�������n�2^[�p��!]Ό=�qW�$���m�i��|5���'LY���ɓ%��>���HI����^�x����.�{�2�4�Ē|��c�|W;�H�5���)�>Ċ�#[�{���I �j1��;�'!@ޣ'KBԍ����EL�Z/��\���<�6���zW�ֱ$�@�B��)/�)��Ժ̯"(o��4M�^�`��Lԯn�Rg��$AYڥ�u�Pď¦@e�wBO��Ft�%fԓ��ĺ����dIC3H�P~�zf�nM�ss/�)+���F$1�Mn�"�"A�Z7���;"Ŷ���]�v5��{{}j�ݝƑ�%�n�ڌ>��V���ՙJz�K$򗕋�X�5`4��U��\����ƭ+X��2=������"�G�Y��������	j�ݏL�
��#��6F��>;���O1�v�2�+�˹���
�꧵t)+��=l���ӗ!��+U�)�ȋy�) ��Gj���k�7M�Pi�Օ�+���>��F�ԉ=�^��.��KBE*C�0I�~�qv����w�?L���SWsԞ�S%������;b9����6!(�r҈����UK
8�gh���]	Y�j�e���q21�w��e��W��Z��5��!���;�#݋vld�l�KY潐f8	�Fy���6��lu��G2o�f4��o �5��e�MnK	��b)�}�i�'���Y�Ϳ����#r��E'���,v��F��k�Q:���"�k~�5�`#���J؊��6�O$�bK=䳁�M�4#�`Ǡ��u3�����<_��	I�6�8�k�gd^?��M=��׺^��-�xTe��ϯֶK�a�_r;_]iZ�H�-ͫ�^kw<������f����E�n2��`�\���(qk���E�8ϊ�1i�̅����lT�z5���mR�8f���>2�kd�忪8�j6���XY<�*�q�l{�}k:�W�ҵ�./���2�&W\�������z7�,��V�Ē]�V�G8ϸ'�\O��"�^���Ge*�|��_>�1�zs&f+�%�3Ɠ�~�1��m�](j^�{8�3�[��L����&�v4\��C�:��i�Mm8A$��q��}��5�{h���=z��yD�.`Vm��a}����k����9��Z�M�7��3���[?�
>=;�r��Ux�6sN��
��`��D���h_�
׋��J��6J�;NX�]�W֗�$��ZR�N��cL�<�rG��+:i���#�C�-/a�5�KS���=�8X���YB�NҤY�~a��H=;
ꋻ4i=W̡�*�(����RN��T�gu5�"�U
F�G�E�0�t~?���o���#�Q����rֶ^u�˩����mX�v6��u�K�b�O�
+vv�=T��I���7:c,�t����ؾ�Vvm���˧�9���n�L�]߫��v�Q���7"�Q��A�mD��Zzk�)��lm�%|�t�~��V�er9z���S�\jWq%��c?�o����h�D�7��W��b�����fM7�ֺ��9"�,��c<����'�qjH#+���?���~C�˓V<3y��ݛ�eIm$��*lQ�&��c�֙�4�~E �T�y�6�VL��(2�%���+ �$���5v�R2r��`����q�{�+����K���u4�mwq7�li3�pMD%����q�hHOb爧�����mv�U#��g��*��/�Q���)t�Թ��2U;A�MJ�+�����=��K �zd���Mr��ݽ���wX�g��y�VbJ�ڄ#��u���мM$��g+��I5���=2�|�7@+�TU�c���?T��g&�sl\�@1�\��5{I�n��$����'Z�o�J��񶝻ں}
V�ƒ)e�I��l�r��R�Ț���eco��n
bx���W�Q��B�=�sR�;z�S���ڼ��-�;��n�N�z�\R���@��܁mm��uc���F��ӡnd����$e��bYt�������;j�M-ܞ[;�3/na C����ު2��=�y��VH��d��� HԳ�V�6sm*T��#��g6��b�bq�ޕ����m@�1��#�i8\�������fvE?.yQIH��I��VI �p
1�U���kB��V�h�lvPFZ��OzV5�0��!�L`U�-:�U�H�Yn��7�D�!}q߭&�ݷ!@�Qn�SW;�@�Bn��H9�P����€�)g�B�H~�piAɡ��»�xY���J޷��c\1��ʰA&:ma�=sX��y��}k\��8t[]�僻"���>�=��y^��+�Ԛ=Z��y����gN�N�"����O��U�t��XFm�L���@$H=�YF�v���0!bV?�u>6i���v�C��Svwܗ��#����"�D�ټp���s��Z��n4(���Iʗ�e<橶��vR���>#M�lL
���s�H���pk��)!k�r
y�MIܸ�� ���M*@�i�q���H�ᶹf��v��Is���\�OQ�ө]Ѥ����N�Lj<Q5�3%��6�|�WR���<5o�I�FR��r�#�mʞ���ƼZ��97�)ly�m�:}�Z�i�Q��@y������A�"�%�(E���i����s^���Iɿ{��#�{���[��f��Zm}P�L
	>�֫A��.l%�`�2�RJp09#ⲧ
����z�q�uj��NZ�iROb4���|���\�j��i�)�j7�f���B�ʅ~m��
��ÚKKjk�=#�v�N�ׇ�<�!m��W=�]+j����3]T��y�SF�N��+ó�<����Sk�2kr��;�-e%���G/!����!�����%�W�|��Y�W�1�Ʀ��ؤ�9��WF��;�)�<�e���]����h���|)����/-�3�88�
y�泍U�G/5��0`�O�#��We���$��*�͆��{};O�He��?i-:*�ַ��4\���i~m=%!E�#���@�ֵ������d�-�W%���T�;$i
_f�8
kU��<A(��s
�j����yv#�
������a"�L�E'�g��=qX�k�s;_tj����|w�{cge��.K��3)�d�{W5�_�y��Aqj��0��2q��le6�������)��m<-��(b����c��*�N����t��x������lmV
+��1������kil�Ykoqo��_��q��ڬ�#�%��V���ڃ�=k�O��^U�tck'���h^��)nf��ܙ��bNpE`|K�T�����Ut�h�D�ך�L�f���\��k�~��q[�7m�;1�~���E���ִ�eiH"�n���}>��
3���/FsY����o�˝VmZ��W�F�DBr��zWxXY��s��^�8�AG{-�B�V�Nƺ��3XCn-L��&3��=�3X����$��F`�}i�.ǝj3�u';��������ϩ��2�Ӂ�^*,3�iv�z�Ʊ-A��i?��zջF��I�hT�4r��I�$��'��p��Y�Ae[ۑee?���jɞ���Z[��(��C��W6iI�Ey�&"2��r{}+��5(��r�Z�y��P��#E6�M�9,�٨]�&�3��4�����Vr+mM�4�4���H�c'��?�c^���@vh�L��ʎV�;3�ҿb����=)���
ߊ�f�C��xsH:E����������Z<Oi��$Uũo0��`@�W��R�0M���^���w��O�����W��Q����\`4"ρ��@�c��u�-���]v<��d�޴��w�`*�>Hs-�9�[�<ɮkZ~��
\Nʣ|�z'�M.���	����Um�'O�pNo�_vc�ȓ�����]Bh羚 e-�+��Y�c�V�l|i��s��i�BB��?*��ӵ��8Ǫ��!�UP@,�zdֆ��_h��m�[��H37ݐ{�vZ7b��!��V�"4z�d�6�a��Ջ���R�֡le����&l��aҨ���ˏh*@(:�j�{?1F�}���R��3#��p�\T�K��忋'�R�Z��⫒�N<z�]��Ա�5h�U}�eL��O~�sY�{�6��%�j�V��.C柹�	�Cht觶�&�M�2��c�eq�A�銎[/>��ߑ�y,��I2��r����[�\v�6���7����5�ˍ��p�
���ס�����f���L0F�;x����5��-7M�ֳf$��+9Y���Ƿ^����lڞ��-χ����P���W|�x+�Z�zw�$�M�Qk00Ą�8'�j�},\��z=���궋��֡���v�#ҼoX�f�o�ﮞdD��i��w��O��r��G��b����k��~!��Z^�]a>Y"���Op��T�.�6s��Zҵ}J�%�f��ŶZ��4%��}��|7{�m.��Nv�oe?�P0cn��+6֍l4�c+Z���tխ$�GpC��0���z��%��<�ܹg�Ė���Ce��}Ѭ���������Ŋ�xq��Y��`Eu��Oa���iz��V�v!���qY�N��q�n����@�|/q|-d�D&T��y|�1Un��6��L�PD�F��$d�Ƣj���弽J�n�qῆ%����W�3�q���=Es�0�m��ZN��aD����_!�ܜ�U����y�����5{ϵ�M$:~��:	8���*��}>�y�7�kd���[��o|RVWv��j|2Ң��=n��c����F�g���ai��w��4�\3�W?3��+����
�W؟�>$����Ww�ǵL	H9�<�=G�Ħ����^��$�
�6~��zjT�ޝ̽C΍̈́2����Kw���}ՃƷQ4fEޙ�!�*��6��QR�y��(�q�Ʈ�i6.Yo5H���-�M�mC���:�yB������ɥ\m��kTۙ4ĵ%�ԯuI��fS���UBm��皘�EY����wFѡ���"��@�YʸL{V�aGDm�w)q��,�-�Ȭ=9ⱍǚP�P0M��n?:s\��XG
O��1����HՀ�	8'I 
=�Q��'��ԋiw���
����������S�;d-s!�#�X�rÞh���I9'�P	��b�8�%Iw.)�g8���l
pG���dC<���ݷ$hp4�wJI�<ұ��HGޥ��HI�L6��X�I�c���Q̣=3@
nX�ؕ�q@�9 �PNi{P�Ӽ���ø����֌�"��\��%s)��K�WKԴ�T�0_+��ýt,���:�b�J�f'���BK^�sO������M6朩	!�>���Y����P�]�/B;�xϷ�5���a���j�;���W�|6oi2�X���y.�;g�Kv����ij�I̐:q��})�Dž5=15�;���9\�ϥ+�b�D�c!�PGz�����a-�Ze��s,��p=jj;"+6�cS�U����ld�̏�{��k��˦�b��$�PG�#�Ҕf��h>w�Gk�_����[]�ӈeq�{�<S�|3�\jz��������iFOw��
�_S���-WXf:f�qp���.�/l�N�����8 ��Wt�ROmlBÌ�\�SJh���a�)��ZPzP3�?��A���$��k�+����QLC��YZ�`\!|��{f����O�{43��dBT����<S۴v��y&F�,c�zVp^��u�ӳ��k�C�R�4�ai���`h���8O�+��l����jTD����Pi]�Z
���:kG��p����Ӡ�z��x�[�����Y<�-�s��:�v梜���[���*��^$�x+�C�����J���ཆde'�_���h�߹���,��i��bNՕ�#�g���t�^o��F#?!��p��q�%t{����-�6��ڈ
���?Z���d���FkKukX���Q�z�xg	�-���5)k���x�R�/-ũ�V��Ws3�FzW��Z��td��&/o�Da��z��\�+ʵU	?r�3�Ng�j�#ִ[��Ԑ]�,e�t|�ޙ�O�s�6��T^u���'�d?q��=kօIN�]��X���-���$�:dZ��[��ʨ���>���ih?���:(V��F^��+�X�;Y�_���6 ���pV��¸�<A���K��5��%v{?ąΕei�w�I�0)�
�=6���Y���Y�G�\w��X�<���V�#9?�x��`�_r@���z�ֹ�.�z�ꖨt��4˘��;��F�{���U���:ؽ�/�ݕ�z��p9�]����R�k��]Ӵ6��}�
��d��
z��3N��[et�Hv��z[(^��T ��5�Q��������Z#��s��4��_���KUQ$Cʖ>���sJ���K�u���s����[�'��"e�Tc�$�?�h�G����i-��^ �T��n1^5Z�����sϝG�O��)�����b1�!�q��]=�i�X�"D���-��/��TI�dtԳ(]hz��[J�u���ŕ������_�S���x���3�{ͼv'���c(��������3��9�g���c���|$�{�T�4�����7p��
���|���*���l�5�.��u�̮�ڕ'�NF?��E�Om��m��ا�nЛ{��|��:/��ZVmt�dդ��5��T�,b��Ӗ;�767a����w�B�2m9��WC�pA��i:7�펌T�}C���;�y��Ewgw׊��e�e� �a�'��t�[K��OC���m6��rv̈́���\��+C���:�֝�6p��d=7�=
fH@e��kk":��w�J�H��c���Y�v4�������[,r��#����6̻�z��s�I���=��F	�*���j���y�we�=OjL
r+]�[�dH�d��d���wx봹)
�ǥ@��o>�q�]��4�+)<����;繸�7�ϰt�O'p%�)�T]G=kFB[���j����/䱷h��H�iir0���?�aU�Sأ�Aw��ev���3��5�+b-úW��ƹpn�;��
�J�;g[�<v�hK���������0�VKj���Y����m{
�yR�z6Jڜd��;ɢ�������)��X�Э��bX�2z��+�4��g�Xн�{�KU~��OU���O����|��=z��B���/^JֱIBpv����{���x֘�#V�xx����Q6�%q�Ec&��-�B��6d��2��֗���K�����ͤS���_�	���rW�ӷ{�z��W@�f���0$�1B7\����ߚ��Zwf ��,��5�v���SZyL���8��i����'�4�nv�]��E0+����+�d�O{�8�kI���^�j�Ho�+i4c�sc�#�o�b��"o9��E�{�܄�@�i��,�rɴy��T�rIgo�#�Чp�\��ӡ�b���[ܭ��<s�f�!��?CV)�[��)=4hiX��r��	��<d4y�U�%�Jյ-&`0\'���*�ЏϚ��{~$wZ�`FH���Ҹ��
����
;�#�w����v�5[�w�;hu�:֟�=�=b�Me��k�~q��?�e��Ǭx{P��Ԛ��Ɋ�({��
��Zmm��
�J__��X-!�$�8὇��m�x���M1@lɀ��;��jny�G��ʄ��uzW���iF�Q�)�#���)꽱�֧�|O�j��~�l�x3�����SnV�өi�;ug/i�Z��=մ�O�2�I��р���s���� ��Pc�i`�R����<�u�t���:.�={�j�]��r\#w#5�/�zZN�g��s�D�D���4��ֶ��+��C�
h��:TS�s(J�\�<+�k����5[�"�,��$uUI�qs����N�3�#M�����j,-����F1\�	$�S���5�#��T����4���S��O�	��v�#��=K���W~�O���_(T���b�mn���X�aUz�w='W񅗎u�<3�\�ء��N2@'ֶ<
[h��rһnH$f��7�ӠF]No�^2��?�]U� ��vDFw�
yO���:���e-�W4�	���=y��Zů��W�Q�s@k#�q��Kx�%�u�e�q�㷥a[Ft�[�3���g+�l��I��R�g~��q�鸺}Ӯ�g�9��$ioUFL��{p2+?źM�qS��S�
z.qN	-�7��Riz~�n&Y��
�����~u��s�]
��Je��/�RK�V���x���(�_r�^��ty-|O���4 ��#s��h����}J�[�Yt��_Y[�-*��:�Oj�T�vZ���m}��1�g#{�)��7�5��,�щ��n��ڊ����M��Տ޻c���2�J�{c#HK�������G7�Gu�ڷ��#��RN�Cs�����u4!�'�Kk����;�&|�(KP��S�zTJ�uH�O$y�7j���4�t�,m~j�l����FЧp���*���&�O��B�\�B�q�
_�7m�̷��U�m#���q�V��"�]%#�����i�3�O���P�G
��sH	6c��Le ��K�K
y������NqR��b��d��[�Ի�w*����=j�R�� P��Ԓh���4��p8�I�
�F2�{Pw�%�ڐ���F3L	"�B*�1��ԙd�����M��;OU�5K#<R�'u�Mo� �J�$$ y�؏OSN�^�r���u�<���
!�vU�d"!�����I�����M����Sҭ�=k	ob΋/��zb�
x�]n��<N��'	܊���� �����\�$�$yXc9'<�"�.5�MKífd��c�Vc� ��)M�߰���y�~�-l5k�<As�Ȋ���H��w��d��ŵT�@+I�^`۞�S��~$��\�C��6��d�R%���v���++[�Q��$�;qCO��^�R�j?y��:Ů�`�S���Ƽ���5����{���k�$�A>�ɫ��ù�Gh�oc��p��:U���'f�ے�p?~������̐H�Nz����dȽ�9���an|I���C�7M)Hע����_�:ZY4�q,�L�U#ҶR�/�ן���9㊍�7^��hc����f�G�|�����"���+n�
a�sҳ�����U��AXKa��kW�ez�S�^K�{+�t������oư����r�z�b1]��4�Ԙ�i?���iX��_�God�I�B����5��>���Y��7�ǵ��ҹ�x�|���dKv6lt�I����j�Co@
��е�'[�h����$+�D�#��:NN�oH-��yB��o�A҉_nw���tռ��+;��v�7dzֵ�f��x���fxncR�7Gin?s/�H�=�`ș\������#�$ST3k��=kXnf{�����	!����m�6��Ĩc����,Q�$m�UV��N��[4�t՞{��Ѽ=simp`�2�F���܀qָ��;<�:�!h��@�C^k��G�s�D�8yo9y��|m��[S))3A%��(��C^}��_l�
��l��Ϝ�
�,�:q�^�2|�Yǩ�]��7#�ֱ�F�U� ���qy�a�u�:
��{i�q^M�#�a�ۚ�Uѯ�oSS��ψmt���w!�uc5����-��_"� ұ坉Ҝosu.Nڳ��6�{��(����pk����t����Lz���/�f��]cY���6H_3��C �^s#H�S��#�6��eX�ʼ�����.�C�����k>�����-�,��|�5���x�Jڷ��6��2����rR��%u�ެ挹�_S��hc�c�R��ȿ�a��+��M�r�^ܫ��F�1�^���o�Zѝ����n����[���FH�T^�ǀ+à�<W��B
�fO2,l�UU};nt�v5��<3�]>�x��>X�l�{�_��u�[k6���<���I�=+�E��׺�ǜ���>�5���Y�YZ��)oa4��=�O֥��ķ����&�	����/۟S^ۊk�:\�n��kkw^�>+W��-�N=?��b
͆�&�Ls+���A¿��W'(���љJ-�v{<=�+[��r�H�)�u$u�
��=^d��ɩ��L�S��}�V�J��c'���qrI&�z�_��;i��lZ�'�\��מ���$�ı��6w�f{�rz�Q�խj^���iR	|џ��6��>�%�q�"�������?����
�H�U�
"�g+����N1�U�׳���&����/�"[�&�oʖ�s
��p;��8�XB[?�u�dt�c��
�e�3���<�bO�<E)�{R�刯N���BC8}RU�yJ�7����8cߥj��0��E:猬�*P>\��?:��=�~Q��c������/	��kh��%��z�UYX��gT
��Ǯe]��og�i�)I�l�(u���pU`@��d\|�H�ǖ��w5s$�c�kk��%�Q���#�Jr>����Af�٭`�D�"s��M$c�6:�TlĿ��GpFk'���gR�.�	"{���HS�Wp7m=��-ɽ�2:����`TF���6#��m���hc��U�c�fp�J�q�5��O:�G{$�س%�d�F�p;����on��ɷ���G��͍��S���Ds����ʹ�'S����*�-i7��j)s<~`@J��v�����Mm3B��C��ꫝ>w��P����F��+�
yM3\����@>I�̾����#�Z��C�ZͻF��S(�r�c��Yԧe��I�v��eN�1p�ڽ��X��4kآ��.	h�PAW�[SI�tmus̼s��t�-��ϛd�I��x��i�nm����}�����C��j^�l�ݖ�FB~l�V���Mw�]\��,n�f�c����h�T�a�W�I�x��V�
ɖa�<1;n�s��k���_�w�f�^�,���
�}pk(ڌ|�ՙ�'���?մ�4�^�As��o)D���i<���5�?o@���
j���m͡��|D�X�^��!��E�<��ZćM��a��N��y"\��֦�=uD�//"Ƒ��3Osh�۵�\5��H�A����jK�yt9��/�*��ܫ�X�#�NR���V����,~��~��Fi@�s�w?O��muMK��,6��\��蜪��AZ9i�-�N��^�мmx��R�8D8]��ӷZ����t�m2�_%g����q�W%))]��u+j�zf�goejl�I��|̩���EY�mn�W���j�|��pA�~U�8�;�1�%ө��k
.;��\���܁�79t���P�X]%���3r�77��a�Bs�n��,����?��K{aw�-6܉�Iod{˖�c���J�$���a�0H7y��?x����Z�@�T&��˫ߵ�Ƥ�$j&�;c��t����t��+U1Dv��\8�@ǡ�=#s�ې[�iZ��ߜ��%��sхz��<X�^K�\B!>v���/�s�I�PN�
��-�Pͥ�4VPț���aϿ�n�Ň�5/�6#�8���@��g�\��_\�O�%��pr~�ie������=��vu��Ry��y���7�=�JS��~�{���-�xZ�gX�BC���W����cA�t]_F�K�y���m
s��Tմ[��J�ݏ4��U�|(�W3��k��J�$)�Aϧ?�O��y���0����Y��X���P���֍3��L�}���^FX���x�W�|D�U�7�l��<�
g�y�2���JV��	���͞�s��@Af0�(9��1N����P��j1Kq���c8a�
�{��h[�֫�(��/M�ڔ4�w]�
⭯����TP����<qU�q�wI-�Sn�\$x������?1�Y�9`����KM���_��m�񝤩�?J���ɘ܌��/]��Đ}����(-yx����U��E�b�h�Fҟ�k*k��l���a�p�HČr�E��F����V��m0�wl�;z��|�#�;�����KJF3I+��d���Oq�[���6�ܪ����ݱ�AH�$���`UIn�����d&���P�x%v�qU�cLb\�(���5Q��t�`�Z(�g2RBq&����~Zi����f�
� ǥ5%`˜��9�ӵ".T�QkΦ����%c�EF9l��n��."��g9�5/���[*�Z�x4
1c���Mv�m9(� Uf,
2CRI,fb�ކ��� �	��.n*�ZM���u���j��܌��`��Q1]�
�������<�7$�)ؤ�T�(%�����W���_��&��#8P3�mhKF��cj�#�&�Il�	��~V�\R���
;]��R����cEv�	`]S^��/�22�t���E��5Ivl�[�=*h��>��4����.������j���,������f�~�
�1�1��j%���Y ��wIk��X��i\*/���S���������ӡ��ĺ�a���H�.�!A���zW)�����>6�����(ìSq��qJ��쵾�*��v�5�]��|:�MĪV��Z�_�)��l?���b��O\�b��kl�v\�m�)c����Ox�%c+u�;�5�^񕷈5+m7M̋n	����ҭ=�_�r}Nk��]gXH�Q�>Y��x�sTA�u
�ŊV@��5iݛB\�[�	���f��|$����1
�1�^�]vO�aU�S��ƹ���	�61��*;Z���senߚF v�R��;9�������]i�J[���H��;f��4�ѻ�m|;�Yj�$Ѣ6U:��ož(��Žו<Im�1 ���^|�Օ_��g(�[^ض�&�w�&a*�U�cA�t+[9���亻��Yp<{V�RI��ܫv=���ٺ�O)�������y�Ź"h�"�"���H]k���3��džwrle�]�����`{s\1���u�{Yش��vl��QHJ6{���I���r;��ۿ�:�=kޮu�{��գ,�h����������f�)�^.I���X�}�ڪ=��	�îG~+ĺ΍��i���G
��,yy_ѱ�}�ח��ǭI]�F�.�-�X�R)�dH�J�(称���c��&�ef#�*a��V
3��GҺ$���]Maf�.�N��_���6V�`2Gq�^ߡx�;}6�J�c�F��[�pA��}#՛�K���oJ�5�ld~��I�[�x���S(�bV!��=7+M/3:��f������I���s&�d8��߇Z�h�:�o�T���{�e�8���'�?�T���5��)����D�z���J�����{-L�B��9_Is��F-0DJ��s���
t[�n���|�坏8?
��RO��ts8c7�I�KK���W�ݥYb�#$c�p�\�u�n��)9h�۷�W~��5�vi���D�u+B��en�g�y�I�xr��@�vVE��0c� �J웷���;Y7��gig�?��5f!�>yW���&���uR�RH�8!�Ǐ������*$��}�`�u�l���I�L7�8���k;6��ҡ+�]�dPk���JQw"Q���V���F�{O���|��^}O�U��N��Z��k���%�l/=�Oλ�UT�r۪/����FT��
�̷��c2��D�s����Z���E$MN��D������9�K�k+ߡ	+���L�|+�I��n�{m�b�7��O�>��jw7w�c��${��wQ�۾�'v�������1x��[y��][��S�$ƸX4���2+�����<�ߐs�sӽK���tl��?g~Ǩh6�:V��s	L�.���[]���9R��߆��u�_y���q~ ��������Ԯ��=�q&̪�Q��"���o�	d
��{��o���H�7o�z��-[h�Z����p���`�T�e����d|�zr�	����0��B�Q���%brR6������'�;&�g��pM6�s�2�]&Y��rL�(�rA\��!YS��Tr������"���^J�`��ҩ�ȭֈϨ�m�*6^j)	��d�$�$�1��fs��sx�[A��&�v�A���z���'�_M=pn�؞Xa�[5��.�Re����7�5�Ξ��.uekyFU	�%�VM��s��4�W~��FƼ)`�3C-��ۖpݿ�Ec���z�p�m��]�=�q���IS���A<L�9!��|����i��4���Of��VwC��O���xP+(y��?��;}�Ҵ~x�<;�x��b-��9������۱6��=w⟃���(�>�j�kv�u؊��Z��g{����'ӯ�n�z:���/�i�C�ės������w�^X���R�Q�X��
��z���l˟�I{�O���M�����SOl�x
6?�����u���ͭ�Ƌi��0J���%{
�jT�\R��?Ħ�]6g.˘����bh����[�CK�i�]+��|���J����Q���]����X���<-u�i1j�j��c�Ī����+4��r~gu�|$��� �4;뉵u�E,�ܧ��98���]]jvr�ѽ��1��q�"��Q�N:I:m{�tS�ҿ�Ն��M,A��H�z�K�m1�ӆ�uH���R��q����皉=n�ܯy����ZF��]�O�ɨ�^N%TO��vn:t�Rx?B��5ƚ��Mgs
���8�S�!�j��4q���뵩4���[}�o�X�����Y~����t���J�*AU�6���t��վ�7w�ugwzu��gv����Gq��^O�G�W{��6�j��}+x�ﻞG:[i�o�H'(B���qT/��[�#�FIP�Ն>��_p���>W�u
�Zh��<A�2��q������ӚM["\T���_�x~_�_�h��L��@���?C^q���� ��aE���<+'����4M+%ԭk�Giz�x2D�w�
c�O4��GV�j���:s�ԸkqKSZ��"�uo��VS$G��[��S���|K�T�^Yc�k��fL<H�v��c��G"z�'w�l7�N��][�Hm��Z4��ƣ�]������u)��Դ�J�ʅ�����i�\���#�|u�K�|v)�����"�77C�ph�PYR��4��D�%�����8���%ͮ��4S�j��L
v0��+�|!m<���T5��iVO��x��jj��ԉBӷFp�u8L֚��	_�2Ep�����_K�M��4�7{�ཷ�"�e�̟w�y�p��9]r�u���i���9!Pc#H�;c�R�c�Zݕ޴'��N���떐���Zd�j�s�WK{rf*c�LTky-��[g1ȟuׂ+Uk%�6�4Z����Xy�ϟ�\�>�+(��h�@�����[��e���������fi����O�r�[�O7�n�yD��4�={�T�s�F���4�uO,r
܌�Z�0�Iy1A����St���N;�-]�|�n���Wí
��>8m>�1��H��"�j~�Ю5}>iv���"�2烎��o}�H��I���4І��
b��z��@!z
��XϨO*�Fdh�2������2���Tk���k�U�[p9���>a�q-D{i����G��������⍃��r=H�J��S=jU\����[�~A�y4��f�
|`��Ɓ' 
��@�-M��3H���銻c5�wh��&xFr��4��&�J�ksy!�FHK|�NH���H���ѝ��3CZ=�]6��ӡ��@J�;T�Uş|�E�	��@�S��('h,��U��
o����*�2�E�Fa���5�g�I|�2?*V��u������-�C��c�WY���Z�Ďy�[N��̘�$?ßsX�rKN�N)1>#�f=3Q��"c�ܲ��8�*����M7M�H�d�*=sR�4|Ц�b{Q���Sp�FMԌx����j���+�CG[
7O�,�	i��:³��~�V��s�Ҿ)j:}������vʨ�4��'�~���x�|R=ST�O��O�1�5<�2wz2�%�8�fm"��{e7�IIY�en��V
��,�s,N�}�`�{Vт�d�;�1�Z��{����nq��n���z���@�6�;DgTx6��{���z*F�Ȟ^G}Չ����M���&�xr�2�ރ�
�-���M����n'��y?@*`ݬ$���'�5��V+ȋr8{{Vu��c*o�A|e%���,O'��7C�[u�����!d���$�@����P�m+.�c'����_B)ܠ�����лh-1��/�+Z�����)�8�q^k� �k
�۲�3��5���,�
F�_�`���,�u��zqځҖ��Rn�X�X�G+�UA����Bڗ`���l�C��>+�Jy[�W�AoNi��;��vIc
�32���x8+4|��Ƣ�5e��^]�Q�n!�������N��ӜȄ�q��x�+��J~�d[��W�Cb�!\�( �{�5އ5����5�o��8*}�DZ�%?s^�5~�ѭ��ݣ�qs}����=:�����š���\A}`���,)�瞿ҹ�&����w�κ��|��.Cm�u����c�-��,c`A�y��Is��B��i���x+MּLu5x�%�T�}��
�{ᱡx�K��3��^0z��x��Z�?3e����[�x�nc�퀰�n���BK��g-�+Ep�$r~�c��PM���U���v�}��l�j!�(��2�;b��e��s#�\��A�?�پƋE����xzI�w�b�IS�a��7�6-a�eu��Fr1�N������R�L�y~cAn�Z��nūsÚE��O7���5i8+��^}W��'{#�(���k���Q[_i�[]8X�B�'k��;%���9e�?�
vՌ�ù�X�Zۮ����iw���28R�W����+��>2Kk�ɚ5+�\������ɼ��Zە��[�g�h$�;�i�Qrp��ti������SsL�>y	�W&��G�J�|HΤ�/-�:��y�:��;���WKk��F���gi|����s��S�2����m�N���9�CE�m9"�y3������Y�'�[)Y��˻F�W#n����(+�=J*ϖ��q�h�mLY��0N�{ã]f].��&݆S��
Ҝy�B��_��nl|/�_\C�@p�ک�M��;-ޱqon"*D;7����������u]���{Y��H�,��3Jݳֺ^uԷz���r# ����,$��ݵ")Ŧ��-N�]�{���}���Uz���y�m��r7���r+�]���3��ݦi+�����#<X��e�9$dD~N3�U�5��x����x�̊#\��bH~PEJ���$����/�;���M}#��X�6vHc�EV��5�ai$qŇ��npZe����oڠdn�z�Q��V�����@<��X׆V�W�[}�0��ű��ҙ�TPLQ���J�/�&�U�d�q(UA��R���bds�
D�q[7��FN)���Y��׍��eR@�qҡ���w�%��>�^Dm�PO�S���I�T���=*#!PNO��F���4 �mޤ�s#u�}��N>��o�eT
n��a	�&�=!+��2楤^h�G�"�W|N��d_Pk,,RjP��c��U��d���E:n��_��.�t��k8��oy����u?Nk��=�1C��27KK�?|q����hU-/PS��s�-6�V�����U*�� �_5|D�ǂ5�|�L�0L91�#WS��]M�Z�G����~���[��?�c�zݿ���j�[G<d�U���c)���A�G:�X��[j�s�:$��UцC)��[o�����#�l�3
�`'���Q���]g��u�C�gnƇ�|Oqm�ֿ���%�aoe��G�ק�yJ�=�~YBf=ww�p�t��Y�)�u3��e��%o�)���<�ѩ.rG�k^�Ξ��2�
�T�#�ʽ%{��[��t�L��>��L��>r���On�+=�rh���έ1h��\5�Dy�"p	�Z�t=b�N�w�M�Eϔ���- َ3גk8��w���w��m�'̈tU����k�_�׳iz3�_�>�)ڸw9��b���D7}�E��=m�xf�A���m^o�[L�dr���G�e����4�k�wY�G���lz֊*QqZr�
����x�^x��;'1n>m�RĜ�}Ͻ`Z� �􋕴�˱R���2����T���u���4��:�ڔ7VQCinbd# ����]�|S����, ��9m,Dq�_��ϳWL"�SD��s�f����-��A���^U�YGq�P����[�-���$S*����9��l�Ӵ[��gU
�	%�ګ��yp��	\}�Zԝ��3�G��d�e��������VH���S�<�^(	��t2y�&q�g���͛�"�h�WCͶ��7��w�^���
���>������f��q�?�U����V�e��dy5[�-2�s�D:<�j���GX������W��Iv�aJ�L��)��gF�3��U�����O5��q��-�Lb�h>?�?kmtH�����p5�[����<P)�E%�a�ǭuI����땰�?t�#���zw=�WD��q��롱�Ky|9�ҭ�s2���u���xw�~���h��!p:~_�\�޲�Xگ�4����`�M�͚m����=���Ϋx3º��˟밬�<��7d���?�tG�b'��3<i���Ӗaw��r?Մl.>��V��Ƨw��mko
��2gG��+/V]I��nrP�Kuu�@��s�Q�qP�����
Z0��e�+H���縆H�H>�s��J��.���rM۰��څ���
��KIn�0sn���XnŎh�_͊a�:8˶z�А@�O<�c+3Qq4���ӞG5-�(.v��$�9�_�[�|7���L�bB d�U�z�������i��S�)�޵	��ߩKM��	 �==�@����V�N㢶˜
d��F��h�`�ǁ�*8�7&��c��h�֧�.�����I
1�tA��Ǝ�#*�p�t�F>�i�,�$g��Ȼc�CHDJ>BhO~h!u�"�p��@��@��k&� ��H�i`�̔.�h_i2�ڛ!-���KM&3֓��d���ԇ t�M����溭G�%��^��@?�5m->d��0��c &�w�j�[��*��F�D�d
>(����S)�B4G�V!,��e.�ꪼ�z��9FY#$���[�B�9 �O�pz�SV.���(zb��i��C�c��U�(��Ԟ���4�`g����Bo[�i����Zds)<�EOrj��-���=5����8{�(n
H��85��{�W?2���R���(�u�\
�2�Ob��s��%�e��c�/��:\$z��2c�5�>�%�~&�"��(L�t#��J��ě�q.�c��m\���C?�Ҫ)���ɧ{�8��r�`qP��rFMur�qw�9&����;G�YXB��l��a���O,h���O�jr��w���6�a�?6Ob+3Le[˻�;ڼ�e<���a��n����[���ʼ��e�w|�j���5��:/j�-	Q�סH��j���Tjz7���x���د��$2��9�c��2�1�H#�5���a&��P�}k�ECմ�,�=��CYK�8?�p^i��RmL��1���+�@�+����Ž{�g�M�I4���K)a]�>�zT��D�����n�w�^Vfm� �OJ/fWC���v�$�X���vU)e�zg�z~��f6U��K����3���KT�#7&�m˺��REs���q�
y��M'�����3|M�6*Ɗ����[:#��ګ<l�VjE5u�ZLn�s��e�A<чX�Vea��޶�w����>���>�h.�(�E6���W�þ	��l�G�@
�'ʷ�=��ߕ�{���5��>WMK�I����Vޏ�Ab�3$�:8v��;W��v�G�x~X�m��H�86�qɮ'��j:_�4�^��ϵ�<�1�=�WS���$��|1�K�ik��P�K�yc{t����֝�k�s�I��u��<y��"�C�*jVP��w�R��n���~�W�ͅ���b9���[~'�����oBP.���v��W�O���CM����=cXѴ����I`Ҩ�
7+_j�|=w��t��֣��}3ڸ:��m�Ks��=#��^"׵(�t6��4Ѹ��;�ޠ����ZT?* �/�~�Ӛ�k{T�nhII4��5�W���xt魖�y�#�?�f@�õO����R��o˫b�X�S��WW��n/u��*��:��Ŗ�f�^ �)��趏��?�ުh��@����
������WE��y%�*��j��-�=+[Y �hch�*�t�T��o��h���-��<n#�+Q�jZy��ik��4{�?��n"9x��)��uc,�e
���o>�up뫽�)�NG�x�Þ"�]R������3)��z���Eo�h��+]�Ւ�}���WJ)�e���)S�W]�Gľ�t[���"i�I&��7��U[]g^�Ie��@Wc;�>���2����씥�e+���Qk(g�n"V��B��mI�X��{�Ͷ�P�3oֺ/s���n�O
jڝ�j:~����I �Yg��=8=�k�/4S��]�ov�]M���ybxⴄS�ޭ����:�zrD�(�'�
����ώ-����,Oa]hkmw���N�
�,��5�k����2$z�bl毮��$j��3�����tiZ�����N����ֻ�f��ہ�W���s����E"w�Za�y��{���;!��|�PFI�ܚ��۸����d�%u��Yz���$v���{�>bq��L�X����J���ٮKU�?:A硧��6
�1�NOJ�D"1���,��R��K��2��a�U�H��9C��ڳI�_����j�M:�y,�2�\���x5�D+���ܤ�g��2I�S�KỏK4R�:��y#+ư�Egԟik�#�����<-B�F���}��������w����֕&�.����$�y#H�Y~�鞔����]�U���[�hrQW]Jm%�S߾�Iq��wQ�)p��^̎;�ҷ���R�3��,ŤX�ܷs�z”T�OWёM)]=�6v��,^s�����}{���g��RX�,��)R�Oj隴l��Si++�{�����́$g���O����G�
'�
�k%ӱ��Js�f�c9Zڭ��ݵ����Y[��$�fߝ���+��Ƽ|Y�A����J���y���S�hro���;S�Vw�텗���X��D�e~�'#�W�k�w��'�#�%�%�9)�>ޝ��k5��r��т�f;���:�N�g�/�;
ɦR6�=n��R�i���:fH�v��e���Ќ�0��O����'k�)��n�K�ԥ�,`�C�p8ܟJ��l���ŷ?��
�B��+��P\�Y>�.n��:��杧x���9�rѵ��GFS��t�D���ڑ��-#4�!�~��(�&��.*��
^�\�/eեU����3�?�u:�4�О�+�.��nכ8bF�:֔��~f�z�q����:���i��I�7(X[-���u���-��m�˥�Q-��YX�=z��U7{�t����su7�.<?�DWO��:q�c�ǧ��M[����h�E,r;@�!ž���Vэ��rJ�Zvu����[��Z���2��u湆
F�w���|�x^�i�u��D��v���o�K��zW;�i���m�Wg�c��߫�jct�kwf\���T�t].��/$p�(�yvp�.�x���nu6����e	�V'�3�������k6آ���������H�j?��Z��.'�
�.<��ϚZ��}�s����8u�ķ��W����z�y���k�bq.�4��;u��Ñ׸�S������h�@�W����41�O?�W�V?��v��g�RުO��Ě��wD����m�y9��m�M7�!hU��}�����������o`�9YA��?7��խ�Z���ů�}��X�X��/�푊�i�4o�%�F櫣^�Ŵ)5%[h��M|���\���x���$���m&#i�Y�)�|U�^�w��b�ڪ�}��5	
�>Jc���W�W���oZ'�;��$'��6��`��e��o�#�b>}���#>�?�Y�l�:��nnt��Qʹ�����M��ZH��k�:�e��<�Xv?J���܍ۧ
]�M�S_�I�:�U�i.d|g��b�v�XH#.ᑑ�S��Rze(~oֻ�-2�\𵱓N����v�b7'�[ަ��mm�R3l<1r�*�K�l�T���x�>��Ŧ��Koam%�E��H0���s7/"�2��[�N����%��!r������-����yHO����V���G�z���<��b��,2����+iU
@0�?��P�c��(����,�F���������)+��l�E4Mp�X��ɜn�[T�9u	��?&l�y���BZ�ܤT��X�q>�F�S�߶=i�����U��E,��)��|Q�ߵ��f�S� [T�'9�!GPz�V��-����yQD��4� ���Q�s�`K��J���&�/i�B�I�M���{�g_��sҎ����T�B��"�0�u?ZB:DQL$��c�_�4��{y��Wn�:Kg�j�1',�:���-7D$Z�+�.�R
���Ȑg&��4+@Y�H�e"99RG=EH�,W�.f��Pü:�AS��q۞;ҍ�3��}w.���iH�cnW��W;����[YA,�2I��~5�M��n�������%�RA&���#�QZV6S�L�r��Y�}*�Wu��K�e;�f��Couw#An�#A��꜓Em�>���t�T�O1�`��0��`����4�|REw".��/��WƑ�|��$�
���Ko�l�6�<�3�,q'�`�Ht9�bq�}��|�ڱ9;0k��ݯ&WCJ��O^Eb"����b[@q\/�"Yݤ��,�n�:��׊�{��S�R�Mopcp����:�\�9H=+z{��@n�TE��I���Zv�@˶
� ��*xT��A��CZ�4�R��"�8r�q�jn��_��.t{�sf�,`oa�����uyuv'�C��(#x=�=h�"�FK��ʺ���/_�T�g�|�K|�>�J"���/�f��`�p���чCX�TM��\]��֛s�\Imt��DpČn>���%9&��d,9㨩P��{�Er�>̖{��i�iW��X�G���db���(,�4lG�s]�o+ˤ�މ���h�*��;[[�eK;��G)B�C��T �����Mݢ�pbr� ¼�G�\�	ʟ}�b�[�4�o���T&��~����6[}w_����d�J�*��U��\�}���Q��]�8�i�w��c=���m��[�
��&q�=z�[���x"I���	�7����sQzog���'I�6��b󕤞�L���9�َ'���Z)vGL��Z�W��qkxb�hZE��O�X�?���x7�~�jDW[N�r�B=EaJ��˯s��޾��o[]��77s߭�n���a���ms@��c�і�	%aB�_oz��$�m�H�W�wwѝ-冝�#k-I�O���=k�l�;�W��t1ܳG��<7>��\��s犷7� �R�-�WĚ�����/ov��#����և����ww�u9�WV�@O���]�"��z8��M�1����\|��Ň�.�a�֧���+�bsh�ژm̎��=s��n�i3SB�\:-�rj�yp	O�����u�&3wspR� w�ib*�4��iGb��t�YOnb��Ѝ�4�jH��FK�*by�+����f5T#'xUL�u�ʯ�{�~6Ӆ��y�S�'U
pNx����
�����Ky���6�
&�w>�مĹߟ�Q�^�����������^x�\}��Xԟ��8���K�{k|�J�m�!�"�X>Zj�w�4q�M�WY���#�E�s!�
����⫏�Z�����mi�1�>��L`�QE|-���Aeimg>W%N+6���t���0@FsՇW\��:Q��	銎Y��L�q�\��#A$�@c!+��U!3����Wf�{
oq��Em;���ʸ�����vJФ�d����3�{TM�Z��jR�g`6;�U5���a��n�q�t�j^�cg7��ʺ}�2�D`~��fǾ��x�ĨcUW�`x-�k;u��n!�3$@ƭ��	��ֹ��Voζ��l�wɓژ�I�6$ ��pj�X��-��$r�OJ�ز�6�,���|���36v<5{���k���ŧ��Q���R����w~
�ѵ�"m2�	!��R�q\��{g�p׃羪/��6�ќ�?�/�%�Z��Kv���{~5N��l[�:�Z�ŗ�S�=6�p��ר��n�'��kam��X�:���1�z�l�m���moq����{}��SN�Eu�^��8�g8��ּ5�;k�4>�"[ܨ����5��F�Ewk���J��[����$��9S���J��e�9t�a]�q�n�gci���N���C�Wm���i+<2�>޵��˽ŗ����+�C��}�o�pS���Kј�)]�����6ݾF���r���w�w�,��	2�v�����,9�u�)��}mЈ�J��ˠxZ�K
:�O�1�$da������(i�š���u_�fO����֜�U��z�Q�<�Q��K�};R
��0Wp�»ω��*mt؇�%��L+�:
�޴�Ӈ7^��I�Jm�b�ť��F���yo��{��е{/��"r.ld��+��Wi������Y�iz������b�fk�$9,;��gQ�$��O2Gw-�z��c��7�4�An�.�<�_[�I"�w񵽏n���i��b�cM��Zα���N���V��7܅.W�r�"���u}CHk���YFFv�|����<wl��\)!� �E%ʵ�t]o��xg����z��<p�1IpF+q]v��ϭ��ra��(��`��%�:�o��ޟy��o���i$���&F�G����գ�L�-�dKk$�II�Y��J�jk��o����=�
�Đ��tE2��}+ĺP�u(��%��29��㶆T��v?j.0N�u:G�DZ
���-����;ti3�w���\����6_�1�S�N���|I/�/ �b-,"8��?�}[�s7���5�Ó\��.س�q��´�q����J��Fv�=��
$!�#��yg�t����7�#����-!�SC�>!�Ú���j��*�`��-�g�h��i6���� cpz�[�{�OZ�'Ө�c���Ρ*l!b\����4�R�=� 6�6�=�@\�Es���3Sky�Wg#�H�D�����m�!�d��5���ijQ���0L��ߡ��L�k3Z�J�>�<�o��������K��$��%��*��Q��u#�aE�m�ww��_��X^HNv�G{t�6�㶴��2_6�\cuv���+�-�Zm���^�5���Q�5�5r�
F��A��&�M}½��7�[/��Y��C��?�6�Z�?�����)-œ�Z�ŵ���jS�5wԦ�Y@��oT�5�'��}�(A暺�ȍ��x�D�W>�,���:�D�
[?��L�2����F���|`�ʈ>�F�X��i�#I|AMhbd+*n�C���,�k�bi�ta�yq�[�� VrNs�n⻹��x�NYK��!��g�:��I��W��t�C�7r鳛�@�#����'��J2���=K~�E/
kW�:��Q*#)
с*��y(�&�71��
pNq�V戫����n
ZH#�Z2H���-�&��{����+�)=3U��\�4�>�3MY�J°��Ӓ#�d�7
U�F*�l�i���!��1��#�����n �Ԥ��&�����m���h�1���	z@K�:��nn��"Wm�Z�_��$G;�%R�hT�8��!s�H��
0����4sN�7fP8؛���7
�JV6�zW�Mi:Gk22e؂��Q/�$��3�{�*���0�r�R�2
ܶl�|���8��
����{�,�-Tᾔ�O�%k��z�4*���{�W��&Ѵ�wMP-nbQ<j1����
��u8��|�U5�c‘\[ū�bӃd'y�8���Z7ʽK~�5�E�Oq�7Ц��B�m`;�x8��M?wr�*�-O9�-}	����Cj-��X~�gi�>��[�V�'-ɧ�⮂}JD�ɉ�/|�o�Lj�x�b����;E	(��c����Ɵ�-�,%���e�h��G�QfuM���q�
�X���֨�M/j'jZ(<Pڗ4
Cɠ'�)P�(�я��ˍйBG�����s�'���e5�hݎ������ �<�3��%χn6E������g2Y�!��D��^O��(�1����W\���ڞ�!�VP�J��"��ozZ��Y�$L�ArR�$s���԰4�J�߿�;��7w���{�V���66�zɨ겐�I9�v;z��]}��E�w���"���ckD�X⼙�:������������b���ֵ��.w<q�	��^���]�Q���%�-����8�G���B6����E6��c��F�q���o�jP�?�r�R�/SM���j���kX�D\���Z9ג�z׹��k?�?�Qv��?/Pk�O��/T̞���x�P�/m�5���۴�^NjM_��;o�*�{-��!V{��5��6�mw��i߹��KKU�D&��<D��>�h�O�c��܆";�����6�J��Vס��>�Q���M��k
��"�p�,>���ta�F��An��X�I�8ޕX|DS���){�A�.ϫ;�x��bdU�@�)�L�u��@��I�;�A�\bO<K�y.%�[��u��v���7��)we%���� %2O���^m,B�q�g�����b埆m.t{=O�7�k'$p�~�����<!��6n�2�#�������j�Yk-�6��:g��Y�-��v���I�xm<N#�m�p�S��p{c���ʤy ��Ʉj�ݵ���4O^��5嵬��e����{ⷡ�|=��K$'�K�}����t<�.��NJ���VV�����Nj�`��S� �Yc��^}��>$��Im4���-�dv��I�I�+K~�����H���[�9���"�t>���ON�nuV3�10��%V>z¸1��䷻��t�V����X�-���m�K������u�!���e���
�e�OuE�{9UZ��l��o^������}��P|�19B1��S�W��Yj6Z������L�4�S8�q�]U!�8��4�W.�.��%���+�;M[+�UK��'����<��U�j:�߈5��Ԯ��荹@�J�ޚ��*�G��k�>�Z�\Z���U���Zڏ��i?��1�f�Tcin?ZF��Z?�%un���(�A��HA�bEr����<+",FG{��8�O�u��uX��6�l�C��ө�SY�*wc��h���Q�ض���Y�$�*�Ǧy�)��-��4Ւ�ktU��z�.��6�E�`7]����l��{_�K�R$ڡFHcް��`�Q�`��Hv������Z�!�C
��� }�&�sՏ�e���-#��Ž�R{۰\�ˑs(#�' w5���#�idC��j6�Q&$&8��G��o�Ko�Y5ܑ i`6�ӭg��o2��Ko}sc�+Y]A��L�õB`98�`?��B�r�Qs�>��g����[�V�j\5�XrI��{
�~&�/O�_D,lU���~|��O�i$��u���ۘ<-<ĕ7w.�=��^�6�i|�$�'����>��MMwFt���}O���]Z-j-O�E���$K�&q��}�sv��{��eV���\U!Ț��9^ff�r�ڤR����[Tn'�1�5�s�{��:
J�-yw*����g=}M(TI(���A)�[v���\��Q��G���{�Ϩ�rv��H�zz�αᅕ�Қ;�2��U9��������i%����Zw����jVz��ǘ�sh�����O��_EǨ������?q�^}8��9G{�w�k6Z����n-�n~b��q��yW��)5+翏++D"����>����,Ժ�ۚ�q��&?	�6o,�{vD��[��+�<)s8����`A�?njp��S�.�Ҩ����D!Eg`�3���Y:Վ���o����GQ�M؃�ױYEG^��4�ש���iQ߽�M5��H��,�ӯҳ���o�W��l�	�Eg�Gh8�j*�����Ǘ��Z�lz����L�A���8	����G�[���S�ɥ1Ȅ2J�Xt5n�f����N����Z֧�{+M\Al��[K�Lr1���'���W��-��uky��
ȇ���œ=�9^��WBXJ`�I�� q�1n��Z�1�x����נiֳ.�rN
����3�斟3SӛN�������c867ZU�!�:r@=�
���>'ԑ���K��I���E��	)MG~]�R��Q�6���ۤ�Q ª�Q��E�i��2�#��vl����Y�9��A������?ýy�eY� �w�YS�5�5�ƝNS�<
�s�_�j��.��� e=w~���ֵ6�,s\�f�?%]F"��N�:.�c��q�^��Hm>��#��Ǟ%�N�E��V>-��_��d[1��@9=��{W�V؊�= �:R��l�]O6h���#�����r�S�0-���mH�)=�2K�^$F��A���Q@�-�.�oRh�i\���$��	�-c�#H[�pz$�'.��͘��k�u+m2������Z4�6�01�;m=@��qE�����ƥ��wJ�/��)�޸>���ط�,��9�(��m��uI�u�vF���ix����6��^++MV�U#	����;F�C�z=�lI������/��Pޛ�TU���c���u��Z�W����e�w�[��ȯ?�t��GO��4����zz��J+���j1XXkh�v�K��H��V�^-7�V6P鶱,��m
�p��S8��c��-ir�|D�.�,��"����V5˴�����0H�����ҵ庸罆Y�t�"�{A$d�	(��w���t[ي�a���]cO�s}NV�w�-�dX�
΄��K��X�d��=3�d*�m-���YT������8�/�'�cq��4�v�&ݻ�Պɹ�#O������ކ���w�f�ZCh��I!��|���J����ay$�P�7�n�!���L��[����K�!�S5��m@�E1�X�j��`M	�����qVm��צ;Se#��υ��&���p��ᄑ�Q1���=�a�$������O����j ���w昐���h�]N#Q#
����6Οp�M���@�*��g9�:����M��T��$�0��z@O$d"q��HY�5$��@@�O��F{�|�5+����@p��ʬϻiR�&�lb0�/�3Ҙ�i؍?*�����h@O:�Rm8Œ��@\|y�VVYᕆ�-�yN#UB�7��R�3��Э�<�HDv�b`���FEC���:����9�*8R���T�oRH���b"
��Js`�W�L����N��xG\Y/����`���n³�n�؆�� ���ǭ��[<of\y��W���u����o�-K�'�ݫ*�|�t�ox������?f��R��x�#�����Ũ�۲�:��w�֚�����g;�e��<g�3��{�g��(a�49A����9U��5��Y1k��:w�4��v=�1d����ҽ� �|)�[�uc[���2���V���D���-�4�M�E7�@�7��P�ti3^´����~G�7�YB▐��������i�&��4�b�xRh�xF�	�\��z�O�3oѦ����t'�2����8܄��n�Ip��b�o�-��ˀXq�NED���F�l,�s��=9�G��������c��� �Lhh^h�8�e"[y|����ӆTk�!]�͐*C�i�֬��wv�@�F��q�>�|�Q�D��M����>�4��b.\�bz(5�<�1�:�ܮ��fUm�-��^=թZ^�H��Q�W}5����3�R9��̷hHن������U���?%��Q� F�@�~���nI���馛m�7�>�m&��$��(��|�G^+�%�si��Ah�`��5�5gcȨ�g�U��
q$@p&��.uX�-��9�3]�K9�"wh��{F���Ο"�/��n8��+��m�i mF���Uw�kh4����
KUs��4�}gK���A��ۦj�u�Z-��v�a�0�NOּ�M/h����U��֭l�y�/a�A��zD���@۶��[�w�u��h�w&X�(�����
�t��}6�$�c����Y���]q�(�m=��*:V�������sxv+�95���s�ڢ�=<�S�/f��5�������fY�B��f�NOiF���ʉ�� .{����U7'�9��7gu��sS�o4��S7��^R�9�Pg�Y��S<bHԆۜg�v�(�n�Pj�o�괟,��w=�RZ�q�y`W�i�#�P����d�YЂ#���B���ksH��~g��������zQ�Q�n3��#��P�mu�k
5��&ed2��Jᜥ��KK=")��_����[�4Yf��"w	OC�k#IJx�V�%��F�h�0`E��M	V����L��R�"M�c�h������ B��cֺ�U�u�	��F�l�V1�P�y���ud��Ij���f��yơ�5�ﭼT��q�tHW���v�YӬ&�ԯ��
�*�Y�LW%z<��הʢ��L_�:N��a�i�ķv8H��;�|u�s�:���
w�H�!é>��抾�h(�g�}��(�=.m7Xio㺌�#ۅ�����P�,�'�e#�l�U0�ʺ��{{�^���j�ZKn�E�?^jQbm6+p�ΊB��ǭv���V��m���zWJ�y�ve�7wJ��ŧ��s�s�����v\�-.d�ץt���q��-�&�ϳ�\�#�0��.N
��y�����՜g]���o�l�#�۠��Mu$�h����� ����Q��hV)0��Ns랠Ve�3j��̰����YG��������(H]��f-ք���\�٩����?ZǻՌs\2��b���R��.�z��=��V BF)��9��LWm���kg�[H�ǭF�$Q��!�c�=:g�g7��0���k�������6,�u�{�k��O�5?
8��ʼn;E�jp=7����+��Φ�ON�e�]j_b�%�O�cm�Tt?��DSo�i�dE�	�����PEv�̯�ڔ�v{tf������P��x���q[��P�GϮ;�Ɗ��ȣW$��$���ڕ����V�
q�(�a��V��ۋil�?�0'A�FŜUԦ��vћ��+������O��ke��|��@HW�����Ew�=K�W����W�N��x�m�>ת���G�Y�	��kM�b��$�7��W�h'׾j�i:ݛ���-n�*v��=G�^��O��s�Q��T�l6�5�K���\�<ES�p�yzVZ�i�ý�/�Q���ڼ�]�(�Z��d�s{��#q�j�l�^�FW������bx����0�B�4FA����*�9��},�F䚤~ �^�($��j�z��v��3��̹İ���,f�K����U�t�z��օ�y�r�
`�j[\ImvG��Wo��{���߱�֕��,[���e6�y*J��C�U�����V��v��8y�|�'���׌a��浙���ε{X��V:����h�ȶ�`��y��~�ֆ��3UI��y�.d��?J��'yk	��
��H������6��7�*x�F�}k�c�;����[}�y[�q	�ߏǭDg�����)j���uѝw��v$�.���K4q�Q����]��<oa��o�I��+k��F��{�uI{:^l#�Ù�-�'��g�u!s��q4Ү�drx��Z����m�!r��w��pj�{��C�re��|m����E�\\.52b���Oǥw3�N���/�G��p��.�J�ueμ�◅���H.��-��]T����>Z�͜|���o�cS�d��Ვ�u�Ω�
����/�۱wp��l?}!8�X�V؉�A����.X?3���m58��Oң���
=}��nw\��ɑ���I��Q�]G����9�в�{����ʝ;��i:=ն�u�J�m��qw$���W�ݎ�ٽN:t�	��3LvU~qM	�mx?ZM�q]lV���=����z�������^F�S�3qH����&���e�a?��?ruim'���+�~���cS�f�����۹�B�pz�4��_��"���=IԴ����c!]�D�x��s2#J��8q�#�ku�s^�ic��>����M՚#-�.$*r���ߌ涵_X�З��0��� pARq��I�ZV.3g7�jW�����Es��!�լ�-���70�T�ʓl{G���j��5+j�8���gmk�nݓ^�.�]��ؾf�~j�w���(񅑈��e;�ۑ��[;�J}��Ip��(�$�����f��n�u���m�(&GB?�~��N�/�5Γ��s֧g����nKrFtd�?:�M������J�Q�m��F�A�&YrkMl�.!�O�H����>��tE�a�n�on%��U`�)'�k}�][�fMZ{���� t��5�����N�;�嶹q-ϝpD�����5=O�t��'1�n��S�`ud��U|;l͢�ˢ`#�p+��:m��o��5���(\��G�N��ĺ^���xP���WF�}�H���z��D��c�PMy�
l�M�9����>�����"E��>�lH��v�B�r�rI�@����q]$�Ki�������"�u��d�c
r`y����#�{U�.��I�dڊ3��T�er$�.�{gczd,�F�FsY�z2�T�J�E(�܆[�'mҶv��]�4�e%��:��cL�r��sq�b�
zز��u�-d�Ql
�?y<M�\�2�]��H��N})�,<��7m$Twqm|���Bar$���Lf;�w<
�B�v���f���B�̉�a�A�k55&��f�}C{_�?�"���+4���1Jgw�����
����!��[ޱ�w��I�#orɂB��]Ɂ���-!/|��0�~C$a��q&2�b�}
Z(�o�f�v��Zc$s�$�Jm���
��9���m�R��\����B0�W��8�A��\̗
�����h�XE'�C;����U+#c�5�k����YZ�P��c@HO񭮺+�)jZ�ƦJ��#��t�_�WR�?�u9���"kOG'c~�?���l�	��}Nr���(��ï��eq-έ���[*��
RW����������HH۞�Q����b3!Q"Ou=꠬�ݗ���M���ۿg�4�ѝ����օ
8#�5��n�20��
�pq�����*�x�ҁ������4��8ɦ�������b���u�W�zLJ�����b�j.c�p=��"���^�C�Ԅ��ٲ+����*�7��Ҡ�<Umcv\@���g+�H<t��F���W�G`1�3G?�o��G��bֵ�
2�8���+�9*ն���Z3�x����X`�8��N��Lc���&�vm�#q؊�������{�\W����QX��q�oq'tgp�cY��4{0��dF8��Z��0�/.�\̅���8����J�ґ�����HNOz��21�'&���~���|�aPO��
�!�OZ�$��M(�evx��)�k
��o�ݢ�O���x�E�O�m��y!Oc�'�W��X�<=�]�zl(���\�9#=��Q��=z#&�3��4MN�iH��C��ֵ�=��;U��;�-#pYQB��І����wS���4�{��+,`���~:&�s��潤�&E!s�
��S4MW�P3U�O���4@�����^[��R@�@�o\w��3qw[�$��$�7���Hn����F&��J�Ҵ�#�e��_�4�Wr��V1�.w۔��+;i%��嘚�����+�B�%��ⵊ�~J撕�]̯����2�0�*΢E�s�p67��{�:���a�6Y=ǥqWMMKF�1��5�V�v��]jV����bwt�_|Z��_��\����
Z[�<�M¹j�n<��3n�h���tm&�iu�8��sb�';��R+k�������x�G,N`'�~���i{�Yj�֗Q��Ӵ��<�B���F�"OnsϹ�6���5[��㙗�#?�52��KE��maq�ߛ}&�K�݅Q��zWa�i�Ժf�+�~	�w=}5�
�*:zw3~!�:����sb�B%��*G ����e�-BH��d�:"�3r�x�U�M�:k�2�$՗��|%�^Kq��7���;���?:�t�A�}��F���F
�]x|����^N�#�]��"��l*���d���=+*��VоkpOC*ȁO;CZ�m��b�.W�σ�3=���D��B�4��]@��+�/_Ѯno�R�#�T|,/�d�f�.��Y�=���4�m{P�D�f�P�
6pO}�ҥ�ntk˨�^�2��7�����Z,o���Lҟº�^O��N	x�~��|Z����l/u�SK���VE6���s�֝G��Qk�~̯�,�R������
�,������"���@��߯sjl��G�&�u;��bx��,/�h�����Mj�N#\Õ�;IEp�Q�p�әfg�3��V�fe	I�Ğ���c���׸"~ *�ϸ\���ʷi�-���W;��:�:6T��&�r�aV�0��a���Y����r��h�ݿ�Fp*�t%3>��M�ys�9��w8�6|�9��ga��v.q���7� �CAr9ٖ#��
�w&�o��������Ewkf�oU�X�!���[��c��S
�9g�;7��>(�/����]���WU۹�?�ox�홼?�X��Ip�#�����UH��1UI>e�sv�D��W�RѤΏr�O��/����)m�d�\E:���>�T�*��*��ϦķSAk�T�q���ڳ�]f)�M=�e1y�}	?w�S*��U���Jq�Eo��l�t��71I�V�����{�I�wh�ᾏoヮi��x����ۭi����e�y�n.�bҁϖ���%����-Jk���.xU�R�dH�YE����k;⧃NJ�.Z�"_�0�	��B+x��M�:a�|��R���.�i���lR��>y��~#�^M~�5(��C���+�yѾ��٣���m}�S�xf�U����U�?ߏ���9ι_xF��Z���:�2[ʣ�z������k]40�.���s��0� �*B+�>x��Y[O���3�'����NsR��ܪQ\�G]�O��^��*����*��d��Ք����ñ뚪���a׺�Oilp��cqb�|[k�����S�u9���ž%��ΈD��VhXq'���.4�o���E.��7��Z�l
�Il0���V�׊�u�I�y��:X��6r@�ү�-w��4�V�.�q�Eg����_+yq�ͳ�޺�x3O�݄�<ȱ��p�C���N^��*k��&�挡׹�x����E�o
��R�E��5�߽ީ|ou	Cϰ*�0��𮪵���.�9_M�N��g�Ϋ�)/�I�,0R?��FA>�W�ףEZ�좽�Q�ʐB��v��}|��o�_x�?[��YL>�<C�=���U'dTݑ�wZ~�y�k�d)�_}�\w��\��x<;e���?\R~����߿v`�-����ž�-���fldg8�����y�)!𯀠�� �$�>X�{�oԞ���q�s����ͫ��$��_N�߂�k�n�K�M���?�q\e��.�_"+`�8�~�ׇm�c�6���E1!F��=��Jv��$mb+�"� �IC �@H�͒�Gj�����֯������X�z9?�V���������Uo~�.ż����G�r+����ص�m�ҿ�go���%�~���WI�n���'���O������淚�NZ_�D��3Wt��V����~C�����}?Z#7M��2s���=�oO�lb��;ƺBNт�{VN��j�ڟO�iR�!$����k����͡&ט�Z�K��]�2�W��0Mg[��@V8@�e���_ӗO������L�9?����{{��i��ќ��T-���y���[�3x��s\��[C�1��q9��ג�R�Y�n�l�f�0�=@��z���h��=ƥ��)�g��+�;�W�4XS×���	�i�zYI��K�օ�,O����Ema\t�$�J�f�%��TބE؊��k��}�9�ں���^X6�4���G֭�K]�Z��
>Y�o�Bp��M����]f�i�x�����h�	"��qH�W����eS�:�9������n5�g��;;;�5�\����)s�t�7R��Z��I]lT%�|'�h�dG�I<���6�W��:9�
��1Ӥ&iG�r3�M���?B�L
x?5�r��'��5��ir[�^r����}iž��t4�;���α_�=���|�z�^�?��|?��s˧����n?�����+v3���]��HMhX�x�z�Q�c����+���гg�~�؟�Hi�'���w8��0c�2�T���ޥ�7	�:�׵W�'u5�U�4I�6�+����;��:��LDqGf#$��L���9뇖��3���V_Q���ƥ� ��Y��HF�ڡ���'}y�|�*Tu+���..��j�a��Fj�Ԅ�Q���l�D��
}�Q�⬳������
��G�c_\�\�) 4�ϏBNk�S�kfb�g�U��H�ݕ�B;Tmr�IbI=I��V���.n�B�,y?;�~s��ʫ��Ky��ZB��e�Ա�����\�[���5��+�,`:gڮ6�{���7�خnLA��2�
'$����|+���|Se�G(��f��۵Kt�*��nַ�0����H�Fj��'���!���\<�S�����=��x'��x��R��Y"KM:K�S���>��|���q�Z~�w�$�����dA�ǡ��kM�Wv֬ꐄ�s�o�C���G����q����W�l���I��9�f����m33{yl?�(-Q=�����ȟ]ԧH�!�d*�t��k��H��EHSk]iQ\M����ک�Ka�wo#�K�3!����i����h8#>Լ�(�$K�W,r@�&�|sg��g��
�AC��"�'נ�jV�by_�V�u�
�5?���M_Rk����4�#8#�.�=.�����[�6��v�6���=1L
]<��}	x�c�ꦝ�&��:G�71���y$~t���#����G.�ݎ��B1���\�j��YZi'���K^�������Ѡ�(#����R�#�a�5cH��-f5U�R�6B9 m#�c(�6�}M �Wױo�����K��a�n�;NA�>�����V���1!أ�=k5N^כ���T亽��|S��m�b����n�]4���W�%���r�$��0O�n
m�u�eͪ�N~يL>�����9`�I�F����Q��8�=^�+
G2���傮x�\���,��ơ�,��2{VoqW���0Oo��Q�`9'�:�%�#�cҵ�C���Q�=*�!1�i�J�4=c�ǭ,�n�n0pjJ:���*Hyn�޴�-��u�E�g�	Pm�����ꈛ�ǩ�x���z]�W���Ȝ��O�yW��ϋ'y큗Q��V;]�h�����\.���b���ܮ����p:��֗|�Z����)��q�$
�1]�杚i��k&������Q�xF�;�%Y�Lz�dz��|Ui����DU^�ݖ9��:T�e{�6Q������H�Q���pA������b�"Ew$)�ץG	�y��j��v>��/�d�,�I�?z���+.y��=k��lj�ҵ�a�6%@�i4��s�
gKJ�=��"|��;�{V�t����5��=�I�+ca6��GiBW�d�tm̥=:_�m�9�$Ek_��>����O��6�q4w:e�U�p��6�`�.��ԒR�������n��}�E)0H��S�i��S�Z�~�q�K�۶}?+΍j+�l���PM�����5D�K�������?F��;�3Q�w�[���<� _^��~�UR��&�v4�+�{+]�x��02���3�<��x�Һ��G��Ms��:��C��Fyz�:w�tӧK��oB�7oD'�|Em���ٵ�r���B����8�O�<��9&�b�@�&�X"���iT�Q�!�^6Ge��
��m�]��)p�Ehx���I�M"I=�$*������$�$d����
V�'�����{������B����k��_��5�=!�����T����_�O[��Vz����Ѵr(da��\����o��n�p�3�OC[U��~�֬9�����=J0%ьI/Wo��e��I?���Dg���8��YKA��k��9��V�2'�N�g(�n��Ҵ{�X�r�ӓV�˥˿Z�&�є��[�:�Z�h�Ӵ��w���43C�^3�;�^s��B�f���zf�z�N����V��yUܚ��I8�����}s�6��k	�-�na�������ŗ�}����_z�kI��t*j�.�tA$n���\L�]azB'�8���ZN��z�$�ojl{�W36��85�|̘ZZ���Aj��� {w5�vG(B6�	�1Z%�_SJ�V;)�L�`��u�+��fŜ�����c�-���T
�V��7W	�3��:V]�̀P�<@��Vޖ$���M��Pz�˹�w9䚖�E'8s�G�z��e
�!�⡁��k�x�I�a��a4�����^�{�o�Ju���с����My5���yv���NU�~�kúe�onaI���Q����(�.���O�I��Yc�H�y���<��H�n�$��pM��[���Q
�����ɏ��zz��y�OA&�0.���G�(%$���Fe{�,�?�����{��F�y�8���]��
�Y4���1�:��S
pM�۟�
1JO�V�f\^(�Եy�;�_	����[�R?����'Ҫ�eU_�k�5�����I�p�,���Ln u�y��~ C��z��0�����g�I���Q�n1ӫ.���s�Ԯ|d5����*��=~&��I�<l.t����"h��E?�Epԩ)R�I��Vs{I(4�%ӼI���7�B�O�%N_ƴ|K�k�
�	.-��J��q���~ǥx�֡/d��u6O��
��4<9�+\�Ż�q�ɬj�i�XhW����FX�$l/ ��s�5�)Yr�%��S�n��մRڌ�٫"�̖�>u�\��Y�;��y�;Cyo��X��Y}�Ewө���DekI�࿈x�N�K�D�R�<�+ ���*�F��-�Փ�qjY���׭��gܺ�S�[���w�����9�
��`̹B���՟�Zu��suo����|7��������r���=��K�k�]5�72
&�"Vf��{��H�E��t����"�"�e\��ފ�S���M�V�t Ь/�u�/OX-ඎ�dʟ�Ã��5��ä�w�2݁�n6�ʏ�w��'Jt��Z���P僒�]����>�ݦ�@��iD��>eǧ�WW��Yݴ�7����We��v��v>�͏�ibYT�Ulo p
z�"��F{x��Os�
��~�9mk^��|S�~ѵ兞`�H����h�Z���CBdc	^Ek7i'}6�UwN�=Q�|�-W�Z��$���(���^W ��#�Aq�_񬰾����R�<A�J��oנ�Er'S��?�mm<i��.Il�e�4�X,Σ�Ϯk�����xF94���K8�eY��Y=s�=y�q8��$��{��nIj�ݞk-ķ�\JA�W.�d�L<��"���(���v��R%����C7����Q�/.f\�����1�m�3Kƒ�=Mzg��ot��^+�a�dQ߄?�cVV%�C�E�.�$;���c�ש|K�N��J�-<��3̈s���Y����KS��ί�jO�[O���{{��\Bv�	��$�Z�|m��������l%�wo�O��sT��Q'��G"�ǟ�_�p�5ĒI#�#gһ��L���4��U#)��)�&��e�6�Q2����xѯ�gͻ���?�5��Y$��is)(�c'qB=mٕ��x��)�y|���V4�I,5�+�<[H%#ԁқ�C>^VA�\k����4����q�0dF]0$c�V^�y�gP���g��Ke�j ���1�f�����5
>�/��]�RU9�Y8;���zkWr�k72\(
��8�P�<UF6ZDI�U���:V����SH�1r]��vv��&�[��$bt�����!�,l��ܑ�gr(=>�.���.�{mZ���7D�,L��ZQ�"���.�
����zj
#PH���%��N�F�R����A{��h�|�J2�7t*s���K��D(���c����p����MU�]�.�w]����QosN��4�:+��\K0`���Dw4��oW�m�n.'��#�F*��<������g\VR2�ܧ�P��!q��YDx�)�׵C��o��,;�=���Uˤ[X�,a�;���l�w�l���-cY�xd-e�P��A8��J�-�6�a%�H%9]��T6����֨ht$�"�yZ29�`�P2h�$��~�\���v�iET�-��9�&�lfI�:Ո�
o�cq�?�Kv3nĺ�������Aq�W|S�F<o�[XǶ�Q}����O�!�-�{��L;�
�������*2�6��:\Py*<��u#Һ�:z���g��[��#,���1�⳪�#u�ɽ�ÀB�z�(u�ح�zv~�S�'�.(/$���*�<�|G�ź	]�����5������#�=��
e���rT���A%���#)kǔ�mϏ�)���`�D?m����E����8��W�M��\��I�cW{��[;_�����:Ю<�!�J���߇
c�|er�K&��p�J��T���jrTBMkM��W��O�,+[��s��^T9_9S��P?�h�����=J���_ö������u��j?��l���d6�g���Y�ppA��R�;w�����#;;�'��I,;����I'�ͭ��泰�>���k����,<rsV�F
)���S�s���(G����euA����g�ڀ�Q9�A�4���n�[��OKM��i
�rUҮg�[�-n��)��Db2�?��vZ݊�DP�*�i��s<�R��.�I>��/�Z�7�t0�a6�[��Z�-đ��$���ܠ�������nx
��O���qG!Wn���?�aL�'<�I��-o�	:�w����~�J����y �#�^aN�
i5��|'w
��{4�Il�D)�L{V>�I�:���޿�屢W�_��L���tQ�K.���[X}�503�4}��s�O����5[4�{G��O��85�uF��c�6�k����!�s�px��2?�?�<�E$]Xop9�r�n���w-��
I�S��Qmn�x�ܥ�2;Ĭ�oB:n�Oo��mN�2��r>nƙ'������qB��hf����jw�[Y��K#���|O�]�zܖZ�I
���=jd�l�P��2Ӡ���.%�o�,+_�^��'��#Y.m-goo�=I��\ث����-{�m;���5G�5��g��D:����o��7�����Xm�7���G�m���پ�q�+[{���?	Xj��|���|���1��Q�A��ޜ5�F��̰��#9��z��)8�D���5e�>���}��4E���	l�e�ǿ=?�fH�GWH�$7l���lp�+�.\��>��v}�/���=��4���9�	mTm�{��ָ�@_�zj��h�V^�
��޵��>�쮢�7dx�pelq����w�4�_�=�g�1$s��I�Z�]�v�s��:k�š�f���H>Q�W�������u�����Z�U�W����/��+w�����O���(Ω6���^���-.�~�{��Yl�o��8ǿҕ5}�^g��b�re?�q�!�dK���_�:�s�WS�b�2O���p‡P���X8J*r�M�EK^�l-��Y[`B,��'wN�vZ�IJ�xsD�.-Qn�A�,���wQ�i9'ܸC�7��
�4w�z��i�2j
$�mA��8�֮���:߄��m���\2����>Os���WK���jף:(�\*�>�;CG��}?
��x#��D��A̱��7s���N��
PK~�V�ä[����M�9�a6��/Aۧ�z�_�\k�5���涑��L�Y��	����4��c�˧s��t�[+��Ma*H�-�b�tmnk-��ŵ���]��>��%(&��j�c����������BS,�K��+��5KOY�Ð>Y"�z��'�����M�KG��k��.5��ӵF�M1��rIQ��qZv�/�|7y����7~s�(�٦���Tڕ֩t*�׷�!k)l/Ŗ�Å�z�i�WZ.�%ָ�\M;�pn;�硯7
�/4�[�*���Z.�?�\�כ���-ܱ7�A�ۚ��u95I��U����M�+����⹰�yڌ�OF枏V�6�)i}��g�..D�1��e�m9����^�=��W�S����J6m�(j۟N�v���9���;Bۀ{q��3Vy���ʺ�8��H#����o�����+E���5�o��\��{ٍw���ve���3zw��(��fCM�fb����XO"\&�Y�O�GOΡ�2oF.��!�ķ<f��M̟f��@����h��M����JgPp:�	�6�F~n��h��N���_tx5	5���΢8�b3���ƻ�/��&��t��9]�{h����y��{�M�:|��[���i����R�d~)�*��l�")9ǥz*�S��_����L���)XG���;{l�_�:-/E��LjN�OQ���Rmms4�t9��f�jzv�������~��G��0�e4�m�}��/;r�UH��tg^<���H�\�v�"���ܳ�U�q�{g���`�tH��X��C�sI���iZ��Es(�G�}N�Z���\�D��.?*�
���΋��b���V\�f<��u�{�F����v=;þ��<�["�Z��s�;u��C]�-�]�p�-�A9\�gG��tc�oaJ	dzg%�O�4�s��7q��d�	���+�|����Mk˺�[�%�C(��5�G	T����sS��?{��qz��'�������m��L��������Ox�O_2��8P�⧌xnʵHT�P���C�����;�jw���Yʻ�PH�R}���ީ����x�=_A�I�E��n���$U�MF̕u��Z�Ӎ��t���M�"���z\ڬr_�Z��?f�E��G9�WL%���_�4<C ����h��x��h�c�U�����[A�O2o�Fq���();�{��v�G����cd}�Fz�
��X�l����i�L\&J2:sQ8�T�z��9W:OUs����s��O��5�ua.���]�L&��Ko4�ia��{���3��������M�*�Q:�W�v���S�c�,�(�L�Q��Q�i�1{��D��������c9^OE���롿�i���N���
����v�֦�f�,��g�p�O$g��W-\����XOv
��x��mV�J��bM��K�*C<g��l7n��x>M]n4�(��n��ە�8�}��u���'.��8�FRz>�����|;��Ζ�����X�
���@k���zD��[jS,퟼j���mQ2r�Q}
Z�Xo�c�dPHRE�n;H�ԋ5Įbx����������iF�X��i�?;��z�݇���a]���J��Q�!��όp�pO�=*d4f�vrꚇ��^�P|�'#��P�E�F˗G*�Ѓ�>�-�ǝ'*��:U�k�F����\��qrX��Y񞿀��֤�b��'E'�1�W/<I{uc�C,�^�?&V*B�?���5/��7`���0����g�oe��t3',�q�:��<���_�hK��2��B�0���߼�n��ۺg���Y�SZO,sɝ������J��y������A��mo�JH+銪eb��<ӱ�(g)��F=�T�#HP��P��0dr���n!iؑ�B���N�������#<��2�&N��2+�Al��U�9+�S�"���L��*֕�j��څި\�8
��R���*z���e��溶im�vіQ����]�m!�Ђ<�(�f����^��ʨ��_�Wg�=I�_�񦠶�rX�P�oQ��n<�RZ��-++�R[��)U$���{T��-�F�u��}��M=L۳e����|;匏%�r�k�������ϥ[Eq}�_��kcȑ��Q)���c6�c�w����,c�a�+�cz�k6��.����
$�ukX�ڗ�^xM��DX1F+���y�,��U�]̊�|�8�6���p[�+u�����
�c��ǝ���>���a�I�V���#����1�����#��
�����ö7�������D��ǭye��\�ڄ��8��#$
������yb��J�MmMYQN�2b8 zV{F�qA��M�X~!�� �L m��>��I��
��}����-�G,r��ta�X�=��jK<�FC��N�cՉ�i8��Oo���MO�R�)�ӽ�	7������g@���}F�O�dZ�l�=W�ܾ�&����2kS�ɢ��(�6�TO���j�iz�Ŗ���I��'�7N��,%T�/�'y�d_�P�J�᫅���1v@�+dv�mX��˽á��BMO[�o%���\H۽�@�����O��d�?��y%t'��c��i|7(w›ӧx�U��4��?�%?Ҹy	0d�����.��(_�wN�1��L�>;���R�P:w�<e+)đE�8��1����_MEk����'��}&G����@��J<Et��%��%�����������Yյ	f�ޅc,>ZZG+F��櫷\v�Rxf����k��m�N-�2Fd�
q�B���m����@=*֥�˩_����3����K�$��h���	e��c#��\F�p��� ��Է���3>�%r�ަ��k����4�#<���'�b�@mŬ�h8�� ��B���A#��pj����3�Q�0��M�&̝�qHbe��P	�@����<I��:4��YT�y�~�6��$
��V�5���2y���R�
�z�k'�3��9X�ܹ�J�0�On��|���+9�9�B�� of]��ѳ����j֙!����~~�Lc�4jYH����kw��$-���q�f�r��V�"��'�'�n$sˆp���k�̫J�����Y�ǜx_S��^11߫�le1L:n\����}�n�Ğ1i�-���?����]��χ�E������/�ʿ�a���O��k��Pf|g<�n��C����k{x�@O֫�5-�-��Zw��=����)f{{]��0�J�1ǩ�x]�aU�m�!�Vw�)}���&�#�4�-G�ןn��kI����|t�����Y�3�'A�t��q�u!Q>K6�5���y-�s+Fcx�-��:��Jh������s��G\dUm�nqfiZ�"}�g;W�|<�SX��uŋK�c�c����]�JT��vcWEs��ӭ4ײX9@�6r�\�Ֆ�g�]���Moe"9��pH�?�x��]��-jq8~����uK	�m2k}2��lK4�6��{��\�v���G%
�N�������k�>�n4�Z�f�4����{�
��
���-J�mD)H[b�
k��}�=�TV��vӣd�h��Ǐ{��8P=*��-�]��]5��� ������ƋKD�	/u����6�E��N�����$GO�2}G�?:n��Z>�gma�%ՊȲD���	5ϗ�Ԍ��{�压]��d��J��J��f��M'H�.�2�
_�|���쨓m>���>�%ߟ�ܳx��M���ӂ~��s>'񕟟�=�̲���0w<I؁�^}J�����9f�n���񧈅�v��i?�T�.J�O���KD��Q��^�*�`@����������{
rKm�=�M�a:<SLL!Wi�0k������g�����!uf#cJU�w�gKY_T�x'�n��W�3k>-����Jƨ:1��R��Ү��;�p�]ԧ� ��֨�QN7����j�����$Q��&x�%���~��'�%���I%�d0m�t�MqN�>��4s��]G����^��H�&Y��%��V���Lּ������&���$����qP��ܕ��F�,�{�!{q����g�bs&�~U2j��9c��
�Eƒ��s�
�k�K��r6}�q�2��$W�f{h��N3ȥ���Tҭ��|ޕ�\s>�$ֱ�f�A�,�ŤEӗ��?ʶ�w�f�3�\�-ݟ&X��bGN3��̦8�U�ai������oR��e���7s��d��T˔]�<�O�"A�(R\�sTY�y�a��$�g��4ڜ��
K�m��+5Ԑ�����zȧ�q�vV�t�0���ۺH�Y�f�z�%[h�Evy���NU����T�K-ԒL��p��V��R�L�d��)�x��W�(COy�0��}y�S3�z}�YOmx�M%�Y7t,I��4�&��!��K�Z�wzI�E���{��?ς�d��te!�Њ�oxv���&{���}���BO�oC��ՒIK�ݕZJQ���7���ll��u(���b�&��hi�h��@ �G�`��ÍW�������_h�%뺆�io�ra��3LܱL��>��Df��ҵ�5:t��H�<�gC��\�);9N���J֗�ZA�z���A�kIVX�0��砯7�|As�o�QK$�ڻ�S!�I��N�\���tT~�k��u�%�����g��v���
�8�۟�X�_�u�w^].�0Ӣ�٭!o,u�3�	J|��-h���nM���Rߎ|oc=�V6�sM���"�m����?ß[j��^ ��L*Z8��Q��Ye�kI�ZO]N����OM�>�
���ĆN�Sڼ�_�E�ݬvR�C�E,���2�k#z��t3���Æ����nIc?y~x=Ev�O�%��l�̬#�w0d�"2r9�k��No�Z9�/-;jZ��{χ�7E7��
�6�k{¾/��%�i{J�$!g��`��BKe���I�ko��.�/�-E����"̀�R3�½�l66�#p��Y�\Z�:�u�k{�_q�w�n��tV1�_4�br�G��k�Z����u��ķ7�+E,����y�W2�I�+��z�ӕ�t;��?���RMN��B2T�P}��=5��kioz�����|�l��*QpQ����K�V�fDž�?�g4�f��H�c>��L�$��������*c�$�D�T�z-�QP���ƫ��x��5���}oM��#	l�p�H#�M�_��N�V��KhM�#]B�0�s�3��4FZZ=�!Բ-���Y��e��D��*b8e�]�y<��u�\x^���m ���rO��i��l�7/{����V���'��sߦ�Vy�
W.�tR;Z�x���W�m�Hչ��(�ֲ�S����ۘL��N�M9[[K+���c����"�xW]x���n1�:8�l�<|s���Y-�Q<���(>�Ts)����yς��{?�W�i�ז�|2�Ԑ�N�|=�E�Z���h&��#h㑿�s��9�)��a2�z�V���ţ[�1���������J{z&O��R�n�Η2�K�H�	#��@~���{��[�)=�e#�
�IK`WgM�Q6>4�9�i����
s�N�\�{oq�:i�yFv*�<�i}�m��.S�'L՛��N����C]���*I#�*�;�p3�E��Ҁ�'8^��;�w*���&��"N�S�dg��9&��s�"����&��0j͝В�4ۑ��F�8�G󝛧8⥎��rL�F
O��v%�N�ܼ�'��"��l��m$1�����G�V����1�r˃�T]���VI�h7�^���b�/�=�Y��G^�����$V���}�
�o�*M(܋Qү<#�\���i�63'+�γ4���?̫�I�8ϵR�R�$��@U�GaLdD@~�d�_�������n�Ȑ����i�V�ggoi*Cz���G�ec���v5���#���O���d��[0zTFN	aZ'usK�Y�4˝1�H��9*z���ҝ�*����u��c,i�m^���P�J[X�tp~f��a���[>��%�,�eG E���X~�*yS���z'��#�y<�ҁ�3���kʈ;�i���5��x7š���Ũ�.�jk��
P���5��+�3^���W�I1pX�ߝg[k�V���7���Uv��h����wpƹ+h���!B�����?Z��]G�����C}EGup���)Z�'�6�wz�]�`��(���,�$3:+o
H
�#ֆ����q��T����-�[�j��&21>��A��&Q�B�
%���h�b�YO�pz��[�k�f��G<�\n�-�qV.��y���$p�.�*���\��;B�uR?�Lc��)컷s�?�j�:��-��Uv�+E��GSV㷐��Z��4Z�a9��06{Y{A\�[[�歪I�j
u(�UN:p1R��s���R���:��B���JPMY�Ф�R@���i�	9n�H	e�I���.��9��j<a3�h�Ƞ���\dTdb�L3��6��`�	�)���!
����$S��Xw��S��1��M.��e����4)6�����t�'*��(����ͥ]i��I�l��b���5�4}1�ۏ�h�n��y>H���Lդ�F�3���f:��;�#�6�r�o�����T�ֲ��8�Ƴx|��+C���J�#�Z�or9�֑�^s�S�֐jZ�]͌g#��$�S��a7#�ָ��gV�2Wp"q���g���4�q4�[��޼(Yvc�H��|":����݋�!?$,�
=�,�iQ�zY肛�լz\�ʃ�@�˜��wĘ�+f4�:5��n��`�����Dꨫ����N�C��$��[
�ibY��w��>���|0�,t��P[��j$�;9ʢp�7o�H��M7:�╻�����0�R�!�V�r�T��a�L��ʼk�1�W�79;�m���K���z��GzWm�t�z�MJ&��^�x|��y[�=zꚳ�Fu������Y�^9HnG�&�l
��]G��oy��x�=��,�FH���`�w�2������4����y.�����e��u�6W�����e��a�yW���sPj/��Os��l�|Z��[�0�FD�1.~Z���ƒ��ٲ�"��8��?�����MUwtj�{Y������%���fǶ}}��ց�%�E����?��ջ�V�Z�Z7d�&ߺ��S���o4�}��kw@"!����g-��y�q��GUʗ��*3sn�Ѯ�'�>Xx���1��L����M����u��1W&ϙ��v?֜ �IK{��GݿTz����]Il����LQ`ƫ���T<�����w���t���9�]�����R�z<u�h�h�of��8�
���db���~Ӽ3-�p�L��e^ԑ�p{8ǭrԥ�m��UH-�ɔm���O#�2���>i<��=�>���[}7H���\�U0C�9��)r�~m��ʞힾ�E��2�Xd�J�u��������|�R��UT�B1���k:Q����M;E��چ��<`��P���^��U�=0�[�M�W�2=(���KTcE�J�^��>&�n�U�[O�,��4�q�.�~���!�<3��O�im��/�U'r�3���ר�^��hޮ�m�7��E޾�P~��E]�21ʷ|��	G�5�r���2�?�o�iJv4���x7E�U�g�R��r��,}뻋*�s�-�+�3��4���)I&���o�r,w�A-|��I=~��tQ����A��mO>���/��v�g���aֵ���"G��$r�k��x�L���[%[�c��-ȵ��!�#d����LVȍ�Fl�*E��]�ԮGך�Y_��8�RX�w0��� �Xd��U}hˑ�q��oŽ9�,! .)��C��=�7��{)��6�W�7��c�/�5��t,���+2�3�Mu6��ބ�C*�FH��x�F�"�n��2�S��j+ϵܛwv��#�h�6;�Ї�S[#����帍�x9�^�SOMWTtE�>�ˋ�� J�&h�,��Aϥn�>�F�N:Z�5N�J;��]�:X�,%�<��e���zt:֙$3Ē�R�dj9UJv�4Lc���~YǭKy43Cok �d�����u��M7�m�"V����}��_�R��ME�%�P�%=u�B�5�b=c^�9n"]����kןS\�ă��יu�u���b�d�z`z�T֊T�{عCݼ�3<1�X�GD��V���.��:s"����k7ĺ���=6{����XH�����[Uݺ��Rӕ6�S�<��xz���sa	/���ާ�<�x2{��5L˖��9�^�!��v��N-)-�S�4/
O��:����-tا���`���t��cծ��<#�qLF�nz/���H�-��v�)=B����ӌ:�1�E��x��/l�~�<=3�!ۉWp-�o�g^��l��F"�|���]z�8c��
oph%S��q��g���}}f�J�٦�(��?.ky��3���^T���.�3����c�x���̶�CvJ|����޵�x{S�D����4���HP~�ׅ����nL%g�����i�^,�5�MR�aqF��>ߏ��7Sko�b{�H�
ֽ������}�>Ѯ�Or��(D1�&�=��U��?�^-���y�k��ga�#��9U�}��U���x�V�l�wj���C�;��,O�m�tTI�]�'���ya�o���c2�&�2OoP9�:𚎭�\�`��/qo�.F�r���k���ODa)�=6Df�q�x��uE��Q(W^�v?�k�?�i<A6�5�2��#1)#j���[GT���%��u�E�K �Kq6��@V=x�)��šh3��!����p?:�P_vƊ�J�i��J��6�
}��,�:��@��+ʛH�Y流��S�e��p�
��+B�|=�+�)?��X|��[�+kko�H��H2_hPD�&rNN��y��<C�x���xk�Rl�Y6y�(��O�G�~1מ����7��V��y�o�+܃��>�q���E(���i��J�&�3�;�
����򻙒k�H@(�O���
nE"<r�M�[�A�]j��/�z]����&q4�0_��{��D�m��s�:���O�dёa���fA��6��9��Au%�yt�i&|��@�JΔl�Ӷ�е'�/������21W�
KK�|?[$��#����+wߜpy���ث��aY1M@m'�1ִ%�xu�u�����ik�6�fJ���3�*���������̀��[�Ԟ�w�ϲC䬥�!��Z�m��@�;s�c҄�LdĖ�+�L�3���z�/x�Z��:����%�f$��JRj��9?C�ԭ"��qjŠ�����Ҵt�Զ��b�Il�Ɯ�m
��$���cn���GԀ:�WI�E��͈�Jb�۱���V~Adݭ���0�rT�-��QKA��NY}1���í)J��cGJ�F��[�&��!Q�.y�^�zW��-i��W@���*5���P�b�a�g+=����өOŚ%�����ɋI�X�VNda���x��Zu浝
�Z�ʛc�c��iŚ��Wvf�`s��Q�:����"^�4��:CI��u� �]�������<���2
s7�o�~̲+�~y����E5�2{�n|�:F��@���
:
}Ŭ���cd��>��-qv�k.��Z����L�W�$�%X�
.�#��z�u�����Z���%$C��b��1ܜ�9'M@x4%a������n��6��<�az�e�e��uX����:��i�0q��~�A���n��ic����{MQ��Ͼk�Xb���ym��k���<lŰA�z
O�X���+}��T�2I�rM4H�"ڽ{�����ZǜoJ{W��K܇��|���K$�ol8�d���R� �)�[�HT���EhR�722,E�E�=*98<R����U���L�����(���9�c�cށ RvӀ4$�a�j@�})��L#�d�)��}�,���#��T/�0i&���0)�<Ӷ�c6�,f�%�c�pi\b���P!J���z!>����#�֢�p�!�+ࡱ��Z�۵ޑ���+�#�O�iO{�`�t���
[g��~U�+d�O�d��T��Or����#%d9=�W�F_C�eb�)���
e!3���U͂YA�y<�pd��a�k�֮�����Cb!%#_�3ԟ�>�CG�C3%^␍�+a	�L��zT��,i@{��υ �>���FIA�=)UR�.�B���#���{�2�k/(���n�x�s}�,j�Vs89ܹ�j��S���Of�H���#�WD�5�Q���K�v�S�?o"�a��X�	_K�f��[U��{��=	i���-4i��<v�i��iW1߶s\O�<M{zt��%���eV�����gg'���f�}tg=��,�F+捠�+��h��d�,�ȊȠn�O$�λ�ڲ߱���h�"��#�p0}k��o���wP�k�X��{r�I�
��T��ס��v<hg�f�VYb&9u*���7Vԧ��20��)�
��Wb7:��6�}�2��z2˒1�W�i�޹�%�KY��M��mڧ����Q�)9��#�Q�K��p��"���寿�Uu!�B��	�,�:�o����"�a��z�{V�w;MW�d��^��6��fS܏zҶ���\�p�Yl������\���$����Ek:����v�g͉�`y��T����"��v��9ny�VT�rU\��婏�j|�M5��
�YA2��dn}���^:^\Cy$$1�3�^�*��v7uy�|��k��[ޝJD��B���z�)qoy�5�$�3o�o�J�k�Ϧ�ZK����3�Bi:��bm�Q,�I�u�KҵYu�-e"*.ӗS�#����'(�хG{�ۜݽ����M���[�����U/
é�F�R��M�H	��3�w�k��Nk�[Vs����s�Q�ij^���y�c%���*H5kY
�	wy68.�N?�]o�b����n�##P[If��G���`��w�5ŗ�|6�[4I2�u'�֕	�jR��q�Y7%�BkrMy���"ek��x��j��u��sm���/Y�H󌍽��YT���\����]j��9m��*�o-�ut�'$\���_P>��xw�o���+�HOtN��)^�#�kV^Κ�V]G%�����%�ƂͣdI>V0?�f�$-�噧-�A]4PW����QyR�N�R�T��}+�զ��I��.#�!$��j)�f�8����G�"ڄ�w֗�K,��0!�v�V��2$ε6�WG;PuǭUx�-"�KE����Ozͱ��끆f9#h�$�Y����ĕ�E�*㨙��!�%*�~f�
Q�r��r3�al�R�d,�MTl���I�_��Vr	<�x�-_}��ڐ�礭�}�i()'}�6��s�BVx��[`U�p+Th�O���ٳ-�]�y����0ѧV�]%h��������j�(��Pӝ����(���@�9�Q�8��C���$��\W|^�CkSC�zz���O�r�^dl8+ ��šķ�t���Z��1�iJѻ��֥ӗ+�G�oN�S�����=��]�,����t�ב�<=K�+h�	'�--�W<O���ae���$����Һ�G[եөj�{�R���-��.��h��Vc?�Z��i��HUZQ3<n�$�Ƨ�� ������-CS��ПX���m��9�8����ם�q��#���c|!���2鰍/F�׏��@=:ޱ�����iz���+�@
$<}�������:�N˲oDtZރ���XD~�g��x~R?*�
xV��PA�EƜ�I����4�:�٭�o�Q�5[�7��0J�G|{���1����U�4�+�t�jI�Y��j�����sۋKb��hEw%��qg$W�0�R)�A\`�u?�rb ھ�����_[ӯ����8ω��mm���v�NY��'h��9�sᕶ�L�P���Y��<�������j�����j-ll���C`cq��^�V���K������?
�
Rpfb
���t��!*�K�b�h�:a�S$f����k��x�MgY��[q=�x��U���]�spX\jzV�w���c̀<�G%}@�>��M�Z]V�̈́E�m�T��zN?�p�Gk��o]̛��nu[��3n&H�v�?J��Y��LYé
� �`�B������R����4_������i�<���I�Z��~1���-�죷P�EQ+�O���ғ^m��w�ۘ?��L�5�F�ex����ܣ&������<n�˳©bIɩ�ɫ;����:��<7�SQ�1�>U>�������C�[MI|�o��@$kx�q��s֔R���;w����e�u[�Ưp�I��w�q��ߏ:�W������n�h�gʾ�E[N�/�~2Mᦳ�C�e��k�@��׮BĄ��g�Š�@���\w�$MA���H�	A���v��;}*��3h�H_���ijj
�:���e�ih>i�
�Eb��Йp~l�Q��"2���𽎿�^����g,0������	�Z��
'�!�ŷ�n�%x���p�~�e9�A���(�朣��?M�[N�Z���E!a���>�U�u�������b��]:�z�dѯ^�/����]��m�I�W<'{��{�Q$h��$c�Kq)i�T���P�o�<pI35�f��'��xSȦ���x�|��I�����l��/�f���A+���nI�G�v�J�A�{�
.?!�Z��3��J2��`ԉ%��V��y(0�O
I��jZ��H�m���FI����s{-��4��b�!�J�
O�N��m\��[�If�G0>�A��A�������2E���ɻ��
��j��O��L�|F�\V!"cu~��=���ذ��KmRV������'F}:��
D5z>�DY�<�����n�&����5�d�n�B�EN��!�Ǩ=��b�"�	Ү�oo�X���6�	�bH$��y�����h�ZijGi�0�ұs���{�3$�$�tSڭ?��G�ɧ��p8��A#�N��N��)����Li�.����|4ҴkhjL�O&�R��A�b��s�����V\�é�jK�M�ii��ٸ�ek�����s��
�@�a��)���beNd�@$�S��қe�f9����RB(NI4�sT3R�ʋO�7�r=*��κ�ASmnf�n��d��)�_��	C����;r:SE���pNJB~ZcT��I��ڀ2�<�����T��'jBh�=�6@ց��I�Je	ɧ��Y
�ķ4� $u����L��OA��ڀ-Iy$��-+��E'�N��9I�J��#�Gð�Dkn��c�NX�ܓN��l�i���Ƅ�6)6y�P1��??>�	�H�M۸�������Mq@�r�+�a.b�H{J������pVm��o�_�#�z�Z�������K��o�����9��L%��T
B�͆�\��ϲٕ��yg�&�{��o�<�VK	u���n�T���kʒ[�2�@��O'����4�;�1Xg����V���t Ա�t�T�B����|=�i����Q�T�a��^�8P�ݵ�WQ�� �평E��A�"l����ּ�������;�.��t"��'�{�_+J�H��MQ�Vl�5�c_��K�@��2y0ź9��O�j��V�S�ao�KnwA8��Ϧ?�wb���WW�����6�t9O
x����y.���.�3bi�=�>���
9k��4�3R�NӮO�sZ֭�ʣ{Gc&�{ls���sq��~�g�_.8� ^�z����)Ӗ�&�k�T�6[��?*�.em���G�h���ż7R,�7cқ��ǥ����Y�YO�V���KsT��<C��o�Y.�΂M����L�0�w\��ջ�����#*El�-��˦�Cym�ͅ�.�}�zU��n�Q=���\�#�E��d�_�1�b�mr�0���rK=S@�6�$�\@��7/lu�`h>җŋ����d���&�w#�sB1�_{H4%ԡ�-F�͝�]^D�����Ol���E𮻥���mp`�A13	�cW,4g�ݾ�s��{-��eԤ���~�2�Z�j�z�����%�����o�'I$2��z�Jt��Mm���F*7w]�3\�.����
*�;���� �aWt�Y�j6��$w�O����G�V+�
��3�.d��1���U��X�"�"�����V���Mz�#R[8-�ü.8�������i�F�Mz���+{{o@l�?��y����w:ztx�1�#ܯ��ټ5n��^���:�nw_��(9�~D�4ϰxc��m*4PD�5�o�?�z�����9��%{���b�^%�T��jv�j�LcV+������K*�a�$�DPǂ��'���wF����ֈ�7��3�_�˽R�+�[V�͎�"(�K^�'�svb��Đ��ܼ�$��ds�:qK
	rI�?�4{=ξ�_��Ue�.�2D|�rLk�\��\ߏ�Y��$Ӯ��e�EC����
&��y ݺ��%+E�&7���I�<��]H�Kk�\����}kk�ؿ��:4V�����,�����ך��%Rpwj1j�'��o��X�f��Ɏ�Y���0#ձ%��,>U���+�嶝�ȫ+#+�x�m���$������4�3�l��0��*�\����t��Uَ;��1f,��U�����Z�:�z��'b�8���^.�\f_�bA�:��]B�y������n$)� 6�5�4�
�*�嘟ƈ�e�B|H�W�
����u�1t�Z�&S���@�ޫ��ץM�&Fh�&�AqC��p�W�?	�Ҽl��'����ԃȪN�~l��4l�y�Cy�
�.Y���Z�L�-onF~�����\����Rl���3��6��&د���^�(���i6���ږ�'/\<g����QBNk�=����o��������t��@��}�@EkͨIe�l�Dk��GgG�!O�淫zo�s+iԿ=���5�$���VW+�H#�:V/�> k�#�4�nLciDSI7�'��ח��F��x��i~��w=N�M����� ��n�����{簻��]Geg-��"Bğa^2�"dе[�5��KP���g}�pON���-�4�W�ϊ�4m�s��?�t��3�F��<�����H<���F�}=��Ow1�S���~��K
ZwzlsF������5/=�Z�[�Y@[ȁ�y�ww�Q�k_ښ�����Ip����'�}Mw�n_%��%�����}�隴��6�3	�>��ʑ�x�	�M�wGe���	�����	&�
^+�~���-ެ�+C�7��
�x~�\���}XX�/������������
О3w(��G���?AX�,մ9�i��#���*�:ymu~��Rk����u'}_b;������A�jX�:��5�jv/�A�xF�MGI�x�܃�唃�����,՟��T��B��;�J���13�d�!�Fv����.Ӵ��i��	{�,rm��X���s[|�`�u��35��*,��Sַke��MZ)-k��5��!	��L���ORMy��\x?C�TkĽ�&E��r3�צ1QQ]y"j&���n�]�WH�E��#F�1��m�G��oJ��5;�Q��,YD���_��<�ʮ`ޚho���G�<?�-c�Eo&ۈ�`N��A�!ߞG=�<ݬ�Y��c��*Z-{���s�E���F6����m�h�9��ökv��ƣq:��{(�&���ǐ��L�?��r�N��w��n�����vZG�m�1[rҳ���ɮGW�<#�[�N��FO� Vm�=��ֱ�����d����iW�A���m)���x���t
��������ϼ�gf�H�}9"���*����`:��ӱ/<�Ǟ�����V��,�

"_�$)���ԙ�lvB=�4|rzS����uZ���|3ѵ(B�y�>z���Y�vD���<{y��:w�m�DA�G%�?6�rN?�u�d��.m!b�E!
�r+*q��Dw:o�> Ӭ��5�gx�X�ʲc�8�{Ԗ�"m7�O��=N/H���هS��a�g���]I䴛{i���otk�U�+fE����/>�늿���v��<�T�\�]���V��#^OjSiPi�2�� �.1���|�.�);ݹ9���1�y}d�\Al�e��H���M
�����i��Vıż����Q_k�y����c�~��%=J�6��,-c^�ϭ+�R��P���Rq���������r�Q*8�$��c���/��/f��m�Jۜ��OӵU*�h��WaL
l��(�S#�݅�[՜,�F�~d8ϭC��R�7ryQ�.��V��mJ����x��RRV\����	�/��A�d��F<�3�t��Ik�f��Cga��)j����k���Ɗ�K�o�&ǖ�M9����,k�z$HZ�O2L|���Ʊ�ҥ�ظa��#��T�Wb��Sh���#р�
Eu<�o���$�V�����Uȯ�5l�)�Hdr	�T6��:�	."�;��r�/�JE�Rn�%a|��sQ�������s!9�/岓N�ۄ�A�`y�z~�:Ojzf���_jH�}�96��0G�Z��/�Y�n��<�!*��{ʢ��J��Z�"�p8�D�V `���{`22����e"���>�(��Qn,�zPH S�N��qa�����Bd֞���[���9u�͂Ɛ��[�稩w~Bz�]ԯ�`�M@p�P�{�i�i"��8<J1ځ
�q�Tx�C��3I��@���,N�qI�e�cc<b�$�M�5\�z�	�pZ-�
d
��T6Ja#��jzИ���#>�̊N@��N�# �G4$t����x�b��JB;�׃���hC��`Փu�qy�
︌��?N?�kы�s��u�����<Wo��.~iWo҉�sKؚ� ���w���+����K����й$�vO
ɭI9?G礗q�2�#g9%Xz�W's-�	#�sڜtDlf�1Fr?*А+��q�P�rh���^��v���%�"(�%fi7`��½Ս��y��K�����5-�����T�ޛ��o5��b�̌��L�\�\���Mr��!�g�;I��:�X�y3OfD���Y�Q�^�x�E����<c|q�r���k��$��J
�e�$��^�柨��KZ��ݭ�T��>��o.!Y"��,v���?ʹ�N��U���������O�(�m��&k��=Mu�j\�oO��&��X���~��Uz���k���s�ѵ�0ƈײjW7*�w��n�Y�zDַ(e��\7$�ҵ�ki�e��n��xO�v�]i�[4�����?4}@�=+��]m�#5�x굗��t'�UY0#���2�B��'�7�mt���.�A���;���pu-�KW:��RǦ�z�����H��-Ϩ���O�[hv���!�nf�����XM4�n����c��a��	�3��rk�4K�]��j,�C�0�A
;V�H�d�9�&��Z��&�������&ǵ�3�l�*���s�?6i,i��21�W�5�9�o�{���s{I���e΃�x��㺿B@6�$�ǿ�z�_�R�[Msee4�Aϑr?��\�y����WR���W�7W�+X��hv$1?L��N�Ӵ��f�;{y44
 ���`�徾��	$���[v4�ڂkr��؛L�1\ȸv���^���YC�߿	�ǡ�4�㢟�kݾ�j�o�4u+�/L�x6��zrEy��׼�Ҭu���Ȉ�'�>�͌���&���'��ϩ���g�D��X���u�M�\h�'�t���
Tp1^�.�8�Z�u-Ț��n�ky���@!��1>s#z(���QxOþ����F׷ѡ�ʔr��^��qSP���g.�Q��~�Iq�x�K��5��8�Q�|���k�5�]NKh4�V}J��2~�w?���^�)|(�Y;�6Ț�]x{Z�x���?-e�X��A<��5�Lj�-��٣{��@��;���8%��^����lt�m��)t�
����h���Y����F�:�k{/C����
��/�/���͝JX�8�q���M��%>�H#�T���\yhw7�s]傀ZN2g�����_�Jז��`�m��z���h
��!���Ƴ��b�-���ݿ��t�Q
�{��#3��;P���.ev�9>�J�0�`��E9�Ρ<�
����ڂs�d�:���
���VV��%�͘�ڼ�8����D�����ې�@Oj��P��Z�7h��-���%�yR-���oƳ�<Ea��)Y>�4�;c9�Sڹe^0���[�)]������
CQ($����	��ҷ�1�j��"�n��%Gz��1�����<گ#�-�B�f��)/p�%|8��QmG���F�M͹o�����+���e̚y���M4(bW�a�S�־�{���<�rok�~��^N���x���2c%���k�m�?��QGǶ�n����q�0�ƴ�vODpҧ��މ-���8����WԵK}ͧ�q��z��OYY#�|Q�?���m���6�@T0�כ^����'�G,M�� �>��Wߕ��G<���R�W�rd��N7���ں��6����W��i��¼�בО���p�ӡ:-6Fm���Oomo�򐫻����ޟ�&_��t� ��[���0�x��[OH��Ŀ?@��׵1a3)���G���޽��_
�K�@C%�<�(w������a8j��y�%�t*h~7�����o Xa\������זx�k��(d+�:��=�*Ss��z���af��{Ɇ�x��@���������뻻H"2�w7TU�?����N��k�u.p�ݗ�#wW�o��+X�.m�-"	�F9�y���>��QArɿ�e��Ż7ʭ�=����)%q��d�f}�Cy%��-��L,rP��?�j�{�z����ik��s9o�������!��g�xw���䍭�@�XcQ�]�A�ǭt��tB.+S��w�-#��3����G,��Ҽ;�>6Լi([��[Ƥ�o��5�9�ݎ��I�X�]����4��h+�����sېk�d�[�����p�ڰ��eg�Z�r�Kh4�coj�l<�v����i�i� �Lm�J�����r/Pi�#־i���k�ыod�T��Ɏ2	�[9��׉��[i͸󷼪H+�J�	�k�4�}�7h�F��-�w+�Kq7,���%�����v�[A�`��I&�h�:�H#IG�{�8x�_���=����?�@0{Y
�)�+[�b�~��D���J��跱ed��F���`��6Q���Y��!���Bw8oxA�7�o<�[��A<�#���ׯ�s�A���ƫ�.1B3mVɮ�I�u�i�~��F�n�6�?���f=�{�:Φړ#���zg�5�+W�u���Y
I��2�g>��^q�W]�d�$�}�F������=o�&.��ti����B������"R{z�un;�F�����^��}j����hH�.L�����j6:�rj�ϑ4��ܞY�Dy���I"���5AatХ������.�94�R��]ޝ�0o@)��;�m�oQB�I&O$�@��GC�Q˒��8�6ĕ�Au$����H�Wu
e�Mc�v�V�8S�R֥�Q�u�=�K�	�	�ƛ������WvE	�%�|M#�S��3�^㾆�]�
�H�hl��UZ�i\�u'4�f�����DnVbwdv5��5W��4۩E���9O\T�'�7�Q�����,R��C( =���<n�g>b����V�j�-KZe�3���Q�s�*6[wfH��k1�(��rfI0��V���kB����$�L�.60�iJ�r3�d��G%��,H�j6`�I$h�€�и�L�H�>�e\#�A&��.n��(\��鉦M4�-��(��2T��O۹I�Ek=�s�[[i,V�2��K���ƦW4�W�fs�&(E,G�HI$��*1���1$�W��ǵG�)>�O�Q��l��3���-��T��)
�%�1���-��Ox���ԄF���JS��`�Ԡ��*�M=h��ҕ�H����n����03�C%�ݮ��(��$`�	�I��Vr�]���"0�CE�	��(ns�NI4�OA@e8�m=�ꯜ�ji\�>1@1 ���iwoڤ����#ړM�
i�Gq$��U*���
6��4x$
;#�����w��)Av��KS6��˜��3����[Ф�O�R�Y	1L�������I�&�O�htRpk��8�u�jo��b6Nz�O_��6�W�C�����t$��Ed�NQl`�"�\HHq�k'q�q���K�RH���0��]�>6�����2�'����[&��rI�(�T�!�ֽ7����ԅ���$����~U�T�KE���H滎�f�����a��$^9�-2kۋRbF�o����>��K*m�����Th��6/�a?�!�e� EnZ!�뎵7�Oi3�.�8�g_�B2�ֽYJ�����.��.�_M%�Ů��ϧ�����29<�s�'�Zg�4�����\�L��;�qJ�}��G'�RW��ڴ�,�	�I S�A6��G��rm�,���L��{�UF��lz�u���J�݊P���,xGT��.�+E��lG��
���:��R6�	��[��+)�=k��n	�"8i��n�_ƞ��[Ò�{���y���Q^'%���$��-�f>d``+��TU�+�gL^�����"��_�Z��)F�O<T�O�󝇮+h�Y�䞅���G�|)�i��U��U�)�j�u�k�>��>�w���X�������i�ȓ�����PN�o%����	�Im3� 5���sջo�?�9��uR�ޡ�Vv��ǟx�5Ca|-e�L�)d��=�ꦑ�WO���d��}噲�}:�k_����}K��5Ʊ�nj�8�'�_ҽ��wk��9���?J�l��: ���x��l��PZ��s�����6ps����++�:U�!v�E�N��͛��ի��������Z[��|�x�d}��Q�Շ{�XM�Fo�U�um'�>��S��m�="y�k�����_�u]/R0�yZe���b	�Ȭ�E}as�{5�M���D����)��W�&�<�]��<W��V����x�#{W�x~�O�4������#x5�|�I�tҳ��b���ڭ���W�,>��Ҽ�)v�߬ҧ�����?:�
F�����&�e��.��{�[��H�ȥ@��+ήG��յ(e��B���>haԶ|ֵ�W"����v�����Ko,��>LQ��P;��V��}WK��ѡ�K�U��=pGQ��#�����@��6���4�є�m�RzW3q{z|U%���	p>bI�W�
������Y.�"������:�f�RO)�9g>�v��<&�|�y��WSf���$l����8��g�V��@>�j.6^�ncǗ�`���P?��|}����.O`J�V�l�Hgf9�gڒ�LʒN�Ni26I�`T��nj3��D�7<Q�NJ�{_�mʱ��)�Cy1��O�Y�+�u�vڕ����v��9�;Tb��ȉ�W��xo@ּk�=��Ԧ8�3�J�	��Z�|}�%�K{+���&4�bq��=���׳m��0�o���y7���]�€F���?������[kx�1���k�s��58�4��\.�Q��c:bY�6�n���|�j���\��
v��tT�f��d��z�Sm�j����K�+;x���^���%�g��8%A�H🈴�~k�ˏ��+Hbsʪ��V�$�ӱ�%�[�ٙ����	R�i�Z��?y��(�����L֨7$b2����]2�no9;��9}o�_�K����i����'P�����5�Mfqa3���Jr���I�^l!RU�����I���zW��?xM庼��9"C�H��>����5���G�YX��-��An>������MtE5s=U`��#2:�_²�˨Ꚍd�y�.%X"w;�'��?�\�v�Q��}�V����C����|���kʤ�f��t��Y5��2�u(o��9��Vu��d�eU��%���
n����
yPZ�&M�'�w�'?^��o��-�Z����\���O���cw��تT�wl�k�xv{�\�]� �ǀ+�N��<��$��t�n��4�WW�y?��^(��D���!o* T�'Տ��B%���Zyd��F��cqB�jɵӡ�?3mmпsq5��ד��4��A^��g@��Х�o��oH���tֺ)F͊���	|c�f����:���Hg݁�?Jw�|+���B�W�uF�X�����Zβ����$�.��|�Knx\��Y�y�!�b� ����#�kVq_�ڜv�ʁ�+q��zd�T�Q۸Y��߹���+o
�Jo]�~t7n���0U��ۚ�l�<5�
_N�G, gc�ss���؊���tֺ�=NI�)$����{O��y/�kϴ�U�hPǮ8�3ƶ�IQ��Xѡ��Wo����a�9�?���d�Jϝ��A�rךS�;��@���B�pD��:ԯj;O�+��[i��=�����s����7��<k��(LzU��E֑��QQ�e�M����d�H���bA�8Q�{�l��v3J��e�Ykv0�Q㺍��k���c��->��Aql� `Sb��`�;զ�j� ���[�x��t� �`wQ�G8��m&��洷P�:��_ÚΓ�Y�,�i��2�
�&88n�����}q�|.�(Kk��,Sp�hX����ۥrT��V�;�!T�\��ސ�#�5SU�H�,�$Y�<�k���^��Ƴ)���K�X�����r�<����tM"�$��*���4J��M_�G����i-1�P1���
�$��x���}j�R�a�_-��>�X�'�	��PkhUcܽњ�,�,�،������Q��w/~�$rl�Ua���9�P��$M*		�i	�ˏ4�`���0i�B'\6⧶��d����i5q=Q5����|﹇⨡�~hJŽś;����T�>a��8�B�)�?�b8���e�*;�&�қkx-�b�b��ᶷF��j�Hԓ�\Z�XGIi{t.<�_�m��?���—��6��{��W�q��Ǹ��m7�-�Ϥ��-b�7+r�>I��Ǯ==����I�*28���
U��>u����$LeG�v�o��漖�畤v�K�Qd�]�o�%�����"2NX?{	�>U�u��팄�p(a{
eHBiQ�a�0��9�:̶?h�'M�A<�*|��9.��z�K	I�CFc���l���I{"Cm�3}ԍr��!�Q��D�.Vө^r�!�֟ei}�O�Y[�Ād��Qt��К	�9c1��2�T^i#�
�\km�NA#�B9/�֝�&b\
��u�X�q@��{�Xm�0^;ԏ�ciϮi 4���@g�BF�8�Q��)q�k�UʐA��s�4�1���
�ʞcI#<�]س�<�Ld����i�l���ȩ��G� 8<�*�;ۊr��@X�8� ��@ƒ��N�=��E4�U����@�z����n�Z�,o�����FѰ�U�&��9��%�����[�=��x��x>R,���@�tA�
���K�� 8��I��«�~utf�v�ׯ�S"���HM��Ի�9�N��v+���S�e�?c�^1M�@����'��z��t���<�]���9�|EG
Rqխ���q�i���3Ī��Դ��OSoi�F2�0~k����3�f�ʖۜ���xf�N��0����l{zW�kV��>#�K=�d���	<���u9�.4�^�	�Kh�������m�2ø���hz�����ڌ(��i �=T�b��-M7��D��.������@�h���m�Y�u5.��xj�a�����r$$��G��P�+mߛb�|�vw���Co���Ӭ���
7�&#��Ie��F�m���(��Ñ���S	I�+{�ʛm�7�-%ͅ�:^���K`A�Eq�,�֚'���3	�o"pX����hs#���y���z������5���r*\Ň�L���d�"�$k�j� e����z��h�]�X��5��ci}����@��c=Oz�mo/-um1&�m�Y_.q���ӵX���g�Z�I�����ݽ��X�&�4d'�W��?��5Xa�lY,� (�\���=�h���]����0���ڤ���@�A��E�oC��ν� �K�|W`0�b�
+��O�3n2^[����>,�U���ț��ڡ?���}k�>xY��I��ǐWw��5�
~�2m�.�������jV���#I"�(������W�=�K-�=SRh�� ��2}=+�#w�KFL�.k�c���~�7����GS��=�9Px�W5��x�[��{��X�"6�"��T�����\���ԧ�ir����#b1�A�f����2ѝgI"�Ka��bx�GR-Z�=�ju#o'�<g�;V���u�$�]�P/$ן�x�����J�Hnf��ʖ<dО8���O��r�ݙ״������E�R��e��f_�pP��Z��P�];X����\S7�����ךҥ?eʯ�}g��7<�6����ڬ��=�����������k�%}1"iY�d=6��5�4�� �7�s��oi��iq�H��A}6�
Eor^ʛCc�'����:�ƻ�[6�א�n��8�]D��rņZ�[��&�j-,��0�޴��E<
�4Kp�cF&D���&fQ���F0}�`���S��F�J��@��5Ey���t��]�g�{b���S�< �a�w|������֛b�]�/�3��f�CGJ�8���8��0HŽKLV�l��N����HPŝ�{��^�Lm�g���2M�k�~p͓���ʭ��{_QO�=���7���amV�P��Ѩ]�p:z׏��Z��X��	q��h�۷H�#�}kEޗӢ3�Ӳ۠���e|��I��&��H��ײir�n��I)i�Ň��s�9�󬨨��g�.�oS�5������C��+/,���C��� ���l%�.⾸�1`��]тj"�oH�dcY��w:����jr��!�5�O���S���l*���V��WүcI��1	`b�L���ߓ���$����{�Q]�g���X�Z}���2ᘎ�=�k��ύ�|�y0*��˷��zd���o2Q�C�6�Dx��|#��K4�%ԄhťeS��l���蚗��=�~ӭd�>�3��<�"����N-su}v
��E��̳�ۛ|/)��ӵ\��ͻ�jZ���U��&���Ǖ�]59Oi���;K�\ػt��G@7������:�o�U�ݱ���8'�"�u��in�T��G����#��
�V��`fvl��?��4�?���x��ə�S�aO�ld
%&�}�r�}{�xN����Ms4pL����4����Q��ڽ���F��H&�'گ	�g}�>§
UM>�f]*���c��޼� �㱱�=�yh۰�B9c�z����
>K]N���1�)Wڏ'o^R:�WVW�V�1��7cw\׼2|'�����@�C#={t�?�<%���u�kU2Cc)`d��8�{�k��JZv���JI�~#��=�V���yWG�x�\�΅=����������q���<WB���[ht�<*Ǥ�N&�rn�%/�.��X�������9��&��(�=Z�`�d��1�:'�WQ�
���i�I(L��|ǜV���q��6�F�=��aH�b���z.����B���8�v�����l��Q�;^ێ?N��������)

�#��W�$�̷}��Q��w�J��\Cr�"�$��+��<g�x�n�X�"E��u
�I�����|��\Z挬uO�0�m�#У�`��w�?Ҽh�s'�s�-�9b}�+ފ剄,O
����E����hy�9��Z�D����Yjٛ���y�iDi�Y�B�m���ŭ��),��o	)ʷnj�Lj�ė͸K{�؜��\�Z�DB�7۷�L�l�1�ߞ�ZK�X�J䳰Pg��:�r�П���𸸆�T��hm��D�x��֬�.{��;M�.�Yt���#@�3�Kd~��c9sG���ȥ5�pKq���F�$��\�Ӽ��X��]'t:q�M$�7Ը�r�����,��bm"��S���r=:U���
.�}��u�^�KͲΖa�4�N����bZ�^#׾�n��#�I��Λ�S:k[w1fF��HXhأ+uP���ݫ|�f�4�AB��$��<��P=;Rb%����d�9w`�'�����O����c5��el�¥�[
�MQ����ON2�mʑ��TcX��T��RL��1�@���h+ٕH�s��>%kz[Xȶ���,��ҡ����I7K*��
��+�j�|�n�'���A��䓳�Iiܧi+[�I��{T��K;�*r�?w�N�&QM�ܸ�γy��jl�Gso�Y�s�{��Mu<Q���$g�`���9�'M�'؅>�.y#'4�<U�7\Ӗw@pq�o�P��'�.4�B���Y"fRG=A�rKren���Ot�fY&��������vs�i�O`���[P2�DU��vX߆PG�L�k2dž�it=n�4Vx	�F����Ky+D�4i“��$�?� ���TF>`��Wm�[�(��J�H˵��"��ub䯡s��u��ռ���Ԗ���8ʱ���(?�4EYXiYXFE��9
��N�$
0RP1�4�V�
9#&��#�;��.{����x�"	@✲u=���{Ny➯�J���	�@�'9�H�#}*��@�Q�HG�:ĊO2�!�@	��HK�n�'$��h+�h���ޔ,k�zB�*<51�X��<Z�h˼����La�$�}@�R�F��[(w�탃��"
�
ą��٭7)#y���&H=�5W^]�����璣�&�	��+jr+}�M�>�W-v�C�M�RELw&E����J[�jl��� �o:����k*��^Et=Q<My�jt�$�HR6`p�Z޽�x-�	��r|���]�;�b�D�wV��>"�:�m�ZX�V�!I��A��|c����
���r�������M�Y�b���������kN�̑�1��w���x�8"�,�����i�g�#���W����7mZ)Z:nrW�#�<H�g����7��,�;�����p��m�y�:��A�x�C�8�:�gg�xo��[H�t��H܍�W'�W��rMkH�&�7�.'�Q~�����^�"��E^�GC��u����?��ˆ8[G	n�u�,�:Dks��� ��Mt�ٴ���&�����iKa�+��m�
+�;ֹм�\��C�uq���	�l1?9�a.�hFS�wj�o9�P�S�Ȇ�=������B�I�UB�đȯG�޹��}}��G&����Ro��XKc͕�V��Oa�t�����My-���f;X����O6R��pu�5$��S�#u�d:�ֵO�}�ڲ}�Dv�˴z�t�@t�%�Ωb��ߋ��,��@?���w�w{�1��ޯ�CS�7��Ѣ���溾kʀ��ׯ5�௉cE��Y�-N1�ME$�ili��;�
x�?�]Ƌ�y,"g$��1��[��:��<L\M$�9��A���CV�{�͜�g�|6�q��S����/T�&J؎��[��.�2x�䐝��?ּ�VU���z��(ʦ�^����3���+��Xw��c<��piug-�j��c�E����T:|�5�''�����x
5�YL�B�&B��M�A�~��s ����>݅Ő�W�YNNx�k\L5u�t7+�x�M���5@���!�s�OzX-�u;���I���s�r���Qu$�n$[kjz7��Geq���&PAKc��k�.����u������_�̛�vC,�7I��\�
�M���ߨȌ�`�=�o�w9�Q�Y.\����R3X&;W�_�">��H:{��<�,��q�$��38}��У5L[^�4�8*_�2��X����d�
:�O&����>�f5�(�K�eX��r{�}Ā�P�H���JIʳ0#�_���4W8R{�s�Ұ�hq<�g�B���`VJn$��Q��pg��H��F��-$�"���?@|��_N�{��&.
��+���x����Y{�y\<H�"�� �e���:W3i�jڅ���gg-Ŭ�ى����U�}z�uhս����1�/��%���+��c�Aw�ZP��	胨c�}�9son�)8B˩JFx�h��)�cyu���Νu/�l��-�ֵi)�yls�<��u�L��܀0��*߆�x�u+�H���H�X��qrxO_³Qmy��ݳ5��ּ��\�mi���̿)�
Ǡ3��Y<My�X�Cyak���,��[<2��ڴnRi>�
/edP�k)�T7:��� �J۟��fdz��J�����]�����N�4��j�A��q䙰ұ��Ƽ�!u�2j++���cI7O�{p�0Iy%s�=ꄓ�p�,�m��J�^�}�T�H�$`���@a�P��zWE��N?�5޽&���u��ubq�z(�秽v��?�.5
?J
5��p	��[��Z�c��
���i}�w���e!��̻�<����_�����у��
$̫��v�w��*:��-|H����+u{-E~I�eԯU�Q^s>�<��y�5��&&�w�7ͫ���$���f���\���0a��,�9�[�GOν2��*h^
��.�]�X���D:|��Z{;�U)?�g��M�
�����<�x��G�]��L����c�ǟ\U��ע*+�?#̼$���z~�y{c-�Q�6$ħ��^���Z����6�2�����n�H�g;��?
C���F�Jz2�޿^���k��Ⱥ�ԑ��|�0�Z��C�~�i��t���8k�0���	J��V"G��7�aں��EӴ�{���9)�1����qᠧS�o���q��f�&��s^<��ypM��<�gL��|�?���-���w2�H�9�9&��'?$�G�~m~�W��Ӿԝ�V�Mn-��E��L�q�g�8��l�YѴF��71Z��Y^�âs]�����%wߌDg%��I�OF�=+)k�B�{]lsz�h�q<�������X�M�i����緐H�xt�maE�v^(׬�H���i�g�ě[) 5��i7����yk
��y3`�%A�k(��3n�2�&��5���$��̌r[�`~u��C�OJړL�$��7r;�ZY.<��^�lF������5�OZ-�+���e��s���2]e���cF�q�bpP����5�ԯ�ě���(x�k
G�/�i����Y$��Ғ���a�1\ⵆ���$��lO~*2�N*�������-��Ԓ���)����Q)(U� �sދ����.�I�pU��IS�W1srZ��h�%c8�Q��y�e��1�w/�R�ʜFӞh(�)W2�`~���|@����� D9 ��1�+9��?��Qm߱˲������ �*?(+�sV�+cR��i�U��|��K��>��<�-)��SR�U�"��e]�h/a��ǥ5�pq�rͺ��+������:e���+��p]�K_ʢq�FS�6ƙ�J0����&����z�$�5�g!sڦ�֝�M41Z5 �qڤ2!O�֦�Y�#wQZ_y�ь(c���N̉�"�*x�ۏ/y<�Q}B�c"�ic�2����I�u�R���+y.B�;�89)�q���!ܡ��i�CדFFh���9#9�
3��i72�
�)�=h֜��@�n�n�h��U�%�7b��4�f�<8&�0G4�0�J��jc@8�3��bH�+g�?a��ɠ*`�ӱ���p0�H"9���i�,���U+ȠB���%W���jk�g���?�*89��b�^ջ�B��]�Ȝ��[���q-�€���t�QʹX���iЙhRy�����!��sۊǒf��c�Q�g=qK�[o9H��S�>����|�o�ǚ�39��#�3Mf
���c=�@��@�k�5��J��/͌ӊM4��#�Z/B�}�W�g�=�������{���v�
��|4�/����X�d%봎x�=�[�t[�����p>��v#��^\�T�N�Ks��mͮ��hXٲ��[�~�|G��5���J)��ɮ�N!y="'fszd3M5�6v��
��ܜ"(�!�	���;m]�����R#yr,C�a��qR�N0��Fe�~F�Ρ�������Q�bg\��U�
CT��C`��09;Ww����3m�U�X��u���D�.7���n^k���B(�I.�X���(��)���[[�)r���x���:q�Mj5ߍ�Y��>��׏�zu��sj6�lf]�OF�\��NJ^��2�u))�5�r!�=���!$��h��
��MVC�[˺u�w),24R)ܮ��ڽ�>9�KY,�i���w��k
Ԕ�/���V�3�TzN����&��H��l�j����2�3k�3c��s��]�+]�4iJ:�3�Iq�C�ٲH����^rCQ|Iӭ�?	%�&�����9�*d����#4��nǓ���]�o�Z�Q�* ��T����Nj$��4�x�s����a���5��W_
Z�-lt��[_�����=��]�ugx�����5]F�F��<e��Y���]s��bյ���;o���7���	��� `8������X��fO;9��OJ��T�w�wnH9nq?�Ak{�i7�|��&9h�Bn\s^_5�iZIX|ǒ{ןZi�R�cTSi�ǯ�*�?�ʹv.B5�G<����W	���8�,m���8�5fP�N�;k�g���^�k]K��WM,��?>�q�9?ʷ<.��
jt�.��ϔ�X�zg���P���z��&*ڽ��_��G�2��;��i7o}a
ĨHન�UJ���i5�4���B��0=ď�`8湋� �$��1Dc� �b6{��,�u“�7d{�*-!|떹+�c�F��c�I)r"�r�(���U�)�t�̇!Nv8�֩�	�B�C��C��~ꎵ[T�yS��U�?ݦ'��Wc�`NDq�w�R��n��;w"rJsQ��𩓰ȳ��s��+�Bc����e���ެ���B������̾(K(S}�b�`A*�00>��7�zEъ	kv9�ۨ���;boѫ�Uo�c��Zm��A�č	�m��2�K�޵����W��
/��X�.�5Y2Į}}
�u�jtr�(൝W�k�W����s1e�Q�T�>���%��
t#d@���I���}D�D�:�_�2˩ڥ���1�'��
�ZҒ�c��&[�#�N~oL*�IR�O�}L%w�fI��ű���0��[zW���</{��a	���K�:�:v�����o��k�77wڇ�/n��v�2�Ž�N��]���{x�k8N�n2�}z�)�[͍�_C"�����V��,j⯩IY\��d�!1��E�An��'ڻ�zե��w��pŀ��Q*�h���#�����m��N��f�0=�Rs���֞E!��z��Ύ���(F6��a!�8�
Ӧ�2���l5�ĺ�f,���@rb9��_j�Lj��[�nuɉ̧��;
猤�/R��۽�����N��U��������n��q۞�k��sswe�(�mv�	���=�MtA+����:��Z$Zτeޛ�݄�A�P:�y�
kw��"��L���Jv��p85[���
�I�^��xK�6��
+]̓=��H�_Oj��,q�[Zi�:�G'�V�t4�ܷ�l(鷥y��-Na�G�YA-��.<ʼnK�� R��;v5��~��[xn�[�>!��8��Y}�&��h��Gs����7GJ
�ּ�g���E��dj��S��i��%��ov@��:�	��k�]�Q��jbԥ��r���=#�)�q�m}N�7���=>/�di!�[�I�W�S��O�bq��'�n��\����
�Ԫ��0<}+*tcNO�X�8��}4#��O�6�h�H$���1�9U��v���g@��m���۱�s�@�;��&>�������*�`pA"����Z�͡>o&,p�+�"�UK��i�	#�jhi.�w���%���=�׉�c�x��uiQ�	�8�T{�֡&J�ɘy9�#lpޕM�
��tS�-�Kc�͌�����F�5Mo����B�G"�2�gМ��Fk�n�˪��}{#3���?���r�[Ij���,�*���k�������]G���E����"��2�^��6*�{�&�r�	;O�]]�z��oR����)Ə�mP�μ�P���,p9]B�I����HS����ò�5����;rE.2�GSG�H�.H��a��}̾\�q����&�Ȧ2pi���8��<�@���J��d�!�6�9��$�40A����@�)�؜�,�y�D�RR1��J�����Tn�g���8������C���B�<ԗ�(�$���;�$R��X�[(�e��Q�(�Z_��杬�"��Cj{�ڄ�9;:#��9�H��0kD[��8�5�2�R�o$L��8��]e%�}�+j-/�U��*���=he�3n�*6R��S��q%��F*H �ҚC0�=h��<���M�u��h01J��Ni
x�brpO80搘�(
���@Z	,�s���.���h��A���1�T
:Ӂ�n�R�n����RoMÚ��;au��+	�iD�qL,#�ep0J��Ha��F�M f=�M����3L�k[�H%բB��q�­����t��}�)el0>Z��tw,C`�oZ��I
Z5f��*���"��3�k'Tpu����[���&�)�w!$�>��|L�<)�H2���H;�(`��x�B}jZ����1��]bn�i���%>T�{ֻ5�6
����1�>��,V��������!���^>.U�R<�P_�2�k���|7���	���/(v=G5�'�5	��(����3H�{U(JS�幗AOD�x�4(����*�;�B�����ʼ�D��]��<.9��۟�i
��ʚ�%�&*���nf�a��x���F�F+��egi.�<���_8V^�sW���Q��-�#�n��m�N�@�g�:����$ײ��w�WEi�
��R�Vr��m��^���u�ZN&�@#=>�k�s]/�M���[\�^q^UD�'��9�v�.̿���[S�U�-�Z�?�29����?Z��/�u��˲�+�h]d�7l2����]��MEn�G^�<�X�L<\:�=1O1�BW�[�����m;]y��5Tn���E���ݜ�9�ѿ�9
U�3�='�~?�N���/���	5��K�f�?�z%ޤ�(�ᵻ�����?��)�[��Ù�4y��B��R�ҍJ%P�?*�q�}:��|F<A�-��S�ƈ~I�a����L����Vn6����F�^��n^Ӭ4Z{{X$��G
3l =u�h0i�c�j���!����]t9eN�M�4m4�#7V�E�,I���|��
�q`�����_��E-�K�h;X7��
���V��d���۔mex��~!A�I,�=
Rw��p���v�����V�]0<��mm����*�u�$~��%'(�w#����~��ŗf&�;x0�s�������m�u�_���b�GX�s���QQ��4T�_[<g�_x{PMJ��{-Q ��T�w9�ɪ��[k�m4�ma��Hf\�{沩RQ����g'ʮ�Kb(�B��iO3�HFS� �n?J��z�ѹ��P���b2Y8a�c���kJ���J���_��&�/^�UPF�V�+h#��H�H��=+z^�2�7}��3M��Y0�����a]2M{4���$�{W\N����iswjw	�&�[B`��8 r}�T�2�]���Y�#5�-�6�	�S+�Q�)۠��������(?���݇��1�bL(�MX�f��e�G��Tʨҡ�J����M��LR���qH=Mb�v1�?*�O���Z���bpYZ ��3��I�7i?���Z̃[OCq#]�q�]�(�2g;*���<y��'�U�HVR����Xv�θ!M�i�5��s���Y�zG��
��L�l+Y�
�Us��h7W�YA{0cUǛ��]Ӷ�e��>v�=�j�����ƭPt��}��T&�G��ф!c�8\}Oz䖪�vл#�ia�x,�U�����O�mkZ-�~�H��Էkw(���w���s��c'�h�1ˉ�Q�!���l�ahʸE������Q\��3�o�˚/W,-�Z#�����&���L�F3�
3��ȯ���#L��v�i
�6����,hj�Iz��[�-\0sR�d�i�?���5�z|�{X�?��� ��֍�u��:����>qQ�s&�H>ԛb�Y?�&?Ҧ�<	�x�U[+;I�\�K��j��g�4��O]5�c��n|
�ĺ�wiq(�&ͬ3��+����d���6�2*�z��W����uE�O�M$r9��<�ߕY�ι�x�f�D���Q�ۆ�OƲ����U��Rn��g�~��V��W|a�c��S�~yRO��9�e�ƅ�hZkE�±[3g*r����+.��E;Z�_CB�5����be鞣�|�/�����<�B��z{QV|�~aV\�>���h�{|�8bʏ�d�S�iIa�C��܂���}Y7n7�fj�����y&�Ѷ�I>��'��j�W7w��$$d�~�¢�xG}K�������Lִ�u
i�Y��R¸ �/�J�����Ӆ��o��[[�n�(KH}\�oZ�8�t]L�g����i�7>}Z��1x�T�B{`�Z��?��w����\\\ۀa
�3�V4i�t����%7e�oVi|g��o���Z?���y@�:g�k���xotiV{�Rc�଎���N+��T��m'/��]�����j���'����reNݒl�#���8��ů�v�4�
��4�]d��(�-�G��r�w��ݜ�}�G(fi엡#*x5^��e]�_3]�J�[3X��̓q�	C�+���M�$�k{����c���w�Z<��sy�`���RlOC'�VPv�E#( `�Mj4hi����i$w�����9F�+��~(j�::kAn4�"C����/��sԧ��e8�gn����Zw�
P�i�PK"���q��rk��&���·W^z��9�?3H��g���{u%���F�펦�m��ia`���+T�	����
��
i<1Y��ʥC�H�㯸�k�6b'x�Iq���௵4��vg�:$�=j��$^Qx�V���fe�~�|����!��7�ڒtNi�*��I(�����b���a�"����w�1PVB3��V��́Lo�qm%�������a��$4��Z`����;
g�*|Êl����H�@'�<T��� f�1[l��i�[*.�i�vЇa���)���ع���$�"����~inU���O!T ��#[����J"�So8�+��6[-wn�P�4��KRt�q����h9�"��t����U'�Ӿ��2���2�����͡���V2,�K��!��*����d�m��7�P�+��RjIZ�ݚ94�gHv9
�T'$�+TR�[�iʏ�b�D�*Z�ٓ@�HS�<�~P����@�[#�q`3��0)X�T�qMi]��[�V~�q�).U3x�}3E�m"���`ҙX�)��n�43K�7�RsH��J:S�K�P0
����FG�
F��z(F��7a��0�<�d���9�W/���Ҵ����`��ʮ{��ؓ;o���巈����F�`�s�:��?i(Y��w?�2qV�0��	."A���*������"P������l�gr7+��=���f� �wV�@35��D� �n�P6ޓ<�)=(8&�?_�i�����$���+u��S���	`o���5���܆k��eR�p�y����������uG��F:�fxI�!ܬGoz�4]z����a�u�e�?�XN.3M�ey��ҵ�{�o�%�5?�2��GJ�9��&�‚��y����iW�UŴ�'g�\�3U�iJ�sn�v���5�SA���'G�m�m��Ac%�����х���{���u����[<�A*	=My�Ƈs�&y�/Lhe�"���C��rb�?u裫.Q��Q�6�]�4K�>8��
�Ջt�y.������쪆�v����0>�����:r�ʭ�ZX�|7���bu8n�{�o2�}��]Ժ\pZnyH�e#��z���.���u��|
�[�27��.�{������	�7<���7q:���T�
��L
�-�bX\�}E1X���Z"6s��Fv)`����x�c�5�[k[9��k'
��yU^���}Y����8q-��쥸ȼ;���۴;�$�੐�}k^'ԭ�R�2��v�L�-rU��Y�����-r�V��7� Q�<�n�'X���jkL�#|qr�3߽Uz��o�R�T��ɞ�esio��st-퐦�8�u�wW�|� �Ե
JY-��8	�@���^�;��_T�G]H��-���ŕě,��%�>9l�繩-t�}��5�6�T���磀�;�?�k
T���#Ӡ�o��O
Z[\��rc��;��v ���[Zo�;]#F���Q�d=	�Z��ۯFT]޺�b���s�:7����=��bx�9�׬�3X����{�>I.��{�:�Ss�h$������<]e�ۼW}��4,d�o_q�潚=v��%�ISD$BH��]�т�ю��P���$��H��Ɲ���W`��:��k����UO�֊QV�v{2�(�c���d�� �����11�m~�X���8�G�9?�t�b�b�^~�pda��B�����v1`�RB1��6S�IU0��Q�lv�Pj!�x���U��дܖb\�,�Ŀ!�S�%�V��(���6w1^j>C`����P�N��pI52c��$�I�<�L���o����$�`�&�`�^��w�|O�e��W���9+g�Q�����'W���oc��y��x��8-�R%������ھ��5��{�{(#�I�t��>�vղ�"��p���q����m$����v���0�w�
���F�f�#ǿ��[T#��}��eRWVZ�7%��D��G����Š�<�琧�2B[_�R�u�	"E1�*G|z���0x?Z{�I��Y ���.;�<qXգ�uwјՏ:N�3����,��$p��58=�l�o���F+��5MYuܸ�Ei�7<�q�oYj��(�$�:�=��^��ߊ�<���ȸY����H��g�#ڷr���˧�y�Z$}�-4�,���Np1T��p���B�'��g{��2���N����) ����`��+�zƯit�X�[_y��J��7�mR՞�꺧�4{�?O���ޜ!�wr2y��:}��-̳7�G,®+K�ˌ,�M�Aȏ.�n2o��W�K����*]YgJ�f�oR��G�B�p���>,��B��]v��J�&r�6�TԵ�Ҭ���ݥ�!
�@���~!֥ҵ;K&��S�%nFFx5��i��q�='�Z�������tvS��5�	MK���,��79�c�n�\*6��s���V�U{��ɯ*���u�j�v;_��-~�\F�����&�).���)-,d�-��� �t�L�ӝno���X��}z��n+��r�I�Ƙ��>�W%%�*4�-̢����u��`��1L��i��f�0~{b>\����[M)��z��cy�V�c=��pr=i�.2�Dj�g�!����D�aK��"ȷ{�8�y��jk;���4�1�7��*:�n@�<֜��W�&���Rx�ĒxJ��T�6�]�/�h�>�ּ�����C��WZ����1�������S�#;����j�f�խ�k���T�\g�-�K���Z�~���z��w۠�_���}�}+έ)�F:��j��Z�<�����Ž�꿚Һ�;׵OH%�jwR^�DY!r�:��Uy�;c4�I�n4i��]T��p�j~t#?x~{Oԥ�J�&V5�BC��������A-W���-�8��`i��.�g%��%*�D6��h���YcS����T��7�K�4[�xӤ�sg,rG���OԊ��a����۠!�rq�Wm�Bլ�k�g���@�Öw`S��(�մ�Z���Mb�Q�ҵ�"}�)�cd*�²-��F��Z�(��}�njsZ="\�6�C1v�2zx�V�P�-oHe`r}h�2�Rz�
����yna_~uv�K{�[��$)*�A�Zw4��T�|���&>V{��W�c��8�����+�Yp	
5Kzؗ.�S��i�q5F�~�U�T��KxD���I�����s<�ٙA�P�cI-��7T�
���\��)Q>lE�U���sO`�M���ޓ����E��U��z
vw�Ĩ�8Ԋ�ːU}{���cGl�d��:
c��z�&���(lw��{+�IܽFsN�^�^��ș��* @?7J��ϓ��RG3+T��в�̀�� �M�T�K�������#5$7�˾&(�ӽ�'v\nZW�f98~�[<�����v̓�?Z�/��ߩ���7ghho�s�P%9�b�����JZ	��@M;8�9�b�jo+ށX�6=�\[�����>T��=j$��g��1��^���<�GZq�Qž�l��b����P�2�2�%�
�@�.h� ҷ)�Z��jcsK���"[�"Y��4�+�kuU�S#�z��`X�(��G�M�DN�Qǭ1�C�A@��s�M��8#��h��ǀ��x��g�퐔V'Eh��o$��y�"��5qZ��sdW6�`�s��?�Չ$��.עLŕE[2�Ȧ)O��h�b
Q�dYV7_�>�/a�3�!#�DõH�����e�AI�?�:�m��������ņ�m4�'@b�22>�Ⲵ_F�'�'���'p���2�����V��.��4��K��iZ�,����g�nu�k��5������U�Q�Zg%���^}j�sV�-YR���v��0���R���H�D��N����~!�Q�]����!媕?Q]t�d�ܛz����� �`��`����)��7����{H��f��޻�W�*z�ͱNJ.�,r���a�4�iz�|�,���j?��H������,�K��rEy�S��W5�d*�����<%�j:�@<����e�;p)o����j:��̪��clG�w���Ti������:p�އ%c{���[^�װ�p9����s�H�J��x���նZt2w��kCXr���ʤ�q�][[і{T�B�]J��c�񟄯�%{wh���)��=���g+���ZwV�b�m�fUcW��A)�x�eH�bA,,
ҽ�~*�տ���C��"�r���S�d�����U ��;��h�#�D�TF�d��9�s\Ƶ⋍'Kk�,e��+� w{�;q�ם����h�x��������E5��յު���˼E吨}?�UmrȢ�abl�N|�9�� �:Ά4W*�*	|ΓP��$M7M�D���WR>q�>�ޱ�Wa�Auz�i�l��n���p;WS�ܔ��m��[��/[i^�u=���Ip.m�I$���c�ns�Z�u�E-u�>b�٥���X�;���ު�NX��
�{�N{N�E�xf8��aN�2�#
�k��o*�d�l�?�c�g��+n��V�m��^"\�����z�y�U%��5)��2�q!�G�'�WTZ��#ki{�M�Y��!_1J�~5�
��?�w�O$�2B͒tۯ�2�����6cR���3O��T)�Mfd���;G���vџ�]>�#�ġ>o*6n��Z��6�A�GM
a~�;1H��`��y���+��|���!�Nq�z�4��eb���`�=��w!d�K���9�*��3{��.A���8��#d�OV"����?w�p��;wO#]��f�6�=�g�y���
:�������FI�;�e�j�Tm����1����+6R;
�|,���/ڮ%[B��FH�s���V5���Y�+�^Yf��##G��9�'?Z围l���A�ω�Z��hz|+a6
,��@3���Q�x����o��ы
2���FTלw�e'(��yl�7�^��S�"'�}j&9�JPVZ�V�H�_$`��dH�d��=}։.���Nl˖�M0J�c�4�J�ę���:kE�GJb��u|�s��j��C0�(Y��%��v��SU�����R��䌰?_Oj��gl��G���q�B�Q�<O���ԟl�uHS<�p>���~X�N��y�\jC���#�ie~�Q�\�Euwk<�-nŗ�F*;���G�`�L�����pՒ��v�h~ko�����
�,G�uKxq�eUb;y?�e-���j^� ����{I�R�꾤����U�|i�s�����������?�j�59��k3J��Gae�I���Y�:��V�
��Lzg�'�t���=>�8�6����n����y��W·��i7�r��f,I�+�u?�k� y��ńwM$j�����>�\�?�;���[°i:e���Fs��_����]+_�P�fX&��#w!�R���5n��F̚ݬ:�����=���m�5<�ֲ.�K˵u����5�Q�>_V=ϽrӋ���3[�XQ����_�UrH�׆t+]Py�q�g�b���Wӡ���>]sk�R��'���nN�y�ۄa�à���.�)�4�m�l6�-󣏡��O�C{ߩ���:��Ĺ�=�K��`s#L�e��d����\����.�H���.�	�N��G���SMr�[��Z^�.�ִ�"��CN��1,1�{g�|(�tM;�3İ�	G�r\�v0�9�EaMET�z�쉌��gk���4��o�;�
���JK���N����5φ� �OC�A��֌��wEƢ�j=	!uȓz�=OP+CR��-�vע�6�dT�3銧+4�)Y�Ȼ
�@�-�hC㣮
Z��;@ʬr���ږI6�lQ�P��<~�,��V���Jy.-�i)8�:�H��2Fvv
���'�6��^��E�t[I��AVX�ᕱ�v�ZҴ��ιia�jq��.0���"������?<9w�?X�i�h�P�;�Kp��9�I�^xg�Z�x�;i���b�J��g�gRm�-RݗSG�9/�v�K��Z���5��ZƠ`�n���wi����Q%��[��ǥoNZja�9�w���>Y��ԋx�m
ݹt�<�=Ž��QKUԻh7R��8��W��9��.��❋q�j��V؎G����j:��3��V�����F�QZ�c�I�ZXB&�)�ɴE9� w��O|�?�'�K����ya�����na������I��Fb��_
�H�n�Y���C S��O�e~�w%�H�hPW�i��)E�>��;65�\��Ur	$��
FÔ�
8n���)�)Y��:/2���Ԛvd�r��$�8���h����i�W%q@2�,o��S+��,Ln&=E5T��5�zd�G*��1"#�U�کO(iIm���1��Џ#<օ���,,�������q��U�B�atf$�z�m��I��(� ���.d��Cبm���z�J���CJ�N(�0T���Rr6�Ž��ڨc�R�{y�cf�%Ԏ6����KW���52H;�
%Oz�%T�LI���'�M��AL�	���p(��i	ny�$����N�R}��@)XCgq�R�V�'�P{cHG8�3�)��Ĝ�hQ��j<�lղ�.�\�����ín݂����cnG��V�����7$�r7P��v�+���#�Z��˩Y��ݤ�q��	bq��R�2ܐ��7yn��C����.Gn�7�x�jd$1� ��R~@z���h�>���Ӟu�8���~�&���u�{�{��b��-�*Ǔ�ӯj�*��rm%��rI����^ZImvtY�p,���C�۽v�6�֔�kQ����[u;QO`}����R���u�qz?ë�_œ��0hb�*��/`1ҵ�"|4�Ѽ?��F�E���F2�T'cֺ���V
�i�[s�ۥ��푠{k�/C8e*�ӵz�����oD�9��I��߭c<<q	6ݡ��T�M6��i��[V/5���.�~����n��.�׹�K(� \6�]�*Im��n)$ֿ$���*�4�؜`nu?��w��R� ������h��>��k*�m4�KvS��h����{�ֺE�
�4�G�wm��Ef|:�R�ϟQ��i�3����H�>�����=ZԎ[$�d���`�s��F�c���!�R��Ksa���ɒ�(�@�N���w}N�N��W��k���Έ}���/���ɖ��?J�(�A�ZD�s��E�Y��[sgov�+尹����U!H�K+��ͽܶ�s�ܖ!��	�)=�E�Žƣ=ݦ�b�g�]�r'�ϩ�+���JJ״N)�%���4�\=���w���Fe�w��5��L�����h����l��b;����ښS��mF(����N��� ���,t!9�Ÿ��2|�����+�:^�o�O4�.�{zi�҃��������j:st���V��=7E���;�����ɯ;��t�z�͡A����@2��Aʳ��)io4SJZ�GU������q$a�9�8�[�\���[}��a�KQ���t�=�V�F��i��l�8-"���ṑ���ȶ�sv���<y(s��*�����;ɭ���M[�\�&�֫ƞ$��F	�P�WAg������0 ϖ��p�p�JT�)))���N���Z������Y�,���?��uL$w2� v��'��z�y"�����aH��9/��I�8f�"��k�|�Q�R5�I�Mn�e1���.F�S��Q<K�iy.(<�s`
�;�����dG�4hs؟��g�0+t�|ܳx�})�Y�s��Y0e# g�e�H�`�-���d֢�5-\�!幦7�5�e!����Ͳ�����$+����>��Z��kn�r1�0���m_�%��!ԯ�o���v��G��$Z��Y�����[ۉ`��8]�}@�N��f�������c�GJ��rz��Sۊ���5>CE��1�Gn)�zUƢ��/5�C#����g�&�
V�ri:��6YNC�t;}G���^�НÙ1�a����@Nի���u��8|��,d�)����|��n`����v��\��/
j�i ���Vha�Y��:��2|ZФ��HY!c��'=*���m�Pn�3��U��~�.�J��?�-vY�l[Ù'�܁F�Sz#�~�Mk�z��*�k��p=p����"(�l���&�����<K{V�޺�KWZL��'�I���x�~ 6�5�ijG�F�om#p���ǡ�c({�G?',��f�5��u9�K;ݫI3��I���d�Ѯ��w�=1]1�֟���M׈�}��.�V�ӷ�|� ~������V�A\H'P#�xLh޻sָe?���f�%���f,1$��`���Z�w�OMİ��]�=���le�^/��C�rd;Bs�}Mc*n�F2M+������-�ck�7�9����>��2Swm"��I$sDA[��*{{�5.�2�&�f�����R�Q��Y� E�q�E�� �+��$e�d���C�[��΍eiw�[�공����L0
|�x�I,F��[u���P�x>ի�%�4t?_�2��+j'_��A�1��F���<����K;g9c��7���s�RFJ���,�eu��^���Cnmm�0�(�ʹ�׾?:�it��-�6[����+eY"3�3XR�)�^�}L�	];.î�[��n�;u��yQ�*{LځI5�M_Wв��&c�!��D-��5��]���۶~e?�Er�Oҝ�-j0HUz�T�<1����+Kq�s��S-����æk!�fM6���VGv�	>�i�Ec��~��O	q5�I�E�:��ҳO�PIoЏ�;��[�N�i1@����3L��{[��m�E<g�R �x���O�3�-n�}sW�����Щ��YOb+�t�'W���}P[X�w��~���
tv��2r��˩��ա֮?���q��'޴o���2��3���`x�o�SI#����-$�ؠ}�j[�+�|��d�����N+A��Ӊ��G�"�����[��8�-��|��jH�$�3�ǀsSa=5![V7��k���ݐ��g9le��u�jʁH�F\g�R�� �v��N�Ss�<���I�VL��Q�c���TK����J��M�ǩ��5�(��~�-w�h>��ML�������5�!��i�Bo9�.���ۏLSUsǭhn�i~��R`;pS�j��w��#x��iP3t�Յ{�#���V���,����_��{
[;v�
��Ͳ:,���I���3�\J�pI<Vv�w�cA�;��p&�Y���I�q�N�Fv�Y�_��,���v��,+��Ӳ�j�Ż� V�ҋc`�I!�T��prE#*���;�E�l��҄���٩�3}�P	ɤ�ƅۊy��&�l�/��Q0;p�4h���f��{T�<��<�w�(��m68����i7(��٠�=���)�'�(ҍ��@�����Ҵd#o�o�W���=2X��Ww����5	!!�I�׃�JI[��Zlb\!,�w *s��VV�CzWt���.D�<`�( 0��4�R+�U�⡢��@5*{U
*�z�pW`�n�,��1���ُ�1'v9<Î��e㛍~��qdl�##�㋾3���fm��l�Ŋm+tgEmmnn��o��;��6����"��TZ+ݹ!�Σ/��S~��a�%W�茝B�^��[���8���ˑ��[M��lwB�%ۖR~�B�%���7Sq|�yl���ڑ������w�8�TW��6��\Oaec�fǖ��>��)�Ԕ���q�Rw=wR񹿶6�����#6/�����1�ރ²]�lyZ|��y'��j՟:[Eu	��ݑO��q��5�8.�&�⦺�K���Wwз��Y��G����]�'2]6��<�F�oey��㶞�]��W-�׭xD�"��}((ѡa�B�濾y��K��,}�ƚ���t~$�f�t�E��Tb��F>��h�l�8
��|�jѫ��ҥ����;_ߴw?f���\l���"��I9@B��\W,�=�����c�ڡd`5���c�Ky�n z�Ҫ���xJCem=����ۊ�%�z�]����r�[�V��5�����0 g o£�+ɫ��3�E/v�	�ៈ�@��k��/�Jۼ���ںoi�]�n\�y�ݯ�-����g��8*��L��-��9�\�Z�3��y��p���z6��w�Q�úG��,�uy[�&�dn��+�TR���2�>g�۱��]6�}Y�K[��Ep��*0����y/u�|	e��Ǯ)rZW���D]3<i�bq�'�����ޅ�I,����/8-�+Z^�#/���o���3m>�����b�d��ˇ��>��$a��z
K�OM~���.X��Mb�.�M*������`[a���m�-�9(VGϗ'`}��/H�u}k[]IVp��M9���u*I�r{��uL��F�<��\	bL�/o�v>�g��wwo>�����>E�}qY��	6�F�*��^�ޔ]�	fm����Jǒ�g�Vc� z�i�+�sܚ����Xkry�c��L�7T��^��R=�U��9���S��Ecu�[��Y--]�߀���S\��4��Abs�ֹ��'�gK�!R'�Z�544��#n�%"������c=�̀�S����И2�u���1�#����J�iXϫ^ڄ��綷8��%c'�N��i�$�巃�"�R��&Zq�m�I+� 2�����w�s�6E

�BOLw���(������˞*V�U�=2���[��.��tIu_X��~�ɓ�`��B��M�n���'�SD���M��Aד���>��7�<����d��A�����ތ��<�i��ı�jk��{Ȟ��H18��#9\u>�ʹ��"��T��m ԰3�ڨ�q�8���4i5��C����ȯwѼO6��Ӯ�x���~��_RE%&���/�^��x6o�U����wr%,�*d8�dzWc���L�D��l�����K��s��\̋��xJ��d�sZz�u�f-8�,-*�? 3]����{��On�"�cg#��[������`{V�+�z���{��$y�^is�4�-�t�[j�k�	�d����ƲqV-A(���OK���w�����s���巚h�x�Y��g�����]��`�|ӂ튿�Ƒ���H�R8�����2��)v=;��m����JdQ�;R~H�����C�u��dž�&�2%xSj9�w������(myi'�9]>��qo;Eq�����躕ޛ=����Z�7;�<�R��U�+߿Q��ԩ��Ȓs���u=Yo.����m���!�����M�_R�ܐx4�0���p�9�EG#y͸��
�F�md�D�6��m�3隚m6��O��kw[I�K�%�)\9����v�χuf����:1%�
'��X>������k�n��!i����W:t��+6�A���KK���̘�E�<s��SM����=��Ln��?��#n�y��TBI�$�г�'�/�x�P
�Sl%~���N�^����j:[�׶�i�2[9���Ǯ3��U%�%��`ZY��Z�\��2Ƭ�g�㿥t�'�i�����<����~Ub
��FLw�<���#ken�����J�P�ܭ�Ԃ F���[v�ѽ
w�ox���Xr)��dE�@Ŕ�?Ԇ�N(��1�[V��W
��ƕ��z�	�K@���Lw����cRiߪ1��3�T*��c-�V�����28���"�a���M�ަ��!w*=�:
�l4:IFδœ!��POJr6��c�nxU$�a9�4�v�튖2U0��J��4bN��-��<�Ҙ�$�q&3W�{�J++q���Q؀2J�h���As��p�WR6����o�|dcڸ�}����NK^�SO�٤ue�Lu���LԻe��̑1/6�p;�g�	�k~���RFwP~b�Nq�W5j��i�g=f╴�9'{/����@H��'�P}�hJ�M��-]�}ĖB������(�N+:��Yc��S4i�.���1U^sH���<Q��Iq��#Q���;
M����G*��sB��;T�2�Ӛe��a�ؠvw	nϽw�\c�MiL���56���[�{)���e�߭1$%p�Bi����v�?{��mԁ�f�� �2A��D�y��ix�i���]�M!��EEӡ�1�ש���(�P)Z@4u�?���ɶF�5T�"���/im�c�2�~5�Q�^		 ��@��=�c�Y*_��;Ȁ��Q\�jHIG"C�>٪Lͣ�ݖo��E;��8l�����x9�*	=�HC���o��+ll��;�9��#�u{��"&��?�z-��z�,��~U�1V������^N*
�����s�*WOTOo`����]^[�`ˉ�'�H���Í�hv���Q)8�n���9w%:���h�)(ӫ��h�Y�t�o4�����aS�����;�����Rcq>^7#jc�Ӛ��;�����\�K_3��^��<Dҋ�T�*�_\gUo�
,4Oj$I.-�y�l�%����5p��ub�9����W�>RG4���\6}��:�D���g��Rq�Eg(���I,�Ғ;����v|U�.l���yx�g���V�nqitZ
���pśx�Z��( �\2��FP��C]�<i��S=��$�,����<���]�zjz����0�=;M/p��6@>��{+��m��X
�)�j��\�z�N�4���7�q�XxF�DU�kP��#"H�b?�J���`��)*o���*�j3��$Gri>zש��
$n��,x�6��'���i��-�S�$���J#��5�xnK�Im}2+1��$o��]�,-u����Kw��7)�өs�GòxZ��JK	�d�	�H��#�(��߈4�}G�$*����O������]t�j�X�Q�i��'��b�2��bq��{t�U�I����=CT�T�*�~G�zT۟2�=Nh;;�{o�	%��J--��"Dc^��^(�+
�[�F�l��ֺk�k�s�z����?�� ��UKP��`�+z7�{Lޕ�j�萬6-A�L"���Kvg���-izܷe@.,X�J��Ҷ��[dsZ��>}M)��>k`K�v�6���=EQ�w�24h2W��9�uƙ>�a��`�b3��G���K�75�y��<�Z���g9�3�'�>��xF�b�7,�%Y�}�7���Z�;V8�dU+�H��Gt|Ի����	�3��{hx�]߹�!o�6��w���j)��fR0�6󚨽	z�,bB�d1��gɖr��h`$���MC(Br*>�NF+�vz���l��U
�fM��3��o`��#����ayi�,�h�c���ORz*��}+�������,,lD�K�ǔ	x�n8�W,.�2���3��/P���(�F�_63a�:�KdJ���9��kd�7MXs�	�FW$�	��SJ�օ���zSvyn
�9�ؔ��3�UdM��q�ޭ���J�[���+�� �-�y�2�ɑ�w��q��o\A���X�?6H�aQ���)h�5��m��<K���\�c<ڶ
�u�G|�ϴ�/N(N��1*K�N�a,�1|f����-Z��\�5$wR�u�H�J�]5��d�:mC�Zַi��~f�R	]�ݏS\ޯ���ڌ0��
��(���Rp(li�=z���!�F��Z�������H�%�5*7~E�q'������	��8�.�sm�Mcʖ��@-ힸ���lLu������M�k�95\(�$D.0\��8�ix��0k����żg"I��]�����j��h�	��-@�u�"{�2�\��+�ǥ{���ɧ�hE�Cs��&���vӚ��F2��Iv>y�b��P�mR�Ĩ�3�`��Cڠ�b��T�[w���~�j#)s��%�6����mM�
ElQ#������i��g�Ժ��v53�()+8E��
��~\�V�*ƚ��Ƭ�fύ��h����{X漞P�ް�P98c�=08��Ō7R%�O4E
�m*ݛ��\�j:�������Ֆ�d�Z��s
�-��A2
�������
],�D!�L�o&��d�c�sЏj6���+��3��B[�q}
�F�����k��&����-gI�4�(d�<�_��DZ*5u�DEir->'�캲
7C��u;���!g��������ҳ=�ǜ�)��)ssk�leK�S��݋����:H�c��ԩ�!� <|�~�ִb���/�F�x����p�:c���ٝRJ{h��B��b��C
�.Unŭ���8��d��4;�QB-+�j/��Vq�p��G
��c�n;�˔��0[ޔK(n�$Y��Ns�ۿ>�/M�_3)��2�8b	�O
j3�:�\ۡ���� 2$���G�SQ^,��bk���Ԋ�E(�����X��O~ML��zG�tmR�f��h�H9T�N���Y���F�|o�[�ޣw��kY�H���y5g�7�>֯.m,Ƣ$�x]������]Un���������O(�� ��k��<Us���r��4�er|�Wh>�g�n/AJ]���,ː{��,K���3�+Kif+�Cx�~�c�RZ]�\�����IJ��=A����:��I�Q����4������ji���p©o�7vg�I��ҡ�@5F�hK�^������p��H�?�;—w�kF���,�OU�H#jD8��!�d�r�dt���[�j�[~���~4�=,g���A��$��'�!I=��L�A��6���ҋ� �	�R�p�L�P݅b��+c��Ic��;�Ԙ�i��R��Lٲ�s>��F�W{"y����޳<Y�|/�\�4���V9x���T�I���Թ�u�a`:b��7|�I�x�( �"*1s�z+�|u�+-#�S_��x�YVC����㹯Y���ZM��"y.��!Ӧ)���׭R�:����m�T+u&p
P��S��i�4�6�"��n$�ޫH�Nr3J�a�[�awM���2�
sU�?���Q�u Ҧ�)�/��CL@2�/�w4�,�䚑bUa��l�[��w�6��C���:�IO���l�wV��.�*3+����)1�6ܓMrp;�nn�Ӹ�`ݩ�ZM�҆\/J0����� f��}�7�bzQ���֓��\�[��R1�Z��!���R���b��[V�7�٣@Ku&����!iv�6���5�jP��ЗǗ#-��Qr��0���:U)���3N"e��L�3T��t�cH��u��EIcԂ�'����T��xJ�^HQF�7��޵�>�#�Cs,�Vw`@</ҦTc$���2K߱
�<5��sݾ����*O�5OK�<9{o��A"�$z���R��Ѳ��T�{^��O�K�|C��3FW+;����ڛq�
{�����B
��`�z�E7a�m"4��{�?����'����;�w���Լ1i��ֲ]\^ݧȇT��'����N�b��՛S�Q~G��F���TD:����8-��Lg��W7g,ms5��,�G��k��N��#N��A�uo�kf�<��$BE�=���O���R[�<F��D}о��
mMr��+-���bZhi��Q���;�^H`2;zW(�uƭ��m^I$@N�*1jM}��k��s�oF����km7�w�,�0�zd���oG3hks!���C��0����TƂU%Qk~�J����[��9�F���Kv����n嶸��M���9��/�E���u/Ο�v�c%AV �A�?=:֞d26B�Pm�U�{b��N�j��
��7~&�͢ [{u8��'��W�nDž�"�o;gRL �?�4�N4��
��j��w9��D�6�VZ|7+�tE�W��סk�
��A�x�L�[	M�5Փ�B�Xvy�^�����J拋Vm��36�{=���`���"g��'�k�t�
B�n�i�J�?���b9�
��]{��z�nq�|q�y����
���J���G�pZhI�\K�
]㌶=kI>y9t[2�ޛ�ַ�ui���Yc��;c\t'�k���|5�G5γ�}�\�9��'-�������3\��a��I��%�)����e�g��&q��'\z�tӌ���}
h��:!�M���EEn���0� R��տ#V�w[�)����O���^�)�߉���c�Nx�#�;p��Fif$$\� �k��ic
>b�I�=Mi����s\|����^L��D�1�>��
�]��F&V�J+����t��1��q��\�TH�T�;�'��~�P�`�#��[�}�
I�t�Q:c����	M�ɤ���I��=�PP�i���5hi��o�_��[�,�4m+�029����	-�&���\Cԯo̘M��nG���|K�S��f���YAk=�,y#y=I��ְ�l��l̢���\��bӢ����Wq�}�ܼ)�[F�-�mh
R�C��/�k�G���m��^��h�֛g��Z�̱��T/��9,�RA�����cnV�bg���4�uj'���R��da��5�4l�x9���Nf�ѣ�[���(�rRzV��ᇱ��i�a���ӊ�r��ݙ�Z��^{{{6���F3���Jh��|)ws"I����E��ک>�AJR~���w�#��P�<�…�(��N0j"����~"��j�$'��j��"o�q�N�Ȭ���0���yl��G�Vc��vZ�ë�h�~�������H'�"�88�����sI�h�_�.<?�=��ݵ��s�O$����|�)�"���mfo�k�z���, ��Te&PA9��+�@zNx�W�cc^�����;�"h��r~��ǵ(D%��c;6e'vz�me|;u4Z�����A��pI�����O��H�:Em5��K���G�7�-��A��Y����*�ƥ��c�<�	8��F�����x�6�ҭY�/+p�C�]��:�����Xnb�F�u8�0[�Z�ƩN��[޿�R�|g�\X�f����p&����\,6R]ߴ*UY����h�Q��*Q|�vEa���f'��\e8#��R3�
�-z*�S��s��_��_j��
���n÷Ҿ������-�X��N�
�C�no��9u$��|(���$x�E��7�����l�X�q�I�Z;�7i7�c@�N���N��l�ʛѿҮ�Ť��&R6��1��>�=�kI_tuI[Tb��O��2[].��=iD��֭={�@�$�Qɦ�D�qb�A�Ѐ����cuͼ�������U���\����-�z�y��
ܧ�O�+�m�P2��L?��J����k�ob�[�K$��L.ܕ �{�-��������r�8.3��<0��t�X����De}z�Ć4b`#zU�
k�h�]�?j@��p#��[���a-�H�e%������Y��-J�η6�Z[�."ۏ4���Cמj��h�Z��Q�bm�|�O|�����":ս.`�L��"�>�,?<Iǯz��z��E��$)� \�n�%��B8 �v|�6��轑I�K`b�~�zҋ,58���%K �ϰ`�j�sX�&��Ԁ�����d�4����h�2�`�ya@������Zhd�Z��y��Q�CP�_���M ۖ u�̫��gB���4a�eȥy���(���J�-�*�8�z�����49d��`<�����_T�/�Kߴ]�d��I�>��8ٶc(�-������ �\�-ksG!��W�v��B��j~7���%�]XB.-��� �(ù�z�\�(FrR{ǩ����25/O��~�W�����?���_Ӟ3��Y�6�+X4�]7E�ܯ)�@��TՔ�y@�K��6&M(���F
c;��C�;/�N*14�y.I�E��i�	�����i���&3�?�U\�qC+f_���y,ү���Abp�9nF1��W�Hs*g�B`���N���s�b�޵EXqp�T,F�cC	��$�4� ��;���riBG�PnUI�P0ݚ7P<b�����>f
�F@׭k#(���s^���U��h���s�"�vf�7�ci4�N܁�bF>�<~U�����lK�u����Ef&sׅ�{<{d�!��8��m��j�rYN�@f��hr�^�H��S�ƚ8�F	ɧ�� ��Q�,���ծ��(�Go�ooJm��
KI��!���7�<�̟#�?�{z�V�N˱��O��_Mn�K�RmFvq�E��Vց��wr���b)��}�pA^����޺�~�K���n�mB-�)�-��#���Zxm�L��g@wFH�?N��(���}��[�Z�M'O�U��K�w
]���V5���gŃ�?��Q��@��a�\�*�|���}̩JQ�K�7�<�P���Q��ķ��g#4h�p�@w�9�
zXv�/�t�ᝒx=�S�5�ƫmeq�	��}�Ҽ�+V7�d�.����ݧn�N���t��BK4��0�C!$�����j��
�Zv���4�#M�	p9oƴ�J7�٬-{��E��$��=ֶ�+��=���,����UW4��ޗe9%��j�=�"�g��Y{�U�^ k(�u;�"�e�JI!R����k��oM�^#db��S�Bz4�A��`3�Mh�ٹ��&ojp[��j�".��z�j�?xN�O��:���V%�,3�����l�ԩ˯~�%Ik��|�x���D�����&Hb�A9�Ӂ����\Z�*[]^=���F#�rhR�t��'{H�5������=q4��V��5k�����퐎3�j���w�xr��F�M.�ӡO�g�ןW8ERVz�G+���k����t�j����E�L����z�来Z��xn�Q���8̓�l��׿q��ۇ����2^{�/��L.���O�,�8�Y��n����~
�Νk����_��RFa>�ҰKyu��u#f��c��Z

FIJ\IU�pG�wv}����T��[�]=�*{܏���4�m.(���d�lSt��{d�a��u���+D��u��I.}7��}J���nRP��C�<b�McB��t�'�˷�g%�#�^ISNqRL�S��5���tb���I��2B����1n7�T��{�kZ1�]z�&����⥴F;�HL�zW3���"���L{��t�Z߹��a�`��Rj�	�[�E�;"� �9�}jN��7G%��T�;T�Dd�SFZ͔4�!p>���ۮ>�vMR}uU��]6I|����8�鑌�3d�u懩��i}{��[Y9
�ʻA=���c��������	��#ޣ�_]	V6�y&Ҧ�D[C:��p �WY�x�W���7Q�3��}��"y��9}V
W[���]��%#sȬ7���V�?Y�|7���P�����N�U�9�`:�u��5�ܙM=�ɆY-.C���;Oj׏KMZ�K���.���1�z��):}z��̯��wZ�͎��B��ʞU�Gzs�r=}�Ҵ��2^�5��[�_Zh���IOP�~�g�֝�����G��~�å,�-���h��np�ҹ		�c��z�&�~F���ra�ʦ�7�8�����J���
a�9��.b$)8�wD��V����!�.&
�ޡ�3m\���F��j����%�A��S��QT~:�[��"����%P;�JM4��'Gwߩ���ӵ���`k�UV
��H�'>��	����F-?��cE�ȴ��6����Qd.��sUS��Z�m4F�D��{�K��mѹ�aهl�J��Mż���Bc������EB��!G[�8��L���5��r<�*ˑ�k�%�P��$�.na[�ԋi�Rw{t>�����;�z'4��#�1�+�w>����0���)\��5|�ꈎ��gu��R�[Òi�X�T*$��ʎ�w�Ş"���#�U�!�THG;T^�۾��6������a�֖�{_��KJ�[x�2�$��լW�k�S��E�h:LZ�2Ah2�8�8�^רx�;/�;�ѠǦ23NPPW��g%��9x�ŷ%�$ڌ��%<�P�Z��x��I��$\�w�}j!
=J�?v�V�F�d.znb�L�$*y�j��,�M/�4�#`
�rp(,z�E�
��q�#!ff�DŽh�epA�5J�	�RF��4�ɣRH�m&K���('�$��Z�&�Y�}���������g�WY���:|VZ���nx�^�ns�W"���=�I�?���d�4��b���np=)�v/+�S�����^���s#�lQ�g�pEE=�ݍ��FR9�tm����.�R�CÂ��$�فҖ�mu+���<�w:w�K����1.<��B@������
�o
�`̤��=I��'�wH~_QL���M�C1#�f�U���W�|�����t5F��{��2je�Ac�&~�6B��z�SZ\-��H�p^޴ʼn�H؝��z�y|�n�c`�ؒ�wۀ�v4�)���hԓ@\C��H�&3@F#���x�4yѰ`P��@�[��T�XDAB����@�Z����$b2.���>�Z9D��``b�h"�v���nQ@�Q�6n#'�5��o���UD
lc�g17x玴�ױG�kZ�v
5��*�5
.m������ϯ�^,�<�I�8��hI6ïu܌�#��8I���[)^4�th�eȦ'W,)<��!zu��|V�b�@�e"%H�dVVmt�6~�2*cjc�q�17�@1��5�}z�"	/7}ը�ge�()HI=H�E���@E,F2	�})�=��lc-O��c�|�
�x��f��R.��ʀ1l�%�RMY�(9���L@Ґ ™��"�H�2�<s@
3٨̍�.�ܓI�M�R�w�W@'R3d�3��S�{���t��]1DAp��_u���U1ٚ�u��"krJC���e=��k2[}�%ͳ�ZO��aȬ�	�Rd/��g���oZϱ_2�#+��ޜI�̿S����Ҳ%�d4.�#q���=��B�jr���,v������3\�be۸�=p+{G�u����[^I�Q��$����.U�vL�[u;�k�Ӯ�u-Zm�U1����8��:���iؤ'3]��\zXՊN��i��i:[���i���%��D���=���G�ߵ�ۺ��t�1��ވ���M-�-&쎖
M��8���!Z%���Բ�h�$K�s"�T�k
7���n[��QVm>���.��ɩ\�2Կ�/ei���7w��sx{�^���HK���e�ۃ�犺
�2��ݘ��]�]�:��f#xs��*@?Bz⥃�ȳ���l� ,�0���Z�vM���v�֧�xKñˡY.����'1".א���{��wW֭�=N�l�u��夏�����_�.X�o��o�V�V�t���r���P�\�.ry�c]��SCe���Y�|�=���z���Gb��I}�kJ�aԭ��p��ڼ��7�t�5kk�"E��Uc#cL�ӭu>��톿3�2�I���Ā�8���*�m���.��Xյ�̇N��ԯcӴ��TXn�a�Ҥ�>�����A�w��?@+VSn1��N~w&��"ŏ���;
�[$.�}{W���K�mӦ�u�
K-�ر��=1��I���odr��޻��ñ�Z��&���*��-T���T:��G�js[���*���C�~��ƒ��W�K�9U��/u=����(y��� \��	u�77�Bx���N��,ySpp��]F���OFi	BZn�3����k�ֺikuq����b{�+���=֣�\[[]�L��q!��z4���b⮵;?	�-�k����b�Ra@#ҟ�?�&�Y5=&vx�2%��8ħ�zW�<Ƣ�r�M?��>շw܏�牴��ב^B��RJ�28�}kGI���r�4[B1󏜨�Z�����}�mMt��t}Y���b��in��q�p�����$º˛�h-.l�Um���<�����[;�ҟ����y֭�+�Q#�vk]��f�d#��\��o.�+;B��I��c��z���u���YiP�q#<��1n�ږ�d��pv�=G<�A���
E���-�e�;69P:�\Ø��" U|�8=O4����#<b7�\;U�f�z�W����9����x�y g֦[�c��)J͔�E7q'��Q���;K�mCQ�]C�ڱ�8�Y�rp@ǽtZw�[�N�IG<ō�G���(���nՃo��ꌤ���~ ��Q�Zi�X���t��|��@)��n��
my7|�l�4DaNt'�E�m�����x�� a��e��+�)��w+ds�P���Ŷ�k�{�>w�U�fx}�;O֧�&�s�/\��p���
���X�3X;�'{%�*��]0��V�����d]�ɚ���յ-�{�{5�7�Nz�q�|b�L��L��ϓj�&�1�rv�j7K�)=���R�>"��������D��k��A�xs�_^�In��A�Qg�}MM�^��֍��s��}
�>�s�krL��#�Ga��N:W�t���Q��~h����*Ih_�4Y�mod���J�����{�Y��R]@# 暓�_p�o���j���H m��Q������D�麴m��x'�gғMkܙ���z����2
,]E�Cc�[�>@!��������x���:5��7rE,l�#�[��1C�V��*��߹�M�Q�!.�µt��
6��ql芄r��g.X��RvCu}'�1�D�+2�����0�~��gN�<o�*WZ�5;��v�9�<Q,*v�v���_Ʃ�B�;���}��ܲ��r�y'<Sgĝk>[;���	%f��P�_JG�(�U�c{�z6���lԧ���߅�
ޕ��/���o�|닧�q�����~>��mj��oM>�IFv���Ί{�5�h�������8i�HF_���k�>�F�][ټ&�Ȓ��x���|E��~/��lnd��7�-�\e{0n��UV\�%�%A6qDq�J� �b���ұ�(�.��t�KF'�0J�eI��_m2�]���=���c�Kz�q�����#�ʭ�(Ǯ)�M��H`Ԃ"$
Bm��.)�vʮ�VS�`pA��F�4f�]sO����5��
��Q��J��=q�I����[Q�@-�A�8�'ߊ�V�n�����r8隚��[;覈dl��CV��5}�_���iF;�HS��+���t;5�h�Ӵ�y~� l;���nՌ�e�ˢ8�F��]��4(�<��%mw)j$�<)A��j5��I"ǂ��([_5�q�
�R���-����@9>��nJX�[�fp���XY���s��MJܨ�26�����F�D��@�FjW�� �2-��
�L	P)�F���@T���]Tqրvj2�<HCL����pi�{2z��~Zir8QI�#�(��R�
�zzP�!��ԂPF~������Q
ß�1E��߰��o�k�
�U-%}�{�rW��aZ�7X��<泧O��=�E�-�d�H�ZաB��@�M��RE���qq�`
�n8����B��0�&�[����#��6$�J������U_.Yf��8��Kk$)�ȧ���1�x�`*��[�Ȥ�a����Z���E��Yd27&�H�)��e~��+n��U�˸����0�c����=�n�8�~�K��	X�GcU2�f�-�n#�1��P����zp@FI��P4�
��0��A`(�0�;���@O)Tz�Yq�de�r��k1����$� �k��c!���ߘ���5Gi�)H u*�>��{�ړFSzN�FS���68�X�lc�%Cn���aT�~K�FIU{Ӊ;��*���$zW=8��4�=H��=������4�*F��Ꭹ5��c����u(��}k�4�D6��"�8�4J�;~�7�K��#C��fb̭卛���OJ�C�_ľ����d��.nP(T�灌��^K�>yƯ�?q�G
��%'�Žo�ǃ��|U*�����>b�1���U��]Ɲ�˛Ԟ?��ɇ�8��z�g��%�Zі�WZ�b��O{�$Y�6�q�5���s5�ԏq4�6��
��S�l��&O�
:H���5����KS�$io�g��78��xLmCF2ɤ%Ǟ,�8��s�z"�]=�yZ{����-փ���0���q��ֵm*-,Zj�⫔���)B�j'�I=��Ev�ec?P���~ʿ`�P���E���AW?�eՑ��>�p6.�Dx�+�t]I.Eʗ�&g����q��O}}{-�Aoc�:`r�����>��������H-��*��?��uҒK�kmʃjZ�~����h7���"D�m�����mz�_�[��8�L7Q���+r��ꄮ��ǔ�M�e���P�q%���*��O8�+�"�3\�����d�� W$�_��#jK8����J��h��=�������J�ۺ�������Gݝ����+t%�qk��>{���s޾����C�i��Wc���k�QqRz�Ô#)]�m�[yͅ棪<�Gf�����#_xo�q��(�ȧd�����*��In�ad����Q����]-�����Ne��2���Zu�?ڧf�hm�d�<���9��kΥ����?�f��gI�k-$l�n��*I{*�G�c�!��-��ϖ-٤��2����	���ܒ��b��}��QK=F�� ��S_ں�'q�7���_�'j�V�
��Y�&ވ�����k�0�|!/�t+�
EO�@�	�u>���?�VFMF) ��Uu*�EoVM��"�m��;w4m5i�l�KȜ�2���Q��ԉsi��/��Hʲ�@����M�t�����ox�K��N�|�k��a;�e��&��9�Գ2��l�屆�6�O�{TV�g�ݑ�E�*����RU	jU9w8\����G�+N�N�ݨ�Kt��+���Z�����W���-�M�D���D�Yߌ�J����K�:���L�$�W8��B�5hkv���*AP�=�����:���cb`���#���\����M��O��T�ٙLd	!�PW<�k��WNi���a6�ھ��{Y�,"�kq�Q����zW� o|.�<;y��[(�C8r�n_|��Zڄ���
�hy��s!Y���A��\ס|/�K9����]�$2�Q��p>��!+��ѳ^�0xR��*�h�H�:D2H��
�J�B#�9<�e��}
c(%o1J��2�V*B�sN���X��U�pO��j>dֻ��&.@@�����B��֦\���1X��k�Rb�η�&�q��l_�pnn�����Z�|k�/I:�q�Hq�J9Pݿ]7ӱQ���9�.��Zi���gQ�����8���x|<Zt�u�K{
�"��r�<�4����FR��[�����z�i�
o9' sЏ�UV���OH�+r�s<c���ը�;�[A_Rd�AK�r��	��Fr��O�S�nR#����뱫�֣|�y#q���R[A%�o%L�~�9�IE_��i�ۈ�.�I�ER+�{U�WW�it=��ڭ\I6��
ߙ���7�Ӗ�=S.�+}���:�a!t�]H`B�dp�����G'.��5�=��ӛK幃?#�*XS-Rѧ��u��Z3���u�n�$���Zn����[�͆���?Gۜ}qY���f��4�����꾢���:��J�u0�vݞ�Q�ٔ�3�TJ���MzW:S��gjn���L��O�爎��K�p&6���$8c��>��k��a#�Wz8��VўGml�Gu���GnzU��
��W��ۇ��w�V: ��#=���15��K[GWvo0����d�	a�����&.b,��J_��P2�N�Q�\b�X����ؐH�p�I���SmCa
���'>���0��jޛ���y��N3�+�v.Z�&b�*��i��qчZjM�v���a�w� ㊊Eb�i��g��{�_��eˈ�0Xu'���s�]C
�y�pcV�W1q�Ъ�ch�T�Gc���1B�بY�FN1�O(ʁ�
�ll�XH���\� ��ެ��7���b�dȥ���J�%�毋���;b�I������<��V=ݛ�N�P��Nơ����C�#��5���f�3�U+�� ��Q��U�pI�<�=�5�"����1Շ8�0���qM603Lc����F�9��@�9��o�ڣh�q�P��Gh�4�Z��4�)◌R.X�R�4�	�! &O`i�]�@-�Λ����x�� �q�+v��j�O}��.���
��T2^�9�!`����� `�~��v�Fi�ab�Ω� �`�����P���E�-f\�=�;(Ġ��ny�`Bݬr�?��#��4q�稦��h��!bI26�J��0\�5 �ϫ�@c�N:�+1���%�OP�u[g��q���Y�Ic S�a�U�
EQk�v�8�|v�S$Q"��8�Lk��i�C���X����x �"�s��俔>���5@�� �
�C�L�4f����:���<�".��㠠`_=�IP�P	4���\��4�-��im�p�}iH!�z����#�A���Z�9�Va��K�đ��ҳ�_Ce��3Xۣ�Ȝ��+Gaoq��;}N
g�L��bU�E�I
�{
�h���q�(BVCo#�l�d��|��s���=ʨ�7N)�Њc�hf�H��z��w�4�Hi6�=�^��[�J�V��ZFm��3S{�C���-�j'�g��
��+�~ ǭ�ک��h���s�I�N����p��T�k�TN"V�v�u7�%��Z�zM:��IgBY���֬A?�&�j�43�)qz|�Z�����k���tԞ��<{yj����4�i	�ʹ��vq��4Vm
E�Yc,� ��n�Owou���V^�9m"�@���	5�1�8�V��'�/g��OJYϘ6�����V��\wb�j���ݷohZ��S@�U�&B6oa�������u��XP���PN:]pqkCz-?^��Q���O6~z".O�+���zx��k����£!�J��b�ӋJmj��T���2hZ��qak��V�\fc���:��S�w���"TE���n$:�ҥ{�7�TW_����?�!��Z|!VF
��q�g��J�<?g$>���Q����9臽'��i���y��=�Atˉn���.3�*;{מZ�.���
l�%U�'�qE56�'��m/�-+�^�tۻ;���<L�&N��5�E%�);�Ico�P��ZK��>�PI+�����Kk*K��C�\uS�^���x�\g�{��)Yo&��zZ��Y�)>�|Qw;�Eew<cH�u�qޚN�����k�mR/}��?�E嬋-��ه|õp5y7��t������
�G��gε�c�j�L�~�};�Z��L��Z~���� ��³�������*I���-}	��i���S�5y�YZ�$.���c$���p���i��*�f��v��h��iQ�R��%(t;MJ��ZW�t[A���]�I©���^սjځ��r��Ns�=��\��:��j1�̛oM�ݍ�o�<?��g�_���G�Q�NN=+u�M.��*G���]��ҝ%���DaM�F�'�Xͽ�r��[D���
���P�<@�v�kc��KA%ğ�=O���a���	N��B�$���s�f�����ZI�t;�1r}+��V[p!� <�� ׵��t���b|�N��z��iM@4�|��:��
?ƭ263%��[2�J0�Z~0X�oj���^�#�f
�t�-����w�qoq��1��\�s l(�W�[$Ǚ�P?��ˊ͔���4��Y�ƚXT�����D_!��@���$I��'�v��z��{���n"�6��@%�pC����q޺=#⦭�Kz�
�$�cf8��W5����-��C�5�h#�=��PY�_4j��.s�~b9 ���z�ԿRk��IJ1�D�31�`�=1��:I�/v*�e��5�-|5�u��WZ�5K�/�s<��V�� c�z��դ6p�Mb�k;��9T�0�*I��e��n�]s�����L����ާ���L{fx>�V2�n�Q�z�nR���An��Kg����,�MJ ��B�I� �7��4����'��oxkI�+ƭ�������'?�q�p�n"�Gh-ˁ,����rsE���}	���m�i��i�˨��)@VpGS�>���+�]\�ܫEqn�$��#�U;ݷ��ZR}{1<�''��W����·�h�*��"�
@��W�k2�_^[\I������b��*+J)ZNɄ�EMV���P���M�m�3�+���m#�N3��6��t�/&=O�������t�z	Y���wWէ�n|넎<}Ԍ`
����N�]��lZ�
x�9��HI�	�ܤ��29Z��4�"�K�^�d��!T�H�q������M�;�-�(W�R���9���RV.�]���Aowui62��n}�j�:�ο�=�†��$�T�G#�^l���Z4�9�J���[���bU��&G�m�qr�k���0v�cgw��k���mC��2j����}ә$$��ibTW̍�P�G� ݩZ�ZƆ��c�W��ZB�n��N��p:փ�!�j[<�gnc%�c���%S|�o���t9i4먖O:��#�&�
}	�T\1���UcQ^&�I�i@���{&1Z�g'���ԜUb�X�;�V�+���DŽ������U�)������ڱ)6�*�
�c�N
�',�gcME��8p}�k�ہ5��g���T�o���	+뱩q�*8�l�X[�!$Vx�N�p��v���%EeJ���*&����L�0pYG�WX[h�+1+�*0նd��Sgh�'$��:k�H`:����ӊ[���Ȥl��w�ͷ��E�$e��|T��@'��t���4z�uD7
�]����Y�����G.0Y�7EGD^ң��x'��pp�.{�kgU��"�[�	"X�rr}��sԵ���o���	�[X�K'��	�����X�6�]��47SM5��),<n'�R�rV�uͭ�����B~�n��W+�+�m��of1���P1�i��1����l>f>\�4�kJ���T#!����Ȫ�^�HL�T4/�z`�M�1�M �H9"���8�4���N,�������RB�9ȧ,i�zvLT��<�'s@2�_xd�
�瑌��$��9���ʀ�84�����Y'�4�(c,i\.(P�<�f7�Zڲ�AfaܻO\��y]�6)�G,��c֝��$�7��y��S{�d����zJ&>��Y2HJ=I�ٝ|����B0��֗Q�tlG~���d��K{n���j�H��a^ʲ\���j��q��N��h0��HY���o=jTN}E c�9����CL�<Pd'�)��
�d�k`M���d��Tny�٤!�<R�;��2G��d�=j>� �K���Ҁ#<s(��2���r�W�Lyb3C�8�yZ�����Yy �b���cu3
�G��u_��A:�����l�D y� ��}�5�#��WA�3,�v��*kf6T�03��ԓ��k�O?wk-أt�
��Xw@|�nhZ�� 敛)�P�ր2jFu^�d�F��#(Y� v��w�f������6�B�l�>Rq��T��
�z�:��7��>�mn^䩂A����^S���<Ag���P�o�.�.5އ���+��S�8�ksT���KG�:k;{ѫ[\i����V�nJ���}����|���u=3Q�K+�h��rA�x��\c��\�T��P��[�ʛQ���o��G��۵�����s›��Ol������i��UaY!9�8��U�:��W,Tw6��Z[Yj`_x��-�7f5���AUC�'����Ƒi����@q$�pwǥE:~�n�%�p^�vz"H|6���[�yئ�e-��r:��~0��o��Ս��,g�����B�*������A��6�=��������y&>XN>�~u[���������׉��#C��W�N���Y-�0�o�v`j~(�֮DZ�Yn�$8��`����i�ԥ��o��,�}�ُ��Mn1�Sji����~�%��z���,
ll�=��ֽ���m��#�ePTJ�)kI[[no��8߉v�L��v�r�HP�������ntk0�i�R�3�V�w�Y�Y��ؿ#/̑�%���19���/jm�賤rp�1�«���
$�P�W���Kj5d�V�>Y�M�#��4�m"�e�o�g�I���ΕGt��d����k-*�'�%�HdL�ǮL�֞��{��5]���Q���;����
��{���_�u�5��9�Cq6D0w��׭{4~	�m�Z�!��@�G�=+wMZ�X=�����X\O4&�`;�D��ǭi�$������c����V-E���Oc
�KE�e��u��$���eo��s�O��a9���M2�����(`�Nr�_g�P��Rn��7��l�g����WU� �s���
Ȗ�qB��$��-�]U�*Vw�Sw�����V�����`FU9d=�=�p6�
&�%�y�
�eʯPG\W]6�.e�s��s|ZCkg�D�����V� ��B�������}�l�f����$��ҫE�ln�_�$���M�~T��ɻ�Y�@`�J�*��ûc�
���Y5���Y�Ɉ����U���Bv){叔�'v}��`�1�;�+���JF�@�1�8�e� �ny�e!&���]G���(��ʮ_�lu8�*MAk�Ri-z���~��
MRw�9<�!�e�H���
fhz��<_s{��.��.�����k.f���'˭��[�[N�ĽF�}�vW��k����9��e�‹���m,u4,��ι�O��K�R���.f�=�K�_��
ݍ��W2�V�
���k#V�Յٺ�"��82�98�[����_Nĭy��h��Ů#��!�׉��#��Jݴ�58�?�MkL���s��I$*Ɍ���ڡ�y/�W^� {kĐ�t;Y|Sn-BL�kΔߵ}�'/{��24E��[�9�_��Amg[��%��8��Z�j����*�Z�����\kMЌ*J#ܤ��8�U����]Ҵ�/M6�Jk��*I�xI6�Ĩ�&����}�xFw��^[���)�د��|I�p�6m.H��FF+y�.��B<�k�g�t�w���)��zf��0��dE��1�z�Yn�:���]�y�|>���Gk����\�ѐ}��ֺ��(xkJЍ�s]��� R�nj`z�=�XΟ3��ir�5�y��|e7���6�e
���+dz���5it��*E�w�*�26�U*K��k��ջ�QW��L�}�Aǯ�m��"���7�I�i^"����6��R�3)R_Q�+�qMh4c�9�ٷ%���TP�ns���N�z��U��u�!�1�6���q��(�����
OJ|��dc�V�t,躭���z���q�3�Oq�S��=��\h7�u·���$c���.]nC��r�Ix!�6����SV��-��*}�b��K���I�X�̊��?8澕��`���	b�R��Y��5�V{k��q|��8_�X�ކg���jsʅdX�#К��k���%�9$gX��zV� גGU(4�k.��+��Rz��E��&z]E�;���7N�ʧ�5YW�hn�YzT�M��PTXY#q�OV
6(���tn��q�,�1M���z��R�F��^df4''&�� s����#-K���%��$o���9�Zu����.����$���[͚�aR����yd�$��(�'�ʷ�O
�h���t˹g[�D�q�t����~��.d�ۨ)��$c���z��k
��ʭ������P�	^����ZG)�N�®2�a�S*�U��̼����{HҢ3�N�"�	&�Mo�q�zcܬ���YH���=ji՚��Af�bx>��Ki��^07	`	���ֱ��-���%�X�A��2�b�j]̷ޠ)��J^�֭�m}4k�]ؒl�%����q��u��!d��iН�;f��=z�/SGX�f�Ҵ�_q��!�O���oL����yp�Ɍ��)GO���]�p"���ٝw�qÏPj���Z�$��Wk5s�c�V ��Yϥib��QX��Z�[x�ڌ�w*�����t+|�SUH�p*Z*-�Amϭ5c�@�j !d!��iT���P1�(ǭ �cM �Չ�q�V-�)P��Gc@�ݻK)e@��\�:PQ(���j{h�.�3�inK	%nj���H�	
���S��0)}�\��RyYlh����g�S��S�r�9�������Z�.\����H����&�����~q���!����4D�i�����<�p(��-mI4�k}CV�돳�!!���T��oy$i tV 8�!���}D���V��vMcY�Jр��1� G��z���f��4pf#�B�P��)�ҘH��4&>M0��
���OJ;��	<n8�x� �ojC�4X��!�\S��%��#'�V�����p��=jd��w����1�`�'x�T���лnd��$WM��Ķ��q��8�.'�ݖ�B�U�q�t<V%�d�c>�c�����4gN�&�C����+>I�����q�ST"��;l�܁����`;o'�(K[���)���16Ҩ�RR:��_��F�(��+�o��V����o2�3�ڳN��3��V�b�G���`��p^���sa����̲(��9$@c\�on+�����s��+٧�=�L�{]2��Px^h®�gҼ��+�ieӼ/a�T�k�#�9<��uZI�n����ѿTtڅ��5�Z��Kv����q�O�d������S�\Cfd|�<�ׁB�Z�e*����nZ/V[�ԧ���i��0�ҍ�F?�5��j�C�t����]�L���{�����^����1�_7s������B� ��a���~���b��[ԋEv!� 3�}���g^M�6F|Τ��]۝++��e�]�Y�?���z��կ�#��
/I�N�b#̞>��?�{ֱ�(�MR��c��u�h���f�t%���n*��3�ت~ ��|W��IM:�l��ae#�qUY�D��͹|�Ǖi܃º%�*f��;K�i�E8�OC�{���o�Ӧ�F>��Һ���۲�I�ٻ��;�;Y{&+Xm��iX<�ҟ�<���_?^��R��-lB|��>zaQW��6k�+�O�<wpM�2:� q^��/�ڌs�ֈ���X#�p}�jU����D��^����IJ^˹,�b�p�W�����Ra����q\���e&�ש�3�SM�g+�x�"�>��ܽ��v����:��P�qv	�W�?:��<U����'W�I	;�̣bcӎ�SzY�)}�:y<`�e�R����)P!ҭ�b�����g�=�5�j��+`�k%����\8|2�!NI(������l*%��:m�(GN:W%�xkJҴ���H�v��F'����D.���:�v�r����C��mml�L�l�Aa��Z����Y�}Km
�5�d*�C\����&��G���^�Z]��;+hdkkh�+�����a�X^����z�<�.a���vᕣٝ=���T�����C��{�Z|n�o
�'�����%�i��!�:�q=	�oj�q�Kxcګph��֪�؝�~;�����"d��f���4?�4�i��q��8�E$T�}�HpK�w�Ø��5[�Tf�`sMn���Bg�rk6�4�$����(�{�~��6w�#�#�0�֋��y�57�dD��]���&��iB%�M�@�I�8���V�{��g�?u��܆g�$�U�5͉�Z��]EQ��cj�n�������դfhf�~I�Ew��~��4Y#��{�����N����,3�Z;�le{<p[�#��&>g|O�5�oğ/�|];ڮ�+v1�<;VնK�gD�V]L���C�l�'wi�h	��½kA��?>![ڥ����tY1�c�Oj��e�2v^��
"k�W�&���#ǺW�r\1���k%�Ss-���19Yb�meaڼ��jM��qT���Уu
H܎�Π���s��2B3�uQ~�Ãv����4v�`���X���/��n���s[��4�;�&��D�kw�Ɍ��=�h���i=Wo#ߊa���k��p'���"g
�)����YZQ�mY�S5����mX�P��a�rzV|vpꚁ���H@�-ێ}	�*͵�.վ�w�5��G,�L���K�?C��_sd�{��Z�7r����M�i�E+�wq�H��% ��`��E�u4�D�dR:U��7&�������)VV�
nše��*�Tܔ�Y���F����d���|�>�r��T~�9�д�Y����Kgx�ĝ�Ԃ<�H���\����*;u_:)�#YaW�݂�������<1ζm$�!������([�P�@�3Y��9S܀�]��@��
us�uޯ�jro�/�n�������+O(�@E��U��"�U��c�v0>�b{�.�s�U
�
ڌ����MƔ�jhbO42�G��@�>k��x[(��� IXL�ir^<3O�u���3�a��Au d�"��#r���wg�o1�Þ*9�^�f�OV�U�3qԳ��g-҉
�I��+��Z��E"��r�I��yR1�Vs�W[�D�mF�mr[�͛��=KV���)�����V��r�#U3����Yr-��۹�I�j��2]jͻ���O�hxj�O�Ǫjw۴d���kF��7P_�M�'J���X�5���	p�8¿Q��Vo�4[�mZKyf�����r:�{�SmKR$�]�*j:,��څ�&{��gi'�Wk�#����i��f�����8�O�O֮S�]���v<�[�2t�����
[$n�5��wam5�r���!c��v֖E%үx��%\a�=��je�M`���j���
[=�B\f=��܌w��ǁ�p:�Ҍ9A+V�
=��*r6��h���%qBv�S#�?��#ڵMZ�I�2�7ɀ�R��Fǭf�"�#
%9@���PX�m��P6}�c��)$q֟+���i�l��z���!ʁ�چ�'�7%Oɜ�n��`�*�q9'�U��4�@����;x~�?Z5#H^��4�""t$�����s����NA<�~f4�2�I�#2�ؘ\60:V����K��*��2ؒK0ij�TS�[n>K���kN[��b�p*1�3I3�px�ޅnX�.���Sګ]�`�S��pl�zԎ�>Y���y^�1۝�J0께dP""��4�@z��c�e
I8�ŰƁ�L�z{�0hx���J����'�L��4�����8�A�<SШ�|��`҆l�b�5��>]Nf(�˲#�(�ߝebƒ�u;An�>Y�&�T��=R���V�w3f$��Һ��Q���ٛ����+U�q=���ud-��6k]��I�,X��U��2/�m��k�@��?(|g=I�KR�,H��T��6{�bnC#$S=���P�(��E�F�Pͬ��΄�q�k�<w��G�]Z�q�3�vI�?���5�6����3�5�+nyg��ot�6�H�}BE���a�>��]����h�\j~&�;h�39$��1��Z羪M�+D`�w(�����H��t�gˉ.[��{���S��ŗ�'��=7�W|�>��\��
��t��
r����~,�4}f�[�xv��B6&Fs��u�S[񯆤��iv(�b̾���ɊJ1卓{�^��f�GSGӓn�}y��,��J��w�Sܶ�F�wBd��_Z�>ziK왦ڳ�M�__4/����+:)'v:���f�g`�Va+�~���@	�(GG.㲊�͐i:n�yypڞ�l�'��W,ޣ�],���"�,.nR8�Ʋ1*DZ<�4�_g�V��/��ͩ]��j�G�����+f�V�m�M>-.�8�m<���dյ�w*�E��{�P�^ZM���D�G�P�6;��Q��D����`i�� <�x��<�u�u�S�N��;��4��_�ΩjZ�8�X���d�O�Xz��l�.��w�;�WwgR��G,�K����w�x�|!��Zֱ%��"b}�� \�w�W/�}�����iׂT߹Fy�X���+�x�Q�����}sY��̇�̴c�v��g�4gK�_j�*�O�Z���5�}�5��oHO�h�|R���q��c��M��L��������mu�s�v?�3��JrGr;ע��&�}�Q	K�V(���4ݗN���#vn\�Cing�E�%,k��u
OJ:��������q�k��"1�~+��?w{��|/�;^񿉭t�H��-$���eQ��|'�]ֵMKW���d!�'��9���~��
0��ds7!��.�C�v�r�ʱ�ۏS���fm+��ǩF�9;�g����]P�y�ٝ��(�a���t�5e�4*�*��03����&&�y�wrg�c��r�p��\Ֆ�%�h�9������'fK#���9$��`�3�t'�anijK����U�[�r;l�G�k	�;��z-��3���X�H��z+1�Z�/��c-�q
Ӟ+�x�]C�z|�۔�g1��pFO�R�D���)I)z��W�1�k�c��%�Q+-��ڙee{�/
�W�W�T�����x�td���̚��O�9�y_�{��
��|5c�s����,A��oᧈ�|ͨ�ˈ.�$;q'��9����ٷ}�Z�SV}��2�ַ�]Ɵ�i���<���y���j^!�X����2��
��>ճ|ϛ����X��J��nR��3�|�#�w�c���wi�[�}DZ�6�}����=�ǵW6�ى���m����}�ZD���D�F\�:���\���:��-���%��R��5��8��&�x�
0i��
���Sî3���Ҕb��e:Iy�⿆ڎ��ūi7b�eH�	�n+�s��5�4�/|_�t�9��H��^p�9\��\�g?k�Փِխ���O�z������jE#�'��o��'�H�C�W���X�)D$�+��Bv�qT,�2gxS���T�#�SI�g����j�-�٤D�]���&{隊��D01��f����;�j��^L������>5�!Y�,�����`k�����u+�;���i�'8�H=,�T�ěz� �b�{Tbg�%���0pq�ؤB>nE[[�eҖ%��$'��q�v�D���@[�5^��(�H�x�l<-�q��5��z�S_Y���52�m�(-�`����ѣ,Y���{VrN+By���Jum'�z
�½��;��%	�J��4ۛ��d��(e�.qU{+�d�-�{I}6�U�]r�K�D�x�c�=:S�d�n#wӬ�-!!KeBg�=qY��tb�->���m+E��Ϸ��ϧJ�ʝl�0$�,y�v�Fr��Ɣ�ѕ��qLys��[�ܵo�Kml�"�����G�j�6�h��[Mq�,RF���3)A�zg׭4��94��p�
i;O4��I��B��֜��@����ph���9��t+�w`ըːچ&Z[�!�!�sw��JAi#1%�OZ����'�"�������I��H�G�"�!GS�����xv��E�e�_�]][]],�LdF�s��Pk��Su�Ag�Umھ��V	;�#o�Z�M)1�����:�UMW�u�t�Y��%pМ��#�z����Ao.,.�佶�!�2�����=V�x�{P�L>�XXA���=�[���z�Fr�4���jY�vB+}�A�i�Q�$��գMJ)&����C؃�)��f7�l�=OM�ԒYc�H��|P�8<n�W:����;���JAj�c�_��t#�G��V@�mN|i�2E!��Έr�䊫���5���s�ִ��Ӫ7��V������cJ���n۲Dm��>�R���m�:[�	i	j-�
�>b\�eYOD=�����'�pA>��cJRm�|��f�f4�ƃ�SH5��]���]F9�>Ya�
%d2`d99�쬖df��8��ȼm�E`�IHV�DH������l�gҬFB�"H�Q g�T���8=ksMX�S,��S$u����&A��8JzC��F$���bw(\S̨c�Xqژ��8�I�=:����yE�bV��64�2~�K(����0*[|���MɌ�}�qN�*㜚�byF)y��?Z��������=�=F�'�ӣx�{�=�f�Ƒ�p�&�
;����5#%��8�T�S�'�y�
˳�6����H�3M�i���
Xq@�ezR�r0€I��n,3@	�;R���.�Ґ�4py���Zm98=���y���L�Kf��}���~���01��Ո�n.�y"�xO���G��!��#�Q.q۽h_�ދX]U`�@�ƽ>�SP������zt����G�jV�h7Ri���Ҹmbɣ�Ue+�#ޮ:36r7����q]?ÕۃwO-��n�o�#��3I��p�p�&q�Ʋn$K��
��1����L���t(��pqڹ�_|�6=�Z�&oB�eK��rd��֪["u��W��C�ځɩcFLJn��l�1D�	�}��5_�_�;�J��v�,�)��Oe<�;�6*�I$eSE��!/��=R�9t�[K�'o)8F�8�}t:���[Z�O�{��pY���*cZ\��C(��}�|9w�*{mN]^�M�����C�)����?º;;Y�;Ȭ��.����T��iN*1�MsRQ��µ���׿|�t/)�}��U~1]Ym&|�'�4!�F<�/�Y΍*��������9��ro'���Iu��	$q����B��We%Ƨj��om�����(�_��?��H(�*�_���K~�<kc��펛os=��Ǻ�ݲ��ar:w�"��Q�m&�J�Ӽ5k�>CG{�,;{���{;F�w��m��Am"�o~����{cw��Y5ÓtHK?+,�ӟz���S}E�We�?J��/^�H�o^=���Z��W^�ⶽ�E{:eB��s�#�Y9&�}�p�;��d��ミZ�A�)y$ێK썬���5eb�ʋ!'�*�������1`��x֎-�C[�y�C֭~�m���+�渐�����B���z����]X�ݲ���w���5_/����NJr�n[�q�˖Q��4l
v3����X�^6�E����D����u^�{A�#����d�2��v�ۀy�^-�/�q��IK��v`�JOo~��3JiG{�����H񖿦ٝ>�T��Չ�8�^��o,t-n�'K�N�S�}̫й=���9s/6��~�t4,�Ox���/$m6�y"�$n�_a�O��[x
����P��>N]���{���{�-\��2aMۛ�g���RK�i���;�窓�=۶n��M��R�{�{}�L������}E��-l��Y�%���1I'��.I�k��$a<k+K*G�r6�+�6��$3Owo3��s�S-�y�.��F�=x��X�5΢5U��2fO�B���HM���9��3�S��Eb��=���%!
�#��?ɬ���"�8��&M�����\�����ֲ$���lD9�}�6ʰ��Hw7@=OaR�z}���7F�3]A��f�w�������/_�ž���%�Y
õ���c��By f��R^Ѧ��9*E���=H�vk�֤
�������^"���俸Th�+83����G��YY-�r�i[K�Q��ο�=�ң��O%e�C�Ǡ�5��Y�ծ��Z�+�,���`�7v�Z��۱sr�4*i?�|s,;c0pnnB�p�aOs�
��?��W�WXaD\�e?��U5ʮΈ���C�k�#�QM�h2+��[tc|� {��ƹ9�%���s��p��Qv޺_d'���w�~���@�y­͜�q��==�s���:��g�n���<�y��֧w�CN{F�L�Y�Fby'8�F��;[�Z���@�e�>��B���f��]�z?w�շ�[_�Mx&����`� ~b��m]J�v9[��{'���I�yߌ���-m�Yk�P�~���뮤#=%�c��Ik�9�}�A�������4Er2r?
�M�˨o�-J��W�|�%Q�	 ��=�N��m�H�J߁�.����W��G֡mM���D!	ۀǮ�<�Dl��ꖿ3ܴI�y��=�E����%�k)8�O��*3�ʪz�pK����ȻbT��)�i����g|�{1�v��p;����/߻U�*��Ы�^��W_ӵ-N���p��_��T�Ү��5�F�Lnm�p=�jdޗ��=D��?���pq��##ך��^%���I���;RK�И��\M���&B�{���S|3��
i�6v��J]����)�ic�ir�c��t~:��nu��TX�g�A!�
��
O�x��h��J��(���`�Tە/��Z+۩�u���N"��o ��� ����,C4W�`�%B��S�r徢�W�C9W&��o���K�w��3%������J֬�R�f�v��LJ��J㱭�"�֧sukmo<�$V�V=�L��v���Jo_]��V�kng��n�������m|��X�m���*m^�l���:�v���E��)t�fA�S\��1��#d2�G���Ȥ��
2ZبSk`S��K+rUm�5(�nv�>���bj���?h�k��Ҵ�kU�)d�:�ˣg!�q�R����i�:�x���֖T6ѴL��f;�^{{�]_:�Y��v�g&У���#���O�2�+E�������%���D�]Y3G�B�v���QIJ�(��R	�WB��Kq� $�W`	�#�m��ܘ��P��f�n�T��=�Drɜ��.H�-MyU������%��ʕ�Ѐ�9��q�]�t�/
x6�I����/M�|��^:s�VN7���ͽlbxC���Hn�fӣ�F���8�s�=�>[�<�n��^N�c��Z�Z�n9.��:=Ōp���09�g���݄��i��ЈT{>��;;v�ej7��\��\(sU�sH��BF�2H���ԫsЪ�9�hji�M:m2I��c�ƀgq�'�g�3T(njݺ��\�����>�QC�_Y�Y�'��䊗$�<�F{�#v��x�S�G*}�2M������EF����
c\L��nM�*C"I��$�`�M��*�H˓ ƚ`�6M+�trM>;ph+�|F;T�r(+;n��T��N6��HOB��O-��@���Kba'�3��&��"��Fn��]$)u ����j6�r2sZ���Hϵ7�#d�5F�UI�p�4Ђw���W�p)d�8�\�:SԒ'x�	�\�y"��ƈ�TP�Q�R�q���a�C���C��8���J�w<P��8!Q�x���&q@� t��@�=�9�E���V��զ���F"I��A��[�%��p�0��Rr���D�fG5��㩓�Z�:e����g���U�?�pq�M*�&��N:S����W�[]�Y�H�y^(��RI��j�nw[8b
�6�~����g��W��y�-�wE,�5,@��A�;���)UFd ~f�2��Ȕ��B��x��cR��$�c�K���9�^Aa�2���$#�I8 �
�5�X!g�\
WV�B�]��Ž.{+ieMJ���0	8(}EX��q�Y�(\�U�4=v�g����s6m&��đ�B�����u$}*��uPV���s]?È���8���]	h����w�h��[�;��FU��G8�K
��c���9"����c4��\�uNvt���Z莈ͽH���4�彈���rd��1��$����s֡��M�)'��us��k�g�}wK�[[�Λ��9�9�N�3��.W��S�.���.%��;�$��=+��<=�k��rHc(�P}+��T֤B	�S�|j�j
6�u���١IH{�۾P8��rk�16���ݲ[i�L��T�>�b������*���z�|�={e�xi%�v���G�;�N+�'\=�zd
�I<�s:H0br
:�r�q�W�'���_���7�Z���b�\�ś$&y��U��Sr&���S��MW�n1���k���ZnuK]�(Ϥ+������@�q?.NNI�Υֿ��Y#�.�/;�%�Lc�8��W�E+Enf��SK����mg��5�n��'�z�/u�n59u�-�""ǨL\�ӧ���iI%�F޶�Ȼ�MJ9�]$�z��Lm�a�r��N*��O��:��#����]��X�|�_�֮�.��多�jpz}�Σq�#F\��}z����;��^wm�qֺ�����"B�Elh��J'c�C�5Йr����:���+}�{��@�ؚ���/`�.����Y�s����pWN׻9���nL`�N	���Pi7����X\_��8A;O���kCy�
�xOD�E����jmeU'e��k����j�]�DՐ��PT�a�3ڹ���K=���KM����N�s�<S6��?Z��<	|�`�(cP�GRGzRM�������4+;��X�P�в���|�VA��n�1j�-��WH
�D++���N{~�VUj4�W�Y����w:(�<'�;�YD�&BV,��zf�_��߈^��\��*��[�`>�_N�5�z��1���!�v�c��q���&���?e�yܮ�ˎ���<���պ�v�v`�䁒�ѣ�cH4ʾ�Wկ.�u�q����z)��[�Y�M,�RG^Gj�i�f��GJ��!�w�J�T�T�y�;����lq�0κ��i��I�#X���e嘿�r{�ښ�L������'��7��6v8!pj�2/_l(�c��f�=�ޔq�͔0����ހ<G�>�՚�Ϙ���Ƥ��#�~*iZ���h��=0A�Oa^Q�kW׺5��}mj�~�Tb3܏�\\9�V��f5%������:f�b�h�j�99���&�n�
P&�M�P�1�Ή�����M�[�7uMYe��i*��*K������&��|77����'&�bb�w{����;��ä�K{��3rT*A�9�N���u[]F���#�ξ��$��8��k���X넹��!4a�
.��]��+I�Kr8�yv�2hb���+c�������Q껢gQt�I4�o81F#k�Cު��#|������ԇZړm�N��UbC��A�UDD�/6x5jW.59��� ��e!�������t��Qi�ܝ����wC�U�PzⲔW<e{Y�5i'ѝ��n.!�Ş�0�ݓ�G&��ŗ�[|@ �?t�^OC�����4��K;nz�k{o�۔���0��rz\?�
?P�|9�XX8�<����$�������0��.e����-�=�(1��X�5}���x.��9L���R�GnO�ZP�=ΚR�V:��HWlH���1^Q��~��ծ�zVW�;e�,
��X���F#JN�Yhͥ��M,q������	����O5�A�z�#�ۨ�k�>lN�,o��Y]pA�F�R��Fr�ޯf��5Z�m��yd�����Oa�5�9X�;&w��3�5�m㌙�cA��y@��zV�����C:���k�\�[ܶ|�~�__^�i9Isl��Q������|M�}���C���/
�EL��o>��z�`ds�d0�Zni;u���zo؅���4�n��2=*��溳;��4��f��jW�r�M$B;qa��Ӛ��<U�k:�զ�d�Y���,|��ӊm�%�Vv�Dv6?n.$�$�a���H���d�+7⟈�����m%��hm��rzc�Y���
/�s�k~r�)m�o�-�E�e�2���֖�扩h����3��^ő�4��q�c�B��dB'1�`�oZ� �V�l8���֗���I>�^���O���c�R$�v�����ƁS��*�p(���Jm�yo�E���[^y5b�h�e2D�(<��jL�wr�d��@vE�;L[yua����s��ǿ��Ľ���P�;�/�@`q�g�WlOO�ξf�������@Ac���5�k��;�D�Qеuu���:���'�X}�\�ӌ�V!�i�tVO$�����[ۮ�p��~G���U�姧���Z]�ͼ�M*�"m*}{��H��>�_���#>gu�����$��l�~ՠ�p����',=�U��"]WRK8�cg�7�+e;ž�W��[��>���6�v�/��N�ڱ��A�q�
h�~�Y�n�u��R}���Vҽ�ۡ2V~e�Yi:s��2��(%���ƹ�q-�K��c�!�*�w�kbճZ4=�D�2�w�f��9����*ұ<�?S���l$��V�V-�U,F:b����4�\K�Cp�/���tw��X�v��Ǖ_�����X�Е�8¼y�Ms:�����5յ���c�U���[S�W�<ɭ���k�6�@eQ��)����!�@ۃ��j��}��3��"I������x��X����xY�U8+_�s1|C�S]Q$�b	��B��&��k�zdžc��P�E�Vڮ��5���2ouc=O�y�K��lP���ݟ�$�(`�4�25'9&�$JY}hI�����3�*uL �4`:T�D�%pk� xb$��*[���Ё�F)�cv��HZ�Dd�@H���Q�<*��z2��*,��i�zI�z,21 �i�~�<p&�`S�ȧ�TW�;[��x!��e�̒1�GSJ�*�H��U(�H*F5�o�o�	�r:����PP�X	)b@�$}(-ݣZ]���ة�*-�PwR�7|�(GE�)ҚTzPȉ+��~t�E�=�gЊ@i�r�g({�<^�q�3�g�zn�%������$�庨��>�V��~�N
˙���e�K9�.]K9�܇�g��+��<#Zɨ��	2ё�������:Tܚ^G�^j�67pIk+�SYFB�Q�z�C47�.�jQ"��bA�Ǧ}
J�ꉓ���/�<	���Y���!
b���1��+���t+���{�Y!�X�<ϙn\a}Y�-����j��y��z�*�<v��
����|����]Y>���ͭ��j�����GK�K���nj�i�]^�{cѽ*�.�N밥R�YY����{hl^���M��A�8)��m뻊�i%n�Q�.g��.�{oii��`�O*x�0�|E-ԮUq����q��v9��ZW��$����t$�ݾ@��s[5d����&��&h�,�p>$ؗ��q�@�sEk��0��S"���Gr7��q];A&6b��1���s��QLa��:��1����P�E�:H㽅��5�Y����_^�x�V�4��4�(��ćeUk�^T�鯑�v���z���;I���w�F6*�w{�T_��_E��I���dr��%02�=���ʛ���P���#�4M}���{��4�.|�,�I��������j��wO�铌.�Ϛ=zW�W��Jz���sקR���S�x}��]L������8�U�^/���ek���;	&�Z"?���W�d��Z1K�ۣ�Э���^�b�W��7���o��VQ=��֡>6��[j��z���",�6J�x�Ԗ+͆�P�3U��vX1ۜ/��t(ksU��M������6V֮Z9Yr�q�\�γ5o���h���GaA�x9�k���M}�b���d_k7���&�s%̈6��|��b�L�����Ahok=�~KF�;��U��k�>��qj�a�h/��n�v��v�A%b���ܾ#�Y[�4-���~i^�s<�3Mf��B�w�5ih���]��|G�m���xM�p'�,�
��<�{tϮk���;1fwv,��%��I�����n�ӳ�h���4��9n����X[h�-�\���7�03�}�ղi��w�R���o��i2���pڄ�<��n=�w�^��Zk���QqohVTQ��s�湪G�;��1�q��sZ�����!�Im@!�d�8��TI:���_�-��I�js�&xf=��9EY���vu+.��w20�<M$`4Hq
�����L��k�)ռIw��.rB�G��*
���M�ʶ[��?�!��->,��<ϔ*���^����υ�g��-9U�(�ֺTR�n�2�3�CK�V�VS��Ek��c��8���;L�%�ɧ�x�x�O���$�0�M���Ii���A5�
�&U�W�n���
���������x�ogpܻ�-v�jOsUuMD�kp���@��'�����}��=_K4�y�\��wwi
dDKc#��{{�r[���n�6rE�eI�V&��]�HK�
h�����#�5W9��e
���
�1�9�o�V�;���[ɲBR�2F@�$��VuQv�Ϋ�tݽL���u�&3����c=��ּ�~j���ݺ��w�n�E���.t�+J+�OtsJ��r�k�>6���o�=���;@I8v=�SPE��y��me�p�o���8^v���tTZk���i��Z�q,��Jv��6oB���Y��[I�m.���k&�}�1�ϥw�
��ƪ��;�w�ޕ�xV���Ӯ$B h�?QҼ�"r۞S39��Nw�5�J�["ן�����X� �'x�!ff�r9וxK��v��yu%�x��x�I �����S%y��3���;o��}�xf�@z���nE�hV_��[���A���j��v#�I����<]���XU?��kF�S�zן��Aqu#[���W=?ҝ��q�ٔ�4��,M�h���*~��.�$��5[r-\�E�x�8l��MI��Cg4�sW�7��ĝ[X��kKFB���&�8�:v��U>%����Z^�J��yd�C���5qJ���&i5u��CG��t]=��1i�O���{���Һm�Y]B9/�b�4�$�<�BIN8<�^�K�����ة���<^^�#�Hm&�l��}�Ǧ
�x�XbX�]�����2q��s�
��ȫ��ֺDQ�y �‚}k�*'�t�h�!�a�^pGӽ<B��iY�V�����SB�^���2�9;�K��mKM����fV�z0���{�5��N�;8��zOtCqf����G#%O}�A,��M�㷑�c�cJ9EC�y��vW����:�:�o�#�og�8�v1���1��kR��ֵ[�N�g���(: �~�z�#��hi�L��Y�MRi�؇i�t�u�����8d�����B0������+��>�7�Nz��0�Q���Ɨ��4����`;Q���O�
B��_��#��o���X|W=5).W�Ҝ��nW>��6��ȧ�?�K��HE֙�#Z9?4�e�`>�����3V���M=?1���4��$����b&-����A[[O2ں"32���B.�3 GeY����i$��<��,^Z�3���Ң�EQ@��R���Jr6PԶ�n�&[7���-�JW3Ní��,~oOJ�:�r�֯�K��݈�"���І�`��r�aZ8G$g�P�m�
6�g��D9T�CSb۱xZ޲y�	d�rYP�>��,��m��nP��!<q�YJ]A'��K}u�t�X�t�!�A�c��'�c��Id ����3��!� q��D6��vq�3��k`�"��5k�S��Ísf��
�2�>�5S�{�;h���߉�x-���ܼ/�4����=�T>$�Ω���LYf�SzUc�g��l�q���W&�_̛-_SpiW�~,M5�Hs4�AGO`{�*�{7�m����ױ�O4d.�Q�X�w>]��w+=����P�|R[]}��$
@l��~kmv[�����v<���M���X>!�d+r�9۴��/`C�����b�X^�қ�W�❬]�Z��nBeA��m�U�4��myj-,�C��{�*�F;���F]�:�vowqa<Q�*�#ʷ<:f��3T��8/,&���<�2��럭�%e�c7��7"�h���G�F`�"�>g���_�Qi�K��"�qgP>�'ֈ6��e��o'S��f����4N�����5��΋#O�������H�f��u�J�m����N� ~�OAߡ���0ù��G(����aVy%`V0
d�<�x`��C�P�w��L��lU��R9�f�Eb��C>��['O�(�6`~�QWdI�����2�N
RtQ�$�)
+�)�!�F)�w��(L�(݁ȠC|��v@�3N�h�\r
=X�h�#/9��]�-E�`�5wK�}CZ��ID
u:IJ�D$�5-騍?i3xkij��1ܪ&T�;����iPi?	�?�
�\O��I�T����T>��h�f�p�/+J�[,�$��/�Z�"V���
&	�a�ի
6�Ri��?1����Aԁ������ő�^,���f�-W�Ǹ��!�>�m��Cse�[��D���ҥ��!=�"Լ;ekn�t�K�G�ǯ��]��}�[�Ogj��h���z ?��P�11�k]�:=�=�M4a�y��ǥ?Y��]Gm�/l~��
7{�$���	��[h��8�y��8�l������8��l#T�<��M�����?�a{�k�+O%y��A8�,4��}yf.�f��qO��F[6�������+ՆHQ�~��^��x��ž��Y��H0+d0�����=n���1�H��F���E���Ork�Y�t�[G����N1�⹧7��4�W��kgse�?%%a�#%�Y	�OsXz��.�.�d8��T89��5b�ŧ�Lw6��&�`w����>�˷�'���+yv�U������~�T���4:7�����-&��\��j��ú��t��k��u��B��G��k6�en��;l���:��=�PK*E�J���~���y&F���Nz��fs}:���	�I�%'��+��F{m8=Et���r�˃ֽ�l�W�gD����\�\
�j���=�{G��g9$t���J���d���cN=I��D��z�oz�</�=��l�$���;�A�r(��F�ہ֘2
C�ht��V'�]�d�O��{��<!�ãU>]��K��a��a\��e=��ڿ���xrH�#���h�_�@�+#��Ic����B��=
t���Gd��R��D��4xl5/�}��"���?�j�:���v�w�������ӟƹ�v2RJ69�ZmF���$��G����:ί=�ҕ�\C&�����^_wMnZ���u�}~�Mkۍ.��Ő�
���	>�ޙ�Z��\�Nm�껉���:�+jݙ������dX�!C��{��V�&	c�t��F��,Ah�	#�M�.�]�Ƿ�������Su�'�t����j�]��l�j���﩯a��i�*�FS�`r��]]���b�V�ovmX){`���S��5�Zy_Re+�^�w�X�#��]l����wڼ���V��7�|Ao)2	�m�c-�S��k57��%ʒ�������[Q�F���́O�L��x����OB�"�����Ϥ1�����g�s��v�=�2�Z}���3Gm2F������r��+᷆��)��A�O�|G�2���&���6ԬԖ���$۹�c,
Ʃw�=��3�
���<O�x�ƚ���M�K�XmgS�D��q�z�޲�N2J)��dTڵ��sA�p|A{moc�3�*o����=�;T�|2���<"��Z���P�Ў�8�q�{u>�ԋ�S{���To-�}��4��w%�w;��$�&���v����j>�ڊ2z����T{�������m��*F)0 �Z�n�Z�O�?���?.V��H�d�s�������8����i�]KfI]|��>�J�w�Q�h�gPҚ�v�������G֟�,�I�nm��G<��-@����H��Ϲʞ�VV�U,�6?��E����ff�<AD�̕����7up�]F��B��#v#�E.�%�����
� ������M�%�h������ش�{�LhlhJBy�e	PJ���@$��}3�M*�^���))�ϸ,2ŏ'�kK�]躘U����|/�<@g�HZ������$�d#�z֫x�E����[�r��r޽)S�\S{�*M^Z5��x.�A{��M%���Ɉ$L6���޻o�4х�)pr	�eM��i��q��/s����� ��Ӵ�cr��w*˷�95��2�{�oG�����n=sU9K�ZtgD$ޒ�G�����N�e�ZZ�\� �x�~��k4�u�Fo�<q\�k+H�&���詜9%̛�T8��_��x�~(�3�aj��G�Mm���rA�5�x[^���]�4�L��I�f����n�r�MI��z�}�����]A��3ʚ��VI���5�U��Շ�?2������k!���.i[x���V�3�6�;y���d�I�nR~�+���M�˼�@̻�Pn#؟Z�i�ױ�(8=G�p�s_C�,�������Wx��Q��I����O��s��i7��|�����
���$�Y<��[���W	3����Ө8%����T����sg���,2g�¬y��7�����4��5�v������a�+�#��H;V��L�^W���ϊ4����
�� g9��]s���5�����[���^�gd�=h�W)s⾽��m��I�]^�i8��x�����!^{��Y��؊�ۭ�iڋXn� ���{b��O�e���hB��g�j�0I߫�ju��;y��x�o:h2!�Rv��I5�-��d�qJ�i��e�)׏�A�J��I�mUɽ���Mm�Kvv���@�>-.���ᡷ,7ȣ���_3��un�3oͬWs.�\�n�ѐ���{F%�3�]W^�]��u��:�{�ih�;��٦��>X
2}}�׉~ �>,��#(�KR~�`7�؜�5�*1r��b�H��Wmܩ?����^j�n�I
��g�ەKM!,z����5j*�ߕܠ�+q�#8�])�\�;���6GZ���:����$�9�t݁'=qߦ3�ZLoc�����(L�Jis�)���Rg�zL������,+"d��T�����<��@�-���ŕ2z�Fsw)HI$�H���74Z"qo*����aZB���I�Tb���n�L�v��`�i7d���V�7�7�
��O�5�؞{����m�r��ͨ�Qb0D�<��G"A��6��ƣ��*
͎�����X�
��,姉[�+S&�.���7r�M8Y;�Q�د{t��"�ٳ�Iɪ�9;�$��L��Q�)/1��jnX`/Z<�q�6��G����&�z�)�Y7vL�J���W�?_�ڌv����iΥY% �8��^��鶺����֊�!,6T�d���(�?.�N���ޝ3����t���T��$Q�9�5��[[i���Z�ݦ����x�Jo��gRz�|��ic{�8��Ps��M ��b�ǜ���R) �v�g�)�TOR��f|�����X��hX�w©�H�+��6ݧu5.�^��;�%��!��ہI���+}����#c� #�Fӊ}�ݿ5�I���
�L�Ȧ�"�OE�ݰ�"�D}�O���NI���@�@��5wr;�㋹Ԗ�‘�^��*e�1n$Sv��2�<�$��ޭ���l`�b|���b�#��O?�?�$�a�f\��J\����TH��H�T�㠫%��sl"��4!��ý*�O"n�	e�]�[�=�zw��
YZ۱@v��g�ڤ�c��.%�UH�$Lq�q�W��I��c���υ�;��[^8(э�1�qӌ�ޮ�K\K���.i���"yG�o��s��]��7�]nfXh����	l-�;G���\������P�м3�Y��dQ��jGԑ޳��gn��#˲G�j�–w7�QG$����ێ7qןZ���?m�_�I5�?��y���v���)����h���7��N�Jh-��."�fPRLd7�V�D������&�]�K,x�X�5J���a��k�Ƚ�Ӹ�I4�D^�����{��呶!#�@?�:dډ���l-P��3�c�k-��Pk^�M���o��^o/|y|����[_�tX�KO����� Žy�=?3YN�����>��u:���7�AV3�����b�ּoec���H������֋K�E_�3������	pb*�z>��+��W�$�'�`,�<n��j�Ջ�/��`Җ��`�W������K'򼡍����k:�m��/��?|*���|��?�Ⱦþ+�t�U��(%Q(�T��LUBMG]Z4�l��@�
'�/s�]��x�s�w��:+��s>E��Z��������/u��̏ߛ�؜47k�q�׬,�<����L6�!��a���L�E�
1��Ccp�`Fi�s֐��9 �Tl:�1�9�5�ܴI�b��>��6��MHi��V#l��\8�s�/�Y�Z|�y��X�QA/۔��h�A{y7�tˋ�����	'�5o�_�j>}96�s�uM:>��U��j6󪾞�"bH�s�ב�XדM�����.��p;(��XS�~�����{^�xQ"H�{�y�m�C�<�1Xi)��J�xX�dn����)uV���.�q�]U�'.�ow
#FUݐ�8�z�����u/�fP$�c����ҭۿ}��vH��|4������ON�'/w���c�X�֭�58a�3rI�#=������
�Vv�w�#�lt�ڝ����,��!�2��Oj�2�_�4.&��H8�Y�-K{�d���g��O�h,t��7�T������]w�wd�&��I;�]I��;�n��c�q��)_�4/_i1�r[�bW#���$��Op�f��r0EuR֔��]��;K‰g;�l[>����k%��p���V���}��ڬ]��B�+���ym͢4!�Tm`�b�g�F��	_�-�tTY���������AN������P�;��N�N���[香�,���[6�YZ�r�q���w��Ӌwj��E&��GD���ٖ��e��k���	�7}�Z݌B����
�lP}{ƥ()'k69�������z�χ��zLc�)n���nt��3Y��ﹼ�vY�����rO_y=�$����=��_�%�Mg[ŷ+5�¹��ˋ[�?Q��&���B���U���I�kV�g}��I��?�㍥h�M��pO�{���G�ii�'�܈�AܟS�{�\ӊI�4���<M�]j�sBPP~��Oc����U16��B��JKu*�E��7��E�A!������4���Y0�� �~��Q����̮��	�2=��fd�mZ	skl��ǘ�?�K��w�W�n|�)���RX��ǵrwS온ḅ��.#�=�Y�q��AY�3b��næ)���$�39<�1�4Ά��ox.�n�G��[�O7����j��k,�I�R���Q%��RY��N���q������\��a�ֿq�x'Nӵ+ /F�Wk)�DZ<�#�5Ԭ��.na���˘�z���tߴ�ʴ���c�񏆵�?ƚ]Շ�wvI?g"=��%���9�\Ч��H�{�Q>0�s�k����1����&X0���m�}�	C��o�6������N�k����k�ԡ�|E����4���h�A8�9<UO�K�xr�T�.�p���Y_�qYVW�d�ݵ�!���,��չ$�p��Wj�Z��)jZ#��y�+�������־ь[���5����m�ٙZ�ט��=x�xc^���f�+ı����}�
m��wftFI����x����2F�uaf���������[{�^�X�#c��;��+E�g^-�erƚ�F�̷�m�f8��]o�|(� �m�/��"4R�q޸��o^_3�4y�ih��a��:2-����	�4�Ts��P4�3����6f�XiS�d��e��TT���Q��N�`�0��A���C��űɢj�8nY
�ߩ�{#g���rpU�Ğ੧e�=R��U��h�8(����m�-��]kŷ����(�WiyQ�>������KO�<�۳<�V���6�2��/�?,I��^��},	<WB3��}��EKm��nTt��Z��C&��Y�/����'�/V?��+R�/jV��k6vo�[�9�d9�2��5���wz����"K��J���V�j�ݢ��z���
G�\�"�H�;��k��IZF��	RK[ik*�$���sBV��GFS��ۘ��FsR��]�c��$�y{OzX
�`��t)hJ��|
���ǚD�1�E�nCZ U�=�J�1�FФY�8����y�Q�t�,B���:��a/�w�<��v���+hR"�k�j�#q�px����k�Cl;�>c�V�e�\��R>^��ٸФ�&�h��y�:�L�b��4��(+�I�54J�p�E.�e��͓��ek6��Ece��bDQ�۸�����Z�ءsm5��ב=��.RH�r��Xw."�뱫z���)��!����dM��1'_z�o���(�S��(�!�{�b5*��M+ZF[+��$̵�Rt?N*,�*�+3X��Y'������=��$��R����)x������aak$k��f����9�_�v1�7SҐ�;�0mű�`.1N��BiDrg����?ʔ�cp1�At(
��k���G�x�pe8)�Q��2�fu#̴������ѕbU��G>������Y�ROZ��)+|��XJ��Kw��̻�O7f>a�mn���JHTrz�'r0�͞�'��-VP�	��I+7'?Z��7�⤜Y=�1|�g�<U$�3��5<Z��dԭ��.�y�t�6�9�z�f��X�
^0|���*�N�X��J�D�\��j�[�Ɛ����A#������:I��gڀ'� ��-�Nf/�:P�`��$RJ��c55����:+8�j[v��2��)���t8�P�=;�4���	��ŭ�r�W�s��A��4�/Ś����,�rV`�o�<
LFV����)�b�$�vȀ�|�>��[�_
Ɓ��y�'�'��41�?��*��e�jK6��x�6��i�u�[���<Z^�t�-����;�O ��*:�����[I��(�-��knmYlmؖ-���}>%ƭ;j�/�$$`!�F’��w3���l���;ՠf�PJ��ad����U���&��Z���w����U�OZ��$�ª�]l[�����"Hl."�i���1�	�ϵG���|G�ko�,'|Q�(��UJ7��eA��,��8t��
7
=T��Kw����VHY��pCWxٗQ-��-���X��/�8�䡋�H�}7�ĺ]ɷ���l<�W�6=p(J�����d�5خ�}R���a���Q���*����hSM�M
�K�<Ū�)>mB������ �K�����i��r_X[����F���)5{�K��롛,�ܰ
�?Ҵ��H��,�0�S ~5w��P������̭*�i�#�Vcp,@��3�=�n]�G��yt��B�J��֧���Ϸ�Lyy$�v�q�Z��ىsK^��Auwu���u�gM�{K��IfRx /Q銧oPgY�YKn���Z�k}AD��tGl֯�n|7�Iu8nw<�Q.ג<� ���Y-S	FN�"�PK���+*��t�SQGI�c�WtNy�f4E�Pç�+м/*Z�N��i��s7�E�'w�j_�����0}��Z̵!I�*;����t��R})��,z��R1�ޘH+�u�8�H3P�@:�U��;��k�"��7�N	u��Eq���!�t�#�*��vF�,�\F����<�U��jwS}�(שּׂ�_5$"2;��~��:MKM;�M{�_3��$wܖ%�\�'H��S���p"��Ѹ���=O���7<)���Z�WW:|7���>�9溭7D�������mg�ff>fP�9
}���U�O��5^˩�Lˣhǩ�^B�p�r�]�|7qj;"�R��0�1<���Zr��uا+Ew$�ĭ�E�8�䑗8�Y���?����I��%��̰�@�a�x��yTj\ۨ�2�.k[K�%��U��<;�h��n��N?�\���_���U<rMrI�a��
�ԣ��Brrӱ���g�!-���;����#���t�y�P��cXˢ�'Ҋ�k��̥�̛�>9��k���.e�}����{}k����;ox�����K�I��Q吃�q�?JP�To�?{^��#��O����{?(Da���-2��9�6��:�w)$����Jt_:w��#.[��{�o+i��4�u4i��1�k�>�]��(�d���Iq#:��wp>��ڛ板�7l�{G���(��4^�k�[��h�,t�×�;���V�_!�$M$!Sg�O�V55��m­ޑ��
��q��rZ���~�����<=}�]�RD,��V��Fp\�ѽkwgfTo(�[�τ�c�[x+�۸�[tÏ��^�ׁx�����چ�F�$4=v(�'��j��JI.�⌮�߹��c��Ӽ�~�_5H��4[��W.�ێ���=kzҽ����ǒ�>��P�I��?�kXZ-�����2�]�X�p�2f���-���0Ol��ǧ���:B��[�"S�}*�z�=��*�v���dm�X��ֳ�Y�����|��̠�\�C@RԯY�%�>d�������¹�nJJ��[q'�M��3'}��=��fL)�QДSa�)�Q#D&N1I�pN;��q��ᯆ���.�~�LׄMw(+��~��^��/�e����t6I�^8��\p��t��IB-�Н�vx޻��}�_k�<�X�1��K���UU��B:�����A�-<>l<��2��ܻ�$�3t�"�����{3����1�KQӮE�7WP^��n!Ƕk���~^��U��[��W�����^�jPij�!%�-��e��1�j�VY�<������S�ݭ/����7_�X�I�	g1���|�x��c�S�^O���I���H��~�S��Y+Z]Zz�%��pI�
mG�Οqf-7�=���s�G�zW[�_�)�K�cwn���s�ҵ�1��o��f��~-�-��.�o��r|����\U�%��qbf��RH.� W��n�~I++�:��N��~$]�*9�R$��s�BNm���\޿��k��֡<�&�nW�U�A^˨���[�w))$�z+�?Ö���$�D��yI–?���K�[Ǩi��K�������nm�*��:/��O"�G=�+�]�v���]�5_[�ow�[��$e����1��%W�Y�c&�8�xPԼk�jP��Z�s&�Rr��+_U�og���2�*�̈́�S�������.X�5��To���u~�l��G�Z8yb]�\m�=��:W��B�~"�/���&�M��!b���1?6[���k9+=�>]tG�*�}��
�W�S)
C2�8#5��x/I������{{�`�dVv�;؎7�����Rn?̙~s�����IgD�-���X��*2{���Ѭ~%�K@�Ht�i��p<���j✗�2���q�x��z��%u,m,BX�k��]b
2Ү�5�gMmz�$���x����Zɚ͑\'�=�,�5���/iz�֓{��;����D�G�{�W㎷q-���[��h�k�ӷ�CWV�L��iis��~��)�EΪw��!GdP:ƱB*zY�<��)ǖ65t=R�FK�5�޽�F,3`Ds��k�^]���el�Y��E l_^z�4�ٹ�"�����xZG��*C�L�Ea\�M�S���I�iv����v��qR����%��u{�m��g�+ms��9ch�`���H���]}P�A�X���O��ɊbG������M�
���ܚ\c\r*x��A�Bg�%lR�)!I�OjH&�L�����Esm"�l��_�zϝ=7�B�����x��[���D��1�1�q�+>�������1[B*#Wj�sQ4W*��`��g9>՝��
���
4�W������j��
���]�+J�������pyjk@q��e��\u�G�pN��Cw��0��$W�Kik�K)ozm+���F�>v�j�+�d�}�fLo%�B�J�*�r
�>�s�����F�'�A�8=iVU
���Y��V��(�O��fЬ0�OzE�s�Lv�۩@����JZhipzhW�"��H�"�ZS:�Ը�b7��Z�Y��ӊ�IX�K�<�(c�=M������4��y�4��s@
5"4�!	�0`~n�эؠ��R����<J	#g�G��6:P$�Kqr.;U~�^z��"�`8�B���ʧ��Ѕ@;�4�4�(�@_��H��P!LJO5��j��zݮ�fU��$����c�Ѹ�����]ı-��e�d���+�o����jQl؞\�rT�ٚ)w9-WV��U}2SA�$q�3�Y����5�q';�x���tL���v��`�i���ƨ@�a���W�,��.��v��NH��c�Me��D[D:֩�^ڷ��$�'&�\q�~CC�e�qq��^YF3�T���w����C���ǻ�I�&�s��qX:���t;��dmN��#�ʘ��Q�PWVe�Ehc5���T��B������M>y�����Xf�}�"�݄�6�$o�ŚV�i��X��k�yn7
���>�V:�e�N��ko�`��*-?&4�Mu4��z�Mi$[LI�3�M7\���j��v��JʯcBI��r�9�ŻqO,�,/€�+�EZ�o5o6;[������9%5g�-��ԥ3��/�n��)�2%�f-��ST���m�l�m��5��1[���U�`�t�X.\ c�zMj8�u3�o�	U��dPQ\/8�5�>���`�g�ɹ�{g������NiF�sׯ<?e�9���8�"T~9��qq2�jW�ѸgVD�xP:��De+�tBn�]-�$R������3����i6߻I�1%�(U8�>�I��-?R�j�{(&���ץR����Ӱ�裊e��%��eN���ں[X�������FP;`�%�%db�Ȋ�3��Š��6���/�؄R��y&��*�j9�m�����S`�̥��:�`lǷ�$�1�>nz�~�qRՆ7v3�M�"��М�qڮ+�}���b�Av�����V3���6��Ŭ��6 緧��Qy�J���W�Z$1_[!D��H��OJQv��!ſ�8h�����Nyr��N������W�-��id�~k�B�F:���C�����	�@��:��߆M�o^�Fm��z
��בEo�q!�qD2[�zٸ�n���m$�xn`;]%<��Rvv&���+꺖��X��k�DK�H~L��=�sV͚�*��0�T*I�����%���|C��qi:z0p��{�;�!�k#_�/.Sͷ��b�Zo�ƽ�O|qN��EZ�q���tַ�u7c�S�.YG|Z����|]cog�i�h�[��>g8<��~���%ʗ�ՓfކԶP��d,�y�ؠo%f`�Km��~�4կ��K�[L����Ke��ܦ5�Wߎ�]f�ֵ������r@��N�=�A6z��+�y�`����7N��`�ߧJ���;�U6�YY�T��UU��z-���c�Z�L6�ڌ铖ry�+#F��owZ�Z4��%�z�&�[�yE;k�ٰ����^j�+���n���z�Y����5k��+q�=�GZ��٩�ܪo{�y���O�-xڥ�w
���H�:T�<g��	��k<�]ܲ
ɜmg-��X{NJ~����Dd���oC�o'yd%��ve+�T�Õ8=�ӵ�i$w�
�;�i�i�b�nq��&�ox���3�ŵ�����s]��&7�͜�3��\����OZ���?21�&�lcn}=�+BZԺ�5���ƥ��1�����wgl�h`��qɧ}�bv��O<aP���s�
��/�3�3y�:;Vmh;�o$3�.�UF�̧��;��l�����FvX�$�BG��4��$B���7<�Y6h��]�<6�'�}����\]8t���m7�}��~�Ư1(�;?���kȾki6��kWD��]�7d9�Ɋv����kG�����Z���7���O��vh�I*���{�{�wO��/d��p�lK>	ܮ{W�

�ֳfR����]�\�=��o
ϛ h�H�����Mz�tx�j�ЧF�[���,])_tȅ��=V���GW����̸�bc�3��MfX�����kX�,���}���d�Ks�S��@�j�;�f��ydO���׫z���֠H��i��T��]�R�i�]����M��t���mY�k{)����U%���Z���=IP^��8Fܻ�Ƹ�h[$��a��[BCyJ3!������ԋr^�ZHδc�ݵ�y>��7��ɦ�����Aˌ�����x;P�5��G���YFc�ֲ�me�JI.TY��O�#Xuk�qpp-�ɛ���������K
_ưCn�����'�����Ε&�v�&��}�揊o��ʰ��8Pf6O�i�Z)�4�֯����C8��B����xk{+�3�_�4Y�:n�5��&�=���|G�
�'�,P6n	 ��g���
��\�:����͕��Օ���躚�!����2�;cҸh��41ge�yD�^:��vj(TM��l4���X�3�7mE$��
������uݵ�D~S���mvu��w�i�%��h4k��&$o|tzu�ףx�Þ�?��	䳆g�W���`���V����=_A�)�g��mu�G7�4R4J����Q���qV�bROaD��{�Y�����]Maj
<�B�6Dr=j��z$-�ڷ���d�T���#�؞dB[OS�VW�E�����4-�Dr8�m������ 2g���ֆ�۱�2��$�H��b�D����{WO�_�sX���a�Xa�����ߞy��ۨ#�\��S�Ƭ�^��Gq����~\�ċ�Zd�a'�}�s�ޫ�/���jx��w^$k(��VV�[��"��I��˭��k�>fG�����7<��a�[��M� S�=�Z��{{�i�$�ش��f"H���P�ֆ�hϥ@rNj�H�q��`��t�I��t�>'��]�~�ԝF���|�2A�p��� 6��'�~�>v�ZIX�nG����@��q�77�Z�J����mh�,�KtPrj�%�T*qϽ&�u�A�e�(0P}MA,
������6���
�pL�Y�mF0��`r]H�,��s�I����9;��K�d#�z�h�� 2�ܙ�Ss&��֛
r�Q@6�a�8"��(y�@횕�Yߠ�0��K��Zl�A�ޏ-Ǩ�@Q��g�-0Љ�F50F��f��$Ji�d���W�\Qg�M)�
���.aD8_�,־L+!�2��:���\�X�,04��P6H�y[��p�O�[ ��8Ȧ��&�+����H�`	�ٞ(yd�iy�3Ƞ{S�~�n% �cҲR0�2H�����G�k�h�X}���3���Ơ���@�=ph���\�&���"c�5��{PQ�-�Le$����@�#�
Ƒ��(�*@<��
c�Z����\�L����74�X�sO[�]�u�qg�8�ޣEv}�rM%��n*	��r]�z��F�y�[�3֦���v�/��
M�_����cb���v�\\�C��%�׵K�x~�ZѾ�>�-���w1���W�1�s*�WZX��>�ہa<�������*�ݵ��Ye��(�t �2VM�٪���D��f�d]�5',�x�qṟP�-$ZJ�D�8���U�ܷ�ir���-��Z�̓#�=��t���q���H���MC����}���a�Y���=�X
[]/Oү��˞���Hn�2?�V)��Y���H��kv�V�P�4X�h�d��d��=v�^����ڛ�E�&��y+�}j+�mB�Y����$��=�O+L���9����ۈQA*C	���jSky����"\�<z֓���pm�m˚	ݧ��<�J�ӄwR�0���z��a%�V�o.O���rPv�X�9�l�0,2}x��P��d�m�{���zs\��#bTz��/blT�!�~RO<�Y�4�d�7#�T)\��� ���3�{�o'��q�L����L#��f�!�KI�$V�UG;���آ&�vK|ſ��"�w�6�����1o�J�XEc0S|�p*�U�0�گ3|��\�w!F�憏��hS}�M�ɺ�%�8�M6�>�w5��4�Ss$�1��N
N�J
�
��R$���g`	��뻸�۔�Ҏ��
ʊX��ҝ���t1�kVX�umk\�^ZIk�E �&��	n���9���1R���\:��|�K�z��ax�m-#u?J�^^���[XZ�y,�P�\���5��$��ě�jǃ����T||�՝/O�M�z�Y�Wi>���Ϣ<�hzo����죈I.�2N=I�%��k�h��.���n�7r�7��Gןʮ�Rv٭��\��<��n
��.��މd![�)���0��E��t�Y���LW�|1�Cc�iI���Eɘf+p�*|u5�b�m�WЏ���M�D�ʳK&�ʎ"_��\��s\lW�\����0�7F��,m�S�����2����{��t�o,�FIX��FI���G��
݌"'-�}��g�ZT��^�t5�W*~G��hR���C6�0L�y�H[�����^�#�q[)hg'gn�}�xb���q�Z�n�m���Le���T��b�p�FI�5�SZznh�^��M䁉FF}�N	qn����c��\V�2̏���/�`d|�zS�n
Ʀ��*C{�h��@j^�g����H��a�’9Ǘ�L���}h�3*[�e�����a�k*Fٜ�I�f;��}��Ww�Z�R"ݓF}jb���{��kK��.-,d�Rԡ3��.I��{���沞 ���Ell	l�0�HN=��Q>i��p��.�RW$��W5g��[��]Y����;sp�c�X0a��`���reH>ϪZ�:b)��s���Q�\�4v�^��B��-/�ҋ�Ď����_z޽�
���A'��.H�n�~�R�����4�F�Nq��V��Z��|Le��{}ձQ��7r}���]6�ow�9_/3��u�܍�u�X��͹�(�TT��<Jl��en�N���+���[�y7c���K$@���DQ��\_��v�G��w��!��8�|�uokGF���i�sT�,�O�O*o���>��T|yr�^�&��T�٩�4ᶽQ�p���*ֵ	us*�*p�?
�7��ı��ȋ�B��#h����W4</l�ߌ���S)36@ q�}�ѼE�?J���9/�^%u/Ң�\��}vk97w��|o�K�[�
���Q2���i����3ۮElx�ޫa`5Y�&���s���{y�YҬ�x�.�j�~Ķ�:��$l���){���id���}�|C�����%���=)6{�c���Ӯg)r�7���m���j�W�s41�g���?
�ky.�{�
�c$��eO�V�jJ����8���^i[�$��o�3�@B�=oӽrמ+�|=��^�,#3����w�|���tku����Λ�?5MM��n��B?}�����j��v������:�y{��#'��8�J�i?��-�2���^�<����S���
"��}j?N7:�Vr��^Q1�ZGU�k�C�[k�����s��g��+h�n�$7�T��n�e#y�0H&��ֆ���j)�>�ȫ`j�nI�U��~�A�4Y���M���TB2y�r@��X���Fm��qs��f����TJ;m��lU#uq%�B�K�"=�(ϵRi��q���υ���
j�y��;�),A��ޛ�/cz�n
��@'$d�z�И���+/Uu*G�h�L�����&��9�w��,uݤֳ�s�br��� {��{o���o.IvT?,Q�Ԛ���ir��,�������xfY$������W�+�u
R���3
���3�ݩ�q�6���ι+�j��P�||�"���[��ЃI���ư�٭�ȅ�|�`���EqKb8T�5l��E��})�Q�vfd��I��M2M
�c�s=:f��\ng�N�Dح,��&�,Ƃ��m,Ҏ8�W;[tgu�"%Q'o���88F=���.:E����׭:ì.1@X�g(��R4ѶF)����;��2P�	�J��J6c����&�^)����Ka{�Ҏ£-�s��!�M�\��՗�y�S�H�"��C��xȡ.Q�4�Ea�28�j'�]�9��&w\Q;�9�J�"o�z:��=
h�6Q[A
��X
ɞA�M�˚Wi7�!��`�Ӹ�`sMl�!�E/�EF�[�;
�	Ao������IjI�!Ҁw�\ߟ�ɕ�J�N�v�#S�x�3����|����K����J��V�?��+�R[��b�Վ(�ch\�H�9��f8�&��d�W�QI,�G�@��b�[Q��	�\|��JݟC�u+n�I���J�N\������h��i��u,��
X�1d���P3�h:H��ȧ�G�6B6�����ɫQR8
�Zbd���!Lp��2_,l3t9��"�`�N��%����a�J�n�ȉ�h[��kGI�ި��T�s��)I$L���ojz���Uw����@��Y�k����.�3��ֹ�_�����{m���_4���o�"jWw��0�]��W;i~���]�"U�B�#!��T��]�$ݸ1��p�Z� ��-����;�M�9�u��Y�o
�����Y�e#%����E�gm���qm$���I�~SY�햝~L�2�d����ޱ��3�o]�Z+Ie�C4��v�V�P�`V���_tI�ry�&*�\G%��ܔ�	�
�3��@��p�Ǖw����%X{����]�F����I�*z}*����C�;Id1���7n_�������HFy��kH�Y�#v�Q��)��$���Q���w)�+p8X�� ��Mk�"#'ΓNQZ�#��ՠ\&�}��I��"�oV�7��6�U����튘�BU!�=j,��y㨫���s�Tɍ���Z͔�T�1��A��1��<����@
�N���Y��P2I����㙒���̒���+��G���˝7���+�#s�>���V�i.-�ē,#pa�]�S����E�h�m:�-6�X�q��$�|��Iu2�R�[ёx�ĉu�ӡ]��0	k8ytq��{��I��_cW׬�Z��o��>�h���բ��/�=j���V���Z�-��	�;
�Ox���f�Ri
�r��)��$olw?�c^�VvAR6Zi}�|��}��@�1ڻ��:��-����\G��v��ߟ�Z҃qrV\�q���]0�>"�?	�\�����p�|�A�=x��|;�.��[��5E�F��%v�A����c7/�ꯩ������Y�qE$��#R�J�<!�k�z�Rà]\\�&(焪���z}kE-/�b��W���$�f�m���1_y�$����+��5[�mo9 �T��֜��^�smY��3����1Y圷Vr1Ӱ�~�e�ks5֠�u��͎V�&_��W-�3�ˣ&M�[o���x{O���uV���P'$�=G�~�gP��Z�:���ݭ���g�G��u2�4�|�����Oe������N�J����|َ���?N�Z��>�h��u��=Ƀ�jd{W�W(Ե�.�2����_]�Tyn���
�;U=���k��ff�H5�4�M�Z�	��K\�p�(��
�.�ɵA�I�7�֚HOr[g7:��F�@?�Z������J%i��
�ɞ1R��;
�ڻ�y�j������H`y��o���,r;��j����=�7�I�8�P9Ȭ�hoOj:�e��:mWS���?6i�*�{�}������ܷ7R�Ō"z���Q�*ސרϟ�,Q�s;�g$�}��銈@�'3��G�ָ/w�ū�g���Z����5�\]��T����+�
D�����C(��'���9���~�\��g���oZ�x�V�_����3�H>k�W���cU�$��"�~�;���i�C̈���n�����{
��#\L�\l�j�NS����ܾF�4P�W�3-���oe㠬��=�\�ԑ��eO���u��i�j�6j�>����I��iQ�RgUh���\���F������C��N~�����1N���V�-l-��D�2�
լ�h%u�A�k~H"��H��a���zb�);���K��oS�|U��O�ͽ��ki$�(��'ӵqz���j���t���۩i!F
G|��q�J�����ͦ���[x��F�~�p�B��L�}g��M���H�Y����u�
t���Q�6�J%�c���:⽦弸��&�TV�z��r��ޭ�Х&�eg�yRȱ�F�����5���M.-�� �L�vas!��|c
=�ZԴ ֍���"�v��1�&w/�d�R1ʀk:
f����4�|ͩJ!���Hd��B��9^�ĭ�3L����[>ֿ�A�'
N��ֳ����vc�l䶸x�zt�H�2��=k��/swំ�S�~�w"nM:ؘ�3�Gc��s��5���I�[��Y"Dm�I=��!{'ө�KTs�U�˂ޙɧZi����-���&2J"\�_S[�#f�]o��m����0�7�-�*�~b=8�EElb�L�チR�ք]�"Οc�x����� FF�	�lv��ž"����aZ��d-c~��G׫};Rq��xݶ�r�η���X���ρ1B�TV��Ý^�C�uY�v�i�ԣ��:�G����|��e��5�<>����=� w�b�aڳ����Q�㱥Τ���E��� �u
>�t�V&1JA ��8�n��P�3iҋ&��a��G�g��~��O=�cM�g�e���m�>�!���r�dS��sN��%�	۷.��O�[��5w��Y��W�AԌ�pIqt`k[�u�I�3��
]�DŽM�RK�/9v��sG-��N_��N9<R�;ry��6I�����x����҈B����Uq6h��=ެ��ۘ�+(�ɚBG�z�
Emv.`�c؜TF�rq[�̥�m�t�у�t��J��S��+_�Gl�CA�O*«�>qۍ��)&��I�F��v��N�&Z�Wh�f����&����x�W3�;����sF@�l�B�#��IqD��Ґ�Ԏ2X|��Gn̥���I�);!g�6
�=j����h!$��鿹A�S�8�ȾT&&n��0I��A>�s�٧�9'�.�p9݁z�.�x��⋅�k�G4������u~9����![yP�v4�_6P!sLl�[%[��ɽ1�ب�!�'"���Rn��(Rj�R�O��M �py������*v��֕�x�H>P�m��偢M�HW G�@bE2�l��($P"ki"I34{׿5<q���*��c=X@U n�94����
`0�'��8�n�8�FK����3ϥ8\�q!>�^�5vB�	��<��g�5	V_�q�/}KKA�X6��^�2zRd��	�T,I�@ �*Tm���@�G�6I7��#�8�a�9��d7�`X��gA�V���[٭��&w�p���J7�EK����p�fܵ�+q
�� �E?΢I��܇���&c�H2f�}E��K�t�P���P�3ZD}�Fz�Z���Z-��F�/sV����*	�Dq�G����F�DYg���bM�\��Zz+t$]Z�+fV=�۷����
-a�I����O��~�;~�I$�J��7�|Om���l B�|��7~+M���L����,�8�{�_�D���T����ľm�Y��p�>�#�T3�֖%���^�E��ģ�F�6�~Oz�K�F+X�K���ݍ��Nj%b]ٟ�=U����s��ȧ���Ɋ-
�ǹ�)�)"y�:)u'R&8!�+��#5���?A]t���2�D�X�$0�ڮ�ʟnG�4�OCc�Ae��M��*��<k��o;�'=�d�B�V@��#j�,O�s�qs�r���,��Lܹ�栐���t5B��c�?"����j1Y��N�Ӟ��Sc�<|����桃vԧs�q,F�<nU��؎�ZI�\�-���;�����3�'�+�S��xK���Zcj���Bg�϶j�����-��_��ŝb�ܹF���7Z�]�?a�-���pb���w����\�P\�Y\�B�rZ��|	�?xv8��]r��0\��\���N�|i{q�X�y�r���V��s���[�9�̬�Os��$��ڎ�3M,�^N0�=��H�Ļ�-<��$���$`��-�#'o�T���3��g1��LRj,��y��^3^gb����|�n�qsm-���$�U���6޻"���+x{�0����y?OZ���|'�F�#�}��v�kk�|G��v?.�Kxc�d�B�{f��K���ݠ��k�	z�Ԛ�"2N;���U�[?.,��Z�[Ey$l���}����{�X,h�'ڻek&���&�n���ƺ>���k>1Y���{v;��*��ް4�&���^?B
`���+�����M��{��1c����a�q����Exጕ�����W^q�M=�ؘ�F�s�-S��h��v��4�ĝ	oZ�u+�g���H�#+��
qVNZ6�х����{g�.���0}��E�~s����cž1�5}"�Oӄ����܅ep}+iӧVkK��8�%}�Q���a *��Ʋ���AP{׫ӱ�.XĢP]�:ӭ�<�뫜"��oJ��:�Seb��c,Fz�l�-R4U�}?�'a��z��{w��b���P�vF��Ι�Y��2�����'�A!���heg<�d��L�5��X
�]��m��ht�<Mt7�I� �8�R=ϭe��8�W�����H�e"8����z*�W�]�_��V�)�]�n���Dd��t�F}��޳g��B��]-Є[K�x���l���vM�e�e{�=��>O�E#����\�aSx�T�D��ޡk�,)�V8�-�5���'��{�[��Ȓ�܉�!��%�ۚ�Y/𴚇�&X���2=T����ns)7u�c���noux4��{ɣ� �a_RO�j:6�e�Ơ�[x�Z-�w��;:҄9Z��Z��Eυ�Ke-�aqÎ��˚�>,�Ff�D���Wo5�	���M9m�Gw�L��P|�y#���&����E��<����V3�X+�/Vu^՗Q���D���
���9+���U��|�g�G�aoyr-Zh�3��g�s���4��f����[�WY'>d�廒I�yU���R��cḑ*�[$7�GŞ�6���46�3��L��1�{��.5��HK/��(��ۧ^��7i-zI[����5��\��dA��8��H�n5�ٮRh���>�c�����l�3n��{���O[��h�o���ž�q�ז�,�Σ��l�hjUN`���~3\vs�]��k��@�½6��o�a%�m�ɻ(����>��5��A���͑��;S�O��wqz�*^h���lZn.P�RL'��5'�޴3��a5���n��>�i�F���}|͍(�K�fV7v�g��;DC�H����v����YC5�
?�Ge
��޳t�%�G%�=����)�}�ች��^���x�Ҽ��ڽ�ů.��H#� %������F��;)Ǖ
��Է����v�|�e�Lw-ԓW4�x[�ƛ�ca5�ĸ���	뻁����E.^��Ot�4���}~��m�V{W9�jM;D7��ݭ��Z<�q0�e+�9�����N�_��`ԇ�<�Ps���R������>��&M�*$j��҇V;Y���e�M��n���T8#�^��+��?�vzt����˗9f.w1?��Վ[E�����&�_]�[m��o�(!�7�	��?�1�xv���[�;�,7��K�WN;�5����j�_2˔���C�2�,�?Jm��{��k+�m���IZ���EIdy�i$vwbK3�ORkg�z��u2�Ѯm����e�u�2��Qކ��w�u�=[W�D�l�"���~�y5���idy�� ��I��ﳝb��O�m3r��p<��O<L�4˽2M���ʌU�Nv�8 �w��w��ѤO3w��Pm
�Rٙ^��6�T�qև�=<�D�#vQ ������=
8�����RT��L%��ښ�
z�m��3���0�1�[�~���Vh&F��0��b���U�
�Ԋ|(�8V���3N+�S�ݸVd����j����@<�f��e���5&�G,�\V��b��Fcv�E���%u��o�VV!⛸�����R;��a`O�pr)9u#&�i�����I�xE})#�c�Jl;iF>�4�3�@���l�›���C��K�7֘�#�_&���9j��$�`�Ҝ���b`w�����J9\��@6F�0���5�O�(�Jه$�Ҁ%����g�w���r���|��>���^6㩦���>�U3�/���UZB�kyy	�=i �&����v��i�#Շvۜu��"�jDp3֐X����u���Ɏ
2��k��񜊛�$����5�q�⩌R����ے��֐
����J-�3)�
5J�<�ңf�4��➮B�q
�wAS�dZo��ҥ��J�
�=�8��&��G�zp���M�����sHlief�F�0}�B����E��ۻ����c%��n�;Yn�	�E���%��]OW�8q��3�G2n�t;5�sY���?�-;�P6�uj�k��@�W���]
q�Ҍ�.y�+��V4�
2�ޔ��j���S������f�6���W��J��[���Q�,x4�JF�^4��I��]ƛp&��Gn�����pb3eq�,Q��9�qW��ھ��U�q���T
ݰ*��:˫#��\u3YX����H�`*���q��\��*���Mh�b���A�j6<�
���2h��`Rlh��9�

�e�ֻѩh��X��9|E"��YT1�#�^�?�zΦ��pj�6�|�kv�v��ԩ���9ϽD�PA�1q��#S��4�o�5�)�6�V����Xop2w�_�'���x0X4a.��b�?��g�jAr.�\�����xw@��Z(ʖ�<�gn�������˝F��`�ܲ*�/�ϥrG�]�h�!E9��#&-
F�Y4ۛ#$Ld�ie'��pGlqUb��u��䷖�n��}�Ӓ��6�⭵̍F[[�U�"��<#��#��"/
!�D螺���h�/�>=��G���V�	>��y?θ���-t�{�Fk�?<����=������<���xw�h�!�n,���Ԇ�x
z�ֻ��[�>�N�3\��йp5�IY9E]�/��^����O���a�ݛ	Y7����� ��9�s��8t����2��.V9�=�h�J����c۳�<�w�:�k��}��;�YdRJ��9�?Z~��]�7�������rpwc�+�4\*է���+��:W�4�6�moy4�--�&3���Mi����
=�+"H�z<�|p��f��̒O�V�6��f�m����!�)�x��W⯆Z�--��R;�y��{`I����}y�L�U��tӵ�]Q���$w�L|�=e�ҽ���5��d\i�<*(�e��OO�ӻ�'V:;%Ԯ_{���<"��%���I	��Xs�1��,��j3B����G�VN)Y7{=�j|V�n�x�����������<j>k\���\UMNU�[t��-�D	H�Z��̺��6*��9� R=?֔H�*9=�:���Z��?L�MnV3D���t>�I�&��!�����O��|���3�SD�f$s����sS�:� rqY-l�I21�Tlx�l�D�j2k)��Wt�>�T�-�m}�ˈ���ֈ|K�g�|@֣���
:�u$ko
��z�Ƽ�N�};���L��kn�\כ�V���EW+Z;������iZN�sz���_�4�s�W}��4�
O42����ֵ�4�{F������[x�[�-��Lj�6�����rX��z��O�ޭ�=M*�!S�H���5�<G�ZuC���,�o\���7��.��#
�2On*MX������E�������iZ�y�VZn�={ï�M}&�hɛ��C����~"Ef<W���d(y
t�*��56�����v3χ �I�k��ۢh��8TL�٫.m>�ԏ�_h��sç��+�{�1^s��-�����+牦B����sՓN�,g�w��w�z]��!��g1��ˈ�\\\�W_g�dT�Fv�f��)A(|V�T��yV���/�l�~�:���n�-��L��;��7W��0Z\\)`��0��>�����q�,�{��m��f�ƽzMG�1�nQ���gֲ<;�\h�~�uo��wmx����ҷ�$���5���Z.�q��(Yelg`���^�`־�;v.�8'rZƴ�vJ�4��ǟ�A��;�
K�y��TU�ga��g���c|Я����|��fG���d�þ=3�;���A�;���Vz�Ky�����E�d�.@�<+��營��k�,{9��H�Xm���+�i/��h^)����Zjz��/u�*��T�U�܋����Б�P
2o�Z��Z�$�7$5���"���OÎ��o��M{�L�x}��KR���WKHV���3ϰ��^����#�o�i+3A�c��뭡(Ť�:��'8��uvr_>"�vq�:��٣�*�f�����V��R�G����k��Yb��'��ڵ��v[���&�nd��M��J=5�F�K�@?0��9=�Uuˉ�
f�e���������p*"�i���kȗR�(�,t�^�;y4�p�ec��b��g�f�
���{�XAq܉}�>ߡ��j��ַ��okQ]]��v���!������I�4���:O
Ak���M��m��(iH�y�ہ[_�U��V"�;�t�����ǰ��v8t�H�nɑ���(7-
��2߃��M��weI�h�EiU%;W8-��Ab��v�\����.�]���u��k�׺M֏��˲�l�\'�zP�q�w9H������㉉���ު� H���ސ?���y��n�d1\B��FJ�ƛuw=Բ�ÙYG'�1�?���+R)S򓊒�Đ!S�g�Ua5��
�A�V`�3*��J�n$��$J�����>�y��=���H@�H�պ��^�Դ�6i�M�9 `y�G����;��^��a������	�ǽ�)4��ےƚ�����=��bq���Xkq�e�}�keԷ�
E�G��]jir�|�taN�X�4��T܎�sK,*������*�LyߏjC��0%��D�|��W�?88������&�ٿ*2w�@B��͑M1��"��r���S��C>�c���W�*Gi2GE4C���d�4��-'JMA$g��S�t0�DA� w������[��|d�ʪ�`&�z��1L��,��b9�5��
�FzdU����I�n�74�8���!�j�7*�HJC@���qҧTe�=����%��cs1
��|=>�Ћ�W.�+��n+��ȇh�m��9�a����O�X@�Ъm��ޑm�F�O�!�kd�/�����TqE�{��&��SJ��[�h�ʐ
O�ʂ-�v�x�A4�8�=���kO��TǞ�f�]�I{7�3e��Ih$�����(�4����T�uץ;]��.ww���!X��4����a��E�ޅ���{�m^���Fu����)�"A)S�s�3ȣo z��I�F-�Jde8)�rɓҦ1��a
��0�GZZ��O��	c�
nI�h��e�Օxȍ�$�~@�e@�@�b��
Gu6È��~�n�\]�*� ���U�OPkF�U�B#�q%3��U릳y�Y��,|�C�>���A�d�����M�z{S'w�D�'�.��5�xv�I`ѷ;NFkJ=A�il����k�ȱ�+�<kY3$/����2��Q�;���/�j�2)[wSY\���y%�y��@	D$���N�&�)-�$�Cͻo(�V.zR4�,X�Ry�lvO5���h_V�K�F�s+t8��O^��u�� ����-O�Z���瑸�W���~<�������-��N���9^z-��ܗ�x��0X�0[�@�����ϽQ�񥇉u�ԯu-4m>LC��f�z�O�N��8��>���[���&���M�$ی�����m*�S���O�g��
=x�ç7yh���-�:���>1�>���w��V�}��/���s�=X��^��t�mw��>}����+)~av�L\��$L]G��95oZ�/�k����������8�M���Sb�iݮ�t���g9o��~>��"�rd���4�I߫��{<�
!#Һo����p��4V���<�Q�kX%]�73ݴ���S��]ݴ��NFI>ǰ���oN׼!��M��M���Qh�H
*���q���ZK��:Eַ$�mqJwO#�!F'��^���z�����P�ɼ������E>ng�z�F����Xc�A6�o��'_Z��V���1ۋYmR�̒�;��2+�wi����4��;�^9Mu���HFdb;N0�L��s{Ë�m�1H�Nr9�?�M�˥�b!'k%�S���1��߀r� ;�Z���SZ�xYG����x�kFi�~bsJJ�hT��"�����O)aN2��,k�����X�+�#��o>�z�}�\S�=���1z�O�<��P[��:��H0A�k����ev�
9<w5߇��~�6� �Qku2�d��ϷD�����һU���!yB���*�I�1�t+�@����ocN�RP�9f��M���E+�\�r��}��R�w#>��	++��n<��Ϩ5)��4��C)
�=Mz������Z�ʃ��������N;7�e=o�v���)u��,�6�/٭Yya�?�j��T��#O�z��J�����[Z_X�Wp���U�IN�C�]@\�[\B�?���\�����<W>��͜0ras�-�
ztj}b����-ٷ?����܏Vү���|5u�d,d�q�c�ҼoL�[�����J3wZK������ZS��%�=���#m��|A𭎍q��$���JK"��n��O��5��{G�~]&�oӣ� ?�[޺)E{ϳ)Y�:{��SOh-��R��|�6�A5;�S4�9w�<Ý���M�R���{��V~!/�k;���~]������ɫ�]#C�)������n��N��Q��gз����E𗔗�O|�l��px��4����33��#9�k�rRk���SI-m��Z{��<ot���їh�O�z,!�J��̲D��z��Ү3QL(O�V<�N�l��W����d��,1�y�tRz�ƙ�}
�ᾭ�j�[Y������i���hv�]Y���>���_ܒg���9�zʝgs4`$j�p�.N�{cք��ϥ~�J?xZ{uK��\c���	��|a�Ko<7pM*XJ�n�!�s�u2����E%���QZ��͡��IU@	�~��k��<d��i��͚}�Yi�B�e��y>�54�{["h��#��]�.�Y�5� ]�e�C�&�U�BUWn��I�u����dq���nq��,�41�&� R�<�V��.^Eq�Ʃ�Y�xu�/g�[��b�ǰ�[�)�����J6Z6^-�-t�4�Y�H��5��=����r��u#9*�v�
��'5'�.�U*Ν7�ϸi���n���a�ɩm�<�U�`�R��Z%�9�[�u9$��V���Vv����UX�}O��h��[[[��v��vsЏ¢���w��+�iַ�V�wq{�imT40����=�*8��ۙ���zU&�~E�RYe*�5v�L���������A4����u�#�z�U����A���Qڵ�Q�'}���}k��7ZkW�N�����$�����/���*H����Y3�v���_�/�h�
"\�f;c�7�3�=�V��4鵇m&����RI��>�֬Kr�i��[KF�y>m���&���oT�3,&kU�aUU��`8��R}jmO7wP� ��̌pc�ϸ�Czj.�}��
�\=�46�BbG9*�椻���4�MB�٣��ϑ'���֒�H�Op� ��b�sڴM|g9Қ�A4R.���%b�s�t.�wwX�F/����W�c9�/Q/��k-��~��z��:�H4ۻ
K@r�pzT��m&���z�5z�����8���\]���C��:�V�sF�����}����j�(�9*LA�
�Ɓ41~�}M�����@�ЂI����[ː�
-
/�� ��
S$az})��!x���OJ,5>�O�$�G��f��@�y�1��$g
�L��
hs�i0htW�D�ar���X��+<d�늤&����B�f���y��R��Tm�A�V|��u)���n�rk�1��+� ��Q��c-��eH��8�wg<��44p�=+G�F8�%1$�"�0O��&�C%�~f�#�l��Z���q\JdX��{Uz+��or
D,~M�a���?�z��I�X�Z��j�d��Q�T�LVm���I@۽��J�������

PÀx�0]���#-Aon!g��$|�֫,l� �=(&�p��hd(�:�Ar����o��@��jAq����<�ol�d�,I�ڶ�����\ʻf�N=TRbh�srg�~���sq�d�w
�[x�nbܧ���_Yr^�y�=�"��d�ѱ^��J�w4�)�:qR����ԃ��TX�Q��:�@���l��虏�M�Ʃ	H�M�C�B�f��'���݉���@fA9Ϩ��nc�$S�|W���ث���b�K�Q�P��V�3�=�]��I��JĀA���4���"�rj��.6Lџ�UCFF�IeR�r0sZ�[���`u���Eso+#H
��ϥT��vܪ��G\T����e*�:�
‘��S$��
L{PP�x�4���o͚!A=� �Z�k����=}j&RvegM���qVo��ecc4�*�])qn<{�4�+^d��V[=��'ޥ��[�2���/J%%נ7m�Ccp�f3���W�x�M����6��%����v������^���|G;�j��Ht;��$��3�Y1_��ǖqh�
���������Ozi9���_��x��W~�;;����EX�p+����E�_^�׳�s6л�r�tJ�k��ֺ�;O|6���Ů���N�
��1?�	�<Ӿ/�~�武�:
�&{�S���ǮO?��X��c�M�~V�z�`���Pi��I�{��O�[i?������s[�/��5?
�A�|�;��5=q�k\O�n��P�����?���v��3aNc�6��O�����}3�+�YO%�0C�$��渤�R��FU�-�7�Ji5$G�Uy�+~�mܻmR�dV��p�^�Q�i�s�lV������4W��)�r�ĂȯE��.��xr�/�B��6H�����ڹ�Tԣ'�n�P�Sk���MCL���|�dX��h�UŷLצ�'�VR^bxd��v{�ִ_��@���~*�F���;xt��ҞU�1�|���B��P���.>Է�H��"�{�2�T�<����dkxoE�E�u��$��fgV�b�s�=y�����0/=��
���@��W�V�F�������R��n'5�nÿ�T��~W��=�G3�%����j�N��"����s��"����y=jrN3�e"��`x����Y2���HMK-�#I*�!v$_�½�_����›-��o"��w7�cNO���c9}T��:w��M�EG��r���~&��Ԯo���TKY����$U'�+��]=n�s�p��}Kz6���D����w4�&?,Vƭ�G�YOw&����Q��A�V��t��&�6���v4�K��sv��@�����A�8�ָ�|q����g�*�n������g���uԝ�v4����t��4��ZV�t�/�����'�ʫ�r�?�g�{��u3*��
���Z}�:I�,��σЍ5_R 4�����Z��Wé�>�}.��v����ރ؁�c9N���=Jr��976�F��+_�:e��-���L���N85gx���;[f�âæjZE�ۄ�9_u�C}Nk�u�G�0�q`g̤��VERVMon��x�
cG��gC�N���Z������y^��I��)o ����}��oؘ��q��xsM���!���[�[ `�1��~,x�mk[��-�أ+��>�t�)Ǘ[���}6�p��\Rq]7�|;qx�+�->̉��N\���UT���肭NE��#H�m�K�E��XŚ̤6~��J��W����'~m�gv��i�9s+����Y�}��6�g�\#�p�9����ዯx���K�4�kPf��%��P��f��|[؊��-�P�t,b�:f�#Mgo)�9�l�z��.���mi-����TG���c�N}^�+(;���.Cio���io�E������H<z�:�|�/��{RsOn�_]:��Y����mr2�`�$����ciz6��Y"�W�G��2q�,9U8�3���l��ԕ�7B���g�W}{��M��c�7�:*��Ķ�d�B�Wy%=@Q�g֍^�
�>�!�v��i> k���(��H�F�>z)v�I�2(g�gM�[���}���Q�
Z�H��=N�K�*��O����}O�]-��9f�TfC����M��Eܢ��y�w?|ko�D�-"�Lԧ"�F?p2��V�Tj��2/�;���"�SJ�R�r͝�Fq����U��8��im<尿�[����}OJ����ө��}?L�Kwc�¶�Y�h���䌖'�^��^qmmq�y\?�Ǐ+��>ԣ��rVgc���$��m],m�j��o�w�u��[K+=XCk`�Sú;�'(e���E�3٥�DG]v9�.N8�xKE[�i_R���mb�eǝdtՁ#��i'б����S���e�� �D�/$w$���t�
�k�T�泖�H���1���AH�-N�t�{��mVk�T�� ���ϧ�⻻mj�L�]�5�L-լkV%���?�s_�ٽz�]��x�5��ܺƝm�箟m���r	�L�<�-�Z�sT�ӯ�Cq�"`�ݫxI�gөwCH��8Ȧ�{��B���9��7���O:��{�_��2,FJ���j���h������
G<�l��=�u;�B����
��e��o�^W��޻p}��.bӹ��`d}*�n��ӽ9"*;D��@��r�`�ɽ���c���i��ҫ��Elb�g@��z�	�U��F�9s���ހ)@SwdP1�َ1N��(`:�B��@��xӣ�pĚC(�c��9浴�-&Ѯ��cA�SV�L���me��b\�oaDq�m��z��лk�� �=�q(=9&���r�Y��s�F�����({��l��"�d�0)�9�4��rzR�9�zy ���L(�&�J�ԁ�S��`b.�	��?-Z�y�{օ���<2J�\/�-�obi�OBo��!)&�2q�HLk��=�i1����cV��y�;U�l$Ұ1�F^E+�i
�R���A���ZTE�2�pޢ�4b9ȉ�(<ޝ�jɆ�t�e�2	z7BA��:�V����"h�n�lrT�in�2��_OJvЁF3�R3�i����<���ޤdD�zRn`���J@Q�tk����G�O�rD$���Dfǭ!�kf+�I`�yV|7�*NU�9>�����"�'�W#�b��UJ�Fj����]����1�#84�d�U�`��7
���0���A )=8���cL�7�
k":��J	���N�:\�88\�~?�t���c�FW��>F�?N������T$9��ˌ
Z*�E.2(`4�M#�И�;vkvv8q�}+)�vD� �9�Ve�� �y� .rB���X�[�Կ��Gy>�â�խf���mcO�j��H�J�#�)X΀�H�S����z�~1�l>��R1<b=���x��t�f�t�:zly����Ya�B#�~�
������W�j�$��i�+8}�S�B�n����8裹�V��;��s��m{_�e�ugM6)�%��������SG����>���,���8�y�c	��6�.1�3��'�xsa�Z������Ƿָ�|?���:���y���$��}=�Ww~�ƣ��FM�,%D�M����e��+F�B��x�X��,0��k�����m���f�[T��y*���Vϧ<�Ws�)�CG��4g�s��Djs]>�F�KM.ax��K4	g��7,�=�R��ke�]��/�]�����Y.��}��$��f��oh�g(s�8_��6Z�u��j.{,ˏ��=ON+���߉��q�o�pEc�uѓ��I�q��w�˾�b�0=1�W�h�-�����
�~���N4(ʦ�#�n���.	ur{ٮ��'�2ȼ�O�T�*�]�|r�B�[=�eTc#89�e��ubޜ��ɳ���j�?E�񝖥w
=��2�9RǦk�D/��bF�7��ԃ��^�hƛ}٪�#����iky�i�V�Ӏ9<!\��k-�R�8��i��~�)�������l������>�J�Z�ѻ�
�Zʨ�Y�F�wN7�9�{I��^���]�����Z�+��3�Ң>�e��g�1�j�Z@�e��K��E	P�j�.2��rI�����7>9���ߐo��-�"s�����?z6��34+��K]BԣK�o�r;�XO%���y�qr7m�ǜ
䗽�rn��:
fHt�r��IF�md�FES�MO�7��G�|�;��՛��*8y�vը��b��l�E���M�eq��*p9��ֹ��%���+~�c,ڽ�v{��\n�g�|(�g�\�z������k;�ol�:�Mw�&���̗6����F�NA���+�.ֿE���V������<Mu��Kq7H̞��j��~3�<Iic�)�S��>��i{H�}%�
�3#�V���3_�[���ypd�����~��uW���I�C��] ͆b��q��^n.-�Gy=�Z�V��r��;=���,�.5
2uSn��H�ynzv5�S�%��C:�3�\�i��4���o�4�ɧV^�G�����ڤ�s(�&�����}����[�����GsE
M��OWԭte�f��R�.`�vO>�׽/�}7���Xqn� ���*��t�$���=�O�m�ցԯ]CyRqy��oxn��ڧ��;;����.r8�ו���bd���{�mԻ�'=�:��u�����(9�%o�W�ǩi�xWY(��f��5�Ŧ��#���.��1K��͍d��]��o#���mPe�슕�l��ЏA\���%��P�iy�<�ė+��y��XC'٥L�9<��'��RAu�VYY���9e'%���y��v���8k�{E���k������4���o?�or��9V�s��iԤ�[�`q���M
��;5�P���ψ��.tuL��d�pT���m����ⶶc�����������vs'�:e7��f��K�OAR�'�*��
9'��I=��c�/�W�,�[�Z,4�$8�Ԥ���:���i��Ҵ�$���aم�;�9��c=i����}M�l��šσ�oq�;���q3H�rC��)���Ks�;�/(�����P}k4�e-H���lj~�<5`�k����D�dn����|6��
^^a�ᶶ#��?�i	s��C�3�V���JkVQ���WX9���Wb�h�@Xu��/�-J|�n�$t�1�;jd�숒i�X�ӵ��q|�m�`U�Y��3�3�\������DRW�g�m�L�x��A�Wm�]������!\����U�������O34�X��Á�V�O^�J�Y}�+N�,�ڥ���)p3K(���EW�|Q�?j���|��	Ӵ؊�w|�w��=�7���m���|(�џ�Z�ռ6WV�#���;䞂���u�oP�[9��n�ibm���;�|��3E��R���E�xS�B�P���V�
�u�	�`}�qT|W�}\����-Ωy��dLe�>����������.m�#����7#���z�q�x��W��My��\�8���@Y�S�M���G
�%���4m������1�c�j�`�Ӆ�u�e��3+��b��*��<V5Sl���P<��w�/�Z�\�P���2��&{�AWd�­�sdgty��蒻��ɓ�_��3�R5�@h�ka�D�mS�}h��X$�>��[j�P5͡gR��)�l9'v;
�䕝��$��݅((���4���b�����mm�w\R�c�|���{;&C�����Y	�b��8dҌ�p#<�y�*�i��~h-��B$K�FS�V$��m1-C!	 �����*$̄�H����OZ
�1#'�Vp
U�†R����;�He����
�8�t��O�9]��P1�3;�b)��]ܗ\;S�
J�F�j�[
I����H2��AC�`pi�p`I�DŃ��ϭ?i�`u谈�r�E0�h���bL(�z�rI�I��M$���� �	|�}��?��L�e9R:�My�l�;�I�M��
`iß�x�)e���G9�G��늄 �:���6s@�	3����zP 1�G=h�'���z�@�9t�01@���J��u�1�Dc84�4K�C����G�O4
¡�j�W�1$��dֶ-1�N|�3TeB��9�)�E�"���2�M�3��`�-!xO�Sr��i.Zrc�M�銊�Q��{V�]��0BD8ٟCQ�yna�S�	�'���(ע"I�ܐ:�v?�*է���/��O��q�\��W��ӯ�Dt��iYX�44ƘB�:�,���vbWH���,�����3�_"G�E�q�r�1X�\,��v�����U����d�75�8��/�k"��46�9-�H��I�DyS7���1!z�cT����W��<��@�4��-Y�]Jڍ��2eO�ꤍK|���eb�-Z^�o({r��Њt����;	�6Y�M��7��2�ѧ�I\�N2jW�Q��{�d7@̹"������Ȭ�]GV�8���Aۃ�}1ZX��Q��V���m�������
�ov�z���n(�#��k�-?P�loZ�y%`�v�hWBOU�@=9��F.��I�����c����1����e��խ����+�&.6�pM�w#���ꓕ��3���!��A��1ũX[\]���8�#�߿�)�Х�uo�h��|e�c� �Qrv]�N+��Γľ��{��ڵ��������$px���_�ie���-�i�8�d�|�mg��ln�o��7v�i���ɏ�����\��|`�*�]avD#�9��ʹ�lݤ:u!)[�B/��>�l5;�K��Y-��p}}I��Rk���(��ib��;nm�蘟�8���Ҥ�K�R�]��A����nVI
t�@zw��>/x���7��s��	�R�E�	msͩ�[�τ�.5X,�v�[q!X��{��ĿK���,$���߶q'���x��\a	��V����4>��Oh�s�x-�rz�Ҭ��E��yj��WsN��)�����@}}k���]�%A8s6cx����R�21��0j��~m�YXUN\�+L$9i�:/S��n��G�xa�o�W���m$��Uَ�w���ſ!�.
�����C��3�%bSd�T�Q�f<sǽKz����9�d�@x�5�1�:PH=J=[����g��Ks{�d�p>P=�9��᷇mtqyi%��0���ж�;��<T�Y5��8�o[xv���h�i2�gRr�q*=q��?�\x�M).� �v�k$����=�d��w�kڭ��N%��܍�B�V߇|5��cO�.��',��1�4��pm�w&oJ׹O��ܷ��Cyn��vt
.��}#Hx�>�����d@X��9U�imnnO<v��4�8Գ1�x���?���]iNU��[��ϴ���M�>��,Ō�_7��/����ƴ|�Y_x�O���I����ֲ�����QZ]�=3�dw>���t��=�,s�^�Mss�T���A%�K|��	���zQJW����s�Gg�g/i�Mz��3k+5��OF���Q����d��7�b[�^I�<���g��<�2I���L�y��+�j����5�;_4cbB�;p*�=#K7����찹�ȕ����f��;4�Su��Ϡ4�
��!��w
��Iik�"I��ʟ�&�^��KZ���^#��j*!$}�z�ꤚ�{���=�B�̀��Z��hlA
�?GV��|c�ojwgz��1�+�A�T0
s�=�������z��΢�4��Ԏ���-�2i�#����ݑ�����ߋF?©q���[{����+Ho_�J
�YߙRN��c��a��,����ٌY�<d{⾇5Զ:���4�X�%<�q�pd����גxv��
�;N2zq^^2*2one��V+�Թ$�䴿��7���P�ZZOy��ix�\��Ǹ=���I���4�)k��tB���f�(}�[�Z]�/�t.�����va�{H>�ꉄ�uF��|���D�m���I
w/װ�[�
��MB����+2&
Q���qi5eܨɩ-,�������?��d�34y=Gj�ۙu
Bk����y�t���c[��%m��$֟3��>���K�({�Z�9&BB���R�'����:Z\�Ekn�.��@�����=k��^�{�$��~$�)�U��>�o	�"�;��'�\���Q��L𴩱�n_C�E�|��������&��X{]#G���,K�ܒ{+wY�-����Y]ܽlj��e�D���<������1e��I��ќ�?���1=��|������I�'�1O �ce�(��N+7��]L���>���O�m�o�c"D�=��<=���\��l�2�>�����+~���Y��3k��B
nu�co"/�`8�9��'�J�|��_p��L����0�G]�OV?�S�6Q�b�_S��5�.�n����G
�����s��B��m�6�f��åYK ����$��~��y�Gš]���Uq�Gmkqo�n�NK��pGZѺ�D���ݎ��Ԣh��������5�g%��r��G����i�oe{��19�Pm�Ҝ����pwZ�`����&�Vx�d\m�bܱ�^:��[vE=
vR�.|��UP2r}+B�M����!��y����=�SYͫ�{"��ݙ2E$2�9��O�� lV�܂X�n��J�9N*�&]�r��
JI=��!����PqY2C*�T�A�6I��q����'9���El�C!YS�MكH�J�P��%�W����Ey�s�A.7!�nr�񨳃HkAw�5�=�1�F��wS�Ǔ@��HQ��*X�R>c@���
(@��	�d�ZC�:T��2��ځ��Yp����B5�:Sy�4xE['�c4�k0zR�D��v���� ��J7t<�vrp�IQ����Ev���2�"d��i�yhX:��4n%��ȫ�L�օfF�+
��Kf�*F���"�ZkKln"��S�=�G���)&6(`[>��(8�MS%Ș�5�"�W&��$�e��.ӂy�1�guN��F:U���p�cﳭP��_�G���Tvм�`sC�%���H�7	,q*��A�W���+��bI>bH@w�@��+��S�\�)��b��)�,���ؓL<O(ݻ�v��z�E
�8,�x�*^:�ݳC±�S>��)���l/�R4�i�!�ܐ�#�O=Q&�ǡn��Ŝ�&\�3��핎;��!\`� J�A�GJ��BB��d�A8e�H�ia��#p�*�b��q/m�E���So��	L�t���\�,�Q_jd��l$��EnIo�һ/X�:"���P��O2AX�[mټlh[G�V�#����GT്�'
F}F
i�*ݳJm�p�ll���U�_(g`�~�D���6�p�'*Es7Ѥr�/'�~�1u(g��*r��!�4)��7��##5%,�
p��p$?�3J��f�-����\6� ��8�QSUcH$�&oh����m��Պ
��i�Ų�-��/��	�wuנ8�E���]�_Z����nY?��nȪgI��j���emL�ϥj1Ͻ4�@A�����5;8�t��q�H����d�QZ��7�r,���b��q%���`�I
�%�WQL��Jn�bO,s�'�$���;p����s�*��S��YV�-�e���GcN)���g�u�RB���_����/2�ᶕ�8b'>��f���	��QY���<�2ר�0�-</�]��1=�ܬV�=��Z�J)��K��WbNJ.n�}7��3C�:��_,�g�����/�\h�"��~S}�U�9��5��J1��[��k�nOK���Xt��l��K���� ��y���e�{t����]�
}��d���s���#/����֭o�pMŘ䍶�#�"��'���"�E+�`Ƿ�R���g����=M����
J*����@qҷ|g�K�#N�	+�����_|�Y�KrE-%#˜_=�ܛ�oqy�>�TLpwl��O�-����11#'�<��T��/�17����x~���Me��D�IWn7��*��|Om�Ia{�5����ꋌ�~5�౿\�(_X���B|׃ױ�\�Y1v�
�MI3�n�� ;� t��_AOݍ�#{t0#e%�
��j���!.[h���Z�	��$Y�f�HB��沜
��hz�Drk,��l̼��X�F\Cp�L��Ce$0�jXЊ9會s�AG��bD��֑��]N
���v8`N�NG^����K��[�R�]�1<���+(����b�~��o�Z��^���ˇxq2��f�cᆟu�x���>�����y q�g2o�$�nM[i�{��+�XE3J$�-�9�� YR?�l�ʷGD6E�F�V�"�����f�����g�n٪^�Yu�j�R�؉a��2F��ơǙ��^�~'�:�-�7U����H�p����}��p=��4o�\�,�ח[B�D�1�sֹ�^�'��Ӷ�ѼO6��9a�ݿ�5xea���$�$���ӯ_L�bZ��+������o3�� ��VI��oR�tt���Cj��C�8�P�I�a{��*O�i�'v����~)�n�����j�O�5��쯈3�o�=H	�#+'B8���eH5n���u%��i��qᏀ�į��o��nC7j�k���--�V��Gr��Rp_\v�S'�r�q�;_�Q�m<�C"����y�Si�QC�3��"���{RoS*�T����/�๑�ʘ�d�Ҫ�63��,%��9�TޤjW<��]s�Ou��R���8?jz���mb��Pc�)!�S���C�>�u�$��#�l~�~��*�pѮhQKm�k��oǺE�Wv����S�9�~��Z_.��G����� �¼�d\���Q6�[�4y�xA#�����>(6���[�"�$�'�j��7�RVe���_L���/���bG
��֊|?�uO
�c��U#��mv��y�?*�4��f�̞�$�{9���l���o�[��"�}k�~*]Xxz�K�f��P�o2&��a�^�9�����h�����Ue�lc�Ǘ-�Km>
HA��z�[�7Ӽ-��gL}2�xu�˓�R`:�z��(�����}�T�5
;�~��hK-ҪJ�F0�g��t^N{��I�=�˝H[]�L׷0?��?%A=+Y�ߗtTP�n-o7�G�K�볨����BN ��#�I�;H�4-_O��Su��£j���4S��]�"��*x8�F������s3@Ue�US�A�װ�[��W�l��.�/5k��ܐ�����Ҫʦ�T���d[��[��<Omw��y��
����w�/�.t��K=2�F�A"� Pp����8Y��9�������M�!(�׫���Lѯ�h�Ϭ\���� 2(��A�Kt�[-��tu8��N�|E�[���4���y�*
��=�]5�厯�˝3O�m7�:D��5��f��>���I�䞫�e�K��/���3���.���i--v��I�=�U|Y���#y|7wՌ֢W���8�zt�1\�-���9y����wßA�3�#�o{�$l�P���|�8��&�+�9�y��{T����8O��	��:|����	�m2�z�o~ٯ����릶�-���x!�
�=
c��i8��*;��G�ڴ ��B�IeI-$��P��O�)���ֻ�s��H�nl�b���b9����}px���"�N02Z�q�-�/Σ�ҋ+
U��\�-�ą䑋��ܞ���#�g�w*���yw*�\z/���>H鬟‡��>�],�IE�̣�� ���~���+%��b���S�6�cb�8��y��]CA����x���ݹ}N;�a�vqϽuS�?���p�~]�MvF��k{X�Q�J6�� ��;��c�+�$<Z+����rل�r(���r��Ly�1YE"Fq�C&�Y\�x�~�ý#���84zH��rO�����I�n>�~|����9c#��HJ�4��v=j�L�`J��h�ʍ�e��jɿ��2)��J�jswש�x�皖u#��rs@!���I��@3�Z�dd]���H�Oy�y�E�i�9�
A�K< ���}��Rcu`O8�%a&W��W8��sJ�;qA7��4������ۆ�=(đ�ȌC�S$gw._JCB� �#��Om
�NȎ�q��ց=��c���"��X��nqMl(��\���b�j�)-�n�M	��f��i �VN�Q`-ު�n��byN�tgi�V.�l�֟*�N����QC��{6#��H�I�?Z�����]�)XQ�r"��TOaO�Њhm�-�X	e�&%��Iw'����12G�:8i�)2�rY��y�$b<�^�$��$\0a�CI��i@��R1��ͷ~	�M�;&Ӿ��n�f��@��)�Hr���(���ױ�׈�"�4��Nw��'�IhN`<���jj]�9�)�D�d7T�QПJ��8D��V��lxƳ����4Ú5ݩ��$p�$�;Vj�y���E
1R�}*c+��_��:����Eok1�t��v�|�6ұNB�FOJ�R���6��I`U|�$�r1�Q%�7{�9�=�=��O��SI\�Շ����=��`��P��TՄ2�Ki�As�޹�õ��t⥁A�8⁓���ACpU���Rb�u恗t�ssu{���T��$
����eh5K��l���eU��:��,K��T�z��g�x���q�=����1X��������|'}8]�L�0��7�����J�kXk�МƏ��E�ke�]K�N�LI�oi7��u+�H��I�r*Ė+�GP�VtQ��ʮ�!E^��������MC�N�c��}�M>�6�Ԟ�㚮�w���^j� �8�Rn��EI$����0�#ǻ?_Ҥ����g�l���ڭ3���������SGxbP	�1�jէ�$���i�\��~S�VRI�]�ί�v>��׬g�RG��qގ�l��x&����4-J}� �O�ƶ�IEi���);]���O{�-��������Χ?N���2	��E���o|W��T�R�8q�y��r�����=�ڳD�m��_Z·�V����GLr|�S&D���q�^���Q}�4��.��2�G���MQ��m�|��+�Xٶ�-������HW�\q�9=;�qp���Щ�ﹳ�=/��&��v��v)�XG?�&�4�����o�#ʰ���1�
��Qr�򊲻Sٶs>�|M���XXI7���o/�v������]K�bv�)��G�NI��_�rc�S��KGmɟ7-����/X�ۿ�.fB�ħ�>�°�;I��-�Lͩ����y=�׊��*2���d��FQm�b���_��_tQ�ns�t�R)%���|#Ҁ};W�%h���{�����Ns�����dwf��֩lK\o�c�x�2H�\��)^�H�G!p;��.#�}qX�Rփ|����Bn4���e!�
��Δ/.<ɢ2&
����+���3�.X��=G�6��Lw�U�� ��J��G�L�jθ�ͧ�,����d"HD��0<�{w�GY�m��Ro��h�>$�e���r��c'��<;�-W��*��UkE�|�#�7r�
tJ�S鵍d��}Q����	��1�/L⡶��<A1N`��f}X�LMc+���Ԩ�f0��0���H�¸�aQ%���w#���+J���tJ�fWu��O4jBo�ݏ%���Q�k�R�s'������©#���v��7V`�`�"���Y�ɪ�u=�ޛ�[�����տr$��FOP���3�L�g�|�o��Y�����j֢�Lݔ-��N�Ǩ���+#�$<�>��5������&�|p�Ÿ%N_���zJ��l5	�����8%N?�{_���-c��ӳ%�А��H7<o��W��(��꣹��&�ox�J�L�}��Pv>�����iV�i�U�E*j*�:�5+�%��-K�tĶ�@��S�!�<`�s3���� 7��j��%٣�4��U��/c�C૧��ʔ�̒,rd��Z���ML-Ri��j+�
;lQ�J�ҭOa�kV�[�$u�dA�
y��*RR�՘�֫s��<A�Cagk�<6��2.��!�����U�
�!��]���ci=AT,�w��>�Xz��#���M�(��u{����p�b�I	S0��Q��
�ͪk1Y��n�k7Nk��eJ�.��b|-�z��H�L�Y�3�8��.1�>��F�o�m;�򽵼?h�bY�?"�ܚ�r��������x��^5{���X�����*����>��W�V:�I�-��ǒ���w�O�XM��F(�/GmX��o�Z�ll�hp�*(R�u�t��<:6��EV�׆H†�z�}j�(E�[3[_��c�7�"�״��G4����Jn����󬏋CU��=z=VX�`�4Q.<�Q���]ն��Z]헏-����-j�5��cXt�?����-����a�s6�^�w>���*M-���{<p[[Z���(��
�
��;m.�&|\گ�!%Bx�7ȓ]7�W����n.5��˨Z�TT~��Z󏎖$V0�
��3���*�
�*�i�n�
�[�[����
���x�W����]�Rܨ��=�ӵ�e���q���pe6�	����DS���k;�&�`/u3�$�%�rQz���k�|ecn,�t�&KT��#��!�u'���Ϲ��W�;��5�j:��v���x"$Ap���Ҳ���k8�����,\}j���܏�5}�G�U��>҅�R���t�H�U㻴�e�5;�U��k$﵈9����[N7��]6����&��oa�kMJ�8['��?N+�֮k�4]rh�Y���c��8�]�D ҹ�j麼�w�d�3���1��J]_C�H�,5<��W�1(������x�,�e�ݖ�wg��KN��Rլ�ngkH�e	�p3��^�>ƷI���QCWD��N�����
Z�N���H��F#�c��o
��+�[�^6�E1�V-J:�J]��I�l�-[W��)v��g�Z�c��`?�Bv����)}�{�>��X�x 1��?�K��J+apn|�r���ݫ&MG��0Ll�Y���)�ۂ�zWj�1�R*�J��{�ǵW)Wԋ�?04��1�Z� ,�i�2#F� �z.TX`�HD'oJe\R�X��3s���a�؜�#���7[ڝ��K�J_#8��4�y�bo���� �,u���/̽�M8�#V�u��H���zVn��]8!t�:�V���ddS��Pr	�+;D�\�vR۔B$ �+�#��
��S�N(��:*%؊�S�p��f��f
r3�����(8����6AsHc�(^Ni��
n�:���.�z3.j]R��i��'��q�v�$`:r#֕ �7�9(����Q=�NM��Ґ�/�H�Cg֘�I��d)L�0F��zV&W�i�}���m�c�v���x�����rPo�GJ����o�{��y&�RO�(��L�x�f�q���L��j�ۭ�I�� z��Q�'�5�
x2�-�z�!�+gӵ4�B=�G�`�U�2�Js�n���l��.]�~{UW�=���;��"@�"��jq�����]��wɏ����C�o�y�nT�ݑ����U�Gom��B����U��*X�4㡍󚛏P�HV������������K�kY���?5-o�eFW����Z`0#+Vݎ�ڤjK{8bN1J��x%��I�l�8!�A�*���W�"�u�`�@($���ږ���Jc{)�q/�VUۆ�?�RV���Y3m8#��]M
/¾)Ԕ����s��P+�Ѽ/�Y�������~�2��ñϭf擶�R��z5��ki2�Eٗ�-Ҩx�����7��2m�[<�r�}X�]���C��L��?�5(��l�W�e�1dhKY��BH9�C8v�Q@�+�y[�6�7 0�rZú���	$��ޯ�e����CNMҐ�i@��4_қm�|���Q_C�kP-�y-/��c`1�������
>'U���FLp�Q95�Os��o��ܜ}�%�ǹ5�Q�U�GVE�Sr
~���x_!=��.߈�t��|2ژ��I5�	�ŵ�Eb����~���g�����Re1FR(۶N?ϭc��{}fݖ)�B��=�V ��E)&��N[����-���1z����g2�����(,l��(أ&���ȽԒoxj9�s�!]�t�*5�:���ÂQ�T�r�r9o�*xvX�-n&X�!��X}
s����%���n_N�p1�!���Uߪ1�+������8�o��U`.GV�3�[��/x�no���0�t#��&'4�n�s��IS|���u,�w��Y$WѾ���u=׊���L�ۯf,�~���6�^[j�y���D��.���N���O�������F@��3�5�vvz}�ŊH�D��ry9���a�,T%�Gn(���?��4��ZL�B�:���x���
5�
�6�Ḙ�m�?�y��g��]�g^j6�^���u_
�w�,B{-�%\�ǿ�]>Yu���F������I�������f����\̪R為ٝa���Cx��R4��U�^%�|3�[N[��8$V���w������"��Kn�S����0� ����x]|��`���`pP�'��Z�R�����fC�Mq;�S�u�N)+.��Ռ#�&�2�|�*UuD��U=CZ)�fuB�v�+����-����я\�詢�dU��HL�#f�pz1�H��8=A�KD�(�8=i�b��&Y
k�T2��٤5�DrH�(d�F	��N�z/���4�}�y����#*O��ҹ��+����i��h�F�ݴ�n���}��"M/R�5���+��4dG�y����j�]Ly^�;.�y�+��;�N�	>�Z�*����Ϋtڛ����ʨ`��FMaS9�a���13�5��Z_���F�r%�<�Y�	��B�km&#'2�<�'��^�����ζ:(O�&d��Ǻw���򰹼���3�v�������%�����%b�LZT*�;�*��$��N�$zB]K�,�0ڮ�sߦ?:��M6mf��#�4�O;��ɨ��@�i9n��hɬ�Cdv[��K�zzW��֯u�MY�."E8�E�U�}�D��rj���m����*�"p��S�G<�M
ɵq��O,�r��n��!��F6m���as�Na�lD�s���O|f�ذ�UĻ�vjz{�=_�K��ʬ\u�m���T���g�����|ey�{�2ؗ�C��Kp}���5����SHKK�Gg��Z��kXkأ��h���d�{s��5�i��)�fRaRq�POQ�U����rR���yu��e���O��O6I.BO7'��*�O�]j|G���]��$f�q��~��]��j��B߇5�M�5,*�o,�ո�K��/�<]�O�,��N�����e�$s��^���ꏻ�g�I���¼��ui����*��ƍ�;��Emcb�WR2�ȉ�Ϡ�h��%������yɁ+#��Msah�*��(��kjP����--B�:��@q�k��񷈲�M��I���1�Wd!��
&�}t=�B������UP	f�02z�}o�I��I%���A��%a�}=�lD�Q��ܟ,~Glt�[�[XR�~U���s�ׄt]E\YX~��h�dt�Y�ct��kfs��4�S����6�Ւ�%�BPHI
C�S᧋uh�1'��;�y���V���)�߭z�c�c�+���C:�𵸱��u���<l��{�'�`�M�V֭F��Cm42%����|�R�W��C��"ԮX@�Q�FY�7���ׯxCP�A�!��Q��S,
g�_Z9�Z�
'kqq�G�%��s��6w�G���=rI>�q�I��jZM���䛶�.x�Z��5�ӄL�&�
�O�>-x�U\�b��~����j�VE�OK�<o�����F��ʵ����=���#�A־!�����I+��I#�D'��җ�T����6�mci�
��qufŮ�T����~Oj䮌��9��~e@�.Oq����/]̤��s𯉼�D������"[Y���N1�5�n�7�u���Qm�≜n*�����Zʚ�j�U�/��Z�ſ��Z�ͤM��ٷy��'���ֲ�
}���+����Te9��Cb���v�w:/�U�+�e���P�vX��0=�z!5�c�ֵ��������4�dI�!���Eg��q{qc��ԏik3r��N��<��e>b9:��-�]�P��-��Iy�k��.FA�g8<u�߆�z΋q�/~p�P�ca�=:uⵓ䎎��������l#��W1N��p�����-�<�ơ2�M��:��*�>h�Ѽ[���>"7���{r���2/b���8���s�=�jﭒ��5-�W��Wf4|�=k�/P�n�Wh�n$Q��q����ɭ^��½NUn���ӬT�\��B�n����oxu�r��Wf��]k���5�E]F\|�j���f�D�x�ԥD��i%��ʓi�����h[��2�$bpA���̹��Zb;��0)�:n��,��C�ݧ��d���R�{�
�N�1��rhx.%����wr����W��b9U�Ԯ>�,s2)\d��rZ�4}��"v�\���2�
�R$��Y.%����r�5�,j	�I;�"F��Is���yP#4�}1
���AA�J#$�rho-�L8�=�|�&f���q�H��=i�
z[��2�=)�U��)fGE�[l��ɷ2'
�$���U�?P��9�y.����[�R#*GZ�H.J0(^تQ�\ڔ���0�j���P�sp`n�⫔R�a�^�	mṖ��3������B�m�jl
w�_
�ZV�E��HN�3�*��Lʺ��'h�����f����G��4�*�_X��5I�gT�P7'NM;���|FA�99�IE�qjQ�����g��B���BH�(-�*�X�K{ieE}���Z�+G���+Y���Т���ѲT�Ua�9݀F�pƭ]�Z-��Z�<�w�&���С��L��,i�5]F�Y%�V�;���Y��^���Gugt���G����[I;�teoGba���Oh�����0[I�Eor�En�l�#ީJ�)%mΖ��PE#>��=�g����5��a}kz�Dr�չ��e#��'��+�KY�R�Ṽ�n�x�h�R=�ҫ��W1���Rp�[�qj��[�^�Q�4]H����c�L�}+*�Sk��y�YK1;��Dcws_ke�}�x<f��R�Z}��q���{��?yu��N��0!��	8V���#����N���G�רs2X��	-��y~e>��svmZ�¹`�y>��-��E�͸�#�Vu�Tv\�G�Y���Úa�)
�K�M!�Nԣ�C���Z�$������rp:TVZ#X��ف֡y�?�ʧ���I�浻�K��$e�;C��:��5����|�{3��2)�]--��I=4��o
�[J��<,0��+�t�yg�ܖ�}���Ȑy���p1���ބ��k"���63����}�����@�k[m2�O54���=B��I5�b�m�[����ܗ�B�ǀ=3���;ol�,o�S09�)91���9��-�եb�F�H��%�R�Fi.�H��FO��RPW�3�g6�ھ�^�g��3wkw:!�<��\�c���F�L�`
�
�~<כ,5lW���9ӝG�hȽ�]X\X��(O1$T�o�*]o�m��P�P��K���\�	��j!FT*.}y��F�����q�X�j;�f��Q��x�ɖk������l�z\�Ƥ���
����Ti�D��B�D��W�ol5˸Kim��&� v�j�<)��]���Q��`�+��)U�?��/b���]��.��&�浙��#}���:����m�VlsY`���t��N?"t�˼����a���gۉ#|��s�+�$���ww���n�3��`
wb*����sj���]"�L���:rh�7d&	.3�OL�3��F��^�j�N�>[EϞǠ���Ҏ�)�RW�
w��$2<l�V¸A�~�X�KA+6>R�5����US�F8��̒w�n=&��z�	��G��`؊5˞���\��ڳخ�H彪92y�e!�f�1�C(�iw~*{�E�X�c
��
!�
�$i���Rڼ�L
L?'��W5H�Jĸ�t�;�4�l��C)'V��ch�-�$�@�v�<zQ���|�-"a��x���7m�z,4�u3�����d��8���ͭ);kmnp}]��ԫ5��7�4�EK{���rT�V�O³>&|P���mBa�����诧�74a-%�E(8'��$i����v�nG�%��}+����2�j��TO,����j����-B{��(|���>Y�a��]�ꖉ7�p��f�vVI���[m����e�|#?�'��X����g��N�>���h�Z���,�>TQ���f�-u��u5�/K�4��xz�E�#��;C�A�ƽ�&���m,mඊ>����Z�������x�#�e/�K�0ݶ�p�e��O]�:.���H��d+�\���s?��	7%��[��t���V�N��=�2'V�����N�����2~�z�����f͵�\��Q�y�H�9�\�L1�g����ż�xʎ����'�˺e�m�ǡ���[k�Gi�+�bBΒ�r9��o��=}��J�+�R�B�$O�m�a�8��N\�kc�t��7��K�[_Y����'tF�`��ε<ki�����Ar���u����W�==+)��R���1�m�w^*�ՊĐ=�D���v �H�'5J?�z��B�8`��g�d��� �#�銥�߾��[߳=_Þ�<�����p����V�u���K�Ya��
I��.��
��{w�!�o=��w��W:��n����ITfIy�{���Ѯ�Q6�jl�����8�sɭg
��zJ*)%��D�6U�#�*�7�]RE0�p�m�}�ӌ��Ϣ�Prz53�������Q���t��	е�1�$����t�1��T��arI�&��Քvf�C��29�������"��!�?zB=3��ҽ��ǃ�|#��s=��;uv#���n�ﰯ����;{�y-�)Q��2ָ�Z}3�7֚k{��&"0N3�f�T��K�6��s�_����D�{+Mm�y��p2�\�C�:�o��-.?�*wx�1���E;�a7ʮ�"�C���K�c5��V�p�L{(�k�3�X��im�P�f�O�J���:�\�q�^-�q��%F��D�4|n@'��]�Ο��#���wkN�o��r8���[K��k-�<�M~-K�\5��jp�4��=Ž�?�gh��Z�ia���
�C]2�YGC�B���\����\��@��G=ΰ%d�K`�e�7�98'�*���!�����e�>��61��+'�������ݏд�?S󢺸he����l�J��l$��{vu����ә���-�ط����ڧ�v�Q�^d�J�@���%�A�i^%�YH���Y��z1'����S��ks
4O6ݯ7��Y�G!V���u�m
{?�G����1 �Q��Ӂ�k
��{��1�O};�z���H�]ŨL���!��m�B�l:}��c,'��������75���4�.�W���;X>ʳH�2����sන��ۻY!.א�(���$���a+��׳����瓊�6]��#j��R���l�q���.�ҲG��<�.�o�6
����7B0H?�}��1�d_����gI�Q�c��Z�ZW��
��9�	��r�
�xCH�w���Iw!���@��~�Mi�S*۞��/��!6�u�~ٺy!'��qX>5�O�>��J����kw�V�w��h٭�Cx�r��q�2����#)?/޻So��$��D5^B��b��`*���Z�)�vl�į��J�H�$B3�B쇍���(�,aA`����j���2rq�=zhdMjO̝=*�;[�"��p�	��#&����J�Y��_�n��8d��Rl]�{�U����8yJ}�V�h��K��i4W��.��Q���a�d5��i���2��d�Ƭ�3cڭ[y~qx;a�Ծ}�u^;�4�&+�Y����3�����
���_Ioh�2/�n��e���\`�����:&*qڧo�����P�s޴��Q�����$d���|��E�-�a���1#�p�L��O/�i��L*>F�,g��2j��J��N]qMh’�C���%P��^�J��)�)Y2I���"���6��&��6<��~��Qj��Ƥ�f}�:`b�I	GS=d%���k�]���B�ҥ��V�A,���NO��6�#eE0���X[M��d�lVuȎ����T���*}F�Ԅ~��O�Jˎ)���ȁ�&
zpj[Ŵ�����JKB^�CnvKP��&��0�S�\�(^5w�I�U�}�g�I8;�G��`���>���6�)��)�,$*ɂ�������济�u^V��$ܹa�ǵh��CV�����bV��fڕ���ic7X�m/4�X�O��~Z��д��8���Ps*�I���5��DI�L�9�Q���4�v�K��o"�
�$��V��0��>��Y�h��(����$��

��I|���
��(5���1�vl�֋$W>�� �ArӚ��K�x��Gl�#��k
���ld���:�y)�P���U_dפ�Ban`��ڍ����	59BcnK(�<��C��lL�
9<�ќ?�f�r�����E\aZ0)1��iFSR�r��t�q��`�z��_Ai��7���a��bco�_�m���~�$�F���(��R�é�F�E�����]x5���ﱕ�i��R+ԌZ���,6�;�Lv���i��nm�0�k
��Z�8�I���;mo3�?�4���k5�/�8��?L�I��sIy%��4��Z��K��O,G�z�RWZ�R����N��;�V��.Pe_�8}k0�^/���`������:3ɧ�浇��g�X�l����d���WJ��,2(�V����^��]��л���Y�x���k>mb�+��^�
�َsYJ׷rZ�ё���H���dh����i�kya��b�p���QJ��{�s;v8��W������VXɑ�ȩỶ���Mj?!���u���k������Lf���b�^��<'t��p��))8'9�8�[�UOF�ǵ�UG��0�_MJ6hf�{.��~�{YLr܂JݶxA1,�$�>r:�p�+m�ݔ�#��ii�G�y��Ap�T꬧���Y�g��Zj[�,��������p眹��fn	����|
��~��m�I�Vm�G~���_��x�;l.���g��ߏӊ�RT��?~M��r.�6�5M~ib��m�6�����+��k��rf�HrK�|��ׄjR�o�7�9�E$ٰ��%��+Y%7pz�^���g��[ۊ�*|�i�GzR	��=(�ɛ<��tr������u�*l4ƿ2��u �Hd@�p�X�5��~��?�O�Y$�WC�gbr�?*�o��FK�<*?���T�5R�{2e����j��u�i�n��D�睵N�L&ʲ����{�}I�]j��~&���E�m��j�˹��3��r�kJ��I�\�n�T���:���ݙ�+�}�/�>.��އ��x>��㑎��z�V�#�}oY���
�io!/l��s�X���]�&��Q�JQW�.揋��jY��4�h[���~�gGL�yy�i2\��������*��C���N׏���9��'n�Ƈg��S^�<��k'��C.���Z�>�s��<�n�+M�]Ȍ��=��&֍o$�_3�Ԍ�wWfl����Gz���_�K<��Eq-���<t���Ng��R��s�z��߉o5�ح����>����z֩�\_�z�n�۹���֧Rs�b��(�>E'~��_���#!��r��w
�kPjZ�6���=��r��3&G�ڍ�/���2+�����B�d�r��g��J'���GB��VU�%]�9�ܱs`$+wb��/8>�Ҷ<;�\�*Ao+�{kq�c���׏ǭrЫ.t��v�ݤ���|e�_�?���M5�ġ|��{�\���{��+ˋd���,�ݹOϨ���M�r��=)ͥ�\�5k�x��} #Yꬣ~R��C��*�\��G��V�)l�ܨY[��1��
\�ׇ"W��6�q�ixC��׈���I䶊�D�[>~2�J�S6�3X�FI�>Eͺ����6��df��`s4g�+\ƹ�_Q��&���Y�Q1;��ҮT䵏�O+z�,]�ï�V�f�n"��m�Y00}���
����D�)�f�wyn������K��,dH�{�t�>1�:�9�k��I7,Qڒʠ8��*�n}M�Z��[xa%�!���95���q��'è�kW_&�\Gr3���M�h�����/��Oh�Xm���e��e|�c��N2x���z����y�m���!U�?�'4�By_��޶���X剌�PCg?Z��Z��_g�e�cnaX���0b�z�WDtw(��[Y�����V���hF}{t�:?��Sl+�Q�<�w��`�-6�eUs4�C����G����ǘF]��A^#��ϊ5	,4�a�ǐ̝d�_����\��5�Q^��ѵ�1��J���\���+�=����1����9�k��z��VߨZ�^j�gӯ'������n�$��^�g�����e��MD�x��X�%>���ir�uDt�G�}�ť���C��QrO�zqں�^�z�H}��)
�GB7:c��C�z=��*�g��)m+��ZG-�K�%����W�|#մU��3T���=�4�5
���Jpj��Jj��s�G�OY�K�'[
-�T���ePp=8�֦�ݶ��x�M9����v�Z�ȠE�20{��\�J�Ļ��C.]6K�[��]͢�����k{��t�E
u���A��W-:��{��s�|ɮ�c�|K�Zv�gd��|�$��r2������wK�tt�@��D�/(ˀA䞝*��C{�����j�&��b�=��d	�b�x\u$��tMZ]_�ԭ��q�ԎE:r�5�Mѭ9��_�~*���uwqg+v�x�4b��=��7��� ���:[��7/�ͱ��Kt=�Z�E���u'>��4�gCD�O��!��x�T��3*2���1Ҵl���g{�Akg#�hՆB/R}ϭT�'c:���_7ze��A
��"��4`��Xw���̎�K$v���=����?d���iV�"����'���3*���B�����'ѵ='R�+?�,�10�����,=g}]�9�ſy��CY8 �$�<��`�n�����9�e�i�!�Y����˻��NCbȍ/�B��@���Ⱦf��HѴ�e�a�8�c��4�&�K���	z�w�q&Q�ّ�4��F��t��3Q��9r��I��9!;��)�&"�$��ϕ��r���D���U(���+�*;��]�
.�?y�x�Gȹ恍xw�1�)��#m҃�-��i.rSa\el7z#�(�5v� `��N*i�E�g2=�j����E��q銉�w�NE;bQi��6���#��Xw>�Ұ�aE3��T��p�C�mh$L�~5%���@�z�r�>dk�������qVu/"���̈�y���ĭQEgI�S'P�U_AY�U�����Ʉns��5�\�K�M����)�n���$�q
�(�J��Bh��|{�J�
Lhf�_��y���
�dR��A�!�ipycL��t�4� ���S�w���\]�n"'17@�#�W%�p$�����JS�%p���!��62�GSU<���dڒ�VRW^e!�L[i|��[�In+H��a��O��B�A<���aq ���(�*��!�j�Vvُ+]̗#��m?�'t��v�2ZG�5,S�QsZ'ר�hK+.X.}�^�m����)��v�*:{ӽ�
��'Q{hbwQ�A�H�ք>�T��Zv��Z�d�W{�Y�,·�\��x�Q)/�ܰW�a��9�M��Rx���c��N��$�'w���W��	n��7�&�棖A�U?yG��\���^2j���`�0�3�� 㨨�
�����3�'j�Zm!�@�V��Ҿ��/��E��� ����'�cZ��Ɛ����|@ڦ�B�Ǽ�c�֬^�Z���aZ����r��匝�ۡwwOK͍On�3��!����G��(pyS�Z^���9��6:�����//,H�5^�W���pC���Y�8P��V�t��&Q���t�q,��d��Uh����WE6SJ1���,TkK��#i`;H��5�\�X�{{gw�ͅ2k#_�;��*�	,�-��M�����l��izn�M�ʼ�����8c�>ZϠ�`����	o�ƛmuu�F�X�6:�J�w��%��4����g3XW�����|���WŚ��W�J[�7S�H�NI�+7JM[Kҡ�3�Y���$�3CǧL��ו�23�'um�x?E���F�r]�,��\�����8m.Xcl��+��$�]��&1���I�>9kx�u��DF*2�9��x����w�c�QY���	�ՌT�/w�u)�̚�{D�f�q�yc#_�̅����s�}*=�
]#ѳ����l_Z�u[m=|�%Q�ōS��]���73ɨ����P�r�7��K��I��Bk�Fڭ����kϟ!s�=�aKi�������D��w�jr:q����q�M
�X������	nMK-n��i\fN*X�ߴ�ر�T�i
�ZӬ$�5K;@2\Α��g��OOA�Bê^i^"��.�Q{|�@�*�>�+v=*�I������77x���I��im˺f����G�d\�5f�m-�%TB:c&���f�.县y���6�d6��n$	�Ʋ�E�)�gi�KH��c������l�h�44ĸ�OK�T-�%�^���ҹ߉�=��v���a��F`#�{�s][jm��#�X\x.X|I%�\�Lge*��s��+��͖��h��ky*�?$���Z�W7�Fuo�f�4�L��Ť�S�>���
N-/Z�鷢9�NY	��R�m�lVR�C��G�*�Hyt%1M,���q����n�N��M�.C:��!�5�8˕(;"';���^�����l�oq*Fα�g8#��v~$�>�i�E��"���1[��[�=id�io�ޚ����׫���$&Y��'I=��Z�>���\o�����#���Gm,�!/z]��~���=v�ͧ�0���Öz���	隔�ۺD�ii���VTӵ��0����G�Ҵ�����a|p�r����wp����4v����򫂲�z�xNg���(��b���Q�j����y�\�?�#�ޱ5�V�;H��߻�9?�s^�):�I�;��=z���������n�X̿h��h��1��lWgq�X�j�<*�
���=�IS���e�rm��w�,t�c�y*������W��O�n��Hc��޶OM7-�I[��৵�Lh��`r��*���wk��L�S����c�7m>���[�8��r_t8�I�Y�_�$D�<��ߝvZ���	�LӬw�t�+��7����8Y��)X�z�n���4���� �S�n��g����x��b���#�V�L�������Y���m�0&3��=��*<7��"&��ͬ\H]�S���}��V�OvW*J�z�� ��|Smfn�s1۹�U1ҵ5
X�
��]K�[���T%*vn�u�v�O�sw��-�KmS�{�}+�<7kq�/��j�Ιu�i]��!�x qW(�s�KU�a�.�ӭ�).DGfJ��=�g����v�{�J.59r�\?l�U}����O�_��ut}2_.�/�y��a\
��s����v�}���p9�T�K^�}����S�m�
mms+����5��<;����
�kX�ՉG��s�Mc(������+o���
�!�5��hn� �I`�x�*��_�W_�Y̲��"�d\��{��#�vz&�9cR���iz��<�t�6�qՇ*�—T��%��ݖQ[^�fݙ[�c���*���O[�`�[���.�s�<0ok�I ~Fb��=*]w�i�E��5��;��#��~x4�5�F����.u��p�_��\jQ�Ӣە��ܸ��+���9f��S�6��L�%K;bb=�ooj�>�w:M[�g3�;�ψ�����f�"����|��#5�x�NKK�ym�������y�{
��O��/�շFK�k�cɦ4��;n�*3��~�x[��!���x�M�a8#�uJ��l�9[v��4[�	�և~�	gq�
���'�x��bt]j�Obqk!���?J��S�����)µ��롰��G�a��xФ����'����~��"�s��p]`2E�*���^�g}����t��uerZ�}��#��Һ�_⎳�����/��O�[Ӱ��9�'�3I;���Y�R}jg�I�)hf�S�E��f=�����-�f����M4M-/n�q}0-�������+$��,/!G\דg^m�&�77ylhAgmf������S\���X5��r�y]��Q�]j�Q�Z�%�C�|_�ϸOΟ��,_�B{c�ֹ҅���E9>[=є���ٌeP>��JН�22���:Ri0��)0��-��K�/�|�q�?7�Դ$
���m�8P��y��N�A��V�'@���U��
��Vv'X�f���e:zQˠ�d��\ZS�����7�8ǭ6w��
s�F�B�����He�x��j�0���LU(�r���W*��F�Q�Xw&By��Heބ�i�k��m��s�Ȑ_*���>к1��)[@��8HXd��p*� ^&�?Z#�X�#��a�٧b�Wi��5�q�.�&��$3
���F��<إ�
�#������Tܫ���*DB����h�a�㞙T���qۇ�\g(3�\��fF�M����֫��K��z|�Akɷvy�}���l{�l/8P���Z�Q��wA�Vr2�W)h����(�b;Yԫ�����zv��`��1���
�2s����)�K2�pEG%��$�Ƶ5H?Z��܌RB��!��E*Ns��΢�S(�V��%k�[����=�Z����T.;zQS(ܵ+`�m�'��c��FF
�Ӳ��;3F��ɴ����˘�|��ڱ�:�n�S��۠�u{�Zv��S�E�Xf����"�m�u�6��)+�s>~3�ը��9�ZD�ؔ0	��" �RD6L����295=��5���`9�CZX/��p��K@3k�g��˞��+>K.�Wg��V�햕ytu@�!v�c�~����&/�[�,n`O$�Xd�}�5���\������r�7�X}߭v#/2�q���m�g�B� ��%���v��N��DP�'֡��(ޙ�=�R1��R��f�d,6�P��2����d�`��	�e�N3_F����%��96�+�s��e�汍������](a��gjt~��m�.a�e9"�����Z����Ӣ2w'q��K���Z[}:���q�-n1�7̗6�F�ғ喗�e[h������R�7�d�_�z�tk�^�m:���d��h�m��u�mh�5d��tה�K]�5����V6�#e��X�o���NsQj�N7.]M�FԵ���8�|�Ŀ))�Տx���4��3 ]�!;��O�N���N��9�v���u�6��K�_a��$+_J��L�ϴM�FJ��D�G��.�5XYkԞ�4���3�q�,��4��M�k��y-�4j{ܩ��n�zqkg�%�5�.wi�7�v�<��2u	�k���H����>�5�.���cm�"�7}
	lZ]b�Gy.�RY"u�o\��O�Z$��\���ׂ�1�U''M��M�y^��F��ZdH�	kg�8��k[K�MZ�+�G�ߦk=W:q��OQa[�ݳȾ>��7�Ӵ��"?i�Q���oS^e��t,ͲH�ݸ��[��4�+#y5w�=��l���L7���.���V'�]���(���f��{W���n_0�%9yu9��:-���=w{ד̈́��,�r>�5�]�BX�!����q�^�r�GH�鲎�c7Ro6V�'�����^"��s]��;�/���`U��f9�{�$��&�1.���f�b�{sJA�p)�HA=�����)
{
��cU�������s�ֲ�n.ۃ�䳐�$���a��#ҭD�D���:��rӌ��is4���&�m��ˏ�����C�G$��M�7�Ү�^U�ՅY�e��g�/��(�>�����ZZ���0�.:��u��W��O��+�(���r�p�9Ij����R~��z�Ľ7š$;���/�x�ې���w�?�Z�ܞ2�l��%�!�О~��W�ӱ�{E7��w���*X�cix��_P?�c�~.�熘�6n���E���;٦DZ��{-��>*�11dҤg=�~��4�h�崞H��%/�J�Ys�~��K�:=�	�7c���� �嵼x!��b<����ªMwq��Zu֗�!�X�w5���]��j�ס�6�mu���1��ջμ��ZD���V�[PאFf�?��A���U6��f��ԡ��5��g�L�VG�`u���?Bk�>�v^��ʪ�5Çg<�Q���on�p�V<��6�<W�SN_5�_���s���\�.�/��ո����7D"f�uV�oTMe����
<z����d��s,�!�޸?���i�Kca�[�4;p�<$|s��XΌ*-u�[��I�y]�5�
7�<
�k��i/`f��FZE���������j1�+�"��"w����m�W��7��G�\^��{E-.008J���J$q�HO&��w䁮iy#;��i1��t֏n.� {�_�{��-�n�� �t?1_\R��]�݋�/�C��w��OW��V�.g����9�H��Һ�g��.#�0�29<��Kz�MMI՜w�[�k�_�PxSZ�����ҏv�>��Ԛ@|�)z�Xc4�;�=d�6�����u$������?J㮼s=�l�?�Z���-D0��3b��ڲ[�oD�w.��k��\j��ד
=v�b�p�{p��;��f�9k{.���J����[k��jn9��k�e�X�`�޺`��BV<O�g�F����&5t�;�o�+�ߝu
}~ͬ�Գ���\�߷���eko��'��i���A��yo�߈�f��4�G���Q�5kD5ߢ8=#�Ư�(���\�;y6�x����8�k��?��GM'P�`�����c�vǨ�k+��[N�j�m�:�[QҾx]�+X�0do�]x5��n�lj��rHm���.�bn���q�6�`����=2����f�
gzʐ�Ձ<����<;���_RKY.�uY$����^J��MF[#ΧuS��x��[�'�H��6��;W=�&���).�|���ڻ5#�7M��/�~�*	}s"ZZ�<��͟lS<u��qi�ג�]$�
!�=���[�Z葼i�V?�0]\[j7�m�iJZ�e928��j���]G\���5P�vT]����2Ƨ)S��7��k�Mm���N�/�?�jVv��j6��$S8��N�?׽p�������0����XT����F5u���	l�e��+4Q��#�w~�����s�Mor&�-��:�
w)��Kv�4�������|S�x�H��H�%܇"p3�m�n+��dɫ�$�q��W�}��"Y����y�&�Z-[�nc)sM>����<E=���	��5-$�^Z8���kwǿ5=Kn��X��	���74��_o~���%��ʥ�w��-~x�]=��|�ܹߕs�����Ѓ�)�S{Y.�J|�F���I����㉛��D��W��}�ش?
x^���K-&K�!|��!��ory֊�!S�m[�5�:�4X1i�=H^j�~!�o�d����,�w�%I�O4i�Ez#E���l�>&�ʛȭ���泤�&�:�Z���*\���/�����Gk;f������b�����ٵχ�guh%l�=����3i�tN)�ZA24r�T;^7*i����=4"�(�e��)�Ԃ'݁�OZ�o<�[��ư�j9!�N�	Es)#�F����1��I϶*0qV�������T�ӽ�kB$j8����h�+ΐ<��%P��Q���cBe��K�28V�'r���oPw��<b��Ӛ{�rx8���W�LE;̄�ѵ��H�'*�%9���4�#B
3ͅ]A�#<��yc4�QU��tO6�d3G3�TeC���g�l@��'4�ђ�"忞\}�2�V��E=��a�c�A��RI�#n�
�’c,f�O-m(�%YO�GU���$�6f��Pl.r���m	�[��bH�h�Fq�Z@� ;&&����[�&��v���J�I!a�?�C�i�i�B)o�v6�?��W��ے�J�Qޣ�'�4�*�4|;
��Ez���p�}�Z�;�,�!,Fa�M����)i��Cz"�t�g4�Ls>P���RZ�-X�r}zi����������M�m
�{�@�K����r]�"NXz�HvЮH߂+R[kI-���U���U��!��[Y���g%��߰�B�`���M�2g�BǜqH.;���0��,q�`a�
����2��rj�Ō�d,��ƚz�$�L��JT���c?!��8����Eܝ�i�0>��)w=��Σ.��*�R,E���(�\G���\{
��eTz���9$�U�@�\��Q�쉙�o#tS�ɜ��d���~N<��M�̉��i��کN��[�"��
���F ���D�sL�{�=X
&����ۅ��к/�lA�&ReX�Jx�jf�ChmcNXXYI,k��ʪ�,*�$_x�Hu(%��9��/|/��=I���m�ܞ�WK�{�KT���$�`�;�+��g}$V�Q��1�M�I�zV.�>�%Ш��ky����	�;v�b8,>_|֗�t˟I,wӣ���2�'���ҥ�ャS��[�:����iS���b�Zi�}���2�U��#�^�W�=�t�֛3��/��O���1��n�aQT�n�5��
F�6�o�y�-6�v沲W��dwS|�ڿ//S���#�.��D]3�c �s��C%·�[L�E��#�pbk;(���\T���������[�lC`�ٮ��z�֫���;�t��Q��(�h��F[%����x��S�O:��E����?�t�
+I��J�*��>�w����c*���3���>���
>�V�I'�sl0���Uˑ�\J�\J�� �l�몄�N��7�)'�D�Dd񵑃���N�(>��*ג�>�SMD(�����k�NQs�����c�zl�{�۝Uxb��Rԡ*�ʣ�� }g�y���M��!���̠ye>Z
����G������괚}憑�^��Ymͺ�Dr<�q��5�;��I2�e������Un�:���%��oFq�</g�ji�j��ZE���gX��y'��b���kd�I#��Ps�O��wѝ�(�E7y4E�[�Y՛2����
‹��C�<;8�b�ן�Fj��s���UK>�J���Lu�0;Դ��`/мJ�P��Ls��Tm�0�!�/^��b�O�5M�y0�S!���=���QZ�Nڞ��|E�pm�c4��8'?AVt�?R��mb�C�E�dg�k��gQ�h��kQY4�(%����8��z�=J����E�m-��$c�#� c��&��mۗ{�Q4�Z�cI�a��,zd�:�<�*��u�@#��S��o�C{{vp݆:
Xjv����(�U՞i��o�GՓK�K�b��r��(��C���c�CĈ�RX��FP;
���v�}uS��C�C�w:
:��$�������kʬ�K)K8帐��@\��'֡Y]�hg{+>��oR��7�6P����yU�_Z�4�J4�k[c��)7��v��:�u4�W�T(')��o#�0������9��F�K״�J�tya�$3��el�:��])�d�^�;�����[�:�	m<c�l6c>�?ҸK+��/����g�3×V|l�����S���ӷ�S[�u�G���`J$F�{b1��({�+cO���>-���̼M,��$H� cק�OT�}��'�p��fկ�d���<�YM���%H����|0�dKu{,�o�V��:�p�����S�N�K�;�ʑx��V�w��>ɭf�cM��b��zV_�~�x����r�i�~X�VYϩ���E7y8u�1��΋ƞ-���Yx_��|E�%�X��R=O\����U�>�m:���Wș�ң�
�	s;��cH�����uv�ƊL�72��%^Iv�g�����š��b��`��ҭ+hl�H���xsM��l̄ S�lq�j��K��E~o5���>ޔ=�/u_���H����u!mB�yQc��w��]��D|��AQ���N*��1�W$�H��28P��ƕ�m��YN�@Y���er�,Ԧ�>+�RX���f��'��H=���w����m��p��{�n�����D;3@��[J%ޠ�g�?�(���}"ٮ�!پUd�;X�໭v�Y.5�1��8P�5o�^&_
�R�J���{��V�L��x^��t��j^���ς)�2(,X��OlW}�o
�kZ�/�
��!"�؞!�����&��C�/�Z�ީm�m	3}y�HlN�Ƿ��W���D��w�d�o&���i+1�"��N�X��}Ϋ���!�5����-�Pb8_�zw������ȭ��A�ld~]+�x��Ik{�r���o}O?���S�B0!��?�<���R�Y��GH�Ef�=�D�6�/��z���t�1�'ۢ�;�Xܞ0}:���u���1�ۯ<���-8ֹbکt��s�&��g@��N��h7WR�+���h�9l}އj���տ�6���X|-��۴@���7e}y�}�-(�-e�A��]�ya��)l�%��Q�ʋ
�q�'�p����d�ľ bmds$p�#�
�}t�?ͺ��U�4�Q�۸���5���H���h���	�#��k����+C<) nR=pk��c�K�w����[l�LѾ&_�i$B��������`�B�v��:��Em�Y�C�ɟ��S��wm,g�}�/�5�����GrVL����TV��u����?q�EgJn�'�Q�!.h5�lv:/���'ĶH�$ֈ�YTx#A"��&ڈ<{z����bG����۞��)�^ZJ2&���tI�x?�~��.�G��y���mc��ӭ{o��!�xCX����{��!���
���z��ޯT�>������4�c�,�כ���J����ڈ�.m�K�������EJ|��/�h�y���t�鱼�Z����5"��Z�dscn�"r\��z�Ɲ:kMKsK��vW�)��h��g�X(��?+դe̶�'rN�CL��<�vC���P�q�(���t�XHEky���0g�^�iWz
���H�~IW��=G���A�H��/�E �M#6F3�ms��^T���*7J	�"��a	a�.ӚW&�y���ݼ���0��rhZ��s�
#�e�W�� �
.z��1�r�#c�R���bl�Ƞ��5P}��>^8�{gR->��[p�Be�@:
L��iH�.ߗ�E1���O��ڃZ��F懅��4�LJ�
'�@�xn*m��H�`�=��Y�<U����0�[Gc9+�Ƒ�G�P���%Rv�=
[�h�f�ܢ��(�8��R��	X��=+F�F]�v��n/ˏJ�����'�G&��Z�N�S\�UW�}i�$s[,�|�يwh�" ����_Z�
�c����*�2o}���BOCNd���Vm���Z=6*��e�dTr[�p�v��L��d�ݓ�H�`���sD+�"�I��	��I���k��C��:i��Bb!�ӽ<3qҒ��)�J���0�L�m4�xe
�qI�\�#3"��OJ��������K�:HG]��9�Bw'Էi��́W����t�4�-��5D�e�2m�t6t�O.�P/���ᶉn����S�[�X:�"׼="DєU�#���+5��NG�p8'ޢ�G{��(C}��5��S=sP�~ng;�>滣�Ӕ��� �}�ާn��dڭ�[Q��8��l���-�Ř�7��.b�;��x�uǧ:�2F3Қ`���*ꍨx�;5iD6�qGl�ǡ�:ą��;Gt�vٱ�ԥ��;8�&PnU� ���]1Z���p{��D�pp���Zm�ȓ`_,1,�^@J���Y��]���2n-��n�"3��T2����Ld��9��⾆�}b���[�b�Wr7���SQ��Z��e���ԏ�n�����\���ڸ�+Y%�\��n?/m݀�\ܱ�W�&���}V��n��|[��`��P;�-'
1�?�zu߅l����/`�fPm�Hc�lpZ\�KM�e<-��ױ#h�'�LJ�[�h�$|��K��Z��Jm�5���G�b�\�AN�y�#�C&�b�-��;-W��,�H���|�D۷g�?.��rM��v�W�����Nz
���;~/��z�����,�ciY`��k_��Vf���2
����~ˁ�}+��GJ����vҕ���G?-�Ʊ�Ȉ���o%�[!ǘ3�X~�t��ׄ*�l�����?��
���ױ�\=�v�����$w�H��f8�>gb~�>�����E����h�&+�c_B}O�d���.[ͯuj�R�VmKp��
ۆW�#"3rS�pz{⳧Y�%�NW�+�#x�R���O�"B�͙1���^_y�m.��T�w
��a���IƭI�mM;SDUM�K��CgÒ�3��v�X[+eK|�F��n�֟���Y�jm+Iy3����7*6�w��1�����I�Zh�f���8կa��ڤ�s��9o�����OH��J���(�񗂟�7���O�m�Iyec�b1�:��u�TKyk<A�#F��z�5���%zzy<�'���v���Q��5�=Կg|����Ҽ�P�d�K���Qs��N�=?fﻗ���:ݽ�
Z���W�`����ya�0Pw�Wl�g���u�f��]Ғy�&��;����d�d���ҥ�1�1�֐qoJ��!?�i�8��@�����X�:τ����o��<���,{T��&EE}o�zƟ�F�I�mf�f#-�b}�AS|�[����&��RN���cI��vDAZV�]�wc�k����I"�1@靬���8�x?�w����h���� �&���)Yk!��?$u�����P�A���˱9*��򬿊Z���m���gU2��y=k�%%�(�H�ڞ�k4�i��"F�Q*�$�����{�V;(%���eF�
2}��\�m%�s�'en�
߃�5�WP֬P�)���è�lt+-�8t�="y~f�OҹT9���rGW���
&[����>FG�l��=����2i��B�6;'O`k�Xu����t��R���na��Ьѩʰ��r���&��]�^{k���-�s�b�M�Y�B�+z�]�7:��qh��fi�������c���)�KH�5��la�в\�;��E�(��)m�S$ܤ��i��M�-e��<�8�q����?�*֦�5��SK�����W>���i������|����-F-X%����(\2̽������|_��j��K���]>��qYԋ��E�:�g�0�hW�i��k]�|���J���ֽ
�唤�G�ݐ�:v��YA�[�͋Cg�\]Kmo���.'a������Z�s�f��Fh#���i8�.��ME7ש�����6P�V�MQ4����]w��Sm��6g,<Ō��>�Z�U�M�G��\գ�4x��g<��w��"�F�k����<�#�xFt�t�Oʢ]�5צ�a��0�qo.��d,�G)�=u��ݕ��9�m��U$ջ-ɍ�e�R�jW�jE	�����'��b�k�_]D��,{K|�N�z}*T��Z�_3�G8���e���y7���Q�N>�/����1��1�V�j��F�W5��3�SJQ�a���<%�[$�+EO�G�}i:M���Z*Xj	=���P�V9�&��ws�OC��ia�r���d��S���h�&R��c�𧛮��›4�Lۇ���lqSx��6~��?0�"I����kf�)K^�O0?���d��=Nh�0J������W�����Kq��ڇ�����#`�z���lL���d�z��6t_���:��z��_ʦA3a��OOO�U~/kv�5��6�L����Q�9�sQ��a�k(�̕-�u<�C���-��2+�˥WTF��ǣ���$������$��:��js�W*ܞV�������i��D�8�?�\���=���N����,m���ʌ�d��qԜc5�(��S~��WJ�n�5�Z����$B��C��1
vPOS�ɮO�_Ė�)�|9,kF�ƹ;���i�\���ʄ���O�����|�&*�󆸒�v�~27�\��T�[��o���7�hG'ҳ�rWZ[����ދ�.�X���+x3��lu�Ҽ��~�Q�TX���.cU��ɏP�SR��9�����vy��Ν����Omu��?Q[>�#��D�Qs�̤�e=�hs����UsCI�}
�Yߡ�O���Yb��k���e�A>�As(�;�<��WJ�^��z~��f_�tH����α��̨���ڽᧃb�F��l^;�L6o��}r}y��+�-N�'�+I�E�.�U�"MER��F�I�T����O�j��~&��<����S��C�]�j/�;d�U�Z�חת�����O�e�$������-��s$��X˱�J�=��|�	9�.t�j�?�<?,��
d�@�8��/G�����D?�����S�b��r�m5���wv����<�EI;ḩL��0!E�&�#6�L�V"a|s�X��Vd�x��Fb�O�C��sD�nݍ��4*M��#�N�I,��g-�f��~H�ռ�f��1'��S�^�h�]��"��{�N��n�5�/�:��A��/{�����zQ\��ȁ�������F2���
hVU!�9���o�j���*�iw�S]�C�d����dT��.)�ҡ�
�jw��Q�k�P~/F;��FH�F��?�{��ׯ�;�̌�Ppr��/12T�zw��Q-e78
νN=)Z0��
	\�a-�%�%Q�0+g�M��kc�R�pF*u+�^Ör01�T��3~��h�	mP��5@-�E��I�؎=�>��#���E�m��$�VE��ҭj�d�I-�e�Ҟ���qY�m�F8۩��ȹ���T��ܮ*.6J���61N[F��V^zԶ4�.��!%S�����bb=)^���PH��楉���Қd�$�YNO[�5Z4!�Ʊ��ge�3E�$q4�Q��#R�����'?#T�1���*7�����E��VR F�Bl�g���BTdy���Nk6��8�884���܈[Ȝ�zpFA�5c��fr3�J�b%ˉcls��H��V9I �-�?�W���X�:�ҵgӥ}�;�m��D�}	L�O����=3R�\Dwo�G�л���|E=�܊��qYS��G&ە
��3IR�c��Goᦝ��x���i�
i��k�����UJV���v���I����W��@!A�U�G���Aq�߸`xǽ%)=�Ct�S�e�<,�,����'�G��Ҍ�l�.�\�S+�/�ٙ�}v2u�"���m���ֳ-���	�s�{USRQ���UI+�����6��;�A�L�q죁W�5@<m���EhI�gŔ��^��C��pz��d�XR�.GL�M>veE�H
��娵3Z&3��̽j����y��H�I
D���P�C֓��P�9���Z�9��=+�__���-1����|{Dq
���+˖)3��n�y���&��AԢ�KY,����ɞ��<�Y��2[i{i���Ж�g$W+���͝PprN�+4fX��6�<:|�b�Q�1T�Չ���I��nm,m4��Ǩ@�#���'�}=�~uY�eR�97͢���Xx����U��l�m���1��n9�ҹ�_jz�����+�s:��`v��d�Ԟ��oǼB|���O������~�5��t֏BM�"u�=+�uI���2�Һi�ѷw�F���3_��&�v̨*��Rk�/j����p��_y3J�g�d1�PwQ�\u�W�}6�>J�]lE�YG�\���]����3o?*��@+ڴ�
E����-�GSbK'\�����ڧ�7�Q%��>�i-挃S�y~gPq����_
�O��KKֶ��1�7Esג�'Q��jN�[�c�𥼑[<"R�@B�~Z��xbMKV��{�Hz��Yƃ�E+�j�c8��ԀX˦ݥ��k��!��F=�������,D�%�y\�ȹ�o�כV�S��h������:����o!�L+�0�=�xb���A
�'c�I\��^�=UIY�\�Gf�]
�I�M��T��z�z���4Vl�JW�k|�������}F��n�ĺM��k�uY��f-3!Ē�S��Ϊx_�O��H��JJ��ύj����7*9�q���&�o�l�&�^\Jח��|��rO����K$�*��/o�zX���������kԮ��6�e�
�˃���P�X��������k�I�L˕�[b�,~c�U��fp�ث�[�P�n��J�gf����e&!�T�49y潻�j���͒P* =�(O�b{���v��kRjr���l7``cһe�,�^[鰪5��8*28�Mr|m���r��Vy���2��O�WEU{���U#t��8�ҽ+�Zt��wz�)Y�%nYC���ъ���dSHѿ���V�VҬ�M�`<��My�ƽr�J�C�]��p��OJ��n�z�&�c���H����Ex�2�w����_���K;q*�'�޸k]z6qb�����{wKm��n-!�En\�1��V'
��>H�+��)r��l��{�G�M��'�Q�QRx����m�(�A�B1ޏ�˗�GLR��0/�Kg�[뫝B��j�}Ї���p�%�������
�}MJjZ�sT��9�uI1�m��D��}rkڴmVo�,��R*]ȆA��?�W\I�*�u��xgB�������e�E�'�l4�w�?º�gB��	\xnK�-�nKI0_ԫOz眤���6���-.�������[�H{��������4�5��>�n��;�y8�g�j����L��t{Lj�d�7J�� ���z3\��ċ;���o�AJ��&7���R�m/ qw�m�i�/�d�x�K��s l��j3�s�NW��^z�V�N+]��B���Njx+�5��5K�BFK�BR��y؝�j��k�u)��g�ь���(F���W��\�[�I/2�H��X[�w����Pl�{��RXF�{rdk/�W�_�.�z�vp��y��wq�/�,�U�2F��ܰ�
���KHd<�0=�HX��V�%a7a�=�E\g�;��6�
�Ĩ�Z��
9]����[_�Ɏ]^+�N#�ϙߣ�7��.k��Ѽ3{{q&�D�{
�xbU�.5�5u
]�ٟn<�諟��V���+��g%̭���w��|�ՎP�v��k�=�Yx�M�x��3����r�{���S\��ӳ-$�n�B4]#B��<3#���Xg��?�j�Ie�,�3�A)��ڐ�rs��7,e�3�M�,��\m#@����.T��(��
xU��l����JIh�o��d�y��A�6�U��z���y5j�k�O�lG�#�X����vZ�ÍJҵ7��u�����d>ޕ.��)�vݑ�����i��e��QZ['�&�� �q�=y�]7�����^j���60ݛ���ފT�(�ބ�*Q�<b�ZoZE�xy//�vb�
��qY���u���U����-�Hm�������JNNۢ`�t�t;�}j�Ǻ���?�,�����99'�87½*��S�g?�����1<���A�V�).ɕ�ww�Gr��)�Y	���?�=MiAaj�R��
	\���q\�=���'t{��<����Kk�v�p�eu#�ל�����P��I��*�L7m�~�ֱtZ�qv��%�%��⭎���xqb�.m$���G>do�8��޴S���5���6�B0Tl$�2:��Z�j�J\��l�	�{����w�}�m��#�8����!�V�nc�$3���j�RZ9+K�t����ψ�l&7��#�F~��[U����3wpzWG7��i��x��"�]KX����gͽ�Qd��^���wM�-��Ory�J������iG�i����tU�+�B+c@'�%pi��R�;�YB�@=�0�}�}M����g/4y�Ȫ���L��]F?\��;.�k�<M��l0�FA�6�tT���$	��׀���T���RJ�.[�b�ҩ-Nf�=_<O�\��AR6G�`0ɁI�0�1���n�GP��"��RL���P�Ƅd���{�`�Jog��KU
cv����P�kfC�NEM`I�#�i�a;-���+}b9� �d��*�Եd�_�4�2A�׺[�aJ�$��sڣ�6��v).�j%J7O�H����1�����{�h���x����W8�UˡڗmcY�X�,{
Y�|�H��l:��e�R$=mU�r������W	�ڭ�BSԁl�t ���lx1�⳵�e�vXNܲ�R�``�v5I��Zܯ=�n3ۚH�+��.ю�W9�J�ő\)3��OqV#����'vY�b�'#Ҝ�'��V�d�B;c'i8���yW�&{��4��=2cf
�`�<{�M+XF���`Ǧ)��8a��zrQuc�*�rۮ�`kpgݑ6JR���BY��=iNhHDK�?A�JR�=3NȮ����j���%�H�Q�E9e�QI�G��]�kI.�"2�G�ED�l�VIZ�i��wg�qM�W�+�*lSc��ȹ���*��m>���E؝d�h`���1�au
��M�g�Tr��&�B5�6;�Gb�(��m��)�h�m��Z��PGIFqF�wp���8K�T����I�$��i9��rar��+Gf
��Ԅ�rGz�NvpT4�3?�o\���E�(n�ֈ�س��:�2A2��/с9�ЊS���He�޳�ӃQm2�/˟J���l�@*22Ɛ�^��jɂL	�=��/
�j3�2ٛQ*@Dǜ{��U�}��s�`��iך��$Wvbwf!�p��M6�k�\��so-�ʅr��SD��|�OX���i7V6b���%1����V�o�����ؿ+�{V�Ź>Umj�˲V*x�����sld}��f�Cz�4?��Y�5���,
�&ي�t���OE�;��K��h�U��F��e��gV�H�M���eO\w>��^��ȷZ:L� �@�v���n��$�斥k�m_N��n��:W��GI<S��֖�Bg��(�����n�ʪsN��,ʌ��tv��N��{%X��_�`�ܞKLֆ���\�y�HVԪ�s����58=ΉAIٳ^+���L�"��W9�j�{��(���6�ON}k�)J��
��j�Fŏ
�b���Y.�91�g����#��V�**T�o�mqS����~+�K`��#�tP:�S|IW�e�D�e�&�ϡ�u�C
���n��DD��[�t�c�|�F;·���],����?:b��+ܦܩ�5���7;mA�����T� �d��u�N� m��-9gې����S�*R��7�&�[{���j�^�~�H�����L�5��j��zܳ�f�L��'e��{�� t�y�v��r�a�)j�inI�`]�$�p=+:Y�}B�a]�D��9�+�¯u[K�cH|>�u���P^5.�����j��oa�&z��\�������a�MAp�$h�L�Ҿ�U`PiҜ��|�7�dC�sޑ���hN��i��C)!��k�j_�N��+%����8,��}�{�9rœ'f�+V��tE�T�����ȕ��c�ǧ�TZl��$��^~���$6z�Ey2�s>F���f��dw?
~K��%�!���?�7��O��X�Z4�{*�>��:j�Kn��Ֆ�~�sQ��Ʒ���"��I��� zzVo�tY�K�B�cp-m�	=ͼ[�=@�����}�n��<�;_Ks������+���~����K�b�ܹnCy'�Ƭ�8�&��I�i�Zj4�&�(F��T��
���Gp�d�=~���V�xӻ|Al����G����P�47J?둨s��rw>���Y�[}-��1����~��γ��<Ww�Z[4P�ۂ^7?<҄et�=�
�|�lވ֋�~�q�6�yo��]�e���3޼�X�� ]����o��
tx��z��ֻ����F=�Y𦡠i�.� �h7"w��=ɪ�æ׵�
F��;a`�Z��5 ׫ٙ�w��R��b�᷃��B��9��Yv� ���zב�W��Bo��|��.w7<�4RVm�DRV�@x{O�=����`��wn,}I�'�����ca�S��
W���19�<�>��Z�D	�~�n������*Ӣ�0I��Ϝ� �GP=�kU'(�o�ƭs��G�f�w���C�O��=Ӟ�����Ҿ��Y�-4�*;�x�#�o�?�銤��۠���_E���Ӗ�k��Ƀ�GJ�7�m.�S��v�kvWlQ��&�%/#.n叇�<�/��V�[X紵EY[;@�������Hq+�H���k��ʾV���S�.�I"U�F�GC�ҳ�k_t�ѫo���c{p��8?/�m��wb{�4��wCr��4��`BA�R
&�ȯ�h�����n��>2��G�5���i����I��}w[��Ɖ%�۪$i���G��V���>!�H���G�p\��?T���/��xr(�R� Kq���H�7_��vo�ߎY4��j�y��%�k��V�����+�VRP("uc�b���K�~�x�W�T���H�K�I?ԓRx��Lj�H�4Q�&>�6A���8?�7�^�h�:?�l�A��rjwf#s`r�j}
��>լ���fiKv�}1YTJK�����Q}O7��Z'��;M��Y��7���:�R�<h��g��8c3�T�Q�����P^�:�A�%e���o��!m'N���P��pK�YZ�N<3p�"��c��t�|Jǐ	��$��ݙ���4��z.�-������v����F{�G�5��<ei,W�f�]c�g�v��{=-�5c�mfU:��Ć`�ެ����Nѧ��c�6	:rkd�~D�^�k[���5A K�{{R��2���c�P�LZ.���,\��nJ��M�y�I�
��W��š����r;�+��ȉ��[�2��>��3���x^����=Ͻq��导����z3W��	�}�\�I������j��炏�d��tU
����OF��˙�W���N��;Y�u�ca��i!�0�H�Fx9	�r���{�>��(��嗳���r�J�]�:%QN������YhM�Oy
�Y�.`|g�N�׷�Pk���l�V����9�
|�Z�ٽˋ��_�&
��K�#wbsU��n�>[�+x��M��Ϻ��j�D0;��b��ts��c�+UO����Uo�z���>���|B���'T�
�f��N�͛����z��*��Ψ��3��;$K��N�b�e����o�m:�V����D��Ž=��8��)�Wc^�H0�C�jΐ�m!�Ddaن+7e�Y�[��8��R5o�J�\��6�I�8����fu;�5I���1�i�(l�0j6�;g�-��(US�S�5qS`##�Y�>��nѶ%R�ҟ(^�\R	)���00�Xw����CR�L����ީ�c��6�
T�E���H�$��R�{��W ��Wt�m>�Ux�aՆA�W	ljj2��8{x<��Fz�+C�g��[�w��x=j��{%���+�w9$Vs��u�������[��9�i�(v	/����S��!vq��8���.KW�kΌ��w'uVM򯛾5%s�V6k�Ѵ�L��i�2ͽY�#ک�$��.FI�nr9�n��Å��y�E8��LSH��W�@€:a@�'�.��b1��
��i^ޥ-
c���j�˺0X�P����d;w�#=��~���5�bb1x��Lg#���]�s°
��T��'�'�s�2��VH��⇠�ĸ`�i	!sHC<�u�?J��bE���P&'�O�O�dQ�* �il0?J�Q�Q�0�)ВP��*1����|��ދlҘc�����U���Z���(#�e`=j��VB"HP��*w������I
���%�n��3�*�gԍ��L�o��֡Ao�nO>���/�ج�Z��z�q���V�(����U�7��`���ǣa�{�U�v*��@�*�+�%I�ñ�ձTm�@z�R��ī2ޣ�f�f�{�z�1�(#$�����U�5���h��T�H�f�9��z�����Cg�'����i�PG�[���;c�^��]z�Y��&������SJ�i��5��{t5�Aac��$��8�ޟJ�n|-�I�ik;�.s�Q�z�iW��Ӛ�Qb/ȟ�R��Z-��yw)m���~�O�[���{�3I�X�1�s�p��0��iޢ却�%e.���<G�jzԲjv+rLXK��b���z��Q'I�BD~��J�vz�2wFW���.i�K���۞���h6�jw2"�R˖OR*��Ar��S��%7���ְ�A���6�c{1H���a�8�뚺�Q��RݝR�.���gYM.�M��]y��� 9=������>
����:�IJK���ڠ�W�NR�-=��i����%�.G�x���tE�|3���ϥgXxcէ{۹&F;Ž	����[�,�ӓ�o�JT�M��6�� �[�W,���h�-7���#��r#ty3�y��B
r��5�HA�4h�ww7��i�Q7���8���	,�ɮ�E�	n�;��hfn�
�P!�/ȃi#%�Xզ嬝�D
>��#��[��=�+�^z���W���NF�m-�п��&gf���qʞ��6�r�կ#R$��pJJ��מ��-��k�Q��Ifc�{T�*^��Ѳ�gH�++H`'�t��$�K��O|��D������fܷ��@����횖2���jl��뻓Hhf�/�JF�[ڡ��n�GAJ1��2�_
��Yi�!����HQ��z��<|!�iƒ�\���`�	�έ7ʟG�N*^����1���#,����\Ӵ�ݍ�Ѩ��#���:t5�j)z�w�/�T�_�iZk�ː�Q�X��il�C�k�'�����3�?C[ԕ�
�_3ֵ
b�F}F_�PF�0?*�q����Nf��V��1�ܞ*�������&5���&2L���ڥ��)o�F���w�t�Zn�����]�Nխ�P��<����Ǡ�Y�S��A p=*.�a&Eu�Gj�eê(�:����1����(p�*���̮e��d���I�ܥ�2�����_^�aΧw��K�F�I "K�y��u�����9�^���M�Q�Y��o�^����[�Eޕ0�!Qב��]pI���c�OT����S.�w�:0���A6p��L��z5���e�\G�W�Ā�}O��:���i6�e�eގ5�"�v����Єp�jKm�m�_L��Rq�c�ⱔ�t��S�0��~���Z�0Y,�T�zsSG�ؠ8����ER���*�l�+M4;{�v�;��ҵ_<��4�&bt`��?
�MN���������E�7&DFt`w6}kD�z���B4v��$�{��01��ɨ�Mlކ�\���=>[�<�]K	�"����KƟ���[�@�� 2J�zgW;Ub�{:o������Y]EZ;�%�1���ϭzE�i�7w��@?�{Wbm�E�m��s��>՛k��l�[³1�b��%�~��{g��4ǚ�*=[V[�މ��?�7h�������+�_E��Z4IV��!���*�]Gn��5���4�//���Y��?�2����FY4�v�տ��������Z�����[{��ai�d�R�c�����{�sE��T��0�<�$�ݳ��V2qR���:��ړܦ�ejO��:獢����ƛ�G%���r�aQ:@��~��Rm�m��/�߱��YK5иy~�6L���=�����G�X�֖.O�ۆ�����rQ�{G]�.�����_�^"�L��QZ���
��³�i�"��s%����9
�Y���*a��ȳrn]��A�xO�7����K�`c8aԒ3Ͽ�z��#�"�y���H9t�r�����W�<�C��|	�W�ִ���H�C4�
�9����U.|C&��c���ul����",�ٰ1�qR�R�Z����mN����5�?���!c$V�ױ�^:w��l�"Ku�R��@��p����kW%~�%nW}s���\�M�~X��s�U�j��>���BQ=Nx����mݭݏ+oj>!�t�3��}�"�6H$t8�5��+K�M
���=f)��“�3��r;�����J��V�F��{�aɪ���d�c�����mO;b�G�5�7V�3A7�B��rm=�Tn���U���cLʑ��Jꊱ��+���O��M�š\�'���Tn�D)s�߉Wi3��w�u�o�k��qkI�sv�;��\����V�$���pJL�9�=MuF..�S��b�Υuc�k�.bv�zY��\4ms�"��6�+g�nD�\"I�
]��C��O��5.���rb�r|�c���#֤��$dS���jE��;0��t�\w�f�$�5jWV�X��0�N~��Z��+�nuIB�v5��rkT$U:h�
���v&3�HlgḚK��ELj&�ޥ41a*~�sZv:~�zʖQ/=��z+����4����H���G�!?����wX��:��y踎up���)NOEdj���x���͡��̓�b�U�"�5H�7�Z��R%����j�>Za���nKzX���t�֖����0�x��	��
n*<�tM��������w23Z)+	�M�v��#��P��FX�֥��Ј�<�
�������K�V� ��IـzR�Q�Z���Fp�@��qޤ�4RSl� �ؠyC�n)$�M�w,
�'�y�ુ��Z'byo�����5�e�\In�=
L��^������2��px��m�&7�g��{���
�o
$Ը$�i�1��d�j���ie����h�7.3C����ԭ�r�Fpz��s+\a�,^ȸИ�H�2�b�$��1	%��u�Ui[׏jtpy�yc�lL�
ˌ�}��#�Wr��{Rp���)$Q����Ա���c��օ��,�!�N�>�٫�>`hz�Rqb�ǵn��i�vq�-C�(倧����##W�/u�.�C�_J��38l���liY
�s¥\e3ҏ>)��&?2X�÷^*�����^��.�SQ�1�CP;\|�h�}�H�4�5����$S،�ܵ�ȓQ�y��z�..a�1�hԝ-�:��ȗ�Bw����.�����JCH��۹]B�,����T���S�
E���.Fʛd+���Rx�#��Cq�ZE��s���P���Zhc�`�s3��.0A�*�K$Re3�<���R��Z�����1��;
�yI9���E	"�����:N�|b����b��-�9�=�ۡ�ؿ𓊸���6��lsS�|���~Ab���жF:
�+fwf��CR���5VE����l@4�H7�b�*F99�Y�M�d�0�(�$?(s��ʣ�JN��<a��?�������2<���pc�X����$�Q�[�-�4�{ƕENN�֬旹5-,�!񟋮�<mm
�r}��h�YHP���5�3n���d�����fU�YF�]�'�2kT�\����>�㙕on5-��;p�88����z�Ɵ��&����J����+z�
w�}L*���!�t=3V��Q���᧖//������nf�T�U���b�H]�Lu���ia��I͕)�0K��H���L�n����x$
���#Yg�>m�޾�߇��E5��҃��[����~"�� [i�V[r�4RC���AN�OftT��������|?�4Y\d��`j]]M����D�52H���5J�u-Nю�v9MG�-��,��!^��h�#�9d��k�!B[v��y�13���.�,�)o��7�e����P�,�r-�p��Y�ψ4���]Z��ӄ��nǦMMlda�?��95�n��
�i�_JM��W���z/��uK�:��|rC ���WF�J��m�
S�����ve�fT^��ɵf��L_t$��#>����ѽ��7�����x6-WM�;�7��-V��Rxa�]�=���5�-��s��j⧇�:�˙�f�˯VZ�	oo�C`|����\V|��֫��d�#p��{4ޗ5{��:ID��Fy����yW���68���{�3wf'q���r�=�`F�o9�*9�
x�PƆ�Zt�"�R�#S����PQ�|#�����<GH���+������l�>�&Yi�*Npi��v����w�<+���ƿ��L�o!{h[��=�쾃�zoį��or���I{#�@xL�u�vE'��KK�{&�e�j�ڵ�w���P�*=q�Z?����|�"]�g#$r{���nv��j�K�3�w�F�����J��$XQ1�_Ҹ�ķ:1����CF�^�{�=rkZ�tz�I���t2x��P��0�
����IP9<w�R����ln RVe}ꭎ��#�J�6N�f6�5�\[}�&���4�l��?!Ҷ�2��ѝ4�����Ȝ�n�J0�a%�����mzm��-�2�a^}��v�y<h�����,R�����Vp�g+E���9�m��&�$F�;����?Q\��ks�D��B�8�1�.p[�ס�T_��\%�ש{�Z.��}���p���ʐX�;�z��[�KTO��Z��P��r=����a78'�Q�<e-���ⱷ�l�m���p��;��ֹ'�����}�l�\��Ly w�X�)O��4��_�R�?4Yd0��!<�T[�J�n�D�V�B,l�v��}?�5t�F�Jڏ�"�X���y�x_�1�`!�����lj�k����anЗ�VB�:Ԩ���u �|H�|-��RwA6�z���֣Ҽsg��6ZD����T�0"�s[��h\�EHn�.<o"�ԯl�1)�'��zw��D�-t�3�<��>S���o�eO_�B�e����Ҵ�<[r�<���y�?i�b
:�8��.�7l��SY���1��]��,�0�i��S��3-�l�*��l�eM$<��w��~���E5��U5��sr�·:������\��� h��|P.�^el��I~:
iI�u(�躜
x��'�l�!�.][>s�ߎI<q�Y:����M���X��$vy}þ1��֎�.�.�/W��7]:��ӡ�Č�>G�K��z�5��~�����_�@���QM�^�}L��f��ZsY�����`�a���ָw�V�ŕ��-��Ţ`29�Y3q�ܜu=y�M�w]������/W�'�R���K��"/8�~���E��?w�������V��e��;���A$.�,<��A'�~�W�qv&���e�7'?
�K{���W�/�7W�NJ�_(�HZe�y������W� {_@� �E˯�\P���C��<���ZS�{;Fu���S������I�ž�ߟ���Mh�Wb�M�Ȭ�/��G�:=�|��k�C��j�_�ƒ}��!��=3�:Wwpn������K.0��=�Tj՞�2��9�sC��mcŗ����6�>��ƹ˯�zm��:�t巶G��^��kHQ���i%��Ȼ�j��$�H��-b�`�B�9�;zr9�+sw8[�-�dPܺ�曏3�Ds���_�V���k����`�LI c�g�]��X�[�	����n!q��q\����^ѫX��3�i��d�����b������B� �l����x�c%�O�N{���k�C[Y�㛨�e�	���V��������n��U���>�[��XTM 9��G�V�QwO`�f����|g�h�R5��f#��ߎ��t-7N��U���q���&ȋб�*t���i����CZ��JIM�ŚL�rp3��v�|#3�%y-b����>n�X�)_���+6�0�$IT��5����N� iTLèC�խ��C�o	x!�]�٤E90�%\{��V���|��y�lTʭ��9�MaR����cR�>)˩*�����<;毵����.�z�WDa�Jih�ah	���e�!��;��MTԈ�e�O�j�Im%��g��&���R�tזl�!��s��|ʌ|�
GU:U�d�G
1�y�<G%�̒_�:g�c��e=c/��O�V��"�`L[���.��d�����݆��=>n�Y��6i����A�]j!��$,���Q�Ӟ"Ι*:�t�"S(����r*o�-rt����A v�2��S+���G�x@��Z�<�9�F/8PO�M>�r�� ��)��+��K�3�'�zsP4a��^j��(�WUd��>�m
����)8�z
E2mB�X�N�d�EV+�Ԗ�C��x"�r?:�=-�A<J�3�JXHA�M=K���';!�j�ʪ��ڪV�bx��DU�s�iֺ�ա;�?g���X�Q�{؄��]@\��VW���q@Ҳ�Q,q�n��-��,���`la��/@n�T*��$�M�)�5��	uԐo����,�"��Ż��f�v��v�Ż�0�U!I�.탪�ʜ|��<2�Z|����o��g�m@Q��Jİ���)HFS��M��Ⱦ�P�jB��bv������Xa��VY]��Y�.��b"1:�w�i�nI���]���r�r���g����c6�$i#��*���� `���$2;��VYฌ+(Fi\c6\F�b`އ����&�

�S�	'�ӞG<SH5�ђ���~q����bB��w�>������K�M�ޙ?�i(Lps���=�LX�~�ֲi\�.�1m59m�wg�R�]}����?O0�@��h�4-��l�$����%^:���:%viHOv�jT-+��֤�t	�J�"�<���+���祻����x�O�C$P0��Sښw3+F�e$j����J�ȿf��r�$v��󁍺ҶK�!���H��x��L��t���EK��ߑY���ҳi�h�.x�6�C)�*YHP8�*F+��ƴ�\��>T�x��#̬
�M��n&�]R�fs�+�*��u^
֭m�X�F����F���$W�ȟ�����s�񆳣��kv�>��F��z�_�W��l��v����߾02Y}kϯ�-ы��7������v�/#� 21�$s���K\���$�%��GYb�hTc�H�]ʚ�m���on�N��z�+i#���(F��C~��͟\�᷂�R=�D�/���ׄ��u/&�OTd�&3D���,����m@�Aq'BQ��^�f���̈́�W�ϭ}fQPK�:�Ykоl7�2h��띬�F�9�s�ꌏ	ܴ�\�$���
�a\׉|Ma-->i�&���I=�g�qP�f�u9mR=2����f��r랹5���͇����5��r�A'w��y�!NI�t2�Sn�;�k:���9yb$����D�,��Mr���G,X(�w�yI�mu�����`��[�dW��KƑ[h�c�?���v��޽\��i����>Gvt���^�#	���d!B�F^g�K�� �^�)gG"%N�����Zu~%.U�6^���u��)𽶋wq�Y� ���sB���º�e�Ή+���ƃ��$srw֨._R�x����%o_��tA	��$�5Q����k&��ڈԸo��Rղ3f,�VIA*܏J�IF���;�{RJ2�R{Xh��E+��Luk2��Q�K7�+zt�L���ƄI�����{g�5���I+Z�̊ٸ;���/N�|����S�`�+�h2(�o�GS����	xWP�+�6��|��<��sԝ����K�[���w��i��K0[�k��u'��zb��>�}�j6�*����<�����ƝK��S��>�+y��x��&k�����#�'���WM��
k�R����H��̒
�'���q�~&�m�y���7�����AN�-�cx'��9�?�K�o_*�c�y�W�J��Z]���[�'ßɬ-�ĺ
�yP;�n�ۧ�=k��~
X<�V�O,{���U%���:M��Sv�)���?�i~�K�{˖T\�獣Һp�ש�╬x�ƝY�����g�t��p����My�2*� �o+�芑��OM��Y�C-��e\��æ�zV��=��W�կ�q����S�+�Bt�6�RZT��^���uA%�4ӷ�W���sמ�g�&��ӭ�$o9��[T�w�;饱_G�ЯVXtm2%��R�v� =�ֵ��k���i��0���������x[H�u%�����9܀�G}+f�̱��h�S8S�y�^�����ݷ���(�,w�f�[����>��u_4�/|7��q$W�n3�����jͨ�j�a�|���DvwZe�XiW�S�V�l�8�N+���U���E��B��{��T�Z��7��W��-�!��5{-rU�4�U{y�9�W�Mx��<�Hd��s���yo+�-�M�oug��zf���Xa:6ZB�C��O��)d(uGrf���U����.]�/�)���Ԯ���J�f\�.y?\Woe�w����`�Do�.Wt��f�	�q�NJ�nVд�����mj�m���߼����q،q���M$�F���EP$X�����۩��,[�����+InI-,��d��^�5���;I;�fT@2����Z�6��9jQ_M��|C~�L(���z��k��/�4�M*V�����f��ߞ����o�T;���?��{V��r0�L�6s���G�_-|C�+��[���y�QV���)��MWS̾ j��*��aF^����w,y��.�QIlK
����Ž涴	��*�i������br6#���T6��\߁z��Z���ݵ���J��F�ݎ����V��>�)�e��;M3\����P{����Ue�dI�c���>𦔚.��Kh�O.��'�{���k~<յg6Va��m$~T�w��W,n�8�P�w9�I^g=w�i��q��dv%yڽj�r!;�O.�b�[{c*�(dd��z���3"����dCF�<ii��Cr]���t�r
���=s��xo�0�Qb��a�ec\��,���9*^�(�v�g�/G��f��R"�p�z�c�׮Ix5?�hڕ�.�cx�*��-����iT\�M�ѝ;���7�*�[T����>�mHbC���sПS���=c��
_\YYE�rD�x�1�Kw���߱|��xߍ�L<Ev�i�������势���X^+��������"�;����GR�!�b�~!��H���%E޻,���†��ot��?�i6��Լ;y$��k��9�厵���jè}�壞�+yKє��YJr��e�}L*�FI_s�M&�]>kckk+����?Z�w��@��/u�ņXFʡ�ϝ�B�}N���[WѼ�����H�Ljł��}O��z�Y�◎�He# ;�(�Nw���K�/>���%9��s���.o\�(��OJ�涏[�|�t:ͤn�h�V��sIwpv�̸�Eb*�5"��S?����S��Q��k�2L"���WuW* \�NM
��.59>��mEvM��i>7�Z�����I�|1c�M��5��:���w-S��+��jkH��q4w� �ʤ,���.���m�!C�kzi�k���R�l��2��ZE��n$�b��I?J|�����Z-A���d
�!\p���bl	 p��=���¸��8qG������W���ݸf}@�^@�E]�̫hNA"�9��M�qM�q��h,�G+Ȥ0�:�m2�A�l��ۋM��*�n�+�R� ��ڥ�i	ܭ��*-b�b��#c֪��:�}iI����"���6����jI�,W;0\���fFGZ��Io̜v��Xw���H�'���G�\c�j�c�����M�p�pz��@�q�i�&H��('$�aq�q�0Z¸�1��k�ݞx�~E'�Ey�-^X�lqP\�ҩ�3UeR�EV����	�Qp�c�ͷ�:�ˊfh���*��U�;��hwb7n�P$BHݸ�T�8�"��-sD0�ǖ<�4h��_-�MY�Gh��3dԍjS��m�{���ws�I<Qn�3�'�S5K罎8���$VM�?4i���"����8 �5J�c���}��-��T�{���ޥ�.f�d�.����W��X/U�n
�n$T#>���o�N�u���ir��%y�aHenI�����T�|�9����;�j.��=�w9 ��ic1]J�zV�� �p���NR@e�h�WpԌ��s0�:Ա����au��hg~(9�IAK�)J�Х�-R��߼�������"��G-Փ	l�C#LN��6�&���<-m��ظ�q���^;�)��T�)�M��55yc�s�E�N2yw�H���,����h&��:=τ�O.��	`'24n� �zw�n�4�S^g3�ί�-���o,��1l �v>���|u�
;H���ǝ�y c�1ߎ��ƾXFQ�Os���r#��u���;ŝ[�=�R7�|Cn��lg����
�8�v=w��Z&�+5�����]��9�� �+����%�9C�\��}kL�&������Qv����/�%��m���\��'��
k���,�v���RRWZ�:��v<�B���Sj�%���8PO;q�9�rmFG�#J�G��$Oh�ǯ��כ�����nb�oN楧�,��ۭ3Q���� �9cP���?�tZF����M��{�bs���h��~��-;�/���kg�Z���}n�b�g���o�l���]�e6����I���������P�]7d���$�;]u1|5�mG�W;t��+e�Yu ¯�����t�	|=��5k�srx!�]ϲ���^��,9�{.��RN7��\�5��XF�f,`��`�i�q�һ�XM�i�q�]���
���?�����s��M{�Z(�(����4���W�F�����+����_�MKU�.�mi�A��Mv�G<�c��j�^V[w,�Q<^o�"�0I�Ґ����尲���dp3�^�ok��r�Lb��B{�N�=��V-�h�V)"�A`y��zy��2J���,w����V�ҥ�M�i�g9Bz�c�9�3?(�;�=�*7=G�'��4�����e�P�g^��=��W�7�LZ��>�VK�gH��K�}
K��;��cqg�ۆ�n�r�S���zV���I��k�A�,m 0$;�$�v7��s�W����S���0�I�'�5����]	�bRB��k��m,�Ν�\����z[���=
e���R��iI[F�3~|2Ӟ��S���D��@~�@�;��t'�5��ZY�*}����?[{�)u4�Z�g1����-�oXH2pH��UмE/���Q�[�5ט�Nw/�ҥB)�]X�%�<l�
ׄ$���m�����+�⼿�^;O�
6���(}��9w�����n�E�^�w���[YU�b�������Jֶr�������/͕-��X�}
��7�4C�R���6�x�/>�x�1c*$�=jy�����Sq�S�>�kzͫhZm�pi�"�=OO^�+�4,iDV�
�%���&������E�s?��%��Yjڅ��G��7�������Mvw�k�ؘ̅w��=ih�^��V%𧍗�v��5��ѕo��>�Z��=�D\DN�3�>���}�E�/�Y���_&5'=�J�M'�_
��e0�����(������<T�޲�2���j#c2��~�����3�-�V�4��D��1��拌ۅ�[�NJ2�R̿��.��c��@���j7*ȷs�#kդaȬ�:%V�ns�wK���� Ut_�9=Eh�g4���!�7E��=�MH�0R����44$�ul�b�t���KF�Z+I��2~W�)�O2�fOqssa0k�V?�X�ǥ{�ï\�2K�����7���g�5��9���C���n�%��3ܤ�[<��6���+�����Ky.����"=0;�L/e����&��+m7ºk��ē��}�~����jV_n׵��?>:�_C�w>����~���]\h�����c����\fY�N��w�5R��[� �2�?#J.̗��K���
{Weu���D�h���Q=�Β:?ކ2zS��β�Q���3��]��-t�/�uVy�+{A�(��ҹ�C��k
9�#�����	�~�Q�Ώ�徍�%�朗��C+`�������+5}�6�
@�=�kʞ�J�z�1#�Ű�o�X _HFH��{�WEM,Zy�\�ܗo9�9�ړ}�JV�fs�}h�_g��<���.k
��������(���C�zu&�@�$���W�����@
&1#�_aYW��>'��˶�_g�m
��=������5oU�t�|!oe>����}�8��0Go��pқ��>�3(J��s�^�t�u�TI��9��񃹟�$�?Z��+C��y��L��ܹ�,����]�Z�[1��:V��Z�\[�9ZX�1�
=Mq>=�%��nm��j�\#�)�0HJ%�V�Rz���a�DrYxTBx�*K(5���+;�O4�P6�=q�Ρ�I��7fiޭՍڮ�,�0�F�ßZ�{���
�1�c
�s]T�s-��
/��nt^&ӕ>�=�RGe,w7';HRH���wK���Nk�Rf��_9
��>���\Ӗ�bj�*Kk����])2	H��Һ��:|�*�j�FU�,!� zz�sqV��U�f{ۯ�9@��HKb&�>�B�Mԣb�Ps�S;�����
��%��f2~��H���8lքhH`֑]�
���Y� x����Ct�N{
�RMv��6t}_�F�p,€Q��:ItFV6��;.~V��u�����č��w��+Z�ݏ���wqX|VsHv����苜V����Yrs�F=d��3M��7�%�οB�w�����T�2�\���ϡ㏯4��B<A${d��=@A��*���-����.��4�Y�5��s�Mq���a�:��8?Z�oW���s�K�2#�w*��B��2N*�!�<�Hj�O���FLg�v4ܬO)#$��yw22	�=i�ȶ�d�(f<�v6�:�S���U�q�1��M{Ȥ�k����`�M+��qր��6����u��Y>r��P�E'm�V�E������	=���\�j��u�
ýj���+�/oj���۰¡���m��C8�#�����2�Ԥ�n_���5�����R�F? ݎ�`[3��1����\2r�\V����[�UmĒ��8'�R!�8	�
��=
D�wJU��lvܐ(��n�,E$�3�y��8�@�ާB�f;4��
h�%�{�� �7S��fӽɻ)ǥ�|q����r*�z}̳$�\���֝�eŐ��}�M�"H}P�Tj�����Q��#m���H��)��*}�+��v���h����rת��uV��I��p>�������F�*ޟ"���ܽ��)3������Z��#�5��k�-�]�q����]Ĝz�$3\��C�q�W�g��}aвiP��x#��cx�o���[+����ֳ��m=@'*9�U����m����m�!���W�����5�W�;v�����<���[��-B�qrInA�{�u,
7i#H�*��Ss:�Qw+9��ٶ�–��!�8/��*�k���'�Ч�x>�8�]�H��Fy�yΩo7n b���
�Fj-�쌙@��}X���x�A5،zt�d�9ǽ\�������\�;̚�����aH.���&UL�Ob{V|���;�R��"	q��P����ݤ=*F 4T�.*hk�v5ى�w��-�C��A�
r=+N�Vo&-�r�'x��?S��z��ឥ��o,����^zי�a<]�b��sɍ���n�3�֔i�ԳN1���Z4�5���7Q^K,qZGy<8��v����pv������Mr�$l����Q���VOJ)�ȝ&�J稬�F��#��Fx���Aej�|��2�y�tP�,59E4�KƓi�r�(���zk�{�-o�h�q�pkƵӯi25�3��F�����W�KNu��e>�3�r�Inv~��K�Hm�s��[���k_�;?ݼ��J��F+��Y@�[�>��Qx��-�E�8�9�X��O�P�A���m�Ov�.���3�çּ��Ww�\Ϟ�[�^%Ѯ|;� �Ux/ςUI�P}�֏��e?��B.����M�����};gֵ�U���ꖁNWۡ��j�`��r2di��f<�9��Z�N�q�5�� ��7�	�~}q\թ(�g���,����zm�ڡ�q��I�� FQ�,�M�ܒGsj�v���#��{��IT���݌����i�0�M.-:[H%H3�G�5��j�U�����#�D!v��޵�;4�{��'��nq�U�÷�-�I<��^��OCVt	S�n�h�c��b�>o�.�n�
��/���+��Y򙤅g$���Ò?��+�W���οT���"O=��XW�g�y��_˥RV%�ŹS�`�sګ3���
������\T�vL�v��I����>#��Q��b������t�4d7:��9U�gb�����N�G���U���fp$���c����8�n㓲�Č�3,����g�]�íz�D��ְJ��c�6rH�SY�ei�츳�-��/��Z���͠��웙��a^ߏ?�ixv3����݅�Y�ob�i��
���_��햃�����/�4���Ҽ�}[�^�/#��-�"S].UQs��x�;UT�M[�SM�f&��K�k�Z�qw�A O�Hg<q铌��Eu��X
��L�J湯�?$c'��؇T�ު�v�-����
�xz���|a��T�i6�?T�ǯ���-�i�F'�<}7�L�m�­��I�#��4��Ϊz�(5l�O�̗���c6$�H����c�W�|S��:�.�[���Q-�UV� ��]����E�4��,n�03����I����gIK,,�k0�{ժ�p_�fh��}O6������V�,���"RY�W��?*�~����d]c;H�j}0ai���B�����_�OUҼL�6�[3��;��'Aԃ�=��2���)
o^c������>�j槄,ƻ�m6�"�:�`���Wо$�K�g� ,q1��V��JKSȾ�o_x�]9�wg����:}+/��K� yl�Q��ɀ�8�G�F+��mQ�����:�'�M�(�_�Z}����6��5�-Ӵ�3ŭ�m-֞�~�d����5�;�ٽ�i&䯲��cE�'�����S�y���!�E$���u���o��!�t� GZʌ\��:�S�D�l�Q��v��N[�咽k��;�~T����b@������:}���#hużO�,����������Ӣ����>��**��xn�����֧r�$�}�<�`�ᆩ��w�KYէX���n���*=�$Kw����?�j�1��5'�
��-c���֫����棉59�[r
��	�� ���*'.U�)��ho�]����3��hփl����W�T���LU/�e��t�"�  1�|�t�ɦ��>�!���Y]��E�۵�Bq��q�u?|?7�it���mǓ�3���9�ުprwZ>��<��H�m@$�p��g�֭���m��(�b3� ~�<�v�km�$n�Z�0�5�����$��b����P4��c��W<��.��r~h�Xc��(�Q\a�� ��C�X�R~��w�Z��7�JF,d��r�xɏ<�S���u>Ҵ�S���l�5�;�)<��Һ˯ۤ�h���+X�#�`WX�J�5]e��K��]�&��c�U>�\c�ƭj�օ�kkƊAqzcV!�9��iN�VoV��S���8]����-�� ��������]?�}nh4=Lj0Iv�Η �# sZJqn�Kt*S���
�?��>��꺃���i�ϱ�����Ϯzt���@5
���s*]H*T�>�sI��Mٜӵ���_x�A�kH�3���2�Oa�\7�[�c��dM�;T/"��	�I-�o�\����5��V0�J��[��,>M�r�>�'�֤�k^#�}"�[�N{dy!C����QvNO�G<n���|9�/k7ڛ����+�Ϲ�S�=��٫^��[:��4Kz���ަ1P
�#�9��Yը�;��875~��*�h��&�4���ܒl5V�@����I4�0�6�B�rj%9�v��MrGsQ𿊴�~K?,�i�9<�v����W���๽�KK�z�!f�w���4�.�ܷ}Y���e��B3�ۖ�s�e{��E��f�۽�7�LQ�b��#�i��h秙gR�w�iQ<�:��*��K�`+0i�8��G>��EU,C��\�F��F���6U�_߷�@0�p�������4nےZ�q�϶�4S�6��WQ�|3[�MWPM�Lhp**7kG~�����{����]��{�C�BV`�:�m�o����s�g����l�I�f8�t��|G�~ө�kuX�$~�K��s19)����H�ѯp�̛|��e�[��n���Ԝ��k:����������m6���5W8검A�+��_�]G�s�ڛL�,��J�S��}U��Q����B�Q%�s$���x>��GΟ�#��aO�Z��V&��������s�X��84�m����������4����4�ɪ�@qғfy�*�-,j���SN�6&��F��{UW�	��[�W# b��CqҦ��U�&B��Nm��T�M�,^bZ'o-�g�v�<pY�����s�R��۩�I�ja��;zu4�L,9����(�Ȅ�l�l��P�?��sdwA!F��MlK*��W.�䜓O��g)�I2\8ۻ�L�7���Ac���ju�QZE�)L��z�n����8nơ�S��ʇL�y��+�U7 �n槷d^H�T�ȒYZF�ƣ�"��	,﮴�7۹\�j��'��<rqI���6�9Z��Kd�}(�F���uo"9����#�W2]Jd��9�IX�2$���UHP���W���N�kI���vī�KE�
!1�V-���L����Ŷ����qڽ&���5�A'��2��$CXU���K�nvz��<*�UU�y�K��bI	"������C��^ZJ0��;k����İB#A�|����и�C�Ȼeo��"��/�($H��*�׆/V�[�?&�&^C���jRv!Ui�+^�O�:��O$mɟ�C��Mr��V�K2ck�!Ǩ�j��K+�N�t�%t���R�B�s�,k�*'�x�������pԽ��ݭ�i��K�v3.�k,jp	��*����bp�5��˷�>�8ȧ27�S�2ke�3ek���r1ɧ<�ep�;�� ���ۺ�M�r��R�iO5@jD}x��K��#$C-�߭&��eu��H�e�(TS���0k�|���Өۆ�~B�!Gҹ�QJ����W�(��$�-��H���H�*�P�5Mj�Xٓ���p;
�t��cI?� �{�_i�i�n ��-!o�0=~�OJ5�E��eOv����*�NQqII_�'���]EmZ�쌆;HdB$��H댎���6���٭d�����Yԥ��KMGR*�ok4��	x�н��ʊ3�$~7qҦ����Ka}w���lq\��nT*ª�M��5��G��xs���z�묰,mU�H�Gs^��]i�/�k�F���&睦V�|�~u��iI�&쭩�JVV�8}/G��W�E����Y�L��t9�1����{���N�P�t8ƓoW�Tc����䯆�nکl'��]���A��=��{i�
�9�d@#�W=o,�^E�vr�������0i�dQݵ��z��k�3��_h�i�!�+�A֟�/
����?��c�g��*�_�j+�CZ�rߡ���wҿ�zj3�H�UG�5���5�������^]��a[B��R#7����7Bվä�I|�2M�%��O֭�Z��즟J���َ�[�z�M8��)Ñ�<�<ﮱ��#嵾��oon�{�6�F���i��"(��b\OL��VI=e�M)%k�fx$�Q�14�v5��u,�|�������٣:s���m���T��Aɮ|�f��`�M��zբ�0�:�#�UPI��C��(���s��w��H:�� ��$Ա���K��Q��b��m�w �:g�wێ�޹ߊZ���"M)d���{)�ܞ����8W�R�j=�kNQi-��	�]{������b�E������
��ma�LrYپ�����WKN3Z�'��<�9,ZP�L�I������Ko�m/D�a��d��UQ���t��'}u4��M���xn�᫽�"{k2R`9�u�*4��4]'I��Yƨ�NZM����mk���"���uG���t��"���G��O)Y��^�y�JƁ�Œ��$���9[�cӼ'�i:Ég����{<r����G����z�h���9Eu��-��~����
�O���V�W�4��8���v�C�|!��
y�.��7�i.��'���s�ow�WC)���Vȏ�v�G�5[˫}�p�d�dm���t:���.|=z��	]G�,s�Q
�^�p�N���xG�7����s��Ȗрd����k��.�`�{ �LV@��ZR�k[]�n���d����,~�$-8�t���<����Ϋgg�\��i���wr�G=�'��
l<K;^A�l����'��d�.k��QP�V�:�x#K�|[u-�̗���]�Gn��㰪��Ա�ۂD��)q�֮w�܈�O1�i�%𯈍đme��2�'W���U�|Dk(���L�kh���� *�#<u��e��o�&ӿCF��H��r�F��y3�t8�qR�xF#��P��>SA!b�=A���>}�ƪV٥}ٵ�[�5;!;�*�翻���1܏ʼ�^�����d�?��]��Ƈ[#9�;�ԡ)2��zU�-
��Nym�w����hZ
�3���$��;K;ֽ?�7�E��_բ"��h\�#�����V:߈�9�M������ /a��^?lN�~�Mr�3�/�~Q�����ń�&�⼵ȗ�
[��������5��K�ޕ�.��fn�2��l�d��֝�b=}�X�ݦ��:&�/�au)��Ӄ��s��5��㝚K���:_��
K#��g`���^�Ž���&Cl<���g��Tcb�������%�P�j�Xb�S��}�����]��WM���K/�>�p�*����Ě�b�-���1���}i���]�ԫ`�<�ܨ�Ѱ��C���o5�a����$��I��K%�{	n���t��?��O��'�p����ջv��m�G;�.#��G��QW������]Iy/1#�U8��ܺ����M�O�-NM�-�g�ű����w¿��ڔ��P�p�T�����JWz%�:O���`��=V���J��.v������Vw��-���K �����ZڣQV����'++/��|9چ�}���%���$���Yz�=Fk��ՄW)pچ�$���ys���\��rO�rb���ݘ�53h�Z�ě6������%���?.IN�	�]-[�Tv!�'��� �/<�lh'޾|�k?�$7Lĕ���c���j[���-j��
�+5DI�MrTrȤ�gߎ+S���4o�jZ�O�,P�FpA��\��ۣ�罤�c�G�t�O����K���M�˝�G\w�q��6�*�K��y��� �����\�d���kkc{M�osq�-�[y���?���O�%Ƌ��w�X閸2Gkv���p?�r�:��ZG죚��wf��Y��km�鶣�Y䌳~�~������-��l*�ɈPOp��^��a��]�d�7����>��}�w�4}Lp�=�z���:v���2>�u�MȨ�އ�8�;�Q�
/��t�u��}h&��'�
�rA��z�Z��wB��Œ��t#�to���Z�ŷ� ��@�1ز%KzUvլ
�����IRK�{�y�/4�jk���,�n���/��3T����j�F��o��k��|5b��wFv���f��Ӽ+<.�ֱ��j���Q�%y6��|�9+��2HN�k"��!"��A״�����N���ˆֶ�[u3���Q�xG�Wf��x�]��u�^ZG�������6+�λ|����&��\z޽�췚���ه5���
.�-ZO�jw9Yxojʽ�o%$��tc5�m�v3���T74�w�`S�@���T���L����P���J��b��k��mʌu���0z�$�qM�I�$F�5Vuh�g��p:P���-2%S/�$��F	���|[�,H�:I�3��{���Cu+91����9к|�4_���=��l{UsW��Tؤ��0ۇ���t'�y�v@�4WA�\��i��0j�w�
�*=���i\�
et+���7yɤ,pa.���rM2l'���戟��=鰱ab-ӊ��0��py�lMت�|ǂ��4�hX��_�T4Tl��I�-��G">��C��R�I���@�[&xBQB�a��U�y���!d���M=��&	�t5-�ز����J�|����A<�2�[�ӐGj�5̓>�	6Z4bEc��(J�j�2z�W����jKk*�2S9�JJ���Z7�t��8���0��}�t�Q����U`*���^���Z�Ɣ����VD�r���v��<� eH�$�C�F���v2��Du)�+yR"�V��\�o>�ͧ�p�d@�z��EJN擅�Ku�/�d���I&k�_9\Vf��ZFm�(�%9I1��ކ�]޷!�%n��c�B�4ç$L�I+��μb�M��ؓs;p�oB�їRѤ���a�l
��h%�tg݂���]18^��	R��c�q�S!b�.2GZ�R��@�89���3c��C�*�cq��4���C7�j�ei@��6�Ԗ���8,csN#t���dZ,�|8�,.tk�-'{����s��{a�\�޴2Z���MeJ��iё��ݑx���k�C[��N0�sW����b�Ɂ�Q�NX�9�,l��	S��Iuk�]&=*��S�AC��ǧ����S�p��.��u�^:�^�	+�#�w���nk^
�o��{�%�"I%?#���g��MZ��-f�����
6�w;�=��θ�c�8-��������̭W�~����-��Y	$\1?�
q���\���/�n���R��+��Y^*2r==��EM9F�M�ejK�h����7���;;f���V.���'I�C��3f�	Pn�s�һ!xK��صkЏE��i5��α��{�}������}Z����7�]B<1���WL�&�����GL������ӝe6�G�9%���r*-�:v��H��Lz��˹�F���#�hEǚ/{�a���w؉��By�6�.���ᝪ?�z�G����x��	ݞYx�*+�I$�\��n�����4+a&������k�,v��>����I���j�Z\�7#����]t)�;����{��-�+�s���ml�U��-�s�=���zW�<?c�hV�:s�3���i<7<�g�lF�v���r�+𞬚��T����p�3a�W�b��.-u=~���] ����@�[��UqJ�_%�'��.,Rew�:���wt��:�����Q�85��S��y#[�@��4�ň=����l����ޭ#7��+����8��X�ǥ&��lv�H�⡡܌�4���(9��BĨ|	�}�
�{o��G����a�aҥ��{��>��+���Ƣ�:�}V3`-�����_J���O+�	�V����t^��|;�%�Z��!;_v�E��^��6֐A��'$W�7
�o���/�J�u
:�O��e��x��!ɯ>����\|K�����a	v��zS�T�[�&�����Cgk�������q�
<$<E���rmt���csg�AP��[������v���SNKTG�� ��FK~�s��U�ڶ�̈́y���:gڮ������v=��3�~��$�ЋX��@��?ׁ�2�$�-���	�[�̯�@t_�RPJZi���)=V���oj�Og6�\����+M���^$v�D��O(Q�<�I���Ru6vK�3������;[�ayL�I��EO���E�z���%�Cn:�P�}x�Y�p�Ƞs7:��]f��]]���4��+����i�9�����,�[r�;�H�Z���r��T{�'c���F�#�_�@
��5�5��ws��ԧbO�#�*U���5��4��=�&��些Mu,��
�>��kWF�u
�A��V)3!9jUK7}�W��x7�4ZR��`�v���{��5�TMC[�ͥ��@�!�S�~=h���Z���ng�>'��^�`���f���76O��oO����qo��d��3$*N��=�P��i.��8=_R]Z@��Cl��,�	�P�cncV[��G ����t&[���ƃ��[ٝL[���q!��Q۞	?�c�6�>%����7v�ɲ9����p~���ܢ��!�=jח�Ej�1ygn0x�RZ����/���o�^fS����j�}w��>��XNұ"��j��Q�������pI$
�b��2��+F��� u$��%�N����O�x�S�
�1�h��2�8o�s
&���=��LP)r=������R{L�Ԭ�k��l.�������M�>��E@fb�N3�?���������V��r��R�%>��\̙y޵L�۰�W sݩ�X��;� {8�7��O�Gd�|SAbx���is��T�Q�c	�iۜ����|E-��,�Cq���e��3ח5�kC �	��Q$��}�I�����
��y��3^�\D��	��O�R!h�k��h��gnz�zW*���јU��z_�Kf"����
q�ޥ6�~L{��s�&��*��{F+v��[�s�Ք�Bf�3&���4�+�a���9� �
vF\�[�o�K��ξL�*<����ҽ�-��[]X���Q�%;�R:��J�X͸�TLd�fwz�vz�����n��S��3��U�c�zN��n���ɮ��-��:/C¼w�<I�5�nc�T�
�_�e�v:�a���&����󟏘�G�Z6i.�I�ŞG #B��m�J�
GS���*y<��޹$���b�6z�zh</���4%//$!��l����:
��灵��%�ԠC"pɐ�zqYjݒ�Kvo;�����,wZ�Y�l�x��㰮�O�c����}�-�]��L�>n�ծ�Z�3���Z��xr��C}�[u�\<���U�<���ŝ��9���۩t!{���o-��1�)�Ā0in�M5B��c�x7S]Q���6�rzߋl�2�۵�N�;|���5�#B�u-��d�!�;�y���R��ߠ�/�g�E�2�K�Ѣf��S�ּ�E:֭�ˋk9.�$a�`E�ҕ��_@Zeǃ5��5r�T��ku;~�Y�+�VK�-�6�V��s&�tߕi�-t�ޗ���M��Fսe�\���9��D���j�C���vQ)�q�Tr�E�v6��Ү�N�JH�;(�'�Wp۹"l��$sW�>����̷�wF+u���cRA�)��L�b��$���m?�l�(�ױ��ԧs���]�a��6�c l!1�Ns���|�h�qi"�`�o�WEe�Z�~"�y�4��`M�	���9�-���F��Ov�}>��x[R���֪�Sj/b�&��
(���T?��H���q�T���c<�2���0L�`h�㚕�*�)X�F��3�E$jT2h��B�+n���0�������R�?>�o��B���E���M8�Wˠs1_O`1�t�1U��X�$��qv/�l�c�[�4�Ԥd����W *d�>m�^{;w���#|�Եdq���#�>���sSX���D �I�D<�cY�n�Y�bh�v(#�F�l1��)`���4-�)^�E�����LT�>�1Z�^�<*�2�U����jd��}��Ya9�V�6�sP�W,D�nG#�z�MX7���У��8��aeqv��Գ/'�K�nY& ��q�
�]}�h���|¦
��Uio12kx%����'�R:��Y�'!�ѭ�O�z��i��i�N�E�2v8+�
)�ڹ��.RՔ7Z�E�j���*	�X�a��4_Q$1^S�,�}��Z:v�{i/��$�h�EŴu63I��;�v[�
>�W�aӴ�=���I��W��޹]>W�u��Z�n��ֵ���)-#x��5/����l~U�$:f�|��[���[k{��2Imvk���$��zf���n.�]@��f�s\[�F��YP��X���.�O���k�����=�g���߼��^��	.^݋�9�+�[��Q���u巓sɓ�'ޮA|�bx�|��N���$y�"���q��V!� �ЖV��3ߚ�PAlq@��4ێXҠey�qt�1j[(a�MK)8�c���8����F�񍝏�,��S��*�S�=����L�m���5�r;t�\�As��n���
������Np�X_ym�,�&r���=�޼�DjT�vj�j��q#���N�%�G�m��n�c���=�D���2��vV����ֻ����m�sSj~"ҴŹ�����l�x�Dl�O᚟J�=�����!�d��?!>���#� �����r��D����Q=���_��̈́�{�=ׇWO�c:����P�X�S�ڽ<58�I}��B�M��ώ��/V𵶕�ڽ��"(�2P�O5�A�n<H�0i.��́x#C��#��o4����Z��Fѽ�	�Y��u���%�U�2$b9��=k�:t�r���P7N��=kJu���i�~���oo{3�Y%�5��F���Ԛ�f�`˩���[�I�לnO_�d��&��s�6�mhA�hڅݻ�	m;��^X�#>��4�e��?u�Vu*{�lk'w�m�qh���f����)^o���U��B�xv�4}�D>oZ�.hy'�pb�vCR����d�<��V~W�-FuV� y�Nk���t�VhΫjI���ǚ����Y[�׋ig�.�n��a؅h������MT���[Ra597��v�J�q#�R=3Y:���S̥�N���w=�ob���g[��eP���E@��K�y�h[� d��Wm	�d]�"���pq�Q�eS�pO_Z���M���ޣ�6��L����+2��jkD]��a���n#��{��.b]C�dM���l�sM�t�w��	��tj܂Z�Z�}�h��՞o%�%��x��ZN���i��I*��ی��!یW?s��(n4y��<d���;�]1���[=��K?C�~���֦��g���z�嚟�f��c�t���YA����
��N0\��-ΩMF��bk�Zχ-��S�/��2D��O@k���o�j"�P�r�m�_����C
��h�C��zt25���j>����n��9�$#�>�=O��^���>�ghR%��<��z8y(^K^mͥ����/��\\��k�Q3dg����E��se?�i<�8��pj��+�h+|��������I�b�5�<�z���YUM>�[��oݏ��iY��|�r=c�^2��=���]��-�C1�#zj��g�����-&�-�H{�=��>LD��W}�z��+k��0�_�O�5�x�{H�˴���OV�h�t�Y�hm�FTr=��>�Ԣ�=#᷃a�Ņ��d�m�Fs�ڸ-oN��5[�2�6Z˳x�?����W��2��(�sEs"���;[#b�wWQ�[��K�!^����j��X�~&�C�k�zU�ᳰD�'�p���GZ��2�p�	!i�A2n�����W��Z��g�c*�����S'�WfE̡[`a�w�=��*��\��nĒwq�L?$Y�Sb.��E,"�K�aZ1�����#��F)'�F�a��Z�=6)�����k}N�%�)U%Wo��y}��%��\\���E=��e����Хּ_��f3,sL��Ƽ�>�T��[�{���;�
5t}Z�(�#0#c�A�y_�<}c�ٶ���l-F�T��>޿�7O^g�b�����,�wN��"%�+�&5���C��{��~'x�_��YD[��n�В�qvV��1�ڢ��gڅ�C�YѼ%�j�!��hd����ZT!X�\��ⓗAr���,��*���׎*MOI���?�[<"Q��0Xz��G2)Rr�8�DQ���O\��-䌧�[$�W�k�/�5����<����:�R��V��[�~�j!��sF2�~�
��K46��(!N6�P���I$q:��5�V){�#���;V���E�����V�&�i4�3��
Ɨ[��'��	�Q�d������Z����n9�yB��J��g��6�/ŲA-�1²�����^�L�Ӯ�ɪZ�k0���ڧ�6����lO�n�3��$
�Gh�r�=�]R�k��:�I&�w�i���Q|��d�]ѷ'�属{�Ը�k���7�8⹝k]��_?aD����m*���v�6�ԑ�
�v�ky�9ܑ�'�U�3B�	�R�٨~&�l�W�$���7�k���fo�,-�5S
��h6++Fz�EY�i�#��w�y|Ə�˃R��!�?Fz}��8�ckd@�K�Z�_I�j å[b����?Z�j?=����[�y|*�!��ڌ��T*������u�{-.��Q���z���}Σy9n�y��5
[������
�W���*+��ˠy5u�ѱ?Ϊst�J�:���[�5�"�ڭÆ뎆�m��M��#`�Y�Y�T���ŕo����� �=�Q��s"�$R鶐i�Iim��TQ�ֱ���~�Vywok���
��S-c���m�(�g媚]z�&Ybl��JdE亏Ʃ4+�5K;H�Kq�U�_��M��{��?�:��e�6��(����ŋX����˟�|�nc��Fzz��IEEj��M�S>��:�D�Ԁ�+�W-}g=��v�9�O3viF��d9\��E�I�Eъ��ydU�������G��Ҳ���<����ޗ�嬏��L��Դ��_�D�l�N�:�=k	NR~���.S��~8��khʇ��)�U�s�Y��llq�	�>�ⵅnWf�D8�S��-n��浿���e�k��|��J�SM]u"����ѻ#��H�n�[��M��YP�&���Τ��2����*��ʂC�
x���<T)Y�C�ۀSϥ�:ַ��&9�ҕ,9����q��
�r(�����ޜR�*.�2,����b�5�S��ȣӚ�	4&�R"O�T�*'�����%�L���
V&��]?z
�|�;˲��Gjm�5�3
��I��!ЕaЃ��/�U��C�7�9�Kc������4�ͧD�O2P����;�›w�yvq��z��G֕�fP�R
H��9�r�բX�>�A B�E'�H�9>�r�ޫѱF�a<���},�E��[9Z)�)��FNx�`���T�[�����͜,,����D�S�I�
�d,�jv�F{һ�JHz3�2��n$7���LKr/(�4�9��ʹѮ�$�G��S��9�Y&�dBƒfnJ/RͶ��O�m�^�Bb*?3Z�>��o�؋d�v�:����K�[���3ܝ���Mw}=�Y���:�/̤z�SR.u.Gqc��j3;�>VR�V�֭vɧf>�P�oa��Z��9wxe�<��V��8�Os]1DJm���A�J���S-L�m�?CȨ#��qV�35�E7r�
�]����4Et�:�ٱ���e�#�EY�R�2bJ
̲8��RG���nEqH�1ȥ'�R�j��N3�H��k����i�E�6�Y#�#7BGRZ��j�Яm�C4�
g�Oǡ�2�Jn۷�η�V\��M.�i��m!#�G�֪�MkT[R��s�����rj�ܚOd
�Z#��3�̖Q2�4�eu�[O�_�����HU�wʪ��}=��%)*On����OTS�K5��Α�ۭƖ�"X�]�i#�]���s:m͏���-�9�cP�fb6�<�zg�����c��ܤ���L=]��F�y�'-$>W@���`l�cO6\F���n#Ԟi���Z
�h%��������I6rPd�M�k�E��٠�'m���̎?�ԥ*��Q{z���I�ƶ�"��5���q8�H�\���\�~P�X�����ݹ��5�\\�ٜ������z�Ӽk>�$�	f�o�D��L����v�qŴ��v�ޅ�|:K+�F�����O�`k��&�>��)Mޝ���cٌu�'޳�w�:�����ȵm?ëo����5��ɛ�o�!���\֍���G@У�����t�1^UG��Һ��ij�Ê��v�⧻�Y�/�bb|�.�v�l��4۫�j��(V�}��9V.�{�=�Ҽ�Z�'�2�/���&�u
G+\H��368ʎ´���$�9h��W���F����q�C/�t�*e��p:?����A��ʸ��{WbW5f#+�#�sQ��,k��y��n\����Fe��9��0��gm�}j�q2@���{�����v����c*Cy�}�p��WG^��z�x�L��X�2pk�>\1�Y�K4��Tt�I�[���o��{}�k�b[�N��8�9��1[~��'���d��m#H~����A�(�4ҽ��sxk��|R�O�#�^����Ԥ1��s�W+��F����
B�H����X�������6����ӛy�NIEuܡ���Z��uK/RY|�XG��
�$z�5���V�cmy��I%.�<0����েn)�&�9�M�WFG�����%T��_&
���\��J� �4�R�S[4��tp��N2{d�9�{T��<ε��dv>�R�=�vp�p�:d�ހ猓�XPC%̊�!g=��b��\Y�
�Zt��H�E� ��Z~&�H:L�Mo���Sݾhn���#&��Zy�?d�K]B��I������ī}�ZhVrf5�
r����4V�q
?}�/s,�e�MK#�sX�%�r��G�c��;���|Aw�?<)�k����!sio�[2CA���Q�>���jjK���M�#�E����2�
���W{��ů�7�b���"��9�p0�x�`�7�7pn7�t�<<.L:ݹ�F���qp�:�}1�f�BFr��>��ŋY��S/��5r��6e�ҦI�B�]w2�6�d���֦Ҵ��[䴅³�{�5���
mtŞ;]f!Gyw�|J���rڟ�lQ���������W��j5��$��,�~XǷ�i��hVʑ�"���=jƵױ緺��s�������'�@�mL���m5����	���@�R��,�����R�W�ɺ����{	.'���؞�Ԛ��|$�A�-���M�#��nH�mޤ~T�&�}J^<���ŷٴwd�6c�yM�V�,X�I<�T՗�Om	t�������x�Gc]��Ꚇ���7VPȨ�����9�ۚ�%��?hұs��
<]�D�Ggocn�R���Z�Z�gs����K{�l,�F�E�~~�k'�ߺ��`R��<�K����j](����A>���$v�Ȯ���ɭt���o�GY�@�tp9�z&��R�#�)c*�ɦ�c�\siz�N�"ԯČ�"�1�S]���}:Yt�qu|�I!8���QS�J��i}_���υ���s=��[Am(��L埾>���CZ��]ͬ�|j@F�a�k���+N��s�����?u��\�ӵ�b�/�ȡ� }�zzקk�
�����vv�r�(��T�y8�~�E���M
���A$�L�e
��#&L�����]��J�C����/�/88�g�5��e��pQ�ס�������k��Mk���>b�����J�-�>
����D���YܰJ��)���(S�n7ž	�l4Թ����;q�L���[����1��M� ����KW<(���-��%^;>��.�i��$��-���tl7��ֽ�T�q�Mmcȡ��@�"e��}qҮ�S���2�]�&�4)-�5(�b�\���g�=�޺m#B��}>�5�r�x�R�[�7�T]�FRz���χb�5HN�$�ʶ���tl�F�/ν�D��x.WO��UWh������l9/y>��0b8�e��?:��,�&��0�џ�U�S�Oz^�A٦�\o{t2-~x�|��C����t�KM�T��6���Tʷ;�d�s�(�m弍����~��WԢ�/�%��j����SiYE��'w��4��ZF�jS�o_z�T����X��ي�m����W���=�o3x�q"W�k[�Z����4�d+4P��0���#ֵ����gb�ڳ��o��?H�l6S�!;���M_Q��m��.��HF�V��6�{i��/�-<�_Tv=J+T��:< 6��-����p?Z�N��mG�B�ȯ��7�o᷏�x[�Eo�hZb��t��a�F3�Χ���v�r��}έ�]`oe%�g��~���𶤲	����rf�i�H%h.ayl��;
h
�mm�����tk�N�V@;���sKe���G2hzo�q2���I��r�GukhP��W�|�Z�`j�mH���ác��|Tնm�E��Z��J���%��kz�� �I�:� +c�ju�;�:�(�f�؁��1ϥ86>�\@dpEW����T=��zp�zsR�ǫo`�^K+�戅q��p*E!A���"����$S��t��"5ny�������lV���qJ ��B�k�5<�ys�Z�K�/�
���ym~�w���ʊJ�q�5Z�A�;�h�b�#��'�0���
~�d��˩<��*����]!��uݞ[��Ԥ�+�֫FK�$^n��{��۬W�bc�OZ-`Z�Ux��}����)5q��Wz�\���(!q�6�M�=	���KZ��R�i���j��!V����Hu�����̐p[8>�V^�$˿ӊ9n������a�c�V��2Ef�@�gU�Q�Ҡ-�{Ӱ�X���ur��\܃�K���w!�Gl��ɓ�
�UR�v�}t�׳�;�^3\����?Ʒl�X�����w�Xγ���^�oh��[H�a�S���K�V��
;�Vjm�KT�U߼��i��
}�*��<-G{u�Yn5��\�5-����r���l�aj�2k���f���p�����UDZ�,}8���Ɩ��O�wI�Zn�1�ڳe���4j����u��T����9��L̾��o��EO1��.q�`�V�͔n]�w��������+'�m�ԑ�5]N�9�ތ��
��f�B�4�⁊>�!��c�O�K8�`�z��A��md�h��7�e�=���CRMW[��hc7	卻�ב;�i��IYk�$R�2��<Vݧ�u[k��8�J�^H��y�k��ik�vB3sR���?��t��Y�۸���-#EѢc&���P�" 0o��V5y]^n��+kܩ�[kWWO4i+�cd\����O�\�͒�I��f���I9�=�n�f��>��G�^G<�T�09"��A�/��Ff��Hf�@db�T~�WL���$�[{�>�P��2"�f+�y�Z�9$�?^�Mu8��{����˚���mf/)~��"���Q�ӡ����
�ë�-=꟱Z��XaY�3�+gP�o���ż�ma�l�fs
��1�w�v�F)?�mMEF�Ws��>'_x�Ill�KK���\⹫�qyvf�yf��d��8k�>iYleC.�P]��PX�|�ǵe`�^�q� ��Z*��cJz+�:����Y$0i�i��-7N[�O}�lY�:�>�{k"qs�O���j�8OW�rj[nuM���?�`�	$�ƠC�3���/m��?��(	��@^�k��/���]�5Y�D�F0J���\�gt`����A�r�x ���K�Όg��h�R�ȗ��P���5(07j�A�i�ަCCrzu�y��HPk����|K��l5�Q��6����k9�M�z����b��c�r�,G^��^�A��2��t�g���t�4�%u+����z���*�|O�[�[h��U����;�����׊n|;���d-�}JC),�dL����M��5�-�)T龺�iu�+�z�MGR�2�{�p��*΁�{Zd}+L��)�h� ��[ӽl攼Ή˙�kc`�pxwZ��]��g���3w׎��_�QIs�8�8xqҴ�M_�Q���Sm6��ˍM-��w	,��T�=�#��L�T�KK;in�Xec�r@������]	r�oT𮥤�C��g>�&�g�q�>�Z��I��6�km�#4��Q����}sT��2��c?�ij�sS\]Ku:�s#�ʡAc�(�>�������R��.��˳o���N1ǧ��>K3�'�1�?SU9��,Z��\$���4��"9C�z��q��3����UGS;�q־���~}��y��`�[�q�ꇽM����{?Kew��c<i�X˘��?��U��_�|Oyw��O/J~�Ϛ�}0>��i���tF���m{���A�x��+�6��$U�ʾ��"��c�P���Kb8�e�<�d�M��<t�]o���T�ɨJ����f�s`1�?�R�n4;�B�D�n�4����zVƱ��-����x�2�����S}{
�y�sk������5F��[�&y	(� �lkc>������\U�$��h�*�  �n7JN�"Q�K��9�d���E��f�̭���j����X�0�ҟXd��a��B:��^�E��N��]���O���jV�m-���s#���ֽg�!��<?u-̪��6�=�+TE�>`����|��ąK'���?�'��O�Ǥ�=�!�l��g)X='�_嶷7-�V�=���w�1�B��> xO�VRi���I�`��>���=^�q��	�/\%���J~�6�o@}+��8_$+���Br�N>��4[h\ڶ�spfh�</���d?�P�f��xŸ)vԊ���I�qK�q� �HۆFx��i��f��h�?xm�5�&W=�������'��];1<��W)��"��$���1m1�}���ʴw8�#Iv��C,�v$,J�4���ZG�k�mKPv�����<�ʤR�myK��M<-�;���+1�91G�'�A��-������iev1DZ�Xs�5������f��=����"h�yZ�S�� 8���+f>�K�N�?i�	��"�+�O^{W5yʞ�Fμ
J���Zؼ&����ᬼ?~��Y�>G88W�ţ�:�����{[s��	U
��GS��]+�JR��7˵�<PӟK�KyXH o,����������)���G����@(3��ۚ�5{Iy\��<���]��žk؉3n��+SH�ݹ�{h�L:7BFj�w~���WL�Ӽ=c�X5���in�]�W��W�E„N�qZƚ^�f_*����$A��Ue�m!N9�esNVE(��#�^f&9XU�C-��.<�Gl����鯡Z-�ѵ���֦z��/t���"��OD���?�*b���������l��#�/G,��vB[�9F�+�rp0����>��R#�goh�E,y�ҧ���`o�34�_�>.���W������Q�ǘ�tSYgB��jq��om1S.�Qҷ�����H���\�oS�T�s�D$^@���C5܀j"��洼��Ϡ�%��A�G��<��g|u����I|{�}9qn��M��1��O�Z��Wa��oLCn�GN?��NO�:����eq؅?�[�B;�
�z����MvL��k��sW^,ԯ%�ײ��c�B�(�_ć>�BKM\�d�VR�R���M�Sur���� ��ǁ��u�5}�f��x_I����a��ɬK�D�`-"���6?J���ޣpIE�xZ̆���N?�g��4")a���x��*�%7yd�8��k�h��]�tZ���X/�u��'�kbR�������R��A8���r�Iz
�:��d�w��;֏c4��CΜge8�H�Н�N",�l�\��+�� `9"������D�E��*v��fȦ��NO��"�$��QK �J������fֻ�t͸�;�v�h9�Z1�s�a�X��")g�c�=Gz�I2�]���=5���'�ݕw�=*!�4m'�k '�����c5�vv8��dx�.�)�`e��c�G�Ia��j��fV1�pI�xJ���KQ����^�4�U��(��{�v�t�J5������ou�.���Ƅ����<"��T5�N[�.)Q�v�����^���Fm�7�2
k��4�DB_��!q�w�?:��^�ߋ#��O�R����8���kBlze޹��n�+{(���W2�?�-.N�"���u/^�Imd_���mk$'����ީ*�-�A��%C�g���t�ʙ�Po_��r�>�V��_�)T�����M+�\�S7<�j�-�͑�j\d�yLj�;���1���-���h�e���*`�'N�8�TX�ֳ�R.:�f�P+��z�A�嶞3�Q�����W�X$��睘ϭj��eK�+�`c S/�D�PO|�lh�@��$g�ADR\�)��e!z�
�
9�1*ń�^E�Gp��z�lc��𾯦.��i�-���+:�fݸ�^tV��+wܷ�\.�@'�u?J�O��?��3B���\H�H���\WG��:n���t�g��l<=q,���D��t��4�n5X&���#�	%��
Ǣ�My��]�r���n�lj�4�%��	���ѹ��?��sU�ō%ทlq'H�����)-M�T������U��RCHx�l�^��	i}%�Q��A�������ٜ��"��A� 9�k�ѵ�k����LD��0꽔���"i;7����[���X�}6��hq@�Jy��/�+���#W`�gQ�,��zƛ����s��;{���nR��'DѬ&�Ӯt�l�$v>�Z�m��k;���8Ĩ+x�~�ʫ����|������P���6��]�$I�z�]6�S��޴Tһ{�'.g�����帚��I.5rUb;}�{��~k
k,�����c���(w㹨��cʕ�إ6�ʷ:�>I�L���iv�*e��[����7��W�U�<�e[��a��Pr�.�˧Ν��s;��%�E���BY���@��!�<��s"��^��vo+-
����F���� �'ֳO�
��
�/�t�䲭��T�pCU{�j8\�SZ�ݙV�J��=���k��xځ���E!��}�|�3Y2�t��|?���/��i��A
a�=�cV\�l���:�+�32ض�cQ�<k�Ӟ�o
Ek'�.!X���{���x���s�c������*���܆+�%��^=+˾/��K^�C�[٧_�xFP�)�Vʊ��]Ѵ){8�~�_��&/�B�O����4"]�}�9��?.�=ۮ�£�-U)AM�D�	�w��k�ֳ{4�<�+f�S[?<�#�j�a7Z[��4A��v��Ǚ;�s�|U�m{ë�4Ŧ�#��4H�8�ް�?i���5��_t%&3>�7lTB��u�a((���> x���)��4���	\�C�;���'�(u�&��iר0���(��W#�V�uN���\�W{k��oua�����"�@��� �Ltзn���/iН���r9�!�@�ԑݫ�G88�Mf�&q��q�+
����x���M�2YL�^1�5���^�Fpvvfo�.n�c�&��L�^ʱ±��d�ƻ�D|��8gi�m��ޠy�y,�)h��sx�|�+�֓x�ť���͐y���+��\��+$�v-�1cH��f�-w�7�W{�a�FFy�w��eq�Kqv�X�ݜ=�N;/ׯZ.�h
�ŝ��g۬0,�c� q�{�XwO3bqZ-�b����U�-�9�&�Zr2
г�޳ie�滺m���^�ފ*\�י�)9&��G�x��?x"��,�� $͐	'��$��y��*�NJ��e�՞�{���V��!�/S�o��>��Z[:�V0�q���~8�,�2�l(��O\��yI�C��c���T��R�E�ç�6ض��{��һ�O�Ɲ��%������ʡT{�S_�#��>�G�5�mRK��!c���={�4&k�1�G`)�WVZ$7.���PI����]���z��3B�@Ԡ��,�{���Lz���X�
�$�BL]�w)��%��rW3��)�͐��C�S����4�l.����[��VdL�(ß�9���GғG4��gO�s�#K�K9�����-�K�_�Z��{�X��!�M��$#�~�v���(�5��r���'����v�U۪›��`U�_,{}?�[�.�w8�V�{Qm��QL�;�1=��%�knm�w}�ti��PM[XY�{���@��?R1�}+�𝶁��_� d]�G��g*jZ�וG]��sz���f�)#�:M
���V?�+�4�x�l���Ai6�(U#���W.�E�9�)JM����;
Q-�[�?�Da'\���V�t�By�A�n��l"B����Jt�WZ4g(+y�=��d�>�i�\]FDP�8?37�l�<�-��L�*��+�K
J�P��0w2��T.��_���j���^/��Fsm��fV�Y
u�u��օ�Ο}kc���aN�r^����9�/4Yk�X��5\c�W}sN�,��AW��Һ{#K3�Լig�]3.�d��c��*��żÈ-��x�T�{��"���9��Z���I<�����A�R�@ͧ�ZG�j��|�q��/����QE��I泯~ kW�U=B
#N+}Xs�9ۛ癌����Կ5SN����5,&��<��H�"�Е-B�Q�V�"wiec�����~
��9����_��&�u�\$�zjiC���]�qȏ~�����1�_������g�˱j�,�C��F�.���0)��������
��8�zӍy�����;Kw%���	
�Ҵ��u�����@�;�f��n[���V��r�z�� ��=+��ڵېڒ���qZ{8G�n�m�n�������2�S
8b?ڡ��2��ſ2>�U�E��q+|
�۩N�kc�1�cY�
ܿ��v�ʄ�JwIjʺ�S����*�Z�+r�{�k�Tf�5r��g>���=�Z-�l�G��o�H������ѻ��g5�]��7���/^�`�DgЊ��B[��]wI�Jt	*�2}��:��K�v�����l�%�@�P����61�6�Y#�I�3b��C�G�(<�5�W��i�e#�Z���D{-\��T?�Ьj�bi��}�j��N�V�a�5�A��{�HF0ELP���ǐ܏������yȲ�W�j^�"Y�6�=�)<�x�ڴ��'	d��F~�8M��p�&�A��U����xV��ϩ�Yɽ-�4O""�����\z�'&��Эh��UG95��v��x��J�>c��Kk��kٚ�Z��sG��mc�G���n-.�`�Ap��NM	'�q7�X~��-f�HM�J�0�G�sM4�& ��*��J��Ve�.��	�f,�
j�vh���J0ƍ�^O��T���u�K�ڛ.�_5��p�O�\Ԓ�W����V|�hTy����ZGB��	��q�U�x'��f��#�ǩ��
'P���ֵLȻm�j��.۫�r+E�R���z/5�	m"P>d&�Z�hVS��L�PX�1&����R9�P1(�R4�Mi#G((�Xw2���+�f'݉�y�q޹�����=���W3�6 ���Q�o�/��7��[]���}�
�Ӳ**ߩ�x7Ğ"�]��at��>u�B
��r�q�!���\_��$��\�.��	QH�q�'�S�(8�װ��/&t�����.է��P8^�6G5�|;��u߆�N�ⵁ�I�w<���I��އUS�-��-ͥm��:��.c�^jֺ��6��DM+$��iz����,��؁#H�c�A��WJ�k�[-�7���f>�~lc"�4��&G-��dV�ޏ��M;�ff�Q���S��wӡ����A#)P�Ԏƹ�[wf^�OS�ּw����a�O���W0�v��ީh�$va,���������
�0_�D��o��w��v�������	�5z����77�F����Vrr�-Q����<9{��bTGy����_c]�ީia{����*�ҏ��m٭=.�Zu0g���^��A���烖�UG�>��kuqmn���^����=5+��"�4N�E��y_�o�u?]It�6F�2s�G?�b�P�!@8^�s^�{����Ie��Pv�2�J�c�4�����R*Җ���}*��,7��+θ���ښrW�$��n`#��
�n{TI����Iڱ(U��W�|#�RmQm.�2]a�����;�6"\�}H�𝅿�����/�+�f��;��aNk�6PG�Z�[��Kʷr1\4�%+;��sA9;��A5�~{=F-;NX�t20pv"�׀k�,�����:��K����:W���;\n�C������m�w���sǹ��`.�w��o3E�2�EeR�N�Cf��1xF[�n.�����̗�R��'��c���w��|��M˓�V�*I;Ih�5��z��<['�/�b��;h�`�I8s�j9��k����WS[[`�� �=rj�BwN�����?i��n4�A��Br��NƲ$�hⳃr�t���
�k�sJ�HȭljFX�
*'�3�;�)�wV��[�}2խm���X�$��D�#|�� -����z�gk.�y�f����Gc�T��'�w���s	�}7=����~�g��l����n5	�t� g����ߞK]��߉�֬��&@�iqUN���ғ�S{���7��ev?1'�5JK��3D�<J-w~���lI�P��N�Ď�_����5�XV�@���.A�
�'�u4����Ř
�֐�Rn�r׷Bf��������R�c'<�j�7�~IQ늖�$�E >x���
���'���@���A�)u}R%}v�b(ɏ�>��	j�Ro�9hcwox��f����!����Od��C-��r�G��i�"�;����{AZ�u۠�8�'f�T�>�-�5�fy� �W�M��"C���n�A�t�A;J�Z׳��itu�[���Q�b����Q&�)=�Z��ɯY��Ⱥl/�U	��s��8��[o��J�S�:��m��&U��w��t�+4�m�c��f��CLԴI4J��X�(ܝ�탊�>�U����k�Im��ќ�ぐ3�U�
ۖ��g(��%�Mcw�4�%��l��s�����Y�Dn��`:RJ�9}�k/-7�g�$��;�:P�n,b��# �&�#�I�K�p\�%��pnx5v.\��#"����T��l�wN��H\-�Iw�Cѵm�:���oi"��(H�U"6Q�w�>�֢p�["鴣�i|H𞁤�Q�����%;"��z?C�W���s�{F�-�o���;]��Qvga��&�}�z
�%����3�ۤ�����^��]&�����W�ES�s���ޔ�r�DL��+tF7���DЍ��y�&,>|� �}��pѵ;������
29o�ϭ��
��/��_��p��^�s&Ȧ�C�}Xc���Y��jZ�$�bf���x�J�U��4gR�������
_���ȸP?����C�+KP��a��iIu��I��Ԩ��k��2�����/��k�=G�S�~&jw�-��~��ַtSK��J�M+�CW��Ir�;~F���n/,��ц<n��1�Y~g 2���\0\�t����E�sZ�R�F��Cv�[̜Á�rj^5V-�i6���Igmq{ H#21�Ҷ���\�A=	|�r�.��I��܀�3�F?�x����d��7��sY)M�U���9ۗ���[x��bCr���U��/����%�V0��t�A�[����>M/Տ��ֽ���k�k��<Gn��5{š-���l�+���#���L�U9���VkG����i��'h&�,lU�>NGc�����l�4do���y��e%�?���BM�9���g#(��[�(�u�-R�.����ՂoZ�|�i���L��S���m����d�ڥ��ߠ��:@��K��;��n��qS1h��������q�$�úyo��q���±L�Ǥ�E�T��V[]�*��3+J�}�<�=�aBX�{�S�ߐ�QL�c��!�\��w*�M&��|�7N��1����+�_4��y���+[�[S��V=B���/�.M̓��Ԏ�'��iN�v��'��|xd�#���z���N��T3o}�>�#k:.��M̒yBM���[�ݹ_*(��Q��MYj���a��I1yX��k��i�v��s4�rb�=ETW;����Mp��n8�pj��K�
@��Nqd�m�K�wJ��
!|�FE0��ᨼ�����)hE"�?�]����!s�U�N�3E}FR7��y�{�Am3^�p�
�-z	�����]s�)��AzzQ�C�f��v�s���.n~�,�u RlVH�-���9�RI��o�9�4&Ț-B���ʮ��J[�Ʃ$G5�����ɾ��١���R!�VW���C�B���`Vn7&Nڌ���z�d����#��K��ִ�!��Xd`U;�D�a�����AhKc��M�����m}f0�� ��Έm;��;��@#���[w��"�o}z�q}c0+J=�QI��ic)F�˜���'�&�"I"��E'�+B�I����?���D��R����	��[��u�N��ypZ��
��6��%���e��Ac֒I%otm���ji3D^���1��$6��3��������y�H�0.�O5�Kns���=-FD@
QOj�X�$��
����4��cBg&�Ԇ;>���3R��a� `RBŤ�Voe5�-�R:��E���(����K3��;9'�޺�w��o�/��t彷��ˆg��W4�~��]ɏ�t�	��c�-`���N�H�z�u��tZ��1^�j�U6�'��������iG�me�2��n.�]J�GM�ҫêL����u��W�R�W�%N�߉�R�o3�U�~�Qv�A���,��˖��2I/��o�m�g���U��f�Uq�W�Ҳ5��e��1�d����{W�����8�rO�XKV������趰^�����6��`��b��5�u�t�Lz���#
�}��u�7*���+��6>�> �
�k�"���M�e���ֽM�\`@�j�2�Äo�ˡZH!s�\��i�e��:񯏭溎�M����-#J>Y���j��O�ȗd���M/���/<�����goҮ��0�Nծ/&Q1��e�����_M�Niz���w,�d��C�SҪ]�TC���X�Gz���ެ�F��π@��:m��<�}+�/�<����0Pa�޾��Q`J㨦+��*Xƞ~��=AZ͢���4��L�遖n�d׻|6[�#ᭂG��n�'М�W6'�1��ҷ���[k���X���(�Y�[�㍗�X��F�gkY��Xt߻�{���t�f�Ic�����I�R�Z��F��m㸙�_���V��}��էc��~��ű���4�=��Va�_�.��{�];C�保�}�A�{`�~94�v)-
�#���h�H#��$�@��s]w�x}>�߆,�m�E2G�J�c��G8���V��Bw�G���@�wd*y���<g�7��Io�[��]����N�4�t)h���z-��u֬�1��Ƞ+�ڼ�pDjq��H�&����Օ��㚹i3]ė�!f�����VY
�Eԩ�lj�#��c��f+�4֐�sWm��!�d�R�	�M������7Z4��ľ��Ҳn��ר�m����u|����~�F*�j�r�t�5����4�r����_vFNF1]'DU��<�����#mB��Ō�lw�Z�Lv���\^�t�E/��9����l�񗍮|Qu���n���B�(X�sM�
�)#*�cޛ��(�w� ���MJӬ����&�3�����Y�}Z�x�\���x��׾+֛P�l*�E���q�Ck���bI��*��M�J�H���)RC�f�d�w��Qoqsޕ�٥aj�j̀�:���$r�]�8�:�m�a����4r���nр3�ۊ����&[yB��*+WGm6�h�S��'bTϙ�}��ހ��л׼<�A�<��,`�vRaB��ѿ��G��=2�5�u�%oRK�I��{�K�M�ʻ�|����㊱�o����ik�B�k���RT�z�c?i�]Ν"�̌��T��gHY� v��E$C|�����;@գ���_P�����ֲ�Ue����G��1K��H��:
�0M��4���)���Z��n����Q�"�4ۛHݢ�8b@$}+9[��Nr��l�sl�#V>^���t_A��ԥ���Wq�����vMj�+�kI�Q��㞵��|F��Enf�+�ɲA����G������|L�uk6����	!��X+��5ӭ�qu���
���nn� b��R��aR9�}~/�%ګ�[,3���n��W�-cO���G�˖����*�r��tW��mn�ː5��͹<�~QP�m�ɭc��a�H.Yc'�O=��1Ob��f�˱$����RFp$Q��~�D�E���'�V�����t�-��(b�q�=�*�9t[�&�:$𮝧^�o�N�$"l��*����x�ne9�(��W���C^Knr����S����gw5kD��b�\_<�2�~U?�u;�e�V+�cx����A�[����-ſJ�oy�a�Go<韔�6��+�O}X���N�[����H��*��	!���-zh�E����k?i&�e�vl�ᅦ�&�uc�C��H�4˖��wz֖�.��F�K��������>k��K�9w�t�ۯ'K�/!��;�#\���;v��T�Q�[T�݂�z~&Ƌ��G}BXn�y
�T��ں�趸���{Vm:�Gȑ�o����˶E���Q6���kN���
�Ti$H�%:�V&��^i��6�f�f8L?&�D�[�a�կ~�Gh���q�<9���-��c�E�/n-6��~�$Q�j���{=1����W���/Q�s�6p��(�}���x�?���"����
:jp^5�ևip���i���r3����\dɱ��wQ���Q�ש�7�C�9����B�q��U�.�֪�Z
j"C�d�U#��]f�q5��%��ˑc-�4��s���{��b7�e����ry�|�*KBp���L��O�B����1�i��/��}��(b�M�#�Oj�ݚ�g�f�e����1e��^+(E��Rq�U;4��>�j�䍲�A��+��ű�DU���ͧ�`B�*$�<�s�yt��e��Eaf�-���J��i�B��;�%}F�&��ʳ�z�׋^��@6��@�W�D�!E뮥��K�ڲ-�1�d-`5�Ho4�y�uЧ.���r�\L�ZH�[
v:<owoF��7T3�(�$K���8f�ol>�)ISވͱ�VW(�Cw�=-�s�� {
��d]��D�6K�n�<�u�M`���#q�7C�떴�P���h�x.�
��\3����6�V��؜"������e�'���g�n\�]���uz�$�����A�*b�]2��U� ?�z�2��ڎ
=��.\_�n�y3�wt�!'5N�A��3.��^#�!���;����U6���S��k�b1�`��:1%O�]tڱ�W�����_<sY7�`�Tƍ,��S���jK{|+�`�j��U�u�[�-ҝrH��lW]@�FhYDL��x�ܤ\��ڀrjn;��;
n1Ȩܡ�����cB��C���RYf�������%�<�t'�gVJ1��IjK��W:j���pY7͏qN��=Vl�&-�2p���\��ek�6���mu��%�6��͜�e잃�o��N����,㲳���a�n�����5<�Z;��'�Y^ǟ��sw|����++
�O�������}ucur.Rࡖm�3�|Ǡ�ܣ(��z��h&��B��P�ؙ����J�]����U��MtE�IY��Ɨ3�q
�����T��YO��r���^��ޔݴF\�Ր\L�A�U�v������AMk�3��_��Ms�|���Y�7�-�ǻ>[m85�<����a?$��o	iV7�o�J�gL����S�ܻ�ٞ�y�MFӷ}���cJ���e���lNǪ������;Yh��{�6C�S��=���+����U�Ҽ�^ӵ��#��\#�����V����m�ҿ��i�V<����rp���ϯ����[Key�2N��qtQ�5�%j�y���ϻ��k*�̅�P_-�VG(����_D�7(E�0���$昬%�
�n}~�b(�C��b���Z��\�zm<��b�]��li��ǥ�*h����M5�(|k�������i�7�-o`���n��܏���j�a%u��I�
gS�^�mj���}��m�ܫ-��%ps��5QJ����6�ٟ�m�����_*L2`}���֩x/�g�oV�K�D@��Q��i]�ht3S�?5�B���F+��My�ܳ�`�s�����`z�/�Y�s�+^��7�~�F�s���A$��П�n���SG�?o�q������
2:o-��f��M6�A��4����Nc�DQw��k�>��E╊�����e-���m�9[/5�:�^O����j�X�����Bcn*ކ���NkzS�Z�5����x��L~^��j�ܠKA+
��=3�O�$�����=tbe�"�W���dT��Ioy=�0M���%�R\sֲKSL�\���^��?�
�
{T���[z�������<��C���$|9qc��]�%��t���IJc�öj=?�W�%�Ŧ�nfpy!�8�r�ҹ�ڕ��j7�����ዿ���W��c�C�X��\�����!-u!iz�g=}iy�Lp	�i���%,�7a�}jy���*|��v��n|�d�6OJ�T�\`��T�N%�=��D]\��r*_�R6K�1?�h�Nc�i+���X��$h�7��J�"a},��O��V]����U�R�[��K��.�Ѕ�E�O9���)�������/��t�GZ������zpm��"I&B	Q���]���5kmL݉a�E_�7>�)��WRD�Ʋ�g�3��=��/����Z���f�Ф�^�T����;������:���d�]�܎��d�L���t�9�Ӫ4gU�Ţ�iré�K&q��B?�X7qD/6[��Vq�q��Y��;�f�����v�S��-ƣbK
�9CZ�·jf���p[n�I��R���ӹ�f�0aI=sW4�&��G��Ȥ.+Y5�f�$��v
�yf\��;A�ϥ�:����d?n���c���*q��ŵt)�/ء��/KӴ{K��id�]�Ǖ�=;VV���P�r�aG�v��{n��[[y����o�x��O|ֶ���^�U�s
H1�{�jnK�QhΒOAr[9eN@��M��k~ ��k����K�����Y]����p;��^�$�<�.x2?Z��J�N��v֧*[�P	8���)��Z�b�;k��C��њ�,�dR|���J��l];�g�H���3��Xa�>'�)Ylak�?��'��y̠�����b�mh�[Ej�H�1�|��'�\���"Sm�nXx:���eO�g5�Y|9�%Z[�Ϭ��k�U�ɂ���4�
=�i��@v5�4ML�5��?�QQvމ�6TR�&O
��Z{�_�椓C��<�pw�Y5��]�w<��=�qh���"��\Юӊ����x>��T����Ԩ���1�g��	C�{�L�G��0�4ټ1k�D��r�{�0��0�OVĶU1�sޫ]�v�qfl � *�Cՙ�Ē]�4�9&��Z�&�u�s:[�G݋���2�-����e:}����ı�MGqkc=�WS�i"BOݭ�l�2IuKH�^t��*��zm��2�zj��5����סb�Sl�L��3\�Ņ����z�^d�Y?���UNɫ�uzY|Φ
9mC��7�~>����<>�R,r���0��?�zVrwؔ��P�C'6ҷ𻡬�O�:ޯ��}m����S�wz��7�S�����gX5K)l�=��z`�H�k	)+�Hq8'�i$�)�X�������z��3���UL,�s֮;����zq�ZV��1�x��b�ρ��ո��!���kE%�͢���H^C�Q��+�D�Fy�*`�\�U&&sۥJ#�Z��5�`�RAer��ғAr�٭�h�9s�i�p"9��K�P,�ky8?f��c�*ո|7�]����*%U �'O�R�1F��=*�_�GEw�0Z�׶�i6hE�ʃ5�
Y��w�Y�7a؞*I=v�4T�0|Co�Y�b�U
݇j��r��{V�)�GN�y%��|�(�s�
�V>��4A]ǃl&�4��)�����nș;մ�#�>X���Y72���bœ5���Ԉ���L�8��X�� ���г��!�<�=T��k��O�4��$~��8��n���n��B��Z�V�Ӟ1D�h�p*����f>t��^��GA�aaޤ�o@�8�S�M=s�SR^����_T�_c�F������޺-'�v�f�����c~Q\�����.�R��7����𖏤�G%��Sk�>l��I�h��b�o32����R��i���r8��v���7�Ι���Й�gwN}+��S�׳����G�I�t.F��|V]��&�4H�H�B:ǥI���sҶ����OD;����*&���W��ƍ�UY[3Ґ�&=i	�
'b��1���]�PjFD[��A!�F!�'��1T���_����L��-l[;�k�=y�++��Si+��D,�e�MOi8���P��k���-�F�j�}6�M������Gk��3�㎽y�b���ȎL7<�o�T�~�;0�T��_�͎��5�ͩ� ��\N�k����W��<O���xV�"�b$9R�eRwz.��Qӆ��q0��)|Ћ��GJ����֚���-`t�5�w����uV�w����ߧ�^]�1roϥeV��1�IY8�=��h#]��4
cm�6>��*�J�6��mm/5kY�A��d���V
���/�rJ��gw�n�^)���nmt}"�I�X
@}�sZ�����o_Q���-$�7z���})�ͳӠ�-Q��™r[�H��e�v�elbFR�}�\Z���4���)pܫ�>�^��Yx7A�
���c�Y��@O����[=Ʀ�����I3�#���yW�V���S�h�^"�-����U4��(�P;�4��_����ݝ���Yx?�u��op��X�Ǚ	9,+����g�S��8$q[҂u�ݤ\���
v�s�p��Z5"��d7,Z�5�Y2�1��MRh�E2��9�f�D��!�9�j��2=����k�28*	��#(�Xȴ�A*ؤ������Cwh�x�e@�9�=���Z���e�X�729�Yr�O]��Y�%�¿�.n�{x"��.���rLGh��UKK;��m
P7�<J	�=�����dB�[��42G"�t%Xz[Ksq&2B�>�ܬ�U�x��$bT�U���]����l��0�0gw��R��6$4����+_�ׄc�
o[`��ܙ��VI�#ӿ~:���"��-�V�]o⿃��Uoy�*A
��U�pTv���\l76�i#Y#?+�>��ԏ$��Mr� ��6O:	��R�Ab{�\պ���V�0kJVz�U9+>���J�i�	6�6�hĿ�X�I������wv�>e֙iv�3\�0@e$�8 t��i7gmvC�i\�<<|-��l�V[YcY�m�F����b���>c�]1m�]�`ܕ˺j[ͪZ��{�,�fU�����/G�j0��gcg���q�)��Ԝ~�W*ߩz�je�*�5��Kq��of�I��	�j����M���k����[[o>t��(����ޯ����G�
=AA��ϿZJ	>n��,�ؒI��$��Q��c4L�˓�]�4�O�.�8D�3#K.p�=1��M�\j-�-��<�+�j]>"�ύ�Y�B��gq�k:%ޏw%��aF�XDŀ>��aΥ���++=SX'ݏ™̇��]��1{�a�4|�*ވH�+��Ȥa�ǭHɥ�l��j�95\`� ��Z
�ǖ�f��z�N�/�I�]�Y�x*X"���ҫ��عr��P0�֭Z�G��xz�{��.��H�a�}�Q��x�Z�/r��\�\2цj��Q�6ěq߽Dݬ8�3{��X\޽�v֐�En��=��뙖3�G�Q��+&�kY�;s/���e�I$�PH�r�����2I�ݕ�h
FI1�՝"��]�
�7w[[�&�Z.���՟+��p�i��jx���x'Z�8.��M�L�,�,�uV#��5�C79�D(���I�]���[�����k�0�
�I��ֹxb�����#I�Y@����V��2����i�H[�Em��hB�+n�_ݣ��RF�FE)F����s��'��4i��f�mt}6+��dօ����R���!r��k
.�KC��4������~KkG��F"@N1�8�:V5$�l�m,t�^�F�y��ן`�m�3�4������$5{��╥q2|�۰c>ޔ�{�"������cm�!�Zx����t�@��k!u}A�G�Ԯ��?�t'k�5�r]�'�ֵx�ٯ�%��1��m�w^��:���5ě���z������h�]n�"ϩ��?�+�d:���;�"�?Jܶ�����#�[�r�u�|>�a[��i�O��˩��Vݏ���\E;��:�I4�@�]�8t��c�8�tU����q�V�����S���j�V1�q2�@z���+�^��0�mb�q�C�+6I���:��#C�8FG�JI�{�۶���u�����v�H:��X�*<I�_
��<�V~|D|�C�O��uB���O�$�����Xx-��/es�/m3�S=T�A�ե�t脨8
��أ��{��<[�ko��(�*/Q�Wa.��Dؼ�G�$Ts�;_�.k�v*�����4�L��e�5X�x��ڒ�=�~��������CZ��4�ɟ[20�Q\��$�fp��m�ӌf����O!JMd�on~U{��p�O򥷏U����L}Jr����ϙ��Ū_0Im�яL�x���"��ĥ]�J�U)�]��n�
�2K�4�u���?�l�|ze��s��o���l��M�;�6vT�意�]���Z��*�e c�,zQ�bR~E��w�ZS���	�����C�
x��
�hmc���V>\��{�j�]�Q�-� �N�A^�T�uw�2vb�)��+N�C�\���1�j��Tlq�����r��K,�m��槆�w.ˌ���R��6�j�-���mi�xT�8�1����^;-Hz�O��+D�B{�U֛q�����"�+G�����M"���)=�`V�~��5k�$`�q9�����&ĸ�ť�gΖ�l�+U�%+$Q��r*PQ^�,���*�z��6��4�Q)ػo�;�H����Z�oj�����Ԡ�e�؍|i���o�1�[k�+�`���BS�j�w+�X߳Ѽc�řn�@�ki~\�hQ����z���ǡ�?�d��i�j���;�|;x-��ӹ�=+��Xc�鄛��$֯�E�	(R8�ڱ�Ƈ��޵�5� �{�.aiU���n�
]W;K�[I|��,{X�����ͺ�����Z��p\�̅�ֱ�,!p�Y�� V�M�l����k*�ђV?w��T���.��J�@���U
�\�KMYB	��y04����+���V�ud��e���p�FY�*IIY$��W�f2���%J�c�Z;�-6�$Q*�Pv�g5�V�Yu3�U#�M�7t�'�,-d�+�g�z%�䚍�2�S�@�zf�-V>��[ۣjkv�o�O����+�n<5g��So��ﬤ�&�wn^	����x;ݯ�\����g����2kS��6�e5�;fC^���;��%Y�hv��T%m͚�gR�yvo�S�ma���~�s؊�z���O9��0���=ER��L�ӽhl�i�䔿��e!�B��t�cH�qHb1�y�0kf�Q�Ck�����uХefZi�Ҹ�q�
ܟƝ�K�\�ڽݺ
�j�;j:v3�9���p���>���[�G@	5�"���98�m��ӞXa?�;Glw�{��F�?�M8ku�Sr�r}J�s��I�j걵�I
�
^��e����cCW%��3��֡��g�kh�^��8ܿ¿Rk��k+�������ŞY}	��׋���ʗ28�E��X�������Si���� [F���!ݜ8��׮+�Z�����f��9�e�C�C��(�'���&�]���:���P��
������}Z�Uז��H�*����ZNz��Օ"�#Q��c�����ĺ�~���Gڻ�=X�AS5�ө-���S������!����R����*���=aY���MW�ףE�iq���/ʇH�\��!�*k�KDf��y_Dh\�YiW����^;a�-�%���F2G���`�Z����i��i�"�a@�O`O'ՃujWrzB;�A=���d��y���ꦭ'�����?�#�{�/b�GɊA\�O��6���*�y�ɫD���Gp�c%9$v5NS�)��I�ƕ�&
@$�=�Q��s����@8��9�-���j�2KxD�傁Ԛ����u�{KP.f�����=+�k-��Ʊ����:��y7y)p[p8�9�8=+[�S�b��"��n4�T�rX��M_���Tg�j&��6�Z�t״ѭ����5�r��Ʌq�z�`ME��1�"�Y�}� �9��[5t&���z�[9�W]�/�xN�Ξ��~]����Ԏ[/2[�j^4�-$�Wlq1A"�"�r?ƫ\@�?�1��{
�ӕ�S:��Ѿ�Vz���6�/�Z��Z���R���+׮,u�j:�\�x��4&$�B�T�{8�]QF�������&���>���K��z��Pi�
�ޕy�B[['�;����������$�������g_MF�BS�Px��X��#���3My�4�%�zÏ�r���]�Nml!;!��oS�?�7\�#𯇮��C@�k���jD�R~^�=*���f�=��xn9=�y,�*���=F�E�p#����GSE�~��~���!�Ϸ�#b��4��;G�@}�y�x��G���<G������Cq��%A=)��T[N��ϊ/i���h�W���_����c�*�������h�<��̻���7����ʱ���C�R�u���y��J�3��2�m��"�@�,q�V,tMcUo���w�9�c����U��mC�Œ.��eA���b���,�2��&*�z�+5S���
ƕ��5=y�XYy�s�USW�m*O	x�)�k+K�?�.G�N�Y�mu�]6��b/���k7����}�M���M�)�	��>���؞4�Um�6�����cS�mm$�mZ#u�"Q����y�W���ٺ_jڼ6��d��A����	�۶):�ik��30M�DŽȾi���_�$ޮ�>#�T�d��5Y$�B�8�ZH�������1�5]ܖ$q��S�-�ML�յ{Kki'�P��}�S�V6���YY<����%�L�8�=:Vd��Xښ��3�6�{�XK�Kd]��m�{��k"�B��Q6�(�G�v
���q�޲���ԙV�+S:��}5J\�]ơ�/4%p}*m=�d���n�~u�ƴ2���q.aH.���E1��y���t֥ͼ�wpH�qM��y�x��T�⳿�k�a9�d(}�fM?�0T8��6�)�n^���k�+9\���k���y���
�G���%e��g���*����L6W&k�#�s�ڜp�w�j��x���֜SkQM$�:��el����g��ZV�n�sV��.nVw�g���ڻ��*�0�����tմ�n.KVn�V8��j��b[�+K��-
�\ɾ9�m� 3�H�P��بE4ox�A���C~���	D�I�O�$���n��s���-��S��Vo�}���;`~>������tM+(�]I&�/��{W���h��Iy|s��W-|E��4�&�nd���}�Q�8榜g?��ҝ8�KD�g���R����TK-���h_���Q���^��e�6xnmZ���W?^�ҩ����mͧS��E�+(�
E{{�f�/�Q���jeb���=݊M�W�d���{
�/�v��Br8�sY�{�)��D��˸:�# �Yx��+����
W��:	F�V0|Eu�9�KH��|�0���Z����j�Ύ7
��M:�J�|�+��C��u�o��,�&tD��*�p9>��5����]Xi�y'�"r����.iYiB��ަ����Kē��h��D�t��'�����jlɪ�Gkϕo��q;�Z:��˦�+�xI=>��)'�$DC����|9��x"����|(�v�W��r����Šm]��o�j:�b�?١�S�B(�=pj욓��c���
nX���֦4��T����]|c�jq#�X��|dWC�xv�P���jyH�@��KF�����W]��K�-�N&��Ya�d�C�=�z�'�[�A�"���y�S��#�f<��;-¶E�$PFp>���?���)B�Yj��C.���3$�d~8�ۿ�V�����9��4��"�m�)\x�i-���d���0)�jz��]�p@�dj�r�Z{��/VU�E���:��="~�XxoÚo�E��Lé2g?����'�����"X|E�[��>K��؉�_��7�����mO��A���U��?xV������ާ��un��%|�t�f������&���ZYcR�'\��lⴋehM�zhp6VN鹆�H�Gj�s$PXM��Teڛ[iV�}�X���Wa���T�v���X�Ua��YW�+�Kc���v[F1ׁWm�3aj�%�(��UI��lQm4�H�+
��p*Co0�U��:}���N���kiX���k���{xw<�duɬm_ƶֱ��n�f�aWN�oȨ�%��_��wӓq/�?tS!��g���uەi����v
[N��D���>/I3pJ~5.M�k�|5�r
���`տe�?Z�dDvw�r����j�a���8mԁ�R7�4k@
�k��\T8_��QHϟ�C"c�S>:�)7���
~�^�E���__ɫ�3�;��}+�'d�X�>��h�L�w�У�K4�wB"v�6�iȄH=+��Mữ뷰[ζ�����O���ՊW���֧��]���<����^+�>ե��VO(��1�m%�4һ���E���͛�
U����5����V7t�M�b94�:�κO�v�=�G�T:m��mteɾ*i��a���m��>,(��V�Gl��Km�҂[�أ��]���Z$l:�=k���'����m/\�*~��P}�Tj�*�j�gux�S\�-�J	8���?4}3�VA7�tbPc�6�t&���h՝�Z�T�FK����x�]��۹�x$�
��w3j�� �u�7�dT%X�"���T����qJI�<�QҦI���r�`�W?s���(;�O����1=��Z�v�NI��:/q[��/C��EK��1^H���:�*á]�0Ҫ�>Y�L���w $Љ�Vv,a�ښ���<Ԕ���C�g���j��¥����ͽ��Zg��s�� NO��fj�˨��4P���"�8ڣ���D��8��0����v�q�L����\���V���)�o(��
����W$�ɭ����U�0�皱���@�	5�k�Ƅ>s�zVu%ʼ��O�i����R0�sn�~fC�}�;[�\��{��	$�K���?�k��R��2�SW�z��<��2�zWh��YEZ��g��3O$��x.�'8'-6Fu�lR�$�J��m�/�E�7{���+*���=-K
\�6v�G�����~ѭ�:u�ř�T���q'��5e�}
�Gm�KO��m�5�b0��7Q��\���\�o'��G?$?(�iѳPZ%���_*��ӭE��+ec��rMn�.��j��P����叩h��3m�R텒Mʸ�ND�J���&'��B+I�]"H䄗J̑PU|d�i�u%�]�!-��6tQ1K�YCG��ޫ������H�#=)�L���Zɲ�NG>���C)�o�d<���ߘ���a�/�"s�YE�w�y�x��[�:Y�K�:E���<�\�=+�2dp=j��їb�P��~�ֆU���k-m܋���jͬ�~ �����Yl�b��0~�OZɻ�䉘ƬB�W�~L��{C�x5�m��,�2J��p�ޝJ���^�J��Z�%�=+��,,#��Τ����w<����ǽ4�㮗FU��z���ZX�W�ƚ-�"��^NNrk�O�[j>'�,"=>1Ǵ�1y���ՅU��HMi�B�����q�H�f˴Jx|��똖S�#��J�ϟp��SS�Vz}��,�Zf[ِ���������e�Gf�"��(d$u�z��ǖ<�a��w�c�c)��{���8�?�U�^\��OȠ�d��;+���+�D��}y�š�n��F�����^�Rյ�o}r����1��z�[��tu��ڕ��
���f���Z������UI�&��.^j��M ��V�(Xm��J�
��Hth��z����/� \7ٳ�zS�}x��3x��7��##��+��1��zf�������׵�N��,d������]��N�SF�0� ����-�;��&zs�U8�꺑��:�7��]-Ɯ���!y��\��I���R�������?=2��/�R���u��Ɲ��a^�`���o�
:�
��Q#�v�zs�+�I�w�u7��$6��b�<�&���j����.��F��If�Cy,0��q���1{�-f;[��gy��(��u��*BTӊoK��s�Y^�i,��nT0l��5=��&�yva<ҹ!����ROV�t�����5O][��T�j�LK��v�zu��[K���Mb�KG�Jܸ��*[��6
J+M��[Cpt���4�銧�}�U��ɦD,�a�ҭXi�wq���QG,���aY����V�77:�nOV��k��3�X�YZl(�İ�Rkg�5n��s[O��q-�O=�YŒ�����j��t�
Os3�-�0.���S���3���8���oiV}��(o�vd�-�2zט��u˽6��i���l�g��Z6��5p��)�m$�,�/�FO�Ks��n�������t)&K�]�܉~yg˅�J�|�,�F��FI�nĥr�#��G�t��D�u�x���#�n�B}2�e:��w�W+��;/���N�&��d���6'��X2��h���t˻�n�p���2�����]{��ҩ�q���vc���M��zX�.�r�4�wyg��9�W���zg���&��&�i�c��Ҁv
rGZ�\�.���I�v�n�z���-m�pR۔C�~��Y�i�]^����W��YJ�ݎ�����'`0�W��Z�{�y�Q����"�\�V$�w��<a�+��	�45I.Q	r����4Ӽ'�+�e�|��L��A����*��f·8��O���|(�[�߯�L���$��>�#�z/�~�gM{`��+��嘞�+���O�/�q�ۿQ�f4+����<%�H�(�UokY��O�����o�V�r�����J�v�bk-.����d
ќs�\g����n ��a��@
J9Ó�zZ�$��3I�Y|��ޯ�O!�S=�/�d_�ަ���?R��ޡw��;�6<�ޱ�[^T���2mY�ϧ�F&�B0���W�|I��?���,�G���k�$����xv�*E�G+���e�ҽ��O�Z-պ��Wr;|���'�UM��5��)�T�+�*�ęR=�f�ᶬ\K}�H�����\����Z�0$����kg%�Kp�O���5��-����|����w�^׫N��s���9ox�\^��y�4}��s��(�<[x�%���fd$��֩5�:��++]��������;'Yf<Ï$�����"/1uXdE]�L1�JQ��J�Ђ��9�s�F�e,wK��,�>v����������ˆ�L��7z����U�4��gwk��J���Q��i��Iq��ƫ&���.~`�fܚ�R�1���M�	��-���	�2[��XRx�K�I������1�jʝ)7y7�O�mu0�|U���॔R��v�\V֍��k���/^�%8P���Oݎ�\��O3����[�2y�6���H��T�
l�E�i0���\撥9k'ʿ��S^K{��[Ę\��[ڹ��VЧ�U�GZl�c�،��5v��)��HcA$����x�o����|ۀ��l����H���~�_4�/��\W=]bɖ���QÌTo2g��VjI!�U�Q��H��?Z�'�4�q����4��R�Y��|D�m�a���W����C�D=��)�����>�7&��6L�����y�6�Eo����\�.t���	�l�R�[���S�+�-ѕ�R��t�5nn��w.=�+G�M�jH0�R���#�u	3��3��TJ�-J�����u'T�\�e8����έyI5�B��#��Vr���q���Ђ��^�*�i^܈ۃ"��ޘ�Z��V�6�5��,jO��P�'��J^�z ;[#�Me���%�q���:5fTԙ���ٍa7Z�P�����Lj#�|o��	
�E�#�D�G��x�DP��&:q����Ji��9�k��_3NX�y;[S��m���@xO�z��\_-�c�Q��^����/���|<����}N6n���Ys�Jdm�a�}�+�5-���wԊ�¿b�[���`f�j	4[$������M��ܓC�
y�.RGF�/�*޻��Tд�w��>���ǵa:�>�.�)�Jֱ��|�n1�Ќ��Q-�Q������O������>ki���b�����=>����z��a���\5���\p�*��	RU"��S˾ ��5�?(.p����)��5׆V����T���D�P�Z����bb	#)b�L`V��a�ЂH�.8�O>�Kp<N*�4�"�z��x%���ț��I�qڥ-J�6A���!�0 �u�ez�
H��O����S��*�O5���*�/�",���C1��q�ֹ��u��)��Z�㱬Է�\�H�@$��MtRVGE8؋�SM����A҅��04�輐��b�[ܙn�j2��Es�\��T�o��S���zp(�qP~��$���.�V(���X�j2��&x��FڳZQ��bx���Q�����\5�o��8�亚�4�@�B�p;�φ�?g�]�^�Rݎ/Q_���ii��|M�/����o�5q�2>g?t��zW�ݷ�<+m�;�nfc�YF�,�߹������ɧE���.-��S��o��n0���b9�׫GX�^�q��*Na��c��P�戀HX��
��/}$���HҤ1�ld���QD�'�R�C�B�c�W�ܱq�L�@�3ي��95���
1���~c�͖!%��Z{OX����TE��H�$k�7�džfR��r���طoFMnjh"J��q�L�jC�s�ڲ��+Yܦ%d�*H��tZ w{֍]
�K��o�`��뤇N���Y�5L`���j�V]
Fo�ⶕ�nX�rs���[m>��Q^Hta��}M]=c��%�z
��-f��.e7/w��A�`zVn�/�?���R���-mcb>����Nk��!4婄n��<���t���F����.1�Io��V�8?J봭CX�5H,�k���C�IX�ԓ����S�7n^���o�4{�[R�׶�{�ϳ��LIV���+����<Lcx����,*�����*h{�]0��t��~0	6�42��)��d�b�Z����+�0��[7�kb��[�tYS@�ԥ��"��prN8��)r��۱���l���!��ԛsӚ`OH@�<թc�9A���v�K[����h݁��QX�\^^�mk�y�ƣ�5�V��=7�s�>���e3�B�cOm���Q)I|%���y���f1��d{��i�$d�'����+�{���3�G���( �~�
�O�K2�J�nY��Q����/�	�[4,����ҩZ�ꒋ�[��rBJ�|�G`߅O�M����\�V�V}�VP��#�5w,�8ǿҮ�6Sie>�"�d�Npiv}�[�ӱ��0w$���6�|�n��c�u9�bٚ�iI
7�.琟�S�z��?�M#[�t���mbX-m�(v��܌g���N����kNi���9����Ub��M�&ݻx�c�5v[���� �VN2K�����Kb���9q�]�6�#l�8�}kھ�;M��%���	�坱+��Tt��q|��(�m�����A��k���T��76;W�X�]��7���Muqs���̀�3��V�����4:�;E���tmM�o�4�2̓��L��,���\��<Q��y㫛M<�2��x\��Ң|�[s��KYi}�ֺ����|�\$
j�<v�2΁�e=GN�{WW�_�M�h��!���_2;I8GNۻ���S5.[/���qS��7<O�hZn�|;k)�!�"��n�ג�Z��gN���"���s >��4����Ժ�r��w�;C�v���I1	cp��ARO���,t]'���^��%d$ �lb�S��n�t��:�.Q��:��KD�a0ث�."r���}O5���<I&�l7�P0h91��z��a�3�i%��s%�5}"�V�^8�h��J[kʽ#�5�7�wJe�G�;o�6A>��f����EW��hh�콠_O�j^B��<�8�횓P�SY���� �O@M��ě�tv:�|<�jq�Ԕ%n�o´4-{�6�#���)��>ӆn�J�AK�搦���|K�Xƫ�IP�������C�D�~��U�����L�)-���Er�g��2A�"�l�=����(��[�*�� ��{Z��=�#��W��VF�����mP�?�ҜeR+H��vc/�7%Օ�W�+���D 'ֱ����\�K1���=;��˪1��{I�d�����x�Vr�/B3�ڸ�Cůqdt۫Bm��s��;���]p�.bӲ��j���%����\e�����
c�:�Y��1&��5~�֛�^OW��Q�}���z�*׷ee#.A�5�~2�}"K�c;��$w����޺D�ɻ�qmjV�iS�U�����Ğ
�ґ//T�����k8�J��c���f��Y�2����Wo(9�E'��^�w�#F�� �	�@�����{�e}4�S��>#j�S�z{���됟Z���a5ԍpI;�c>�YA[vt�'�H�w~�h-<�$��x�j;]V�-R��<8
����s��6�F��%��x�{m�5-k�A�F�e+�Dc޲c�o��e��pm�\�M�}��𪡢��h��4��u�m׌s��_I{!�g��X�+Gmޖ9�R=w.E�x�T*c���2db�"�e�޸[�Dk�k�u��%�;2rr�c���=a��y���5��|9��-���T�T��˰�M�M�ГH���P*���Uš�@�18�(	8#"��7P����T)��{U[��I$w*66���jZ�j�.�}�ږ���W5�|P�}2H-��c�x5i6�!���<��͂䑎+_�l�,_j��b$��r��V���,�i�$K��G�k&I�6ڇ��Q��Ǹuf��_D����!���\�q��1����=���|k����f[�|�N'`y��V��h�܋#�W�G�Lm㚍�"_��^8Aɧ��'�l�<1j�KIc��8��	�<�wk
���M���O'E�:x*�5�漊{�`
�]ö���w����;�O��I�����i���jA�U�UX �7��)�⛟/�8����5x��vj�d(�dVΙ�\ڐ�{d��p�f��[�>�]�tq�s�MJ��b�iI�tk{30�V|�v6��|����2_�s�WȬ�G}3K�����.pb�[=�R����Jj�W���"lɸd�	�SE,T=�us�Z����n��W<@�L������RIuV1�\�8��j^��n_��։w-��d&<|����_hzM�Go!U�}=k��[h�~��r�=�r��cO���H����@0��9�d�5�涞S
�g���ϥ)7�nwR��f����C�I9=�o!f�t��sZ�����!Ҿ�#��� ����׵��)�;��E?�ռ&�S�L�ο!�����]��%�]xJ(.����8r�%��5I�?C��J)m~�d����5�qy+�*1Y3h�u��b�;��9J��Mi�F�z�ic�{��֮� U���>������ѥ���wPDc�zTգ����U%m4��{G׵m����c#i�5���|+�}<��J„�sڱ��wٚ¤d����Y�����5��.N�OCX���,T����G���g1�'1H��>�Yr��m��6��{�c��pDl�cV�W w$��;��RQ��j|c��AR�)l+��#�0��&��):T2��i;Ԍ�f��TZ��Q0�+
�+Kyo�+ y��ƽ����Zoo��C
���䷼e�l���$ѯc K�?ǎ*�6Q�,4�V_��cq�
��M�i��5��*srwc�Ju��滹e��� $���)V�Wkc\?�(?u>�\�A
ܰ�y���>:�U:
�I�&�Cz��$�^�;[�����F2�G��f����n�5$��vqԚJ�K�p2j�J�UR��QԒqXZ��*���8�*FuK�%��?g��W��j;-b�O�I����c�~b������Y+��!����L�5󦐿� '8�
Op+���S�;9 ���[�[�I�˲2y�>�n�&�vВ�w��5�K2/ޑ�Wg�CM3�cV�1��J��Ȥ���ӳ��R��~��ɭ��Q����bF�n���f�=���+���o��.�Eid����N7j�@�� &�##H�։+,�HV� ϐ�\J�l�>��R}��iKb�EF��I?ʰh�������5�)	��i3����2�ֻlmA�zW��gq�ֱ�/�r���֥�
c>��ѹ�U�\�''��)7riA�_����g��&�ⴺ$H×s�[e���rM���g���V}F�Ѵ�䳖�cR�&��1���y���)"��bS>����[�tZ�mt�5-"��1���Ք��Ĺ롁<��20:���?�f�o�i�2��%��S�kP��WS���H�nND����$�X��� WU��d�<c��r�,���ԏ�]U%��ÄW��~/�`���[�
����ێ+�G%���<�gǦNj��΋h1_c���I#�ui�.�xBz�;~Mu�#S�y�����A'r��Z�?���|īJ��\gxM����I�-�sB/��ddm1����2�V��e�H�亖+Hc�!�� }�s��6�r�O1U��	�Z^褍o�#A�-� �Cl�`_�5�z���u�>��H�� �V@��z��R��tF��n����Ķw�U��d�����9b��'�{�ԺW�+�M�����ʁYa������T��{Ƽы�FjZ|K�5}2iZ[D��7�}?����^-�:"h�"�o8av�9'NhQJV��D䒿E���(IWv�V9�ps��s�[o�ٛ{/��E��.9����2U�ڳ�$���ܨ��R0l���O0�|��c�-�I�lRn:��y�v8�`0����՛��ݼ����џ8!.�p~[��k��֯��X�:T�RX�I:|��m�q��U�2�Q����ݛ�>���?O�(��Z�\���V��p�:񮏠��e�YA2�ۙ�K��RPrW��8]KMb�<�}u'֟Q��-f/�j�����V����Zi��y��u$�f^~S����]������F�ܥ��x��Lא�ۉ�vZx����ֻ����Bm�%��ՠ
�l�ƭJ����6��9�L5��&��7
v���n��]�����V�w�&��<����3�~=
B\��.9ɹ_�CQ�.��Mq��O&��h�����2O��]�W�*d.�`�����R�i�:�.\Fď^��ate����rq�'ں��&ֆ犣��1��О�e>t�ݣ��Ǔ�5̘�m��)��0W��$��j��+
nV��苩g���è[�j	#
�Ǩ=>�����6�4�
ͧOd�q((ȱ�>{����,��C|5+����xnb�T�@���=p;WE��>��ȹg;����ҦT�-/��)4����<5��j�Kx�#VڪS�í^�-�;��e�Kk}��(2[�J4d��n+dL���ܯ���K���)m�E��֛��{l�cs#0��J�$��d�qkq�_ׯ�ZW���JqOU�b�.o���lc�Ìc�N*y�����W8��i7�:c'��k��R�᧹~{�kx�EtA;����ڋ������$R@�Mt�(ֵo�W����#��\U��Cߑ����:���e�E�w����sVF���gԭ�+�!O*R��&�uROEv�3�`��
�;NT���~'�署��R7Iױ�^�#ʵߡ�nX+-d�8��?��p6_3r�桳�;�Ok�Y[^�=��<a��ɨ��|��D>�„������R|��HA�i��j����2O�!C$G��Lޅ�#{Y���
�w��o�X)��c��+WᎱ���u��"ƞd.�?Z�AIX�k���5K�^��b�4�v/���J�a�]V�P0��j�y�|wǽ]���^��S��e��G��xwD�<]\�`�,�j�j�Zhk��5������k&�����J*�;�s�mj��$"�NN��a�|K��r�����
6�Dfս
�Qy$��M��������t����?JnQOV�^/bI<c{:�iS���*1�x��&	`���}}+9T��q�=�3ľ..c1�]�*94_bIR�3t
xj��1�ɱs����|�-CL�f�
8<FI�<E��_
hq\�$����& z�?�]:Σ�r�ǚj�C*�E�P�I�Ԟ6UȈ7JO줰���;�v|﷓����Rr����)��<V�eg��I�tͷZT8a�~��b�z���nl-���n-�Uè
�}�hұi/�n�<d�%��@���c*gӜn��
O9'9��O%���OL�Z&��}�6��)�Cwc�D�6��V���>l�1�9�T���w��d7���1*��1�Ժ��s����v5U.��b��k��#��-�)$]����]���
%PI,s��hw�sm]lZ���	ij~Xȫi�*Ƴwf�6�����dU�4
*xL~Ly9 �ZJ7���}�GÖ�x�ď�nHϥr>(���R�K�U+�TqϨ�������^�7��)v�&�R�u	VN27WU������ZA#JOQW*��MR�!F2�+i7�<~��畆�
m(��v-RgX��dz�~�v"���:��ɢN�iXN��|Ӡ�<p����1����Y�fR�����i�KP�2�m�H�򞕟i����d���#5��z~�T�֗ꖺ���{I��g`�$k���Gš*�oA��M��T�\�2��nJ�[S5X��KKs�д�����bg�qT�5�4y���䴮���63�Q��c�>oh��EѼke��Z��!����2��*��K(�Ki:�(�P�ʈ���#�2I�����
x�]J�_>��2�H8�=��sq�y��E���q��g*����FT�7oy'�<�đ.���jGopwƛ���+��k�-._�k�Kxo��R��Ʃ��eb�(թ����T��q�W�zݒD��Sǒ�?/Ҹ���u�I�/��>�m�=�4�+^ֿC��R�ֺh��WbVvg%���Y�u���Փ��}�2�3Pރ3��B��Fwb��U�U�5��vVh�bI8�����9�Ċ�W�L#��H��㱥Q�nh�&�j6�{T1����Ԗ��ZA֤e�!��j�{���NOz歺9�Hm�U�I:��W�o�c<���3������L'�ۗ��?�RB��y���+���W�
�#�<�������Q\�����I9h��'9��4�'tr�:I�v���pZٻ-�-.j�vmah��1�0S����1_-�2k��{��#��Ŗq��Z��m��:?Ō�E��!��8�rq��>��_b繡�̷;���}j)Fԭ���IA��*h�#
s�����±Y�ڇ�q�q#�?3{b�����]�����H�\G\ocԟ�ޱ�c)%��r$�}�eOp\�j����8�/-�X௠������WI��ڡ8>�P�%�V1�����7Lⴌ�+���I����Gu,`1F�=qNOK���$���i��@�W;f�39�FwT=Ga8>�����C��<TJSj���Օɫ��@SZ5ucA�3�H��˓Sk-rͻ�/��D���$�fݥg�b�D�7��YF�2u&�k�'E���S�=*�{��,[��J{��z#�n�-�Vb9���mD,I����&}�)
��1ҧ��!M��F�?*ͳ9>��/��ڶ��v�C�
,���+_���=�R���U%$�Xv#�ބ�W��/$r�+8�Y�ܺx�͖B���Gc��R���>,��[Am%�	.$m�DF|�=s���G8ҧ�5l�XcD����E���wђ]��׊���^��/�KR�����a�J��R@<gߵ_*��g{g�ñ�r��i�O,�_c�Q}0�+����41,q"PQ
j>lv�|��Z���ڕ���p�+
�����Z��[\�;�Sc)�!�Z�ֵ��s�2�vs�Jg2rN*D�6���z��K���r���1�'�Խ���1e�I�'7��
낪2rq�E�D�7�-h7��:ݜ�����b�<���v�q�[�?��|U�&�cjl�b#���EL⮤��k5�M��g��wg&X����J�G��3#0�94�����r>�e�d�pFx���[���w!�����OAKzwFq֥�Rآ�׊�<�K����M�U�_��I���zn��p�w:Y�D���4M)��Z_(N��Ps�O5��n�MB1yגH�6��z��Xӧ��ݝ\�\�3����j�-��-�̖����p��x5�xwN�Ğ!���i&}�#�'�$��B\���/�ɧ���@�F�	�@�+؃\ޙ���jEb�2���=x�Q\��f.\��݋z��/�V󯯞g'<����S$��9��Rzh��Q�,�Ek������7�Z@��x�-���h�r9�5|!��\�Y�i�;�𿏩4��dž�8���I�FЩ����^��J�ѝt�nu��]�/�u�In��]��p��ƿ��-#�X��`_-7K�#���8N>���匒���W�$�fՒ���G�*���mtZ�7�F���[[��XZ��N��s�qW_޽�4��Z�{G���L�:l�#��m�_�L0pG~;�I���*�W�y�unxPNֆ�-�EFR��Fz'���$k˽cS���ԛl��?w�5^�=�׊�3^#�<�������Ǟ���d9�ۺ�[�Z��{|lu�8l-$B�+���ێ����;I�ݽ����SȎhW�S�q��'ml���I�f���w�j�6Q\,��a��`9_c].��B�N���`&���`oN8ǭ\R��w&���f����m��V'9�ް<G�*]nѠ��6떭$���5���r�?�)Dr܋H��A�+��b�N�i��7G�#.y�T���E��ڽ
��B�O�X��;n�����{wq�D[xR��B���%�Y���V���V��s#��{��uoZ�3Gw�u!?�=��V�Z-,tF2����ư�(��ؙ�S����!�}�&��l��ql�i�]Nc��H�y�[
C�Z�.d�%��5����?�߿JƳ����eт���#W���-aao���p�I�q׏S\�
��u.Vvۤ|�l�j�S�J�ݞ�i�_m	.��a�e���4��f&GE�s�q�zg�u�k��:\kgs*�m�$f�Qӯ�8��r��h>&���R��f>\��'�Wt�A�?��Ե��#h�pr3�����i��ms�WZ#S���[�.���u3����g�1�W���h�k��R
 ��Vj����ͨCg�9^c��"Pd�գe���.���� Q��J�w-�~�es_eb	~۽�I4����O_�I�x.��gf����~��z=P���q��I��C)���eT�i�aq��#�SK}p�km	��m�+fy$f���;3e�#֟*z�Y"�>6�=x�={Ě~�i��`~�
�oN�(�&��:�bR��k���Ե���7W��P�+��I]��[E���<���%�s$�5Mm��ऄ&2<���I�g�d�NF�s�\ξ�4�ěI֬���x5�ΗK��O
���$m��&9��8�Nk׼)��K�7��P�r��2ȧ���*�[+��I'+=�3L��
&/"NL���-߀t{� ŏ�+}C��h�M�2.|qnV���?��\��໛&2Iy���5�6�"Qv�B�����b-����]��셲�Im]A�<�[�[b#���|l|��9���N=U�R��Lq[\d;mE�>��?uY��M��k>"��/R�ۣ�M��$VCx�R-�(�\q	#��I�٭V�}G�:��
Zt���=+*oj0j��=�������L��])�+X����I��iV�2�
�{W.u��
o8[��aP�՜b�n�[[m�E�^�7��K��i������� {��t�W�쥀b�sW�3���&���;�);m���[aַFu��J��	9�t�Ů��~�|9�5KֆM���Ң��b��)6��7��j^%���{kw���}�۬{�Dx9��v����֓}=�}���0x�]��J�E+����X7�
n�/y���g����t���Mѫ7ԌWO�^���4K���`��Q	(�����%d����m�,��+��8�^!�
&�Ǿ^��`��H|dc�k�����C��2��wQ:�
�'���n�2)�+ ܇�5X�ݤ�z��dp� `��-ש}]��:�i�%���i�g���wc��[K�ٱ.-�����6��
�w����h:%��`n��g�Ɏ�[ğ�4ld���E��ea��EuP�9|M?#��E��Y7�<�Ɨs�ϣ�ĺ�JيyO�:r:�\��Qz~��B_�6�O��'~W�	�7G��QݓҷJ�w#ajHGwi�d\���y�%����7���`�f2�B�8�N�d\'�6}���|�;u��U-��*n;v���^�"�;
vQ)�԰C3���5,�4�M�(����!W�W&��*z�j��U��F7�Q�9�]7�W Vw3~��3���8Q��4'ؖ�lȥ-���
k���&��q�WYT�v*L�y8������֐�Y�@:d֛J���p+:�3���l���Xd�Uy׌��q**�"��i��#���M\n7n��E2i�|*��+k�	jXӣ��S�1Q��m���e�	���))$��r��_s��$�l�>,l���in�q����n�``�����H6(8%�J�������	,�����:on��6	��J)�	�*�w,�X٣�ڪ;����Z�0$ ����2��W`}zTьdž�=���+�Ҫ�%��ɬ䊋"�h`���l�j.Y0�4�|ϽL����n�U��r�z�-�P9��V�s�Ha�֦�����w8�$�"L�q'ixnOjR��CL�-Q���֫R�O�(�jŸ�#Q��1V x�O�A����Ԇ�o%YW�>�Z��M>xg��B�|N�T6;�޳VEEi�S��]Z�i�n�ԙ�!���?���OZx�P���	�1m{D#�_Ƹ����2�=�Թ�z=�f��$�Ɯ�]^�\��0�W��q�N��Kk���ϒ�ɚu��z{�]�Z6;#+ug�G.��;W]�ɗL��ffeW�銸�^��<g~[��Ջ%��l�2zך��אu,[��ksF�+,n��08��	��ޣ��r;*&v$y���w$��>�ŗ��=�fX��$=]��M
�kr�G쑙np��^⯉��I
��i<,c���p���I�\t�8'�K��{�[2�i$�I'��q�ӓ�I�O��Q�lL�٣��
G�x��L��Y[L��*�7 s\�i��^Y�8�����IG�< �׸�t�B���(�5<�˜����ZX����!j|Ӈ#�9X�����Y'v[�Q��W^sK;1�8�)߸���j_g<t��=JMBpτ�Fo��>U{�͡��@l�{��i��l��� ���pi�;1�v���n�V�R������y��M=���	��ۭ;��gs*��[���B^G9f�$�#Yz���8�T��&��k�<��B�$�~5��>3}#��Ekeh,ŒF�<�沔���koy�r~2�e�˫�nw��S��o��f�G�`kg+/����+�u�O�X�m��u+?h�@Q�?���[xlj,���%��*����G%�ݰp}��h�;���u;�/�֪�b�v�NH,}km�_��<3iw3�ryfeva�Ps��Z����my��~�K�$
�#9�5�uI����"��D�M�d��p۔����-��u�f�z�5�t�C��7�t?�}�N{��눕��~�R�8�?�z|>=��_�Yz8�kU��������[��N����V�����'�Xpj�6��s���!���M8�~���m[WmN�Ñ�~/�ݬi�٤��.�0�F�\���T�H�k�I����U#�����������Ef���ޣ�=V�9�Mv��K�a�ُ�z��x�����i��ˮ#d�)�Ү6k��/��ϩ�x�Q��Gд{g�	 �7�l��g�M{Y��ԬmTF�C3ɵ�z�u5u��DS��Z6dKcs�n_�����Bw3=j�ﶄM��7���6^�Kav�TO~g���\�w F�w��i���Z/���\5Ag���>�W�O���M�����ͽF�B�����*�N�a{(]nc���a��,a&O/n�l�l�|'���8�TF�x)��5�?��wNQܭ�x7X�/��.�� |��\c5�/�n�1�-��Spb�)Sro]$vծ�(�-~�f(�(x�0����V�n	񮘦�8�.gs�t^��l�kx.$�d����8���瓺M���Ke��[�@���c���52�Q�vH�V�~�M�|0��o���G��[���I$�p&
?���rJ���_�I�ugC�_���х36�vKX�4�t�,�с��8$�֩Wә��h���V�u���V
;�6D�J�u�UH�t�@=�t��G��9��Wf
��a���1���Ei�/[v�X\1<q���;o���ȴ~*ꐫ�2;H~��P���ޖ�JX��d�B�[�tic&�ZG�ݻL{�ǚ�t�i6���0TpqN���ަ�������Z���-�r��߉�4Z�b��sz��5�\���=B���]�W� �*Ozѵe��ދc���/O�����@����ư��E}�O��}�t
����Kw�J���V[�
z�|��,��͓��e�k���e
�*8#W-�e$X�(��C
̪N�;��6��:� a��WM��j����u���
܂�ՕI��M�;��?�`���㺵��Ϋ/��y�N�G�	����(�\֒��;#M8s-_cr���W1��y���^�Qj>
��U%�s�V�o��G3r�����n���9>���]N����l7:��*}ꔛz���)���ccK׬��7xb@�=��5.�*]i�%����
T���U�3H.W��s��]q��5���HUr�.2�ӊ�u]kN��3�:��Nv�'��I&��JQ�T�ܛB�/�M.;�ׇ��>Z�F)|Y�]H�H��0� ���EII�v��Jq���z�s�M'O:��d�I�� �:z�>.�5M+S��ํc��0x�6�.=*�>m�snWNIY�m���C���<�)�k�:/3s6����<S�MQ�<-�&�I�.FD`u\�Ek��.f��z�~��*��0OcTn������}���O�`zUjBW����g�ԧצEeuTGlq���\���?wVٍh�I(鮬��t�m��ï�*�a'�}k��t��u�5}n�	e��,YEp�Mh�lz�6⽞��!�'��� ���w��-U�>"�W�$�Ȅ`�k�\�ޗ��*t�����ͺ񞵨_=���@�0B�\�4��5�!�/��G�gQ����[F����'[�8�$����h�H�;�v�W1ݬe7��ucP�Ŏ��_�&��"��s�¥(������
N.[Yhij�}��0$�H�*����Z�_�6�s�ܕ��\�!�;Z��mM_cP�xf�7��'M�ʟjƛ���sb	LV��A�j�(��X����Ӈ�WOޖ���i�9}:?�sl���T����N���ٞ3ֽ�RmV��֥f$Sc�+c�d���=$;��`{S�f�
2A�tŘ=
S]3M�j��U]Po���8��e9��f��J��9�4}�Sސ�DN	����e3٥Ԕ% ���ҝ��r�<V���.��ke<�̏�(�5�SY����
�q�>���d$��ъ�\v>�����ڡ�*$lze���cۥ(�Բ�”�ֹ��&�iPc=�H�2�Y\]#�ڟ�5g�[<�Y��A�ǵh\x.��Zm-�-~Ы���	�\��Uv;�9?��,���dnȤ�"����Tope�
(�6�S���mnb����x����o,�u3N�[p�V ��?���j:�I/�AWuH�.y�V�,$q��C%�g�c>�)���{kG�U��l��<;��ق��/Y��ozƴ��ՙT��ջ9{�`�c�Ԛ�qͥnu"P�ڴ�S���ģʼż�Z��3�\�U>Nt�w�=K�孬���\�^��8 ��U)�{0���
��t�2)`ʫg�I!�֩G_!7�Jv�+U���f�#��`P�9�*��W�+F�j�jf�#�<��$�ֳ��QVSa8"�%m�}ꢉ$f�Alj���q	�uU�P�����'��)��,��7�F��֒V)���\6AȮ��~��w����>ʘ/4�rQG��MZW؆zF��_H���w|a!������P���`��Q�_�l�;@!�o4H�'�zzk�o�3�g�c��a.�<���"�ؘ����
�7��U���x�QUo�}�B7�7���Dd|\�F���Isݕ�������of2N���:��o}Jh<�0:�u~�o��J�#�Oh�_��s��`3ķ�k8��[��5�ۭ��~�쑅<��'�IM�)7,v��wž���d
��\J��������O��%��l�<�?y�I=��>1Z
NKtGhb��,��A�i��*6oS�1I���y	���c�h�"��V�e�u+��k�L�A�œ�����Z�o{qg�B̧�Y�31�_�u 2HŇC�c�+)�ڝ�V���$7�|��̹ɉ��q��O7-4�y� *��v�P�\�v��Ĭ�p��{4���~_�f�E�c��|3u��jW6
C�E�I���p?Yj��
�#(�"�F��knR����SUfl`�U�t܉y��X?x�֤�b�7qF��diV��T9`1 ��UL� f�i5�r�v^�Cp�8U;q�C��[�+K4���:�1Pt��Y�O캍Ͷ��[@X�u��nՅ�Dmfr����=�eͭ�Su�n�[M^Xm�0�Uc�695�ay��K����o�1\���(����NWV9�R_:�W!��Gze��FE�q[��v�6z��� �"���G�|g�ւ޲!��X�ԕ+hL���9Y�0&��⛙��,n|�#�cܙ t��6�#hԶ����n�8>�;��0�+@�,:U�4��ө����i�on�-S�����~��*w��v��ij��'ws��y��J{�f��gpC�uVW��tkdټ���D�n����5��u݉-n��[�/dy�=���?�s���sÞ+�ò�-���#]���a�Q��4s�_S�����,�{��M�R��T��������u���[���(8�ISQ�fk�#�-�9����w3�����̖�w-pH�����ߛ!@O�lX�f֏
1��9���������әnX���r��ӇZ֭���^ȱ��5$�ʅ~U�0gF%A$��&��!s����,7O����4)�����S�k���o�&V�*�w�/$�����Gr3��z'~�U&ޏ�*���i��N໳������B�ǿ?֮�H�=j�p���N�]a�dT�g��k:@ �Q��>o�]��������-�G�x�YQ�vz�_�&����#��å�UЂ~�7P1��[***ƶ]��>&hmp��Mm�m2�i� ����QmXF�����^0O�H>�%ϕv�4J���Vv��i:~�0�"�D�)
�+
��-,Am-c�g(H�kXQ��J��c&���j/u���JC�?��
�G�������V�
�/}OP��R4�:,����m2+�?y+!�9�\W��]
�|ncV�+�X�
T��6�R����%Ĥ-���-�W�rkZ�/ܪ�0ʋ������h]OK�B�(��:g�n�I58%Gh�I��uTW��n^DZΐ��,��W��V�[R�e9\��])�����-��`V��r�"�u\��Alc���u�d�x��)�lS�F�8����cI�-e�%�J��\P��j��YuC�V�R��Ɩ��U���T�C��Ҳ|Uqc3�݌�t�g���S<=����]?5؇A�C��Y],���R��=
z�7�J�������>�N�����r;�r��3N�Q�s\��|=�[�f�}�����jQ�
8y�)=Vr���o��5��*}�G���}+�O_�r�	��������Z-I�M�Ԏ�I�����Lu~��qu&�����}6g+jiiz�Ŝ`G<����_��Q�?u4�*"���D���*�#|7��+Ic'9!�rJ��v�K�>���Ӯ-c&9K�(<�$�~���L�U��sW������F�MV��z
���[�l~r&�J�z5ΓU۵�E'�R���i����T�s�k}�z(�%�Fo�QR��u���%�ç�e��©#�%ݍ+�tS����^�qb�-4gkF݉��ko��(uR5
���3�W��k�u��FP��d�^��qqi�i�K�J\O���ӑ�;V?�mt�-R1�D�(xS�U4�ƛrr�����׳L�r>��8�Yx;L�ѭu
GP�
$D�?C�q���w^ds��/�}<O��e�h�����l#����O�T�[-���_�<I'�p�;���*Tn��Gr�j{��j�]��‡�ww�J�|M�.�x�eH���NJ�ʬc'}�c�Rs�ڵ��Ȏ��U�c��+p�_»�:�]���OSĥ�����cʒ
?iv���q^��y��,�6� ��h`�ps�\���D��壵�D�2�0�~=�X�Qi/��=�+JR��dy��U��/j��`3ڻ���%'m���d_'n9��g�6J;�Yʢ#�h��K�]�B1��]C������b
Gr
�S�C4�S��+�	 I�
���
�Ԕ1�$�[֥��Px�,��#P��9n�Jr��]6��ۈ�K�?D���+��|��qX�;�u��p��}�R&�]��@GC]�wm��Q�x�#�;�i�V
E�-ʺ��c�"��p�k>)��#�(é
W$����lFzg�<]a�h��[�����{S�
�L��W��"
F��BQwr�?�a��_�=WR<����n|Qy{�>�3(�r"�@�{Vd󯕶1ɭT,rT|��Q���ݻ��DX�B�OZx�9�2�v`�1,{S��&5���A�ŪC�
!�ګI���	���>�[������"gH�ء���[��8�d�9�h�]GQ��#
1�:�e��XG"�A�~�3Z���#8��)L��m]����[bH�jQ]�C�M�����PG0�t�VIFvćޣ'����E*�@�ny�ơ�����Q"�Y�MN
�R�=�kh�w���5՛9W��ޔ���ϴ�R�+g�� �o�x�MCQO6�
�0�d����;U��K��]��(�>E�F���lv�>ּ�es7oױ���nr9�g�r@�Td���V&E����ᖵ���n'�C���{q�k��/c�����k%�����?�+��N�y�/�e۴�[2��Q���Fx�J�F���Y;�X�����Yk�YX\��&ݏ��RO��:�_J�}*��[�Q	d:&y�(�%晲�o]Z�U�o���Sờ>�%�r
80=�k�i"���#�XpPjg��SE;e܊��nt�>Ԟ-T��ɪ/�����[]B;��Iq��@�l��MB=>5�Ͷ5�>������'@X%��纜�]�=��*��*񍟇��70�N;��|�=�]]K+��4�!�NqC�R���r)c��9�|�nr�
]��y/�!�\Sd��ؼQ��p�=*h�F8\d��U�<�\�9�kgA�f��QD�d�ڢOB���3X���؏2Cv\��ª8?S���x'YԵ�,�r��e!{w��n�fuS��h�70��˚�M���/b	y����21��U-<�#:f�u�yq]��H�ŀv}s�x�֦*QW�ҭ��+]=dd��7�o5	.Y.�V`��W�'�?�0r��N>�n�䵝�6g}%�m�O�}En�S��=1�w�K��V����EŦvM=����桹As-Wcx�RZ=Jh�^�=ϟ��1��q��z�Iv#8�5��+�.yUSUz4f�l��ɖ+���/E�_qa�i� �g����.&?���_��q���]K�'��)�Il?�as('C��9�W���׈,��)!
)X�ij�{�Ƴ���]
��!�����5�l59b!�Jm����8����1�G�֛jb�`#h�mŇ����������g��d�_��q�?h7#�m���!�nv��z�[$��׃�����¢X�9^�����Ў=�3Yѧ�u��6�+I�T���VJ_#^Y5{hA
�[$W�񓚮��q��s�)߯B%lG���S<I,e�|��}�Ie�>G��L�T�)8m��n�[��-I��e*j�<Ӎ��F��gujq�t���4Ԭ;�|:y��Gq�M��� �N�Q6>T��&��H�.�~c�NӴ��땂�?2gq�Է��;�>^�(B�n���H�����^�ᝎ�u�^�́A�ol6���+��m��O�sM4�R���m�d����Iǚ&w۞8�Sc��ӵ2�K=�I�kh@�+D��9��o�-ߊ����uP�+?��>Ʊ��pw`֖�C9Y-±�:���Z�Ӯ|9&�1���m'<�g(��ӣ���b���xJcO$�C�k�[�R�n�E�y�/%��avѓ�V��O�oAף��qZ��n�01��0+��n���rP���VZ��,�R�Xf���՟�R_�⧚�;��3�=1��_��R�����8#�OJ�	q#�Tph�pp=�5�����'��C���NԯUA���FAd#��)�:���A-���z�lW�e}Y)���^GB�!MtH�`!����5�SH��w:,�:��0yv�2������y�S�U'=?�h�%��mrPX>D2�u���\��%����E:~�i�E�vz��j�~�c�tP
[��5���B����\Ҝ��:�c"�ĺ��B[���1P'��J
F�:�3�V��dK�Z�K��ڤ��Q�����\�׉�&�|c�te#��[���V25�v�ZO:F9f'$�t�m<��r�*#-	n���Nѷ��r����ry��W?+���J�0�Fe!�����y��[[��4�a?tװ�<E.�gMede�5�ݞ��^I����[H����or����M��Op��-�0*A��Q�uf��n���L�-�r�����8\ox�9�;�u�}f�5q�ﮄq����PG��d�]ݖ�t9�t�����]:y#�-����A�!��T����z���h�?��`g��N�V�Sy9$���c����/�r�wr�1@́�\���U�4����2;��ܓ�N���Y�ݮ��:*4�Y_ɳ����
]r���$F���Y��A��U�-��C�}����e�[���Ҫy`��N3\n�z��f�S&�M���˨��}Χ4�c��O2Nq�}i�!�]bd�)!B/%��Kn��Y=��>�F���9�U���q#��0�����͂�omIo8�iK�j�Xh6�ޑH��׍�,�J���H��Ψӓ*�˞�"�z�<`���Ѩi\�8rO��1s���5�%��t~"��N��[�>+Թ]�e����
U�x~�.�;h��)�xS�+
4�DuՔZNھ�)�]��Y��]e�d$�+�u8�Դ9'Q���c��D:�J�u{�����&8�"��%M����ͭ��-�	GI�_o�<��N��:�ƪ?T�1x�T�dh'q��K�Ջ�^��YY�md#�}+'I|͖"��Ě7����^H<�\`�\��{U]K�:��ɑu;����K�&��!QN�]�1�R��s,���������O}�5�"[tؙb'+��nU�@�1�+Vs2	O�����x"�;�GdS�p��]�� 9f�M�U�P8����5�Q�����{Rc�Wޣ�2�Ӝ�_���Fz�PP��4�f�,���V�+KZk�N���xZ�n�̺DWpW�}+��0�S���԰�VM���F�3舿㊡ak�>e�^r���h�B�B��)u1%W?uF*	#�"	���Z�O�B�Ѝ��
�:�����˲1�%��M�0B��$��Q)�U�V�آ�t���"��rM?j�Z�q˧�<��w*6��ȴ�@�źqR�����3��Wr�'�f@<S/J�rE+�*y22d���*3ޝ�,�@�(f�����͘K
�ڹ�G�oGs)��w��2�w�ݨ�D��8'Ei5mH_�E�>	�R#`g�wC܇@8�*##B@U�X�(26�NqU�!��O�$A'���M9�`�4$X�L�`R7�=)0��i�͔͊�X�y5*�n�"ƲF�Ԛ��S
y�'v���a95����x��ښ����y)�X�l��Z�E���S����C�)����y4�?Rk�E��-ld�lד��A�9'�om{	_��]�����qU%�
��9�X���hB�����ִ�M��Kc�Q��'۽tG�1��g��k���q~���xw�]������5l4�7nB��ɨw���lsEk~���@ο�����fx���zޟ:\���FAG�H�ҵq�n����˻ܚD�#e��Ex���h�<Ϫ%��:~�iR!�'U=	��W=X��g��<�F���<���0�N�����ګ�ZKa(��w��A�5�ܬѴ��$�w��($V������ҩ[鷺��(i\��;�q����z�#��[�qv�6�2�Y;?�?�|}kḌA�K����4�*��_�����,͵z*���峑J}�Rz�")n7�������56�"��m�2:2�S��,�� g�.=�t�t��ɜ�L�[��[,nI��g9Im�RZ"�L��Ե�
:�#�YM�\�+�7{To�F�B��Qv�n��'�;�Vo��9�R9�M��*�6���ն�/�[������ē�q������ư��ѫY1� Ѫ�d£m��;�WVM"��LnUW�MM��4�F���T�[YLo�`q�XT�˶��p���^ �{�~y�#�!U���K��zŲOo����̋��ֵ�\��b�Sٻ��q.����r$�$zϙ?{�4�e��y���:/xZ�]�%����8sl��A�M{����i��6������j�'��n�$x��]kL�
ݥΟm$madb�C�C�X�k����w�Q�ur��]���x�j˕ju��$V�T6�?@��y�����譂]>p{�$MG���p�oz�Br��|)<�x�Ox%0�']��?�{V�Њn�Gi�XA�+R��'��Q�>�#,��8��u�
��8��m��l8�?0�W$�ߟZ�r�d�;�x���0��x��.�$~o�X�%��rF��i����2�}
Djk˹����Kt�H�Y�m�-W;��B��
�w��_O��F�q���FGq[��-9��Ù#i�Q�.x"���t���(#�Z�6
������-Gf�>`	�I%�@���M��A�1��\��'�U��;I�!%����Uړ���$Zu�ø��aB?�	er����c��Q�_����l����i�� O����F��I{��ra.��8������ҵ��v�"��	�h��Sd������ B���z�g�t�7�̘1i=	4؎�Ž~���}����l��5�w��a�j�a�8�H�P��8��%��K�
�#"���ҋOV�Po2]���?>��x�[�^u�C+�����2z�.�� w��F��BL�!_��nEu�^��9�XHӧ
?�D�OML�[f6����Cz�
��0��O�-��u�.�4�$c!��βsi꛸�l��/\���v�5�)�]Xt�O�
9R1��ԯ��r��ŗY�/\۫�E�M_	�I>�n��k��Z�NUe���{#���K�m����V�`���pw���Vr��k����+�hodY�2?*�|I�==4Cee:��p?!W6���[I�]z��7W�yl u$�*����v�yq4�g;�*S�G�2v{h����vD}���#jVn5�{��3�z�h�QO����ɴK-v����E0�"-��;�b�sB��mC�v�iۮ�rI�/�$et' �j���Ǡ=��V���J��9�6�Z[�"i��$��b��J�J�*A�&�)�m�������J���*Pg?�c��$F�1�>�����FeI޲����������z�W�^�@�����R�;���i=Gg��7�u��=����bY��b;U�^-_�:@��Vs#b������P�;"ܖ��?�-���(d�ZBsڵ�[�CѤ�MI����yh@Pb*g�_/*������7wZ����0�,2;7���м3�
��qg����l���z��Y;��#Ei��E;���mqk����r��9����k>�D�$��ssr���,=q늸���٘T���X�o�:N��K��YD��������~��ǃ�moO{K�(�0�(�H�T�-NyՔ�6���x����xR�J�!�&Q
��>z�<3��X�c�dԕfUo�*s��^�"�Xi��n��\˦�qq��A�ޡ�,�,陙�,�z�Ҽ���3�P\%���V�K��j�g$���:|��յ����w6�{���3\���[�j��m�>���a%��^V�H�AUN*/]��MIISP���G;mb �f�LWQ�Kr��,sL�!Ev>���̃U�g����d���JO`���T���#�uxl���N������\ͧI}%�p��"Y��{�5*��8�`u�{m�5��ouX�
�ˑCna������4\�-بe�G*Gc]
�Q��s�_���M	����I��}����YjWs���Gڱ��1�4��j��kğ[�r���
(��Q�j�N�4�Xpd����_O@䕵��j�>ӵ0�]�琨3gޠ���yِ=��WoȮU��U�'-�FA�*�Vӊ�
��F��	 �$��k:�����^٥}F���=i��0j�E!�4��q�?#PN�#�ߡ��)��Zc���)�M�ʈ̼R2j�#��ޒ/(^?��R�h8Z����9�Ԕ!�D2�R`������I
Ԉ����~��⟏t�
A�G��˜��OBz�娹���ԇ=�S�Rm�NN=jՎ�ldl(`F=�m��	F�ob���,�X�Q%ЍC��_AO��>_�dwI/,U}�if�����)�p?��
��:o�o�8�\N!�<{�7F>��6�J���+���̝?{Ԇ)�s���<��FF
.[ʓ�$�� ���T�t�1!F;P�N步��� ��2Nu�����6v6�v�%]݅�n@oN�t⩽
���4F������j�˵���Te��ɭ�$w���B"-+�Pq�y5Frz �V�#�g�f��!�7A�}�$e
C���
ۘ8�ɞ@�[�����ͻ3H���������/
0
0"��5+B�@=x�JYc
n⭫�Ԏ-	p
���E&���9�g��Rc�z��Z�sH	��i��"�给R]��W����Zd7	-����t8`pi6� �
�2֥�X������؎��smtZ��M�ߠ�V-Xñ̮{
�S�l�5����k���M����qe��@��G8����X|E�ڮ����F�y�6n����<�s�k�����+z���M:�y�R��
ܞ���B�
�|.����q�h��lt�,����׾��6��Vݭ���������u���m$�4��=$��5N�hd�n�E���)b�f99�5��A���af���#�f���)�I8�T�6��R]OX�=}�����Z��6��̱�ȅ�c�Pz�zRvW��J��M����g���#��A[�u���u�P�%����."A2���NՒ�Sg;×n�D�̏{mqe.�lEw�z�Z�τ�~����>�p��.�!����#���3����x��ֺ�,�Ƞ��9�{�|��?��O=��e[f��f���O�_�Ҳ���žG��6ܡ�g'�$ʏ��t5�?	�+��캞��,t�lc��A�~��w��j�3��e��<G}��e�yI�O��8Q��֬�-�?iuw'����tm�!`��G���B��a�[*bu��w0^6�Ju���!fu��5��� k�y�L�Ϲ�]|��.8������G7���'��6�6�	����4b�z��++��x��*�n�u"�����?T��>k:���=>H;(�`�X����;�ݽ̾'����12���*�WK�/B!��c���X�1�|�a��.0�'���n��۷��Z{�Kp�d���V(��#
U�k�6�h�+�_�,1l��VU�	�S�W��z�A�8��,ci�1&]�S�ST���ftb�(�)}�lyg��fӣswd�>c�|�sKr��jRPV"��5[��79jE^��,^՛^��GX嗡�	#g׿�|o�B�Ī-�T�X��"rX����I8��cjK�c�mF�t(O�*�j�l�A��H�VsIm�:m��m$�!��1����Io�q���)��U48
]��S���3[�$C�C��Vȋ�L�8�x�����ȷ����0��ҷ��z�c�ZM����;`B6�s��sZ��R��ӹoI�<3c�&�I"���e�+����kg[�k���N�K)].q��G�ʼ�R���Q�-������x�X��dӠ�ˍ˒rs�;���6O�t�ƪ�;J��"Ef8 ���җ<#.�Z��O���Τ-�jX�p*����ܹ�Js���Ӵ�o�;m>��W
�������!��:	|s���vz�E 3��D���ߎ+ԭ|%��/`�n:�	�%�tn�=�=��Z����!�����A܈��ұx^����h�cG����J�Ɵ�~U�W��vV�c�����^���O�\D�<�~���E��cY��e}���8���+W8۫2�9eg��cR��!��,�H6��
Ǹ�q���kd�!��'*�q횄�'��j����jx~�vl�K��-|��̑apt$BA�
x���
T���WDRJ�5eg��N�O��e��7F�T-�{z�x��f;_����b<����S���M+�3�k�)i#�T��U�m�L�D��Τb��k�RI�"[/j0����+P	��HCV��Ul�Q��ޜ$�쵰�M��F6�ů����������7�9`��k[hM��T�P:Ԍ��[Jl^4Xd�広�^�a�Qm���\�+�c�%Qݨg}
h�X��%̲��h��}%�B_�O5��RJ���E�o��K�̐�ae7�j
��kB2:�s�y���b8�3�#6q~+RC��04���A�^����p���t�_���W��g��Rn�l��H�M�y��-�
�EH�u�t���_��K����D�%�#��?�V�����*}�P���1���.�QO�fOf���3F�Kd1Bᦷ/���zc��^����?��)d<:�2�i[ı�FT���ir���Q���v֐�Uf��w
w 9�[B6�-�h6��'I��ӱ�T��3JX�f� ���v��!�����C�K�<W��B6Z��bm�d�Cq$g����U�z����S習��<o�%��Э$h,Wx��[�����I5�|:��|�C��gd2�@A���IR��J+�{�Y��mn���Eydx�ۅC"����a�3���e��\˦$n�TڮNN}*e^�К������vXt��1��&|�(m��ih��!�����Ҁ�@p~����׵�����]9���V�i�mԳ^ɋ��s'_l
�q�='U�[��m��$���T��q\���NY�R|�%���[kP�Q���1�i`:�]"x��u7Rؠ·R�b��K�����EEi$p~5��k}֝G+`�8o��
��M4v
K�l�d���[�so�6�%N�"z��g��l�w{���U\4npF}=kġ��)k��Mp��5•I��֗�KY{�=L�XzM�zS{�r����1D�q��߫*���k|@�-vx!��p�[.6��~t6�ԣ��:��ݣ���F\�*�Ÿ�tVe��2�5��muO�V�<p���%N{�Z¼�Rh�9��`xVt[����#rV�~�r;{~_�v�N���3j�Y%͵�P6��o�Z�W�ݴ:���㶻�.<C��ռjv1	0��k���<Cq4vP�l���.�GҴZ�)rRW��E�
xFKo��opmu1[��C\n�s#��A4S�uR��Sѽ�-�SCA��N�!�z���i0�@���?�/L���q=�y�`����e���J��ُR=W�֐x}�+'�q�_�g�V7�<,�zΗQ>�$߹����_d9E���Y��c���p��`X+&T{��SMϔ�b�]��OAJU6�R�6�n�jp׺�&xѐ�������m��Z&)E��껸⫲��G!*#H�	Uћ�B�ϵ��y#5�b�)�+��*$C"�z�X��	8sPƐ�g&�pz�2�������A5#A@m������q�'�GOZ�ݧ�kq�²��%�d���Ax��q�Sԅ��X[�����5b�m�U7a���	?{Щ&���F4�iG���T��SUQ�T�.D/�ch��g�)j�S!V^s�M�Au=Q�j�f�Җ{Iw��҉h��)�}��;��j���By���hꎓ��E��֮�lQ���}�_jZmίy>�m��� E�Ϩ��gL`�/��[M �����hj��0�9��D�h�Rjk���gl-��=Bԋf�9Y�;���]:&��kKӌwɳ����<���^r:�E\΢��K��шa�z��{[o=�z���lp�TNn)r�f0�9�@P��KbD��abH�hC>:�Ȥ6NW�L<
�[��<�f�iʹG�ސ��;m؎�WO�}<�{�3�KY�9������i5���h�!$�l��=Oz׷�]>�M�~��o�^����BF=����=X䚻dcb�ޝ���k�����^�L����P-c�8f�W8��]_�>)\�~�F�!檕9.{��Z�iE��\U�9�C�O���n
첫b��{���t?���ˊh�����j�^�8�g���j�X��#��ѽ�_��Z���uQg?هI
��=�7R�ԸEȳ�h�Q�7�@ܰ�fx�V���Sq}�f�P�N1�Ɖ$�Ly`�	=+�o����ặ�-��2мX
��4�%u���ݴ6�=�B����Fi�V���t�*�C�����1�T~��qkW��9>io����-4+i��h��s�=+�Gċ��u��P}�����‘����V�jW]��M�)�H��7�y�b�Nrk�~����F�,�mg���A/"��m��~�?���Z����➡,�T�k����PG|�K7ŭj��ئ�sʩ��Y�
v�;��鸯vW]�7�c�5��j��.�I�wnj��T`���R���Ȧ�Y_����=��Zv!p���҅���;kF���l)�	����Uv���b�-t:�/����6^!�V��+bi#a�)>�����=��-���Y�tN������Y�w��eI����G4i���$��QI,O@=Mj�1��o���>�E}gse!���c$z�]_��
l]��w���n��`�,�p�=*����6�]�;L��;I�:�#���ߠ	?�j�5{:�C�a�}���2�+�i()[���w�m��Ú$��^^�o��Gom	��0�2O�n�����x�[I�[��I8 �q���K�ߡ������Z��i������Vb@N;�V��4�v#%@U��J��u.m����ށy�A���8��k����u�G�����L���؜����9"wV��/��Q�]�%�>C6�T�@�%��IPv�cH�@�>��Q�deN������
����4��^f���+�
z`W���A�圲���W'i-��=��Z�.	;������#����7P%���1�\�a�'�j��^�g���P]]2�bY_��#�'��kG��4�F�s��J����􋛩.��$�q�<U���H���a��Ғq��Mh[���7^fn��!����:>��y�'\�J�{#m�R�+|�C�lp+ɬ�+w�X�[�d�x�6r1�3�v}β�,�3jrp��:�������N�V�����)���e���:�-�h��ϒ����Mc8);=Wc�|�N��S�j�W�<=k�/�5ˤ%���/����Nk�/�.��jkMBX��Ѕ�r����v5Q���_	��N��=��H������Mgc��$p����q�ë́V7�v���.�kr�*��ު2�ݘԳ�C��wÉ�KOqw%�jy�Ňǯ5�~�����r�H��q�sCm�6DF/�RNJ5�@m���˵�#5�]x��Z}�}�C�ψ`e�W�zJ
R�u{7]�s�_G�C5���,�e�"�v����ۥu6�$�=쉦�i���/G.{Ƣ��]��t/����>�<�cU�S��m>�6�g���ƻ�{��������\�󡕛,�����e�[��_q��z�S\]6�J���d�f-���^/
jz���^j/mi����׹PG��'=4K��h�Sm�&��_������ҹB��Ӏ+wK�c���<?ing9��lݯ��[��+�it]S��t$r3����zW
�kV�jw�Rݤ1^��8��q��ZS�R�ft�Zq�[nW�u
R�F:tOp��BnP~��?�|Y��\�[D�8#��R�yv8�m��?xcS�6�u��s��=F+�&���F�D(�ǧJTS�ڵΉTsV�g=�^��s��Yd@e<��!p��f9=k��Xé�H��wX6��IL��A��s^��\4ȧ�<���ge/1�Y\�c��9�	\d����9
�n�u��&{ n�`��g�LWހ�(	=��6�|�\����!��	}�y�jjvb����5�\�y֢���u/�z̸�Pb�;z)�c�}^Ėڞ��El('�O�Xϫj�Re4�Y���rLzEl9,5�,��#��
�E0�s�q�����^�r/+]h�C�=����+�'�oEx��bh��qS����խ~���O]b[���3�Ha�T�n���u,"e�E;�B�*}�8��/���9��Z�,��+n
��7����
�BI$�8��UI~��2�������:\ũ��,��#'�9�k�k��|e�ol���<�?t͂@a���sԅ����;'}�z
rM�V�Q�F`P��S�?½�¿lu�$G9D,�I5}�SJ��Et�$�GS5���4`��/�"ǵak�6�5o>}��d@�}qUV���)Bv�Ў�]"
E�!u�^G��F��-�#2|nDA���zjQ}���{g�;Fڳ�յ�<on++���uP�!��x���Z�t�:�R�V��M��F�)�5�K�۹
ԣd��sZ׈�E�zW�V�)�m�*ɏ��N��?Ե;{A6�q-�BĒ�tǨ�4�Mu��ީ��-x[_�ּQ��ye���e�Kc�0sҽS�ӧ�n쯴���#CeO^j�H�.{�{O��	�jW�r2ǻ1�������-��D���l�X��b8�ډB��
�T�o��׭uOi˧ė��]�S��?ι��-�k���,njq�S�%B�b�㵴9]��\��
C<�1,�Mu,��i1H.G*2{z��Zt�	�u7����'ˬ8�v��dU955o��t���}"y7(�^ط�I�pϥkx:�>�MцeFc�˓�+��t�җ3�T�<:�ױj���X,q���ZЏG�iZ����@kD��$�ek�"��S�L���06����F���mb��ɒ��m]ݹ2�"�B�o��|!eea`t��"��A�B@ϡ5-�>��ƷK.d|�����4�ӽ�D��i-;/����\H7�$^��5���4��]"�@H�o�����
���b4M.��!�!�8c����&��tH涁`#�#���#�nƱN7i\ɟᆨC�wVΌs�6O���xR�&f�X�F�Һ#W]��S8�Q�K�8���1S���S<WI������pj3@����Ԇ��<ǥmd�H��g�o(�g������H횉��PƐ��R���%	�E5��4�"y��(	�i�G��j����Q%���&�$�Q����EJ��PVe�8�0'��죑���=�Kwq�[��4���j6:
�m���~4�O1��ܷ�\�NJ�Ó��U�KmU<�H'V�K'��d���ZӇ*�٬a�v��ֳ ���f��D�c滘~]%���h�!�#ޮQv�e(���?�m��L� C�<k�+��� �RwMuF�y]4�qe�h *�9#����Tھ�j���:�cB�O�8I\���vj;�(�@��S��7W=Ni;-�����%�u���,'�.0Me�+$~c?�z�U҅�K���3OHs&�`��pǷz֕�cs�0,ı#�>��E$��N���D�]��MA��Y��c��ц�" �M��7@NE-FAq^5XFp��@k��0���UT�VR��RL���8��Pƅ���!�{�SP�
0I�݆���=�_�?����\5��ۆ%�r3��T�h۩�b��3E�Q
����[���ڒ����n��$쬊�'�$d��H�Kr�\�Bv�+K�b	��cG$�#�In|�r�IS�4�e%fB�d��9��ú���+�œ��j�ؙ+�;�]�V$�=+{U���‰�D>�[�G<v�.��mBJ)��4mF��%���FFT�qZ�RnglMR���v߹N��Aul�d�B������u��Y�+G�2q�Ta&��fn��I^���Gw�]��i�*H��8'�N���ݢ��o�K�z�u}{�k0���ȮI'��\�/��Ai����X{�ˇ��}�v�ꩥ�-��I5<�9�8�����x��������A�c'���DZ�Um-
����u�y�H4�s�"�c	��j���a�*��G=�S����z��գA�[MRӆe�Q��%f��(v!q�x�\Da�����{�ʻпϜ{V��wy�jI.�o3ݞ�-�gڴz�ͭ6�U>;�k�jq�I3��8qߧ�]�(M�����,�����q�Y;���
N�_�5���9�|�e
�-��+���x{Vӵv_=��vq����\�g4���׿��Q�$ռn�^ܼ_��N�@��	��y��I%��5=;I�����vu(0V z��'����ϰ{F��0�}�	'����b��/�}�+2��x��9Q�ݱ8h��{�)¥�����z֡��}��M�F�����?l�m強�]r9��;ը�:�?�T�j+nΚuN/trz���Nvk����+�1y{��������na�oYx��M�Ҵ���pPns�'�j]x�L��w�=Τ�K���#?ʵ�G�����G�Ϧ�3��[M���v�<�p�k״$��Kh���ٙo����GA��֢n�m�3��il��\��k�[��p�e�0M��G������
Ꭽ��gP���I�%c�;;7N���J�E�/y]&�*��
��:��u
�W�.#�ʔ'�u^����z��5�0�+���b*0<��<�u�U�8^�kttR��vi�[H��[8���-�H�����c֠� {�ؘ�afc�:V��ر;v<ܶ$&��}´9��_u?Z\[Z�X��Q��q]F�u�.��@�Gq�^��HL<ʦ�����u�Q�m�����j�KMvI���w8��J�@����5Y�+�9z�\N�R����p�zlu��yq��&��;��;t�!��n���3����C�L�$����i��X����zU��KEk�d���+=�I���Gee�d��-a�5-Pl�^��2DHA߷�Uo-�Ev;xl�K�,�9K9���k��O����kH���.��c5|�d�}GF1��뉙��xn��-���)� :q]�5�,����5I"O��|�xҰ�)�V[=�%V���Kakw���?4h�2�qZ {�=9$��;�_���1QR��sP坚�Yg�:��:\ך�I	V�/���]�֠l�	�d偌�?�(�[��j~�nQj6���.|-�[}�O.P��Юr��$
�|s�!b�W�d��Ce�I�d�O�M;.m��Lc*i7�OC�v��I�����/�<��zEu��
�k�i��y 7ӊr�c.f�1��R�/x*{���F�<��7�[K�<6�r���x�<����j⣼uE8�C�3���Ѽ!���H�ې���^����>Z�s�T�²�I;�������2%��yP���<I�Gw�ȟw�'��t�v������Ɯ�s\d�1��ҏz���o�u��S�^�P����ڱ���bI��D0fM��ު�x��)$��|w��ӑ���Kc��F�0gM��8D�a�� �Ԋz���P�Q�mn�K�mnH�"/�����}������`pG���kM�Ի-��x>#hV�yQ���5�j�F�
����~q��zRrK^��x�I��<�\�u��5�u�!`�pk=L��d�Ԧ�������#'o#��,_"[n{��<X���֒[]"��Ч�k����+�
��it�1���(�+��p�F熼E�	��n�m"tt[���c�PxcWFԗO��h�V�	8�Ҽ�D��+^������Y^�Aℼ:c�c��'%߯�^q�][P��m�q{���
�<d��99��vS��彎kr��E�贛(b�mj;�]&�"��8�֤������1�6�O0mb��k[��kS���5��gs=�[�X�_O��y���m�����&�d�V�R�RY�޵I��j��2��·���m�������j}R������o��y7�-��ev]{o�tͦ$����^c�B�{�WL�/��4g��Օ�p��}����)>��M/zR��|?�����̶�PX�������ON�U��"lw���"Kt.X��K���[W�Ԅ	M�bNU�׵r�2��'w$���LֶN7F\�;.����"=[P�Y�WM�Z8�F=����x}�(�Y0��>����]�R����!�mkN�S���c=�$����f�������q�
fb��p}�ֺ��T�'�|�[��7�J���5W�`�lĖU��NݿZ���-��w2�|�m���5M[��*��P��_��R�)�$��卸�Hr+�?��諨�P}��~��z��84�*sS�R����9�/^Io�X�^TC����U��ݥ�ǚ�ݏP)�{�#ڥ��+4J��҇��S���g1L�E '��[���fW`#�[<Wж�)�x>M;S�kmJ�d������Y�V4�ȏA��u#q6�O�<�@$�z�j��oLk}3O�y�E�^Y8V�^(Vv]ʿ��щ�ZB!��mU}�vSIx�I	IH�����d�zu8��g���"�9d>��J����H��e�6��߆+��T�쌣
d��aa�kq��4N[�O,�\{�Z�mGS�����-��K&���D�F+M0su�t�]���.W��:���~���6�z��ep�e(����R���E�,lS��F �⟥���٬9/�������R������:���)"�==�̾,�0ʁEc����(�Ew+	N^��YGsï7	��S'��9*�oԆC�FsA����g�I�|������z�HJ��]	�9'4cp�"�$Mnr{R�l1Mc�R����P����
Ã֥/
8���̄�Zp��M�R��n�^�����&i_���{
��V�<-�C�=ٹ���UF,�Mc=�J�w�0���j�����M"髿"��
�I��PGJ�+3�I3�</�Ni����	~L��V��d�QAd�Ӑ�cƟ�<Y�5��(���k�Yv>j�F������H����H��w��(��S��*��F8��ȨUF;��.TJ�E�%�QU�x��H�RIص|�?
�%�����m�g�۶]ܰ��#�k���U
���zҖ%�N���Z�+ܮ�D�5`�/�SLD�yH��W�Rf}����,x�W0=k6�@rS�XN23���ȧpN���׽e�htk�@Rjk�;�	�O*��
�Yɡ�r�w%��m�`��RX���qS����K�����o�Ç��x$q}��@�������緌�ږܲ��g��8�(�]h̥{�Kdy+M�H�}�8���L��b	lj�-5ݛG�JڣgúM���ƚ���FK\��jƹ��}4�*}��#f$��u�sX��#��8uR{��p��I'u�W<s�-7�מN�x.�h��w���u4�I����*	ſ#��2ZO#��+��u�T��'��[����E�C��[x�K�`��B㍣��޽�l"�\�ۃ�Z��3�OB����ڼ�⧄OCq���@�Z�>�y��zw��m5�j�߷C��3����Z�ig�j���j��n4��ɶ����c�BG�cJw4�+�e��с�k����x���<�*}+���v]}���0/!+��k�X\�$�������8�+��ђ�;uL�{4S�Ƃ8�s�����?��U��W6-���@���|�=ǒ`�w9=���k:}柋+�9�.H�̻X�QX�W��ftTq�Tov�^�Y��n���X������l���, ƴ��")A��k*�^���~��D�^<�'$?����GѴX�O����`����2���Z�Qoќ8��S��8��Ҁ�d�c���F}G�M�h�&�us#O�%=�����–�߃2d������L�k������?:�oX�us}{�]��}�y{���ڹ�c��+
��e̞�AM�]��}�Ž�Յ��Y�'b�ܲ�<+aڶS��Wڜ葴���t�W4/ͮ�s;��h������n�}��;�7	�`�¼�+i����/͎IǠ�����.��
���c5��$�c?$1�1���V?�x���6��qH�`�3��Â3�4�.]Κt��}�u	�4��R�]Cn���LW��p�x�G��o�������d�7�cI�G�?�G5���(ԥ������i%%�FK��t |�0=�w�=S�w���ӫGϽ
��OOA���[�jKC.F�=���Z��{s{<��;������x�U�-t�B�@
�n�q\�S�y>�#�åY�oX�]'�Xe��O�+����rp*�a�W�m"_\no\�QZ�5���1|��U�M�Ye��|��K>O~���̝�"���Z���jIɶ�;���8ٙ=����voλ�	��� ����gf	�y�*�kT�Xy��_�;�W�^���,:�,�NWv�zW#��)���-��99���4����(�u�=6�&�cyz�dG`UG�ޫi����F
F�.���R}1\�/ix��k��VR�Y
Я.��5-I�C"�POP*{_Ksv��yq�v9�}�P��L�\���Q�}��'NI��ЂгW�|B����l��@�<�	��ST�c���䷷/A�
���<��GN3j&�kQ<%#xu�a�޽�Ri�S[�;�<�+���G֗4j;=B�����9!�u�g�嵪隃("gA���j嶋��Bw��ᵋ3�&;�\���:��n���yv:5մ��ky$�Λ�8��~[~�7���ڱs��m�	a��o}�g�3xE�d����Aޱ�����
g�+tM
[fR�W2��0���)���ݍ�Ҧ����V��W��O��W�)X����ۚ�-���Ѥq��1��8��vGW�}��Gh����F\����z��:d��(���,6��q����t��c���ݝ��m��������rt���^��~�cm���e'?�T�)���cR����cj��Vc��_Y�@B�lׁj�����m���<V��k�E>�ux_L�B�fP�Q�Ernrƛ3K�����ů��㴝�k�af����{���.ٿ�n݇�1YT���]��^_
Aǘ���V�7�����Y�yn�l׶���6�%:��x���Kg��V�I��#����Ü+w"�jI$�{Ei�wL��*d�4���m̻�va��lr0H�<�lמ|B���;�o��L
�8�%O|��'ڣ��ju��%̶�ќ^�n�Ư�͓K�	�\��#��W[�h~��d������J~�*�ʞ�=G�$Փ��3������]����t�]_|�m�w�����T"Ѭ�u�OC*\L����$c��	έ:����S�
N..ڍ���1�aC%��Z�4�H\�ޥ�X5�V�ӡ�)�<�2+��I_�C�5=�j�{&kj�>�j���EE����lo�u+�㴇d�BV��|Ǵt?�Q��D�|�'�]
v�A�{���g�3��#�S���+o*��S�
��/���4o���ؘ�3�����g��q�)ym���~�����l��"�����w�B)%M��#��媙�7�(���VI���#��e���+�'T��y������a9F.�cHՊ\��Ȼm�ė_<Z-�`ng���'�g�:�^:�Ͱ{ub���,x8��?Z��-��sh�=�cC������,:<)�V�0#c�O�k8sF搗,��^ �t譭.�l��&'��W4|�M"]KR���@�Z4v����)K�G��JnMr���M�ω��%m<��C��9�R�uK�|2�C���ȁ���֥��̩�4ڌ�4��w��7i
�ƭ4R���� �Q�c�r�n�Io��C��h��Xu�ަR�Ro��{YJ�W�w�l��{v���h�q��:{�a�}�+W]��:��MI<�y�#��h�e�כ�p��I��?�&�.�<�Jo`��$S�2C'A�@s[�e��mF��W���(��Z���}L%	9]���
v
j��m��\����"gr�Cޱ�7A��m�:���-3���B��`��6�8����wҩ�z)5�2J�F̌�r��zW����n��}�Y������ˏ�+�����
$�g�d���OH�\��7�\�ߕX����O���g�����4�K�;�խ����Af�1;����֚�R�U�6�i�O�O;zt�(��_���4���ct�z��VF���o���\�
�w�#�j��L�=��h�#E��+a�wf1�A��\��]��āt�4�9�v�|����SJO�&��z
Ƨ�^ϧI��@$��f��G��H7�)��!��ʰ�����jɵt�eo
x�7/
Ƥd�)"`��=�
�͖��7�:�W��B);tc�ͮ��,��Sۣ�h��T1⼃�
�ֺ��h�DC�Uƕ�~��}u�h�[��L��U�]�*�Zm"O��images/sRGB.icc000064400000015412150470622300007270 0ustar00
lcms0mntrRGB XYZ �
acspMSFTlcms���-lcmsdmndjdesc�hdmdd�hwtptPrXYZdbXYZxgXYZ�rTRC�gTRC
�bTRC�chrm�$cprt�!desclcms generated descsRGBdescsRGBXYZ �=�XYZ o�8��XYZ $����XYZ b����curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m��curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m��curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~���������� -;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn�������		%	:	O	d	y	�	�	�	�	�	�

'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����


&
@
Z
t
�
�
�
�
�.Id����	%A^z����	&Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e���� Ek���*Qw���;c���*R{���Gp���@j���>i���  A l � � �!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�%	%8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�> >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M��� ����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m��chrm��T{L���&f\textno copyright, use freely
039.phpt000064400000000342150470622300005752 0ustar00--TEST--
can get version
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $version = vips_version();

  if (preg_match("/\d+\.\d+\.\d+/", $version)) { 
    echo "pass";
  }
?>
--EXPECT--
pass
010.phpt000064400000000667150470622300005751 0ustar00--TEST--
output int arrays work
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $point = vips_call("black", NULL, 1, 1)["out"];
  $image = vips_call("embed", $point, 10, 20, 100, 100, 
		["extend" => "white"])["out"];

  $result = vips_call("min", $image, 
		["x" => true, "y" => true, "x_array" => true]);
  $x_array = $result["x_array"];

  if ($x_array == [10]) {
	echo "pass";
  }
?>
--EXPECT--
pass
008.phpt000064400000001234150470622300005747 0ustar00--TEST--
input array double args work
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $image = vips_call("black", NULL, 100, 100, ["bands" => 3])["out"];
  $image = vips_call("linear", $image, [1, 1, 1], [255, 128, 0])["out"];
  $pixel = vips_call("crop", $image, 10, 10, 1, 1)["out"];
  $r = vips_call("extract_band", $pixel, 0)["out"];
  $r = vips_call("avg", $r)["out"];
  $g = vips_call("extract_band", $pixel, 1)["out"];
  $g = vips_call("avg", $g)["out"];
  $b = vips_call("extract_band", $pixel, 2)["out"];
  $b = vips_call("avg", $b)["out"];

  if ($r == 255 &&
	$g == 128 &&
	$b == 0) {
	echo "pass";
  }
?>
--EXPECT--
pass
035.phpt000064400000000342150470622300005746 0ustar00--TEST--
can make an interpolator
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $interp = vips_interpolate_new("bicubic");

  if ($interp != null) {
    echo "pass";
  }
?>
--EXPECT--
pass
031.phpt000064400000001506150470622300005745 0ustar00--TEST--
write_to_file can set options
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];
  $output_filename1 = dirname(__FILE__) . "/x.jpg";
  $output_filename2 = dirname(__FILE__) . "/y.jpg";

  vips_image_write_to_file($image, $output_filename1, ["Q" => 20]);
  vips_image_write_to_file($image, $output_filename2, ["Q" => 90]);

  $buffer1 = file_get_contents($output_filename1);
  $buffer2 = file_get_contents($output_filename2);

  if (strlen($buffer1) < strlen($buffer2)) {
	echo "pass";
  }
?>
--EXPECT--
pass
--CLEAN--
<?php
  $output_filename = dirname(__FILE__) . "/x.jpg";
  unlink($output_filename);
  $output_filename = dirname(__FILE__) . "/y.jpg";
  unlink($output_filename);
?>

032.phpt000064400000000551150470622300005745 0ustar00--TEST--
foreign_find_load_buffer works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $buffer = file_get_contents($filename);

  $loader = vips_foreign_find_load_buffer($buffer);

  if ($loader == "VipsForeignLoadJpegBuffer") { 
	echo "pass";
  }
?>
--EXPECT--
pass
040.phpt000064400000001462150470622300005746 0ustar00--TEST--
can get info about cache and concurrency
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php
  $return = vips_cache_get_max_mem();

  if (is_int($return)) {
    echo "pass vips_cache_get_max_mem\n";
  }

  $return = vips_cache_get_max_files();

  if (is_int($return)) {
    echo "pass vips_cache_get_max_files\n";
  }

  $return = vips_cache_get_max();

  if (is_int($return)) {
    echo "pass vips_cache_get_max\n";
  }

  $return = vips_cache_get_size();

  if (is_int($return)) {
    echo "pass vips_cache_get_size\n";
  }

  $return = vips_concurrency_get();

  if (is_int($return)) {
    echo "pass vips_concurrency_get\n";
  }

?>
--EXPECT--
pass vips_cache_get_max_mem
pass vips_cache_get_max_files
pass vips_cache_get_max
pass vips_cache_get_size
pass vips_concurrency_get
041.phpt000064400000001734150470622300005751 0ustar00--TEST--
write_to_array works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $x = vips_image_new_from_file($filename)["out"];
  $bands = vips_image_get($x, "bands")["out"];
  $line = vips_call("crop", $x, 50, 50, 10, 1)["out"];
  $array = vips_image_write_to_array($line);
  # print_r($array);

  if (count($array) == 10 * $bands) {
    echo "pass array_size\n";
  }

  $pixel = vips_call("crop", $x, 50, 50, 1, 1)["out"];
  $r = vips_call("extract_band", $pixel, 0)["out"];
  $r = vips_call("avg", $r)["out"];
  $g = vips_call("extract_band", $pixel, 1)["out"];
  $g = vips_call("avg", $g)["out"];
  $b = vips_call("extract_band", $pixel, 2)["out"];
  $b = vips_call("avg", $b)["out"];
  # echo "r = " . $r . ", g = " . $g . ", b = " . $b . "\n";

  if ($array[0] == $r && $array[1] == $g && $array[2] == $b) {
    echo "pass pixel_value\n";
  }

?>
--EXPECT--
pass array_size
pass pixel_value
013.phpt000064400000001150150470622300005740 0ustar00--TEST--
write_to_buffer works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];
  $output_filename = dirname(__FILE__) . "/x.jpg";

  $buffer1 = vips_image_write_to_buffer($image, ".jpg")["buffer"];

  vips_image_write_to_file($image, $output_filename);
  $buffer2 = file_get_contents($output_filename);

  if ($buffer1 == $buffer2) {
	echo "pass";
  }
?>
--EXPECT--
pass
--CLEAN--
<?php
  $output_filename = dirname(__FILE__) . "/x.jpg";
  unlink($output_filename);
?>

026.phpt000064400000000632150470622300005750 0ustar00--TEST--
can use 2D array as image
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];

  # this will barf horribly if the array constant is not turned into an image
  $sharp = vips_call("conv", $image, [[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]])["out"];
?>
--EXPECT--
011.phpt000064400000000660150470622300005743 0ustar00--TEST--
typeof works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];

  $profile_type = vips_image_get_typeof($image, "icc-profile-data");
  $exif_type = vips_image_get_typeof($image, "exif-data");

  if ($profile_type == 0 &&
	$exif_type != 0) { 
	echo "pass";
  }
?>
--EXPECT--
pass
015.phpt000064400000000536150470622300005751 0ustar00--TEST--
new_from_array sets values correctly
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $image = vips_image_new_from_array([[1, 2, 3], [4, 5, 6]]);

  $pixel = vips_call("crop", $image, 2, 1, 1, 1)["out"];
  $value = vips_call("avg", $pixel)["out"];

  if ($value == 6) {
	echo "pass";
  }
?>
--EXPECT--
pass
009.phpt000064400000001220150470622300005743 0ustar00--TEST--
input array image args work
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];

  $r = vips_call("extract_band", $image, 0)["out"];
  $g = vips_call("extract_band", $image, 1)["out"];
  $b = vips_call("extract_band", $image, 2)["out"];
  $new_image = vips_call("bandjoin", NULL, [$r, $g, $b])["out"];

  $diff = vips_call("subtract", $image, $new_image)["out"];
  $diff = vips_call("abs", $diff)["out"];
  $diff = vips_call("max", $diff)["out"];

  if ($diff == 0) {
	echo "pass";
  }
?>
--EXPECT--
pass
029.phpt000064400000001031150470622300005745 0ustar00--TEST--
can get error messages
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image = vips_image_new_from_file($filename)["out"];

  $rg = vips_call("extract_band", $image, 0, ["n" => 2])["out"];

  # this should error out since it's 2 band image + 3 band image
  $err = vips_call("add", $image, $rg);
  $msg = vips_error_buffer();

  if ($err == -1 &&
    $msg == "add: not one band or 3 bands\n") {
    echo "pass";
  }
?>
--EXPECT--
pass
033.phpt000064400000000461150470622300005746 0ustar00--TEST--
foreign_find_load works
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";

  $loader = vips_foreign_find_load($filename);

  if ($loader == "VipsForeignLoadJpegFile") { 
	echo "pass";
  }
?>
--EXPECT--
pass
034.phpt000064400000000655150470622300005754 0ustar00--TEST--
can copy to memory
--SKIPIF--
<?php if (!extension_loaded("vips")) print "skip"; ?>
--FILE--
<?php 
  $filename = dirname(__FILE__) . "/images/img_0076.jpg";
  $image1 = vips_image_new_from_file($filename)["out"];
  $image2 = vips_image_copy_memory($image1)["out"];

  $avg1 = vips_call("avg", $image1)["out"];
  $avg2 = vips_call("avg", $image2)["out"];

  if ($avg1 == $avg2) {
    echo "pass";
  }
?>
--EXPECT--
pass
005_WKBReader.phpt000064400000017672150533414700007612 0ustar00--TEST--
WKBReader tests
--SKIPIF--
<?php if (!extension_loaded('geos')) { print "geos extension not loaded\n"; exit(1); } ?>
--FILE--
<?php

require dirname(__FILE__).'/TestHelper.php';

class WKBReaderTest extends GEOSTest
{
    public function testValidWKB()
    {
        $reader = new GEOSWKBReader();
        $writer = new GEOSWKTWriter();
        $writer->setRoundingPrecision(1);
        $writer->setOutputDimension(3);
        if (method_exists("GEOSWKTWriter", 'setTrim')) {
            $writer->setTrim(FALSE);
        }

        foreach ($this->providerValidWKB() as $test) {
            list ($wkb, $wkt, $srid) = $test;

            $geometry = $reader->readHEX($wkb);
            $this->assertEquals($wkt, $writer->write($geometry));
            $this->assertEquals($srid, $geometry->getSRID());

            $geometry = $reader->read(hex2bin($wkb));
            $this->assertEquals($wkt, $writer->write($geometry));
            $this->assertEquals($srid, $geometry->getSRID());
        }
    }

    private function providerValidWKB()
    {
        return array(
            array('0101000020e6100000000000000000f03f0000000000000040', 'POINT (1.0 2.0)', 4326),
            array('01010000a0e6100000333333333333f33f3333333333330b406666666666661640', 'POINT Z (1.2 3.4 5.6)', 4326),
            array('0104000000030000000101000000000000000000f03f0000000000000040010100000000000000000008400000000000001040010100000000000000000014400000000000001840', 'MULTIPOINT (1.0 2.0, 3.0 4.0, 5.0 6.0)', 0),
            array('0104000080030000000101000080000000000000f03f00000000000000400000000000000840010100008000000000000010400000000000001440000000000000184001010000800000000000001c4000000000000020400000000000002240', 'MULTIPOINT Z (1.0 2.0 3.0, 4.0 5.0 6.0, 7.0 8.0 9.0)', 0),
            array('01040000207b00000000000000', 'MULTIPOINT EMPTY', 123),
            array('0102000020c801000003000000000000000000f03f00000000000000400000000000000840000000000000104000000000000008400000000000000040', 'LINESTRING (1.0 2.0, 3.0 4.0, 3.0 2.0)', 456),
            array('01020000a0db03000003000000000000000000f03f000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001c4000000000000020400000000000002240', 'LINESTRING Z (1.0 2.0 3.0, 4.0 5.0 6.0, 7.0 8.0 9.0)', 987),
            array('01020000201503000000000000', 'LINESTRING EMPTY', 789),
            array('0105000020d204000002000000010200000002000000000000000000f03f0000000000000000000000000000044000000000000000400102000000020000009a9999999999174000000000000020409a99999999990d40000000000000f03f', 'MULTILINESTRING ((1.0 0.0, 2.5 2.0), (5.9 8.0, 3.7 1.0))', 1234),
            array('01050000a0e110000002000000010200008002000000000000000000f03f0000000000000000000000000000f03f00000000000004400000000000000040000000000000f03f0102000080020000009a99999999991740000000000000204000000000000008409a99999999990d40000000000000f03f0000000000000840', 'MULTILINESTRING Z ((1.0 0.0 1.0, 2.5 2.0 1.0), (5.9 8.0 3.0, 3.7 1.0 3.0))', 4321),
            array('01050000203930000000000000', 'MULTILINESTRING EMPTY', 12345),
            array('0103000020f40100000100000004000000000000000000f03f000000000000f03f000000000000f03f000000000000f83f000000000000f83f000000000000f03f000000000000f03f000000000000f03f', 'POLYGON ((1.0 1.0, 1.0 1.5, 1.5 1.0, 1.0 1.0))', 500),
            array('0103000020f30100000200000005000000000000000000000000000000000000000000000000000000000000000000084000000000000008400000000000000840000000000000084000000000000000000000000000000000000000000000000005000000000000000000f03f000000000000f03f000000000000f03f0000000000000040000000000000004000000000000000400000000000000040000000000000f03f000000000000f03f000000000000f03f', 'POLYGON ((0.0 0.0, 0.0 3.0, 3.0 3.0, 3.0 0.0, 0.0 0.0), (1.0 1.0, 1.0 2.0, 2.0 2.0, 2.0 1.0, 1.0 1.0))', 499),
            array('01030000a06300000001000000040000009a9999999999f13f9a9999999999014000000000000000009a999999999901403333333333331d409a9999999999f13f00000000000021409a999999999901409a9999999999f13f9a9999999999f13f9a999999999901400000000000000000', 'POLYGON Z ((1.1 2.2 0.0, 2.2 7.3 1.1, 8.5 2.2 1.1, 1.1 2.2 0.0))', 99),
            array('01030000200100000000000000', 'POLYGON EMPTY', 1),
            array('0106000020020000000100000001030000000200000005000000000000000000000000000000000000000000000000000000000000000000084000000000000008400000000000000840000000000000084000000000000000000000000000000000000000000000000005000000000000000000f03f000000000000f03f000000000000f03f0000000000000040000000000000004000000000000000400000000000000040000000000000f03f000000000000f03f000000000000f03f', 'MULTIPOLYGON (((0.0 0.0, 0.0 3.0, 3.0 3.0, 3.0 0.0, 0.0 0.0), (1.0 1.0, 1.0 2.0, 2.0 2.0, 2.0 1.0, 1.0 1.0)))', 2),
            array('01060000a003000000010000000103000080020000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000840000000000000000000000000000008400000000000000840000000000000000000000000000008400000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000f03f000000000000f03f9a9999999999f13f000000000000f03f00000000000000409a9999999999f13f000000000000004000000000000000409a9999999999f13f0000000000000040000000000000f03f9a9999999999f13f000000000000f03f000000000000f03f9a9999999999f13f', 'MULTIPOLYGON Z (((0.0 0.0 0.0, 0.0 3.0 0.0, 3.0 3.0 0.0, 3.0 0.0 0.0, 0.0 0.0 0.0), (1.0 1.0 1.1, 1.0 2.0 1.1, 2.0 2.0 1.1, 2.0 1.0 1.1, 1.0 1.0 1.1)))', 3),
            array('01060000200400000000000000', 'MULTIPOLYGON EMPTY', 4),
            array('01070000200f270000060000000101000000000000000000f03f00000000000000400104000000030000000101000000000000000000f03f0000000000000040010100000000000000000008400000000000001040010100000000000000000014400000000000001840010200000003000000000000000000f03f00000000000000400000000000000840000000000000104000000000000008400000000000000040010500000002000000010200000002000000000000000000f03f0000000000000000000000000000044000000000000000400102000000020000009a9999999999174000000000000020409a99999999990d40000000000000f03f01030000000200000005000000000000000000000000000000000000000000000000000000000000000000084000000000000008400000000000000840000000000000084000000000000000000000000000000000000000000000000005000000000000000000f03f000000000000f03f000000000000f03f0000000000000040000000000000004000000000000000400000000000000040000000000000f03f000000000000f03f000000000000f03f01060000000100000001030000000200000005000000000000000000000000000000000000000000000000000000000000000000084000000000000008400000000000000840000000000000084000000000000000000000000000000000000000000000000005000000000000000000f03f000000000000f03f000000000000f03f0000000000000040000000000000004000000000000000400000000000000040000000000000f03f000000000000f03f000000000000f03f', 'GEOMETRYCOLLECTION (POINT (1.0 2.0), MULTIPOINT (1.0 2.0, 3.0 4.0, 5.0 6.0), LINESTRING (1.0 2.0, 3.0 4.0, 3.0 2.0), MULTILINESTRING ((1.0 0.0, 2.5 2.0), (5.9 8.0, 3.7 1.0)), POLYGON ((0.0 0.0, 0.0 3.0, 3.0 3.0, 3.0 0.0, 0.0 0.0), (1.0 1.0, 1.0 2.0, 2.0 2.0, 2.0 1.0, 1.0 1.0)), MULTIPOLYGON (((0.0 0.0, 0.0 3.0, 3.0 3.0, 3.0 0.0, 0.0 0.0), (1.0 1.0, 1.0 2.0, 2.0 2.0, 2.0 1.0, 1.0 1.0))))', 9999),
            array('01070000200903000000000000', 'GEOMETRYCOLLECTION EMPTY', 777),
        );
    }

    public function testBogusWKB()
    {
        $reader = new GEOSWKBReader();

        try {
            $reader->read(hex2bin('1234567890abcdef'));
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('ParseException', $e->getMessage());
        }
    }

    public function testBogusHexWKB()
    {
        $reader = new GEOSWKBReader();

        try {
            $reader->readHEX('1234567890abcdef');
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('ParseException', $e->getMessage());
        }
    }
}

WKBReaderTest::run();

?>
--EXPECT--
WKBReaderTest->testValidWKB	OK
WKBReaderTest->testBogusWKB	OK
WKBReaderTest->testBogusHexWKB	OK
004_WKBWriter.phpt000064400000015447150533414700007661 0ustar00--TEST--
WKBWriter tests
--SKIPIF--
<?php if (!extension_loaded('geos')) { print "geos extension not loaded\n"; exit(1); } ?>
--FILE--
<?php

require dirname(__FILE__).'/TestHelper.php';

class WKBWriterTest extends GEOSTest
{
    public function testWKBWriter__construct()
    {
        $writer = new GEOSWKBWriter();
        $this->assertNotNull($writer);
    }

    public function testWKBWriter_getOutputDimension()
    {
        $writer = new GEOSWKBWriter();
        $this->assertEquals(2, $writer->getOutputDimension());
    }

    public function testWKBWriter_setOutputDimension()
    {
        $writer = new GEOSWKBWriter();
        $writer->setOutputDimension(3);
        $this->assertEquals(3, $writer->getOutputDimension());
        $writer->setOutputDimension(2);
        $this->assertEquals(2, $writer->getOutputDimension());

        # 1 is invalid
        try {
            $writer->setOutputDimension(1);
            $this->assertTrue(FALSE);
        } catch (Exception $e) {
            $this->assertContains('must be 2 or 3', $e->getMessage());
        }

        # 4 is invalid
        try {
            $writer->setOutputDimension(4);
            $this->assertTrue(FALSE);
        } catch (Exception $e) {
            $this->assertContains('must be 2 or 3', $e->getMessage());
        }
    }

    public function testWKBWriter_getsetByteOrder()
    {
        $writer = new GEOSWKBWriter();

        /* Machine-dependent */
        $bo = $writer->getByteOrder();

        $obo = $bo ? 0 : 1;
        $writer->setByteOrder($obo);
        $this->assertEquals($obo, $writer->getByteOrder());

        # Anything different from 0 (BIG_ENDIAN) or 1 (LITTLE_ENDIAN)
        # is invalid
        try {
            $writer->setByteOrder(5);
            $this->assertTrue(FALSE);
        } catch (Exception $e) {
            $this->assertContains('LITTLE (1) or BIG (0)', $e->getMessage());
        }
    }

    public function testWKBWriter_getsetIncludeSRID()
    {
        $writer = new GEOSWKBWriter();

        $this->assertEquals(FALSE, $writer->getIncludeSRID());
        $writer->setIncludeSRID(TRUE);
        $this->assertEquals(TRUE, $writer->getIncludeSRID());
        $writer->setIncludeSRID(FALSE);
        $this->assertEquals(FALSE, $writer->getIncludeSRID());
    }

    /**
     * @dataProvider providerWKBWriter_write
     *
     * @param integer $byteOrder       The byte order: 0 for BIG endian, 1 for LITTLE endian.
     * @param integer $inputDimension  The input dimension: 2 or 3.
     * @param integer $outputDimension The output dimension: 2 or 3.
     * @param boolean $includeSrid     Whether to include the SRID in the output.
     * @param string  $wkb             The expected HEX WKB output.
     */
    public function runWKBWriter_write($byteOrder, $inputDimension, $outputDimension, $includeSrid, $wkb)
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKBWriter();

        $writer->setByteOrder($byteOrder);
        $writer->setOutputDimension($outputDimension);
        $writer->setIncludeSRID($includeSrid);

        if ($inputDimension === 3) {
            $g = $reader->read('POINT(6 7 8)');
            $g->setSRID(53);
        } else {
            $g = $reader->read('POINT(6 7)');
            $g->setSRID(43);
        }

        $this->assertEquals(hex2bin($wkb), $writer->write($g));
        $this->assertEquals($wkb, $writer->writeHEX($g));
    }

    public function testWKBWriter_write()
    {
        // 2D input
        $this->runWKBWriter_write(1, 2, 2, false, '010100000000000000000018400000000000001C40');        // 2D LITTLE endian
        $this->runWKBWriter_write(1, 2, 2, true, '01010000202B00000000000000000018400000000000001C40'); // 2D LITTLE endian + SRID
        $this->runWKBWriter_write(0, 2, 2, false, '00000000014018000000000000401C000000000000');        // 2D BIG endian
        $this->runWKBWriter_write(0, 2, 2, true, '00200000010000002B4018000000000000401C000000000000'); // 2D BIG endian + SRID
        $this->runWKBWriter_write(1, 2, 3, false, '010100000000000000000018400000000000001C40');        // 3D LITTLE endian
        $this->runWKBWriter_write(1, 2, 3, true, '01010000202B00000000000000000018400000000000001C40'); // 3D LITTLE endian + SRID
        $this->runWKBWriter_write(0, 2, 3, false, '00000000014018000000000000401C000000000000');        // 3D BIG endian
        $this->runWKBWriter_write(0, 2, 3, true, '00200000010000002B4018000000000000401C000000000000'); // 3D BIG endian + SRID

        // 3D input
        $this->runWKBWriter_write(1, 3, 2, false, '010100000000000000000018400000000000001C40');                        // 2D LITTLE endian
        $this->runWKBWriter_write(1, 3, 2, true, '01010000203500000000000000000018400000000000001C40');                 // 2D LITTLE endian + SRID
        $this->runWKBWriter_write(0, 3, 2, false, '00000000014018000000000000401C000000000000');                        // 2D BIG endian
        $this->runWKBWriter_write(0, 3, 2, true, '0020000001000000354018000000000000401C000000000000');                 // 2D BIG endian + SRID
        $this->runWKBWriter_write(1, 3, 3, false, '010100008000000000000018400000000000001C400000000000002040');        // 3D LITTLE endian
        $this->runWKBWriter_write(1, 3, 3, true, '01010000A03500000000000000000018400000000000001C400000000000002040'); // 3D LITTLE endian + SRID
        $this->runWKBWriter_write(0, 3, 3, false, '00800000014018000000000000401C0000000000004020000000000000');        // 3D BIG endian
        $this->runWKBWriter_write(0, 3, 3, true, '00A0000001000000354018000000000000401C0000000000004020000000000000'); // 3D BIG endian + SRID
    }

    public function testInvalidWriteThrowsException()
    {
        $writer = new GEOSWKBWriter();

        try {
            $writer->write(1);
            $this->assertTrue(false);
        } catch (ErrorException $e) {
            $this->assertContains('expects parameter 1 to be object, int', $e->getMessage());
        } catch (Error $e) {
            $this->assertContains('Argument #1', $e->getMessage());
        }
    }

    public function testInvalidWriteHEXThrowsException()
    {
        $writer = new GEOSWKBWriter();

        try {
            $writer->writeHEX(1);
            $this->assertTrue(false);
        } catch (ErrorException $e) {
            $this->assertContains('expects parameter 1 to be object, int', $e->getMessage());
        } catch (Error $e) {
            $this->assertContains('Argument #1', $e->getMessage());
	    }
    }
}

WKBWriterTest::run();

?>
--EXPECT--
WKBWriterTest->testWKBWriter__construct	OK
WKBWriterTest->testWKBWriter_getOutputDimension	OK
WKBWriterTest->testWKBWriter_setOutputDimension	OK
WKBWriterTest->testWKBWriter_getsetByteOrder	OK
WKBWriterTest->testWKBWriter_getsetIncludeSRID	OK
WKBWriterTest->testWKBWriter_write	OK
WKBWriterTest->testInvalidWriteThrowsException	OK
WKBWriterTest->testInvalidWriteHEXThrowsException	OK
002_WKTWriter.phpt000064400000014571150533414700007676 0ustar00--TEST--
WKTWriter tests
--SKIPIF--
<?php if (!extension_loaded('geos')) { print "geos extension not loaded\n"; exit(1); } ?>
--FILE--
<?php

require dirname(__FILE__).'/TestHelper.php';

class WKTWriterTest extends GEOSTest
{
    public function testWKTWriter__construct()
    {
        $writer = new GEOSWKTWriter();
        $this->assertNotNull($writer);
    }

    public function testWKTWriter_write()
    {
        $writer = new GEOSWKTWriter();
        $reader = new GEOSWKTReader();

        try {
            $writer->write(1);
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('expects parameter 1', $e->getMessage());
        } catch (Error $e) {
            $this->assertContains('Argument #1', $e->getMessage());
        }

        $g = $reader->read('POINT(6 7)');

        $this->assertEquals('POINT (6.0000000000000000 7.0000000000000000)',
            $writer->write($g));
    }

    public function testWKTWriter_setTrim()
    {
        if (!method_exists("GEOSWKTWriter", 'setTrim')) {
            return;
        }

        $writer = new GEOSWKTWriter();
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(6 7)');
        $this->assertNotNull($g);

        $writer->setTrim(TRUE);
        $this->assertEquals('POINT (6 7)',
            $writer->write($g));

        $writer->setTrim(FALSE);
        $this->assertEquals('POINT (6.0000000000000000 7.0000000000000000)',
            $writer->write($g));

    }

    public function testWKT_roundTrip()
    {
        $r = new GEOSWKTReader();
        $w = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setTrim')) {
            $w->setTrim(TRUE);
        }

        $in[] = 'POINT (0 0)';
        $in[] = 'POINT EMPTY';
        $in[] = 'MULTIPOINT (0 1, 2 3)';
        $in[] = 'MULTIPOINT EMPTY';
        $in[] = 'LINESTRING (0 0, 2 3)';
        $in[] = 'LINESTRING EMPTY';
        $in[] = 'MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))';
        $in[] = 'MULTILINESTRING EMPTY';
        $in[] = 'POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))';
        $in[] = 'POLYGON EMPTY';
        $in[] = 'MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11)))';
        $in[] = 'MULTIPOLYGON EMPTY';
        $in[] = 'GEOMETRYCOLLECTION (MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11))), POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)), MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)), LINESTRING (0 0, 2 3), MULTIPOINT (0 0, 2 3), POINT (9 0))';
        $in[] = 'GEOMETRYCOLLECTION EMPTY';

        foreach ($in as $i) {
            $this->assertEquals($i, $w->write($r->read($i)));
        }

    }

    public function testWKTWriter_setRoundingPrecision()
    {
        if (!method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            return;
        }

        $writer = new GEOSWKTWriter();
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(6.123456 7.123456)');

        $this->assertEquals('POINT (6.1234560000000000 7.1234560000000000)',
            $writer->write($g));

        $writer->setRoundingPrecision(2);
        $this->assertEquals('POINT (6.12 7.12)', $writer->write($g));

        $writer->setRoundingPrecision(5); /* rounds */
        $this->assertEquals('POINT (6.12346 7.12346)', $writer->write($g));

        $writer->setRoundingPrecision(1);
        $this->assertEquals('POINT (6.1 7.1)', $writer->write($g));

        $writer->setRoundingPrecision(0);
        $this->assertEquals('POINT (6 7)', $writer->write($g));

    }

    public function testWKTWriter_getOutputDimension()
    {
        if (!method_exists("GEOSWKTWriter", 'getOutputDimension')) {
            return;
        }

        $writer = new GEOSWKTWriter();
        $this->assertEquals(2, $writer->getOutputDimension());
    }

    public function testWKTWriter_setOutputDimension()
    {
        if (!method_exists("GEOSWKTWriter", 'setOutputDimension')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $g3d = $reader->read('POINT(1 2 3)');
        $g2d = $reader->read('POINT(3 2)');

        $writer = new GEOSWKTWriter();
        $writer->setTrim(TRUE);

        # Only 2d by default
        $this->assertEquals('POINT (1 2)', $writer->write($g3d));

        # 3d if requested _and_ available
        $writer->setOutputDimension(3);
        $this->assertEquals('POINT Z (1 2 3)', $writer->write($g3d));
        $this->assertEquals('POINT (3 2)', $writer->write($g2d));

        # 1 is invalid
        try {
            $writer->setOutputDimension(1);
            $this->assertTrue(FALSE);
        } catch (Exception $e) {
            $this->assertContains('must be 2 or 3', $e->getMessage());
        }

        # 4 is invalid
        try {
            $writer->setOutputDimension(4);
            $this->assertTrue(FALSE);
        } catch (Exception $e) {
            $this->assertContains('must be 2 or 3', $e->getMessage());
        }

    }

    public function testWKTWriter_setOld3D()
    {
        if (!method_exists("GEOSWKTWriter", 'setOld3D')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $g3d = $reader->read('POINT(1 2 3)');

        $writer = new GEOSWKTWriter();
        $writer->setTrim(TRUE);

        # New 3d WKT by default
        $writer->setOutputDimension(3);
        $this->assertEquals('POINT Z (1 2 3)', $writer->write($g3d));

        # Switch to old
        $writer->setOld3D(TRUE);
        $this->assertEquals('POINT (1 2 3)', $writer->write($g3d));

        # Old3d flag is not reset when changing dimensions
        $writer->setOutputDimension(2);
        $this->assertEquals('POINT (1 2)', $writer->write($g3d));
        $writer->setOutputDimension(3);
        $this->assertEquals('POINT (1 2 3)', $writer->write($g3d));

        # Likewise, dimensions spec is not reset when changing old3d flag
        $writer->setOld3D(FALSE);
        $this->assertEquals('POINT Z (1 2 3)', $writer->write($g3d));

    }
}

WKTWriterTest::run();

?>
--EXPECT--
WKTWriterTest->testWKTWriter__construct	OK
WKTWriterTest->testWKTWriter_write	OK
WKTWriterTest->testWKTWriter_setTrim	OK
WKTWriterTest->testWKT_roundTrip	OK
WKTWriterTest->testWKTWriter_setRoundingPrecision	OK
WKTWriterTest->testWKTWriter_getOutputDimension	OK
WKTWriterTest->testWKTWriter_setOutputDimension	OK
WKTWriterTest->testWKTWriter_setOld3D	OK
003_WKTReader.phpt000064400000007645150533414700007631 0ustar00--TEST--
WKTReader tests
--SKIPIF--
<?php if (!extension_loaded('geos')) { print "geos extension not loaded\n"; exit(1); } ?>
--FILE--
<?php

require dirname(__FILE__).'/TestHelper.php';

class WKTReaderTest extends GEOSTest
{
    public function testWKTReader__construct()
    {
        $reader = new GEOSWKTReader();
        $this->assertNotNull($reader);
    }

    public function testWKTReader_read()
    {
        $reader = new GEOSWKTReader();

        /* Good WKT */
        $geom = $reader->read('POINT(0 0)');
        $this->assertNotNull($geom);
        $geom = $reader->read('POINT(0 0 0)');
        $this->assertNotNull($geom);
        $geom = $reader->read('POINT Z (0 0 0)');
        $this->assertNotNull($geom);
        $geom = $reader->read('POINT EMPTY');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTIPOINT(0 0 1, 2 3 4)');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTIPOINT Z (0 0 1, 2 3 4)');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTIPOINT((0 0), (2 3))');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTIPOINT EMPTY');
        $this->assertNotNull($geom);
        $geom = $reader->read('LINESTRING(0 0 1, 2 3 4)');
        $this->assertNotNull($geom);
        $geom = $reader->read('LINESTRING EMPTY');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTILINESTRING((0 0 1, 2 3 4),
                                               (10 10 2, 3 4 5))');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTILINESTRING Z ((0 0 1, 2 3 4),
                                               (10 10 2, 3 4 5))');
        $this->assertNotNull($geom);
        $geom = $reader->read('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertNotNull($geom);
        $geom = $reader->read('POLYGON EMPTY');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTIPOLYGON(
                                ((0 0, 1 0, 1 1, 0 1, 0 0)),
                                ((10 10, 10 14, 14 14, 14 10, 10 10),
                                    (11 11, 11 12, 12 12, 12 11, 11 11))
                               )');
        $this->assertNotNull($geom);
        $geom = $reader->read('MULTIPOLYGON EMPTY');
        $this->assertNotNull($geom);
        $geom = $reader->read('GEOMETRYCOLLECTION(
                MULTIPOLYGON(
                 ((0 0, 1 0, 1 1, 0 1, 0 0)),
                 ((10 10, 10 14, 14 14, 14 10, 10 10),
                  (11 11, 11 12, 12 12, 12 11, 11 11))
                ),
                POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)),
                MULTILINESTRING((0 0, 2 3), (10 10, 3 4)),
                LINESTRING(0 0, 2 3),
                MULTIPOINT(0 0, 2 3),
                POINT(9 0)
        )');
        $this->assertNotNull($geom);
        $geom = $reader->read('GEOMETRYCOLLECTION EMPTY');
        $this->assertNotNull($geom);
    }

    public function testBogusWKT()
    {
        $reader = new GEOSWKTReader();

        /* BOGUS WKT */
        try {
            $reader->read("MULTIDOT(0 1 2 3)");
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('ParseException', $e->getMessage());
        }
    }

    public function testNoArgumentsToRead()
    {
        $reader = new GEOSWKTReader();

        /* BOGUS call (#448) */
        try {
            $reader->read();
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('expects exactly 1 parameter',
                                  $e->getMessage());
        } catch (Error $e) {
            $this->assertContains('expects exactly 1', $e->getMessage());
        }
    }
}

WKTReaderTest::run();

?>
--EXPECT--
WKTReaderTest->testWKTReader__construct	OK
WKTReaderTest->testWKTReader_read	OK
WKTReaderTest->testBogusWKT	OK
WKTReaderTest->testNoArgumentsToRead	OK
000_General.phpt000064400000003041150533414700007375 0ustar00--TEST--
General tests
--SKIPIF--
<?php if (!extension_loaded('geos')) { print "geos extension not loaded\n"; exit(1); } ?>
--FILE--
<?php

require dirname(__FILE__).'/TestHelper.php';

class GeneralTest extends GEOSTest
{
    public function testGEOSVersion()
    {
        $this->assertContains('-CAPI-', GEOSVersion());
    }

    public function testConstants()
    {
        $this->assertEquals(1, GEOSBUF_CAP_ROUND);
        $this->assertEquals(2, GEOSBUF_CAP_FLAT);
        $this->assertEquals(3, GEOSBUF_CAP_SQUARE);

        $this->assertEquals(1, GEOSBUF_JOIN_ROUND);
        $this->assertEquals(2, GEOSBUF_JOIN_MITRE);
        $this->assertEquals(3, GEOSBUF_JOIN_BEVEL);

        $this->assertEquals(0, GEOS_POINT);
        $this->assertEquals(1, GEOS_LINESTRING);
        $this->assertEquals(2, GEOS_LINEARRING);
        $this->assertEquals(3, GEOS_POLYGON);
        $this->assertEquals(4, GEOS_MULTIPOINT);
        $this->assertEquals(5, GEOS_MULTILINESTRING);
        $this->assertEquals(6, GEOS_MULTIPOLYGON);
        $this->assertEquals(7, GEOS_GEOMETRYCOLLECTION);

        $this->assertEquals(1, GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE);

        $this->assertEquals(1, GEOSRELATE_BNR_MOD2);
        $this->assertEquals(1, GEOSRELATE_BNR_OGC);
        $this->assertEquals(2, GEOSRELATE_BNR_ENDPOINT);
        $this->assertEquals(3, GEOSRELATE_BNR_MULTIVALENT_ENDPOINT);
        $this->assertEquals(4, GEOSRELATE_BNR_MONOVALENT_ENDPOINT);
    }
}

GeneralTest::run();

?>
--EXPECT--
GeneralTest->testGEOSVersion	OK
GeneralTest->testConstants	OK
TestHelper.php000064400000015047150533414700007345 0ustar00<?php

# hex2bin for PHP < 5.4
# https://gist.github.com/mcrumley/5672621
if (!function_exists('hex2bin')) {
    function hex2bin($str) {
        $map = array(
            '00'=>"\x00", '10'=>"\x10", '20'=>"\x20", '30'=>"\x30", '40'=>"\x40", '50'=>"\x50", '60'=>"\x60", '70'=>"\x70",
            '01'=>"\x01", '11'=>"\x11", '21'=>"\x21", '31'=>"\x31", '41'=>"\x41", '51'=>"\x51", '61'=>"\x61", '71'=>"\x71",
            '02'=>"\x02", '12'=>"\x12", '22'=>"\x22", '32'=>"\x32", '42'=>"\x42", '52'=>"\x52", '62'=>"\x62", '72'=>"\x72",
            '03'=>"\x03", '13'=>"\x13", '23'=>"\x23", '33'=>"\x33", '43'=>"\x43", '53'=>"\x53", '63'=>"\x63", '73'=>"\x73",
            '04'=>"\x04", '14'=>"\x14", '24'=>"\x24", '34'=>"\x34", '44'=>"\x44", '54'=>"\x54", '64'=>"\x64", '74'=>"\x74",
            '05'=>"\x05", '15'=>"\x15", '25'=>"\x25", '35'=>"\x35", '45'=>"\x45", '55'=>"\x55", '65'=>"\x65", '75'=>"\x75",
            '06'=>"\x06", '16'=>"\x16", '26'=>"\x26", '36'=>"\x36", '46'=>"\x46", '56'=>"\x56", '66'=>"\x66", '76'=>"\x76",
            '07'=>"\x07", '17'=>"\x17", '27'=>"\x27", '37'=>"\x37", '47'=>"\x47", '57'=>"\x57", '67'=>"\x67", '77'=>"\x77",
            '08'=>"\x08", '18'=>"\x18", '28'=>"\x28", '38'=>"\x38", '48'=>"\x48", '58'=>"\x58", '68'=>"\x68", '78'=>"\x78",
            '09'=>"\x09", '19'=>"\x19", '29'=>"\x29", '39'=>"\x39", '49'=>"\x49", '59'=>"\x59", '69'=>"\x69", '79'=>"\x79",
            '0a'=>"\x0a", '1a'=>"\x1a", '2a'=>"\x2a", '3a'=>"\x3a", '4a'=>"\x4a", '5a'=>"\x5a", '6a'=>"\x6a", '7a'=>"\x7a",
            '0b'=>"\x0b", '1b'=>"\x1b", '2b'=>"\x2b", '3b'=>"\x3b", '4b'=>"\x4b", '5b'=>"\x5b", '6b'=>"\x6b", '7b'=>"\x7b",
            '0c'=>"\x0c", '1c'=>"\x1c", '2c'=>"\x2c", '3c'=>"\x3c", '4c'=>"\x4c", '5c'=>"\x5c", '6c'=>"\x6c", '7c'=>"\x7c",
            '0d'=>"\x0d", '1d'=>"\x1d", '2d'=>"\x2d", '3d'=>"\x3d", '4d'=>"\x4d", '5d'=>"\x5d", '6d'=>"\x6d", '7d'=>"\x7d",
            '0e'=>"\x0e", '1e'=>"\x1e", '2e'=>"\x2e", '3e'=>"\x3e", '4e'=>"\x4e", '5e'=>"\x5e", '6e'=>"\x6e", '7e'=>"\x7e",
            '0f'=>"\x0f", '1f'=>"\x1f", '2f'=>"\x2f", '3f'=>"\x3f", '4f'=>"\x4f", '5f'=>"\x5f", '6f'=>"\x6f", '7f'=>"\x7f",

            '80'=>"\x80", '90'=>"\x90", 'a0'=>"\xa0", 'b0'=>"\xb0", 'c0'=>"\xc0", 'd0'=>"\xd0", 'e0'=>"\xe0", 'f0'=>"\xf0",
            '81'=>"\x81", '91'=>"\x91", 'a1'=>"\xa1", 'b1'=>"\xb1", 'c1'=>"\xc1", 'd1'=>"\xd1", 'e1'=>"\xe1", 'f1'=>"\xf1",
            '82'=>"\x82", '92'=>"\x92", 'a2'=>"\xa2", 'b2'=>"\xb2", 'c2'=>"\xc2", 'd2'=>"\xd2", 'e2'=>"\xe2", 'f2'=>"\xf2",
            '83'=>"\x83", '93'=>"\x93", 'a3'=>"\xa3", 'b3'=>"\xb3", 'c3'=>"\xc3", 'd3'=>"\xd3", 'e3'=>"\xe3", 'f3'=>"\xf3",
            '84'=>"\x84", '94'=>"\x94", 'a4'=>"\xa4", 'b4'=>"\xb4", 'c4'=>"\xc4", 'd4'=>"\xd4", 'e4'=>"\xe4", 'f4'=>"\xf4",
            '85'=>"\x85", '95'=>"\x95", 'a5'=>"\xa5", 'b5'=>"\xb5", 'c5'=>"\xc5", 'd5'=>"\xd5", 'e5'=>"\xe5", 'f5'=>"\xf5",
            '86'=>"\x86", '96'=>"\x96", 'a6'=>"\xa6", 'b6'=>"\xb6", 'c6'=>"\xc6", 'd6'=>"\xd6", 'e6'=>"\xe6", 'f6'=>"\xf6",
            '87'=>"\x87", '97'=>"\x97", 'a7'=>"\xa7", 'b7'=>"\xb7", 'c7'=>"\xc7", 'd7'=>"\xd7", 'e7'=>"\xe7", 'f7'=>"\xf7",
            '88'=>"\x88", '98'=>"\x98", 'a8'=>"\xa8", 'b8'=>"\xb8", 'c8'=>"\xc8", 'd8'=>"\xd8", 'e8'=>"\xe8", 'f8'=>"\xf8",
            '89'=>"\x89", '99'=>"\x99", 'a9'=>"\xa9", 'b9'=>"\xb9", 'c9'=>"\xc9", 'd9'=>"\xd9", 'e9'=>"\xe9", 'f9'=>"\xf9",
            '8a'=>"\x8a", '9a'=>"\x9a", 'aa'=>"\xaa", 'ba'=>"\xba", 'ca'=>"\xca", 'da'=>"\xda", 'ea'=>"\xea", 'fa'=>"\xfa",
            '8b'=>"\x8b", '9b'=>"\x9b", 'ab'=>"\xab", 'bb'=>"\xbb", 'cb'=>"\xcb", 'db'=>"\xdb", 'eb'=>"\xeb", 'fb'=>"\xfb",
            '8c'=>"\x8c", '9c'=>"\x9c", 'ac'=>"\xac", 'bc'=>"\xbc", 'cc'=>"\xcc", 'dc'=>"\xdc", 'ec'=>"\xec", 'fc'=>"\xfc",
            '8d'=>"\x8d", '9d'=>"\x9d", 'ad'=>"\xad", 'bd'=>"\xbd", 'cd'=>"\xcd", 'dd'=>"\xdd", 'ed'=>"\xed", 'fd'=>"\xfd",
            '8e'=>"\x8e", '9e'=>"\x9e", 'ae'=>"\xae", 'be'=>"\xbe", 'ce'=>"\xce", 'de'=>"\xde", 'ee'=>"\xee", 'fe'=>"\xfe",
            '8f'=>"\x8f", '9f'=>"\x9f", 'af'=>"\xaf", 'bf'=>"\xbf", 'cf'=>"\xcf", 'df'=>"\xdf", 'ef'=>"\xef", 'ff'=>"\xff",
        );

        $strlen = strlen($str);

        if ($strlen % 2 !== 0) {
            user_error('Hexadecimal input string must have an even length', E_USER_WARNING);
            return false;
        }

        if (strspn($str, '0123456789ABCDEFabcdef') !== $strlen) {
            return false;
        }

        return strtr(strtolower($str), $map);
    }
}

function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");

class GEOSTest
{
    static public function run()
    {
        $instance = new static();

        foreach (get_class_methods($instance) as $method) {
            if (strpos($method, 'test') === 0) {
                $class = get_class($instance);

                try {
                    $instance->$method();
                    print "{$class}->{$method}\tOK" . PHP_EOL;
                } catch (Exception $e) {
                    print "{$class}->{$method}\tERROR:" . PHP_EOL;
                    print $e->getMessage() . "\n";
                    debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
                    throw $e;
                }
            }
        }
    }

    public function assertContains($expected, $actual)
    {
        if (strpos($actual, $expected) === false) {
            throw new Exception("Expected '{$expected}' to contain '{$actual}'.");
        }
    }

    public function assertEquals($expected, $actual)
    {
        if ($actual != $expected) {
            throw new Exception("Expected {$expected} to equal {$actual}.");
        }
    }

    public function assertNull($actual)
    {
        if (!is_null($actual)) {
            throw new Exception("Expected null.");
        }
    }

    public function assertNotNull($actual)
    {
        if (is_null($actual)) {
            throw new Exception("Expected not null.");
        }
    }

    public function assertTrue($expected)
    {
        if ($expected !== true) {
            throw new Exception("Expected true");
        }
    }

    public function assertFalse($expected)
    {
        if ($expected !== false) {
            throw new Exception("Expected false");
        }
    }

    public function assertType($expectedType, $value)
    {
        $validType = false;

        switch ($expectedType) {
            case 'array':
                $validType = is_array($value);
        }

        if (!$validType) {
            throw new Exception("Expected type '{$expectedType}.'");
        }
    }
}
001_Geometry.phpt000064400000166421150533414700007630 0ustar00--TEST--
Geometry tests
--SKIPIF--
<?php if (!extension_loaded('geos')) { print "geos extension not loaded\n"; exit(1); } ?>
--FILE--
<?php

require dirname(__FILE__).'/TestHelper.php';

class GeometryTest extends GEOSTest
{
    public function testGeometry_serialization()
    {
        $reader = new GEOSWKTReader();

        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setTrim')) {
            $writer->setTrim(TRUE);
        }

        if (method_exists("GEOSWKTWriter", 'setOutputDimension')) {
            $writer->setOutputDimension(3);
        }

        $g = $reader->read('POINT(6 7 8)');
        $g->setSRID(54);

        $a = array('geom' => $g, 'name' => 'test geometry');
        $srl = serialize($a);
        $a2 = unserialize($srl);

        $this->assertEquals('POINT Z (6 7 8)', $writer->write($a['geom']));

    }

    public function testGeometry_project()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(1 2)');
        $g2 = $reader->read('POINT(3 4)');

        /* The method only accept lineal geometries */
        try {
            $prj = $g->project($g2);
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('lineal', $e->getMessage());
        }

        $g = $reader->read('LINESTRING(0 0, 10 0)');

        $g2 = $reader->read('POINT(0 0)');
        $prj = $g->project($g2);
        $this->assertEquals(0, $prj);
        $prj = $g->project($g2, TRUE);
        $this->assertEquals(0, $prj);

        $g2 = $reader->read('POINT(10 0)');
        $prj = $g->project($g2);
        $this->assertEquals(10, $prj);
        $prj = $g->project($g2, TRUE);
        $this->assertEquals(1, $prj);

        $g2 = $reader->read('POINT(5 0)');
        $prj = $g->project($g2);
        $this->assertEquals(5, $prj);
        $prj = $g->project($g2, TRUE);
        $this->assertEquals(0.5, $prj);

        $g = $reader->read('MULTILINESTRING((0 0, 10 0),(20 10, 20 20))');

        $g2 = $reader->read('POINT(20 0)');
        $prj = $g->project($g2);
        $this->assertEquals(10, $prj);
        $prj = $g->project($g2, TRUE);
        $this->assertEquals(0.5, $prj);

        $g2 = $reader->read('POINT(20 5)');
        $prj = $g->project($g2);
        $this->assertEquals(10, $prj);
        $prj = $g->project($g2, TRUE);
        $this->assertEquals(0.5, $prj);


    }

    public function testGeometry_interpolate()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setTrim')) {
            $writer->setTrim(TRUE);
        }

        /* The method only accept LineString geometries */
        $g = $reader->read('POINT(1 2)');
        try {
            $prj = $g->interpolate(0);
            $this->assertTrue(FALSE); # this is just to fail if we get here
        } catch (Exception $e) {
            $this->assertContains('LineString', $e->getMessage());
        }

        $g = $reader->read('LINESTRING(0 0, 10 0)');

        $prj = $g->interpolate(0);
        $this->assertNotNull($prj);
        $this->assertEquals('POINT (0 0)', $writer->write($prj));
        $prj = $g->interpolate(0, TRUE);
        $this->assertNotNull($prj);
        $this->assertEquals('POINT (0 0)', $writer->write($prj));

        $prj = $g->interpolate(5);
        $this->assertNotNull($prj);
        $this->assertEquals('POINT (5 0)', $writer->write($prj));
        $prj = $g->interpolate(0.5, TRUE);
        $this->assertNotNull($prj);
        $this->assertEquals('POINT (5 0)', $writer->write($prj));

        /* return closest on longer distance */
        $prj = $g->interpolate(20);
        $this->assertNotNull($prj);
        $this->assertEquals('POINT (10 0)', $writer->write($prj));
        $prj = $g->interpolate(2, TRUE);
        $this->assertNotNull($prj);
        $this->assertEquals('POINT (10 0)', $writer->write($prj));

    }

    public function testGeometry_buffer()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $b = $g->buffer(0);
        $this->assertEquals('POLYGON EMPTY', $writer->write($b));

        $b = $g->buffer(10);
        $this->assertEquals('POLYGON ((10 0, 10 -2, 9 -4, 8 -6, 7 -7, 6 -8, 4 -9, 2 -10, 0 -10, -2 -10, -4 -9, -6 -8, -7 -7, -8 -6, -9 -4, -10 -2, -10 -0, -10 2, -9 4, -8 6, -7 7, -6 8, -4 9, -2 10, -0 10, 2 10, 4 9, 6 8, 7 7, 8 6, 9 4, 10 2, 10 0))', $writer->write($b));

        # One segment per quadrant
        $b = $g->buffer(10, array('quad_segs' => 1));
        $this->assertEquals('POLYGON ((10 0, 0 -10, -10 -0, -0 10, 10 0))', $writer->write($b));

        /* End cap styles */

        $g = $reader->read('LINESTRING(0 0, 100 0)');

        $b = $g->buffer(10, array(
            'quad_segs' => 1,
            'endcap' => GEOSBUF_CAP_ROUND
        ));
        $this->assertEquals('POLYGON ((100 10, 110 0, 100 -10, 0 -10, -10 0, 0 10, 100 10))', $writer->write($b));

        $b = $g->buffer(10, array(
            'quad_segs' => 1,
            'endcap' => GEOSBUF_CAP_FLAT
        ));
        $this->assertEquals('POLYGON ((100 10, 100 -10, 0 -10, 0 10, 100 10))', $writer->write($b));

        $b = $g->buffer(10, array(
            'quad_segs' => 1,
            'endcap' => GEOSBUF_CAP_SQUARE
        ));
        $this->assertEquals('POLYGON ((100 10, 110 10, 110 -10, 0 -10, -10 -10, -10 10, 100 10))', $writer->write($b));

        /* Join styles */

        $g = $reader->read('LINESTRING(0 0, 100 0, 100 100)');

        $b = $g->buffer(10, array(
            'quad_segs' => 2,
            'join' => GEOSBUF_JOIN_ROUND
        ));
        $this->assertEquals('POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 110 0, 107 -7, 100 -10, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))', $writer->write($b));

        $b = $g->buffer(10, array(
            'quad_segs' => 2,
            'join' => GEOSBUF_JOIN_BEVEL
        ));
        $this->assertEquals('POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 110 0, 100 -10, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))', $writer->write($b));

        $b = $g->buffer(10, array(
            'quad_segs' => 2,
            'join' => GEOSBUF_JOIN_MITRE
        ));
        $this->assertEquals('POLYGON ((90 10, 90 100, 93 107, 100 110, 107 107, 110 100, 110 -10, 0 -10, -7 -7, -10 0, -7 7, 0 10, 90 10))', $writer->write($b));

        /* Check that elements of the passed style array are not
         * type-converted (buffer op will need to type-convert
         * internally)
         */
        $ary = array('a' => 1);

        $myStyle = array(
            'quad_segs' => "a string",
            'join' => "1",
            'endcap' => $ary,
            'mitre_limit' => 2 /* an int.. */
        );
        $this->assertEquals('string', gettype($myStyle['quad_segs']));
        $this->assertEquals('string', gettype($myStyle['join']));
        $this->assertEquals('array', gettype($myStyle['endcap']));
        $this->assertEquals('integer', gettype($myStyle['mitre_limit']));
        $b = $g->buffer(10, $myStyle);
        $this->assertEquals('string', gettype($myStyle['quad_segs']));
        $this->assertEquals('string', gettype($myStyle['join']));
        $this->assertEquals('array', gettype($myStyle['endcap']));
        $this->assertEquals('integer', gettype($myStyle['mitre_limit']));

        /* Single-sided buffering */

        $g = $reader->read('LINESTRING(0 0, 100 0)');

        $b = $g->buffer(10, array(
            'single_sided' => true
        ));
        $this->assertEquals('POLYGON ((100 0, 0 0, 0 10, 100 10, 100 0))', $writer->write($b));

        $b = $g->buffer(-10, array(
            'single_sided' => true
        ));
        $this->assertEquals('POLYGON ((0 0, 100 0, 100 -10, 0 -10, 0 0))', $writer->write($b));
    }

    public function testGeometry_offsetCurve()
    {
        if (!method_exists("GEOSGeometry", 'offsetCurve')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        $writer->setRoundingPrecision(0);

        /* Join styles */

        $g = $reader->read('LINESTRING(0 0, 100 0, 100 100)');

        /* left, round join */
        $b = $g->offsetCurve(10, array(
            'quad_segs' => 2,
            'join' => GEOSBUF_JOIN_ROUND
        ));
        $this->assertEquals('LINESTRING (0 10, 90 10, 90 100)', $writer->write($b));

        /* left, bevel join */
        $b = $g->offsetCurve(10, array(
            'quad_segs' => 2,
            'join' => GEOSBUF_JOIN_BEVEL
        ));
        $this->assertEquals('LINESTRING (0 10, 90 10, 90 100)', $writer->write($b));

          /* left, mitre join */
        $b = $g->offsetCurve(10, array(
            'quad_segs' => 2,
            'join' => GEOSBUF_JOIN_MITRE
        ));
        $this->assertEquals('LINESTRING (0 10, 90 10, 90 100)', $writer->write($b));
    }

    public function testGeometry_envelope()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $b = $g->envelope();
        $this->assertEquals('POINT (0 0)', $writer->write($b));

        $g = $reader->read('LINESTRING(0 0, 10 10)');
        $b = $g->envelope();
        $this->assertEquals('POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))', $writer->write($b));
    }

    public function testGeometry_intersection()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        /* POINT - POINT */
        $g = $reader->read('POINT(0 0)');
        $g2 = $reader->read('POINT(0 0)');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'POINT (0 0)', $writer->write($gi));

        /* POINT - LINE */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $g2 = $reader->read('POINT(5 0)');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'POINT (5 0)', $writer->write($gi));

        /* LINE - LINE */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'POINT (5 0)', $writer->write($gi));
        $g2 = $reader->read('LINESTRING(5 0, 20 0)');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'LINESTRING (5 0, 10 0)', $writer->write($gi));

        /* LINE - POLY */
        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'LINESTRING (5 0, 5 10)', $writer->write($gi));
        $g2 = $reader->read('LINESTRING(10 0, 20 0)');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'POINT (10 0)', $writer->write($gi));

        /* POLY - POLY */
        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');
        $gi = $g->intersection($g2);
        $this->assertTrue($gi->equals($reader->read('POLYGON ((10 5, 10 0, 5 0, 5 5, 10 5))')));
        $g2 = $reader->read('POLYGON((10 0, 20 0, 20 -5, 10 -5, 10 0))');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'POINT (10 0)', $writer->write($gi));
        $g2 = $reader->read('POLYGON((8 0, 20 0, 20 -5, 10 -5, 8 0))');
        $gi = $g->intersection($g2);
        $this->assertEquals( 'LINESTRING (8 0, 10 0)', $writer->write($gi));
    }

    public function testGeometry_clipByRect()
    {
        if (!method_exists("GEOSGeometry", 'clipByRect')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();
        $writer->setRoundingPrecision(0);

        /* POINT */
        $g = $reader->read('POINT(0 0)');
        $gi = $g->clipByRect(-1,-1,1,1);
        $this->assertEquals( 'POINT (0 0)', $writer->write($gi));
        $gi = $g->clipByRect(1,1,2,2);
        $this->assertEquals( 'GEOMETRYCOLLECTION EMPTY', $writer->write($gi));

        /* LINE */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $gi = $g->clipByRect(1,-1,2,1);
        $this->assertEquals( 'LINESTRING (1 0, 2 0)', $writer->write($gi));

        /* POLY */
        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $gi = $g->clipByRect(1,1,5,5);
        $this->assertEquals( 'POLYGON ((1 1, 1 5, 5 5, 5 1, 1 1))', $writer->write($gi));
        $gi = $g->clipByRect(-1,-1,5,5);
        $this->assertEquals( 'POLYGON ((0 0, 0 5, 5 5, 5 0, 0 0))', $writer->write($gi));
    }

    public function testGeometry_convexHull()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $b = $g->convexHull();
        $this->assertEquals('POINT (0 0)', $writer->write($b));

        $g = $reader->read('LINESTRING(0 0, 10 10)');
        $b = $g->convexHull();
        $this->assertEquals('LINESTRING (0 0, 10 10)', $writer->write($b));

        $g = $reader->read('POLYGON((0 0, 0 10, 5 5, 10 10, 10 0, 0 0))');
        $b = $g->convexHull();
        $this->assertEquals('POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))', $writer->write($b));
    }

    public function testGeometry_difference()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        /* LINE - POINT */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $g2 = $reader->read('POINT(5 0)');
        $gi = $g->difference($g2);
        $this->assertEquals('LINESTRING (0 0, 10 0)', $writer->write($gi));

        /* POINT - LINE */
        $g = $reader->read('POINT(5 0)');
        $g2 = $reader->read('LINESTRING(0 1, 10 1)');
        $gi = $g->difference($g2);
        $this->assertEquals( 'POINT (5 0)', $writer->write($gi));

        /* LINE - LINE */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $g2 = $reader->read('LINESTRING(5 -10, 5 10)');
        $gi = $g->difference($g2);
        $this->assertEquals( 'MULTILINESTRING ((0 0, 5 0), (5 0, 10 0))', $writer->write($gi));
        $g2 = $reader->read('LINESTRING(5 0, 20 0)');
        $gi = $g->difference($g2);
        $this->assertEquals( 'LINESTRING (0 0, 5 0)', $writer->write($gi));

    }

    public function testGeometry_symdifference()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        /* LINE - POINT */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $g2 = $reader->read('POINT(5 0)');
        $gi = $g->symDifference($g2);
        $this->assertEquals('LINESTRING (0 0, 10 0)', $writer->write($gi));

        /* POINT - LINE */
        $g = $reader->read('POINT(5 0)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
        $gi = $g->symDifference($g2);
        $this->assertEquals( 'LINESTRING (0 0, 10 0)', $writer->write($gi));
        $g2 = $reader->read('LINESTRING(0 1, 10 1)');
        $gi = $g->symDifference($g2);
        $this->assertEquals('GEOMETRYCOLLECTION (POINT (5 0), LINESTRING (0 1, 10 1))', $writer->write($gi));
    }

    public function testGeometry_boundary()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $b = $g->boundary();
        $this->assertEquals('GEOMETRYCOLLECTION EMPTY', $writer->write($b));

        $g = $reader->read('LINESTRING(0 0, 10 10)');
        $b = $g->boundary();
        $this->assertEquals('MULTIPOINT (0 0, 10 10)', $writer->write($b));

        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),( 5 5, 5 6, 6 6, 6 5, 5 5))');
        $b = $g->boundary();
        $this->assertEquals('MULTILINESTRING ((0 0, 10 0, 10 10, 0 10, 0 0), (5 5, 5 6, 6 6, 6 5, 5 5))', $writer->write($b));
    }

    public function testGeometry_union()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        /* POINT - POINT */
        $g = $reader->read('POINT(0 0)');
        $g2 = $reader->read('POINT(0 0)');
        $gi = $g->union($g2);
        $this->assertEquals( 'POINT (0 0)', $writer->write($gi));
        $g2 = $reader->read('POINT(1 0)');
        $gi = $g->union($g2);
        $this->assertEquals( 'MULTIPOINT (0 0, 1 0)', $writer->write($gi));

        /* LINE - POINT */
        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $g2 = $reader->read('POINT(5 0)');
        $gi = $g->union($g2);
        $this->assertEquals('LINESTRING (0 0, 10 0)', $writer->write($gi));

        /* POINT - LINE */
        $g = $reader->read('POINT(5 0)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');
        $gi = $g->union($g2);
        $this->assertEquals( 'LINESTRING (0 0, 10 0)', $writer->write($gi));
        $g2 = $reader->read('LINESTRING(0 1, 10 1)');
        $gi = $g->union($g2);
        $this->assertEquals('GEOMETRYCOLLECTION (POINT (5 0), LINESTRING (0 1, 10 1))', $writer->write($gi));
    }

    public function testGeometry_pointOnSurface()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $b = $g->pointOnSurface();
        $this->assertEquals('POINT (0 0)', $writer->write($b));

        $g = $reader->read('LINESTRING(0 0, 5 5, 10 10)');
        $b = $g->pointOnSurface();
        $this->assertEquals('POINT (5 5)', $writer->write($b));

        $g = $reader->read('POLYGON((0 0, 0 10, 5 5, 10 10, 10 0, 0 0))');
        $b = $g->pointOnSurface();
        $this->assertEquals('POINT (1 8)', $writer->write($b));
    }

    public function testGeometry_centroid()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $b = $g->centroid();
        $this->assertEquals('POINT (0 0)', $writer->write($b));

        $g = $reader->read('LINESTRING(0 0, 10 10)');
        $b = $g->centroid();
        $this->assertEquals('POINT (5 5)', $writer->write($b));

        $g = $reader->read('POLYGON((0 0, 0 10, 5 5, 10 10, 10 0, 0 0))');
        $b = $g->centroid();
        $this->assertEquals('POINT (5 4)', $writer->write($b));
    }

    public function testGeometry_relate()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $g2 = $reader->read('POINT(0 0)');
        $ret = $g->relate($g2);
        $this->assertEquals('0FFFFFFF2', $ret);
        $ret = $g->relate($g2, '0FFFFFFF2');
        $this->assertEquals(TRUE, $ret);
        $ret = $g->relate($g2, '0*******T');
        $this->assertEquals(TRUE, $ret);
        $ret = $g->relate($g2, '0*******1');
        $this->assertEquals(FALSE, $ret);

        $g = $reader->read('POINT(0 0)');
        $g2 = $reader->read('POINT(1 0)');
        $ret = $g->relate($g2);
        $this->assertEquals('FF0FFF0F2', $ret);
        $ret = $g->relate($g2, 'FF0FFF0F2');
        $this->assertEquals(TRUE, $ret);
        $ret = $g->relate($g2, 'F*******2');
        $this->assertEquals(TRUE, $ret);
        $ret = $g->relate($g2, 'T*******2');
        $this->assertEquals(FALSE, $ret);

        $g = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $g2 = $reader->read('POINT(1 0)');
        $ret = $g->relate($g2);
        $this->assertEquals('FF20F1FF2', $ret);
        $ret = $g->relate($g2, 'FF20F1FF2');
        $this->assertEquals(TRUE, $ret);
        $ret = $g->relate($g2, 'F****T**T');
        $this->assertEquals(TRUE, $ret);
        $ret = $g->relate($g2, 'T*******2');
        $this->assertEquals(FALSE, $ret);

    }

    public function testGeometry_relateBoundaryNodeRule()
    {
        if (!method_exists("GEOSGeometry", 'relateBoundaryNodeRule')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('LINESTRING(0 0, 2 4, 5 5, 0 0)');
        $g2 = $reader->read('POINT(0 0)');

        $ret = $g->relateBoundaryNodeRule($g2, GEOSRELATE_BNR_OGC);
        $this->assertEquals('0F1FFFFF2', $ret);

        $ret = $g->relateBoundaryNodeRule($g2, GEOSRELATE_BNR_ENDPOINT);
        $this->assertEquals('FF10FFFF2', $ret);

    }

    public function testGeometry_polygonize()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('GEOMETRYCOLLECTION(
            LINESTRING(0 0, 10 10),
            LINESTRING(185 221, 100 100),
            LINESTRING(185 221, 88 275, 180 316),
            LINESTRING(185 221, 292 281, 180 316),
            LINESTRING(189 98, 83 187, 185 221),
            LINESTRING(189 98, 325 168, 185 221))
            )');

        $g2 = $reader->read('POINT(0 0)');

        $ret = GEOSPolygonize($g);

        $this->assertEquals('array', gettype($ret));
        $this->assertEquals('array', gettype($ret['rings']));
        $this->assertEquals('array', gettype($ret['cut_edges']));
        $this->assertEquals('array', gettype($ret['dangles']));
        $this->assertEquals('array', gettype($ret['invalid_rings']));

        $this->assertEquals(2, count($ret['rings']));
        $this->assertEquals('POLYGON ((185 221, 88 275, 180 316, 292 281, 185 221))', # JTS-confirmed!
            $writer->write($ret['rings'][0]));
        $this->assertEquals('POLYGON ((189 98, 83 187, 185 221, 325 168, 189 98))', # JTS-confirmed !
            $writer->write($ret['rings'][1]));

        $this->assertEquals(0, count($ret['cut_edges']));

        $this->assertEquals(0, count($ret['invalid_rings']));

        /*
         * FIXME: the duplicated dangle (0 0, 10 10) is unexpected
         */

        $this->assertEquals(2, count($ret['dangles']));
        $this->assertEquals('LINESTRING (185 221, 100 100)', # JTS-confirmed !
            $writer->write($ret['dangles'][0]));
        $this->assertEquals('LINESTRING (0 0, 10 10)', # JTS-confirmed !
            $writer->write($ret['dangles'][1]));


        ###########################################################

        $g = $g->union($g2); /* Now make sure linestrings are noded */

        $ret = GEOSPolygonize($g);

        $this->assertEquals('array', gettype($ret));
        $this->assertEquals('array', gettype($ret['rings']));
        $this->assertEquals('array', gettype($ret['cut_edges']));
        $this->assertEquals('array', gettype($ret['dangles']));
        $this->assertEquals('array', gettype($ret['invalid_rings']));

        $this->assertEquals(2, count($ret['dangles']));
        $this->assertEquals('LINESTRING (132 146, 100 100)', $writer->write($ret['dangles'][0]));
        $this->assertEquals('LINESTRING (0 0, 10 10)', $writer->write($ret['dangles'][1]));

        $this->assertEquals(0, count($ret['invalid_rings']));

    // TODO: test a polygonize run with cut lines and invalid_rings

    }

    public function testGeometry_lineMerge()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('MULTILINESTRING(
            (0 0, 10 10),
            (10 10, 10 0),
            (5 0, 10 0),
            (5 -5, 5 0)
            )');

        $ret = GEOSLineMerge($g);

        $this->assertEquals('array', gettype($ret));
        $this->assertEquals('1', count($ret));

        $this->assertEquals('LINESTRING (0 0, 10 10, 10 0, 5 0, 5 -5)', $writer->write($ret[0]));

    }

    public function testGeometry_sharedPaths()
    {
        if (!function_exists('GEOSSharedPaths')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        /* LINE - LINE */
        $g1 = $reader->read('LINESTRING(0 0, 50 0)');
        $g2 = $reader->read('MULTILINESTRING((5 0, 15 0),(40 0, 30 0))');
        $gs = GEOSSharedPaths($g1, $g2);
        $this->assertEquals('GEOMETRYCOLLECTION (MULTILINESTRING ((5 0, 15 0)), MULTILINESTRING ((30 0, 40 0)))', $writer->write($gs));
    }

    public function testGeometry_simplify()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('LINESTRING(0 0, 3 4, 5 10, 10 0, 10 9, 5 11, 0 9)');
        $gs = $g->simplify(2);
        $this->assertEquals( 'LINESTRING (0 0, 5 10, 10 0, 10 9, 0 9)', $writer->write($gs));
        $gs = $g->simplify(2, TRUE);
        $this->assertEquals( 'LINESTRING (0 0, 5 10, 10 0, 10 9, 5 11, 0 9)', $writer->write($gs));
    }

    public function testGeometry_extractUniquePoints()
    {
        if (!method_exists("GEOSGeometry", 'extractUniquePoints')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read(
    'GEOMETRYCOLLECTION (
        MULTIPOLYGON (
            ((0 0, 1 0, 1 1, 0 1, 0 0)),
            ((10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11))
        ),
        POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
        MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
        LINESTRING (0 0, 2 3),
        MULTIPOINT (0 0, 2 3),
        POINT (9 0),
        POINT(1 0)),
        LINESTRING EMPTY
    ');

        $gs = $g->extractUniquePoints();
        if ( ! $gs ) RETURN_NULL(); /* should get an exception before */

        $this->assertEquals('MULTIPOINT (0 0, 1 0, 1 1, 0 1, 10 10, 10 14, 14 14, 14 10, 11 11, 11 12, 12 12, 12 11, 2 3, 3 4, 9 0)', $writer->write($gs));
    }

    public function testGeometry_relationalOps()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g1 = $reader->read('POINT(0 0)');
        $g2 = $reader->read('POINT(0 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) ); /* no bounds, can't touch */
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertTrue( $g1->within($g2) );
        $this->assertTrue( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertTrue( $g1->equals($g2) );
        $this->assertTrue( $g1->equalsExact($g2) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertTrue( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertTrue( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('POINT(0 0)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertTrue( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertFalse( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 10) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertFalse( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertTrue( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('POINT(5 0)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertTrue( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 10) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertFalse( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertTrue( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('LINESTRING(5 -5, 5 5)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertTrue( $g1->crosses($g2) );
        $this->assertFalse( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 1) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertFalse( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertFalse( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('LINESTRING(5 0, 15 0)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertFalse( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertTrue( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 1) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertFalse( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertFalse( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('LINESTRING(0 0, 5 0, 10 0)');
        $g2 = $reader->read('LINESTRING(0 0, 10 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertTrue( $g1->within($g2) );
        $this->assertTrue( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertTrue( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 1) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertTrue( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertTrue( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $g2 = $reader->read('POLYGON((5 -5, 5 5, 15 5, 15 -5, 5 -5))');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertFalse( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertTrue( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 1) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertFalse( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertFalse( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $g2 = $reader->read('POINT(15 15)');

        $this->assertTrue( $g1->disjoint($g2) );
        $this->assertFalse( $g1->touches($g2) );
        $this->assertFalse( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertFalse( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 1) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertFalse( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertFalse( $g1->coveredBy($g2) );
        }

        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))');
        $g2 = $reader->read('POINT(5 0)');

        $this->assertFalse( $g1->disjoint($g2) );
        $this->assertTrue( $g1->touches($g2) );
        $this->assertTrue( $g1->intersects($g2) );
        $this->assertFalse( $g1->crosses($g2) );
        $this->assertFalse( $g1->within($g2) );
        $this->assertFalse( $g1->contains($g2) );
        $this->assertFalse( $g1->overlaps($g2) );
        $this->assertFalse( $g1->equals($g2) );
        $this->assertFalse( $g1->equalsExact($g2, 1) );

        if (method_exists("GEOSGeometry", 'covers')) {
            $this->assertTrue( $g1->covers($g2) );
        }

        if (method_exists("GEOSGeometry", 'coveredBy')) {
            $this->assertFalse( $g1->coveredBy($g2) );
        }

    }

    public function testGeometry_isEmpty()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g1 = $reader->read('POINT(0 0)');
        $this->assertFalse( $g1->isEmpty() );

        $g1 = $reader->read('POINT EMPTY');
        $this->assertTrue( $g1->isEmpty() );

        $g1 = $reader->read('LINESTRING(0 0, 10 0)');
        $this->assertFalse( $g1->isEmpty() );

        $g1 = $reader->read('LINESTRING EMPTY');
        $this->assertTrue( $g1->isEmpty() );

        $g1 = $reader->read('POLYGON((0 0, 10 0, 10 10, 0 0))');
        $this->assertFalse( $g1->isEmpty() );

        $g1 = $reader->read('POLYGON EMPTY');
        $this->assertTrue( $g1->isEmpty() );

        $g1 = $reader->read('GEOMETRYCOLLECTION(POINT(0 0))');
        $this->assertFalse( $g1->isEmpty() );

        $g1 = $reader->read('GEOMETRYCOLLECTION EMPTY');
        $this->assertTrue( $g1->isEmpty() );
    }

    public function testGeometry_checkValidity()
    {
        if (!method_exists("GEOSGeometry", 'checkValidity')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POINT(0 0)');
        $val = $g->checkValidity();
        $this->assertType( 'array', $val );
        $this->assertTrue( $val['valid'] );
        $this->assertFalse( isset($val['reason']) );
        $this->assertFalse( isset($val['location']) );

        $g = $reader->read('POINT(0 NaN)');
        $val = $g->checkValidity();
        $this->assertType( 'array', $val );
        $this->assertFalse( $val['valid'] );
        $this->assertEquals( 'Invalid Coordinate', $val['reason'] );
        $this->assertEquals( 'POINT (0 nan)',
            $writer->write($val['location']) );

        $g = $reader->read(
           'POLYGON((0 0, -10 10, 10 10, 0 0, 4 5, -4 5, 0 0)))'
        );
        $val = $g->checkValidity();
        $this->assertType( 'array', $val );
        $this->assertFalse( $val['valid'] );
        $this->assertEquals( 'Ring Self-intersection', $val['reason'] );
        $this->assertEquals( 'POINT (0 0)',
            $writer->write($val['location']) );

        $g = $reader->read(
           'POLYGON((0 0, -10 10, 10 10, 0 0, 4 5, -4 5, 0 0)))'
        );
        $flags = GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE;
        $val = $g->checkValidity($flags);
        $this->assertType( 'array', $val );
        $this->assertTrue( $val['valid'] );
        $this->assertFalse( isset($val['reason']) );
        $this->assertFalse( isset($val['location']) );
    }

    public function testGeometry_isSimple()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertTrue( $g->isSimple() );

        $g = $reader->read('LINESTRING(0 0, 10 0)');
        $this->assertTrue( $g->isSimple() );

        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 5 -5)');
        $this->assertFalse( $g->isSimple() );
    }

    public function testGeometry_isRing()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertFalse( $g->isRing() );

        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 5 -5)');
        $this->assertFalse( $g->isRing() );

        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 0 0)');
        $this->assertTrue( $g->isRing() );
    }

    public function testGeometry_hasZ()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertFalse( $g->hasZ() );

        $g = $reader->read('POINT(0 0 0)');
        $this->assertTrue( $g->hasZ() );

    }

    public function testGeometry_isClosed()
    {
        if (!method_exists("GEOSGeometry", 'isClosed')) {
            return;
        }

        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        try  {
            $this->assertFalse( $g->isClosed() );
            $this->assertTrue(FALSE);
        } catch (Exception $e) {
            $this->assertContains('LineString', $e->getMessage());
        }

        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 5 -5)');
        $this->assertFalse( $g->isClosed() );

        $g = $reader->read('LINESTRING(0 0, 10 0, 5 5, 0 0)');
        $this->assertTrue( $g->isClosed() );
    }

    public function testGeometry_type()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertEquals('Point', $g->typeName());
        $this->assertEquals(GEOS_POINT, $g->typeId());

        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
        $this->assertEquals('MultiPoint', $g->typeName());
        $this->assertEquals(GEOS_MULTIPOINT, $g->typeId());

        $g = $reader->read('LINESTRING (0 0, 2 3)');
        $this->assertEquals('LineString', $g->typeName());
        $this->assertEquals(GEOS_LINESTRING, $g->typeId());

        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
        $this->assertEquals('MultiLineString', $g->typeName());
        $this->assertEquals(GEOS_MULTILINESTRING, $g->typeId());

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals('Polygon', $g->typeName());
        $this->assertEquals(GEOS_POLYGON, $g->typeId());

        $g = $reader->read('MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11)))');
        $this->assertEquals('MultiPolygon', $g->typeName());
        $this->assertEquals(GEOS_MULTIPOLYGON, $g->typeId());

        $g = $reader->read('GEOMETRYCOLLECTION (MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((10 10, 10 14, 14 14, 14 10, 10 10), (11 11, 11 12, 12 12, 12 11, 11 11))), POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)), MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)), LINESTRING (0 0, 2 3), MULTIPOINT (0 0, 2 3), POINT (9 0))');
        $this->assertEquals('GeometryCollection', $g->typeName());
        $this->assertEquals(GEOS_GEOMETRYCOLLECTION, $g->typeId());
    }

    public function testGeometry_srid()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertEquals(0, $g->getSRID());
        $g->setSRID(2);
        $this->assertEquals(2, $g->getSRID());
    }

    public function testGeometry_numGeometries()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertEquals(1, $g->numGeometries());

        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
        $this->assertEquals(2, $g->numGeometries());

        $g = $reader->read('LINESTRING (0 0, 2 3)');
        $this->assertEquals(1, $g->numGeometries());

        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
        $this->assertEquals(2, $g->numGeometries());

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals(1, $g->numGeometries());

        $g = $reader->read('MULTIPOLYGON (
            ((0 0, 1 0, 1 1, 0 1, 0 0)),
            ((10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11)))');
        $this->assertEquals(2, $g->numGeometries());

        $g = $reader->read('GEOMETRYCOLLECTION (
            MULTIPOLYGON (
                ((0 0, 1 0, 1 1, 0 1, 0 0)),
                ((10 10, 10 14, 14 14, 14 10, 10 10),
                    (11 11, 11 12, 12 12, 12 11, 11 11))
            ),
            POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
            MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
            LINESTRING (0 0, 2 3),
            MULTIPOINT (0 0, 2 3),
            POINT (9 0))');
        $this->assertEquals(6, $g->numGeometries());
    }

    public function testGeometry_geometryN()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $c = $g->geometryN(0);
        $this->assertTrue( $g->equalsExact($c) );

        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
        $this->assertEquals($reader->read('POINT(0 1)'), $g->geometryN(0));
        $this->assertEquals($reader->read('POINT(2 3)'), $g->geometryN(1));

        $c = $g->geometryN(2);
        $this->assertNull( $c );

    }

    public function testGeometry_numInteriorRings()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals(0, $g->numInteriorRings());

        $g = $reader->read('POLYGON (
            (10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11))');
        $this->assertEquals(1, $g->numInteriorRings());

        $g = $reader->read('POLYGON (
            (10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11),
                (13 11, 13 12, 13.5 12, 13.5 11, 13 11))');
        $this->assertEquals(2, $g->numInteriorRings());

        $g = $reader->read('POINT (0 0)');
        try {
            $g->numInteriorRings();
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'Polygon', $e->getMessage() );
        }

    }

    public function testGeometry_numPoints()
    {
        if (!method_exists("GEOSGeometry", 'numPoints')) {
            return;
        }

        $reader = new GEOSWKTReader();

        $g = $reader->read('LINESTRING (0 0, 1 0, 1 1, 0 1)');
        $this->assertEquals(4, $g->numPoints());

        $g = $reader->read('POINT (0 0)');
        try {
            $g->numPoints();
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'LineString', $e->getMessage() );
        }

    }

    public function testGeometry_getXY()
    {
        if (!method_exists("GEOSGeometry", 'getX')) {
            return;
        }

        if (!method_exists("GEOSGeometry", 'getY')) {
            return;
        }

        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT (1 2)');
        $this->assertEquals(1, $g->getX());
        $this->assertEquals(2, $g->getY());

        $g = $reader->read('LINESTRING (0 0, 1 1)');
        try {
            $g->getX();
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'Point', $e->getMessage() );
        }

        try {
            $g->getY();
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'Point', $e->getMessage() );
        }

    }

    public function testGeometry_interiorRingN()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POLYGON (
            (10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11))');
        $r = $g->interiorRingN(0);
        $this->assertEquals('LINEARRING (11 11, 11 12, 12 12, 12 11, 11 11)',
            $writer->write($r) );

        $g = $reader->read('POLYGON (
            (10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11),
                (13 11, 13 12, 13.5 12, 13.5 11, 13 11))');
        $r = $g->interiorRingN(0);
        $this->assertEquals('LINEARRING (11 11, 11 12, 12 12, 12 11, 11 11)',
            $writer->write($r) );
        $r = $g->interiorRingN(1);
        $this->assertEquals('LINEARRING (13 11, 13 12, 14 12, 14 11, 13 11)',
            $writer->write($r) );

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertNull($g->interiorRingN(0));

        $g = $reader->read('POINT (0 0)');
        try {
            $g->interiorRingN(0);
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'Polygon', $e->getMessage() );
        }

    }

    public function testGeometry_exteriorRing()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POLYGON (
            (10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11))');
        $r = $g->exteriorRing();
        $this->assertEquals('LINEARRING (10 10, 10 14, 14 14, 14 10, 10 10)',
            $writer->write($r) );

        $g = $reader->read('POINT (0 0)');
        try {
            $g->exteriorRing(0);
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'Polygon', $e->getMessage() );
        }

    }

    public function testGeometry_numCoordinates()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertEquals(1, $g->numCoordinates());

        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
        $this->assertEquals(2, $g->numCoordinates());

        $g = $reader->read('LINESTRING (0 0, 2 3)');
        $this->assertEquals(2, $g->numCoordinates());

        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
        $this->assertEquals(4, $g->numCoordinates());

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals(5, $g->numCoordinates());

        $g = $reader->read('MULTIPOLYGON (
            ((0 0, 1 0, 1 1, 0 1, 0 0)),
            ((10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11)))');
        $this->assertEquals(15, $g->numCoordinates());

        $g = $reader->read('GEOMETRYCOLLECTION (
            MULTIPOLYGON (
                ((0 0, 1 0, 1 1, 0 1, 0 0)),
                ((10 10, 10 14, 14 14, 14 10, 10 10),
                    (11 11, 11 12, 12 12, 12 11, 11 11))
            ),
            POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
            MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
            LINESTRING (0 0, 2 3),
            MULTIPOINT (0 0, 2 3),
            POINT (9 0))');
        $this->assertEquals(29, $g->numCoordinates());
    }

    public function testGeometry_dimension()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertEquals(0, $g->dimension());

        $g = $reader->read('MULTIPOINT (0 1, 2 3)');
        $this->assertEquals(0, $g->dimension());

        $g = $reader->read('LINESTRING (0 0, 2 3)');
        $this->assertEquals(1, $g->dimension());

        $g = $reader->read('MULTILINESTRING ((0 1, 2 3), (10 10, 3 4))');
        $this->assertEquals(1, $g->dimension());

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals(2, $g->dimension());

        $g = $reader->read('MULTIPOLYGON (
            ((0 0, 1 0, 1 1, 0 1, 0 0)),
            ((10 10, 10 14, 14 14, 14 10, 10 10),
                (11 11, 11 12, 12 12, 12 11, 11 11)))');
        $this->assertEquals(2, $g->dimension());

        $g = $reader->read('GEOMETRYCOLLECTION (
            MULTIPOLYGON (
                ((0 0, 1 0, 1 1, 0 1, 0 0)),
                ((10 10, 10 14, 14 14, 14 10, 10 10),
                    (11 11, 11 12, 12 12, 12 11, 11 11))
            ),
            POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)),
            MULTILINESTRING ((0 0, 2 3), (10 10, 3 4)),
            LINESTRING (0 0, 2 3),
            MULTIPOINT (0 0, 2 3),
            POINT (9 0))');
        $this->assertEquals(2, $g->dimension());
    }

    public function testGeometry_coordinateDimension()
    {
        if (!method_exists("GEOSGeometry", 'coordinateDimension')) {
            return;
        }

        $reader = new GEOSWKTReader();

        $g = $reader->read('POINT(0 0)');
        $this->assertEquals(2, $g->coordinateDimension());

        $g = $reader->read('POINT(0 0 0)');
        $this->assertEquals(3, $g->coordinateDimension());

    }

    public function testGeometry_pointN()
    {
        if (!method_exists("GEOSGeometry", 'pointN')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();
        $writer->setRoundingPrecision(0);

        $g = $reader->read('LINESTRING (10 10, 10 14, 14 14, 14 10)');
        $this->assertEquals('POINT (10 10)', $writer->write($g->pointN(0)) );
        $this->assertEquals('POINT (10 14)', $writer->write($g->pointN(1)) );
        $this->assertEquals('POINT (14 14)', $writer->write($g->pointN(2)) );
        $this->assertEquals('POINT (14 10)', $writer->write($g->pointN(3)) );
        $this->assertNull( $g->pointN(4) );

        $g = $reader->read('LINEARRING (11 11, 11 12, 12 11, 11 11)');
        $this->assertEquals('POINT (11 11)', $writer->write($g->pointN(0)) );
        $this->assertEquals('POINT (11 12)', $writer->write($g->pointN(1)) );
        $this->assertEquals('POINT (12 11)', $writer->write($g->pointN(2)) );
        $this->assertEquals('POINT (11 11)', $writer->write($g->pointN(3)) );

        $g = $reader->read('POINT (0 0)');
        try {
            $g->pointN(0);
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'LineString', $e->getMessage() );
        }

    }

    public function testGeometry_startendPoint()
    {
        if (!method_exists("GEOSGeometry", 'startPoint')) {
            return;
        }

        if (!method_exists("GEOSGeometry", 'endPoint')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('LINESTRING (10 10, 10 14, 14 14, 14 10)');
        $this->assertEquals('POINT (10 10)', $writer->write($g->startPoint()) );
        $this->assertEquals('POINT (14 10)', $writer->write($g->endPoint()) );
        $this->assertNull( $g->pointN(4) );

        $g = $reader->read('LINEARRING (11 11, 11 12, 12 11, 11 11)');
        $this->assertEquals('POINT (11 11)', $writer->write($g->startPoint()) );
        $this->assertEquals('POINT (11 11)', $writer->write($g->endPoint()) );

        $g = $reader->read('POINT (0 0)');
        try {
            $g->pointN(0);
            $this->assertTrue( FALSE );
        } catch (Exception $e) {
            $this->assertContains( 'LineString', $e->getMessage() );
        }

    }

    public function testGeometry_area()
    {
        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();

        if (method_exists("GEOSWKTWriter", 'setRoundingPrecision')) {
            $writer->setRoundingPrecision(0);
        }

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals( 1.0, $g->area() );

        $g = $reader->read('POINT (0 0)');
        $this->assertEquals( 0.0, $g->area() );

        $g = $reader->read('LINESTRING (0 0 , 10 0)');
        $this->assertEquals( 0.0, $g->area() );

    }

    public function testGeometry_length()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');
        $this->assertEquals( 4.0, $g->length() );

        $g = $reader->read('POINT (0 0)');
        $this->assertEquals( 0.0, $g->length() );

        $g = $reader->read('LINESTRING (0 0 , 10 0)');
        $this->assertEquals( 10.0, $g->length() );

    }

    public function testGeometry_distance()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');

        $g2 = $reader->read('POINT(0.5 0.5)');
        $this->assertEquals( 0.0, $g->distance($g2) );

        $g2 = $reader->read('POINT (-1 0)');
        $this->assertEquals( 1.0, $g->distance($g2) );

        $g2 = $reader->read('LINESTRING (3 0 , 10 0)');
        $this->assertEquals( 2.0, $g->distance($g2) );

    }

    public function testGeometry_hausdorffDistance()
    {
        $reader = new GEOSWKTReader();

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');

        $g2 = $reader->read('POINT(0 10)');
        $this->assertEquals( 10.0, round($g->hausdorffDistance($g2)) );

        $g2 = $reader->read('POINT (-1 0)');
        $this->assertEquals( 2.0, round($g->hausdorffDistance($g2)) );

        $g2 = $reader->read('LINESTRING (3 0 , 10 0)');
        $this->assertEquals( 9.0, round($g->hausdorffDistance($g2)) );

    }

    public function testGeometry_delaunayTriangulation()
    {
        if (!method_exists("GEOSGeometry", 'delaunayTriangulation')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();
        $writer->setRoundingPrecision(0);

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');

        $b = $g->delaunayTriangulation();
        $this->assertEquals('GEOMETRYCOLLECTION (POLYGON ((0 1, 0 0, 1 0, 0 1)), POLYGON ((0 1, 1 0, 1 1, 0 1)))', $writer->write($b));

        $b = $g->delaunayTriangulation(0,true);
        $this->assertEquals('MULTILINESTRING ((0 1, 1 1), (0 0, 0 1), (0 0, 1 0), (1 0, 1 1), (0 1, 1 0))', $writer->write($b));

    }

    public function testGeometry_voronoiDiagram()
    {
        if (!method_exists("GEOSGeometry", 'voronoiDiagram')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();
        $writer->setRoundingPrecision(0);

        $g = $reader->read('MULTIPOINT(0 0, 100 0, 100 100, 0 100)');

        $b = $g->voronoiDiagram();
        $this->assertEquals('GEOMETRYCOLLECTION (POLYGON ((50 50, 50 200, 200 200, 200 50, 50 50)), POLYGON ((50 -100, 50 50, 200 50, 200 -100, 50 -100)), POLYGON ((-100 50, -100 200, 50 200, 50 50, -100 50)), POLYGON ((-100 -100, -100 50, 50 50, 50 -100, -100 -100)))', $writer->write($b->normalize()));

        $b = $g->voronoiDiagram(0, 1);
        $this->assertEquals('MULTILINESTRING ((50 50, 200 50), (50 50, 50 200), (50 -100, 50 50), (-100 50, 50 50))', $writer->write($b->normalize()));

        $b = $g->voronoiDiagram(0, 1, $g->buffer(1000));
        $this->assertEquals('MULTILINESTRING ((50 50, 1100 50), (50 50, 50 1100), (50 -1000, 50 50), (-1000 50, 50 50))', $writer->write($b->normalize()));

    }

    public function testGeometry_snapTo()
    {
        if (!method_exists("GEOSGeometry", 'snapTo')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();
        $writer->setTrim(true);

        $g = $reader->read('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))');

        $g2 = $reader->read('POINT(0.1 0)');

        $snapped = $g->snapTo($g2, 0);
        $this->assertEquals('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))', $writer->write($snapped));

        $snapped = $g->snapTo($g2, 0.5);
        $this->assertEquals('POLYGON ((0.1 0, 1 0, 1 1, 0 1, 0.1 0))', $writer->write($snapped));
    }

    public function testGeometry_node()
    {
        if (!method_exists("GEOSGeometry", 'node')) {
            return;
        }

        $reader = new GEOSWKTReader();
        $writer = new GEOSWKTWriter();
        $writer->setTrim(true);

        $g = $reader->read('LINESTRING(0 0, 10 0, 5 -5, 5 5)');

        $noded = $g->node();
        $this->assertEquals('MULTILINESTRING ((0 0, 5 0), (5 0, 10 0, 5 -5, 5 0), (5 0, 5 5))', $writer->write($noded));

    }
}

GeometryTest::run();

?>
--EXPECT--
GeometryTest->testGeometry_serialization	OK
GeometryTest->testGeometry_project	OK
GeometryTest->testGeometry_interpolate	OK
GeometryTest->testGeometry_buffer	OK
GeometryTest->testGeometry_offsetCurve	OK
GeometryTest->testGeometry_envelope	OK
GeometryTest->testGeometry_intersection	OK
GeometryTest->testGeometry_clipByRect	OK
GeometryTest->testGeometry_convexHull	OK
GeometryTest->testGeometry_difference	OK
GeometryTest->testGeometry_symdifference	OK
GeometryTest->testGeometry_boundary	OK
GeometryTest->testGeometry_union	OK
GeometryTest->testGeometry_pointOnSurface	OK
GeometryTest->testGeometry_centroid	OK
GeometryTest->testGeometry_relate	OK
GeometryTest->testGeometry_relateBoundaryNodeRule	OK
GeometryTest->testGeometry_polygonize	OK
GeometryTest->testGeometry_lineMerge	OK
GeometryTest->testGeometry_sharedPaths	OK
GeometryTest->testGeometry_simplify	OK
GeometryTest->testGeometry_extractUniquePoints	OK
GeometryTest->testGeometry_relationalOps	OK
GeometryTest->testGeometry_isEmpty	OK
GeometryTest->testGeometry_checkValidity	OK
GeometryTest->testGeometry_isSimple	OK
GeometryTest->testGeometry_isRing	OK
GeometryTest->testGeometry_hasZ	OK
GeometryTest->testGeometry_isClosed	OK
GeometryTest->testGeometry_type	OK
GeometryTest->testGeometry_srid	OK
GeometryTest->testGeometry_numGeometries	OK
GeometryTest->testGeometry_geometryN	OK
GeometryTest->testGeometry_numInteriorRings	OK
GeometryTest->testGeometry_numPoints	OK
GeometryTest->testGeometry_getXY	OK
GeometryTest->testGeometry_interiorRingN	OK
GeometryTest->testGeometry_exteriorRing	OK
GeometryTest->testGeometry_numCoordinates	OK
GeometryTest->testGeometry_dimension	OK
GeometryTest->testGeometry_coordinateDimension	OK
GeometryTest->testGeometry_pointN	OK
GeometryTest->testGeometry_startendPoint	OK
GeometryTest->testGeometry_area	OK
GeometryTest->testGeometry_length	OK
GeometryTest->testGeometry_distance	OK
GeometryTest->testGeometry_hausdorffDistance	OK
GeometryTest->testGeometry_delaunayTriangulation	OK
GeometryTest->testGeometry_voronoiDiagram	OK
GeometryTest->testGeometry_snapTo	OK
GeometryTest->testGeometry_node	OK
apc_023.phpt000064400000002234150540263440006574 0ustar00--TEST--
Serialization edge cases
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

echo "GLOBALS:\n";
$foo = 1;
apcu_store("key", $GLOBALS);
$globals = apcu_fetch("key");
var_dump($globals['foo']);

echo "Object referential identity:\n";
$obj = new stdClass;
$obj2 = new stdClass;
$obj2->obj = $obj;
$ary = [$obj, $obj2];
apcu_store("key", $ary);
// $obj and $obj2->obj should have the same ID
var_dump(apcu_fetch("key"));

echo "Array next free element:\n";
$ary = [0, 1];
unset($ary[1]);
apcu_store("key", $ary);
$ary = apcu_fetch("key");
// This should use key 1 rather than 2, as
// nextFreeElement should not be preserved (serialization does not)
$ary[] = 1;
var_dump($ary);

echo "Resources:\n";
apcu_store("key", fopen(__FILE__, "r"));

?>
--EXPECTF--
GLOBALS:
int(1)
Object referential identity:
array(2) {
  [0]=>
  object(stdClass)#3 (0) {
  }
  [1]=>
  object(stdClass)#4 (1) {
    ["obj"]=>
    object(stdClass)#3 (0) {
    }
  }
}
Array next free element:
array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
Resources:

Warning: apcu_store(): Cannot store resources in apcu cache in %s on line %d
apc_011.phpt000064400000000574150540263440006576 0ustar00--TEST--
APC: apcu_fetch resets array pointers
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$items = array('bar', 'baz');

apcu_store('test', $items);

$back = apcu_fetch('test');

var_dump(current($back));
var_dump(current($back));

?>
===DONE===
--EXPECT--
string(3) "bar"
string(3) "bar"
===DONE===
apc_005c.phpt000064400000001440150540263440006735 0ustar00--TEST--
APC: apcu_store/fetch with arrays with two object references
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$o = new stdClass();
$foo = array(&$o, &$o);

var_dump($foo);

apcu_store('foo',$foo);

$bar = apcu_fetch('foo');
var_dump($foo);
// $bar[0] should be a reference to $bar[1].
var_dump($bar);
$bar[0] = 'roh';
var_dump($bar);
?>
===DONE===
--EXPECT--
array(2) {
  [0]=>
  &object(stdClass)#1 (0) {
  }
  [1]=>
  &object(stdClass)#1 (0) {
  }
}
array(2) {
  [0]=>
  &object(stdClass)#1 (0) {
  }
  [1]=>
  &object(stdClass)#1 (0) {
  }
}
array(2) {
  [0]=>
  &object(stdClass)#2 (0) {
  }
  [1]=>
  &object(stdClass)#2 (0) {
  }
}
array(2) {
  [0]=>
  &string(3) "roh"
  [1]=>
  &string(3) "roh"
}
===DONE===
ghbug335.phpt000064400000001241150540263440006771 0ustar00--TEST--
GH Bug #335: APCu stampede protection is broken
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (!extension_loaded('pcntl')) {
  die('skip pcntl required');
}
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.slam_defense=1
--FILE--
<?php

// Reset slam detection.
apcu_store("foo", "parent");

$pid = pcntl_fork();
if ($pid) {
    // parent
    pcntl_wait($status);
} else {
    // child
    $ret = apcu_store("foo", "child");
    if ($ret === false) {
        echo "Stampede protection works\n";
    } else {
        echo "Stampede protection doesn't work\n";
    }
    exit(0);
}

?>
--EXPECT--
Stampede protection works
ghbug185.phpt000064400000002174150540263440007002 0ustar00--TEST--
APC: GH Bug #185 memory corruption
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

class MyApc
{
    private $counterName = 'counter';

    public function setCounterName($value)
    {
        $this->counterName = $value;
    }

    public function getCounters($name)
    {
        $rex = '/^' . preg_quote($name) . '\./';
        $counters = array();

        foreach (new \APCuIterator($rex) as $counter) {
            $counters[$counter['key']] = $counter['value'];
        }

        return $counters;
    }

    public function add($key, $data, $ttl = 0)
    {
        $ret =  apcu_store($key, $data, $ttl);

        if (true !== $ret) {
            throw new \UnexpectedValueException("apc_store call failed");
        }

        return $ret;
    }
}

$myapc = new MyApc();

var_dump($counterName = uniqid());
var_dump($myapc->setCounterName($counterName));
var_dump($myapc->add($counterName.'.test', 1));
var_dump($results = $myapc->getCounters($counterName));
?>
Done
--EXPECTF--
string(%d) "%s"
NULL
bool(true)
array(1) {
  ["%s.test"]=>
  int(1)
}
Done
apc_010.phpt000064400000002462150540263440006573 0ustar00--TEST--
APC: apcu_store/fetch/add with array of key/value pairs.
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$entries = array();
$entries['key1'] = 'value1';
$entries['key2'] = 'value2';
$entries['key3'] = array('value3a','value3b');
$entries['key4'] = 4;

var_dump(apcu_store($entries));
$cached_values = apcu_fetch(array_keys($entries));
var_dump($cached_values);

apcu_delete('key2');
apcu_delete('key4');
$cached_values = apcu_fetch(array_keys($entries));
var_dump($cached_values);
var_dump(apcu_add($entries));
$cached_values = apcu_fetch(array_keys($entries));
var_dump($cached_values);

?>
===DONE===
--EXPECT--
array(0) {
}
array(4) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
  ["key3"]=>
  array(2) {
    [0]=>
    string(7) "value3a"
    [1]=>
    string(7) "value3b"
  }
  ["key4"]=>
  int(4)
}
array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  array(2) {
    [0]=>
    string(7) "value3a"
    [1]=>
    string(7) "value3b"
  }
}
array(2) {
  ["key1"]=>
  int(-1)
  ["key3"]=>
  int(-1)
}
array(4) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
  ["key3"]=>
  array(2) {
    [0]=>
    string(7) "value3a"
    [1]=>
    string(7) "value3b"
  }
  ["key4"]=>
  int(4)
}
===DONE===
apc_013_exists.phpt000064400000000627150540263440010176 0ustar00--TEST--
APC: apcu_exists
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$kyes = "testkey";
$kno  = "keytest";
apcu_store($kyes, 1);
var_dump(apcu_exists($kyes));
var_dump(apcu_exists($kno));
var_dump(apcu_exists([$kyes, $kno]));
?>
===DONE===
--EXPECT--
bool(true)
bool(false)
array(1) {
  ["testkey"]=>
  bool(true)
}
===DONE===
apc_002.phpt000064400000000741150540263440006572 0ustar00--TEST--
APC: apcu_store/fetch with objects
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

#[AllowDynamicProperties]
class foo { }
$foo = new foo;
var_dump($foo);
apcu_store('foo',$foo);
unset($foo);
$bar = apcu_fetch('foo');
var_dump($bar);
$bar->a = true;
var_dump($bar);

?>
===DONE===
--EXPECTF--
object(foo)#%d (0) {
}
object(foo)#%d (0) {
}
object(foo)#%d (1) {
  ["a"]=>
  bool(true)
}
===DONE===
get_included_files_inc3.inc000064400000000127150540263440011766 0ustar00<?php
/* dummy include*/
include(dirname(__FILE__)."/get_included_files_inc1.inc");
?>
apc_store_reference.phpt000064400000001173150540263440011443 0ustar00--TEST--
The outermost value should always be a value, not a reference
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=default
--SKIPIF--
<?php if (PHP_VERSION_ID >= 80000) die('skip Requires PHP < 8.0.0'); ?>
--FILE--
<?php

/* The output is different for the php serializer, because it does not replicate the
 * cycle involving the top-level value. Instead the cycle is placed one level lower.
 * I believe this is a bug in the php serializer. */

$value = [&$value];
apcu_store(["key" => &$value]);
$result = apcu_fetch("key");
var_dump($result);

?>
--EXPECT--
array(1) {
  [0]=>
  array(1) {
    [0]=>
    *RECURSION*
  }
}
iterator_006.phpt000064400000041031150540263440007661 0ustar00--TEST--
APC: APCIterator formats 
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.user_entries_hint=4096
--FILE--
<?php
$formats = array( 
                  APC_ITER_KEY,
                  APC_ITER_VALUE,
                  APC_ITER_NUM_HITS,
                  APC_ITER_MTIME,
                  APC_ITER_CTIME,
                  APC_ITER_DTIME,
                  APC_ITER_ATIME,
                  APC_ITER_REFCOUNT,
                  APC_ITER_MEM_SIZE,
                  APC_ITER_TTL,
                  APC_ITER_NONE,
                  APC_ITER_ALL & ~APC_ITER_TYPE,
                  APC_ITER_ALL & ~APC_ITER_TTL & ~APC_ITER_TYPE,
                  APC_ITER_KEY | APC_ITER_NUM_HITS | APC_ITER_MEM_SIZE,
                );

$it_array = array();

foreach ($formats as $idx => $format) {
	$it_array[$idx] = new APCuIterator(NULL, $format);
}

for($i = 0; $i < 11; $i++) {
  apcu_store("key$i", "value$i");
}

foreach ($it_array as $idx => $it) {
  print_it($it, $idx);
}

function print_it($it, $idx) {
  echo "IT #$idx\n";
  echo "============================\n";
  foreach ($it as $key=>$value) {
    var_dump($key);
    var_dump($value);
  }
  echo "============================\n\n";
}

?>
===DONE===
--EXPECTF--
IT #0
============================
string(4) "key0"
array(1) {
  ["key"]=>
  string(4) "key0"
}
string(4) "key1"
array(1) {
  ["key"]=>
  string(4) "key1"
}
string(4) "key2"
array(1) {
  ["key"]=>
  string(4) "key2"
}
string(4) "key3"
array(1) {
  ["key"]=>
  string(4) "key3"
}
string(4) "key4"
array(1) {
  ["key"]=>
  string(4) "key4"
}
string(4) "key5"
array(1) {
  ["key"]=>
  string(4) "key5"
}
string(4) "key6"
array(1) {
  ["key"]=>
  string(4) "key6"
}
string(4) "key7"
array(1) {
  ["key"]=>
  string(4) "key7"
}
string(4) "key8"
array(1) {
  ["key"]=>
  string(4) "key8"
}
string(4) "key9"
array(1) {
  ["key"]=>
  string(4) "key9"
}
string(5) "key10"
array(1) {
  ["key"]=>
  string(5) "key10"
}
============================

IT #1
============================
string(4) "key0"
array(1) {
  ["value"]=>
  string(6) "value0"
}
string(4) "key1"
array(1) {
  ["value"]=>
  string(6) "value1"
}
string(4) "key2"
array(1) {
  ["value"]=>
  string(6) "value2"
}
string(4) "key3"
array(1) {
  ["value"]=>
  string(6) "value3"
}
string(4) "key4"
array(1) {
  ["value"]=>
  string(6) "value4"
}
string(4) "key5"
array(1) {
  ["value"]=>
  string(6) "value5"
}
string(4) "key6"
array(1) {
  ["value"]=>
  string(6) "value6"
}
string(4) "key7"
array(1) {
  ["value"]=>
  string(6) "value7"
}
string(4) "key8"
array(1) {
  ["value"]=>
  string(6) "value8"
}
string(4) "key9"
array(1) {
  ["value"]=>
  string(6) "value9"
}
string(5) "key10"
array(1) {
  ["value"]=>
  string(7) "value10"
}
============================

IT #2
============================
string(4) "key0"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key1"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key2"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key3"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key4"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key5"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key6"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key7"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key8"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(4) "key9"
array(1) {
  ["num_hits"]=>
  int(0)
}
string(5) "key10"
array(1) {
  ["num_hits"]=>
  int(0)
}
============================

IT #3
============================
string(4) "key0"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key1"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key2"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key3"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key4"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key5"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key6"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key7"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key8"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(4) "key9"
array(1) {
  ["mtime"]=>
  int(%d)
}
string(5) "key10"
array(1) {
  ["mtime"]=>
  int(%d)
}
============================

IT #4
============================
string(4) "key0"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key1"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key2"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key3"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key4"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key5"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key6"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key7"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key8"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(4) "key9"
array(1) {
  ["creation_time"]=>
  int(%d)
}
string(5) "key10"
array(1) {
  ["creation_time"]=>
  int(%d)
}
============================

IT #5
============================
string(4) "key0"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key1"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key2"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key3"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key4"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key5"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key6"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key7"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key8"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(4) "key9"
array(1) {
  ["deletion_time"]=>
  int(0)
}
string(5) "key10"
array(1) {
  ["deletion_time"]=>
  int(0)
}
============================

IT #6
============================
string(4) "key0"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key1"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key2"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key3"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key4"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key5"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key6"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key7"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key8"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(4) "key9"
array(1) {
  ["access_time"]=>
  int(%d)
}
string(5) "key10"
array(1) {
  ["access_time"]=>
  int(%d)
}
============================

IT #7
============================
string(4) "key0"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key1"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key2"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key3"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key4"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key5"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key6"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key7"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key8"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(4) "key9"
array(1) {
  ["ref_count"]=>
  int(0)
}
string(5) "key10"
array(1) {
  ["ref_count"]=>
  int(0)
}
============================

IT #8
============================
string(4) "key0"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key1"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key2"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key3"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key4"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key5"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key6"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key7"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key8"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(4) "key9"
array(1) {
  ["mem_size"]=>
  int(%d)
}
string(5) "key10"
array(1) {
  ["mem_size"]=>
  int(%d)
}
============================

IT #9
============================
string(4) "key0"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key1"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key2"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key3"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key4"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key5"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key6"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key7"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key8"
array(1) {
  ["ttl"]=>
  int(0)
}
string(4) "key9"
array(1) {
  ["ttl"]=>
  int(0)
}
string(5) "key10"
array(1) {
  ["ttl"]=>
  int(0)
}
============================

IT #10
============================
string(4) "key0"
array(0) {
}
string(4) "key1"
array(0) {
}
string(4) "key2"
array(0) {
}
string(4) "key3"
array(0) {
}
string(4) "key4"
array(0) {
}
string(4) "key5"
array(0) {
}
string(4) "key6"
array(0) {
}
string(4) "key7"
array(0) {
}
string(4) "key8"
array(0) {
}
string(4) "key9"
array(0) {
}
string(5) "key10"
array(0) {
}
============================

IT #11
============================
string(4) "key0"
array(10) {
  ["key"]=>
  string(4) "key0"
  ["value"]=>
  string(6) "value0"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key1"
array(10) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key2"
array(10) {
  ["key"]=>
  string(4) "key2"
  ["value"]=>
  string(6) "value2"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key3"
array(10) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key4"
array(10) {
  ["key"]=>
  string(4) "key4"
  ["value"]=>
  string(6) "value4"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key5"
array(10) {
  ["key"]=>
  string(4) "key5"
  ["value"]=>
  string(6) "value5"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key6"
array(10) {
  ["key"]=>
  string(4) "key6"
  ["value"]=>
  string(6) "value6"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key7"
array(10) {
  ["key"]=>
  string(4) "key7"
  ["value"]=>
  string(6) "value7"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key8"
array(10) {
  ["key"]=>
  string(4) "key8"
  ["value"]=>
  string(6) "value8"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(4) "key9"
array(10) {
  ["key"]=>
  string(4) "key9"
  ["value"]=>
  string(6) "value9"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
string(5) "key10"
array(10) {
  ["key"]=>
  string(5) "key10"
  ["value"]=>
  string(7) "value10"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
  ["ttl"]=>
  int(0)
}
============================

IT #12
============================
string(4) "key0"
array(9) {
  ["key"]=>
  string(4) "key0"
  ["value"]=>
  string(6) "value0"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key1"
array(9) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key2"
array(9) {
  ["key"]=>
  string(4) "key2"
  ["value"]=>
  string(6) "value2"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key3"
array(9) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key4"
array(9) {
  ["key"]=>
  string(4) "key4"
  ["value"]=>
  string(6) "value4"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key5"
array(9) {
  ["key"]=>
  string(4) "key5"
  ["value"]=>
  string(6) "value5"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key6"
array(9) {
  ["key"]=>
  string(4) "key6"
  ["value"]=>
  string(6) "value6"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key7"
array(9) {
  ["key"]=>
  string(4) "key7"
  ["value"]=>
  string(6) "value7"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key8"
array(9) {
  ["key"]=>
  string(4) "key8"
  ["value"]=>
  string(6) "value8"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key9"
array(9) {
  ["key"]=>
  string(4) "key9"
  ["value"]=>
  string(6) "value9"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(5) "key10"
array(9) {
  ["key"]=>
  string(5) "key10"
  ["value"]=>
  string(7) "value10"
  ["num_hits"]=>
  int(0)
  ["mtime"]=>
  int(%d)
  ["creation_time"]=>
  int(%d)
  ["deletion_time"]=>
  int(0)
  ["access_time"]=>
  int(%d)
  ["ref_count"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
============================

IT #13
============================
string(4) "key0"
array(3) {
  ["key"]=>
  string(4) "key0"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key1"
array(3) {
  ["key"]=>
  string(4) "key1"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key2"
array(3) {
  ["key"]=>
  string(4) "key2"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key3"
array(3) {
  ["key"]=>
  string(4) "key3"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key4"
array(3) {
  ["key"]=>
  string(4) "key4"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key5"
array(3) {
  ["key"]=>
  string(4) "key5"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key6"
array(3) {
  ["key"]=>
  string(4) "key6"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key7"
array(3) {
  ["key"]=>
  string(4) "key7"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key8"
array(3) {
  ["key"]=>
  string(4) "key8"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(4) "key9"
array(3) {
  ["key"]=>
  string(4) "key9"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
string(5) "key10"
array(3) {
  ["key"]=>
  string(5) "key10"
  ["num_hits"]=>
  int(0)
  ["mem_size"]=>
  int(%d)
}
============================

===DONE===
iterator_010.phpt000064400000001656150540263440007665 0ustar00--TEST--
APC: APCIterator shows entries older than global TTL
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (!function_exists('apcu_inc_request_time')) die('skip APC debug build required');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.ttl=1
--FILE--
<?php

function printInfo() {
    $it = new APCuIterator();
    $keys = array_keys(iterator_to_array($it));
    sort($keys);
    var_dump($keys);
    echo "Total: {$it->getTotalCount()}\n\n";
}

apcu_store("no_ttl", "a");
apcu_store("ttl", "a", 3);

echo "Initial state:\n";
printInfo();

echo "T+2:\n";
apcu_inc_request_time(2);
printInfo();

echo "T+4:\n";
apcu_inc_request_time(2);
printInfo();

?>
--EXPECT--
Initial state:
array(2) {
  [0]=>
  string(6) "no_ttl"
  [1]=>
  string(3) "ttl"
}
Total: 2

T+2:
array(2) {
  [0]=>
  string(6) "no_ttl"
  [1]=>
  string(3) "ttl"
}
Total: 2

T+4:
array(1) {
  [0]=>
  string(6) "no_ttl"
}
Total: 1
apc_inc_perf.phpt000064400000001044150540263440010053 0ustar00--TEST--
APC: apcu_inc/apcu_dec performance test (gh#164)
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
apcu_store('foobar', 1);
$t = microtime(true);
var_dump(apcu_inc('foobar', 0x76543210));
var_dump(apcu_dec('foobar', 0x76543210));
var_dump(apcu_dec('foobar', -999999999));
var_dump(apcu_inc('foobar', -999999999));
$t = microtime(true) - $t;
var_dump($t < 0.1 ? true : $t);
?>
===DONE===
--EXPECT--
int(1985229329)
int(1)
int(1000000000)
int(1)
bool(true)
===DONE===
bad/abc.data000064400000000011150540263440006645 0ustar00s:3:"123
apc_004.phpt000064400000001216150540263440006572 0ustar00--TEST--
APC: apcu_store/fetch with bools
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$foo = false;
var_dump($foo);     /* false */
apcu_store('foo',$foo);
//$success = "some string";

$bar = apcu_fetch('foo', $success);
var_dump($foo);     /* false */
var_dump($bar);     /* false */
var_dump($success); /* true  */

$bar = apcu_fetch('not foo', $success);
var_dump($foo);     /* false */
var_dump($bar);     /* false */
var_dump($success); /* false */

?>
===DONE===
--EXPECT--
bool(false)
bool(false)
bool(false)
bool(true)
bool(false)
bool(false)
bool(false)
===DONE===
apc_006_php81.phpt000064400000002403150540263440007613 0ustar00--TEST--
APC: apcu_store/fetch reference test
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (PHP_VERSION_ID < 80100) die('skip Only for PHP >= 8.1');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=php
report_memleaks=0
--FILE--
<?php

$a = 'a';
$b = array($a);
$c = array('c');
$b[] = &$c;
$b[] = &$c;
$d = 'd';
$b[] = &$d;
$b[] = &$d;
$b[] = &$d;
$e = 'e';
$b[] = $e;
$b[] = $e;
$f = array('f');
$f[] = &$f;
$b[] = &$f;
apcu_store('test', $b);
$x = apcu_fetch('test');
debug_zval_dump($x);

?>
===DONE===
--EXPECTF--
array(9) refcount(2){
  [0]=>
  string(1) "a" interned
  [1]=>
  reference refcount(2) {
    array(1) refcount(1){
      [0]=>
      string(1) "c" interned
    }
  }
  [2]=>
  reference refcount(2) {
    array(1) refcount(1){
      [0]=>
      string(1) "c" interned
    }
  }
  [3]=>
  reference refcount(3) {
    string(1) "d" interned
  }
  [4]=>
  reference refcount(3) {
    string(1) "d" interned
  }
  [5]=>
  reference refcount(3) {
    string(1) "d" interned
  }
  [6]=>
  string(1) "e" interned
  [7]=>
  string(1) "e" interned
  [8]=>
  reference refcount(2) {
    array(2) refcount(1){
      [0]=>
      string(1) "f" interned
      [1]=>
      reference refcount(2) {
        *RECURSION*
      }
    }
  }
}
===DONE===
apc_014_store_ref.phpt000064400000000610150540263440010640 0ustar00--TEST--
APC: store array of references
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=php
--FILE--
<?php
$_items = [
	'key1' => 'value1',
	'key2' => 'value2',
];
$items = [];
foreach($_items as $k => $v) {
	$items["prefix_$k"] = &$v;
}
var_dump(apcu_store($items));
?>
===DONE===
--EXPECT--
array(0) {
}
===DONE===
apc_099.phpt000064400000000617150540263440006614 0ustar00--TEST--
APCU: apcu_fetch segfault
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

apcu_store('a', 'value');
var_export(apcu_delete(['a', 'b', 'c', 0]));
--EXPECTF--
Warning: apcu_delete(): apc_delete() expects a string, array of strings, or APCIterator instance in %s on line 4
array (
  0 => 'b',
  1 => 'c',
  2 => 0,
)
apc_entry_002.phpt000064400000000662150540263440010015 0ustar00--TEST--
APC: apcu_entry (exception)
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$value = apcu_entry("test", function($key){
	throw new Exception($key);
});
?>
--EXPECTF--
Fatal error: Uncaught Exception: test in %s:3
Stack trace:
#0 [internal function]: {closure}('test')
#1 %s(%d): apcu_entry('test', Object(Closure))
#2 {main}
  thrown in %s on line 3
apc_016.phpt000064400000001145150540263440006576 0ustar00--TEST--
Should be able to pass references to strings to apcu_fetch
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$array = ['foo', 'bar'];
var_dump(apcu_store('foo', 'baz'));
var_dump(apcu_fetch($array));
var_dump(error_get_last());
array_walk($array, function(&$item) {});
var_dump($array);
var_dump(apcu_fetch($array));
var_dump(error_get_last());
?>
--EXPECT--
bool(true)
array(1) {
  ["foo"]=>
  string(3) "baz"
}
NULL
array(2) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
}
array(1) {
  ["foo"]=>
  string(3) "baz"
}
NULL
apc_006.phpt000064400000002200150540263440006566 0ustar00--TEST--
APC: apcu_store/fetch reference test
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (PHP_VERSION_ID >= 70300) die('skip Only for PHP < 7.3');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=php
report_memleaks=0
--FILE--
<?php

$a = 'a';
$b = array($a);
$c = array('c');
$b[] = &$c;
$b[] = &$c;
$d = 'd';
$b[] = &$d;
$b[] = &$d;
$b[] = &$d;
$e = 'e';
$b[] = $e;
$b[] = $e;
$f = array('f');
$f[] = &$f;
$b[] = &$f;
apcu_store('test', $b);
$x = apcu_fetch('test');
debug_zval_dump($x);

?>
===DONE===
--EXPECT--
array(9) refcount(2){
  [0]=>
  string(1) "a" refcount(1)
  [1]=>
  &array(1) refcount(1){
    [0]=>
    string(1) "c" refcount(1)
  }
  [2]=>
  &array(1) refcount(1){
    [0]=>
    string(1) "c" refcount(1)
  }
  [3]=>
  &string(1) "d" refcount(1)
  [4]=>
  &string(1) "d" refcount(1)
  [5]=>
  &string(1) "d" refcount(1)
  [6]=>
  string(1) "e" refcount(1)
  [7]=>
  string(1) "e" refcount(1)
  [8]=>
  &array(2) refcount(1){
    [0]=>
    string(1) "f" refcount(1)
    [1]=>
    &array(2) refcount(1){
      [0]=>
      string(1) "f" refcount(1)
      [1]=>
      *RECURSION*
    }
  }
}
===DONE===
bug76145.phpt000064400000001566150540263440006640 0ustar00--TEST--
Bug #76145: Data corruption reading from APCu while unserializing
--INI--
apc.enabled=1
apc.enable_cli=1
error_reporting=E_ALL&~E_DEPRECATED
--FILE--
<?php

class Session implements \Serializable
{
  public $session;
  public function unserialize($serialized) { $this -> session = apcu_fetch('session'); }
  public function serialize() { return ''; }
}

// Create array representing a session associated with a user
// account that is enabled but has not been authenticated.
$session = ['user' => ['enabled' => True], 'authenticated' => False];
$session['user']['authenticated'] = &$session['authenticated'];

apcu_store('session', $session);

// After serializing / deserializing, session checks out as authenticated.
print unserialize(serialize(new Session())) -> session['authenticated'] === True ? 'Authenticated.' : 'Not Authenticated.';

?>
--EXPECT--
Not Authenticated.
apc_disabled.phpt000064400000003521150540263440010037 0ustar00--TEST--
Behavior of functions when apcu is disabled
--INI--
apc.enable_cli=0
--FILE--
<?php

echo "enabled\n";
var_dump(apcu_enabled());

echo "\nclear_cache\n";
var_dump(apcu_clear_cache());

echo "\ncache/sma_info\n";
var_dump(apcu_cache_info());
var_dump(apcu_sma_info());

echo "\nstore/add/exists/fetch/key_info/delete\n";
var_dump(apcu_store("key", "value"));
var_dump(apcu_add("key", "value"));
var_dump(apcu_exists("key"));
var_dump(apcu_fetch("key"));
var_dump(apcu_key_info("key"));
var_dump(apcu_delete("key"));

echo "\nstore/add/exists/fetch/delete array\n";
var_dump(apcu_store(["key" => "value"]));
var_dump(apcu_add(["key" => "value"]));
var_dump(apcu_exists(["key"]));
var_dump(apcu_fetch(["key"]));
var_dump(apcu_delete(["key"]));

echo "\ninc/dec/cas\n";
var_dump(apcu_inc("key", 1, $succ_inc));
var_dump($succ_inc);
var_dump(apcu_dec("key", 1, $succ_dec));
var_dump($succ_dec);
var_dump(apcu_cas("key", 10, 20));

echo "\nentry\n";
var_dump(apcu_entry("key", function() { return 42; }));

echo "\niterator\n";
try {
    new APCUIterator;
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}

?>
--EXPECTF--
enabled
bool(false)

clear_cache
bool(true)

cache/sma_info

Warning: apcu_cache_info(): No APC info available.  Perhaps APC is not enabled? Check apc.enabled in your ini file in %s on line %d
bool(false)

Warning: apcu_sma_info(): No APC SMA info available.  Perhaps APC is disabled via apc.enabled? in %s on line %d
bool(false)

store/add/exists/fetch/key_info/delete
bool(false)
bool(false)
bool(false)
bool(false)
NULL
bool(false)

store/add/exists/fetch/delete array
array(1) {
  ["key"]=>
  int(-1)
}
array(1) {
  ["key"]=>
  int(-1)
}
array(0) {
}
array(0) {
}
array(1) {
  [0]=>
  string(3) "key"
}

inc/dec/cas
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

entry
NULL

iterator
APC must be enabled to use APCUIterator
apc_entry_recursion.phpt000064400000000566150540263440011530 0ustar00--TEST--
Recursive apcu_* calls inside apcu_entry()
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$foo = apcu_entry('foo', function() {
    apcu_store('xyz', 123);
    apcu_inc('xyz');
    var_dump(apcu_fetch('xyz'));
    return 'bar';
});
var_dump($foo);

?>
--EXPECT--
int(124)
string(3) "bar"
get_included_files_inc1.inc000064400000000034150540263440011761 0ustar00<?php
/* dummy include*/
?>
apc_024.phpt000064400000000507150540263440006576 0ustar00--TEST--
Using empty string as key
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

var_dump(apcu_store("", 123));
var_dump(apcu_exists(""));
var_dump(apcu_fetch(""));
var_dump(apcu_delete(""));

?>
--EXPECT--
bool(true)
bool(true)
int(123)
bool(true)
apc_012.phpt000064400000001136150540263440006572 0ustar00--TEST--
APC: Atomic inc + dec wrap around on overflow
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$key = "testkey";

apcu_store($key, PHP_INT_MAX);
var_dump($i = apcu_inc($key, 1));
var_dump($j = apcu_fetch($key));
var_dump($i == $j);
var_dump($j == PHP_INT_MIN);

apcu_store($key, PHP_INT_MIN);
var_dump($i = apcu_dec($key, 1));
var_dump($j = apcu_fetch($key));
var_dump($i == $j);
var_dump($j == PHP_INT_MAX);

?>
===DONE===
--EXPECTF--
int(%i)
int(%i)
bool(true)
bool(true)
int(%i)
int(%i)
bool(true)
bool(true)
===DONE===
get_included_files_inc2.inc000064400000000127150540263440011765 0ustar00<?php
/* dummy include*/
include(dirname(__FILE__)."/get_included_files_inc3.inc");
?>
ghbug247.phpt000064400000000504150540263440006774 0ustar00--TEST--
GH Bug #247: when a NUL char is used as key, apcu_fetch(array) truncates the key
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
apcu_store(array("a\0b" => 'foo'));
var_dump(apcu_fetch(array("a\0b"))["a\0b"]);
?>
--EXPECT--
string(3) "foo"
iterator_007.phpt000064400000002567150540263440007675 0ustar00--TEST--
APC: APCIterator Overwriting the ctor
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
class foobar extends APCuIterator {
	public function __construct() {}
}
$obj = new foobar;
try {
    $obj->rewind();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->current();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->key();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->next();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->valid();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->getTotalHits();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->getTotalSize();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    $obj->getTotalCount();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    apcu_delete($obj);
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
?>
--EXPECT--
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
Trying to use uninitialized APCUIterator
apc_store_string_reuse.phpt000064400000000331150540263440012211 0ustar00--TEST--
The same string is used as the cache key and an array key
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=default
--FILE--
<?php

$key = 'key';
$a = [$key => null];
apcu_store($key, $a);

?>
--EXPECT--
ghbug248.phpt000064400000005651150540263440007005 0ustar00--TEST--
GH Bug #248: apcu_fetch may return values causing zend_mm_corruption or segfaults when custom serializer is used
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=default
--FILE--
<?php

function build_array() {
    return [
        'params' => 2,
        'construct' => ['a'],
        'x1' => 'y',
        'x2' => 'y',
        'x3' => 'y',
        'x4' => 'y',
        'x5' => 'y',
        'x6' => 0,
    ];
}

class MyClass {
    private $_params;

    public function __construct($params) {
        var_dump($params);
        $this->_params = $params;
        var_dump($params);
        $this->_params['ids'] = [4];
        $this->_params['loadValue'] = 'x';
        unset($this->_params['params']);
    }
}

function setup() {
    apcu_delete('mytestkey');
    apcu_store('mytestkey', build_array());
}

function test_apcu_fetch() {
    // Or store second?
    $value = apcu_fetch('mytestkey');
    echo "Fetching the value initially stored into apcu:\n";
    var_dump($value);
    echo "Done dumping initial fetch\n\n";

    new MyClass($value);
    echo "\$value was passed by value, not reference. After instantiating class, the array \$value gets modified\n";
    var_dump($value);

    echo "\nAnd calling apcu_fetch again, the original data is preserved (8 keys, params=2)\n";
    var_dump(apcu_fetch('mytestkey'));
}

setup();
test_apcu_fetch();
?>
--EXPECT--
Fetching the value initially stored into apcu:
array(8) {
  ["params"]=>
  int(2)
  ["construct"]=>
  array(1) {
    [0]=>
    string(1) "a"
  }
  ["x1"]=>
  string(1) "y"
  ["x2"]=>
  string(1) "y"
  ["x3"]=>
  string(1) "y"
  ["x4"]=>
  string(1) "y"
  ["x5"]=>
  string(1) "y"
  ["x6"]=>
  int(0)
}
Done dumping initial fetch

array(8) {
  ["params"]=>
  int(2)
  ["construct"]=>
  array(1) {
    [0]=>
    string(1) "a"
  }
  ["x1"]=>
  string(1) "y"
  ["x2"]=>
  string(1) "y"
  ["x3"]=>
  string(1) "y"
  ["x4"]=>
  string(1) "y"
  ["x5"]=>
  string(1) "y"
  ["x6"]=>
  int(0)
}
array(8) {
  ["params"]=>
  int(2)
  ["construct"]=>
  array(1) {
    [0]=>
    string(1) "a"
  }
  ["x1"]=>
  string(1) "y"
  ["x2"]=>
  string(1) "y"
  ["x3"]=>
  string(1) "y"
  ["x4"]=>
  string(1) "y"
  ["x5"]=>
  string(1) "y"
  ["x6"]=>
  int(0)
}
$value was passed by value, not reference. After instantiating class, the array $value gets modified
array(8) {
  ["params"]=>
  int(2)
  ["construct"]=>
  array(1) {
    [0]=>
    string(1) "a"
  }
  ["x1"]=>
  string(1) "y"
  ["x2"]=>
  string(1) "y"
  ["x3"]=>
  string(1) "y"
  ["x4"]=>
  string(1) "y"
  ["x5"]=>
  string(1) "y"
  ["x6"]=>
  int(0)
}

And calling apcu_fetch again, the original data is preserved (8 keys, params=2)
array(8) {
  ["params"]=>
  int(2)
  ["construct"]=>
  array(1) {
    [0]=>
    string(1) "a"
  }
  ["x1"]=>
  string(1) "y"
  ["x2"]=>
  string(1) "y"
  ["x3"]=>
  string(1) "y"
  ["x4"]=>
  string(1) "y"
  ["x5"]=>
  string(1) "y"
  ["x6"]=>
  int(0)
}
not_enough_shm.phpt000064400000000511150540263440010455 0ustar00--TEST--
Error if cache structures cannot be allocated in SHM
--INI--
apc.enabled=1
apc.enable_cli=1
apc.shm_size=1M
apc.entries_hint=1000000
--FILE--
Irrelevant
--EXPECTF--
%A: Unable to allocate %d bytes of shared memory for cache structures. Either apc.shm_size is too small or apc.entries_hint too large in Unknown on line 0
apc_entry_003.phpt000064400000000434150540263440010013 0ustar00--TEST--
APC: apcu_entry (fatal error)
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$value = apcu_entry("test", function($key) {
    // Fatal error
    class X { use T; }
});
?>
--EXPECTF--
Fatal error: %s
apc_008.phpt000064400000001506150540263440006600 0ustar00--TEST--
APC: apcu_cas test
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
apcu_store('foobar',2);
echo "\$foobar = 2\n";
echo "\$foobar == 1 ? 2 : 1 = ".(apcu_cas('foobar', 1, 2)?"ok":"fail")."\n";
echo "\$foobar == 2 ? 1 : 2 = ".(apcu_cas('foobar', 2, 1)?"ok":"fail")."\n";
echo "\$foobar = ".apcu_fetch("foobar")."\n";

echo "\$f__bar == 1 ? 2 : 1 = ".(apcu_cas('f__bar', 1, 2)?"ok":"fail")."\n";

apcu_store('perfection', "xyz");
echo "\$perfection == 2 ? 1 : 2 = ".(apcu_cas('perfection', 2, 1)?"ok":"epic fail")."\n";

echo "\$foobar = ".apcu_fetch("foobar")."\n";
?>
===DONE===
--EXPECT--
$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1
===DONE===
apc_003b_legacy.phpt000064400000003276150540263440010267 0ustar00--TEST--
APC: apcu_store/fetch with objects
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc'); 
if (PHP_VERSION_ID >= 80100) die("skip For PHP < 8.1");
?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

class foo { }
$foo = new foo;
var_dump($foo);
apcu_store('foo',$foo);
unset($foo);
$bar = apcu_fetch('foo');
var_dump($bar);
$bar->a = true;
var_dump($bar);

class bar extends foo
{
	public    $pub = 'bar';
	protected $pro = 'bar';
	private   $pri = 'bar'; // we don't see this, we'd need php 5.1 new serialization
	
	function __construct()
	{
		$this->bar = true;
	}
	
	function change()
	{
		$this->pri = 'mod';
	}
}

class baz extends bar
{
	private $pri = 'baz';

	function __construct()
	{
		parent::__construct();
		$this->baz = true;
	}
}

$baz = new baz;
var_dump($baz);
$baz->change();
var_dump($baz);
apcu_store('baz', $baz);
unset($baz);
var_dump(apcu_fetch('baz'));

?>
===DONE===
--EXPECTF--
object(foo)#%d (0) {
}
object(foo)#%d (0) {
}
object(foo)#%d (1) {
  ["a"]=>
  bool(true)
}
object(baz)#%d (6) {
  ["pri":"baz":private]=>
  string(3) "baz"
  ["pub"]=>
  string(3) "bar"
  ["pro":protected]=>
  string(3) "bar"
  ["pri":"bar":private]=>
  string(3) "bar"
  ["bar"]=>
  bool(true)
  ["baz"]=>
  bool(true)
}
object(baz)#%d (6) {
  ["pri":"baz":private]=>
  string(3) "baz"
  ["pub"]=>
  string(3) "bar"
  ["pro":protected]=>
  string(3) "bar"
  ["pri":"bar":private]=>
  string(3) "mod"
  ["bar"]=>
  bool(true)
  ["baz"]=>
  bool(true)
}
object(baz)#%d (6) {
  ["pri":"baz":private]=>
  string(3) "baz"
  ["pub"]=>
  string(3) "bar"
  ["pro":protected]=>
  string(3) "bar"
  ["pri":"bar":private]=>
  string(3) "mod"
  ["bar"]=>
  bool(true)
  ["baz"]=>
  bool(true)
}
===DONE===
apc_store_reference_php8.phpt000064400000001136150540263440012401 0ustar00--TEST--
The outermost value should always be a value, not a reference
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=default
--SKIPIF--
<?php if (PHP_VERSION_ID < 80000) die('skip Requires PHP >= 8.0.0'); ?>
--FILE--
<?php

/* The output is different for the php serializer, because it does not replicate the
 * cycle involving the top-level value. Instead the cycle is placed one level lower.
 * I believe this is a bug in the php serializer. */

$value = [&$value];
apcu_store(["key" => &$value]);
$result = apcu_fetch("key");
var_dump($result);

?>
--EXPECT--
array(1) {
  [0]=>
  *RECURSION*
}
apcu_fetch_empty_array_reference.phpt000064400000001265150540263440014203 0ustar00--TEST--
apcu_fetch should work for multiple reference groups
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$x = [];
$y = [];
$array = [&$x, &$x, &$y, &$y];
apcu_store("ary", $array);
$copy = apcu_fetch("ary");
$copy[0][1] = new stdClass();
var_dump($array);
var_dump($copy);

?>
--EXPECT--
array(4) {
  [0]=>
  &array(0) {
  }
  [1]=>
  &array(0) {
  }
  [2]=>
  &array(0) {
  }
  [3]=>
  &array(0) {
  }
}
array(4) {
  [0]=>
  &array(1) {
    [1]=>
    object(stdClass)#1 (0) {
    }
  }
  [1]=>
  &array(1) {
    [1]=>
    object(stdClass)#1 (0) {
    }
  }
  [2]=>
  &array(0) {
  }
  [3]=>
  &array(0) {
  }
}
iterator_011.phpt000064400000001231150540263440007653 0ustar00--TEST--
APCUIterator key() and current() on invalid iterator
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

apcu_store("key1", "value1");

$it = new APCuIterator(null, APC_ITER_VALUE);
var_dump($it->key());
var_dump($it->current());
$it->next();

try {
    var_dump($it->key());
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
try {
    var_dump($it->current());
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}

?>
--EXPECT--
string(4) "key1"
array(1) {
  ["value"]=>
  string(6) "value1"
}
Cannot call key() on invalid iterator
Cannot call current() on invalid iterator
iterator_009.phpt000064400000000576150540263440007675 0ustar00--TEST--
APC: APCIterator key invalidated between key() calls
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

apcu_store("foo", 0);
$it = new APCuIterator();
$it->rewind();
var_dump($it->key());
apcu_delete("foo");
apcu_store("bar", 0);
var_dump($it->key());

?>
--EXPECT--
string(3) "foo"
string(3) "foo"
apc_015.phpt000064400000000377150540263440006603 0ustar00--TEST--
Copy failure should not create entry
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
try {
	apcu_store('thing', function(){});
} catch(Exception $ex) {
}

var_dump(apcu_exists('thing'));
--EXPECT--
bool(false)
ghbug335-fail.phpt000064400000001250150540263440007702 0ustar00--TEST--
GH Bug #335: APCu stampede protection is broken
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (!extension_loaded('pcntl')) {
  die('skip pcntl required');
}
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.slam_defense=0
--FILE--
<?php

// Reset slam detection.
apcu_store("foo", "parent");

$pid = pcntl_fork();
if ($pid) {
    // parent
    pcntl_wait($status);
} else {
    // child
    $ret = apcu_store("foo", "child");
    if ($ret === false) {
        echo "Stampede protection works\n";
    } else {
        echo "Stampede protection doesn't work\n";
    }
    exit(0);
}

?>
--EXPECT--
Stampede protection doesn't work
apc_006_php73.phpt000064400000002022150540263450007612 0ustar00--TEST--
APC: apcu_store/fetch reference test
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (PHP_VERSION_ID < 70300) die('skip Only for PHP >= 7.3');
if (PHP_VERSION_ID >= 80100) die('skip Only for PHP < 8.1');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=php
report_memleaks=0
--FILE--
<?php

$a = 'a';
$b = array($a);
$c = array('c');
$b[] = &$c;
$b[] = &$c;
$d = 'd';
$b[] = &$d;
$b[] = &$d;
$b[] = &$d;
$e = 'e';
$b[] = $e;
$b[] = $e;
$f = array('f');
$f[] = &$f;
$b[] = &$f;
apcu_store('test', $b);
$x = apcu_fetch('test');
debug_zval_dump($x);

?>
===DONE===
--EXPECTF--
array(9) refcount(2){
  [0]=>
  string(1) "a" %s
  [1]=>
  &array(1) refcount(1){
    [0]=>
    string(1) "c" %s
  }
  [2]=>
  &array(1) refcount(1){
    [0]=>
    string(1) "c" %s
  }
  [3]=>
  &string(1) "d" %s
  [4]=>
  &string(1) "d" %s
  [5]=>
  &string(1) "d" %s
  [6]=>
  string(1) "e" %s
  [7]=>
  string(1) "e" %s
  [8]=>
  &array(2) refcount(1){
    [0]=>
    string(1) "f" %s
    [1]=>
    *RECURSION*
  }
}
===DONE===
apc_store_array_with_refs.phpt000064400000000376150540263450012702 0ustar00--TEST--
Store array that references same value twice
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=default
--FILE--
<?php

apcu_store('test', [&$x, &$x]);
var_dump(apcu_fetch('test'));

?>
--EXPECT--
array(2) {
  [0]=>
  &NULL
  [1]=>
  &NULL
}
apc_021.phpt000064400000001607150540263450006576 0ustar00--TEST--
apcu_inc/dec() should not inc/dec hard expired entries
--SKIPIF--
<?php
require_once(__DIR__ . '/skipif.inc');
if (!function_exists('apcu_inc_request_time')) die('skip APC debug build required');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.ttl=1
--FILE--
<?php

apcu_store("inc", 0, 3);
apcu_store("dec", 0, 3);

echo "T+0:\n";

var_dump(apcu_inc("inc"));
var_dump(apcu_fetch("inc"));
var_dump(apcu_dec("dec"));
var_dump(apcu_fetch("dec"));

apcu_inc_request_time(2);
echo "T+2:\n";

var_dump(apcu_inc("inc"));
var_dump(apcu_fetch("inc"));
var_dump(apcu_dec("dec"));
var_dump(apcu_fetch("dec"));

apcu_inc_request_time(2);
echo "T+4\n";

var_dump(apcu_inc("inc"));
var_dump(apcu_fetch("inc"));
var_dump(apcu_dec("dec"));
var_dump(apcu_fetch("dec"));

?>
--EXPECT--
T+0:
int(1)
int(1)
int(-1)
int(-1)
T+2:
int(2)
int(2)
int(-2)
int(-2)
T+4
int(1)
int(1)
int(-1)
int(-1)
data/abc.data000064400000000013150540263450007033 0ustar00s:3:"123";
iterator_001.phpt000064400000003351150540263450007660 0ustar00--TEST--
APC: APCIterator general
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$it = new APCuIterator();

for($i = 0; $i < 41; $i++) {
  apcu_store("key$i", "value$i");
}

foreach($it as $key=>$value) {
  $keys[$key] = $value['key'];
}
ksort($keys);
var_dump($keys);
?>
===DONE===
--EXPECT--
array(41) {
  ["key0"]=>
  string(4) "key0"
  ["key1"]=>
  string(4) "key1"
  ["key10"]=>
  string(5) "key10"
  ["key11"]=>
  string(5) "key11"
  ["key12"]=>
  string(5) "key12"
  ["key13"]=>
  string(5) "key13"
  ["key14"]=>
  string(5) "key14"
  ["key15"]=>
  string(5) "key15"
  ["key16"]=>
  string(5) "key16"
  ["key17"]=>
  string(5) "key17"
  ["key18"]=>
  string(5) "key18"
  ["key19"]=>
  string(5) "key19"
  ["key2"]=>
  string(4) "key2"
  ["key20"]=>
  string(5) "key20"
  ["key21"]=>
  string(5) "key21"
  ["key22"]=>
  string(5) "key22"
  ["key23"]=>
  string(5) "key23"
  ["key24"]=>
  string(5) "key24"
  ["key25"]=>
  string(5) "key25"
  ["key26"]=>
  string(5) "key26"
  ["key27"]=>
  string(5) "key27"
  ["key28"]=>
  string(5) "key28"
  ["key29"]=>
  string(5) "key29"
  ["key3"]=>
  string(4) "key3"
  ["key30"]=>
  string(5) "key30"
  ["key31"]=>
  string(5) "key31"
  ["key32"]=>
  string(5) "key32"
  ["key33"]=>
  string(5) "key33"
  ["key34"]=>
  string(5) "key34"
  ["key35"]=>
  string(5) "key35"
  ["key36"]=>
  string(5) "key36"
  ["key37"]=>
  string(5) "key37"
  ["key38"]=>
  string(5) "key38"
  ["key39"]=>
  string(5) "key39"
  ["key4"]=>
  string(4) "key4"
  ["key40"]=>
  string(5) "key40"
  ["key5"]=>
  string(4) "key5"
  ["key6"]=>
  string(4) "key6"
  ["key7"]=>
  string(4) "key7"
  ["key8"]=>
  string(4) "key8"
  ["key9"]=>
  string(4) "key9"
}
===DONE===
iterator_003.phpt000064400000003402150540263450007657 0ustar00--TEST--
APC: APCIterator chunk size
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$it = new APCuIterator(NULL, APC_ITER_ALL, 10);

for($i = 0; $i < 41; $i++) {
  apcu_store("key$i", "value$i");
}
foreach($it as $key=>$value) {
  $vals[$key] = $value['key'];
}
ksort($vals);
var_dump($vals);

?>
===DONE===
--EXPECT--
array(41) {
  ["key0"]=>
  string(4) "key0"
  ["key1"]=>
  string(4) "key1"
  ["key10"]=>
  string(5) "key10"
  ["key11"]=>
  string(5) "key11"
  ["key12"]=>
  string(5) "key12"
  ["key13"]=>
  string(5) "key13"
  ["key14"]=>
  string(5) "key14"
  ["key15"]=>
  string(5) "key15"
  ["key16"]=>
  string(5) "key16"
  ["key17"]=>
  string(5) "key17"
  ["key18"]=>
  string(5) "key18"
  ["key19"]=>
  string(5) "key19"
  ["key2"]=>
  string(4) "key2"
  ["key20"]=>
  string(5) "key20"
  ["key21"]=>
  string(5) "key21"
  ["key22"]=>
  string(5) "key22"
  ["key23"]=>
  string(5) "key23"
  ["key24"]=>
  string(5) "key24"
  ["key25"]=>
  string(5) "key25"
  ["key26"]=>
  string(5) "key26"
  ["key27"]=>
  string(5) "key27"
  ["key28"]=>
  string(5) "key28"
  ["key29"]=>
  string(5) "key29"
  ["key3"]=>
  string(4) "key3"
  ["key30"]=>
  string(5) "key30"
  ["key31"]=>
  string(5) "key31"
  ["key32"]=>
  string(5) "key32"
  ["key33"]=>
  string(5) "key33"
  ["key34"]=>
  string(5) "key34"
  ["key35"]=>
  string(5) "key35"
  ["key36"]=>
  string(5) "key36"
  ["key37"]=>
  string(5) "key37"
  ["key38"]=>
  string(5) "key38"
  ["key39"]=>
  string(5) "key39"
  ["key4"]=>
  string(4) "key4"
  ["key40"]=>
  string(5) "key40"
  ["key5"]=>
  string(4) "key5"
  ["key6"]=>
  string(4) "key6"
  ["key7"]=>
  string(4) "key7"
  ["key8"]=>
  string(4) "key8"
  ["key9"]=>
  string(4) "key9"
}
===DONE===
ghbug168.phpt000064400000000725150540263450007004 0ustar00--TEST--
gh bug #168
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
apcu_store('prop', 'A');

var_dump($prop = apcu_fetch('prop'));

apcu_store('prop', ['B']);

var_dump(apcu_fetch('prop'), $prop);

apcu_store('thing', ['C']);

var_dump(apcu_fetch('prop'), $prop);
--EXPECT--
string(1) "A"
array(1) {
  [0]=>
  string(1) "B"
}
string(1) "A"
array(1) {
  [0]=>
  string(1) "B"
}
string(1) "A"

apc_001.phpt000064400000001001150540263450006560 0ustar00--TEST--
APC: apcu_store/fetch with strings
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$foo = 'hello world';
var_dump($foo);
apcu_store('foo',$foo);
$bar = apcu_fetch('foo');
var_dump($bar);
$bar = 'nice';
var_dump($bar);

apcu_store('foo\x00bar', $foo);
$bar = apcu_fetch('foo\x00bar');
var_dump($bar);

?>
===DONE===
--EXPECT--
string(11) "hello world"
string(11) "hello world"
string(4) "nice"
string(11) "hello world"
===DONE===
apc_007.phpt000064400000002057150540263450006602 0ustar00--TEST--
APC: apcu_inc/apcu_dec test
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
apcu_store('foobar',2);
echo "\$foobar = 2 \n";
echo "\$foobar += 1 = ".apcu_inc('foobar')."\n";
echo "\$foobar += 10 = ".apcu_inc('foobar', 10)."\n";

echo "\$foobar -= 1 = ".apcu_dec('foobar')."\n";
echo "\$foobar -= 10 = ".apcu_dec('foobar',10)."\n";

echo "\$f__bar += 1 = ".(apcu_inc('f__bar')?"ok":"fail")."\n";

apcu_store('perfection', "xyz");
echo "\$perfection -= 1 = ".(apcu_inc('perfection')?"ok":"epic fail")."\n";

$success = false;

echo "\$foobar += 1 = ".apcu_inc('foobar', 1, $success)."\n";
echo "pass by ref success ". $success . "\n";
echo "\$foobar -= 1 = ".apcu_dec('foobar', 1, $success)."\n";
echo "pass by ref success ". $success . "\n";

?>
===DONE===
--EXPECT--
$foobar = 2 
$foobar += 1 = 3
$foobar += 10 = 13
$foobar -= 1 = 12
$foobar -= 10 = 2
$f__bar += 1 = ok
$perfection -= 1 = epic fail
$foobar += 1 = 3
pass by ref success 1
$foobar -= 1 = 2
pass by ref success 1
===DONE===
apc_store_array_int_keys.phpt000064400000000576150540263450012537 0ustar00--TEST--
apcu_store() with int keys in array should convert them to string
--SKIPIF--
<?php
require_once(__DIR__ . '/skipif.inc');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

var_dump(apcu_add(["123" => "test"]));
var_dump(apcu_store(["123" => "test"]));
var_dump(apcu_add(["123" => "test"]));

?>
--EXPECT--
array(0) {
}
array(0) {
}
array(1) {
  [123]=>
  int(-1)
}
apcu_sma_info.phpt000064400000001107150540263450010247 0ustar00--TEST--
Basic apcu_sma_info() test
--INI--
apc.enabled=1
apc.enable_cli=1
apc.shm_segments=1
--FILE--
<?php

apcu_store("key", "value");
var_dump(apcu_sma_info(true));
var_dump(apcu_sma_info());

?>
--EXPECTF--
array(3) {
  ["num_seg"]=>
  int(1)
  ["seg_size"]=>
  float(%s)
  ["avail_mem"]=>
  float(%s)
}
array(4) {
  ["num_seg"]=>
  int(1)
  ["seg_size"]=>
  float(%s)
  ["avail_mem"]=>
  float(%s)
  ["block_lists"]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      array(2) {
        ["size"]=>
        int(%d)
        ["offset"]=>
        int(%d)
      }
    }
  }
}
apc_025.phpt000064400000000647150540263450006605 0ustar00--TEST--
APC: apcu_fetch of packed array
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
var_dump(apcu_store('foo', [1, 2, 3, 4, 5, 6, 7, 8]));
var_dump(apcu_fetch('foo'));

?>
--EXPECT--
bool(true)
array(8) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  [7]=>
  int(8)
}
server_test.inc000064400000010337150540263450007614 0ustar00<?php
/* based on sapi/cli/tests/php_cli_server.inc */
define ("PHP_CLI_SERVER_HOSTNAME", "127.0.0.1");
define ("PHP_CLI_SERVER_PORT", 8000 + PHP_INT_SIZE*1000 + PHP_MAJOR_VERSION*100 + PHP_MINOR_VERSION*10);
define ("PHP_CLI_SERVER_ADDRESS", PHP_CLI_SERVER_HOSTNAME.":".PHP_CLI_SERVER_PORT);

/* XXX incapsulate all this globals into a class when have a favourable minute */
$doc_root = __DIR__;
$router = "index.php";
$handles = array();
$ports = array();
$num_servers = 3;

function server_start_one($host, $port, $code = 'echo "Hello world";', $php_opts = array(), $no_router = FALSE)
{
	global $doc_root, $router, $handles, $ports;

	$php_executable = getenv('TEST_PHP_EXECUTABLE');
	$php_args = getenv('TEST_PHP_ARGS');

	$descriptorspec = array(
		0 => STDIN,
		1 => STDOUT,
		2 => STDERR,
	);

	if (!$php_args) {
		$ext = (substr(PHP_OS, 0, 3) == 'WIN') ? 'php_apcu.dll' : 'apcu.so';
		if (substr(PHP_OS, 0, 3) == 'WIN') {
			$part0 = 8 == PHP_INT_SIZE ? "x64" : "";
			$part1 = ZEND_DEBUG_BUILD ? "Debug" : "Release";
			$part1 = PHP_ZTS ? ($part1 . "_TS") : $part1;
			$php_args = "-d extension_dir=$doc_root/../$part0/$part1";
		} else {
			$php_args = "-d extension_dir=$doc_root/../modules";
		}
		$php_args = "$php_args -d extension=$ext";
	}

	if ($php_opts) {
		$php_args = "$php_args -d " . implode(' -d ', $php_opts);;
	}

	if (substr(PHP_OS, 0, 3) == 'WIN') {
		$cmd = "{$php_executable} -n $php_args -t {$doc_root} -S $host:$port";
		if (!$no_router) {
			$cmd .= " {$router}";
		}

		$descriptorspec[2] = array('pipe', 'w');
		$handle = proc_open(addslashes($cmd), $descriptorspec, $pipes, $doc_root, NULL, array("bypass_shell" => true,  "suppress_errors" => true));
	} else {
		$cmd = "exec {$php_executable} -n $php_args -t {$doc_root} -S $host:$port";
		if (!$no_router) {
			$cmd .= " {$doc_root}/{$router}";
		}
		$cmd .= " 2>/dev/null";

		$handle = proc_open($cmd, $descriptorspec, $pipes, $doc_root);
	}

	// note: even when server prints 'Listening on localhost:8964...Press Ctrl-C to quit.'
	//       it might not be listening yet...need to wait until fsockopen() call returns
	// Let this wait for up to 10 seconds to avoid spurious failures with valgrind.
    $i = 0;
    while (($i++ < 100) && !connection_test($host, $port)) {
        usleep(100000);
    }

	return $handle;
}

function server_start($code = 'echo "Hello world";', $php_opts = array(), $no_router = FALSE)
{
	global $doc_root, $router, $handles, $ports, $num_servers;


	if ($code) {
		file_put_contents($doc_root . '/' . $router, '<?php ' . $code . ' ?>');
	}

	for ($i = 0; $i < $num_servers; $i++) {
		$h = server_start_one(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT+$i, $code, $php_opts, $no_router);
		$handles[] = $h;
	}

	register_shutdown_function(
		function($handles) use($router) {
			foreach ($handles as $handle) {
				proc_terminate($handle);
			}
			@unlink(__DIR__ . "/{$router}");
		},
			$handles
		);
	// don't bother sleeping, server is already up
	// server can take a variable amount of time to be up, so just sleeping a guessed amount of time
	// does not work. this is why tests sometimes pass and sometimes fail. to get a reliable pass
	// sleeping doesn't work.
}

function get_response($fp, $data_only = true)
{
	$s = '';

	while (!feof($fp)) {
		$s .= fgets($fp);
	}

	if ($data_only) {
		$parts = explode("\r\n\r\n", $s);
		$s = $parts[1];
	}

	return $s;
}


function connection_test($host, $port)
{
	$port = intval($port)?:80;

	$fp = @fsockopen($host, $port, $errno, $errstr, 10);
	if (!$fp) {
		return false;
	}

	$send = "GET / HTTP/1.1\nHost: {$host}\r\n\r\n";

	/* will not out here, just test if the connection has worked*/
	if(@fwrite($fp, $send)) {
		get_response($fp);
		fclose($fp);

		return true;
	}

	@fclose($fp);

	return false;
}

function run_test_simple($request_uri = NULL)
{
    global $num_servers;
	$send = "GET /" . $request_uri ." HTTP/1.1\nHost: " . PHP_CLI_SERVER_HOSTNAME . "\r\n\r\n";

	for ($i = 0; $i < $num_servers; $i++) {
		run_test(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT+$i, $send);
	}
}

function run_test($host, $port, $send)
{
	$fp = fsockopen($host, $port, $errno, $errstr, 10);
	if (!$fp) {
	  die(sprintf("connect failed errno=%d errstr='%s'", $errno, $errstr));
	}

	if(fwrite($fp, $send)) {
		echo get_response($fp);
	}

	fclose($fp);
}
iterator_005.phpt000064400000003436150540263450007670 0ustar00--TEST--
APC: APCIterator delete
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$vals = array();
$vals2 = array();
$it = new APCuIterator('/key[0-9]0/');
for($i = 0; $i < 41; $i++) {
  apcu_store("key$i", "value$i");
}
apcu_delete($it);
$it2 = new APCuIterator();
foreach($it as $key=>$value) {
  $vals[$key] = $value['key'];
}
foreach($it2 as $key=>$value) {
  $vals2[$key] = $value['key'];
}
ksort($vals2);
var_dump($vals);
var_dump($vals2);

?>
===DONE===
--EXPECT--
array(0) {
}
array(37) {
  ["key0"]=>
  string(4) "key0"
  ["key1"]=>
  string(4) "key1"
  ["key11"]=>
  string(5) "key11"
  ["key12"]=>
  string(5) "key12"
  ["key13"]=>
  string(5) "key13"
  ["key14"]=>
  string(5) "key14"
  ["key15"]=>
  string(5) "key15"
  ["key16"]=>
  string(5) "key16"
  ["key17"]=>
  string(5) "key17"
  ["key18"]=>
  string(5) "key18"
  ["key19"]=>
  string(5) "key19"
  ["key2"]=>
  string(4) "key2"
  ["key21"]=>
  string(5) "key21"
  ["key22"]=>
  string(5) "key22"
  ["key23"]=>
  string(5) "key23"
  ["key24"]=>
  string(5) "key24"
  ["key25"]=>
  string(5) "key25"
  ["key26"]=>
  string(5) "key26"
  ["key27"]=>
  string(5) "key27"
  ["key28"]=>
  string(5) "key28"
  ["key29"]=>
  string(5) "key29"
  ["key3"]=>
  string(4) "key3"
  ["key31"]=>
  string(5) "key31"
  ["key32"]=>
  string(5) "key32"
  ["key33"]=>
  string(5) "key33"
  ["key34"]=>
  string(5) "key34"
  ["key35"]=>
  string(5) "key35"
  ["key36"]=>
  string(5) "key36"
  ["key37"]=>
  string(5) "key37"
  ["key38"]=>
  string(5) "key38"
  ["key39"]=>
  string(5) "key39"
  ["key4"]=>
  string(4) "key4"
  ["key5"]=>
  string(4) "key5"
  ["key6"]=>
  string(4) "key6"
  ["key7"]=>
  string(4) "key7"
  ["key8"]=>
  string(4) "key8"
  ["key9"]=>
  string(4) "key9"
}
===DONE===
iterator_002.phpt000064400000001035150540263450007656 0ustar00--TEST--
APC: APCIterator regex
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$it = new APCuIterator('/key[0-9]0/');

for($i = 0; $i < 41; $i++) {
  apcu_store("key$i", "value$i");
}
foreach($it as $key=>$value) {
  $vals[$key] = $value['key'];
}
ksort($vals);
var_dump($vals);

?>
===DONE===
--EXPECT--
array(4) {
  ["key10"]=>
  string(5) "key10"
  ["key20"]=>
  string(5) "key20"
  ["key30"]=>
  string(5) "key30"
  ["key40"]=>
  string(5) "key40"
}
===DONE===
apc_022.phpt000064400000001154150540263450006574 0ustar00--TEST--
apcu_inc/dec() TTL parameter
--SKIPIF--
<?php
require_once(__DIR__ . '/skipif.inc');
if (!function_exists('apcu_inc_request_time')) die('skip APC debug build required');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.ttl=0
--FILE--
<?php

$ttl = 1;
apcu_store("a", 0, $ttl);
apcu_store("b", 0, $ttl);

for ($i = 0; $i < 6; $i++) {
    echo "T+$i:\n";
    var_dump(apcu_inc("a"));
    var_dump(apcu_inc("b", 1, $success, $ttl));
    apcu_inc_request_time(1);
}

?>
--EXPECT--
T+0:
int(1)
int(1)
T+1:
int(2)
int(2)
T+2:
int(1)
int(1)
T+3:
int(2)
int(2)
T+4:
int(3)
int(1)
T+5:
int(4)
int(2)
apc_018.phpt000064400000000301150540263450006572 0ustar00--TEST--
apc_cas() inserts non-existing key with value 0
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

apcu_cas("foo", 42, 24);
var_dump(apcu_fetch("foo"));

?>
--EXPECT--
bool(false)
sma001.phpt000064400000001077150540263450006453 0ustar00--TEST--
Test SMA behavior #1
--INI--
apc.enabled=1
apc.enable_cli=1
apc.shm_size=16M
--FILE--
<?php

// Make sure that a sequence of alternating small and large
// allocations does not result in catastrophic fragmentation

$len = 1024 * 1024;
for ($i = 0; $i < 100; $i++) {
    apcu_delete("key");
    $result = apcu_store("key", str_repeat("x", $len));
    if ($result === false) {
        echo "Failed $i.\n";
    }

    // Force a small allocation
    apcu_store("dummy" . $i, null);

    // Increase $len slightly
    $len += 100;
}

?>
===DONE===
--EXPECT--
===DONE===
iterator_008.phpt000064400000001000150540263450007654 0ustar00--TEST--
APC: APCIterator array
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$it = new APCuIterator(['key1', 'key7', 'key9']);

for($i = 0; $i < 10; $i++) {
  apcu_store("key$i", "value$i");
}
foreach($it as $key=>$value) {
  $vals[$key] = $value['key'];
}
ksort($vals);
var_dump($vals);

?>
===DONE===
--EXPECT--
array(3) {
  ["key1"]=>
  string(4) "key1"
  ["key7"]=>
  string(4) "key7"
  ["key9"]=>
  string(4) "key9"
}
===DONE===
apc_005.phpt000064400000001173150540263450006576 0ustar00--TEST--
APC: apcu_store/fetch with arrays of objects
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$foo = array(new stdclass(), new stdclass());

var_dump($foo);

apcu_store('foo',$foo);

$bar = apcu_fetch('foo');
var_dump($foo);
var_dump($bar);

?>
===DONE===
--EXPECT--
array(2) {
  [0]=>
  object(stdClass)#1 (0) {
  }
  [1]=>
  object(stdClass)#2 (0) {
  }
}
array(2) {
  [0]=>
  object(stdClass)#1 (0) {
  }
  [1]=>
  object(stdClass)#2 (0) {
  }
}
array(2) {
  [0]=>
  object(stdClass)#3 (0) {
  }
  [1]=>
  object(stdClass)#4 (0) {
  }
}
===DONE===
apc_005b.phpt000064400000001301150540263450006731 0ustar00--TEST--
APC: apcu_store/fetch with arrays with duplicate object
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

$o = new stdClass();
$foo = array($o, $o);

var_dump($foo);

apcu_store('foo',$foo);

$bar = apcu_fetch('foo');
var_dump($foo);
// $bar[0] should be identical to $bar[1], and not a reference
var_dump($bar);
?>
===DONE===
--EXPECT--
array(2) {
  [0]=>
  object(stdClass)#1 (0) {
  }
  [1]=>
  object(stdClass)#1 (0) {
  }
}
array(2) {
  [0]=>
  object(stdClass)#1 (0) {
  }
  [1]=>
  object(stdClass)#1 (0) {
  }
}
array(2) {
  [0]=>
  object(stdClass)#2 (0) {
  }
  [1]=>
  object(stdClass)#2 (0) {
  }
}
===DONE===
apc_entry_001.phpt000064400000001013150540263450010004 0ustar00--TEST--
APC: apcu_entry (recursion)
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$value = apcu_entry("test", function($key){
	return apcu_entry("child", function($key) {
		return "Hello World";
	});
});

var_dump($value, apcu_entry("test", function($key){
	return "broken";
}), apcu_entry("child", function(){
	return "broken";
}));
?>
===DONE===
--EXPECT--
string(11) "Hello World"
string(11) "Hello World"
string(11) "Hello World"
===DONE===
typed_prop.phpt000064400000001246150540263450007635 0ustar00--TEST--
Success parameters should respect property types
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
version_compare(PHP_VERSION, '7.4.0dev', '>=') or die('skip Requires PHP >= 7.4');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

class Test {
    public bool $bool = false;
    public array $array = [];
}

$test = new Test;
apcu_store('foo', 'bar');
apcu_fetch('foo', $test->bool);
var_dump($test->bool);
try {
    apcu_fetch('foo', $test->array);
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}
var_dump($test->array);

?>
--EXPECTF--
bool(true)
Cannot assign %s to reference held by property Test::$array of type array
array(0) {
}
iterator_004.phpt000064400000001122150540263450007655 0ustar00--TEST--
APC: APCIterator regex & chunk size & list
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php
$it = new APCuIterator('/key[0-9]0/', APC_ITER_ALL, 1, APC_LIST_ACTIVE);
for($i = 0; $i < 41; $i++) {
  apcu_store("key$i", "value$i");
}
foreach($it as $key=>$value) {
  $vals[$key] = $value['key'];
}
ksort($vals);
var_dump($vals);

?>
===DONE===
--EXPECT--
array(4) {
  ["key10"]=>
  string(5) "key10"
  ["key20"]=>
  string(5) "key20"
  ["key30"]=>
  string(5) "key30"
  ["key40"]=>
  string(5) "key40"
}
===DONE===
apc_017.phpt000064400000000506150540263450006600 0ustar00--TEST--
APC should not preserve the IAP
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=default
--FILE--
<?php

$array = [1, 2, 3];
next($array);
apcu_store("ary", $array);
$array = apcu_fetch("ary");
var_dump(current($array));

?>
--EXPECT--
int(1)
apc_003b.phpt000064400000003361150540263450006737 0ustar00--TEST--
APC: apcu_store/fetch with objects
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (PHP_VERSION_ID < 80100) die("skip For PHP >= 8.1");
?>
--INI--
apc.enabled=1
apc.enable_cli=1
--FILE--
<?php

#[AllowDynamicProperties]
class foo { }
$foo = new foo;
var_dump($foo);
apcu_store('foo',$foo);
unset($foo);
$bar = apcu_fetch('foo');
var_dump($bar);
$bar->a = true;
var_dump($bar);

#[AllowDynamicProperties]
class bar extends foo
{
	public    $pub = 'bar';
	protected $pro = 'bar';
	private   $pri = 'bar'; // we don't see this, we'd need php 5.1 new serialization
	
	function __construct()
	{
		$this->bar = true;
	}
	
	function change()
	{
		$this->pri = 'mod';
	}
}

class baz extends bar
{
	private $pri = 'baz';

	function __construct()
	{
		parent::__construct();
		$this->baz = true;
	}
}

$baz = new baz;
var_dump($baz);
$baz->change();
var_dump($baz);
apcu_store('baz', $baz);
unset($baz);
var_dump(apcu_fetch('baz'));

?>
===DONE===
--EXPECTF--
object(foo)#%d (0) {
}
object(foo)#%d (0) {
}
object(foo)#%d (1) {
  ["a"]=>
  bool(true)
}
object(baz)#%d (6) {
  ["pub"]=>
  string(3) "bar"
  ["pro":protected]=>
  string(3) "bar"
  ["pri":"bar":private]=>
  string(3) "bar"
  ["pri":"baz":private]=>
  string(3) "baz"
  ["bar"]=>
  bool(true)
  ["baz"]=>
  bool(true)
}
object(baz)#%d (6) {
  ["pub"]=>
  string(3) "bar"
  ["pro":protected]=>
  string(3) "bar"
  ["pri":"bar":private]=>
  string(3) "mod"
  ["pri":"baz":private]=>
  string(3) "baz"
  ["bar"]=>
  bool(true)
  ["baz"]=>
  bool(true)
}
object(baz)#%d (6) {
  ["pub"]=>
  string(3) "bar"
  ["pro":protected]=>
  string(3) "bar"
  ["pri":"bar":private]=>
  string(3) "mod"
  ["pri":"baz":private]=>
  string(3) "baz"
  ["bar"]=>
  bool(true)
  ["baz"]=>
  bool(true)
}
===DONE===
apc_019.phpt000064400000001334150540263450006602 0ustar00--TEST--
The per-entry TTL should take precedence over the global TTL
--SKIPIF--
<?php
require_once(__DIR__ . '/skipif.inc');
if (!function_exists('apcu_inc_request_time')) die('skip APC debug build required');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.ttl=1
--FILE--
<?php

/* Keys chosen to collide */
apcu_store("EzEz", 24);
apcu_store("EzFY", 42, 3);
apcu_store("FYEz", "xxx");

echo "T+2\n";
apcu_inc_request_time(2);
apcu_store("FYEz", "xxx");
var_dump(apcu_fetch("EzEz"));
var_dump(apcu_fetch("EzFY"));

echo "T+4\n";
apcu_inc_request_time(2);
apcu_store("FYEz", "xxx");
var_dump(apcu_fetch("EzEz"));
var_dump(apcu_fetch("EzFY"));

?>
--EXPECT--
T+2
bool(false)
int(42)
T+4
bool(false)
bool(false)
apc_020.phpt000064400000001442150540263450006572 0ustar00--TEST--
Test default expunge logic wrt global and per-entry TTLs
--SKIPIF--
<?php
require_once(__DIR__ . '/skipif.inc');
if (!function_exists('apcu_inc_request_time')) die('skip APC debug build required');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.use_request_time=1
apc.ttl=1
apc.shm_size=1M
--FILE--
<?php

apcu_store("no_ttl_unaccessed", 12);
apcu_store("no_ttl_accessed", 24);
apcu_store("ttl", 42, 3);
apcu_store("dummy", "xxx");

apcu_inc_request_time(1);
apcu_fetch("no_ttl_accessed");

apcu_inc_request_time(1);

// Fill the cache
$i = 0;
while (apcu_exists("dummy")) {
    apcu_store("key" . $i, str_repeat('x', 500));
    $i++;
}

var_dump(apcu_fetch("no_ttl_unaccessed"));
var_dump(apcu_fetch("no_ttl_accessed"));
var_dump(apcu_fetch("ttl"));

?>
--EXPECT--
bool(false)
int(24)
int(42)