nodejs8-devel-8.17.0-lp152.3.17.1 4>$  Apa]/=„&\{j8A|{`!4krkB6 ޠ\G |DjC'Zax,$k IԠnv^n{}Oe=##̄~j (|C)Nj;RI&:ݶ=y@J-=Ii(l@4O/yOtOo$-vB5(q.U?xgk~ 7Ưik뎕NEF"\,. Ura8ac368a6a79bffe60fea33f774891d6dacc6f7c9d8812783db05b7845c47aaa9e68f3d17b62fecb8842440b2dfa2a7a90544b6fPa]/=„h?!@s] ]"k!c!-`:x".) *[1p︄F3l4l#k@ {J{TÞZ Y !sa`3^yE*3!ꉲ9,@IW~Sp} Hu}4㍣37*%-uL5]22}F5g`7[F*eܫpDTn'DIL)RdnKp;?d $ G !',-- :- - H-  u-  -X-9-@-(@(89:0FG-H-I`-XY\-]-^b(cdwe|flu-vHzCnodejs8-devel8.17.0lp152.3.17.1Development headers for NodeJS 8.xThis package provides development headers for Node.js needed for creation of binary modules.a]ٜcloud127 openSUSE Leap 15.2openSUSEMIThttp://bugs.opensuse.orgDevelopment/Languages/NodeJShttps://nodejs.orglinuxi586\s@\w@\T4\3?@\ @[@[R@[@[z@[]@[#@[!@[@[WZ@ZZZľ@ZlZZ@Zz@Zp^@ZTZAdam Majer Adam Majer Adam Majer Adam Majer Adam Majer Adam Majer Adam Majer Adam Majer Dirk Mueller Adam Majer Adam Majer Adam Majer Michel Normand Adam Majer Guillaume GARDET Guillaume GARDET Adam Majer Adam Majer Michel Normand Vítězslav Čížek Adam Majer Adam Majer Adam Majer Adam Majer Adam Majer adam.majer@suse.deadam.majer@suse.deGuillaume GARDET adam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dejengelh@inai.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dero@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comqantas94heavy@gmail.comqantas94heavy@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deastieger@suse.comadam.majer@suse.deadam.majer@suse.detoddrme2178@gmail.comadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deqantas94heavy@gmail.comi@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.suqantas94heavy@gmail.commimi.vx@gmail.comi@marguerite.sudevelop7@develop7.infoi@marguerite.sumeissner@suse.comi@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sui@marguerite.sudmueller@suse.comdmacvicar@suse.dei@marguerite.sunormand@linux.vnet.ibm.com- CVE-2021-22930.patch: http2: fixes use after free on close in stream canceling (bsc#1188917, CVE-2021-22930)- CVE-2020-8265.patch: Add a unit test for CVE-2020-8265 to make sure we don't have it broken in the future.- npm-v6.14.13.tar.gz: update to npm 6.14.13 fixing * fixes ssri Regular Expression Denial of Service and hosted-git-info Regular Expression Denial of Service (bsc#1187976, bsc#1187977, CVE-2021-27290, CVE-2021-23362) * fixes y18n Prototype Pollution (bsc#1184450, CVE-2020-7774) - CVE-2020-15095.patch, minimist.patch: obsoleted by above- CVE-2021-22884.patch: DNS rebinding in --inspect (CVE-2021-22884, bsc#1182620) - CVE-2021-22883.patch: only backport unit test to make sure we don't have regression here in the future.- CVE-2020-8287.patch: HTTP Request Smuggling allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html). (bsc#1180554, CVE-2020-8287)- Update Requires: so -devel requires npm - Rely on rpmbuild to define necessary python dependencies- fix_ci_tests.patch: add support to SUSE's ECDH backport errors in SLE's openssl- CVE-2020-15095.patch: fix information leak through log files (bsc#1173937, CVE-2020-15095)- Explicitly add -fno-strict-aliasing to CFLAGS to fix compilation on Aarch64 with gcc10 (bsc#1172686)- avoid rpmbuild warnings on if/else/endif constructs- Add Require for nodejs8 when intalling npm8 (bsc#1172728)- CVE-2020-8174.patch: napi: fix various types of memory corruption in napi_get_value_string_*() (CVE-2020-8174, bsc#1172443) - nghttp2_1.41.0.patch: deps: update nghttp2 to 1.41.0 - CVE-2020-11080.patch: http2: fix HTTP/2 Large Settings Frame DoS (CVE-2020-11080, bsc#1172442) - minimist.patch: Fixes a vulnerability in an npm component (CVE-2020-7598, bsc#1166916)- Reduce Requires to Recommends on nodejs8-devel when installing npm8- Update _constraints for ppc64 (BE)- CVE-2019-15604.patch: fixes a remotely triggerable assertion on a TLS server via a crafted certificate string (CVE-2019-15604, bsc#1163104) - CVE-2019-15605.patch: fixes an HTTP request smuggling vulnerability via malformed Transfer-Encoding header (CVE-2019-15605, bsc#1163102) - CVE-2019-15606.patch: trim HTTP header values of optional white space (CVE-2019-15606, bsc#1163103)- Update _constraints for aarch64- Really disable LTO when required (nodejs < 12)- New upstream LTS release 8.17.0: * deps: updates npm to 6.13.4 fixing an arbitrary path overwrite and access via "bin" field (bsc#1159352, CVE-2019-16777, CVE-2019-16776, CVE-2019-16775) - refreshed: versioned.patch node-gyp-addon-gypi.patch - upstreamed: CVE-2019-13173.patch- New upstream LTS release 8.16.2: * deps: update OpenSSL to 1.0.2s- Add _constraints for aarch64 & ppc64le to avoid build error- Fix build with OpenSSL 1.1.1d (bsc#1149792) * https://github.com/nodejs/node/pull/29550 * add fix_build_with_openssl_1.1.1d.patch- Update to 8.16.1: Security update regarding HTTP/2 Denial of Service vulnerabilities For details see, https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md#12.8.1 https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md (CVE-2019-9511, CVE-2019-9512, CVE-2019-9513, CVE-2019-9514, bsc#1146091, bsc#1146099, bsc#1146094, bsc#1146095, CVE-2019-9515, CVE-2019-9516, CVE-2019-9517, CVE-2019-9518, bsc#1146100, bsc#1146090, bsc#1146097, bsc#1146093) - Changes in 8.16.0: * n-api: + add API for async functions + mark thread-safe functions as stable- npm_search_paths.patch: make sure that npm resolves its default config file like in all other versions, as /etc/nodejs/npmrc (bsc#1144919)- CVE-2019-13173.patch: fix potential file overwrite via hardlink in fstream.DirWriter() function (bsc#1140290, CVE-2019-13173)- openssl_1_1_1.patch: backport fixes for OpenSSL 1.1.1 (bsc#1134209)- New upstream LTS release 8.15.1: * http: Further prevention of "Slowloris" attacks on HTTP and HTTPS connections by consistently applying the receive timeout set by server.headersTimeout to connections in keep-alive mode. (CVE-2019-5737, bsc#1127532)- nodejs.keyring: update keyring to today's list as per https://github.com/nodejs/node- New upstream LTS release 8.15.0: * cli: add --max-http-header-size flag * http: add maxHeaderSize property - Changes in LTS release 8.14.1: * http2: fix sequence of error/close events - Changes in LTS release 8.14.0: * http: + Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. (CVE-2018-12121, bsc#1117626) + A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with server.headersTimeout. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with server.setTimeout(), this aids in protecting against excessive resource retention and possible Denial of Service. (CVE-2018-12122, bsc#1117627) + Two-byte characters are now strictly disallowed for the path option in HTTP client requests. Paths containing characters outside of the range \u0021 - \u00ff will now be rejected with a TypeError. This behavior can be reverted if necessary by supplying the --security-revert=CVE-2018-12116 command line argument (this is not recommended). (CVE-2018-12116, bsc#1117630) * url: Fix a bug that would allow a hostname being spoofed when parsing URLs with url.parse() with the 'javascript:' protocol. (CVE-2018-12123, bsc#1117629) - Changes in LTS release 8.13.0: * assert: backport some assert commits * deps: + upgrade to libuv 1.23.2 + V8: cherry-pick 64-bit hash seed commits * http: added aborted property to request * http2: no longer experimental + bump dependency of nghttp2 to 1.34.0 - fix_ci_tests.patch: Reduce timeout for test-http2-session-timeout - skip_test_on_lowmem.patch: skip test on low-memory build machine - env_shebang.patch: dropped in favour of programmatic update- Enable armv6 build- flaky_test_rerun.patch: Rerun failing tests in case of flakiness- fix_ci_tests.patch: fix unit tests- New upstream LTS release 8.12.0: * async_hooks: + rename PromiseWrap.parentId + remove runtime deprecation + deprecate unsafe emit{Before,After} * cluster: + add cwd to cluster.settings + support windowsHide option for workers * crypto: allow passing null as IV unless required * deps: + upgrade npm to 6.4.1 + upgrade libuv to 1.19.2 + Upgrade node-inspect to 1.11.5 * fs, net: + support as and as+ flags in stringToFlags() + emit 'ready' for fs streams and sockets * http, http2: + add options to http.createServer() + add 103 Early Hints status code + add http fallback options to .createServer * n-api: take n-api out of experimental * perf_hooks: add warning when too many entries in the timeline * src: + add public API for managing NodePlatform + allow --perf-(basic-)?prof in NODE_OPTIONS + node internals' postmortem metadata * tls: expose Finished messages in TLSSocket * trace_events: add file pattern cli option * util: implement util.getSystemErrorName() icu_61_namespacefix.patch: upstreamed npm_search_paths.patch, versioned.patch, env_shebang.patch, fix_ci_tests.patch: refreshed- New upstream LTS release 8.11.4: * buffer: Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2 encoding (CVE-2018-12115, bsc#1105019) * deps: Upgrade to OpenSSL 1.0.2p, fixing: + Client DoS due to large DH parameter (CVE-2018-0732, bsc#1097158) + ECDSA key extraction via local side-channel- Ensure neutrality of description. - Use %make_install.- Recommend same major version npm package (bsc#1097748)- New upstream LTS release 8.11.3: * buffer: Fixes Denial of Service vulnerability where calling Buffer.fill() could hang (CVE-2018-7167, bsc#1097375) * http2: + Fixes Denial of Service vulnerability by updating the http2 implementation to not crash under certain circumstances during cleanup (CVE-2018-7161, bsc#1097404) + Unbundled nghttp2 to fix Denial of Service vulnerability (CVE-2018-1000168, bsc#1097401)- env_shebang.patch: use absolute paths in executable shebang lines - versioned.patch: updated to move shebang modifications to above patch.- use gcc7 for SLE12 - manual_configure.patch: configure nghttp2 correctly- New upstream LTS release 8.11.2: * deps: + update node-inspect to 1.11.3 + update nghttp2 to 1.29.0 * http2: Sync with current release stream * n-api: Sync with current release stream - versioned.patch: rebased- icu_61_namespacefix.patch: Fix building with ICU61.1 (bsc#1091764)- Install license with %license, not %doc (bsc#1082318)- Fix some node-gyp permissions- New upstream LTS release 8.11.1: * Security fixes: + Fix for inspector DNS rebinding vulnerability (bsc#1087463, CVE-2018-7160) + Fix for 'path' module regular expression denial of service (bsc#1087459, CVE-2018-7158) + Reject spaces in HTTP Content-Length header values (bsc#1087453, CVE-2018-7159) * deps: upgrade http-parser to v2.8.0- New upstream LTS release 8.10.0: * deps: + update V8 to 6.2.414.46 + revert ABI breaking changes in V8 6.2 + upgrade libuv to 1.19.1 + re land npm 5.6.0 * crypto: + Support both OpenSSL 1.1.0 and 1.0.2. This allows us to drop openssl11.patch + warn on invalid authentication tag length * async_hooks: + update defaultTriggerAsyncIdScope for perf + use typed array stack as fast path + use scope for defaultTriggerAsyncId + separate missing from default context + deprecate undocumented API * n-api: add helper for addons to get the event loop * cli: add --stack-trace-limit to NODE_OPTIONS * console: add support for console.debug * module: + add builtinModules + replace default paths in require.resolve() * src: add process.ppid * http: + support generic Duplex streams + add rawPacket in err of clientError event + better support for IPv6 addresses * tls: unconsume stream on destroy * process: improve unhandled rejection message * stream: remove usage of *State.highWaterMark * trace_events: add executionAsyncId to init events - remove any old manpage files in %pre from before update-alternatives were used to manage symlinks to these manpages. - versioned.patch: refreshed- Add Recommends and BuildRequire on python2 for npm. node-gyp requires this old version of python for now. This is only needed for binary modules.- Fix specfile typo - Use gcc7 on Leap 42.3- even on recent codestreams there is no binutils gold on s390 only on s390x- New upstream LTS release 8.9.4: * deps: update npm to 5.6.0 * for complete changeset see https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.9.4 - versioned.patch: refreshed - nodejs-sle11-python26-check_output.patch: refreshed- Enable CI tests in %check target + fix_ci_tests.patch: - DNS queries in buildroots are failing with EAI_AGAIN - disable test-module-loading-globalpaths.js - we have hardcoded global paths + versioned.patch: call versioned node binary for tests + openssl11.patch: fix OpenSSL 1.1 backport so all SSL tests pass instead of crashing in some situations. - node-gyp-addon-gypi.patch: fix typo allowing unit tests to compile- openssl11.patch: backport support for OpenSSL 1.1 (bnc#1066953) - Dropped 8334.diff - no longer needed- New upstream LTS release 8.9.3: * buffer: buffers allocated with an invalid content will now be zero filled [ CVE-2017-15897, bnc#1072320 ] * deps/openssl: updated to 1.0.2n (bsc#1072322) [ CVE-2017-3738 CVE-2017-15896 ] - Changes in 8.9.2: * console: avoid adding infinite error listeners * http2: improve errors thrown in header validation - Remove unnecessary curl BuildRequires - Enable gold linker on s390x (TW and SLE/Leap 15) - Build with bundled ICU if system ICU not available (only applies to SLE 11/12 and Leap 42.x)- Change BuildRequires from openssl-devel to libopenssl-1_0_0-devel due to Tumbleweed/Leap 15 change to OpenSSL 1.1.0 as default- Update nodejs.keyring based on current Release Team as found on https://github.com/nodejs/node#release-team- Fix permissions of node-gyp. This should be executable to allow building of binary node modules.- New upstream LTS version 8.9.1: * openssl: upgrade openssl sources to 1.0.2m [OpenSSL Security Advisory (bsc#1066242, bsc#1056058) CVE-2017-3735 CVE-2017-3736] * https: revert refactor to use http internals - Changes since 8.9.0 LTS version: * deps: update to npm 5.5.1 * http2: The exposed http2 socket is no longer manipulatable * module: support custom paths to require.resolve() * util: util.TextEncoder and util.TextDecoder are no longer experimental. No longer produces a warning when using them. - versioned.patch: refreshed - 0f3e69db.patch icu59.patch: removed empty patches- New upstream release 8.8.1: * net: Fix timeout with null handle issue. This is a regression in Node 8.8.0. (gh#nodejs/node#16489)- New upstream release 8.8.0: * crypto: expose ECDH class (gh#nodejs/node#8188) * http2: (gh#nodejs/node#{15685,16269}) + http2 is now exposed by default without the need for a flag + a new environment variable NODE_NO_HTTP2 has been added to allow userland http2 to be required + support has been added for generic Duplex streams * module: resolve and instantiate loader pipeline hooks have been added to the ESM lifecycle (gh#nodejs/node#15445) * zlib: (CVE-2017-14919: only affects TW) In zlib v1.2.9, a change was made that causes an exception to be thrown when a raw deflate stream is initialized with windowBits set to 8. Node.js will now gracefully set windowBits to 9 (replicating the legacy behavior) to avoid a DOS vector.- Make sure npm and npx programs remain executable- Replace {{node_version_major}} with RPM define %node_version_number for simpler spec file review.- New upstream version 8.7.0: * deps: + update npm to 5.4.2 + update libuv 1.15.0 + update V8 to 6.1.534.42 * dgram: support for setting dgram socket buffer size * fs: add support O_DSYNC file open constant * util: deprecate obj.inspect for custom inspection - nodejs-libpath.patch versioned.patch: refreshed patches- New upstream version 8.6.0: * crypto: Support for multiple ECDH curves. * dgram: + Added setMulticastInterface() API + Custom lookup functions are now supported. * n-api: The command-line flag is no longer required to use N-API * tls: Docs-only deprecation of parseCertString(). * path: fix normalize paths ending with two dots (CVE-2017-14849) * see https://nodejs.org/en/blog/release/v8.6.0/ for full changelog- New upstream version 8.5.0: * build: Snapshots are now re-enabled in V8 (#14875) * console: Implement minimal console.group(). (#14910) * deps/libuv: upgraded to 1.14.1 (#14866) * deps/nghttp2: upgraded to 1.25.0 (#14955) * dns: Add "verbatim" option to dns.lookup(). When true, results from the DNS resolver are passed on as-is, without the reshuffling that Node.js otherwise does that puts IPv4 addresses before IPv6 addresses. (#14731) * fs: add fs.copyFile and fs.copyFileSync which allows for more efficient copying of files. (#15034) * inspector: Enable async stack traces (#13870) * module: Add support for ESM. This is currently behind the - -experimental-modules flag and requires the .mjs extension. (#14369) * napi: implement promise (#14365) * os: Add support for CIDR notation to the output of the networkInterfaces() method. (#14307) * perf_hooks: An initial implementation of the Performance Timing API for Node.js. This is the same Performance Timing API implemented by modern browsers with a number of Node.js specific properties. The User Timing mark() and measure() APIs have also been implemented. (#14680) * tls: multiple PFX in createSecureContext (#14793) - Change compiler version used: * SLE 11 SP4: GCC 5 * SLE 12 and Leap 42: GCC 6 * Factory and SLE/Leap 15: default- New upstream release 8.4.0 * HTTP2: Experimental support for the built-in http2 module has been added via the --expose-http2 flag. (#14239) * Inspector: + require() is available in the inspector console now. (#8837) + Multiple contexts, as created by the vm module, are supported now. (#14465) * N-API: New APIs for creating number values have been introduced. (#14573) * Stream: For Duplex streams, the high water mark option can now be set independently for the readable and the writable side. (#14636) * Util: util.format now supports the %o and %O specifiers for printing objects. (#14558) - Changes in release 8.3.0 * V8: The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile. (#14574) * DNS: Independent DNS resolver instances are supported now, with support for cancelling the corresponding requests. (#14518) * N-API: Multiple N-API functions for error handling have been changed to support assigning error codes. (#13988) * REPL: Autocompletion support for require() has been improved. (#14409) * Utilities: The WHATWG Encoding Standard (TextDecoder and TextEncoder) has been implemented as an experimental feature. (#13644)- Fix update-alternative handling in %postun - don't remove links on upgrades.- New upstream release 8.2.1 * http: Writes no longer abort if the Socket is missing. * process, async_hooks: Avoid problems when triggerAsyncId is undefined. * zlib: Streams no longer attempt to process data when destroyed. - Changes in upstream release 8.2.0 * async_hooks: Multiple improvements to Promise support in async_hooks have been made. * build: The compiler version requirement to build Node with GCC has been raised to GCC 4.9.4. [820b011ed6] #13466 * cluster: Users now have more fine-grained control over the inspector port used by individual cluster workers. Previously, cluster workers were restricted to incrementing from the master's debug port. [dfc46e262a] #14140 * dns: + The server used for DNS queries can now use a custom port. [ebe7bb29aa] #13723 + Support for dns.resolveAny() has been added. [6e30e2558e] #13137 * npm: The npm CLI has been updated to version 5.3.0. In particular, it now comes with the npx binary, which is also shipped with Node. - Modify versioned.patch: * Add support for new npx binary introduced in npm 5.3.0, versioned as `/usr/bin/npx8`.- New upstream release 8.1.4 * v8: disable V8 snapshots. The hashseed embedded in the snapshot is currently the same for all runs of the binary. This opens node up to collision attacks which could result in a Denial of Service. We have temporarily disabled snapshots until a more robust solution is found. (bnc#1048299, CVE-2017-11499) * The c-ares function ares_parse_naptr_reply(), which is used for parsing NAPTR responses, could be triggered to read memory outside of the given input buffer if the passed in DNS response packet was crafted in a particular way. (CVE-2017-1000381, bnc#1044946)- Depend on nodejs-common that is then used to pick correctly versioned node or npm binary. This is required since 3rd party modules use `/usr/bin/env node` which breaks if multiple versions of NodeJS are installed at the same time and non-default version is used (for example, to compile a native module)- npm_search_paths.patch: Since concurrent installations are now possible, node manual pages are moved once again back under npm searcheable locations only. - versioned.patch: All files are now under versioned directoies and names. node and npm symlinks are now managed by update-alternatives - node-gyp-addon-gypi.patch: Reference versioned directories only- New upstream version 8.1.3 * Stream regression fixed - The finish event will now always be emitted after the error event if one is emitted * Stream regression fixed - In object mode, readable streams can now use undefined again.- New upstream version 8.1.2 * Release to fix broken process.release properties- New upstream version 8.1.1 * Child processes - stdout and stderr are now available on the error output of a failed call to the util.promisify()ed version of child_process.exec. * HTTP - A regression that broke certain scenarios in which HTTP is used together with the cluster module has been fixed. * HTTPS - The rejectUnauthorized option now works properly for unix sockets. * Readline - A change that broke npm init and other code which uses readline multiple times on the same input stream is reverted.- Don't remove all src/ directories, as that breaks npm. (boo:#1043965) - Fix typo in node-gyp-addon-gypi.patch patch - New upstream version 8.1.0 Notable changes, * Async Hooks - When one Promise leads to the creation of a new Promise, the parent Promise will be identified as the trigger * Dependencies + libuv has been updated to 1.12.0 + npm has been updated to 5.0.3 * File system + The fs.exists() function now works correctly with util.promisify() + fs.Stats times are now also available as numbers * Inspector + It is now possible to bind to a random port using --inspect=0 * Zlib + A regression in the Zlib module that made it impossible to properly subclasses zlib.Deflate and other Zlib classes has been fixed.- Branch nodejs7 -> nodejs8, the new current and eventually LTS upstream branch. Note that the LTS lifespan for 8.x will end on December 31st, 2019 unless extended at a later date. - New upstream version 8.0.0. Notable changes * Async Hooks - now in core * Buffer + Using the --pending-deprecation flag will cause Node.js to emit a deprecation warning when using new Buffer(num) or Buffer(num). + new Buffer(num) and Buffer(num) will zero-fill new Buffer + Many Buffer methods now accept Uint8Array as input * Child Process + Argument and kill signal validations have been improved + Child Process methods accept Uint8Array as input * Console + Error events emitted when using console methods are now supressed. * Dependencies + The npm client has been updated to 5.0.0 + V8 has been updated to 5.8 with forward ABI stability to 6.0 * Domains + Native Promise instances are now Domain aware * Errors + We have started assigning static error codes to errors generated by Node.js. This has been done through multiple commits and is still a work in progress. * File System + The utility class fs.SyncWriteStream has been deprecated + The deprecated fs.read() string interface has been removed * HTTP + Improved support for userland implemented Agents + Outgoing Cookie headers are concatenated into a single string + The httpResponse.writeHeader() method has been deprecated + New methods for accessing HTTP headers have been added to OutgoingMessage * lib + All deprecation messages have been assigned static identifiers + The legacy linkedlist module has been removed * N-API + Experimental support for the new N-API API has been added * Process + Process warning output can be redirected to a file using the - -redirect-warnings command-line argument + Process warnings may now include additional detail * REPL + REPL magic mode has been deprecated * src + NODE_MODULE_VERSION has been updated to 57 + Add --pending-deprecation command-line argument and NODE_PENDING_DEPRECATION environment variable + The --debug command-line argument has been deprecated. Note that using --debug will enable the new Inspector-based debug protocol as the legacy Debugger protocol previously used by Node.js has been removed. + Throw when the -c and -e command-line arguments are used at the same time + Throw when the --use-bundled-ca and --use-openssl-ca command-line arguments are used at the same time. * Stream + Stream now supports destroy() and _destroy() APIs + Stream now supports the _final() API * TLS + The rejectUnauthorized option now defaults to true + The tls.createSecurePair() API now emits runtime deprecation + A runtime deprecation will now be emitted when dhparam is less than 2048 bits * URL + The WHATWG URL implementation is now a fully-supported API * Util + Symbol keys are now displayed by default when using util.inspect() + toJSON errors will be thrown when formatting %j + Convert inspect.styles and inspect.colors to prototype-less objects + The new util.promisify() API has been added * Zlib + Support Uint8Array in Zlib convenience methods + Zlib errors now use RangeError and TypeError consistently - node-gyp-addon-gypi.patch: refresh - placeholders from other NodeJS version: 0f3e69db.patch, icu59.patch.- 0f3e69db.patch: placeholder for GCC 7 compilation fixes, already upstreamed.- New upstream version 7.10.0 * crypto: add randomFill and randomFillSync * meta: Added new collaborators * process: fix crash when Promise rejection is a Symbol * url: make WHATWG URL more spec compliant * v8: + fix stack overflow in recursive method + fix build errors with g++ 7 - New upstream version 7.9.0 * util: console is now closer to what is supported in all major browsers- New upstream release 7.8.0 * buffer: do not segfault on out-of-range index (#11927) * crypto: fix memory leak if certificate is revoked (#12089) * deps/npm: upgrade npm to 4.2.0 (#11389) * deps/V8: fix async await desugaring in V8 (#12004) * readline: add option to stop duplicates in history (#2982)- New upstream release 7.7.4 * deps: upgraded internal node-inspect version to 1.10.6, containing several fixes * inspector: use proper WebSockets URLs when bound to 0.0.0.0 * tls: fixed a segfault when the handle was destroyed after a partial read - Changes in release 7.7.3 * net: Socket.prototype.connect now once again functions without a callback * url: URL.prototype.origin now properly specified an opaque return of 'null' for file:// URLs - Changes in release 7.7.2 * tty: add ref() so process.stdin.ref() etc. work * util: fix inspecting symbol key in string - Rebased nodejs-libpath.patch for minor changes in new version- New upstream release 7.7.1 * Fixes bug that prevented all native modules from building - Changes in release 7.7.0 * child_process: spawnSync() exit code now is null when the child is killed via signal * crypto: adding support for OPENSSL_CONF again * doc: items in the API documentation may now have changelogs * http: new functions to access the headers for an outgoing HTTP message * lib: deprecate node --debug at runtime * src: adding support for trace-event tracing * tls: new tls.TLSSocket() supports sec ctx options * url: adding URL.prototype.toJSON support- New upstream release 7.6.0 * crypto: remove expired certs from CNNIC whitelist * deps: update V8 to 5.5 * deps: upgrade libuv to 1.11.0 * deps: add node-inspect 1.10.4 * deps: upgrade zlib to 1.2.11 * fs: allow WHATWG URL objects as paths * inspector: add --inspect-brk * lib: build "node inspect" into node * src: support UTF-8 in compiled-in JS source file * url: extend url.format to support WHATWG URL- New upstream release 7.5.0 * crypto: crypto store source selection available at runtime. Default is to use system CA store managed by OpenSSL library. * deps: + upgrade npm to 4.1.2 + upgrade bunbled OpenSSL to 1.0.2k. * doc: add basic documentation for WHATWG URL API * process: add NODE_NO_WARNINGS environment variable * url: allow use of URL with http.request and https.request - removed 10657.patch - upstreamed - 8334.diff is now an empty patch, upstreamed.- New upstream release 7.4.0 * buffer: improve performance of Buffer allocation by ~11% * buffer: improve performance of Buffer.from() by ~50% * deps/npm: upgrade to v4.0.5 * events: improve performance of EventEmitter.once() by ~27% * fs: allow passing Uint8Array to fs methods where Buffers are supported * http: improve performance of http server by ~7% - New patch 10657.patch * Fixes build error caused by attempt to use bundled zlib - Refresh 8334.diff- Add basic check that Node.js loads successfully to spec file- New upstream release 7.3.0 * buffer: buffer.fill() now works properly for the UCS2 encoding on Big-Endian machines. * cluster: disconnect() now returns a reference to the disconnected worker. * http: Remove stale timeout listeners in order to prevent a memory leak when using keep alive. * tls: Allow obvious key/passphrase combinations. * url: + Including base argument in URL.originFor() to meet specification compliance. + Improve URLSearchParams to meet specification compliance. - 8334.diff: refreshed.- New upstream release 7.2.1 * buffer: reverted the runtime deprecation of calling Buffer() without new * buffer: fixed buffer.transcode() for single-byte character encodings to UCS2 * deps/npm: upgrade npm to 3.10.10 * deps/V8: fixed a significant instanceof performance regression * promise: --trace-warnings now produces useful stacktraces for Promise warnings * repl: fixed a bug preventing correct parsing of generator functions- Update to upstream release 7.2.0 * crypto: The Decipher methods setAuthTag() and setAAD now return this. * dns: Implemented {ttl: true} for resolve4() and resolve6() * libuv: Upgrade to v1.10.1 * process: Added a new external property to the data returned by memoryUsage() * tls: Fixed a memory leak when writes were queued on TLS connection that was destroyed during handshake. * V8 (dep): Upgrade to v5.4.500.43 * v8: The data returned by getHeapStatistics() now includes three new fields: malloced_memory, peak_malloced_memory, and does_zap_garbage. * for complete changelog, see https://nodejs.org/en/blog/release/v7.2.0/ - 8334.diff: ported and updated system CA store for the new node crypto code.- Add missing conflicts to base package. It's not possible to have concurrent nodejs installations.- Package unification across various branches of NodeJS. Package for 4.x, 6.x and current (7.x) branches of NodeJS are now handled via GitHub repository. - New upstream release 7.1.0 - branch as new nodejs7 package. * buffer: + Passing invalid input to Buffer.byteLength will now throw an error + Calling Buffer without new is now deprecated and will emit a process warning + Passing a negative number to allocUnsafe will now throw an error + add buffer.transcode to transcode a buffer's content from one encoding to another primarily using ICU * child process: + The fork and execFile methods now have stronger argument validation + add public API for IPC channel * cluster: + The worker.suicide method is deprecated and will emit a process * deps: + V8 has been updated to 5.4.500.36 + NODE_MODULE_VERSION has been updated to 51 * File System: + A process warning is emitted if a callback is not passed to async file system methods * Promises: + Unhandled Promise rejections have been deprecated and will emit a process warning * The punycode module has been deprecated * add NODE_PRESERVE_SYMLINKS environment variable that has the same effect as the --preserve-symlinks flag * url: An Experimental WHATWG URL Parser has been introduced- New upstream release 6.9.1 * streams: + Fix a regression introduced in v6.8.0 in readable stream that caused unpipe to remove the wrong stream.- new upstream release 6.9.0 * crypto: (N/A: not compiled with FIPS support on openSUSE/SLE) + Don't automatically attempt to load an OpenSSL configuration file, from the OPENSSL_CONF environment variable or from the default location for the current platform. Always triggering a configuration file load attempt may allow an attacker to load compromised OpenSSL configuration into a Node.js process if they are able to place a file in a default location. * node: + Introduce the `process.release.lts` property, set to "Boron". This value is "Argon" for v4 LTS releases and undefined for all other releases. * V8: + CVE-2016-5172/bsc#998743: Backport fix for an arbitrary memory read. The parser in V8 mishandled scopes, potentially allowing an attacker to obtain sensitive information from arbitrary memory locations via crafted JavaScript code. This vulnerability would require an attacker to be able to execute arbitrary JavaScript code in a Node.js process. * v8_inspector: + Generate a UUID for each execution of the inspector. This provides additional security to prevent unauthorized clients from connecting to the Node.js process via the v8_inspector port when running with --inspect. Since the debugging protocol allows extensive access to the internals of a running process, and the execution of arbitrary code, it is important to limit connections to authorized tools only. - refresh patches- Fix incorrect SHASUMS256.txt.asc file that prevented package update being accepted into Factory- enable usage of system certificate store on SLE11SP4 by requiring openssl1 (boo#1000036) - new upstream version 6.7.0 * openssl update (not applicable for SLE12SP2, Leap 42.2 and later) + upgrade to 1.0.2j (CVE-2016-6304, CVE-2016-2183, CVE-2016-2178, CVE-2016-6306, CVE-2016-7052) + remove support for dynamic 3rd party engine modules * http: Properly validate for allowable characters in input user data. This introduces a new case where throw may occur when configuring HTTP responses, users should already be adopting try/catch here. (CVE-2016-5325, bnc#985201) * tls: properly validate wildcard certificates (CVE-2016-7099, bnc#1001652) * v8: Fix regression where a regex on a frozen object was broken * buffer: Zero-fill excess bytes in new Buffer objects created with Buffer.concat() * src: Fix regression where passing an empty password and/or salt to crypto.pbkdf2() would cause a fatal error- new upstream version 6.6.0 * crypto: Added crypto.timingSafeEqual() * events: Made the "max event listeners" memory leak warning more accessible * promises: Unhandled rejections now emit a process warning after the first tick * repl: Added auto alignment for .editor mode * util: Some functionality has been added to util.inspect() + Returning this from a custom inspect function now works + Added support for Symbol-based custom inspection methods- new upstream version 6.5.0 * buffer: Fix regression introduced in v6.4.0 that prevented .write() at buffer end * deps: update V8 to 5.1.281.75 * inspector: + fix inspector hang while disconnecting + add support for uncaught exception * repl: Fix saving editor mode text in .save * Revert "repl,util: insert carriage returns in output"- 8334.diff - https://github.com/nodejs/node/pull/8334 * use system CA store instead of one provided by Node- new upstream version 6.4.0 * child_process, cluster: Forked child processes and cluster workers now support stdio configuration. * child_process: argv[0] can now be set to arbitrary values in spawned processes. * fs: fs.ReadStream now exposes the number of bytes it has read * repl: The REPL now supports editor mode. * util: inspect() can now be configured globally using util.inspect.defaultOptions- Use distutils.sysconfig to get build parameters fixing compilation on SLE11SP4- new upstream version 6.3.1 * buffer: Improve performance of Buffer.from(str, 'hex') and Buffer#write(str, 'hex') * buffer: Fix creating from zero-length ArrayBuffer * Backport V8 instanceof bugfix and update to V8 5.0.71.xx * repl: Fix issue with function redeclaration. * util: Fix inspecting of boxed symbols. - 7569.diff - removed, upstreamed - SHASUM256.txt - added empty file so that gpg check is run on the SHASUM256.txt.asc, which is not a detached signature- obsolete remove gpg-offline / %gpg_verify- Use OpenSSL supplied with Leap 42.2 and SLE12 SP2 instead of bundled version.- new upstream version 6.3.0 * buffer: Added buffer.swap64() to compliment swap16() & swap32() * crypto: Root certificates have been updated. * debugger: The server address is now configurable via - -debug=
: * npm: Upgraded npm to v3.10.3 * readline: Added the `prompt` option to the readline constructor. * repl / vm: `sigint`/`ctrl+c` will now break out of infinite loops without stopping the Node.js instance. * added support for v8_inspector (node --inspect) - since we can, build NodeJS shared library. - refreshed patches: * support-arm64-build.patch * nodejs-libpath.patch * npm_search_paths.patch - 7569.diff: * Add upstream PR: #7569 to fix build failure with shared OpenSSL and v8_inspector enabled- Fix Group tag.- new upstream version 6.2.2 * http: + req.read(0) could cause incoming connections to stall and time out under certain conditions. (Fedor Indutny) + When freeing the socket to be reused in keep-alive Agent wait for both prefinish and end events. Otherwise the next request may be written before the previous one has finished sending the body, leading to a parser errors. (Fedor Indutny) * npm: upgrade npm to 3.9.5 (Kat Marchán) - use build_cond to to manage configure parameters, instead of having duplicate suse_version ifs - fix permission issues with some installed files - move fdups to end of install section to make sure we don't end up with dangling symlinks - rpm cannot handle more than one level of parenthesis, hence Conflict: otherproviders(npm), not otherproviders(npm(npm)) as the second version has no desired effect - we should no longer need to explicitly set ARCH values - configure should deal with this properly - verify upstream tarball integrity cryptographically - patch changes: * nodejs-libpath.patch split into two, nodejs-libpath.patch that applies on default and nodejs-libpath64.patch that applies on top for 64-bit arches * support-arm64-build.patch refreshed * npm_search_paths.patch: + search for manpages in paths were we installed them + install modules into /usr/local prefix + search for config files under /etc/nodejs- Search for node modules under /usr/lib{,64}/node_modules and not a non-owned path of /usr/lib{,64}/node- uppdate version 6.2.1 * buffer: Ignore negative lengths in calls to Buffer() and Buffer.allocUnsafe(). * npm: Upgrade npm to 3.9.3 * V8: Upgrade to V8 5.0.71.52. - update to version 6.2.0 * buffer: fix lastIndexOf and indexOf in various edge cases * src,module: add --preserve-symlinks command line flag * util: adhere to noDeprecation set at runtime - refresh support-arm64-build.patch * `configure` bits incorporated upstream - refresh addon-rpm.gypi- update version 6.1.0 * assert: deep{Strict}Equal() now works correctly with circular references. * debugger: Arrays are now formatted correctly in the debugger repl. * deps: Upgrade OpenSSL sources to 1.0.2h. * net: Introduced a Socket#connecting property. Previously this information was only available as the undocumented, internal _connecting property. * process: Introduced process.cpuUsage(). * stream: Writable#setDefaultEncoding() now returns this. * util: Two new additions to util.inspect(): + Added a maxArrayLength option to truncate the formatting of Arrays. This is set to 100 by default. + Added a showProxy option for formatting proxy intercepting handlers. Inspecting proxies is non-trivial and as such this is off by default.- update version 5.9.1 * buffer: Now properly throws RangeErrors on out-of-bounds writes This effects write{Float|Double} when the noAssert option is not used. * timers: Returned timeout objects now have a Timeout constructor name. Performance of Immediate processing is now ~20-40% faster * vm: Fixed a contextify regression introduced in v5.9.0- update version 5.7.0 + buffer: * You can now supply an encoding argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]]). See the API documentation for details on how this works. * Buffer#indexOf() no longer requires a byteOffset argument if you also wish to specify an encoding: Buffer#indexOf(val[, byteOffset][, encoding]). + child_process: * spawn() and spawnSync() now support a 'shell' option to allow for optional execution of the given command inside a shell. If set to true, cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat. and .cmd files to be executed with spawn() and spawnSync(). + http_parser: * Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters + dgram: * socket.send() now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. + http: * Fix a bug where handling headers will mistakenly trigger an 'upgrade' event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. + net: * Added a listening Boolean property to net and http servers to indicate whether the server is listening for connections. + node: * The C++ node::MakeCallback() API is now reentrant and calling it from inside another MakeCallback() call no longer causes the nextTick queue or Promises microtask queue to be processed out of order. + tls: * Add a new tlsSocket.getProtocol() method to get the negotiated TLS protocol version of the current connection. + vm: * Introduce new 'produceCachedData' and 'cachedData' options to new vm.Script() to interact with V8's code cache. When a new vm.Script object is created with the 'produceCachedData' set to true a Buffer with V8's code cache data will be produced and stored in cachedData property of the returned object. This data in turn may be supplied back to another vm.Script() object with a 'cachedData' option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. + performance: Improvements in: * process.nextTick() * path module * querystring module * streams module when processing small chunks - rework nodejs-libpath.patch- update version 5.6.0 * http: fix defects in HTTP header parsing for requests and responses that can allow request smuggling (CVE-2016-2086) (boo#966077) or response splitting (CVE-2016-2216 boo#966076) HTTP header parsing now aligns more closely with the HTTP spec including restricting the acceptable characters. * http-parser: upgrade from 2.6.0 to 2.6.1 * npm: upgrade npm from 3.3.12 to 3.6.0 * openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the Logjam attack, TLS clients now reject Diffie-Hellman handshakes with parameters shorter than 1024-bits, up from the previous limit of 768-bits. - changes in version 5.5.0 * events: make sure console functions exist * fs: add autoClose option to fs.createWriteStream * http: improves expect header handling * node: allow preload modules with -i * v8,src: expose statistics about heap spaces (v8.getHeapSpaceStatistics()) * Minor performance improvements: + lib: Use arrow functions instead of bind where possible + module: cache stat() results more aggressively + querystring: improve parse() performance - merge patch: nodejs-libpath.patch and nodejs-lib64path.patch- update version 5.4.1 * Minor performance improvements: + module: move unnecessary work for early return * Various bug fixes * Various doc fixes * Various test improvements - fix boo#962297: online update breaks nodejs-npm dependency- update version 5.4.0 * http: + A new status code was added: 451 - "Unavailable For Legal Reasons" + Idle sockets that have been kept alive now handle errors * minor performance improvements: + assert: deepEqual is now speedier when comparing TypedArrays + lib: Use arrow functions instead of bind where possible + node: Improved accessor perf of process.env + node: Improved performance of process.hrtime() + node: Improved GetActiveHandles performance + util: Use faster iteration in util.format() - fix boo#961254: * common.gypi should install at /usr/share/node, which is now in /usr/lib64/node_modules/npm/node_modules/node-gyp * node-gyp requires nodejs-devel which contains v8.h and others so npm sub-package should require nodejs-devel- fix boo#955142: SLES11 compliance of build process * usage of g++ 4.8 needs to be specified on SLES11 * python 2.6 does not include the check_output method used in the configure script. We need to patch it into the script - add patch: nodejs-sle11-python26-check_output.patch - adjust packaging method for nodejs-doc * %{_docdir} will be recreated anyway when *.md is added through %doc macro, so we can't install doc/api in %install section on sle11 - adjust packaging method for nodejs_sitelib * "install -d" won't work on sle11 for %{_libexecdir}, replace with "mkdir -p"- update version 5.3.0 * buffer: Buffer.prototype.includes() has been added to keep parity with TypedArrays * domains: Fix handling of uncaught exceptions * https: Added support for disabling session caching * repl: Allow third party modules to be imported using require() * deps: Upgrade libuv to 1.8.0 - as npm was dropped from factory/d:l:nodejs, we rename nodejs-npm to npm because there's only one npm package existing (there's another one in 13.2 only, but we can upgrade it smoothly through newer version we provide - fix boo#948045 again: Nodejs 4.0 rpm does not install addon-rpm.gypi * I copied codes from old specfile, which installed nodejs modules into /usr/share/node, while I splitted that directory into devel package. so common.gypi and addon-rpm.gypi were not in npm package at all! - nodejs >= 5.2.0 needs binutils-gold to build (github issue #4212)- update to 4.2.3 * http: Fix a bug where an HTTP socket may no longer have a socket but a pipelined request triggers a pause or resume, a potential denial-of-service vector * openssl: Upgrade to 1.0.2e, containing fixes for: + CVE-2015-3193 (boo#957814) "BN_mod_exp may produce incorrect results on x86_64", an attack is considered feasible against a Node.js TLS server using DHE key exchange + CVE-2015-3194 (boo#957815) "Certificate verify crash with missing PSS parameter", a potential denial-of-service vector for Node.js TLS servers; TLS clients are also impacted * v8: Backport fixes for a bug in JSON.stringify() that can result in out-of-bounds reads for arrays.- update to 4.2.2 * buffer: fix value check for writeUInt{B,L}E * buffer: don't CHECK on zero-sized realloc * deps: backport 010897c from V8 upstream * deps: backport 8d6a228 from the v8's upstream * fs: reduced duplicate code in fs.write() * http: fix stalled pipeline bug * lib: fix cluster handle leak * lib: avoid REPL exit on completion error * repl: handle comments properly * repl: limit persistent history correctly on load * src: fix race condition in debug signal on exit * src: fix exception message encoding on Windows * stream: avoid unnecessary concat of a single buffer * Timers: reuse timer in setTimeout().unref() * tls: TLSSocket options default isServer false- fixed boo#948602/CVE-2015-7384: * nodejs: HTTP Denial of Service Vulnerability - drop nodejs-no-fips.patch, upstreamed - update to 4.2.1 * Includes fixes for two regressions + Assertion error in WeakCallback + Undefined timeout regression - changes in 4.2.0 * icu: Updated to version 56 with significant performance improvements * node: + Added new -c (or --check) command line argument for checking script syntax without executing the code + Added process.versions.icu to hold the current ICU library version + Added process.release.lts to hold the current LTS codename when the binary is from an active LTS release line * npm: Upgraded to npm 2.14.7 from 2.14.4 - changes in 4.1.2 * http: + Fix out-of-order 'finish' event bug in pipelining that can abort execution, fixes DoS vulnerability CVE-2015-7384 + Account for pending response data instead of just the data on the current request to decide whether pause the socket or not + libuv: Upgraded from v1.7.4 to v1.7.5 + Improved AIX support * v8: + Upgraded from v4.5.103.33 to v4.5.103.35 + Backported f782159 from v8's upstream to help speed up Promise introspection + Backported c281c15 from v8's upstream to add JSTypedArray length in post-mortem metadata - changes in 4.1.1 * buffer: Fixed a bug introduced in v4.1.0 where allocating a new zero-length buffer can result in the next allocation of a TypedArray in JavaScript not being zero-filled. In certain circumstances this could result in data leakage via reuse of memory space in TypedArrays, breaking the normally safe assumption that TypedArrays should be always zero-filled. * http: Guard against response-splitting of HTTP trailing headers added via response.addTrailers() by removing new-line ([\r\n]) characters from values. Note that standard header values are already stripped of new-line characters. The expected security impact is low because trailing headers are rarely used. * npm: + Upgrade to npm 2.14.4 from 2.14.3 + Upgrades graceful-fs on multiple dependencies to no longer rely on monkey-patching fs + Fix npm link for pre-release / RC builds of Node * v8: + Update post-mortem metadata to allow post-mortem debugging tools to find and inspect: + JavaScript objects that use dictionary properties ScopeInfo and thus closures - changes in 4.1.0 * buffer: + Buffers are now created in JavaScript, rather than C++. This increases the speed of buffer creation + Buffer#slice() now uses Uint8Array#subarray() internally, increasing slice() performance * fs: + fs.utimes() now properly converts numeric strings, NaN, and Infinity + fs.WriteStream now implements _writev, allowing for super-fast bulk writes * http: Fixed an issue with certain write() sizes causing errors when using http.request() * npm: Upgrade to version 2.14.3 * src: V8 cpu profiling no longer erroneously shows idle time * timers: #ref() and #unref() now return the timer they belong to * v8: Lateral upgrade to 4.5.103.33 from 4.5.103.30, contains minor fixes. This fixes a previously known bug where some computed object shorthand properties did not work correctly.- replace node-no-fips.patch with upstream fix- fix build by using internal openssl for openSUSE <= 1320 which didn't provide openssl 1.0.2 - install missing addon-rpm.gypi (boo#948045)- Do not force enable FIPS mode. bsc#947747- update to 4.0.0 * child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent. * node: Rename "io.js" code to "Node.js". * node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. * npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update. * timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes. * util: The util.is*() functions have been deprecated, beginning with deprecation warnings in the documentation for this release, users are encouraged to seek more robust alternatives in the npm registry. * v8: Upgrade to version 4.5.103.30 from 4.4.63.30 + Implement new TypedArray prototype methods: copyWithin(), every(), fill(), filter(), find(), findIndex(), forEach(), indexOf(), join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), slice(), some(), sort(). + Implement new TypedArray.from() and TypedArray.of() functions. + Implement arrow functions - drop nodejs-openssl-missing-api.patch: it's for 0.9.8. - ppc/ppc64(le) is natively supported since nodejs 3.0.0. so drop nodejs-v0.12.7-release-ppc.patch.bz2 - drop node-gcc5.patch, upstream fixed - add nodejs-lib64path.patch, adjust libdir - add nodejs-libpath.patch, adjust libdir - add node-gyp-addon-gypi.patch * use custom addon.gypi by default instead of downloading node source - add node_modules clean up codes- update version 0.12.7 * openssl: upgrade to 1.0.1p * npm: upgrade to 2.11.3 * v8: cherry-pick JitCodeEvent patch from upstream - changes in 0.12.6 * v8: fix out-of-band write in utf8 decoder * fix boo#937414: CVE-2015-5380: nodejs: out of band write- build with bundled npm- update version 0.12.5 * openssl: upgrade to 1.0.1o * npm: upgrade to 2.11.2 * uv: upgrade to 1.6.1 * V8: avoid deadlock when profiling is active * install: fix source path for openssl headers * install: make sure opensslconf.h is overwritten * timers: fix timeout when added in timer's callback - add patch: node-gcc5.patch * fix gcc 5 version detection- update version 0.12.4 * npm: upgrade to 2.10.1 * V8: revert v8 Array.prototype.values() removal * win: bring back xp/2k3 support - previous changes from 0.12.1 to 0.12.3 see ChangeLog- enable aarch64 - add support-arm64-build.patch- enable s390x- update version 0.12.0 * npm: upgrade to 2.5.1 * mdb_v8: update for v0.12 - drop nodejs-v0.10.32-release-ppc.patch.bz2 - add nodejs-v0.12.0-release-ppc.patch.bz2 - add README.SUSE.PowerPC to explain how to generate ppc patch- Add three arches to ExclusiveArch: ppc ppc64 ppc64le - Add nodejs-v0.10.32-release-ppc.patch.bz2 for them (required as PowerPC support not yet upstream) (the patch header details how it is created) - do not configure --with-gdb for those architecturescloud127 1633540508  !"#$%&'()*+,-8.17.08.17.0-lp152.3.17.18.17.0-lp152.3.17.1node8common.gypiconfig.gypilibplatformlibplatform-export.hlibplatform.hv8-tracing.hnode.hnode_api.hnode_api_types.hnode_buffer.hnode_object_wrap.hnode_version.huvuv.haix.handroid-ifaddrs.hbsd.hdarwin.herrno.hlinux.hos390.hposix.hstdint-msvc2008.hsunos.hthreadpool.htree.hunix.hversion.hwin.hv8-debug.hv8-inspector-protocol.hv8-inspector.hv8-platform.hv8-profiler.hv8-testing.hv8-util.hv8-value-serializer-version.hv8-version-string.hv8-version.hv8.hv8config.hsystemtaptapsetnode8.stp/usr/include//usr/include/node8//usr/include/node8/libplatform//usr/include/node8/uv//usr/share//usr/share/systemtap//usr/share/systemtap/tapset/-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17017/openSUSE_Leap_15.2_Update/e1b0d60cbae03ed406ab49b4c899a648-nodejs8.openSUSE_Leap_15.2_Updatecpioxz5i586-suse-linuxdirectoryASCII textC source, ASCII textC++ source, ASCII text7xAc2m08nButf-8ebfacd44261ac5f30ba032b8da279bc3cf54ba603fa33ff5b72878a0d16b71d0?P7zXZ !t/Ժ] crt:bLL ߫ȡGJ 9&jޗ<!V5 Jd@Y@fQɱ sJ~F7ܩd*}spMl!arypTxMSF'(pO e,&TV[ ZWNϨl2\z%"}o˨yybgU$6ɑ$.A%\lwVJ N'S }hw^`=@ΌLO9,'N P3ܱ0 nC12uL))B=DJ?]kPD!ZHXPީpO%ͯ,5elIS%;D hhL[>FBw '*rl1+ʀ}CT7\[hi^yK|LV <[9E#*z}*صXܗC/OH Nl]Rb ź:FAC>H\R7j]ǜm/[AnmhZQFTL`X[fz>zao` ~ڇ-u}3 RvCIf\C ɵbѴ(XiPOQVq-E_̇Rvu_-'ulo_?$3gPga`Y,v]!:Y]bXt>f "ϰI<ۼ,qy?h68Ix/c7edTeWmYD@8Μ6Xc#sV6zD rͿ]يvsϺK #CmnI:n,љ5l:Q!{Q"Z{}{"Ѭopm,H0Pjgm _ ϤJZ^3DX&-;k{FvP c2Aָ7* z41iNHUur @ 8~buG* ȁoѦ0(w ^{A2f-I)zL !'f鈝%حЂpX5ҸGx&W^RZ +~SZÚDCQ<6:,>$*h]rn^)zUfBalS O O5aQP{ASUQcp0g+o!ՉTq =V7eR.K\}dJCj4l^CrgF"XPeXжg?m0@ qn)EDXm: L}.=rs\hPDQ s֒#0gRL?׏+bnsWbF JM,9X X'Њ%HMq[ ݤN 6Ъban {SÞi*I&Ff7ǦY'ßNdwGXEUQ]c\g`$Sە8 5'ul3&ڬW+uvYq)HȐ ݃d=d'W6iSWkPTI5h/suyj"E+vF62Hݬ`o<: #}Ƕq2}t/n!D.fm2C;DvQ|C8h._jKĵ6a9bg(eKyI<I癉E7P?bK1bPȎmrIP6L;=Rv7'Nl-Xb Z҇}:?P"}/l!4ţֺҀߎ'r7g=tzWfD}q|lQc,)!ג C K!,[IL!@E?6.b"nx.} O3eW=O r#`+k'0F4/󝼰OZ s1`25eKܱ9eVYAY"O+j35&& 1[ˢ)4'# *!T9ɽI2k›ww:طu)9w$45`cZ' tM1J=,P/+o)TNJ~JɄ "4f, rУ ;\ %ץQ-1Aslq' l3{/2@Mqmg{@rޥGnM)VaYk[BLMw,D;%87`~\`+#lq>q'r2m-sI}e.!ߘus$vB,S0e[Wly7J(i4u?6FtFYݗ}ڗpyoj"VEPVa.ȃJ3aă0eH+%*=Umt|.7yY>o.E)T4'zMKo4XߘN*[?^Yb[,qOvvTpx >YRVp |vVkb~Op;1s-`2I4oɆw,MBNʲ.Gi{D#2.MV54kR#VfEt ˊ%a̟eT6[)e]ʬgq#Vk)J >7ʓz3ȩlCu%kB: M5¨մ92wipD=LtXꁙ#S^piEj1  9 sjU $PƘ(b-F|G]p߈~8^Y!:#=C@"9i7%^GX AZ#l,VG~D5ֆ|'aaBK44u,ۘm軥,)`w04av˴ӍA oX77 ;#0*:e%>6Q͇)'5۹ \AA46{ĸr X=!d _N|`ZBD;5 '"/L]0h~K (U] W06ͯ?63VqP˝c5 ;]Zoth&iwCR4= -Q6Q5*z%aLޣ4ճHʷJDC#}kv7$֛upl ?J|>泇HuUKtOxj ["v8 4C@+аk8jla4%PӞKw7kq 9ޝRFr]D$䩻b -#?GG$D&f!g__ v8Ko #.Ub3}THdѝ& aKLjTġXThRc̆%tHT Jd/@ԭ\0{K9ع[" 8[j"(.sV%dvp4 aUƇ/,u⚈LUfĕ.2N?4aG5gTkڃ2avpo"Fe/ApC6p@lYnF^*2_<,cVo蝁`5g!Mnp/>(xdokC*'gN+>,sC{7O6A JM::+] Uz_ZX)NķRGQF|QAG'kFzg2Qe++.)Sz``8vq}#z j(,R.Y2`1",S| RRM""kGeW a_Kr={|/c2 bFMnkRTCQm7kWYGr }kNG8uQ,C߾mؙ Vl@XڒU}ٓay3 j&WvTm_kO 4*񷄕d!dea-gu/QCpAn۪mv"lD en* #$Dܵ񁈬..T-M,)=^2C  ISb58æøRupOH'XB0CMTB-͋Q @f;+}"Zp#(g;_K_#*Qcַ8G鳲7l]y)<ؚ!qrq5tĻkonxاZ)!!}_x6I, oǧ{')݁:UJ6sW6c#! ռoVV*|PҊHpt6ufJ ˍR,yACHa"QF{ҼWB8ޱh$tݱ;og+,0]8κO713l ȧ:E1l&[F0:s>4I)mlaUSYxU3#"8uP7D=a\\ĩo 1Jǂ^ C[;8GBk?|(fT+ P hgA?1 J'UBH) љc r 3[_`D)]oQd};k[fLSe':0sTmu)MIC!Pr& %SL vADlKPѓTNNeP;:Q.Rk/[ R7n`Pd {dadS&w+ϟ鷚}!Rl>x*{D#N,ׅtKJdrg(rJ[֬G3eAyMȅ4ZܪvPZɶ(9 ]⊉J;ː,Nֵ#sd>*Ps3GcqE/䥕Srn&*m6< {Nۧ`L4-.uЃ@A6w">;4h|hl=aؼs9;qUWьbFX{S`EkT\g@cɜΫy#V$w&)3'(Ӊ?⪡ByY nB s}ɤћs5v.zqR~7gvv] /iD;- (-,$A.!6RbrH,DHh Ôc+y2=#Sϒ5.p;;+0G)e{((,Jti."mtQTWƍ ޸`\eD. th Я#oc|I(5W͇Brdu0|("*=]Nt)1tˑ֚CR(!FҰ+OЕX7HRL%.XX>݌IVpZaKG )A"W\M_.E,'ԗPMxCt!Սh.)HG֨ {{GXªZā+=لW-x9O(R#(jl6bX62" SOT<88+QN6JcJ]S{PwZY)he9kL#~'/r?Ax5J3+[}6L];H*<8A9/|]Gx&x'qnT*qyq414[U!5qaa4_8L>(Ddjc%}dAGrdrT^PdZ=ꩊPmT,̫ "7-'7Ys)mQKX(_eTebU¢lD2]Ϲqȓ/V% (FDe9 ony˓ԖP!QP]y`  ,_0s:g1\P H^)S1/l  b#) AL0hS~_քhz:<7w5f\g#NN_.+2 1j4~L:M"z3˼#UXvՁQC65gjR, "13S 5.N!{@71D>!Fh ;FM`jۮsPꛒtƒc/L#Tp:"t6__0xD3#׍U{Kϸp࿿o?,Ns5QESA%̙В7OB O97@zϼX^diV߁Qfqu+ad''M[:(hf€tO8A4B%4EKs0/y_.!EH9տAxfU *4ˡ:}_9s-nj5`(*ĦnZh:*ݲ'喝 .|VOXWBڭVA`jI'ױ=#Gh@uQ97w,}Y DL3 صE>sP@P}{r}2*m/YuG5ոE's6B ӱ>Te|Ĕbr"mӗoso=q*g,xbLL^^ |=joqW;7dL9Kv eZš,Ҽb0& i{[?$g&0LL6D\p Nu_J? ;$u rm҈@ -,Cf:ߙ* &"oKLu DVo\VgV̑7U-g&M47ls::i;;`)c@f(j!aU- M㮴KjDfq h_e%YyvMOX{N+>ĺQL,)d @M,*DH%p|ZiT? UJWf f. Aj"Z5y9 G ugB&M>5*1c2ae-8'ṪDvxHǷ }b ?|gUGUGiqſxeHmۀ@=fNã$3CtiJ&wV]2*A9]_l|V.G- aNk$ xȲ.qȌ,h1f|u8wĶCйT#oϭE:=BRC84[#Ƒ6$8Yy~ŋ0)2`1bc!Q778ls݁Cռͺ1J v'ItKz[S\m5/Cws gGt 6?NRHqKj3A 9}6jњ"W&m_,2QF1{0 ,{b-_evY2x|̷WU}1O7.w"q?nŒl(q39e[1~Tj^=óvr_4nXf @8}EgQd~.%fmA \ :W,'(Н' s#VeT <p|q]]da7#З)"6 =-6^Ν $xFefv6wVv4">HRsol;[h#?2(ʆJgZD/ >|4Y'5:ftPи2ni;ZB rD[ F]ʸq,288KqŢ`}.O-'|0@TIMJa솬E~^ҶQB3t4i-@C|HfON,Hi Kf]ةߖU]\j4W@EjLɑArj3.u|E|b;qRQǒAW5$4( Ck|Yhn^YIb0Cqj9&p^=R45a9 ^$og0RC9&)z Ukq0Ce} OqJ-<]v~fX~N{۹ - bX@Zt6iK6YT<GMi/"CA~J&%w`O5c>ŝ jx( >@w^D66;˗ f/UZiiwƐ߻fLO_#|WƟ+)Ev$k5zTwwr6懑)B9\wNNu{so1TR#Sk jXU%HyY `ܹ,tyqQBPU*Jb{PclrFWӣRbTN[LfkC҂ %9] ۻw}R N/O/e[*nl}Ͼ3F37*T`+(SEm\(XGV i󠮲Q7Ϋ_<5zq"*@] rZ.Q:znNYhO*s%mx=I~;E]T;;D' tDV{ 3X-r6G!E>peΐ#<'VVRo%.Q%=PTS~46"4 TGqEC} ,-H! ؇p xzz%~ , 3f2JH[7(T @b>}؆].J폏B Ґ1)ꥭ:Z22 m&D7UDCEeas>NJ`?FYcPDe\g)[-\zRn䙑y77}*JC[:4XtwQ>?xsr7UOHjӥ𿴗!kEL/!֮Z$w\=aIyF0s}Y1"Fql/A?շ$(QK2p,$P9/(tY\iy(hi?;OkAI|A]p7jT!t"H5N z{_٫}榫>oڐ'ӡub!$j< 0i^9喍hEY#j$+JbU"A3*hj;bw/ LM!Frj6L.#DC(ځHa ZY3Z}sJV5&2HEFFǚ ":U-io Ol FT ƌ=7`jdd{bI~j+{Y~Hߎ 9x;QLޟkv4p _&StݗM;=ˎ^k SAfnMeyu}o|i>y%ѽ47z)__絼U|s vw" ܚq17*v3ٳxvm_^.L+ nx$i{)hRuwww{KLOɳda5# &" Mkz)1qfϞk} d ?R<5hyAT~87{-/B^)녏)xĘqN $rLj)!.pnfgn]z|׶O2qj~8]Z q-ylP=QL&@w0i MpNbҨd]dӕvs(Xs3xd ^Mc;;HU+5K*,]!pE^z[WKQ-wKc}l ?k@I+8r60e`],$Pjsd[0#}ꟘD)hajMЈ(3xצkgvOf%Ho1׍DG.߷5<³1F'0djp+awKؾdS~ fB (xnQIIeQuǴVțվrˡ= N4K[}Of<Nİ;ْpCFQ ӫ+'cWQч 艫f+uef<[*/6[8deBT>!0.% :JT\j&Mm!x]$k<頔 O'fgm`XitMfPo}$;$"Nr$l}uLSSLLN,#`-AjOIl.k9 vPPW/Y=c߭KFBX`]!Tfe -i6iM!v2'&g?b ˶,hõgOF@H'kƫRr$過 uڵd9THWn~<v]hPӫyZH}| -B+{3hhd޳4(ls3|#ĭ*:j.?iBJSjG1aû-B7XElQSB5ju.λP^p ?/t `}ç"ZmdHk1KBJpf<ؓ!͆c5OΚ'N"sŒYPnb3 q8oU ;EDۼ\vr#1cA>|LjqXr~y;aDٱ PƎ mEAj\wK7ݵ3w"8\FU Fb&ta%W{-gd 6A!ʄ${5,ɵSۧ&=xMI5S$Ҝ#vb&*wwA=ZTGEqHodWPրT4b!g}sm%)<<:F:y ЂpTf<rX_bڷ SbWvҚV@I1jh*i3yT^L)N>9<ǁwM*䵋XGȖ8$ks ~!MHdHO'YUrgNu*JF.l%b4݋z2K ,[gEy9Nב^dp CQtgB:֬;LDiFDT>G}Fs-M]$ I 1j@[U¦6{q[;rΖ>{ԣ$CUY4RVz mZ܇UX?t0xrYITcv.ߓ]EiQ4J7sǗִ֨sN#4E+Fp7$\C>TnUILp=ܻ߫\.*&*.·RȠQ"hӷcTd/T6]NM3`, b52V[*#tPEŵ'-EttkX m#QZz@s+:#j aN!gJA߆M 9qK~ZTp4[qN.ڎ1۞MbJNz2CyV6ɇ)A)E9"hJɇ9H]iwFDn7\ ))s!.#{EtD\8(e]1eySC&Z  тF׉hw6D_Ö넚>p u~ׅv7@p !X-R1*|hӃK2&$ͱqG$?b#; XJrm㳐kh%-7E=;a JeGWL_]C,؟6Kvx-tsT&HΦ@1M tf43c2K^Y% Lf]l4 2xVNiMQЅ^Uյ8S,LA`Mk/<{ uKYwh`h1ߧwD˻8O:vs0&H2ȍ3~@:o$v+Bm]rzΪ,&2b #O!x )$$ڑ" Qn ^[CF yMb*p?NC;2[`c\v'賐wFsOeo}G*0x@㇮p&Ub?E25Cl,5b3R~I"":2 j& .F'޵& M !v%Ic5쳥r̹{'H*è@Xl Mu?j+h9tϕ k>{I:843^PS$ B3mJ!;TP뙐ʥ>2;cU3Av/xu^ %R;Yߙ}_i%Эȍ!ڐivb=|Q!dI BǫA-"^yPVˢv<Q?TSUyzf'4Wqݣ_vpI=^F0ÏlO N` {< "[bZPfSxN ]VD;nS 2PA[}ٳlXjWGZ cd.lWi)'xR唘Qn5\"Bo!y+OYJ{UQ Ǡ) |4/nco:1s'Mji݊Cf gW"I@PkN[r/ ͪTn{Gl[y VH"7`fs&qÎ@iʄ K[ WO; 1wY}_DW+\#H  E8+7(_<#*[' Y@Lߠq! ,T^o!=߲-$(/Ho~HЗK-tʠđ| lEm^0N+Vlf3SR;׀#o:];1˔r<\jY]A`JKr}t]3mo?L+{T"4̫*~̮NG2D=g 1ȩ=i7*C5F`bY#}g7$[քxN=LP9i#IτoɣC(zmIZ޳Q=j; xezj0+Q!jkd~F \䜿ʊq 3R_Oݟ|Da4pI1@>PqĒ^|;c}c|duDsly7'D-29RifHm:'sb7cVow9<ɠ}ƹ }566s7B(i7u!J6~|n5;D߁ a2'3E,ثejm_+ZMԜzpC; {/pH=  y6Z_[GˮP<m4άb-3:FrQ $: !- )It "<  -#Ivl2|̧ CGE`o?u\y\^sdWI2}^OEkdޜ@nG MU"b~afkӗNzH ff?2iX3X3/4#Pu-Ǖoo{X .鑙xwY@วPe8z2d&S0*y* ?iƜFQw\~_dњh2iNurcX;u2>#`X8Av'jDb mľZRʎ$&P7lMEfsFh])"ᒼ2s&1['4-j#?Nf5KP 5*J}+letg[kn&.xk2V-7T!&c /|H^r*zU;S3ul1tI,u5?x 6[R^ۖHE"ʤTq^ٸ{W,Ml35=^ %/~զM:d)6JXbv1GS#VKSٳv˳QPX+VVՐ MDleChzTNs;c*ECF/9y !9ԛC PFV*ߎ#@R(oEC|V-(tjbJlpS}$p| tR?7OO}FU- buj7-(.|!1_U=})LyKPyު^" @RA1aĨlEvV,a{:VV,w篇\yߌ aPϤ@Fct5TZXz 9B5+If!UqoM fFzTE{9MpRi>qwDۺ% s;7V=DoaP5$uDpR%׿ u.$<SCҾvYZ|)DA4o-&e<QHG gǓ:_R^%N6_=\KsM]TeG>Dݢj6xf)(H ~K\kay~c|jf7 E]٬ZҲ>HkH6E3Wt^3* 5>nA"‹T֘NhV|pI}um,{'W44 ?ehfj} _yByMF #ˠ?ד珋 F7_U;_|Q jPJ_EH`Tp'>]!XI D_ $z5FGHJB,rz}aU-MaA6!nHR׸ xӃDyt3 v{{N8&]=n9! 1<XeDAy%f9p RB$w(ɴj}x, j; >SߒJs7b8Do*Q)Y^Kwdye XZ&(0ݡbt*k%&P]p| vy${GzZd}#K.UR;^$A]ddO(X @ {bi J>p|j|icЀmD00ؐoD_~-s!R), m=1*sIDDV:6;Tihc:;өհ&?FYbjSv% oӗ3mT#T\؈iьY $o" gr#%?ÜέwRY 沶EY$RLxtsƈmO\m`REoXO'T]D(g"m':@<xx8;,ӄUd|Uo%)Qnwl 2Ys qtN5Ogh<1}}ɞ] ?+W4nz5`7B<1Ds* Y#].'+ǙS7lt =Z/T?ML^ "$5;p5A Xhy;_4jr(e$Z(ɬ0s>WI% 1O]"٘`qK2vC9,_fk3Ow8 # gt'_NY!3ô8r'2fsEҴ=j1,2!Z oԶhŲeus!y< -RY다@XCW15\eW KsQVNK{ C ;٥3_{c>7 .+x"!Lcx-nqexe ফ&}tW+pKO^Kn])Q ~ي [o\cP8pBANXMt 7`ܣ/ ϵ+x%Z= pLҟi)0-B= Yb @8uIQhzKeR5hh9>jPDѧO?OQ`Kg YUOJ! 6&OVm!%I#R ,@'G8-.2"NfnjiaA;q[/ Bcvǚ UrCQf8^ntWׂ^'%N|ê6'C OXsH/Xl.(I|4dsDHN^pVcopj'6XH"-'ZT'b+HnĤ^*w  |_Y`4}No"{W6T8K 31PIY[6q=Җ`ރM*j<w1V4|4hQ7§&_ͣUdQ22[vaĠC5=Ook]IT.Yw1!_Qs G9OR~ mT4uthjcW– _DzT3R&ddtC-~g@Xs$ K1PbhGR{m[%i"SST?A#P(w4rBCoP ',݀ ]jMk9H?W\mLq/:اLy7dwmPmn8I[x@EM'@ʆ$OfO-j?޽4OY:HQ(CUAݏwљi0LQMK@2 e2% zLg8sF&H{Q)B[6sid߲T, A2ܨh!49) ~MB0o>ǖi,!8ŝWu㉥#?6Z[X1΢gR\|- 6j=X5r Axr qH<&rFpçO @ގ'F/j5R(\#US L%9[gӁVօ}K ku '/)*P|TӟVqQ#Ƃ8j(, 9K}}Đx)<_ Z(&h+2xGnr%x]@1ˋB)%{@*{;n6Rk{<T"of++S>[ȨdaI4/gN|vXD!ܺjfv[T@ЄL5Z^{Z*ku^˗>*P=րvgW5V;E:b&nT0wzY*[k/juI(K+M<6س%`L&8֌su}hw&jo{tT] Ht5kiDgtlc/fqƒ#HH"wU3%S4ae~-hqfFjˇNR;waxkPrDLQ"po kdq{ϥeF @($u2Jcn[lUDŽOQwt-g>RGdt~ߒ)p `sZpc\ѢpD4UY$v㖩M[ۣt3[`tCC% B "hpǔ1WB"5S9/͟9 ק.q  憌|OP5PnVjhaHSMQ%++G=˥>mm^G BgXIʦ;θUU'Fh]xL#z/O.Pa"iA&;^,*>~ h%@Uci#Z Go{X>S |3W眦r艘dCiv̄(eShro o4j1,ɞܺy\ 0񫂡_E'&q%Թ@ w"d8b}#qQcjX&NwN~L9jasr?!aL&a"ԕ8ЍuL?!!`a_5]uXyXbN9 jJWOjgDQ:=\U}|vXmHrQC ~+e7CQ Q½jl LJ 䖄v 8j.Fg>0N᫋s6YPE/<ġev0gEM$"uG(g20 'ulTo<S3$N@AML~4Q{15|{|ߺzqB}pyRW0(쒤uHeÐj5AĐIJ͠o ZYa7^kdޚPQK|pM&Xa@6SwavR î6 AiUC/S_c<q3'PSXRFv )Nbg2zu?bk8 NQ,AqH")3TrCz*rQ1," wط^/ȳ-!!dtַ>3t'y<(ph݀H;*dْ.Is>]=I:9L@ Ԧ,<@4ۺ}+D+ ]; ,ȴb V~纷Q?XD)le=}[1wG|qѰu/f,6u?Q3QKlsQܒ[ׁ{jqc_.5_|m hk4 VvDzڨsiB%7 2tSRB:/<4wZN[R٨c=AzM|8pn/L/iOT0 PA[ϝsawI8Kl2m_"t}vر =遯RViTYE'ֿ<`/U@|X0?TԊ?^{}#dlcv!G.?ɍ"_t!/AG,^EfC]!׾LjF,6SϜ"%_#v/19px.S1 ivU[X= ʺkyY+m2?ә><y~٢"'=97o+܅Ḋ/{үKE(Xn݂slRkU65$ 0fÏ]2; . 3Gab 0v;t& ӅXx @;.i_\xW뛹uV۞Ǹ<L`}YchFLZ@?C@.//ϙf@{ܬ UCZ&_~丷`X߉Ԏᯑ0Xg'#%ճ(+DRẊIsWxE 4Ɇ,<=>GM:I]̅]7δuגO{L EeXd!T$.>c{Q-E{v,d'vBh$wTĒ hE&&  W#ֺeh q@d6kܛ\2 tN}՚dzgY^bOk1("754ȸWo6cd#iø&tXȍmeԹ|\\J.Iޛחa6 p #D (V&W$j^ۆˢ3M?Έə"z&yŠ7E_:?A/lTM.N8&ja-9㏉^&?ݞu3~-9xfbE=q vE97A诒 ;:6vWzvz.^nL43Xd b+pnYg!\B4MzjM#@MWWn*UIy~r/ՍrY&Hh; ~z;{MJea??/d1$l7@J[Kdk@ڶZ> Ț ʫc8.1 *KdҤz3BY`ܽ,,q00~<^=3!Cɗ^n,U j_NL|Nk/*z⎽ޭ3amdȦ>"pnt?7>_/o&W-39FLfd1pmt->hոZ^i#\eA%Fӄl9@Z}q w+HTқRjО VC`aNԩ\.F˽ 9]E':|A-{<տ)E΂e#P~H]9޽WxO‡HR9eu( N~7=KO|~|$`/"݄?M@Mc}uFv-ʢ+t++]EDw|myc ԛy!]PaL0? /ۀq+i>%d|)ZWPrM6]c[*ZuC,tT|Uy9}[s)*!pq]wXp'W2JHb zS&a\pæ|zj[|wӻ|I?58I°Z39U%vy_5z1zh$ BtS߼9z{K'@8WɆ7m_^S9{gnkUfQCz|G0voX|%X_-^ ūr\!b5y's7 )qJ4%ںzղi ,ׄS_>V8t'* y%Ԭ$|Oyf @@ݾ@p h+ݐL z56X(H9q Lad8 02n݁2Vl0 Lg 0(gTN'`6bTƵ"Ƙ-ete\ stЎЯ*wjsul)ihkXHz/a r04Z[WD4ۖQdj.]ѭ[78'\UT3&Hrp7(;Íbe<ƅ:V$P2(/Vo@/A4ݼ/(3Bo=kKtc󶝛X%ٻb⚷o~p^8&bV0:ێcv(`vӏshqXw~ ݤE:[\i%𰜌5ry`_ O5 R,/æ=/eHɮ`gp '_A*>C+>ae'^' Y /8iq\prY[ lѨSm)AɳbwAxo7 /os~3˖i!:8̬Y8h/|MJG`- L֠hbTAx3s0#hb NQr c ڄ5ϻR)i*cA@|S@n -%YS>7o{'y0{K'|$Hy냽z5>qւo:~AP+f)$-#"G!w#~Sk1To)$IsܽJ^a͈!kuKYG<15y<؛K-d9"+H:j ,qo#=)BÑbS4@u`~@Z-;:0 \Egu+p _^g^}}ڢRzk?2Sl&sˆe&±LwQkCl@kϮG,=F{WTD#L/)4pdwYhNl}gzlnȽMy$|rDPYE/|10<;J$ڷ i Wx%\_Sh̪@c?QG=OÎY؇`o"lA(~mfh,:J,bMc | 1?9OߖIU ,K?jLwm;J|}c* <كD ]ωO10<rwҬԋN 11\b#8 =_. &܂DRRa6Ǐaah~Z~5qTE-^Wd`?2ޢ@ gIp Xs'QζaS`.] |)u?[MP>J҅(?~\5WL}@pyyOl*ƙ ' VpA;h dW:2p'1&`ЍS8zZo Bғpv%\,|zRkf>NE7֝pEDQVC$Lz_"zQWW6 @%;B)s|^ -,DtjTrT#uXM8)yBA8r犾n<4H%B@ϬV~cU9T { J{6%±n'y^[>Dʟn,^z ]^zٛO; AX2B_"ש#3JNQ(Lڶ~oitBRu ݂j9y,A1{F%<ʄM}wʋpoH}s cva@52P>0Šmp@"`hם[|.E1"]./;'.0Ρ\id46@'nͬ6@ B~rC:ʴYb/+[[XM۸.6^}fI1HU'rt+40[vgWr7_rfS܎!ӵAyQ=[,:#5Wvqn%Kv f5$ Zy[+ (QBֿ\PUrDn?Gi~i~?J]kbV Pk)}#2pцyW KeRyַ/Sttq6Tskf}=:)蓫↣7t:[FbÓ FwM5!H ~?,ǝI3%  a+r`~~ka'(wx ȸ "kkF68 ՖS(3A$k~w4Yj+`('jm8&:ofA%~&JBhEBZr(~q`E [*{G6 c0(mw2ѪX0$31)?GZ[K w,+hC/*S_i/|P"RNT|uڰdC_tvWo3V__}?i4A$'So`/hhf$9i]d2ڡ>]x{},aMW_ μ<ҟ"3$ŶnL !&< Cz=%+=#/N܊+V v"kTuD@I\&-sA ś)e!L%{d2$Umgb?5Jox64?ӂь{V"\]=hP!.gԺ^o^CQONo)cD/ ) a#^T@g|*a&%*DuGR‘b/J/B\5=\0=]epxEE}&Pӓ{hiHOߎ_[Ul3z#$qlۣg+gphy<- (){ҩ[_2Wٓ}e S}}I9֚Wq%R(8ϓ rảJꚶWZaoy)k 0raxY!J|׸nuĕp< ϾnG6HrySĒ׎e2%L䓼N".Вx&yi9jIh ';漖%Aѥ.LsHDŲʫo2C2q| CTt%ֲ<˜x'۞Į33Kd`WMrun4zD/Oo9 G4;4) e"',rxw4!3t<yq_wq)DvրMNŧ[_%O27$ ghoǭ1D<oUxKK3HKV싑b~;l@"H4=RRzIfED Ҷ:H\,ӳy](^:!3,OP3ӚqM6H/e*֐2݅4@}">tg2`>{! CZFbJ2|['-ΎE9gLjDREMIzʢhk,IZ3of g! 1RMv0,u* {>5X)"Iv&B 4v?O#0_[,nIx9ghEkw 9a"{CAYAS3r vz!Dtd=bABKXp.R&Cmw-/0 pFf"\GO != *⥽ ,nmq7]wBLG{SWzSjoF״*kF3 }pc?;s`(4f:-{zlC1[Inз'x-&=)g׾oml0[["x >.ੈQaBи(SlJJ!?ٞcY72dnAH}Kqgm/|nP-Y[  "G٧9SN ƥ{o[ödѲk&ϟ>dœ%4ՇYUoX$g7t/FN-.CqI}\=RV d*|8feSU!pPdIGPiC{K<129[&=Wkm#8'pKcgU8ws.rlXn[DiHcI:b/*M!GfsffWr9JsJHN{4{p1 Pr4.WžP-9ހ&sͿWvg'ye[Ӆ.)YqX5)!"Б1>A =N,e% l^ڷ/_bo WM11Q Ľ5l֘^׋.C_^Tgz.`")C m'd|2咺m^gSWv}EglM1swRL~x<{P|o S:x6ݪ<4]H\'jo62:w6aq3mL}wx΅f&ȾNjZQ{S iW…t6bVZ'w,X ~I%qSsۚMH\/6VF qAg>iƢè\Ȃ`!z>e^F.xR ddd)G8d1Ձ6sqPSn~'҈^"?. (9GN9bf,QO )`bzD߁Fj5Gm#ູynŔ'4`Caұݲ˳dPLz~ [,ʊ_{|nv_0bwT* |/K"Q9>XZMY;N XE n$&yi sIK[<g~O-iޫfHb=E@!f 5u6UƜp wW^qBgﻸ6vdP!2T9{whƲ"\c-UTG s,2$wuHHLB֜*Ɂ ~[mj^e׫`Vճ}pՕ94A~H؛5T(~.,ztğ6:V1:O DHpL|SdZJ0~7MPgx4o9y= ` oxވ?wkC'&]2v1:CӅqu].!+sU&4< R/VTH Ekrlh_b?a W}C/,!#hQ\qSUӧ:,S,qpp>/ .G@Vgz \B:+ N3&DbNJ}4Cӆ^`){T1BTq5'FZ -zUKO0.O,+HUG7Ȓw O"?k7J/QqhR+ $47/U55 y]eb⻩u[ Ҧ vrA '$:nΐS r5h%+0ɂ.u |$VKul. f@ܷ+WCQ. IaK],-~\Hx+cp6eeo;#nw 1!Ԑi\- R?mX:̄̀\xKM"zaVI!b2jۉoh4-⅃'Պ{mD"[>~sXnXUAN5hE8A"j 'L~j6*"0>wʅxP'^zMRϚSs 7K'.׊* Μ;)6YV] ?wׄG}J?2bS@2)f q}%G'U/z:QSGcNKf˪ 5C 7 ձ;*g$Ҽv*'%B;Y~C*r obX@½:#z~qJ\ɀB@"%[@ K !)P=~-]ʘhɁQ|k HEU9MEGag/ 6 qaI!t zyLNh#` lSz7XAmwNJ3Wԏ]aEmH8oFI%5v՜*kcrj01uirn@.ҿȮCC ؿ?ۮr?rea)Kw:fBUa,wukFJ6܊%?Zq+_'`7vv0UyZFk CJNW~U* b;]D,y\˒`lSA\ kBuq^}j*0%=FkpiR$%q4cֆuבD}Xn$v:#a$FRJDld zĜk{4C)a6:@rdG26.kD d.'yrOJg z ~^szk(ir#*4J*ֱ@= R%jcgXD1i-i"H1Zj̈́Q&Ϸaw`9` #q*G(-Nz mEx}}*EHc>"IWmBp87 pe7C1-ՔB}:鹤(!N%U@Ʊ ci~~DR %V =߆i 1d=KZȡG1匷M`D?qD6+a|{;E;^j8!)QމeC>+I&n9U!3聼UK&H."ngwpmfcm H\&F'3^-X:ѩo_)Rg7 5FQ^Ibi-)fC2(#4<|HoXj ަ]m7N)PQ$ȚHrC[>C)|]i Ƴ`3H@b ;_p_YK] (}FY1i" TԲ@WgA=Ƥ^~v#T8\b h-HONhR״ +&5F\77 z^UwJS1?(t]_}62HCr?|8sG}uW8jn|;T~0RG|lyR ]83qYcj5C9>ҧ]Y#+=/.ijNR䤊?#ZJ[" _0%-߽uї1 8 6g[eY7MERp..|_zHn\*+ | zdKy4CY14Ѥiӄu ͐}vP)0Y%79=An0ldS <9?]1Pݝ)Qz*ʠiܘ!P]ͲeNaϧM1yv0U>-W~lNh`%91 ::6iv@{ RiBdv*E:.Ā%L2F HOnA哪+R靹XF)ڙLHk/9F3jKm Iw=']xςȕJFAψyq#?+\<\q;aS sPqlXv|Y@,[smB[X P[xav;w.~b5E޵_@^m(;PW5vT0$0|v+d9u0#/҉Y2_4#j9%;HԷ5G k^H|9,VDKVpQU6#7tZwͧHDUE*|m\Mkbt|/HɆmG?^YX׀F+7\0`'t eӳf, GOFgOq0;G;$d-?{_swxJـ8NrE+ߺ75{Q?{4ʒ.|J}CpI<[Ymu]#=1ee1l% _bn ۓpR[;tIup乬Nً $C3g}60'>~Bn Un´m]'{gP J݆{S9䒐~o*O/w-#rCrU}wUdWiѶ}a}AI> D!a =, 88'ieuC r$ b'l(عaŒ\.@y3ό.Eo>[YƬI@*lϩ (2 qS"L~B^@|ftKo>Wۻp 7[i 8&yy>|:"ZI2͝$fuڎryalD4"2E5{9ݩhBw s3y# ޘk:ސ1Ǿ{[EDIJJbIÂZ!j ?annU\V~l[́;AέjNTX%]Mϰɼ *JU:AwiwzˬzfFK!3|Qr*d–J F, +m!/)"s "\.*ZXĊ`EpQ=PʜxClo _(/54'~O\+l]}y u٘%urK:=:e_E${lԝ \"c7=o 6y c=|IUM3<.gn/zS;KOw dn!K)6gC*6l wk}2~L?mM6GAk;\.h9Lő%ds{qGšr:94?(,*!lU'VxDžm/_\FrbJV J8 a:BYXV38TH+8.Uv: >k)c`Ԣ b/ꪫOoEF6#_R -+J*% c9!0b&$͍Oіskqz#ݺ%z < K#Eϐz髽hH ~ |k)N\+) , n 9-:K{(b*BMF򇷾]v)IS8VūɭI'F,gᮡ|*KIC^(ڬ3'Wi,;HVHzW-re _gRl˾ B{sb^ _ ,)WB-r44BF{"5g;0l-'%¨S[YɀB(ٱK~eU(I$K h:16GTpk-O )Cvغ>آ4 ܔJSvxظ~Չ߯YC ekIT᧕U:F@ 7=>!;v%pdB0_)BE!$r1#Ӗu#] lcףf;Rl$6#{߃jU{Ah4#j"p~t6ͦ,#gK?Y%D5,)W2Zn J|X*d7s?`XZ;+秀^GɃRJ5X"׆3q{N&L=cm7r4ρ;<9xߪ$^ [-4{bA ̹G^2xm]Rv ^ ?Ik!`u[dlSS ö߳dAwV21X[5Kh8D41f\)zڭj"bqR}2vzQF^j&rMA)# Dl¾),V<l@A{k(5&GKhԒ@fD) 7Qh{v1} /]+)'rY xTv'O]c/l . -c6Hvk)b@WK[~ϼ1 ~KLRdS'ykG/h_9Ŧ^͏~2Q0 <0NE3`9CpUnlI'+KqȋŰnȮ@lTB9(j[/?mwJaVh{RrEY3{ -lP"] 64pB{Y==z$qy{pl-Op)eXngu*3i"\$Ju~X+c:{N(ZT61 rI&8x{%oE}t&viD6 H>EZY$xhݓJq`4Zڵ]u/fZWs wrL`ǵ$HB'ׯҐR <Ɯ6`:=\&alxȇN'*? !|A[LA32[Ot3G)aOLzYோ4;_rbh$2<ئ9{'X>NDZ6̋y.u־"w>wjGWtw0+:n~I5r WGq]2uκu}A0 x or{ͺd7BO븘z@}n((*MoTb{U.X^hZge;:(uk"Pd/TYaIŮF,|z: 2_c5#EkT;+&ݎUf$z~phj-`̳t:LY\f꺏T?{,$.cB*8n"s<ڌ&_Ǹ;MZPѠ۲-鸀r):RSeFn.aurtlyU*[hj@$,8 ]&|*| zAe*w :kƼƙr5o)Yœ0cMzPg^SwHu76f㨿ot{R>a'z eg?S09>*Cs"Ť_c^+ԋ1*^/f_\j1$ܭ:q?z}=wtw|k3<Mddk $g ,XSn K>42Oo;I0Ja-RWlf6(6[Ct̝;AS5/S/ l> bh6r6SD=StY#|2 giG"k|+|7=K`Bn5Y77lSxM>pdad\,[mF fJ=&û7}s Ưng]o1bm|6p c y/륆sBH]ͅR1YS`\ c6(毷u®xaB:qiM!4ʚG:=b Aq۴`I'KtPw3\ ?]Dn>\,d4IJ>,vʠd'd5X|*颻WJ>źXe;ꋏکPIZ`rӰT`i?a6^I|9mEu* !h4' 8RՂllי6GlVul2dF iew\Ec)xE.MLL>$tv#ynY x'̠.ᙺ&7. ًO$a6 Je.:UHk~{TyA/Ez|;?5("GQS4MI}z4QiNKBbaL({7|tN9b@e4ߚLM%Kѕ9‹ yBwyoV`.LCakMU+"ʰ,_&Ӵ>[7/pcOW.>Xf!Yʢ|+["ט6VԄ~h̅Ӡ,uė\>~8[hv41H}`DIAbcjM/[lKQ.ZjDm+U i5bÞvj$  %P#6J 퉯# MUEj1\@F{84 0[5ra-n\:|1(/}LPPEi`hODm2m=>Jױo/<ĿZq6g5yvB-ݏд-eʠ2?sR'[ٹ8xKb/Bcב}ANy2 g; _f];X`MDPf927¤ }џ00\jP :d'^TʯwÙGw>}/7cP$4 kTPC)R3Ri 2eK`W>F:ӡMX'niPt`L$UR%jTZs]Nx^, J,ܚ5Ri3pE\tPiA;t}EqjԧdvƗ[)=ZJk+)4{ue7. WmWĽ,;I W@ʄN683ˍsBmdԔBE3䥘uMcEɮuT\W3;\Sw[8Y@OURx&+:bh@cp.ѧxM~žt=-ܙMo+8BI 7ċ0BkT&/jS8M,I;T\ׂKNOjchL.. w,b>|=|ї[ЇLΙ>m RP5tV3 )k Qd_b-lJ|(A-{Qÿq?Am=z A bLb49<5sf^$Uwl<&)==\9jb{iR>?%ndEe]?h}+QNq^C]8;o%IE"U[LƧeOt=x[lůIfB`BsP&.}iFN]$ZDߡ=\h5Rp*w/R0V}@N]6B%*n-H58ж$kW9J/ cO*-{Ǽ\A!uGhMxcoj1F~3+*R 4h9=ᎰimUnmPfz^i8|EE7; i}ieɧb^DѺxJ ʚ OA~ II7$_Ԣ^A U0lTtNKy3;V0$(aQ.ҝ3Y1O'x~Lմ>j͎ZgP=Gzl]d,g&M0ZǒXlLst%.p3&c-أ:0w Q &$mtDywmG}epB1i#ʉaN󱰄-P=:)!BuGSɌ8Aއom-}wd6N93Kd٦E4z= 1W;"X'}x{Gs"HOSE͖c%vC:)ɪٖGܞ^LYj"}ݍ.BڠRßQB$$=B"}#Eeң,8\G,GDV0I4gC؆H=Ǡpw™*n.(*}#N*W!m/ay37=F9"qZз2~7jW}EV=z5iG#wub+jY$l'_>[D[X)D H6 ?EXR(Hjyk!S32t,J9ٟE9J>85L9>V;o<oE5}PYO ׫*Uu!= /DMKy>Ϝ$-&Xd3qءb\^FbMe? xɓ <Ùd}Ro{(7g7<ނeiWz)09Kp߬a9#*6n0l@y+>zhWf5$`_; /J ԩq 07Gmz1#V_TiDuoCm=:3!<럡 NYVj C_WǏ sXB ozTڢ% ovV4{p p&tm~I痸,]'$sq.nNbsbк-/0iM Փqx .HrdF\D)M'J^:6sY WfzD<Ķw᤯(eV+ oȜhBچSD( yfhQ;fp6+ a@s?ˡ=bA1}}Xi0&ٽ9cޠη0~Ըg:=nu4eB9DMr4?I*=ұu΂ܛ)$Ўޘ.k܂Zl@sUN٤xkf(Lƒ b6s сfBq>I򇳀R!h l=s/I PL)fsc/t">I9D;!Ҷ='549ʽ.dCz;p!#~cNY!;v@ @:-hR^u^/#)d ςZf`:N4Ph%bA%;ɊЪw%–89C O v1ZOÖقd{1 KʡX6n5Ϫ8Rxg4sOxdfS%2$@fҏ0Jne YzO,_N.F%PJuMa$OIKYng h 7ғ/Z*`{Tؼ"VnS=&IQ ͣ-e^{ [8nxg `S-v5Z_#PApdhp:ۭU:[3㞾x1C&Vp sXZK|rcKaxO-5W0Bt.$m^x/C~=T=O3LbkS]^]̱ΗF7GeU&_l.-?ao9>:EIULȭ3.EQ!,GŎja+C#6/.ՍɃBHv6//uP2PY?fv(Gdy3oׁ٧-j ESJCO7X/Ha\'x{ѬO`Hdphݶpt8/戧qv)`{GI,Ye p0|TjĜ\aZ?|+Sn/ KKk8mQqZy<=cITI=ZzA 9{ ߭+c~~ܕh{u!-ʌ>DL2[YOykj2%yUoM65aQ*s{kއ1"zT_ZMd׃^pRm& -Rz7˺brrzGf.Х ksMVܕ޴1dR|Ip} 5[ ]2f HB$,M;ȮǓƂ_W)iV\ {/X='B"uH\hߠll++U#Zn+=➁frƀw'.*X-<3/摗Um;UN􈍒ܪp7tY F$gVp@FAvTI3.X}LQ֏n[v KAvCf] { %w`;gH?ț:J[vÕA4|"VSGH`<hPH&^B#d#)Aȸ .řwsKʈ rG`ļ<~OĽz.m|"TسndOC%ë@k p%Cs~ǻclP:AvxRgTt"Qߍ de ?ezq˵%TG1"׾87/LP}?ߢ(wIƄۛp{"A%lʥ&ݿf+"UHbGבVz2B{gk=Ls&+VƝ`(W1 ְF ^k(>Zv@YViC qH(4ǏY\*-nӐ"k띸+xUkЮ>D鹜SDYO~$ /^n4dY2᧱&yj߆#tGx':m$7pdl/@S8& J$2.nb&WJ/(P@!F̢CPwy=&J6/Y}U.3љ ˂h8GJ&J=F:B6}} [$ VgGT4{|<~YMXfuKrli6v<ј:mp">5.x)3jKmkٶ6ŷv8\$J lV=t-&V"NЌB Us^џ3=yY}(0>IRYE}։cg̦ҠEX|!:@mڟ,yBA If__P靱?'$[o*=ǴiGfa[wʡA6!j⩶x+ SXL jz<~\2YIvV {aIC09޳؆b"]7vTZj%<m;ڕ#Ue`Z;bIm% pr4(`RI5К`f.!8sғ^;l-G48?aרּ+r^x <6H`9x*'wS$3CmhF4@N G'd5n,|]ǂCeE㦖UGS#'bp4cl:ylebR)جJZ==aX؋g͔5 xpfDSs2+[pKڥ/ͺo(bhI {6C&!D<8[^㠗GޒUR'*0IVutl􇆒O4K^ۤ9ote&K3B- ީ>gf 3B5s8?~FJTvփnT0'Qp[CmWHhC8#|m1}W@Q5 9E)U&^~[Qh=Vx8ݝ'U?P:m(}ZΦj]Z9kVN[d.Gb-ٍLqBSf=`D6ɝ*nfx LֶWFk$. AxU9(|֡UWy\%Pfc {m^xtw H25 q͝Z$6mdy~uUt(:!qSsc;ζ ,϶GΣ&%a)q?3+)rkEgq*۟)E@*&d,%c涏%;96_u ٳ}1;ͪEQzk`0\]aAQ7E$ ;k#W쉲Ww-|ᭃvleFA#-[bYA=hŒyK.'!=_رᱬ1Ǧ)Ӷؙj2vHZ]XFen ! dNa:gRDN9aF[-<µHLrqW ;'lC85{{V)Rӧk[gezW soX눟mŮWdkod>=$rC l!TZT"uw&+e aV.:hPNͼLZUq'"@Z~QSJGj}SJ+dD{F #T |vПM|37ų{v-*D~"Ȫ!ޯ&pMYSsoanU,=ē쑓Sx6h*$gFzkK<޳ t R)1O^<"ĠQ"ef(Z0c,$| vW9~#,!YCYb#S0YsC7"\%빞͐bb%p+ 񾨁2"Vc\x։?EGK m5UJZ-dg~k|ŴZF@<>" .! 'Ši*C.%={9EHoN@S'vc5dQ){ OOOn\\Lqk ;(X:E-'8>{e]g)ˇ 48|M;i|J"(^\*3G\,OgF hr*"|rFy [X ӎȧyG8X #a+Q͉gHw]`\;dŐ iiGjTzmgc8c;2oƣh0{n)&͉S0G`d$:${5\sBL?!C&l\jaȤO+ON2_yQ̝Lƿ!LJk*@ғtxY+$;H.]7Tjfb̀oWғ\hAZmg=v) ;Ccz>nZ{ڬSľj^80G?ǀwº9\tO5nsب} [i'`-&_ 8]_Yd4|aw頨?#HiLĸ]G(Lcrb p]URIZ6=%p3N콑vñc(N qn+](S3GAK>*ed TgRlf2桕~jT{.N.ENU91$$R, ma܂YëO P >XuE3IZ.%-L)9+Y8$olT,T9#c~g[= \-OM3鐉FKrSfʫ@Qe!y!Ln"zz%KHʇv1&0AHi5u'Xx*7k=lɯ iYs -lV}`.<zW  Dg9tJ!τyS|6iNk3`]o,lʼEvFs*IT(՝_9sE{HFx]Ao[g̻{`NE(\`H=3ߍ$xЫ:u2[;Ld/"{Ⲕ>f!1!/ĒnBWMY, u{_bk":OA\+z؋YKi^ ŠImLx]n)Qy)y%U"a. ތ+)%&Aq KIsHW S1St9PU^z( ~vw0N5oou KUd=[(wզ̓W"oz%d$h=C@.섄@:kN-ѥ $Q& R}{ ¶o!P>ڀ"YJu7ՌF{O6%2ɸnh\%e,Tˈі0 .ty&KI ࿿rF-]~?z&miw QH^:6 ` ՞VjeM)N n9k>]]sw\B?SMϭ6tґ8P5NwrL8JC5ނY-1z b>yCVyC7# ǒKǕ'C=hGN _<ہy/M^sgU>7b /[Mo0YA{k-;>&?w &LթI/tfNXa]&,pr2܃YY)fXCewC7f{>8=IhwFn <.xQbG1\C<[{q)z㖏7N2Z\E(='Y~JTV #R'Tӳ8F*ļp>DQ^O3>]{=К,H<bJYQ4 :@[6Z/RC}Qi咿5;^&Sy3gHN̝/T!͓@rYCm;~Ns2 ̥+0p8kObc/@1~[ۍS?IaGwLդ*v SnPޮB#Uu$pm:߼2 du cQ=)QSl0h\)එR|!;,Nk@8{V&f ;8a&4o@WUKK;X=t0gR57d5ɖ~GIߟ6tu1X'k!~w]4_Ѓv.~ݖV%L`LIo~)t&?2Z|n,@n V|h|xTԨ9T-`r^#.9wM-j/hp,ED;N TVû.4xT[`"X̩beEod  2X0!/V`gB%v+gwWK2߱\ ¯ 86^b;b $I,%o <)mC ᔝ &f NÛ%/ g{\ܽ\59b;2Ihɪe"aOC!(~NBddeWUmupޫ^;UXoniyPe<1P|v8b[5OXu0'QVh&ʹJŗ$A7QyRV?&\a ~EYko ݒ;B)6f"*bNuxe؋6?Rf4'9k?9 mc'blaM!K hX>'Ip*C=nfQGb,mѻraAȺW$R )WS_Zv}2'4Nxf̌1D-\bz(t3Ǒ푪2#,U K,wG(U2%MC7I.[&՝P&C (.K̄{rVG``*E{$d7{lǀ`0|v >좒mXEN =ѧ_߾;;tX/7I|DV`Xx\*1޳\*Y9(>M&aKWbA {\߇,O>}g8 zSHJ^CڴJpozǮݿAX -$!%2.D ;_~GsT ^A0Lh#|uSpY|DH72w,Ї{> Xl$R9a<ʌH?7u1Z,NBo~~SY'$z"MVgΑ@fNB(5| qptˉޜnGSb" 0^V4,=ޅB.bP[bLb0{NP&GF +K 88g `0C'VeFC*M#>ďc,Kyү3/3zTܻQ,YY9YQ2G,oOUpՇ51t *̯x`N>r saSjs4T' ĵ< (&41;I3AKNX^hfgB*O¾FN 7s` ,"mp(L|UO@dA0wOf1][_6dqo257ӠtGiUJPFiW̓*̀Fy&`&*+3Q]]fs(e*Ze+PjWZ CuvHV<=N^v>:A)'>40_CȚh?roOn"8W5pw@, rjrHJZ}!T V  vh݈ͽy/`+[+o79 i.Kxn9V;K]-,~:BrFP1\ؤH7e;]ƺ < D7 V_A-^4[wŒcSdE$Jt6± bFxy10|͝:4#BTļ2d@"-L"~x.ȵB MQ`HuĒ,t4&t#}|I_b͔͌YS*i;Mڷx:7YED vx@)X\C6 ra#+beȮ݈XjW޲Pe:n^8%/Ә>b W+bx2P]:?K_5f\Ǹ~ !8 pY'l%9^0 9q7TVa-4L>JʀYFR1@zoP]:6zz&Xά,ػj$ qT]U/v+1:A'P.5ҟsG)r8>,R ABA><y 26=hxqfrH+ [jh5 @EyH8rdg(`tbZl*+w rw!eFKK;!L:pX1?]_܀wbqLFjj}K-/W88/ @}rP0&9VP.(yѻg};V)D[>L,Ikt/z&jFj<ȌvݣCKk $6jڬ q4?WHURYxhŋdpO -cT-.0Q4op q(m`hU}_6[j&`@`"=h)?ߎʱ֋}C2 tܑ`qXkݒ!&CeSaQA #˨9ǽ(`j-_ fT+V{T'3*P2)s`%0ٓzerj`%j$ p+O0N:l\5Jg>}PD 'Mឥ8/7dg IhGuw td!?&g 3r"+ȈS75\2?& d&jb,K/TeaD%0rf%_J{h>l E;+)ewBmW`\RP!RN^s/"cdRU#2,3Ėѐ)-jU wc>[/!%)=_D(y‘xUW EW$ D} ێw]D<$ً+WK5jR1Ò}dV9gIg،=4,;f$)z~nJ 8[]\D):dFMI/@x-0?, IŖ!1~M0 TjӇ'?n7!@]KZ(ﺐ'ji$dӸ2g)zT_lc( ~uf{*%Ԥz+GZoC19u`Ȟ q'o.M"O8c| '{SxZ+%-3;`3t--Ϫk*Y5?zbo8 X$j0+KTz1 S"Yv)=P@y8f|DUrf` JLz[ЊhA'S:d fvp 5+r'xlGQpG}4<Y~!P!#%-;6FRœb{XtǪVS-* ͆P9+\)2A]N&]))NT2n>VC: 5ػRAUJPN왘mb;S'11*&YPQdMIhJuCTS4 $gO8B_ӟ>B)'kAVW .>7?eRW4.j?]1ųC*H9,^r5xwɳw3o*3[|yqΙ:\Z3|̘0M?i.<$o/fScTg&XTZA=AtL@ ?;%BaUUN$d%'*"t:i8mt%0 m Lm8W6$6Wgˎc֪Uԑ@Ve9R0џa*/$.P^="*~-LiB>#;!ģ,C*mش;nbT"-5@m#kIm{G# U*Iл#8#ꍉXRk 2E5uBZ P ׂ/*=Epn87LK@T} F"+4AK^aG 1 F/AcIɝVTfΥa# BW8>sV4:7DҐ8L0m5ceIUfCQն0g|6iMR'[ε9g=72,@B8|?3^'?= / X?}PpbnE6'wiv|O=y(^4Ć+ =kʕ|1ݒUK{'2;Mi?yࠍiT%O͏7iDfCcROxq{KZ25-/HzcIѥrP}C3hLQwy-s͗! cSx%a{`vs|vˇE6e!膘` !X}xQogVLЀ5~? +ﭟZ#d?'%t@y\Lޥ xoj6dN''rJ@d=Sw}ڴn.E=4|.LJޮ̉@,DeVOmCX艱R۳Cm9̐gpY$ʺ [W>!,GEI'SW7X my}ǧyx]z fnL`1p0VBԷ(|ZΏ"(zO1FkMTej{0tEצ^0S&S$Aڰ&Lj`mՁԏFd=B;D!NO9+J+^jq U!tX*6'=\\kF (>wZKg~.M|!8@nITWZ(jC;H Uՠ% |EIC빹ЈB4݇voYqWuzWf`i vt2un0M=/yN9wM~x#GԢP\:΢ ') Q-% z]q=VS|#aN@oRԐy/H~^HMvB9Tx曠ܰ$-%6*31b|F9rƅW'$\3(5Tm Z_8\T,dŭ!XV$.d,Ý`=qӳW?T5O[E5@|ٱWՄO/G:*EƢ [m@%*v273Mmjڗ{RM!pYPw.M$aqNa&I=p|*,uPG4 $X0%`<"ɇQr>&lXW_@LiUCm s$l%9 L!F\֠_j}ivåY LVHAoÙQ_^Y :?I-'f{S g!3wq$lb/X!rfjd>-?z]gCN}"m 8&2@th{*4>poF XKک?Umpu  d9:ގbŪ n`^Hr:kLt #7zN\8-h,)s)* 3IE(ݎJ A\;5/gL6. tcjDkN/+^P.,T+!!B+7V)"zWP^L*yg>Ha3INDc.wW0>Ү}3cVXi28fѐ?dZrCam9?X?xYE"R]37ZQ«0ll6rl>I JHhm.vm'AǘO/Eѱcu똾D<ܴlZӁ\y|@9&IAz!y紷2o܌Tܱni aY0b]ܗ}Მj+ {2mڛ%a %*Iq.0Ow+~ɾWn=Hڌlm9a&tC_j2[%Wf|W=46a?tc3#R A_ގj}:S >z /.3 XTkU jD,b,4xd":< :] nsDk޳; = eCU=6xոej; 'KGiO 8_Hm"J S z,01|%==v€PUd\p%Ri}w}vR&6\jtF[7ct#d U˥M9m:ɟf6~ UhhQI|4d>.r, 7+_H< "7Q$7C''&|u/ld=u-vjD <,G:1yVjxNp>o8Jw(Q>)Oj"t*??SQɁ{WS݌͔E<2_sTMo^ 9fkÉ% _j5ȸך$yk;ީZ#q$cG6U`fӯpujqB _o&)L%ruS—ES۹h@VK=:9ΏǚI'%VH,e͋G\`.1"Q?4MY/(AۢknXc V~w Tx%QuJ!6hX8٫̆堀46{UrBZ_/nDJC2 $|QG ]CLf6ly"~G$rI^WeYlpE d簃  4JcHjv` vFp]s&OמS"N+`hdzKp_k_ !I-S%4ġ^z?a5aw*(Ypz`wy]q9)]yipBr$}.j.]eW.pkXC`d"\m4ǟx, p68DŽsz*pkQPwx_|  0Mג E *7`&{fHU3!юPz "Vj}[GR.]&`<1ⶢFsezy-SpŔ }shsiMog;#P/C>d4 菛F+ۛ_oSmOEC;&lD9>*J_:\sA5FЎnn% YҠB{dL)Z)X_² o 0l!D;)GBϻ6HSȩ כhS  LE!c:%pJ\6Tu~hk\_L(^K% < $u-1e=̠*4yԘ|Epw-?in[sz M "tb}e *: TG&!ImѰna1 V!X(Pɴ.͵ ?ǿg# Yq$B\$qȜ)HC`ȸxacz+9z@Th#~`Mtu|- V<@|~g)c+u%n( Ẁ%?ΐ=G*+2ޘ 2LBЄ2sډ-s)Lj*koMwFu̩k3Q710*|&=J{i8 D?ch#(J>?A:iKgSK7 ʟ#nE4KNޣ<Lq뭭5qZuX@a$ûGYEvČCY,E+#LcM/k6gldka,eЃ'-нwEK$<9Lo,Ȇ%WfOj`{?" S"D(+k_3 NX8Sɕ3@闹]Bx 6=E-q@^w~W'cӂL@W_ {%URPQ9gfֿE4!*U-K%j"쎑R.sԎGK EڻIݫ)qHJ'p< %RoŔk<xmm<uhH2zs Vk6w¯[p#_| 旲-F*pr-2`!s^|G~p|> *ޯV[&b [NVWAN"-.."${װ[p "3λW1е+s3pEحφ]v3xG9go5!i_J#e;'=iROQUpS10Ȁp^,FeUtmz\ӊ0jqfP_o$FaG"t pWN/yX;k@x 6{tcTz!(aЇbaedi op;.o+u۬94<֐/i0gP{Z:Z$[[9Giktq"`@ԗwҗ ʃ_Ս3ia?￟_8O9SJBɶv`0M_l^Ǣ-YG)^~o!1JT ?FzwhJCeZ@wvF;'>'N'Q:HOI@ܮoG'K>|v gQ}nL48pXe^%U2ȠR; 8ة %7ܴB!)}K-#mx_nO\s޴ 2X$NwLD_6oRXb]f2<:p*ze]@f#G=דC7^TTu9xVCLPdž|ͺr9Nal5컷K[.Qo9_;-UYffqF{"ҴV'HͿ4fmK9DPuBիP7:S3Zs-3~p~Y%qo ~\jݤNF=&iഋwM? 7Dccvr4K`|!8CaN e'N{R``I1Y i %Q1L sɋ9PMא/;Zvp[=c(q+lTV_'(}fncH;/O"Qhj,~Ǝ-ot]eKUJxXsK-@dƀsbl-ǴBXʸC7j 2Mm~,zBCCt A \clc$FX$tL/q>=p1 T}i:pEČ}W )win(5&eF=Z_oLӆ1V4XaVPCMge&]W)ÇlM28#9=]KPO UI[D$Z:֞fڠ4kqTL{nbݫ<{v\*Jv/93aȺ#&Ⱥ@ \jy5!"$A7dC+jK88@un h_Â:/V h@ IPҤl~E.9cE[@*2~_.5oj _A M%~+fB{;_i^XĨ<ॏ+6ѫ!"\kP6aI u9FD_GI#.S@gVNJ[ dzw 昶L] K j`пa 4Z܈ zܯOQBG[xCndv:pqrdb152T_|̌؄.n(b3c@#(nBB+?EŤ Yxˍ8 턫\8N?FVL>Q8/*C:TJ`Qk-mESȳn E$lCزt ([CzMvi+q z%rm) e6{1t$V$'JVT'p_~IUŠ*A2~ kpsEj3m ,IQG 6l=lوӞ\&Oa.NNO*9%j7 BϕE&}w)=F sFg2X@L "<"ÚfY=S_fEQW* 4D SWc_T0/:z#RxO |Yn`f#IK[X7Dďp0]E;3SuckKE+5Lg7S(1)a'lt\9AbTIx !*YQ 1_LTP$e:_]^;WMB]'=eG>8X0[8 \N@>2-ѥ{YCCT͓Kk<|]C {/Pxp 5(jQT;1|?rBEAbMyS@֟W[ݱOCtVz9E^L |x$m^ ]?Mvc7uu-͐}J*:"F"9d\:fW*ޅ2KGSc(i!K:DͶ{d|Cwd7冘@2EgE퀈"?\2JPx"=ݑ:D<`%S[@zG(-GyɂB(PjN4ט9'e)?>'H\Ean[#ậkc~xqgGj' 7=,pBvhwמun@fV,W-_*:$~Ş-&sʱ,CzyK<+Thp}K{|^C7j5O砺#?= 6m<j|301\kJUk_]URw[6E*p(*< kdsomi=͊K؜ Xo X) PS'GVvwli:Dx붙 ӏa+JM(GN_g70IG~4D(-hqў2Wq3/&<=n.Q  i߶nhdoI I},.u_AWIAf>\CɗnW|d, ٕ2?ŴHWrzDF(s\n$8@5i*ԙ`[_PK6^<(a[u cX&B!Gpy'!a:/Y0X [MAQT&queJGIGyΫ+mv1ECLRd}Lyr>Dcu\y"(yTU^4λ\U7tjƌcV|}!/6Sҧ%k.s $j˔E7cA4e'’?DHU Z-en`S`0C M*e>З#M#YK0C L31] "Y`&@e{藓Au`AmS5il ^^H |oˤ"}|5T$9^UbvX&Q¾1v*!S>&K&xPz)^Xӭn!#e%7\IKĂu"A0Xzo1$U[&%Z=1C\$#gnhADE`pƕ֘FHO8YHcV) !PvHZ{gW=9OVC4rR%E,yyY$*]``ܫ:w610a'X82Xcƪv'"DtZQI{niO͙6/޴^\Xݜ. yALNǁd/ #L]7N<$ccpdiy} za ʭOzS₟;oRdZSaSma"7JhâXNa@[ǝvd»Ш_݊ nl?a+SL@CHl@5(d3ۀ!1mcLsQ6/cۣαkF0dr VE!D, D`*(+޻fmQ`875~\et'TwU (>%&acFb<OUƓk{A-1ϸ܏#/mkȳ6vd@0Sm#F${=n3DEW0V)gR>Aa/ =1" >=ꝳ 5jEb`ܷJ* ]okÇ7/*ȋ&a4)}?Gfa9Ni%uTc*1p.fZxY \ *%P\HվKnQt0 C}[v=; xFi)a)Zl49%7]Fր`?dw yH*Ⲫ0iyfD]s͙y|F?3yX9^s,;݋ޚb-4<#XDq#b.j\8oē"=R,UN{jBv hm"_V!`tbFek!-n%u .Ync_Qw;)W'! :{'p>t ۥkQP_[X|0I_c7]Jۥ⁸d}ɋ+N,mZ ֜,c3$9Տ۠/朎SB :ibE3MF s :?"ңWPG]1A4eO/PLnF%ƾօjXs^.?ǢrǥObBjdq߹.R@?jCA/؜DO[b!p!o6J狐3k.v{Ȫ&]uw"sR|jL[MQ%[1X6)V A-ZTF=6[Ǹ;@@BNk9X*!/v:XqTDRӾpTu+[*p2`nd٭cE(8ltc [qp(eB7Fo`Rz_;P/\#-!^[:W->]M^*kn_ir+g0_6Y; ~6B(p$L[_RPyQh F& %'Z7 bnAooןp".\Ow1>Ղf&ISNF#q5} A2If6O'tf!=czk3BC= o^"IUe3#vbſ}ӲVO+#rȣT2=Q RɄ؜; Wхad#uڿ/D',aSfV4qxqcЦ{cJX!LT@%1%} {T&UY~KIvX$9=_9f8`5|sLp"6 vV@cnyޜ|S9N^%ŃFQS4CD g. ׭*8 Q[~}' cO݃t'G*iPNLm$1& q]>#۲RtC0qNbثeqPvMniQƁ1@1nUW-9=9K5o`nW`|Qzѯ&&jgNr7VF$IYd"l2j^:xŢ ;)툚rQ.InSBGstqZ J%"h !x,Ӯ[P(qH*3;\]/ OK u~εZm5ҡ\!]q/~~NH8db꼈&!4!!(Bz%6 3_SSW:a{ӄ p!ܡhx!Y7hP?/eC?Ŕ2SJAj>@۷|i[OWNӃ*' L~A/Lg11%qv` mDP2%`uSAďD-s1qQ¿,~Ŷx5=/m„:RPf^.S*(JR wʼf/@ G0DvPlNTj`  -;᲻kcx8P85ΐ28[mPT$ۅ'z{* )GϚ]\HIcBv?~ےt̊4B-ޑq,qs[j:EIO+ L#p/[Of*=$TeqUڷ D%q^! 1Ωh}mo^.oie~kxZs16=2qHOiK8jhd! Vspk8xl5|cM?/M@{{14e哉I)٤1l9F[JhAE2)b^zcyИ+ME. ̵EIq)sB?)W +zs23{MUM~v?`(&t"oa9łEps)Xd(-P׆I`_ret}$01H!s#gCBO _R_?('Y.P]r/2Hq >p%?Tnp F)@&_/Zmȹt^( ɷ|Aw^X LAATq0鐙95Ģ~MɮC$}:D"qcL(p,Mm:=g3 'FPr`3Ȏg- Ʊ^:|,}`h͵t &1pr?++ރ ՃCji b3˥YX^t0}QdX%vD4xV<]|)9\hy, j%z %2Z̿ {; gh=Wt+Tcoi1?W^A]=?HTH%-s]B^z&d+lbF0gC؎H!U oBO Nv2ZJ3 Bݖ)/;y8#̦q6׳H,cGp^^ݢfh*ٷ,lkP 9oB@ոZer cI" X"IDF+wSdèf5 瀉$_5 8WPsuZ:s[,D!ZVu=0cGh[*u"ϐHCUgi!"58nKPU.HR-\5cvi'rnd+.G` &PN94㕎 aEvmw$ܲrr,?WZݐ3bdcp*ڏ!T[?" MifH,U[Q&K>qK*׆iGv]~K F~R]nT{݅x![v7՛4@p6:/iat85,c[)[c*Ws셈Lԧ;}RG+2(w-F*9|c@+xݒ"IeoT |>DZ\F}wX8y>S! (#K/lЯ`W\]lN.dn^h% Ǎ8-@AXˬ"Ek&;GDxBua3|`4%86 {1kkxr(D"m#F=`b5<70Zgz-Ǜ Uܸ<1oo}9} sF.FppmmA\j:^3̦k-5/00ij#P4>%UGH!yX J L7ۉ?9AF_@)3%4f˓q<-,Di/(}g(zU0q^cƷh2Q$'UVVNV}1}1XDZxB]2^%j)!xksPm̚mk#M[ zi"SnfQiB1GvN콍"t }Llpb4N|AG s`BmD %%Ȯ&`t`t&CfL=)f󊒳+JuY?#LZvgi)8S}$v/Fou?zUm|iR+-t Vvn(>0 R8\2/I $7&j 㪱'&EPm6 ЫiEe+>Ɨ 6<V,aq8 "HR:+bz3'[ oƽ@qY|̜h. 2qu8'6+h_i˻(K!6+ oSY,WDm.WH|RIv )AQI,$N[5u=@?W,CkQa *arPA \isv8TK8#g!;:a ;Asù̓[Ij!K{4n5ri1;׎? Q5lB\9O\S\knav6&|Sa|)fA(Zlî9B!8mQ2Y -6WomC\6R˱- gs"JivuŽ8sBY9B{^ew~Eѭs4uao]s푬HZ8- R5K0sUF5,/|19g^-9]dm}<.AZy~mG=T֔ئ vG-,kQ"qE25 }綊ats)?WQiM J/e<TW)i W3hTFxYI o`_եFұ_zEܨX뀘KFaas> |ˆV^ (Ωt ׶MrlcxΜyav{?< e#0 p|ȌP^W O6',MT u6O)4{EʃY;!'atN`nY_E`m;@Q#LՇnk_U"Y-z47UfЈ"u{5,LJ9 iɛ+;fn `{F &Υ`NR+Za U>woj(CMf1_TE^B9/[$ ςMpO̚Q_+ "5 %a >NoLA}>Kq%Ns³@1x瞈1D TkIalЌ   vy<rމZqI|zF-_;-GE9~؝"K=:: T(C!'6=o2ވ(FCIim,T]o?\q9F[цB4`|$٫PU-y*c\57Ŕ7kaQإ$NbȆgʩKXsEè&sWLrw%¯~8)p`. .;Up0NJDYz[)ḱklo`a]^Kb*6t cjtZeN8Ǡ0މ*ihٟ k6:w^o}|P՛6)̝HP6wlh;xRRD'ha$vxt)7l="O1P LRsKnII:g; ޑi? yX,1]WE5p9w#qDƢî,apooL5ܿ{Zife3nk/Wd b, juOw.tN$L̝zGe*#+uŀeH)F7 %nwt_ւ~ 8h@MT׫WYR!]p B{jc>$!љܽ S΃P9)XDݎF G3ȮigeؽvYMx'A#஋%߮2Sn!;GXyQ}c( | oʍ46Y$RpbUN~z 1nƼ5LP1Xаt4u?8 $} .˔l_M5 TY,i:CU[bgh6>Nf,gSv"T7#ySa9d>Zj&޲Tz=1u1;!¿:6qEsو.qlbu7`c#Xu9kR kǫ=x>i/5evBP+ f3[VOEJ% ?*c=vmH-aGVh#+B+[ʚ4lYRJEVFsĭ=&LKUDaՕ4B6y vJ&Mc!<}W>HK?P8p?ڝ!\]tȃsn"#:n7˚ ̱$AM* .$#uɏdP&i$1HNjOKG{:gsk#C-G'ԉ d (0W<H3C< +DBf`7;T7T`o:ڨbD g*9K+qXJZ͟s@IcDژi4,3iN!?;!Tu9nv8(md:'H@( 5u;z6I͝ ƣTůV0@ U?0.A,42`dn~U`'. C`ys  ^ӘO?p2$kw9rT3_K!) FB[;GM*уh:i%UavǶi _׾z`W|`L,T#ؿOci}jNR3́ -ZMZOi{O[5Tg%5p;0LilܙDHC:yXm~`uE[7VY: Jh,˓lM٢8i`U.:IE^hqS3*f =-j qN fd\$O)24~Cab94od\'Ԗy^v-y1ߙ"[N,<_y7J;{SOW.Z6uydJfSe.4sq-lsdL%'/V;*XTDE(<,\œ;K$GOu8.3Qӏڜ~aL05#XǑ/xº!8͌m%[!3jJ_ @G1~` pyߙmA8UrrqD8smgO7Q2+aGN:(̝l#q)zcݯrr{"2>$-H+QSoEK|yW.\2 ɻWb m֙l}Ȑ@58 |.$}zz'.Uq̊,5,?%H~+Ų^ƁJ =Ll sį+0/GL,FL !*sj='A#q -tӌMz%j+ Bz&:ܠ钎L`5N=;tWd/Sse/7&yG-OǍSֻw݃=?]!@ݭ3*4KC fⷅvmw]);ND*3k')u1pE}#Z١þm~M' )y]ߥ;Z<\n؉{ς 'KN9C|H8 êFP^ }w\Ev yF5BL^?./av Ri 2G87eOQq\YeR1x6ÍwB8҃# f+.t{/,,lKuMX\U"|L/zBٖŢCkcƒY(ܸ 䅎zP#CYK "xIVw̜(D!=xiy$(+ +x4'^EQChm:Lruz\U8RIz.#T4ԇeNYVǂ ivta_DiH!!'$RҎt d2%@u9ͮL`ljkZ2=C3`n\NsPT26G{y[x~k/KtF| Arc&!ECPLKmtGkTD @Y>bvA1A[ji4r;\͘#7&f܎U^O8-Zj$\d/[X֫%yHAq(Ph~븐7L4EmyJ7 a8X"t@pElׁKda՘cX4)4e,!3!=lI`O3W͂׌ٸh7sʑʎnmkf#Pd.{YaʻJ1f۩qJ&RjRivrac`# {4ǵ!#o\[YA+`R|)u57=◮I= n>Zv 6x^!~=)ӺU5܄,TIMB-D٬x1ڋJC@jO Ѩ2ܚhP:u$>N(R+j_s0N5F5F^B|mۻ _zW޺b=$I/k8ґ/?b,-5zib%fn+xqm}6$vU>}?95 ӝ ةbf%2޸D`lN|C2yiҕ/yP:б Jb F+>  g?GrkzCgp5auu51?XHn?i4P$rO-zP:͌L⯽{)3?!AQjXWi M5y>/?*XaiQRpj4_qD[o"fZu 0] ipbSzE๻rOtX&+4vbWSFFDuUŮA AO7>$U6%Xp-m }첐KG|<O8i - X_NG%AwG8(6LDܼ6޲y!:~nyF= TDwzEϩ +* Iy73 6tLV"l<(rD*&䆶HѤrA DiM>P[/qUԠdu! IT5C8f."H܅qȯķ?X_8=I!P1o|_le[DZIw]*YV|<}䐪}>jZ QՔF%9b OPp6,ҍkLܩ:Lt"6sSپK0OZ\Wʻ9N-@ rS e-/u ߑX9lc>[;-l Lc%FЮ-̝lh"ܫx[u=0b)/ ˈ il(O 3K&JpG۾|:<0iQ4jb9v@ճx}ΠEpG>(7ܝ)FnoN ߕM"~< O<}mE33Gle?yFE Q$lwq i f#|ѐX z0<[&OJRH }OhS (qJgx!m߭<~YNsd&yaº2k1~ "7&E=&b"MPA{F>[2NdcY=?F ޷HWU :d{J#X"g;msKF-7`xưnu36={ӑSpI]KFnv'|'tR[-;zC&cF*L^%"FtXO]2;^Ag㫚yP;R|sD~`86A$@ϖ C<뻠p }%5ƈ]=x8&CM9zkd1Be36Z|uO01(1uEAF4XBsya2=]ƃPh޴`g4-]: i-#L[9GmS?s憼 Eϯ- U#4l AŠ" ,/2*&J}=~4ؕo"T @tObwDt c&Fo:`CM|auw`9ykzTHTqdl0M0CSO( L[`{oֹe\ ]YgM7\5ge7x^6}[<>9;K>'lrI>'`m`rw'R|6gY.(^sR#akm!)Kc4w! V:*UVgZV;[_7iph /xc/Kn\(@t.l5Ĵ,9 D ϥYڝvZK#2ј.ZYepVCXG1EKkS? ‘2iZ"YrL^9{$V#6YE7D&.j;h"_~C R u⸛JiEɟKXQYUPΏQꑩQ>]xCWsݲ/.Κ˧7ub)Zιf\hIwz|/Fl^~`P\'ߜś!<(ov6Pb. yjsth;ꋡrexW[\]4lQⴴ1p HsYU~QIJY(qſ3|Yݝ람bIΦ؆+p]vPO޴Q3Dŗ71ݿ]=0ݖb!+B8!5]U i "DBiWgf񑟰(n+1 lF u.O2jY$Cxfn[<'8%'mKO%.hc&:NiO㎪Boup^ZD؇[#̌-3prMeLktf pCmH{}0aE!&hF|)dgL%E]8fQ܍+FuZf.-lKawvfOnL'+VLZN4ȳ_IpS$8}y&cJM6j|}LtԋÑ϶̰)] !ZK/7Ү^[%ڈT 5L9+c?1VJGe¼@F2{-zN=C)#ynrbd55fV(EBTLRa^5JWKq,jp}dNOW4Ӝ=E~vbFqaWRN\),R-cFEpIDU/6a?1~06P9>vXŲ^.8^Xb8)2"Ϲ'+&M!SxUIEwWSv)M6O[&9$}{ Hە쌼n Fe1DZr'\tmAꍤ4^XwOa,[h^wicMq/wi{?s B}}cN !S!Q11,ٲ'\Ouc|G/68/<]`qicɢ3g12F?htaHu m;_ i{JO`J޶q r8U+l8ۍ^$ K 'ٶ|xwQBHiC aR4 O&lҋQ *"5gI+hוeE#QL̯#UϛQU쮏>oi"Tj(F+. \'I:ߥ!xgIs˵i] [`!blB} U `( W|~.otƈ$-ni*xZ A*{"uǽl?\(J~f#%fLdkTo:b/"r>նo}X-\eA9.t٢<~n5Op oǹgOkjNo#ZTQۇo*8f|di*ƺlG8nvXpXx ;I'1K<>ܷ-4W4Zܾk?7} Cx9g'⇓GUiT;RA5w!5YT ʞ=LŎ|W.Yrgu:Ʋ]Ah&nCK$a᜷GD{5orHo&;VGz4O?p<-%IqHINٛ>)&дGjW{dJ ɟlBF~*†g'gC4 O5ūG2}]cd \vz! c:Ṛ1~$F ˣDtq3 ۚ^K}}M19[+t:݆3go9,ɏѧ̓Umk}!_'D~FE8M?'m 5wbˠS#Iv|BOhaO2%oݕSa/"Ї$%\udd4 ,|2G0J~H'v/FK%v*^x΁îG!_FO=' vPBgU%CNuhr#tW+Y<4$(HPhϽ EHr7k*e#,S:G.Oݔs#̿8635i [Au" .3Y=Dpu:V?1/[A9Kdpms45uU #F<6IJ qMU0(bAlIOKT$͈dZux,O9h}ɷ9&f7\9q֥ί= =ML+c[`Rq(.MK |Lm2[OmaK߆`2b6$Y(܃șNNh*W+@°M2sLZwax8Mvirʝ[~uQ.4RgkėlE+>P܊ Mj-3lz>>UTpoVyB67bIFl|ieyݱL1F>R~_þ?.? AiGKZ@IELѦ%/QozӉ?GknՒ^C& ͐Wj8PT%{ߓ [}px-kݻGPJ\jVč»)B WJ>v0*ޜvGFS5:D,VNo=Ĉ zY#Yp,Tfv8 sr#|tv*; fȋȽmSD29H<(\26)42Uc0$Е.\%k ؝|_^Zj{"(wxtMQF2] #* "+ SGU4_f(ÂzUFS3Ҍ\#<ڇ+柱05G:jxkIYxE'?L(s_?3 Gf| %,1mw_ Vs> zY]61!}2.4ͪל#]:%*(8h#G l*pxTRVWRĞ-Bpو|ya?&ގ)[[5 Pj2P4\Y~gcGX*iPxG0S1݋P*oClz~_ݲ?b, <H_Pu(F& y7IbpmOP;k !DQZ`RjͧI. 7A/AܛxQ_wKaz4xw?>4հFt[`\q_Gywe!TϜF~EPWkC0"ʀaieS2dY*lZvhk%%̍YL^1˂Q3Hͩi^ތs'ߎZOGQjbB6 YW!x|wI}>^ZgA@Y2nSN=X7(ySM+ug}uiXccEGؤ!qĜOj.TTCyB-5--ltzR) 0<#icoy k]BkbI=MbFV Q#ՄN; q/.8z'N2^ p_+cs+\W]W6&gq:`@z,[rzzVRΕZ1ͼhXpPy˅x,#^8s`("@.Ƚr/TOI1q1}h$6O->e@Mp+'MJMR~w+Drء[1F%[*1t6jv " w֙/XBR?&*: wB4L34m~VӖ}6vT! VD}Z~ 9zD q9r)2Q zV)'O(V/7r3uX}HC6) N8G+;&8!SB[T}3j?Ubܪ@*U`܂[<RTY>g[Y9G]'-{0WqcSLItMˠH`&p.=jTs[g_ݪFNdD$|o= +GM$WW `o3<0V [{ h6dg 2= w7nCIv:^EWvpNDTul6^8c_xiǀwѻ־:|mQCt br m%y$="5Sk+=pvn\ξ4ɟU@bO0~:NRKLW KҺ" X%8O3q\7)PQ]~s M1^cDf~![~H"76D+e)0I.y@ Z6bV1(1tF M"&nYVߜvs fIJLbǶ3LNHՖWOgLGt?7hR :Ub6X1Ga;-Tx^6ܽ>~5p)C㐞g/9Y0ӁsV,H'Vr`OK{ChoF厓4\l!m~UC 3?KZ 9aaA-΃MX2p} 1-.NQN4|u躷s'xBhN6bnO&bNQGDB{)qL~oIEo_Ijǟ54K0E?m9\Ip&f4)h$&)t |Khs:m~5Gn (ObM0ep5_ ?a7^գfUe@D}6,(~xəM.h=rŦ'~#/vS (ڃ(e./1c [_St]7D=x.NؐĊ^͑* qu7ũI.N'-E^\̾ToZҵ '"Ý6mj5g[ؗ?0":Dy0iLULS|baӚ2iwIzs.!0Ҡ♪I,%_~)fdnu3C(rlb#jnVSm!~daأ6Xzۺªp̲AO.Ub, 2_K=0wY ANfY>y{^C.:ꞋJ;lNiQ}Э5%ULt\sv4pEcJA)%`,66y!LŐoW:[ VzֆEKH6`ܟd}~~5`EAO֤*6#{S'i8}ĿպjJa@ٕ Gt`!Mϳ)P\S-i:#FV٩~ wKPσd1Mr9%J u3xL0Uvm+tQ~^D`Qa 6F7n '^';QZZC&F[N1_nSig=8u,,RzBo>7>|nkӏn4T$j*iZTp 0MH_,z:urEVǸc3r]3 9RC];D9a s">DϽJ7+NBCa0?p֮§2{&QtSTΧh4xE/罇bD%6VdGv|]5T]LrX\q/=3 YkEp{B2CZ"˭r=3ˑHe/xJIl?Nh6Yz8Jo =<I(o5 PVjouې{&Тʰ?YX{FTUwߵr48r&I> A^xyLi35OW0D#ZJ[1_8m"!](077BaI;[}ij4#xC"z;MRTYw爣1w1go-*J/ސ WID, &Fsb>"_݊npA `=G"2w SQǝN n#χ,p w(ekս?m[[\ Z~4; ^pwuC.*U<;Ն SiǸ`7Ev Zp/M2iuI$&q~]ep᤿;~" *5#=tRUy4RI 1MyƝ[0ݗWݏ:\ꣀ{9DӼPH. m S2Vx}jh)s+YDS;ՓBr[cҌNoL=>>MMU=%0OG v,&kgB;}蚪#sGU;5uxDRC7}ׅ zLWuc6h 4N ,C@oS0~ qXЍ9nC2uCL I^nceلfZݘ `K 3LI"2lȃ*[ٳ tSƱF(eCGs>L^I @Rb#s<Ц7'C%bf)2fȴ6XlLhjL)Ɯ0vk*ѻHa72q|u'Pj6.EZ_oQoLHwwj@"GIfD &ng}4[`۲OKe2`O_h;u˜mt恓Tw5|NsxAتbac^[y( +q".nn?|6-, gri~- >* LDj.9`x}L@yiདj6?aZRG݋NI 2P D@_r{Izd"[.'$Ggs]Dc<]깘R vy,q}\\!dOj O-")`?O"\k-/O1?e?놊Xwh*cBrڃcjj@.X8͒U[ tQB8B`xkT 2Z6XuƵbRɩaXg;>Άi'2](6"ɚi{[xJXH"|?5Sd\b6}HX@:rB6!7#k2%l'Re cs(S<Oɉ߮u_ߚɇb?*C,]z!2J2nCARuMQE˛HH(ʼzf.o؊@ w䢱ee+~MD+W5?NT*(rTRD`鈍)?A$}P6*TG]Ԗ&N1֊b$BP=i_nA)2UR\mo߁sAn _/lU 'y/>k$!^y%!Z3m#(i /l[?;#UjU jk6 $+9r帷y1#a>3D@ 2tx jJRMiHe.GTWFG0WXj8՗(dG eMxHAi^hQY/}SQ (ڕ$cG," +`lp<7 {z6 ou;cq2<G%C"n*K]~7LQ䢫;iɸmrߌt:GtwHHrѾ];84S^(SqE(g 6弋^Ht4Yu 0WYɀB+KiG=*!H59/Ud;װ-7r0O_bTLz2K%)˗\1 f5I?zL0;d) ^ޮ:V({El῰5fmg+_)}6=n'%/o<.6ҳ= <5(Q" 4 Ŭm*@ubÖObb=T8lg ^]0`Ḛ睳 8ӌm:$#ž Q1~y9v٧k].ZT+r0uGql]4[!$)U2Fa_u#ҧG1qB<'٠kQ5yefwa#'Nhq% a R5 N+{B.h45?٨]1'HI~W55/|lu:RuL¨BˤukI{A|:a}YjQ-.u0<w@U|]b;UV"z+hZ 4͡ΙJYhB\jd t4z@J=+L#-R$=+,'[=ӟzlj]6Dc|Aa d"MD u$e  G 9i@']di&>Sӏf:vI 1lO9Zjzw^]:mxw>μ74t \Tu.xmvˊZUD旷/_c_$ zU7M(ZD3V6yЀ9сE4sJYE֭U:iX@“-HnSrDe[1rl9d_Qzkw9OBT3]|qQo[rd Է HbILa70NLE?U~>kK P6LPRy#|dVtg8O6ALA\[bc~ܻ^-_8-X)VQB1ZpkK#vvP\c,RH].`z?| %.Z6OF{3[BF*H4 Lb X-zOקRT4!v<[&_ \[oKb$@-0SĬj h$)`Ŷ#pc>OF&ҜNPT_[iUI{%GUn&X7KT1O5rMTa_؈&pU &<~)Yfl;_Y~vjYctcsMc)t=`f=_cJ?묝J☖i ֞4bo(exW| E$Ho%^M~ܷCBHy x2"F+z[S*ruW]zm[&kϡ#d_p#j=l45N LwyRWC:n7eJRsJkAMp|;LzNe\2ϸO'$*;:jׅ{g[)g9>桩@Tv|.l,[YdvW&|9jA2;ͳ4#OD2Ltԓ-у7kQɒAu l f"p’HFY p|5ňq;zO>*n2y=eUA%bHjח2ǶVuw nR˿ƯI~7"\z=K$,k\CР]6oX`q/OdQYJ43Dc)$v&1p%pK.T#wk!01YO/m.z͝/.l{O.@c(GV A=~m`1|x4U6b02xV\Z"Y1ܗT\[2sC&Cp^=8^ݗ8X_Ѷ߮V8+ͩ'Wj0";BDynWUb.HJ𙉁$zeP1Ri sE.Q(^ `U_PK~AU3*8߾xG_73@DZ6y|)d%^闄Ij}[h 2Q_(9KL׺BCۨAb|/?|t^a]{R PC =S B _%Q>hGW])FmۢOFȲ?E4f",kP~YOčo0KAu~ѽG?+u:eAeM*W-VMǑiRڳR|6XXWWV[Pj *Gw}`0%+$C~}-+ =iyoc'!xYf?P45.¸P Aq*Gs IGH5a؇8f*7RohskY-33rI;aهnbӺ %O6>`AȷEFhCƀZɛX'"mVέ ݣd#,S?H*9"gߡ*քz \#G?8Jv^&޽ L#&^b(:6o7 YG)8+>Kf3F%={BuvO2:lgzѤ*옯 ĬC|vM(ogpi,4֢ d+66⸶eU.62r-$ 5p\c[ xxxTȄT3 e)jHF[앮xёBC#=U`!7!ǤV_}A4% *I4O$LWA|?ŨL2-;8\a K10{W"nDѷR/'s8GyqE̠T[ %F<*]2E>Ekؤ%(k!j6g 8yR`)z;" Օk=c59ݫKǏ|1> Pʂzxr u %yrLh"|zP N^ '{>Q?we6T^\-MIiM?r bS?7|$f<#Zl ACsB;rj 2j & Y̮{Wd'B2z2dzcHwuݻ϶#UϤ6Pqb6o58Ij 1wIfzͭZVծ| L8vvŀ$F[OX(ZbaG ՟`פf+p0ZrsuǖWSpvy9~i앫֦us~1VF"J+~VIN0L~:)"9fi}`P@֋r;*=dvH"7.I+;6t;u XP8 id0 ! bZx N^=1UMI@7х.&G%)(V) mB mBpti6If0Zg죑qj[>7*b:i?$HNOf9QPFK+n9Q7,ehj8r%&2%g ,ߏg?8ehVJŦA NL._4L 6.PL{dk<F1H!%-ϒ8{--ڨc:=VK^㧋vUZQ!wN[÷'$L,΄-uĪLO'IS+aS֝; j1_N.TFֶH=3^:D`_'SK`G,TLY瀞&0xS=eiaY= Pᚷ8˒+~04*@",9 sf1\ƤyۆÕBp]~u MKm$]:'<}eߔm9j/k.%j/! c}TjmԠɝ" ;K_zw]\/ѷ mY }|Mh3$<~בQfn3 șt jU yw!ޒ R^`[ $ьI|X" A?z(Nl=L N =غbHW (W7P~j ցu,+2%M75EhH'Ƭ[$i`xNZIpÖςG xSZզ͈C0&,s+#YW*i[qzR>@}ѣ@DŽqā/38PҝM;*;ވ◀I1EGy(!9 _7>t nk4`jhjnR8dW9e5="8 Sm>A6=|Fkm/4|wb.QMX66Y; B;&Q "c#,.CW :14h-GU%Rl gR.L#dZ؆ElkmA œt^KgSq82),*mKNϨ?Ke8|&UTA ၺTyvWN03 `aVX*ORi*9x#߂;)#/!.e@Ԁ耿r| ,0Cn"]R/#r_od:ۊ{̬|NXQh64;1miy]UrHxŪ}m_O?[ډ$ xBN܋hXlG,r\ 0 [2kǡ@=maѩd; f= >dk7lcaf n= S*Q+# NqM#js=S$R8At&YgS1Aww-ʁ5u~9O5x3LhIW;§\ioIt#hlDoߥ4I~Ӑ]%Eaн4\nܳ08]ǕtepmKS!I>x) X4A5L GF (O$7YGa ٝ_H¡i }/5RSkv ͬ>Q왔^ҷkG2IaM'կ,,o ^q (q1I9l$]aYX6[+;ڛ,_P^h@[H1qb.l5aW.X~ocndurD7fˆiHd;jmK+dU_VObކQQ{y;OG 6J8ŗ o{2Uf:iJN[|~ =/Dגc&Tjy6],@3ܹ撑@!^h}@w6G"ڢ܊si0 N MƟg Q 9-h7M31ExSutФ1$[TMB ,jK5c$8&(,-)j@9TQIp[$&b*i[bbHZe )dTYz𮠿eeݑfC&+iZޮ&:rn{vV̕xA,MQȐZ!Gdz-:qInzs RK^ Om"o&ǜIS`n\%O((wpNjrjCKU9{:"1Ee)c]H:]])R2)I=b?Axq5$Dقh1c?W'm)9wO:yc<<\i33pL,-8Q-%[6|$0z/=F~W;&(=/؈'I!=CK{&M@%C}RjA={ &sL| GEU_AƩ*J_Qi-1#Qua L:iD;E4>qPe8 [zЋlk"%[Oaok 5Q Цvy'7E[V Cyta Qw ~w@2y-W~7ew1<_ypCw2N0Irr4%RQA$9om!R03OG!/ժ1S2x\7G<Ŭ=*` Iys0,°d+GSu WD){Xw'#dߓ@GM$E U|ZpK/ T`{? dG(}{l߳5 ~uY/K @- \n m*+ʧv q7XF#$.ph*lbBvUgD1ibAd +Ǚ8%\<]1ܜq 1XӢz]|d;83^32SϘ&W&3~IˉTGreˣ^WZR[M!)C^Żڣ^3fRc6?Ciq_̬{UAx{q- 5SQGJe[ZSm"2a"9N:n?sD5Ko渒Ұ`qBaz~˃S̏'@,>x@ ˆR8J HN/i j#g rk؆r5 {J/l,bs/coEU tI`Dey_TA=q:7ߵ.ڗU(<.tw솀ǥ/iQ̻}݃ rBDJS],:!3"R$yuSQq/ECm@uL9匬u z'Ĵm˨l<75ﲟ)<'^eMx6OZ%Dq(2I7UTHqM@lZmObq?S\ %ۤrqUXˑ&6;kSY*GEuf)bq<-=:E?"7m:ͭEJ=nءRAҝL.'(? #gd}3*%' }*-c VrU=;+> nۯcʠ_7#]L6׉YRp J$$K[5p&uUΣ"lJu\m?#&\`y=ˆ?|mqSr.#(vv d!g  `ä{@0&rωsT '8ո/ z}5w '(Zg-X0cYpt6;@U;ڜ3evC)e gp?[bMD EdC5; scq6zZ\p9>a !CT(!څ AaP9݁Up;(vß`_bEt^G4Ŵ Dl߼ahGGL5bU}wY >cے2i0)UhbtDNKR3&-Vhq>yo|3r_֗-%e𡑢5T#zG_XGa z<ʖQRVQaLBsJRdӺf0zIŌ51dQ\ύnĩE5ZWRٔ)nY&fK*ƭ.5߯Q[9K;f( 璺k Yu'ԘX̏K7k.Y X!"/r{`3,WS狊N>8|䵥Ψ;tפ]o,JWrl r\Ss&m36 Í*PH[vLX8Bf{ifSuPI}'/q>c2AE$֙mY|mRK^˟ ǀmE[_P [y? )%|}( lh^)t;u[^3'%1;W!YA5Ȍ{tiU6P]pPnRŎ&QTQ[,JoE|+Ê^[<9[ ȡ 4KҒvUENнcQc0@4>>K6R˝ztʽma0]b|Ӊ!obZ졹^4CONoB6JGeh=PUUeФmٗ>e _m&tߝh::!l?(]rDE=\ty~y4B MbI0<sy6Y_4]&?]ѝR0ZۥSG%5uHQUy{33  %&ж1}1U֑Х\ʗS:t6al"!hnwͫʻXbfLiqh*S$K3)~ybU RiXXBfzB25\ϓ:L$l*SL6#th_Mr*:iᲤ܉Tk?7s7%o ^cw-[iE"YL8=T]0 ]As/H:;䳭_7 a\&g+Ȯ6m$yiDfr Èa[8QM,>gˋs#圓mӵWKn2@% jMrrR\!m E#><"Cs|puk#xU||6zhK6_d'ˌ>vB]r$w/k-@ '3ut|g}_Mh,YATqJSwdu&ƭ: w~,'bh\$#x'.d⟂ٿOf dS@`BbmAe$6owwӬ W3}SE?kb:ޘPleP[j"=3;S8-$ڋd tG 8F`(-wTQI,HTHJ҄Fr"‹\hKx{EGF :ȰEOAT<ڱTMHy]8Ji@4KBr/SJ.X>F/)9NSS2j;KW!6.ʪ<3*p(ZX{YN87֪>'6oVn٥$5s*j:txNF`W8]nf\-<&M;-TOU?L?'_|q !E"JrA" 4} j.;j&jbT1:;h@xO0" 4cx D)ۋ}8W%a'}{ISJnK }:4/P-Abb6&|"|Kx1v$N L5mLcɑ0 o;9MYwJ &BӒ6Zh [=˄c%#Zvz;H JZߑPsS݅[v[gc x%XS4,lLo Z'&^>e6OބX(a~"k6N0vȱ_:rt>kRd <sPk?!% `劣8 }W_29g$u0+]$mٸn{VV{db?[:gBzɹB,vjdQaj-p9B`ZLВ׎ Im{v}d%6S/p&Krܵ"Kx͆yk.)B4>Š%Ֆ΢gd\(%g{,Yl9P'8Ul]6HdejmUnm(F8U CD! \E^R8xtfԺ( 6?Gtu0)' Q蟒F`9JL}!+99 zmm["\ "Msm^ E%odl>s1,d'f vQ)ᑇXEKI@'ݻgI:dޞsj/:#5$.ffqC@YMg0xm tZ#Y48yԒ5QDIqzLwӇcmstCy‹4'Xj< nޓ [|+e:%̡ nD+V |bZ!*GBp4\L播]>eC-QuMEtr3 ]0(G 3wێlיNIvC*g:Qzz& .'$>< zƣ|f&#f"_iP-x4 s|g0F\u Yo\AȦ%;gxvӰǭŤK"찎|T (R׌C*`mܓMx3ʏb#ȇB*r;:{,+B}oE un/ET+)wᕸƅ|g6 +PՂP02t`Y-=i >K9W+*:Y'b>6R$d LcyROF&>*\=(5iu4V@sa0˞m2w׬r ?vkTO N ?|@" xҥF5~ޓas-t97"¨qT}ߍ&-otVv5zdrrșLCvy fúT׼y9ʦ3_uVh:%x 'y]`R\"'{O* ҵ<IJLBDN9Am>{ÕQ἗<ԑ@o|m_==W7v"kO*2|QJR% oDtz0A l':JL,C{QX{U#hjDvɳKugFKR2@YHsFTY;`׌)lq-Bx16d \DT(Cn9@u*8Ǚ'nݼ4ʶFl7wnw^:%'聣n4S]2/0ﵽ 4`R(Pk,=iC9& ߡy< i7FVln3pjj21|n^j!D=.p*hJm}6w+vK + p5?ʠ*6(zbد!9t[o U[k)Mf=gۇ%b!نꈋ4qƍ7 &D d_ŊJ!Bq#xlGQϸa(RJmjnUҬQP[VtnVc?7qK1,$iUq/Sy-WOoɯH2eN7R,Ϲhf|mX]M͓fWk@}?|j.Nb9sR{9b.zHx?s=Mo)eKr&g;E+dYں [0*'ҫFsTbx͔3:KgIv- ]e~w wm8ɿ10!ǫMD$==CVJ0[}5.bSPiLIĉQ?bO 8) :=P9ֳl`A#|Pdi_C LZ?Pr9HNZ.DS!rIw_0{/EmL>6^ #+Qwɛ3w|N$'D(8` 8al]s=(QՔ;z@;醽AR4={iԎCFHԣCG$Rf`V}._w\A r"W2  ezd_if].6>4v돌2±/!_ !oCoL/ F#?Ll+]H;C7l2LO|>^༾= &kY'c:ؘ#wM*qtDl b3~Jy3J1dАrE~ q,׷4GɷQG;zIrˋas)2*l7 U*p%*K`|߼B.YEqx[oC^,ُ!F||e%v*"Q(ޡLw*i9_q&b*G%XYx0 g%g"$|ReYKۧ@ip2Kir85?>02rDN?@B M"Kb0k!n,Z,<u Y"`{#l{ܜfn޻oҶ9%|ӖFyik?Bw*D w0g?,D$akU)I͎.r O΁ng(s[,6eЫҍ+F뜾e]x&|F\z(y S z($)g)4L6)*NTOevx+]X7?@ TfՆaN-X5pKN&8뵝l(p ݏ?_GV?{0O 7%L?β3Wz+8 P.%ۢ$]k~3i̓UzM'gP1֡JaqAx*.)=o.*i҉UfJ`!Wdx}?UY1( Ss4֧x}sTO:nvFoPhchixE J$޴нÂ;!1vR;6p 5*AS 7;V׫䦿uKrW>rvpڠk>M^4MMX^%T{4%N=(U[D(ٶɧ, P ڜ60TEw3A4A1>;foKCdOA:ffv;z30?'ȧw(X;NED7DPڪ.¶ YZ