From 3bcd0f7e11a29b7cc9614f29c223f4a3143fcf08 Mon Sep 17 00:00:00 2001 From: Elie Hess Date: Fri, 27 Sep 2019 12:12:32 -0400 Subject: [PATCH 01/88] Create Proposal.md --- Proposal.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Proposal.md diff --git a/Proposal.md b/Proposal.md new file mode 100644 index 00000000..867ed80f --- /dev/null +++ b/Proposal.md @@ -0,0 +1,2 @@ +Randy Agudelo, René Borner, Caitlin Enright, Elie Hess final project proposal: + From 0dbc2e6d7b4dcbb28a78e1c59ae6b536071fd2d2 Mon Sep 17 00:00:00 2001 From: Elie Hess Date: Fri, 27 Sep 2019 12:52:55 -0400 Subject: [PATCH 02/88] Update Proposal.md --- Proposal.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Proposal.md b/Proposal.md index 867ed80f..675ee793 100644 --- a/Proposal.md +++ b/Proposal.md @@ -1,2 +1,3 @@ Randy Agudelo, René Borner, Caitlin Enright, Elie Hess final project proposal: +For our final project, we will create a music-based social media application based on sharing music with others. Our website will have a global “feed” (similar to most social media sites), which will allow users to view songs recommended by others, listen to those songs, and recommend songs to the global community. Additionally, users will be able to rate songs from 1 to 5, and each song will display its average rating along with other information about the song. Finally, we will integrate with Spotify to play songs on the site. While a song is playing, the background of the site will display a simple audio visualization of the currently playing song. From f48c6ddbcc554b3c5a23d27aae7bc8f8005b0611 Mon Sep 17 00:00:00 2001 From: RandyAgudelo <54422708+RandyAgudelo@users.noreply.github.com> Date: Fri, 27 Sep 2019 13:27:21 -0400 Subject: [PATCH 03/88] Server (#2) --- .gitignore | 61 +++ .idea/.gitignore | 3 + .idea/fp.iml | 12 + .idea/misc.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + app.js | 41 ++ bin/www | 90 +++++ package-lock.json | 733 +++++++++++++++++++++++++++++++++++ package.json | 16 + public/stylesheets/style.css | 8 + routes/index.js | 9 + routes/users.js | 9 + views/error.jade | 6 + views/index.jade | 5 + views/layout.jade | 7 + 16 files changed, 1020 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/fp.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 app.js create mode 100644 bin/www create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/stylesheets/style.css create mode 100644 routes/index.js create mode 100644 routes/users.js create mode 100644 views/error.jade create mode 100644 views/index.jade create mode 100644 views/layout.jade diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..d1bed128 --- /dev/null +++ b/.gitignore @@ -0,0 +1,61 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..0e40fe8f --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ + +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/.idea/fp.iml b/.idea/fp.iml new file mode 100644 index 00000000..24643cc3 --- /dev/null +++ b/.idea/fp.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..28a804d8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..50d453c2 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 00000000..3c2b2c4c --- /dev/null +++ b/app.js @@ -0,0 +1,41 @@ +const createError = require('http-errors'); +const express = require('express'); +const path = require('path'); +const cookieParser = require('cookie-parser'); +const logger = require('morgan'); + +const indexRouter = require('./routes/index'); +const usersRouter = require('./routes/users'); + +const app = express(); + +// view engine setup +app.set('views', path.join(__dirname, 'views')); +app.set('view engine', 'jade'); + +app.use(logger('dev')); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, 'public'))); + +app.use('/', indexRouter); +app.use('/users', usersRouter); + +// catch 404 and forward to error handler +app.use(function(req, res, next) { + next(createError(404)); +}); + +// error handler +app.use(function(err, req, res, next) { + // set locals, only providing error in development + res.locals.message = err.message; + res.locals.error = req.app.get('env') === 'development' ? err : {}; + + // render the error page + res.status(err.status || 500); + res.render('error'); +}); + +module.exports = app; diff --git a/bin/www b/bin/www new file mode 100644 index 00000000..1d8dcac9 --- /dev/null +++ b/bin/www @@ -0,0 +1,90 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require('../app'); +var debug = require('debug')('fp:server'); +var http = require('http'); + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || '3000'); +app.set('port', port); + +/** + * Create HTTP server. + */ + +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port); +server.on('error', onError); +server.on('listening', onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== 'listen') { + throw error; + } + + var bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case 'EACCES': + console.error(bind + ' requires elevated privileges'); + process.exit(1); + break; + case 'EADDRINUSE': + console.error(bind + ' is already in use'); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + var bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port; + debug('Listening on ' + bind); +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..c6405e66 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,733 @@ +{ + "name": "fp", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "requires": { + "acorn": "^2.1.0" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", + "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "character-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", + "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + } + } + }, + "commander": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" + }, + "constantinople": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", + "integrity": "sha1-S5RdmTeQe82Y7ldRIsOBdRZUQUE=", + "requires": { + "acorn": "^2.1.0" + } + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-parser": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.4.tgz", + "integrity": "sha512-lo13tqF3JEtFO7FyA49CqbhaFkskRJ0u/UAiINgrIXeRCY41c88/zxtrECl8AKH3B0hj9q10+h3Kt8I7KlW4tw==", + "requires": { + "cookie": "0.3.1", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "css": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", + "integrity": "sha1-k4aBHKgrzMnuf7WnMrHioxfIo+c=", + "requires": { + "css-parse": "1.0.4", + "css-stringify": "1.0.5" + } + }, + "css-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", + "integrity": "sha1-OLBQP7+dqfVOnB29pg4UXHcRe90=" + }, + "css-stringify": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", + "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "jade": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", + "integrity": "sha1-nIDlOMEtP7lcjZu5VZ+gzAQEBf0=", + "requires": { + "character-parser": "1.2.1", + "clean-css": "^3.1.9", + "commander": "~2.6.0", + "constantinople": "~3.0.1", + "jstransformer": "0.0.2", + "mkdirp": "~0.5.0", + "transformers": "2.1.0", + "uglify-js": "^2.4.19", + "void-elements": "~2.0.1", + "with": "~4.0.0" + } + }, + "jstransformer": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", + "integrity": "sha1-eq4pqQPRls+glz2IXT5HlH7Ndqs=", + "requires": { + "is-promise": "^2.0.0", + "promise": "^6.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "~0.0.2" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "promise": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", + "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", + "requires": { + "asap": "~1.0.0" + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "transformers": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz", + "integrity": "sha1-XSPLNVYd2F3Gf7hIIwm0fVPM6ac=", + "requires": { + "css": "~1.0.8", + "promise": "~2.0", + "uglify-js": "~2.2.5" + }, + "dependencies": { + "is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + }, + "promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", + "integrity": "sha1-RmSKqdYFr10ucMMCS/WUNtoCuA4=", + "requires": { + "is-promise": "~1" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "uglify-js": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", + "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", + "requires": { + "optimist": "~0.3.5", + "source-map": "~0.1.7" + } + } + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "with": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", + "integrity": "sha1-7v0VTp550sjTQXtkeo8U2f7M4U4=", + "requires": { + "acorn": "^1.0.1", + "acorn-globals": "^1.0.3" + }, + "dependencies": { + "acorn": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", + "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=" + } + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..6ddefbaf --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "fp", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "node ./bin/www" + }, + "dependencies": { + "cookie-parser": "~1.4.4", + "debug": "~2.6.9", + "express": "~4.16.1", + "http-errors": "~1.6.3", + "jade": "~1.11.0", + "morgan": "~1.9.1" + } +} diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css new file mode 100644 index 00000000..9453385b --- /dev/null +++ b/public/stylesheets/style.css @@ -0,0 +1,8 @@ +body { + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; +} + +a { + color: #00B7FF; +} diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 00000000..ecca96a5 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.render('index', { title: 'Express' }); +}); + +module.exports = router; diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 00000000..623e4302 --- /dev/null +++ b/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource'); +}); + +module.exports = router; diff --git a/views/error.jade b/views/error.jade new file mode 100644 index 00000000..51ec12c6 --- /dev/null +++ b/views/error.jade @@ -0,0 +1,6 @@ +extends layout + +block content + h1= message + h2= error.status + pre #{error.stack} diff --git a/views/index.jade b/views/index.jade new file mode 100644 index 00000000..3d63b9a0 --- /dev/null +++ b/views/index.jade @@ -0,0 +1,5 @@ +extends layout + +block content + h1= title + p Welcome to #{title} diff --git a/views/layout.jade b/views/layout.jade new file mode 100644 index 00000000..15af079b --- /dev/null +++ b/views/layout.jade @@ -0,0 +1,7 @@ +doctype html +html + head + title= title + link(rel='stylesheet', href='/stylesheets/style.css') + body + block content From b915f8cd64c18336601281ee07129d9e1d1ca721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Fri, 27 Sep 2019 13:36:47 -0400 Subject: [PATCH 04/88] removed view engine --- .gitignore | 2 ++ .idea/jsLibraryMappings.xml | 6 ++++++ app.js | 7 +------ public/error.html | 10 ++++++++++ public/index.html | 10 ++++++++++ routes/index.js | 2 +- views/error.jade | 6 ------ views/index.jade | 5 ----- views/layout.jade | 7 ------- 9 files changed, 30 insertions(+), 25 deletions(-) create mode 100644 .idea/jsLibraryMappings.xml create mode 100644 public/error.html create mode 100644 public/index.html delete mode 100644 views/error.jade delete mode 100644 views/index.jade delete mode 100644 views/layout.jade diff --git a/.gitignore b/.gitignore index d1bed128..1e673132 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,5 @@ typings/ # next.js build output .next + +.idea diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 00000000..d23208fb --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app.js b/app.js index 3c2b2c4c..b50cb87b 100644 --- a/app.js +++ b/app.js @@ -9,10 +9,6 @@ const usersRouter = require('./routes/users'); const app = express(); -// view engine setup -app.set('views', path.join(__dirname, 'views')); -app.set('view engine', 'jade'); - app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); @@ -34,8 +30,7 @@ app.use(function(err, req, res, next) { res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page - res.status(err.status || 500); - res.render('error'); + res.sendFile(__dirname + "/public/error.html") }); module.exports = app; diff --git a/public/error.html b/public/error.html new file mode 100644 index 00000000..b3828085 --- /dev/null +++ b/public/error.html @@ -0,0 +1,10 @@ + + + + + Music Application + + +

An error occurred

+ + \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 00000000..0d2deeb5 --- /dev/null +++ b/public/index.html @@ -0,0 +1,10 @@ + + + + + Music Application + + +

hello world

+ + \ No newline at end of file diff --git a/routes/index.js b/routes/index.js index ecca96a5..3b56e06e 100644 --- a/routes/index.js +++ b/routes/index.js @@ -3,7 +3,7 @@ var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { - res.render('index', { title: 'Express' }); + res.sendFile('index.html') }); module.exports = router; diff --git a/views/error.jade b/views/error.jade deleted file mode 100644 index 51ec12c6..00000000 --- a/views/error.jade +++ /dev/null @@ -1,6 +0,0 @@ -extends layout - -block content - h1= message - h2= error.status - pre #{error.stack} diff --git a/views/index.jade b/views/index.jade deleted file mode 100644 index 3d63b9a0..00000000 --- a/views/index.jade +++ /dev/null @@ -1,5 +0,0 @@ -extends layout - -block content - h1= title - p Welcome to #{title} diff --git a/views/layout.jade b/views/layout.jade deleted file mode 100644 index 15af079b..00000000 --- a/views/layout.jade +++ /dev/null @@ -1,7 +0,0 @@ -doctype html -html - head - title= title - link(rel='stylesheet', href='/stylesheets/style.css') - body - block content From bfad5c467453b73d39bf0d59efdc107586f06f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Fri, 27 Sep 2019 13:41:36 -0400 Subject: [PATCH 05/88] removed view engine (#3) --- .gitignore | 2 ++ .idea/jsLibraryMappings.xml | 6 ++++++ app.js | 7 +------ public/error.html | 10 ++++++++++ public/index.html | 10 ++++++++++ routes/index.js | 2 +- views/error.jade | 6 ------ views/index.jade | 5 ----- views/layout.jade | 7 ------- 9 files changed, 30 insertions(+), 25 deletions(-) create mode 100644 .idea/jsLibraryMappings.xml create mode 100644 public/error.html create mode 100644 public/index.html delete mode 100644 views/error.jade delete mode 100644 views/index.jade delete mode 100644 views/layout.jade diff --git a/.gitignore b/.gitignore index d1bed128..1e673132 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,5 @@ typings/ # next.js build output .next + +.idea diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 00000000..d23208fb --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app.js b/app.js index 3c2b2c4c..b50cb87b 100644 --- a/app.js +++ b/app.js @@ -9,10 +9,6 @@ const usersRouter = require('./routes/users'); const app = express(); -// view engine setup -app.set('views', path.join(__dirname, 'views')); -app.set('view engine', 'jade'); - app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); @@ -34,8 +30,7 @@ app.use(function(err, req, res, next) { res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page - res.status(err.status || 500); - res.render('error'); + res.sendFile(__dirname + "/public/error.html") }); module.exports = app; diff --git a/public/error.html b/public/error.html new file mode 100644 index 00000000..b3828085 --- /dev/null +++ b/public/error.html @@ -0,0 +1,10 @@ + + + + + Music Application + + +

An error occurred

+ + \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 00000000..0d2deeb5 --- /dev/null +++ b/public/index.html @@ -0,0 +1,10 @@ + + + + + Music Application + + +

hello world

+ + \ No newline at end of file diff --git a/routes/index.js b/routes/index.js index ecca96a5..3b56e06e 100644 --- a/routes/index.js +++ b/routes/index.js @@ -3,7 +3,7 @@ var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { - res.render('index', { title: 'Express' }); + res.sendFile('index.html') }); module.exports = router; diff --git a/views/error.jade b/views/error.jade deleted file mode 100644 index 51ec12c6..00000000 --- a/views/error.jade +++ /dev/null @@ -1,6 +0,0 @@ -extends layout - -block content - h1= message - h2= error.status - pre #{error.stack} diff --git a/views/index.jade b/views/index.jade deleted file mode 100644 index 3d63b9a0..00000000 --- a/views/index.jade +++ /dev/null @@ -1,5 +0,0 @@ -extends layout - -block content - h1= title - p Welcome to #{title} diff --git a/views/layout.jade b/views/layout.jade deleted file mode 100644 index 15af079b..00000000 --- a/views/layout.jade +++ /dev/null @@ -1,7 +0,0 @@ -doctype html -html - head - title= title - link(rel='stylesheet', href='/stylesheets/style.css') - body - block content From 2b69eb24e0cded885d0391bebe56f2bc8d43c722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Sat, 28 Sep 2019 18:35:17 -0400 Subject: [PATCH 06/88] added login and registration functionality --- app.js | 148 ++++-- bin/www | 18 +- package-lock.json | 887 ++++++++++++++++++++----------- package.json | 11 +- public/{index.html => home.html} | 2 +- public/images/music.png | Bin 0 -> 214642 bytes public/login.html | 42 ++ public/register.html | 41 ++ public/stylesheets/style.css | 12 + routes/index.js | 9 - routes/users.js | 9 - 11 files changed, 796 insertions(+), 383 deletions(-) rename public/{index.html => home.html} (75%) create mode 100644 public/images/music.png create mode 100644 public/login.html create mode 100644 public/register.html delete mode 100644 routes/index.js delete mode 100644 routes/users.js diff --git a/app.js b/app.js index b50cb87b..9f696d41 100644 --- a/app.js +++ b/app.js @@ -1,36 +1,118 @@ -const createError = require('http-errors'); -const express = require('express'); -const path = require('path'); -const cookieParser = require('cookie-parser'); -const logger = require('morgan'); +const express = require('express'), + path = require('path'), + cookieParser = require('cookie-parser'), + logger = require('morgan'), + session = require('express-session'), + mongodb = require('mongodb'), + mongo = require('mongodb').MongoClient, + bcrypt = require('bcrypt'), + url = "mongodb+srv://root:admin@cluster0-qdoiu.azure.mongodb.net/test?retryWrites=true&w=majority", + passport = require('passport'), + LocalStrategy = require('passport-local').Strategy, + app = express(), + favicon = require('serve-favicon') -const indexRouter = require('./routes/index'); -const usersRouter = require('./routes/users'); +let currentUser = [] -const app = express(); +app.use(favicon(__dirname + '/public/images/favicon.ico')) +app.use(logger('dev')) +app.use(express.json()) +app.use(express.urlencoded({extended: false})) +app.use(cookieParser()) +app.use(express.static(path.join(__dirname, 'public'))) +app.use(session({ + secret: "tHiSiSasEcRetStr", + resave: false, + saveUninitialized: false +})) +app.use(passport.initialize()) +app.use(passport.session()) +passport.serializeUser((user, done) => done(null, currentUser[0].username)) +passport.deserializeUser((username, done) => { + if (currentUser[0] !== undefined) { + done(null, currentUser[0]) + } else { + done(null, false, {message: 'user not found; session not restored'}) + } +}) +passport.use('local-login', new LocalStrategy( + function (username, password, done) { + new Promise(function (resolve, reject) { + mongo.connect(url, { + useNewUrlParser: true, + useUnifiedTopology: true + }, (err, client) => { + if (err) { + reject(err) + } + const db = client.db('MusicApp') + const collection = db.collection('user') + collection.find({"username": username}).toArray((err, items) => { + resolve(items) + }) + }) + }).then(function (result) { + if (typeof result[0] == 'undefined') { + return done(null, false, {"message": "Wrong username"}) + } else { + currentUser = result + bcrypt.compare(password, result[0].password, function (err, res) { + if (res) { + return done(null, result[0]) + } else { + return done(null, false, {"message": "Password incorrect"}) + } + }) + } + }, function (err) { + return done(null, false, {"message": "User not found."}) + }) + }) +) +app.get("/", isLoggedIn, function (req, res) { + console.log("test") + res.sendFile(__dirname + "/public/home.html") +}) +app.get("/login", function (req, res) { + res.sendFile(__dirname + "/public/login.html") +}) +app.get("/register", function (req, res) { + res.sendFile(__dirname + "/public/register.html") +}) +app.get("/logout", function (req, res) { + req.logout() + res.redirect("/") +}) +app.post("/login", + passport.authenticate("local-login", {failureRedirect: "/"}), + function (req, res) { + res.redirect("/") + }) +app.post("/register", function (req, res) { + bcrypt.hash(req.body.password, 10, function (err, hash) { + new Promise(function (resolve, reject) { + mongo.connect(url, { + useNewUrlParser: true, + useUnifiedTopology: true + }, (err, client) => { + if (err) { + reject(err) + } + const db = client.db('MusicApp') + const collection = db.collection('user') + collection.insertOne({ + "username": req.body.username, + "password": hash + }).then(r => res.redirect("/")) + }) + }) + }) +}) -app.use(logger('dev')); -app.use(express.json()); -app.use(express.urlencoded({ extended: false })); -app.use(cookieParser()); -app.use(express.static(path.join(__dirname, 'public'))); - -app.use('/', indexRouter); -app.use('/users', usersRouter); - -// catch 404 and forward to error handler -app.use(function(req, res, next) { - next(createError(404)); -}); - -// error handler -app.use(function(err, req, res, next) { - // set locals, only providing error in development - res.locals.message = err.message; - res.locals.error = req.app.get('env') === 'development' ? err : {}; - - // render the error page - res.sendFile(__dirname + "/public/error.html") -}); - -module.exports = app; +function isLoggedIn(req, res, next) { + console.log(req.isAuthenticated()) + if (req.isAuthenticated()) + return next() + res.redirect("/login") +} +module.exports = app \ No newline at end of file diff --git a/bin/www b/bin/www index 1d8dcac9..810eb7aa 100644 --- a/bin/www +++ b/bin/www @@ -4,22 +4,22 @@ * Module dependencies. */ -var app = require('../app'); -var debug = require('debug')('fp:server'); -var http = require('http'); +const app = require('../app'); +const debug = require('debug')('fp:server'); +const http = require('http'); /** * Get port from environment and store in Express. */ -var port = normalizePort(process.env.PORT || '3000'); +const port = normalizePort(process.env.PORT || '3000'); app.set('port', port); /** * Create HTTP server. */ -var server = http.createServer(app); +const server = http.createServer(app); /** * Listen on provided port, on all network interfaces. @@ -34,7 +34,7 @@ server.on('listening', onListening); */ function normalizePort(val) { - var port = parseInt(val, 10); + const port = parseInt(val, 10); if (isNaN(port)) { // named pipe @@ -58,7 +58,7 @@ function onError(error) { throw error; } - var bind = typeof port === 'string' + const bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; @@ -82,8 +82,8 @@ function onError(error) { */ function onListening() { - var addr = server.address(); - var bind = typeof addr === 'string' + const addr = server.address(); + const bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind); diff --git a/package-lock.json b/package-lock.json index c6405e66..7782c279 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,11 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -13,43 +18,34 @@ "negotiator": "0.6.2" } }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "requires": { - "acorn": "^2.1.0" - } + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, - "asap": { + "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", - "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "basic-auth": { "version": "2.0.1", @@ -59,95 +55,53 @@ "safe-buffer": "5.1.2" } }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "bcrypt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.6.tgz", + "integrity": "sha512-taA5bCTfXe7FUjKroKky9EXpdhkVvhE5owfxfLYodbrAR1Ul3juLmIQmIQBK4L9a5BuUcE6cqmwT+Da20lF9tg==", "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "nan": "2.13.2", + "node-pre-gyp": "0.12.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, + "bson": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.1.tgz", + "integrity": "sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg==" + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "character-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", - "integrity": "sha1-wN3kqxgnE7kZuXCVmhI+zBow/NY=" - }, - "clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", - "requires": { - "commander": "2.8.x", - "source-map": "0.4.x" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - } - } + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "commander": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "constantinople": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", - "integrity": "sha1-S5RdmTeQe82Y7ldRIsOBdRZUQUE=", - "requires": { - "acorn": "^2.1.0" - } + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "content-disposition": { "version": "0.5.2", @@ -178,24 +132,10 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, - "css": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", - "integrity": "sha1-k4aBHKgrzMnuf7WnMrHioxfIo+c=", - "requires": { - "css-parse": "1.0.4", - "css-stringify": "1.0.5" - } - }, - "css-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", - "integrity": "sha1-OLBQP7+dqfVOnB29pg4UXHcRe90=" - }, - "css-stringify": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", - "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=" + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { "version": "2.6.9", @@ -205,10 +145,15 @@ "ms": "2.0.0" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { "version": "1.1.2", @@ -220,6 +165,11 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -275,6 +225,69 @@ "type-is": "~1.6.16", "utils-merge": "1.0.1", "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + } + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + } + } + }, + "express-session": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.16.2.tgz", + "integrity": "sha512-oy0sRsdw6n93E9wpCNWKRnSsxYnSDX9Dnr9mhZgqUEEorzcq5nshGYSZ4ZReHFhKQ80WI5iVUUSPW7u3GaKauw==", + "requires": { + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.1.2", + "uid-safe": "~2.1.5" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } } }, "finalhandler": { @@ -301,10 +314,51 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "http-errors": { "version": "1.6.3", @@ -325,69 +379,50 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ignore-walk": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.2.tgz", + "integrity": "sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, "ipaddr.js": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "jade": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", - "integrity": "sha1-nIDlOMEtP7lcjZu5VZ+gzAQEBf0=", - "requires": { - "character-parser": "1.2.1", - "clean-css": "^3.1.9", - "commander": "~2.6.0", - "constantinople": "~3.0.1", - "jstransformer": "0.0.2", - "mkdirp": "~0.5.0", - "transformers": "2.1.0", - "uglify-js": "^2.4.19", - "void-elements": "~2.0.1", - "with": "~4.0.0" - } - }, - "jstransformer": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", - "integrity": "sha1-eq4pqQPRls+glz2IXT5HlH7Ndqs=", - "requires": { - "is-promise": "^2.0.0", - "promise": "^6.0.1" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "is-buffer": "^1.1.5" + "number-is-nan": "^1.0.0" } }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "media-typer": { "version": "0.3.0", @@ -422,11 +457,47 @@ "mime-db": "1.40.0" } }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, + "minipass": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.8.6.tgz", + "integrity": "sha512-lFG7d6g3+/UaFDCOtqPiKAC9zngWWsQZl1g5q6gaONqrjq61SX2xFqXMleQiFVyDpYwa018E9hmlAFY22PCb+A==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.2.tgz", + "integrity": "sha512-lsNFqSHdJ21EwKzCp12HHJGxSMtHkCW1EMA9cceG3MkMNARjuWotZnMe3NKNshAvFXpm4loZqmYsCmRwhS2JMw==", + "requires": { + "minipass": "^2.9.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -435,6 +506,16 @@ "minimist": "0.0.8" } }, + "mongodb": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.2.tgz", + "integrity": "sha512-fqJt3iywelk4yKu/lfwQg163Bjpo5zDKhXiohycvon4iQHbrfflSAz9AIlRE6496Pm/dQKQK5bMigdVo2s6gBg==", + "requires": { + "bson": "^1.1.1", + "require_optional": "^1.0.1", + "safe-buffer": "^5.1.2" + } + }, "morgan": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", @@ -452,11 +533,102 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + }, + "needle": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "node-pre-gyp": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" + }, + "npm-packlist": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.4.tgz", + "integrity": "sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==", + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -470,12 +642,31 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, - "optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "wordwrap": "~0.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "parseurl": { @@ -483,18 +674,47 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "passport": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", + "integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=", + "requires": { + "passport-strategy": "1.x.x", + "pause": "0.0.1" + } + }, + "passport-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", + "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "requires": { + "passport-strategy": "1.x.x" + } + }, + "passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, - "promise": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", - "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", - "requires": { - "asap": "~1.0.0" - } + "pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "proxy-addr": { "version": "2.0.5", @@ -510,33 +730,68 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" + "resolve-from": "^2.0.0", + "semver": "^5.1.0" } }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "align-text": "^0.1.1" + "glob": "^7.1.3" } }, "safe-buffer": { @@ -549,6 +804,16 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", @@ -569,75 +834,93 @@ "statuses": "~1.4.0" } }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "serve-favicon": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "ms": "2.1.1", "parseurl": "~1.3.2", - "send": "0.16.2" + "safe-buffer": "5.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": ">=0.0.4" - } + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, - "transformers": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz", - "integrity": "sha1-XSPLNVYd2F3Gf7hIIwm0fVPM6ac=", + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "css": "~1.0.8", - "promise": "~2.0", - "uglify-js": "~2.2.5" - }, - "dependencies": { - "is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" - }, - "promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", - "integrity": "sha1-RmSKqdYFr10ucMMCS/WUNtoCuA4=", - "requires": { - "is-promise": "~1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "requires": { - "amdefine": ">=0.0.4" - } - }, - "uglify-js": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", - "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", - "requires": { - "optimist": "~0.3.5", - "source-map": "~0.1.7" - } - } + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" } }, "type-is": { @@ -649,34 +932,24 @@ "mime-types": "~2.1.24" } }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } + "random-bytes": "~1.0.0" } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -687,47 +960,23 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "with": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", - "integrity": "sha1-7v0VTp550sjTQXtkeo8U2f7M4U4=", + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { - "acorn": "^1.0.1", - "acorn-globals": "^1.0.3" - }, - "dependencies": { - "acorn": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", - "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=" - } + "string-width": "^1.0.2 || 2" } }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } + "yallist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.0.tgz", + "integrity": "sha512-6gpP93MR+VOOehKbCPchro3wFZNSNmek8A2kbkOAZLIZAYx1KP/zAqwO0sOHi3xJEb+UBz8NaYt/17UNit1Q9w==" } } } diff --git a/package.json b/package.json index 6ddefbaf..1f806f48 100644 --- a/package.json +++ b/package.json @@ -3,14 +3,19 @@ "version": "0.0.0", "private": true, "scripts": { - "start": "node ./bin/www" + "start": "node ./bin/www --inspect" }, "dependencies": { + "bcrypt": "^3.0.6", "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", + "express-session": "^1.16.2", "http-errors": "~1.6.3", - "jade": "~1.11.0", - "morgan": "~1.9.1" + "mongodb": "^3.3.2", + "morgan": "~1.9.1", + "passport": "^0.4.0", + "passport-local": "latest", + "serve-favicon": "^2.5.0" } } diff --git a/public/index.html b/public/home.html similarity index 75% rename from public/index.html rename to public/home.html index 0d2deeb5..29d6802b 100644 --- a/public/index.html +++ b/public/home.html @@ -2,7 +2,7 @@ - Music Application + Music App

hello world

diff --git a/public/images/music.png b/public/images/music.png new file mode 100644 index 0000000000000000000000000000000000000000..81f9f74807656d28350e467d2611e5a09c0f51f9 GIT binary patch literal 214642 zcmX_HWmFx@vfjA6OK=PB?(PtRyZgpB?(P!YAwY1~;O@blz(#{xaDSY8&waDj%&gTv zrn|nX`bxSdN>y0~1(6UD005xK$x5mL0FVv;-0-j;BcHv50s#PmGH-QlH#HLvGA9>D zOB;I&GB+~u5e0(oVY^q_8kVqIGgwfQhpNj1`6rK3 zc10EEq5DD4+jaZVIO4Su917Itk#RlfX;LOZj(-I zulRf(-A9MhOaA=G-RGw#!HB+-$5xc;3%vf9>o}0`^isFLL-*T8b;5QdR8J4l8W=_D zxf5gVUbK6owKOk?f@i|P6mkGiIHSgXm+ zS$4%0GPPe9lWqj{@9cN3XEA@ZGx?)(rK@TlaV$+E;V0d>j(h;2 zi@2Xa-(vKBv2nI}&DW8Hs6h`-esYe!pcUrHJ$~=jd{F2jNFHu{bARKuZ5DmLn^1YH znF$GsBT`#22_>5HF=SSCR&bAH&iL|-%uub04iDewn`mcW+Z?gUyQ!Qcm!VjSqchvh{~~ zySl#+Ikt0aV(nq)QFeNGTpgU;#%tNJbK7$jT?;s*UU*#%{1IkgHPRO))2YqGKe;Qe)dz4G#!54wya+~tTtbMTJL#(Loz@D*Q}nX?*+WBav4_Nj?e@jQVHC~ z#uMnvj4VI`fXA7R2@PWC%0ld=fC!6Yz0 zQud6qD&d=&pvSN_#NPb(-RmIni&VeN!b1I}XUQTp=E`QJ{A(MaldU~#f^L*R8U{>ztD6Nr=$ja5$R_LQ2YUvm#NusJ@leTo)@PpZGuT@cLPJpn@fd zt+afYMEfaYXN~Vs!NVATEf^C}jWtkNCH7QjbUqI-1C>U9PHo}JNQ~_qefnC5n^N#~ z%5PZcLA}jy*?rogC*?4uySh}DsZ0dW!=p?KH*(lX`j&7IDh&8GiX5lA%7kdKuLe|Z zzpz9_FZECRWey*eATzoj;-jho+p;fz^2Fyt0NcB}RRDR(LP^-<8}Dq6 zz4bad_+ucUP?o$g_q9=p(`#;lnl6ZGuZ{y9DO|s_;Z;p{MF|Hs!ON3gZMdo-g~J`y z?ZW4;kVdY|;JP5Fe#~Fo4&*se10)PzwX7lPl<`y8?Ks8a&8-CfnD1*dYW?00^+<tSk0~4T{7)vo`QtqDfdI6c{5;i?0KT4LB>3Mz&~spM&-iwfL7p^SJ&Fr?@)P1WLwNvHO7aFG>I~1tOQFwJ4S{M}jVIlTQ(;S$%Kz)3; zhx~zySH*aE`-iCFOveYZG7~c@T0OvMs48=cI5!|b z%DgqQh?8owR{ghM?p;W*c*o36%Z<=T?z6@krALrK9*ggfg*UH>Z|U{kZ5ZX1?;Ce%z-(wKS83BkLYQEY+{VcJ~1jvSs)*cStoBf}S*f!%sPKu)jsT_cjSZf!~XJ=eL zV+ZHvRVOO8_<6ZVgmB1XoeEfu2T1UagT=Crird`9j?B8`PqdoH1q#AXnUp5s#dX$l zE6;t|*>wt20Y$0jhk}K?e-WBvcfmF`k60J|CZhU{aA;f%3LMy#%h$ylUgDUI@viCl1o9}X1u)E#B=gk+JS7t2qWXmO<3K5;kE^oy6`NT`-e=8a~qH- zvB{pDy9Evat_~Ptr7;zMS1df^>o0L~9S>?FVJ_k%3`+S|4wJB6aRmq-#d(=&VWbhxjjlQ4$n zW#|NQRr>IvpPz}jV3L>s)sZVR{C_X?om^p}kn-sSQKdsJ`%4M?*`w7kj05}GhF3b| zNeX#(3iP?}@cXDe)hk+6855W~8YmxXvIW7a#@=oeu;Bq*P8auABt?RR>I%H^aH9kg zxqu<7CFQsiW8{I}FfW8f*gdKKp#AS(CSUv6_Z#>BmP5{~T-BW>Vde1Cz^_0zBn$ji ztf(U7NvuZ-snN$Qqua@zgDs-dDi~dXEY19GGswkARdGYED^8AO)|+2+Kw3{hgxRag zX5l>ucX)4+Rd4ny=^(JD0&5rH`6La$L@o*Dvu{?VOCRAwc8`{Kb?SP#S0qdPoT5PFEoeHBeE41z0{vF zugtOt;%aavL;3~*$#8w-_DP~@rh~XyC+^(BrGnzb1}KioVIf81vEMN z6kZWcE0f3>f)vCf}iA6#2(}`t`?uo zw8i!<=#(T~uo#pzVSD*pP&~=e=Z-X=Pz-TMMByr&`DQVY;l$2443s~l zkC5z>&anT1!QiASP64!uC?9=s{Q`@J6UOnEB?Lf?#TmLqx`rOG{ctV7I&Aqw$_wge zQ(ZK~fTy_6woMI!T-AnlTV;h@`{Aw^@q;*cNjvL+1I`z4w%h=5{@QET*|4wAU=!D)Zj8_xk4>qg&B`Y|;UIOInRZvu_}MJ9n(V{`Wxg4Ui~)7Zpi z^q}NsFftUg!a8sz_PQRRK0C(r?NLPO{=Mi{X2Rl)XIw(5bn`6=+Vs;-nm#aX^QRfK zVTc^lrI$Af&B=>xoq7&N?>Z;uW=ur}!cQVUSPpqse+$J*q1@gFdfu_7qO09eo><2qa+TPzDZu0!T4;EsgBj9>V+52_lzef{%+n-3-rG7dmibI$& zdBK!9=3!yRX_D3Ai+HOqsI*3~rJzpU!AfWM?(?N74P(hdWs;7Ah*%Qf~MTV&tUtSob zQ-*jr=%+yQ^hhmzA;I`L%JW^heY9UL)oL(^`HHlKGI>H#+$!lye?57}btw@oKlja% z@OOW^z%L388Fyio4l5?8Qg8q%(M)_$4wWq=QQNZ5?Q>Ywy_t;VWfm`+Cq->>iP3j| zFKu{RmOJjyuv#G(_QMmxL&AtsF1)+v|Q)*q2XF%HC74;sWLq@$@6>B1Z#$Oc=*L44SHO zVA8SC(Y-me*lo?Zg2JFe6G&XOm=JNls{q}D(LcPxHc317)Rt<);O0I36FNaHVdHX|iL{^`T=WzCvDeL9VByA_iuq$a^) ze+`2)pqsvD^vaC!lH``Mb=HJs_F^K*uMkWyYf?@W65%TJQmh$WrZXOT0qqGAVd~Up=NAC z^Y8uNJ^q22Z4o;@2+jU9EN*;gLEi;HrTKzC7Z+^jzLBSE07U%T>4UHYnS%)VQNCc8 z3Vz~m+UB3_oEm|r0f29FTWqf?E)>p5{(JI5sE(~wVeD0Cz9mBo`x@0{4BT#QO7|{E z@(6bB-*{l70%1ya(~EU@i2H8d=l5#IL3 zeN{fA&3QF8bCK3$4o(9hz{)FJ-I)4fv?hTgM6He;Lz1I~YSCf|oDGL{To0r(+k>?! zc`!0seBZ7me5lPyh*Z$8^vYBpL<1pMVw}Agfg|s2MB)_n$^uj6SP!Q*3_aAn3su~4 zD(abH24yLiuTV+d_HH<4?S44rv}G2P1w;ZFS&@}Ms4yccLZ*Y^s8-sCZwB=M-UL3j zMOkqPiXix+AUmQ=D^>A1atSMTYZu;aVN)7pjc_Du06itv4E<^d;UB$0Iev@bzf3!1 zD-o2h_2->j#PI+P;V)kk+RUAh2l8WtGHL}OvK+q6rsHMYgg|4N&kfY2Qx z7nD6t-j_!fHs%j&&8xJNB_;s@Tf3VR`CTZp<9t0CCBwHo?V zQXjuu(Q;LnUX0@`y$7-zO}cHA+uL}vbryi*Nj>fFKhAI5%p&{-)$g>~g?_GJ-DgiB1HNy()QM)stsdzCgJ4L7* zr}&$d8MNi}_uWJrMF!2UG41q{(Le9#OnvmvMxi>5(a0_+!0^>#xLYtRTOb(318MXa z;~iuJFYRa}-91THk(k&p2N zhoVO@y%t>J&bM^Sl1IXT1}UKjuu0fwKVVaB297MnNk%)rT1bYviZdQojF$OG_=LAz>5APDjH{N+i#De z`EKxGN3egh4E!aIcNUVpk~yT&3Z5d;^)Qn;sA$~y??YY*GVtg--K6q^cr0ih6`E8I zCkQ@?uthS)Uw5YstHm-l5GsE{$4lu8+N>y-Y6lEXfoU&}oTvdE5Sg$FGb4VxJz4K zmC^0;K)x<_l6J=LnSo36faR=l5`0)ZTbk^hjj^=W^gYVkS$3NjUxu+`niP*wKM5C4 zO%&qqsnqs9QlOhdZ;?NrM6rUYHFWW)k;jVcuTZ{jGDHg$!3w$QTs=0lO}!pXNM^Pc z(Fr=+D$%gtH_Jum*+A;zGfC@sm>AO`cZ|OkD{I8C)$uW+CHr7%Fe@X~Q{`*hfxCU} z-;Hs1O`JM4W2Qglz-1yt|2>j|jBKAl*daoN*CSx!tFFEe+YqCnru$k6%0bBvhKP*} zM=K>kDhf3sTi)d->RcOjY^uCKP?|bz!j2aR?u3LN{_>Sq5txPNQCVrBny}={%REPQ zMaUn(onDMBYw4-fqD|xwY7(B^7|ZKBAS^~-Q0VuE z_lN^kU5(d?P)=pu%nE9W4$Ut#>y9LoJvvC75)(naPABe$aq#`-+-m0R$N9l4A_5$K z5{GuSdI{*c5XT^AK&+Q{v^pCQX^Kx?H58kN@q5A;k@!#l60yOO<=RzfGx_%GGPlZd7jKArpxSb6)umsdODG;S$uHvZWE{lM5Rp!57O^&n5D2_y)hB_fw2eRU zEn>XUeua4SPQ?bR-HD0t`nTs0lbhODcrhLJ8tu6swWy+$FWsiqz#h>M9Yg;txZuVi z!Cx;^=r>_+y79nRO?3 z!YL?#VR$U2)C>A7+>Q+I7>JE*=0i%w|WW=Tg#c$jW-ts?0YUfoH=Puw)(k~sr7O-;Y;LIWx;rDK-G zGy)uDo2Aenh`WT6q2|B6wz8|kFb$kUiYb|7q}_b1KY7^@q|A7__1PYEFPL`NelcSB zqIGu95tA@A<0sbyf#k=&m$1$bkixa;IFxoCq@W8IU*T15)8%0{)?VZsLe-Vb{<8ga zq~KM{|Gf4+B6yD)#rM3q?a-2RLuDSkOoX|Ado*2ZfRgIEjJD4!#A0y2)Qs(;wS*9g z7^bQ<5f$4;BwMDy!y22mcc&Pxx=M4@4v-T#8Fyy3(+t{cZtL6Jeg`ElI8F!EkbAWF zN=e5%h|4u-SgAI(I7K59COg2j3}MtzF;pP^jH#-uta9$jEp=cHCYaB~*3BHsGp|L4 zswwS+lapUQa_W?Xi^JRvweN*{=MDey{D*L}Q!-ZA6^ZGHW~^}C%`G8(ufkK1 zFm9Hb=YiNE*daR~b@R9#e$)n3t#RD)BP4?23^dS*xmbqhg{On}Gtpy)k5{eh^S4dZ zq_CUO_f{hEH~;V=caL|JCAQ5egCzPU001J)MnXbWPD0{;do~|CH93AsLb3y*#6w13 zhtTK|aWRe(3y)33)Ca#*s)iyKYFaP$?ai@R&m|VO@gmm1z=_~iqB2jl^S2=eZ^1>z zR3?9qNqOigo}pL@+4b-2xNq};gI}bWuWE4?odE6`M%k+xgN!p{-a9m+X@7AE0lkgv>5a|NFTgl`f z5%bXoah37XUmBbO`{WpO&Q;s`B&_fj~tKN+PzXZT0l9a&>&qE5E;o3axOd z5kv*>ee9*dnkvXhe!M@fM~RMrj~9ZItd1)Hz)bni4dGcL;{GuR=O(8l1-FYpj7x+P zdQUF$F(l?DrR^r+2n1R8q{P%!)cDD)%$aPREUd`f*_c_$=s>PE4pwAx@-k%d zs!}p!?%eF38OfYMCiXUNUSvXKe5{CdQrgJ?02x3|QcT@*?X=6LiAheA$si$GL*E5u=ll zEZq-xtq8)t50_WOv7a+Hq7YHVafm~U@8jlt!f)~@)@F;{v8`n=fCMG2*t03JN;oEp z1#B2`@SGH?vZ0Bh5D*aXgk(yAu%dv-NWjMffQyb4ghPfQOF>Z&s2BZ1!H$eyr=SGC7v}fk2IIt10yo1 zyeN0AZf@_|VOo%L_b}u7@v+_5iQUDi?bfnJ>hhm#zEeVm<>nSa6_Dw?3rgr0Vc`!zwBSS*WIs1lkfI0-kTmjz6qs6`XPrlNBqr0n4b5|P7`L+vnTufe5&UfAE|C(r?h_lWqu$C5u#xj^e%<}8G@-Qhohpp#?da}*AAX38g5qj# zx1*`e$T&2Urg_LnLKUH3_)`Qpq-m*t%d`cQDZPuNlo;T}-a+V49GffUpNYE1)gfiS zUG>uh2)164lF-J8bf%HK_kDH0^MA*E_#YU*ubqo&S=QK+6S6Z7ccp1OEs8@DP-Hi> z;8IQ))4!t9xrR4M2+uTu1t82j;@^`{&7aqJEd1R}lEL|_5BKrOj~9k2@d5YsHxIdQ zz^nhQxXrG>{T)2K+O3>b<9QSFh(4nT6!mF%^weSTOMe z^^u>07LBh6>y|fTSXh34KW4x_-YN+RM0UOKXg7yifGl(|IfH@^=Z1ipPJX2lS7}i7tIupuNp18)FdaL~j|uTUSf8gdT#J0#aVI0o7Zw7|*&w34)>)uIcz$gJ`EIXEv2Y z)G%EcTk*o+ykz1a|NY3W=S77eGCe?RGhwOy>QQ!8SV&x?yr%HLTfF-BdvlkdCD4-ZX+IjKsBl-+4=ZTT>wjtoA1N8<%$!}_7FY&Hx zS?p})Ok&MnN~T)b0M!z;_M^%d${b6Jqw*}UQ%#0m|WH({Vh1!i^0u05i8$C@M7jOPd}LIsTv z*TyN}*8m?BWjkEe!b14V|PkLies0L`V&1Wf0whq7IxKwQWw4 z!m0ng0jF4tHpl?9^*TE!B=)^4!X~ASF>1@qdFfA%$?n;T;rQT#|LE!5NuOPh)Cb+( zZ%UK*DW^V4xEaa(=DE`{wn~k`dr=rz(f_o1;+Hkr2;1;u1g_=8H{5*jK1{0hOtbra z>Ets+Uk8HuM2Y8#raow*dfek{M-nB}{TlZ5T5_q&aHKHCdm2%fi(jLuT&xTn7omk??J)%BPC%5K@~p`c+~kS~HO{ zD3C62FEuOBex_iRM}z!cjR~8Ep62P9S8p-_Sj+p~8J^W;~5D z`Pcicjbs!R?&s~8?EJMcdDjrJGKYS{XtmzhX=#2Y_^I53Iq!)Noc+O?{}}IdR9kT= zsSp0yi^qE31Cj*LaE@E{9%8j{;>IFSXIjwc+(;S4)Ig)wWC&{sre1W>-}aI#{SB5=`pIpe{*&i6L;e|>*4_8t%* z{nukibuhl=3FDs!%o_5(Dwtutg%OW(9_c*?p7NK7ukS(cgL&_RQGAv6?E{VThe33S z)d8i*=Id+EO%35c{$XveG@Z6?lrdd)Xb zZ9*Gor~m1IGod(EjypIndF~!%Fl)Am=E*!>=IZp5LRwN1KY@}u0pyaeucvjNj5&D> z%-<t$Llv{U>55YG8&>roi*ZgvPf9Uvt;X(X#^8VYu zh9!iDcYA{)Gdq=j8k+nrmh4?{Mr~Ii1LjIR;lj+#T9K#TP&6Y=EFo8@gbK7@ub-%a zDTQe0n*F*1njbgFhU`$PFcew`oX(u3%1!e@>4P;f}Xj zk(AAw&8C0n+(?M%e|>lVFlN%yzC$EE>Ek7_Rs|YWK*#(-E6bUJ#4Xe;glNljx2*x0 zUJIDN+N>{e_rn5zJl91%_oMf=Pu1t0ZMEo&x5PL*+$JsBHo9K`8bETQW@2GqX;`@- zR$YF}TZ-J?yez%HO+6;Rw_ZqnFw{pnk|026#_oeA31`$!q}kSl9}_7+BhzqtxgtZSdw8&A!7U>ZF1 zGG;V%D$m}UaTc_#g6jljuV1l9esCRdDV%WYn;-o7spS8>wsV&t#P0KV#KF~Np`_&e^35`MJ4E!?;KyMW9goW@rhxa~Wm4b!L_MCijbzd+p{4nl(|sp-ro%>65hRk4~~NDjgU>uRa|YYjzqlkG`eqk?mz_R_^yzDT`ACh6~}}wvFg3+Go>zU!-1}6A@y8G)wf?rYB_gL9i0IYil~|PeZB5_ zS-I1a!Had*7g_NC1nWGV-)~8+zewNHyFEUNk$(a;;Xopx5R2f$$p;5aP<-laz(?lM zU!&CtUiQuB^90J{ms5E|pl?t0Y1nPFlfo63UE`l$yXV&Gnh`q^7GwuLp|97A3m_j0 zS>mZ4H~zG3WYx25actqNxp3i`@W@VLYIgL)^hgWr?!GXk2qB+%TzJaSwu1v-TP}y( zZW8D)QER?j^wad*Prlrt^_bnQpbhoAg6;kV2tR4Hi|~{0qXX~jN%(@oc%bEnBf@D~ zkgY?XJ_V*Vf(i4uz{tfNC2*@O)7X(3f!w*Mqj?n)M7<9v%@6c}H{r$;P^%hR@r{g1 z>-R6R7bfjoEqsZeT)M3w%(Ys0d~sc$?yM|Z{SSp2Y5gy?=ZL!T?*AKn`Z5yvd|CNl z{%$z^-IqQ(Xbt+bXx`90jA^4K7DWC$5oDjfY;%8QBZ^b!t~okm2?K>~jh-kp9}k2Q zvh+jHzQFfNT|0pF7imhbpGU#v%)UmziXsw3U9MVCbc&0F83&ZytdGpvMgj-Y9q!CdS z7;6s_u^Je4Uo}E8P%~Wiw@t=uFc7VvqjOHD5AZ7vZE6C36^m`m>P!JIcNU0WW4_gS zw0S&|o=rdeh;0MfBL+_l95&#xKm%(LT*lrup_-EU95|5Uw6#P*Qp z5rNjX#8&z|FqulCRmkQaB?r*d?Y3N8TE+&Y z&r~+5=U|nQYITl1st;YL(4~l)z1qX2c@kD=E_^NhpP4Q)gx;W#>S_J4|IJC}4xS&2 zkZMKXX=>3xm$OPCrIA%sM%978(jeU76R9a8_caad^)NzR4k5-U{6t&wk4_U=>;dLd z#Tt}?>M@?W(zl${mf7dY-f8KPL*b&TK)PyKg*!bZAh=jT2q+dQ9Y>!RS`)ZLFPdhzu8`XIq^a^jywAkM_D4@DP?li?uGyWp z<&VEE0@h!m0`_I#{?q4iMjHvSyuU{Ke)dmqV|tm(R{m)pLa9LGvj(#JnPHW_jyOw* z{EkDQv?NYbtBdj+%FW+vI~WR=C$Sj_8!mj&D(@|M>P#!A;NOI~>iK-#?GrUn9_#*< z)eU$cK?WQ$`s}pP4OX2R8w#lgezDPvd3||RfP&^3S>_rwD#bZ|*O|IN&(pK5#_^kj zmrB_X4mH?la>A@;w1B-J|6Xa|qiZF?&=Bm*{(i5L^ZVh=gE8-kKt%VyQQ3#?oMXLK z7_qg-#a7x#UFCN}B4T7U8a9wcBH6OVroed$`geE0I)vJFfCpfedpU%eO!LYarusD- z6lky4(FCyp65IFkP$RVwZSg1l8HPcOXnq!+(@^F0dVB5280m~iwhqdVpfShbQOPRP z?5g%fK|aqJ{e$)8$DfmQn&q^TlD4CoYq6v0X$3kg6sK$IQd}^@fBVoZg%yqUXZ#SHw+dzU|?>$DB z38oot%Cm1(_Sys$8Cskfeq@X0i>(l=EgZIx4cV3(jrQ)jK+&b3PIp$l&KP|^|9xbc zE(#NM?*iXVJak-_Y&D-m{2c&z)bw z>aNIbQPh7Zq%DMvqU+w+?S{)|cCWH|PR0QDi-efH(VZ_5Iw(XtqGf)ZK17eSt$cSy zaI(VAfNasDD@@w$SIIVi-SK*WUP&Y5=nVRD*ln*LRw5Ac>g4=HF!1z;XeIJTskY|; zxw_=hB1bq6YpxLJK4zFTd|;k@@B=yg=a6BQ;27}R??_o3C#;}yL{ll~B!rmV1!`qb zuHQW0AVHfJaD9HS+-fKJ!q5C}@19t}dn1AQKP{-;oZaoi%Za<9>RPs9qc3iMpkOCJ z87qGspY&m$0vXvpiYk~<&=>wr9WiJW{>810;>QyxQY9#Nu;Wu;m8LBv8N2$_jC)Ns zq)s#WtWO1WK5W`W(?Pr3k`SOSRTF*1&5z-}5CI`Q&>k!qRrdZ^t^n0O)!JQc)1aAV zruvN;9JTg5t=-L`vyC@ zwgeKx@~hXUiuxu z_i=cI>Rvf|eO{^sEv^(b?P9q~#_}>o>9Y&mqy27uqn&R(kud0eFAva@$ja2u>*A75 z5|-e1dpi?MkSJ(Qy-C}n% zUv`(f`y+NQ7q)=`Sgvk;ddeasKM;62i2et zHC#Byu(qTxov89)FZZ4W<|z4{?}f=i+u6)LTEeIFYIp^QT!I}t$2#67C$fc@Th}}F zwXV6&IhZQGj~e_N`=!q=!*6-r`MLw&^xyt3atvJX#Uj&d4C6)S}UnGK-sagJgE0H6&SU(^(JpZ@0i_AZuiB5L$Zf1`rj-U8HBHKt3n zGt;1M4(VQY|McM{jpYf);j>z*1xz}0j_Gj(t4+G91(ibCoV6#iP+6LI^z5nO2nzXV z&JeVa+=X8El=7#i9uPp{+2qdUlvf0BovgeGYByx6tBQPnL`#G7f` z^*MitIY$*X3mcV7DGm>bPTqTNP6Y8;&~sm`m;JoM6Jd;E*o_mG<8tM8#Cd)y;IWnD zG5O-D>*gx|wkSElhpEXClJs8fv~o6vl*HfxPNpdLf>T~Zp9G)_s*ntsh{RlbHFYhJ zS1PI`J7CicG#4%_OMAt9N*`D@V85`9dCCWsATT`RRDqOleM-0$HNOYdz$leSPb|sa za-Y}^(9abO+nr>4G6wj2JOmy?CiRMX4|VS8p<_0;*HRm`_Np z;}F!mMD)F3BFj8UjvGzsd+1lA(NcT8W;dw|CMMxyA=s<^vwn~PmUJ^15n|+e?J>e3 z<~aN4;FD+&Ak9Q4;|(msO@rdh4l;9pz!#zi8sj0+wZNMI-yOQDY&msAc`y0Mh=$YG6xXA8s>ZX|-h?V>H4%nWzh zP`<{?e4B}{Xt3MbT+v3Yeuvn1Mpj-TQv&V9pL}6Ul|Rj;u*a-&Td7IrTDM0z1CiD* zNp4dk_v1Y}{B`%`G`109U`LWML*!56Nu@A&o8f~2&cokz?F_`AC3`9YP{m zRX%>!+fC`lKf>U|aQE=Q$O7o;>8Z+Zzaga;gx0mT!qvyd$l!^7c53TEV`@R>nA zRdy$ni~hnJT)d>j8<}W}G!d&q2qnFHme75X1opZyc;AZ?d6xj6$b3jE{tprc3D1*L zr6PhqFNHpmc9iG^LqFCtC`fsbYy85%+MezTXeBS2q(yzCfz7pT=u6?aAP8`nXI||J z*8qjz4btfa1qh@#+jknFv>00yBVv}qhZ$QTL5q_WM~cqWsn%u42L{4CZ(}D> zpN5*nGMRv5(Y1|bWLOb)jXA^Q0;|cy69H!Ite=h5g6c&R5v7YU>cop7iyQfx(C2iJ zO?#Q=x+rn@{(?ymrW(TFOClnPwu`Sy(9No!)x1_ z_N1ugA}}rtyfuIH_jFzf)#X@q9U8!_ymq{3A+f zOY8IjD17PTuY3~5?^P#zCD}^$?ZPz#Z;qH1e<)+xS*kU0fHngthC)ZFb}7icHJbu8 ztKsSZ`(JVeaszq+?^;!Fgq=DQ2;Ydy$Nk8rUi3Lw?UJ#nf`?2Y>SG6oGi&k+3k!|O z(e>Bb0T_J)XhLX&q0h`l;TZjWZ^Dr<>+?*B02w$q08&d!izs7820DdPEDMLU3A7zd zQdCZJCg`BDK$LMy9o;&PQ@Nly9HChO9~nh?4nG-=87ex+Ig)eXI^d2&QS0!xmq-^`Iu+}&jkR=#4P}DV~UzXUKsE{Eg`sC8wG01}ZyE7?F`@@cy zDQHfmutLj?dGJl_aauqh=S)vwC_k(TGL8)AG#i74HImVU5iuMG66p|I^>c_REM~X~ z0CxrwzoamuAT=lsi|&&+V+j1rF59<9NN-2Hacd5rKYuDkuB1q>k6YiC9QAvG2GiSb zoeyYFx)FSTkF98KhiFN|8TH^P_q4}gER;Z(cUK+Nj2r&^rD=dWqq$g$=4pdv*ZjY; z0E+>7bsQB?@bVmudas58MMx8IJ$4LN?Vl43%B!S=2v_n#%asH&1vC=3nnr#ub2a4N z0f9?>R`BLr9;B@={t93+>NC-na#C`DjU}yy2f--8YC~GH|LgvJ{b}s?@l!@EYEkt@ zu=mr_ZGZk^0}L5_0eWIMO&F379INiGlOt&og46z-1@xM6Kme)yXTbm$KneDDR!MWn z*napz1XgwkNVRxA3#)4wT>O&Wa*%y3C;;i8zz{HZ?kgLVX%Y;-#NN*eT{;!7niSNG zEC1OVQx$(}_=>6QOJtZcOmj-5#&7RYr>z6Tv*rMo)RZVS|A1>Q|A8k7F34Xd^t4!#nukVsiP?@g7Um-K5ED} z%{65MBYCIp$B$IEG%=XB^HA!{WDVX7Knv%U&$)Xz_|&xwZUoA*?^_;>IK>mOX4x(_!bZ; zkaO6qga{mx7;2iTjOYxk;<8f4qp5?7Kf49t$($jJI4xsfQV4>W(D9*y05RAZp|ZGa z!bjA#FURS-bCvl8yBD6N`p?V$3)jxH|9Ih)(A~n}qt-B7fR6xvPfhBrgbz8CMx}}& zU=x+5;ahB~jqJ&t;-i{zwsccXl$}MVZ4DGifUf!%fUMnn6K0qGY>R<3g=n>`Gu+1( zE+}bfuaYb1aoh@uJ|q`LRS?)0)(H6we4c(4&7L|^9>v4v&Vf%fQ<}I??Rrvw^h(zi zpsElfotm)HW9&fm*%>E4sAPNeah#tU521+E#lmo52s?e-IlM$449=|vj?{&di(~aB(${>1(|BNclfA=dS}7tI zTclO-t{yT7QJZ}mCpA=*aL6PVfndWM4Dprugww7^UyRuv{pOnv_c zdR9~nAvc&6!tM08{Cp`>_<)o3o^2-5;oAUTq%ofty2D+;fq#(astJcP^5$H7TMuF< z-QZk7gF)Yz_`AVqfj1)|Lmsy8xMUURGtr$#PPD8sRyD0#cI2OP%Lgu>d?g<_HcPmm z>hP{TbX=#woPcK3;$v}*6aVo9+iLK&99`6aM_177TUUDKEjA%y+MZknV}s)4_*76N zao{3id9wmajoQ?GDmEG9Ed7K9W|=6t1riY1-f(rAo%8dEFD%54XOOkvFop7mhcfD0 z2%A8pz#@gD1Q`sXs_RO__x77YhTtR6;6s^WAc~FP(u3@O$bZ!`na~Z~dSenL3l_x> zCs@;^JEOUaPJwF7jA%ADYz&T-)O_SFHTcCqoJNZnT(UsE40BL}5DmbsIs6Wd8#twX zGZ!syYa&NhTo5~d_XAlJ>I?q%(ij2-V&E#IIRQWG%E%1}BUt5&z!T~F<}b9D3{n)o ze=?IsdUy4Qnbg@n@G2^8tz%;XJz9o^w7Z2)BTA?P0C!v&#*gd=%ZWj18f~@#PWYa> zJVSO_F;P?Vq7h5Wl_jBavxy!Ju8ZDU6NpQR!KCf^v-S!X07uk#p#b)PVTW)bG8bs8h{L$`^b_ zZTEDnvh&z9$okt5XHEY{(^rK>^?q&73^O!H3=Ps9(y20((%m_9cZo`ON;e47F?8q9 z-Q7q^D+nkEeEk03^&ak%eele)*IIY1d%l5&j*D%hV7BXRo>=2CNlE7DZee=d3-n-B z;nlSv7IfE|b~JNn9PSGsfCLw}r)&U4=NwIMa370A0^oIU{_$M_zARV*k4CQ_7iMs{ zr2m_TqsI0)H{-MuXY9PilBvD$>D8mrUB?F@O?9QPv3vSiGQN|qPI@&Y-;hxLJKC2Y|0>X!<79*&8G6(F7f$eFr2ZXHKZzbNh`UIYJpK6f z`{w@Nk01Zt*Ym$0xYwV)1>4+Tgsgu4#}rT$$#@E?_1$M>$1r)r^h5*@{MpdX-$NdS-d5y;W-gLQ}UegdOZE+@z+`tN$gp|w^Xq{0)>1Pt729;$y zLL-zUI3i*KnPQiVx#1zt4a9y>r2VEQT^~r>!_X8l3r?yHl?$Xgfo;Vx0?60O0yN%z z*a0*|3dHcB3kUL`uIh(O)3D=Zjj+%_`YQAS5-l?Xi!AEgSWi1H(;HJBeF^0wQ0?n}MKn3UlLA1THP+?OVBDhn2G3v+&<);Ex zV%w+)I?~$e?vHKF6eV!jx9FPc?rHxJ8wtR zBOC5-s&$OT)(1=;T11j02OVwv&qLnHtIbWmCYkqt^5p^e)RrTZX93HAUh z14^!-Tr^SItmIpd#gJ7kH`wcFoeSBr40k0*AA;HrckuW9%}7!>1Sy)Ros3eW8joF* z$bz?0dQG77=^Fa)p$G>Kr2LRUZ+iFVROMa~yo>L5a^@Tg z!?V5mHMQ3Ho6urEX;aAmc+J`EUoy3T@3YfpH#d^KXVRKF)~lO#wx>jZC)a2@-|(Rv zL3wIR1)K&4-6wvLAAfH^r%D3QOUplj^u77G_I3%RUyo2m>204<%DKPtehI(lxb-2I z>(is^?x5ZPSRop7U`>c`MpR)!aHs(o6J3Q^Ro;|=wqY^i zHz)yvJELTpMiC_l-JF1YNu?jVfdBM$AOV^tkVe*F=0X*Cr{ET}z7Pn3Pbz<0i7>Tk zJ0Qku8dw_hwY{#W%N~gjg#|84$^u62(Nh{}cFKQ7tA!P*$!iV#0;Vf4}@%q(Q${{C(ode{NL2IB;ek7~}B0 zDD!gEqE2>kRClqrC(jhZWZG`wq&1>Mk2agFy(&@gu@Wh~gm3R?zBXaS*Y6r*(FJ4U zK?f_fP45}6ihGP7KfaBbZSnX{Ct2ibdI89veJ->z(&R}ry~5}`ytFau-11VvHANt9 zJ}63}FdlmbA$n~<{Z;d#q&-enF*;wh_RybWMwq3Spe{~8E*s$fk z>lF<^1dkOL&DYCX9huWdUmdfgt8%%rU4KeQ$z?w3q(ylvH;ryU&6+Af56i! z%`hlmol8QIHLx*`weWQYy8^1l4rUw}o1>pjp)edDrso}GPzGb@!R1d(g4{^cw!Rti z7*%zs6<`GSFH=LdeS#2j5qlP4YW$<8S74wUs-DO}a<&S)bT&9(Mednt=>w>x7P6A< zm}ki`)phq&owBDX)z?$+b&omFdE~7zr}A6Ojwo0Oh~e_kMAgfi?>UTEtQ=}qpc@1j z{Q@((jF=SyLM`>-a<;^wo8bJ-c| zNWqZrZz>|EMYWx>PTzAh`w5|yA08Fwk;9cbsh-92Xa>)1dUMJgLexIe-N{ZStWowE zqNy#5JvK#F8aV=Me@n;wSb;&#iTXmkv4~w#+svT)qQCrlFm0;GL zdoZmN4|`);)D7w9d!nmiZv8C^gLFE)ALpAlwg-})EAz9=|Ap_1g4I1Am$cZHFz1m>BHgRb~&Qgy4m{Jx(<;b@}Ly zz)T5;{1l6q*mp~&&f!d}IfK`xIZfgd&gZ{FEG&CfqiE2hjz5rtO^4pP9kZE0GN|q0 z*rXxc*rtfFO%nWZf;9dj-c-Ka92(QXe-_$5WDyLcS?HJ{1;Hq%ju)ohpRnXv4PP&# z0b4$N0LyW_Z23%$$K2B34XBHW#Ko61wTDU=NI*ksqDjfCM0Jc)Vk!fY7}yyVxC_@A zvdQ2QW`syLU{%blGG>0AwaIee0;u%Ttyt3VXv}TnGuJqaj!gaE_C$nc4MJHUdH$l? zHYY?5k?rJUJ~;pHwcJFKHZ+)FZt#E?eMCD$*V1i+|0>&)d1xEE#ae6DP>;`M--2Pp z3>81vg%`x$yZ9k!xp*K_r(9583#-e1(D_e#X9e}c_g(9*vp3Nt{wrVF{x{oM{c`d6 zlX72h<~(0mg}tDeN{F}%=oejGspqe8HV?qc3-#+g=Lgs&Ss(;|uBUQ%c-LL?;zD${2%pDe>$_+=^r%^y1ZS+YEv7 z8q)Z*nyC4O=rKW2Mv}yCD%!Jgat*|bm`GxZ`O!IriQS*LE@jgPEbBZ}wepm;Z z(qTO^^09FuvDYK@6%%|prj%K?mU}eiw(&{?0F=RpVtr!?GDCqfa;7dBe=UqgXR`X8 z8Sc&1`MSfh>&)?L=&6j__rDp=ydb@Fy9@1o_*Mg9dS+E&dBExnl zO=IMo>vO2d_#scjWE24l&JSd5O&LU3hH|LN!(kE`ge(g+>Q_ePA>(8}<@BUGr^c-M z0K}43Q`-iH7D%;u5V2I-Bm+v>#xctW^b5~67j$~;MuW6C5oA9d&{Jou{H5=RnQ}DTf|ktV&g{V9?Un_KU@|(5 z`VBZNiG4H1xZ4zEd=fM;$K_Lf^^pIv<>aM%&Q{Zkan8+Khr4@Pnj3z{F3Bze%D?@7jpAbaXd&P`~hkxqe7%ct#j3UR;RHC6e8WDr47gh&~ zGY>!9fwE03w|d~xxj|5qB@-EFb^-Cvs(BHp2%WgwV{e=6@}Hg?|qL-|O1;i;%ZT$v{Z1W#9&7#*r>i^s~MPLm`TAS_c##DSj88c~-#Z+t^5Ky3M3mzk*$u>^^`u$Uxe8aC{R=^2K_lx$9xC*8lvy^?#!EkC^!1 z=L<96h0dhss+|{HZy2n~Gzer*IIgM+d|zWRd20yXaA1+nOPscm?}}0V4cG*uPpS8< zg3res=k%-oKr4?#E05bO!>8to3f_w3HJueb35~8y*{attOz)g#f*fIN?yup|)8OZc zEdirOmjf^+iwKS5J#bABzF%1Bt!<44lgDjnf#Mq@WW`zoaC21HE9*ZJz}V4JW7N4? zhcR@4vv7L}Nm)nC0uVP?o+3@w%1E8OF6L7X%J_JFqdH~_0}6nTgITqZ&#?v?ka|gA zOQzu{!xmWp(`JywkLPl1#0<~_B5=mbg^QtdG@%Q<7z=1to(4yJS)Rjf`yzz=du-52 z?41~&=)&eo0?O>PszuB~K832!JLOPpaAZp@k_E@otp zmekoSJ=*cpXy}XYNo1kWKby1v+-mHudCb(_t{u0x#XUb7iKcbyRT47;8g^nM5)(e6 z8iQsQdTI?x46`B1N!?b2^-ExF%&$7BDasujj5h4mwhiZ|zgKmIh0xn~m;7{4HQH9; zT6wQx2}1`@>`k9EgH@iLpEUVeUK;YJ1Zk@!PDRBvl@GZuU;}T6VU?A#;!%R5Rh$!q z@KvPYi;Bs{atEK@gx=X?@ugS9Dh@{(^138T-)u(ewBiyN=eZGg<-BEPHB(>C0@U>D zzPc|}8`XZiJ+&tLx%^U!g9OFP&p`=O)IcAikib)2*EFv$6^PskkjyOR9)#EGB0~Zx ze#VA1M&A1!)icON9S+9T?Ye{HIOBEEOH@xCN>Awm8F(BL0kZfo`gtH-L4M=lkYNi5 z(DJjFK3@0rhrgH%jn8-!g~QzW(^!fV4hmQTP_WUsKP62%RWbESObN06)>xjZ?kp8z zd(8y{vzSvVT-Xi_#->$Uq@F++qK~npwSMYp{ zRlD{ynPERvahovUx)8F9vD=tLTs}he>=@m82c7(*Fqc5I@V`x15%vAe9r`39(cEfa zO97f4WZP^+o}p`KD1;fbIvXJ(gBL4-?UERP61vQytF-*QDfKSKoSOqW8-T|Y6994T z0I*AvLSz%cbU`+sqM$)Z^CBvHZ`-6pf`8pCb+3b8{h9tX_q08;cW`m1w)S6zi)tY_ z?YeR4xEh3I=q#S8*;yKA>Ir$&%Uid8UQMpqbwFkYvL)zeVK^qe;y2P+o2{$Nut*JV zxNG!kmHut3vbGFk>{|aU9fFfoGg#ql^T}jmmpeamO@d2ShGg z8hx@LTam_Fj(X7P691vdUVgcirdM96Xm?(cVfx9e#2w1GV#Xn%nfrQoKCqCVp&C2I zM8EjOxQY^Qd_GXuDndPiPqnI}M4KGZwX*=`WUyAtUQ@;MQ5sEiK9zcot>hFF;4F&7Y5a}7{-a}i z7Z**AR39TBt4wI!g7hO>K+^cAfwdq&7rjhKzX)E}0jPVKphnrVP%$a*j zWh@jWtmYkQvuGovVnB)64obTe9OjmN^`Ua@3(qcIWKq)>6{~?d+sEe;aoIWVbJv!P zokqHw6FK)Gil(*+&Lh|Qj2cmCT(#wKQwQ6YxaQ+P_NBPB303jLQ(3+mM~x5qnGcR?z|sF^wE&7)?lOc zv0iu@pv3*2&O7Y29dKF_S9u`7A|*>Tz0chXSH3)eru%{orC4Ox(02Fr$yZkM_ZSRS zvt-uWCMv?q!%-3J}3#=kkNnmFS7>TN?0* zF%5ur8sM3YvlWD8v*4*gx&2MtK;hY+ljW;mn}sHM?c9QY4=Iz@Zrdp9+wtEE>B`Y4 zUlodrGy3bwytv z>qi)x!qMilt8EP3?+Xc#9O*XN6}NA!RiaPy-?}Sl4Qn$gk|8Ia(nBZs>p@u?SYhUl z8Q@VH7S=c6d&vAo;#5LB!eP>7{%59|n7J7bi@V(yn=>wjk-O;|D@dm0X@@c99lfEj zaL6Kg+Mou&rK^%oSX4LwWa@2=l^Hk;rs4iZ11@0&A>e!>D7tyXlkc@>p_!z-SyJGL zIpI%L>tI+g%nswdo1bu+C|;`R)HSyv zdrpj#Q8hm>|Np!I!CS4>nI|$`cZIy1m{NDqQ|Jq-UHVm{d(Wo#90=^=M6`T>R3{hi8ZQ+==G`7OIfHsa9hx&cv|jTCRM=@6n-GnTpN*aM4(z8Du^6IC z?_+3pQMA+*nb`MP`JSA?`4>ARum59dRtSx;Rb2PWEr>7!rP*{R3+RpmFoOOGOB_!T^lMz^eop zjWo^J2&z7?4%Mie>3TN(Q<!Pr&j_PCOjJ%{Q;H)XSFW?i`qyt96BxvRf zT=$(YkeI|~N2rbL6lbG;MZA%AsF|~4uy61qv3sRdr|Gr#@TUD-fs}SfgKy3?r-|4# z>Kgv<7JO5qwyc(6xQY_*U$c8(-a;2UkUsf^?5y>7EGGJn)1uKXI3Xvm4>4(;^&~AoLp^BcwH_8=?O4jV_MDCB zW0Uav6k1m+RCViiff?|#%|Ro5nQnhsOJnpgi-Ulh&#RXwafPy73_$%AE}ARJOq|3Z zQ_9~v01AT!tzd_7j!WWUa!Z~fBPIaWiM=%ej+rZLu06-BSfufMO;c=UA|+@-dhz^$ zf`dSF1h7uvLR~MhK0{d>O``7&*U?+8FP!gm1nO?ky1&1%iQk?#lnAr)(8=A119AF7 zq!us6(qPFpvUHRP#hi+~6gyAH_Cl1>E<=XcwQLP+@5L1;w#_J3MDoP8;fwCG@XKzvK zYwtOD;$mq^vE6(;GiuHiRfWcv8q4_{hn(+lt>4z|J1QaDaWm7Jq!r$kU^vVHmNOdilG*(m^!V#{}`YFSXKs_NzwB^}F5N#;ys$5i*&@ zcw;nxd_ht&oC5y1n;X+X@>`=e^Z{hB&Uv_!1|=mWtbb?6;@QR>&{c4cAihz=9g*ar!X{pJHXZp19X z{sjWsR@&}h(N&Z28wM4)?X;Zm#yLe%NW(c$tfcXLQ>mXZ&$=K4OiTF;G5F|rd0XVD zh@VhA>f<52`gou-9h^oj;`h&>>T0L&CFH-KOpo&ZGrQeY2=S18ertB{f zb^4_Fk)dx$1Y654m9VfrXRiE<&+uFG6tdO0_e)~74bZ=-JrMZKBNqCCt&{;`go`d; zR;Q-S!ys48rzPN_!F7>0+Lh&5WF7wi{DDHrP&~Gc0m`IOv{z}4qg6bH^yHq?d3=S;f#4bDa zA<)T9VZ5z>waU6*$U8FI=&b-|hcHJamPrHF{N6V7^b|M-t?xmnug|Mar9K8!&F5Nu ze;HPvncjH0ZZ-AvapA8#yYYTunP>nV)U2b! zo+JECM!t$;UTW;G{7WtbO7Zuq`i4`@g)%$NLyxh@VtXD&z2>>H{kD?>fe}a4X7r*o zLG4>?72-%gG7RXWCI9ls&iOb&;2TQIjiW~63E?Q(GJzO9juYz2)*Od@ccqwC(N)~; za>^{Wlnq@>AG!kwJQ$GS%AO$>&lUqCwbmw3wT}0J+~Wf%we5KcUf^*K~Hq zs!|yG^k^Y@abMs*x8&!K04))mhWjON+00Cmlr|<9Aj?Td1w9AS1*v7oOf0L!k&q>^ z=rUl?C>S9?I-3)&@gjT{PiiZjK)VdXfk_nYOeCC8w>)q$>Ru{irD9`RG{CX0`x_B# zex(fi*xd$wcTH_QAk5RHBr~RpySpf)Ifaf@Gi`9V?p30nqx88{yG1`A_g96cd3DkH zas+36RUM`%AVy?`g9D^h}n%j^25M zUqrtc5_9I2@7B~sWp-T{n>a}M(uSO8qPgKX?Y#T!TsE`-r*HZI59KCD3eUih;?m(u z3>t9J{p*F(=CJe=*{O#^fyqF7JyXXigExA$vY7RMYmIEx*@!r3h^60&-LrVT<{iS2 z=9ryN8DHn!3qdUmnD0gJVZy*hNi0@{b8`%q$wYw-FV*{;id_&2Pl&d^Eks zSxNqc_RUiKoGJpY{nb!(F^yN;BtLbRcxs6NDev=FTGI$_a?I=@MZMs*`DXldFlE~A z{)@*?)?1YqUCcBOoEMqme|KL}{jY%F=@bN4uYPITEKKQ|o}ak}s)QcsIT?6zvI32c zYom_L$(A5-^Xgr$Z}ON*?u@=RYPnW*WTwxgx60!YkaLr~4bv~J7aTD0< z!&_t`Jp$M!wzyT5LHYyD&0vJV8fdU2MFYFp%m%3xfx{|NP#_iw#G(q+i`$~m>ZXS) z8mi62P_?0{_Sh6pYyrWFup2p6WQ>rMnbZdAGN35GQMfl6F+8_(z=Am}*|L{m_9S6Et8W2rH- z%o}Ci(^s(QoNd~jMSH68^xeW_g)E6{m%aiX3>!T!fq3k9_TY4H{Jf+d zRw{H&RW`v)=b2>^X#!723(qy^D_Ze|$eWY*bIY5GU0G8NU_b*lSlnnnewQD1qofB} z%bA{zcBtp-mcU#XO$L(Lq%0Ml;&^r$|ImBEN~as$ct(bm$S*BOcNhx{8U%zG?1{(b z)FGM4;&kPg+eFVSUBCpzTd}I0gTYs=%xH4~N%$OykxO&S;!2YaiNOg&$CDMe7Y*^D{F&o?GVUl6LDqI}YpcqAjl z0jC%Inr!ZnEbH{%^gF$nV(2`Y34UfF&jZuTw|m$Nf}J-p2Td0LT-Nb>h3&_2USPNL z7hf|}*QKazgqu$|{o{Q=Jf+KA2vN2EQOxMk_MRMS=PwKQakCCom`0ka) z?0}vpVq7qA`A)uutA1D=ab#?jn=-!+t-GK=7$pS$Gpey2Bt8h3>MbVDSCb{iiizp@ zXMwtEwJa=w4p9fC6r<-o>lrXGQOR^~p5Yp%>uG7@Wa_ipqQ)B#apJ%!_Ej6}N6>}^ z3p?HbUKVUv_^jM*=`f&#i-@MSMz0oVHNs|Zc>y=33@UAL6s&~=I4-6s^sEX1X>{2v z*HZ%E+IOB9A*=>*sYT9+VeX%7C7-O>Vq8z!=i?h>sL)J~bUcLMj`fG-_S$7)!6spL zf%bC756HSB;jz6+CakJ!(QL_VBmb-L+ejrhHqB^02TZfET53n%GliqkbNV5be-HLv zkH9Z<|G5`Q%ynd5bvu84hA%XC-?VA+wNFNbcnRm%SxMDHLluCDkN!8CoP&vs?YIV? z-XDl~mX}wQSF|~AeLCEv9pDLXcuyA&wj3dVje>B}xiM_eBg1Ha_0iGD)4VUX7T$At z$M+`LapkcF4tuP@A$`P$BSF8-eV4fvuZF1kvH$*(_{I9xD(tH5s>Qv%{Wv?RwppBx z8b9GVo$%$tR1$1!&B#;P%Hp+7_C^!o#mzZK9M6&>B)Ct|#~wRZ!PouHPIP=H6B=^$d2W8bhOy+D)m=`Y75izP_ew7F)diNH~ZOnVE&zu!-wMo?m#S_uT?v z_i3lqx*ao7KTba2njip63c$K}%wcOZ*z9;;nCGA(E&67u=7sA+y$F73-Fe?4D%GS8 znERzT!t4#LKZ)^nvli_YgOE()PpIt^+4-%qtqvTeX4v?gDnDA{JcpaVLZLokl!|X? zXuET34Fk^kkIQj1<{d`tcQgjddwF^a_>H9mO#AMZNwThHp5(n?W<2%Pp^IQ+b8S=8 zGx%>^RB{qzlfHf`jXiP|!8NUPr|_FzEV<^tZBYO)4$W2|2x(JRCt@)rKv{ZgvfB3u7x9j$3eh(M^iW*I>!vDQ?)$4X2-rJVFE397bWl-A6hF#ys=x=3dsFF#c#>{0IaT&8LH>$%& zC0?tSldSU6tIJ4`{<8;GQ4NNG^sVF&0Izz1uJ({HQZK!H?oh(*Ly$X*1J2@UTTmdZ za-gzFvQuvZsUHnNp;O5I7EqPS5>3!x9J~a<=EH1%XNrx9Pf7>1GtIn=gscz^6Q}|$ zF!7euTCQvTQC5e|#kGj!C*Hx1`+RIw?Q!h?)!@F`Y^c3;JYEr#y#1c-FzjlJcsZT7 zFOj3MA85g0+b39D125n*XeM%+$Gmc`5JehvE*1WzhjL-vEc)i zAta{a$sQr|orsYdaeyg#?;xkcHw0JNg<)#>?)66;NV5Y+Z6GUVvH+F=;ixV`yN02r z0@G4YGDWop2tNPNp(A{HCWF^MowS=q zxOm=z@CJg>Ucky*KHYLfpr;K6-V8Y4mJa-Kh_h?#kHJwzsFjYjc;`(3tu)7)xOB`6 zhAMA58{G@&sscmizhimQ>5=T(pmKi5$N2Gm4e-fvvH89THZA@mT0m^kNs$-c$k-Gz zr>@%;Dswsru;!XWq z19&li0e*j}L*mC6fSy5(K)fAJ6RsjfXPKuyM0-iNiE)@s*=q9J^#@O!K4i}I^C2JI zVKmeUcd<%fQcmP(*_8$9nZi?rbYT+O$Mg@LM%GQlKbo(_`1AQ1n-i+Bx8($7wHkj) z+81ZddmCbAs6D6S$qDg??7v=_-dwivr(gNCGbDQt)3;};x7Rt5dlRy%-O5cKo8E=3 zxgMK9m2fyZDy`H;I)Z*7-O~5xV6(P2&<&|dkiN)KS1lYrljs=OK<%wSOTQMdT{u?YH~qQr!Ay_2bMj#nWj3FD~rHWn<^s%IDV- z*P-{Ir+YojK?Ek+){T6g>A~M+Wv=FFMy`k)g!=fYwFw>y8KDP)lXh77}6^BPhhAA0x*@m@X0(*1^?nwAfGO4?|?8bD^srwZe&Q(229O zS(cLu>j^j`M3X0r6-ib7@tv%t&kUq>xX&I)foNZ7YlYu4J# z&WMWYF>XkU+oPn{&%GAzN?72b$tmTd9zTvKNT*9&m}PMd{C1;~oR;$Gn6B`rH|!{6 zD<=(4@@-}CSFCu^>&&dnaAWb-`>#B|c3z}j{7XVv6$Y&Id15WykGA{oy7}F-22G&l zGGVo|N0(vX|D+sVlfFvvq(lxrO$}t8qrk1Dm}){D(r*2CaQkslF7Z_HTL%zwcRxl` z;IU<5W=<$D)2^zSr$4iLXV*-jbgok`b)aB!*a{MK54E zq9=vU?#9lWTkgJWEXW6Xpcj1!R;Pj_wC(>J40c~6O+Hs_B&@^q*+?Gkr2d^2ACw;s11C|MVw7 z^uNn`_Uog)*I&N0tNQS;KWEl@ak}jua~A_x(NkP;M~!#gLZn_TJL9*$i@XE#b?5#c zsjg6*k70bjB13uNj(&48JV+Qql`3IaU@#^=7P{&pR@w(qUHy|ZHu9Vqa*ia))xB5E z@@dLH${?0Tz3JZTj_k|&C5`3lTNK5A9v4Jpp+oPn;`I%)bIhGE4Rdqy8G@HCj7*C| zqM!fu3AEnc68&6dcYdHR>aXW$3HPpf>mhvP@&S!#<^iiu05zQT4d*8WU5k+1p8_T3D1d-?;zArf^0tIvG%B zuDBNRyT0j9GoAyd7fP?>epB{%8yQog{FVX*PM!|T1tI+UN4SJP8GJI3?yxWW0>=%jpzMFf#D!ez5LakAA+G#s=9>D5w+uw+9tZ z8$jRxTHk8l_08$Av&rPe=eS7f4(tm;l#%s4$r1X7?;wqtM|n$GzZUPWA= z^68L%S@2)ag7tobu9h9QS$@1IQwt~xRL+iP_?c&3SUZ`_0m6c5eK?9c?vfO{7%&kL z$l-SB@CdqSHKE1a_<0uj>DPBrfl27dpM^Fp6gc~guDSTI;E1OnMIj}3@@6~al@JJ5 zc4G2sfTkdW(%=zwg~_jqEN^a0O;zQ+UI||Z=kWe^mRzTkII5s3cf`HHM=n!HNXsDN z(U%`?z9z=7mW6hp5!EHN{8q&Iw0+%iM>hA4T&u?C{_)pef60(b@2c)Q6Kd6A;PA^T zs;b+m3*X;veuuPyRf#mL?iOFo-kJySq5d-~=Jxgw7~q;lt71*%?=tykh~fs1zS>^0 z0EBsN{ zV_d_MCn>TrTS5j2$uBS0H__#0SCF-QuBzqN1X`97{ViQxVLYf~Clq-2+CmEBQJ@94 z(A_$)o`fxCHq|TDfS=nFLK1Wzwz8ai^`k#|zoMo4aAk&TjvY5jcCe3KKbvO}{O#P| zfin+N!=O4*bWFEg3gxH8g8o;*V?atd3d=XRRL&#^K+~S(_>a!lo~mODCUz$Y5|x&( zlIz4j)K{@3^q#&cEM9sjzNsl=m^l=U$%hVR+U4jH#R!a0I^HHCTa?FVUHocJOlx3` z^dt_TBxp8v_g~`+X@N2+c8NDCSoE?>?nw>lue=K+))v~UjYbWz z6W2D7#a`yq+384??ehCNb?|n^+7$Oc^o+?yRldqf`+BA$j?A?BQvez^M`IW|{;-z( z=N0!9g-L%@FvPu6FLgrYNuAcBRjI4nHe!iL>fiR}%!~QVizP3` z(^rPVc%N!9vV>4sZhLvpfBwziE1BQg9pE9VRv^q3Z!jdAHa_Y7l0;>mt-&+=c)_>{ z`)~lFqBn4UU5Vr_s3X>-Fiqaa4nVGY<~+l4T|~FFjskPia}(`_;S}gssS?1K*g0hL zwL&v!HOH8_20c69VFXL23RhXB^O)8eo4!LWIU$k_OuCbOtfYgQsY<$n2e45g6i`EI zrzP@Q-2TPwdD<4-06GtM4dH!&7G$Lj_e~$}uj83Ndi&%(5view`v_rAh`5E|K#izv zh1Wgbx|}pU^60vK*r?jlgo=9x6qGO$GnZ{;^pL2e%J7nn)Tm`WTe#A9p8m?J}0 zTCRLJenQg_@NlBQrC+aJu(HJ19u;T&bf~N+c}^Di96ORw@hQ69pBjF(wq$bm>P6}Q zPMk^c^mKEG>!9ST`8Tn22lqE`7ug5C{+}0M>@-nA9Cg*~u!?f7?dW01Owm@uC8sWG zKJcD-leO{RX(CPPC#xt7;sl!dF4HGP+q`2^IH-UHGXkCMWLbxOM|Y__h<0G&619ft zYv)C-bzsGE8_NxT*m>p-Zs*2`IbIsC7nBE_xI}}%yb#RNF|21>G}wBe zQt2k~8Z(qALR(jpsK2WA89CZ%>zld)!;BCvOrT2k?8!sr$5HJ(d6zoV#=7XqKjUlv$pCKT5d^A-V%6P~6zbDtx7&WoP(@7(%{ZO89B{2&R{I$WSb8XCse;VTPy$l*;`mK8 zhOS0PRX$ku)=ZofhGq{gpgl)=KJJ;a<<0LgaEodt--=TI7QDxZPhkRon0@$2`qj43 zNx)8rJUxx&M*#vqO1xwSD)@RPe0VNiY1GM4Oyz3PekxhSi<&t>(c^G)=5Mv%D_HmS zp2E`ru;{;LoCz?C{K1bViDqfU6f~ryw{EmvBdGLa)uJ|^^`b5Rx0cX%6^~5e+)8g+Md3}s}dv5%#oXwDGBA+dtgt1?rBZ};~Ww`g{ z$*UsLSTys!aH;?X2&1O%h`GAPu_j#oqYBYQl5yp(@<^Y?*=lw+NgC)-{NjfyMxqm8 zwIQ~J5K|Pk$dB8#=Fvpplf+N|)|n%v&+*xDmK9&vde~8!ix%B7l5Id;Vgq46--!9- z{`@M*v+U6I%6zxooMrAi#zS6i8Apcy4tES{No|JQjmKWHJdZ=j_7KuZFcK$w5DzD4 zblZakR1wje*&Cmpns>HiKIFZZKo6h4oo9^rRuVX-`pXjiRz>!-T$a3ooJ`G z$7AaS#060QAD6MO~;ruodGZWn?Mt zVV)QjIXxcGqsnEETC2L3qo#3=|D?9c)7645@K zMd1a^&z*xam#9~sf%O9zR*Pn|$aU_xsQ1FOgE{+{(jmJGql{~Mkfd*Tz(|NrmEy_5 zDjBve^OdGe4rL!8VSdsa7dK*2A9azjA%HF2O`Dl@VN!P0nl)>`WA2Soh#x=Ji_n-d z#xu@B9D`&3sssxA#QID;qf5fUovy-6utt|@ki0i`w&Li#>3ER?Aq8g?z@3!&80+Lq zEI!?wH%Zp`-Xh24bb7oW)eL~?%u)Sa{aUkSqV4S9n{#VXq~Gmw_d4Z|fyO!lh9YDh zf5MMKX}Cb!PaH?@f1YAlP2CJDqYNz@F#=lo4b$GQ{mVxjCX1{6%}>UguKcq}i39cC zgpmDrt&fA3O(HUuPxo3Fe`+oq9_N(Q4YqSnRg&3G?saSdiX)6BEM%SgxK)|lKTP{p zT7g@QvmGpHy<*GD^A^Z248?&xJ3D)nG9w?J?l-0NQd`Y0w+M@cm+x#2 zh!oZdi+L&QF#;>2=G<_XF+&Lo_4D-+K(*vp%wBy{L};mSE2n2ZsE8GSjx7*rJzF=A z8!`#IR`XSZzFB7;(|R$T;E~y#o~Ej`Y$I}J1}IDV@-6J)^jKY2U$6<%w_|1|$2(Ll z!5fhVO|+!EC$2@z1ga8H7PoOR0t#{K;%h$}CL;y@9{|2ULBAn3aop^LM?r>d*<|XK zk~bJ8>646SIWKYVXB}|jWZCzVR67lz4@$%afI2<@bSDiw3YxRYUcC@CU+pG$3blV% z%1!Ej7m|gDPOpy6KleSV^4r&6J|uu0fb8J{fVXCsA3dL)J|v<$J+{WnYQBvLo9Old z?$|=vg$bm!Hj!KKM}REre(GrKXmOv6aEkS5G+UWn6sy)Tps)g|Eas-f+FF!Ff#uCL z3S!vh5{8`&kg?XqA+J_ADob!xVFm&%m(Z$0QO?1(LO~3&0v7B3zOGQPbKlacHX2w} zFa^O@6^yAha%}}w0ZQjv&-KrlsWw}vZ8p7nXuxoDycrl0)Zme739$;&2&TfqW%_qW zF*;Ti@8^v=QTq`MT(BCj%#E{>A3mV!VtQ3UhC=JmI^nEk8iV8bFw5VCD-2ddYPe7)kSVNp{Tm&u9+8-w-zf!HZvcGpwFw&X;2 zu8z(hem7u$_xj5RX|4m1eYLOmm6w0}Vs_`DVZKOB@$F}(xsLzzlM}iLIX@}+M?OOfWC7}B{s-TwGv~8F z+OKn;Vekd&wew_;wQ9>H*Q}L-jFZ(QLv2p50$8utD2f6VDQ+r@qAVeW1AoU#D2oDL z{`}{0R2b-bi5Upr_kll!5`sVT!4HCEjkjOBk5VmOJ39kc7K^fgt}7gyS@`~HU0YPv z;lt%MNECAOZ8&_~eRf$X=H5bCvSZ%Zba4_Qjf_{Vt6Evt=C-kdUFMfCLLDQUp(zO{ z)*G&%b*yI79;T8su4vj&tK@>-;%e0iVVDhQ3-%WY)cZ9A7PN>b16 z_&hy#lcz9%U_NS28vHtF<+8X7RUr>xx|0M?kJj(VO}Ie)dlK&Eu%`Z{)@o+AS=Oc= z*x6k>skr*t;;D$JqV4wNLJEjcZ@LvE1XTjp`m+S%UIBs>Iji;UI~lP~13c7Mu9H1E zed=gcf(=IR`*j=0*x;@gP>IJa)5X=|?4d%}zjytWgK5G6$iAA_o8{e~x$7jhu6Es# zZp#4PCi^IcAWlomr)(8Q0Ys<*bA;1|k;o zf^oB6zivV<|URl@8J|P7*v>9pd>;ef{p=3bPS_gQ{OML|2h*wFpdB{*tn=s(Xn9LkYsk@E~8U$-j{ezwD0m#0BAog!u9-Tcj#1A$dY(qe7 zdxnARj_2L5MatQ*keDVZe_}Z6nLW zu2<0Y3I%}m^^Id%*PhE!9nYzrtW;@=PM1~c-?v~>Teh*Lt$UWf20nXk(+hrX*$Y5M z4$N+lm7Yz;O1JZ*c)Cew5Iqt0?!E(x9TV7I+)8i}j|15{`HnNmmeYa!2w>W3&`+?v zRf_t6>HbXy7f_uic&B`J5qsdkUL4 z77scOX#2K}IaXlbJJ=L(+$9-e2&j%JC*|8^8YuNK(qY&j^48Zwz9ch%pj# zTbh||is#3|#@f`HZ|DKA%^S?GJX~in2vsk6i~O?Wj30RGxqTZe+OeNK6(Ggt?fZ+1 z&#CJ250~%!lLN{*0NI!NdQhJK_}%&0!-CBRCht@SfMLpIB|jN(63h;Pw$43i|KRqv zzdvSuI|;;0c$UvtrNRuBs36w5m{9?WqCja3Oj$w+c;}nngfWbx#SCS^STC<(D#g3+ zd<_KPZ~m2k7rI{I!{7TM;K>c%IJ-c(uE47m3Q<&#o&aK@5Rf6PA3sL1s<5t>5H{ed z3fUp;9Hj^@1k4X12opvWuy&BOQj($7qLeQ;MD)nLr`=Kzj3y`x9in-Q3l&tjWU|8e$yEzvdzVl!b6qd-vez;Ohm`2e;x z*V42pHfzVuCWZX#XSd1-1De$C-?WvoL%Vh~rvh0;gGP9^-#5|<7jmm>XiQG%1c3XL z!0ZR^A74DQs@I=ief^&u(9QwKzLeMf;?7^boSi)^*?edhc5>|V!}lDUXoiLTw<+g7 zCzVaYDyDp=`8jRKmZeN0a>uWhYTHx@sMb^!uuFa*!s+=LZf>qongWFgswYoitl|za z)_Mc`jc?(2R)W6$2zM6?99zYV4eVOLwt`$QK@b!LgQ>s*1|=C7Dx3zbALQDytF}v| zvl==9`5Ez^1X%EH+Bs}#oiQJ>zM<`Eu3j}m+J#!OTP%!$TbJ2*!x)xjvwrSNXa)6| z`u!vzy04AomdE(AnW4b6$MW#FRZf6To{pYV^_Mup?%GWU<_9wz`>%i!1rZD51~5E) zQdEORZO+$oNx&KRs^H(jdvj373XL?0d5gYSZyvS`6KRv*nxtIn6m@drV=QFAPsUX| zJy2V6@uAm_FCGfy$ro4O{Ivt>IRM$0>bf*1f9`62{%~fBAIdGD+iJe1Cd5s^Y`nwm z;yEP(Hsd?w+qlLO#B#}2&|#3i$xz6&NmIDwj>aUON{qGOjIH;gYk~ zE6{R{v-tx5&PRR>=SN5Q@OOSEY*m3)E6}pSqj$fGQWbL|Km~JCFG#gUYe@`LYtY&P zl_1L23jW>-rZ*u3am;EmUR8qMQ_Qf|AqG9Lsw2=Wju-U|4z}$#DInUnAlXevE)&&SJO&faAcf%dnsJ{xK^XmXF(e zHsFpD0Nf!xgGtV2WSlwzQ>S8p_{5F#?G&)FyjNS`oJDy{Fg$1a=VRkyZpt5eu(O)9z^LNp z+h50JIfFcY0z7(xBg3#aYaA5@l_BWbVpf(|FIT8+1ro)qFtuH(0MbZ>QIe%}l3{h* zGIz!T0sGdRk=p)Zk_;t~K$47x7S^6TP(HznMi|+AA|ZMU`~Kyltx z@IKu8Uem86a%Gzq;xJyPO&o3*+DcIE8y18BpQ9JyAnVF!mAizx2=wmh6k&)+d7hL% z;(9+SWi>1KtTr}`$AvGT)zF<(dEOVV)kRHg?H$>SstrVN60S zu2-pSe^K+wHY-b%Fjy^Dkfp`>$sKS>c=YHAj(CRB6quU=-~95IF|XG6>A&(3oK%8; z^*g>33nJj#k5DLKeRG2)DP~+a+trytX^ybEc?<@_+Lbd;Xl+3oO-i4U6%S0h`V=pQ z)}&C2q}kl=?;{qIb_9ru4Cn5Q206^R& zLQ=Y1TKT`1dJZUhLjA!h7&BBloKkzt{<8V=;4T^_5gol7=nCW zMhIdhIcH|Uc5U3!=!c6~C=-YnVr4M&>o#1%dh2wZ1EHDCPA;K&QOtkreaH9STRp0N z@!PWe`~eLefb0u-m1NG|m|Z?RF6KXV+dIIa34a3T)J{IzDhi~I*!L~1wXgaaV_-LV z_7v9E2t!q1ghAYxKrm*8Q4--~RzhzquB$Z)tU*t1P*Qiw81TgHcPZGoz;Lp{*J+WPjlX&*QZX1AJ00e(LST{r7(F z$(KL2)au&@RCEBcFWmLk?CRl3x%ioV0@iKB`o}a=+a3Ov*``yC3HCXW?CUvG?lT5@ z$L?`NGgz@uLy$W5xb>i~*7)N;_+y;F;KzUDN3pOLKm0@gI*vr~t*?C@M}>ifz_7vD zgL`hlC>Xf823AXmUBj{iuAMflqVR#N$BuQ(kPYHk8$cMcn>C}>wi(`d(N~_J9Fm&5IwmeV z{+d`*+6Bbs$GQt8Fcak4D9xM#0Z?QGlt&WZXkd=YZV0$>GWOO4_P*Dz8y9Xuz71Yf z9^Pzou)%yxAiOwHvFXi;f8CiK|IByc!Mp$B@fSaSKt%^2`$ApspWpk;o!Rlnp2cA5 z{T&7hyBEMb1lqP*$R;r_n}g3W@H@V09sQMn409NMBAlQ2^us_2{7A>+ue4q(+-$wY9~-1jk{2I zjtC4y1`|B715&15{n**3Pl#+v_-rDVH|6K4>tcTTu@CAS-};>=U;2*@=;#1sUx@2{ zv&)}9pPzmfnja|J+MuQf|L~D`t4Ek(%X*W&^cIh&m8dlo0xp%D*=z4|n{2aKx0lx7~ zV6_Ba-+)wL1TgAAD0!}#j)YMZ)VHYQ=2%l30E(7@X{2r1_pf7svyxiWsTib{0``#j zq`L9gNS1Y*?|Z5ieq8L-{?TLfB7if_=uI$e&=E#(0Mu<9vpaFD`El}j@THUQ9qO_U zoQUY{v4!Inwi#J5e_T+013+49I%iqtOz4PiH+FjE-_%H9U=7)IZQF*d2=2Kfm>rT- zoKoiao|i{wpZ$QyH-G=;EC1C2B^`k5bA7#DUi^C(^V81`)$P84(njD-*~ueKl;+xG zLKyQ5f9mf#akt+n4{W2)JCumf)~GPZxT8PO3T6gav8Yzp;7V|GdWPzo?_ma@qyl6G z$H&Kb^5h9DfNvOqVaAnFU@^nWt}s(zwOXMR3u6_g2BlQ9gQ5Z`)%va)K$KQ9R>e~< zh}cJuxa&>k2@soNc&D&`V|uf_ua6{FjV{#NTsF4&MIw8C1KFym>@+DEa(kfP2O>kE z2jd&#O~EMV+@D4?S6h~`Em_7^SN8x~btqxfc+bqZ2X69g(N;FAv4Mui$~I#d%;SA` zFr*;$o}RvH(nx_5bKZoyqy5ClZW~&V1GD>LW`|hWp=9G2Z(S|UK3l2%`X4Rd`5z8w z=>TM(%j;fo=ijIG9l#!)$g zWnigmSP0mZP+8&n`Z07};rsvmzkv&3T%Mg_ZUxtmpWvI{cn9zM;0J+f4Se`Rz;XpV zdICII;@z7YoUJXcudhKuC`4f-%;F#bwhjp}8hW{tXf3G~W^t2xK$gV&drlUq4`O>^ z3CP7bZq&Ftu{b-AFCV;)No}R7X$)xY8HjHh6T55j)UKx@SwjTs)#Au~_YY!o^_h0G z8fm{of63Pm1#zuY`o$27tM%vO&;#EpciQ!0C3HP&d9L{ROnm>|;{3Cf*mu6T{^tLB zKurfA`&?b;X7S-GXFdD9FG`vB2{=<=Rwpj>gS+z#(BIZPB3pKB7vDSPFw-zPL;_n` zR4h0$29+?@QlUVF!Vv6og_0b5MXH$1X3jen1}j;iG)|s}X9cVZ1PZAvsrq7T3t zK+zmM48@G4MaSLXD#$rEsXA9E-%W>zpc&2B_A|+4sqg>Ad>o zXo0QdHCq9vo5-4K5Ha44XXqY7K#(TfNAhEP2*7pm#?l8ZL0n^3dz8w$ zx3=q#M12(rj@1cxxc+sD9jW*G*14(AW=jt!_L*bm3}dW3hO`?REYU7rXoE-sg|hd2 z6Fr{$an9tuVx+{tRWlb*SJ&-9h*L6gl~HfpDI8x~$G`?wu0rU#b*;Y|&#_HtMl(O7 zb{SNzKU*u35IUPNu0sUsuq0IhqXa-uCI~EyG9VQIi7g zX27z*ipvvd5@2BgQfKq4VxdMMWI?1*aVjrFrqjtzZJ?XB;jWJf04hR(hP77^nM4%i_|*Vz8?CF%fI->;_|c0C+nYoPnLgjKv4%E`)pZFka^?i^0UX~ z(MQG>)Lpaqcilzq^R1sHE0O}mO-8QI;%=(fnN?lbv7X5QR2XMLOMt>c)`HR)U@gw7 zRs?HnA+P{bw|Iivg|iR^iK1Y)xiQS`ibzm5$t!`B-2$cDPRgXib(<48-=>d^`O*({ zA4=L(j;8HTEm$6y4Y4(taP&V2geTOY_8q1ulSI^(c{Ir>^_(dNDVuh1O3x9&k$M^& zQ?PNojbm$0gV>QeX*c1t*>p#m2R^Awnvm66zAP!x)iZS9{?9XxVnTo+f_OFvn=+4~ z)px=Yw>1pGRstbDF*0`gmUgbpmz^f}S|Fe{$?@fR^$F7b^oei>M; zaQ*lRj#QnUZB4B(v^HK)cM{#O#tDF`QOs=P%$Clh^1dGfwo%8b5S%(jFkfd`kUQc` zg-w(6CT1LO&_M_9K^q~VR5^L%xiq{vpnxunzz0n$Q_$|*>qmW{7&~a`ekYF!`m@b* z$ELKnf3(S6G_sjU;$RL~Jiq-l*G!2GNGu!Z16YMR=PMs@XFzPP50HOAz!18Hs8^-E zNNG6$7&V%X&AGHCWDnbuZVCG)G-iMH1N!=xfA7hcK6gM<2O#@Qt~blOKYQ*J3I+%4 zrrG>swza9_``g$>ZndaCh23rH|GB!DB7N3h$RbPIEvvX?g_&T8u_$K{LwN7K3ajM` zMNz=6mMAwJn!^A9AOJ~3K~#zvOr@x*3RVS$S)eFPYcqSi5@2mnu2-P-8Z#zvbJ`CJ zvTnjJY8h9y3fOwZidL#%GvvK%Dzt+ViUlpG>CWlW{X=y6&PQ~ZH_-|5QzM_)sSnG< zWUP3jHMM{;Ol6JgsMa7Sw}6wT<2o@lVJT3xppnIy`?sBx@U=lc ziA)PjeNEV*4M*2LCTM#<{#>a)*AR8VP(B;mo7*&Gm1EO{CY+)9{IIMqr~48QCH#fq z9$kn^qE32#%o7snb^y9lT^o}%F>pGhv_BqqOr!Sh(VfqJr`Rw3;mue7n**vk0NJN{ z-7oI^L=9qTsMC&VDQ=QflmcAO3$VP+D+cd*#%TgOm{B#LOq}sP%C2x>1J*Ju1CQT( zgkxsB`QUZjv5J`~Fe@x%Z6T_d6(xijs2qrX^5rj}w1VYVzm6Ly*jg|%Olbfyz_J1n zp|JH4F2R|;4>&xHzNILnW!y3>Y$n!wYF{UvHXeBAWG=ex4mu1#v0M2XJJdX&<=x6n zG<=UtOl+?lQ>fv9ygG`*8xT3h@TJ;I5}%={ zEz}D)QKp{UpQsDH83M6N{kmybM@qDPsBBP6fN{obq5W>SF4-N1T&#^Aw?n)J+UMK{ z%*Oy3vV|@eXP;e5^(S9kedB*RpsNFreJa-(AN|1P?Cdj!_{}N6GVZ`rowH(qHY7Se zg^AoZD1BN$dWcaCbo>$_1ygp!gJ5gII}S0rfIGTpBFv6vP*dRXyWhfkxq=~vy}3qd z3Y4s{xPd5eRLoHsaYh6R94`gX3JU>BweEOOoC<T82DDp-D2^Ag zW{i_#!4EsoiLw*HCU4rQO2_VP^M>4p=@OFY(PJuOpvw>%j$0-go?D2E-q_H1z5r)q zUWLMHY?xp1`hjGm${guvT#RgeNYgyeCBbp{y@-Vl0ByGJd9;0U30ld|>9o0j`;F}| z8+%(oc4%E@(3|%b=bu^1>I?5wkN)oi$~pkqTfJsv?p@6;K2w_F&yIo{41?FHU~>pu zje)hj0NTLoTb?S2oiZ8bV)e#^s<*PfoLI(i^0KI`Le~to7VGO9%)z*KagL*-6Ub@} zv1|8#u`V>As(?q=u&Th<-hnX;JiZ1B#f%LM2@Dl(#k*eD!LBuRXC1l~;+73e>AThw zD749nugwuOF$u>qV=cp=6M$SMbfEdXLI3-`@Q$4}RH=S2mYA7lhc;a}2LcEkfNLiKqp*0sGpx_5sj{0T%*T$76vzeetHPheAAP1pJQA zqdkYgk@465mxcjs%0>IRz!s+bvkw-RpLz0l`L~|P`ke#XIsn;QyB^FgKXX*fJ`zu0 z%seSmb!=xgW$~B-UT^JE?)G1HqHG#uJ=5!b6ZR9 z-6t3uO{{B7fN%#+W2rJfURG0^0Po)7^%)_+)S(pA>vvtERV&9A&;J9*B;rY^DVv?g zZD81;)4$&^{su43bzB~OeQ6EQOfKq6-Kh8UG0z&1rbDy=m;aS_u-M^>}%mSQU7x^P+Zlw>#JWB|X8;^$F@ zAxYIAGxzfnB1W*;oTQR{g5z*cAJA_TUnjSq0;&qTTB8J`1mo=J7z-*Ef?7?2Yi$@c zD`}Wjs~)sKLBeIb)xnhRXC&Q8gtp6jA7=TX3@NaqI{;Nm=s51g=+cgoRKfE(2~PVP zMH#s_2eGqp-)(DsK(WEMUd=ML-f?j{Mt>x>HZi-njSA-(&AM!jeyqxHV(VBKNTUXl z{2rMuNlrN}%{F$jBVDs3>#R=Q<-I|f@^AVg4SL|xrAAULNOz3%uTo8mX z^+K{+opVZ#fu`hLjPzzex~B*+v=)x!#x(0m{4>X(hvmC7JN~=hwRrGH|ML1P|L}mi z4nTIV*K6hZPoB+BKl3!%&utd)+bPe4#q}26c`SDDwj{NB@yr|CGabk5v=>Pon`Ve$ z)F~O1V6aL(5bH_KTDNdjYbQRwUISWzMZiWtjd=mQ>{{*C8>yK$r$|1gxiDGG;X1g8CQxKN9wWMIW{<1 zXFA16izjS#_B$#ePg-$8t<66HaC*04;}nGy8bdbjmx%9<8}R`f}XEuJgSKw{G0 z&|S>$eC92?{=+Y=;1(TwHLQnyA>FRXFAj80V>6SlHx297A z9K{`o))HSN&7$xAIIT%-<+a9=YIutcR0CjB3~G=KuAZK3D~FX(;@D;!WE{t~=!DyL z-jM=M1hJ#zF8BV;W`;Hx!|HCQnYr<7R0n)|0*a zOB(E}$9m=fY&xlwv-J^&*>uTn4vT*DD=x5s`$xLG}8PnO>sp9jy8yD;&)-~-MGoCp+#6}7;lmy}dJ_dn} zi+3djSOr4XC2Cmnj+b zHBWHU0DF(6Hr71{x~Z)r?SWd-lmr{X&+9H`2(;5Yu<7^Z8LC;P5*=rz`0(q;SAXxl z_ip~?Qmc0lXzT!Fx4zz(-Tm~UnE&J$xJeJ9-2v9NMcEiDAT1O{53N;?o`6bAZAM2IM58!Jchmcp%13tf|O3e3V{i$7<=ww^S{{GmHo(|e2j5n5Xcsni9C8e> zu*vX(4YE=-4J1<@)%yaNx!v$C;3xI{wK}Ksg57&I1e~Wdi%Ko5RuHKGUAy1er31Zc z+c--W)G}Gl!HdCdQeh>ICM{Z&t01WWlo9n1g0*;gi*;lhW_NV+Rxe~RU=kS#ABg*E z@1MJAzLHK*9q?^?hnV8r_b2v`G}|`Oxs0+%v1ZMtoN=O)!d-1pL&_-a6Qs z@*xqRL_dvfjt80W%(&P?sMwI<5RnVHqJj2JZ2)cyw2pz<)ZfqNr=R!^d;js#@hiYv3pX z5p~J&Bv5LSsHDvX4nS%T#Ar6jE_ou5(={HEh0C&5s)Ku<+mzvopPyu8v4#BB9yeML z?P5h~_h}jIE9-ZE{eaFkntfi~Yfi-*m-F*a8{+rB2%Y?8xN^x>w-pP! z3s~BeVHb6hH)LG$77;;$#m9lwN~JR=Xi%MsyN5`vXyBOEhLv^6D&hcd^O=y&94vbe z7Y*q&j>MAY79^e;x}qZ>=r%y?KJKSF_$RhNZvVh+-j{V?dyuJT-2e>a!2FJt+5L&y zv|$a0<9AJZqu$EHjf_dAWZxY9Uf-Eua8Bs`i3m#nm_Ky!nz{^kfL?c4(q#iEx7%F% zY~aOIBb8@awxOT<{jxQUVe|g`$9F${!m~FH2(5n|7}>=2#_a0T3!eWdwK6f1oXDsS zme+`JXxNQ93KGVfsA7iE*C|Z_xiPji=^<=0MmREpCyB&ROXTXY`_T`en43uKQ)}k~sfEZ%k&(&HG z2m(c66lMK_WNV;{641ig)&gLvvpl2&0HRt0O|P#s-5oi`)VC$=tTK5jBR64k594)* z6L(^Vs9gI`0W2NR^v1iUoyR7#p^^jp;y{)R115g?AY)uSZ*7akjbZ^AnA(0<*wpGQ3N;0Y1V)_;n1umM;p$OECV^HKrc%IkGHDix#L>uwuZe%IQ)N+6s1NLmo;CA7s|K!X=~(%2 z9dF`*DQ8SV4bR}~q<4ju#376N%4os!2}i}zkG^&M;M2eT=<`2+Kxqd?cJO+$y!^S- z^7!X&n?ZeAOzKpx>YZ(DH`;}cWj52^>mdH~JTcmXVG7#ULET1Qcv~^~Az&IVj?=$4 z);`Q+=Z>&Q(JDtHuk=dIJ);X<>N$gIy@z%A>6Yfrj06~ z)ksdF25$=K*8y)-r>VHflq$eDkvr`LWzTbxZV<9M<#Utz6wzS)-PSz0>$>>7Tx0pu zcjhNQ_Z>$Meh!E0z{uvVD|6@HJfGe9)NKOE=Ml70#+BqYCXngn-;b7HaNj7n{x;uh z`watkES?D$2v=V1*+!D8^OKL+td^~d8Rwe0polS4?Vm6J&MmB2q_(NEEsZ^<%0TIm z1*-p^1D_c#`>-U`Mq@mV2~6q7PEkhDDVs5FPfk)_r;)yy1vlD1;@3pm#0i`6&s;Ax zNw7R!4?5w-)svdz>??#IHe!nt`)V1{;Z2!eNZpo{ECX*boOF`O26}^02N#Dw z^ccp-z0zqydq-iJvbeT=IyUB0>g?(3uHVjecX9TqYkTvXUtPcZzaLQB21LrMaLuW> ze>pq*lp%g|7XUZL_B<<)J0&(}vjt?k=ch!&^YDP`!+? zvWEE0dq;Oawcy$P19Ce6+2DF(cJ-;bnf>Vg7pwh)!okI1WD%KKmfHl`q2p6N26%5r zY#wNRR!nnXKA^*(F1h07>|7JBNI@32dY_SLi3Xe2>9zoNyY}JX&10Rhy*Vh#2-)id zIlGZ$ug!rrhkvwwuln!tnD74XB?INaH;uG^P8DIG%;EFdKV9&ytFuDiOk z?5Pf()wD!)o^Vc1rvIaEaaC1!jHi8OY3Ln$f1l6AG(j*Xqr4~Bl%IlyP0Hd1IE zL3C5a|5FlhJMjg9Md`HKOvm(&9GQB_OMQ7M9;bkYm}{C));4@%40!Ogwuob4{db9f zp9ASi9h+CTYt9NbexD{JfP(UHpM}&;^HmZC4Kaw-I4P<5yJwsrP2M1!Q zojW@_*<3&A8#zcj|8_OmS;Hp2!;QP2Q*y}mHQroLc5kE&_4j4ZIzCot5AJ}O>vD1a zE05Ms{@-udNB{g)#&NH7XaNCyHM{tgg3Wh73vl$jXUy;N*=@k=(*m&D9zE}Uuqk_% zublW4hYM@MeQD?kG}LZUY;1~@i%$&$Sux#zn@s)rcu5oYsgLG|Ll4rirMXz%omVGi zY{$Z83<7$;AGp8YmzWYUv0TR@Q=U~y0Dtvl-Na*@8_*zde>#0w)9aQxwEqa2+PFVW zh(R6OD(H@(TeE>UZZycZ3&R~8(Co_DeKyo_^}`8b5G&ARG)5513a-Nl`tPq%U5gjt zLEsL=Qs2f_>(C2Vx7@prv>?`>8_0V;M^zT)GpH92s{^*fuD#4&<_JlF&`l+nU!qgi zmWgEZ-S>~~{tAI!X)O0jGqP{a?tgMo%>QaE0^ip>l*x(!x!(;XRSj9N`p!#Z4l&u> zi9k0RB||S1aQ5cfrZ;Yw!Iy=vT&=tm=bM=lmVdxl;RF zxAShpuyeFFu%}n59NOGAp%rMt3i`3YAOe`dq+TT`Kn&t02AOJ2@qU1SCRVTbXu@0xyX==jCPNE5CtG(1O3H;+Y z8U!ER#v{c#up$)iZmU(jx|Z-~-l9YiI;Pr?qIplA0z@~0lbmIQ0qS|e_jQkC65yM- zQjYY^#2DMP?VJ0L_NVERZ6Q0%ZAnvML%pN-Y{&tRvagf?Tlsow02}utuHrUv%q^$c z?vzAXA{=6frPki2j@zEqg#d(Lc)0yJG$SC6Hl6PNwg!m-fQrDhc2WkyBF~9=bJdMLJ2H9jYwaZYVsK^u6$d|?a za_G94pMLUzz4+%}S%2$)J^+CeFrPt_Hv@wv1v@0W4KeeSupezRSIPejBS;fbM&}z;FC|%R)&2I5 zP1(tmMedkuUHbP^j?2Kso1lG+|L|wqnv2wqQaoZXqEo7mvt1>{{KjoF zoU}GPW)&er7AA91e>2ttgXyySjAH6@5&-F(2@fAL5!_;(uF>N zjN4HC&$CxHH9foA81S_~Hz!M0pH}pey_6&OPA7LTm2n&pV3g7(U3CT5r2{6IOU{(L{rW~AeSJ9#DE?B?D5 zMcd>X`0;P*{lEUZJDsinUk4wu9~?JPkCk?)|69{&RnBf`Qtnby5+wH?Q%#Ib0~8vq z)}$;|3j$5|M+Y+gCxF=g*f;&Uh+=C~^_AX4P*P5;XK75H1XR!^`!T@UD^LG(5`kC; zyi6F9zj%NED{jaV8;b70P6BPGEM$Dj^<2ARj|c}mE}P#Z<}h@aoD_mPd1hFQ}zkhQ-} zo9;fQ60GAO2v4)dT@0#lL{n&O5 z#&5oTB=Jtf!?IwK%cG$%kt!wEm10aaW^7Fuz2E9QG_kSFNub*Uu-YYYnMgIouiH*B zA$>y82p0It2}=H4%)#?yH9q1s)JmTebF?4O)d@z zCRUP3X=Xy3g|Vblk~jzZ-~=t;+$qG6QZcjfpGWDd!#jPm8B-*|HpRI!-n)0*8eM5te_pE{KP{;%C z3FO{AI{W2sSC4<=J-PX#R|VU>QlSN}%`ShrmbuzHc6bO$;La3zf7gUkMIXXf?ByKn&0YO-pk z{6T$#wpvG;lZDiAyG-a$KBJwSe}auKC+CG!^WTQNVZaiPoCxGj|6WEJF8`XD@&{jE z-23HM3ERCgK=wg-_oq+F#ou`roj3=iwqg};d7_x|4o}C2e)wLrH9#3&n1>eZeU^W7 zAT-Y2CF>-Xv`PTVxF1boqG=<_cq35R-@NR(k0A`yZ)gOHNc$%V*!*&jj5j}iw_`^&xgl??WOESAdm;b; zAOJ~3K~yoIlzIQDryE0k-XBwe^H(C?*?+D;lbhSX5JCAC^9x@5>uJR9-kBZ$oww%q ze)?6xcdtZf!GdSsb!T?^OSwf_BKEA81w3*j%{+WeX^a^hpeDh(sVCc#TgRu!Wre$V zWWkHi(rKjM8P`YXZQs}V>?e6hJNb3LOG}?m0j-TwRUCQd?p+_VXrT_BxlEM6#a+K?-yuqd^pkcHN8$l6WOBO8KvIVqqOBuV zN}`MF_GxrmYe&9-@?%&$ zff|CaL4jist)Tn_7S~YBU@!;3sB{gGMZxZQtm4A^Yto*WTG_NlHc(Um(Ke*Qg(OAu zRJ1W`Eq;CVmBgATCas#nsX0*+j5#OP8}Fo~SwDR(#W9>1m-4YvC=y=^v90LL! z+*tZ9UBS;Abq^m{>Tsf%^Z;cPCNPmn6dFIx${p9|#!Cvsj*hW`WY)?3-TxfFc<6u>tC$+h3Mp+6xTD>VH5G>GA} z16u&DsE)rJNybE4vaAaY@otejdJp1EBOF?{W6mjU=zWHOgVs8)V@L8n`{~D7`WCPh z$$TmK05AUsVq=TlxNn&Nl>4d$L4RcGnA`zH z1*PHn@NnJkbvir#+1KY+fBgVtU*PMAXK$a+Pe1W2f!&LEZJVusYxOY#WCmS>o+0QD zG!3_n^HrWOZ0W@v)+4T3yG&(CmK$TSj}w#KxM|iF7NHHNuA|1|aB)dBU) z3>t9S0oX9PjoY8ACpG3YWox}yqOI12O~(84vgQsY@G3oD<-a&O`@}KN-#!4@7xa2< zcJ~tn7vKLhK;O%HrC6c8+1Bm>^t@1)`bW6U;={Kybc4FeFr|~&)HptJPr9oOJ2&KX zMrOhk#XV4v?vFeQVmHHs!wjcnpBes4W5DCpOWwGFN9u)A(F$1rt3#VHX86VmxdbPT zGWjI-9)5ZYDxg8yd<-h?f9&5hIL06v~l+%}R>ya7p$w0f2=zp&H z{n)zjGBdM&pSiWrq={E)itm50xcUTM;_IbN_PSS||K!Q+_@g*nTLakVa-yk4{)ZPm zeJ<-WH+gr-Z$s~FGaybpV3j*Um*-~#H_E^=a*2RLKt3J+XFPW6b^+;{3ah?9Yw(^kz=vUbd81LnMX5axaj zL|{>gBcBTDC2+;z18pKEC*-p@k|pc4OJu@8rn^VP!kRi6PaDQo0Mq0)c{;ctm(&;5 zY5HVp>e|w3183AR6i;6lmR~^peL6q+=!5m;uYYCrjemLovM*J%f0BndiNqYG`^j_e3as89PP#;MF)JY~{nbG-0q8@tB zQx1}^+}EhDd+GtrR;H@`ch|bG4g$txFH^L$7ezTChybzLmZKK{-1w|{M=)wfKN86@<=2BLR-Mc@Q(MH4q^kq z6dj}XfN0Ia=DMSJ$KCPwnm*BF*2e&}IsT60JH_kYDW!%WVF@XYyQ@Pr zgxsH|E>cI=jp%>!D787-ZvG_VR9&oUI9`2l7XL}sV-z~j)h%F^V6_VwXzN@%_FIYT zKYsgD9X7x<0OVe|sAi|#@qf4}5opkUeo~c-d8NRO3y2f1j4MMhpLrlQYHz=un?Biv zOSpFkfpru*!6qL*f>1`xsq*FMU~0CtBy!<=Tl zXg~sHY*XMC#_7jYsrvQngQ7UUDM?z>9AtPTPReToG6Cb9WjR}Y)l}#~jbKO%hrsp>QobFNbj%c)i7zEiDcH49>W_Aiddr20s>=U^9w z0>qBOL54UH)Y{;ETt>KtU<8rIXHF`qjz#4m;H@06bbg3MuT3M1QzYcd;`zeWd6=LS zzB>nOtl#`Xsd}RB(M$>UIK6?8T2nOdOvT|Vdf^&QXOsX#K@y-KcDmx;TpKwT!)gmH zyZBM>_rB3a$9i|;NgI$`gV#88rAeOi<-UR@Vgh+mXiXh=j((=!_nUX~+3V)tjRJ(% z?~GwsQ;%g+gl!o7QGm&5W}^U;3~ts%#D!pMr~u-gPiYNzf9^(T#t`aPM|$id#6i41 zY-(DRT3>)^XJkpYwOau4XGbT$c&|GD-`-ij`|AfF`#b~L^6XZV!!TRE}3 z1lLxo2iuI@0My+Mn;uVi+q7XjsVb-YhK9cPUC2T6bJ-Bg;<;dFJMd(hv(487wYVy2--fh5av&-GLtXPgw&LuW9NeY9Z5lNtz0INZKZ3B4i z4t-<`RzjyGX0>%c5y1B9)MJhnnrWXA(f7n>dhvx(+^Pc$eU?<9Ui>5v0Emu>(;lGX zHukguE0bJ(0%xlt+YWAi(H4+oH{o84=TM&yO#n=?u49IlB(85xu(;lPX&8&EWCq8Z zzyUFx)W0cW(L*M-ZATukwN(!grU(v1p+u(7DQnC6n%;(pDDBi1Cc~M4P3^OQoY+Vp z0PdZE1ACygAJ^;ZLi-G($Kp4MU=IHqC`r9pd^&4OZXMn9gl`|0Y!Oy*+hy{vqhkIO zZymk%(J$P5^&cI8>~nS<^ZbK%W+xxp1sDy9o9_d7ZF+>hZwE1&>h|*7f!MTC!P97i zUE0f++UkXsDD9w^8nLrIRfD{;!*<}7<0ULjb!LDq4TVW4kB>Q>k_bi<+hs(!eFLBP z4)_d!z6L?`*hmg=abKK%%KLC~qt^Ru16+Vi$U+`i`i!6thEuXkt-h!tNEC`$In6EJ z;5GzwSeDHP%f_=J4L@sr5aq=K#GxP(Z@2>YTyi$N0Z5EOP1x3_xk%tpmA-BKrE40ry6VHdf=BjYu7gUi~C9!UAWfp+&Ko;8dHs_ zOiw=nb38eD%w6raLF~}8Z37_wlmEWi*9%YwZy48yQw@9dSm(n<^4vS11F%y2l})m7D9U0siR z&&iDc_aYt{5gD21+(%X2s=nE{sJ{1}droF#WW*O=eE;{gCIG!?XPfkYs$M5qKS#<3 z*kVPUvaBo=F48|Qv3P7vh(thUm(+T8Bilwx_cLR_%D+FLkFMBp?c3(B+hY~LR!sOZ zi;K)vXCY91oK=qypD092bsBFt6@9gORE3!@)%qB7JMA-ezc`C|b)dfXwFK(hRr7ickLgQ#e6O)@&n5=hH&Gobf1v~0jrZQuQa-V# zP1vk1j`YBLqBGDo2lokZB=m8Ckcd_iTk_%3WoAjabS?;%O0C75T!Eg_>N&38Kevvm zt-R`cSbF!;l^3Krh)ueBU0zgA%qKNJhndqCk+0}amHpZMUj^^k`<87o_f5`$t_Phu zvqg)bIy%<0+Byf`vhdz>mNF}ByP($lZJk@MfBw6^#UXHQTwd6 z28ksdRZb#kJwXKjSTZf^oiy`+m5TGAGFz~mDzr6O>)~K|WqW05Fx@AYFmW55FdO`5 zKDtz2DqNdP*fI5>{;I!rAgI$_@Dde&V~##yC7bH;k?We$HJr*qa0&IO;zkx_i^Q7 zt9p$+2C{RFZ8~GAxlt@MEe5C<=R&a@O-v|PjpSmnAf(9qATmXuaqXiTk1l6%^Jvx- zVgLwF4Cf5E*)C{ECta)*Lo|`vNTTVbWM^i0R0Y4yvAB{ ztsSRc>*t90|C4{LXjoj?ey=H@WcZjb>!u@8A7hL;Uqu!Hizlitw_l z!`tnax9i9?vWv`H#eQ9#(dUDi{(5nneK({%b8B{iqF{c`Rg7f z1Yh*#CJdQ^13oKSXUFUA%Rp!b%)aE89g}u%*Gt6KA@c8}Ty=7!y z!||@Y`|qA~$KO6=Qn?8rFlQkrHt2?ft!yB;>fm&h5P|Ce{;$&R>>4^t@xM!LFW|(= zw!CB8*OR@L=c#f;1{zlIDak1I)ji;_U}g7Ag!#_NRn5tXONMYMt!LH_w5IjT77(Px zbrc@3m~V^Ig~lX4q%+Ukxj4r?*U{=1F*S{A#U~{6fGA3JC9>E#w=dHgLfgR6^@FeUyfy%&xXzAyzTTR2#EVZzA4JpPAg#jRexobUph2MtDo>`R7HPyRZ z)EX3C-CWfiXIAE+n@AA7>T@C@-04rg{b6_SA3YkL{I9n__7xuYy1T#orm&TZmFo+J z^J{T;R{@2WeVAUJ1HrQ2-%S}fuB)vn0a8u>t}}DNo~khEcL|8reMDE;KA8Yf*y`5C zcGCnYCaW{bQn;44{SEcx7!Im*(!g2gt*-g^T<}6KYOwQ zdvZ`XTgYks`He6F0AkD{xKe6Zd1W!N1Yj6;^Lsz#-ui9z2>57Th-!FKx)30~H^b1h z5M%hr-N+DoK#3H=UB_n&#f2`H)?5V`_CC&n+)#iM2yV423(o=(^5BW7PgTtNYw{^y z@=xAJg1oF4*vqo9uls!7J$mPNZ-MM9JU;5)`;Cq5|IBqgG_SXHE^P2`#FA8cSP$5F{m#qi4<)oV2mooU~07qY}557jo}2cTm5lzhKT2= z1uI%az2@DLd3{k-dAm}{N22eKX234Ku2{rS+f7Bp7T_-xcqOfI3G}&QP&p*G5vHWL z^u&`+-n8-gWKIqW{@li<=dnSl|AaDF!}Fa#Q%r3qH*VRsNzg${@}9kk$4vpTR|VtO zc^uizpZT%PhrjX3_R)WJ3uIsR36pvEZh!haFN-tx-|1@itK~wFr%){tqO|_Ip0Tdf0Mi-v%Eqj~7*5EjWGW*Yn6rIpxQp$sMGWf{*V;-zn?S!}?gi_a#=QNi zKmjeiP|IgAyiY9HoAnoe51reUWP*zz))k8-M{Wk@iO3g3Au9qTS^(%+&}>JDUZ!UO z3<~yRc^@K7AqpPgyK>Q&V#N zdrl?CSDb6^@0hCCqo$B12G*Z4L*cSSprDzn0PMudMn+Or+AA`&vO1w*A;qf6yv9K~ z6u&Hi*}eUYt{5BL(xYm-pDFQ5!j&fQRYaK9I%aNow>H{)&Q8{!$IXb>8F1a_gPVcw zqR-{Pm6t24HJ1!j*{9{E5YN)5{DOyP`d1>%62t1YpC)%M77LR5&n5ohstd)X4Iz{{U`c<`tO*370<1c`WlQ9A1~K(2_mg4F$0`?daJ4%-4=S_?;h| zefl5W0@;^zobb_4opvXG>pB6?>j1JB1yHNi?Qg;HwzIvY*<6%)u$5c?Jh80AL23{u zhZyJTDpt2-Wn0_X-fl?B35o#dI0L-??>IT=q_|&>j9HXCw08lt00)QP`$hlLrHOSu zi>(9L)P73~nX@Z$UB99#fXXbJa;8_CpJhti!c?|vD;+KCPxB%#Zail^ zdu{o?Wi)AB&F%}DxbkQ|0FM%% zCz9|pQzh1EG;3@|?r02~8v3aWa)n`XuJ`2SZ z7aqRu_ILl*-QCmw;i-G^&u)S2OE})|@BK|C{&2=DR5ly?0Ay`ET?`~I0bng{ebCBl ziv%5!=PItv3++SaWYMQ`sDUn3K?%_aaLfR(Gs z6?+d0mTd}q`sjGjM;*fRC>RqKE(6z zfHcW3SXfbRp9RyT_wxiLs&t;k^K0z#Sfrj&p0>S9#y0iI&{s*Tu`|;ji!88kWEPAU z%HlB1{H6=WJF?fwJfL(Dknn0l`9fg2C)T*xgx=EfQU;83Kk?*>fkr=8&YrQh7CZX5 z7SBPpyTPWx@-Aq)DeLo`g=c^O4oqw;#J(e z@RnNHc34B6j8?f(=*8zAU`4V4ytb`;U15_|^-|#z7r`H`BJLS>0Dbs=_wL_(>R$Zz zEs(wD7LDv-=Lo*}_T!Gro1 zaB_{l;J{@4en{%8ZFhv$@8UK1*GSXV!llI`W%gq=h^S;cS)Ud*nZpGo8?1O=H1W#L z_c2U%d0rtq^{46cree*y7*Q(NWr=)%f^r%sG_N((EU-YMWgj)hudn8D=!~r|X*#;h zJa^ikeEYreo&Wyv_~rj`3uLbo$o6-C`w*aWQLW`o1h#98VypP7l{%8Y?oE?k?7PRa z31HW2-H0jpid-Vq!BpCtXW%T4UBJY@-qY&8)kari8Mjo0IuH$tKo)yB>Ij zOvl0ZHd=_$N}HpydRhU(T7c(9r8<{wr^qy-t#K+!AGl21qBS61onOtgX!d@RQJgi{ zZB4YZF_fu!E*ck-Me-6i0erdom{`LC+$Pe~6t~7^_F2l)c6F@P2bWveTKUFy%OQ21=Cu6j-5050$R2|tF`1AqaH&j5__4+Ps|eg7&Pi>;ZX%D zXtm=<)pM?)XlqIXgD>hLPO^)9VH8=^%Sz#LJ@wltrCTKyZqV^f{e6Z203ZNKL_t(; z|ITmU0@-Uk-nZ}kg(JK9g*BG4HL1OB7Vf%0-s;x8UhX|_G6Q=NU>^s}I=Sc~Irp!C zkHx%*s$pAGF@ELX)-a{_!H)j5iya{Y!9`(!|#OanSl(;5>R=THD) z&ZU*Jb_7wYCjvDv!4y$E1H8#TE(=g-uHCrtM3`!AS2MK}Kp$N8>^MczgHu+_R4i1q zwYExqehM-0x^rW?l|TVtbPbhs5%U{76#{cv-)c8%Y0br@t3h;I@YgVfDol&3Mll-5 zGu=AP1D?@#vm0eY5#1zb3+JL}7JF$`U`T;oB^J+^g9>K~rN(o;vItuohrb$_^^E|r z0B~%Ne&M6;z5njv@c19z0@-Ug-s$gr`z8XcR}J8wOP! zLvO0D-qxuI%xhd5Knqk_CaGI_+mO*Nf_%$cgMANcn-z_@f`(<1kFX zH7t5#0V);p0t($o6G4!ggR}H9H?LJleS#zutKLSczYWJb{oQZh0@-UgKJ4E8)!y`f z`m(IuVxiR=w%uM!23ps&bp1<3S2z8d^@2XTONP>~`+l>onOc>V*uMCx9XUJyJ2yi$ z3S4Y?&jxVg>T|Rt-C5J()|JDHNpY7*cH4U|TUy+bn#({eufFHHH!Ux}e+$qtEiX}G z;TJcl#5Q;hY$R1_4EeS_%{)KLekUu%j!8c~lbe*=?=&lzD%}Q9v9?TYKiCKe>vIt& zCG&??A&)D-W7+zg^+~R-hXG?|iD`KuosQ-8`}TE+ehi*9bs^XUDW)MML9;C+D+&{w zKjQs1S%MlR`>g32ZPtETbOcIg;nVt5{r$@2W{C)(=p7p?Ny8StX1gdYmM{hzaK?OV zxd^WpO++Rvz{X1x7ncz*;+AK~o*T~Yo4aXra3^(Rnb??PYt_5{r7q!5K+Yjm*tZWHtWC8{?+uPJ8 zhrY+<^}JGxxI+PL^}k|qlaIRVoW^{UByTrgwk}Amt6AC*k&Vy5t0BQr6b-S$JC^)(gP;eut^zRaiGiM7?o#L^}wQ{ha zBbq?@H4Oo^|M2Z`wK?)KWAi(kJKuh=d-UJp28%y#^q%dH^zVPGGxp~WZTv!@zUOal z!QTbJ^bG@qxn;=`(0bF_cWrxfcKufc`3G3BwQQ$a_GL?LzVtj6?{V4Zw6-x)ojWS5 z*?wgOQca0MvSKpjd#!BqH@Vh5Z6AS@(7yiAzE{!Gsb(Vc?dce_K`RMkRM~vZ*iUW% zv^_w2X$+x^eVne9%lkk9Eue17CxNV(e!=zQVL&Sh?3V%Qvkm@c~5(h zEQNFRjIW5y`d0j2s&TX)S6hqHrLm+e=%dv>e0#h)HugG>&U8QbwarK0x@BZ9aTwy0 zJKgEG3TC1LF414r7}JP|Y%`lR@R@0SF2Lfo(prjvJyeTMK6~Zl+&WinREKjlfviP< zu7NsPSj80WTlh%Ec6JA{p81y6gewepv*eZ87In0g+2^HL-$V8W-O>B;kb8HCXYG>r zUVh(exktSlz|3K?Qy8`o5DY1V7)~8vEm#CfUMC0RwPnsJ6as5H7*!~Bp?xHq*D z0peWQ*7+%h?cy9@&U|d+MBg}vTsNxJDmbe9f1COk2snt^B&dOZ<#mvY)z4EKTH~LkuJZ+Lo%Nud2y}E5`jKMX4KRU) zRdJxchYaW7j-kU21i+o2!?FTSV7g;$LjjuG4KMW2uqSbjMl&y!T?2QJ7653fh`_YeEYb&;LS4tXHbj)8>rj(>oz+8 zTR81tH2lmuaFjtf#yJGcJk9rP{X#*!{hEX^V5VwXs$L4vHzHCHVXujc~g`C?zQ z*F}7=gj*cuf1482py{5W`1y1U#qXzQs<}{EAWiOW?tJUv?z4a3R9@Ty*$W&WcJF=5 zvia$^fz5pLk5<+F?QtE4%-VT>@zu%;W?O=*{ZbF?zb&8E0xXw{FRGbV+CT8GmG0(S z-|Ya9vhZkLox}&T+H22i1gTU>6sY?B?0pCTOt?2_f~^8j)_-5Ob*{->VZG9Vzh=gn zE;K$xU{V9uSf!r~|Lg0jJ!2ObaB&Wk61N<0C}%N)x3S7RSR?|5s8cOnL3Fwf)hUS# z?17e{>_&!^w`fmCfD7!V2_RL;Yg{EDf7@A*^MGj>9gHy`ao`{ii1E)#96(3VuEx*h zP?>1}us~S>>>#09bL$k=T97KtCfIR}{sUFFP*#lN2&WDk+krdlft>;vcS$0XYfe3g z5wLSf!yLm6%6qlGy+5Ub$+gUR*Tqs!E-knC;97tp+n@fC%}3w*=wu#dQxQG zyVIR~^A@b$q>j$mk9(Y<#81-1`fKt_k-t_PbA)(RK|Lj(qc zB`}x{{(40GB0%R04kcfy8o_J?t_i^Id3N=J>czaE&Rh|Q-juETml1IEI*z;j={Fy3 z?cX1Ce0&RJ4`XA$Y1sUsuR0rh^8g+>3yfu_kk zUNQgt-0o<^GbVO}Hhyk{{0cwG>?F*1K*be6)BAg8`aMbnK zb!X^p2epLV=&(83z^S4;+2Gmp=Qy%=;m)_vqYfK70>rc2&J8}iKm@&SX;@VZqrf-? zcbxoar#_2iHeD;-eALLM1rG-o2bwK#^(!oyZ3Py+mRVfa79Pt4gkkfCKH7Zn&5zGN z{oA)dcF)m~{ou4e{^r}%ftRebpl=F*ZG+Y2b2rW3uUR|24HAq)w6|D-hN=3yX0=TM zJAx5R21>)M&2o0NU|Nai>}=Xz3`}J1C3~oq6tn=x$betX$hE=%4qGraex8G+2sk9S zm@~6U1G8kQ@>DX%&OLGiN}#uh=VUIDuM!wY;MG*1F}t1!(5YlXi(;!*kyXu*Qf4t# zvBj$srbY%*=i1XaNoz^xhXsD^rzqKw%va@=$A*zmnI0VKy7Y?Gi|3EpKBfgoG$kxt^8kwI1F&o21?lD(afRXY;ieH2i$+&GqO^X zIi0{OW!O-w;-Cc(7?`{WCYR&|U~XKAN$EzE0od8~B#%?fT@PrwHWX<}+-6VfpApa7 zqBW*4FWwJd08i~`)o?ze)1siWj=43)ggUB{F^=2H#AC5wi+wJB?<7PcD>v6Mam(A~ zyBJ|nLquTe03z>+3-WRYWW}o7msRws_(tFYkX5D-Mi9ys^d85c?|r{&lgkGd8ioye@66+!Wo=W!rw~@5-dD z2vp<06s#8~pGFS~IKs|qlYiP0X9`BHnzB#<301iTc*rLuN$;AR3yfkjnb$eUFMUaA0-zB%wIWwj|C92wio{V(TggP+yk=@8Q|0GRT(HqPv!OBt zz)LSuBnzr^Pchg3>QdNCy+Enm6smTfEd(_9R&Yc1ke#cIKB$dEFQ~5?*U%1$p+gq2 zTKo;Cu_4N1tmzA1U&Nh)m@G#}95d!V-v8bvb{P=z%(4=J z40|xjv9EccXV`;YGTsAM2zdJ9DGVFz#sRF1FTQ+&aopjHFTTJyj=2B$AwYr$j~)V0 zeE$dE!ysGy{>Q(Mt)Anld*WBgc}wA z&v*Yhb~@l6{%`*?3>d%l%iqMEqf`9RfAimhA;z6e4^nS23o=2oO<)JG2*f$x$Jmbx zeqG^hyiBm`(injoTsJfXSGe3Egv^vSme|~D7>jlKD%O9u$7?z6^e4a7ZM(mBlUUgs z1!Ujv-us3j`xE=u3E8x+8LN`2GFNBbm%j2^(}2ER{1unL$wOFQV9ZvsOw#&`n?0>)6FHEc$RQJm=+x~{_uegW+i=XM82 z1Kg=+H+N5VFulQjE*j8GWv zfF3yCZZQ&YhBKTTo#5H|b66PIJA^NvKZZRes8hHz1*x}bGR&TlrO;-<@0LQ_mfW}Z zu0>Jk75sQ(XJ&5b{`2IudHk_dW67Gsz+$1)t7KF6FqPW){%r=@hRsiWw0Zv(_HVM7%FT(qgg3}~8Z+b%@Z zYD|05D9`YkV`5(BBM~zp98H%s+g+Rm}ZU#k%5khQWSKKD!B|M)5GRF3mKSX zirMr??gFtcDOGFF*4A8jJtqHJsv=)=i!A0gvlT&~F|%eW_-WH8Fhbcm%yv$wT1X@# zXj^=yN$V;T`f%_Y;7UUqKFcMIFQ@H$UkvB_3iq3-Z8!^{i04ViUZ2`^-VNYr1B@f6 z@20{ynzp~eAsisIp^O0A4n}S8Y25+FK%Ik{@Z_+8HJz6ouwrl{cFtkg?XctL*zI<3 zD%ftfc=GHiMj3Gb(L)Fve(>=R!OXb-;665+4gSCHeHUG4@bSZsK_EQG4hn~!e9_pQ zyC)#axbq`-0akp#@4+ER7vSLFLa2d*5U?YLwHsJwkTS;L0eW=r1OVgR58neTZ2SIH2h>o?WA>=Eo)$xFlg#$Io6TexR!GwPa;azhSrLzZlg$xdpP>@j>_AHw>FU zcnGt1kp!>X%Z6b&zsUwZjT9p-7eCn zl#87OqI|0~2cBj=)&yN}9wkhbwbg`)xiQJ|R3)woDXfqDK5k@cO*lWPHM{{Zie`*! z-!$tQ0(cUVyi3HObUyX<;Ks8N6%#0Fnq!=CL_2Q|Rx z9Ekl+hV3lQNkAKeXJ0&p_JXJK6r(uo%sF;$#Mte8zc~>+muJvphv&l?2JA3kz&1We zJz$98dI2*qnlbH|#HzS)$UeC_AAE2wzDryYFvl#9Nq+^-;!P8EfWkP-tHRkD4tqaz@se=`&5UsK(4D_GB?dzS5t8 zX?s6{sn`cN3mJ$tP!Zgx1S_61sqs=eGihIW0<)7g*Mej5TJAWI90r0{Ei>3MV66wr z#!M-4Dv4#~z5_X*oCj5G$DRLtLtaj+3K56%;T)qlJbCs6O2E_SUt%|oc=*{PobAr> z-{gjhZkH8R!(-}$cG%G@dLDc%!g@=m6{G2sg z5Xu#XXQB1+e)7_$#oxDf*{&N$Tj{0nnQbgy$ZymwmY3#svW#0M?qGsi`P}gHL9xy!U!GKOq?JM;aIe0fTcN z*kDOSdAe6s&^2i>P0++j5$ijZm6>9cjP^;TW|Sw!w!spXplrbn;VLuMVqsRjQ?OwB zM)?AbYPoT>PtT2h8$j8_d(O5Lr+|dIqMI`hPGB4*y-qTzM0}00eIeyZtTOu$f#~y^ z#>ZM?YpU@xE6P$f7{)QM@{y6xSSX!Mpd&^RKt>NFJJ0A^_U8x|jHEEe?`*hk^xNR$h`#T!+igLH zG3bCn28^9&HDBNijs@p@20c>f*8jcsz%XthJ+O1<*kT8QVhr2oNA?IKD~$1u1qygT z9T?)SKLM#{LN(R>1wa+j$~dv#u}4nY(&*a2P(URlL`z!KZigK#8`w<`7J|b72CyAp zV6*A4l@Ue+oefO5Q^5IzvS~NL2O{|0ATP^c^>TLpTEpz@kE2}Scg?bb3!;(jCvweydtaPWk5N;5eIpZuGvGSnX>|~HGr+#cZu;W z91t=v87JVm~& z+xJaLM?A)?ySM-*lj{K({pL6oRB6&VX76LYhSg+kM9Kauv_}A;8vf;YzX(8Ix&|;! z_D#^>-5T#r{{G>59BE*VgTn#5@2kQkhF8faVTlNy4$mY+Ts?5 z=ooxm0mBBvFkt7l7|afLkMH2!cisg%;FC{2!Lu));{4~gU;(=0yFO)2Cu&ti!oAZ; z9+HhtK9V_rYGDsh2{p%GI(Z~l5iS;3IorB64-}EOOlde|z1rIMWsdW2Ol`{nXh<$# z3vs7A`HcrV+ydDTyZ3(Gvi;dZJJ2DW<}#gX>A`wi*~6$Ts1A9!F|0%W3e^%L_1%Gh#8sIYRD{I@x$j&Ui$m^BGxjCEa zrZ$VkT&;*)CBTiYa4wiXj*~_;Sy+(?&Iw*u>r-H-uz=*jnzc{V0aNCOt5MfV9NNzW zaB0f+Z?N5}lXF7^(es|5aK;z%f&|twMsZ+vA;MKa#4v_%KJGlQJl}x~;e`%RRScT} z0}s=`-PSYVM+1Zu&mTX-js|SaIYbrC4LCQ1(d|IY808q_IO52jVsInanoyjjp2ZGU zUE6U0h%gSG0d~%L$w6Sm-8h2DLdMaXX*daeN0ZLkKMy52!?p*9+9^@5dFH$rQ32a^ zU=W63z&JW=*y8!~Gj!bs=jZ1j1@7Is2c}@TCJOKf=O)PvMMsLbOQEt(2GwCFSx8B} zfD>xZtvP5FDnaZa9^}_C$G3jJCO=sF+cyC#tj!b`T_{+#Kl@St!LL8uefAH&(m?i( zJ^kw!?SzMRnp>m&mwD{>k&T+!HP6`FW8c!4*ZX(a5>Atc1ewAGnD5C$*6l;Vi-30R zJd^9g63eM;!H9F#hZ;b+2Dz)}pZ=fc!}@{@VSc?POSj@VfF%?MB*aWcYU^oDCnryie1P#erX$v~Vkp{+?KiAfDY#G_hTrzOgeHiow1kO7LY|rrQ*_YUj1D?Kk3g;Xie)a$`j0cY%BrU6m z;L}e(#i)XR@#Q}Shw-X6-Z`K@+JsXhoSvQ*GShGX03ZNKL_t&nJ>$L8_rTUB-LXJD zQ~AQ{Q6unru{{qv65{V;kPL_jL>MC8!6C{_hV1~$3>gKs_xHnE3jn@D^IcKF+~8LErZtuy4I|;@-V`=wR{i!DrZ=Z*jKW7Akpv4;p|?7^-7R`=ZQ! zr3Q7hvUA~?_BjBa$p#-?^E$bVnE8r;rPdobMQ&R>7sK$c(Uhre&{ z{l(67f8u4XvTn+Ier1n6-l4aH#G(C>+l(M^Fmq53$}P*V7I?dk^H0oc^V!<(`fw!> zOSGJhg$h9Bug?;Pinfb_+KkyPEQrX=L0J*+nx}|SScqipBN8;v(H)hFFRJXjpc?)p z6y^mWlD^X9%)vKQp$fRzuej1a6zO9=&_IHxs7B^F0{CE~r5bF+5W)$v;x8vI0I}(u zJOvyUMH)4}ne|a*=Hk6)f|?LSUd~2Q7H%DE0EDaMhEBomxw^rVT1>-hRDZAI{}HpvS+9%SWhwtT>$73 z;%1pG#&HC*g>w$$IL?4xN?vPNL*-w!q$VFfgjSxZLm9$XFbC{&I$GP2y~PgeM{l}6 z@qYL2U;N54vZvkYUrXsk2X>6L6;iz&5Vd*vs&^k*Lo*kIY3{B4X_M)B!4Nn6;#e>I z;1;jZmFr|G4c)Q$XS4T?);~4xH$OjF1sS!*vHo1A^Q0$@lU4KsUb*jV=Bx!bz)vku zXWhSEt9@dnW*Z3*H(!}owZ*F#-in6;#u%?N6hDO+W57;BQjmqybAS|<1LMV$?h-`6 zAl~&zgcd6BLv@EPJQK5orx*#l)Zc9N zOi<;!%kx5y;_t`o8d2(O6;`4Jg5cdl_xpd_WVYZGB1Y>bLbh$T10EGj}0|lqY9^ zP>?68K-Y)97MWct?f{$M^J)T6H6{!R5=|pf9_y)4__faRfTTR(8G# zLWn~0E>Gh!r+ex|;lyEMtbay~g^ms#`@%D2@_Jfsdtk@!p34?w32ZwkfF1e804t+6 zJ>1SgFyOee5E;-N8;EZ4!!LgTCdOwkJ_AO@A3pil!8?L()jyL~!CjBtZUb7!GQ2W0UZRL*?<6yGGa7@k-Y`jF)1uLK(>HYoYNVMHE`PzMi^o?P(H&} z&N1)^X9g%+5G;ma0N{O&O$w}VA(Wy6tAQi&Npb19h@%ogB?O`gh-+L!CL;^xvJMk=L<%-K z+Pg8O-G)4+t?=aMa%$^ag3mon}Vpic;z{Ei}t^6%|le6h%E?1hL8?eTgC? z%b7;egzNM(mxc=S~9$WVerw*oLobS${7C0ZyL5AR*^9v&wkO4aGKqgpCRT|9892Y4Tekn}i z3c0iI+!VUZ5LVIxq73Ba+w9j`=zNH)%gwWIY}Lu+yCN@p-k@u`hUU)OH8If}yZN*C z?A<^4WPJL+f2Dxz-R|zM--6g%fPQ-{^#RX*QLWERY^Z1GO!{65U`YG=7gGpd&nZRC zKyy}X6kP{q+xnO2ze_1y`3?wGj6B)q&P*ye@|8*xD6KxiW!J)W`dAB`hiZCB3A@or zJygM^Brf03(ciVOrpn&mZjQnNWjZ$w^SVhXUYuM2yzX*hy~&1REuVRtG_J}fwF8Gj zD{t;^yyq&1^K_93Ha?;>GDsmAt+TYRN#069rYv0$r zBfnPE-5PtYDj_&Tx+NF<`ObN`lwd)3Y zuL=-e<#P`8rz<C{O!Us}$7@1;guf-Tk*pg%-NGMj)rAfHf z%2r&kzZa5K?S}~2be>$J5J)oO)GC@bOgb(aWomFN(r_{VIZLFHNxE z5O4st>AneBU+hF2el|t72>~PoCkkr>I}!9SaNNOkJzxa!KMq~Yl7q7fVjrm5Sptk= zI}BjUzDnLQwr&fsU~2~m6ldpKh!vdi7SajE-ft!E%m4?6u@?+(2M32C{6`@4HcCVY z4kLQ<&H~o-fC@H8M_^*O(ZO1aaVKC)(A_xerb_D!XB|V5x?`$od7q6r_>S(^A9F z5_^NmkbTa`>cxhc34NyTwMu|&d&6oB=8cw{i&jxZp;EeJQ)u9*2ppI+j(PD)t}{zA zi^Rfm5?~VgUx9RaCKmKD-5_DY$RmC<02YH<-7k!k-;Mv)8fW6G16Ys0qp@WOs!`w?wm)W>N z|Co*4O@bj?gf+LGgB+!ve}vX2K3$qW7S3A_7*ApyL_Hr-R+}Qlig5y&%$!_NG_ke* z+29(iCdm#@4i~iS%RXBiyu@j8(dV1m3z#LQb}41_WrJ9`!h1J1+=_d!1l|v2sPkri zx4ZXiFWlL`|JDOpOXl5^?)X=)4Gg>npVwPpdV5@K@Cqqd8rd+eCJs)FBXWm=_N?E}Yo1i4# zTN7I5qQghT=GRa}&!#!nCZHMtMlr5O&`Q&SL2?I#EYKkqLxHBxj@9~9$QCB~!jM9; zGL{P*id+K-MfCDyK#l)hV3HmB#N0D;0_F%YuQ7xGq1Y=%*TxCQl7Tb6m_s=LdS)2b z5JBo76ue9=!;!*l7-SS|47S4-#t^n{fawih3|mkKJRiI**0%ErS!Z;PQ3kx==TH@# znKJ-_7kGw&Mx5I-IOo|`HR`MMje|8EmG9$=kx6nmr(XTVYX7yR6ETm)7 zfk#GHGe2RD%pDnMD7q42@0!p&{RO7Aq2`x^=FkId0Ivx*Tz0-+^P9a2h+PA>bWPW~ z=uiw~Z z6abWuW{e;&nak7UEvZaZK~nSpRS=wyvu%m{YkyhF(}nU$NsCD169aWJog5qOd!Ohr|bE;hLggp?}p z!ZD?BS$kAYBuoI=zUA;cX3B7!#xg z6z#nPP8DqZy*xjA262KfzI=i~20VNA462HUUp@j6;nAZ904sj)_kIt94EXr|#~880 z<0qd(NiezrrZWI5j*gBXjL8n5on06`T&BO8(mJ||346w{n9R&%2+}1|LAXB*vDY90yMS8WdVHM0C!ZM>B<`JWbm&h3hg$a%tPHBaKZK0=9XD&^~ zl^f?&7hh`j|1ZzUU`;wOJI9yg5qo9Ebq~{@Y_+Oui91}^*?s_U+MWCgws?Di?0fd! zpYM$QW7i2{TRNP}m>4f=Xi)mlUS>tUZ)Nndz;=s4Tl?%~9ns5M3`~B!`pO25>scr$=HueDSc4A&i)ETG16yoa!{<1-3>*1w12E z-D{K;RQ-VfRkzCqRoC)UDg0 z;S z%)S^a0stFJc)Ya4unpd=0_r-b6L8=8_cUGlI}MMKs6xbf8G$OE4PSb%NLCEPfG@s$ zf^i&h|IvLo5j^_r0TjT;pMH#f)8TvH|2~e6j&T3seK0c~K6@AdH(;zq*LAR)4t?Ll zSc{MDeH5IDT>$yzICrk+$tp_WFe-vq>-4(OjWC^O^!lSNgaeEa5m*aj206YnJl7ZP`S39d)fJJ(sD{+n+3xju*bzt z^yZGXbwUZaGE-K=7>heckcs1w|Ey75XluXI!pv|`@6~E7K;ay?3JHliZC)P3RW*1d z^8{C!Q=eeVaBy%c;QTWVU>Wz_!zGSrY3`c`L*zQ?b&cuT{Iyg>7Cl`LodfHIO6&DY z_@$-qZel4~enwjDX4(F+_q%uh{O7|L|LCm*vZvkYUwxZdH@cyzCT|>j`5JW3FZ0MZ z-4%1gdH?fRnciR^2nozaa1*s;8n(LA?}E-1nc+TFl7UH!3qN^` zSFSKWZ=L`sO|SKuQk}6e(I1v-mdfdz1PVIPq?eVcz(iwkKwOAs>$#b)Wx8a~s%j`6 zi;D;)V5H5&2nQgGpmh~6IA~s@dq7NjN{kn8JVVX~jtPb=#$ez+io$RJW#}MKbmZev z+4%Dt)PYnW46rJc8KgrveSu-?&GkhSsDYi_5?trE?$6K8fQ@3uXONA8jsQcz_;i4C z4t%0GA721RBc8h_aJ+d~bs=Nn=)yaGB^IO$AUbGT^4TKyL&V1;(rn1gO zzv)4pR)1Us;w-U&n@bS+a+09?N_D=Z*?VjI)*01J4fIA}9@P(*zcy)z*||r5HmISY!&^l<=ZD{Vuu@khgc52IE*PGl3FC(9%VwB~ECq zK^1%0C(aoPPS!wqP(iJ4Eu;uOpnf`6DjDMlA~~|AnC!V!wY2A|7-9dGF$F8Ur{T11 zO+@JI>12Dwo@I?%R{{CTf90fePDyOxGsZCMu5Ye{j;YK5&XX&|KCtmeDcXB z0D$|CK7nP6GkFe%!Et}&oeM0(be?fFhH&S@J78wqqdU`@A_Fgy0yJp8&d4U|m|Ub~ z@`dl?_2Pmju??$FeKedUHHCfHv_=w2P7o>-l9ar+u!cSxljSa>aioQvt5@P9y0`$_ zH^+Fu8MlEjsq~qqNY`M!V_({icCqUlszXcOZ`J(O)_>CqMJtz4$-h zDj<8WyZg(x?BeaQ*haXzwaJ@wy>Xj6MXYM9es7M5S#nooLj2Y-2?x!jdLA*bDVmBv z!t5X98)=I-V?hX094cigSCQRGiCB<@t-^T_KnY5v7)3P$l<9S33XfIJCOX|o25u#R zC*O8H4QQGeIFfkj=)}w>FiL4yh$WwKA zvIVpL^M_bW;{>BloAH({lmvztE_kxKWKgdVv-1Z3!vNED*o_0MwK&_Jd;e9l#SSB0 z;JMeUvQNL#VE|OY$6oh~jba=}kX7t-3ud1rC%t-`wvI5;;M0(u!Vb>6du{sEZv~nX z$Ncwzfh}W&)7EM%vNJ`LcfL@g$b74MhSnhqui$dNR+{Z)a4s#2(Z9vkuABNo01kZM z&_V}4%hwBlYA`|vx+z@jC_STvV$ov-?6hLA3ozT*JyI@y;sX(Q1-N_W*BsauSRomg zenvP<`gavzdYRX)y>`_~YY&LMYSqj|7ivqdz1O|-%WoBsW$^KFcl=l0W|nhJV|&Zc zUe8MJ?Yf>U9SW0ulb@>2=d^N)un1) z+mfR_S#ktuRR06$?D1rP&mmi#CrhLF`SH4H#+O2|7Ql%e?%7Z7J&})hWrBkPh;TOU zFvx)2ZU^TazI^x?qY6I%{BsZ~KED4692B2EypK^FK7IHQqYU``iFdqt^6X34&fsh~ z1A}q$?g{$7hjR{_<0E|Z^&f?*!_m=EO5d7TYj2B{>jIOTK&|^^14F)`D&F5Zl}%M~ zWO@&JGXPACv{;CRCmQ;(X2pk0gkigD!pq21F;CN&L1flV>PsVbGtic86zm1DYo42z zAu=w?sMVic--os5uc_CJQOC8xXw=ZB1xG0b@iE0d5_%dxsurVc5nKV>H*vn9tdCw7 zF1T!{!FBrV?vu2XM1)?7tUKwC{|ayUKNOX-w*tt%-@W@wO#Jn?mDRijq+e|Yd;fx^ z!9p}9$vEIswtY7_0%$cUxM>1m@{vpN?=lyF1WtJ>+@oMr|{1{ypze|(jf_EBlAhq5XQ-d33_&iDMZkI8D(OH0#n?iC4 zh~Wgm86avp6?SqQV204-GT~WMSAcNIumKSPmeX|_>!VYR2>=lUwiGJu1^rQnvllO5 zI)h;x00vw?diQ~lkTtOPZ5?>PNDf;%$4CQ4GeF=l*d2ro91U3MZ~z-<1w<$)RyJ-EoI1|s_a#1e=- z1V}Fzo@K!wQLdgd*BlhDVSI?J9yP{g$r)Rs6@bbYW&`CVMb++$pFLz3FxOUJb}@5s zs6k6gaHtgJ0;hJ!OIZ($Q*N{|6My~v?%iK{wEO(;zZF3Cq&xnlTZndhe3h8j`3ig4 z06b~Ebwyf`JX#EZahl-rq#?=Er9%10MW2e^4VfQv~zZf(b(QC4iF!F2#k-~c|gavd;ql7KHE_h1d+IWnffi6A9sMcu9K z67w2t9x_i?odRzcP|M$QqP*kP=T!s z-hXu%!tWhO#8;>jf!M%Uo9x4!_#FdgfP;pWIqV=%0JpKbWcNB&OUpJ`kwH>yu8QY* zL?qb^5LL0rjFBD=V)u=GOF-lz>-yaH zQ?hHFit5-)L#p4!J&asZ5Em2P=1*SHXvr@H&99@+*AR$Q+H$i8&G|E@Xx$ zxvD;=9MGniT)psc(zLx%4q8`Ef1}y|N7MFHK%_q6!C|VHjwb9H@O`eso4$M@mVn@h z;fMpX%0T=#F|h_p*8iRj6frV(O4kY^Po#41v|z}L{V|=ZgJM*{sGij%1F$7n>x+-b zhI5C2m_Y_`a3BMSI>3Ygjlc#vI1m%gsraM)pl!%l{@ zJ<80m*7^dnuERKv=^jNn!8rQ!b-wxx=CSs>eO6K2 zeAb)tf}F~}f%EdJ6bgInx-J7U-%zrKui zC!ai8^Je{KSPsPp-8Y&*S^n@Ezaza{8lA-8&ne*%RI$Lf?uU7w)SZ;5&G?8 zuR|r`Ag3^xbi&@ZGP0t=vB1lO6s!0zgM-H`k(rp)a1TsiO$QEOl57Bn##d&W0A2-v zu@EKLZUg58wmEB7{?L)Q4duIG6ERjeES?^2b`Th1B_rhoMF@*zWCyEobS%@ z^w|?QH{iPuAHrIT2ag`%=;#RF{r>mBoyEuZKLLpF^x4xSQ!vJ$@B8#+t;LW2_(#Qk z5h_883)5)Gk?^4I`-Q{Y%Z{qsxlm9XgFVj>s>;3d}MAOE+qg zwRpDyNspWeVC}u^dCdA1TNn=MRG|;Lm?)Kv8A?6M%aXDUf)2Ybkn-%Xq8n(wK+DGo zS!Ww<&;%T0XOxQlsQLcsns|C3;~2=893P6suajbIF>Hzj2(#B-55af$_;`~v$plJa zaY7DcEzY0sutA^Z%-uM`xd9xaoSg^^8w_rQ2{I_(KN(7)|FQbTpi!uy5N~V%4GStA zA)SO?BmfDBCVyKBeF_j*CWuqNET?e2q)7r%&w%-&hlo=9PIFJbD?o5+SGo4+l}psV zxudH?Unpq0W9k_#%%O3YXxCH0pEW0=Q%D{N<gmY$8tanmkP? zLFbrc4ymY0vxSH$7#a=140o=eBnh3y#VbFoddiIqHn+b?vOu_O3lzb2jq-&|C=Q~04OXqu4#d7^d=5B$ame zTkFmGnNzj(RE#zO{m;)nhpOW7C!b*uhsTdU!*1N+#rbpW17Mv<_iRICjO z09X6C)~Rb0RT0I$&dQ)hZU!YeX_*6)mHx)eN!us`pap1JfDLT`&qmN`0<9S!r)oR& z5=6yiLF^g`y(*|(+WIbE%Ow?m0kE80BWPj*W6Gaa@)@cZ-ofs#{%qZonDsIM*kuT< zmr1bQB;a|O_P;j#MEte)yZ3(K;qJ5l`i%s#r`^dfzRsI^naa{z#`5|GHK%9TDb6fDV96y-rgEacFFiDfk@wW>ZZP8!32ToR+2S0sCFoEygg zd?ou!PO$?nxq(jcmxT`3b<@2Hj4d-m;C)-6p`e7Oe{)czV32xg0HWl8DHyl&|Igmr z^jfoA=V8xU)xGz5zb+{f5JgL%WQdX_8<8T*imXVH72B`~f)E5kMt(=;8D)||kWr=y zkWn&7CJ8c6fB=D$z%djAN#IB}ZC{C`dCAMmd++<6vv=289@IxyS66@T-XG_@r!Nl9 zd(YmxcXxHws;8b>>v;fXSa0?E&@|YK;%F^)#_PB4TvdI=6@;AyrV@jy%HOj9hH*ST zpxV`VcX)@Ys&G8I{L;_q6I6AD`|2%tXVBaqaXdcYs7D-+N7xsFeBLR+OsirQlbm=JFf;Z*tdV{J#@rg6UjaKhQ)n#L&qZ{Rm74B@iYfs}h zZ9JVB*Rx_U@8X7z(u?W#nL^6joagkE@W7aj@;S70d#r5r>Oa6^1hTLA#jo$o?hls& zt*z_Tjfq)QD`RaNnC&b>`$T5fn>x~qA{*s8-dNj%8 z>Z`@GAg+Nq3+!nGKhlb#``>J;_FP0Ta2Bk}&e6({aqMtlQr$A#Z&4F)*tJ#ufoWwY zWfedvh4TkRfTXR6c7VEEOi`!8V5%Clt3lNcs0>&Ys4KjXBe36L4+VBEx3b~}sx}rk z-8T;qZSe5<5f%+T{q!fWu=walKY*&@FTVRB0N{r|{0IQ>olpJ+hzQ^R{`UdH`1mIu zM~zzr@bb+|FgsVQs;cnv%O8N5@!EV5AVMwoZCo=9E8@%)JhOUl-}U+fF?qu=!ckfP zn^xmX!2?|jjH;PnH@i805)BV*@iVE*TnoRt1$)^RGaW|(pmu;!tFGZ2qk~(h3xA8C z_Tpon<}YYvhI&B{%#Q8K=<@g!!L9Ebn%G&3FH|(@@?ME4svQWm3#V2RDlPg-ncG&z zOQVc6$AZ9K%nSgX(nZTe9QCe)ZAy|XZi5_m+!{N(HL+4Ee4LuEhF)JXAMdN(AHFuP ze*H81`JX;2Ap53%^ABg!+#?be*9RTT&T|VZzExW+&nX0(^@G{ZTsbmYq1efVZ{rzI zPA2SDEWVw!ooscxUKwS?TTI=%soJYLwyfb#e=zrwH6QN9!J~Y z9&f>>0>Ob-sRgJAySo||KwUdF*LsGvV&_fVG#1Q+V{-(v!9#O^vMca%Ol-MYn#^4X z$>pX4`F!8&d#ZyVHh{oUmM~@2C{4(1^>JN+i7&9qSX!kiV2}ceaBr;(-I%6FS}Zku zcAowHGe`QO*V1Ae8rR_(c%+G=UAAZ$XD(4>LsR1e8<|*jW0JM_IVWA`UG#!WVAuhm zq%z-|QP@tV_87SDx`PQ?cdES5dyDySsd7c0wsq-wd#o7in&i+@78d|MsNVd;M+anI zRCj-}_U4!RT9?3ar|N!Yg8Q5m&8==_PchJQ&+%9+VsCZjJg6%;<{}jJRQ+TDiDKhK z9IaW^rxJ)-FX$h(cExL=s@sNEbwyEVfnd()sXuFJUM22U5AEu^cG3yP34tk&jBzsk zQlhg;1eiCTbq#;>>n8s`4su(GW0vcS{#$o@mr_twt}@z$d-t*oOn@OA4i5keKKblZ zh&1^8-CL+C{`n6-1QFqfKl}(>5kCCzLnti%@_Qe`+9SUAgYQ9ManJ`;WT33Ld$9wN z!We_&iw0Fy;e(%kjk?<7r}5LS+WXMBLNk#zH9`bOG!UauIOnxS6|4&J%rn&nY8Vyo zoR+GDf-{PRcWL}OHu=K8`~PD({N29C1qLxMlU@6s{s=Sxk^sxw!q_=%?Dlb`n_}U{yJUBe0N#*49!(|^xx1Lx8u|kRYQ2Gq zTU^J-92Teux+y7>p0s(gaF*WUfjh4&4dhGHRJ(GaA9jfWO^srrHTJR`(f6S)9qXDvCtUmabVe{9X>cda}O?V7>wxv9_Y?ChTNfyNK)1cAQ4a_(DsBnJ! zUNg0%iA)-m#haaJ0edFX#7N%VvP~VX*iGOh5YNOSY~_JHG8v%kx)7!i+RUqw0hM6rmC~&9efsqB+-0D%(PWbwmJ!@Y6Y`^Oao?dss~2B zc#q?LxHh<#2h{rt_wOE{mEyCvZ=I&=&M~yd>H+m#jR$iNHo!Z2=iIM$7RTlRLW29| z9bWEU;GMn4{>2U!4#ZjyHs2oKfrwC5J2bGUs~Qj|!P7Jis=9)0)H!nTGRw;s+{Qd3X_A>gVb3p7CHUg=wwN7lGN06u`W|n%nypeS!j?!)t3J!_={MM?F zSYJ`6ptKwmN^a36O7Z)hCbJZQYWRO4j54&ksC~MN^|%mXx~i6N$(gHjg?mSc-jtyz z<%bNV0rV`^m?u|gd1sgsTVA>noW;0Ibk4EQM<#Z~YIUoXYc7{EmDfD>{Fkt#!Lo6T z*#}yAs;T67N;GeWzLPZt18q@P&_b4@^}4Lqi^emUjpI<2BEPC?+uSe>cC;E(4IJYc zQWIy*zJqO0*EK{PqY1d8C#V9u z8e|(#UAZ!`%D8+{CZKL}XIq_6#m9%AfWffM5o8QLd;2-=kN5cG(@*gB_<-;K;CryJ z_}3r(z%j0W`Ij)Y!ABo`1R>zNpZqIlN=uBYayqT`zQS%-!Bhrc{@E{urh<}q)c~i- zDI!4aa&QlaCia1*xd({w@bJ(+TQbp5Kt)g)cN6!AV;9tLTL`CNd}=%4ks^CeNz96= zAT&68aNegg#3ilpa|EtwUTR*46Q#8VFfw)I!6dS4Zc7e});)<94&gCx=X=C0Oga05%{U`Yzb zRMpAV8JD|lgUJUG8njxzLJrWXx&kmsv{c(4(_dJTmvED;Ag!m$Fg{m?@suve;d63_ zwCJ7rhaKJ39qJ?TwaIzij6l9zv18r7LBBmT<}Itr=$snx!Jt9Lz~X1j(JaMc>E~Y6 zFaP9G0NIMnPu*4fZ?6p&IanEL+%)K}Nm3!L%xb`vSlYI@=e#i!~ zd;@`rpa^bV0QBHAp;>}-x&)svCeN}FSd$_N&)Rl#Ui~((2Czu500_<`z->ZSkxg~m z|94$*8`KP-5b-GiAPCn08E9o-*+jNgYXy<@PFhE34UjoHHqrpqu5zO4WI@Kj>d~>7 z9vImd7E%H4-W^cw3_g4N8DuAT%Wu)t7R_CQhvotLO7Z#OE$~wC`SC3dy9YE)gCpL7 z!C+#Lscg2rk`9{)^vuj%r?M3qgI8vGRu+IUa zB9$UG^F>OX9>`S_-R>=&yqe4B{gtXcVp44WPA7Oqkcgs$0u1BTo0lLW+k0ffNze&;o$LN%BmUfK;+!RT%YxT zyw{g}C3bKeqHb=UG5Z93wcp(-?AMH&NvgnE$BLcW!kD?cL6Y}7MOH1I742pDjlB(X zwJ~WV+!JeSqM?&)T8Wj?2(&n}L(N6*m0ED485_Gr6jqu?jL8LKPAB#-jb4}fV$3c8 zOo}RfN`YH!ad%-AKyT>3URDp(0;~vl(ON}QI0ucig})xba?^q}^Ttz@+Pnl2v@t$; z^TqlL-~QK|J#i2r3$?Hc#0Xe$rd(Yk&16XzUWJO?h_h4pk^SZ~O zIl$~{JRFX&ENBR@V)5?qfW}ySZr*_^!cm-#E4?DvqW~`m_wU}~SUWi_i^gRw>}z** zdvA?tTuK0gqkUsJH;$tvXJmz_pO%z@BkpLrs$;-IJ}^m?DhmB3NNE-0k(Lw)sA!Hc zw;z|{)!aNyo#chm)CTE%Ffz?Lg#^*F_12UP?s+s&BIVW1-`7&gf7%9gT6|hE(F;cO zI;oG-r@k+RoXtd~e|xh!z)E&a6rxH&r?2#{!G^V%_>_SJ(2};~kB}>}3X3z>=e&I@ zXxkXCdAc7*aJxYEj`zQ~uXf)&C2%Yiy~|oM$>`ftCx^m$yL+#a)#6w-bTHZ6+z))?S-W#{Ofi%a;3I z+g=;7^He9}Kp7dZ+55a#?kf@iXpk5jfPEe-!LX}bBV(XOebJKOXf2N7bXyxa;zu9- z2tvTeAAbyD#`nJeU4RJR|ItUVu=v3bKSCo%{P5$C(TK$lKKTKd4BqKG7#O^I^BQ1A zRaK~J#+xs_23LeHvCC~e9FIO7z)fn#7+4io7{dyYb^>>fS%E*a9^9KOhp#*NADUzP zdiFd8ZH}2iRRmAcSPu*|GGHkq-03s9!2N>MsiA(Ed#zJZbd?fUr|u_)zh1hGvUVBP zcCnweX$G7qO|b=qtdzzWMxFuUvnoCMCL1|pUWGE^O=Ks?)UT%BRN@*5(pKtS@GqVJ8DKTa=9&_&;&y4JCv$RBneYOAQ zp6`C~LGJ(jCV}h+)tf(_+b}7xoFm9P2o!W)<4v)=@ps{KW6l`q)OHOm+~>hDudiK| z@%2Ee8}eIbA%dsq*yEU43i)ef+_pRdW7|#|0q_cOYa8lywYq)Tc&RI|=gJkp6%@vS z3UTZS*xQbRAs$58%FEb!Nv!~Cg?&vj9YJK!SeL{4uDJ(Qj0by!RDj;OlpXsZP_=m2 zIsMkd?g19+a$VKpp+4eh4`^xuk)k%$+Mr;T=Q7I{j5xRQn1*)nS}M-Y5}) zsdjEzDp0YR#ivsk2)ezYI7(Ha;y|!aD+fi?3K=0T7ARq`C}H8lJDbSLN0E4p>$j3< z_bVn28L7rrmOLo=b4ww0D}hudfyBpIT%*gWK!P&qBbP`pq9dJly|h zHwk24RCj-T3L`hf#?D#k&g$$Fop}xr?Oh922;n~ulAAh8#f2RfSJ&O+RKM$TTMR~4 zJ*(`~1=5)|tM2v_B?U%Bz4=#EigmAtf-zxsDh13w#ejk84uF9nc12L0m1VCRYxgbd zd$bK64iC6L9B_Yla5=4?egYxEC!hWp78c+8*WbfYEPnK(kD#jfC*S=i4wz~KCdZcU z_j@QSs=CI@H?N^2u(g0+RQU4iFQMAi&PB`^9Pit$Ln}udY~$|F9%9vTX$%IY_1(LN z$PhADV0Hysfk{0ckFNO2wz6NT%aYl_fnZgimmGFuyg7t~3EveqkzY^*Wr8ZYcsUSk zBcVh^#>u@my$&;mzltCv1;|2@fuw}7%%rk<{a*o4Qvl~^RWT%SX3Bt@s#~;m3%c5K zw_ujgp=v#Qmnxv9H!YMnL@~vMT?rX^_(IVF{7v<0%8?O`mrMNNd7=X)@RA zqST4lr^EIvQ6i<~tC0gB^Q@#5z^Y@rga9&*wN(NdvaqBO5|Dv60sszT0ajSD5EkrS zR-l?-_B9^#0IdX{9Y2S#qTvP)_8t#%gcyNk3)F-L7M27@9H43=!&=w111HA#Gy#`N zz&`aL{J*LL!LI#`1D!Cj=tYHK8%1-J_I>EfC>dj1h6RVTfX3zFrg`_?q`?7c$85VT zaO2WA3cEl=6t|cIsP4)Xxz|bi@k$aGupGQf$Xy$CW-o7 z(3lgEK@B%5Fls#wIO$51l=5WbdpXUo>TmbtI<**DjiP0DD&nhlnv&*Wycd6MV*%Mr z1(+~7C+ZI!X3|&Hmlg=33O1%?e+q%8iJEk#t@>7t&qb1RrjAhYJ4AZlod#r^0LQfE zB)BMr=hyLnPtH-&;p_A_-a*CUAc6yqXjpI%i-wM9yoPJV46zo}IF~9B0au=_FjYG> zg~A2_SS$EsGIvSp(+Vi5oQL3{0tglE?!E}y?4WiB+c5TbZ#?tI&SVPa=SwKZ~3D-JM{K%{Y`oe;>l?PfBStCUs+h|!3GtJ)Qs8Ac;M zH+VWbH1c=oLv1GwT&{B5-9j0a=PAec~U1?yAxlgPy#RfSCqBSN84 z9M7H+9%E&CsTKKx#ZV`1=ZDSapPsy$q{VKxt7A~bsmG~+MPa~TpWVN7eF~`=ggxkBU78D7 zkP3`AaBbZl6}ZZCti!w`oe4@b8{gE8|Ha(tfr9a{kW>+;bL~?{N`SsMX9a_U5Ob^) zaZBf#vPI{RHhjL&E@`!Wb`X^K%;3`>y^99t-)*W1ZoPyYG3e*H&p z?c4wBrWo0~>h6!0tg4@nXGU~BIZ30+0_#~F-9&$O2@^Y*udOEzMdd!@7p!7^Fb`Ys z%9>B;{p6OT|lt(!I3-n2j@u4w!Y1VoQGhUpLePv$$&DvDIbuCad=KA$~To%Bd zBbb*Q--bZ!nmnk<9NEJArp{k-M(Nx`*#4DVL#U*wm=;NJQdp8qLfLyYd`1~}`;djvdknz9#qyH5R6#v`*`;R>P;Iv|^T?O77 z@LdJ241V@&KZ~PE1T^fiF*TA@sq1LbCyEd_+lB0YN7xY!OsLB{Pn18#iVSDY365E()|?^6^#LK;jpIO` zp4CamNp>r?p5OEwxz`JeP%z`Z(`4Trg1l*&S2po?D6(+B zD=_W+-wj|YP*npJ0hIyl1Mq5xpWJ_jV`Xuy6t+^l(+51@fCtmyo*&Tc6pcATcZwq) zaYTcI9`Im~uxedlnsIiMssgJPR+`D6Io58^K=roA{iHnM&{&~iRxbrykAcZsYeKW; z96E8XrR|j~AGFe1PNhVtbruuqW=MxT*^oakaLjG^$)9s435Vw~^~J6G6Jz}l;Lgu+ z&e$_I$9awh^b`?r>V2FO!@RCve`^y^yv0fO)!nx?3kG_<;PQN2Ze_UUS3bNI9Dx9WW27Zab^ebi=*Hy3NB3C-^xppCCgLBM@vulgz zw%X0OtM=al@E@Ogo|F68OY`E_Pf07-q9e?;X1wJU`eU8kE&)cy^7F=4JXKHzvf#-E<6 z&_=n*&&TD)`da374I3r&{=~^SF?0@lH}*Y3-FDaHIY<^OtuL37P&TDLzA!~+zwi?k z4N`?dzgSma5y$1J001BWNklEGKZuPF!%dAs2HHCfyPZrRslm6mIdGW@Lz&nG5(wX{=Y?2 zHTc5Md=W3{3%JJ-Z+`lx@DuwZz&aIyN{CSiR5PXku^^oT2DzAH*W_E5?Y~PV&aHuoO_GN`Dfc+Dmakq9M z%PrnIC-%Z1c52KHsUuwScvZdr=3D#rPp=AO@2dSbw`|zQ7OZX^SYK`O+cE&m@IfD1 zKrHo&UTm^4-}ziOr`bwyl2*ZlAmq70Ts|Fn-%3#d38R5JIX&KHyq7Gd zpO4Eg6o;6wx%sfA_Y1AhDw~(0L%p@hvi{gHTb*3tT(X~*QVM$Quhd~;-9H%0!8Czj zz4=CT;|dE4@~(eyh8RNDJFz*{5@&FcfZ@QxdN4beVb`=Tr1zvTfOLPi9iaR?QaP+y z-<;d|Qs=zgxh3fDC0{UD)Hn@K1*c_Ij*V3&J`1U~S$aWz_f0(DKe-x^z2p5a?W*1H z1-;Fs19qrVFyDsg=(f&eZ>Ij9zUBnfN8D{@!?p@wrE_&1pr$K_F9EOz!Ch9d zzO-%TN^g}w?3m%j9A0m8uE}HlEhPFuUAU@df}QZjunM(d%QY zBUe1&C31p~%F*0_AW$+;IQ>ft1FoGVEvg!{+oMv8&mQh^FbDka|Mx$}ac6Ol2fUL9 zd{DV9#7h(LOIL%L0ZzSlQm)%}atncIqegh1R3I)`)wheivl?qIA%g&MHVqBcx!OckIS9r#EAfm)OkU%QJx|O#gG(Sc^AM?SMW@#ERRX{aiVL1Y+kk%opF^^LfK2O$v zMuWv{#zKOlU9xyJ0~@kilkXc!FA4dwZgJTMvr86xi&P2<3K_cb*q&O5Z3SZ2N^T8l zdtZYTyQ}WLfdl^Yiv!t;sxR-W-8ZHhZ!PO^u7H+Ww++$gr?Ro{%OrS7usoE8GPYoe zi>Y(!0j_@boB`MHH|f3}LZ149G3o+dCs?kYS#cABcnw*%B}=f41*x;zgfePFpsIo( zXum2RW(iU}$wEd;Pi?^IJgSmFpc+dNH;wkqTSE@{`im$Xe! z2*1T!o{BHf3jd!1H!UoNQX;JLOeS=MPmyBmf!K|d5AuJXTo*9o{!8CAmacg#L{xh0 zs@*p#s=nN4^TUe**$=AMe>fH6hpNTr>Jpwa@Lp=wQ5vLA0qic-YrV$(-yUFSfhr{h z1Wwg}lUY;y(UwzF1qEPR?{@fnG9vHX6$;#(_N;mN5)cJFG|sA41jokWqmO@thus1H z{4c))`%>}p%P(>Fat{`QSfH*A$EPe4crkpW=%`a-!3fGIs!dcf@U>b9Y6qn00;A1+k8#YO zHf16gJ1owebGFi=J|_t^b`6txv9$dD^VimZ=_{rv^6TpLAO86Gk-{ROjfYpK7 z_Sz-VF&zubaEX3<(G`0L#3-~H0DC}$zi+cu#alD=XrIUK4TIQ`dE?R`Hg_t^e};6B zFV+8MJ3Nhym*CFjmcUwkCM~-fa%G)`b|~UKhYuXg{S)3AzFOzTjN z#+INb5KzcsjSYcT@w*?^|`y`{1%7_XqL%1Z5~wlG?sxj8i&_hXx<8lo|WHu zV+J>m;h1H4N`OjGFVK$tY*?Dc;-Ij#AH!E##OY#GP!w{C1SYBtOxlN28LX$SU^;WI zI%Qm!0KH}@6l><#zVp}lKx{7+XGSa?Q)o)xb7_)bmte}pA%4w=KB!**0TX|9E|55d zaa#(SPRV&ahtAqlVR>#*5n*b=yToAJ_WV4$kQfe>>4d?(fM~6SsC49ZI(fustC54$ zO_-p<@4&DSX-s1XVAg?H>zuuO6|=Cm49*R-_cg)LEda4|jDxMxcjoNkox5$W$+$iS zGNkmpN;#oKNgWE!mn!SWvFYc3Zg;9Jbg%Wy^%+CoHKz~XTHj{kuf8^~|6t8$S240L z%*(&;mUFHl44WhouFo>XPR=yiiQUc2&xb2@{1Pi{C9FC)zeIotRut5c2TE5sfD{-> zPOgX93@m~DuT05daL^8b81dIeaj~4Nq6kPiN6s{(6$;`B1|&kDa(hZ{DnM<;`kZGq z#MJi~xzcw~+s}F{OA2{d-4^UI@)+0n?Fh3MG(VZS_-u$7G-H)rRT7J)i~`3;Nkcg4)2Z-+=HnB^ynnI8Ud*RgF(uuC1_ugPlw<*N*Dqm0sF!XHlYfdaUccM zVmB}`(o97O?ev>M44I^&bl{USS;Q0LJ<)09Vy8|w>K);Ra_lDcriXSDg89Zo%SOG} z-gkK&QE3J3^Ygj!mFFU~9#B+@4cVWp8EC~U?=y`LoN99$ntVP(>1wL#;yr3SYyP~(a$AzAuT1%Sb1AdP}x@L&b?eh26dM|}r{pdkgw zK?e#?-LKqrVOpSKOl3z*>ut+2q7f+`S$BylB0hwli4(j(qT1+BFCUtangt z0BN8&fQ-}Gc1~h76b335M1qQ%sC?3!n_~ZwE{jX8UTyk%-rtQDb}I^F;V5=+oXpiB zcIh2677H}Y(vIFgmtS-7OA^n9Rw^xg#+ls|#)e5`+X}38Pir^gk?j4_jFX(vF%Gz^ zUjF^h>}UV;MHtz=+5f#;VH%!~+hSMNuv4Yg{k4j<&Z(9$dzC$?{g){m^c-%u_+Hj& z#-JOJec<(5j}}_AAuc}4=U#&y zki-fLjZ*G@1kKs!gr@KHsUB<0G@g$MY+3F8-YPbC@fY##YqhEW_EURMmsV1EK9=xL0Zx#UFpnYs7>3}U;-t76r~+0Th!u^WiJGwBXr`dr`lzcnLkJUKnsVR~veS{&Hm!hgI`cl& zKc0(q&Nw#Lx^`^k7~?b0p|>+QtwrPr`HEx<1cI}&{pv8tGVs}wC^ zHTk>v0z1bF69fz2&ESg@>RLPu*g7$T%#_ZCLG3}nzmLBpvKuiZA4i3NuA z^l=xYlRR%)t-_d#7};0m)o(HJ&powU;H+bsL z4Lu{JV&O+S9N7a?rx*|>FDG!|SL=yAZSVOjCk0pOexN%$i8>Zm6e<$ky2yWb$f0we zHnH#{_^{g${&~3n1y=T{jkU)NUOT{Wg8dm}2x%RNotq;&rx=ZOyCOo;>pY7ki-J?; zfLPT|nQ=)J=kaW6Vo@tVtgyGL5TABnL9pCS8R+~Q?XHvhG=-;>S`btbrn-#K^11n$ zh0Vq|@z1?9uYPOEXBIKCFU`w8cy8vWcbv+Mt_tA(+(S}ij|QZ#S~GG4odLM^*p`r^ z>g`|&jxC8SXe$8c0jv7Yc)1)$uf(*1_8BqV_f8Q3VYO zhzCGTk9H?vtA2R(dshzKA!Ek7a)V<4c9QklpncPr&}nz++nUcc)4+w6vO~H5`8~~T z*YG(R`K}V1IMi1qQ5;aTd9lu&i=pJeD@Pz2+`H1x0G6B?ix6DgV2xZu1j;F>eF7BY zoY6Z9*p=fB)`C&7uqV@*M(1^o7uCx@cxylZKh6SV_h$chmIkQKYU51tJOxDQU@is4 zlHOm?>MH@bA(mk2iR z`hq3(iUBQn=u6y?QwdOwOc9X*lV?!6St% zL?jbH_~eD#2_KgQ*R!S_=ct;L{$^7Er8A8;fYz!N>7tXmd6KDF0w~jSE>*bOa_A}C zgU~Sf&{+tFt?tYMb@0BjU6$yl64C?Ulu5Kr9&*KA;>J6Y&&QpbB)vf4)l3L3R`|ci z#cmQNJ1GdsVpy~Gc??lQW~9I_srk?mg6DlYYE%C{fs8`!ra<Tuct-DKQ5H9o1=ai)dOD@`qki%en&*<}0QjdMwbW6+h@O4AAe zms5*O*+MQfMlOA{J8W1zwu-r`biF=xYsV7IIg61cP+gn)ci)Fe@)K#7;f;vDe}~_^vo6mo>J{%X;3nFSbF!*kM@itpC}u#oyAR zV=XN%QU>Km?cM0_JDNX>-$8C1*QxqZ|&%qO~aRzF;z?an*eD#W1@_g48^g3mP_B~F1 zt7Wu?^7L2}_(D_WqkfVrq!ql6VD?mJvMHc?j?@HM`1h$v{M6?jchhv;IWGZbw?4<* z__(MYX&9V^-JZ_q_R?+PJ-Ie)2^@DD{`$r?dg9MkAa>4uKc`?NeH`@iRrPunfjSGw z-kH09_c2Ts&&T7L)Sr)$zMFy75=*s+k%`45l=-xub0HVUPPTHb zet+&|qi%bhtHEUI0(IfGc4-7O>)Fdm-}Ouq4fUUreA|#c^ZPzm-c|Fk=d2vreYO9c zw3;;6g&rNOo-~H9t)}y`cGvfF40EIv-fTjj%4Ymy+ zik$@j1N&fsntUn)K|yH9LMtbjU=IRTgPrU_LTKdP-50|Nr-y=$sKemR544Q|F3VRy zB%pyXqjLd`o(3Z5M3&^#!!XaerIE4DGnNd)_rUo(vj5G;cOU$4kBu5yOqK2{=ztDg zxK05tGyZui;>HV=+sRG=_kkSbcweloESI+breGLQ?4X?p(>_CLcS6z~i!f$D3g#Lb zRfhye>qZ)p0brszi6M^Ce1fA35dv60oi$)*N6QK_fRMtnfanM-J3O!j7&z_#fzy&z zuT`r8SnE_$cKQm6qx%k0D0U#;dA-;NG~{11HHZj}R!(c$0G95d!v3~7#wnL7;vff0JcF)K2F)}G{X$P4Kc@Hga_(?2eISHd>!NN|lM^cDIWW1KE z#=?-&WH7n_O^Uw8u3?zl;YmhfaZp_005=6rOZnMb3Xn~t@|ISBrA zl0NsbR(0Sa44!WP>{Bh;sO_3*)sC$KWh4*wtW2|BdzWXb;I;euGd@~>)Ld@^WMA{E z-(=!1KZDrEdz9GdDNWz4pX(ejyXA(I&~?1jmjy#4>`eamb;-H6z9Ba zS^(#uFlRk(F@`K-d?z(_`U|lYU~_HTcZz)$vfJdXN-y<NXF$09PX$X41?CzAfZS^JozIf73iv3vEA=) zuS;o)Jh_E9%wN7UFMspizWvAZX48S=g}M9fp@x4S_0OL2arUJ98I`PauVAkKwb12) z#VPGMnh%u~db#i7@|N4+`TH(ltDd)RWBshb8|8L5CEX=8L+F4_zbFo1H@@a2`eOP4b!D}NlnZjw!s*i% z%qo^hbOpl~y|u#8dDnAFQQ($ip>rKx>T&4&!3^UTj@s-df$U^z!OqnG&KeN=eB2(G z?W7Ipyx@4XJTW|;y4RDv?u%{A>8yfoY5_SeM3cWO$DG&*e0}j3RH1^XM|(2J)0w%l zBppU#=$@D4u%4s+^Xpiu3URFk;nexp6yA=R3tZ~@d+q-oO)u?pNEW8dIOTCjC}{Fw z--Kt(6alV~XJ(NULHT(iXw52hV{-?LrZ%+$097smjr3-p>8&j0rp_##@P2(TTNg0s zA|P8+{Z+%}SDsw#+KjO1dAR|kmh zUe>Dxpj9mJisY*5%eCFC!qCXfQqu75Zw$`Zj*wePqYrRss!FFU*$iZrK3mE^J14L@ z*BCj4)jZV+$R^{ew7{SdgM+6adOuVb(7M{uRj#QYPiWP%cEBVkFi_8dtF@NRKn(dx za^+T6H36;RcQ{|ji4CKF2+UrF2D#J>!P9q@#@5i+Mq)=_zRYgcDwUl48 z7&gCBQT^3MkKY}83WLWh^YXWzA>aE4a4*HmY~lWr7PH*)Bsm`Bf_%$>u|a2B&HbCA zsX>}XKv`M=qM1TBHG!Nlf{cM6NrD`oguY7b?-IfOAqIJg#qDC}t4?|Xo%C}~5Ife! zbJ|FT0O|}!y;*s;H2q_t@!x4)W_azAWAzsGJ9F8~HD(t=ZP8j}PLt>3{>=%a>e3Bt zC!K&hwzSdVD>+|os!&okkSE8muV*bUv722=Ysw9FZY3Xf=(wA}qN9xL-t7NYX~o)l zw2!Z7Zw*jPR_9IxuhKcvHp%tZPWMP(KPXD~lLAyJurNdKU&@|sQIXzZBRqRMR(Y@K zYInhPmza;d8%*g6m(G<=Gz4nvwTgf>{cg{6239rM;&GpK(~&5k>I5Iz)Bp)o-1jzC zL0oy1;@DQFcS~-Hp|+-8J*W+1c`R;+ z_kWm>X#fBq07*naRD`_|7l-_Fk#77>wQbY5d zHCX`zQ2`U75sP|fU`4^Ea{98AFtRDbOVnzSLm{pltk4(c_35GKoa(6OTIZX{w@qvx zy6-ez7hD&o=uPE9Z@pWZx2G*=-(DKa_N=mM+RJu^TamMVm9zPXRT` zP-T=w(pykaUr*vX^Y zd@{9hSacnbHPvs92BYWV(&uAfpmmsO|I(C6!Cd2nsrTuLVD{2LJ_ZrZi@H4UB-4Qi{^^2M5PwIc-Jn90oLVnos^JP5K;vs-Wx$k5$l18-0n}zqjhNm+WAZy!%{$N{X!|XRY}`* zY))wF0rKE+;P_7;w61d9SA$sKom_e)ItmC#^o z@^YS!%LAxu9CO9?x6HxO38$g;>*CY5Rc3#_V`z{J$y{cpXPDrANZUNvn2LZxuAd}1 zfBqpjRRb>C>n_;_n{EtQE)_I0S8=UrK_160nHM=5#4c!~xnQj1&eeJDw7!k6nP0bQ ze;s;gr~Isl6`8GS=s@)E}=Dj z=ms#z+Ez*~bH7(_EoT z0NSbVnhI9B0n0JO;;p%trT4wQow>X^?o_<;7^H0llQ;D<&d=g=R@CT z;4~uhO5LDC8$Y|~dWJIGCfE?=lb^>>d|8?sHl-6fwY__Z=q4BFpM&ZUd|H9ysSCyT zVg8t#H{ZS|lR{H(3DF=?2VO0JAp`C(eHFs=DE#*6GK( z6*IxrUE-F&?v>_-scv(6sy@+uzpuqu(gZmr%C?2@5dM>Edtp+@4i-nzuL1_8d_Bi zF&7(IOO^^!N)uE^L$8w;H~oEXRp~TEH2Ypd<2IW*q(ewaVNL1!)#o&_>9?Oxo*$Ki z;x;%CbIjF7|Y@PNoa|Nh@2t$d%RgzDu zt*S!kLzW0I$#WL(LL}<`R`J3h-|Yusd?ZBFcwibBC!H}yg}-J0AFe@k-t;?{@tx92 z?Z1Cw1n`0_&O&US(z}+0i>00tf{a~{S5Kf}2A;X=3*Xaz4mzTFT=xGq1J^jmvCRQH zDgyp7laBP~#ckZzTmx)iSLc}3$TGO05!Nj53hTY8p`*diX**vP?#qbHtGorciX7) zFfS;U5G5MLiF!#`?Bv(g_!*J4jQ3QU;i(h-j|F^YzJH;946b9^CM{bDlK0M-TqY}h zU#ec<@@BhITOAGA1jJepthRZ!rRTat*+NfPbWb+qEdAGc<8h5V?Ij~h z1Sic@b4-c~+O+35DlTKws{H2aZ#P{IO^k%f%q9+O2Mm<_n_U9#ivgOs2@(ooiVU;gH(I z`)X}{swes><&Hz@AX{u}ZvqBs`g=~%Ew-wwYAy4^xVeCKPTuXRA;9Ew&%-#^f%uU( zt}pTuE&4QsJbi)s99<8FHO<9TkS|)5#Ho)0(Dk{Q@X;wK9e^p;0_1V|s*AA=oVk|j zSf_01`hM-58HXe-wY-SlhIEnXc+hn)Ka1*1Wy;vJ>UVvrZyCtGFLEuLg5S|-5oBG) z*ITCr4vw-=JTja0@X$S(i#Oapvz+R|LZ97!X$}=pu)+a`cm% zcH13Z;egOuK9UYI4`YXgjsny%(DaxA>?yk*XVYw+atNdK_cQrrI)X+!mU?v3J)H7c zT`^DOb4&j3e5Ytue(KDAC1cjW1I4gVh7JG>@(WRl*0uyuC*`E#FtLR?`&kc8MX6<9 zBk(c~#QGvA=in966+%Io2eqnB$t|(HJ+=E^PsMZ?yq)r#dqrBSz^v_@tD|h8Et))! z8`ub-O(p<36GSsy{S5-u3O$Yj*%$ocuVb-rzAT%rhI9Y9_)HE^6zV}Uhy8HO>iDkv*ToN?*2 z>10TBYB=1s@a+^3d+PTUb%-Z$Y;o~3#}s9t&uBVtm)NNj;$+TbiAYbjD(|Dj+y^Ys z(dD>KsA}m5uuan{+~tOpgBEmk*)Bfi^;z52bBcv%-rsfO*tDpiYNkc?nu5@|+NA+()4(%G^H+m};gaWJKAltf2ZpfD5|Sr=O!IAsr1L%IL}Vh2QH&8WuI0wo4mV+sL?V=968 zP~+srG~QE4SPH;vOe6dZ0BCpuxy08Dcb@6-sNMLP&J98mh+z_rxQ+z;qVP$jRkNIq|kLo%D2A&md5&2nU|pdyA9fs%sAK&<-h$8yHV`?bED}K*P0)dF!+*AW~WHl&9UleCj|D*3-bt92^zH8;f?qnfD8ONi5nPGj5Qs7f#Iwlk(?4u4lqGM*3Iz3yZOU{E5oYM*`f+}0iy?|Niw)qhjjm=rin1`xu97xj&La~>s1C=5!d$uk5Vu-i47BGZdF{qU^ zmtLYlPcR1n5tInTrlW`e^b5*L6v$R{;U+sgYbTH^9TqugO?UAwMl^T8tazt|?gGI* z@vSeVGJTB7*8s9>tJdc_W4y1&7+bp)lX;HkEfe=5n3rXEuAJDlqU^){le>U*d`OnT zk0$4c=kX3@lCeF#Yv+l|*%dnlkpQ-x``3v+@IDl7uF+IX<+>g-h@Hg(op28_Fy@w~ zgXFG|=a^e`lla9m;zWoRBxmCuy|+f+w3 zeAcHWko8+TGxDd}c4)s}X}R>w&_r{pywYO>vP&16=MWTs>R zRYRqf@-*J!zMZK}Eqnb>3Oud0xv!EIe+4UTB;Ypzy(xfA35Ql+R%1~aX0}1Z2fBRw zpGHz(reg0ck2NCh>i?=k`MBOCK`xey6~!()zX>3yedbxokV~05J9n1)5d1YIjB()7~wQEtx$LteK#1 zt8E|OAy1%rwqj%FjNek9TC>2|I(E+m!@Wi8g0>By5@>;{WGts)hFj_;Jt1Fi{l zx8u97r+@3@$nN>>mv8MM=JGyk3l}!uCb|L}o8HT!w$Pc|)$_vW>^5%m-#D(a$F4yT zw#BnTmyBf)qo|ybini`JcbiKDXKF<~y~2>zXD|DudL?B%uCmrs&!T`u<=F z*~xjoqC^B?R{mbe_+mf@b50-LqTNp&tEXPV)Z%*$n>Yu=ZWp1JR6nQuBaK4NbAi|x zGihFgo7z#LOI5ZHs(*|Y|Jq8%u(mQ zTX6oJwjJ+(`5^ayRs^y;uD^bXhqCs)%R1|}K=KyYp{eT_1C!?h2}^@@i4|OP9Yf;# z`IJfh#Xb~_dW)TM8J^3_^C01p|0YJF1YV4NuS}R3{PK;-UgWM@3wa5q5gt!9H^fLXzf}1 z?A)W`-PZ?a(2A?C-$LM<17M$X$L6sKH+Q`>etlDUK#zGs--ZpF!H(siG!xV2d`s%g z3(}!+n{SOh^)bD)h-m1&Q*7)lw&FQ;VS50EPQ11&)f1fcJ3DFy-98j$vN8}TH2kd6 zw1K($#iz!LOSb8)6@U%phtG)@=bexGbI&Eni5#nT7+FKrFP0i3*8%HwSdmc{A$4jh z;T8n1qi=O= zWB*%p63CY({i#BSps%Yku(j?#D-$`joLSgv(gaEX>wu?n_|EM6^ITn`RNEFYl_2zk zin#0^<*gK%%hwmLKeWRDxC>h$Idc|1ZwAgEKku)T6TM5r}J9i$-V5$KS#4@;wR%d9$>BpLC2NH#qBa9`0DgefB$5k+1Cl*=(0%)@b;pitc zFT=%qsN6y19)boLYXWyIW?7JN>3Sffd+0Q(biuYHweQmpQCQs%7A&%N7-@ruokJu%q9T&JT(2hU4sr z05SdR(Ej`(G(ci7kAfHCR)s?fsQ|HCMyoOE%9al>=HXVfs6pOdYd-(M^OY*(sG~Oh``srj``(}cSYSXfs?eqZsRc7YN}whv^cgT2FS{iWCfJH_ zB!z%*Z=BrLL)AKVSp`sel>$E>o5tn7nz{lJp%DULz(xR893Ws;?AW#akpK(90Z!ld zK^iyD7=lrTXwXw&uo8sA{O{+oATOu{tJXP&<9(eI&I8%QVXO_T@s8Nd!(ubOIY_OHhOMs-0_L8 zU!N2(8CLBwvTXk9B^!LH8^&Xv1cs_s)7J*U)O)Jba9(qQ^IU7MSgN;RYuTz{a5^W@ z*hFfJ24{(zOfOk+O(`2e3!J7NOaHm0T=ttAS2q+NmKJ~Z-p3RfG-nxGh!a#^fU*|s zhG$y-hJQmi$~rJK@(1lx;t4`73_=0C^>h~oLzEVmzpPTXZ-h*M=zJ#x)$up z70x^SdfNAMtQu#`9q)euz-|rjT%*-Dhef$G%W{ngV@LybtLuAaWv{=W$|sZgp9|7j zQ+Y|+PJB8f{>`mb^ag!n$pm`MvHBQ5U>*bV9JnbR)mw~E^h@^H1i=c!<*@K_ehmjSah8XqZ9 zmr1o_&jTpuyoayw-Q0^0g?8B04zmJC7}*`~eqm|AIG1<&H71`We#l!6s*>k+>9bFn zl{t6N8EV5zwXLh(13-|ZFr*up$gtvJ*JZs@N1dv3@$DQEz6$-jIva!y_R=cKv zASf6h>#a{2HvE;+^SEmah6n-tn(P{beyy3=D6I2%!N;_FS7K-LXDxJzq>FR0u3LQf zwB%P!yI(ls;X555TT}h>=L%Fya$au*#BL5`7D_e^6|g=2L44bj;!pf(g)#Wx2BFG+G{)w$$A!RkIWRa`YEH?{@PeVlfQZN<6$-N_AIdu%KN zqIn-YT?dyg@*LL0A@SXJsjT2F$AtWPEhLl8oBv$q$Qend5+$Da3n>7i)M;z+(IeW> z5+aCIU%ct`VOtdl^;)v=a)MccsxLxQmwLdVc!+%w@$-)0;`qwJ#Z8_YYh(deasBgw z%c`K@^N#3f4he3*4{YouCamqo=Q!t2`OM_2TnZa?BjH;(6w=Ox>w zx1!}e1=z>zL!)|6Hf}nfVOqT)EP>v@fC@Q4YyCJ<5E``BwV^00fK;zH5}%X!cRIG! zy~(6bVBxm{HfSvnL&*W<=Q7Ovd6riw-7#^AaevFK?D%04%v!a7G+(<0h<%>`S}vD0 zb^r18nQZQJKJ0ev(nTiDVm@ma+*|;uA^0VXtR|8|k`;b=c9!CI4LGksC!tsT_6dRb zvB`I+O_#WPl|<~dkW#VbacZ6#t>}M`ZMXXWxlPg~Rl z-9v&&GzvA-KTNJA$%EA>yBD_gT)fV8g)pur+{E^CysOyx!!fBybG9itu^`Wy|N;Uos`r1%6L9p56_QDx|T z=am7eEWGEXENri09~e~rSOuD=USAPM=ESEGprKS}KTjb^fL+O%%;gK@^IGU*2FwIe z$KX4lN?!N1Ez%MnUIakn^==y#SpRQfin`E2KNoBOG)~@?48#NrTel7F*jx{211Qsw zD3us2g!MKw#*e9SR+?w>BD$^QI=3vcUUFDy@1D}{mH}d6(W-Is7UluUtCG&IF2$bhuHJ#evmsr(}ZHGPumbFv0pJR^vwbJT!qb68eeZ7^}ddN}J^mk{% zb!@Aujo;}eKhE~>Q@|TQtDodL&MF2(>VayWTEHDfc9tG&G7(b(EOo-!hxODgvfIcN zTRRqmXZ>K8=0ZWx4H1u%0Bxfb0;TcA{b>{BwsB#YM=V2?ZTg^y=@MP_MrmWfAcz0`KUZ%FRX@hNGy50UYTWXHxohxN! zsjwLA*?1=?Cs(m(|6gGTD#M~G0RfiUoLLKB;Kc+9v4@RMNh0UYr|t8#6d2VO@P;&k zuyGXtam<~akq)7B-nHAD=hK02TN5dfaFB_(RM47L-M(RTS~VdBltSgUBAVGmx)jjL ztV>TZYXty?s-GgFH*G#f zWW!FjTNpprZFJ`WS=0~bD9EfDBRZ9CFfD&|u68Ja*@1=b8$;DkS#3UM0N7Fevr7m1 zEdi~m3eurm$R&kWQ-M7FDG6V1Wr6y9Y`1`#Q*5^dAV~+Ic#-K4{9|aWvH$=e07*na zROizNT>KsHODGy6s47&@rW&jOS?NyH(!lz@7afkpqbUck=a}$*#Gd8-hX?;ZXt{P4 znn8YxoKitxN-Z%OBmh>v-w-n(`DCmkN3CZ_L1iIbWp~>~V zw_tYk{@awYxr?0h9@kP#;aPJ|#k-%4@2(Q9wX3w^rjhy}CgP zQYS#EBqj~r#r(WQ@l!pf(k&DO6>Q#DCOgj+0R1$W9eVnbK_mNGy2kKtn`+9U%iOL#Sf6lT(6W+` z7COUO$HvWr+3}-d^Hm_^$g=sFORj#OCxPeV7AM$i^i7$o4>>ueC~*u5N%e`|g05?$ zRActmbv&=#f1YYgTbm<0x%ep*!Cj+&T{1^@(oA8f=&kU1*H+VgPJG3dl9PIK-xX2= zG@9~65UU!C+jHG$9e9p31XLDStQk9%ACJaIi%E$BwSMbj&LnHGr(j)0}DEirYq-McwV}B zviWMduNhcgnHDv82PT5lElq@qKrH|uR{%7^3~Nbro?<`*xz&78`wt4^S6*$keWno; zt`mOXYX2NXjX`Fx*E1ZOpqL927InAZSOF2~Tz_c8#@fC}d6o*2+qQP!YX-~@-1m~# zm<1UyYHwg*+-oop6%Z*{2qMP4S1lmo1kS@Xkb+P_VVx?01=RXJBG#QtEP&c+8Q2}5 zH3*eUQ3!(QYCx#`vv3|jAjFgg@>@RQ-N(9y3hp`q6X_VsI@oS=78e?;UDL^QNM}@6 zvkrq}ooN)@=otV{cle#Q&Dt>0=MygPC~)a}rEhXUW?YBb=6}oof2#R- zI}7&WVOwT0##}1&yTaV*6kG+OfEpL?&Y1amw9q!3fXRt8{o!hT9H z77z;@4DgnL3W|m-c4~1Cp!S7ol_+X)_uL3v%wj^N2Bh%6EgCS6#-agXr|rD2DF*R# zd_G?X@EzkgRlT=R7S||QAi=KH8a8`hnas{+dY#h#={H;MtOd#DIBR_9xcYX>B zknp}nr7s~#ZRBF&7V8jA!lkqpD4o3r-#=nOJ#U#K#dzdhVZRcAER*@lCE3^>AbDna zZvNPEHK;daS(q=ZrV1OU3>3Cu=cvqXAl+7^X+U((D1fk$(idUw(Lgx z_+uR3S7SUE^sUk}qB({dPmrzCnG~ibl3U6YRS1*->x~PnUyf?9mQ_vEZz-A?m?1zy zguO!QM9k%w4tUBGd``&loBQ2VOMM;pM!7vQSHUxh(B*+j11BQnW{?8IY z$pR&UA|;X#N6T;Q+kH+|#@_xALq9FPGRA0LELifo-y9|issTiT-z#>?l&H~0aKCMjm?>sVQ<|#A! zYLL`Ak~ch|@H2)0u*RS@&SDng!LBe`wb6C1D+=qlwMq0&{kYD{s>jFlE%^V$7)QSyu~-~xsVVvg6^-C{1;r9>_>N<$n}b5=0B zB;%k1ncF4rwHlxo-sKa_o_`XaYI~(|92)8a<`k4YN_r$LW_zF@nd&>x*nQ3tJK)Mr zLpJ>8NZJ`AFwiQ4Rnc-duLG#o(^1tIZ>hJR?Tiz;&?M?O%k1Bc)uDIX0UGvMVWZb? z-*cFMT!Lz_Shj7=JuNKWJ2g=<^R4~*Re)@n>3UKN?mVz=d~B01oL+IJL93PxSOR9I zGmGOs^zl9hp7B z#ggmpWY&Ez&z#zz*pQM;LrCxzx8e&j!j_UatqG^{5IJ%LFej!6iDHDOD}W|~0C+%$ zzfBBOIvsQ-igVU3I8p@^t$i-@`POWkGVM32>TP~k&w5|=SX9-;JjY%W+GW%n>P=WQ zF%jx0Ksvb%PMmnR*ovYV)#O8fLA;f$!0E$UA7EP_T3SW4uN4psJCqyjX(a+;4^tv& zcDA=x6vSR{R^b6G`=T-FEk1;R;5X=0V{|YZJ6Cn+l$c#pGU&DA4DhQ%*O6_wwG?*O zfT$EhL{Sl;rWkc9eX}|*&H}UO%`wa91heOhJ(KxSV`%r2ORqA|%Q-wX2SEL%9gSpj zvTr(`Ihs7@v!r3mg;cqM4%xjL&|R7lsP<_okvUgEZ94IU3B$loDC)KqRogBb(hD+P z)=UuPw8ZCWX(XGI_PLbTHaDuA3TCTRkLLn+vqNYdHXqV8-6qROi^kH}BpAmr)n~)U z=}X)P6i`3-hQYjoVbxjCwjKaj z#}pjT4W`Uc;T|k%dof?5e&cxj(xJF|+Wc*>j+-}^3p|ujp3Kau&H}VTG8uDp?D5L^ zvbe6H<|j=<&DnwMl>Eco32yFndaJDyvu&jg?2v575LF`m+&SnJH4xC-np)8QQ{?Zd z=NPM~EZxlJRxr=K|FW&82I!@oyE-jae{a$Wk&6&o6|fjsCa5}%Whi@{SnK!h*!>-p z#ZG~OgrE{6b_lM*({W)%6x=XaB~lnfq|^3Af3j)3=4A?0YnNo+PER}-B1B?<@c>o`An|kr$IBQW^E$QzW^j)YJSofGC#iLYUfciEtk(S-(LHUb>2%A(CEmjd2|BO zZS?i3&ps0bL}P?>9wXy*za1#;_LkUl$u!C8YAlq|w17<9WHcHSseY$vwkuJ083z*s zfoh`jVzd=plZG=M6)`#!JS+9@FRZVu(R9X|{RIFGlKDx$cI ztR(`em)+7%k-&jbiiKmMojHKA1F4qXyAHBk7A|vZmB3yRq5HYJA5ojXC*78g^hnrY zE}$IBsHXF;Y_kSl5FhNSxl=c|wjuN5#t?u1>`J!|V!3$jDVMV7ta>|uw#yWDw?-YN zx>z>!9NeKL=Sr(|>+cm_eZccsiL;4G$#kxB>bYkja3ro*N+BB)__Yq~rn&^=iv-d% zmt7c6rql|`-_L!|HU9E&+uaz>7`;iJ!tf^n)oT}|)u}q`!S<4E=KzlG8N^P#Kh}J6 zI=WD1F_yu}r_weQC`2{>pQy{whAe99|1XN@6sG>Vtsm7CEE7Cm7M_OSzUPa*)c+ma z0b2k2@;TSi3%2O*Q<>7NKVw_tmN^;LB?+L6f)fJDrRiDP*EQb`#OC-%H3!X1{C&e@ zzQ1I!d#wNR%MA`z*zgK-o69-xySge0oA4VcrFn8^~^1G zUVCS;t%;LfpMUSNq!g(Lq5i7%w4v4)fr?*5vuLsy?sj8>td~`%ZlEAoV`&}WerEa*B_`)%qo;{fT{bv_H`4ExQ;wznh49~s%micdJ!#?S09JvPTnvC$DhOFs%MO4xaK&3jz08)+vO3EZ0+CzX22QL&u)1}7M4J4O zg5orLKEQO=@|^v6Ee-AzE!QpOz|Pz6hU;Hc=5t1L?%3Apc4F{%4bl05?AHj+ZV?>b z%JZr!glKTXl{QYo)ds>6i`hBbP^Zki>6Vf!*y8M?lBg;GUaCv_w!10>HR<;#D=;gs zIkt7?6cc8wmh}?-^;G3iy>2YHcE)z2STHq#&dNL$ZzHoMsW8Ej$UxPMj{}exs}MP<(PSOT=?1(;5Z9rNabG80-WyqexQng+;A$61+?)>b8`k|ibY_j0{@7AZYH9@W_sH#MrxbZE z31;JUg+Q#UK`d3TH~eiP`mQ13k54Fi|6um~op*!G(3~Nnm%G2Y0ZAwH15e%R>4KQ4 z7m5vr6XUk}R6V7j&&|@cl!*%@v9{``(;2V(91B}z^e*)t)3K0&__9wU>@utesgD9; z&oy>(9a*<%4HN+KI7E_~Vey<+Nu;#g`|I1s2Cy0~A%nPP+<0Y@gVd9T5^E6`?SfkA-m@WjE(x4oBI1^+>bl{yXA9) z`>#Ep`<WVULC(sZ$ zC1^{o(vqDHWJ^aFHL%=5!V?RDwE-*P*oKN>XM*mO8(rIwHh_3ut!0oPjCpbU4~^kK`<77lurtnX}=D?Pq)E)Q|A#s{4PHs`OCGQ zpIz(Q0MJ^S-&+=w0AVxO&U4~2B^>v-t5DI&j&ZmAed!F=ThN+({-AmqsaAEL#y1@R z*#^0>Lo^F0J|E^lMl#L-9QX($3}ao9)p6%#vc!U|pdkZGf@5RAEo0XzOe-)j&SqA2 z;D*pjgO&|i7<^WsZ48uvFUnBEag1B5V0Fp{#K2J;zt*5}Qd~x%+=9?zZv{u)<0yNe z0p19BduOpfii;O5fX}8;BWT19H`4P*SvDSh5hquq4=9it~e` zrRDQ-9+O>6(xd~6w6icwO=5Dxus}tjg z6Z}M3Au&Z`i}gU;7AgVp_rdWj43PxH>4Ge5_FnuKx@!=ue}BDq=1mcdp^r>NAHIgw z>ZR;QpM`DD}HOsJSebJDAer;x$zFJ-6txOaiF{ajbFfOGHU0!Rg0mE8; zUiDlxnK3>6Img=e6s_X?PaY!%d5Ov5KGFqx$(}SZuuXRTIR?MJ_%b>lwyXhXk^x zrmai&sahs>ty|e82JO8C0Xi}3PnC@ME%&Xl)phv4RV3yHTCC^0$tC?0SJ3FoZ`HP+ zg8IQwUmpUqUqiL{E%&Kwx63KubqydL18+-Q-Smv(dJCXF1ZZcSV_?k2T|!^jW#Rsm zQh)I?)Q>ae*w2c)DxXhPRk|WD9lYnSD>20DS5h}PSDzcq&gABQXbANFksD<$M`VbL zv$jfo4bUB=F08ob*0!Mc+9%GTL%8ml`jcwhrjGWL9&iq(M^YKC@O?&SkiivD?5kQM z?PbEShG0jSJMxh4M>)O_40c`@(fwagg=fxUj1md82`7J?CorpTs zo}Vk!=iHwAC}}`C(no?{%=y8rjCaHvv_3mmY(BZh1oXZkx*m|dMB|-{8juF}A@1v( zb3O_g`_?-6Ef(FyK0{>|mc6KX2R_qi>#B(zh;{#F@3Pb9W+^jN+n6PZ*_LE-l{)=; zdO{e;C#;RTQ-yNZ(Mw!5DQ*E|zNX`3UE&q`qO*2IXxsay6||lny}H89)$x-I0{8$R zgDFBf@U2hc1XBcp!g#w{c=fWta!#|k0kEc@v*9y7ZppwHR+^3>HGqC=3A3|;*_j<_ ztPt#$0qkbujp%(tz`I)nsF(CdkJr-ahMn5ZT4d37rb+r%!9I4CWtH&g)o-}&8|NJkKFpn#6T5SH6Z=cwAw;@7+KyPm7orQ^$5y>IuJ6cfj`Sc5ts&Zu#{Gio-ceRxPKv-EWp{^MoNM|Csr1oKK8*g z-{528fRlB$fp-lN?azOwT$!Y4gO|_&1ETd7aYGr|F|E0+!TA$_K3>);>;FzXt2e=f z;2-QB9T0U=aE?OINvtVZZ)m`t=SER#Ef$7(zN}Ix@aV2#p>YyUaBp9)Fpe$@py^GV zj3MFb$9#`Z`p;=u*|CMooVGouxyvkvu!#lg7V|)m70a%Nd9@unMqMKhEGe;#4Vzp{ z(WNWM52kKiVJE_RvnD1dcPKu#SSXrcwXKepU=i$U6$Fk8Z=pQqWHE)j^yOE1OoLhJ zl&E^hrz`U7|LzfvS>v5(-vBr}kPXgAV-gE%;27q|3m%n)+ET5jxRa+_PJUB(_Nl34d?t`PoJo^ ztdmGxh51O`r_BF|A%t)I@#dM7f0eiY4SN042%PYVx~GdBd;+mxj@{77g#v zs({$IbNFvMPOCUxEHkV>U+cjpX{wUKuzEx*3I^k70b#dG)QUPyT3NPuNaM@ecU>m6 zwk~|$en*Kxq?`8dHTQR}UGu0@Ke4m2HiHN%iEVQeYQ-upc1W5&ALvVhc~*`*Lcvb0dNr@J5?ZciD0p%=?aUX)z27%YACp(j3aA9Mz#pVs^WsaxL~Wwy=vwdf|Yam9k}AKt?VAl zHqZV}b+KA?Sq*@efh0Zq*k+fMq|mPA?u{%T-p2^Hep6VI(@jBg4^UI9p# ze%Mk>GOYlju3$^m6=|h9rI{uy!6_4HM-PCefLG&Wtl|s4Qm|WY>4(g$Rwx}bJb|X! zW189jhuUiB=dmD-Pa9u+B6zRah)zyf$>;2o{(jX2M0|$>+t$(EIZ-268?$>Lc1DaC z0?hF{D;~eRS}MP#MLYt$O?U!0$&d30P7@dwK(S~G;}ufa16NU>iPbja*;4xQp0 zg)3iM!P%y|I`By`25U2&<1!kXahl>rnkYe?EV8{~!YwU| zZe!k^15_V_H+up4pJ{Mm6`eH&ACsS*F_EpYj4i*vB}L*AgXz+GokLq`r(S-@BJ)zu zHI|*p5ztrdTq)3NMSzxPwGd(PEml_Tf(`Z~IRW}MHE zCCMhLz>zI@xoeBPmb%r=b?w=zFHOmF@q;MdevNvz=Tt#SDLzXVqeEHQIS!CR3${`> zcJ4XmKC`MuJKC?*%=!LS5LwRV%_`D^#i==5rd z$mx%w(e}ZNur29!UogX10=~Efz>xL@WC;!4yLX}%Y6T(;+cL-sNG*hpP}+G}9D&~-! zk+4<@=Sl!#iU(f)KA&8v8q8B0+K`kOpV)>$N8r=SR3`97`)o}f?+H{d|9op518<=% z$4m&OEK|pn4{Bg}OL~BCIOn#>2o;xAHSjwS!3+U`m*0Wauxn;jT_#Ms1$GKzRoi@V zj;=T?;Wv)P_|djg9$3wPZQRq_m3z1le$vJ#ch0K$y|n81mcZlITa{PoOf)?VwgRhj z-r?E;pnGfk!L69Wtf1qov6r`T@>*6yX1cbO?NkcNZBeOs3kY#9(B&mvwL5 zKzS?R?bQ3;dkve~ML}pFKs*WC*9Y@U zG7fXiC+;1<)&qTw!^w_9AmnTwE1B5vRYx;mPp+oO`?gA6hO57|7r?6ft|k_?;}gI= z^~su|$n)5~|BjhfEGY!M#&{iyFPp`h5tD^;JYUL-RGMyM9pNPgr!Mt+)dB*m#@!kl z-hBpQsZ%QO^e2VeEwW0PazT2}G6iNUzuQ9b=KkT`?Pr*;YIFs)4HWj8#Db-R{nGZQ zj|QsdWLg%zyA9gsob5zJ8|XJt@%Q!C#ObZ*NVZ5rCM9NGIg;T+OiKZB1hU#K{_<0& zTYouUHWuqpElW#R?VEG@>#dKo)9;UOB35jvq|*)&k(Y$(X`=&bJ?uG zj=RM#g2gB z6b&dYn1!9%gA#kmKZ2poC9JcjrX}30#w%qp>xhZ_8F@9T3`B*N>`ut?7FO-p2y5UlBG2zObLz*kcW z4qxiG@j@Wad2W=ZS(JT@vm-11+g^a3v#{`53&*o(Bu|ckrgyI$U|aJ1Llh7_`JIoB zIMR!>>5vM@scvt5=^ewx#POm#dt$-=noiwQghsy)y27Jq8DNxU40u|K31(FgK*QCuElv`7G?FVZd^CrcN5>-vWi z`5hl$&fa`T_HNEXvDERO!Ubz6i|(^DyTCWCjS$750dQCokiNF<`1RS0s546i=oF;eb#4LU zC2xiE(s~j!09J^)N?$MLfN5)1;QNI&(+4 zZu{I>(TY-XKJq3Cj{oXaxsrHQi*NY?T1h?V<(UuUX;Xdwo3HlJfuCt;_o*F+M~7*u zhX&Bs$>8T56v_snq63bc;H*J#$(G}mS&h4y1i0HOqKaz`pU_rIS6!t<&75|*85y$^ z-yu;yvl9QVg_}{}zfvgt@>$#9!sCU@DGO=|@S_e0=gJ3KEi$YAEO6I)&#d#nz?rN? zmwxtZr@fr|{MQDsv$?nv8Jsz7v9`w!f!J#$dvx}@E&s1xK_#Eog#srwNOMsHx?y+8 zIe{re$uG*S2e6z`6$A|NHeot~z}FQMbEO3y9LXgGZ}%E+bVT`My07bNqcebP?Iusv z5IpxJbIGdMQ{-pHCW~_f!PF=G+J*tw`u?TCZOD!~ZNt8%Vz5B9UVL1LUFHJ{3N!%n z95uf+7J#lz@|BXxZ%HCz9>B4<3<$YWEr>;?X*`KK z*0dPlSF>Fwk7eF`Y&?(4&ZR4lR|fFqnT2kvn11nWS@1d6cuVx@gF5|+^;&b1wuzNxZR*$0+UNfw>=LJ514ykw&qH= z^*ArDd5eAVUKdTZ+qQ|KKu?pJx`{)R0xzM?*46=H#}jty1wqk3M{5!KZMfz=^T~bf z-T+?TP~y6CZ!Hmb>iC#R&HU1c>K8+&H|o8C*)5-=EM%LSWQQ_LWuexs0K*iF_vB?1 zv%kMKSezVW#s;}})S8c$*)2euF0^ulIq@u7y zF*8zjn+S4?wu}H)*-c=z4A=&f!WI+6TG9P;WehJrlbtw8Rkj`V1l#Ad==Bn9JCzKW zikT)EpBATaV#_!vbX^{&%;3gW7ad+6G1ot?h)9cS5; zbWu*L!6{#)pIvb&>E|7tjuU5~7)-TGiFq#WY6tz&sOk@M2k%%#|I&%*Ys;kES{o=i zebTdm$B7B>d5i$Cp!-@X4IouLKqS8sVIW&pf2Wc2UYQhW2AG|@?RyDnyyvm3Z*9?L z*POKGPPjw&WLU*bylsffNLcIzmXaV?N%JFwH)U$KHfcpk-2S|zEfTB{W0#J7MWzJ zPA-V@H%WtMS<|JH%Gfs7Eo}oo0kMyE@c4Mpuh0BNRexwi<>iK#p z^<3AicmK*6a4?nU3%9Vm>b|&?D2O;aXBrUP`K3DHYk4z60b296>FMW%KT^MrNi0n% zuBr>Y+hSFfF5JxsV39;?G*u$Vp2KfrP0=X^LEFUSHnqTF9$Upu>&QwG6NCIy_&?Kl z@MxNyoA~T!7}^1%V0^&w@B*?8EHMs^z=B}0gObac5?g=;hn8I*7lA5+*;Nc%0gThp zgLsWcsG?PXSwY5itv7h>NNFM3;z)`&!}x+7j@)1e;2pQv*#nM5Xt}{b1uuL6^c7_H zaZ6E10A?tOj|=YNtN^Lk_47iN0w+4jcD|uVt$#Du`%M56nZ7JjLH(!*#IKw@RtMUX zQQWEDHz(aw+22u&x5*ePi#pp>b5_sy`tZb zIX=Gw{arC++}fw)d*ZU1LHFBGnCB!GOp0{j4sIc)g_Fw6N6e3FI z^*Tqrw^J?!PVgoXJ#58&KwMK3678;?VwO(lxGVn42BrVLm5SCaRREcqYMik4IEWqG zb>&l|s-JEt!!dmwt_F^;WkphEH@}AM)v3kMy|h6ncvxe}849-2OlvKhLQEi`?6are z_-Wj$<-*uSU>*EiWrtu(Z{6pS#pET*5xwy{@>;IRH@ztZlnd;F4~?7o^E-`Zb4!r5 zO5Ny!Y=Al3>(rFNP9){DI(Oai*uOE%Q*CqAPb`pME_vBYtA$Si!2N6RO$VaqalUsl zv^}`>w&A&gWpB44$xyqZtxi=yRb5u1EG$7k`y8r<(+pI%6OvCda>HD)@;%OZpU<&> z*~xxwEY}-~BN@$yt``Hwu77^HNRz~hGyycc!{_ z>3Z*v`zv;#YGH)HZRY_2=t{Q%l}s!YC(2?X@>_s4(+d^q0pn%PM8WTyP*rYFjz7{B zV_wtuR_RYNLJca#+@HsF7p8OKfzWtg*y5f_NxP|dC3Kk?y=G1l9JE;1wcAizX*jP3 zu_b3e?joytla}riHW}p-%ve+t3BeBNW`Df8N*!SG>gOuk(9Y-=O7;06-xVk_eu3_y zf$CxF2|cDvhr9dTjmdA$`29U?Y>CP*8(9EkZy8KI8i=haMAQb)&_d!?vQ?M3k10X) zn;d);v|lL(dkck8g(y2P=B2qr8G+_)Rh>Aw_bO)vgdC48P^ql7o;S*wR8GHLxRb{@ z3Hj0J#570MWb6J*&swjukKwHrib9u-S(?a2odOWoEM$k|vd&oqYf-N?(3xmOs9R9i z?pX((C*zV*9aIXIGtkH0&7id9jC|PKcTQwb@>x^NAAWy}bC6E7)xCtxV%Ol8ji~&5 zYjCpFAbf5ehK$6rtoJRn+m`n*rj{^EEc%95!#SUf9S6&2SA#27p5gG60punLHj(DC zaD9d=fG#+MrQ2)sFl;LQvP=eMPCy@XwJQUzJj24(7uB1_f(7awo7i7Y6qKE#e+BTo z)P-!$z07m_;%@Qkv#2!P^x00&(AZ30VbHCvx9#|TzY+i$=i}>&_pOA<*fPW&?#;zo zSE|sS7B?qgmTqGFKEm3*I$qWOys@x9KWEUJ4b~Rgx8@(3-?r8kk;C5h~F7ZPg1_U8CzFO@L5&*@GM|9 zNdT})iDPMc&Q57bw0@gg7678T{jf`*ba71*5S#Co-bSI9&cqIShq0#vvTA>J3Q#(C z<$O&JVyM$Uj|T;>dhPr0y4!?c*tUQ>WvCk!8gdW!hipy_usmtP#sX3{W-){2bd5WtM@ zSo1}%U^qKnT1}MgR?P-S&mP3eV86eIn5B0XbISf~)&8t$_4w1N6B%PBf#xav z*`clDq2LpLraXAv?)%j1XqV1jmYmj7_qM*8o1bN!mgK7an+D%uc|P$vdKC0Xwcs;? zoSv@N@D#Cbm@_+#KHjDS5B+=0@)rZE`AhPbhzMcN`fhthz$1Rs}2^ zow$?;Cdj!kz&^9fo_-)cQ{s#vJ1xy1prRlVs0MyN#q4DIryK+!&LQg2I&D{ii+dzqlQeNGoRdw@7UimtpfeAy zYTN_4>cJe7n5>V5FgNCGICCN9`s?;_X$&8sl8K$%T`9EU=TI`vmE4T@MBAS>R@rrWV?L082Boe6>aE(A-dh z-8l)Ci)3P%X4u$nm(?9wDAccCWDvuGG#URLCm-HA+rSZ=;Ca83E1~Z5bK5=aw9cRn zDtD#@RhnK!=XQ=FMeK``)7ZieSa&V<3ltkoS<=}1%*3AeupY?%0?-3M`*Wp$mx7C0 zrY&|-<-t|>Qt)~!Y5$?jYt#ds!4Di0E1yH?f8?WDF}naLkT6DPfr((N#j;$IYl<(v z3in}sro#FRDof&G=g;FNmV`IpGZ`Ee3e;sG0*Lj0QDO)rUfW`c2>Si>kun2#Dp=8l zaqnSgjFs_XZu^gc*r~Z>2+Yp8uc32q6&Ewbg7W-D5#yBH)~G(}z-LQ?0+kNnxzBKx zZ6Ch?RY9Vjvf5IHl64YYz7UnL0yAhHW63Wf)b{zXW9J`|2ve0R%`N?$Qcj2{@9UQ5 z#G&!Qw;jI@qU|plx8TtK%tU{E%Z$X@YVyHgk_a{rZxz)!F>8F~FPXhLRRvjWMU5$zlPao@B-;9i%27atlD~7KHns$9aOn z5U828<%ceytFP!v9BW~t2ze@lqn^7qJh7>CKJ?exzMj+PqsRKQsPk%ZLC@gIv{fIe zB`v0$;c6f<<8~sIxZAG%WTYOXXC$yuo0ld4WBRY_V%m&*7&yn!f_e&U&YibXc`apH zG#7U}qUi~F9Mjx^f|Am<@AkT}DFw1(|LQg}Ry4kvtW;mt$mCN&?p7!4Ey3r~K==qC z_I@(6)C+tnLAf9YZ{4<5ZU-5P6v7|ti@ic13V%|!9qY3e^$suKuC5m+Twb%barZ+%rM=2Z&; z)?9{g`2u9<=OGrZ?T2GvwI*GqLOlxPt&For0M z;|>ALjOQJzx<5DgyytC^tri1Y^)6>@&<_;VN?ILRlmH-23a)%wHmw|$5J*{L#-+Tb zo(dpzT(tbF17ef%Q}?|9yA`YFp*FA44u-V3$EKAuS9}FSDXkW!(7TDJQyd_Ah)Fu*UG~L&-ajs6WB`Q+X z;=m2X$=RIPJDc)F5+G~U{^b^dWh*c{SbaDWxbA6U*ka-s0=7C#$> z$zz7|WW(iS)zEbyua(L zdGnM$Uu#b)Wbl?IRA$Ac+V^!E&FLx7UAkxWX(-j$5l^PEDF2@O~BxIy%7O{iPi*xegcFX!*G( z4#R`pRQp=nrImMKU%;4pi}5L zn7)Fum}IhdJA=@Vfkjg7otH`%MC9~NdlT>c?LDnjH%DFF8KIhBK!#z3KmwTE4vZaI zQ8X&BO0ZB^6_5&42_)onWEG&M@$WH}!tn(Wo@T%dyd4D%GlUI9+t}9{e;2LKa40dv zIE_Ox3~CH`*Ps=Fg@T(MaDR=_>ssNmd}Hm9#laa#nn|EsfE)|y{9wsDLHR76*%?@C!SMR99(ZvY zPt_H7h61n{i+#pWCg@YM#D5tQcKmkLQ}Kr<{!UHB;v|Vg`At9 z5<6KjuYbxyfK6#kt~j-YLUHsr()e@j0SJg&Fbj_I1rSAJ8W&5Bts5LW3uqgi{Xi7k zF1%k-!0_HZySU6OF+jvHJ}cW`7;M{6#wPvwKfYt`6n>*jVyYzMI~>zsx_>;pg!xjp zStOS8T56x0KOTWSCN zI-|0$30qwaS6ryJ0Eab~iYz1VW){8 z4bzPa!Sv?8R+PD8fyNjmMKQP%Cz|ggzGe~hHBBr}Ao+Cw(4nHK>gOjGGy;XeHrv)= z4V`Y$lQ?02F3eO|uf0*eAqa|_xphwOBi4zmabg|qJ6C?5RvmV20N|*HKN}0MXPHP6 z{>-o}*AT`0e3RQPO`5lwjZL>frUraUO*t3Pyr*E3(iDbysx0U_*(sdk$_}l4NNm8Nym|36{okka6U>f(PrZ*@4(Lm&`!g64W+`)^ZjPoK4&benM&{g-Ea2rY>t-FDMpb_$+WstyFrxN9ogK+5&-A4~eIRAU zJ{wL7ORoJe*`WzN-!b!rF)rkmZb7vouUmTuW1`(!1ObkRx z5E;5I-%j6k#t2i^-27FIyEXIgsUUW%MM;WToA4Ja_CFbJ{=r!Y&a<{TxC(kMRds%r z%=3bYYK&ug`upI4?19b9>YyfC7J8gvqCl!+}S^|@^|*gnkbu1DjbWJpK1yuO)ue0^TV#KS`XVu(xmATSE$S~}D>P~yi;lkUp#{g99hI%)RH>SB zjjV`tFSSa^AU;igYyLv`vPp!r4{U|Ar_6M=I_HqvSoxf0M5jGJm-={7>{u#ckTftO zfkgi6#7Tx%9j~9jumH%AclV;Wc($1~X?HH7>3&_KETvk~%ARJ} zy~fcC7((JG1|G1ADkx9~{Igl2DEc0BA4A2ljpFd!fgH(+tiOT)G%W{;(9i5-KLR7)ZZf;>0Of0lh`JsGMtQ<#z zjXd6Dq_v!19A{&-2q7_=rmd#zL zY!4nP#i7V|V6>(Yo&3z{$5PyZr@#{H^}qWCf$`3@t|R;C$)hb6bwbk%{oG7vmYfetCCFmF0X{9X*G&)bkEkX`I6S_95HAJ&Hb)ow_PVXn_SfAU<8NXb)4j6SCLxk|^P1wdy>|cpa zgQ{}p-D-;+nOj|uF9EZ|^hiC+z2yI{x0}_r4`kou?T;=CVtJx5he7N$UihWXbIwWm z9NV_%m=GTh!1gjJL!4iSN;UJmW{79TF+3M30jQ2{fYM#P%iad*9U@pzGWn(S0$TmP zr@kxHdEGAo0h8e1p0?XZ77S(oo$AU{E@^Aq<&m@BkGdlj$CffcHvX(pQf z<}0ZB)7qkdWOSTvwcxom)1|dBLoSq%&)ciJU@NbGQ~|PI{s_PFG+Ej5D4ZiqG zQ4N+B1f2r39&PeCWpcRYg5??up$If%R#u}bK~xs-dz)bkpFBY2WLzu3N!=(xSv$1@ z&Hd6#j$X#oog4U)U}EF_c3NKwZ^t`|O>l$ORe@^ylOyX{6p}M44?JBzA z+Sgn~l8uQw3^cco)O1{Frbg_<{e^!g_eYa`roL@WiSYno4u95VW@S{#V17)cfn-}d{O&tqPPK4;Ox()Tr``fzQ~vc)Zx^oy~oSkd7u0-@v2N@Y903?5YA zgEegs3=q-+F4c}HsO3bQWR!JQ`<}l~p1Rn)wQ+o{@qN#+4`<$y8Z`PK>CJC>0jeVr zIZ3N>J5>Rg-q<=NK@ikWQk>tJF;EwTJa3kG_`3JCGeXdb%HMNX(n@7vR9&E7II*(y z-Ieq791Y|(aji^T_SKvKEA4+AM3t@BKRjn}FNM*!6vTfXw|QI}AlyR#TEY>34X_b-oB@LNArUoL)2_ zZSLJ*ZCj|{aCNsYDzx7QWgAEax^&bX8PymSJI-xkHoXFyY=Hoo6-eSrxp<+b2t?%y zCFszWtD3kyWcusA>`q8y8gMS9LVCc7vMZ$ecFn|UKGTV<)ijWdte>ZXIG`niG%2JI zRWO^;b6E9i1OCs_u*A|pRk5QTjAb;~W6v)T%Q#x#O&AsgWrJqF$JoyUdQD358<-hy*P{p%>$*1naka8z$@sFsj%!2Cs($8oanl zXJV&6nb74AFWiK z$mUR=+zrgj_zz`D6egFGJ2fNJ8((?cRPEI6=M-J0@u#YvN>lG&Gwtc6V_Z~<_!!#M zJqsJE&n=#>uBlF@R)8AqkP>i0dkF={t&X2ctWk}`eHJ*HHvkMH3?l}OZP2KJQ346O z_9KCkg>nna7S^;b?lAy)adTWtU?J>e58?*O#(|2~;zfaXy9QzyKW)F@ts#6d?%jR) z_<{onL=1Vg`1pR0g8*L?AXV%eLdzB{EDnb7CP1TmG!|$Ccx@a9pOhSX3BZmB3JWIB z>1RSKK+Ax_%}IM|U_{Uo#kNu~h+Kab1yn4IF>aU1hWY@45<$hOxHLkM`x~{Tnc}XH z`ga{<#H_dKjuzc&d);YB%9A}3OEH9$^G~I^eyo@7c$f93Qb$*`?Zv6QnB9!T3>l0& z;hLNj?S^X$#wnT^!NN32TWX>UKJb0jTnC(oo~w^*(gk`tp51r4XKn3q7|6DA{DW!u z%oCCHG6KSvUBT&Wp6mSd_<01mX$16+t%&GM_x3#IX9r4M*%(}@b7l*?Gl6zaJV>0r zD(AW;NU1%*ULC&pOq1CEye$XL4hX876z;P zlfGAh1BMR7rkO7HSs?;cz|0_a#sr8)Cn+cwkm=mMjB$x3(-4Fi%wo?GrH5oMCCg#L`iR6Rc=Cdjpn`Qt?!{5CrPZY zj60v#%i|tZ477{PT*!uzI3Q}E-2&4WsVOAQ-1F zLdNf4sGGvrTgj^6_4o>_f|eQJ9X@>g2z|GMXx9Q4#ZdP$Ik50!c zJhccm1ln*?!^H;7^y-VM&$#)0OgMAtR|b@IfN$2R45Zt#>_5-_KCbL#T)XYeSYREu z;|7orkykn3D$u^>WO9pHkfDY6Bko?D@?6(=hm+RH1AotcM$&f*j3}U;MhLs%MhuoIAih9`tMcW=A zO0W=ECA@s|0)1()+r2pIQrIdN4@^TUS_I&m!OtnT;Z(jE|+;3~Y{Qe-2eU;CDpwL$Wy<2_>25uC|(@YQ>qE~0} zIUj%z5tHZ83Qn!qAJeCsyOl5`c&s;pGI=6g-8P+NsISDTeh*Xw5Ovd*=eDXsmHP%K z%84&{!bb;#i^)Xdq}=68vaLy-UMO}FJn4OF;Vqcn&(J^+IN77!Ff?hhbnwe>~8g15IXc!T2C zK7IgHuzT72{4sa)8o4515*jpTO{UnaAaUzAECUPP!JRxhUthVketanqdoM`^01&ai zU;eBIWLtauz2!jmJQ=Z5tz)~46Hj*J(hm0$tEqDoe9hzD_A{@9G_z}-=<^%{Fmbs` z-;DLT3IUK>pW(5pU``fP#k*5>lM2TPhyAqdvOFOZ>%N{^;Ocn)C<;1HnK+h;Vh{1i z?`G1_W$GV~0B)xY8SZX1Ooa-=OdVu^DvLPs8QHuzD}dNAGNavRHul_jKFSxz9+05F z!T=M@jzLV&)y>}e1LQ45A~>>>u#`eIS40NErX z8|<+ifTqD$JGBcl<_I;l5I)xiVNX>c?Zb50ad%1JsH$LQ$BWf#C)ei18Ef0$n+CFS z{5|0P)j{lqBNw*pt#dfQTV`zrom*!371!S7wG9d$@rYaVOu0U+FGLCQGG$e@`WdBM zTx6Phly07?m*3*v^@DSm5T?QGrU%aoP|n3E2L`v05m~1S5WK38Asy1$;2fBdHzF)3_x#+JpgR&+mAKnKFVFp2Ah|pRKhy@XYm|={; z!5*Qi*f)Eq*}`_3>XsrjmDj+tQ9FRhx(&cBFeI{4L zY4ZA6MaX4w1pTa1I&?z@SiOc<(1KP~7-HD)-J~F7sAwi+_BEZ%X;~mI``YQ;EuD-7 zV`Gys-)Lg1Y(~}wR|M*+>WTtq0tPL{<~1@l^=H#XZIGX<>>s7YdPmpksI*~=fA5Zg)6G^TOo&r{8g0%u; zC~CeNW1zMLGtYW&+Nrt^s;VecP#=piiL}#w`i zs>8jt1xBp`**E+8@8)D!#@oA};XHQ(t*a^y_o-*Sml9;w2GS{>@^d7<#(OrOdHdwl zVlA1K1-gf$&Xsk0cEQ&?Jg&yEmSnmF*#c6F;2$%%{vTHJY>#HyUhW0&hg1-*EVv2% z-HO4A?773}Ox)OW3m84RZZuUh6_SOaSQM;XrZ&7i8xjG~Ty-Eit584tn)HDnXJjzE zSV)ELN~MvO++uRa%cnN7n~GLBtoAvkeJ*czdmLV+W3_2Jgm;Nh>G@QKey@%nv&A`3~mW(r?TKR z5&kUc^B|j&C2w3+M;kWSi{IMgALVr#$bPn;{w-W-vsng8hNJ!#0eySGGH1JiW6tW- z`yMMEn|!X4FDl&XqGD>2o7?xsK~|v0QQCtd$d3N+esj+&|@p@@AeD6 zc!tZ)yf=QT%+!)|tuG$o!RwEm=hOnVH63|vdzJ-m=K{2Hh5>W0StLPc2`W&q-#U)~ zG?SAFc^d5*c(^Thjy+Y=b_vt~AK-10fmEaxn&V@(7R2Xl^Pi$zaOp)=Mj=|jp)2FT z`0mgB!2CzZ&JI$a2Cc5yabt_0b>AIP?ntbnc_8^{?s0KIwELPgzRp@aN z$O1rXj|GtBMcmF?ny7{V_q3zY{GhpYws=XlXX*K}b1C20dl`CwiWxvwR)70Ip`VfH z7h}-?@K>RXv(}Bt)Q8&hNtv@P%$ThhkYEuS?(dYy0o6_+#oxKIP@%ht3G2tvB$xdT zXTnFJ8wB^PQLs}i*aF2yEBdgtLEV9bI%u{m-R=nxm7e2bPdUm1I8Lo(G$8VBTI6rD z@rzVvia_}GM?c2rqvH4e=+Du<`wsu~|NcMltM}jH!{7MZ_+@LuLwT!P$H_JRe%UpE z%f9-BF?qKy0;9LFOoBdb(1D|}#v+X$=Nbn>-PUm$Z-#b3*45_d+56}vsFy-r4Z}H{ zMK1zm?eTYKBetVG{F~)LjwZ7nmzc0}59-=IE(fu5?|ZDkYiYJ;i#8j(E+x#7!D}er z97w$130A7_Gu3ew8V0}_zo{5&QgaHcWDhlFX}Q`*>N_6yFU2;ez+&t(5OIQtOd)`MH+N-`5!5OEAJ3us>!?9^d~RjPuqWtJt)fk$tmo|K{6eUEty? zmeG~+$UUBti7i3q*np^2F%NNZhCu|a9-XIHOokx)%o3gPS!#jAZ~ezi4|10SO}4s% zyCl5UBdB)H%Ggw{P6i>%o%PY7h1r=Vl3U4otnFthA3huBH$HA|*&2A0=O3XIxc}AP zlO~n%LjYjT`_+(A6(?(DokmQ)S|yD|UzR$fgs?T<_}Y8|z}9hT)c}SX{D(jOGkmg) z|LGt9GyL%KE&kj8;UD2=@4v;bsKF-%z9j*XajGevAInI%tkmtNbUTazS$BnA1gh)C zrVd~WW8bBZboZpT^H~DQN0Xl%+*!wcY#bfsZ9b6wVn6>sTTBSod`bCz(oJ=qDF9mq zvois9tsSahW-QSFgIimlJ>n#rWlKW5SCCZ!qTD6@G4X=)0jPtE%7Faa=u6tcgUC|GCsEmVzUox=$Gxuu5F;G8!;5 z-r6H*_YKT$kD~}|)8GKb=hi~rzkm+MPJO^jfDt-5u(*Kk#flubrb-N5kyt-o1P<+* zZTYpf)^kDZoH2h*i{^9St0^6O)!|jht>L}H05+{>WaZ1Bh~m!)^qcB+;>I(OwT_Z( zh01)nsoK_hEwiK=L{7$~r^@W;SO?7s|H<`{bKQd5b*CrmSc#$%U9yr<@BOsSg9c!?iM{iPST3q5Zf4lwiFUBR4xh3=X0&)@5jj83KZ73=Rjt7~p6DVwZhM z*JPR&3zNVY$GNkjuxOoQPm(FIa9YA*3>5wzT*A%cZK z^d(NHO(Ivc6h z=>@75Vg(B8&&572b&Jqe#or49M9wmn2;csSVXejf-3#7q>nH~e@cHnHrfJZSqYhZ# z&tVx2_O4$NVYmA^K7am<44j2{jd1( z{saDU-@r2CogT42w6Nb;7;5m7AAJKQ;PV%EnV)_B45b~=FqjxScGLw4vS;H=A z%c@RU1wiBHKvo3{up@R3VIK7dU2Isz&g@~-dcEuxD$>oVN)S;r?8Umo(HTSqwiReY z5U;GG0M#$$>v zf`Z04rIY%ZWDk#MM0F|X7!T=S6XkAo!R;+vImmd8EfO@2N6odDQLiy7+pjCYlRt0e z^-pF4SpaD5@n7%E{x=^rm42;bsfoj_XThHbW*JsY^-n=!RXbtPxU@@KjAS_~9Kd^% zi<&e-d9eQVwcSs~6EC=aREen?CT{IiJwnQZpFXDg{k%GBNz^{|JQdNi%X9y6$ zZ?KrH7%jL(kz^D8Zr{LKf_TLNr&i)s0aU=Ifr!Ew!r^E^O@merVDHjpEzrDt3rh{& zeg7SP`ioDHJ>d%stZDG672w-%Z~%k%FA!s(;tY!j?0_RH+SW^6i8E1QZU8nNfc79O zPyV29f{-S63Sh=Wi6q~$+LG$-A!?l44loKHM&@<2ea0w?rD4FM9@ZZJ_0aE{;S}!S zU+tThe|BvkxaRt&zR+dge*#PaT=wBB1p=kxTd&YT=l64&$l_^YC8$I&#L?O|PV_{v zh)m0DR!zUQCRnZvC6}q{FTS3Om*;WG3Cva(SA;s3zXM?{R245f0}+93TeKoj@3P0- zz%av50}+9=62U4F!Egg&f;NrM+ENE@A!zL(8?D{A&+q56JwR1qLnhK266{Tb#u$(& z00B39rwRS;1rQ6~zks2zEpQaUAO7*5;@B$QefvE=;T8Y$|NejC({7Ld{-69){Mp+p zUcUb|{NgAOOW>x#p7+kW_QU%)Zd(hyy;(pF-rn8-wrHAtcHeQli;ov3&z6x2ER~=# zQCT30mJlafuUFg~Q`tzjQ#2qYMVDQ84Vp4-IL9n`o^z|F$c5*D)*k=W3LyLXJHWRW zMfqD>JD&30dE1urJJh)(%5Gs57FNdhD2hKPa4h}&qQWBd-BZ#Gl&Ho*8g|HRbk^}K zKTn?!08D|4H`Es?T4t^dMqPls4MaQno}S42ZWe{rgLAMV*{aTZDpgXfT#u!);v><4Egk?s{@4&kqKJm{W?{@gYFE|SDi$UkR2wx9sp~B+^XroF=UL%`^*rvU|85a)bmi|O3^69^Uxv#5 z%G8=J4Lz^Weg5s}K&06<*c$_YU53^wj>jWZ-0z!a7oEJ^?=7sgcx&5)-{=2N;w@Sk z&5pD6lB&kSIbdzTAO+etr`h_$@fB~X_{G~RzNp0)Yhf99d-)D# z|AK$?zx;1#K751U{5yXa_T4-D=x_W@eBSTzy5B=~JN)wPh@CNDVl-^<(il&PaNN^l z3s|dYj}~MqH7A~*ilkVpQ*KDItx2Yn6LAwxz^u`Ht{db~_G(22YG?ebjr>v4M2A;% zPCi}VS~jz!-zd?wL{I*la$a*W!`8>aeqIh_U*(5?uh73F&~M!8s{dU4(s`esT59m> za}N#rYl3y9=~?M^v$DLhA9lRBxu5U9w|rFhg9}%KPWMmFfu}F9i&<3yNEyPO{{~ms zrP8`0EGTr42g~sqLh}|SX*Ogom_0q9p0=pFcNl$b&hqt>1e}4?(uHfx@|(yl^ppuO zo#?+SPV@vEb|_3>!QM?zgAJD|8g*5gOwK?g#sy+1*#zKqLDJRRIx0d#d+f+@QHj|B zGI2$pB!Ji!R$Wo#+wq748oY|&paxcfw)qzA;fU97euPg)!LNP$6MSIn_GbKuhCu;-vvxnf2U4^`KUyek;e+E}ovjLqb&k@+hDG{bC^N zQn`oUerewQ^Lq=Lr(^?FDKC5g03ZNKL_t*NgV^nW(@?hdRwq@uOE7x_tMeg5qV;TQ z_?}IA9Z}A2tpUjZzQtFZh~GvHZb6dhUj}X3Dc#`nkEyZtd-kDA#N1moeMo5noj!7x zg$*h#L&_o2G!V~GeYJ0$8UYB@5E^po1y%%Yo2ce6!7!tdL;;5YfrYB0_z)PPjuWZ@ zxG{kYyNZ4QpFSO-YVqmQC$z2La5&(2w0POShgHR|{rX>nng-wf`d`Dh`v!mWum1+< z{d@fQH+}=neh2=oe*mz-?)^8w{vG7qJAAWyk5^_iy9P&9m>uEciwhQ?J|Cg&5kG$a z4a^Ss;gbX4uV0RlhGEPOP2&V*k4LG1*f8d)tBY3$?iB=r__!l(;jA6t<(R!y?_o9^ z6T|M*lmwt=aipVq^e9;2s_W0XlzaIy( z?culI?cV?MTM24olc}oqWT!U1`pnG10;R6`+uEAu?wrUCqq;w(D#c zUBOip@J`~m`s(OVxgEvR$;Wc90Vi65-k38Q3|5Y7J06(k(h4rQP#6guciz9QOEbFm z2qx*kPOhbF{1$&6p|kcN!Ydn)*Gi>ifd_S}0WHLh2D06@xfdi53+xbCwE(eGeq~2N zXv5Yq87RCmLC~i4=X%@kAtLytIpR$%-gXAZM)Cf`2d5hF;Uf+rIDGtwAKDi5;X51@ z!253iZt%i;SP}f%H$TDw!2aDwU}x~@S8q^ifQE2*19;~G$Zod-8AkKslBViqv{VTK z@=6U7foizXez9s^#1-0wAiYZZNH6fQDSmdNzL{>(r@)p_aA|2CKwO)F)PdipZKc^_ zV4DFn404z0f}bM;JCKXn^f=nXdLa91zx>OO`rXMlF$6GmLVtA97g_t~AJdIp&pREL z1abd18AqzTF3k`eo^lJT$!`!*rek{U%r2D***eapQ=+?t_O;@zT3?;yJgdtpHN1n0 zLIp7Fcz7m)e<$}tJ_8lBi3vGrKJr}$f_K=SQxS+U?j9oTz!j)y&=n@1on>#hz;2Q^ zW(SDlCPFl3a3g4*rE99Q+IC)_jXK#;Fk~`9-1xjbp)%4M_bsvqukjx;YfscA3tKZe}|V3AF+G?4QRK68bT|c8uapG zs1gneh#Guq0owx2{soqR*Do%I(jKhKg6^G**Dt@cUx(Sa7~Y`udLM8nSJH|xLQJBCjd za-Nd6DrMLL1_|GrlVBUi2lb!Vc2Med8QUfcy0{^ETMuBCE$-lGU;pK5Ap1l6tAFw9 zxHv`j=C;>s!9DLVd}aM+^>|Wks*X&@-9xx1Q3_yg&8(KJRSO-Qu z9tQ;2GhjWyRuVuMLT=G2G3)C3D|_<_2VjE&LB3#2XPi8L2Y^!``CMb^(F$CLcEgn}6Q1Af5C38{kUhxjpSRNfUc=4bzcz5CnHFkG zJJ1>cntC;F;c7Ft4W_K-rdCjA8@Ok*6}%9pivRFJG; z99t(bWr$$R4rcFUr5dmQ+8!OKYfJ-Wi~UOjdu(II7EoAq*;8we`11M%fa0e={kh9* z9t8r${^dO^F~0fkd+1ApZ@&BS|IgmL_DGUs*Ma9=Gk1^3tgJ^rrkg#}9CG-=E;*z` zQKXjQN?Jk$0WNnTK_4V6pcPhsV1IxJLQV~|tXk@0Z1$F*a}?mY*_=J?`!A3%uk zeLJ$J*ty0jw!6(sN8ZB9B8CD98 zML{a41+#TJYxumjD!aCo_0coFW@$B9XJiJTZK{bIpg|9Q%zplu7Ypx7MsIGVcQZaE zoGeMLC(1GZGqS7zP`My~l~E3ups}nrxLyepHZHu!7CBrvbH_#)D;pfPZpl%m8wabOHIrJ%T<_9paj#_dC0llEV~bg$STCtz%yul~)h*X#tc8@K-5 zWp?quepUka&}+wYT)2~?dgwyE^ZSWsz30B=x#%;nDLpoD)jF+1@9#6K^&(TVu!Js% zZ5MVLUGSl8F+$x>j`#JGC;HYm$r^939TSzf@2q9_WuN*cyjqL;n51{Dc59`K&A zb}pnk7~7^zNDCzEndhSMLq{OLPHYuIQRE;3ym#1?4se0JWn)nkOVBzsSqa6U+y3_3 zd`p^c%8kTp&z`of`6L22v4&t!>&@yU5u_&^x1DcEV&1vP(sQR3J*2p>bqzc2uPJ~# z!FN@D^Seg_*_FHf-KTi#K?L?WL3VqB(!qnEBWgTQWxkWC)jHG2pKJj43&-waMRd2;U&oZ=0PU#hx&>f$uZr9jAa?psdGdHBm0oGSH(^zU>SBvf%uy=|NK9NB%CGF? zZz*rLPnz;@q7$=+H5NX99I~OmONOZb8QqOr1YKNLu5*yVqF_VImQi^RCW03Mm{2T> zQ1oRDyz?kE!`dk}mQX6=b^&-}L5oYMF`$bls6=5GPvBILXOBTdxG1gwYaxrLfXz@9 zS0H1M<;$=^IH^&3nSMJk)EBe95O#JqJ2H1UaNbibn zpBzZaC;j|~unQB~4QAi;1%GIxbX4EOYT~V6L2Xd3_d$}xWFM=yB(fi={1$W=$4e@| zRWr78K*fCr z5^7}jh-w1|fFvj^2os2HnEeqrlM2?ALq>pMf;AS#0F@8=up1F9n7W(T`1#DV)xCoS z=rpp)W&tU|5E_f@j(U!sm#N&f9yR2{ova7vTdNGOGVW%tLnOl{2WYZ2|7LiCupM#ibm{ZxX0qnZK1 ziNLGCiH9m7D>78#fg;1I^gy2B#(OLcV@-_A=2)}AGGCx16ResqF7c@Vumv3F&G=>; zq_LC%=K(RH&`K3B2Jjy61_7iJLA_#SJUl!Kqo};X7z1$%vJ42p=2=i4@d0QCqlGrt z+=xc|Ep7AJgU@aFS3=w^#fKw(FqmUsMu(cTm~-0xy>9>E{R=fTY@LE6sO40)a%~ek z+jEZASBo*@uDbmm6$au`w%dE!*Q>WlZ)en9*lbQMXe9**i`&njf3i_!VG^2ul7rUjZ z5cXggcrh?)peW(>6)0Q5yGv|TK`7vOfpsOYS#SjsGGGACxXxHbNB&JC6HD++5DIQZ z5Q18Q2qBM4U}Xb~RjELTLxGAX|rT*!YerD%25=ICm2Ow zggrF{W5E`bo8mFcGQFeUF)pPuzX#s3>;1ATCq^4!r18Jgem&G^rPZ`F`?DN0&8Vhh zwbrW~i=UTk2La#>K@7pMB&H?|h=MgnDJ3W|giT0KVc^!Sk>@##Dp))$6U3F+Y}R0A zEG{pwDJxi;L%~?zZeUD~MZSb{4u*nj77Rm-qViQBQ5k?JvW(%&3YoEhgu;2Si#_}FMSy|s`%3Pe;+CU-~Pof!9j8L z?stHQuv{)dhH-g$g?9jCi)CngW3h~Yc)`>ZMdq=MKFzYGpS%KEwGwzl)co#ZPga|L ze7=BDh1&#)u-ZmCY%D{B_f#jy$2F!Ii-0$+EFb$2kHUyDaS^uw6b2!lN*P|BQE*nF z#3tLIbqIvC#avU|Rs%-Zj>jr_oW3wB8s@X{)#EYQ5>FJuI=? z^^2Rf+iE{?lbhDDb-9i^-nZA^uJGjKZ0l+4VDFZ(cnFWr3M)#f2I3q1 z7_%D;-Uc+d8{gOXBF%SII)wH6+<5q~@q7Oh(Nn8x5&FK(*&ed_l(9lN4nFf6+#H@W>=(c*I{OREEoBd)}oUqIy$lEYjj~J_j$4F zLQZbT+pleH`xdoyu)NmZ_xpyklMgAS;J&a?=~n;hWI*<1_58Qr)%S0S=;CyjIA>uz zmy8dc;M#`S;=$|EY3B1BgW^gW$ANfH^TI*_eak?%Z*^eWZUM zFS_E!~UXJ{gczNLBgrw{u(k)Tu%2 z6y1NGfkS&=+q5;^3=P^DMO*vo*ecCa5qOXb{!U=TXP&%w|7a8jhJc1D%zztAn|;>J zk)0eDi7uq}7+6Uc=j6KP#ekNLnzc5O;B{tk-;{hbRfXd)<%Bo@MQXP*k_@X_V_zvq zx_Oq!$eLDSkb{+LP7K(P>se_9j_y({0%J3PG=fD%$QaOY{3rm#1(__ZAQIfBya&`6 zcs3{%D8X294o8X?_8FW4YOb&rMV385MT~s;6k;=2y9A00lw81EUcj3iE?b0LSu)sU zfg!Hq5q&6_s>gm{Z-J2an#i*@bHr5DR-0;)WtOIP3~gR^jiqDOmwKLecoUrlvy_^O z%&4=hPl72PZ4;fWIz@GHg5g3 z(*RlCF?)6oj8n6)E!aGaiS19GxyQcy9uJR!qt}YXx&sjVIy{8B<62U``(z=Inpvl9 zORG>6VzydL1)a^4B&3AWeDJ!@d>Y;~2|knl#SaX4SGGPfmpJ_*8>_L8YKu_<6d`|F zsLf5>+^%4Z!D6w1s^I4429*OAoWte?jPpTmDxw);jTni*V5nb1e6WBu#vn5m%oYp- z2VhfqQSl!mcVV6BSp`|4N0MTYPE@Q0v8c>31c5H@)0{r6FdU~%;rC4hUEjHB{hx^&l8fVjSbjO;aq&OmJ1J zp$s-4Wq25PSd^j=Tj1Ie%Ecv~uQqUt0vi!LH#w|bVq+e`T8j-9D3%ux6rhU*ZcP@X zuZ)EnLMa|(GI$l(EDN#I8Z6?`eqA(E)TPIh&Afrv+6*gwrJuJ1e5 zmL6hB$G{JrMBYrdQrvbap-g;Y=e;HYvkdBp-BW7TLTNE3Mg4@n(5&A19LCv?=cm`C zeO`ZG>({Hfd}jn2aYPe?(jQp0l8{aqu;wsO4%#G%M0fgc{I;jLv`JogQc#sBltL36VRaIE6Z^ELHFJPF1 zQ&w5Q8UytLO9l#$byqmTRn?U{evEz4t||75Hy{{C~j4 z7<}-(-wQ03&^!k+19|p65Cnq*F$4#Kw-#$CB&u+bVR)lpYv7ziDFk16=*ELwNRRN| zBg-;WRfR0eg7ZM)2o;L_rJZL{L)jFzBPG>mQoWbK*j)qLG1ZJyjhTa79!F15X!y0- z-M)sJF99pTpw$lz^0y)W@D4+SpiwR6KH^T%H8cD;6={?^HXtU`V1 zH@{Wb#s7Fd#`K;#eS#^RlixICQ9CuD_enpP4`v_mprnz&8K2jtI{L8vjqZ5uL*r-# zz4Ww1OkF6*X+ffAIsh_t&RyiwB=D}`gj1ViK8eq9qju1akGf)AY9^L2$lC5|XG%P7 zwRayfkQe)Ah)(d%mf6qgZO{2L@ZUP{cO7|Oy-}%?P)HR<0alLEW7_FUidE`$T8m{s z3<2WdRgh^GO7+EoDN3>_V2Ojuh!ZF&xCl(A69cdXXA5`$8^^fyf;9uTmcaQEYqt0# zUt&d!rM*BYjLXI2Xz$9w*($S8CR9Z56pGl?pivv}8d9?bL6;SVVWQwwBNs^)P!AP? zcz`I#2ZcGv9Tu_X>huSx&4f0kz?t;K^gP*Y>(|OAt!)lO)9ZV_cUzUt~UK|-x z%Q(i0Koh-gNzrEV_nA-`{oL0b;GJvp`jFBL=E`xMWIM3|CijK9%Xwv#bENhPX2Egpx zqP)aydq^HJBbt8LZGNg0rRg3wSv=x7~lD}vq>VGox1PR*>)RW6A6V42=71XfzyIa`gX9I?|H^k^ znPvEaANX@vv&FObzX-`LuzdP9XnBbn5#*c!c?K0=0|LRo$6_o8z$t|}Q^j!{4LwK# zz+y;qtSyO-btM%jH>jYX!p3=#fXac+u3hv7$Ej|&c_Nz}biXZ+0@W?)&!KJ?owP({ zPEHeP;QDC$yH!%15`0{@Um^@mNh6{ki;vA8}VlRB}Nu~>+F8J5_Q)^ z!ublShV;YdGTx_NUyqsdQ`bJHiTY|BX}k7yst4QQ#G$yX*8gIk*Y5>nZ``Zje2k|j zW@1m1H?#L3s99K=^BNiL3B)s$FB7W>AuNGhM{abx&Oo8xy@Wvg?#A zVBm;E!gDryB6|o3!FpAqlD_&lwnVV01gsUD^C*f1Zc9O_2A9h#tX8+UE_1A%2R(il zFE%AE^GDcNi*G7J>=INwg3lIM*#gGq*a$&5i>U|>%&i5pj~gY4Ck`4hTn$2N+f|lG zE{H;`bjDZTRD)ArR_YTav7JT%P1IS{Zarp)@swHnpk}OZYrPHwr(@VL8WWmrKq_^k zG)YsuRkQZpldxze(9rs!h>*`XPfx|_o}J*JnSZDGfA5^a5RTeNKg7qz-Tda+fb1*x z>DNWS?T-okrPF}e-E3(eNS=g2++`uFJc~6_)x9UvDeNeBNmxJRRD<^ZXMosV|KDe@ zJ7;hcLa6fX0Md4m6C^A}Tp;`D6g5a?riK-%Z5t)g1WjG=()`$du;pa^4W91vS?KPf z`1#|$7t%TwbU|$FV{I9g8lVseBoWv`f{F%WQB&=LCkj;$QJ^Rah$k#A3arWsR4iZ$ z#sB?Z{s3wi?|$WbP*}!)`~6?VwR(K#4}KLdm5@JuiqhmL*K@K zK(2zo!>dA+;016h5CuF!Q5lqBnS)Y7;;2}kK6Kn3DLLsPg4gZ!h0rP$&;$~x(<*cT z+;+?b_ljA4Su5I_XZwtqz9V&CGHcF?W1^#1&D1I+e3k@V;X0{ENI@}`!_dPKls=^m zblM+tPGa>9R&F`R`YP)Gc;jAt{cJ!sAmz9;$xv178fz$H;0^ah`(Mc06dpwlPcuc1FUHz0C|n5pp6;bh3g%mEc6NUayd4 zOL)U5^NXMXOTg{&3Y6#g7Uxj1csskmtpT3%0=Gz)p0Vp8DW04vuXQTz z@|2ItmH&L-_v{U1*VXDb4h6DpqwWtTr*ed5chW8H`o zQe%G&7|i=(Ek<8=nIY{&WDkK~J021ER5vCxbW-B}Gu8s{PU#4#48c zV-RQf#`9~~tEc$S-}nYLw!lyR?BB$ys_@I~C?A?7q47h{DtbLYeO`lQ2bFLm=^L!Pxl znR@9L+H9m7Mn75_pLIUXu-QJ<261lf!)JN3e9A{zt$yR|K=!(N@f%NATM|D-@u0EV)n>s$w2Xh7wT-fJKl7}#j_M6aqq!WBb89lE-a;rZM z+hrvwa!k%NC8idb$eF0R4sflDvV?~#-uDgU(m4Cj);Kr?1E5{u%{Q90)f39+4KuO= zYSMJVZbUkpo519Igz*!`AcLa>S15=T02WlU{f0rAflx3cC`IA21wP$4tn*7i3D2`7 zHg*AK3(5^%DX@6-7%LEbmcxPJN{1r1Fa{7G6tRLwF5sL4Gow-)F0NMgPzFg0Aft?H zQ^@FQB@dORU@2VyG|8#ePLd%dX-w3l2c#jXmMcqHRMoB>xc1mq;zP#7IFLPLuI+wJ z!p4&H%pKY}NKspu5=NHNzc(^mUD?2)F+W#+>yUXf<)AsHAat$`w?42~bBfc{bAtGF z_452cb|bfcSo!jIa$EeR**8UXVAvs3wFAVA0mYLH#2El;DxbHXHgR`;#IMU^CW!rP zpE7Uttzx@IxJe6;x+=S6ql80#qoy)j$@`jo$bGUrMw0!eDt+a|3&b(={M`zltVTd-yPhu{CNu*)la-(UDK+-4W} zD}Vk+aGmG4c=tVExxlx~RZ#0P49#+^*CkA5K|)}|c=d7xW{aw-f(lHLgAAj{3~ZhS zds^-0oz^KgglKd?>0+ZGl1Ant8+bo);&|1}lY~l53b9qSQ4i7HSgb*;?}L}54-KDY zQ+Fy5vir3oDjJH8o^JZuPH|lFJnL!a*(`!bwW~3ECNqOWbl+dc$DP{J`s#O_tp4!q zKo$TtZvD?vAUmTeCL!0o3--?#*oPE$opZ9jUIYAdb%N2p9yuaQPcXIs?AQ@xBELmF zd7neZ6zjH?ZYL*BAI2Db(-x9bFOakaUXzVY49y|)(I@dPypt91UO^04n+GOVTzEZO zfDLR`;I^#b*y5(DuwjF>0!6XFMu8O(oH|?<7Z3)#F|dZ;r0AP&SdakPjt6O=eodoj4IH7(&Gff`t_rGh3u}EiQ_c|mVVQov6 zs8VB5I0QtQISOx&w^7qRb&&!MFFgB#$wv2c2mO{7M+`m8XuocUwJxyOb0MzJ3%Bk= zC%_&+v||{P*}9qzyIwD84K_P0hgyLxO=BVgjEOmWYp6IlctDqMx&V*`pZX$>U(cun z!De#-z&nU9y4PO=5SA_EDe%!gGH7HH0~-!)Aj(iucoirVo`X!6KtZg4u^_1*SyY66@Vnz?pmsKaJi8b^O+_V zs{J-2L7jKQ;E!>Dyr+2iq&er+8M4?!1I7GK=WdC!i zXOdB`G!!MXw#QO8-UW3OA5DD?LaAQ2SCz<5Qb0w#jO!x;~-BJ&{!TPdU} zlyG1$SP2;^JP4iz4uDOI;bKaaDs8RRnq07?u`{a+YIAKmV8VF zY528%a6`0Pcb{YbPhA6d#>!A`_T(XYqeVSVR*AZ$k{-VEu`4&{~aek7lH zUnYC1ga1C{IB@LTnmX+{#XT9~j^}+n27w^<@0^2pZN?#`=fO#*rG{uk&%r#gE~j`s?j)1bcd^AdvcJhnw@bYCrK*_ zs5unMabOygpVqo?>}Q;Dt-V5YfN8!z#;!O2Xq+`3BWUPzXV%wd{dy?ZDk|StSI>X* z&KOw$*i`F(y38;C-UDc+dmI!z3#RUJ=So3~`FxJv#a?WHJwALa>~f|`Sw>3JY?K>7 z(Js8>3pTJ_K`nK`3kcnMo_KzkE4ltC;Fn4^Ps{Q9`GrlRCo~h5?b-K0BqpB)c zYmw(UL?i*4e-*o*T397KYK>ZL7UmX~<3F5$BUzVXRRyrKd>{dfKs zyrdi-eE(PR@x~*2@(iV`KsE!hU{yL)4&W?EI7xe$AKb*WRt2CzAk{EJrW+MaA1rka zayWj6Y=PU+_SJ!vq^EE&{r=rbp=nWbcg$~3vGnMFbm$EfgbuHb^A$6;CB#~mE|v05 z%@ByFNlNLY7O>7_4bQhBo-%QnQh|8W9IZ z*qOyk3FWRMVWmU6)5973$L0l}Du|6;N6l;=Gl>rs8Q;ZD^lfO{=W8a%Y$?5%Re7wG zq4olzOOU;SBZ7;E&;srrQ!9g&Lt52V_zdoJf*}?+F?OK#_x2vR`I#Hb4gohjlX36I zht6l~(0jW7j;&F<*CRSXoSoL3?VC3o8KWwYM(c6;(yO6~GqO=HQ%AIgia|10e>h!kbpW z-dG!RAsMS{2WK+;+4U`|%V+p&f8%fAX7L!$zVhA3mGGyP2VFh_+YA{9UK#6(uyTwn zv+xl_`3AjpPE%IU6q!o%nXRe9$cF3=z~r06U>>8~@=&yJN4{59;6^4 zgZmELI~kmV!b1WA?;V^THZQs|PlxwWsNj$Ku*s&SF4ACX9lxNhK>!d6W1eqH=px6; zE>SI?V0G~nFU$Vm$ZQu590|S(~N7*EWm(^QdT~a3Sq3asRgwKtoFisbDAJM z`MLOc^)=Tuhd~B5q}WLOFcl>C({@LD8iHXh(=oDh2N0f$4P(xb?Jib(V7s2m9EY=R zO^j37pN^$OrKdzx7llTnh_uA2eSdeXvktS!=VSsgu&$<>^<&SS^7>AFf9KY^JtZ*R z#ljA0B3EwntD@D%cMfC$U{&4zYHo_3*?By8@=l=X4pBbSWI3In|C}qkuQY>Gw%d6o z;9<^i=L`nZpRJL74fdOYu!yS!Aki|S0wswBBsHT-5a|y4jy^1F%!dt&tVpWo7_$YF zwGt#yj^M5awJBiK_F9AZ`}}d3+I14`IoL#sv z&`}VpkJVgFYC%(#5v$S@!FTDiobfnu%EtIq)yK!R`~B(=>#_YWj^9)Y+`K@J9qcjf9(P3Ks3)`Ybe#Ij%_UcxuB!BaGxhYsodRX^)a<^zAHkk zKj+rf%liYeD}Vi;DqnuB;Kff&F;#@&(CAz0i_AZC)+g++Ujo0 z@0>znXP;{yI+pAouMF88P925q!%Ut|*qsMAKJ|}?#6H+jRB=R`kA3DYaIC5!4^`z;V-Q8G-xG!=uRFq{*A8qfd;~QFpmGXB4DTf#B2f3(Ji5{~`r(K=(yAZ{g=w`Z zLT!PnwQ5HVUVBX^GB&Pg78oTODFmzKzjgp4@1+-WTlRFcz)YilGASs=gO)kPpss11 zju41Z?Ma#`j3sz4$T9;Fz!-vhjs2i7hT**rdCgv6OxR!<1ijmkk4(*Vanw*JYVV6c zFr2cxiFNISLPwJxq6!s>vV*#11`#&wKEe>?paeD4D}-!N`Jw0ojI4t&erQ>d1~6peHrAWFNZB4xE zn0anic31P3)#_J{{hp(N?5pzSuROhY>mQzr0^ixldYsnf+)C=fMP_F5U{hRy8M$;j z7^G8Ax^w2k-o=CrO#FVw7fQ;sTy6aTEd=P77U9TI&0^1qUVHR{g7ntqIU2`9Qesm8cHj9m`M1x2%jMYV$uV=e(IyrO?oVuynS>P~ zg{vH1zI+K=Ji_&+1T7!o55M&>$``lz+yC3&hcM&$cYQB5Uh%0YHogKCm&n0b7Jzub zTxKvD+_jwd@Kp(4d6b(H>I|&82mrNjtvqpitO?_(iL+edwlt)8_-fJ>lcGViceXat?+33hMKVSR8sGJZ5W#$ zhmsM8Ui0g=nNM9(>+y8Xdsvm%M+4cTsmvSy;`b_Fe*Ih>c`6WcijFw!Gq@cPG>`3@ z^F607f_WWws#Di>4wtg2K1#oH_xsy^RUufD!P*?w?=~ zL>iddgry1<#{pZ2!_UIq24e1T1uRBI_w$Y6B3h^N~kjcV( z4~=%UFn}#`h#_QGk8uMA9>0Zkafy$V@eyZOaSoR)aN`7}dSp3+N#H7Az1jr!UxAJD zs45Rvd58cR8x+QZ6#?jW3a?uIW9bzXGNOutC|J85S(^OR?@NC)NmHm*4HU=yZ1rFN zI<)J|r5bce>YsEx5B2NZeohPWw_i?!J7|^TW9#s15-aW`Mm1xa^}zzWV@+>f7pC=? z>pFJF?GZdxQayny_<&3)mj) z*gp4tO5y*z2E5}{zIUHeaxAkWB3R@Fh%%Tg2W#FrKCW}TYL=(YFVmQ7CXsP%L2Qqa zMN~aVDxMqpEs8ouQ9E|mg7eUV>zl^Do@?X3mE-1vn-+r;uX%#C0B0F01soCnpFjL# ztQQyfYk%u+W0f!Q&JX+`Dj57%AuN`cSa2Atc^>lmmJ7zC%K}vuV9nY|R67VPqaoAg zwWesS&P}C+X_OXxHhGZ=h}GVyiyz55u9;k#nR7iShg$o6(tD54{INXzU5tH9Nzzn< z{${ts%I=f(q`m_OcBQYid9B*A>pdM=BE^>S**)o&9)khyD;7Pp7&v9Du+Mx-A7!=r zq9=4KeYdec6*(l zYR9_I=ZFM>dbTz)vv%@3`o#)NI?0k!>L=ODA>7`~NQ)Q_U=&XogvVIeHx1CzNP%7d z{*T#oZ~NXeELl)2q+ztW#bgMu3}iXhOjuhBeewj?#R4CJ@JFtKM}|%1;k`#$uHoGV zOl5HYit$VcaKi9v;bGw&Lp{S+0ump8+QOffjjlsx&`qXV(>Bgrqp{LIO4R|;tqXvI z!a?DwRp*edKL4Cr{Da1F$^!Red;e!@e5Y&1=-)=1zfN`JJL@w>V#M~-T?2&L)Z(G6 zBlkh#oYO(;T=%eV96r?YcU4`V1jwF*k-c`$|6S?c`+8>bzj#XLiF0H0gT8O4M(w zfIg6MI;TK$xMKJ?P@<}^WC2o$_W&ero&;VU2nOH$=+AINFY#A@`ls*_7kKi)7eN<~ z@G38W#|!Yj z?k1gv0TCw^uv}NO)4;JmQ%9bTdnwhdfakHcLQ@Pm_tBi3bXd?GpP`({;teZJOpl9j zv&5KWT7v?F9?Z&a$E`l=D_gO3D4nIRit~`xiXl+BZ+yB7Fnr$bw17ng~kB5@;SVQo;$aN^-KY--l7 zLPdni8f=KMF$S+Bb384x%|}DklV7I`n&zMnDgHZcWXR z&+_Bc8;-ecT2`xHI@NdDQ+?2N`SO<@FQ5G%L*R5g&}iJD>lSmBHi%K0EV!u|#5QpE z?LOx-CPM+laMr;{V_K}?c>!}ZqNrW!t?Wsu#!B_LVhSS&~6rU{@O?cvH4V^UYX^ zQdRJAki=!D=T@Vt@VbU!3&RBf1MdjlQIyZ3$Z#nX9wGu&4h*jvj#xP4YV3YRZ?TUDV zq*Bp$o2M3C*7&EPeA0An5Sb6)hSn9{L8mAUYnRvZcOA8wfyI(d_d9C|XhmRYMYLV> zh+_ItGU6n}D)9i5f%k#l4VJ|QAcewooYM$VsX!E&5R?ht2Imw*3JZdXp^{9%W8N)J=vjSxa<2|fpRA7`GKEDvadICjn4o4jF`8{A%Af`>fVrtcY>f4mM z1G!ySr6C9ujsF|BF(z$g-y4VhxyUSCzC_ve5?SVWOhH&hM#zyDDFv49K30x_sq6{r9CWzxF2XR^F8B(iz8SolSy{ zr%w()FNp|tFk|ILuW&>yfN4RqH93r_@6Dj9JfH@E4GTUD#J5szbvgk^pgLobP4f%~7TGbG zp8FX8=PWop6_ar8eDtFjlir*d1>~X~ANef0WqI!bCU9n9^943uaJ{~T2SF_ZY+*7B z=Ntqc#u(&z4kimC1217bh7BW-Wd-s)AI|%w{m0hO+#gdY89xOW{+YgxT|Wfo?$7S` zbl-mp)~i=f}cz{$=eWK@@u8P{`U`# zkqrp@<`)ZF`~>dkajJp-x*pZf&6C~t=xv*!4pq*i{fOFi?jWLViEY(cg?Zuo%t$W9 zh^tQD!G~)WkU>!&u`vl4IBsqJZBi8^E;u&+ZX%#u#04=Zyb~;lP4ijKxnR>s7Hp+W zBM^d95AQ3GW_Wb@6kNQGFTDF9w0ed`{shn^s!atZ17m96bA}fIv&6pO#<{3&{!af; za1S%m?mTKoouT|aq1r6;{KvAxbBuS4-@DDxp2|@qqI*xYl@1HyTNAAG8mX6;EYY!v z39Ho#84+xrLy2)yl~_5&N3T}6$uIDeKmOzRh!=SOiyz=4VSKb%VGV-G3n&v7iwgh@ z?}5?-w>Kq32sf)0hzznU>u_9pWbEAnsyJ>jJw<$<3bTiPeD{5{^WK{Ij9mr^r=Gkc z?HKiGduCd_jg1}@EA&V(*~z!RgU#>Q7#lln+&ABLN_j|i_Xckkan(B+p1iLapEsrE zv8h(Sc*=e_DUf}!dH#z}FW&k;Prmr+VF2#40C11d^px2HT*8qI^@eeM^iogC!J>$QKuVF4WvoiYgTEiIW$VD5eM)afkj6b z6sDEWir>SO!#TntyF$6iAg%yp0q<-`o2ZZGO(-B&2;hBK!bL!|*jfNJbp&eeO&V*@ z`ZFnBvNXUoCM6_nb@wR!JY&8Mio7Gx-cO<7U0B&3KFPb|-VYuThX3mxITBcb%rL}P zSZy3E8wgprjIc2ko^L9wnc?#cD=4VQpj8Dn8OVmT1)DL{1EmWm5`wU4TP!YMjDd5$ zUDWG2sV3P19~0kp8_Ap+nC=Qq{c+1X#|;fG|9v333z&9`D6!KB=04V+Q`x@nvUS~O z4j<2i?|*{TpNHp&QQJ;&$6x={MqqC7t-4%;GsF z%xB@TZ+Q=Iy}!R41)x_KZzxhZC)4|^-J;wz>ot0$VbUv;kvj}|Mha7Fz95!@fa;_D z_!H6x+Cbx*B9tgyC3S#^OtcV~Z39$Ozi(oKwHds3@IFWs0R&?*7`9-xc>c)?FbqEU zj&B1$dKd4${q1m@$1uEv_kaom+`3pPc~E3y6+S2rP@3zP=6c3^B!+VB5)^a8wq$oH zNG}12K}XA2*S)+ipzQ=#w4(9th9~r0x==qP5W6#|A0lqjw`M!$!CmmrW6VojboxA) zt2W5<9M)QR0Y1H6!{?=V!+G1djbn(8dvHcfq3cauoZ3ZCCT{V#5vwu%nDC z?flGHR)5>jr#mVjOKUg3O05|2UU)UGO_QCAd;J?RR=R-JJJO^7e zbfmzTKAzxyUKaH?6{cI+8f_AH1C${T$F$LX5A4Xm4ln{b^b*gZU`>N+ZP}O>8`;ja zw7`Jcf7OPh{N~!)!Z7b87J1duWhMe%g7*T_NARw|vUnRrZ)39t3^G80%mThJAW|3$ z5c}{0foL)(dW%a9;M-&6Iv=k#-l#1m1t1P43L1(XLd{m*Go4 zFlO75F|_rX6nM!b`!@EyyCz6q(=ps@%g)w7Hn61V9c_o-o8qeGd2Zye8r2NW2J&mE zVSU$|RVeJT7KU>$TZm`4O5wfY$)gVeS>iiB{3@t=ii_nlNVUZ3)u1o7**L zk;AJ8P{0uI;ze+aySZ6`DUWuy1}0XMJ6Cn)S6zS@r(I|BwM|x>fU!PvoR=LHm-|X! z1z;>qD#%XLpq@5)C!;8}itK#J;jHW+gRZgae}W-z<-oMfkENs#m$x?rw8uO=cn;HP zV!_-(x2b~BA&u5Krcrls{e5XN8cKmD-5OsZ9K7aT?wvzJss=ED!i~REMoi51S z9VPmZbLCE&Z!=((I}RdKyWKRXhP+X3Y*lNylOC8I3`Ek~xp%=#2y)a0WuOz7r86u9 z3Qi0pqyehw`%;-3A`{sqit=H8G~gIZ4eJ^hToc8~wX;A6c^idFU}TxYXS2Qo5rfP; z0pl^MGF&aOhcyJ71=g8Zg5;4ZoKTcn<8B^Znhp?I5g`Fb2^S@fAh*`0RcKU%00$|W z8i*?=1!VUKWJ9ywpS#?c?AC*s_dR)?zJSosrY}{|VCLY$MFz+h@YxcjSoq~7Uc|iD z%4BeHbF^42u&GLz8h|p#(;5>LJXo9j?^>lJm48Z)q#XnXyIlCDf#0DAb90ZOcLG_O z9*er;eprXTkK_HwVA{ZBz@FR;>Pf)tF!Pa|+|_lZ)U#3>m|H_@_|!gH_hfJPWkin! z$WtWCp$=Dve&1bO|IUr}9^tukt6vbUo0H_L-e8Z-867C5wNnWNxpvn-b8h~EQW9i6@TyJh6A}ETY z$y=?;64n|x=Wwxn1Zyo;t2LN%+`L+YX#rO$hzx$>zxyeuw|M8thwv`P&9#S7?4Z)bO z@>sG#6rTV?6!mVY0XyFNrZ2;PyGFyZ8GG6X7sno3P5aE>)rN4&`DgCJFsjqIV{tu} zkr9z?4d{ebAq}~#&u?#WV+DWiFa2e_DlT#H?gvoLu{H&SIet#)k=$m;IHc!(^zjCW z5^-J?*5s&bDqFHLjLG_1QVBZkj2YU=SZ>D$IcjsWi&5PfCp*9IwyW;HhM5M|m%2T; zvmx%TQT6pF8nYY|sFKaX;F?JZ2|zk){7!E+1!RL%VU{tZ@}Y20q|=Y8ez-V}14U0J z#2GTw&BfYj%1&fM!C%3&WH^Qtm?POi&WKYxyxeik76@#ar|`Pt>W|IxDjzK6nUd|nhbGBHPZ zQtkjr6APheFi^CBc*L0|wP)Pg$Z#tVkg$bA8<}y2fyZ^`HB}afj0LsFbwu10b?E@0 zQdL+63^6Q+Yje&)y}(IGTQG|Z>KTugZ=os`g)Jc7!g&Yc9OR$D8jJNRWDOfb@NlqM z1%(IOthL$nQSAT#$j0h#fp%=Zw6U3O7J+DNp}oC?Qg1=-1@@-stE0Jl9!7H5#b^Qu zEAO$zJN~+kaqS!1G^aeb*R{4!x?U2;j#rP&ahIzDF8M> z?4B)1J*0|f8$ywFMFWge0Ge)i+e-SVv3$1&Y9sOI$O`&1tSt!+J8I5p!;GH49a%%+ zFA<~FqY;pr<|0hI7uIbydJrHZDZ0gwp6LTS9XUb);M{R*4j@0pwKN7MGt>z>8&Yxq z@wWW^EVB|&b^;@_chK$Ye(KjJAjsw-Leh@rELLp zNjCp!4s1U!2#o@o3TEG|ub&VJu9onyW`1{kQdcvU)lw7J1w|KY!Yo5d4+ z^W`hpr|)2+fENM`!*Euchheqa#3IHppBi?xXEG2Z=cHwN(9Pr29YE|3BIdCpFPcV?YZuCRz7U+HJftv^XF=#v#l5}*Ps5AhYBiRXJ9*(`fx~I zP%FcOlWTM6g)oD2f8cm>|Q245T^4XYf@9?{cWWgrTP}^aNKIUj+PP6!u-X%_UrA zV31?ID&f6Dv0&KT!&rrAu(hom;9c;iSLHVEFi6%yNTHE=1&1R>X=J(T=R)pph|9l4z!;jaPjw)ipM@P8A5-pvohQC^hnC^PSyr;%ht2{Jfj%mdSf*dX)&30&A}* zmB1H|urV2KL0G>14l1_rY@o~l8<5T78yVHc#Z6jk15V1Vtd@q#a_*%l5%zZzI!D`{ zs$bifHvA*CMexYq$AEPAxOpDPSDhww4wDz#)t<;& zBJXu5Jz&n?j%oMV_dM{j+w#RfIaj})jgh@}&wp>@-ut!O6hD0mapY4C{x=oGPQFJ6 z*h?B7csf90&{ptlHRFg9rgq@iUu#BJlME*1_A68&N)xP~CdFXAfTT3CNJIuHUURwj zTYEQB)94m9i!`+>a&x^zxVc$D1VI;;48$9(ONDnElp95nKLXU?hkoEMgRsE&eeVxK zyv38Nci_Fk-+BlG#uAE!!Q&@Oh#D-H1nUhx`M82A!@CS#IT}0wWGHImQdeV9r2()S z^I<72rXT{T2|Av{QI{62NsqQ+eEM*7$)R`BD6d5EgH}4Zpa;%d!GpEWsQAkTLBLGfW7nsT@u$ zlpxaPnAZZY>7|DVvurt)4e#_s7<;Lv5F{7&A{_uciT2w}j=}*VCY8>=r8v z+Gb)k)nKL5uR9~4sGrl@6eE)CWMqf>O%mYW>UE#aP~f34x^rp_cCoQz#j5-0EAKN0 zcd@ZUAhvRwUn||q-+S$VECAeWu757SD1Q3Xo!)1RrgrJAw&$DsI7B?T)&`uizH67u z=oqEjjF4)uhV3r8JqIoc7M5M6CRIX^uI=j9(Q-exQnp}gA0UTp)HFct9CC5r4ZNFJlGmtZ^rGvn5KY&H&g zZeXkj8;8tTRL(=xpxlJ-6>lKQV2X<;2S%HaHKqvdijjbp82ky*^{Ji@9kGd;@g%f{ z2`$6bPbxX>#*gQL6XgdvujW{!j%nnc<55pHp%%>QNV^IFuSy48JVIqG%wh?1af!7j z(DD+c3EeFceHR39@%PHN#bWI#1%fI@$E2aFK+>r+m*W=k*Et>!-`n`ne;Nb(<{{Id zq|Hq}MSG?U>#&){Zl#7XINgHPr1*L0bTKy5soe(Wq$2LK*3S8ieeG!HuJ36o-rPL@ zL#}@-Cw5N|3jpi#)z6)C&Ycy=e!TwEfBa$6Z zNH>Vj8Droo#pA050E=f&-vvLr#24QA5QGIj{L*(Lw^u0g$55YRQ9QwmPuK9(0;}6K z3=xO~AAIo(u$kb=vv557XCJMgvOu{B?pguJslX30OyE%gSd(HVCSRIUwJs>R!*tn@GJpb0W@FV}z z-^AnW5}IXLJi5ZVFz^*nxtMVhWr$G$CI_4gN*L6n-7pvoGI3r;_vXgkizykS0UX~o zSiO&RqMsw%9|wl|j4dNg>6y#Q4G}nZQRT$|q`#(cYJxE~#-){I>-SM}^i6HdQJh7z z`K~PO?_x|35=|mU$C#aC{0I;$D&Ksy`RE^?dyJm#;nm%&%A2zw@i|gjpFeg?4%yBj z(_Kt1#oWz?%}c2lL6V>fi9d0fMAzY|4Z;M|N_#b;>Sn)O!x{wZwgi|u1w25aAWvXn z7&Wl*e;FHCvM`9|52ApV=0_!5bC%`tdjhZ(A*fiWSZvmU%w7OmV6z4m#bcBk#d7g9 z=+H`q#R6ax7I=+Y4gdx6VF_`Oi_S@_>ZPOrWotn}%L-G)(M_&Twp#YC1rj3i_W^-pt!sM$iS;0zqo``#kvfsBu;_?M?F^R_tzVyu(^}w zn3%a9qy2?e+7yBg;JQEHdKcqssDJ0=^NzEuyY6}a_uMDZqI<-GzBJY6Yy0l;JSDqz zit#T;c0pO*{+z16IcK}rb2t3U&8Pq9YWd`UpR?QCmDADJU7OQMA+3OS?x+p%mcH#i zJM!s?$MIT*b3NM}&D|Vn-*qFE!7?L*n6S+hDb=}>fcn}cs`YVK_04;1#t`vgLG#kI zYyAUdD4D>(_?lrgA-4`DFu6^j@`IBu$OO5qu|PyY&on9vFd_pKbz}{36nuBE#Bi>H zwHD5m$g{x2zPi2*eV{?kDgZ|V@eCD4QCvcWarNjexLLxnL*ES~~QjOU+(%lU&p zdIe?yGzYPVSr~W)R^Gv@i_AyfFyYEwyILV18AH>ge{kGfXnc=vk{>D9)WV129C%PB zASe1eItXh52W;r~Dqld)LA-rb!>|DnPu8Z7>jGxSD4d1!>qMIw)WjMV7=l`YLN2z!j+QJ?R)Vq=EV+R7 z1mOjI+$1^jaO6UvmkF+T76c;%a^XfiN!WfF1sjPmp{g;50wK;lu0NJ}zh>l}NH7Br#`3=2a7 zYZzV>EFPrVI6~68!p3_bw{TTlD?Lz1Seu0il_6xY-hu@1PEe7DBZU>)VfwiqBel^@ z@91787|SUa$z88&$3jTm47?s@DkbJE|F5X;LDC z#Nk$&f)2x$o6U=VbZ(q^ejr)=I6KCDW>JxUV5tRyUJ2dKE_`k7lZgZed9RmIo&Feyc0YJqkD)`WBf6$!u$ zfH4+^Y!gISB26R)Bo^=tK@jX-*ad1rDIB9(crP(`mfGAXPXTYE>GlbQEXx4NpQ**%o#A^04QM2Qw@N+1TZ zY|5}`%P?huHenht1Q`A?;6EAu^oQXO`^Tg>gV78nJ|qzk1W1Aa1BUq{34%mZpbc_t zO5}Ln!i55JOWu?CFsQPlEEMx)EN~vkr9dOq1 zad8YB2%GkhmSs#R#|I5nvZEq!d`)qRRt4HB+SZ|MJs^Z;>rhn-0Kjrtfthi3@&H5z zN2^m9Q{n#ELsZoYC&%|-Ooh{XXHYd*El(hxaeQNK$vLwUb@q)oVrBV}FS#5aU8Uz&pD+(BRfF zbXXWk10s+W2{CX(_OuMx7_JXHkKvH$-D}44UZsKSkTJe5uwd6bbhFgN`Pa|`URG{l zPqAsvfBi))1uq21erxlMUq3r~@IM$ff8+y5dh;FBt{tXKL5~cC6p|Z#$_#Aj1o#uV z;;I!ushCul*=zZ(GZRS+6hL9dpBHEKq0`(n+o1-KrryG?E`YM5S3W!>GXo}VQ97lCl-VnDi*8NDF`*TjfB#z zD44_dlcW?LQ)M0LgCM5JlSQVDwP%p71TaS*T8$Eg(j}sd`=y&t@^=Ts&L@Mt%+IlJ zdDYS52evv1ctjx5l|}m{$nCblMXOjlf!GRLRhZ=hc2UE^qH&?5LTsZ4b3C}@tEXM5 zp0mqI4A#I{4?I~hz(ktgU=i1Aj&d1@oV)tlCVu72NU# zQ^?;+kVvz^2R%Tp{WHCy$Qs*R`WGcb!q6g}vd&5%piaY`*#a0kU4*`m(wBJEzNgfAs@MdQ0r=RlqEd z?Rn-5noGtm{Tj2(z*BteG|igEsgB9MbRbB4x&$pEiW;w|eTo`gk5FFstw3CZrfHz6 zczkgleOv<@dbBu$F*WX;zJ|Iw#>4OY5Dc$yv^qm&S2#Yt2cs40dI^B=;Qm|i-ea*? zVY~4-K0ZOyG*~W=g6JV)I<~YRqg(avDfrmh*&; z@Plt5WFf_L&FfWg$A)L+E!ptLp)HC4Q109!)na} z+B6_Jf@>{WTSK=NdUOJq6}Y|!Yfe$=84T5^unM2Kxfe>Lyo3<}xg)STz}FxVSOO$| zE{S^I$}k8)($Jy`UE1-)GA$q;AXNFPCosGsG!AK}%L}K-pmo6~)_V`;v6j7@C@;tJswfihj&;d0Ghz& zbJo;yHvAv?i^dJ@@U&l*K|18S9+rCNLIrN04cmP?Q3>vMJ4|(qBKkd)dizZ6L9bOz z0~xapz$%g?Vb}nd=byM782jPXt=ktxAEzz!9?JkKwQw5`ep+W zU{S9?%D8v$K1^+Ja&ihH!W%#E5m>Ugckc{@3a{P&5L6f^$FBiegLMgL1#6cOZ%|i9 z@D8xH1_{Bn6dTq8%h_%XoMX66H0Unn6-Zjx5NRtQXmsLY?yR#!0BgG@2_ZmQ1vAhz zETMzvsMm7_C3wnd8) z14ag}sv#(W^5oV<6zc%L4ky!HW#HS~u+5I?E6E9No8i6wkKe12+s(#y&z)wLlh1A1 zc&QLj5j3W9tzLToCc;*LOYgC90y4p0xvmY|R^cVu&Lze-{w5YN!GqK>4$&-e$a?H_ zgayda8!q}ZkTLY1&$A2qE??iP4uP^+?2yK=IhIxj+OWgS=rM5)%b}2+q|r6#@_^$n zHO$eISY_r~8FyOHAcKZVwv@(6f#a9d!tSvzLm?eEGj@qyQ?$(UV`Hxh8n3Efy(&OF zbiUdvr-|1ufu`B-l8rr(tk}!Ow(Gyw`lrA1z5}uV@NDz+Z+!q{Zx_sF7WIGyVG7Ka zIqFa@l46S3M09!UOj=CL0;uFT%CLAylx>El6CwoWlLF`sp#%bWh4TV+0Gx+7faoMN zZ5^FL9K$YO0};WxhhZXX?gx!-dj=JP-yTD}!NM*GGGW033fzn%OH+yGckx`c})yj=fKv0 zIkM7BaPhSzgVb2-)$p&P8Z#v$j2EQ@c~PUnnhjY1*=eQw_GjfJrgzA?k$RNY^#JT$ z=@y=4boPF-NkO}Z{lS>R`0$YQY7+M)P=AcEFHY{#l;3QfHX&GCHPYftGB>OTt$aFbUvxKsLE(>>nNS z+^)^roJ;PKYeA_C_B-4nuDkhPZ=e0G7x{T!D3JZu=Ij6P{?UWqs!aW3cL@+a@ABx} zgmvfu88Qo_=AS*U<642jPXgE;z|8>(+MBwVLIV>;pyynh&@~HD001BWNklMSYthLxYwP3a|#(-h*;I-F*g~fM%_jkcijo0qK4#O)vxc3mM zg!^X?;Tn(Q<5P$TYI=}8YY7H`f%pI}#WSFRJ!K7cTJ1J4zOHTHy@xSXn3RCoX3n6M6N^t2wX#7sox0tF zb441f3~LQUS^z0^r+d@VH|w(MDmgLb{!aH=RoG-_7E0AMn3 ztwUv2Xqpz6-r>zRKa9t|#mR%$;H&{vb!hgq6^JV|+bt?v!N;-4P>6S^t&P5rn6=w=m)}6WeaK;i#>Jja4}| zL1x87( zurjCc&O_Q70AsN{24G?Q2}l?4mrE$ssP8=lqlUKkz*Gaqa^Qwd6(Cod_Y zc2le;D1b)N;6fnqS@TE=c$h#~L|K8xNZYhq9`2ZlrkSR3AV-nbgj6t;z|=)Mvyou! zmHRm$5aEXT>NowFijeG8R1Q2Ofkrl~)3$dDmS%mc^9oTyy;xwS7N)A@A=oT0As>#fnm#i@o=q|92W=>4l}=Ksb&s-vy}TrGAh5f}F1M z8gpR;`-p%;r3aG$JZ^CKmSc`L&H1mr=sVCiB(@Q1rmTPF>k$ z-{WZVaxYWIBv?!psVFJggJ1${${hSC69cO2xN8i}ALHrGG;L+0yPz*${T;cWC zUk6#nTW2 zNh}0~YCC&@vyGAojYdX7xkan5XG`U`ArIm^pbE}qRgH{?ItPyez|tW3#dMQKDl1Ah zu@_J@tXBkYMh3@tUx7+WKB8{o&fV&|ljSNmIvqf!+)zTSnPJ70PE#2m|D0IV7XxC4 z3&D$aUYK2gde`cX4&nju2+Pi3d_^4qa{!lZ+oG*3&W=wYtgs6UAAzt(+MI>&SIXv{ z#NNcO-Nj*{Bm=L{kgNwXdE6xsD}-#dcUxeg1gJv?fU*&_|M%ft`!5Rc44LV}+2Db@ zNOm*P>G4B{jlns#$dnL@AtbBd)sLc8@a?ksr2ZtugW!d)x^=vbbHK!fH4rdq*oYLHn4jjI?q2QXD|PGFhg zLP~3HJxC5NDPc5KM7(!JDJFtj>a4y*-AE^<=-bzH-LA=Atg{~Sy~$Lfmepj&RAS?V zqGJ~{zD5pTEdi8a7)Y2*1mSbr|fotj@ zk;st9#H6qE!qFK(f0BC9>@Z~ieh(iWB|Q^dW*;JJpyDCY^S`% zcf9dOV5=HG^3fjvNrex;^ETcMWn5yQbW3&bEd_RyIiu(lu*L z6>g8`gA+hTitG%lJrhTtzGN&-Af>FEB|{(+fJ3s_5(-WNUGFgk`&S}pAvr(^5K01r z5Tp&M@rMGt3#R;UX}^^gH5x296ao9N`?zGbp0{hk)tC<6vw(MX?R_P==cnC`&zIes z1eyY^#r>R&-6{9u=PCXjY(3P0Jb7N!k7ILFl zctwdDJcr;B%Uyim9HUn(erd!g>8*V4Q|9}n&C(E@4Vl}!Brl*VbcXMH%zl6y|IZqx zeL9?>?VU^Q#vJR^`cnQ|g4oc=uwJh_xrfeQQ>waC=~R*ls=GeJ;Q=Un!vl6$ZVk)z zQ#M|=QL);k;Vm~phmITNE*bDDAoh?$U2h-#%FDQ}UJ8&scTaxrvbp$`qx$&2{D6hM z&JK+Bg4yzVPCz!9m8$r_7$#x5aFO=HV5QtO8ax1(p($Ed*t8A{Ucd=~{V||Rxb+H_ zmf-dbhAgOg4c08+Hx*311iKZi2>jZBrGkpkMG`f!T|dD*%ikt| z%cF(>Ar0>rBR8S3j9=*ckbt93Ypx`|u0|IGK}V>tT@e{S~5yczXf3bNJL9Uu2s0UxhTtn**aF@XOOYxO^XH96!0YZYu>Z_j;TUm!xM zk$oN#t6f%E*O`}u_Ji!HN?gehU>=ZkjwXKlo_nLhA7(^1%ebDJ;o5rDO8Z?cA_a1NE`(7*-6@Kvh{v_(^7~k`6 zd_SNIJiPxV$k#YMc^%{zu)KtK2HFDN6TB1XmY@5Rg1to@0erlm2bmBeo!&KH>_w`UcNEWE0HK`+YXA_w z=xTK$x#=cpyt+iQz;b7YfM}DHOHbMz3+4NY#ZM=|tQMK&y$}SN1VO_R^{(Cbu7n+Z zep#A(7=?XhWIE{jxym(t^Xs1ux?W}OF%t_5Q2?T(lHEqq7!wgV(WrMP)P~`S;n<*J z6H=CZw2w=`lY;g=?zX^8;L5-jCZcIWGb#AECm>zL!D;I=QQC|_{ENb4z6~c(`2l9*S+5~&1@y4-|0WK zAs>L)E3cFO`yGnefWFG@;p^$pSpg- z_z|??^9CwhH>R_&OJIWsAaMYE!t?lAa+2rOPu|y)(kN_Tcpcv@@6Ow2j7P(lo?j9B9#b9hG)XL30DLe1Dy|DwD=7+m4K0 zkTEBi4_dVD=yO3?x}7G)*CU-?0yF|Vt}H|ZmzS3SfV!?hFjy@XxVTtjQ7yr2aq;XN zRaN8k=oH)S7N`Yn(}bNp3z!r~izU_?rYh zK@ERva&ZycV>5=kOMzyP+1pu0TEjc;fM)!aa=}fuLCOWAtKB!j@kwmJFrDl|G_t2Q zmxLuUS^@=`z)Njax+EK7pk5}qD-=MZzHkx<)>}z~3js_#Z>C~+uc+z(-a{I0K}T^o z7sBzh#U!$t1tJ1ttMD0(gXI=V8(0Wz!(bS!q=Jyc#&6)*0Cfe?3MMt(#f;u?WD?gG zE=s&1qKrtpPzQ94aR))2iA76#XkPa0!}q79k*!c5UF?5-8C*VAw&N0t!+} z8`>?%1bsK);01uT;af0(tqr^qE}cWoHMYj0WrO9zH_(uWv<$I~3-Qf(@1o$h;qo)l^*+bN}a%cAq4)IyL z|7=Rf1Io^4w(Hvj#Wm8J5T0VH5E#Ks!FVJFw=gMeymBl7V2>~YHF(5wOcFF6Fc!ps zSb&^@g9$=hsTtOY6#Jp;l}5y&=;A2SK^M05b6DKgl73Ou>;%x%o)?D2*^tfMhA7$31aO|(QPyXi1#F8(y z-Sge;AO8KuZU5=F8%x?F$8-u5Pe(5%7SEa**3^JnhyZP?sH#P1B9bH(P_*q9)-psK z7L|plhvf=Tj!jo}1fvx$FIpVe4*=Bgtp#BP?<^{F5+@dhiivEl1yc=cEvkxoQJcy| zDiF;i+z9n-a>7MiTwJ=_zGnnLlzR--Zt*@Qv)_khN!bOvbb7-g&`H~${_&KP&fyG= z()4H86)`yZ+H|+O^z+$NjveR1$}utgjSp3(YzM~y zoOy9j-@-Z9({Yc-3XR#=1LpGE`0lUc6mg|fM|XEVyUu5vdN1die|ow7=HGvrbL2~9 zWC7rO`}A)t>($5K-%BU&W}XJ^4ZK-yrQ{?6CG1xrhO><9k@j4tuV|JaWLZh`Op$VcH?!rAGAuoE)gIs*?p||( zR|%f;GbuKD=}73F%l_K;fXx1}q!Y)~b^qtiTGG+CJEy0TIS{LdEO4@O!kJD!8g_!~ z#Qi!8uIUxC=z7&a?A(GgZ5%HnAZsWl^05}*mEi-JLhl8c4)}H9=yPl?A1l?l9*1hz2mzW{9f*dSb!Kf(CpF9OShs(=L5P+jPowZyMO4c~ic1P29_NBPlmd zz44aO#vzPsA+6GBMmEh6CPayV4MKBQWM&OwJaK%>#L5~1d<3nGF1agtEfZ<>oekG3 z$5>{{sdHKYrup;zazhICxf)ER=gmDnIDJfyv+iGCoSPk9qB)t3CIIZP!xNcNPcn)y zgi^{tVV9@FYmPhKM8?-46~}3a!nnvX20UJ#Elu{k!o8FW^EI$;So+?4DCb-U8C4gq%~w}2f)z;#*JsnC`eIzR1r z&t3O<-~Qhho40@Y+aAaQ!1?CMFTHmB`Y*hH!Rr-R+fm7wP}fTsW8heFS>8KA+j>}H zwAzA+uv{Ji>dHbJwFWB z8l0{kz-<_91E{y~+Zw8hi^g@$O&~xGEL)JF$bgPv3K0eEn-*4Ag^WN;pW3LiRLqpj zFW;uwuDQ(10EnW)+3|prUUfP&Vb{ce?KIL(=7dt_Oc2BOW2rks;=bMFRLeEY^fw4<M+>j#SMz7i zu)oi2%AWD3I|28;$Lt&5q+@^AXdm9Y{>$EublgO?w<=X85G2L~M%NfXDQu9Gfz=Vg zxf&LLbuPHh2=L_HZv~3QdoTlws)C7|Zi==tsvc|@UO9KThD`!r>Dst0hI6l{^d7Kx z6A*io`S-S&>q7zcW_$iicj2166F~Ou^;bW0y1M`0ShhcaZ<`;U{C~h5#dbR_B5J`T zkmwVs5_Ynd<8D?QG@6@-MU6qqa9(g^R`3nsgde~Qqc&$CUxVB+;FlnGj0GK|xv;4C z7*0G`7`_c=>nl^oMXhr^@LmIuBfwhj!4y^Gj{IcwW33~qT@29~yH?joIJ6$4X1T}MWGJfwTgc%Lt zP8rJGi5u#8ONOPt5XCXT+DqE$bc-?JYq$vRVIvM%R&uI?m$+UY>JxSL&#n(&6*m+>* zx*><4m&DL-w*>DUOclnNVPL_4G+R(?B=X(|=L``@JYEq8C7_DE9pIY>lU&8tYRH6M zb$+{T5P74G)iplPRe|*IabDcNKHt3knGb+$y6n|$&Noj#bN}eU|NQL(V0C8IA73!O zC8)aG)te@TRb_+Ne!GQ;V7=a=VuPdAF#w=hZ{VEb>+ik`<{E$QC;kGM7Wh+t;wNDF z6tA7W3CpK=_nl`jun=#cBw$oXVLpqh>yFJ6EOkDu9$g@T#6`3#RcP)m4j00(RIdX~ zYzb~@EHTK-g!X`rXdkf3po>+MChqS_S2=e+v$N<$X9X7p?RBd{IWw-qs6au|$R@U< z-{_E7-Q@E)^bgI4o0v&0sFVS76Z{Z5llolx)7^~d*xh5?Eh|cUGwYSQ^F`Cc`A#rs zuRMTNE-Dy(<}FkRq#KJ8EMp+0yVbBvu%&o{9PUNi(Dkj9SpIO=#HElAs* z#L9Bv)^XTEsl{9{<@b8K5`>}TXSm=WV)hkoDN@7F*MANTy3wi`E25n`k#ay$_W{r5*b3q{n9NRU>Ze+P_k=-=R2$?r0k5b2_HY_WU!dvbk%t z;7k2^=kjZx_ToPO?Zd*(fY{7L7Qb3UJO`iD82!g+VXVR!ho(J8WkXbec#oPFV5!h< z2u6>8KuVCe+pEo!qwv-P<|>0BGYl4`GEL$&YITH5M} zBtXg#7!YjdU0Z@z=|1=L{gi!L5kX-veoFDO+UcrL1R|u|c;ZR0mO!q=_f!h!SZF+H zC8Kvl-(5xD{wH|N#?KmGr!+rTL=9|OlxWO4ca35^4FHvA7g`zEqLdj3`ES-9fSuZT z-on}AJ4BY-e?}?|5W%ja}zj+UfLFBy3Hyu`xBPcP(Dw98$kokXUo| zrX(o3icbuIae%roW|F;Er3$nysBHri8+$j(hB9Lej4_3kn~aX-CYsUVoO#``u+Q^Z zs4pqF>hZpaX0NL<)q6p^_|IRg-}&@inIG+4IS{AYC+FLzpFUeX_@CbIi_x4mv77w* z_gPf1*1#CR`3-E%P_%gb=pC>DR*NGT@;F`{fxN|+KL0gXbA-3P<2$iftnjmc;b-8T z;v*mVUR1oooaV6|YFqXnGvAW?kiVTHCuzDko(zxRN13hx9? zB?C)Q>YMz>i`!^Dm{j_uNfF;MqCF@SOZL*gIlor%_#iLf$;rzT^%>sO^q} zt_%771|)iqxrOFtGA#fr3XPz0^bS?&EpAd!r%5hB6T4?-f(~Q^!{)9&GZYy*W{?I( zxNJO2iD`lDiL8%_=dkcx3|2Y@Ms`Eg-k8k{ymsf!%bvx1H)C=e7B=%P4lm}q@AW&+ z$T!Nxl4BQ7zD<#v2FKfmP!1teG&Op`X0yTNHu_|m6pj$UM#|k{jv85xau){3Av64J z0Pj+oR3WO3WrS1~4>t|u1UpjUh&6|@1V7MjPUz;xC{xh+W*?f^l#NrY3O1Aao}I}< zv`pVCt3Y$E9sLHP-KE)nh{b??o@lfjt_}J5p(dZ%*pj`T)FU(EeI1jWHz0*ZcJkat zW}f1P$(Se`FdTf_4a18Eu|g5Z4=7L*!CzjYX&e0hXMYE^2o{S4%#wp|Idv{IZQBOM zl{vT-q`585L6x!H`ml37#g4Ufdfd!0@4M{mW1S81r-z23s@P;>I8}!mQG;g9@@(a*qoq}`@nVu_QzP-GZI$iI5Ow&r`Z37|$gDN;GWT`-6Q;Ul|F|Qf8mcP?GC>wr;BjA=i-foH*)PW+vIOEfKe zfSrx<8L7@~W>p~QC z4yWL*p@-A2CXK9)*jDteO6>)} zPKEC51F>UZ-hb`>wJ?32Sfj1g%;KF`Q!c?W>BRAO|IW`LlE+WjpmaeFoTL*ZP)KHF zNrLu(ynws|TnI*}yvKqVm9elKqm!M3b4|~8wqIqE;&y-K4e;~$nFW}H=-M++SiR^< z%?m*>;=gphxjSs^onmAGppnhH=i8@${cQEx|M-4_uhiR^Nt{u5518%dJ@1+@$=NW| z5)&%RfG$v53kcz;KE?m{`L96n2tWDbKZWfD;m`l%e+a0>Yy91C&Vj^WeeTh2!_N9> zaRgo(w5`W#QDJoymaV1cp4rEbf6&C7y8f98Nf4vM#&J`yiH~ zqg%|29*r2)TtIKB&78)F_o3sZmHK@I_Haxf) z2x*Wm=%C|hX#Ykf3EgL0b&};Af=HUJ1B{v{uh9s!&z5PQ$0i*ZE)wlm$Ky4Y+L^}3 z*$4LnV3g0bPM?12G_xEN;#4~geNTFnzTebH7XLO8Kr4VMYH)(Z;}VkepZ| z9Mz0vBUoRYteEze)3$!i1>+}ffQnQyrVgn*GLy1E3G9{9K$Y>q{W?xJxe_xeo z#AGHhv*5-$-Rpd==LMuU&G}y!ZQlI=$nIoizxJt<#p!=#*nZ^w%F9yGoU!vFj1#4` z6ep)BN~OR!l30)|Kw6<`0fSRiIEFM!RJ6c?@540;#sW33uwJhr!mv~WLSa`NeImJx z$rV7opxMMUv8YoG?vydoE?P(tn|_D6Oc?b`eo4pFbo9=dz5}te*=Lsb{}f{bx1Y6s+l$Dxk71X~eP%!;e9v>>bs8ib;>4hno0!rKV&5jG2c9Df%DuliH+&`Mf{wk{iK<9f zF{0tdAvrB1rZ@Uz69>SZi>k(Qxd=P#5`PNd8o+zSX460=O?nmD#t*cuTG&?wGwjX>H$9JYM6DYH6m;PS z12+SdP6jk{X3)3S%H=}ZVUJRt<*_@27Vk0gjm5N&YzcxX>tj21xCGEr90*a8B9wMB z(I+&6Sh^B3n%K7fnUWFfPqaHe_t28qp^08P#~|+ov$v~w+6Qu8WGS%sp0oq7Oq@Xz z{jichb6*?S0hv@TZ<+>;#H{zocrjN&7mFZ{O^KQv|f{_=QsS!@lzzj@X7r^qh?hJYAIJ0RU|kaFk!K%U|n$Q zX7PCR&37QJgFbzXjRN+;S#UmZzPEv9<}fx9lH!syB0=%Hl)_g6Y?(+%>&x1%Rx8>q zhtVq^<5f3sS9$-<_SvWI8XJ2jfh+*LbNPp#I$qrSE0*o|z5nP~>5TBFmU|KmgYZPx zkx8_{9~KozDyRoqU!%bS3Iii&xO^s1w}8P4qJn$JCukZ2aY69!TZh&Vs@g!5U~Obq zDS%k-2;u|F>O8>2AY+hvc+$V7nCL}Z1fPnsc_}v@X#%jri@yIkbpT*{Eb9a?Eg4$H zw3Uy?IFT#67buW(V+vNd&)k-h1!S+Ofs8*qKUP~ah}DjfooWEl0~k%2>Qts_hPc1@ z9lpa)9m%)BU358|TX3xINBbYmHrvT;3^+^o|NR?wXw zwm2O#Ozl)s)(}jN8mcDlry0^=UV5O@^Hs6QopXDb*5r1ezw49eKrF`x^^&)Wjc*FT zDDO`W0yMP!ipS5{12+IoVg|Db)s?8-m(U~tGJqilL$IoATt0n*+IfH&wZ@H=wQ!jp@{5TTBs9C>yY5EzAd9sf*RI6#LxcNz^9$2KhkM%~eW*1)v`TT6V-#_J zaK3rx&ats~7Ra`;d33&c@~Qhr5C50<4S1dBsHRhlicZs$qYB=KiOID=-?rI$Ts&zZ zt;5g$#lHgbOZ=IC>(AnJ^$=hF!Z%>h;;25x<44c%aPR`SEdPr-Qf=V`dm7cyaLFWH~_wQ8d=1mu?qjX*rjx zl{?_Win0$U2W?7?VL5=;&Ob;r~W8P4)LmBT z=opk@C@B~`W+d}3?w>2p#5-6q`F=x?(+^H4Bdtx8^Mvo*T8dU#VQhgIUL8a|L_DhM z2xzvrJm0`NhcABabNCPu(6k^5?gWtVuc1JuKm=Tw>`V+8U&N+%_?#&g zb~MIsdHR}@5lmJcW~47v%o#VG@7CM%Pl+~p*%RZA)Q`dSl zje}2`I8GnQyPK2npMxcfwcP6lrm`a&K7W?}#WVn@LK7X_^PR+FKs^S#9y;Sz zF!lwMBFLbdK+3eTewVq|kVH1Ty$|n8hlg>ua{>mlAog%Xb}&eLSwF)r{kg9FyHrYi zUTn!tKzCV|?P(iz=5byi>bl#aMZvg)-Cc3zYe)}7k3CW+$8{c(S_C*;_4AIe>1o%3 zy_dr5>i}U6W8U42M-v;)t6pE@z>(=WYeF zqC(p!j1Aqywqmd{+O`ELP*sbdSJEviW8uBvXi?+KU;G9L$N0~G`oD&3kMScP`#3D_ zVe<&6c!74)f~>*my%nrwoUIhh6}$_8^zs7Oo&y&bgtk>|w?5=U@o`X8nNV(|W%wM< z^|w7FT_{4B(Bj=n(AXH(zX%3kC7S$qAq3Pb`)g5F5_FAdJ&-7+RG^E-RT=}~c3?AA zrVxn|)b-;LmAS7$6e>#Ql6T)k459vRoRUXpvA{IGKY>%C&U~8W6;1@!8nn)#Uf7U+ zQw1hmILI5s1gV6l@JrDPmeV<84#61+S?J2)`|u`M+8E2BYgh!97?m-wuuw2suV7n2 z)j`C;fT5m3BU+LxXr17xcW_)oj~QM7-2|H@8+EbX0F4PNxEBwL=xa*^BS9zc5qiLUJbuUV zkmLMpV!D{B!W$~2JE3_3_3jVRz@3hXO`=AlPwa@m_gTvt7;))_hyY}hmN}wy4pM-0tiE!g zQpN`A1&|8t13(o5jES-?0u&sFYLK9iGU}?6h$#VW^bVA+z|^LT8xti_S9Ov&rN{5 z>t>Sj`pB!!#C2ukRDoiTAoA^W&i^U?BaMCU} z`9G5SaFN8stVO*-vlTEFP}K0PMP-iwwSXEhS*R+O%O$MsN;6z&azm&=>Snj02`qx1 z4D_S`h7)VNV46ki{9@;x+kx2b!XFDhsnl7{lnG0Q#p_ttHZ@@!nzOA1P#?cccl(1Z=b$z{{8yy1a#$bzMnW5JT_UWjgF(V*DKHc43kchBW`zH z>t#c*M#g|7XsZnYmKf|kAP(X@R`nwEPl#f*SVEk;5_7%p_M6NdyEZkmgc|f($3EvY z@I2?f=f&wmyJhHaQqTReH@s9e5jn#N6CPg|4*YmQn**?hejT zvpPRP?70r50C$3Epxld?)$z{TXC{O(-Nr#9uq;Jll12ck(XTa}4-DG)2hAp-x7FmOFSTz1ok-*pU5Z2wEuheUvJ$z9=q#`#5l=~jXx+mD9Ol#|>Yn5dTqNHyf zv%}+!f%YUHoi4UF1Lh3^4del#q#rgQ%!S;HV+1V}YyehFcf6Pd|Y>o;-fnfh^u$fB9EWmiK>dVV8gYRb42VV+l`#=bxy8*@9VeBLERWJs=R6 zss;ntx&T0%wV<*F&>9uau&@uYep2CN^%gegh$&qROCHWUEEYC^EFVp#$!70!FA9MH z!@@8FrUslq#Xv|xu8RyB8gxQes*-cQOQzMwg@_de+sggO*wB*FS$a`7Yji-hV{2uK zjg1$mFU0Cnc*ts>2g(zZPJr70+{dNup-e&YVjjzxLY*IQ!hIt^o63gsUa><~`ua@+ zg(VM3WPGVubf=~x88BD7C&H;X!`}US7K(2-Hug4tM5G5=bLM^27kcmW2xYcdR5ctk zo~<`<;-PH=?;I+_Xd@7D&S0}~p<2YY^CcBPT?{-R17?D7NDTx5Bn0IUaYsb3Ah^^$ zpOR~nbyM!Dr`*Vyz;5!p^#usj7}zibv$?2jmkNoX>epMpaN|a_l{4XO?zXob(Myst2U=jJznUr2Es#tY8SzLxSPOr^udRM z)w!z0+-9zI+yCQy^NnA<>vN=i6(;hh>-RqKq0IedZXXlq7YOq)> z17s6MUDps#aLpE%{t^tpT8p#OdwBb+?_k|r;HUrn{{l}R13&!HpMcfZaQ;ZJs?Tt- z-k{>}8jITEXbCt^Xc`aQDw@k67uakz5YO0d8;}XRaKkOEsRPI(?jpI;0Ow$suG$YW z2><8M+!ZOs)P0*YbQuJr^x)&-adB~yKEe`EkG<7F<5$^~6+j^M91n(k@Btqp@M z!D|(yIgMt3l3h)rSuhg?y)$WuB1IRfkp?@bFp(suE^Lajdq@0F>3Q2(^o2QuqfBQA zW=mGrpaZl+fRjQZN+ftyHf&eLVK!+C^Oj%1elz$!W>KPP_0*+i4pK2oww!4EdrZH150wjq^ERZ$s&jXuN+!>};$mzQ7&{-59e zZQN4=ss)ZgXg6CdiLZQpOaWIN*i-1BGI21AJMq4~jX2ZD!}hu$wzuh=vR}NVM%P2m z-*wlG%gy6Yyb5#dD*BM%{j0#53#flLG3BnR%kZ>96^o1uz@k0f_SpV)3po_g%cC>u%s|l z#RbO>G^QaoPzN>qUV2uR7bt==pajG0BsUm348)7W1GyO_&KiAvDe>e4BLg2;L@?>m zvA1PObO`wR&C}EY;Udbl4`R6=5nJ}>6ipe40aot1%+dlM*y+HOXrG_$&S9}gCnN20 z%yf(MjOqL|e}_`B*v(79R;P5NH%fZ z_u)mL#PH&OBM;}*x}715YIO}Qy+ z6y}gYn!+X7f%XAr=@vjST%iNFI@%0 zwt_9)0}>L5HJG>L8rr30=C#CgQHqekF2*1hJ?~g#zuDx=;*l6xh2h{-!5kS^?(eR1 zpo$1c1(hl)5KQa9>QQ?IwGC=AknI)~n=2QjugX4N7sS4(4eBf?zvf1FZf@T7TKjx+ z=c*Lj=JM~Zn{WPu4}k0~{ybj4`-`tCkPXJq9^35}#(30qolAlV$chMDD_}A>Iy!-G z9iBbA!1m%Cf9i)mj?G%}@BZ8WF{C+0b3t&M7ALC;-UDa%7ElFNb+}kBpS6HtY&R{K z4YqA$Eu{jH2@U#eVnR^YoF#KRRzGg&>YBE+OV-l9Cu^EKM$KXIxk^RQ*N zlhPCu>*MWAdaYTw!^u+IHn&@sg840)lza;0bLd=gRK$R47tyjs(wPDJJI zc+JF^Y6+lAEqa(kIxTIun^X6@_QMfa``0s;<|3V|>_W+5MVjU&C#%vKO02zxe7D zBKF?rjOhSkZDuqW2CTtC$vcKL1QiQ$N2uumq*=gkEG!*iwK&4|Qeh3C9#CmP3|Jc? z1z8NB6$lktr|@DR$}u3jik3goJ;4t<|0(~D9RRrZ|Diu@b}W#{gla;7>9_2HrfmBH zEq>#qB88qV{ifSBS?*{FGD9DfpTbFP5kdy{Whcs~J0Kk?*hVHq%l*ytBiyb$^~L>yE- z2!e`%rD6E>8fdqG2()dmFcye5fASo9gl;2+aM-gkH{ae=dpZSh_xVacZx7u==H$)x z{1e;uy?^qm%#rq0n$X|9eCMw%tK*+x;@4lL<5mhuS;jC#0q=tVzOF5dVK5Q4+b!y9 z0ckxho^4T4jpgDD5W-LX*}nwCODyecpw$YO&jc31R?D(tQ4?%c!TaD!psHA}TdX%> zvUM$Bj7FVP2r`JIP7F(Mp=?-q%87KgKL%9TN=al?k=a=B{T<=Z2VHvQbMCW~NNrWjjw8bt#*2~QXUr)H zOpA{C1k`}B>p*fpC@lv|W;0J9oGV(R#T_(ml2q*gHW8$VZ9RlNn+|qJU!QbLbI(Pf z1g`zfKXZ};^kqjQ4QvX^rVhZC9_f9+oAk?)T?>NmYWh2{+*|r-sjK)W_z97CHG$Q{9N4OnZ`rUF60aA=!#WHF@Bt{OlM zR1L&a&_;r?W>zGC&n|h&#NX8A&Ow5}HXb`?_Amghz#96%&142K@h182f>jkzUjrMF zR_P3&!v$YC=x7tx3r_!OnGDBK0L&7sO35s9YFO!*W=Rb0fbH!utd!gn#_u5$k^n); zUi2R;Q)xwm+xGIJG)9IIWHN{M2mGgChuDW-X`0@fHT zD~nnL3-57SRWQ<`1_0l}Z#PgM)AuOWEm&ik6JS7r=_o)GDYCY6u(ivXBAtuKfC(%Y z{}IDF_}pnLs($)=hX%>bj*052&n7-^H+$$%Kt$qSXZM(n(BvN9U#k@;RF+mN#^6B1X$NK z-g)O8yz$^I933Cw_rLH3oYF)5XaDKXq1iO}&bPi7-YeRTN8>Lct)eD_)6*5$RDcLv z+v0M)g?EJY#)EVT?}Now$qFLsnIFl$tO(@X-WXAU9 z+}xxcueRy17Y*Qd@#OC!iEv*wBV z$Dc}++R1`DHZ%fVE(p4^sJJVJG5}hNC+V<#={`H6(L{I0z~cKg%64~ECo;<=P>V@T zL;-~)MoHu5&00o92A})l7jWqnZ-4Picv@F@^LxGzb_r}0*eIcO5y(;)n8bl?6$;~? zHRxg4Yi=H5gk&xw!J)(;Sns72BjPlVpsxj2>PZb$C@_~f!LEPdQjv)|^}TcQat80v zDDKU6n_*;&D%8a7!?eC~p53+S%4UJox8+LrFj4P*1L~5!3Kx{#)t;NjItG-YBY~{| z6%LH7GU{MEfVv{6S{M!+14Ds{jlo{on#&M{v`O(G-(q!g1YWoJ(jWW*zWVGL{@HK* z?^ucAjr*_R-Wzp@rzOR`d-u?^ZLh~--}O5Q81?o6T{+(;d%My1o}6&5@IHNi;oAYD zW%AaL(AWp4OYi1G)&%d{-#K4@EC~U#?N*UJ<7U#FKVI7+AvT*qAY)(}hoid2(hweR zwx|I-TPvFF8njqNeP+~FOK?NbSaAvF`Qd^Kk_P1FE{-v?6az*mTJQCIVbOOD2yw5; z-!w9pT6EPHD|O$&AU0R(bSNEbdjJ3+07*naR2e#HZ_@^R%E92eV`cU>lF0-qVS9Yhn$&ULEJ;tlaw01Xp4bR^`Hn_Zhy?y%gqV3}kfb0wS zd3*h(UplT&|I)HP`l(lfO-Z;>LpjQe6bUN?Yb(H4`0|&(f{M=YV}I-?U~!5c{QiFv z-VrV@8rbCHSJ$ZR0u)&eFTkVsE?~HV_Y9B)G&&+U2X+j@w(x;1I_xzuJJEGOrl)?D zeu7ta2`C$uijA`lDqFo&Fq(>S9flzkEUap@AL>K2en%>0c6JC@Gf*7>Va<|<&@4x+ zJ@&KPjdv4kw)u(~;N3E#*%O@km@@yb2>@sC_VL;^BMhcj|MhieR|0?t|G9+%P(C z>B&F>r0a|hCen7v3MQd2Ne@hnL4%F}Xs3_m;yvPdpuWA;(4RIuzXP|FgB8N#O+H_e zK`e^%Q`G>(pfVvGXR$C~AuQ_fO&deq>zJ;{lM>}v6o!G*Ji0Y`5O}wZ88)#xk#gAMp+%;Witw4gs+_ITG_WS-0g! z+q%vFcE0)gFTIMG@RbCz0PuMI?*IDcD*|M_gj{Q8hQh~2jo@AYW-JyJHW!M@F3@Zo zd}BZ`fUK~pme8sS3xYABBiVWwHc$a7OOdtZMBczK2l)br_i$}_VR&TCYhrK{n<^_%sk5&p8S2D4E&)P!3UMwynCKdg-*EyIlv<-^AL_fJZ!FV@6-`Y#WhyPrOrB#9J2$ySKiJt-S#~Vg$>US*c;MjS3)4Xi=u41B z%r$^q1<01oP#Oaelmk`jp&^V!6`sQXp&C=PqQ|p%cnHumcyMxx?fGRW-;2ZflP93# z6F_79Epgbe7BZOVItLS7R@iq|TU`SaM`fpGP%A|&GxaRFy0Uv7|Jj+OO9mUNSw_!6 zKa6BDYPRh1-xHNb6JJMf$PBLeyb09QI7vnG>O@Eb(?l9r_eve8ot6=m8eQ(OwPSx< zM!&(0C@``R|Npc1uCcOY=XKcnzP+oe`@HTQUe1HBnUP41tc12~LXl)8wqnPD^~XPg z1V~^6Na6%}I7r|mFc3g7Yy}}jJt$MAo;DH-mKE57AjqufB zm>JH@o%=fHbaz$l{eAhdcUA3rb@zE(4rlH(*_eCI=|^>S?Y-At-}=@93xP$Tjv#Ol zF<=NX&f3N}LqP4rM-~ZA3x%<8u7XrGaw53R8n=o9_4yi0@zAn@lpCvUAtItn)?B-`wqdeeZi;uXylv z3uNz9FaG>-dE*C8iW`6Nb+HgDVi#)+5TM}cCn8v%ui#w`63(0f+mkrxal4^JKN<5u1yaL2VPp8lh`q zHPn7a?w9x)K-~xvl&FpC9ZihUFPD00Wz=bhbyvUvTD>7%$&yP)fOv}W-J|8~%ZByb zckprp!8d&2b678r@c6A; zs54+)yVx}^tx*u#iRw}pLLeG9c=gq(@^JfFm*-tvh^lG?9{OgnP4*tWRP}#Y3{}VAcM>X z=|El(NHP>zpkUbq088z0hxLIZ%w6I=mNv)9p@nV)pZe|J!57L6{`t@T48VlvzT#ON zDdFt)tJpY?$8Nm^=XHtG2M^$($T^?iysPf~elF4|wXLyh=cbdk1LHXj_C;9IZP(B~ z^8*oG%f@_o+?(p`2R8NXpMSmL!Pj-<&h6Dp-|NMH;dOPwnPH5HX-CrPYlsNeS~%x| zTL5Kn4#@Lm>)zAE1crYH;Au_QWTes2*;)&mbJXv+q+2v;ixM9Ut9R@O)5T;Y36Ngz zasO`v;3T6##FIwiGzdnZUSa@^^sfEmr(P4APNq}!|2_TrFKa6$JK2NR22J&~vwKgT z^yLL=U$@@0%6osV(PtxRn~jDJ2E%J>)@nyR4i-z)RRz}IJW!Tp*oOJ;+U=g--7TfZ z7|r>IamQPm5x0ZI^u2a3;{C@?MZ`|MSK1#ib)Pzh;rr|YvHkC||NH*;H2?i?1F_Al zl-hnx`q54ttB69>CDo_q`$lwyz-*GAs-mzNpbDvj7|T^Pa$|w22I}CDK?=YNiabYM z*YI_Xq9{h!=A3)Mb$G+hu3>yJ`@X5;*=Cz{Q3m<4pmXjRu6q7N{1?vFw_mqx?CYA5 z1%PvR_qXqt_da~{;MRBR)b4ig1&_Cb7@pooPw_ozgKQ%bH?dyl#bI5QSR5XpstI|1 z14c63y?qY17W}Di__si1fp^|~8cW=SZU6(1$_JgRct&0n*p$KBuVTi=3o2g)-@juD zp$A}WDuQYT)eJs*oO&1ZP$4_phM)!x@wwW#5pV*Efi8VVyB%v_Z8c#yJAJKSUIW`r zckm@mrYi*jrl4LKh9m^`zrEfKC?G*jyOyB9Cy(~=la@#P7MBAG-jGEH`je!xEwP1cMx9&9Iy`TLNU3;iZPxB{(>LMm2J0KcosciVQVJ zi#26X0^Tfi|Gl%)?7re*Z3EI~jj6>#u8NzGT_24{z1LtPkHYjMj3 z-)Zj^-UW98fx-!a;`L_Q6uux)a?ul6Rbfr%9c_SKl3>~tD%7(rZWF}(X!DAmJ3=cv z0H7qJ$Yirkii2%Fvi)9w9DXaQGyEOUl)f`v5@ z0O#i(Bm{s_u057n0q=psqJ;5^`sF()0FXd$zsd^#&)@yuk*`Z+oWqtCa#57k2E5Es ziJ-2_u&&e|3z%e4)E#W@ z44?@u>rCV3BrB;irM;nKVD9;o%m){2>yJG%$xB9{ZFmVh-4Cn@)yKNBrnHWnGDBzRZ1!*-L+}Hzh1F z)C)3WVTgm@rvOF;EDEh0Tv;Jw(>D1u6(S#${mC^PJ*(jp(1{qmiXKZi%bM=2Cnxv8 zwKQa8d&z$yW1m>X);l-a(!uZApK1E@fX3|Y^rp0%&*uG*yU>efrjmAkm9SYMfl}&n zki3_du*(;LIsthBoDU#Qfxv=mKcd# zyO``109;v?@ZLwz#=&kf0<^h&f$Q{yo;s(yn8^Ls44Pnbx4SL04(2^SX*+pFMjy-K8M=Z`v*{{zrT9*!%v*N<4=7l-cQiP0nY3S<8D3u`)X6c z`5H%yV}KQ#x(W^i*1$01e0_=o+{8QI@eB_5F+BeGlQ4CGvpXBqweMnGbx=BQ+TNRq za^wiW6J-eMUPmahi`=vB&YFzMf3W)70fEQw<~T9S<#>LhYO&e(4ciJ zE01Ic+dx#x2DN%X-Oj|N`R{E48V&7rhH?qosX85Q2Bzn&{e5CbRe~mxG6rKzE(D+` zck%6aX?DI1Ps$IvhBChR=OBH!hZE|6(Z(yXuM*nd z+b|TM^JHdpHhTS2ucIp}ExD(SV;rkG&1YuV@ipl$cJ8(@f-U>Q!{hEVv28Ri28m2S z+mP27Q)y&oHO>~=G>9T3o(c8Ak%k`ODD?pH41gFI1BlCz89+3HH4KGfnGq~o94rCn z7qA6`C_|QqCcnFPS15`l)~hu#HaK1uP|i@7b%-y=289xS;>Z6!PRQW-fAKE>5q#Ct z?}BkPv@BcK8qucV&A{3m%#6yFTd&jW^jw|PqfUXt!TV3KnL^kJV)s41pf}#}m@QM^ zw)3=22C=J`;CyrM!@;-bO(6T4-(J~#;inIa;~zRKPX5ciFYYUXS<*3xO-1AB-@W%> zvR#ZM2%Z>aS%Z8ILI%K~$U=kH`Pl}!5-R6Id>?TOHbp{0S8(&{;!XRkZ3lR#SjUc4 zoCcml#!eD_YAP3K?WnX{qNdyiQqY}7QKs^N{(Fsq-U#^h7)-*zY@r846%*RnbZ#=8 zV?r7y3mr@%%02Cf^qSfBNru^?)uM~!dd~q}vz@gtXzP=0qFL*#(2pqA_?U;|zxCRJ z*{LeQmotdHD7!RzysKf2fs{eFXq{lm46~`AFyM8Kd|_~2)}TC(fm8+}0GrPBL`35~ zfULkjbxePw(I+%9sNq}o(8gmVB>c6r1xH`mX5*=C;$HvrnI0=U0vMD6BaF9T7b**k z0Rt!D0H8Sl+sOk!gSb#aKfx=yJ~SIX0zo-8%|!{1wvUw&kPY$D1RKGu)(D#gWx&-S z%3!>}#-NFOAwh{?7*@NvvWlNcjYZ`=I1($a78vhgwSs!VF)=I=PHYBKmSOx>CB!>q z07~Zq+Z*Gu!}=8H3fdv-crC`A?s$J0=%e=ujp-Wg=EpC$uTR^jz6*+|cHx`3b6i&E zKeVo1`RO+T27E&RSpc|w{>8t($PT{6uzhyFi|&epfu@)Ec85pJgasTN96`ikv)MqP zI669lfN}e!yHKCw8{hX$V0VCLp8iU3wFIdFX@<-)7zS0Mk!%uvm^d*X=N{k-Ad)9# z2rYn>{?C0qruG`LhCX%;_|=xBjgN&6m}5;CR_b+McR)8?ym)dUR-{q118pv062uOV zcaG^48t9q_c3!HTHg?}hrPpjT!Mv*Ov(Mib(C*W?)kzDaeNW$Zyr&jH{mohDav|sp z9rjk9>oy?fcQDLd$DZQ)0uf%9AeOEMbkz$~1k22#$aB1W_Z6&MjgSB8ui}2?@$dg9 z{~0Oi~*>Ka2t8OUR5Ewny9V#2tuQn01y?VX;czT z{Db~JK)2@BI2#NX_w;6Bb%qi{W*In*r28NybBS>^_<6#WAZ3ebVk6sX-Qx>r97C<^ z7z3=_YzG2M+kD^DqMAfg5vo7Th#)qwy2gZxR8D{z#=-(*EV3*TDqM$Zi-y!T1t7%O zxJYyu1Mh*Og9215)~ENeG=y8nCs<~LPk!{5P_H)lg&+6pd7wZICv15$hvj_Pb4rOGRfdk*BI2Yt*OT=jWn}O^VJ-P9WVarV<^$R z>geyyU~QNdP--2NHjHsEX{!ab5$Aa6H-Sl%5p+Kf5hL}enh}_909h)ykL+?aiSB` zG4DM7`LVOlm{Po!c?hpXMDKN*#AjKCvfN;?SfC=HJUheU;1IOl;3!*y$`Yt8ZY&P4 zVMfgi-$vpZ)O8=cY4g80K5Q1evKw#<5g6j8*a6S!${eClC2>fAC{lwx)65rr!gT~@ zCE28z*npNcesyC-FT5V?>xe)DMs_$B(?qJCJ3=F8B5f_SNVRR^qU5qu4xcYX;d0c| zM#d8gsa;5nv<6TKLKbD94vv&2Dc6mQJ$Tmt~OZY8N}6X!j+3YYDxwa=OESk(woK0Ui(A+^e`FhG8K=D zj?0nn@I{V488Z8xyNft0tjh=A^LlUadP4$P0C?g2Gap&zhyV5>JNR=CgM}TwmQvI^ z?YN-p+QAq`mSsURR8@c)01Sr3zxvgG1XL|?a(oL^7g(Lw5a*GbtOHRkKnz{M+?YKk z9T6SF+Oe@IP;J3kj0S2L(Q&gEkNjTyjG_)?1k~zt`ye(Po6rPkZU8WG@|q1mqMrY2 z%cxR67-6_;?T$%DjN}O8CcAHGmrIRC^EAuep;<7~cO7W0+HTo>Y_6Jj-r`Gm^=nol ztz{+`Y!TN+CQmH@m#0F5PImq^6t88!>Aq=0uQheTP#qmH_*ibfB3oQ zaJMY+3qSoc*pwyS_jO-~DqrG>XP*VE!D>^%TZ6@-04zXt7gbAf-Vq_FMc4Et09*i1 z4#Ba7nht!5We??%wl!3h!eeCsR7c~N`!Uc%nSqIwo2xYbOqXWIAq`_#Bt1ae;Kl&z z61NlWgWBfr3;{8Fp+1;k^q2+;_69?y{muWOaS z+&T&M5EmR6VRHshK%9ekkDJE_$g2(Ryzo5S<{TgTYkv)>YnJ+iMO{KM1r^B;L5VL!$j>~?o``+F3+xvrhvt_x(_uBo|*vn<#j0ihFEoPrU6 z>_!||bL92_>KG&zs)5;HGMzTF0hq~buadUnb9@|6xD6x#RtIcj>utn6(1;k0(EWZ2 zFs9}Gl-=Y((^awbXTW0?JSnH8;h{c%804*Q`)Zh#vZ$y6s9JTR+hNa zi}vAr)lPX=emUK?dBR@H>l0AdHI~aIECJ=}999&@Rmc|$nA)R0y^oWH#f=4Epy6(S z+G&&$bk%>y6!WEr9HGXVTHnOxkB(Ad1&a^Cr#YxjfH9`K7L~*;IJfQ_q6j5^ufr6mq=* z@fPF_3>Pq&fpeimmjcgr*Pj4Vf&npFUs&fnm`q#oO(bgZb-L1f(}dNFf|cPpNkb9R z&)NAb>P!j&5yMBwjDF91gP&PY5AxXYkS+`+jvRdQl|lG!_{=h9sO!s zkH9eTb|DYV>q+Os2kHCEs`hMkh|zXVPbb&VR)E@PaykbHCfZqj?;5m_ELdR!!c0(Q z7|T!bETi7au!>(ZfGVXRI~#nOR|39T~eK3dd^I5J$Fd7a&q z&Kj4~wY~p7=IEnq=&Ec*o*^q1INO}TgRnd}M!l(!sY0p>zx;pxEFP%hUGIK3PQf@j zKEftv+^-z0v7p9ftC>eQfGkU4`Ct<^$zB*f1H2`g90~gftNo21ss#d4}8yuz|MiI3T!Nv%*YQ9QI~750)+|l>T0!uwOMO@W^G*O zDvvD7W=rdPb^A|LO@<(C8%sL}274PF-v0b1h-eJBW!eumWr#Vg@X1ydIepK$@RQ;5 zroi*~@7-fIo73+u>pLHP6Ue>}ZeKkA+=mv~!Jp1;@lDsU=(Y3r9?aPkLDpR09F3J- zU8AlDwy^MGz?y+kz*h=ZhBXG(08XS04A?J?DPdP~YUTzFEMbtK zMAsH1At?$#eF(x(7Zz^~>}9igZXYMH)ZK0#HU6B$Tc@fM8gGQSd2b2FWd`83FWbI2 z>%ZNfGd19+wiUH6QRpO2JdiG!$mCLtWEA-JJT*X9v;#>-lc0zg9s>zI6a)pxLCFW5 zKM5QZ0teEV1X&kQ1~LmQ*kDruRqa9E!Fz`#Gpq^@jRiIiCwT^2*2sLgHV*O(h8QdW zk%x)QvMAtGP!t8q=y@Ijc6^&uS=Ti(qmzK`GS|NhjA{3IE+>Ho>GOTupwo`AI+x%$ zCq*LG3pmhpU4&B-h>Olc+bqqTul~vD`o#~u5i#Ez63EuFxp#m4>W3abe)~6Fbpc9u zJ(5C{xt$=5!R%tOKv|ZkstR>oM3so_ZQm9m2Q;+$OwH?SQHb zB6&4gx8rI++=%6w@67KWp7^)63~$1;PBwxiyS-$Q7=hvh#Hwxw3Mq(ceGc z_ho|8Md7;T2w!S>Lsi!x=KwayErYE^z9?|x#$)it;8%X}7f{&@&%O7(D3?oo)3#n@P{SjIRMF!7XZkhSQr2nSxx{vvfMzVsWgR1VpjvJ^RnG|7-pO-GDub9=23>@ z40!dkFXM(~eE$c(9a*)(3%~hWfUoh~Tc3ch9Sjj%RYPhQS!hCTEb6L)iehoF1hK_x zwF0xnvRJ@chOgJNo4AXPn~UgWJ63WmFKX6|DNXBe?(e^+juOavSRj$lbj@C4f?!gM ztvXSu!z>#+_qpf5{c3&hL!$M)H-YTy==SpZ^FO)Fk3Mo#ocuReUUY`p)qAkB=_1~g z)|nZZv8d__zCJ^43&1flQvhaxdP8tdkvGQKWMM49HC_9$NvoN|ht2^*57!~U?c@U; z@Ka1^X$L@7CV_I-;ob%)&^QIG)zh`^2HeJHY64h0xxu^)WH_<3P60%@OGh^IHreiL4OJ4f)LW)s2b@*C4UxVlDe<&;#S}rcMl1X$O?kEsKai?yK3-QZ;h;D1E)B6Sa|QDY@yCW zqVH%cZz7B~J0bQtT$>H^+Bk#|Gy$5yH&v#J20O;z*1u8uGJR=5-#?Ukn%b5S2aVn= zY<~qr3h_bXOOygIk$~i=rst*+9LAdLN{A zidJ{)oQEMs;D;rqqDfDZca^Hg95XtyIvkYdFUn$$<~d5sfU*-rcGoFJK?~g+dGYz` zqTqe%wkgj(vZ`MG$u}zAd&2@*0C@TA`R^+1;!he=eC;;I^`Wpng9V?sD{BY@7KEps zd^<9^iL=uc3M}BA1rx(?>?kDw-gl*WQUJSh!{>jO0^G(&HkA|%fo%6&8V3qAc3Dbe zwm5o8c8~AtbW#TZAZ1t4v*_wWn;5>3f?49$;!CG1`Sa%_VQESAVyJPjW1ma7y2wOx z(d&?UjWI~rR7&DB`=3=?f8(&ocyXvDcuW!|^j1t)7ieDkCfK)W?qT1qbB@^ewf51{ z?u}z@25}A=Et1Oh1{D#qqJ|U2ANtB?p^GJcK(a1u09*0}H!$!$?7rlx4OXuS_iyYVHmfz1fP7IvJg{1w zK~=HH?JUc0zrVWkU5n$l{oN}uI1`OtO<{LybX@$kt7;g_v9xB8!JvkN zB@5>SxyfNrKqwTS>l&!52zo{Owo^J^ZkgY?_RaH$(t;`N>=69+&k6NDV2}gQgj+(N zbxlp6buVkGX{Ob02~U`&Vg_B|qe(G(`6SG5e>Xj}4%pVo-wl zd99QnndH*nr>_+j#(_*m1kO1?9E>qAi8WUjb`hTANy4I~*U6IZ!@A1E`F}VJ?Zecm zUe(s?sz6p^iQf`~m|!i#Fe5VzLx8V0FxCK@6_78G`5MPIgRWM{vJBQ_5D6L?7yBMX z6iOVLE~_pLsjU=|#w=TD$DC-0+g7RJ$;6F4Cux3tUuspI-Cr6d2{L^Zl301)28 zIAaG(OFN=UIf?vg7}_*2foa$vCUKq#@&Soyd%=+)c#KhOxD2K>b$E`+0C+HE!8cX| z2bytU$Kk`8w9KqJd73JDB& ztpX+scn^lcvI#-$vGV9dU?Lb7m0*KL9-?7xxe6P*i$&cQ&pP_nxRZU%$sBaTf@@c^ zXz=&d*$wFE7|7JrK1+L+Wne=n%d&MLSYUytpMDw{y%o$BQY*x1=)iSBg|$2Y)EiXmYBK6C zEnjqtr6lagoU~v7Se1Hg>=a;5L9A+`ZB_IWyMzWHwhu{$z@%r(m9nu3r9Cw72e=pM zI_Cf|H*xL~)9(*zx<;qeDyaD^?Iz-(11FteYBh=MjIC=8z>VLT_a5+JvEf9sJf9{d z9Roe_tqv#a>jAS57r=f=sxy1|nC@ykyZZZcU`I8kLn(mT11iY!0_(Fgy#2{1aVmlz z{_yu=WeooEU;V47iC~_7CS2E^q2%G>rbc5tHrr;yl*(CxV}`0i>*m_y=v!<++*u3S zxDjp!vuYQ1psH|*g;N@=K&_@$2CQt#-cl<;y88K@7-ypZgdwO6kYxCNAr?9$dRc4Q zbI07>5r3C0!sp5}j`D!O%x2M=3mzZ`s0%|%Dg`q^qPE!D;M+C4EJ7s z0cUlEzyBluE3hf?n;-iX;B1BGzUnzFK)C(F3s~A5#ok;oAOHFbz9@zKChXE+)TL-H4+G&X^^Iwv6@N>E|-4m(E`J&f3?Xd@a}z0C3K=gU%R(%y!LN zuBv+%UbFdXf)A=tSKG_{cyCjEZ7i_H9;dDFT=Mg&w9qAh45S&0i~^lbG$NMc3C(xhg3 z(BVkdc#l!Z;pf=74TXw_h=YjRxRmjO@yk)}#WCUPOFv5^Jd_RByu7+hGHw^L)g$1PE;4m{l zwT4*~U=c`F;iy<5V}e(KDzzngW3tw=(7Uh^c2(WZC8=wHb8cjXHMM5#JHJgeeC_g~ z)g*p<%0_G3?{)#|VMF+3=8hDZl1kBXVkLk{aiMvTS?LeICSez>@EbhZoj+8Yp5Qp?Mj6Fgw zM^G~GzJ$Pp@?U1LEr>bxs8i6eXl4iXpW@AlLM-LRnAOwn~TWjFNBg+iDR~SRFG}JU$ zhm|q>94A1Pw(%qATZ3qY*n`-%Wyau;5RZnttaiYM60bPeEG!~y7;M7A$3&>TLdnCD zft3<8G%!xYk%AEy{=B0``5x3QT!c;AuZ1MR`N?GJi)MOg0ItW5fB?s`u08HO6b;jJ)5 z&`Pe(Ak4UN;{*zi2M_L{_6|26dkjuXJa&|$I57CV-~U}$Vtnjx{UA=y&+upe%3r}* zRpR7rZ^s!C&Z-J#vBde>Ap^q-U>%UvfZ@;sfQ+F<7+Z%;B3Bl^tHUCLs|9tfa9&W= z62?3kC~@Rh1N-QqC?Wvwq+X0puGH!B!)O?9wsXvP%PZ}Y|4_Fx#-Ne28H6&tX8Vsb z*1~(hsRQ7_nSrqY83EJ>Mq51&50+5xkXs9Kg5}Zz3T&)`RI$v19K@9ffdc}RRi`O7 z6j<3!Sz=*=WtPo=BUV@_76cqEmU#X*K7|_=_|fnBAP!ma`=9tYGF80iskgV+iLn;v zMv>Hl3P7}%H~ zDJh$&lcbL5w)aguW|Ikk6RU~ZSIKpdvhgV~lrZt5Ys^j0A3f(Fo%JD~1FWsvOgqo? z)56X-cfZs5v(LN1$&RBG1ydfNU<`2b0NHg zZD4Ml2OttQ)iKhFH8h$*5Iklnuy;lkOg{FzOS2P>JS9zEahf#1rjq?hhX);bj}Ffv zS#yE0HhSCEUaRj`(v3+k3Q-CEWDFScL9ZNrOf3gioDmw+sOge#;>clOq6e_|L3*ZM zlQAB~yc583xZZ-7sgFM8F7|VHRGSJJQ`FWP6qba&v6E5~1?scWBkViy=5j?aA`KRnL#=WP+jyXFDja~_$p+G?w`da)`W0F>p~53V*} z{Lx1R-#s!w764v4d;U8LyZDC8HQQ$4O zdE+sl$_Ile={8TAvHHis$wBWoY=&b^FtqQQ)&N8MY;4DJZA&KF?i7#$w>GV7!v17< z>^gA28aLyOCmSNnzV0-8xA(N#KK|k{iPQV{p}L8sV>EzlRgiJSlMGLcV96a%P_RCnG)2ur_Ln8wOWBmIXo82GA)vtPPR?!&%fQhfM>;O@V4N_Cw{)O9g9k z6ggv&85jz{_N|=3DDZ3l_}8$2;`_e!e+*-}+`x#(GfzGa@*e61;ymig0qnwe*!cSf zqcwDmb$#uzs*m4;bn}sNuj7AP)8j>BW~bx@vzuPkz3VUA0PTP~*m;b+=UlK)@*smI zHxNC^OZ=|9uYdh?{qlD_O4yDcr4M`V?|=60>h^bRWgjmwz_#t)h=R6=GYhsRmH`=M zSz@!mJhKCK#u2Nen?~ z*w|DAFG&(uO1Mm!Rm%iu9eKlU`Ob&N*ZuE8c7xs>+S&P0IIn|B8K3qznx?G;xCad# zy8lwwO)C=pBtfv5fia9cw?QjuP5iGN0i(%dn$RI`V=S%%tfd<0`PYB#^sT$fetX>pb2wS%DA#L%0dGBO@~GiZt3X6U5|kHs?*mv=fvS(29)MYq8Niw#NiYmBJO~af zB}hxK*6q186a+4&)q(l;uIi)iDcn^RB;l@J0!WkY?!9mC0Sw0!G6YZ8R&Yuhe65(wvNv6v-VK(-mx8*i z0THk=q;?PyWX6CgFurxUf}x;=B@w7o&}s!+ZeZ&T4&Y-Xmmnhp_KG4~pfEYuhqzy( z069TU2AT9XrcJE4w$@|K+}$-5hFwKu%ix-(YDR8unnQDF%D8F zH45w7>GYDucIfJY5rhP77g2Cm?1g5>&XsE+&eoh(Jp0>uSy)?a#!fd-d( z-K$Cq=A;$-F7}~eDwMB@2qd8a(|Z9tu*eFSJPY01;;}hBhY;}0+unv^xxlafUq6qU z2<#kA4dLJYPyYhka)~G2_5^O-%JJEk&SA0w2PYXwf%?2gS(bodST?BR#xOJ$rsKHN z9eN8`4_IrUY9N}m$Gb%8cE zM_I8%PI;ShvtF;UT5Vv(LcGAl$$=yAk%4s;4VgySk5x`%V|AiD(-)@GgikG!Mv8G+ zQ`1u4Aig$r(uz(!jr^?_NYD#9K>u&E;RwTBJ$HJBCOo0tP|QRLZ)I1}Z-z_tZ*w_s z>9OwvGD82rZVeZ;4QxCBzG+%l1iEb?LU?T=f^z~=0UN+dU}^K{RA3Cla&XhA>Jr4E zL5w8kkZaP7-BQC{Qv(fmPY;3ZY)ZB*V4j`qrzHm00c5Z88W#bo7hMGBj;#lNxf$mk zP!qMX)L!(tEg+(hT41y2@2Y}~2gdxTh};d;M@ZXR=_CK0C0f7 zN01lXT$^t86x^kUT-R}fs|_nky-tC~ZK1bWm5^Q)B5=F05$2QrIWd;E68N&MJDmuM zx_wSKmywlg<~a(Q)bLn}p$su(1O&=LOKwQei^ch7vJinaUGrMn2&z$D;XFgd!-K%l zf0vn&lL1JvSQLOOkx2zp3%t}gE()y99^fd?kd^1K!~v<+ikpiZ)%h9=V^FU)5EouM z%Pb%S@*0|*L}8RrQ5P+(aZ?$9Ezfe24LQ)pV{eI6eOMKd?Nr0ot=}w&Ra`t~cbofx zZV5k_lR3=o&YY|M?+5EIe(+JmbdMyEEoF84&iN}JeDe4m?<1n)p^vQ6p4a;fm>n&& z#zK{_(h3V4;IYRZ10S8>=-?QBZLo4BQW;khjG!^;rJEFnS1?~_*v|RG_CEI@uC@pA zdH}y!YPbd7U0PVm&ZZub{o`r9Rw)63s)+~d1YjMoxubKw2MO2*v6?Wk@rVgKB$oq* z7TODKXqeYIt#CLUk+IeB1Ul^2ZGM+Z2ZkXRjR`w7*D`e{!hA*BQzT#Up_S*RXppJhlHyW?s12aVI(S)X(X&t2{N8=7Ahh+f1Kc&^## zqQ|#S8FK1at+hc?PzzK5YqPMy76EezWg!Yi_wa(cu0k_bX0gmH-t*44V_ntwjgNf{ zrvO%~74DMaFZ_4^JzkL-Prduyc;FqXvV`*jg2HAT8}rV5Q+#At+{Nv$&DVc>EBBU zlYx?tO4HcH77x^WX_L4_EXuNMWoW^#bpdFwvkJK_9;|{aH(&^sd4`NK81FA}=( zr}6pobNs`f_(_Pb@xnj;M*x7QpMC}h#R4yX@fAFFd;(uPEb;=iSNPh2*`lr-ymQEn zh4(cwYm@w&X59PUSnuJh80pNtHBq()2kqGqc9Ar%KIofY(8n7=*^7mpdQZN_`DNF5 zC+*nq`1{kd&7BX5l(*jmvX9X1mGb$YE3$(RKDKL;%!$U)aPWv3{ z1r|*0gF6r#P}vaN3dW}Vy%2|&LQ2ak7iC^(=&bLh^%-vPgGy%0qLn?uZ?JYvIqqINa7Li2u?qiQN*R?x8 z$@|ufe|o}KY^5$90;_rzpt`SX!9|a;`#Azu4O-RadlhkD1}t&w*Xn!?0$|vnE;pe; ztlHopFJOI*Loz7J3ODl%#cG8oj+QvAYbXIF6Dlxj=Ro42rfWDHYMfJG=-jk7Gf7C8 zlZj?fLoWpy9{jx3`*KgU~+58$g3naLp{sJw&JHO%2MXo;z*V^Iy!-t*hsJU90_<{V3!I9tSZZe2e3;HJ9$ zbB`*Xdt`wu06c&8yB{pF_x`cN?D*fCyU>RW(NsfMI&qG(w!>b{IUhY=fudLPBG(Hy%2RbFMb3%}EN>Oe=TBW+Tfh}C$t$_^80?IxZ^#?WT0_n6r}bEgf8 zN)`=2V5EFR+f5!12Eely6R6zN0}a0qi3`MttxfW@eL@BI7cyyo7tXg#YmyR;BatSI zt+an{qhVRmwLwID8C=a{mb$iJIkm}ZkHILEW5WP92}u%P%}k~UF-JXXe2$mE!g?=J zw?`1~p%7R@IDK#r83&Kpx-OAr26ep-C1(u{Foroa33(4w6cLE?D7d1(`3br{J*uk0>g)lE!y}wOSmUd{;ww4G);`AN{5O z7H+x3Ghg#HkUT?eEtm}M-8)5QERGKk;C+x-kpg91VYytQEKB5hj&)UnU|QDJ7=Uds zgIA@=4T+>-E>m)-1a|VHGf5;no{`{&#;H3jn|JOTPeGm-y&U z{R80i4Eb^iR^Ywweh*t^X2p9TuefxEdmq?w22*EwyaQ*-NhDs7n>Ym;eT zGYzxb*yE|kHla0hAR16?s?|?CSbgDN>sddKX-~ z#B)$rQOv@Ii7bHuPd0H#0C!DuK@Y)lN7r4rsFAn>OqSxuU|bt~D*e~#HGeU7mh~kz z0R$FU+d^;(Vw)93W=i}zH6hWM?cI4CJxnHpMQysgucQ+@X6>D$spIYIXVX(H!Ir22 z@>|XyF?xEy4$P*k^M0EOE0|ocR?Fs|rpD857hn78#?iOORiL^eJm&RbUaqG??LH zGE`c&PhAC>y8snT@az<;Lw()+KzgEMwk>Gt2j|jHSHEn=(}fiokLOVOm-g5iAZCdJ z)7b!)=oiaz1Kk1{Q5X&-ly=xwsRrkerL6L_1ovWX5Iv{kHqbM^~$dwtd76^ z*3nb{o4LY3>vnfjgD%JkTJb*_Fk9I8U!uBeAV@~Z(4%y#m6WD%fhX4XK1$M=-%m~C zb2y>X&hoU|!Q|sPmcC~O?2hhq#dg3dw0lC7$fma66?d%Y9Efc})5Pm(A^}L<1;#7i z{HGEM>b*y9 zY^LL~!fI4Q!ml`RN1H=PP{ZTfY_MYK8y&+rAAi zoj<_8_Raq$YGZJ6d;~ryaPA1sE6U9#gfVacNyWhu1cPG~zH1y2*o;_OqVYU8_cf*|xkEiA>)6CTfW2eZQV%jo$dlY<;w8Q800qhur(%^Mz7R2_;`coR&o=p~y_sNDl zaVh`+AOJ~3K~z%-TtZ`Kj1-Vk$bOC9u-)E+Vq|T2tR&^qWFjO%T{&1*Sk7Tg4)rxQ z)j3oZ&IL=K6mWBLVy7Gdde>*SymgCt`#<@TC96%lJV#{p-vJK8vAv2429&bX?=fh=q9#*!=~3%cR#gh zH{93%cV3T!-q%nL zJ_{QB_rlyj3Zq-b8g)8#9ssZI-0Rlm=c0}s`&|E5)wB0O@ctE_-t%@y_x53%hjVRE zcXf|nmk&OCUcL0U-$Zb40@)7Cp8dfGGW*wgb^&3eyBg!w8b}AGi&~Hh`=ve{&Bo^*(Qp?d|@1k*K}&u~YUq!(fDo8L6`c z;~_}Y!E>bpv6Hcs(x2$!M;eD;bmvG&T1~WV7T(0oU_5zx5b-P{+n@Y^zK?8TyTxPw z*2BXE)O*x*g>`j`+qZAS@*0apjy%hQHhW?*V4}EC$zbA5G!(jBPolb8T5wgc+j{*@ z=w+KO>eupiU0`}w*>mpax^kV~E-hn6AX{r4tf4H!Xwg~*t~VR3)@zUk7QQH!5D~04 zYp5!2oE+mVHpA0ze+N!CCH~Ie_&#jv8o%++{u$1h@$dYH{{bphJpR>x7?v4DVZp|r zbRNzVs+cyXssTJT)>Epn^c^-ruC4j=V7$@Trf7mC)QJj0YV9`*IO6lFvflDt1j$bS zHTtZ1(M)6>p!EEkFm7{Z7(>Vn!!RLdz>vk+`W&plr~m0c2dm)se(PUCHyeEPCx0?{ zmfg7v7{nVueroOlT`DH0+aUBo#zsO5`F|e3N}Q zagS8H@)sYhU;MzE$n8xa+q;!={>q*6mp@>S-}$fP#=iZ!*w|)5REfGGn83VFFbL_O z>2>uF+(tWq+C|ms+@w8VF6Sf#&3jMkG<67K)0oIXgy?8s4nE^>!e~M8{-xnv@&VoY zUCm4&JWhQf3Nef{c-=lw)K=r#9GgkrYgZ#qBOjS=BItwfegv)d0B!0Y+rDpPk*msw zv>yW$HVYC1SAi68zJkcIUDQ(WsVU$AZ(o(RM$=xEm6iP}3#~2CbXW6rvb`5te6RTN zFY0(b&e%7 zicOFWENTY_#iI5g?~sXumNgCz4^X)Z1#z%@^Dc}X5&*%y#cQw#leF8NvdPVOGX@%F zacoI9Hz`pBU(K90K|W{)*vwQ_tOayI=Q};V!+2e$^JT135ELYVk)9335oCgFv}rmVoUXgg0y zf-Y9uO+cWlRV4&7Bn?LrQ4>W5HxMfwfajs#`Vhok6FA-1o@*Wm4!x&k`}@Zx;Hepo z_F!W7tqkpw6wJMkh=1X9eftAm%U9k+Zf^qF(e2gp`Cl&V@&mVyp8US6DDI~0I-~&w z+LhWn|f~rjgDjX{2&cBpq;Gj&iCg10tkAW0qU%y z6k~?9aZk`K;9@8dn0n92#TBWhmO9siIgRYB^nhlc*PNTh!a$s&u4`2FIUYQCfZW!| z3k#bWKm$1|mjQ5uEs-Z#9gp$N>nds)Da-SS9570`Ga(JD~XjzxVOqzylKe zFMs(HfGXbi=l?wNJjd6*?~frbmU!p0&md!lDRKx0UsX>GFF-9GuJ*A3Ex0U{WM&uq zCNyB%c=0j~D$>p8w)4sZebDgXCTfhE>z*6wK)h5>lKEGM`K78jyLT6>dV{k&cOm5p z&wu7KaAk>4ed6O#U*m;;^0D@@281VXyajMI-un0x5LaQnUgPNC5UcYuIOniluVG_S z+s%_3Se-@Y7!+h0q9Iy0dQS&;2oI^HokyF^xr!odfS}IDxTjM?uM|GDub8lsy3829 z+*p%w<%zk^#Om;R**@zu*B|Npv2FviQ%)qk*BOvq=bL*U*tl1J`Ax(&&yqj#w-?TT z_xsN__rL#oUzKK0|D;yy0%q%bEp%6W3Ec`P`JtSdhq&zT$FN`Ez_zBV()iy*yP4(7 zg0!h)332k#ioLNU^S+&ghZE^ONjX!G+m@+*yVD6y zbf%GFcy%qC*d%X(!{a;@PD1>vfeC)HLa1B~A9eB`ilQjM%ve7-!;QrOasX7N4=*l+0eA;e>0N7`B~f?pGUn2I3KSX} zFP{7_E63Qu>3b;6$2&}GbvHQ{Bt6c^5_^Cputph$CMpZSgg`W8hLE#?g(7DHi6CbJ zi|;_R0!9FTdWr)}SQ0_Y4GLqh%rewf1#wjfO|W4Tk`*~l*XIDZl@~OiO+?zevD8*@ zhV#KNMR8Z}Dns{r+-2stIeV(>*ideh?eGQ0{TztB4q&dT*i>iV|Db&S`|;-OO-6Rt z?ZvatzTcYne05=$e@0bdxo^C_uQf&&aa)HxZW1_kaN(k1^-G0)5*8UVa zxlKG5t&u@*b~f$v`>&gB-5m^BfIKWSNEMbtql%~QTTtp^Wo>iEVt4B(SQlqY*t_h^2|cS;egj*c6jN|^AK6#4?g!P zkSVb^AXsBSS!hNP3BDP`A!@1i3iS%ZjmujMPe8N`B8F%uN$7v~6k47kxO(3{U2HQ# zGI-S0_v>?wCR0(8!^a37uC!s-qR8ZW7(Zmf8*ntOXV;w{(|fK0;<14TJYX1Dkbzd6 zX0;{-WftaUhTG*C0N@=@yd~KTp5PNd_+ucG;a~p9PvPL?7~l9O{&nyo$NT>HH)5p@ zPk!aII1`VPx88ytu*=CAd`CW$`OiG^OQ?sQCHkPZ;2Gk9LplI$x@)24GpGQ*VT=tx+F3e! zhq#WIUT<;G$;Zgy^xBd!qpGb8c-#TIy=1;U03~e-)~!*((kBa&$JJ8LfNq-bXinu& zjUR6McNx8RfCsUGa$>BDm)VVef9{Y0TOE%-zNh!qFWxU-c>kLS?M)!N*KOlZU%Yev z()*t{e&=&c=ILwMQEI2pX-iPdms-fal%>*kFw$-)G1S-Uj?a^7PBk{eU1rJGBpIxU zXH8A6_cz4X3vt9_5F>j&Z{NcS-C-sP4q}ST8F5dRFjuw;5ug@zS)s0Lun9)@CUZD^ z%T2g?(_@ejJEnWrr|t*t-pIFYtjf;wKwqAppY~a1aNtWZZs&SZEY&O9ImA%JCq&22DWZ`NDGC);TfDj4}TSASgTO2!A zEdnqR^6E6dJX#3;k>smySOW&b{i9W-E$8SjY{@Y@6D5d^Wj%>dUH4kBK~vdn>+9KQoi^m zLVFX)?tOc;eBq;oUB3UZgC~CYs;|Y&ATguP^Cl6h1zV{t*Jv;!GJ!2@OdhKvkktJ* zh%`rOGw4t3Q&FO6)N5*;wLicc#PKCIQ~d}@+k4^5PEwsM%n(q@%%mti7G`pS32rn= zs@uRCi?ny{hCZ@QV+AH6W-0N~3eRIeT_61@homJ9JAXw01|S=a<;`k^ zJU6&^|1Lz%QC1uH)j4k7SR&61#8pWYvG%T=&se({~l^#IDb zKb7g{eJGmOdLmo_BX#b7eZ!_X%J)OXR&O14)unEGlO zEqi7@64iY>sV0NDYegn$%DPOMmp z1TnS}0ir086eT`Jn&E3^?#$eI+i4v`Y`=@dm#EF?QE_>7{h9#;-E7u1gB-RHn_lV@j}h~-Vz*=ELqboIN$ zD?Z=X^;~C$cb1*}cvjy2rw3$q0J0k|H_xB{Y0K$1UO#%^zux6#GB6>MRl?}1^tLFL zfC6xEUQbp(yu6&wp?*86O_*DuzHK!~$Y*~0e=L(7#z6=%*wwE40XI&merk{EFV(uu z?hDOZG?uhD_0t0NsM3QP@7$rnB#o*SV(-MZqk!)%2#W)d%174Y)kc=kSGc8hnpWj% zAvMUY04&%~2{MzH5is@6x_g<4tAXfblEO&=DGQJRX88;bGh9Btgn4$}808}>N(o-0 z@xZEWBST*|?ZC<`_j|yg4jI93+mUa@xDI5e#11BX`?6dDQX)+hss)S`FhrPVQ!p#c zY=+VC1or$CHc4^S31(T2hlnB0AWW2^! z)jJ@V1^}Aitz3sKz`r95&wP#&3w1s+))fU*6~~4FQsiZU)L3MB4kp4Z&!DbAl4W2h z%DX2p#JDt{0Z#CMIA44fVxO4+nNNM2JD!R|$0A%@&aD zxW>dJ0xf@jmOUHGp8I8*(oLVwrILXq-*5lawP!>~m+#+n+HsNHXD-&c&aw0@Ub6h` ze>l%x`RM~9I{?|OmzU4J{NrOgdjBLn{>z(!*#-Yk_`G}PN|Y`SU{Tu4EiF!aP!x+= z`GgKl=@6}0cFKbu7Z46KG^tje=dwZpvyz@=50YuCrM8SB=c)w)&ndfy?O z)E7m|O!alt-o~TLSZi;~)?!gRz_-6a(&#=r5ZT71fFuA)sRb#6F1GE z#x!FL3cwcie*F3>+_}c4mIj=i--flovw!pjB&NjmD_2pL#y^9s5!>vg2o(dQkhYtQ za@6pCeF5237JK&sNH6>MMX|Zvcdok~jjqp7M&NvQ<}2tg9brD7DqM^ zuEcn9j6xhHN5?3N0+Y!E8l*Rd8O}7tO;zQ86-Yn|%+Ah1P~@{YEHSd_3=qX^HiJ5c zvo~G=0Ni=wO)xWFdHE$k6t`Y`1zHxk`O-_UM3}vD6R-&|pZXIYje)WRjV+QS!R65y zoF3!aqmRO6IZ~T|T#3{sK&SG+msh`xYBy?0~-ifuB}<(N@MK++Wr?`Yu2v|Xxsj$Re2M<2CD_Qo1azO zYAi2prs>d|=r!2sRUkZ)c~x548swo4No@)T)|R$PvtF+*tJ;>@FCo3EBQ=dK#r{y{6J6PixV=@3-y?@WlQX9Y`{9T*q zSXOwS&yeSCnUGjUnp!{$xFW|qoBN7&adn4COs#9#*veGaG}??*TF)ONzKdTEtZY}K zc&`ENuG`pl8n*>vsps!K+mzxQd|$a0K{PypaO_pS_1FiH}LD2_*CKuYA!+j@}#WpsUIfK{vp z_N-B=Vso?BW>dETVCxLazcf@lH6w%$vw@}s*AXv5CN>(tDEF0!aG=#4#S z!NXjiE*$&f-`m$fAk;X)wm;Jzmbxt@uC6Pn-=np`=R;NNP2p55Er^2+d_{Ddk!|a6 zeGDeC1Y_?&l|z6~Wz39VW{ybaK`=VW6 zAcTd8L|)2qyj?)(uFJN7^`e;DZ2;&+98b%^p=Te4sZN>7vpGgKL5Vpoj}kB&jIF_F zG{HkxuY#;WSqje1r+D@G=a6L?p8bO_pcDt2B$&--FzFaBn*pQL7j<2~2B(5YAAb@8 z#r5mgK_;m^LT8#U#wt63ln$;e@ybg#!Qzmgo`GxvJv#@dBglO2U#ep6Q?JCqS_>6H zYB)F}5UyUm3Tp@tKmG&~Lv_R4iM)P2yU1>iR6R2KnkA08p}NsTJPtv~EbAjG{4ZEfil0pf~@t(e{Fm`c%J z5GdLOvC~_DiG@gWG1yIappcyY!_W6@zSoC787Ygz9UN0+0eW3Hrbl3`ye*!4XSu zE)=NktD9zooXzG)h)@=DjEJDF#DoBsd!4BiIg|)TWdR4m z6)2nvuE3{;m1XG%bVjNtx3NTX4tbHIEDBr_2XzAH3ZziXiVUeCWMvL!h7|{O1=2J{ zF`HqOrf~BaCZjP(6_n3CoBF^te{SM%>1cx2&rUHKjgTv0Y*S>}49BAs5cN(Dc>#6e zt;3wR^eT!1Ns>hF56ydB+X}|aZ0j9uGqd%x)8jC(j%Id960oiYcGbSt={wf}v+KlQ zcjZCxj0$6W{rfT?y-mAVZSQ=3^31fj^@|7ObpWz^U%qzsM;|eqyywc~+JCWZM78h& zi^5pn{1^~UPHuzp8H5UNQg4kn(k=;3n`z{Bbv(6VN(WyYY8!MfI0*C>HAM^}DO9NA zsn;};Rma`6V9^?+Dx_lxRfheC8S$o&41m)HB*fMIEv>8RMDlj~UiQqVM%SmR;?>X- z#7SLoPI?1kC31M^xIEDCeWplXs|bvZN^Lyu^{g5J*2Snq*7tcl9z&#zd?UGa(HEzwsrHqPfxPPdl^hW7Huc}F8XtQ1yB#I9A#PJ%@+@=s_g^L@%yo?&mH=_iB4Vw&qMnc5zOi}dgY`J;% zm1h$Bfu|F;S@F@I9CQ{D@?CzJTC!Ce42oXk1Wl zr@Fk_R3kvxn71ryYN^Glf(aC=ft4vL2&*D6sjixBk5=22vSe2HjV!mBsK!o9f?OazL5*~^;aXGmvrB;oHnk<_5)cWL zz3#%Z-CA$Y7;l8Gs&KA=a|Xl#ESQj|u71$uTn1*qGLWgln5L7o#8F^_ch~UolkG4K zRRYnWE!c)py$B$B5y#XEl;R3_U1ZdT2K3Iwk;fb?;{+n!uQf>$C^!^j5lR)XM1I?* zF{7`h&A|lg3kpDBlx$$gfuS%Wa3Xa(YEZV$#X&);;2O~SX@6D$jGxkHX7AY?71oj{ zL=_4jguv``zQjos2;f<1KkuO-4w#zBo~UiEiq0y4-3O`!x^`PQ6dth5wV?05ZCnhf zOJ;FaGPb((SobmGGX&mwPy1K~a@P$}s#xW`od43@*~`xyTFnEHz0f6-^VeTHefgP3 zuRir;YDV9)?BT5z=NuA~;_}gD7)fyJ*2_TtCQi@qz_`mu*@hU!c7;=w*IhTH9mj&o zEVropfR-+JwmgcW@nIdyWL`8PB+#nQKk#@GBVS1bE`v@l>WW}mKekewv5D#Y56UY=QAOg|Z85o<_w*5~i7B7Ed~?T{ogH(orG~P@v_2q6TkW;2T&@rdrP$gR90^ zffhcio~)R?1h=2IR@`kke{dVbRdMIdcC@)xT|nOojz9;HE`DD~I)7jMj*`}3H7>x4 zzYq8X+sd;wUY|`>Fcvu*kf4zlRLADei#c*eUcvX}>I@c(&e1_3DL6Z1qk{Qs_`&}B7z!(Ed)s(MmP0`YUhJDL1yqk2UyIOZ` zyDzAPIB$^QBq(XA0=C9`rdESXn7V@7&oH=pKwv-~G*UEN4nTRa;I;a%doDx-n6Q84nsqHnAz%m?YAl2aj(oIe5oAU&Flx=L z$>KhGr@E=V<`CGdG&v#B+r=(p zO4Kmnjb3*kRDscP6^H?81c+G|TqKAUq|JR?DB|LP_d^~6MU0Wx^P={TZK8MyMNvTE zFiI@QCP*xyEOXp^@hcE@_=Dg73~a)%cSE!9O_wT_gvjwNe~m;7K`g7eGjqNpAz*%~bDJ_0xT!16BXTz%WzS6jm? zj-wmxOW1ryWJ60coz735o))kD<3o#i0J8UddGY+Yk6M#FcJ1iF4=sCvjWHf<6bj1| zCt$_II2Jp0)&QCrr7J_GdnUUo)OeQ0U%aP}EB*rvR zw5_71s$k89qCZ7fBNAn`9U6lz0Kh((&~=whtI~(o>0|najyw^LP7sj@cACv)pKUFM|;f~WwN8!&H7(rWosy~Ia@?8dQe zv1(Ouj|S$p0>Y-ndWL0HpTou5I)}bpChPptDhFQ26KsWxfTmycJBqEh8w^E^F0 z!f}!P)5@h?F=w8p8!0Y{l#vQ(0=cS~GiCwg;dW$yQ%< z-hKW1mL8tfXO%=n#kW9}ewE0BI)(=j>T2%QGneF#s&M5I?B1Nm8Geh`?zHfPAnB{6I13RMSNx( zXLZ|SJ7N(f2Y_?G&*5UP)k>2*xI`mchpOXDwXC zq9}q?!B5dLGc@GQ=Xn-AuMTONczEC%gLSI4BZuXFFuj`s*k#{eu((rU zP*iI`3)jiNAHL{Iy#KN|&#h`V);YR1kwsQDK$N0bkaLhq!yJ>>8K_j}=lvJiuph*h zi}!8F(O^hAun7?CI#H}zM?@CvyViYXD;dVRGJ;LhyZ~R=wGY6)>K)s}cUD!A71Lk3 zo4x!rpzhGh9f0h8U#9Nl=BuYSpMLbpQxB(h{HH~=h4hmAGT3+%`tc-%!xVxNUw!3^ zaI*=%@dMuibz|gnMVeSh=E06l4P4=1$cCoXdVoU)!VFu=`j)VaSl7h@vN)!; zEf1&~QUM6C#!qQl3y3h-dVuN+;{;>?HUgVE02+K_6-ot?kpaUec|idK1{VM`At>kGu_(LHaw#D0uJ)0oSw=421{JzaKnohsli90VvLj4kOmYMFR#JNswTI1B$9=Jj)WoWgXpZ>h)cHjAiNS_8_T`IeLDS zt0t*JUUd{+Yhb3neQ=!s4KZbBklDC$1L_m<&@+WCL4|8gQ!-G)WcIEul|}*tVGFSJ zZ8LyE0EoiHZC3t8Oz0Iw#!;CeJ-i< z{!q{NmS~8}LVEj#1%OHY3IupEHwTV**Z zZha;>Pj5VQ>G8i~*nV^TS(>H*mEOc#1SLwO7@;gnj7N!o!CW)3JsLniQD@Vjhkem8a>_hg&v zn7D7s&JMiht-(-h7{oL%9Mab3L&GK#*S=@e3=mX!Vc+-i+IO$ZvSV1VoQ}PGJ3zY) z1lMB_*JbV(+r{OK{wB}gwrN=FecrEU-9*~3Zc$o%U%U8O)P3=6{^pI`-Tlk~IURuP zTW)!M{^GA&PM&_?_~HMF$vjm3{rvnKiUO145z^G++W0z16MXs0&!aeh5#RA`-;b1l zOUXk>4WMO$P#*+UAe%NCS5yIol?@H`6&Oh!vH*0gr53;627m3stQc?(cP7#FS_kZ^ z4mTw0Hd<|)v7UyOWU0)e)roZ)UxP*WgZP?NA9O9gx&wrEVpqH9teQHbzSJ-fY~q<& z8=|<9#LG|8QDCgt`$DR=9V9BCd+B(B$twe9QaY6VyGP)+$|rW;t`7T}YQ2bUEIVE?E2gGZny`&kgWC;2)&fAK zMS!kwgOYry-&0<(&o#`imjIlWvr5nSn);r9ZGT?tYQywd3tX-6pWP-ouFEzqW%se0 z=d|wmd0e@_b-ZtB^)u+uM3^`CLtZ0%Z`tLQ>6brd$UJ!c_~HMt zy1vE`6b4B$LQ%}UB}|$k&vP7KxrWimK=J}Gf_cW6PG>M=kpz2}7I5N-k>#G^F7Cc` z+5)&97{vh!J)_i6TM?6%Z7Z$-+@hqeh^MW=Yn49LROeIwNSFpNM>mA5+7B(z#Lcu` z6@ME~$8l3sK+3Jctybqzg(}2Alwu&OEj=r7EF<7SX#od=bMHbxExCiY?eWeP&H5yRI^ZF&aRfthi3_Y9LUVLY*LFa^xzUK_1;^UI*vu_5yE zjQgrKqb3WT>qW?ChXCO&y3K7n!F@8lyL7^If#7^u$G(h_8U~WfM?%_Txu+N&h_nYO zYn&WwYnyeHH`LKlzVPhlF?V0YpZorQ4J=o1^{ICunWT_n1O_9|9ZFY%f=0Hoa8f34 zq~!!vpt6aYZ5kTW+h|lirg4;P%V@mQPE!RCqlTQ=>uHDEB5FAVw29SzmbDMaQpXYt z)Lp6V>_DB*+kURGXY3-7ZGbUqw}mERHezL215*>b4Kx+e@p<^Ff|advNuq#XmqZ8XjO3K$}wJj^{e2MIezU||1W?tT)TdRhewwI zlq+K@{onj~sJExDubEr0Gh3$vcCQ60m3#NCs_QYb5s>eT->!<#FpwlgReKqjR_=Q~ zL>I23$M018c&%R9f0iHW_jWC z*=LykUV2P4K95DZFJU__Td7I1k6N=mr7LFQ&ic>*HuQCO5{`Nj4n zO$mIIX~Xt45w{{C4%JmjSy98mVd_dkXIz1}I7loMgHe=ID}jFVY-cF=3fQIbi|w$v zEx_8(s`UB95~$Pfw43aj4Gza{I_wU$(#v>3101usH4u&pz|ab$XanXdJ075r&P59e zXbbvgM8OmqIv_25QIa}{GN1zIOt}7D!(1~i0&m+xo-I%mI6s?0T!z#NY$6zs63k`< z=Vnl2+nr`qs26wk)G}l5W13cXG;LOPKVWv%^!>UvQ2PLqn;4;AWXHUb9&rO8ys3<1 z-75HgCU*5>MWC&U_2PXBEfxw=^z!S)}a@v}mTlKu`1JL$wpZ3x&^f9rkd~+)&i+O(bk(2q02b-+}kbV0tH&4HG z<4O9!)rYS<@;8dIL|$Y71edN{29rgO4648%J^y(mbOrBu^8FYkj5IY!m{EvpN4>UE zqpFd9B^9V5Wf9Ep{fL|yAQ!Z-tbxgGrnf;szsVlVR;~ozv$WIjR#W;K>tGxGCjtOe zSp>0dmZbv@R&*tO)us(QyI4Hd1+(qx;HvPfqj%-dZB`&u)gxR0Oi@g2B(A7faH=%5 zAkUIk->TNB*i$7iY0$AL4EZYQahd=`NK*p^VU!S54U!~iqzeZk1FloIeCNg_u&lUz zX#@h}_dfY?FwgPFfAl#R&hg|^kANtJx}s*5d<8srKrF)FDz{1<=&08Oe%jgYj(BcW zu}NkB^HyMN?!|FzYR9EJT;IK17uxpO*?9E^3`PHz%3nH~(b4GQw6CA6eZBW3ZD|3Y zRWMAKADihZLadnFotgb1V7@ST)2+{cndj}s1Et74Xw%Sz7Wk(1_8Au)#=t!*^B`=@$9@PKrR@hy8!2#)FOpK0uq-}!7P9=0SLpd%L-x#bqs3@6vY_` zGfYMnKmkGt!vrncc5pGvQWtWOMj*BUvqW!?)UJD}yBlJc`g}C^?OL!ZZuBC6aUbKo ziF`r_Ml#(f(82X(wJy0k%^yGG;#^&@)z7X|H2u##KvEW1;=cB2$X#VSc)0ofGeipx zDe?0+1ZG#Uq+a7cY?0M$SNHOKFANZ9x97R}+d9&jc2sxYb?d%^HGu7TN3wkSb7%8c zZitq54~XahWZ$;S%$>aO>iLT|i0SeqJ^l+ILN+f@h{Hng#&90<YMY=SR@E6D$mrBHIw^V{5~`aH^fbYWw+I zH4qzSCS5;Mxdg<<->F<%x&yD?_J7H9xh$}w?^$i$U+pDC`kw6}kLDqdSY~cXSK@Oj zUG^)}?DZQ?<}VzO&;iK4?Uy^{tY?HzrR$eN4jas$YlmC3Z!EN${d^s ztOB_@uWd!!eyfTx^(;crZ7Q{<+bb!7P-VpxtzSnXhJr0uqs^e3^+jA#F^ZrFh=xXs zBuu1N8re=`!e}QdfEH}L`V8y)Z1kD>84J?pTv4Um@M2?T!d#+q+e4P)DMnJC0K;uI zwqko@c7{McnI~L(sw4>^BC=*@>xN(av^^OBLGTO#C`4PDxNxtZq44eoB_Jh?NntH8 zN(ja%4CN4)A+Z8imMDuEq$psSpiWx%ezBAA4hg+gCjxkjIZ$j5;+JWJ*I~lh^=nKU8NjOJlfH{y|D?s2rgJgO zlH-e?T^iWmDz0?ZG&Q%5t+%)hjU0k{!1yj~?lLEeP4%=h9OQtY#`$5(Rh{M#mo>+e;6uZ}bJe&yIxSA(Tl+lhd=?Ml$rDpT}1MV4I6{*w`d z8AuWa8(=)PFqSYH85ryB+1PlNw%Z@80`qwe!-VnJB26q3t0;?eWZ7Nh#X0`(U;RgT z{niWk;un7(qm*#%$}yk?#-kA!3MZ~+VH-A$LYVwZHEEhmL0-Kz7s4x^+AothSDG!KMXa6ictQ?)x`^GK2db0{N})8nXn9 zYdt7#lCl)BN@yM3>{7-)Smx<~>B`FWS6nT@a(gy~F1?SNXi-<`Vb{4on_9`mJ`>w{ zO2^E{a<6e3AQBd~$-^msBIWO%&ENRjdHLr5cR)S|M)n=Iyq3TCaRuFY;P}!1el(tZ zi!lUa6@n6Xiq|nYGSI?-EHD}w6!V~2rKXq*_0+f5<`62d7Y80_Yl^&GwNC&GsP+j7 z;7uElE5RY5YDQ{8L1X5(VnTw`LD)1Y^){5TR<@F;Rsgvu%U))o+LSS-HS&@uN|0Ja zV6&fQy1XeCs{<~(Q%aFPEJItr6Qh-!=C3Vx?6+bNtI_?aA}oE{mV{y}Q3s%LConec zVXK;sBQe%*Qv{+V)HsaBj3RRwr;5oDkws9r67v8eV_BoV@wXf}O1B6!=#jLTfeWiR+ zPponGy>C_EV|aRZBL@djEaZe~ct5Hc7;VEuWm-C|y>1azrBVt_`oej}*QPZKw8WoT z2CiK^fK-v*BC1V`srm*vM5|fet{i0>CUsx$(rO0|UHSfY>ptT1b5efpeE#N*ta$z7 z2gGv#vhUdC_56ijHYS-oIC}KIBh~l2QgQY2F)WSn@qhYjKyid``xAc(#dLyeM^8YF zg;uTuMguEJwbqhiohVlfA`h^lr~#oh8=s&*86$u308cH9iw4hB(LTG$11a|PP0D}n|Y zb>Wx4_SNTp14#;i7)e4L4N{9f7RU}5CTHy0v_zbey9sHAj z@=LgUJiq2INC)ahTLa_Hx`Okmu9;cjUa80YH{P7P006fP zye#C!U+_EKXD_si<#MwJky`KiYrH>w?{9ZM(vuJunAqp1^V>IO`K@0*Ae{q{eaA1a&c5{XWO;P` z(u4mkvp!Wwj;zQq8XK@pkrx@5CP+pWE;n!s5wqHv-VE5X%g9E|Y}HdJQ6L|DA(&5x z3``n%tD0_&RaNWI#O(>dTx(Ptz}RW@s~KxXD_%7QvZ|i3>}@2f!{`(%SZegU4RGbS zJ#Tdo-9#>~(pkD4Ud>_$R=PFSj;Qjv0k=Njpz)Kf!EEG1E9wAMh!`kJsHRXYAxb^g zFx*sJYhwo{&fhPa7>H!Je0hQ_o5C1}@hCw)KL^Prs5&IpVw{dpWI3eNUI9@9WVO>- zt?EQV=T3|vLj%4*H z&hLD9n!WP#2ZVC~vR^mLE2q!>EZ|00kFNgsV~;=b2psU~Km1*knBZT0?gzm6RXp(B zPrzE^!DZxk8k_6add~{5Qup(Yj;{smg5PWPhH_vDbkP#4$&Id>#sGx1vG0-!xOQ9s z>g{QNBV!}!Kp&7@sNLW=DmM;9h*;;|DsRswcLNdX-+3{}puK+g`UiL)IYhMdyJ4L) z_2-w40M#`7v`A8aZa$*6pAjPhtOZh=;^^2{uz%?*&!H$z@W1`+{|wc0Jo?B3kYa|> z*g$f@d^+v8r9IHkZ`ZY53fD>LshM&gLgKrrFCs zdq6e^Ap3O)X21M1f_EqB*!-A6j{ZhNxcn01z~!RmVo#8nrLva@ETTLxIWc2DxD9i-~gnLk0&U~49pG?2b(bR zd4|+7m>FeWAeoF%%(KD9z1@H>YTmX1J$%7^RJY??kP+MmZERK9zsweEm!&%+(Pfc_ zKt~PwuxObzWIVsG<8Fi4wvTfS=sIpBmG*jZ>Xz2>wp|IB>Zv6PV6_8aTS*CVfzfVL z^Rc99<)9;ewwK%!T@z62l3KrYS<%I*cWpiE3(^;ojez967+~)5{w|C76>)FOvXc*= zXE%T5fN1XDLWfIm|CevL^1lE4^7!)8DUYwY(jc2Nj2z={{g;0mgal7s`(C&bn9WL* z1tGBp#sJf)XX~cZtnTcj6cjl@g<*_^HNdjqiXTWdAGgAC^s0K&F)1XR|N zf@V5Nv}r6PV&*i?3)iY4Xg92VfUf&_+_t&}cc-Qy6^b;pOf6S|YCB~po9>lkM1WB` z`>x~xrUh`-`@oV$(hUWp^z6BmNJkbTC6XioL}89BhzO&x*EP@Q4h{-yZ0!~6J!An< z|5H&yv;Z04`elYOgjZkw8h|N&`ltU6EX{Fx=T)RBaA|B|iIHa+q!f(p5kv^Zyo9wW zvShY)=h@G_Zk8m~-ELg0*SD`#KCMFAF-Gfde>Eeyxm!SM|7+SG?OMz=2zp4?I^QAb z!8VL-S1z;c^Rg_L>Ns80f~H!OnZ}os<>SP}6 zfM*Ii2o38I`ES-P2c2TK$}?7-LV`m9v4GW&+IwI1-Q@8A03ZNKL_t(0Zi?_EghVh0 z|6OXN10q45At9(jod?1Y01oqPjwEF;Cw2Dvcsz!4GcX(ESqA4EnAnGCu!Tu1iaZ07 z&4UC6M;aH%j0{gmuZr#M)9`L84OxeYT?eS& zkL$F{IqmY^G1FT5=uHMkD+>&FXdgDU=h|jJo7{h0s3Rb#>gg;yxp4ro2OxV`qUB4s zpa04CUHbq(dgb98&wcIYr3|<5JD>an=CcC--oNqfaD@P*5D~b7VND8aeZ{;wz(G8a zVTR$v16}6UAJzjt|B%{UpRSoG`L{%+^X~{C;VlT_>eHxB^Y&}B@ z2yDtwH5jD~5rZW0E0*j)Oen-NPl+*g$}ce>WpI2jKw=n{0a3zaWKfn4=cjMNCWL?Z z4}KcfmU!u<7eO+^lTSVfDppbD-TOaueRi>^>YLi%^!i`K^;`E^ zHi?q!1K)ige^)x8s%O*eLzxrNF_uBH2 z)sUvs6bF^AL{n|=0b)EI?bP%#sY|^j_maLGS|&53CJX3C>Av-{oA;=!t`h zz!*Vd35E^kF2{T}$7F0Uo8HA_YynB(iV~>>va+oACE8ekmFj$au-i@=u&>T*l_%*% z1KIoOWU$UL?3<12(-HUW=U!d^ec%6Wrv5jzE?f6}wgH;mb@t&R&^?zS_IsZLh)uxg zI_nM&;JTVy+U)tMf`PWZ|FLTb01sm4FMZ^ISPnq;una8E-TB;4eB;&cz_rnXAO3%T z>z`dJ0esVw--_}0629|0z6V#YUB;Em3Gxh>&w#Sh(SGq?{E>}5(aoXzGK9Vw<~Cm@+1&kah)03}VbRs~`u#M!dIkhXNM z6$|SXwB8IqFDpispi;4^6gdrOj3NQ}^ePP%T`fj7FvBfIc3^5t*JNghZJTA~?&s|Q z0(2~}DnE7&-<9C8TOUPLYR}&DQlg?U1>hq01CH#<*pN3RQ%`}57&zzP#6ToIUaB1) zs)nDL>-3(H^>M>0MPSf#T)A|FTd%!_$x#X|&x3qnio6tDyLyZwp8`%$IETq-3`!W3 zGepJjPXq!7wySf+S9S{b0B|hr;A!)9_t|N$3qCgKTsJB9*%@f4+_Sc86@c$!BUkD- zX}5c|?y+1H&|l}8YzktxdDb?47cR08Z4+?4FAKYE?|-Fe zeAlJ-eCYJGJJ%Q~{?_08Z;&Qe@x)^v0O=9tXMniGGpP=6u5D7yLDQPMVCXHLsrBrj z*TgzB%&V%en(ta-%}eQYzSJ0eYZXoqITuKWk;O1muuegEsl14%INnZ;pBoKq1Y}cQ zbR|1zwVfF_6 zPEabKWz#4!6S!h1U0_%%^VjO-4^#014YC5N0jTOQJ5YJbR%uzPzOp`MWn;@BU1p!7 zZT7aeLF#((m|KZ5zx;L(TQ50(+;Qy&wf0zf<)2mnRl01`O0h@}FR7S>fjQW`c^ zr1`x{FfC)|GxCY8zSHuFtvzTXMu^rJ5iesb*enDE01fL}pI3*K?IR?b&lGAjil2oC z_S_UpRgEQEANyEI3z)sbK$rQgb{1QBg%hZ?wW;+dYb~J8fk|*QF-WcA)~y#onBo`y z_x}}6r}*@zejCOx-uvEbC`(`92T>Sfz-)a3>;$uXh9pU#a8OkwqXfGc(8T> z>Coq%l;OcPV?B+oEWJKM&#$PwI-TG7@M-qa-#?&`10#D_c3f`Bm;SyKC?4g~ z740>}gzB16?YT=7Y<45*0s}#>D*?#+&r;*BwP6I$tpchAR2a+#uDpv;syIG2$Z{aH zio869xXXYF2;y0G5vUfmcW=T;XwbEGT_9^3&B&IF#I7Cnx*hotgVZ%je=9BP>KbbY zj5P*vI`n?fuIIlWjqs+DiWmqk8@jgF?bCy<$NcW{{O;tlyvDXSVe%hn!mi;bAc;v6Ac;LhT%6I(0 z`(2UZ-~V_1BNUm%wabr!$`P`;!m`19?!aV1jI7ieQ_sYD!0Dns!@0ILw(_5KX#2@F zK?%+Gfkwj^Yi(nVY`0TdrFrav*=`7aD(9w4-{RMBqq6NC9fiY8Bl@q+sJI zRw6$rh{1Bj(keHsu5a|p_U9Bu9+Dz8DVzY~2~gw?M-v040%-yyM)0NQp9NDjeRV)o z-}Cm;DIk&pvLM|cA-$j=pmaBqQc^A;-6AcW(%lP7!_q9ZNOvgRAf5ZJpYQM8|M%W= z=FB|voVgQWD3&M{F&J_>zbzH`lF4(dl|GmslYQIK*HyvBzLqqposx4x9ob`|;>0t&QG@>Ewx(PMHvh=73FjQ5Dj3am1Aj>sd1YNWrO7uq`TqEOQ+Ja^ zoW0G9JU|1}QqA{3wyh#`{gb=&Sy<_x$5#6d>t8;PiQnhTAHkRm2@(Y2q@i+8(fA-| zdDt@KYl&t9+V7@jfJs37M2?Sk;dUQw*X3wBmCZ1dlnFlF^n++l7LzDGF)QmiiHXO| zX~oRx9A0;n*}N|wE6e8cL-yi2aEAt!?_HNUUY~Q*$ARJkaw;4}3XHNaauJ`LB6>;C zU#7n{Dh^OU+rpe71M+khg-oK$W4^TklIj`C4x#HFK8w5INw#eW6 z6NWArBwOa@{9JIvy5{LBlew$u!LOD}5ho#R_h-V6l$|c>{bwyWIrYPm`q|BNO^AAF zvqn{%NM-6#@FrmfQ6kTt@3NKuu->IM5qhLUZGCv6oUpri_QHxxLSnXfHtg%Vg#X1h zarpW_%_Fd~UcI2?uJYMgy$|%iYCU8B&HH$R`Xq`u%PWmmL^j`?2d6Xo9k6+p0rKq19qzxkB>KXht0^!h4SCr?Fm2#0-g>F^-n)gyN&=SR=PTi291_2_Fp*dMyyJr z1ZZKfbi0W$^qLRyZL>RVe%629TugG*xw>%BEGDOh8)l>(Kn${G0b{>C$d3Z_fqzXKeeSguDIU5r$C6(t7Q%U&Eq zBtmN=y7^;RqIS=DVpxLm+AzRwd}BYhMXOAGN#umTbziUHQ!yn2d6+~3?D&odfD!>< z#0{g61yC)q5C@_dPgo?eJURY1-W=j6c68SVH_;NC5}V$m{Q8-a{7LK4qX(F7ZsYY; z+K0wi`x#d8xo`8xqFI=#L5*@aD4WpCc(^fle_0pUGTb`b_<8s5Dypo*#locH@f4%` zKXLtxk?mjgraON8f|P5!Eep`0ED!nI=CC<~}0 zg`QWcP|i<=ML(H9cYKbf%Ni&YodQ%kS3k0{n#HP1Y!H8_Vy)1iu~gdji0tDFU2sbN z_F!w@IjW6DX|QW@;ma49%`cK6=2rvysp_&n6UjE@=JTf!Np18sEEd_1QnVt^z3;4M z;Xj@el*mTV>L>pm+8lblydYf8B1u|mtT=`b|Sas!}hV9mFkx+^K zIwNzNB;43$k<<5+EmRBSLG|I1|0n-@nlXin34$vO!^V_LtDVdU*GJCcvsow0%|lgM zwZ27i0=neJLk;uC?;@w&{$P*CgaAiqwDauN>{&g=rjo>(#So-8KnxavG4yzCr#3f!NI=b2kj zl8&?2TYZ$uQ_R(<5diuHtXZ{Cr(zSIf7#CH;sZn17(tg_w(qm zBMGl=;kTJMq5MCha(ZS+(d4p*8!|=n97Z+* zGz^6UTtGh8d#73L)>jHkR6JTZB9eZ76 zQBG!yrnS4~C(aY#ke#{@fWB=y!V*(q&Os^u8=E2>?tgzJT|I<%Gte=Uj509RxCiZW zy-6=(i=>^2asGn$y7?vF8sH?zZzh+A%Qcr{#d#AohqWMJ{Nk$<6Yla4&kK=C$8yXP z?Sd6$K%@c`>IcQC2XO|fB~MR%{6v=aCys~2LmVo9W$`(FW z5*n<8XO0FBQ~-^@UFpR$zSRVs?Xt(jvc8s<3=PHzMpc=k<|OumzN=9LX<#1QyZf*{ z6CC2m!e6l>Z+*V}v_mZ!Jn2}?arw2pu4?gG@3ULG@Hn_iGqG-H&968R{Vdc3X*H%W z;{Ms&@6Dx?@14nZ%V#ggJA_lp+1!`xs|i*w&C$b-g|wqp>-qV2M+nmv27?tzVE8`{ zykb7wb3XR4!|e4Zn4|Q8`0>^s-#+H#aP`)=rvEmvN`p^w?1vRrOiWBy?@#sV{?g7Q zWdqJvYS>8qZ6jQjlTd|eGQUoJZf5;qEYLy>j`3FgK~e7)aivB5Mr$yoP*rd3nB&RU z!*Mnp9t=PnQxUQBEQ|)@_321;xS61J4SK$d)vk88VwgmBx854D^c{N?E1uuFh#y@) zmCv6#BrA(xcM_*ADuI!imM&I?kCcEuwH`>)@`_gC2MFTc+i* zd6pw(Bg@OC<1<6i$(jirK0-kU4)oW_xN?waxq-jbP|4KWwS#dHQYkM#-jL#S)- zE-HO)jP_TzxXnM~uGviX`<<3%-AG?><)=1sklQ>Al6c3C$%vtjBY*{BHq+d|0@bKt z5*twV4VQWF<&codojjKRyqQw7loN6soXQHb@2qLqzO$ze)+v&w5mQpr7?? zd0Zs|ENhOM=qX)}ubM~YJvweW zL_}d=8?0OWjTVFX$c`c>p?9&$fsU(nO?x-S{nypc;>Hg&O){)KvOC26cZ-P>erG{Z zyw_vruih;;GI=9K3a$XV!9i}qumeuF9}kEF=KtJ6Js1>On%wTlzGvmIk(aT|Nw_Qr z&q_han#r5?R?!GQ<f==@y2Ewo4J**p3Uow~}TqdBVTKp|ARNHo9&e-f$tx5)FcyT6zif%nHohc0ev!%Otl@Wxx_s@P z-A~8T{pu2T`loTfHaG9x=-)d(TyT0GyeV9In9Lu?O&n1Z3#B&hn!gc!&A`U5#12qK zqhjL%VY<);RLmIYF^1I!;OA@Mg{o)}f9IH}zjV_EP3JV=n>|?_Z*ijdTdKw1QzA(h zjZ?+%nNyPg8AvM=s8*p(?g^GrgsNC2Z9Zv+&g76jO{MC6u`D*&)i2w}poptttx(b9 z;6)HmnpzCR9{St+YS}B|DIRHtg@iy&n9PisSXMVxa2r<+Y0(2g=sKxcXy;ePqz5oL z{!bVgEqsG9%!WW?h-2q^)mWbZbth!|)3R{MackkQ|Ng(K z1pU+gYWldYz#o!aPCc8bsLHY6%^Ujq)cap=bm`xu$Dl?CPSb}7z4V#&K)z=qkWHrz zwj~S-eI3lG``QT)5G3<6MSa7LJT-t#fV@&INKA&{MIyPJXgF!eg0S(lu6d_*d^r0d zwPRz^&k}A&KmcSBq?y#eDM?f*R6>iE`V_yW$=cDT?pcZ0Qpefzg3RAZx~3qV%r#Be z)gnpO@4B%^9xlw|7B9N5{CzKpVFdcgLg~5*L2xtS3{=Aq?I3<^#XqVCsM!uI9|6pB zBo!AjI96%j&fdS|H5p44$q@#)%N68acoYP+%GtDesaIjWd0*P9U3uK11@fm6?UD+( zQpz4Nxd{2n$=4V4a}e;B8NOIO zVT0y5bCQ%VOwTn4RcOE2Ubkj9cUtd%g4U+tj1fn|$|;jzAP9_WUnVuA(K8JCT{>Gi z#17v8O1+CuWE*~#_&I`%C<0y1B?1Bm8JG(|QpdJmRFugU^s@1*1*VXHQdlDmL(9h-NRBq4u$|4kAl`~ zJ)Q-$%It@Z;fv#2XC6SJ_ZMPetNWDN&^KPI#$!&lQCxjF)qx(Pu%KkR7G3(^sFraY zW{t6C5r@akL@O!acI(z7vVB^lgfwzz`DR#EJZ)J580c~7YGw)h{8=#L-6Zk-PLJ;D zLl>o~cPJSJvb)ij9#MqlcQS_D4=D1yuPp|l3JxZ~Anpp~9HmrM$zVM)q8Tbn{Xhs= zl>Ez$P)6m_@kx%j?J8_O?RBymI|3se)j& z<8=MU>{`sg3WhKpn*Np<*BVnWKcU)pF7a=*oue7N-Fn@+9e=Gzp8oW{y!u$#b?m#B zprEmKxyz}R=(*9guO>3k6DxrWW>!k+*_3l!wt|17O02TWDaW`xg(PKBz5;68s$t-Q ztSZMYq@q4mZu1r(J!tB1becOT9=%>iVT(uj@)<01-Gvf`&93@oQ@H4Q7biV8S{a+V zVp(%d058QzRh&xQ`8eNIjs3bXEh48wXX~FB8baot0U60Kq}nsENh{D}gTo%IZzT5x z!iLRr?=D-F5WgB9rSh}nEK9EgNB;=TGxf?8EbTrz{un7jMOSwd<_X3C;{8E%$^Y>l zu}Ima;hQ>och0=UShWiH5t8upcyGKI>_w?nTQ#waUiSv1AL4 zqojuGks-Y6BUr#}L3TaiUI8p>)}JsxwN_edh6v?6A?#DaCt9gHnbA*bq!cZ|O~pfy z^JR95Zl@Ws5q<^gQs7%qaYU%^rRn8Kc*4X0Hf)jTwqgTcyut>Vh)t^9Hsr$cU&^Q> zy4d1Kaz4lOk{bP{o#jSE|?r>z~Ov4?V8c}H7cP!4DEVCx-m`{O^bcJZUx+^PMnauER9TWAv%~VC+Hg*!2o|xxM1r77G zqIx%eEl@1&BrYU37X z`w#*!efAeu0YLN@ULC#2jQ^htupQHW2a3G}4WCdc4U zkO?3Wu1%ERChjI-vq~7UeP&;g2n+%6Y)1L)xHNCzSaU~sBmx0P5dpxH&cg)~ z?8QzlnvfG2HX>QlnpB#0(qdr+9yDAmhSzL4Bw^^dg>Kc$jKdDJac?y@#O9q@waUX& z+t4>VaWM)p`67c7eMoDV1C>q27KJf*x)m2V{9RYzVw}^$a}8Jw(!^OY7$Gs8AMx4f zFeqODq5|CL3upu6*hx+T(6FSwzK1o~1t+2#4Pd8Umk9I&PhOu4nyav*$tMgt4n{dS z)t}(2DarfQOyYk`P%T#s6)*#mNB6%QEuK|!Bxg^J9vdl|IcCZKp)69^l045*{rkPX z{|6tNS5nFQs`Kb1+jKBCoZ`>4!yEd>Vc_g<2`HpjK9Y*D8bBx=IcxdV|_4y}Cu9T`5?OzTT8Y{0lA8AT|&C1I8ma`^M$$rjvgPuR&*f!wHC=Z^qfh3EHyIPfoLOABg)s? zB%k6+o#1PXEsl!lI@31Wl;kK z69E8-EYT+*rc6;c>_pO&ISV9ls+^g(&kL?_t}=Yt*KHkW8u)W_5`uvnxJ2CjEQNmD zC%(Kvvp~Rr3kw$G<n~TIyb_)GTuYAtT43d+h>0!E$So&y{}UcPAh{`?ctjNhfQ7j-+?tqn22l28fJH1 zzuju6#{E*j0H0CLFFfQOl>V$vz1X63o1?q?-sHtXo2alPjL`mPwr<$mlCY}ZF;=k0 zfmiWS+>mr+>un!aoPhO!@As7ouOUBO38`9p^rD={c$jli+ZDLxakz zpLe{%mdD~-#L1Nfj-Yj+aSfoewL-VC!eg7eHtA{lfLG4ye1v!Ml@ zva{H0N5$uAU|>UKhhSRd>=bdG-HWB71=Av0*HWB93IX#S4pl3;F-jSSED-`ngZr}u zZLL2|2RHjoDmyUN#&?ehI$z}JYR~fh9|{9YbpXJ5r2X$q!Z%+34Ew8}m1LctB*IjR zaXwOYH@j^IxZx%0t(5~Dc7o6eVm@bLqEi@o97cmWgGNU!K;Nu`&u>uKzkE~&=m8;a+hc%jG>0r{3rnEHW>itSv_<7Xj5vGkuD=21z`U$TCMfYE(xL*$Xr@(yw7hffbpG zyyOG)W0-l)l5B$1J_T5W^7eE#X(Zyd3id#Ifk((MoZ1_ScKxp!<;Mb$nF}(k#|p=D zf9wrHUrXg7oJOH{dqEXLcM?B@#<*!@@R!E>`eeVfa-e|&Q~hG z!G;P8r4pJ}I?A?Aj3M0ffmRSVdTzLnJeG3~D0lV{&4Pkf6oMC}uBU&91_;=92eG3q z|0D=O(NF*QI-$oj3MQcXZ7ExIIiT>h0(B4x11|Lg=5O2pXWVAu5%iM>e!%awuNZLx zA+?PJ8dw0O0F4)KL!Cv{0Km6^eDngsE(km7Z;LLB(uVS&Arb(S8ul}oHeOZ?!B3Ge zm4Q$`LPq~-ys7>!qbUBh+^E0Z8ul8>QE#=Ii>$olET^%AO9inf1uZoOcQrRm8iMd% zm0lz9*c4en;`0uS#q&F{iqJYL1X)_;!;5M4mzr1K8Xy#8pWl*C8d@=TnfB*Nod1j=}Awbh!QU^YS;bFa^7#H;Y=+f(Zw>MFV{8vFEnq zTh+SF7NzpX)d8``3v`kfkuRjL6qlOS$y2~np~gISHW;QvFFj3J|G!%96Y8|(}`d!zaJ@Xkp`9wsSboW0V zG*M~H{{j--( ziecFftUrteASN2&0_c45f%;@r&;SkmWGm%Z%DdA3f$s~<_P68QM3#|^Q{@h+Q0{P1 z=Sp!u(hdlhla=3)UJ?WcNb`0m6SnfYd}*CR9+L3qtRXErFUHh<0aicMlwSV|=_wj( zzTmAyjbW0}v9;?`UY|@dy(7lIYMQhtg?=+n6mcYtgzX z3lij9LlVs|wYC6W)&=QtMdj7e3Nz(k2Wooebj|cyr09~o?Iwd;zq`sZ$DQW_Y2 zsm{S;0KRRHP9$lWsuk(O%?ho?-FQOeFojLmD~!dbz5GTCaq;Q`t#Xnw9&(a&0XC_Z zbBFoD9(!{qIlkJGXb$2~=eZu|vuwGMzb`@b3b(@ttV#T++{WubMxeq!Npue54IQ~VV6>C}b&@I_t}@yF&% zU2!Mh)q%bqw}fqxUH^lZ8CSQy)P+97EB?(ugGojj^1{Ko8T>;G0tU>)xPJE5HnWpU zW8{<*?q+t^GDRpb(oQ?2!szT34d*-mzPy}1%v(nW9pcNckHaqF|psv%5}4nYLytz1%Qjfy~5}VOvv;NtdH!_Z447` z92Z}be2Pigra=h=dNv2h6l){hCucGmW{a#_;QY>k3EjxZuE?yE%URiYt;3G~11r5~ zEnDRH@<_VMR}DVYlOd(jIY57KXXF2hMBKE?m|RJ&2aeobBode-u&~yrRMIqvF+Vw${}xb53PTa)z@h4 znjZ_Wyb^c6iXd{Uwhlpm`6Vc~R+TgBW{_P%^k#k$$ZqjHIv5e~+48BvMsyNpff}$7 zof$0=GY2Y(VR!p!25OX4vZj4=0agqjUCx0Y#0fR~?tuiZzQs>i z-JbQceTYm0+OrRZqm@s7@deF=y{m2@wi)hJ+t!8-0?w^rPYuPFb1Y3})hRsB?!c2;u5@>0M4+`5Jb$n) z*MIR5`l9|zQrF%}@m8{Xp`^#F?F9J&a)JAyU#pMAsX7GH^(ZHAXN1vlG3xUAzDe15 z7P^!{p7s{|S<**EesAWahM->Uj?0b&ju6mCF9ge(){%#hLAr45Jg0`Fi?nU2>euQw zHuRWN8r9(Co8sr`)ykL*+Gu}TfQDL|Ro8d7DbEK*Gl(J<#BsPU%qA|u?EXAfODlGP z_GLB7Ca*oOVm$VQO&$DScqnL1%0_aPX&cY9K7#F+dteUy+te+6E@J{e=(OUAX687# z4XXb{-xReiEf$oBXmckQk>=QGXWMl%qEJiH$xT?%6zUMieJ`btXwHC~@N$kFn6zFT z##z2FpWMYv5*Uks>~xAeo5f`R`qGgT0=LFW!5@V26S@0&ll=6fKME^pKzUlN^1W}{ z^i(+Ov5Ql?b0fYh5)w)|i66M@5+@GMjnZ-&bjLY)-DI9_9D2lYV|Z0M6bO~8a@(EP zPZyB7l^t9-F>=7%dDJJCzLsOM6%GLRW!y{+?G+GBllqOpUjVs-Sn&5fNiaX5X&7VN zG$j{bnm9|BiN0vZgR|#$jQ{PnWG$HYD5ON^*o78-D(?%#ds(&OD&{eMG&94R@=78y znrq~Zo&$G*kQ1qaSsI&|-{_Evkf}1|@`fuy^{a543XkMWWt*IX^$5kMAC>XhP~7CY zze^OOv1#^-BcMVDzlAS%Uv^i@oDIeF_#4Gi5|g%`GGH>XqmmAlkR)%F5xmh`iqkiy z68@N7i`}q8%vN|^C_dD7xgQ{uY z4!qv<&js=i}-01faWg>pR*wSVj2z&Qf zK>DzAvDvbNlQHs;ochaadklr>1q{&{A9yIT=m=Q`i+v%mwU|6x^@Rf>;CK?$b?oG= z+Sa#jnB7N546Ttw{|0~((jA+)?aN=mdBt?LH(CgJw#!51 zsx9I6ufwB$B`Zldytg5j9327gvF3|nQmptzf{ZmDGWBOV&SB(NFdwTH$cc$|H$VVN zp`YhkIqqGBl?QD$hsbjzX_LqzqI?_1Dg|9D8A3qthcV*&%2m2h)#cDu8oTj-GGTxI z_YlY9p|X{B;&;q)b10xTuMhfI-XL42h{2X>%pR__0N)SN(4IxN!vFprdp=JhGjzQM z80qk=Blc@RRU{j4{jY?re(5ph+_G$U9evH^({u$>AveO8@UfB;YzSYsv=>-BPy$Cl-09;}=;6i6EyuD@F)4S#%Ss{4m~lt~4DR#cp~65=Dr=0~K=`R{D! z2~Hj4c$Zh9($Fiy!orS>nvt-MFDR)b@|t) z(r75f;3i$LrM}2Sv!m@gYWhx~4*uv_<10wx;4x)fr9q$q_a~plp~`d|*&?7}v6p6A znX+<}i#|z}W?mycoaJn=4_F>NR}n=V*_1s&JU8gR`y%2`YafuHyXTGn-Kt|W{Ua97 z0P#9em~5O}E(^-qVH;R0rt?#^bi=+sW8S8qLnhtE64bq3rb>U5OpLG}-S-=6p&)A} zQ-I7VH*%b(=}F=-KxG=-YmBkzRhL~j3&+swKH%sln@m1J)vblby!2W0xUZJ1K*=RW z>m5WCgA>6|>W*)3PPvH={swjVFTBY1J4?-e;9ROz!-cSEg`tZ|H6BV|JY|MI2)n5m zOtn}`2RgLzlaN}yf`5)wx)-$gF^a+dj8CaSfnenB7k;KSzs#3$`BHw=Tva z4tNOc94}!z*NUA=m#n^i4^%Vla$Cy`Ly7Ln4ZOq9Zo$}!%iooqjG0)0b%*e=XZE+i ze2nF}cP)0JM#l2E&tUqcy%ukrwhtfHzBgiUi9X=t7d}N%_B%bLL+tI2HLUemy{V5e z)6Jq|Ejgi0!ZN~E&dagdG5EeK1|f5D0hwI@E}su6V6IW})H<^wq{&oATXuz=&nt>e zTG%jz*j6m3;*{3zi}5*ekU*of@-}W&0yLMcT-LyZ&vW+j`aGlm{$Tl6L%uY=wi}In zE>TEKi*B2b+vc^QxchO^t}>U$vrnCjy0~@`i3@Sbcb+-*B#YR3(2qZqP49%cA;V3{ za@9M-&^Ob2npx*MUu*QR%oA2$T|6BVZ&aLavE-W_!Eo)K$V__QpbYyxu|MfkU7tY}SJr*akUO+Vb2u*xJlC}XHP~L;;&at4j5i21 zJh^^vSor0L83)Vq%mm6=7{H%=clXD>$nK)pJ-hVru>vDcdE*B;w)(9sZuA&r;?nkb zfrE|bW0o{5az!F7(V4|<`fjToGlYZbL02S@du;YffDQ=hENYQDbF#dULU5f$x_ zR>c!fZ)N|5C8TsXw#c5gt$|Zp1fEK%yFwkK;k?amrCcQL#5|$YYbDr%IIuv#_HctJ}v|^vU?`A2tIr$SaQr&Eq(Z zrT%3s@UIXlNC^gesjQR8Yqx4jPY=T>7Sw4sw+}#@{!sCIa*gnAH#=NMiU>Xn*LFEF zYBq{=J=9&@Fq5dJ)L$wy*f5W*s0vCRbcvXV-7I3})J6#V`;={Da1XsSY*-6M@VZwY z*HsZGLWZtv>jL9kk91IOrnRAc(up=y^+A+E2t=oqD@OsA*{N~6c`xieu(AZ!F%@rQ zpK5@!h*SjyTTKa>3d61Sr{aMbn_~PHM#;laczVD=9v4J^rmNv@wv)PkTky2mVF(KH zsQObuaG2y7Q%A9}oL@(wEQ(XDPfZvvRTnj1xR8q2Hf%(yzp&$XbHtE(?BtvCD;^m0 zeeOYwLQQ;V?3W6+i}KmlcPkqP%l;C}WO~cCKe4;ev-R=r@GU2kE2zxZ{Vk$)8Qkdu z9G>^q*)8#+TV@anPh3k6v4t|@JbN@=B{2`c(8jKyl`2z>V&m)o&iBN2W=q z-G1R+F_KooojcyG{yaDow5?($CM8G8nE5D4_GlU#l;sh9lScgebKpPhysT9@uX-4K zv)tnZNxQo*Ebi5~!J>;0E))AIa3;Jn_pSz4DV>Ybp#F#MjqlS>I<~`vfcAB^Zk?_JK_2}J z31Dmm$^El89L=cL?Fr?xZ7$HdQ|!nE5iSBtFio!FZKhR#gZ3|uyS>K2$Jr+=Lw364 zaaq2=xJs!wvI{G_+Lt%La;!FNkb9awKSV=0Z6h|i`tA`^Kkd$!;l`uQY#Xt>Hr1L$ z`f>^Dp9h#iO**+0R;@6)37bar)1aacCbZi1G|*KRc)G*dVQ{#?(d%gw<_twTZL7A4 z?TA1fT_}gW3TPN8vL9@4oC_zjRQ@P@1BCj6bnF&c3q9uuJdT$xR9D%xYeLJV@MS1M zTL7ECl3osY>9&1@);(5JL#sI26!$t7$nNrivQOa+cpQ#b(hmmE@p?IEaGw_E;bfrQ z?Qt5KW%~ZlUF#Y^+^Cq}vn~}E72U&TMRB*X`5^}_f?B0gHdK+wyEf;OY@EkZ@lbrk zZ;sf1s=M?GpIIhS z7RXaoPIpuc8ALu`pT|4sbAZ4UqKfEXnqBH7K zM;#FvK3lCgtCucv$hD;1?E~;oFG!?FqlZSHQM5==`7~65N;rrmZTFd?E8DPh z$a@?T9tKf8iNakNsjIL!a4gZx5Kiu0XQns5Ph!74Uecqm$lK-OzYBgzf4v=DyGxzN zeX&mF8)-%M)(v3&O^%`E8DjpeijHQSBY}B&)3elb_9qYkK%g$fw)=LWJ0|Y@Bag*y zrRzP@$aY}GAXunfI-WQJycMMNCy|~IX-SfKw+=dx2ruWxM+LiNp)48hA~Ei~{>yeY z4`5+8C*kFtvJyP{Rxz3j2t$Ky_8eqD4X40gOj=(9B5j*JU!+9Xhz4oJB!N-FZLk-#fwiW>+wx zo=N00U3D^)?NhK5aR2~#GKz0yv_cJ9W)9ZJ7It1deE;dTW6C$gWi=)kTlE6o@$;zW;XetZ?M?j~QQe?rD4(?ZI$En4Q-Iy&v{y1VNt zz2aoALPwfO$U+DFAv+P146shAHepV3@FWM=9|C(ZH+NklGS6&MmlhxTXJ zEkXFo*yX$UvWX8JL_g~|GOVJrKl7+-Ki-$B*1I~IpUk4FX$i44hDHSXHNH>E@ZHv_ z*F3CB`W-pB2)+Gxiz>n3l+R4cU*T+I#q4%VN(9795GhDI0Drh&_^>yWXzC zg&e3Y*$bPeVd?1lzIVhF@UW%3CdzZ91Bt{9TH!T`uJpg-2yMyv0+;fe^xB3?@3+`j z*Oolg2NOYBbX)a-Efv68xh(NBau0ON#ZPZEf#u%N7t-OWnEqCy#gS;1g`}&O*C)X* z{qOuS&G+q_hW`X)=qO!aNVVAS9Q!zvNqrTmvS#~7G{ECSMa!c-S?`^U zU1mOm4_7!T!7D7r1Rp>RPhe9O5*2RM{X&k0*zm2S0%HpJ7K)BW)0645D~iUAI^8`2 z=9^5>uB7&`9$Le?(pp3QHacI({*xq|maJsM*X0)P^J!z7i|Lr@ucv+=V1s@w#kM-_A|9M zbbGXqKdS0(U&@j9q5{lTTn3K8mef@CclVS2PR&TLOvB!_5Q_0Vft;b)45Q7*-Cf=I zoTubFZ}UplhKid02T=Ih@4g*88`F0aF`WkMm`syR38O*8BGVOj5iFCcR$1Rj;t9MQ zi(u&n-*S!pf6E0ptXz{fQzuFy1!R&V*QBIrmn8{3jxKv|s@KYbW&e?f5{i0jdYJ9# zvX9lQ$=5;)u*nh&-1??%t6jyke(xs?mnGq0Oi5K6H;8$_V;pFBZzt_tQQT!lQN9`6 zc3@T=;GKQZGyd+~Z^S#vk=FtLduE?qpO{Y%!xfyf<#LGAsPzgTz{i7SjSu-MmFS33 zhL~tpP^-c?E!(=Lkojn+Pw;`Bw#eDkMMNJRt|U$C&$X5x8-0x!@ToncGm=yL2hI3U zV#~>uAIev~#2#7GDINza!|WeZrm*xib4uH(tSm*s^S8j;j<1q*T8y>ts_inR%aM`T z`tjq$%h#6VDka2!E@X5#TsYQNSWz_KyNvVEy6o3&XDH~u(l$nu>qt#?d36bn5r+nF2;XWBui%op6^fkmf0gc1=jJ0*R~+z)ZLr$;5-Yg!gw;f zv$u}H4m!6y{d$#;<@gV(4HoLaa&c_-9o5^9@;~OKxbRWd6pOWVS3n>0XifF`L75FF z_K$Jw|Kv=dwSW0NqxI^b`L_#a-#Drg?2w76Zo`Ryx)J8%`_iPW_4JCbTE|DT$H)p;-zD_c|A3brdA z0xUdC4{8us&t$#iNEXQyw#Wte6xXN8K-+iEwCrzxo{bfo0iTmJby%FusYNUekn#P7W%S zM5!SgYuUc%gt{UyJFI7a`8mgx`kBTOOtMM_-@A31fIVPB($;&+0xLBB8nNB;V)~q8 z#S%+Pmi68R-`VD_EJCkUFU6WBJ_6#S+6_|Jm+{@}R^2 z-?}T|h4v{G3p64g2T9wa6=z0^u0P-7i3b9`Yd{SrUQ|Z;68kO`a3$t!GJ$JXII88S z`8{mFXS+i!M&-A0=>PC#YGTUbo72v`{pz;C^08Y5qRw$^2~$uyg*(Ur94ACQfMRDu zR|b@pNu&@XfWxmR<+**cSJ)9ikgChV4N`)b>p zd&`Fxz=t`1xloKTFF3MiR?p_)5Ec@5pJ9Z(x*>7x1?)Gyx?T$eUGhJn_`f|-PIUJi zkl&q1J69&r&~2@JdUdr+QJ0NKeUQw_2?j3m!1rRZ$q$55L?{vmN8 zwdGVxyvDw({M;ss936>ezB#(a=|BisEZ!hJxqy%0M%T++!WVcOJHJ8a^!@W;|C2VE zT_EI>$7CUA%KTLOl=&rU$QLU$RE4iwMa_<`IOIifA{}$c3uaIz0fD79FbNf-lHg48 zR8n|MOuSb_yH{kmvE}K}%stP>?b~swYU9r2MiFh4id;{!~0EtNckN{``=0E{Y0ob59 zOW){OJ@N;(TmU8;34lWjz`#b%rWT048L06ST}VeMIw}4QmK|Fml>#%4(x7qaMwOPi yE=Mgl(<()TlM8v~_JlZZA}m;!JXF@$;TE~_{?=ubaf%Iq`YFn(yseTo3;KT+$dV`k literal 0 HcmV?d00001 diff --git a/public/login.html b/public/login.html new file mode 100644 index 00000000..0b0d2710 --- /dev/null +++ b/public/login.html @@ -0,0 +1,42 @@ + + + + Music App + + + + + + +
+ Application Logo +
+

+ Hi +

+

+ You need to login +

+
+
+
+
+ + +
+
+ + +
+ + +
+
+ + \ No newline at end of file diff --git a/public/register.html b/public/register.html new file mode 100644 index 00000000..53ae8db3 --- /dev/null +++ b/public/register.html @@ -0,0 +1,41 @@ + + + + Music App + + + + + + +
+ Application Logo +
+

+ Hi +

+

+ You can register here +

+
+
+
+
+ + +
+
+ + +
+ +
+
+ + \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 9453385b..a6182fa9 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -1,8 +1,20 @@ body { padding: 50px; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; + background-color: rgba(0,0,0,0.87) !important; } a { color: #00B7FF; } +h1 { + color: lightgray; +} +label { + color: white; +} + +.profile { + border-radius: 50%; + width: 20%; +} \ No newline at end of file diff --git a/routes/index.js b/routes/index.js deleted file mode 100644 index 3b56e06e..00000000 --- a/routes/index.js +++ /dev/null @@ -1,9 +0,0 @@ -var express = require('express'); -var router = express.Router(); - -/* GET home page. */ -router.get('/', function(req, res, next) { - res.sendFile('index.html') -}); - -module.exports = router; diff --git a/routes/users.js b/routes/users.js deleted file mode 100644 index 623e4302..00000000 --- a/routes/users.js +++ /dev/null @@ -1,9 +0,0 @@ -var express = require('express'); -var router = express.Router(); - -/* GET users listing. */ -router.get('/', function(req, res, next) { - res.send('respond with a resource'); -}); - -module.exports = router; From 75a896d0a829481bdc7b8f9019d853bc5cf8887d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Sun, 29 Sep 2019 14:35:09 -0400 Subject: [PATCH 07/88] added favicon --- public/images/favicon.ico | Bin 0 -> 67646 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/favicon.ico diff --git a/public/images/favicon.ico b/public/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ab06a32f19a520f0022903d0c8734befff9c7355 GIT binary patch literal 67646 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�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 x*f`(*Mm Date: Mon, 30 Sep 2019 22:28:43 -0400 Subject: [PATCH 08/88] Made preliminary layout for home page --- public/home.html | 63 +++++++++++++++++++++++++++++++++++- public/stylesheets/style.css | 20 +++++++++++- 2 files changed, 81 insertions(+), 2 deletions(-) diff --git a/public/home.html b/public/home.html index 29d6802b..6a6985cd 100644 --- a/public/home.html +++ b/public/home.html @@ -2,9 +2,70 @@ + + + Music App -

hello world

+
+
+
+
+
Search for a Song to Recommend
+
+ + +
+
+
+

+ Scrollable List of songs here +

+
+
+ username +
+
+
Song Name, Artist, Album
+

Recomendation note

+ Play +
+
+
+
+
+ + \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index a6182fa9..c08d983e 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -4,6 +4,10 @@ body { background-color: rgba(0,0,0,0.87) !important; } +nav { + margin-bottom: 2%; +} + a { color: #00B7FF; } @@ -17,4 +21,18 @@ label { .profile { border-radius: 50%; width: 20%; -} \ No newline at end of file +} + +.logo { + width: 5%; + border-radius: 50%; +} + +.text { + color: white; +} + +.side-container { + background-color: lightgray; + +} From 2e6d083d2229ad920e726ced157e9a0a4e34a952 Mon Sep 17 00:00:00 2001 From: RandyAgudelo Date: Tue, 1 Oct 2019 11:13:18 -0400 Subject: [PATCH 09/88] Spotify Integration --- app.js | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/app.js b/app.js index 9f696d41..8b09cdea 100644 --- a/app.js +++ b/app.js @@ -10,7 +10,12 @@ const express = require('express'), passport = require('passport'), LocalStrategy = require('passport-local').Strategy, app = express(), - favicon = require('serve-favicon') + favicon = require('serve-favicon'), + client_id = 'f250b3f0ce604150b056707b8e25a328', + client_secret = 'c26768e1850047ceba186a08bb061a9d', //this is VERY IMPORTANT and should NEVER be revealed in public + redirect_uri = 'http://localhost:3000', //redirects to this when authorization passes or fails + scopes = 'user-read-private user-read-email', + code = '?response_type=code' let currentUser = [] @@ -76,6 +81,28 @@ app.get("/", isLoggedIn, function (req, res) { app.get("/login", function (req, res) { res.sendFile(__dirname + "/public/login.html") }) + +app.get("/spotifyAccess", function (req, res) { + res.redirect('https://accounts.spotify.com/authorize' + + code + + '&client_id=' + client_id + + (scopes ? '&scope=' + encodeURIComponent(scopes) : '') + + '&redirect_uri=' + encodeURIComponent(redirect_uri))//__dirname + "/spotifyInfo")) + console.log(code) +}) + +// app.post("/spotifyInfo",function(req,res){ +// res.redirect('https://accounts.spotify.com/api/token', +// data: { +// grant_type: "authorization_code", +// "code":code, +// "redirect_uri": redirect_uri, +// "Authorization": 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) +// } +// console.log(JSON.parse(res)) +// ) +// }) + app.get("/register", function (req, res) { res.sendFile(__dirname + "/public/register.html") }) @@ -86,7 +113,7 @@ app.get("/logout", function (req, res) { app.post("/login", passport.authenticate("local-login", {failureRedirect: "/"}), function (req, res) { - res.redirect("/") + res.redirect("/spotifyAccess") //redirects to spotify access page once sign in authorizes }) app.post("/register", function (req, res) { bcrypt.hash(req.body.password, 10, function (err, hash) { @@ -115,4 +142,6 @@ function isLoggedIn(req, res, next) { return next() res.redirect("/login") } -module.exports = app \ No newline at end of file +//added in order to run the server +app.listen(process.env.PORT || 3000) +module.exports = app From 55f7cc77869dd182744d58732c582e24318ab2bd Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Tue, 1 Oct 2019 11:19:59 -0400 Subject: [PATCH 10/88] Added caption to sidebar --- public/home.html | 7 ++++++- public/stylesheets/style.css | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/public/home.html b/public/home.html index 6a6985cd..e59cfd0a 100644 --- a/public/home.html +++ b/public/home.html @@ -42,11 +42,16 @@
-
Search for a Song to Recommend
+
+ + +
+ +

diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index c08d983e..069fb048 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -34,5 +34,10 @@ label { .side-container { background-color: lightgray; + color: black; +} +.post { + text-align: center; + margin: 2em; } From 3c344bfb3bdc36f05879c1a51afabac255227fec Mon Sep 17 00:00:00 2001 From: RandyAgudelo Date: Tue, 1 Oct 2019 13:07:12 -0400 Subject: [PATCH 11/88] Access token added --- app.js | 148 ++++++++++++++++++--- package-lock.json | 319 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 + 3 files changed, 449 insertions(+), 21 deletions(-) diff --git a/app.js b/app.js index 8b09cdea..cb9d603e 100644 --- a/app.js +++ b/app.js @@ -3,6 +3,9 @@ const express = require('express'), cookieParser = require('cookie-parser'), logger = require('morgan'), session = require('express-session'), + request = require('request'), + cors = require('cors'), + querystring = require('querystring'), mongodb = require('mongodb'), mongo = require('mongodb').MongoClient, bcrypt = require('bcrypt'), @@ -13,17 +16,23 @@ const express = require('express'), favicon = require('serve-favicon'), client_id = 'f250b3f0ce604150b056707b8e25a328', client_secret = 'c26768e1850047ceba186a08bb061a9d', //this is VERY IMPORTANT and should NEVER be revealed in public - redirect_uri = 'http://localhost:3000', //redirects to this when authorization passes or fails + redirect_uri = 'http://localhost:3000/callback', //redirects to this when authorization passes or fails scopes = 'user-read-private user-read-email', - code = '?response_type=code' + //code = '?response_type=code', + stateKey = 'spotify_auth_state' -let currentUser = [] + + +let currentUser = [], + access_token = null, + refresh_token = null app.use(favicon(__dirname + '/public/images/favicon.ico')) app.use(logger('dev')) app.use(express.json()) app.use(express.urlencoded({extended: false})) app.use(cookieParser()) +app.use(cors()) app.use(express.static(path.join(__dirname, 'public'))) app.use(session({ secret: "tHiSiSasEcRetStr", @@ -74,6 +83,17 @@ passport.use('local-login', new LocalStrategy( }) }) ) + +const generateRandomString = function(length) { + let text = ''; + const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + + for (let i = 0; i < length; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)); + } + return text; +}; + app.get("/", isLoggedIn, function (req, res) { console.log("test") res.sendFile(__dirname + "/public/home.html") @@ -83,25 +103,111 @@ app.get("/login", function (req, res) { }) app.get("/spotifyAccess", function (req, res) { - res.redirect('https://accounts.spotify.com/authorize' + - code + - '&client_id=' + client_id + - (scopes ? '&scope=' + encodeURIComponent(scopes) : '') + - '&redirect_uri=' + encodeURIComponent(redirect_uri))//__dirname + "/spotifyInfo")) - console.log(code) + //let code = '?response_type=code' + let state = generateRandomString(16); + res.cookie(stateKey, state); + res.redirect('https://accounts.spotify.com/authorize?' + + querystring.stringify({ + response_type: 'code', + client_id: client_id, + scope: scopes, + redirect_uri: redirect_uri, + state: state + })) }) -// app.post("/spotifyInfo",function(req,res){ -// res.redirect('https://accounts.spotify.com/api/token', -// data: { -// grant_type: "authorization_code", -// "code":code, -// "redirect_uri": redirect_uri, -// "Authorization": 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) -// } -// console.log(JSON.parse(res)) -// ) -// }) + +app.get('/callback', function(req, res) { + + // your application requests refresh and access tokens + // after checking the state parameter + + let code = req.query.code || null; + let state = req.query.state || null; + let storedState = req.cookies ? req.cookies[stateKey] : null; + + if (state === null || state !== storedState) { + res.redirect('/#' + + querystring.stringify({ + error: 'state_mismatch' + })); + } else { + res.clearCookie(stateKey); + const authOptions = { + url: 'https://accounts.spotify.com/api/token', + form: { + code: code, + redirect_uri: redirect_uri, + grant_type: 'authorization_code' + }, + headers: { + 'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) + }, + json: true + }; + + request.post(authOptions, function(error, response, body) { + if (!error && response.statusCode === 200) { + + access_token = body.access_token + refresh_token = body.refresh_token; + + const options = { + url: 'https://api.spotify.com/v1/me', + headers: {'Authorization': 'Bearer ' + access_token}, + json: true + }; + + // use the access token to access the Spotify Web API + request.get(options, function(error, response, body) { + console.log(body); + console.log('token = '+ access_token) + }); + + // we can also pass the token to the browser to make requests from there + res.redirect('/#' + + querystring.stringify({ + access_token: access_token, + refresh_token: refresh_token + })) + } else { + res.redirect('/#' + + querystring.stringify({ + error: 'invalid_token' + })); + } + }); + } +}); + + +app.get('/refresh_token', function(req, res) { + + // requesting access token from refresh token + var refresh_token = req.query.refresh_token; + var authOptions = { + url: 'https://accounts.spotify.com/api/token', + headers: { 'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) }, + form: { + grant_type: 'refresh_token', + refresh_token: refresh_token + }, + json: true + }; + + request.post(authOptions, function(error, response, body) { + if (!error && response.statusCode === 200) { + access_token = body.access_token; + res.send({ + 'access_token': access_token + }); + } + }); +}); + +app.get("/token", function (req,res){ + res.send(access_token) +}) app.get("/register", function (req, res) { res.sendFile(__dirname + "/public/register.html") @@ -137,7 +243,7 @@ app.post("/register", function (req, res) { }) function isLoggedIn(req, res, next) { - console.log(req.isAuthenticated()) + //console.log(req.isAuthenticated()) if (req.isAuthenticated()) return next() res.redirect("/login") diff --git a/package-lock.json b/package-lock.json index 7782c279..81247943 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,17 @@ "negotiator": "0.6.2" } }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -42,6 +53,34 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -64,6 +103,14 @@ "node-pre-gyp": "0.12.0" } }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -83,6 +130,11 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, "chownr": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", @@ -93,6 +145,14 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -137,6 +197,23 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -150,6 +227,11 @@ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -170,6 +252,15 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -290,6 +381,26 @@ } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, "finalhandler": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", @@ -304,6 +415,21 @@ "unpipe": "~1.0.0" } }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -342,6 +468,14 @@ "wide-align": "^1.1.0" } }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", @@ -355,6 +489,20 @@ "path-is-absolute": "^1.0.0" } }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -371,6 +519,16 @@ "statuses": ">= 1.4.0 < 2" } }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, "iconv-lite": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", @@ -419,11 +577,52 @@ "number-is-nan": "^1.0.0" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -624,6 +823,11 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -711,6 +915,11 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -725,11 +934,26 @@ "ipaddr.js": "1.9.0" } }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", @@ -772,6 +996,33 @@ "util-deprecate": "~1.0.1" } }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, "require_optional": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", @@ -873,6 +1124,22 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", @@ -923,6 +1190,35 @@ "yallist": "^3.0.3" } }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -945,6 +1241,14 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -955,11 +1259,26 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", diff --git a/package.json b/package.json index 1f806f48..d64ae82f 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dependencies": { "bcrypt": "^3.0.6", "cookie-parser": "~1.4.4", + "cors": "^2.8.5", "debug": "~2.6.9", "express": "~4.16.1", "express-session": "^1.16.2", @@ -16,6 +17,8 @@ "morgan": "~1.9.1", "passport": "^0.4.0", "passport-local": "latest", + "querystring": "^0.2.0", + "request": "^2.88.0", "serve-favicon": "^2.5.0" } } From d0a4bfc9f403130e7c48bc8608bd0aefe350749a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Tue, 1 Oct 2019 13:10:58 -0400 Subject: [PATCH 12/88] added spotify player with play and pause functionality --- public/home.html | 32 ++++++++++------ public/js/createPlayer.js | 77 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 11 deletions(-) create mode 100644 public/js/createPlayer.js diff --git a/public/home.html b/public/home.html index e59cfd0a..038c766e 100644 --- a/public/home.html +++ b/public/home.html @@ -5,6 +5,11 @@ + + Music App @@ -13,7 +18,8 @@ src="images/music.png" alt="Application Logo"> Music App - @@ -26,7 +32,8 @@ Home (current)

diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index 87aab0a5..37b20f55 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -59,6 +59,7 @@ function createPlayer(_token) { // Connect to the player! player.connect() } + // Play a specified track on the Web Playback SDK's device ID function getAudio(device_id) { $.ajax({ diff --git a/public/js/home.js b/public/js/home.js index 80fb5441..32a540ae 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -1,5 +1,9 @@ -let currentUsername = "Current User" - -//TODO: Need to set currentUsername to be the, well, current username - -document.getElementById("logoutLink").innerHTML = "Log out " + currentUsername +(function getData() { + (async () => { + const rawResponse = await fetch('/user', { + method: 'GET' + }) + let usr = await rawResponse.json() + document.getElementById("logoutLink").innerHTML = "Log out " + usr.user.username + })() +})() diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index f55503ba..e9397c93 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -1,61 +1,63 @@ body { - padding: 50px; - font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; - background-color: rgba(0,0,0,0.87) !important; + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; + background-color: rgba(0, 0, 0, 0.87) !important; } nav { - margin-bottom: 2%; + margin-bottom: 2%; } a { - color: #00B7FF; + color: #00B7FF; } + h1 { - color: lightgray; + color: lightgray; } + label { - color: white; + color: white; } .profile { - border-radius: 50%; - width: 20%; + border-radius: 50%; + width: 20%; } .logo { - width: 5%; - border-radius: 50%; + width: 5%; + border-radius: 50%; } .text { - color: white; + color: white; } .side-container { - background-color: lightgray; - color: black; + background-color: lightgray; + color: black; } .post { - text-align: center; - margin: 2em; + text-align: center; + margin: 2em; } img { - padding-right: 7px; + padding-right: 7px; } .centeredButtons { - text-align: center; + text-align: center; } #loginBtn, #signUpBtn { - margin-left: 5px; - margin-right: 5px; + margin-left: 5px; + margin-right: 5px; } #mainImage { - width: 200px; - height: 200px; + width: 200px; + height: 200px; } From 91c3f338aa35c67d988d8380276497db771a7516 Mon Sep 17 00:00:00 2001 From: Elie Date: Thu, 3 Oct 2019 13:19:03 -0400 Subject: [PATCH 18/88] Logout actually works :shockedpikachuface: --- public/home.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/public/home.html b/public/home.html index a6a5e3ac..7f8745ff 100644 --- a/public/home.html +++ b/public/home.html @@ -29,8 +29,7 @@ Home(current)
From 1e180e29ddc261875cae0adfb965ee20939a0d94 Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Thu, 3 Oct 2019 13:24:05 -0400 Subject: [PATCH 19/88] Added bootsrap table with sample data --- public/home.html | 38 +- public/search.js | 27 + public/stylesheets/style.css | 4 + public/tracks.js | 4776 ++++++++++++++++++++++++++++++++++ 4 files changed, 4843 insertions(+), 2 deletions(-) create mode 100644 public/search.js create mode 100644 public/tracks.js diff --git a/public/home.html b/public/home.html index e59cfd0a..5a84c62d 100644 --- a/public/home.html +++ b/public/home.html @@ -5,6 +5,11 @@ + + + + + Music App @@ -44,9 +49,35 @@
- - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
#NameArtist
1Markartist1
2Jacobartist1
3Larryartist1
@@ -73,4 +104,7 @@
Song Name, Artist, Album
+ + + \ No newline at end of file diff --git a/public/search.js b/public/search.js new file mode 100644 index 00000000..65e84a36 --- /dev/null +++ b/public/search.js @@ -0,0 +1,27 @@ +console.log("we got to script") +//let json = './tracks.js' +//const json = require('tracks.js'); + +window.onload = function(e){ + let searchButton = document.getElementById("songSearch"); + searchButton.onclick = search; + + +} + +function search() { + let songName = document.getElementById("songName").value + + let listOfSongNames = [] + let tracks = tracksJson.tracks.items; + + console.log(tracksJson); + + console.log("Number of tracks is " + tracks.length); + + for(let i = 0; i < tracks.length; i++) { + console.log(tracks[i].name); + } + + +} \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 069fb048..b961a8d1 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -41,3 +41,7 @@ label { text-align: center; margin: 2em; } + +.label { + margin: 2em; +} diff --git a/public/tracks.js b/public/tracks.js new file mode 100644 index 00000000..ca853db2 --- /dev/null +++ b/public/tracks.js @@ -0,0 +1,4776 @@ +let tracksJson = { + "tracks": { + "href": "https://api.spotify.com/v1/search?query=ipanema&type=track&market=US&offset=0&limit=20", + "items": [ + { + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/4iMO20EPodreIaEl8qW66y" + }, + "href": "https://api.spotify.com/v1/artists/4iMO20EPodreIaEl8qW66y", + "id": "4iMO20EPodreIaEl8qW66y", + "name": "Still Woozy", + "type": "artist", + "uri": "spotify:artist:4iMO20EPodreIaEl8qW66y" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/1SxVNVRfenIneNQvEdWbzP" + }, + "href": "https://api.spotify.com/v1/albums/1SxVNVRfenIneNQvEdWbzP", + "id": "1SxVNVRfenIneNQvEdWbzP", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/97ee888ffae6b7fa94f47274dcac2759e991ae66", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/8c78e911fe4b710dd87257ee3daefd7397f992f4", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/5a8b7368beb0cd11bd4bf39c253d739585c2e3c0", + "width": 64 + } + ], + "name": "Lately EP", + "release_date": "2019-05-03", + "release_date_precision": "day", + "total_tracks": 5, + "type": "album", + "uri": "spotify:album:1SxVNVRfenIneNQvEdWbzP" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/4iMO20EPodreIaEl8qW66y" + }, + "href": "https://api.spotify.com/v1/artists/4iMO20EPodreIaEl8qW66y", + "id": "4iMO20EPodreIaEl8qW66y", + "name": "Still Woozy", + "type": "artist", + "uri": "spotify:artist:4iMO20EPodreIaEl8qW66y" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5FxD8fkQZ6KcsSYupDVoSO" + }, + "href": "https://api.spotify.com/v1/artists/5FxD8fkQZ6KcsSYupDVoSO", + "id": "5FxD8fkQZ6KcsSYupDVoSO", + "name": "Omar Apollo", + "type": "artist", + "uri": "spotify:artist:5FxD8fkQZ6KcsSYupDVoSO" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1CgbNAF3Stnz1Tpipu3xdO" + }, + "href": "https://api.spotify.com/v1/artists/1CgbNAF3Stnz1Tpipu3xdO", + "id": "1CgbNAF3Stnz1Tpipu3xdO", + "name": "Elujay", + "type": "artist", + "uri": "spotify:artist:1CgbNAF3Stnz1Tpipu3xdO" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 127044, + "explicit": false, + "external_ids": { + "isrc": "SE5VF1903328" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/4FJzP6dMX4X7EAazhOTgey" + }, + "href": "https://api.spotify.com/v1/tracks/4FJzP6dMX4X7EAazhOTgey", + "id": "4FJzP6dMX4X7EAazhOTgey", + "is_local": false, + "name": "Ipanema", + "popularity": 62, + "preview_url": "https://p.scdn.co/mp3-preview/ef6799e941aa401c741fb09cd6a4adf5d630e737?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 2, + "type": "track", + "uri": "spotify:track:4FJzP6dMX4X7EAazhOTgey" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/5fxCwduFydtcmLFrEkePFE" + }, + "href": "https://api.spotify.com/v1/albums/5fxCwduFydtcmLFrEkePFE", + "id": "5fxCwduFydtcmLFrEkePFE", + "images": [ + { + "height": 620, + "url": "https://i.scdn.co/image/17a65f51bcf9aadb2a3d03ef2d0f1c11b68f4057", + "width": 640 + }, + { + "height": 291, + "url": "https://i.scdn.co/image/e27f70e20b8bbfdf0be65cb437cb13887ac1b6fe", + "width": 300 + }, + { + "height": 62, + "url": "https://i.scdn.co/image/4784ee26c5632c00d9a9e3ab66774808e97cc36d", + "width": 64 + } + ], + "name": "Compact Jazz: Antonio Carlos Jobim", + "release_date": "1990-08-21", + "release_date_precision": "day", + "total_tracks": 16, + "type": "album", + "uri": "spotify:album:5fxCwduFydtcmLFrEkePFE" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 322333, + "explicit": false, + "external_ids": { + "isrc": "USPR36307072" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1AxAPXcUcH3nXXeCeG0kGV" + }, + "href": "https://api.spotify.com/v1/tracks/1AxAPXcUcH3nXXeCeG0kGV", + "id": "1AxAPXcUcH3nXXeCeG0kGV", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 66, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:1AxAPXcUcH3nXXeCeG0kGV" + }, + { + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/40JYLbI7UkALG8X4IAOjgC" + }, + "href": "https://api.spotify.com/v1/artists/40JYLbI7UkALG8X4IAOjgC", + "id": "40JYLbI7UkALG8X4IAOjgC", + "name": "Santos", + "type": "artist", + "uri": "spotify:artist:40JYLbI7UkALG8X4IAOjgC" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/7vAQtglvZbAifozL6e3dOK" + }, + "href": "https://api.spotify.com/v1/albums/7vAQtglvZbAifozL6e3dOK", + "id": "7vAQtglvZbAifozL6e3dOK", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/5abccb8874addf82aad803d213c58aab24c3d8a1", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/7fa0891e2462e66ba4307aa402536d0a4eba73e1", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/e071b1c7337ff2fd2b71de1636eab904d0a1b009", + "width": 64 + } + ], + "name": "Ipanema Sunset", + "release_date": "2017-01-03", + "release_date_precision": "day", + "total_tracks": 1, + "type": "album", + "uri": "spotify:album:7vAQtglvZbAifozL6e3dOK" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/40JYLbI7UkALG8X4IAOjgC" + }, + "href": "https://api.spotify.com/v1/artists/40JYLbI7UkALG8X4IAOjgC", + "id": "40JYLbI7UkALG8X4IAOjgC", + "name": "Santos", + "type": "artist", + "uri": "spotify:artist:40JYLbI7UkALG8X4IAOjgC" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 100999, + "explicit": false, + "external_ids": { + "isrc": "TCACW1731755" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/3HY4CldJsd7ydS6bvClzhX" + }, + "href": "https://api.spotify.com/v1/tracks/3HY4CldJsd7ydS6bvClzhX", + "id": "3HY4CldJsd7ydS6bvClzhX", + "is_local": false, + "name": "Ipanema Sunset", + "popularity": 48, + "preview_url": "https://p.scdn.co/mp3-preview/431ef0c534420074244d8448357d8fc4d81ab4dc?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 1, + "type": "track", + "uri": "spotify:track:3HY4CldJsd7ydS6bvClzhX" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6Q192DXotxtaysaqNPy5yR" + }, + "href": "https://api.spotify.com/v1/artists/6Q192DXotxtaysaqNPy5yR", + "id": "6Q192DXotxtaysaqNPy5yR", + "name": "Amy Winehouse", + "type": "artist", + "uri": "spotify:artist:6Q192DXotxtaysaqNPy5yR" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/4xdRjOhY9NHmMpI7U3e2c3" + }, + "href": "https://api.spotify.com/v1/albums/4xdRjOhY9NHmMpI7U3e2c3", + "id": "4xdRjOhY9NHmMpI7U3e2c3", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/0b2351da671cccaadfd9661f5814e64eb80d18de", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/ef21e8ccb021a0fbc6b54dde2506a1e80af93acb", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/148bd5ee5991b83d38e6a14a1af8aa78125a4f2e", + "width": 64 + } + ], + "name": "Lioness: Hidden Treasures", + "release_date": "2011-01-01", + "release_date_precision": "day", + "total_tracks": 12, + "type": "album", + "uri": "spotify:album:4xdRjOhY9NHmMpI7U3e2c3" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6Q192DXotxtaysaqNPy5yR" + }, + "href": "https://api.spotify.com/v1/artists/6Q192DXotxtaysaqNPy5yR", + "id": "6Q192DXotxtaysaqNPy5yR", + "name": "Amy Winehouse", + "type": "artist", + "uri": "spotify:artist:6Q192DXotxtaysaqNPy5yR" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 166960, + "explicit": false, + "external_ids": { + "isrc": "GBUM71110103" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/7F5rIyOI88zk36AiBXC8xq" + }, + "href": "https://api.spotify.com/v1/tracks/7F5rIyOI88zk36AiBXC8xq", + "id": "7F5rIyOI88zk36AiBXC8xq", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 59, + "preview_url": null, + "track_number": 7, + "type": "track", + "uri": "spotify:track:7F5rIyOI88zk36AiBXC8xq" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/5280NkLzxe2w7K1JW9I8jX" + }, + "href": "https://api.spotify.com/v1/albums/5280NkLzxe2w7K1JW9I8jX", + "id": "5280NkLzxe2w7K1JW9I8jX", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/dcec22595b19a9df4ca8a995a2f7935a12068a96", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/7d3118c6c71e4257d61a03807d33b68ffad8b031", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/84e939c54fd8b088ddff82e80e237f4d6821f3d2", + "width": 64 + } + ], + "name": "Sinatra/Jobim: The Complete Reprise Recordings", + "release_date": "1967-03", + "release_date_precision": "month", + "total_tracks": 20, + "type": "album", + "uri": "spotify:album:5280NkLzxe2w7K1JW9I8jX" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 200360, + "explicit": false, + "external_ids": { + "isrc": "USRH10800977" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/5N6pQ2vYtd3Rb9w7LC8PZ9" + }, + "href": "https://api.spotify.com/v1/tracks/5N6pQ2vYtd3Rb9w7LC8PZ9", + "id": "5N6pQ2vYtd3Rb9w7LC8PZ9", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 57, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:5N6pQ2vYtd3Rb9w7LC8PZ9" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7v4imS0moSyGdXyLgVTIV7" + }, + "href": "https://api.spotify.com/v1/artists/7v4imS0moSyGdXyLgVTIV7", + "id": "7v4imS0moSyGdXyLgVTIV7", + "name": "Nat King Cole", + "type": "artist", + "uri": "spotify:artist:7v4imS0moSyGdXyLgVTIV7" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2IFGaozoXFA3m9IUH2Hcc4" + }, + "href": "https://api.spotify.com/v1/albums/2IFGaozoXFA3m9IUH2Hcc4", + "id": "2IFGaozoXFA3m9IUH2Hcc4", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/1fabde4fcac6be70c42e9473ac5a4f66f1eca0d3", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/dc263efc82b425d4d62f9ec752ecd0062fa9d8be", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/4170fcb827df1fd7ebe9489239e42fef76b544ab", + "width": 64 + } + ], + "name": "Ultimate Nat King Cole", + "release_date": "2019-03-15", + "release_date_precision": "day", + "total_tracks": 21, + "type": "album", + "uri": "spotify:album:2IFGaozoXFA3m9IUH2Hcc4" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7v4imS0moSyGdXyLgVTIV7" + }, + "href": "https://api.spotify.com/v1/artists/7v4imS0moSyGdXyLgVTIV7", + "id": "7v4imS0moSyGdXyLgVTIV7", + "name": "Nat King Cole", + "type": "artist", + "uri": "spotify:artist:7v4imS0moSyGdXyLgVTIV7" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/06nevPmNVfWUXyZkccahL8" + }, + "href": "https://api.spotify.com/v1/artists/06nevPmNVfWUXyZkccahL8", + "id": "06nevPmNVfWUXyZkccahL8", + "name": "Gregory Porter", + "type": "artist", + "uri": "spotify:artist:06nevPmNVfWUXyZkccahL8" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 174773, + "explicit": false, + "external_ids": { + "isrc": "USUG11900004" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/3niaqXwt6bSu5HCXJpaee7" + }, + "href": "https://api.spotify.com/v1/tracks/3niaqXwt6bSu5HCXJpaee7", + "id": "3niaqXwt6bSu5HCXJpaee7", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 54, + "preview_url": null, + "track_number": 21, + "type": "track", + "uri": "spotify:track:3niaqXwt6bSu5HCXJpaee7" + }, + { + "album": { + "album_type": "compilation", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/3i67sGIVw8EBlgfSRv3Lj2" + }, + "href": "https://api.spotify.com/v1/albums/3i67sGIVw8EBlgfSRv3Lj2", + "id": "3i67sGIVw8EBlgfSRv3Lj2", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/d32aeff49d628f9c554fa561fbecdd02cf867623", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/622fb28df75069765a48ddef9962aeea05c17c8b", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/9c4a8030d73a43e30bfeaac05d9e6f399cd13cd1", + "width": 64 + } + ], + "name": "Nothing But The Best (Remastered)", + "release_date": "2008-01-01", + "release_date_precision": "day", + "total_tracks": 22, + "type": "album", + "uri": "spotify:album:3i67sGIVw8EBlgfSRv3Lj2" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 194040, + "explicit": false, + "external_ids": { + "isrc": "USRH10723028" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/3NdHYXQK5gkFFEZvSMVVj6" + }, + "href": "https://api.spotify.com/v1/tracks/3NdHYXQK5gkFFEZvSMVVj6", + "id": "3NdHYXQK5gkFFEZvSMVVj6", + "is_local": false, + "name": "The Girl From Ipanema - 2008 Remastered", + "popularity": 51, + "preview_url": null, + "track_number": 7, + "type": "track", + "uri": "spotify:track:3NdHYXQK5gkFFEZvSMVVj6" + }, + { + "album": { + "album_type": "compilation", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0LyfQWJT6nXafLPZqxe9Of" + }, + "href": "https://api.spotify.com/v1/artists/0LyfQWJT6nXafLPZqxe9Of", + "id": "0LyfQWJT6nXafLPZqxe9Of", + "name": "Various Artists", + "type": "artist", + "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2KJsAjK0T585kFmFA3O7vr" + }, + "href": "https://api.spotify.com/v1/albums/2KJsAjK0T585kFmFA3O7vr", + "id": "2KJsAjK0T585kFmFA3O7vr", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/46af3b6f48f0908961625d4270199bfe4bb774cf", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/c8763a82487948994f59e50f127ad5802469719b", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/ef429402982562043dd99dc9e642de81926b5dc9", + "width": 64 + } + ], + "name": "Bossa Nova", + "release_date": "2004-01-01", + "release_date_precision": "day", + "total_tracks": 14, + "type": "album", + "uri": "spotify:album:2KJsAjK0T585kFmFA3O7vr" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5b2ylVrhm7GKFoUjuNk1Op" + }, + "href": "https://api.spotify.com/v1/artists/5b2ylVrhm7GKFoUjuNk1Op", + "id": "5b2ylVrhm7GKFoUjuNk1Op", + "name": "Vinícius", + "type": "artist", + "uri": "spotify:artist:5b2ylVrhm7GKFoUjuNk1Op" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 150613, + "explicit": false, + "external_ids": { + "isrc": "ARG990900583" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/13phYi072bj5ibxBx4VhQC" + }, + "href": "https://api.spotify.com/v1/tracks/13phYi072bj5ibxBx4VhQC", + "id": "13phYi072bj5ibxBx4VhQC", + "is_local": false, + "name": "Garota De Ipanema", + "popularity": 58, + "preview_url": "https://p.scdn.co/mp3-preview/6e1d00a2d7b3bd178fc4d02001b3ff634e825f1a?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 3, + "type": "track", + "uri": "spotify:track:13phYi072bj5ibxBx4VhQC" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/2JfVCMa3FlvQRlLT5uH9zb" + }, + "href": "https://api.spotify.com/v1/artists/2JfVCMa3FlvQRlLT5uH9zb", + "id": "2JfVCMa3FlvQRlLT5uH9zb", + "name": "Nancy Wilson", + "type": "artist", + "uri": "spotify:artist:2JfVCMa3FlvQRlLT5uH9zb" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/4qgiPr8Wg6HpqtfZBzcKqt" + }, + "href": "https://api.spotify.com/v1/albums/4qgiPr8Wg6HpqtfZBzcKqt", + "id": "4qgiPr8Wg6HpqtfZBzcKqt", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/ab67616d0000b273f32c2640357c4e7067a0e42e", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/ab67616d00001e02f32c2640357c4e7067a0e42e", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/ab67616d00004851f32c2640357c4e7067a0e42e", + "width": 64 + } + ], + "name": "How Glad I Am", + "release_date": "1964-01-01", + "release_date_precision": "day", + "total_tracks": 10, + "type": "album", + "uri": "spotify:album:4qgiPr8Wg6HpqtfZBzcKqt" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/2JfVCMa3FlvQRlLT5uH9zb" + }, + "href": "https://api.spotify.com/v1/artists/2JfVCMa3FlvQRlLT5uH9zb", + "id": "2JfVCMa3FlvQRlLT5uH9zb", + "name": "Nancy Wilson", + "type": "artist", + "uri": "spotify:artist:2JfVCMa3FlvQRlLT5uH9zb" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 134213, + "explicit": false, + "external_ids": { + "isrc": "USCA29601301" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/2chTka18XL8un05Pkb8Lis" + }, + "href": "https://api.spotify.com/v1/tracks/2chTka18XL8un05Pkb8Lis", + "id": "2chTka18XL8un05Pkb8Lis", + "is_local": false, + "name": "The Boy From Ipanema", + "popularity": 52, + "preview_url": null, + "track_number": 3, + "type": "track", + "uri": "spotify:track:2chTka18XL8un05Pkb8Lis" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/3VvwZy2KLUgi3QYmx7oiCA" + }, + "href": "https://api.spotify.com/v1/albums/3VvwZy2KLUgi3QYmx7oiCA", + "id": "3VvwZy2KLUgi3QYmx7oiCA", + "images": [ + { + "height": 600, + "url": "https://i.scdn.co/image/5edf9962c5bf32cc2f3c1afca4cb02540949cec9", + "width": 600 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/689e8de1add2cf94459d7da3e1217755e520b988", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/81e56f25454f9b5e8cebc452efb8e4f694202d6b", + "width": 64 + } + ], + "name": "The Girl from Ipanema", + "release_date": "2016-04-29", + "release_date_precision": "day", + "total_tracks": 50, + "type": "album", + "uri": "spotify:album:3VvwZy2KLUgi3QYmx7oiCA" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" + }, + "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", + "id": "5rX2c1zow6hCph8PnnU3kF", + "name": "Astrud Gilberto", + "type": "artist", + "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 169026, + "explicit": false, + "external_ids": { + "isrc": "USPR36312115" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/43p5Olz6Cis0ZCYcqgQ18y" + }, + "href": "https://api.spotify.com/v1/tracks/43p5Olz6Cis0ZCYcqgQ18y", + "id": "43p5Olz6Cis0ZCYcqgQ18y", + "is_local": false, + "name": "The Girl from Ipanema", + "popularity": 49, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:43p5Olz6Cis0ZCYcqgQ18y" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "href": "https://api.spotify.com/v1/albums/2W6Hvrtg2Zpc9dW4aBDbdP", + "id": "2W6Hvrtg2Zpc9dW4aBDbdP", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/d479100f74473f863ed486498ac373836dab895d", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/0b116b02ee79d735a434fa9e80744e3691280d34", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/8a9c5661a9967fdf7451c36a0cf33118da72ce36", + "width": 64 + } + ], + "name": "Getz/Gilberto (Expanded Edition)", + "release_date": "2014-05-27", + "release_date_precision": "day", + "total_tracks": 18, + "type": "album", + "uri": "spotify:album:2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" + }, + "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", + "id": "5rX2c1zow6hCph8PnnU3kF", + "name": "Astrud Gilberto", + "type": "artist", + "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 167533, + "explicit": false, + "external_ids": { + "isrc": "USUMG0000425" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/4qGfJb2KByjvzrwo8HNibg" + }, + "href": "https://api.spotify.com/v1/tracks/4qGfJb2KByjvzrwo8HNibg", + "id": "4qGfJb2KByjvzrwo8HNibg", + "is_local": false, + "name": "The Girl From Ipanema - Single Version", + "popularity": 53, + "preview_url": null, + "track_number": 17, + "type": "track", + "uri": "spotify:track:4qGfJb2KByjvzrwo8HNibg" + }, + { + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7Jd8IfE12z0jbepgMaVpXl" + }, + "href": "https://api.spotify.com/v1/artists/7Jd8IfE12z0jbepgMaVpXl", + "id": "7Jd8IfE12z0jbepgMaVpXl", + "name": "Davide Ambrosia", + "type": "artist", + "uri": "spotify:artist:7Jd8IfE12z0jbepgMaVpXl" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/38OsqZOKQwGVhrFlmNqfUw" + }, + "href": "https://api.spotify.com/v1/albums/38OsqZOKQwGVhrFlmNqfUw", + "id": "38OsqZOKQwGVhrFlmNqfUw", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/b81c47002f5b704d02c71d96e2f0f85c03a5f1f5", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/46eac161587fef906fb66b647351893f78b0a4d8", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/51419aac08379318de893b66c7321a38f9a6771a", + "width": 64 + } + ], + "name": "Grand Hotel", + "release_date": "2015", + "release_date_precision": "year", + "total_tracks": 3, + "type": "album", + "uri": "spotify:album:38OsqZOKQwGVhrFlmNqfUw" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7Jd8IfE12z0jbepgMaVpXl" + }, + "href": "https://api.spotify.com/v1/artists/7Jd8IfE12z0jbepgMaVpXl", + "id": "7Jd8IfE12z0jbepgMaVpXl", + "name": "Davide Ambrosia", + "type": "artist", + "uri": "spotify:artist:7Jd8IfE12z0jbepgMaVpXl" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 203318, + "explicit": false, + "external_ids": { + "isrc": "SE5IB1700871" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/5gzgkcNPHlSgnoqdEOYLfC" + }, + "href": "https://api.spotify.com/v1/tracks/5gzgkcNPHlSgnoqdEOYLfC", + "id": "5gzgkcNPHlSgnoqdEOYLfC", + "is_local": false, + "name": "Girl From Ipanema", + "popularity": 54, + "preview_url": "https://p.scdn.co/mp3-preview/c5e542f520175b1576f99b7fea889c90ec24ee15?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 2, + "type": "track", + "uri": "spotify:track:5gzgkcNPHlSgnoqdEOYLfC" + }, + { + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0g5AouvHCjswMZiQheyRNK" + }, + "href": "https://api.spotify.com/v1/artists/0g5AouvHCjswMZiQheyRNK", + "id": "0g5AouvHCjswMZiQheyRNK", + "name": "Rio Mendes", + "type": "artist", + "uri": "spotify:artist:0g5AouvHCjswMZiQheyRNK" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/6ROavccgDMsZS13Lx7NWYI" + }, + "href": "https://api.spotify.com/v1/albums/6ROavccgDMsZS13Lx7NWYI", + "id": "6ROavccgDMsZS13Lx7NWYI", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/cb68333e434ea54c76b4c4e5c1f6915bdbd3d402", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/709d5632b565207922cbf97782940471773b4869", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/0da1843bcaa29395e708a8cc46956df9adefbe4d", + "width": 64 + } + ], + "name": "Bossa Nova Sounds EP", + "release_date": "2019-07-12", + "release_date_precision": "day", + "total_tracks": 3, + "type": "album", + "uri": "spotify:album:6ROavccgDMsZS13Lx7NWYI" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0g5AouvHCjswMZiQheyRNK" + }, + "href": "https://api.spotify.com/v1/artists/0g5AouvHCjswMZiQheyRNK", + "id": "0g5AouvHCjswMZiQheyRNK", + "name": "Rio Mendes", + "type": "artist", + "uri": "spotify:artist:0g5AouvHCjswMZiQheyRNK" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 180860, + "explicit": false, + "external_ids": { + "isrc": "QZAKB1910099" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/4LFygoMviIwMfAlxBz821e" + }, + "href": "https://api.spotify.com/v1/tracks/4LFygoMviIwMfAlxBz821e", + "id": "4LFygoMviIwMfAlxBz821e", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 49, + "preview_url": "https://p.scdn.co/mp3-preview/cd22faff356c42cce21008b8f1d0ebfeee881b78?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 3, + "type": "track", + "uri": "spotify:track:4LFygoMviIwMfAlxBz821e" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0ldU0QJm31y0d6f57R1G2A" + }, + "href": "https://api.spotify.com/v1/artists/0ldU0QJm31y0d6f57R1G2A", + "id": "0ldU0QJm31y0d6f57R1G2A", + "name": "Oscar Peterson Trio", + "type": "artist", + "uri": "spotify:artist:0ldU0QJm31y0d6f57R1G2A" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/7BVfV9OGD9tYdy7Jr5JLbt" + }, + "href": "https://api.spotify.com/v1/albums/7BVfV9OGD9tYdy7Jr5JLbt", + "id": "7BVfV9OGD9tYdy7Jr5JLbt", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/5d2bfdfd801cb2fbee0fc485cc734c9dbff01127", + "width": 612 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/87918e967a9f8bdbb3fb13d898027cc63c75df5c", + "width": 287 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/14f304b86d618313a428ee1ff003e0b8dd9506d4", + "width": 61 + } + ], + "name": "We Get Requests", + "release_date": "1964", + "release_date_precision": "year", + "total_tracks": 10, + "type": "album", + "uri": "spotify:album:7BVfV9OGD9tYdy7Jr5JLbt" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0ldU0QJm31y0d6f57R1G2A" + }, + "href": "https://api.spotify.com/v1/artists/0ldU0QJm31y0d6f57R1G2A", + "id": "0ldU0QJm31y0d6f57R1G2A", + "name": "Oscar Peterson Trio", + "type": "artist", + "uri": "spotify:artist:0ldU0QJm31y0d6f57R1G2A" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 235466, + "explicit": false, + "external_ids": { + "isrc": "USF096425330" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/04n2zZCoMIw7r0NNTN1hMg" + }, + "href": "https://api.spotify.com/v1/tracks/04n2zZCoMIw7r0NNTN1hMg", + "id": "04n2zZCoMIw7r0NNTN1hMg", + "is_local": false, + "name": "Girl From Ipanema", + "popularity": 44, + "preview_url": null, + "track_number": 7, + "type": "track", + "uri": "spotify:track:04n2zZCoMIw7r0NNTN1hMg" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "href": "https://api.spotify.com/v1/albums/2W6Hvrtg2Zpc9dW4aBDbdP", + "id": "2W6Hvrtg2Zpc9dW4aBDbdP", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/d479100f74473f863ed486498ac373836dab895d", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/0b116b02ee79d735a434fa9e80744e3691280d34", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/8a9c5661a9967fdf7451c36a0cf33118da72ce36", + "width": 64 + } + ], + "name": "Getz/Gilberto (Expanded Edition)", + "release_date": "2014-05-27", + "release_date_precision": "day", + "total_tracks": 18, + "type": "album", + "uri": "spotify:album:2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" + }, + "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", + "id": "5rX2c1zow6hCph8PnnU3kF", + "name": "Astrud Gilberto", + "type": "artist", + "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 320253, + "explicit": false, + "external_ids": { + "isrc": "USPR36305146" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/7znjbX9XdoQayIrVNdd50Z" + }, + "href": "https://api.spotify.com/v1/tracks/7znjbX9XdoQayIrVNdd50Z", + "id": "7znjbX9XdoQayIrVNdd50Z", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 45, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:7znjbX9XdoQayIrVNdd50Z" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6snr2uV0JQDKLW9yWzRkPj" + }, + "href": "https://api.spotify.com/v1/artists/6snr2uV0JQDKLW9yWzRkPj", + "id": "6snr2uV0JQDKLW9yWzRkPj", + "name": "Funkmammoth", + "type": "artist", + "uri": "spotify:artist:6snr2uV0JQDKLW9yWzRkPj" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/4ldnVVxGWI1MHKYLMSX4Om" + }, + "href": "https://api.spotify.com/v1/albums/4ldnVVxGWI1MHKYLMSX4Om", + "id": "4ldnVVxGWI1MHKYLMSX4Om", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/a4fc69346e6081994aeb74eff45b9c04919f3b5f", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/4e9ae6d7ed8c1c9186881659a4894c3700cdcfc4", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/34db83cf641b554986fd5046f3388b005dc0cbb6", + "width": 64 + } + ], + "name": "Es Tas South", + "release_date": "2017-07-24", + "release_date_precision": "day", + "total_tracks": 14, + "type": "album", + "uri": "spotify:album:4ldnVVxGWI1MHKYLMSX4Om" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6snr2uV0JQDKLW9yWzRkPj" + }, + "href": "https://api.spotify.com/v1/artists/6snr2uV0JQDKLW9yWzRkPj", + "id": "6snr2uV0JQDKLW9yWzRkPj", + "name": "Funkmammoth", + "type": "artist", + "uri": "spotify:artist:6snr2uV0JQDKLW9yWzRkPj" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 127228, + "explicit": false, + "external_ids": { + "isrc": "TCADE1768521" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/6l8ZAqy48pBSGJtUikKNYr" + }, + "href": "https://api.spotify.com/v1/tracks/6l8ZAqy48pBSGJtUikKNYr", + "id": "6l8ZAqy48pBSGJtUikKNYr", + "is_local": false, + "name": "Ipanema", + "popularity": 45, + "preview_url": "https://p.scdn.co/mp3-preview/b21542f3668a0e0714879248cf23aa2a5c326597?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 3, + "type": "track", + "uri": "spotify:track:6l8ZAqy48pBSGJtUikKNYr" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5B6H1Dq77AV1LZWrbNsuH5" + }, + "href": "https://api.spotify.com/v1/artists/5B6H1Dq77AV1LZWrbNsuH5", + "id": "5B6H1Dq77AV1LZWrbNsuH5", + "name": "Jarabe De Palo", + "type": "artist", + "uri": "spotify:artist:5B6H1Dq77AV1LZWrbNsuH5" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/46HlKlgX5YULMqWAs5yazT" + }, + "href": "https://api.spotify.com/v1/albums/46HlKlgX5YULMqWAs5yazT", + "id": "46HlKlgX5YULMqWAs5yazT", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/b78bbc8e03eb23bfb2c25a6f7fdc3fd2758ecb84", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/6211434d2e6a7faec0c0cacb879ee45ca1a1cb06", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/c47e8cad88d676e8eba200df5fb2462c989026bd", + "width": 64 + } + ], + "name": "En la vida conocí mujer igual a la Flaca: 20 años", + "release_date": "2017-12-01", + "release_date_precision": "day", + "total_tracks": 59, + "type": "album", + "uri": "spotify:album:46HlKlgX5YULMqWAs5yazT" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5B6H1Dq77AV1LZWrbNsuH5" + }, + "href": "https://api.spotify.com/v1/artists/5B6H1Dq77AV1LZWrbNsuH5", + "id": "5B6H1Dq77AV1LZWrbNsuH5", + "name": "Jarabe De Palo", + "type": "artist", + "uri": "spotify:artist:5B6H1Dq77AV1LZWrbNsuH5" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 251480, + "explicit": false, + "external_ids": { + "isrc": "ES5010500041" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1QgfZsvA8tpsMVs1EylzYU" + }, + "href": "https://api.spotify.com/v1/tracks/1QgfZsvA8tpsMVs1EylzYU", + "id": "1QgfZsvA8tpsMVs1EylzYU", + "is_local": false, + "name": "La chica de Ipanema", + "popularity": 50, + "preview_url": "https://p.scdn.co/mp3-preview/66dcf8b88a92022ed0944ea01bd01be028e36f66?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 44, + "type": "track", + "uri": "spotify:track:1QgfZsvA8tpsMVs1EylzYU" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5z1VAFwT35EVvCp1XlZZuL" + }, + "href": "https://api.spotify.com/v1/artists/5z1VAFwT35EVvCp1XlZZuL", + "id": "5z1VAFwT35EVvCp1XlZZuL", + "name": "Diana Krall", + "type": "artist", + "uri": "spotify:artist:5z1VAFwT35EVvCp1XlZZuL" + } + ], + "available_markets": [ + "CA", + "MX", + "US" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/30i0HL1NsQ2xcMhgmQ7rvi" + }, + "href": "https://api.spotify.com/v1/albums/30i0HL1NsQ2xcMhgmQ7rvi", + "id": "30i0HL1NsQ2xcMhgmQ7rvi", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/b1ea3d77eb57ff550f885a4395baa8263dc96f47", + "width": 634 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/513b79b9112f13ab241d198b178d1e3fc4dc9e36", + "width": 297 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/90fbf8c29e1e80386f9ae6543f8124441d0c5056", + "width": 63 + } + ], + "name": "Quiet Nights", + "release_date": "2009-01-01", + "release_date_precision": "day", + "total_tracks": 12, + "type": "album", + "uri": "spotify:album:30i0HL1NsQ2xcMhgmQ7rvi" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5z1VAFwT35EVvCp1XlZZuL" + }, + "href": "https://api.spotify.com/v1/artists/5z1VAFwT35EVvCp1XlZZuL", + "id": "5z1VAFwT35EVvCp1XlZZuL", + "name": "Diana Krall", + "type": "artist", + "uri": "spotify:artist:5z1VAFwT35EVvCp1XlZZuL" + } + ], + "available_markets": [ + "CA", + "MX", + "US" + ], + "disc_number": 1, + "duration_ms": 292880, + "explicit": false, + "external_ids": { + "isrc": "USUM70951271" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1iqDYEuA23P28l0lRsNSFs" + }, + "href": "https://api.spotify.com/v1/tracks/1iqDYEuA23P28l0lRsNSFs", + "id": "1iqDYEuA23P28l0lRsNSFs", + "is_local": false, + "name": "The Boy From Ipanema", + "popularity": 37, + "preview_url": null, + "track_number": 4, + "type": "track", + "uri": "spotify:track:1iqDYEuA23P28l0lRsNSFs" + }, + { + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/0LYpJGx3fHoTmKOtKuMWtQ" + }, + "href": "https://api.spotify.com/v1/albums/0LYpJGx3fHoTmKOtKuMWtQ", + "id": "0LYpJGx3fHoTmKOtKuMWtQ", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/456a944e73c8110a13c746109a9b71393481588e", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/c0de23aeca99c8bf8537864c5216485464dd6db0", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/8c42af83179e899015ca48dcbc6b602756817307", + "width": 64 + } + ], + "name": "Francis Albert Sinatra & Antonio Carlos Jobim", + "release_date": "1967-03", + "release_date_precision": "month", + "total_tracks": 10, + "type": "album", + "uri": "spotify:album:0LYpJGx3fHoTmKOtKuMWtQ" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 194573, + "explicit": false, + "external_ids": { + "isrc": "USRH10800977" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1id6N5Y8662aKNlmR5eM92" + }, + "href": "https://api.spotify.com/v1/tracks/1id6N5Y8662aKNlmR5eM92", + "id": "1id6N5Y8662aKNlmR5eM92", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 41, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:1id6N5Y8662aKNlmR5eM92" + }, + { + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6diA719p2OaW6zQnXCbRO9" + }, + "href": "https://api.spotify.com/v1/artists/6diA719p2OaW6zQnXCbRO9", + "id": "6diA719p2OaW6zQnXCbRO9", + "name": "US Two", + "type": "artist", + "uri": "spotify:artist:6diA719p2OaW6zQnXCbRO9" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/3WDrrELIumy9JiB9aZN5x7" + }, + "href": "https://api.spotify.com/v1/albums/3WDrrELIumy9JiB9aZN5x7", + "id": "3WDrrELIumy9JiB9aZN5x7", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/2f70df07dec22d7639b59c617e4f5b55d5024b1f", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/75ee2cdedd8ff8f18c92f449f28208ddf4fc929a", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/66839307af1f3a32237bcc6e946030345a662546", + "width": 64 + } + ], + "name": "US Two", + "release_date": "2018-10-28", + "release_date_precision": "day", + "total_tracks": 3, + "type": "album", + "uri": "spotify:album:3WDrrELIumy9JiB9aZN5x7" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6diA719p2OaW6zQnXCbRO9" + }, + "href": "https://api.spotify.com/v1/artists/6diA719p2OaW6zQnXCbRO9", + "id": "6diA719p2OaW6zQnXCbRO9", + "name": "US Two", + "type": "artist", + "uri": "spotify:artist:6diA719p2OaW6zQnXCbRO9" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 188194, + "explicit": false, + "external_ids": { + "isrc": "SE5IB1800990" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1hOQ2MFPcuNupbsb8Xba1t" + }, + "href": "https://api.spotify.com/v1/tracks/1hOQ2MFPcuNupbsb8Xba1t", + "id": "1hOQ2MFPcuNupbsb8Xba1t", + "is_local": false, + "name": "Girl From Ipanema", + "popularity": 40, + "preview_url": "https://p.scdn.co/mp3-preview/37dc00a141411ad4448b7cede2248d91637dbcf4?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 2, + "type": "track", + "uri": "spotify:track:1hOQ2MFPcuNupbsb8Xba1t" + } + ], + "limit": 20, + "next": "https://api.spotify.com/v1/search?query=ipanema&type=track&market=US&offset=20&limit=20", + "offset": 0, + "previous": null, + "total": 8707 + } +} \ No newline at end of file From 976639c8e72dff8b960e32cbf93fc495c4dcf384 Mon Sep 17 00:00:00 2001 From: Elie Date: Thu, 3 Oct 2019 13:38:24 -0400 Subject: [PATCH 20/88] Add default image if song not found --- public/home.html | 2 +- public/images/songnotfound.png | Bin 0 -> 260997 bytes public/stylesheets/style.css | 5 +++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 public/images/songnotfound.png diff --git a/public/home.html b/public/home.html index 7f8745ff..62fa46b9 100644 --- a/public/home.html +++ b/public/home.html @@ -59,7 +59,7 @@
Song Name, Artist, Album
- image of song cover + image of song cover

Recommendation note

Play Pause diff --git a/public/images/songnotfound.png b/public/images/songnotfound.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b0cb95d9516ee6c47482b9e624cbce2b079e44 GIT binary patch literal 260997 zcmXV2cRZWz_cp3pTG}dVck4@yR&7bBmJUUW*n107QY#U&ilV5hE!w^{L+nlLO{ygJ zs7(@k1(9F+et&-?KJwx5+~+>eblUf2t$C4+pN)Zm;o|dWPu?&vFqQs&ojXha z$;v$2WMA%28MgM#Q2x@p1c<92t4cel(aOAo1~~*1r0klfp)jn54Sd%jCIhwtVbU2R}|{eX88^u~H~~-jE(q9D*2>FL5}& zTaQ!69V>-wYgQMtpDr?AgYzQGvMM&zTb0tyc^=sc49I6K-Y8J6l}hZr@b8;V_|2Iw zLD`VpjQ)fDGTfGs)^o#n@zJT!fpR-sqOXsa2Q)Bq>-g60#rOH1MOS6pU(7 zFa`$6n}1)7`EygB85mAwoQpB+@RX>4d9Xx9huybw>)1M3^2$h?R~djsD=sI`XW|+%y<(%HqK1N*Svdq1GEO^q zf%|hp)2qN7pMVh`#fIKG?8GX0`VSdu*QBX3_hZAO)jw(uk$K?O8%C+XZm$hV(ORT3 z16Fx0yzB#;^+XQ9Df3PAtF5mnxZ80GD!fg4;{IZ05im{O-9KnNSe=^LX@pj!{ZeN0 zlsWl`@}sO)U;_45lPoCt^GgTx-}HGdC|^pynQFbc4V86_dHpeU9RXi)JlUEcpCu!( zs}oWd$Kn{phBaob9_!K3}YjG zj%E%@eCXe)H0;!!)(QwG&s-6uS)(?KC&~w_ga|V2V zLg^h9nA!XwKvI@p_roAE0;tHqRtfnI%H1O&DQLh9`Jp$;=Tz2k%aSbr8yDCyQ+GIq z@*i83L2cgYj9LF1ySM*~-KJc-Ja82v1ze2+9=~dQ4sRZzg+`&Mc_>BdB<^HnD6nqp zaM98iA43XGyCGkP-KuI_UIk3=$Y%t!F3uYs_wQr&Yn17$2%cc?r2h~z>$F&xJQ_}ZfQ`2J z6XfL|ilAStitUrY7(HPo*AI_%{5sl25W9}k*#aq0TR&*~;o4Hv zX4=~%%5uRvx>{jsej6tsCDII#M8+Ss<58ne=K6Ew_Tki|A+3UFgV)!b-Nx1-=KJ!~ zqh-@O76&Q~xMNz;5H%2YoZ;Tfsa@s0^LJb7IRD$0^^Qa3*kcH<{Bii^j*c01^yTT) zDyaUDRU34i0D|3uFROF>N^6W70!THGlH_%h#H*Yc(SFPwWGmqufl2NJe8V2YMSTaA zVuzpvJ zxsmAsL;f#dEL%dB2Qj>y)M%aB{Z{IX{{aX<9gaO+?wz;~^?(b_%H2rbn$|#Xb4K*>9&mzT2mE zFFUi#g{7p&G`3LAiVfUoj>>Oy&?(Pwo8X%m8+-`n0Xk_Oow0Yvi|UWs7=SX?ktiP( z>N@9X(9i~QGgMo|tG}N(6F{7PiwI9`Twot-~U!31+~D=kyy88ko2Ur zIGLjDexWfk%AbWv>^3Y~Ev8;VOb>i%n0|C-x-IBQ!?%<@hD6xd^lX+B$|Wr^K@*x) z9b8chusS>ZvEr_imzsn}p%wVfTEECNo6YWo$V<274<*9tj4%SLeZDo|#H#nQQOCCQ z%kZ%hul-^ha7Wok{vV9X?)~~cVXqA&~+AZ@x^qfkC;GdHqo--{E>BE6$lw!%`D`TPpeUoFvmv5olPa^WXM z*LNYFrM%K)X*E}e%6-3F*8J4Q9YZ<&wES7}I(0vXHQ+Ej9eDVSv#~x8xl)AhpGN#e z4cq^r21i61b%3Y`+;}N(=FJU0D+B-3RS0A4=)JvMGVlUW&}vMZ zmn$R15RLyy?#x@jz!-cp0yA)~_pdEKz&k9~vLYOQbrX>A$3J0l@_5^s<7udmm)`NQ z6x0QD()WsNXgNI`Fzum7uLVLJ|CM{6OOvDtRF402lKDw*LE6YjH0NC6TK`kD-I5zi zK%q`p%usFA9p8CU6|_$YdG50 z8KIJ1alLDUObdvAOB9(D_Q2o=_%j9rybB|o0W+G^<{{MaTIY~w=zKQ4_A7Jz_iRpg z9A+*fC))q^oIWBSb*L?!7XGxVzyo|g@x4ej&w^0B#FDvr=Ek-&yKO>-?5Jn3$jMX6 zae8rV@m;6D;tecjU4p&%piQx1y8N0YRctnXF#o&KuD-GMjv5wlXT!z7wccuR7gQtO ziJpuk#A}M&u6^8a68G7^rl2yhUz@yt2I9{i8#;gY&9xr^`F*y=iT3?Y1$SjeHJ1Fi zpLjB#?jO|PRu2M)!z~eiLmpfu@xMDiTfH9mCJt(krLjmUQMaY)*M8sX?_95c6|oU6 zWqfU7266RI%cY&Ks#0CG1SUk);|aEF`R=lt6QaN5LmqS2=~QSiDGch0r@&4Y-~p-? zW|80ca-$^nOWb&aV(03G%qw;mDr`)A_b=X!((d+%&MiG#!60j5|4l~XdboK9n!sto z`+f*oY0vuZGQfZUJnZOe!|BQ6h!5$KGChr2ZO$*iQ81^-7gzGPW9~SZ=4VayO|{whTx zDgI6$rjP9o(5@-GIzK$m~_I@Pp#z1!_6gv6(j1gaaAs3~4jZG+Dvi*Q;oZd|OWd(ibU_`p`<{uINBX%4$^@IDY zqRvTblqPTq=Ck#;pAPsB<$cBH#$ss#yfZuXQ04z<&Q|=nQHtt*nkMkRebYcV5dd9S zW)-j4xix{)1{E9L7GrkhW7#Xn%p$aS1N90u z=!T|-Rt%gE9dN!Q-!rOVkSsr#!FmVXoitVx>f?9dql|33B^*Ge-Th16szCoe1MZq; z2MEu=KMA0NwHbu@A5DAE)e+gC2M1nz>Ud7e362BPiR<9s{8#a3(NIQXvhv{*$MiRe_V&fb$`=Tk6-RF9e zxAwaBUl=u61m_2r46XVE{@MTlPEAh!Y&vQF+1Zo&I*rY)& z?(|=aaL4AI8Q^6{I7EqAw`WT>m2Oyct`RH_)PvDG*C*zK#!?O94=a6QlkV?a-NrC; z7wdP@DmIRY+JT#w19x}%Mou<7=3@sxescOx;YPrERc63KJIHsnpYsJ!c!X0O zBz;^`74VC7g8zDwE7+>j?cx>^wXVq6DlTdM0%h~fsBK$1) zAZw)b-rzmWOEWF=G6|^_GRWG>yM%J`Ysh*rTX~R|p19F*h<5d|PSd$rH=L7AU;e;& zK|IMMhW+~!!ua;<;@-Yd4DE)=FWam7%Izd6s|iuFM}H=S^fig~?usQFw5A#4QETi` z+fb;;*5(T#I+yEj@wi3D*tCcoz><`u{{R=(pK`s&k~g5UtZ}QO3PW{b-T`>8w@Sw0 zSeH(a4MbI7;%-`jmobiJ;Oy%AmQ;1~0i^PJ_?=%Y88@YsYE0cuPT>rSU{69iCIhQH zdFtn+mljB2Kx?`g+V-D8WRPT9{I2G9u`AW=33o2EE&HfOR=#jcUT6l+q~_a&>jfNF zoBpXP_lpx1=Vd?5f8$=(R<$?!mQnG#j<$>%+@kFBq@u#LqArQ?6Sh@ z`*yzBZ}~5WRR>Wo*9C6Pu38=$N&<=JElbCWF#v}+T@7qp z-;=-j{9yh<-+>WGntCa^fhO+#PCqTnJ*LByX7csL2|z?)zK@SttL8g3V?fC0MoxiK zg;(JXQ*ZH@)(bY5o&7g(JNAY0ACDXg%Xzu+D;9<03rq5$OO^S)VmewnlF6Mn_VM1T zNNx56Hbv4xjJ9M%%TeHqP%Jnz?IKv359U(nU}f(`@Z1dTW;Wdub2W|xuPVh=;PTVB z&z2N|Yx>b%Z>QI%p@BycnkR!p`>gXP3I4IZyC@4AdJClx`ya74ZT3M@LDh%3I>&8` z>Wk-5rz=r`dm+5$$ZKw(tYYSqlz$>Bg*ilu?KbxlO|ya%Qz>dwX2t#TZ(NCedA~o3 zy&4!EpEI+VvRZ44f~!t>XQRvb!NPrZ0R~e{8a2W=^cfk$vobAakOP0CW+mH0eWRBb z0&3PGJwx*Na_c-J%D8mQ3k)O@>bKSjD|t=;1H>0{eyYVtkZWwmGn-)&F6NX!slg>t z-SRtpZ8oaS-ay0^!hW?$s8J`ea8(WMvxocp<`lnOrWWuPRNN)4$cbILj+T zLdIa8Aqz|Thr#??HkVQ6cLkJ%(cEvNi@4Qf3M&sj3Xk;M2bHYDA@#z7HhGqN_8Z0; z;EUWgKPzA8<@k#+l^5em3Z28B1R?J_EM~?ZLIY_te(-JfO!hy2Vf=qO41K%&r{v94 zXel#q;S`}KmCS%7T7cVQcWDZxeoz`SK zFo_c^^dIOELk;|v@}7i^=ci8DrcJ;MBJg~@Wje(Grt7i(=x%pv-#YC3mNO1Mc8?|3 znUzkCEBSVVC=A+OcKtP*<)x7Gjz01{#aFnz$+dX#U+r%Myj{JIKCaqEb(GJyyV&(Q zQ}Y*YH=hK1>|6Nh#aA24Jie&76*!M*SjKM*0#9T>Vc+SMH9d?bHb7?}5S2Z45oM5J zQQS-<^~(XZI4UP_j7tZE@Z(C;;R22uF@wHFL*wspUK`5vx7}?*nVWFwhVx(({5bN0 zhB#NVl$G}FUVVLG6S)wJ4UTdMYIoJ{Om|RCw8HhFOY7i=4=YufzjCT-Wl7^pD|J*G z8koogIV{{5-%McJoP{c%+arCM8dKmJ?iqZeoaO1z5-MVqsD8DeCKAZ%q%9EZ@<{Y^ zNk?Z-vGCIy;pZ}C(7CB*yR%gf#mg?Sv%C8X>tA+m5FF$yK8*j=31;S2@hquigRtIT zD|HB@=rodcs~YFJb3g$!R&#&qJj!JIVtSne9YB5Bw*Jb00t=RRx&oW_uoed(4AAOi zb~XIM1K__50jgIK)VDJHxrv8fulKp7OEJhUCszAwm`tJWABuHTX!#T*cWR6c^NH7X zVb209A;@=mO>{VQFz*_=Vzl4|tcbMBV>F>S`ztixm|6L<#4lg*Pzh`RX|0IL07C%z zQT0Yt&NDbXWFiLdZig#G3mYMswfN9AYTz6F9egBv>-`M$4 z6N+D4oIs()>GdfXja6)me4qx$26U~mqmHWodF!QK7xQ;v|0@g^7nuJbuoPu&sDGVFyJAw%qWB5Ed3V|Dm8zg_NyxR@V80qMH{z9&4)o7-!%tkdH zQZe={?t7J?_|#ToxrT8#|K&h3kF57#X-IC}b#dtF*CW7&7iRtgo!PzoTiezv4^3mK zJyExCTp3XBHY{2Bhm251@x1V!Eu z?ZUU2e<&D=g7+2iWAauN>tB;v-QDxi@GZ@JdWv`7(a$}IO1p?#Y z!t&+xwf$}1C&_UFqZ_sL!Bk5OVk!~W$wfG6QV7>r)*M(kwk`{}T`1y2tX&lFGOq|L z$x7Tgw{WT51wdkb2TcRVvdpZ)@I|V^O81)YV>Oe{0q}8&5oKoz zB}KxXtb1W-p{h^5x(3N&Mnm}(No*7R^CS4~PDr1?D`K~Hmp&+dbPb=KnYkNY z*N%Rbd5UMMU}``=oN)8LS$DG@F}(u&r0L_R`tsGMA64Lv!9SB-yhEt^#|UBQ_e@PP zOg^}fr+}@FR^;)}2{nP~m79r-uqQ`P5jAgrvYpfGBs@o5H z&fkSvvO3g@C8W{rk$wp8ozDU7RZ9Uy>B9%}|0I(-mCT(sOwHj}EQPd%jc1`Yb!$Gx zP>8HC*L5T-MWDx=T&0X=-!)EjZ?k1%ke`_Q)*+>z6>;7cw#T;^^yGh`jJ#BF7iJH4 z8YcHKt^n5K_2OUuRMEBu-&gD?=y#alU)$r^^Cw4Lm}6b3jYTS-A0E(-=z3k`;>bBwpyc7NXTc&j11`1A%{O+7 zuYx+bz$KWD2+cyoHy#^vlhtDP)lA7Dor+v-@Ktat$FH`X6o8>PXvIve!X4ah)&z`f*zycPSQKUQKA>FBOdn4u z6YH|xkij2DA6j(Z@|#zSl}>idjb1A(={AEf-HdFW_6%KhF8k3&V``fKbF0Xatun)0 zSj6spHrm@ON5_@1OcDyCsb+dQdsWzj2^8?p4v@OriCrm!KBqN^2K2Y*s4T$@Yv_u! z-G5;BbJJL4S5qorUo>#(LsGB8h!fDY^dR&j`|19z$G&cw!592x4bw-?%Zn^cUJZ81 ztu-+xvg~|_>N_%=Y=^s!-YhZxW@%4#u`9HwaR}xP8!O!>q0~he zoLwV($RLd;knD5dv&9jly{%HXtq3V`5gZ60sx6@c&u1i_sGP#q+WQc|Xaks-D>o5J z>|ce>i|3MKmCNLmJJk!F{slR}N&4fxVmG@n8@TR)TH&4dYsC{4#8n{B~vgJYzqK$GLq~R(`Q#PY46B z-`ZsaCH?Z;z5nqD z^2f-!_(GuQ@!-L6125>E9~bdyW75I%J@`f2z19U=>i~tIww8Pcq?oUOHRCk+Np5er z&nWs{Qzy89n~|p>THAdWEEnLOF#g=U>B3sp>$t_Qp}qwLk3ZC0$>6*H@H_uPLG)8Q z?~8r%`O_ZNa#NeuW8b^{v;^k z0xT^}Djc`t{xhhFN>oTrN0V&CY^nyh0s9NDQX|cS6ytgd+8?-ykMpCEUt#?1@?T@DOU2*(xn2u|mXp z?MxYa6K7QlJgh_|BdAt5>NN2-Bq+_|CibXp&%NLkPa~Bi%VPRWVX%pbQ(H~kD_GGn%YSv7o zTz+z7sG!+

D_*D8F05;9C<$$Je;}o72G$L#FKt?6sOKclJW}CvLsI`iDeCg32S( zzCqOd@#)o)JXu;_x#j!__jYaxfHZV(nWT*(rzs;A)KikE|Ec5TW6HP`Rh$<^eJ|zQ zP0tG5|DJ<)hccW;qfxZ&->B+x&lvKeUq$66JiYh$2;p$zg^ibXM1mL`GGi}%H^{75 zIElOBavrkKzh*EP`@Lhhgx_Mm-L6X0O2=VEzPEs&Br*vLm}jh6w}O|1cAM<1rM9LD z*?0DQ%xTFVtcMRhRDX1;B22Pcv^C~RMkVu)>Z!jYbf@(dJ_abYkW{+EDq^w+Quj@F zIu==mhCXycM3X&KbafyaV9A;%`H#;`PUeId#YQ=eSa}l47^El+v49{Qa0~!q%GIYt zfxH9jSG{dw52vW$XWdda?YDcz&&=!(>-?D*iZb+ zN6DB!Wc%p~G%S&rSSR94YGbHsP@5;Wy?QuvS?(72DMJCk@yR9U0WW)&rTm+f0Zs9j z$R3f}Fa5RM@0|9bKpY2I531Y1`)k3Y?UWujv)uT4n7bmQQa5hK^67-IhD*T@{?}vh zU|ACQ)c{<3mNFUVaatoU#?QUDju;Z9oW>=sx711s^n&9LcO90pPwU(_tU9M z8$3Dz+}UCkf?RtU6ZQV^fpM2NEV&z;NX83GE!hO2OU^M)g1w5p-_GKk#{tjWPo=Hx zgMKeSx~EMxXjwBpN4}LKFP=P-+2^b0}9w{`}oVNw(`#_%?a3ZJPdX* zwfONmrclY;R)(>uNW)PrTx?J>_`Wz3H7G+M-*+e3ky~Zymjk|PV0Et3VyA)&H5F0F zLjf+ma{c1}MeXVQZqD7yHl=;MU|d>_iV_ixd3+l8>a4>oB}8X3pu@Og_D9S^kE1gh zwFAE2I7PE`=1h@6jwsKVK9iH86~+UR6Gz(iE*$~^yp+Tufp6jqD5ZL9y1gX4`7fhZ zzHf0@zidh8+Ss+-D2#8rM3PxEOHF`OzXiJA8WRsUYg-Oy3TPTX0dwofT~-hm4@$g1 ztIR=$;yKoS3_|_L*T=s(dG{9}GlTcNT(i+EZg(xFL_WnjyeafP;G&+G$j?~QX zypnv@#Z-GYFPJGoX~U1&rVJzOp$+AKJ>)OKYS`(&bcHxb3YQE&byVI_GPNQo#oZHf zcx8>slesmj5wbmSV~k4N5nL(W_oExBWOFo;tGwx_e=R|U>~w8ePIWqxK0)f=D%3eX zTI5d;)F$Qy?u%<<;O#g|ix)My`(kXe5YQPDUEwUS?bps|#6t%)8$nB(bRXLi2VOTooRc)P+OA8d z++wFa`deq}xj-fa#WKCg`Glo*fL4?Vt^=obOJywZwuf>cDzp!p9eBb{~B;JmgVI_^4o~nTQ zp=!~~uQEU-p4LqYWP(-zRPRl!Vxs5$+j_HX``{TZ@z3UUfrkA&HNkNBVMc&21|V1-E(tHlNzn|&y$!O3GwXeY5z;B$ z?~|_Gcc@vPP`Da_P+2pt8cBQRO6zyJkLzg5&$Hi!zgJ`F9D-Z7*|Pt_7QJ*Gc5ze8 z?|2w4Do;E!1{k)|a4q5*G05U9-pN_!znw7B;m^`P!j#3T`Fn+@xH5}*XTaaV=PP=` zaD4au>wP$&GaW^xkqejEbCJ`5bpkY>VjW@n8{L6M=t3;e<8gkwfLXpz+<)+|Vv5G@ ze(6mc9WjH~XdiXiSMpAfB-(mdU*8uV?&l0eujgJHVUIXdp%i9xoc8hpWbKHtv~wYc z357QfecL4pBzD~?`n09WapIH_QYOB-jh*jEP*pB<6K=8Pluyq)_fmEwa&vOqrmE+te@{d zp~LbDQ>oRsTDdO}nL9^m7F9<16^ePj7uHM}#T!F^pD{>>RXe?YxePC3u8h}!I14a( z=OwD_tGp?jf+Qvx2|L*dTe_hUfCp4^N&KS9+pDWi7v2d6jTqgxyr?xf5`cSUWYSTq z4Z_8DdMh=YdeL^iNbxt$Hlv2WCXHJ3atiuF<__uBxCucD4M_{dzzM5!7opXQA$$vu zKcW&jFQ525=WqaeLtmi3-3;QLWrpkow}qcI5YM;zn&C{yn_OnCG4O28=efifsrf@* zC*$=~<@r}}C0~WnT7u4@Dyl zyEaYjWBu{B`WX4;_KqyP_h;D+Yg)=iy(y9jbSd!iwx`@3lD6lb4L& zc}%>c!21R$SY16}@L}aCFA#2qHs!jOp$aLDHWun~SyK8XApSNJ@XNDBv9*R{XhRT@ z4Oc_MoGKIY?&*8PwoB^he0eSe)YNFx!aXBQ_jQYr#tb_$%VLMCK;D;3GaAR!?{O}T zrF`}MJY~?AjWmVqX_J7=V9^TcL|AFnSl*?H6 zn?FJ6aS&1>`(z%wF+gKG4%Q;?V5Sk18;v}go6dDjHwlpeBw1ZTR0eGBGwR5ow$V*DvM3v&)? zfr8WzV!`WJ*Lwe^tr(s7>MAi)*B@p9j$UzH_5c2;He`13-q1WVC<~Oa+p0>|Q(&%A z6uWBoXW|Y~rS>h{_Cr8$OWW>>ay&X0~&P{)NeR+*TOJy>s?- z%`vdMogS|sIu@hqc0Co%rIu=nnY<-SA68rK|DKS&45dUfyT5ybdpar9Z*;Vyeq%-R z11UsN*$wh~xMxkEPb+`h(WSEXL1Unt=Fj>TK6GC!3z#CI<%tY}y#W5&P3dNqu4ouH zMvs>^=b!nUXwN~`$XCtgnQ_-Xt9h+&3FePl+J4 z;{)z5i36DpHD_TOK^!<`V@N+A<^^J?F!!QBA>|%OIsQbNzZVX^`MqawIH63N-?~9N==5<7mfoC z+odcm7JMu0r!2$_LA+!Bf*Ey>P^|o76>Poi8z*xAJey2oP}n>%LVrkd{UylXHu9;o zZeXD5>{{O1Sn}4*+Q@}J;R;nHOT+&p8H33|g6NveR(Q02X$Z-Gen5ZKo@2TZJEb40 zp4eH~;iYO@q()FF$d{Fg59mXK3`~A>UhcZTj zn9H&aSKl1}IyzTK1GYRZ(p;F~_|7cm9cT75AygCwb}Q+(-#@P3!2qbMoye`#=2&0f zJM=Qe{#PB|4|1iq_~tsROBRA8EM-$`+PI(K|tKi~cS zP2b6D4)Wp?Yc*9q#>2NYv$p`b`4-j}0Zi_fY&I-o#Ll!WzSfi6Dor2;HgM>&hh96a z>>a*S2NFTVsQgBeQqvHZCUQ%f4*iQFxCh=yc#T_IG7l#~eTL!sgo%uRZk){hHzm}; zFV8SsPGeHPOz;i|+~TN6)tk9VcalwA6IXe(Ek*Uz+P!BF1#D5pnF?!ye)|qFxQ`D- zNgSkApai2S(&2PA9B{Zx^II}3qEktC%>~#hJ!x1bXhXe@{!Jn^^^w$1FU3csh0)(U zj^A-W>bWh1)zB7p&3&wsl2ElX?LlJx+{&Tpk!>XV%%dzq^fjFf+>aj1odNQf_0-O6bo8+}|7aKJf(zUiZHR1OU zq@49?j1ukmJgQo{t)2Se?l+m|gheg~%_OgpZ;D>8?T9GK=pHy_sTtE$4tjpo{6ycc zEo>}L#0a~n7tea(42R{cdyTa^lVEGm$0_6VJ)7x^mX6CdlD!w>S45pS*M>k`ank5i)-pUNcREEH^a z)Et1to-wcGVQcxeEcM0`BQB8Q1*M8wwS915jWh3vCUdQJJ6@)4UGTWgq*XD=mO~^= zcw^XJUZm?r8r|aYG+{?e%I9HoepE#VQ?{FkXYkH?Y!w@!_NN)0)85a1}1e|gtDYBYvjl1tE$G$z2 z^K%LH0}g*9Q0u=p&dyjmj6Ex&C+u#0|vQMzkR{nZ7`Z|G> z-C9Fh&(9I|OkQb8CvmHDk}Zd2-ky~~4~WHv_7!kgeG8D{n;Z?JBCguayVVt1Wdrmk zB-`!IBs`UzK21vxvdHkX!81g@esGYE>F!v%Z!7->YwYSFIih%6-^(7cI5umXqWK#P%Fg}+~kiBEZ%&N;J$bN1d4yQ|q(e;t%EPAcGS6H^KFEQ9pt;;s5!2cMHB9aCO# zclp|K_xW25?>JkW-CJZmBHzUzLn=P_J6gnY;zow_Ee2ndji)qlmql&4wJYjdX1&Y! zpf$H#!076^;Ur}9YHUDobg(2=cxv?j_=&|x?#u|od$cR<_j z{_=~5Q!dhwSD$avI8F5EDj4X-*4V#w8%;4u*+uvc1MMvti? zADUnfngeHdxdRXK5`5|Ca{)L-pLWI^RywM5ivQ+5ZDXcwwqyO9qa>wXnDxQ7=9mak zv+(mn;WO+C@rO_B9P#6=>ahUr+n5OMqwXBMG9?s$idlr#^QJYK5D6))jYvTW>ov>*4XI+8#tT&KKA zNrO;GM=G1Y&Q$`o%!uvo264|G%H+F=kfs@~jD3Hdt!eLRyOaCkZimlWrhFDtnT(t8 z!z=BXVz7&!hu8y;6lp7295#j1*nmGE0J7&8X&0Jw7@meprkB5qf19NM1K*{;hp8qq zDU+s>78aHDx^74h84c2TzqYMXZ40TIdJ=QrpBNwkFKoaIo%8T8O3L_fW(>xR>agkre(O6BV+rh_VD2-nS15+qMZXX zaUA0EN|Ilr$2t74qddgxy98$DLh0u^*<3DZgbn$Jrl2+f)_MM}cyeD;sRub7KF%7pJa|1Nu3^BTh!skU~-;8XxN)B(_%q@S|aEFZ20R#3#xV1;}Rx;Zxt(t~F zW$ri3+$PhzqxS)B^rJ?6{_}d7e!YoHVRZLnduQXw2KI1Ogc|u$YJ^|Xz%29M#hV0n zKEEb>o^TDi;q5%dhAsh9?-h&WC9>6|BzRGXLC`%{}!yLgr}N*JYzmoR+Zh$w@uBnfov%YP!}f@ zdG~(u20OamzQ;bRvpafs!Ttb)5nyg37>9VT$Y2Z2C}Pf`#oKYpUif6CX85Dgli6RH zg(qgQj_W5wiXwEAbGZ zV+3D3YBiQd+;z#ht^$f4`Q+WhffX6=lYr|_wypI8OD9mBYf+8FUjz=_haFml;Tefj zhjwR1852%-=|?XAK|Pp3QjFF8sTb&&F8H6?c-Oz*Ryc6W9Cw=SK^e5^{7C*86?HA1 zAu~ztTENSj1*9xC-}d}E^3^^SurU6*3%Sog3Za`}<=K5^#f#T;#st3NX5jcpx1CC0 zh@}8NavP+k3M&t)4n#w3zsmv;C6zPf+T7OvDvNO)`LjQdWw;|AO6cdqgTjr?p)r{| z1&XmsadjHag{x=V(3#Oh5*#8i3brTLI8WIP@OwylOTO4}i%z>0=yXM2c_Ur9fK)tN zh@F0Ieob8W4Q4Myfy*h<`&>_VE#QNVOTQw*Z2vlMY-)!wLYT>`YB^`m2JY=Dr)xW* zZpO>`c^;tP2LBCNWT>+azj5Ubhx(F;-*6`ico1o+L7#1={pVXLIQ$+CT$=+mF3eb( zG-#c#-}~OV_>mJ$Zr2S{oq(z@e4P)Axn|VRAo4C#7WRpK#j&z}uWRmLZgTzuXoN|G zP#y|CQ_(hjzGsrTFtOF2sMS$ynqXeXUy<5hJ94hr@rip}-%;yJ0!-=pWp|y_p`O-5 zGu-O6P%a$_o5*ec^sVXKOO9bW^{Q3LTEi``HK)c&1En}i&boAzxDkS6h#vKQ+5j8Z zXV_ha2?SszZnN3=X>6v5r1?6gz5TFP!&qpAg6xa6MufGr*%@zeYBQdKX@Yh~wU6bU zIQLyji{yjWcPeWHkID@BvOK29a$0NcHKRQ8^Kr}xNtB3#>V;-$0c^Apb|)Bny!-El zZ{;pC>%dLS4jrSL^%^%zES?u_{+81wYZ3E0@&qkXh7n(D&2e`)S+CMaL zva)^cC|K`4)Zdoi4 z?*sYM4}1F_QUf;Hr5fiF4Qt4EKJ;En`tih;@_^aLqPYG`|HmM}WuGwyIhC5o_Kwsb zJlm}fy9DN;4@A?OB)iq6|KsR9+}Ud1IBqM7s-o0twY2tV5X5MWzG{|)*qe&cN~smI zYExC4P~H+GcBoD5O-t-iE3Hs7vGtet_Xp&4DMtdRu(`{E9^pCXpGkExmG9&8;jq48QRTT{TttMJ@R{-?*;uZlXQVbbztFFH-Fo zY8D@STdvsMXL9H#@RoU1#Az<-Za=Y_gwZA}gkOh-g1saW??x)=ZZp`K z(7$Nj@#1)m3_Xq2OY|uZrI|@Z?f;V7qbeAUcNtS5fTrOOhBHj>9?rsK%ns45-UYVSayjK2d+1 zALV@PMVsw2qDSXeIb-=e@lUNPB=jo-+HhFOw4<$!Bd_7Qy6veG#@V~Bw&FuHHliOL z*7{@wekPYb^>P){n5A*prF!+bMCxp-U2nC690nybiQ*>_^lGcCYJc~V7r*+iV>>0* zNZ%sO#P;shX-AfIhW#^~BQ2dpJnUc^voFnsVV&l%oFdw%CJ)InyqruH|r2=U^F?%IxB_ zW4czu&M7Kx!fvkMq9Cmrkwlu?w#$bSaBSslkUl%nO9((Y>j6sj5a76`ckigv_5` zk$#x9?giW+vv4$TAJP9wCnx9s-m$vlwZe8BIzFW@-tSwuoa98T3?&J0bTF|^NUubf z@UWE+q$S@A;3qnMDdYkIv*_=1sK0fuWtXwRY<&mx4b4*n)(n2!_B}CSJ(+gVtYVa0 zMy6yX0+NSSMH{~d`I+@V7uctf{Sv{F>ev~_eWiVfe9XpU#I@sPhn}XQf#nP36J>Tm3;u4ja)$cKG=XPPX`PdtTaGD05XGpl)(!Uu zl0u<3MW*ABcMEhpm+}LW_gS9O)9!4!Ci2W2GZ^)d+a0w^8QHz;v!rksE$?|%&TDMo zNLgZ@Tg&=^V%`CF+E|$wo~}OMnf{NBVjG!Q4*Zjf4B5{WQM=rd1==#(JYkf2{6loT zmYT3Jx?uCU$!XiLhjjDhlH2OSi-C_Yga=+o;0F2Y5sE>8(3oPrnzO{Huz_G{Z$1pL zgkv0g&Tm@JkMSogq_Wr1&zyzx#TG?>k#7no5)2+(_bS8W5Wx&6@yc8dIDa`0p+Prx zpmYj>8>rx~S2}>YCc;0yjJBJj&1?GpRDStiZ`+ccfAbLKDWHbAt14~&I&y_rw^Nlq z#<3cbmg&1FvQ?VbKX~s2iX$_p8eJYYMI5tCO~%|?y1ItS?wgkEv|vzrv`@h=T3}JD zqjIY%%sSh;Je-K*VRbS1+n?shCfIQ z4D%vM3)l4*-OF!HS03EoWE{+%kieB@mZU}HS+JGsfmc2;uVzvDeK#w~yo}(tu0tc+ zJ~X&1MW*$v4~6?8Syx8Ux!tFi8)vy}_ckaqq4w6Mh2 z4o92sAG_)43mMqo7qn2`_m@RK87tF9XSS5O{w zrVT)|&S^N@!M;R?dvD+QO)*8zz~*bWyrJ+?jELprJWlSMbPYGl_!VW&u)>qiEk?tx z7@b#AX^m=dhJs#88X(FOOdGOyZf2&je|p)bROXns+_Qb#do17DQkn2=aEFYyGNJqG z)6<@*d!|7#kIOul3)1p@X|Ka;{UT6#rx1u|E&D;NWCwDem4HxTjc^Tp$Q(s)SJx$d+{@l4= zHy#CTc!KNz6SBB|6+?}K3w>L>*>f>--+ruo=4nB8?BXtBiEwljN|F#}T^J!}b(i$_ z$-A=@uKz<8*4Mu}#n?!1YL#*&cGrhGvzUIa@C$Po_W}JoC|C!JU)W6ATwiahV(g0J=)i&N60dgri%*Y#PFk%G5inJNyh}QxfD=~AUc54HqvB}Qsf z<_)Q2Fp!ks7LA2V#Jn(~=J?|pEwJS@x9NwsNo@CXt{vtow>#BVrcn;JHtoj-<%TRa zw-bKvUXC+0+@t?P_iI^)@9X@^+VXj%cVp~GPiNXtBo|NH$jY~$v=0dvQs77%1v^WO zwLJH&+Cl8SkZrUn`|JUgX-wz8qnW1^^N#8%U&Z(=bi|vpXQpzE^81MD#&+0c#@c(3 zue?v|RKzqeVZ2T7d!X7;WuX5rtVIuTLd8mKAkO{68fEblLPD92#F;+@G7iaBGfCTR zHqvcJkE$JFsw?M!kpm$mx)mmUjb#vKFaYdwH3w=Y|R?TgEviVHB}S+FAv z5G?)~`{zwTNFi}{1kwm-2FD2u|1NW5MMe(rmyCQ;ap{Aa4MyDdbc= zHe>qSt<~S7q#^02XfQ*~P;JHR=na?w+bg}AtQQ7Bu#x4S(WlMBNE80`LD&P75C3q@ zlSDgJg>R?7_m^$=2Y>XDRXp(v68?i+Aw8=CUt#3TNo)LCqv6?{ChL0x6L{|rLF ze}B%bowT*u`K2fRxs;6+FV7(r$2=2#npQcJqsw4N9NnP%XnYpm9FvWZn3`a!8xT&s z?bK+HUs@_17xjc=sB?%%6%85uWSHcU>8GhhiyiJ_tNNMBH4@|UyC7X}`&UdULwPbb z--d*v4nEjK{mZrQj!_>&pB?6+dITKh$V`LSO|cW&@GzwlH~R;@NH;%0$HF$yTzuOv z4^Q7U+S;YO(e+ydnl1UvXxRcEk(C0YCxo)Fz z3nDe%jhS<%X6o+Rp@OSrN-+OAcr5OtMd5-3%1B2_j3@E3a=P{EX#8AtWpy`ns$l#OP_-3M%FmXg7a(ge%1Q+^5uWf*g82kO}zTM)u-}vm3Hik-fX|+chKFf9-%fa zdIu}Pm;k8Ia|y!m@xi}3m4fo>)O7BcLOR3dln6$LIq50bgC(0gs5mvEyCsJJ09Cd+N2df$+FkOj*>M4Xplf9c3zdBq5+#O9ertp5kQH-rWnvq zCgNsce(tTW)z@7td6SLD4=+eg>$cu!3vP8wirY$BI0dl^qKcUl$D#&vvmy;0_Q9&a3G4Qm~ zYF45H|6A7x`gp80IGbb7lD%KhF<1>WD{;IDfVEw3jn!-z>qCxM^!PDU9kZ!}Ti|^Y zHoY!&GDWk~x%>XHl;*F5Be52cl+SHgJ0hms83}s!=^4p0I!*4fBNNtK$#@W%Hj>E6 z>uN!WA5akT#?e{!V&K_t>jkgFgl(0V*I&@~-O)Ko9bk+Zjk!Ev5_8%szu&wMHvJeO1=YzgNJj0=n7_^?c5{ z@Zi5sYR`TY>*=R>fxl$e6tQ@7WXGBMF;d}g_JgG+?a`?Z)A<%NVb5UT8lD^kv4ll6 z*KUJ0Pl(&Dwc3Cp60Aiudig-i>a$J=Q=v&R<185wSwHvG`+78ydjoT|?beKTzFnJ#zq*<#&!FuIZ8!XPqnP|Sk1sQt?b$bKqC3bwuF zR!zS?ea-jHTRJg()3+w9ZaT-5yxbUH<`!OwW1_kZ@v|=}8e?WHA}z~J(31w$3#Q8; zd=d@R*vd+@1!0vG%5ETK(c0&)RHLaLa&hiOFE0E1JqChyg8p`jE573DBInDwdW-l^ zKE#`~UEnJ`mU<3ftk6>a8d!6o`5-ssOlt@z00dRBFFs*$V_ukIa-!?5z@u)w`-$$Z z1B&`ql+#T~d$(G2TgXTp;TSr~GFW-q7Abcawi_{)$sz@GkP?xw1S{+D7 zlXiV}_eT-g!zaB&vg<+&rEU3`zHG@0?0c8vMBblOF(g`xyJ@~Wh7dXm_I2QF?k&GlSNXfX1A)3?VCaR^? zmY-{|~iIQ>f%lu1vKn{m(jCK}Uh|`s*rR_kX=y7~Bf;x9&>i_|#B%=#}i--c_W%=u_w7 z#RMk}ygqGp^f{#S=_%7is8#(gXVLW=tWY8srek?hM+~gJbVrFP)R|eM?$jq1=*?m+ zEwOo#%($5;W->>Qoozrl93n%TXw0`BOHPte95`+ype93^BW7f-KnbFh9A_!1Lg5&c z`fp+5>5_r(MK?9%#12O9HfnJO9YJHP31tcz!H`c=Rvrf# z`jU)z9k^3&iwKk`ikB%-+d3OeJ}31CzFCDVK&r>z-BtKDHK+E`s-J-giDQp8`#PO_AucdQ-;s zNr=7Qy*nF{`eUri+W{xkKi6MxGbY-4#&0ZJt8Iza(Qef%wA5aaaj`z9-^_dp(CD5S z#;7!#1`(<5)zZ=7C;i2}6bD_t6lHIigtwB?*l$x$ZexoRzh|fZ1ZK?&UjH;Cest&9 zycD$rG{R1muR`wpD$3i%Cd#;~91c_TpQ~h+$iG?w6a&0F%nZWXwda)ygAe5(9~ROD z%)5|ZApzwM6hc=@4bP-1#3Oh`hh^(9>Ml7W1;9KWe}VvNfW>Cgm2ewk%EidfBSE0Nkt+SJ+Dr+-I5uvvTXE%Bte9 zRID0$80ik3cNaDDzLymsq0ar>wo|G(;k}H?~ZL1Ei_g?)YN8kw!GNGPi z+N9O^G`(HdZ>kf5b|0t`?m%M0`Ugc_H>Sz>NbPY~;^7mP6-Q4vWs~$==WP(geA)l8 z*;GMx^+j8W+zO>!Vt;>}s*N0c+6D-{lyA+oBfYRi^Qc?m&`DpU)Sj7cc!qd)&A{>1 zm2kTK({ydD`lzV`KBz%q$zR@uB_2f-Q_Qv-8Ix3J7MeL!yqQCI$JPi(N(8z4*H72- z51SVZqLa7`q~Y75dT8;favZnoCWGcT}b5_kWHK(^!b6 zV>gZ?1X1wmcmYl}FWQ6;67$*Hopp{so9k^tar&lRk`_}8A1Au}^xs?(dVCx`+b{J$ zl?~im0-Ju@8;PGcuRBHuO?zE|`i5Oz{d^}^AtPMx# zSaj(4Zz<3*j7RZR$$z^XkzU)gBOTj|A+F%vFWAuM#|KZ|1no;R;^N29i<_t{QW;HP zH5(+LcA9^xq1Ru$*1T}8w!*?8&x3#oxi=|q(+aP?H;W!Fl|auID#7yYDwo9}h#(AL z{{qtoa7>0c*ek$F06J*Ylj<65ar=~qq@bD%99=qXU{h%YSacj|DrLmA!6ZoU$eIsA zkY;Z-rK$W61M`Y)2vlJz#+(_#EZESDFXExSUf%E{GN2_quq<*`XVGW6tRR>qjf$$Z zjg&svQ#LG%jm0{K(L;n83)3jmPkY~azzb5+l$8NLev^f8X4!8g)+?$Z10C+cqV~ky zcQw)TSt}2wMemmP>7W-QM7gHVF?}psW?-WMrJ(7dt7g@`OGCr6dRNbQ)`frmzdHAO z1TKGbsa>oJv;;HJ%_~%SzwlTd7ITf4kP5<`);5++MPNl!ov~$l(n4k5Fv(8}uv9rW$u1oKr}M zxeAB1u3C8#hRrH<#u-Y4L8QZ|B6p(e7eUv{N$5l-$NsbzuH#{7dG<3q!ySimZC?-n zA7TnH@BY#1m|<}{7BDUrY8GPWu|XdcuL6+~s%-<{?b;zr33n6)W-#O4<*xFGGUN;bwzEXRxz2>>tpWLH0N-fO%~bmI>I~uQc1v_toMUp z-wKwvWt7^#^Szp0q(ldc;VacW2vrd?D#?k%j$!tfb@7^{_UPfZsW`*7%tL*TtTR;3 zXTM6GnK2$r)Z z=_Hr+{9Szh*@Qs*KJJK_=SaV)Eu32Ma3>x_*-gX9km zUe#V5yRti|KgE@)0<5V^JOP21>bExfyy!LZ;P-RxV9jd_eK%^^i^Ock7l=k$sDgU+ zSS&|g;bl3S2hq&PWXIhjC0F74FUKA47tRGN^*}UST6YJC;Q+5a9Q-$l98gRPF3=VS zcLWA&0P4`dY1_@RY(?m&>W02K$L!PAQ8b%R>F6lDAzzErI<5wys{V*@c5LjR3_C#n zLzWHNS(;UBXHh%9xe2HdW>-_VI!%_l^p)2DWfH5ufxKLHga5l=nkQ&_#KM1B5cZ68 zZ?z8P(S{Q5R}O8niJk7j?kO1pL#Rx>#>FMNRb!OV3pueZ)HDXR?lwdrCCE_5Y_N5lK==WQ`2&j@Zz@9Cd zmPf?FRc`JV)jintHea`$*NDW|*zmy4^#|!@FjaI6($d5c>((6t*MHF87LrOcm(LPa z`&%CjfFy~#M*_Giz?6Bh*a~Y@Pfi+`(flVmu)@VCPY}<_sNow$B-bbqP!!r%{nEe; zS#NAdE3E{k@+&Kp4n65)L07bkmcI~Ihuz8dnBE%ft!F7t&*g~in1em0H@(ZA`(vT6 zn8oktkOdlg^hx0~9I%nD@n+L~1SJoi1&&p(9C^?>{W&LxUC-v1|9Z;3USavKykZcs z(0w)hJoI32b8+LacYfk6Z#|c$^d&l#6)lPmw;dY97V>RcbmW$2@{rLOjb;iWRoZc$ zM%F{ZNH&_p81o0v(-um=6f_NkNBY;tm^{Ty&54B4i9A*5Y~!5Fa*ypKd2{tpd7L@q-bUsndj~Y?^Dv z^5)wd&f^pP$LHYBw6*=n+h=g!DZQ*qGDYa$&pd9?YoepS(Y(Rc_%T(zEa0YX zP}$}Jwp`L|ri3>*;Cvo1J}~;y05db;{T32ZG7hb^1gi; z^KRe{V|qj}4N%m`?TeD8ky{;4P=8+KIs$bux-H&UgXEblkm1o?T zCdQbTzc&;fcc-cFH8t|g1$|)eFh56GI!^-%liyEO#QIXkHsTnmxd@c=o(dI$ufLq%&NN?rUpmos?Q*f^>jQAYhMH(jJS2&d`_u>cd zQUY)mXf(F9)Kn?}3%QVsTpB4zvPeV=G8P4p2%|5nFm6uwWNf3)XV-#K(@ua<66;>} z;-?@H{>n+uWIdXUvdhZvw@@eyF1T{U(Uj;iW+qF}tcnGTh&u0jcMiwR@ak07hCFA+ zF{V+wyZZS|pv)Enw%K96+j}S9skdQ}f}mQ}-f=@o)j^WnDyu1NcAM&E%dZoCg~9pS z+Md?k!=w`L%l+MEZGEbJ7Irq!sLTQt!y0BAFWTkZSF-c zmVk*ig7J{oA|syeSHZ|^+ss1@|?Win{;WxWTfw0$S)3VoDChlfE+ zt*gx__FuH`w14w}R<~?8ZJgqiqbF$|%1i)_Sd}3l_sQ7zYJwZpTbmQd>2lbnDo!!= zfnWTaWNG-h)za|QA;FD)ska|?(7|`(RG35#{cuSwYc}5JIP}a`YkPojJljl~QX8SS z-;-xGdEgsaGced&7&3*97RGH;=1R3CM>KUHcy_zD-c5vf%x1LF zR+A%=sw<`Mc3%~|9u>>HJ)pbrsAh<)bz{tb8&*76rChSljV(cpr)qq zG{^op!+4FH($SERQ4pwXv#bA{0>dDN)7|mZ@_Or{3Bw6z2iUo=#_O)UW+)zehxyst z<4EUHuPE@;mumTX*{IH&Q82A+u38KFL~oMZ!#;{Fa6?pMe>ZLMFq;a>awiu22((o= zD3Jw5@$S;ib*TZrPQ&K$Z}$dcF-eUtnH zW_y|aqp$UtzS4*OkMw_E?XZ6R?aokjZf~n*_j{>yuAB|3fnKudxUb}xWzU3N=&CW`^TG{Y z8)SinNRM2qe77Gd8fnlOSm~4#!HrUm9p|!&mAi7*MY!K4g}Js5Frf1C%t5=RbA(UAdT5`?W3J$@UQu7j{a58_8wK) z(;560YTbo)tjPzvy=}{vQcB8g0?&h>Te0s9qf&i<*Nf9rvhwq)%=k^h-H6d~vA;1{ zPkb=}Olv}RH8rWfTTBFy+rht-VUSVbHsydiS9;l3ROU!9s0uSARDJZy;8^9I?|L|T zsU<7#2SrkepAp}ZP}oB;z{7Gr|HJL9m%=eSk?y3EiCG(6%jS*j&-3r*Fw7!b!@ui( zb3&5FW_+KG>VSXAtOe|y!P@Qq7JU$_zN{@{X7|_IM9JjjB|vN~!z7n(V>0pax}z3j z)9+-I_33a4gN1R!2{gFl+(GIpOOP*WBRF0gx~SpDt$L@Yj(Uu8Y7fJL#zQyhO&pFG zRPy<$CtPah!?)INc2?NDbzd1Vhmck-4*9OonR9-X7GuWzR;-9b^fsiDU4OmZEMWZ{ z94A(|`Z2cN@9Ch$jY_a|rYqs-; zg3q&=CiZaJ$v<(r{yj9}upAneXC4%Y4Kl*N_uSCer)+-MKH<}porexUgB`f`y4L9jU$t_Zf3~?{la{dRO)$crfGka- zug?M>`37ObPQO~y%3?~m_Hq=}gQvdmq;r$d=fEv6G~~PjQ5`{3@}DvRAsq-#EMAH4=p!$^*xvSXLlElPP%jS~06 zRDVQR{*vF8gT08>@yQ`!Fia3FU)|+-Fi-C9v+itm#$4#r*DX{E#8NAUy)@Yo+ zW>pNMX@Bd5h^^n*Fg+r-j@sMt6*FiL($}E625e|yXgeuVTiXg%R$hK+cXc$QaMK%r zuIP3c+paI3TMr=c;Bk*9tZW*y?kC4R`@}@yQC;K3Y`lL{etNt5LYgH$DQwB$PeSa? zlxQ0<$7<@92!D=s5zcbQsHsv)l!F zc5{Ju09PwE+b5%`8oc>&Oe@V*` zag_sli5io)+Al_mrhM>^b6-0i`pTS}lxu$lU-P%sH%Qhio)xTrowBff&FO`H;w6!S z%|RQKj-wmV=UYQ!)rFtEY147(v3UT2te&WvTc!YSZcOJ5qaOQG`SOHEc@c^^jQZ+S z>bl)c=+)}uoPA}3Olt9;Gz@aYLO%rCKAowGDHX>R(ZaOgXWAR~t`c$~K`$RHKNQq< zCb+&SPxVKueA}B~ymtU0kq@+~C2Hhj?%$s$dTM*Po<_0b@CNCFh`%#q!A?u8W(w8h z`qW>%D6--ClITAt)^yF@d`l}W)r`Q{V^>SDIv%bT3A5WnbCM5#mvSX3PztRDa9gFd7nhBnhW8Kj%~g{3~|Y8YX?^h?%dkgSu+(kAmBA8`hec_vG2|6k0YjuG3 zc6QA5f{5n6m)-c!#1{Sok3adIn{-P@F|7tQ(p52r+6YB_ac3&+w(|5q|2hIpJ!bqt zmFO?&)c2%1Nco#RuT(O6D^bssy407DN%Cku}V~cg$h6EsSWWNlB1!*%PJ2O1S5|M#GZkKxu^W2WJS?5K38_Apuo0^VEQnXj#sgvg&+ohB z{!iTo{HsnY&jX0w%_1{jKQywc*187VmBsUcIUQc4uUEs51zfti45c5^sSmj zgpu-Vhn4cnou*q@Kky=dK)go^v#t?xKZ}z(yl`mzq80vWUO%MI>b!t^-1Qs$i6Q!x z1-0FS%|8hb^(5s+o|#{*d{l%RfN$_MIbvoz1n%~q+HsE2T;f@EEm607)6;Tg-r@%% zXHB0CLt}ma{1G+wUbx;!AqIsa_AUxKg!(1nX{81+%F3n#mk`@V*>ZZ+(^&j}iTKJ69FcBEb#_vy=avFXcP_!QIK7XBSRd8a| z&_=k=$a+@O|3lY3CPy3hEPWgemtR{-7WB+`Vsx~{z!}N+X<)E1dyL_Ac{wMFHQ^YT zowi-I(PJwjs3cb7W784nH!js)`yfM4d9^1FiTH_?yif@qp)nl{7x-#o&w0fk`(|AZo5+OYy<*_Efc>iIKI?ed;- zm|bkW>C2uaJzG@eDWCB4HOhy_ZvY-~#%%mcsaHXAH;}vZCwPOY`HSez5>4?DyEql5fe*?m3;L z{z%XF*P5W!PEeiVK0|%n=%>XN4iy@!^Rn-vw=nMQdt-dutUsg60qh9Rf*0v|5u!Lo z*QFz)pYGSE(20#hp7I^KEM5@)NmFVF+nuD!=MEa8XvX@sIXR^u#=sx39A7Jm2h%{z z1NO>YHb4Ffja#Ol{qm+QipUe1=H(-W>nAi(3=TgB?4$(Zqp=j1F4T%{y-$^;Z{E-+ z=FW}=j6k_Seg}J&PjR%qgE75ZP6iOIDKa_aB_SR4asK9DY^2oaefX|FQP>=&!HV6}k^G0czViko!x< zG$fMNLXFQM+95B_qsK1Z-|_w+*zC>kB|tVRC73U)e-k$7jbqq4<2TZ_2Az^bL6SS7_^%>v9vzsaPRG-y-G8UI)_A}{y3&Pjl9eIqRyy9Z^F8;!!L7UOtz zn<^LAN>5?8>kB-1r8a5)@r(cw+q_0^p~T9pl?55v12fa#xx(cF_@fckN(M{x*pMl6 zCiANcSi(c!0!EOeO4$3#h7Ndk0*I>6GL!k+$jw8_1S$3p*-==Wkda)PC5EDxakJnatkK?Er z&2O08vCSE^kUua`C4-Lr^h&LSP_-ZKeL`kmPiF{nu)$4zl3(= z0#+nq$cVx3429}3>m?e5Tx3hy%}7f6_ueM0f=gEso&55DLyx6zMwWoDaM2i!W<>BU z|K1uoro2o=o25T6&q6UfBW{%4My|&!`h>i0%9$Ct{;hw(i#;s%2Ca($X4)nPDP~%An z+B}?BTm|yge@pI8VEAcRF8}t4Gre=IJUd#h=Wrqxth!4JOg`~rdq@kd4h{*dbLkRh zbntczw+Xu0>2AnPsbtQ7r^%=0_~MmN2mGe$oc4-Esdn?XpXeEh4`wbJdSIoS`e>U2 zw^Sw^i`)HWcNbY54v$Q+Rk(iFXcvq7wNLhX#Ih}XV?(;QSUReqcP{{~Ly23ec5vM= z9Os~OFKC9Ww3zC1ln93MJ-@*^1Qq6)*czrlm~QHevnx77eSXp}v22{I(DFwDe&`A# ztNs68%(vsWn9A>vtv8RSkn$E)PRjYbYS*24thuep|-J|sHuS}6L z?h&Q*5bwNNd3=E%F>_*Ja<_5yg0@lG@v{TySuyh0kvq2u+|rp>QXzW@9W(p(2^N%* z#Lpr4XRFKnGbhg>9dCz0JtI2|p}3gng8hCtEHp8?)7G1-sC4e=!J%TtHuh3;%r1$m zIn{BfgH^6^tD{?VTsp!GX+hgpyYz0X?9K4G8zx~44gibDjEd5Yp+JIJ`PXVdMa%`u<`Q&dCZ@P<5p=MW~2hJ7I9%pUfhPqys}- zxC#Q-M)Q4h@}_2|ZBkQ#XEyY;JpEEp|0(fay|ubahcHia-})fSx_uY91dbQo}qrPBh>u-2AS~Y@* zirfnLq`g}7{CZBNU{cxXJ=YFB3P%eu%gF<}8;b)KFJ@C4dLvIvI;Ye2`YjYVvcJ#+ z9S&WF;h*Jkri@!d@$cnhKH^hZK*FPO)(JxufomJ%CAoqrEhU>l%$#lIZ7HQd4#d)6 z@%N&4Fh7T0lxPERvnbl^#*7Wui9P>N2rV(n+F|06Y8)x+lJ+v8OXBQ;O{DMN#Etm! zWW+9OUKIV(la;vO6+f+z#Fh5}XOr}*>#KmukddkQW^X238^Zsz&)WkV9C@HV)Nq&B zjS>3jo4B9J^{WGFB>c35f_A$gt>rVZwc~!p68foH#y3q9tp_}{T#!O%insnQv4o%r zxg0)aqxgZ3Slzmurp_{oz621&Puu~cU$+p(TOIb>(s<+v*k`h0`8JI?)Sj9Ic>%}= zv0VZ~Az)MuCuaR*FLv5eiqaJ~9vK7LN*RkBx^)<~gud~Qiz>loF_Aj|{B(aNq;v33 zw5V!ml%=Nk8N{$>v~5n-YU+0u15ah5?rHeoA>f|`_!#vlW0Bl$THyuI8mB6(1luMq zP;7n^%{1NE%(6%>y0)pSy5b^coHaswl>St{zH(*;rlmfaZHLTo&&p@aqpx(mFJAn~ zFr&cYPuUB~s!1rg-$`eAjYZfbs&Fgl!y#V>j}1RAuk!kLeZQ4I?+$PG9|-27K=rOE zLcbHeYA&RZ^F5BfTH%3(-Oj@^>!k{8bRIVU1hi~URjMKm&JpVpM*-fiR!ILLE6QuT zpx?i_1Wse3ZCjD;D|hpK_79~($>Av`wPf=Ep(CM5F10;yTWI-8dDk7L^z803nd+@6 zh!)?4Ae;XQsoV9;{1qx=DDDX`96o$Uim<1Z*``uDH~PpyWGOx!8t945dvu=gBdQN6 zFzgm~)s39R)A7M-`lQ%l^Ye~2;kuC8y-lr8sI=5I@lD}+Zc(aH){em~W8;bWX&>6L zlEIxSpQ+#H)V{8LIUp>)N6$;u>oD`ed=o5PDNvW35>{)Z_UwK(tWM8VkLXp>@SegTJ$Ui}|}4&jxQ;!2U&=kHxFYz0%5wHgTQy(l0Tp zRzPbez^Ny*yMH=kzYRBiyo-NRs?p_Nnaywb^R-cOCEq7Q&c&IBeOmzF>}f77u9}p_ z#(~}YxmwPWA?`;ACni#)IUj~trSP&QGtlWd9_4OTj{qwAl;6jl2HXM7tk?CB`Xgo$ zZAu~{@~pz6b)BC`x<=hPX(R?`;&z`a3BLVihQt;-IxV4`?PsTDZKF=p z;kFB*Dd#ecE_1>+TZzq>(aUWi|A?8Xv2N#zB}v)YT&%}KZn*YZoE^{@+s+3))}Hch zahTVTw%#Ooge91R(1(EYX>Yq^^KDCCugKA<7ilQQyo_JD`OiqD&bPYPrjTkX8DYA1 zi87ZCcVYz=b0ht;1m_6ASirL9mf7yY{;i;ppN+?Vlr1y#xG!hd@ZP^yYY6R3|QS$L=)haWCOY)P!@f7 zjwpxPr|%j+$ZwTrg<*_Z1v94Rd~OnC9<#^ij=%4re>Qr*?1BY*76m|_&W1By;)*iA zPGMg-(++F9SRD!9&=(W_s1V^vD-bg!A=N>e|L80GiK_i2S8b5!NfO@5`G%y)4b}`e zD8L|$G~Ct6T36G690;&;W$ts#-hHQ^uGHvXeNMOh1F z7KRU!@0a7N&Zxlrn#MTQ=o(l4P-O-FT|R=pKI7<-MXJZWDoTKg3Kzn~j=rVI$s?Sn z5k~8IrlN2QG3D?1G;40#!C@OOzGEkj z$i7N;BY6jsN1F%t)wciceXg()wUkkt)g5`#W*p2;gNPhX?%G1y$(~PwSGr;TKf)2*{?!ijwi97FJK_pVpHo#w$Ztf zP3*~$njd4G3O^y{gH|MgW%*$jE%+Lm0m4rnB@IBs2TN}bTNPv+&H{~JGWQut$d#u* ze4DS6(Q=6k*ckwRN{#uD#|MDUX8BR6UH9J~XNl?fVAk=-f=f^AwU4HC!x(={sjNLm zK)~oPk6C5>aq!_=WZPA&p|X_!e}*bECNJ0ENpcX)R~vEaPJb@9$aRwb661aU(m_Dx z{R@a%OQp`IMx%VQ`&)_s4iap$yk&~E5B2$PY|K>skE8PpXM=tFu&p(#ilU;eqK{A` zwRfv@s8JF-_NW*|?M+qHY}FQ&r&baxLe1EF^&zqMh!UIFy!pT1@-4@adEeLd`<>^I zI^5(R2UfL5!Rf%q2+;6)rlY0=XwR58>cPmWX4q8)K*M#Cs=j&rM`)Uy!fx%>DGdY6U8vtF{*%DK|&vmOi7g9vC5kC3q z6ZVoWomhi^GM!PH8ssV>$7r>2(-@)?6?T>}f3`ZDP^-e>0otsj`mrDRZb&ys9)>yF zJ<3qC0AhDvUC)ndDev1pSNxzzW}-Cl?N#nvl0m5CjiFm(nEyZBq^tyJmGuCZ-vV!# zg6HZ9{?=N_LD##c-haod_kW)T76*+N>smB|-%ke*8N_oSM0^tH{so+yr)})8H9H2a znrub=!}ZVgnI1%}KJUj}j#4YegS8ePox6Cp-0YGnNSAnb)?0sL_AN?!UReM5@ngp) z>1>6GJDWN#iD1jYxv{&wJYzPASiG=Kl*?&{8jO0Q(i~-4XSX{QovtM({7+9!mBpCx zA6ri?|I*t8ZXxsrq>ekBGuU{`!NpV0%3V}1ZR5z{PM-av(X#~f<|p<~*4?FlI%l#E zE(TtBhu3X7wtTN!y^-%^CK!mH(CT!Z&zRrXg7vrzM+F!{{wWUeB5uaNH;yR}2!CC< zl4kp{bl62N3Nybl;8vL~+_LHXNb#QV<9??5rJkD+Rb)_H7I4Um`m`$McKGrmhq&5} zoa6fOzlxS58$p)Fj9tKHOID0-2v+r@H#_g{#^DPkG0WP?^Cg*t;r{uTHWeobv@^H3 zFi^24LC0;hcrAWqREM*pj30MF`FQPlX$3o|^@~)h^Pz3m*@|8DR1gFJ`>aJoPS{Ls zyn8TDzi{u?!OJ5nwn+NOXddVD`);WlVGQ`A8$w2k6*Va;G>&%|B?iAr)QIK=F4Ymj z-SAm7UZf{#D6v|tascAJ{DM9r=Vnkz_CZosDDKkT^@4HfFSOLtlZxOvV0zj%W%nJG zQJ?)V?>22UF-ZXGxmFVM#OiqxrSKOly}9UVSD{YhL~C4iAs=ycTPgyO%mEg-o!E_J z{BA$gL4L7h^lr+0jnSty5|f%eEr4!PaDS{vv}B&ybW!@(KjJcjsufP&G=99_vfUR6 zo$@oR5HcuEmNrVl4>EbZZQR?KPrtmi!rC~wYp_L@hB_)=A>91g)^hPDQAUmXecQlf zE_Z12q`yg)y)d1r?EEK*AjN;7ip31DoPpENF;VkHb)ckQkrKWvgeNTU81v>y!%6AP zb6F|)x~kVlNygie;X@F{9xJe{3rRvDniBwok6C#p_C78J#<`Gn7CNA#NQ?{+v@AGn zD+E-E_|S_~bwWDj9`&FLY-+>&O%^MY#YV!p2F6WnP9EFF;GgQIKE8^J98!14(v6>8 zXJb)G-k9vQU~PivMHvlNokHfd)gYfo$#Y?Mr5^JV6K)L~gku7Im~fB2bfOQWEiKB~ zu(&0w9ulkbDi|Dw!@GamSV5L{3v3SDqK_#{MhNY)hs&z239;glm?tlVa1=m!`PKcI zw;_`f`eu@w)~22OTWbf=1Yx#GuufO4=aw)87t>t6mb;Zf^13aJVtTTAfn5%6re#t#gIE@PUti;N z38E=FW53i^oV4N6K+$NjDd{83P|B4=ZC4ySp4n?V>oxYP`SOol6kNI{G&q{m*{L{H zIw@nBNMO8!Z0L{hH zii3SEB4@>^asxKbcg|$9FhDqsinK(F9n$O2c(0;gQitD1pw%$HHW>}Y zH}gA6aw?v14)kW2RO;MTWpm!*oaZ;+>Ssa$OKFs30V(w_1bWYoWz|EYvzjs^UV2h) z)`h^BiiJu=?2sZF#-}wkDV0|Cq~q&6`kbqcS|zXP^_Hx#(}Im~S+>*Y`0Fh)R3Zh= zwHXw1(7)K+;~z6#Y7|J@C{hMZlBKHf4PhWqQK2o=^PBy5`__;Biw6rbzG+g|zj)qR zQ7CdD4}9%8kwpt-sAm_$GZusVjBeEVCE1L7O;NhxX>U5Jz z@`<4mNs4^Sw|DXLnVXka;UvAzh|_O7q)~D)1he(VzVwSzQCnPQvIRU0Ji^wwi_52; zq)2F*7%b3^Q&8Z2UNR%qbNE0i7Oc#|-4$1>%9LTUcq@wm8S}f(O%-w-6$wGaU;~I4 zIL8FN6)ureYgzKG;DRB6qR6Yw_H5{9w{5vJ0mB1H*>kADCJFVuLe4G-+OUjK86-aO z0hU(3kUDMWlB8wOW~-*Jn@r(w_gMnzCo+A*BmQJdOMyQLzth564Xzr8te;zY2COY# zon^}H3N4ZW{evx9v&WQa!inxH7bQttvVqX%7?NNdvwMiRX+oZqWObO5H?qw+eh;E! z_+Wj;>jf)gb$-ok1yPqN;Rs#jLYWqDwK-x^X-_RMl;piNKTsX+45Hs1dG$oi3-OM* z;%rX=Bl*#YH-T@lo*tLZK9-Y?*(lQ=FEK@GOTp#ISsi`vbl|QNjr1TbiW=0g7I)(e zsW3^9&k!N5*F{VXc0LJoa9~2z04|(A4&7YdpdBkogkpo=F)GT9YbpEKT%5Hd&HuPm zh2touH!KfT8BkPUD=8qsOv%;$k|)elQ=l>9PCm>ig;@QJZ-JM z2-dYt9u>IZ9Fwvs(k2{`P)A~^kvv1OIitHh>rG0Uas|_oDTKNwLR@Qc{%#IWixZ?P z&R@0h7z&2z{+nH5AY;Ibc@hYkjC>!vPwQdP8 z@>@HPQ`9%VvX*@i^c3Mt3-G!K(MmE`q!xaipv2Ho*&EhjN3#x2>3t!$r=OX_<6yk? zB?|r(FkgKPuR5a`ie%_sY5%Qe+vbQk=q+Zkvg9a!kcv4sk0e>6v>r7R-}ldK#0D(Z z3BO*g6G^;jf3XttuE656&jN_XD`2mLLK{%d=9}MD8ThaILz0`JnX5u-O0mMA;R6$n zj_l`;vWmGcHt0}QggBb6wI9>&!x1G3oI!pQG3+pYUlDs0&U6g(M%at1s^}RdRd;q!%R_ZB3i_6=+)dN=J?*mjM{U9a&qFcf!L*P>>K7A%XT#ZSu2!_BQ64ZH zgPgmHmX#SWbeb<4{k`1iBr-*LiX#-C1Pt9*8dU}?soNg3Y5*v+OG5?%LmzhuUhR>G z>9N5J`2PiMG?h*nu}e!2WUppxhy8c?u_q~(XZ*6z)Nq8jUf5PYM{e5I8P(8Kw7w6F zVH5n`)v8H^BE-j8fkU)z4Yh#E>|Q}RH^ZmdbVpvLtT^~C#s9R1CiSwi>@(JxID(}M zO&taCF=Pe2aJ%iQUKS=bOb|)CUf$#=<55uj@57)CzvAsgDbHeApdKjkc1VT&cv?6W zAh>1VyL&=LanILoqE1V-Q)xu0X~$~X_>+^vyx6!7B-0@;I@t$u*STXkQCk!Mp**nb zWejZlSsJH-gE~U^KYKhScX6Q1=0nTuXxl9cl7^C;dIk_Fpql83`ju&6=|&uAPyBaf z^}9E-Tn&ou{=-^nn_$k}!q>ops_`62RLRYv;6KpouRK;>_gZf7D8-Szh_pINRdCm; zj>C2&KccTUUEs5VY=DX%iyF{TMKQQIZMIQD*V1p0{RJz6sTw6N+~c;x(Ph_W;Em^! zhaN6!10cSO8WV(8(aj%_M*)cjSGWSzqrAihhO3`iN*938Wl7!NI>Z*b?sCq?m=i?q z@haE#N*4BD-#(4YZ^**(kP<++Gks#$a3(ZaRl%N%pNZVW#LL^0PFWR%bF=b73ba4k z;BrF3y3E5(fxNK6!GsQ&>o5}^5BuYvC|Q`sWeMkxRdW~$eK#D$4JUI6&0rkq2X3b} z&J4~AwE#n)1f#-rcK7RzzSLf4d$kmdGc5w3=fTT`n1U7@f!dLNm6u)aU6e=D0{5r9 z^tO6)yM0*JN=g!VoYo#JH_jnhpPP@H*pH}emh;niHItx(vL=!MA~hw<@@FPSU2Y z`4{Qjzyu?dycmRI#nvR&^M3MrwcdC7VkJv#8+3wdkbHCnY#=-Rn_^aip~$j6nF!5; z__x)Bj#OE0Fb&Wb&>pQq6wtA}8YrLX=l{(~X4bk>H6L*g*ZKXyy>&@SgF-V8Xg8*Z zm^|d{PahU~Hh)@8k@qHkaV>PW+wUz#ukDs(sQRLXSh=3UhQpkssa=+x^xp^9vB%tk zzjk^Qk+awFRsNqa%ON`nc9HFio5lNFT>Fl=?}F^bJGF0MEF(Wn?hdH^kehst9`ne8KA+>R(^|VpvIREWT)m?{B@zdE3JN;c8rsl#hBYQyb+wg1!^W@d zPk4?Wf1QZAT_ny~Cp5Hx$ z)GP$5ylBvoyFE2LxM2ZhqCu2#N%Z)#aB47Q;=KrspO-^oOiU-T+#dWex#=w9(M&JJ zbmq;ca^Ke~MmFc1g=*>Ez=@_E?Nw3|T6FO@of!@c1UUiS%*d}Bs@J3)dF35M4(|K^ zT;#lyvXrb%^YrE`{8BmM&!H!q@=rZyS(fZAV3D5vl7(saRFbHRa{?XV#Ty-cv!>Ip z@CWyo?+IH82I`34cSB8reFIECm^h*W)R!g3k#nc%&bVAreVO94(h2ZXxt+0>L5j*C zJ?`22XDr_8Dj%!W<(+?WieC}Yq-+d8b;@V`2j!`VzmktC;SM05BLn&0>nv*f8K88sP2h4*>Lf z^3kG=fVf!Np5FG%KNBF9k-G8!t(S(#>!nC~H(K(iTej6JcV8Rom3FdneBKj#?d{Lb zJHVAIZfEH+>7OCI%xD%G;bas1D1z=~M=f)JbIVVWPzEr;g}A?mi|2a^=*Y>q=?9wu zh`5j^&adXYsJ^VDGC^ja!-Q2uQ4}FX6x%U@LA#LyX~qxXwnt$pG2JI!A}tvM79!TP>(+%BulAY^%Pf+#a(d{g8IZGt5k;ZY3YwI*y zA`_kq90N|lN-5@OPDdW{YwN(+qy7XfU2zoaIg*G9%j)2M#&uq8xBSWEnDIKYMF7S8 zWyrR-IXC$R6hnomDP9_bHaX`NV_yvW8(Yw3nw%?s#O3(oTM`aGC#OI$mA4nOQr8Y1 zNW=bg#B$_hOtP|a-fJ2%fVCC#Q7LNk)8@?rXyt)@94P4o?tEV* zRZpV#`CE=s#M7>!YP>xZIFD^9YR^@g0a#%k57MzB$D$%aem*-4=0Joj#h5-uelw}v z3CAh;oAumS7%pw;-7OmGBcni&lf!zn9OKZo0IRa>k~dvJBlQ_x7~4GE8jDZCYu{Qv z)vm@K`(MxdpKWkmGCAumc z@fZ;mWS)oBXTJC=mbpG=qTM~!p05fjuPclOZoCd;5z+8}UNA0O3nndV0(&-im0>9@ z$Rfxur7v|<#^LzJpdN<9)fYvMFjR^2-JxeQT98C|=0278mo@K7Fz3C3^qPwj#rc7p zH!Y&cZ=2caLO_pVo&EFX0jKSWJSg;cucV-&-hwlfz!0}&f>95nO;%@D)>+F}9m&lq zAsgK!+c%;nE{m+ef1H(>d~LiO8Td`lO5R6@DezNh621!-X|Fl$P{d;hI~vPC-;jyOsn`glT*)5qA|2KSsf#APVzi|gC_MuS$Q7wi@1 z;z%oUC$V>QS~^=|GRiqzM7`8TKOC-fBo(8phemn*!Uy?GtaiWS=!Z@^;*h!ZqYTak zKV10313fj>hRfK%3>U?32lJ%aHQV9vv45=OlIzY&BsH5dtftU!T!%o3*N2g+p5CmU zDGDFN$asmYg@)YYi`bnYlB|WP|K92M0a%~xanLssri+og`ODT@wOemA@y*OOfj`4i z;Qb!?5VqP)BG(&b5uR_~BN1!jic4kd#5v#cYhQ(-B7fdwWnPEicP>A_V?v3~ylh71n8 zw>`ZP>QHQI+f+F?^?q@0%j|U8_9hY}dxW4#4-X-30{=1gUVBX|y>g(&?&rq7S8mZ6 zlr#27iX*HPHj`lb5OUr|VbJMUm@8|U953U8(hM`u9(?%Cq#bD-vt(u~sPJJWrdRvP z(FbA@JwxRm-_KE$y_5x_MG7|r!!({(#v4WqYoB~k65)jq-@4c zBf2tBHB2W?ErqcuhJp@o9yPdU{GE<$1GyqFIIam7-R&9;#!v%!5<9776j@pi8E3%w`*TiR>-qJR(BeE?aUA z%yjPvJ8szezB|5uN*=HN;x`G(d-4Z~mSW?l(0$?|QoW1{5^0ot$&sS7_}T>?Iooab z=s#YY$%CFR+bq;*W!BSXYX( zG`#hmLFeJB~CpBEi@FhQdkjrDvB~IR@K>c;C8+Owu+6TV|+} zugFYQ2GjTMkCw4(^q}fv&agM=de6EuGqeO6$kM!IEyz;kI#*fP1G8dHOiI;?6g4Y^ zVqSgTfpWu=Pj{gn&y|P+sie=D<#M7b#p%zjo#xKJ}JFe2N7{{c(7C#^fZ#WH*O|RT^ zxy7njmv<^%tL$^KtK^w6iP4br4_?(A8b?@AK*w8<`ab8q1;>3>pR2qI?B^+HQz9LB z)Z3wzU?!`jI?mDBaT)&V?->g&(nY!6ou&8WKs6%Cub$*oZXPZsSzC%p7PT+{v4MT@ zU(Y(moxPOlai~mO;9Vo@SQ4EMg>$*rBU_~;;UXu#^hvb(*F2sUU??rEj!7&M*r zQ`691^FiI_TRNRr2fy zxb~3`LBR9>R)vf^`p9@bsXuwJZxhgr?t#2)xikNDTI=DH8XJp61A}RE>6zLa20mNP zyPBz$&Li=4Rb8q77^w!z?-JF`Vfd%4rbU{b#11M?NXczIfxez@W$q)Y$&RrneeBu~ zDy9V?!}>?2l{=LI2EdI;_G!qva6i8@l4~zUe^KAfaX?2kNMJt#5O~&7GlZR>HS8VM z$$hAT9D^ZtN<-=@$4U#m@=doeQZG3NHz*pr-bHucYx-#Pt=UIX$HIjlxq^GjuE)HB zHULfTONAOMAJ~Z-;n1~Ip?jzoUIUxFj;{8nNy<){A%5A9RSeh3l> zqzgT1#u99r)yC822JAYIU(}ON4*oxNt_&a6Mku|s*aY8!K+N=Hj~4Y58_Jxoyvwxn zhi?5yw4nsC<~zx~+6+`G1F3v-`4-f?2m4rM z)9K%qq}yV!($+y91X!s1Q$%q!Ud#_IgufxH5TQ0#KMs26L&lgD&7gAATm}n_a6h~m zO_?YlSh9QhS0j}wcLq*mJP1ei@S~LC{KLxLrJpuBkidTC=o_KZo1rDj`g{oLf>LrQ z0=f@>*fPD*&#VLkY0l0>y^c5P=Id{^zTNr|niU7Oni|u$l|3l#5NP9J;V$a=%CXW| zD|Ju0xcZG%2e_ES$zCh6>E3ZiVWBjwwDWG?eY#j_HvSlI-64SHCrP|CyDHGcy7nP* z(wn3~Eq#?|rOY9*G#Pu>Ta9Dm^bhsc%_AX2;D(026U*KHQV|uX@J}5UfO*Dheezyz zu4#e6+dUZWJZmcQ>wqXk(j3B z{n%JuaU?BUv1i-xBf}Ru0BABG%3A|r&9yPIqoF1y-v(0G{Gez>D}91{Y*TCL;}W=^ z^y{6G=pB<1){!u3%UjX>#mt5URE4uNr5|riOzSEb&nj9!OonlSm7WetfY@wW$MWzB zz{r!w|F-jol2?RpCds6-@uH5|{|z6gL-$6nFFLV)t;chIlw0%nb4oN@NlZEYykubd z;osPhYdVv88Z~%V<~K_h+b#Q9pRZ!V2$^8(6kZqM|8h=yOGA9bjOx}Rgk^kH^tJ6O_hpon;O5#=UG;v=m~b&TaR=43-;-@NcNL>;|Y>Mgr&)s+B7Y-t1e#SuYjhGpLHh~5Pn zoYHuE5Ts}dKi2&@&A432EMekUbj)W}F1ui&3-VSpxFAMv)OpxWAi(6{C}uzZN+EZhC*o75|A8N{8B-64I4E7DKGsw*nS3ziwc3m4O`&8^58AYAm*Saz zLx}rR&Pot6C`@hOY^p!I5tk1!>=&pIuah^(uN;YgVc0J^U)^Hcw_~Ovi!C;_0t*wkzXgqntrDX)A_^NZMF&*S6TpSim zFjucJePLSy6d#pi%>b}9>!0M2Zzewmb(%BB>S|>am7I5#ObayP^4kUSobgF1(Ns#y zZH-BP-He11q(Vr>XaJPLmvNG^k4PDS2mh)>J@g<@2GTWn1Pn1%uIHtEF`3jXr4pJ3 zpqI>z_#G;TBi&`%VreZ0oh3qt*|nq;zpWR6 zutffgLjKqjljWb`v=amc_3;k4mY5CjFga?zellgFmwxZBP;t&T3YCm|??sgoLHA8* zU8)<^)AJHUCe9AJ;vID?j7bZ3j~a5(rOo-E5_nd1@2CT7zvJVnxoYaMsiqnZb;TGI ze@{-GJfn!$!*5>*LSf+?KNv^-q|l|CNXi3c=_8Gls&)woWaL$?GL^G=3{oPpPYL2p zVBYwu5~xI&Hnr7{kHR)*&MI%7KWPO4j>p}NyRX|wC%A|=L08XJR+m&S7eaqm1uwd^ zGL|iLuEw%Ayi^t+IsH%8^wIaU3Vu9ki-sicNdNIeYFC8F?F`H+d%Nl6+R)#KEsr#y z13w7IsNgFR=z{oqC@qCBGHi!dWc*Y779bM>A~;B;zFbDscHsnSo~?CES#SMAgjifL zlqv1QZC?1>wdJQQRUnF*4L2cZjO%Q$bflz_kC)I!f1=j8z}eL(%+p5%(#G26;|O44)r2Nyh;0@ zK#d9~HaCm)4D(P$lZ_SXI*jc7U!>R~V`_)|yc$L(nWJ|D0yIEhIquc|Mos^1M z^>KhlC>^2TU~MBtmrFloPIS!Py*ridcH0y__^m?&_8+`fC2by7>^L-gWd@vqU2|2s z3UVYDr_I=L4Dx&CLx7>WolpjtDUl8Q#E(tf01cjk5>^{`iEQpu zemD;)`CeUdwZVi@FWru-l8zjXqZrB*KVy35-k)=l3sX~FK=7^&8=`Jbp$tI z==r>!$J!gBz+xXnPKeqGZomPm{i;kc)h}ELi4n~}OP`iT_5ht1J5`6a{@R*|Y2}oP zA}WLjNWCG#Pt%lpWjwD+#ulR@ucma`JCA29l#xw*dcVFr8{M_fonz5h*8T_9#Ah$uCNmvjv&X~vCL*}TY)$=dX;|Jo8z_;)9~Oxwl*>A7(-EnkB{ z!!q=ZGq#2`>^p>N@vyhXK%2z^$p*Z^{JnEhkD6x;L0-iO_gE#_lL^!|=afMerDXW& z?Z>OTBRq94oOxn3C)YDNA7-Vzo>NZl4oMshy;|f~4BoQMHQ#IaXPY$Nqp}jh@8=QF z&RYh(+xVes{2*%UjZ+S)8F@RcJys&!#A2BE4+pH!>h7WHFo|ga8?&8IdF|e0Hvfa;lgW!DR2d^?Vrk=&x@=SL|k> zDO-lh13x{LT8lS0mv&J&aqC+6JlI2clGRE#sMRq8?mzX{IC z$KXvD_fo>)#-4-(-q=&QD$^H=LjXK&eC)(r2!|hv{;~XQfXw1oSI#%^-uR}_GKzZ> zAEA!)r5I{aXC7VeNeSU0tw=kezOT5y!tRJWxi{S|-9_#o3BZ^Hh8!TrF~ zisMll*bjw;IpoY`4)o&a*7&{mmiJN`$%h8+XqlmAEg&&}OC9%owO*Rp0Y4IJA(vQ_`T_d1CX z4*82qzA9$*o9G;FBCZkfbdCSgS(!HPR!jTXCGj5%(sk#)cZDr}Y{1d>MG>_D7Q_oq_ODhzNG3i0hUrg5 z&?buZWk261$|CiWQsKOGWc8w~6DBXkWReEAMi}rfp2Q;^i>!`6l$Best6Fe5${D)4jLp zN+g84;m{Vlw0gaD=%spTsjGSpx<0DfJ~Bc}upb2W!-(|<_t*Zw{vy~AArc54+Q5)I zF;D9u8!0ihHoUP-Sf3k)W0@0<)x(vML*T%2PqVNtZ)s)D1HxhaD%-gOXrQ-!u@I#d zRvXnfHtZhGu5KXiQg=|J17Lc%zM;>p1I0jd3-hl!1`1|WD7rKRJi#8BrwW-KigzGX zCO#A7E}Pocph^L$w!1UVO*ktg@j*AQdG_4aKF`riTF`ik;*Q7mli$-J0_PpW=lijt z`-Ah|_UCQ8FaCg*U=P^lAAwT6L%nEu?JSRi-V8H%^DuX_j+cDvyBLSVGy1ti?}x&< zu#;QnY6$~YW}O!kXrKI`aQcRB&K5DntHxc9GiUj3`A2Cc8MS=HON|xN*3)mbulgp8 zdZ@F5~i+gvW-ZrV`S{eJ~)Qn#+5VaA@q#3{DT)awzg;L9ICnr~MrsmhuXO zf@>uXvO=b>JAi{aI7Fmw&H4 z&+2mhPgj?*=2L01zh&J#L$~)U^Sd|LjxX&K4s4+V2SOmpxloPd9cdQMuPqAULaAzz zmg?b@M9UXr#*w{GIg!u`ybB7s7ZHpyk=ifA3cga3z8b&4qX|xO^dB>L4&)a0%>4lo zB0sZ#i%KC?`r~cLUIXN*70Ed@xC|`?(Sy7GYd&&i=8{1viC>ZPEQNWy4|sh_F-{1* zruOpuV3cyd8U1ejCD86x?3OopYzhKt<)+9W6&xccy}sOlsjNTX_c>!64%pY8b^TD= z^lk9EY4fvx%+W9Fhwk*1If6}NyAMZWo0|0~#j$o??DZi6b@(U(?+3&SGJ_G1?nmlH z){-)lvqW5~y3o4HeuO*79R9Fch?zFP$*zkXlME`qaeg5iVx_}{gfFkQeH!F0U>60U zGGye2v-V797c(ZMmWC%7hG0c^s$x)td7dyCn4X}hzxr?wCyL(rh`u^2nAci$IPl29 zcVUl|E~Fd0)H}bKbF6e(b9~8Hble^!TUy8rfRwIC+bQE`Q~c}_qx(xP#EonCyIV_ zXX@X+@L+HD!xs#C0Q@HRWZ>xd?F={%&PQ~bIOQ3jKn*T8kmn5}ixutzHk!iC&RrBENycEuoxDqe{oM(m zzPM7Wk52H3k5#!!5W09R^)v6a37WQ%xW%q#Z4v&}LJ=kV-r%_#W&$Ptjt~_kQh}j9 z9Q;6se>ox_M?V3tH?~D^nuN$PY6*#Mp~_4)YwlxBDL53hkyBBPT~->sCGm7!JEb;p92GYYp zF48Z% z@ua=kIP9*{Sh~`L$oTm8t*51Qh_Z?ZvJ>5Vt9c`%)7cH2!x3&`8_3_E_iwZ6(Erhapge!8xfu(+0vu`XC+I{9#QO>DZ^=xPF<4Sp@~->W$vG?gX8sC_n{GX?o`xDH%~!- z+e4%(2Vr@z(GY!om3&Nf04KcbwrrU1xjLT?KCctLsO{e7r(6hL)2FDsv{I!5{A&f- z`+^Zt?&(*6u&3LuF)pU7f+I>)y^SCe(n8{rm+eF7vKbpvs~aDOsTGP2H?a+3Q;Dlo zKdlUE_4LN?*;s6AJlr+R!c6lNOgHswe+)_gveA)QZeyP^YHWpM8WNI7^S>hbJG-hA zB+Q==5q6_#LXG9eUJt1LcYCDv+QItVcBs@U;qhJ^s#bX8=momNX79|~vwVKFYBpZ= zlwAi3b+5v@o#^w|5H7sCH=&oAm+sEF$H@8F%Q;Y}guBa;uCwJ(NQskM2_N5 z9n=As2HobN!f~mPqj0q1%Drb%%k8Holx;WAHiOqeN;Yi^s5D4W*C^0xH|Sjb{49!c z^}c}II=)kcPtAC#T>Wl3Q=ai+lD9`5T5EAWFbaa6o5eT+__Z}DfVQ|8YsP&{rgzk! z`vdpYdzz73Iuyzi!rZ>(qW0n1)EK56>HfAWE2wMG=b99L{BEV3_G+rBXJ3mUVA-gF zm7(&;#Y#vubc0@{_}O+)5c?a~&_H>_$m;O7UQ%QU?mqZv%XL<$AdX0j~1i*Di3-rq1yD1<7=2z|xrhqzxZnW3>BkI8?HaA=A%M7Q_)=)zn@ zA+|w-^f0>sOyCp07{|D`jg@5HbA!FzwtK<2i|CHk&dQ>~CtW1N?yesFL1(Q=koP>N z%1OKX?}k6Z*9Eijx=?df(n>%rqG|g58eEPadR{tC3?b)i|v1n)@rG&U~=3lJM%HH%;_#F%t>)bkBq%tDMf-b)+m$ z)VH#1$j^=t+I7fBp1RpiIFKi%{ZfW$)8*|YiOzcwrp=w8hgVhe(|0LN_`j*#8gy5ugErzZ&jxKz%|A-e54d|HU6j1X zhW#AGnmcayN?U4-rQZ(_<+|R@;?C>8lC>4~k;+G+)+zxIpOmONzJJ{R0YxE`G?3cV8ZYRcG$!0Af2VL(qY}AdBbZ^)W6{K#riXrqu z#Q4p)D}R2Kk*b&8FV{IxdUjq)G|y6nNP1wEOwxPVgQ`=?he;;YGV7UpNZk%6mBjOY zJ~H10KX!wKTa8agb=UlE{|p2W@%5Q~X(qVNH&2w5TY37P(bi1Nq|6I4cvq&W_-LFF zQ6r5ONuTpBJI`r|RwC@(yu^^b)T#pKySaY5f2r9H0p}EllpD{{ZND8kH4%nvh}zDY zXkZ218**-HAXY#m=3dAh>dpL-dC;w>+=(E`I}+-rWkosKWB7WFejOG@cLxVJn+?%d zGrn5J`24eU=ybtnWqC$)a`N5;wyM^sfD)>P9f%LNyRi5r52nV@Ao_lnjSQ6{P5B~M zkl~54p>6c!&X*`YTpA`^D=A;HVesnk;y|PH9J%eofBuR;be}4)pZo^2iuvyBKlu|R zT;{YQi@}EMzdIl6zM9$wi-)ehe|j9zFm^shC|{`C7@w9*NXk<3(F%y7#vhGY=;dXN$Zt6-;hs+Q80{KKh3sXpf1stnEu-4 z#Msj&kZ#(``R%PYbm?biGZ&24f48%CE|rr*dY8V3d zZO#d&3_~`}6fu5=cL_f&{RdrvM47D^6n?sFQnPq7O^~f!BIKvclT>SH0#^r|C{8(Scw(vN~|~$MmvS>TAj*+wUAO^^bzL z!wW%;Ei)@$T#0wPr{a*Vv!UbD&L?QjBxcj`pdd@=2uo=qUr*r9ansy3NC#?uuz#k` ze|Ai&^Ihs|wFMl0nQadtI{IR-8-^P$u4t5KH{pW#8#Um;zV||}{UKz1LX8YjW7iPT z$uuTIz0mV?+~p-MVe_iojI0W;lRGqg9$}5F8&l2Y{5Cm2?H^&TtT+0^6aa`+d9pK!@+o0H|c5fcPFqt-pTU1Nvz!Q5?AAH z$JCq_AZ%uL*>@sZ&z}W_In{Ec(%T}^Pc3W%7?~fS5>*SZ!UHErggKY5S+SYOY z{W%kmuePNzo;l=zotO47kp%sL#XGX}xvEIG-LW{Bq4h+67m-7>@hHzLuv>;YMPzV? zfVMs``7l?bX15E{wb!ohS0+%xN}VUBt`;6~p#s>Gm!0gdh?}a{_0!vKAz7jI$MZ1= z7A)zDrM&;o%eq;woGY^;w%pIB_x!l(%9YqRWycPbgTqQWlGC!YJwf}_e=j~R!`|E5 z;8=}Sb&Ce8nj5w6}_C@y16yisj-1rgMs&8$#8oLa;;P#<>D_n*ODh3cdUMg*C6 zHc_s_qE0R@4x0>If2PS!L=QpKn6;_CS7lhRD6U&IutZud4=HeL^J<(wk09!sY| zd-bgrD>096!*@+?p55uG@(h01H`yiRHCS$(+j##Qt{Zx+uY74&o33E?^f(RIpWQeh zZ(+&AIMEx8jWT`MtO{*&cfF?jelnwrUkK3N@HjBj1?;hWoO zE3w4k>s{)h;MVcb$*Zo}C2Ez$88hAM&6ycbz_abY)z#;ZIaf1uJ2L$sZOnb*cB|^6 z{R47!Wvw^Ru;s;EhyzrlPy{-Xvjr}M21_(e8KXLE`K$)XlB7*3uHTHr4wHk_>Fks+ zb6iES1M-)SX!UMSn5or1<518!}RdIF297P zX{s`gs>2!=8zoDesdU6dNFiNx-2EEW09UVkkK90kgH5%lXNhqFn9-dQ{bX*Jrfo&1 zuGd!JvLh{81xek1^Bp^RHfc%FpCaOu64vrQwD!Vjbrs(+CfoxFCI3QHH_8}~^6(FY zd@b4;QWnfWKj|`wh;)vrc)oq%h0iGE+~txE1KUR}Zg!^Ia^nrnn+@B5%kM=y2CCQX ztV;f}^{CrvOi%vK_ss33T6%1Us%-j_WI?rlDtdLvl>|PVdp3jC!@PT5b%tCjI?3WN zm1Y=p!hlhT++4n!JjkUnA|7T%sv!7qj-{JO7L0vhnKFBUoM_B0Yc%<0KF-@h(N!yX zX;SWK^N_Pn`pH1|RGDpCpKH$9*bwWZKpTv>@|V-M3n!r^&U|NJ6$eL$l{xk-?GHqz zh5CqvB=&)xDcP6G!}FC>_p#xZ7v<+^!r~RR3h|BXjag=5a#0X;#yVBfes0+LzBC;c@oli<$n}M#h5(I?lkG zUvwVLIYxTy>%E{KbI2wf)>P)aZ{=BI46#8fHX|5zYyWUWOCQ27w_@Phe!VD5u7#@E z`SUNVle5Pjs)1L9j`z}tu`VINKy2tawQ%i+X1OEMkYZ*!>y1R3-Nn`%jN#o3=?Isz zGiGH;APTItSz#I2=_o`Ur)^vbPox|K`b|FH5>S@QJR^Wa&bTkJ$ZvVn)%Y;q5IoR$_ z_l6L{pHyW734cD9>V+X6wYOo-n+XlW=b7Rv|9h=D$iL9tTOmvHvyR9AaW$!5j;SuSZ6j7uC zLpT*mqT#I6s<$ZW)L6h4T;58=a3#Gr)82;dQ%WL-wkv=BiuhNGSe3kXxJ2DxO0U!P zYdNB?EY9PJ!gF;*+M%dt7+rCN&$f)^H}7A^el5L$DS5E-N*+=^V1=hKJ~IPwlW=^s z3Jo?l zeys5PJ*-RUj<6p`pJVxPXnzX`Qa=19M=<1NAs+aF#o3Hd{6cAcT#XPCjGj8;c0);j zkUH?T<*E!}p)qy(^^6%5gR~6Cd3V)3jJvQ^x-w_wSX&e9_p%n-LPSipoXV}7S*YX8 zFW6%Nc4&r!I^ZF5xV&WE9nMrxJn~uVD)!@(xcTnAA20uq>g0rgb!?| zmNP#LQvJ6OsQbvfE{>szC|XxclilcyD*4atIC(zQGD0|g=XDy@livBBkZG>D?HPCF zzuf238Ces2`+Bq;{(8R$JMeLpO1BmdTT31CThddMG*6e7g z4qWD)^RvNPrw#WIPpW)_(`Kd1gHf}Xxn5G&2jdvqZ2jFYJJ2%rmW!xB) zLw4Y^_i$44!F6BHc5S>gk)2a9+%RUm$A~hM%3o^&@gM?&%e^r6Q}?Y{mB`neJ2@qn zj@3&7tbCYiLaYXn@J8EHvD*auWQ7Zi5z)_ye-yOw8>Kq-sr^zjV=A%vZ}-;r9;0e~ zpC#4r6{sEmL0)t&`F7V#=;&)+d%L1}F1Q3IZa3i~y4%?DqHtg3BTs*IP^ZY>Yc;J` zfqenF!xGd(M2*y482A5=qw{cNdw<)oQM43QMUB!@)q`4TY(Z=EXswdidql+^F@hMi zYE>PrO*yR*u_E?rZ9+IC_MWwO%y|9Ye<7cI^Zn#`?(4d%s00q6I!!OG4%R-QJaKTM z4%jNgi#OaI5ES;wa3JX&|8rNH!aM$lnY^DBV9xmUv&tL=p!f8~LrU2Hj7za_W7BTK z!r2CPn|F~EWv1(rI;9uX&yN(%)K{l>*sad-B=O2Ia^`MjlKF)H49W^~F;l3FAR$`M zrW!fOvxmBt)>ai4OW&GYT4%SQGi&C`h4I>>8IJ`fURjd;>UXdGls!n5*QZN6E&Vy4WBhRWtX(iL`kW;L-XvmC%d@0*GCDpiZQ zsWx+7I zT*$Lum2a`Ayr|jg%4a_{hMZME&8NKj&3T(U&SW@&ut_{pai!KDT3{K{-ii10g?js!|gmpmgP&IN#CD@z$ z$}!bTVwSN|NduM5qb(DF04&Q}ir-EtB{6}65EnUvP0q%O6fJ;kiX~J>%{eRb`Ko`u zv;Ns+TyhILR+_U{ZwplWI4wt4HvJGPNgCnO5q@l!l@UaJ+Qv=JzRHbk{xhH)fUlEE zzJ3i30ix*=q&4X@8sxl-XPpW+$X*M)jjz?UORcEEIvfXtOnt^yB~*la*&j{p1Ddd^t>Jrm zc27Ss6DQl~5jQ=PG!_*lT4=~n5ukBHnEB#%y-I2q;la%ptH*4u%$lJf{z#F@=o>u& z_2%DJA*O!cxT;#c;oztb%;=n7@&?@RbgZX)Y(gN^2Vj}E+8bv!5pz_mx$>Ol7ogo{ z#E`o(QTp30v0{#i3*>I_pwc=W@?iAv85QrBc7#!4ZPOBabUkiANkHjrZ2U@z+NEW} zEOv3UZ(6(oS338`#cGR7siynXhrP_MOGS9a9RvTsOl*sefIYE%XLWp@Vq%OT2xrK( z5Ze^Rg*RyIgNDuU&=Z#%!)$Fad!%s(L<6=$s{xhv0CuF9=+@A;J-P%-_?e0nr1y@) z`3u>0PS_;aopb%;bZ3GOn|A_#kl9cCa?VReSWH$v{yf7RG=-F{T!nHL z64wT9hu~pk?$|E5Uba2L0E1v*Ig{Rp71!P35Q_2;mAee~ZXIsMn=K5aCC&=`3qXrS zc(09>J=EgZ93gTGYut-kmJjdx7+?0yH1NAKq2r9R_m*?GgscpLq8a=I4#1+c-0f5W z31!}6?P+xruS156HB0nTzV9|1{akzkfGE4CL@N*Tq+_F#A1`stEQr9Zt{%BX&gYThebWQ^b!1AgE_K8Zpyr?=9^ z_QbBA4>%lPjTkEj922ohDK~m)BPJmFzFH4&yG`e(Wq+pg0i4^U+EvtsyU(+=3QgOP ze}6%bOWEUuT~%h{-B3mPfOW3pwLl_oVC@367hmI0Pp(z)GBs}lVid3FLRwsF-Fqoq z#gFHmx~d}@&!i;p2zw7^K#g*MR@1|mozgcj1w;WLyX+`BcX8hX+GN#T;q0Egbt(KhLF|z8 z-hRptv%`*JsP=OGc`TK+p1U@B9SysOl8O&hkw$gF?k1G^pCFJ9gjV zJ^WI*&9Hlgz9ug}+L$WrNpBZC@&rYlJmI^U{R6h|KP3%ZPM}75BHQ0uoi3(uj7M*U{8<*17RQtVHcd!o z+;xjP0}XADDiIO_BcQo8)p~f^Vm> zwrDJ6iNEvw(t@T8-b&^8ER-n?g&71LG}zk8-H{Mkfj=Nu2qISX_`}aj9JZe2dSYf~ z`25RF0v$bnTG?MuB`L2@uZ0j?Ph=KX$FA!}5q{2An#A(kgL^Q8#}6@UwMS81z}1N$7tzK{RJhm5b(-1eJ@r#B>w=>Op5&i`IQ# z-D$ZJ6B8SsDduODt`M`tv%}W3TLvo?b5DjWTUALeoZPM*vSSOZB6?vXGhKd~-bj_) zpwvGfutT=Y8=VlVr-2dNAwxTZr1PDbXymjeYm>@poXnLv`P)ci^fW1~aMR|2H?zG> zo#liaw)WUe28Ajtkq&^*Pf&Iysn4CVHR?8XD$6C9bM=tYn{c27 zjss==`CH@7LQOfHS%;~gg*?3qqo5plUJplPm`9D*Dk|bu?PQ*Gld7VpZColfTX%diM*P_3>%>%=hunQHeTAebJR$4y z4tT;mE2RNT+g*{*CbJF7`e4z@vKwi(FfACsR1~2sXOL71@o*!Je^Y{qA62CI72_3x zzsbkdJ-taP5M(Ycy^%-Z92R8P89M7tPwq(0`G~?bIz377`^Mn2;T&MJQ?9EfUjygN zE85SS&gUB`JyVvNmCm%?V|rbIWvqwOKdC-Z&U|{EaHsLs2>bpF_I%TwYbxDT*gyHs z6wky?<0q_lvQnZ6E6!jtr_fw3D{k|S;>zoRWBY;rjNtq2!Okp5itFZT@QkaIK0D?F+7l4sl#Z?E(t-L>mEiwEc# zFQ(+YIN2d&Hcz)kdq?qJQ}hd=ygzsw7Beil zEpI1BXV~q2cfCNS@fM7EE1jma$=oqN{P}00>LR6h=pbR%KLxQ_ei}YgJG(ZwQwBfw zQ%*47KTWy0Gn0b-PRnNSS3}hBa^wI^*DnoRA=OP@?N7xA|Jv=d(L<@1a#rj-95`1! zKZzD9>GxE^AYYvNKN`70wyp~{S_SM0__+rzWx{31%ev!hVl>O{Zl`84b>yADZq`U6 zJ#bQ_UoCX@f*%8&NfvIxMW0Ors=Q*U(^%~l@)?k;N7*arAjMx?riDLpMF}wQcV5va z0uyQ%SK^!^tDJbt0m}S}BHtXz7fplV=A7f(xxPS}!v;i;Hi|aE|xbgNn%>ee9#e2YXKZ|5jy3ek>T@7&4v!l0riN zq<5xYCv2?+uNP(^u25&R-2)vPxljI3-)p`8)JHGJS^QM2U4He&Pibah7CzI(P!MJe zq8pVZg+0@@_1&jZ8dH5*>6&W-{V9+B$Ipey@tYkY9Is`wL9F9W=MQFsBaN_5N>OuKs_xZ^7<0526<;C6ImK{XPhwJ6@_QuaV#M8TH=2Yj!19 zj7?t4TC;Z}XfeAsxIVaH@odAGRH=M?gsa8F5UjKmrx_@Q565e!&<6Ff=u{lBClVwf zfX^1>QHe>;j!m;JQ;Zb#X2fi6OHx|9%`82ju;;*6_a2R2| zYc;5+?F)B5d4oz+N;npzU{jwMe<@&Y&{eERD4L$dR)Nze(xL80VsSwlFRDC_`zz?I zz#Zg?*7Gk6eU~rpKX~XjcW_oabu~VNwBEI%KP^J~6wLTtpDLXo zRzzjfbC&3hbMm1wx=MSZvDCuxJ>D)>51k6?LmIxTt(2nBG|??xL($9v`z2t3G>d9| zlYp7AC-zb$RO|SJH88jVGaQP8D?baz8z8m7|3-72QY_6%5I% zRJKr7=#KhH$kH{-Wl?U(c!gn3@@<}mopWBn_4qF`qF+7 zYsaO3jD?QK7Nui1IOUCaFp(Zm0CR7W_mcSf{e7cZY-K~4Zq13g zQhmIANmuM((K*h^ZsE>gFT-&gLT!5NiJ|EW281I8wk&aj?)v5@bMAD)ss{0g;rjVM zfTX00e~{G|gM3#l4oT5#_dFU_Wz#RG7@R-0q8SUECy663c$I2-ywbN#2zgkwm0KFa z52VndGM~G%M9&<}k~m5WV3BmTQvv~{dF*K*F0gZ=Kc}Ot2x0*En-I-9=WGfbI|J7LL^*lENn_xsl+Nse{rngBfQ3SQ^uYfxdSti)x zus?y59A$t>a%hyW|ETWuVlj5=YTdtEUPKmyte!V(**jUwx%#&-H?WO+phx@QEBiEV z@$-uCib>@u{p_p$=-B|?%1H&(0+zc z6|5+E^oQ@^UqW`a0g_r>>&wuxE@v9BcTJhcT;~QQTZ!t&5Q_oHV1EofZn9*;;oN~% zZLidkspR|28`S+@Rqr9I*2G^U09wPM|6E%Z`u(g9v#*)|Fobfn&Z{>fFR*hp7ZGb9 zWNS&ij-=nhxxIEja48H;w4qBk-H1c~hBK~ZQd(+Yyr{rO)CYS(`U2Q)z{d zG6kj9pr_*lj*J!tpP#2|*iCSxnZeq_u;5$XQD)8K#eMW94oc_xoerfe)=;?>=~qIC zS|jEA&FhTJj1yhq9)0vNK0i6WNlMDihBxBoXlWzY$1v>FTLxYyg$uxbzn z-kJW}L?!s)5rcP?g6VdHHC>L(ZE>DeqHFW1N8tH}D~rYir_~u$d@gv?wIzhqUwEyt zQM$x#by?py6^xh3HqLRcRFWBtNKgKhr46%VS-=^7#t?3sK5Ba@zz5Vv6T6rSn;>2U zoi4T#$Un*i`itl54t-Y~-gTy_W=&hh2hpeTshrnzT`6nPiq0sJGBWzPCh6BE_X*3aRa{H!CNl2l z?ft{}QE?zKC8shsA_f1|wLOjtdLUC}8DkH)H`)}Z?Y$wdB8BzAVka57Arg3`L$y^9B|z@F|HL^mwos?(teB%C z2fP5shX;+_t0R`_z8l<{e~vuIIk+PP?YdtSNsjqejvau*)PuGG3k}OLy}knuhPAR= z3f+0lF;NN4CG9poGXvH%1m~!fG=+4zbla6LHjh$h3_U;oaq_L&TDekQzw%Q)=DyZG zNT+mXhTc~8%gt2`hz_rnGRSl7%_eLS}gIP42Ii5#Dzln5c_XjYPd74RUy>`fhD%z@?_ATz4 z2AuD(XPPSxjk*mhg%(5K#+3ufaqzh-wmF}(x20ESB_{an=J{WCQSFg0%CXsUk=wZ_ zOvv`If7`>4G+Wt{q$eR;8}i{AMo%@?BtE*VniO6ENaWZV_8}YZS!I4WH5QV z#pfp5Zz>m&!@I`Q7$AyILa_KSjSg*Me)Du>1cErmRb9?NZwK1GzUV%HMqS*N|05P^Jk2~c(7qZ*D`P7#*C`!7TOgp(2I>(mybwop{ImAEr$`*8} z&7uzyeK&GAv+C!1R?DXXZwC5)wvWvG-0syD%hWQb4DIrW1x_y8Q*xF78%yN;7-RGP zioYR>nyHxfCun?{F}Yx=F)j)YOB2e8fW2 z8906gH$sq5+e=0-EqxCT0=vzSgqBE z#pYfewZq96##ge9$8f-l!go)^Xnd5@{wYo$x!DC!axU+6&U#Y>H zG{ZP2w{|4r@s2?T1a|5lBljhAk_25^5a8V>0U)tS}Zg*^#&fw$#iAzoU zTWzlBriT+whc<(io0DoC zyJ*JmOd(HqIJN|(Pm}zbHhbT?kQsvDU)d_)ko$Q5rubuO@~nlZZruchHb3X~nxVOGG^D%@U7e+j1R=X+@rQp6@_9YuPB2}r%@|kA8~|`{n(i6d zYnK?AfgZ=DBGopfbR$oMe!DaOd2m$QV=(oWNx;`jKN~0oSSqO4fD1nI*0*u^oF$sS zrwUH1Eb{c#&*p)RZZc zq$STPYam{AV<5wCC1r58q5Db+$OPTl=;t?6188ZD%*!-@QhR?vu~;PqEqtiSJ5S5j z0+7|qpjYipVFyp_ob>M8)V(wqPJHeRt~Xt0NpCPfi>!6i0waNH@daFX!cpXt%SrEl zMDBYA?`XE#ovAk48=aUw8cG(<_o8wUXW5w)d~8~_Bp;n>5HF+q1fv`_1b0fu_iy6|i()PZt+_68rwkNQPAF?7>v2(}L z@qWZyaH##*oB2dAT{9G7KiK(qa;|e(f0L<)Jy&}-=4Xw{j}R46j*BOo8B)rQ*H+h7 zT;dqNb21Wx81vh&uIdi(+ESK=O6ocsWU=o4pFv*U#y-6HDdFTEvb`?J`PX8n0Ct892(}HG<4=7XF zF$BH}cJy5U1Ed2ftc=65Ti_qzWp7vT?Kd zH{%Sd9t@1vQvxFwLX?A@vl+9}Ic@-t7CsQEVdVNuwN0DkDGTq9@$~jLhSXF}8i&=s z#Bk=l3V@+MRXRS}3o8WqrttY_r-LgrCqjd|y4E*~3Eq!JJ4eX$b+|bo4vlw5qEJCKrG9N2bJl ziqUEPo|m_6atrc@FJIZCO$QxVZ)n}(LVBURr^In|y?$1+B05vMC0?Q-pLis0*_k$0TJb#6Xt`LV41g34`c#g(*;?|icljZBn+ z{F1J$9DHl`{jPsSZ|(RWNO4yn{6uBr)ao|}NPqRz-}`e$rzAeu!j>QGsP4)ctIg2WB@5nIc(bbJLpm$Yo9-S2q`+Xn-70Q?9ex>-$xQjZ?aVV{?az+HZ z*V`SD>4^@v!m$?U@a{LkuJ$Z;{`!;OogR>Ub#?*T8>PzGYf8S_h74!b1|!}I1>Jog z>81A;*KJS8WouHYZh+{~0LlnJCxzbt>ONqZ&ha=SZX-j8_)f(_g(=vuo@e39H`e8d zus7B|rUTeRL%8pV*lido)gjpBP-~A%J!`OzL z_ABW+ns0Ur%9(rkdX_%C z3MO+HKj_@k#Xhn|raJDme;4%z1@5Fe9|^BLKe~tQt!{wIq_U#iLoD_^p9% zs5~F_(C-W^a`$C3kxWLj3!9o7q639(z;f*Ik9jT3!J8BzU5-Vy5ZanagF?75wofMU zMxF1U{%3NdAD-mj_FAVojt{!1e$pbO%-M9d%$*m_+@yL~>*c1&^jN`N5RmTG>u(3; zols){f#S0wsb_h;H0nu1#V6H?z$)2HS5{ zNsN3?Ke_o=?#G&d389rv{|I-fD5ZvdGU(=7uhB2$ypn_x!N9bfemh;3LtE4o<0b_`KxU)~^{^AYw_ZawMB zul3-t)n_ByV*1ZTYcS~-ADN_6x~;VNCnkrOk(t9Tc_cdwqFc{o^IwrQNEZb@_b#4y z5!`cQAZiCIlGpwvQXLYQRwr&fZ^OOG39;XwD0E4Ua*_J2eSy#p&ec^Jq1!(ZXn9y7JpY!O@QhrpOi=If3$R1URg)V@YJWxtgF8>?{ zs`LiCXX^u2$1NuQ47dj#rk|m=(ofA8Kx+}8ee;l%ly*`V-Sk~IE%(B+rIS8Jrp?8( zfzR$@UJg1I8X=ipcc)sYe&Awjqc8scnN2|-(vB(6VnthA+&ao&J9ThVveD+G9PYIW zFb(6hegIQ?jiuVsDCspxH^DogDx0ZcmWEG=qxk94w6(|4Z%SJ}>-}ZQiffwLpw5rh zT5%OIdRZ&{yJgG%Jh}UNy7z56BZ(ZTLQb-zzrbZ-1(-?4n|wz0aFU1JY7zrx*oNV%*58;y6g>IABly;eRQHCNlMeKHzcFryjn$>GcfW;W+{U{iC*m3c%gNC3{Lp`0a zepwD6$WesyvY3KYWkJ?HRoV?AMTx&RKN7D>n!c7}bT^z&wqu*!%d3?bpN*Vu>j+vd zc_40tI6dw4&`^&nGCi(I(z`U)P!B3wcIe&g-<&R(h)2ihM)!{9AnyuDil2J>o>T6d z(A|gmlqKM9NG$7tyB3A&FCY?!8YO~Ey3m1wzxuJPn_OvE6>SmJX=cqc(14BxR#+$) zBTt+ZI-7hvYs$J#=kz{RsagglXuDDvJPX}+yGpgHs}+B6(3*3@fA9rt)E6A#32e_m z_&iicW-4xr*35s7Vk4oWPyO!B7N;62kQKuqeLl{)aTsPy+yQ(f_Bor zhOX%j!y-96`INyzKO2IAH}sr;IK%VEfn&(rD|b8bmmz0`d~m6%-#(7otd2bWZ5)R= z{}@dLd$})C>e%Nnglxxqvt1T(GdntBmV;^c!g2cxT(!C;=T4N^XX3oXjLI@#MMTBV z0|VZxj+FL?zk$O zbzqzWlW%$K_|JxLC;uy5NT$irbKE$=0vB>`~#Ej}HG# zAQJBbvpK0BcEr^3)@eCPyf{O@lRhq^e8E=8^q6<(@0}+p@po@5N-Xn}Dq9=+%4cB8 zrrm1YyzLxkM2(QIdjO0)xcisy@Iw9#nbdI;rcu^&`>*N4v;@gd$; z0&0Ak1yzH`cNQlhCT=}$AKkrpYV4mS&>#L7BZ0?_CpEt(xLh6OV~7qfzsUz}+QMi| zQV_o^IlDThUn?#I#uUjMg1rWBk2GzTa?RGy$V^{Z?Us4ZknSFbFaDKuzAIE9;uBpu zh^>$wvan%*r^HV<>m`_q1rW_P|0?}#AV_wwbcD5il>_e=+q~Et<2vwYC=2xuqaW^A zGQv+%&}>4rOaB*4yLptFlyC3j7Tev9SQ^EzSIZSDrkf1xu};25V2x+!sG0+6E()RR5iH zQbW$L@;G`!0$9SLnfsgQ{jV4$=EbTUff+O%C{|;dF?x77*PEvy{8tWNz^I=S@ebNA zZPz;dlSjRO3>Zx)OFtP8OMcC`dGrSm5IL*ZS`uoadSt|VUUU^yxtJfEJfKT)g{kCq zWjY?W>wJA1Hp|OPA@?fItiFmO2?+3%^`ESd*~{ckgAC9miMFA1*-VS53_p50rxXA< z_AMQ!pTywL{J*n`Sl5(iS$jFw)KoMoEn%39?d`hx&5oUaExq<%MWa$BPa2F~$W19q z%a0#@!b0d>%64coGs*<@CkE&=s9&l8zZfYQO&Ir1C=Y4nxPL+K#IQ>rufh4Q|KwI* z{EI)U4nBIdIMGVZY*ap*LweZ`BP_1f{20dL5PffE;%PU2<~)>NO)?9!6h`ZyXO9@t zm%|AoQW zH-mP&9C%lbx^5Jgb%L+@L!Wug%*Q#YVOIpou7?(ytCkfuoHSkuKm$FF@h9KlNM??4 z*eWXBvWzBsbpO*3kiqBKdq%xAt15##2s7PLr7uu)3a7{Y5{binrW7uX!%#3*bBId{ zMhyDQV^W^?sMO`@8e1dmwtylk0&Vs0U>50xN{Z+>{CN{B^qqYE6USf|-{7vf!2DN) z-sYhG>s~&6=U(-w`Z*NO;n>*O+mYr8o@amEi4CA8nsGZiIy?0AuIm<7#2TpH%Iz`y z%w6%U4R6|21Ssrc?=>n95J>@;zEH7%jd%xQ6pBE>3nQ=NQfn0~u^Bc@ML)dqOT6le zfb;^_MFVVYACOCwih-e!nn6)sZ@J1C+HKafaz{t8Q%8#7UiAs!)4AM(?6{MfvI<-H zADz9%^A0-{HTV3tn~lPsN39#94Hf=G)?B#Me+qjMRU+QUWJs z9fD>o&ID)=71!MN6xDSp{Wax&+;k?n*d?Z;&0mO7yd6&+i;Z8s;1WHT(g=o88>Pqv zG~KDI+ERI-j^1D}!L@nE@A_fw^a`DCBvLnb!)2IfXo!T7;Ll0J=Z!!$+zGHO2+g_a zZ0uS#E%MN7@<%B8s~#tg&?&HU*H(8fq|1M{$n%!O&oQV$S&uW=G=M^R-<3@$kG$0F z?jTs_vjT>l?h%gr>vPWs&i$Z|So0BvqUDpx-09J$ z(1aNqQ&i+DRKY}F9%040UHyq=9>+gW>2ZjCSCwuz1)CUIKSFCMo#7>G`lM=FmsCNR zP@F#)r_b#oclNZ*H6!aQ8-CAsIs)=9zO2FH@4il?Fz%QjHp8jp2lL`U<&N^Hmy)(ETn` zXgTq>M`Rcg4!%5{yeeXz(}|zby6`d?dsqY7WL)Hs=y7;aY5yOVezAKeWOpX_dO!DO zG|tMm&#WBihZ4WOWQFA*+Z0JtTeyJ1Fu2&@BW+273V+x98H!~nFi;ztX9*aEKK%**8;HoSkLLG#sHV*4DHLx6eiX_r3LvPe)ZA4-% z^Tx^g+eI^-+1{Ol)VZcYWdEPW$lM{WB}a~?oLQx0Z|Mo zNQmpDzh!6!_O%4(h7CX=AFCA7Dp4cxl{3n!>HyGvKyMBRwc^Xe64yJ+$X{7MYuXWe z+|(DG0PS>27UrQ8zSo}pxHSJw4K znfxNUuQy%>OAVS#SxCS5Pa*g?q(y4)0)J&y$i6mb;WL+BD@PhSoVPN98x?;V2pP_x zCzd#fYkCvycP5G0{d7d@P@| zH3&xwLtwWkhI0=H*&}FyE0=VO|-0H zasH+GwBUFvdEH7WT^!^x_ivfk^rqSMRsE%r7q5lev)X*=bvqXSbxt|2Gexg3@ANRP z!Q#ay?}d7{)PHa}2pOS_f;RR_(TNj8Xf>0rQZOo3LE-n^p(Im32MZPZ&EET_3Af6U z>xWRndCI`;`;85d``K5v1@8pmz;J&F>+jaxy>C0_G#{o$JUhpj_E0Ya;9y(0jFpBX zF)it*#vfg*=-B7v+kk>rR;kyK1-N;1qj*dEw_WlH-OT)GYlVONre*5|rvEy~Wf;Iz zB@Y?Lq_eb8(kNxxH!AF?eD9NQU(D%G)Yxvz2;EV$mv?leS#2Jo9KXuW4!U$2pJTB= zJKv~}PWRF5JSxGSZlt>C%Yz-c8wBH~aJS=PX8ycUyzc5-cHp7;ryMzNU8Nzd>T9j~ zLLmN2d9#TpsFW1K@Su2Yb}*zvYOT-8C5er9j-}nwN@${h1OL=RFcw>$3phVo`%uNs z{I=s$KBsUdo#UT336G=0^YA zxVZ;(qRMNw*0LKBne%W*pp>KpRlf^yb zA8nSfK8EGNjL;^&An0bBPY2X03#G>bfXgC*IWBELlHiZRED3 ze1R^`{g%k@EEhZLGG#zKarD_3nLtrxyZ`-p{CkeKY#v2GB-E}MHgwZN$4%d|e0`M> zyxi9Yv)tbZp0jRbXyaP&K}v*iRsjIXrKGOJu+;5@AA<|ci$B8NJ!TaLT;fhx(N3ay z8iJUeN!hFo9X7P{nwb-f+Bp_m_2w=aKSv6?I1^ox7E=D)d;u(L$x=n{q*p(&V4&QppYL6asPnma3-pOIB5#-y*>fg1pRjkp=Spgwi4?2p z;{B2U)9ruZ^%g&zac7El%+_Vn@#(LhumvopT-4g-!B8Wzy?v?*4^yOF6`sMjvkU3rYfla}*);3wX=M$By z6xz7?Y^pRgqs>>6H=nEbBCkRS-8%t!xuaXkFLy)du9vh;+M{);-dHkjdzqVke(sD8 z^^93nM=j$UvOXb}GJ-3O5x~l6@v)MIbBTS6fy=7MfnXy1(LMn$FFrMM-rs8NmjJU| zdg`?@Pbd!}gb1nWXneg$E^mzhy{Y;3|$C039Y^w1-` zSlE{HoAOOf2#%b`W{Hq2x0=YK$G8u@>k_&?V1>6HjzYJaF`rrk4qi|Ek7>}+74Ybu zL9y({6)yhmwmWYsiOw{Y5lM{pgY~)4c!B|}F~_6AXeQn`Opcg*7e-aa$jc*k>6Jcp ziSGK{=FOZYN&u zdOjr=-V|OZN~$I6<;`&Z4Dgo1eX;90SScn@R))^ilo6bx+c~~FYaFX6Z7>~fYhKx( zq5q#C3)*b)5b@wJ2f$wT1i6vsFUUsIfcTqG|F_-Q!@x16;|AC- zoywkcl&O0%$5dPjg=M&WZuj#lH*Ct36YlY!|nHi8g6J}}n(kpcO z6Lw@(F$5N#`m$hk64kOHBJ|bBS|&)|i6L+hC!IgQgu+fKovS8|BRClRGs<2mE*A1u zDK|%7okk2cudbBWT~-8&gyVucdg(eU121FsrkI0`i8LTke01wfTC$1J!|k|FGMUbh zW#!WuFn^%8yP8SmI~QzmMssx*CBcANWWBfTjn9Ds-H2oB`ap7;{=8FwDx z%~B2(3me6`mm;4}%q>%}pXF{{0Lok;Bro;wc9DdZs4=>i>7YEi678Zn-29-5C#8Rd zT&Y&7TTg)Qkco_B=`fKyy8+E4d5cKc0@K-nc#mW5%7^;Q<#BGgmSOs1uD{|_`ePhb zT+R)`jy+OYT>?6t+W}G9@#nK>{<}MJ!zYVJiiKr==h9y*-IW#<>2zqcLT;6B=Un{* z%{qs&?!vKtH_xz0%lznJ>4bx#?#Gb@SUD8R{#5ra(^p*4NzT2c6p205q#{q%Mq9@k z`6V?z)y`n%Ej*d2^w*?$O00;vQNdP}c zizjf^*gm#1C(C$wIGNC(;uiY5uj@eA{?>LowS@O$*sHip&woGh1R=_@7aewVE6ns1 zHW$lL8~tMIniUAz@eUld+}a`a7&lIqmj%4yn>5fVr90|NiTBID*i$SjNnDp-c8BpW z;L8Or<9opdhMrjL?_*O{`(|-WZhevCGe3l3!xR}(sz;Wk?aX)^WLbtgVGQfN1UQZXl*MV8a9jlA%er&Ni zR5@@syf5}zqqCrDO}#3en%+3Ls>5teu333d8E=YyA!TL6b>?cGY!y=BsW{Ga>bOQz zGEEMNY$bF9eH!hOo}e(MfFr>%wiq%(!U}cxG6xAvDB$whNxf~3HGK22)LWwp!m7Tu zhl&uk-py+WJr6BcK3=AQL+@^79){ZSFou|acqWN$n(wn!qtSzEw8fZ;K3J^vvItPb zlsy^ho4%qob>{G(u1~jM*!rNLyxh9Cwxzr&U0bs!+zvkHzX(NKuCGAPt8Nhb(fiZ9 zEgiBAAbvUGrGR5~tsTOSs!Odp{I%s!CI_rPX%1K?^+Hxn{v;yxP3YHsYhvSCiH?Qi z)|qT{y5#ywN0tA^3PwWf#14jXwY(PzIX*Pl2((^J(r+=#8$`8*A& z7cWl7EV`1)YViVmpEpwZ5Zf661FQgLHZD?255IDEecxl;jWD0@asla1+Rr_YEu2k_ zhFuSk#;+1?WB|Pl=6{b>=ZlbL8{Q5Hr`xO~;=P^9h7HT0sc$Z^(oS6&@kfsDTtJ9% zj98vI|D$5z9&m;5?;Bn{ZJPR-=>%f+Rr6HaAS48gA}la z-iy?QhN#3gf~H)JoG|$9KS4wL4{Og8SHqXQx|qlLbO#OG%MBPsQgq*W2EeFIGjM1VRj$%{F%hEuzW9j2Uroo+>M~1h` z*g6)4g-WI-6DtnKs&AqDo2sT^Va`i1U|;XoG5`6HeX28cjOl1wwx9UfWpk_s=;AGC zceLSP-*OC5o+2r-JzLYl?md_IQ<2xVAxnfuXsTL#FXuaeZLOM2b5izrp z%{Xtyj$Vg<*^3IcpT8HW^?RtZVY}a}mo~$%l@z=upxcaL2oagO>RjYmy-LD*DT=Em zD8Kr>;;qmlyDQKFL8J~$=X8t$pcW{F18VQQ#Pev+4WXd-MSmvO#H?=(d?9^dHVAPf zgoy^PwXJVSA8vmQu8z(+``3uNxfpYz&-(P6e`{;rrug$FX5!Itku&bpK?YC`c?4NU zKs(Hl=h1hBzA97{_;yJlw8=rMJ-r6vp?}4o5v;S{%dg_aC!$+Vxm&$nw0s#>@D&t5 zT5T2ABW^f+(x_HZ_XaKj=U(K0*3h&!+LzX!vV4MVaGKVPpfmP2Ym71uxg+>KDk)?U ze%F-Szn!(h!%(_a?me%`(s`O50yCh%rxzm5; z%#hT1YT;4_W0>%a!O(2%1Pc1sykubOGXYL9%X}Lu?DQY!-T_%(qe!2Dz6I|)BC%ES z2ZZUtUYyHTD4_y$xO|hiWkn|LVOmeUNhjd2|L5|dW6uIV{8NKG&Stbm%)G4+!Y<-5YZD8UM}h@J-6YQ|5Sfq#A|7Oz0frk zkr}c&0O#BDbFY{KDiBR|^GrB%IH0N@<@v+DrhAlXmYWMF6zo1P&rMXVtB4RD?gWJa zawDe5^~)vi6@bFT|1^uSK}6@Jsb13{VWO#b7>l(ai=u|3;qT8MAZ+~LyM2GHrc+gW z5C6sCH_?b0(4je8@f<*~NYD;)Vh8~t-GSto!zoKMH1?`K5#*J%szEto_wuc!{&W! zS&H5=u_UcOlf#e^0aA24QW*Iq>4~uA7H9xziPUnIjy~n1380+r`1uu{-(*=B)kmzg z6{i13h{0cL*b@l96H})dWW<*w@;u_UFF(8K6(wcc6L%|Oij(ed%U-PM=R29E|3}ez z$5Z*gf817tBwL73WQXjO(Z?2!W3OX$j?C;$vJR4rW5>5}mc930hm&yZk#UrB?7e?} z|K0!JkNf?&-`DkeJ)fc9j5e|XUvj_XRMJ!#d0ZjyS&%b?16U=d{t}%wx~wyQ6sW%Q zOoCYZ>{v4ogqv>X&nTaWs&FH4EXbvR(+a5v-^EHdD4iK5h2H2zCSTTGvnf`Vi9GPt zK#*n0Se>SQ9}%*Xw%=^F`DMP);ri-1&xKRVCUbeyi!hOkn480o8@w*#J{zA}aZCy8 zkKXn%Nz3+Qs%gF0lTIc=@9KV%Kk9GUuyB56)E0*Gkjaf2wQs819)y$v{-|_McF1UA5 z&(J>wa_<07Xyn?@4^HV5nHoxGnq)I3MGhOcF5Ix7WP5$o%#V3qNK|UryrRh9trm2$ zyPUN!VqGrZF2BRwKh2h~OnUe^!O@BBV8S(=V3Mr(2D z)jo))q#kAiwuXdsf!!?9l!GZ6Eq!F9#>adW_Bm+ly#fXUb`ZCc1vip*;T1^+g$wa2 zIn}___1x;6qnLpMELxt`0Hn+_gIO=_nB0^<`6ul`XS-v?OUQwc_?5&G(U~H}wNNJu z<<#>&)D8k32HUbPU>7Rl5MRfC^6dymEhvwdNdvt7!1*dckuni96(iXB3>n6C(Ukn2 z#>@IH(ivuJnE@E)V!-{7Ql;grHaT5-mHKfYbe)v1P#LP{eE((|d>G&`==>s?JN>%g zcm8>U&`zepWTC7(1dE6#Kl;& zteo%G1G}TWoad4HMW7*jN@)KpO<6xfQEzo=c<&uZ=)E#pD4B{|ok(?4BkV48MTj%! z4)2aIR8Ez!Mm4<-@l`GBbeH)HXUgG%L?R1Cl-5q4cgA)eM1hwNG-M3!*Aj#|{z;c= zEActiEh$A$EBU_?tb-(lrXiM9_p`IYYa&dWx+8czf&Nn7&>+%-+6AW_Iu+KFr-qzi zwd5N;8g1Mh<=$*)Qp-b3+THdrqJ)!6{`ms4^ck;Wsjy=eQ6Tkndcu8!gxfBENy@+3 z<>uUDJO4)U=3qiGr{R`n;D6#(aCuhf>uvB0cM;cslR#O)IQS$m_f-X|9x+dY8h zt2Wp+R^|8(e1;h&%BfQ)vDwm#%*`4DHcn$h0GGOU8oT&Syh4i{%3buNgqNj4#jR)z zW|c*7Q5^^>6AuT-ZfoOxjGaGT>Qkj8+hY({*sblrjb^iDVG=@X!tUSkB{EMkt_dZ# z7R(}7%IMQN)6*&_p)*U#N6oG6A!jj%U(q?L`?yl~BOVSK-A0q>DZdJ* zO_hm2F}`5h>>6Gl&P<&K-`yXfaAI|q|91x6_A@wN7s|D8VJ$eEDF^~PxrCk(Rf4_c zBQXb`90J7$;?>6vF4TQCFD~&;g^bk*oBQtk5=@Z>+^0#|!FBM`>{Kp}>*Fs0k)dq% zKe>0;D)VP1xqB};e6I)!mF#K%REXNF=;SRAnZl@pJcWrzQ31A-(Pbmq6q^zoCD`0F z<#5#sXQw&2f!xI8LJ_N_w*y($I~^gKaV7m0h@DaV9f#^{z`M*!BWID@sO!+1@P89+ zV9(oA5nsNz60Q{-@N_R2YF?x@K)&2r*GKNW);S!b!2pR`y#Kshm`o(#MFWth^k*e3 z+N1oK!bkkI=tqJk3o(qv9?ms8*>PaCMzL=vGY*eX%8>SC zIez<@p~Tb&OzN=P@H;wle5=VhZ(hkjT5RGT@!yX+_BQse*f&@lHQ23|Bq*S#b_2Sv zr?SPf<7g(Mg5O^nI^Im4_xj>nuF9+1wjng2(ce1!K~HQnPP&pxbSC2E>I6vNVh^ld zilVpv-A|k2c)mlj!3~U`TAJRoPISi^nOA&`H)WCtmaByBd2oUR^LGN~#P*Q%*&YJ2 ztQRgnwSqpUrIw^TqH@LLqwV^j99m3;xpA_@uBW^Var?fy?YX`)){(l11t(Pq#+-0& ze#Tc;q+K6LUW&Fe+~VZY8F!t4yS;f_dxO0YF+I-l!{CMPGr75v(fa-~o1;`B;s>g5Kqo^b5#5vJSgQ;*62vD6Xd9J%prhUr=C zJVj`u&L#_@t`=&#_Fu1udsy&D97|q=&#wSyFy|2;#0@Q2YTD-VWJzqfvHd7_LFAga zUa~mT6WqRZbR6Ciq3rB0FXNw(uB$3)Zy%ozj(F_=8%`T*wktP(1f0Tp8ZKQ-aeUyv zx}*)sKc!}F^27bE&UouqrRjK5pQ7Y%^t3xu6i(Wv-1D7>`J(m~0lU3Eq;A&3?g?Hv zsR30xE12`#H<&0FslNW&m8SPIeGQIpb)#UgQIqQ{Y7%~-CtA=Vj3Z|s@;_my2G%2a`l&5`Enj&b3HWv=FZDI zDWZ#)5?M<0>4|ZUGx&}gLd<0BVUM!^{xtD05)_hOZS=p`ck!dH}89sQG(8XS#+`3AyzQ z6Sm&?GvZF1r~#)Qn%PvXJ=3a>`7f>V+12j7fuRx}0@=>l;!f?wKu!pz%ztuaRb`!L zOXcsIo5g>#c zG{lYHSh|1$B`|&oiV9<@lH&q6QTNxX%;>DvR~0lZ&4m21_Yd{`_v~cdZBfyM&`Os6 zQqSiKz)@hOi7G7_(l+bBFpPzvb(5yiglQ(!5BLl`V>aaS5BoyPJ^cZraO!qF5V zBmVRD?K@gmnC_FXjz5Qe&c`(GI_$mvuI-DK)a_YD|r@ST+8SipLozPtI-%Pllm| z7(eh=sLL!PJ(*FJH*@bC0p-=;exBgNmO~ofsIq_Noi_a-qQW1sfgV6-iA2PBh(s-X zME-wuXAGxb7!+#7=-0}%Xso>M&n0FB(+iHzj8)SuQyy^U8Uf)C2Ze^7!5_|P7l=*9 z9aO!&IUuzbdl6*;5y-DBgJ}2|Yuta#Dj0^$@3&7cjLK6zm>RuKB#x+*gtru)$SjB9 zt5c<;9>0u!zgJ6_>q4m;VlwG0$b>q*n(8e3NBiQ}>Y%%vFfg?h<6-WAfGi=4IP7q+ zb-C(~|9Uy*zboS{%GM8Lv`q{@h&l4%Tt2_)#Wdq2Kved-Wt_As5<^#kGBdQ8 zyAR_!1sr-C)BKxn>Q35s2_A^)bTXB7G)QUVU%PJ*8#hV+%J+w-1pBV%%Ru(l%}*s$ zIn=Zg{Tok9vod(dBH7)m;yx_lx_!P?_g)U<*jkWUd`!?|XeHD9)jtLqhAvHmvg}!n z$p`qq`eNT+Z5I;K(3KLUaL6DEc+3{N&0(G~m{Rk-NV%2<8<6S&tw&=)W6q2YV3U4#vzm2=bjd1k zwBcoHz7a`|G3Z#Xe3Jz3JU`RGuWc3IGX!pckm!^*TS_XH0v6#UxP)_&99P>W66|lQ zb#=!|yKQ|N&@GuD&&lc}w7mY}OUn5#CK1Jb5!jXB16l)G@tHO0a~+DR$}&3V^dPmZ z33ff?0&1`{|8|+=XexrU8Qnks3h+E(+K7iz2MbT=BqwqJ{!Ll6E&diT=VO|nfL)Zi zTC*V|O!a`BQ>RLt-qyw;xclmjp?`j>b)=QQ7EebN&KmPIzZR8dH%%wKcauJC_3o~vN9)r_etV{u@pN}ZyD^>2cUmUs=SeS_=hcdJko{IZ7Pc?GO zQ!iJ_Q$a&W18aajxhXs?5g%;EwqX;ZCon{P-qIa(0HPW7p3^{u9G;qXF zSXzP7Jok%Le9UT&2d!eP)&lM2MAA6qBlqw|cdv;z7ikMO=R8>Dqfs%HL(MZwsVZq3 zUvH{>7NM2o=)ecJ)k8Hl`NyM-e~*GOAwgt~u#rRkPg}xSLQ6*^Qux}REE$A*R<`_4 zGZg<=IGerrsVy>M;xanD&(Mr=HL$I<)EeFSn_IgHuWMsA!Cu)Jh)ttMvKLb#o+_jM zhNhHP>AI}|K2A8a4jy0u{T9k0;Ha?0EQT7V*-FCGxq(kM0gXd|?@jnzreQ_y#dPYO zzVy$Ry>nbxrB7R98J%A1f{;`?XVd!yxv>lePw>i0?P6%!>?`L&P)+`P`C^PVMjgi=@q>|pJB`k^p3nQPbYc+ygvkKf zPUtm3@?NCrkzb{z?Jr4I1x(}R)%c}FrU934*qu8=mEtt(hW%WJ;p}04dw=B4a9E&p)0bB$`viE`w(=zx{zM*?*~<1Y`n5nI`v?E(Wk3lO({DEFZ`pn~sgPLi61yW(8-hC!lV-4pKX|Hdy!i~f74xC zg{l9{M1uc}_8?_cHW*q4uAy$b465r)e&HuPAp`NX+fGO7#jxP2#+OO?hU~`Au7eUH zeJd&v8fNW78U?LwD%2rKqh{`qXn38o-=>V$X{8cE&9*SA?Xb9S{HJ$&mtas+n7ilg z82{qNKoxOXk;Xc+UH&(Z^x#{IxRTj5ry%$xkHOQo_u4taMv9p3Q^E!@=^s$Fb<+GC z$M^mMRXcKmCMMGiM91tVlb4uiJw_~YI2$aRBXWCJ|7#^hx= z0_>`@#UpATa9^shNlj&sM(WO#nvPkuf0r-6u$$bQi+Kw{QS3Q?QUDjZF)P3YwLXEj z(AmlRuqg&A5waIORtER=#;nYE2b_AVzS>UiawM7prV8RV*XB|hxigh&OFLvseRf>pdkVa|`X4gxEpfMDDboh{=Zh*}7g| zSG*%-pz7zpeH{n-EM(d7rer>1y65m*W|Cdtk|Zp|v1(-f{ad6=Maiam79rb^52p(p z=Z}@$1Rx(FzlXIwf4KW7=OTJ3xUTLLdvc7-sc8%i^GVUuwO7K7<<5bE< zeDN=1mv5rrSlDyF@);pRhKhXW!D_PBS?Io{kd9LjToh5eZ|S%$IqgV`O*L1a8$}k! zjZ87JDowrC=y;p##)mnLd;}fxqCnjP4L}=;G-517zk!&tA{D zojjX%EUraWzUx^jG830};#}ncW5%9kt~xb)Tz&PJ&#}E8u@%{hTG0+nWyS_{c@SM> zX&r(c$^B5uDGVLh`L_;dWXrD@7%WHH=PhalMLwB*6(9nl>lG5O^x$T|L)s< zMwh=?i$Y7>$+7HJIG>B++mp$@!+Z(R+XoIxMZeFCZXFF%$G07*^YR_V^uwW9bIXo%3(`6Lwe>DnU9q=rNfag~ z(MLz@o#g=h+CUba5;Z=89p(2{eJS|9-Hd!8wZi1)J;ei%RFOR^;g!R9W;&MaTj|et z9%$x?cFvb6M@R^QHb0im-<>cf40Wa- z^IbUJl5>Y|_{HnDYuhjaxZ*Vh3hhBV6sI|liJKO82QXHqniXP|PILyui1yo{+e-*GQ<%ajiK zrfklZ%gMelg7Dc#HfllKH&vxz2hF}b$hxlwWQ;n|pOR8@J z3#86RX2tj!zlyBn_6zJ?qeHW6cq(j?={xJ&o=vcnRQE=c+ex2Xi`R)3HhfGaETgj^ zZG?WxhmK8I!*9_T^~lpj{@Ezjm|shVJ1ejS-k4EUvGuI_a(a)*{4F*J0Z*M_^K@4Q zFpWa>3T1pgY9pC5yT`*a1$_oLSgX`nuN!b?R>|~eZQ?)g&quC5Xvv6;Y#t+ts6U_g}*&j~FBQbj$E_O1c%*07x)kyj3 zj_L{V25@|(dP;S1MMYHEeL`lS^JMkyXYds$$QdG&(dfwA&)|e2_oK2zomx51v)bvQ zIeRkFU{=MUETFwaIweP(X7KhS=j+O!%(I%#&QZ()iBw^R*5?n#Hy2mC51QpGUQ@Oa ziY3L13TF?v9QM++ke9+g<-7vC2mTHSfpAmmBo@&61xV!9^DO@T zHm-$5TP$YbThEt^maH1s~M|rOr2#$N9!w14asJ$Y0tJ@^{T8+0%1LLmalngVH8Lu`*rJ@9RwW zopqo54nfrOYH`sk{-;^D$6HzEAnH47&UhJ-eSRxExCNijmK^scinoM@i!^U@-p^_F zEl-lk+(@tjPJDiZ*vKrAU@3W7@TTkj&fv-|;wWbNlcN^c(>#i= zlMrSQtDD`H=OEaS7fsw;`~3fvdFfj5N_u66)#X7hmMT|m1?HpDRvHI-a8d)75vKlt zox8D{%3|iNP9VW1?8h5#aqoqeqn3+kn2*n`6|8UZ$V* z+-rkBqa1E^A;?7q;#%ms>8;Kv{W5|BsTtij^^|d9QX5;Ll*Fr|JQWrZ%q&qvy}e*_X~b!W-vWA6xTU{bDu0;V<85xJB1~@E^-mlx^cS z-RBxtQgIAomwze0|F6z8_mzktgN*Y&v5_4Q@%{xdc)tO4bi zdQF!qio6R4QC0@68HtKihuV2u3}FA7W+*Tv-HOmGdE6kYmPX}ycx7HhwhVwkezL9~ zr^n`T5*1Lco|V+=VeO{uJk8$PydA@arGr-)%J921t6ZHl421J@h76%p98VZ;c8gEy z2;1)St?lK@6j43oY=uHxyC%cAb&qgL{4PT?vQfRRbPGY^P$@ES6mWt};T!dM<(1n0 z`Qb`-ZiJO|wGQ8Dlt5*LEudDV0Qb$`gY^e+R8rypA5Uw0xcq;$^ z_pA&x!rv^^sC^(%XwP$Q?#7#IQMSgRM0oiu4Pz`sq+*A+nKqhPBXs&W+5q+Q$4+i7 zzU-9^YZMa*GFr}t--B-$@~!Zo0DFdI(#@a!y>T3&WYg@GF-OFL?2ddixb4@wS~!sP zk+f5(GGj{i{vT7((tMV)YsG?y1gk)UXc$7lcwEfWWRT`yoAtuazj5_{wtxQr16z4- z5U@EYI}_VHvkmX>$Wp50)_?I}_`ASTcgBWS6wKp=Yo7&aj{a%vnVoQlm#%wQSp|OZ z?(X@^w7u7?;{3;zZ!6JR$;b!o@N@iGb#z45JvFCS6Ut=+1_NE%jZeJ=^R=o#hFT-7 zq#;042KtMl_f#fHVL;q(EH{q)+?*6)=$NS9{BAP}uv$#52!j&j?s``qI^Lp^#1M~q zWUw6`plI=ys}JH!tQUVnVa;32hu@~Im_}|ROuSvj_6+8vk6Jx&;2a@+&AE^no21^` z8M2Pp46ab?!@(v-*7nokYVhWI^$GUH;>8uZzPV2Z9kyBN zGum1GZ*VeOz9@HGNpWR9&k6*!v_A~sF~^akCV>5aL;2(&b^`*V1g(xRIMwpt?x3rN z!?7Ca{eFkFhZIJR$*yJeQaSZB(>p+0+{2nS^CA!ky?M}UsNp8zvo^?iJCF zKlawK;sRD4gg=^VsxIBkH`ceD^=#Td4C|!e>djdH?(=fK@W>A0^Mz@zYZuETRacT4 zvDxF)2}!Duy{9lB=5gVqs7SdjQuxysbpC4Ko=2Z0_AgDG0SoliFp@xrQ#l2@2lh$B z4Xo%o?s}7sV!*ev7IGBB3QX>+%+OccR;yfQm=d}A{=M%MtjXFFW5biD0^-zqQ=QW) zkH~B7*@UEu2~0F!C$)d7o*F`?peTOtt@c1!8<5Abd_mJiR?gyS&q|x;y3Kp)ZS;n{ ztfJ76IYs_(kJ5jQIQK?%@3QW=&u-qE2}rlO@be@llx?yX-cLdy__nY0>k>5jx9)Yj z$W>bAb@;^@a`j4O_v%D(M?MHIuXS>}^k?u_Nq7S*+4Gcz)1=sL-ksx6DJr zPiiFEG4U*lvk<>wSa`km!H4NGo03W-K~E+GP|}N`S@jvjs*+xI-99XlnufmD6pvsp zM6n{T;SXKA-$+AV-A&m6cmxhx9`8g5;n#OQv68V8HI7;88z;l++b^XV<~$N0WGT>o z5_*qpIk*;%oT9d3uQ*zv!aIp-E&yO0>UQ#2oK@a=8YjVo`YPM};fG|?lVky8xqd{+ z(9qCi5HYZkOlEg4NdI;I-|V@&VS$r5Mt1cxQ{2$lNAaJqItI_D7=fJ%c2q}a2aU%f ziT*yGj2OlKh}~0F!5M^Cnf|Q|9?aV?O?7oQHcL@x7Tr&(0N%oS&H6FL;l$M<>Ss zYXJTg^7^w2?JZp#%v{=(aG3&GJUy4&-l~RP%9|e#w<+B{fwYu7SSlHwKKIa#kpDBt ztnz_a2VnELS<8D_Tbc1vddFE=% zMLcRMJ7CXY&hgC!$<_U90qbO{V}zznkF(bOV(0TRuu^IRhqz-*n_M&Vcr(9T;QZ*TWwXI{za9 zl9qgDFu>2osF=Q|15BD5i1{YWK9%%#NJGgPs7Ov%v5`COoTFLSbS|QnnN(KO{BCxQ zJ%SvLTB@{;-7(hLd-qyc*YB>_)V`BsCihV%@?g@a_s$aDZ$#9(Zuk@D4M^p}0s~?$ z$WZx1K(LP!MjFFCL^rR~*FAb_%?aq!`BPuD;~(7~dPXn3!8F;d8Pat{E#2(xNI2oP z>wjl|Q6@Z>PEiSD5Fd^Qq?M>GoEAzW*~>DY*X|j;WoV2)v*sOxQ(kJ;)FuUgcU39m z(d`RRrk?!!5CbkU^_6uuWw)}3aFdw&Is;W8-Y((<(A#xlie~azGLbD21AojPA;i9> z8|92KOQU^xuck^b3JyR|q8!8+KZjLa5om|8OggF#ofC0a{o?;N214Xo_`KBG<`&NK zml~JGl=WG+hG6n>+{JSn%VZ39#eBiK*K6N_fE3ejskyr5J{p~ye|(${HE2rvf`UeL zPmk4If_xs;(l)_$*X{GlTcJ#4-;1p)p=G&4WdWrwbz|lw=Rs|R83*HTL{Qr+q|9)f ztfY*ThjeMAMI?a)_l^lU*-OQ~-rt;C4lI>2Zk6p%EE z(@U?lb?ib)HpUB8Eg0`l7O+;(gJRCv9d8D2RBn?tQ!U3b;!93`^E^w9sze+cm!q_> zkWst4d@XZDoU;karceD8r$he)?XXgrTHMb*uA=Hn;wtY}gUT zMb{RmE9fXDyo_oE{L-(vYH@L-2@>oY&M*%oB~aQ=Tl;lTCrF-m ztQGfj`0f$cwkrGB6i`W8A8*UP)Bz^x*28U3D?j^(0gK|kh=(=wkTBP(;A06zBuA3V zr+>K@58TY|rzmyc3vk>nGdhW|^H-c1;N1jo zlg~JRnx+!wKaM^BW}Fi0Nl)x&WA!SCAmP@9p!P!ONkxFLzCBAGgf$5v#~N(EVP5h% zc-mASWv-z|szqmy-PHS4cD`>}U^Ue-OSYjJ_HX8fp$+YYg5>8%1p6)>JPGPz%D2M) zT6(u{{?q1rCX7C0r(@I<1<()eQ(u1P6l$0kmd}0tfE*ycQb{r-LZo&6FaZTL_CXsd9PN?{;KaKb-51af=y|`1gPWp`q5QT#@V{}Q%g^i;vs;clM>4gOm zNeLN&->O-V>NQ=HWD_nFPpLp___GOc>usE>ETh#hN-eer;b7L+LTmHZ>d);3%dEdV z@Jz%&v%c?hOGNB%@@3lJ{E~~a>gTpIX3y9qiziDI%m}LoMvk(saw3K^7M`VUl#UMe zo0a?s+D#nCt6Er@iKQN5Iqd@mf{qYJ^dy-(aX(R1q?m=vK4AMU%%wlg7HU^3a!_OV z7*8-xAS3EfM?JZ#$VF z$2#Hhd@S%C>I2u85h&SAne9U0HO%Zs(Pc;Q+9WqASMw_SmVy-LT$kyS@CH7@fq@yr zSL1XmW$<5&&NumGdAM3kVHFfm+#lwQop$+x@TEuX z8=%UWY^{#jVBYBkC3eS(JfW6Q6FbUUGVkOh>W?%0o$HK^UGJ=ehi}uPMOUkdY?@)=gk4CE#Y>^ zm+#Cy{I7T7rPlogrcM8cqd6m$y|{HrEu;wj2DXPqHTqvP(R7Y>lK`P<8lhSf^7n6-ne^?CCoB91hhCrJGO-ax2ESs%H~V>L+tW3JT%1_I=(jUibHrJrA2# z08oM=G3B9?GZ#s2yEC@?jTbO$eT2({Cl>l0|2~+{#ce>g02#FvNSehm2%@<~V z+9hYv4$wR#rr7XT3hw^ti{^3L7)+?e6CQzSrXCtf8${p!*u{t(YT#}fL;}VMw&7Bv zdNg$zdK;cAlI8WZIHk{vpTLo*Iu6jOk6t7r+ul$=^@L*g2iXo|^19`E2vCY$@#1fM z+5J&~QICW2214KC#CzZX6Q3^7?~_GH#L6I$bYJ&OMLaVoOH24VM2cHGk+mtFp$B`Y zeU^`YSI6-hs*{sbSSa0TWGN!97N?8Rt+A9#6>9`6OfujtN|$Xo?v{23Z9zsCZ|}I_ zm*xdk7mDFG(Z?67_wd~Dz56r|R{!(78UNZJ=%C0!n1@HaMA+rNTq}VTO;Dbi%rbvt zV&0Eu?Dw}S;5O*k#?AFBnL8v$-1eNZeOu1NucLmk_sNv!Ee(uT?-B$vH}Xof=w0Z@ z(Ly6!!zD=~cKEfIZzkiBp+a_Da55jUbW#ow*%TN+1|CjxDnWzzn>%5b=~)Wl9*k2zEiI18 ze~$N4MYN~Vsca;wdQ>+z`WpyU1|8IZh3KQ1e%FnL|M~mR7xXimhdxPyYCqm<#OBqK zd>mb=HUFf!y$r9aKe`u5<>Nq<&!|P_HTa@k>w^z+{(rtVS?+aowLPD9aq@gxI@o1H zlk5P5%*!=32OtAo$ckPIGB)3*&6>(~CU^VT05y6eN|1h6I(!FQ>=5HyZPPj$w8yE( zl`_`Gn~NXxbnj_^HecYg_0Y;B%$x9cRBkJ39~6663UH8N0Iie5VV=yfXkrsItPPkJ zzUOpYeU+EJPm{_xgB58fqeA&17V7ZvB7c0#%r+6JpcD9rvQA_Mk| z_ial9r@2Y}I*vQ%Tg<)$a+4gH{`ei9ryOWZ9%JQqLiSX$`)O={J=X*>?*{IVHWqOF zTli9X|7%J*nlC9U7t^GYEDR_zgxK%jE&AkAhcNn{F3eb9 zbbi14v)R?F493vH$z%+EP=b0vD6a<5?gufkq6x3zwWXe6S3GKIG8?5xtlm9bTS?4k z^&j6PS)%EKQ@1h&An#Ja&ZqZs8$X#=MNd0X#OvyP-~N=~TG4){)ihMfU9Es%E#Ow? zC}8yK4VtFg1mbJQl&na(r1AlV`4S%M#8)4iX#%$XYvbKMCxbumf7D5g+zF~|#ZU{Q zzDNiD0jgd!d6u4Bnwa91{$)Z#tKa3+@z&K`xTP69fjv#=cd z|FLo_SXVc#rG2km1;e{{Vv(wR|-Ona9r4F`Na{-qu@gbzHg)As=OpQJ6?kfzfZn;0}Y?*}yfU;_N`w zzj+M8cI-y`5c$Vq$7^dr)Zhl`=Kt5cVfb|VPk>*1pzHz2&b!l1w=}9McXQweKT9QM zyq_NM13XIBhcqdNsf!6x{!#*-6fqr$B1y$dN?f4HC{Hep7&kBT1D(8L^Ni@*7R-#6(L%%2IW0$D6%`8{|3@?0Un zdFY)FIKW7&4bhvJp`<1*tReb6O8#M~fTq$8%Nh6i=e>T~uw9zVRZ6qzMB=3*B`lDA zSu=>&UD59FK3HJ%JI9G3?yU@hxs=h3U?>1~i?X;S;L7?n&vtV-2UZ}T)kq__kg_(8 z$h)UxGXq5X(JYR=CP6+ahK(7XS zwk=NiNnL+b<*mb=HLw)S;rt%?*QbL|HiD9*Icb5^3OEc={jhuak__xDXy$oq1q#1T zSonXhTdP0IURgo#!BtpPZnDeRBX8&Je4z8_V+kGx6(gla0^6st#2|T$RI3Yb{sI|9 zNT~ED_iR*LF|qIw6luQE7w4y3G=_QVoa}Vxt3 z7aD>eycwC^FuJs5u5!?Eo0^i}^+eV0**UXN)aW)_xgjdF zth|q9_iF*+Z}6Kch~Qhy_HBy&nY7N{+S1Mr45Pq$(i?uG7bHolo>Rq66kZ|dh%i$1EQO?4i70&dm4nSNE2>!_$#sF!*CeH22r2(=eV<~UP# zQ9kQ9FMFIOybRTl&Bz;)R)HK2e0yV7Go&Bp0M<7}qI;oMAHkTi&5-$*DFL@Q6Wu8F$Mo*en|)i<)Y4Z)ZJTGjFi;-+V@n{U0Ot zE6}$CnbX+kxPh#_w14P+@lc|c;)J%w*uiP0SG(GzPLP#f{$Mi^%^@L|9sX`yK}t%| zC*d5&Mi9=EKHuStq(S!u*nN`E!X2acT5rSSGjoi{bl{*7LR^TS6(RuV;CI1Y(K9wMIqW=uM% znj6)pfy&^J|MvM9aM7eAKGEd7k?1?jeFUmDx3M~gXyQK?4o$~z($p9C{3vO;w>V(MI1N88b z_lU$a18Ztec4F%><`h@I-=8%qwSV%=#ly#+ufT=yEZ_)DxhI5pT42REr?84qKjW^y z6*9_BA%27Ad~K5d$OxLqTM1xQ8gWlJ^3(_VqZt%^mXUrkfNc|o6|?pTQ*>}IJ|2p# z-Ht6yB}N2u0hy4`HNE%hvezm0hrmfqpv$nCBi5?*&AVXe;1irbnf$RN{G6yedax@s zYUM|)m9=q3AO2+^ACyX?KK5i5UQ5YOxLDj;e6plw^;o>>x-x3#a>zr)e8SI>0I>4i zx5uo~JlL?;1JJEZ=EDXV_c0@Z=!k6sO@s*GE+&X4hs5s^=j$@ULTulJ;5cwujlqwn zl#cL@{+}t6eGLUVUZ>0>JB?+4=_rtx*&$<65I|2w$YE zIRVcxfC}rwF{)YSt(E4WK{d8n6%GCmy^ z+Q0E+*KTxL$@-NNFHSc??ySUjCJrV6)*j)qtN&QyC9ffY|thkDxu9USQItLU|#uL!dAu{kiwNnefm-`?^Gl zK73a&?rQ;iXmGElI6u3RSRs8Q%v>H9^B+c^vQblBz>WfvQ>pl>zq$gPB!3|lmroeZ zZMYPc=;o)%t;D<|eNezWqEOAUf7^?jwC$t}@Qh?PW57M7nWP6jNTb9A;!lr>u70Q| zs)4+?bMI+w)V4@O?*!aq3|=a^OujkR9}3ww2G| zR$e;nt%R$TG@&?xp2C!!Bo)7SP{KOgeuaKY1iLw`H9bI7z}bM`ZSdwU8V6fU*lla+ zqe`+`!S1&tayMVJ>hIGhr>n!;W5iN3={$y8n94YP0xLn9p$(>CYC@s+5 zBrpcN<_%Pqnoo%ewg}J^2}%b2N&*yiW#?$`H?ds6ziYD{lUYCZN>@8W-PtvKAx((t zDW)2B8~x4QXNQ_eh_3`ff8<5C;44lu9o`gshLIXh7OlTS~OWb-CXb%0cwwTD71f5MsSQmZs&lj`$7Z z@SboJSuUbqcFMo!%vZIC2ckUZ0w)g`wCxb?Jn%SU)*64``gHGlU~&F;$0~D9q<7LB z%E}y%arCln@^-+e+fi&B?EmOm5$o%)KV^7ZBD~Mmttkc&_#wVF?9eUQK zgJtwlSA*q*)HGOl#ayO4bh6605)PjWV`uX5OY$TM^u{p74}PFa@SH14m*z$uVUU&Q zReABn|2=ACb~Q{h`V60C|3kK6C)J2#M5kq4LOnvdIsIS`BO6s%b&w< z&n9g(Y~e;n%lU2)HN7MjCF3M$TW(8RxIl8^sp)8%_q^Sb-oz(H?dHehESgRXWtlFf zA-LArI@Ri>1Q<|3PL-t3P#4FJ{ntbfKT+AdcqtS#81 zrJaxBYA3_`!7Q!Q{t{XT0Zb~KgP`PIu7Z0D&h14BgIJHC%A#acdl!aCq|7;w@M`NR zO|EN))DE8o(KN~b^mekLX-^Hkf=sm=%%~PsBTI4mMi(HE&Z5OPws^H@faKtGz-xe{`_G zY@)|qXZWM35K{D+w$Q4OQ)1{7t75oTD1O^ulGpYnCuj)2D(PJf9#z{v znB1U|$`MH37&oK*^4!m?6dT8)!co={?O1@YC2LQ;I#3Nf8yrwsK(td+5dC6Y=Eo_f z*v}b!=5J(+nMn{p%KjC1;xdl=xc$Ecg|l`qWBqII*D9ML2rFP9JcDggQf*81D(^ z1yJLRX~tIJiHhPLGUvTgm<)I(GkgLps_VOAuDD@E43v7{DB!Ac)o$x`TL&`utr#cQ zdQF!p{uM%-!Slj0gVQeu50~Y!W8M{tT@`xZ+IjN5i)y#gt`Ns5*;pDl_(>~C!JC!` zPL{|13>Yge>S^Z3w>QvHz^Dl>&4GCLz5YLr&cmMy@BiaQC@M+UUQv`8y4fqDZwbY{ z_8zy8bu+Im*&)du@hRNl;)aZS?Y+yr_8wPU;~Lkv#?RyTH=M^gk8|GV^?E*i;j))_ zB!G(eAgVkD;3aTUIozD^DdeZk26<(X35ur8e(;JbD~P-7NAd=3xvY{r8NPgC6;;=N z`YA$H*_B~aC%Rsh)80GILgLh~SiFLze$h1a{1Phb{pmt|_%P(6sd~=bZ&~5P;KT0m zvmtKLNAy9R#?A>|$Tsy^NF=o&VEZw?OBVDj_|A^W*O%%ixox8qr_vws&jBZi7D|AM z&9n>bhIyyu`Ow7#cAxe9ttafJ)fOACVf!lbOY%URfQA^RG!WhyY4-LqadQ$?hPYPB zjC2K(Kbw_D+w7)o+_bCV%^1$f7Jqv!9l4++Mb9s?S=ovW_Z!k5=ugW-OJe5W&U#}N zA?xfp_y8Arn-FN$yBkgI|IRfL<_RS?GZ#uehx{g%CBu0zH^VlWPjhKd_DQ9t#mbM| zXx07cH2#*ZoWlQRkIT;rU@Y+SRV$t{0ea+{*zWViWR15?t(QV@LDj6Ws9Wxle7uL* zxW>S%;Y_;H7RK^#XO&HSsy`=Y;!j1ojXDe)rax=)Pat&?LZ887mw;oS2*Sieut#vn z9Sif7@T?YSd;%x8%N{Y#kVrhTKE}M&y2Qty6qQ`NCJubc9s<~mwqZ^3uyIngUR?Y{6kl~jt{HZj76R3BjGWYdk90t+2Q|i;&RMU# z_;AK)y4&4%XY+OG9m-vW)Vi2(_WPX~ZypVa9al3qRGL+05rZtU9>CpjDQvi2JA7f< z+6zm-XN>`jm>lU|_k)~cS;)~d3J~3Y;W~!d2)si6-KelS(O~%KG!<05ID#rxX zG-RqsU!iMfBMv2`Nvtt@indk~fmv~f?x?@n@PH`TM6Vv@9Hs(gSq{?9!1E zokV%AiIv37T8+3?=69a%)qJqyu!cBVWU*)1Z`;sHmVcfFWCjljF=mtq+aAy8VT8D= z`s1kIjHMP6txU|)BrX}=RuiHw`odV({w*KbbHg^(^9XBYLQwyuB;^A4XiU;uu{Q z>BX4o@pFMMBRFT2#Gk0|4yFJnNYJqt*{SydPY$zNvXd(6y!lr1LSJfQ#%VLYu-Bry zPQt;Ykh|Oc%Dn&3u4qh?hFo4+-gUEf)>KIVRL_h1lJc2yI@vW|H?ysNHqk&-qq?8# z*`k9w5EN==!=WUd$czF+;`jF6zZ}EpFz44Id5&fOQzO<@RXc_Iu~)L+kHV{t^y^}C zo=LE%#yoL5USR_Cqg_yUy)m zw=*%GRIUP}3HQK(*U@@vh_S)$%M7VCJ3ipUbJT3V3LU=RXzHY0bZ(qb%V@~Ow64$i zL`CZ6S-7|XjS4g~G`jeie$5N{johoDg$jtWyPPQ{pSVuUqxi%FHj7@We02f;6WN zGB6FcfQt&J4+jgtr9Yge#cp+6~k`1_rT(xBK6)+K@|aUf3g==T?%nbz{99CR==mT$BzP^>CB#wn9I;}h+>QRLo|It$>fz_Q(q#>M%McY-uK`WNZ1AvPwBNA5_n$%LIum-7(eNfzVo)gUQRTkO!iDoEOLAk@ zZ{3}o)I?czjlB|mp>u3xQ%7FA-&NP|YWL4FL;pONWI4P0ZFuO8%~`K$K_cltOaoDJ z6}Qq%UvZn5*xf;qm?GJ)jQ+=XBlXm&$4q0awEKsK6g-g&;&J0p*74+VxzD_NUMR3H z#Tt-;Z@<(8Z_A$xQ)6U~+Wv+(FK-3V>5gxnCS^gi_+a_B0i#PD4p#^*Pb1g}$n@8M zI?EK5POX@LTQ3E91qq}F;A-ES(=tScL_4wd`vo4mdGuqn6_8N3wB%?7M1!b9PftqB zT#$onxe!4BY|hzUq~2JTI-3-DlMaDs!RU4F#>L?!ivF{~UG$MJL^+2O((8&ShDjTX zFFMDL!rfimm|f#?qB9aW{SNX>bEnjn_W5_+W+R$DZES|70?s7vsOAcQbi+$LJ2xr3 zN2g<*RVP#3fhppQanR>-Mhurs)4?`>=?3mmWC5(Xs$}-~L(if1>-ITy4=V|%x=G8r zyd_IT(QSl8zpA0Ekc()pHix)XrB&<(Os2nlB)mJZYt_n!`(G|wpCRy=PPYrF zvWHBRU{mv>I zrOAF=V1paqZNE+W+-7LEV_5H*(53f{X5L_ZHJQaq6^KG=4kZ2~RPT9e)yX5<@F=$- zOm86V_Lanmgcsk_C(5~39uq>d&ho#G99Xf1-7xjv@msu+aRFf7yP9kL7z))y_-?d7 z-v#pNCM;iu7hVm2M$jd$)BUmNURTqTEhyT ziIq1uPJA9Uwx1PWG!wtl?sD&Kh~_qTFS zJBG$cYz*04{3nRkQy3`!hxxE@D_H9r@j=?gQDCIY>QS3Nc5KVgmLdkDO3s@b2Ayo7 zJP)G$w!TeVg$)J%wlvICPnEtHqEK1*fH1plSg9pQaDGMOh z)f=Uz?D7qdi%@esezmzi7H~LIjfQSwLpaD)8bSZIUU>%m{Wq&9Pw6Jjs%_@7A@c=x zuA}A?vnpSAmoV~)#8^C)g4EBWDv#EF>y8LeDw~9uWGX^8he74|wX7+ybN^x4YEs+1 zr8pNr7JH6$tmqql30kze*D1ij?p|SjUgtXT@T5;9|Glt%p_Xs>SiD(Pge`wF@ZO~I zWnSBYyZnZUdB1z=gN%|?1j1XYHSI+bAmpia9>lA$!7ts7mJ3Oz;?DvuG9%@xBc0D% zeQ?^iv&_R4bYjfKs5S*LXq(qu+zM3aui>H>shs|EY{z)h=2+>XKO3#w2}aS86PNZ{#Kkb2#f^oMr#)`q z@d=et_$t!et%vf$x}a^m#m)90dxkaSFl=%PLOT@H>$&CsO&-!z>G=L|BR#~$=_2NJ z(*b;`r||i`n%8&svtukdo?AQGcVJu@loXxYvp1Tv69Zgb{wp{h^g{b`7U=37LTEn@1~~yAut=HSW|XaiPby*N()+F$H;mYUhsr5eE36~N zuAl?OhhEez_qS7^4-3CZN7nCs2Wa_P(`O#?jdwt#!;OE+_*o|aymGZ*@GyjM^ql`oIodX!0BnyQ@I!wBeuYBvWUbC-H z$v*FJLSg&co_~h^sbygc9t$5F{l?B!fE@3f^4Dch8)X(_ThzisoR3SHOgd^fMh8P! zOS5wAth3FZ{`Ec>Z-?V5OACmk%Z>Ils>{0! z52HEUggMt1RI&?@cB^IAr-{gT2N;uNeV zj}KVb3%zja_c6O&ykSQ@s#7d%Zu6JNSeU(Z)|8Sxm~ZJQado}F!3n&Mi+hc&T5x)t zAsHAf6Ox3EPxGpF}<#!x?iJJ zFHm%%2d+-;w&{_SYYxQPDw&XxmshR+3s_Cd$H7{*)jgYRhCZp)dAhvL7fVGSYo|ob z7_&Y2g97`P!iZHFX$ z|CH>(TGYkA@4Z~h^JtZ0KxI)SG640NpOyD3EnKO1r-r1n13id(#t||X0lSCTJ!5knwItHi2>jAG(dB`~bw zPFW+pu|K}q?#qAjpb@kk9R14Va-%Wp#=iXJi!CVUM)xjzb>$J!&ogK#$4}$P`cN^+ zDmP#!`E)-N1x+5`n&H1JA|LcJuLBEU3r)vmkWTB*?Hjh#`Wa7+1M`e+w=G%NszfVv=VRo% zu{3V?34(k~S{C$c1Laov+tt>4Tgp8=dGUKNJqhmP{4pLN1buw(EgOcH4Z*{Xaw72^ zJ+@B(BUDXSLb8XJ;XFH+fuKsWGFLMi(HR$2um*L(sb;o(XNeyt36dxsn+%TGi4iOs ztRM(VujN1R*Ko@SxhhVyptZRZxr`{n?>Q12f0SKMW@iC&#CDB+>EDEMx=TQ&CDv@) zRs`jbnpzgH$1lC84b$FDUrwtn_t+MOTl_u)_h|h*T_3$4<{ef_ue;qcC7f(f-?Hmh zG#o#1qrsv)9X@`v`I%MwzC+moZ@YbRqS-3`@nj<@5pRK5yY^+_4f1v489^_)7T@r+PaHt?~_;p5m>ktFmc4))opC-=y6}Z@dIY zpbW0!Y{Mwu`{CQNqqkSmTdAAS5oWv=aAA3Ij1M0U%sQG}&qy^_v6Vr6@GVDFNC;)5 zh9DH(s`kp{ptB8GNv|#n5d;7HG$^vXZ!udz4t|Un9-tyO)|eai{iUwjxr)$M$dI>n zj{8>@_aWMTUmadIVbaz}mbkKA8T-`L@D4!fm0b28j8gkmlm2z5=!KKX?cY)RO>*aG zTPKDv=cgQtgjKWV;jJgtSY*3t2bX0G(|%hxLrgJQQ1d@PTo-e_x=1*4I+RRw$1^z@ zJ;|QX`;lE)mX8>gHq8egqoTOOuptx~J4@bD{ywf)2vZ=<+}VbFr|~;+p7+l-e1Nvi zk=l49SdjJ8fjBon{8a^=ma|BCpZICnU4=ck$0c>|xKN$XP0mr_iR_qBPT=SDtEA=r z5_$^j>`H!vZAkkPh0^hn=_2FelJAJ$dSL258IW={Pygl~>pAoHyxB~EW_$LDvM3`#0E4*m&Vb&2n^lM`s`e@ncamgG}zo&v2r z4--hdwihR7{R0bY6}LA;VgEfNdDKlDqzbEugsT(a_Zu0o;Jp22kHhAJCFlQqEK5R% z4Zv3x$mF}61BGBSa$@%Y9}5cLRhFhuw=XQp`ARE^?Zk5Eyzf4dtCX)vH7NZhgzLfN zcOcmQngku9Uk%s`_@`epWjsKXo8duz>l4Syr9@GJ3(H>CMG$)g6tC@lb$9NI`*W zS7$@g?9aNl;Ta=Rb+k_$ofszL1cn4UTOHMJ3K#@>C2;rk_i92Dr$3nW&x8zP7nB?r zph>z(=?sZfl*=lV89G;~$URgN=mXlJ{aIDN#jqK~?pF~r6O3>)s_nbfmk`F~PO0tn0+BFy7Z; zYLyR$=UA5~!sJ*}CwuV4$)>};j6orya%c-7^Wr-Amj{OCd*c??Ny_T!acL@jO-Ug= zEVhj>^7+LYK184`d-Ga3aqq(TP-ecq{2fT(i1YnD0h(tzv08BfiTwKgTIm1K;cusS zG%JP|3yVtU*^+81(Qi}efY)9~JifuD>UHZG8-wac-F9|eVP@ScKkhtaON}z(0DWbw z{~nYSh=wJTLociv#6|DGl6^zAseGOC`NXsHu=BkfC>nb>I~82BVgnTadp5bZ9|B?# z{1*A>GUj%8Q0H3wEprSLQ65sXe9h$9E2na&V8xW`Tm(~Yah=&z)b-a(86LQCfRBV`0gaR|pbnd}v(cDg-;LoG@ zlBSmbLA(BPB(e;0-dB}&IQ^>gt0|H_sDn?k%rtA#t;S?pcZ(Xa+kpRtsVRE5NOA- zJG6e`-ndLb&FxFo&h4KI22oXPPn``NJ%dh{OoInDn=WKD7F$+vN0(VIk9$wNi>6U_ z@}zK{E#t+NcWKETwR_R=%|USRvwH*<-8qF28PPw=Hbc6@esXZfzPrK&Djzqgw2TE; zqet@8P6er9q2%)fn`1WyC3^opDh-9iJEyV1Gg7+v>|#X0 zDJ+s@?tM#gJ`9iDqdzzn2=~OP^d1o*aTJF$N@KG07sET?x(Td>?`q5XSf7Q2w_Jdx z^~pvIQGWq8E5yC&iu(CP+-+N;NS7PwY@$+UrK1`XN^mt@$h|XupVO_$@}psOyw2G| z$AkKaZEY`u<{#%kk1 z?Uvd%{19qFQdcx&Vw+V6(WmfFgZO_MtMT|N=Hu<)Z9kxHXkY{_%f}Jge!Bl00zo zxyFwfGw*HpneDEvC^a}j`~^zh$OuUz&5VA0*&Y?D+Yy?T2UXoSu8np9gS6SqJ`5hB2bqM^Wlo499_5~=l zBow*s@Pp9EEfz?c*iF)EdU~NSKV`dDA5#PK3J=pgbOHXg93eSogE9F^Y*GPrTGVdN zbILT}+4!uHpM+nlSrXJ2EaKJUbw58(F;JcB^@Dj+D3pB47z;nH%1!Q`6rR;3Id$?0 zo(Fh2^_IpHB}J4V?e+O(>mY;wKB*(Mh z}ZVa z=$}8j&Ei#nRahQWNuQx&`~#QFR>u{5|SkZT?w*ALs7EcRkXt z(fLI_bjYszF*+)g7)pN>c2P68H%x_U92lxkV3n=|-l`a}O;rxzqv8eXDgz)oydFLi z1H_~%K@zzq8et*1-X~f!hpPwMMhkh%C(&N0<98j&(PA3{L%qcj*%KJdqo5FenhE5p zBLAtb&seU&s%v!F7js05L7+>37s>5T^G#e_p?Ly8r(=<-fJeoE$ zE>hPOJ~o{~a63KPB=ql)sao90JEsyg2taq}FnJBJmBo=SM|JeSUwPhVh!~FF zFsSLoH#k3LLF=9!r$1m5&=x)wLS)t#D+C*5YM+Wai-pOWcImy>R2ufkA4Ms;!!+V;Pr18;H2!rJUtGVb(v z1!`E?uYRGY_{L&S$G3#YI&^--89_$POdm!6gJlmB6AjfywTEgB2u)7_s_M<~%b%DQ z68kOjwOFs*_BExKLL#vOdoAv(CiX)oCnZCfwNqVcA*;cT!)0?cp__W=oiT%97k#+J zI{PZ9h@vEn$$$Ljs}6&VSjju%wDBu_PrmR0H~&ous*uL3>a z!IU*Ze)!y0-6TJWRfLw^UPZf{M$K-{ddR)u>&VPBLjJ4{A54@PUw*9q{F!>|xPk~MHT_wfyVo2s|qv%uf zCRx*;t#UEFa!D*mKc7R~qaNXN!;`X$7US)X%kMAJP?#b>(a_^pU^BlrQG)lg>eg`a(WBjvHXsjS%-C|mTo zyf6tldP)z#8D@Y=pLJ&G1m#tpJ$5fJLu@1_>C!i3b<)+B{>V^#k_LV4OGx`)V#4UxGFAW%GyKLY3aDg4m!cz_tEUv>Y62~xIUB9IY@vZQ;v=LW!4mRA* zR&y6mB&fg`O^%YZmLo7TjnwIkaK&M;iUemCGB3g!X|R3VWB$lEzz1&E6s{ipF7jyl zZ^g+;%J(m3q%++zY1J^6tKC<|(yWJ`R?oQ?l?@W^zbwc13n?3t%*-)iCtabtn<3|C z1!p^!lVhhWp;HGVWqS(DKo$D17T+wnk(AZuWb_@FMXQnS@hwL;lqEAn7b8CE(kV=EN7#NL|Ov z7U~ZFbrZwk)NG9Se4R7E9zr}fFHq&2+W_C+@qMw`G#GYs_dYu8?BUU;opR3$K@F+y z&ZPKs@~-A;1ouNFHB|dLT9rL2+sk;7CFjVNFP)G|YT##)D9h&en4HuaO_y07fgXNi5I1y|>bbr!+pnI@AC zMoj}e?pSgnZFW3^=fajK(%a`Awf-T=1)ENS4VB1nC?>BiC6#VO|u?uZ4q zWZ+cLl$fJlLyVr^<&P2OpFW9Mw;dkel}=(Zz0| zj)xX7+j(au)2&TPmhB0|)066XRv~t|+y#3N3w)`W7bnH}-ksr4W-Lyn=BJR22ThaP z0yT=t-~7}O7I$e>nBD=nNj>^x0gMaB-yFUAD{s5<-8YGOx{Yd39C0~7N6_?ijxlI5 zdApE`AI2T3A+L3}Zqz@}HW?{R-J30D`jzJfjfQ4GBufdds^wR*|Mud>k#!)qRV(_E zSID8arR}Q)@ycgKJX(#R{vSZ-BZ;{kh5zAFkH!L0&XV)*xU=f^#s68o-IG~&gQ(!| z*{^0fO^lX30i1w8`MXNTe%W?!@w0h#Ij)b?F^Ha*J+H2TE|z)k#%{lmwCx}3>FK^* zY5zwiWXb+JPbOS)CaGgl>=z6>&*S(B^u%HMA-&j*(ualw zLeD)>dJ@*^o=?b*rmcoCauWMVcKj&zJEf`gv_XbSv-hnfTeCf|*nhV%*^FNKb7 z#+>ccHl5Aa9&6Rsp4{~efej#R&UQ?ha4Wn`$35p#wM~aV!u;We!<>jTX83I=f_EI-M>LKo9Hbs@!cXv}H1 z7@AmemOd05iyPl@o7>3HI2Da)fHDwaq5IX%d(!Xncn~fFAnkxKL#eQTj>zmP!#o$Q zGh=(H$9C$2ic;2X*2E72muKEp z2lFHkrlp)P4n@oPke7+cQtyp^3^qYzS?A#DNK*-YxD#OPfiEq0u&`4f%}(z)cfxvm zed|%6dc7s5`zDryIfBSpTF$x!tZ{{|1?nLvTD zT#Po%)lgj}wvBE!_i#W1i(G(Ho^qWJIq_e|mRRC3(o~fIS~ZBK<2ZTNh(A{nJo+=` zdHUddb~oYL#oG2++msCTpWvgCrP0QsM!KU)SXiClid{stp{j(VD$HomF*QU=08(R! z>e8fG^oZS6asVx;-@10Bj`a>G5wB0a%zppxS7jmi7VBWOz{Qn#1jBOemXlfSTM`*g zwOM)pN{dw4zeqNJqit%08c!zE7cE3il8Y(P33EC735vGyonzZ}gzax-wm%TQ9{k@c>~s~oTc@(#NpDyw|5QvY5}6rK(By8`l<%VYK8XoTW0OvI0=M+5~r3Ab~S zS}Z8J+D4u>T|YfxDBsG7tjxlVK?bzU0;`rSF9tPMI*w(6LRtz=8;OId^2e6yTe^$6 zjeJ|0(20eloH{jmR5nV;4oNo)$fIy_>%yz}8-NdZyXguUGo;0{p)pR9duk-8R??s{`%{Bb$NrOJR#3|IdsD)B<9TIzE1%86(d*9Eu)TXY|vH_Plz}GzVMNC|N zG;x>EZkBbF8L?D(mSFM)oO6vk;@>z7I!>qaROS4;LKfJ#)~GjLR%NWXTC)w%Q7K79 znM?gXv0;$Ef~V^t8G4G1&RM}u>I)-lG*sUwZk6p-w@aJ+SA@Rd4PkOhoM3n&3wv!S ztx_S(ktOu{@e0#XXI!%m?+rPzFV=ZJqo#UqRpzp0g3;~shxxP)2_Q?C#$}!*oQ{m( z7&#Wn$ku?&uO4@5BrWxiS60y}3I%2oXb%*4SR|7@6+c9N4^={*$ki!W>YMrd38AXz|MN>J zuSmPQ%8ChBJrH`5k@{DZg~YTrXZV#++Vf(Xd-MV9c=_1>{Z9KX6s~i+mAe55BO(ME z6*zE*vk!vD{Es=v(awCxV0R2tMdZ!7`e(Y&f5})>P7_+e8nM;Pa&$f&A=B<2KQ1Kz zQQ*f*`VsnDOnag)avuOlI_T8qw~Nca8!D;uOl@1j5Y0F|&iPHu{o4{_p?Iy9_%t`^ zZ&v#>$U-13IE(z+!-O)Jo9T}aPT}G?^_xS4po+SDiOkx5cD4(7a)S4CbCm+Gu-wk5 zl{`0#c=k-V2r?T?@mez$^a6`pqy;;u7*_aAXpv6fJ=^)$&l)2!$(2GQR&QU=@S~8q zYO~@}dZjwZdh;`)YKJb#`J?!7oWr3iiJW0=IFMv-4B^C^)#Ap=vho`K1b|T2_G$B3 znNEn3+_f1kvQ%7SK$4WH2#y!7%M407C6 zEtYlp->wn@_X8ZO(C#jv;N0HWHjs9h+F^b))kaWtL%$-n zmll=mO8}`62K$O#&fS~lFYBh3JxlM@S|mg&UN4@MU&8BR#(5JIj)bTW1<(G+I&;z8 z71EnFCooF|fE}1l9UlwD09DPkHq8Qj#y8n3YCn~`(1!?eRzwB3 zde0>i4MB0t+ZE=TwyxU}k!gYj0pMfPo0_ogwS0|{0K&Qqd^^{5KcWn%yXy-TpMb$S zYlO{mkhVB6H@8Z9Fw87M=JuFlys?tkQ#M`?xu+h`_O+iG>DMgY;Z!GrCTPLj(d(g! z76q;dnwb$J*;1RTgZYn5A=I2i@hdwt+`lMIy4Q`OihsDM`oSyvp2VaBfDY7GW3E}Q zXSSCYUR9FJlhbI8gJV|MU>k#~^?abxLxg{c#5T*e6#@5ih14ssBOpxAu4qUYaQ4p+ zcMV4kxpnoJbVo}gmjgy;1kT@ldQcZTT2eq@38=?9y{L&Ncx8<)|RSKL5v4&)7muu&8P^S(-S)9mLQst z-c<&LQL!EBb-Q}^DLaSNh)qi| zl$b$V^3EKkUSQ0VP`(<{a!?@nHc-=^bsaHMsG{wHg?^Ee?K7GhU4WO+^!Fv{ z_m@?*fedXH{iF~QuXpVxw#LsLuWn4Y>^_qe9~>7xu(~w)`ALTuF)CF6%YEvUqjReq z^7x7;c-`*Ys|B_`2plzhFRii4+ler>DE{TnEz}nPdsERvY7rZ2fkr&Ht^%=5Vf@FvV@^Q&AK=?rglVm zo}73#p8e1`V=z=RSXaQS$)cqX)z{aN<0RfqNC4F-D0{cP_k4x5q6 zHg4RTAFI@k&Y4(nen`x^?8jH1Sp;QDtBl|Kxkcx-jyhcCzsgtZ|Bm!OH7Kw81$ULy z$Eg42N&S0h==Uq@wP136=RStKtrh5Ms(aA)8`U zJT4u{Ga7}`kXiQ^@Y;N{FS(0hUz&^?nRxEy=XBpT)Z1rkyBS=c;cR`{-zd1+p5+4K zEqiA3gn5QtMXTC(e4+Le%YYeG^Qys(b8fBU9;q?&9%{OeFtOyteG^yOb+}jgd2D;H zqo&^?p0x-Sl;Tdk(r&pVe!+9?_K19+&HIz}hyW{f3iE0eGlvaZPHz1`jU|^A*{*#% ze~ftg1n-$o>bK*BAPl&0%xlpj?sgn0FjCHvu36IMzs^$VpX8>qZo$3JhG(3t>O|x7 z<+j;9;$w1uYl_D$|}eq3o!z$3lM zX8Hl1A5{l`Thj%=&VzCI5@XDK;#!{A*oOH@P{ioU#)zS)eEE8I9eVaEV*3U$~m%xa;0rTnrKi_%SSJmqWjbdvZG6-vj`?u%JBWirBqq7|l^ub$JZq)~- zd0cFyvAMIM+I&{e{V39g&EBNgpT}DdB8mg#?Ub%J?&&gA{BB*4y2q=|Ok{dFY_J=+ zCP{y<$rx1m+n}^SjjgzP^KV?*jIzTn2%ZjvdEk6$mHaN>02redfUUGQmli}6M@mxQ zoCBuxoM~*+@*kv`z5-O~)QO=w(|+JG{yNp>KQFv3>pr&J&5L5Rp^=xU+ZPk;e$rY; z%K?gjY4V>1XjB;EL(NRyIL0^~MgH=m+94tVAIO)P(#Snsr#kIuEY3<~l2-A*zU zu{)#<9dmVg^`Acku?kr>KTyrR6UVDPuU%b|I7 zt}#tSFDcKfIngj4+R@@n8*z4^gZb0Yff!IG)oVq8@A!c?#!)ODE5FakuhEyutLzW+IDmK*suT00u{McfgPd^ZRRnX zEa;PNEHx)rzi_5=uo`iLt{HAsKi6$uX9=Gej)6P=yJQB1M=kxsB*M7 zZQulg>_GB$d4=g-)fVrq!NvCEhkz*?FjJ)kMASy|uvw7Lp6DvYDS1LE$K;cYK?yE-ht#Ax8HI9%|hA7${CsCkg&h7M>HuzBOuLpmeCEI&?g_~@^) zQND5HID{B5W0|4PYPrC51Zm|ktI|UT2W)ff*`j2 zWv1vjh!DK}K8%~^WaL~I;1Gz_!%}=EO|2!U=K)JQm;ZbPC$Nk8s6S$1`(kRRp6tp3 z6*tIoL6Vz=-&6`ebLr{S;>m%!o~$0sHiA0cQ|7Uie}V z9dJg%ZmEKgi&pR)Q=x0SqL{L}V&T8zSkt^|S02L;fdpRfPGsH`3|luqwBO1;P)o@> zCV{_MEiqgt78#y+hwhm@GLS+zZ<_aug8A)N@V)Ep13GuXA5JH?n3-})o8{5*BeUGi z$fNR&>Te-K_+u+mEE#-dnm0TMdzR7kW>@04yb6pL9K$<&@Okdr28H6h*mRJ{`t{K-ZhVhk3a>PG!97hSztRPBZwUiVmJbXO zlLlY#0i^cESUR}YW`?RNtn=ho$xzWy>z?{${q-`RAfSxh1zfE4OcEw4x&L#VVELA> z#Jcj=?^tsa4qv<>Wczg@Av>)hFEhJO{Bh(YQit~S{B|7lcz|Pnx@D5#wZP!^2#-tm znXsS1yvTFm{+^zt!-aNnGn2WYxBN&=QJW$Qx%iXy{OiTd0_uq!QCgshTrqRUoT&FD zF24@@?H70(aIl#cIU0;v6HLWuEEv;z_<}2#-y|WQK&+K5SAzS5_>{Mdh!9 zD*^az8=z=;w8dUTJxzkDM!wIV_Ocsh=nFp$bAWOb0`J2C64#4vZdiY83I;eHi!i(n z%3v`-GgtgYrJ7Y_X?0)SdM|pjYA^dfrk^4{Wuvk5>}YCS5vuY#W?3V2+ZIxPIu>T0sY>8ei>KWU^`Y=ima_OS{2qjo))5aH-j~cwWF8 zn09Z=dJw8*f76EI5hhaSr7X5JMlpRsjhY}w@rv~}bw@(x%M#sTU=0v_wGp|Dv@f4` zvmpansZ8o293dR}hg#sqU4-yz3SSW_ibRgmQC0>#LcPV-OpZDqyopkEcX%-TSCaD* zJa-To?B&kTFn!c4!?1Bg0Q}7E*<}|5x&G$Z6k(t7vrLJ&thLRBj|?dUepq&>%?1hp zEDb*bR*$tj_+=;LEVy&t`a{eg*RJR7jCy_AoXZrlXeT0hSI*7(`wrQgYi{0fcobv{ zy4BdMXb(qG)F}my7 zAm>X(XP5$r~( z$xJ^hEDGPC8WzD65!=%?9}~xwG@9cD0#@o)ems88vEYgX2Gt<*1s1h<60~M)>D!89mFlOH?}iZoU&M zhj`V_OoSaO2RbP#<4S3byY!|X#7mUY{$)B2ydhus1BiDzw5mSWI^vZ$8t<^sYd6G} zGEVA0L7H<&{TNz#4_a_Twmw{#;mvQl=)q#9l8IB1Y-i)2+w0^1Q=0PmgKQQ~U;MqC z`k43ljNmZ#rq*A&yWB7M<6noNUI3qw{-OkTslU(y-A07}uhRuP@6@r5DEDonE*P8{ z{V)KjZ|7>^DqBk1^Ls;(a&&F({diA8rZVpLz{&9H9Rx+96sNwaBA9F+|6sh?WZLJa zuxAxl4_-;{bsm4pcMCE!=Tih6*b)8msWebksx3q9P^g=KkgJL&K1O$7I{&WOrU@PB zg*wxeIaU~7>ZLIsYydtY9aC?=-qCnJbbPEETz!;OFLST^C3ar+-FBS+bntVg?)fu2 z1cHCeM2PjC+f{kGB-9}TQ~Ff6-+Ba9#do@B)jm{S1XV<3myJ#oy|P!xz*s$VWEb%% zoiHu9F&5+GVdE;TS8?Zd{2S{`gkRKv;DSQRXqvn*k!^n3fq3($3`B)0{9fqepUqNR z@H}jj3NmW|^6V|{QMXvZnFCdyocA#<){nnP3(D3Ej6|kQa3?w{b%*u4pO^!B!;ex! z1~=tDyPo}`L0vrfXPcr^eL<=jtCr)%OrVA`nF-n+&3F2$0f7NJ_rb{yT)zi-!754J zbO!@RF|A!iT@SPC#Wxyq$UDj?^2_cJt81p?QJb_Ep%Xx%2#;RFo->w!@c1?aM7fng z!Bs?dD!EOi5wh_g8 zC5u({{PgsoXALxcF~IxfEY5yX6cQ0wQr4aFbr#h~ zIOh1AuG9d)BMK*HjudT#RO*mB%Z_8h~YqJ#(&_s~S0x)Xi6A-OoCBqOh-e zq;>xGl5z?e(mA03V)_%2!@tM+-hwyf__a`f)VDgT0*giFPszR;9t@p>`WW>b*-h&y zsru7#_&3pE7en(+ii5hJ_A}ZG_8BPgILEgG7uc#l-bR!MO;moz=LZwAwI+=XyNm3G zrv~?phyH=Z;=n2yYiU}!N)n%n^Fv(`!54n-q&JPJX^jNi`T7lC-KJJ>OxvzxhZ`@? z4Ver#>c4MO?y8Y|;p*a#9N!!(;k#)=eYjf1HCLZ4RR9N0t$^5#dLV<)7=~zNRFW~f zhs83(SXADh-qx(yoROfgIn44C*u;1=R{`OVeb3x z;HImgyE_7H{$aoUahL0$km>dVoH8Q9ATd39?#v|_GAp&W0{1kZVy_w#n*N9QCoH=3 zMD1fnRucTDb0K}+VJYmeSC{?72`;`r z%Z7$rF1q_g$Jbyo(}P1jRZH_$Cd#=n%lkF^RHy4wXyhxG>Vpi86mJ@5$;f@Ghaa~U zE3%W!ymq6BuV{ef-EujzT{V2diYjPzZ^&sMDd2;`$GQ^YKl;Y-7d8L`FXoqLrY44uFNRqFHbVILljNqgHviCn1| zMR+V^{`&AF$u2rgN#2<{uD0LlBSS~#9gG(8eVO8ia=b05V&OIuX5aZoXQJ_0Od&v? z^Ho>eb)fxfsOxK>-8TIvafX}|D{J@rRq1JH?c3{oE{%C4>H z9fH552f>zBSY4B(Uepvy8&9sSa2ej^Z=UXt$Y|;%@@K2XN_Gr_n?itidqE44SYU_4 zP(h4h^uSN8A_siU0}qw}omNb?hXVUUHFM~ti%4Te#e%}#aE;jJ2Kha>M(1g%VIo2b z?r82;w_D5PcG7Aj=F?|LtK9-3%A(u#OE8f@R2|{HoA^ep#A7azXN}BGR-DP0n-Zh! z5A&X=hyqtFUBaIoT?0hh^Owh9?#> zW~4_CAtW&UkyWrh$$}E?ibLb{X!fVHCS}mpEkQ#HA?9!Ja1&!w<;-~#y-1)gP(?%H z+P!8bp2rtvv|bRwF#aQ0?lI-5(c6slQg3VK-+g1=ALnKD=!X~S?U-w$K^QeXMH};f zueE#-HT2pT@HE#wICr!B*lrxY96T~OMJZ+DOM|91(YX(UH+1ZFm)?&S!ECk{D@mfb z6fuTQuT?sMIujhH3T_p+ooDvvwXI^xr zhn-v|t5o#Xc=~mnn1iWyWLen>G0gsxPGvVn2XLg_vfjK6OI0evj=l!jW2g84EZ+_# zuzJ<^Ml37(ntJQ|4jWQ2NqREQ4_zup)jUY^YoL{_3))@bl1jhhNXJDTAN1UjeppM3 zn|i!34PwrAXk>ljt{@dgAt+H^y#^P=Ttd_jD6XH%0pj)8RR}VSD_9!05bY9?`|Q8u z;2EC(Xze;#^sPxUa1}m7+4r)a5h?~lLa9+ahEthCH!Q4D5&1(ed}?Rv;hgVT<)sMV zySBpXtleYoNNg^Jd|V66J1;>dWIVzm*{gT*Ee51N+RL7!q1quGC1gIW)hR*Dk&;&+ z*#Dx4w-=lc62kXY)0-+A>k2)~a7=Aw%0Yu?4D@J+zTO0Gx{G?=?(X5|=H2XhrvS6* zC);`ECdKQ?v9%8T_wWj_^JeIp?M%6uo>q|;Aa2z9Q1SZ5E&@yrLnuN*QhM zA-aA>OGsbi!@l^FwAluWieaWw>rR12lCCyQ+>m?VLi3t<$o7osd0}lxcIe{r{^fB2 zHgwnWd_0N}P9P^Y+<*+#H9jFYRb5 z?v@PEKMSe=vEQc|F#YV%TL=&z)}zI#w$=Hzh}# zFgWPxW7Q!uk5;mVFnPvACpLG-Cu~foBg@apIf`LKe(CHE@J0Fkt@~b-Bo&^lEPBKb zKVu`aV|5iGgdER>{PZG4w!A+#-VWAseH~Fx6YU3%Z2UOK4(Jg~zpNyLDgC!qIdo>H z%|JKiQszg5*HkV{+6CC*|rLPfu;{dMK;a-X-+!t?zEm%0%9EA{W z_rrv<9@~EuEKjNW?VIu!)YZ^Jt@`qH@t9qwyP{F_DLKf(4c2CQCjQ!lo19#T??cwcVN6s{S4EfBPOR%=y@w}!n z%5mD<2&spgy^Vv+w?>Lf0ENbo#Jr&hGU;6Y#*6l&y>H4H9&x5{UKI5lq2sn8fs+im zt!Z7*gl@^+{b|#(2SkQ+pSlEf76Yn(wb(f)5`w7}- z6O{Su{isl^&UhzdM);-4pg8DDuN}hG@P~MkP>&I{l{=#XE^Kwl9S6K``?Ln8(xf;? z)TWa5?P6c)SSoq$wDP9$?a;s*J{MlhR^=!sR_k`IM&($*(Y@7PzBBYDUESz!==Xf) z3NIL6S5$xsbp-5a^@s_t(}4!@x;Gxrlsdj%aHmdqY|V*`?RBu_mR!==iPHRv=Ddz5 znl`rg)pf0ps{67z6zwm1GZ-YxII8JG7s-nlbD-9YT$+N9{-v|LU!0QK+hriq+sg7YTTi>y9a zc7J@?Rj~5E9GNI1?Mdv)`lO`T*e^R zuKRL2_6o@V#+aul4fo>S9Tf(!Xr%#YXSkyO6%P#R8er7F_IaJwk;>Fnrc_k2Dj)1c zm8Qb8uc>im)%pOS;MTI4DOWH4$)~nbP_@Do_#7`~)6(_S~FcG^2&xGDAgsCErR9 z2W*=$OFua!Kf1Op{bEv~yVZZY|9$7QOPv#$TrNt;K`<2@kQWaDdyaR#%JaLG(Hq8t{ju2(J3tIuyxp%F~CX`8Vf`WRN|0R}z>3~%^! zDvAqZN4h@MXKt2d8P(zYZ@KbJ6TPVq@h8bIjFetr_(Z}Vry+~x5iw)R8=&*`nZ~BG zM#X^ZYMyI_5OSj=X)06aRJV*4vE*xtix4K>zdfOZd-qGn#C&d?Mi-)*qg53I0$t&) z*@46MQherw(rL9Bg8*f#{56{0(LMQ>A|3Y~30f#(U+W=;Y^g!dX-vaEDFI#P?r^}`|rkxGg^E2}(OFD+w^KRCyR#%3{usUXN zwx+mM7V?aZ4CU7{FA%8;+zF=QMSrHU6OZ0C{u#rO0hp5Z71}Ux=5iDLpG8?!EF_Aa z;CG&t({_`@vOyu{M+QDh93^5IV~j!7)KbRWFi%^@@hzQkWBfnKR34QI0@3<=_F3|i z1qDM^2t{B3YvUJ3O>Un zznAymiy5H{@7Qu>?Swhep(~Y~30fx4SN@Q1mB1fTz639)M-k~HnZ-g*rX=qH2W+{i z2Zkw=2@q!`*cH!Z^+2HbkkK;q&o?taNfQ;pTL4YHFprI0IfGCrS&`5}+vb$&p>+HC zc=0GW*Jy~>tFJtt-fVuC=W70ae*ASqRwO-(VDJ&)P#sTRwK|lYDk{F+m%TC(!f5kQAp$Cm%O|l{<4r7F{X_ z-R-9K!aMDMP2}|$=O>T&6CeZ5f{pX#UuX&00U{2mg0&~J+Rb^f)_3lY4}yw%#D<@N z#YZNh9;V)!sUR3t4^DiP;i*g?YY7kkiF6tn^IJ_`NHm#V{P5Siu%P$y)~ly!9zpJL zb*wOC3#~DPoVHIvx#oOStG4Jz%7H(Iqs#1DA~w?FGp~A_JdocrNi0w}f*g!%dT~H-73tpi z{$P_cF}7JTTZ1pP6r;nm#yeIfq(Aa%4Os$ckrn81e2qwW%oY3B$pu(#N{%-HwXk{T zK~(of**dEKYJYZ~m32zTA`^#{akPZW(kiiEvBhr2Q}OxexKm;$s7Q7q#%x;}#~r=7 zcIthlYn(&0j z&}1o~kf6ib0A>C2KCI5_+a}KI&)Lzcd~xvb+1;b3q!RuDA&J%`g$K?MF@<`Y?S#XX zPp*gg^AGc7=AYU5k8ik`JAaz-ri#Bmf0jI?mW?9R8}<%je;wsp^)>8Kg6fW(krClP zo0&J^*V;j<0a;4r!XDk!bI+&<_xinyhi+?rJ4ud%3U@@TEHluxsZ9h7u?02FV576+ zZK>XpeDOZ@cyif=e{BJ>s}wB0(~bvwFR}I*@Q95`*rqYqj7Xi?_N&l90wT{PqL0P} zbPvmEjqrA#P4BPDmqJbT5g}VJUt9L3ry$+bVgQ!P;W*b4s zEcgbSSm8zA!B9&{4nwcB?}H4lN6d!rd})z+EM5>|NgafLm!O5T?{s+PCVdF*zUlYs zW@3Yb$?GP60Tngjw_S2x@de0;etceeI&}$~?9*QU1Y+|Qkvf>foZee0_$Sy9KcbjAC@UMVj-zHv>IjC1gR$;`n;ik}HshyiOr zvQ9mCKz$y0j*jcSL_c!t;s<*-UV+B@x7{TY|9aCDLBC`GoTdJWX9`X346Kvel1r&~ zI})GmS0JBy7}};8>SUYIrkPRbG~-9`~(zpr_ayu#BCzFLPMw z+0=l{H_mQ5BuCrrA{Y@y!tjfvH;+!a%-d$ExvEh5YgqmO2r;rm7s9X1H|Qn1Je4uU zZIIKKv<4rSHQxME^?=Xsc4Llv>b;d-g zCsAw|MAKvtB9wMdeilw&k~@Msbs6zang*&N=tCL9kb##?{eboMzVEB3b{xP%L% zUN}=6dhhb5Gi>3W1W1f@Gu``$d4d{)l`h9zLfQkY*Z?^p-lawFKFAdOy?oK1YFq9D zFlnS;w;7>+z^Yf=yE?fTtj}t+=3i-FN(1F~5FTFkO)R*f1o7xLvsP#^hz0_|3+G}eZr>|OV#%l9oJAxu?QOTDV8U_2pd;$&gB#6`5J***CP z`!EB(+>z>t~K=!%0^=R+6%$h%>4K%Iz6k zr~tXM01Ub@5anl8(hi+OC+*KTNKL_0Av}70O6#(*h1VurTzWZN0XgloCP$A9ln(Qk zlq@GbBe!#RlM1WY6`ocpV0;ZlV>wE}Bi?1D^e^xzIRQg`>;J+EweEaoJPz6ptUJH` zc_1qU6I`EgX7qD|bitx{_Y5WOyV?Ppbz-;Lt);pr zw^6(rP0m!x=aZzQ>sMy2P^P{co5)f>8(#_`v*& zaqw9yC8<7QDx0oSy8JQ5*nUYq2V#stFwy4w$&41K_uWuf{Vn_(_)}}FXi(9_A>z$& z5^65b0oD5?$ zt@O_dko4J04A|T$70}8BDELNt*GN=lCo0W^pZMGWC%1BX_uQj-qY6afH_A#U%9138 zyt3JQikGPvBp>#PqMeKeTvCOs(!DEewtv0LL^}DcKC!4_w()_l0Ee?~oJEnq#YP87 zxTE)=85zm*b3oYD4B%{0nedJflc>Fh z;<;P4xNj&#{SOJ-Ch0UEQ7j*?)e`Q_I0bM!PS^ zN7&WszH0Z@!5pr{xsU}q1c=41!oqLATAta8e$NjLb}Jr-M!$s*)8$5sXWup`5Yy!j#-OYjJnNi=ys= zrh}>6AP2LCaZqiN@vXdsd><r9lFACCDNSL72UMp$#z4KF#+aE15sx19~n6cMVXkq zK?~U6kqc8n*q|C4gm1aK^=`qVIzIK|{NFD1Ci=HPHkcQq;p|0H$1A&F-8*2ZNz+Ht zEN8ui*AaH9?f$*@;=U$_lJ7MB`K)7fv$Zl0ZsrtSPGy>=D6C9uTNL~_z*NAl%^?iZ zA|&B^y8JfsnlT%zRMVsvd6u6xYTN0GXHsKZo6h5>gJmPVZN!t-UOng+q7F_qTu@sb zwFz@BP7j@^o*7Z_U8fD}HiwC<*-CYR4NY$~LfeXJJ+rdnC3`lRO5gPh-QpHCb_9q7 zKUNzneelOAK;Rk~{Nkqq8Sj7$#l8$IFI(1F&Hi2tRWaib97Jp#{MOWeJ0)1i(ub?C zcjb{*K&v{TdM0R&478O9_)|vxZoJZsB10dELM@HzdIICGm*RdLJb$0Xp4B#pCWg%?)5qyAZHds4$n z5ik`Fu=godYJK+HRiU|J-%;2p<~NDV0vq+hYIedu@OaTvYF-E?a)eHw2PC=>N z=s4LLyHoO-CO;h?{G2dgLwTYi-2XTmbENdCFPLuq;c#SVlpMk=Om~d}vJ{p!CzlU7 zQiqg+^=Jyk3N^P){8yvY7e4M2tUCt_a=Xe2ll^YFLQYXQ1BAU({CJSNwGY?A+_Vey zaGdQJ?$vq7dMW!*(=?lo3jIJ6=P((=d+3lEQ!_Q-_`0da`*WtSv#%X%G0lS~Rfy+v z*Q^%m0v>ohLct_%l{g|I3$?m`wn2+ohk|e025v_jRur>`ATJ9^z~eILG-2M zGg`=+D(w>ze^B0kr+x#3-P~Aoskl`QePNA)Q+;KGYl_f8|5NP`*Ri55eqPWlhS66d zz6uAT^8C)e!i_af`qcaNryl8v#)fN3fwe{h@E@O=rBoD|rGXvQEbV>yfCGZ~8IbSe z0s|M{nd$W?9h*Nbj}5FB-^vwGS|d8rJ^8BM1oCih|D<&=>)qDVJik8R>5h#e=H#$<>lgw@ zXWZ%ydz!KI#@D7)lTA?-l@KH5AHwqN+rGm3Xb0QLfgjn3w-A2eU|EvP)(I#C|66G^ zbg<;IXJUr!kswDyT*O^}Zt^Q3nfzotajfIbyrhqW zY@1LkDE(B0xs#hsdalSZnO+Iv)cLZ^{z~-V=L`n$8rv+lD~EBQib!n&p3TB~Lc>9+Ev>-u1Vg-@1GHT;tNf zH2h@f;(Lk3HU;T}Jhz9E;;o@rrmgo)TO)T3h=+r3H#=~i9~<*thzC(+(blBplZldx zE1g^IM|D@af6bix*Ltd%m6#yx&G%gzet1kZaN5caty^g?8!E|2GrM2}DYcq>Z%yHL zehMwA)3WhP^ui2bW&H?V2y|v)V=I%qqUp++ZGG1-78H2M0)*>j-mkG;Wn|gZrTR9X8{2fgIoYh`OW?r2l2U>VO zSbbNIJ$h^*Yf+#4jGG}C6&7ebQvAwHQKstTt+*OId&+hZ)vHE3U`E#LdqgkITQ$QV zmgGdYrnFC<>-~YX3(|;uFfQ}ua*uN8V@C6W)3fKDniM`*zEu?E*Xg3>^Ud}rHxG*L ziZ4is|CK|up53ep2A}rmW#|N3<;lH07<*6vHz;*^hE|UW@uir=tx%8kjLgWv&c{rK zgdAis%NVHpnd{cn$4AdF52;fh1<+Wzk;d~g#y!PE^jJsz9@V+eT4F*3)uuM3w3zkG#d?6!wYrPEHaOI%K`U5(A~9nTdU_*}L&Qg}g! z5*h8j4vkI3#6CQ!s7}enR{!ER@zZli3u!juAy z*Ac44@@j-?zkw}v#g_{{D}kx)J#G)uLVoNIv(8>IR34Oc!7_YA)Cr2T;AeuWfmx*BOo!er|Rr!Qtnx+L$LH zv^|5b1uR=av_2?5>a93|dkGBPA#l zlx51|ADB7bd(*1(`5IITCUb-NoU=tAap7c7{e2v-6lQ0;ViBaS|w%CQ7;@CjY`p?O2&LcsQqfxsVy$nIGNw#%){0 zGr2I&8DvyCgq_LtJ3^aa^Jf3q`B^eGBM2zG*%+ZZ>(}Hm>F$$eIsKP_z^?3yFZwnE zJs#mVXDH#AvD>7ypxLzCCDdQYHg5-dbwju#l*9uPw{j}7NR7Osut0hsXIy5%?;k8< zN}ee1Fz8R0pE6QW zh;yml_oHhue;be%7t@0dBG-!71rEib9=8;B_r_Y*xKs;hW#{S&K|O-ku%U?Uf%|-Z zom0@t+8?CAlMMu0Rpn{?c&eywvJ?IBVp|3l()_vt>@YTXa?sWjV>>QW@&IJnq09%X zOlqB~Cru_>w7nlIlxMX&OsvjE>ACUnJ=#sqohx^D<^LW0pTw)nWfRPyHGYJj^gQfo z5QISW1%=vB{PY6$Wn6 zg19e%9@VQsp_jIcfHZcY>tEezUM(zqvn60lC&bkg6yTWW-|Ej@%2-T--T&p>J-2pf z!ib~uqyJU6(E$tfb~adZG`Qx0`(D%4%wQTa(dkdZm(_n(!H7X62+KlOh0XD&21Mb? z1nzIY|JUk7Bm#teqNVG^r6_`~lb#C}`su@LBFe6&%h!NC1P zknKh;PkbG`Iuz^%vB{ghW)^uMV%?D%Ha&K_QcBpSq;G+cw=Thd`nD~C2HKvnSOrq> z*&!!~h--RYwCp!iRyd{<|5LMa{~i&^bYe7l+7;0l7{uHuC;osOf@&Dng={3*LGn(W zB7&RYFEq;8PakJJh4ZcQr)eg4tiD-3PyFXpz40uY0nn-shb{4c;R&gF)GhTqb==9( zmCq;u0V_>!*f^=#4vk>XmD@!Kwcp6_$ZpTHz0*Cm<~hiVI`aBcNGe4Bhp6bzSGcqG zxTMo0FR#@XbgxFKk=Ja)h;lo4;T%_{{wdWT$1Jpv&!_j$&fHIhMtgQ2I*?*q;cJ+NK(cLLskGJoP4svo7ZKHbbGeAOXd-XX#yQg+i%u3Ck6%#=U^@{@25gb+DC>`!k`Z7 zz+CKw-K3MsYaHLW1Id}rQ0fKJAzj;Xi_g6HpFJ`kKP_*y&E+R-=u{!QZI%^@{(3L* zgNYry4{YW-j$cqxF2C&{CS|(m53Tkf8gLkZ_`monXO23B>T=)T0G6_~CfT5k5W9v? zyv#$H)_nrhO&_u7Qu)bu*8E6{LEk7R-mv-{3(*wWhzJ%QzU_rxJN;2|<&XS-CPEDi zduk06EB3Q0PVu-B*aS8}kxv>%R;eT9cJ~Gam(1{Sc8t>L zzLx9?haxV4l+-tve>Y2KEmo+(2?9YYc)QD1U7cpD55z+My*N;G)CGFKf5gB`;3>s2!_NWt z5+{%Wq<-qeV(yjKnqhKzbEsWZ$AIT^SN}5`hTA>e=B8WYRGRE7PA!*58?ewBH3EHe z_V&)C_QJ;3n|bh?eqI56!1$%~TK37A2Rqv(4NxxhM32BmgOg9hzyJEyEi8(k=UMSh z4!1i?jR+l1Cy+6X?MZxKKNl-;(PL=t&J3Ae*(7UTiM(s@5&SzT zR5i{zP7n;hpTVeY}w>=;UbGs{UZ8_5HSsv49$ zd)61DSQk|_G>E{PZn}vhi0pi#u;LEMiusr%S|QK}#vGkZN-P;zA;9M~J4ZG6maCb) z^HSMu?U{YUz$xnbogO>b;&cXFQ93_^=c`6+1M6di7$Ial&%z?}`XtDyiCrqBI4X2c z^TWUMD8Xah)QTwjp4_>4zc(koNtUEpUnB0!5rCQyX3==b@$M(r81dDA1go=v9QKKB zpMQ>V{TAFZ;>>krG> zNRSllIp)qptE#irM5VCGd3Gogk_XMAMcJL0DsfndEq!aQLOjE&Ts5MQ7c~<~fpMWH z#KxAh#{2;6y$Q6Z*ix{ZQ@4xRcZ88ct(I>lBYKAthg+yXe zh0@!BK9Ti4l5D9mn`N|cP`Smuex@DoDO)t&u9OAG`K}_gb({)UqEdP8q3_xcE&+m- zcPYJ%ld0EdzC%B95t3~nYE0*2ZdwaByG&?VTr-QjU26F`uZIi?`vT%p8LHdeTpML# zN0wkxNo@fQn30zW?l3^y~+Z~3)b_bF;)uj z^gn5{)f%K`u)ELK#5SXSRvza%6#B$e?SXmHwU?IfkQS$z+m~HUvOC)^6|SCu+wR%P zQyP&#Q=GLaO60(CZpFwqtuCQsEWdv|LoA$&mYxry(c^Ncn}^BYqWtsavyLy0^uObV zLIuwYov2pE`e;=5^%i==y!+`vd{q zvk6Qn6wb|O{JK2{*v3=Mw4n>06nHih`du_!#^~sQiZN=8cN1|h8qu)^1?7@BBFU$c!ixWy|4`0wQS-CeG zM7({VYwmEAZ)!l}xk{tCXk!jnbzC(gRN)(HH=cZ54*MJkb??fSu=$?DONYrnZ) zh|UhY**6-h4Eq;tv_myII&vHOcdBw#zimc^X=epCXJK276Kt$ zwcaopt#3E*aN2blE#-^RT(4x~bH8t-U(cmIn_#RO^U)U&_f46)$Iqha#p3(Ll z7h#I0-L6DRi#>;0%j0h?$7TD!o?ot1wp^}VZKT%^AwMhTY)`d%)6AygtIi+r9^?}* z_=W0*uy9A+!s#Qanh_|gWwYdZbeO%}O6U(Z*aGR+`6@Xp)k7357#0rPfkTmXnj4)? zme31)zro@i6Hq_#X;j=}wb=2z20M((*0)?7VEY+8%rNu%x+ig+@j8DoPyXBP#dxIX zbrlxxwEBpzLkkV+U%9O+v7V70hbiCaV_$IzuV_-1cZEvyQQN2OUUu4Q^%?0wV1;a0 z%E9{+g;8aLp$){^fe)b~CUqTpjI8_B+wU_gp>|1GSxG zKmvclVU%GZ<+G1tx#L~vB8`6e`_X0&i|z6^vs4f1H>$;~+f)3r0G(<~mL}P}0}nId69Cy-~WZW8?bq z@0(49-4NGqz0A$&p>troe~^clzJ9G0Z~bb)08ZFo8+eDodV-%Z^u|nr{Va@mPFVaS z;!Yc7!>aC{SJR_0yn|ec%9@3{cm^DhXhaxTH#Kd&aoiQ-){;v|#|o(%vx6AA7Zob_ z`3ksBrcX_g-(O>plsb-y+X|6#4%ZxBwg0M^46pr?j806FXVyASHuNDt36gIZ^G8=P zHdasOK3u^uj0efAc>5x_Qi!fGle243wX59jm_PmX&D36xDah-v6DX}i(X<$;s!wQG zSXg!=SH(q4=3+7@d4RC-sc)KV(7{)aS}42Bb=Kq@hv5$najlvyKqGT;!0OnVEdsTF@-f5Tm{ zhqTjm3NqeU=Ys+CEO%4yg7Lna z(E+3&Av6VP<9@2vV1~#-zEPqtvQesIBt>EapQk&oD+iC^(**t=Y1%L0>&NeqxLXauQ~eMARhTi zbDW`viE#6)Q!t9DQOEVdD9oJrDC!L7BO}!$E)jril{Byy2-vt0GBI$!WTVU0vV>{4 zkfPZ)$gHwryQj;rDZ%G;&xwIh$Yibm1gnB3|UZh-xDt9}-mP*`<-XVDJp|}UugfGBm z^47%97(W~W7dqKD1a_OCHrtf-HV%_ZaKPuRC^9QG!$EVBXh%{1#;)h`rBS{+wGOtY ze#Hjl*Ua7RkN{1hr1OHoxcBkem56TRXMQ_bt5JUE?5&S0k+`?C_)nr6W6#-JXaP29 z_NnvkF3*MM?4sWq7mGDJ-kVM=+l?A?ZZbHkIW6!*If|4M)8-mXl9y^}o&A1PD_fKg zKcfKMyshZnL+&;NEn>HKztLf|IJL(ui;x=>2z2LJSJwm zkbP_PugTga9NV-Cq2GW=@>lZGZ{RV%oTN^TVE1jBk1R0V+;eC1Mpf7f!3KX2|1X}! z-`YN9z1hc5&Q34dLqCe8_(K!ni{n*(0G#yf#ZM_RWf9>fD}C$FV?mo$XOy2Yr@QMs zVB^{P%dJR@(O?$H^`2>l@6zvj$T}}2G+%NT1mrib8y{I% zwc`@<&n)6afIVBAeZfN(Z=EC2iAiv<2hk<}p)9Y@bpp7l$|NSD<+S#(Zp%v75!hiRoo*QT zSaBya$S|TQN?gy#H;~C~Z?T6g5g)ePWi{`>D}tC6o+%kJ_bXY_+MX z+Jf@5NMZ}Mg4&x;39P+776G{|&4aJ;Q7EJ@*uE!PPmI^{IFT7rVQer3MDBxD*GZy7E=NG!I7dnVC|$ProtpkGOF17Uf~-Ua*q&_JM{@d}=Il z4criW>8(gT%rSK2$28X0N?if8yT%}G{_{QK{g#>%Nkg~ldjR$G3=3%o z?X6|z(Vf9e;#M*+Hjuy(&!>0jDaHJ~$^JnKkdSZm@}5M!GCgbHyU#g|6XTn+kQ5So zWyCqS>d4LVVrJwZTfYEv@-d%~Yo+bP4zu~mST9K_&qCoWE8Y%shZij!VZ{;9uULSk z+WLasw-@zvYf@TwVHF5B6`^Ene5?Fb)a2Ws?m=Xk+4IxWgv+4m>p!d4;gJ$|Bi3f=>;QB=YN^u=gpE)h!QQE<*W<2 zO#T$~bg>@pJOngd%VuEYYV-Bsj>*SkvKCbFZ?`4wf^kU*7G~ETkyBbVMR%nl3dZ9U@K)ALj-!Lsaq6f)8F5A+vref%_}o<2Hww}JPvp|yg=s<z zchjwjN=4W`u~cjhYT&fj*zW$~4P!2+?P?YuGvQYGQ5jLd)x6qAsDLH5kKVuM2%T>s3qiJ}gn5>33!rk0@M@bN##ZPVy){$z{4ibs;+2FWdR- zYAF=gGlHfnt5`ANXqKV|Kl}&BEvla3K|F+^~ls$6h>hYU5CnF3Ges29) z1d7XiGGorI9VcyK?(SKzBb6K>q}T5=X*P!kO=^v(#SPNO0&b8Gr^jKvtpjB5ti)2vC1;Qp;(b5 z^TTe%;1F~jse;;hXA)Q>+>~N0|35mCV_YP#*sY7&UnO9*Yal)P2TX}w$Hn~6KdO>r zavfY%f5)NpMC`XxL$~+S&Yu5ZZ5Zf4m-3;AjH+Xgu$OQ{}WBh zwzHqjb=vM%>Pl@-r>dtu&hC|G8t|QHmAfeHJ4W_-UQG-@2{IFw>*$ks*`F9nPvvhuBmMGx=GLeoC-)K5Ld$`}vnQTLZS5`XAOrH`&Y>n3ty|$ZQ%^pXmOm{}tuHSM#GBAWpDg#iA$xm z`;RU<`m?}pChDvP^aF6!apQ_{D>TC-v-3Pk_V^@S|J-cHkG$OM(Pq`of zm_8Pm;lKnJP?ukEKlB+O$&0GgOixe7ZeP_cNaygvF0UGLImf8_k7xYzCjZtq+t?js z(I~TywiGRvz}zZo3cP7{-F zx4Kn`q1`>8JEez{iFvjxg+hzfyQVJnHRi9N^AM*+piHRQxQ; z2h-O9`EtG_M{T-*#0GPS?<&9ooG_?Z$V2aWGi7U5C3bt zxK(iwicX_k_LyHDkb8TdmHQ()jutZ^0~;{ME5CeN!c_{$TbU0Azk1i6lz3?nvYa1B zlt`6Zcs`_Qt>KS06l8vLRn&iOTLbW+yqX?Qz3Bne2TUuU3wT5*-ejwqAIWQs_xru) z(VTnIqu4!aN?D71GVrKEo`p#QR;lNG%&TRGKx0cii|>|{`}aIuK`}T``t6(g#)bW= z+igS7gdrY+rZ$!9XX0Mp^>iD((YSVmn?AItDB(sGej&02CjQ@A+nC$T}7w&(OU zF{;HB)94prQq7t_9r~3bBJCn)&o-6!A77m19Qi`LY$$D#f0bJYL1i+}{^)Q`@n-AmZIGn&Yi%PgXBNT!RLsEccq#Q0YpR@5orWknZojCDq;+AXPd z9P@e>pHUnB2eh`ajf+@dCS#RAQ$PPc+qRrIeIkd38iSsmhGM{{+ZF_vhL z*&2~Y{xjYy6(2m{E`mQ-k9KeXz)f5RVS&tFrza-# z+agB?=?B(+(#(wrFbiQOY9=9<-O78%5;GTeO5?MWr@LlH7Gy(9yV<$5xN=Au@vR%1 z0=wPuHR&Jf1sm#t1Q#!dBcIVCm3U*3OLO^dP$te35x*x=CLSeFg(|Kqw5SO^k#gJr z!;L>Uhf?Wz)^&Tax!2O!u>p-S#@t!x8Wz2eiXEF@OqJ*sd;ztj_Qo=iA#uF7V4^td zaVXPJJ~EMh3}jJrzIP=T!s?02RU}z);kgt0m;c8g6&mF5vTpUm2+$nUz@FE*#`GQ7 z`=LUfE-84lBPH5ab{zc{3t1%~-qj+h!u=*3`k4_hOWUMon@yjZYzz56w3I@@xyK2IOBYczg4t#II}fUR^6!vNJ{%s#k~HJ9gf*Q=Bo zO+ae4D}r4vZ6=cL?C5w94_dEjpU-%KD2k>9SxQWfeHKne zk;n`BbP&k=!>nqTYV&ZiF_GeCLNZsgUPsfr!g33Z`EZN%3e4CR_IB#akqt|NDYnxV zAcrKBfoV331Sg}CF_pO)$yn}7Yy;;~Hx+0h$FMEVo^t=xIK z(U`G1{=Je>p8a-NB^D|r<;nY^LZd6?vA_kpFyr!clE=zKafBcb?dD>zb`!1$*b#*u zI|&0;P&v&ghbZc(D>CIk1H1wXeK0lGs(=B^^%;iyIC#%X=vMi_$^u82$x}_Uhq4lT zf3`dI^_L14Uy{Q25QRF83i7}6(i#)uk6#psueq8{hSm6gMG!Y$R%nG>VplBn-q>RL zZjBfhj7VE~?|cXr>A8}ZC6*V-%xbKB&Z78<+|5LLtTY?W{*K?aa`pG~D3=nAvhjRh zCiPlLv2~R}KrmnwCK^ncrZW4Sm#r98uB!q@9U1JE93k-BSk+IE?TUVD(WEiO*VZ^H zgw2q|HHdb(rOObP3##4aFbYby|IvN%_yW}XtP+Q(_A5DvGbG$ngr*_AdsdZpS2H5@ z?qadEa}wa_q#XCUWiM8JQ_|IX}sB!*jhBwk7MZ+Lo10 zzq<0Selj9j~Yq@4U^o(%nNewooP#8@s%|wDlRnud*M16ekg&1y1he zldXOVLJq}hnUX=+ejYp=k&e>xGLPH5Rfix)<(YKfay@PeU>h`p+^scj^XmzYYb<Qpd`$~bl*M{Iorw<66&>gKRXd+GOlR@q1o&c=>@ob$3}&lJj44P?XkLJX)v6k-t@Mx+Htr3 zVaJbK_KGo-amMROB^FP5fPihNe4^4CotSkE3m4kJR=lH|;^hFYl(Gz+$kI()yaU0t z752vP$Y&>qC{o!aH0=>MJ@Op0-Z{uJW>m1~O_#>mhM0N*v9E=XDErPe{=k0*N4~eS z7tZbdFr3rNu{kcgnf=n-@L~mUqobfS-0Wh%IqkA@A~IF5q`+ z2L>7a6_j-oiQwFbG%o?E=Tqu+i`fEf-D4`>z#Nio@>?efw}XI|}Z(4{vXNSSZl> z57g2mp)u>P7eK}af=V_lc+2I@_mwW+A4rxsHr7EnSbu+tOvq z{xui)o0UvunVWsjn~iQz@^Af z=ugrwgbCJaSmj#<1aG-MY!hEVfqal0r+dAm%pQ4jE+~QBgi#T;NZK-I&64=D+z@Y- z_+v&X>p#Gn{`>xhP>|#$>sWncs-zUIa8md+_fPwldsWux`m73{$QRl=#aIU{*P+6G z`hQYc@A{vXao+ZJ4#vx6HDaO7v>j-c!uR1bZ}ZN2irt3RlHQI zqw#p_s9vEUT%{w6^6b;+0xYGtaii`W2cr0kpf?i*Crc;8Q;XT5{hDXg%{!=>J&l|14@__?u-)t%1Q@Zh7u z;rILvw#F{022INf3ra{0e9QLr6G8R&E0JE6wWZ~Qb%e5u!dDH-d#(2t4Q(Q~ac5nN z#*`k>Z3NNdf&WqhRfL;wLqo;_jRayzpqk7qYX}#VYO6uc!l0AO^ch!NZT<>|X&hci z_Z}{96~t14#97ZFgrtbt?Ag7OjuC_Shv42p?}X7FIgH#o|`%M_a$&_$;} znl;y9IkC=)x`AU>1f)NPO?b6hgbVwi7vQ&t0jc-uO>i!HA^>Q3KyqEXq&H0Kuox=-A znXgs*qJn~LH)s(nJ+mGrz97mIZkb%}uIpL6Y0`~H&G{+Iv1DvKRGy8uC8h=dtlZ1e zBGUARjneKGj*~!bS_54bBfJ{mz+fIiqg=*`pZ&^6cSZJeJQ2l1UHH-2>=ZF67+hOl zT9^yKRgA3n;3QCrjSLF1s`%^w6`7Qc3=MuhF3+DPC5}Tb0XL14_4o@2|88UO*k!D1 z{Z+L9p#1;S_%yO|t`q`>E;?mP&ipLSWm7UPy9ZDo?s~TgaVsH*Ox1ko+TJJikai8V zf$x56U}<5=gXqB-?%kuIV!NLL{|XO*dWqCcXFF#`IY;NdG-Es3D+o@BKQC3&HB{u~ zS*rI&H^8RIMZ>aw5ypE#ag;O4uv^Qy2$7^z)P#emA!P}d`G3{3f~_qPy_?@34)@!X zmOd4g_qZ(%GtzTD9Wmf3{D`KxWTr}9VfjbmjzT?!fQb~yI2!Y)@Lyx~mx#@L=a{!AWF zcV0UR<}dO+N;37Ge0_?h3zYQ~ox^a=&G_Yx!V#41YT>qB2!pxqlb zO#h648}uAossVi<+9mx@(hz6D@ndGAYLFeFaJpoIvaYP_(9{M}0w{qQvV4BSqcEn1 z6rQtd=f{N7FZStpIOMx;(6zO?sYjy6eNK+7X#xfe(N^;x=@>uTOXfnh28{-JAeZ4+ z`2tBk3}D(aDb@>)6YNZjk_wskd{;(!4g!`daji(4=^WOP%l)Q z2TFL6*7sTx(p;8taBDkWGEyLlX7HMZ&dG7a1CJ7hDt(#{3?ciVdkTl$3 zcjaHrUSp#>s%kSef? z6j)+fZ)u|`tTNxz68dyZ=+6Gwh4wuRdp=^ot{78)FlVGXb8jRTT_TdJCHY|FZJ+7N z-h3IA@G5;@t-vNaG|+rZ&BFrsEO){0Cd$-cvwcSI7L3L|4UqMO_2Rf{0^xx%q*;t^ z6aQwCGLzoT-5W4wA6_0~e4LnR(u+tp5;UCtCq`|}LRi7e3CAL7M*z8Nv`u^(f8D~4 ziEor>Cs=uB6D+95QM6w&igP7ickt+KnJfBqZ*|^WD9<0e?3_ttpS${9ej#u0)rg)6 z1}$1t2eSvnhoUl34duM=6s#`pI;HcKtF1G~x@6WKCo`pmvpXG^XS=m7~E03bAyMyhn^?b zG*Cxv!5+Sdph10uT(qaUM=NiAW zH&iwl4cQenI}zn6RCoQ=8p^QJ&)Unl8%kr)+br7U;`tkCwQn8+5Wr+B{X33Z9^BBDCRquLTCm_B{qLt?%La^ z&?M*Gsj#ttew0ru=GeS$&9+%WXAm#M&F{H$3JzpSrKai{3m-kV8O}n_RD)S~OQ`%r(uHp3YpC!r;iX>wx;I%X0W@3Y+3G@Q9J0QlFHj+n|ynyj?|6-DSXPhe@$;|fJ5JI zu*$3IoDukPM7PNQduWoXsi|c`|F~@UPTLBS$!tV|KOwpIIf5o{7i@DDy#Bg3Q45I#=Jv+YdkifJ<8IzKWl%~{7Ua(B@0GH zUHJDNcPw2d=g36lj)dupLXc2zJvle!&5feeD~!C=)02dzFB(f-KnW0Dz=7*y$2)TV#uN zr{34-%843uB26+j%cx5KJ~W9{ECl9$i~5LWB}W?XeV?9{+lY;Uf^9qJ+e4Dqx<#Xs z9t&y~kNDA$#+4R09)kqRMC9k*{&LOsI=sB-_~RbRS8Y)6Ai74}Qy-mpN7rLH7#F7h z*%^xQputf|LSAx6p;gnN)PCaB&hBgDCbqvYv|jZOQ2DilU;ok7lhEg?aOw!Zo~jEAf4 z`_JP48LFnA`Autq!(F^!BL2atbsK+FUminkuj$lWF1S-t|>*nxi>*L-{rC}0)y>5rJFDTzhj_LflZQ|hl4dhhut4&6Weqglzs?Qex+ zdnaQAx4)2kvdMFVewa&Z2`{!|Y!$m0ujKfn9i%28*KM~pm9tMT6QXc z<_RX37YmwwvAfl))$i-BXaHj`G7HzxL_hRN2V4Bs`B+ZpFjMvPw$axIE02WO!lbHe)waeEDqN<5bCt(@ z+;c>J9W%)@wVv3)9#b;KYBKv2dZ0Da2i0zZ5-1mn^VniKzIjref}ix!c0g$V{@@&^ zyk{zVo$`#kPVA^GEfg#Euau1JMZ#wp=zgyroynywV%XMhD?;PzF zb!RI_!_+90*b4kVoq+#lIyIH)p~W^Rk&Guu0S5!+6px>!ns z#QFN)4L-JNq!chi_0#S}$xzzojCA(e4dL`IHzqMB6EPiBRt*Jc3Vz30zam#I7;MG* zZb7nxRH*0qz@xNs@!F2vZ~0(+oFMb;`96wO&EN^a+f;U>)dTIG=Yy_#1!PDs0Ov)| z{Y^Mv@O#)>xv}8?l^inRZjaMH`_n>fq)JGn4}$>!{VZeLyZR0}r{&|iE>)fNO%jFN!6C4H@&bfS^Oa@@X4OTVJ7<8l%g5<`x>I^f8UKDZf>dA6M`Fmv+WsgghSGg|$E zKRo~W{mDJUws^@U%Xo_r-7p2CQDT{!ayfpSY{!ptHn{>1-)gth`rp-Lm0N6r^4iK7?fF16s`xU8+|Md#)4`eWtK}Yoho)u)X0+w-1f= zAywT(@jKt{Q^Bx`MRMM?FdIm@vDNFM=vc88q7MC$^S0P+zEIZ{(^}JkMU+0OY8SUe znu?s0IbIV2gXq{rRoLe=s*-q|?ACo}7E1)-Tk#^qbE&w(rvM)+!@$Qn&VUR0OIT~Z#%LgWmt3-?vl7N5&zTKgWdxT* z8d9@-EoUhGx;JtA7nY@zIWeE+ser(Ypf-)cU} z+_oggnRsQ$y05MffS3Lprm^#K!-y_QZ+I47mlrWzV!zXKQtZ|{=>ROIh%TD@TuvFN z;0~Q;$R9tpwHZvt$~F{QpWI_{Ci7FG3Kwceerbrkx(rnQm50VsdV*M^OE(Azo9}l5 z7R!4pAda{qMl3Iet1vSewXuQn3ZB?M?V;b*1@2RF4RjGm{<|@FDKShrOlGvll#B)V zj=i;SY;6cO5^u3}N^MZs$8HVZY5kdkl_CaT7yn!_P0AqbX-lh=Vlt3VTN&mkLAv>| zxmvji9TnJ#M?vs{QLrZXSWyn>^k8prG|7cVaL>Fl#Np~Igl=QNfVd7Q<+%m3EI?yB z^x~n1Rv_M;7&P!|Xw_X~9$PO>R;F?@9ZkZG%(zxl4<4?mjp7YMMy)L-_~|)0e`Wn! z`f|;>80RnvjrMi2cB1X#hQ?DYMYN0S&Wmu)@3Z4j`omRil3LQ zW(PD*uoHFt^YVMU#zrjlep@3329D$|!m;u~f)PnnpUB6k#V;#McO?H|AuEPhsFur#j zh4=rnTj<|)vhb4qe?{G9NXuDpjJLQ0IM>k_Ab(NP7IwNO{p<^!K?Eg}_w!{- z&L+Cr;!w?ztU_+-l^8EEM;atM0SUCYUu?s5FpuIfRbkDg+qirX3wp6&tJDqqDOU8&7JhLRX*;;PAhq?{S_X zQyMjY`6`is&t9Pa)p)dTJPJ0HwIkr&x~z{j0ZOvzjZ`NpN={>yBBr#xoL>pLaqhSKW_%kEq}cAX&qpqQQhKc>|m*PGu0SMmj`4?4ycL=efn7k_BJ zg{#K-Z5?;v$%5(rU9EkN4ZCnn(en+xdbuU@n2xIAsFd??0qSE}s|IOit8AakEg~2| z9vH|u`G2yoDxx6V<9{?-7!TMyjPC|mH-B&yR^Eae-LK61nurZ(#d#3b@^zuA8uD<2 z#;A=6^a?u@sUm6V^(4V0KDQAo`w_*Cmogl1NOiY-DxjCvUS~^Cz}2E_I^hdCIuoVu}?8fV_g56&U)ld z8aktZ`N#%Eb`%XNB1EqGvVvE)N4bf}l@9qPpuzlKNG!U;ixoEHry}aPSJa0lbo1gX zJv9d(1`B`z%cFW>v3G_^Zk8=IETroY*PqoS*P#A`OD^IVe#H|4<9r-$%ungeY*K>X zvh*+siiMM6lTnqlfTKZRDFtXUQ&C^Ti@9CjfwlUJhsno!xjSO$+Y)C;L`Eu{qH{l@(e6`7FP0Y;qId`Ps`>l zN4K3A54IClN1L16Lyu*VF^)7G-AGGMt3>|%o`Hldl`)qB*KHZ`4 zep6wM-d5v=S$c4$kI<+2uve$2>zdd>_9D6?KH!-VyTuC z$up?H;AZ~8h?-@jx`)S*O1?W{6lwZPtcJY-S;9WZb9f0;Cl{ShEfpPufti9zJ1@N- z)JCNU^CU0-;BH$$z3n%;o~voNx|E)8S~{8xnvR?$Gr#<&|K1)TQrWJ)L>RD0F7^bB zux{v5lfst+1ey7>l`oYf5(7kwGN#{PB^+rX{R6MHRSJ;YS5?cc$C`(8*k4}^oi`oz z`aipel*4?vX0rtbIhvh0^B%zCdn~mib*4aaBJ;@WY99rOggTxQUbUaS4P$zd>6 zil>C&U!SLI{5A6O7VbGfGInOjf7JQ-l-L24gYSnzfS_XT%I`_80 zU;MmGCboRT^}q5;4*5GIY&4wa``Gik*rl{?p^VEHkyIvGD6&~+`Q^AO{6N6#9BZ-G znI8(OB2hq~9>>A?nk!FhQm?;}=^aY5s}~At_<}uTV6WyZ{#5jO5TdxU_}NcY$hLK{ z^ilJCjdE7;BbaXW9UO}R&;7-jqwOA(ulab7TZIc2j8>$0M*hRUlLPTvY6D|(1uP>^ zJFvFVc2D7_AJl1>2yMTmja9S-e@C_bq1|j37v)h)fBUp*D!N@7EifW6dB;aKiYlZL-u)jM!?MYU|**rI3ET3#w50cU;f@yQSd?&qiZaMQrf-_A&0@_C^C71#X+rx}X_&FiuT+neb0`xtmpGem<;$ z5ULi{YSOOnyT0llYAm_V7@Lf^$SddS{bY9E@tI^%UWo$@H@nQ?AMmsB7>Z+d=&X?M z01`c}7j$ME{dH86CPCrg_Fxn$&bxZlMe&I?8IBlV12x@vS&p$g(4P!6t#qJCQy53EWjQ#P&Man$c%% z=wmsz9F?H2kc0q#M&@H$5|Ke=N>5fe@Bv5pHGYT5xk0v|`~q>g{kGG=wE_U8@QsD3>#s z{UWPHsF35`yrRRPAoaa6K)v_RBPykjl^s*XVihvn*0T%3L36Dxf4REYNK?rKEeVH= z+S2w=8!m3?f4q2}qs-Iyf5&i3?Ty#YKhK!y!`;q1j)6_3|qDDm{NNrK( z)aS+E&LIFhTUQG+hmkc&m1> z1 zVlH5PX79bQd<(SAAUJoi2%;Yk{!O&z_@G@pj_1A-;59&LZ+Dd2*zGuSe6={Lxw3A6 z6AYNBt7?!+czv=ee=f}3 z>j?*^lAV@Rx%F^W23C>E;iN_g{hrP2dL0<8mz1C{^b90@XQO2>faOx^IJxvRW3o4B zD^j_fltmQRY?3^j`Hmx}5gGTzj9O3vO*lpA%lexq<;gCm*C2*d*jxW z0apS(4u4wBPT?7SIRRy7Nn^4f{TQko^Rkf8XHyeV0mXUrC7qqMAtE(L3A#z zo!=7p5$@g`DdjWL0)Uw05q_|IpZ=1m**R;Sv!~LYC(zFwd!kbCnC&4ERd;&4n`&cl zR`prabb0&wD>L3uc~^LL|M4^PJ6{zv}u$Dd^0w=sYD-}%SrUul$LuRr8*IiZ^nNrdhDnsW{Q8!@65$0Dgb5T)yyyBo~-<>q9cWfWj1Jm1`%^|$8{xk={H~NyfEl=sI zCKP9F9sa6wBsBZ>J$6xYKRmI$=u^q@PwKS?ZQU)>E3$F#f2t=NJP2+Az7_#uY!gPA z+`3-|k<%3t65f~YmaTd`wmyw?8q_c%(zW7$tpS^?FeBhVed8*msqt?@P(ftZ$pid> zJpSOAiRXNOvdQ21+VQ3O>OJvNIIKW&!ux(QSu!zszU*L^P+@4WewXaY66XIa&PwxL4s*iw3jp`cpBN_O~_ zz>ig@!vXKRR{b=4g+F_+9AlE_Gr)o`TgmoY%_o0~=$T(hDu2!R;EYvEpS_@mz&089 ziF!~CC;tt_S4UKqpXz6fMrG_;yltVCku~1EB!{Y|M3yTphbFfML;#5XRf^)lI!aN| zBPBreQ#N0zx{O12vi4^W;f(`Glw$sI5lz+w#Xsm)=p;%0`^<7AKX4 zDO($Qe?)=F-IC6ud75~O90S#t^laKP{o~QUGuj|S1tw>-JUThJ)IOM#k`5pH^x|7=(O(`6e`zZ z3=yUA%fv32W)_#FKwgX(ANo^vAy8ug(cpEfFC)za)yT00C6IHe7Yc~kq|+|)^3l!Q z4t}ACE^AD$Y^NwooN0SS>0P!xbWWBh(%{Hr_|<=K5#j5(M7HuJSbR_JUUORMJ6O{{ z7*8l*J0Arw-m!5nq(wkwRQ(6_bDC-t_EVOU4g@HZRz@(C&bfT>lVsos&ubBIeeBo zwL$aM3+>#-3~YR-gOFj!r5>l)PX?v;R1SSCgJ@7t8BNO6mZm^3_hymma$vU3Q#&As zqjOG@HF=aORKcZoo0k6j2h%qsaW-yu04L{NA;)-Od8PxJzGhK(5GpSL(_%V;i6jZ(lc(ak@p zF9p4nKvBAH3AZ`NlyFA6?Y2v78h^grwu>Q@JPstT+0 zgDSklf9!ypwkGIq-B<)5yJ@!$lWzXr?9QKOw+RH0O~P00$_L@(3Rrt*Dz-2A^~!RM z8nUM1Wb)tN+3<*65z;>)>A``d{i?N$K~p>CHcG6q0gL)zdb|ODCYId)6()%2{FEba zLzAZ9+6`(JSpv7ZBiO#|JUyeRFDF4O=o~LDTplR=78rCx+e+1g2p zU@^=R>J}aacw?s(X6sVl5I`AcBGhZ{ioTkI6kTF)qs5lK>u!Yf?||+bmLYu^M{&Z8(U0$Z`J!o3PDHPU!go1J^K$%x@KSY zUOYQ1n|L9MkbufCX`3gj@zY6u45@kiwNfrL1x) z!I5()QaHsSgp^|BNP+~(DigryP^9E|%qa#F6M+;NsFWE}0do)|F+wns26RFQI(z-s zzIv_a{l49^yL(u>-siaw>t6T$yx;Nvdv`a}#6lTFryhXAWqlQ~^cP|JcR#I>uUet+ zNx1_1?p#shU9ELH1JQG;t;XJIVsZNVf%l#&qiSyiv<|duEc^24$YSl^leJUWrygex z?3@~TTxG2A0nR)bQkF_e3X9Qy*UaK%Xm&TzjY7 z(RcTspa$*j{XiwF+J&z+YvO4OE39W%Gk_5-AE{=lh7C8+YE*6P+*j^rVEoOG-&G4A zi$~;N_5vKfVh#k>4t6kxNIlJ|%^E#)0S7ANpA4r!p*hgb|d?XsRox%yul3SR%QPJp*-#uoH!CjZAZ`#Pg3}0#>TFA|4$R%@>2~ zSFd2F3E(c)7IT(;oh%f9)4PdjBNwS3dBUAAZ|!_^nU9 z_GTidh{e5fX6^~h6TMg7S1s#NDE57-cGxiez@;A0W7l>I%4Kh^8a(n;7uzQ}7({a= z*OSwA^#ilblhuypqur`iAfpCeUN7=T-jccMyH&0bobz-fy_^vTLeH1Q%vyi_Dtb)p`L0+T+-wN39g5*J~1d-&^v2(0mPh)*gk&L`Wdj>lXby;ETOyuQn zU#ep*!@NjzeLyW(8#Zdhhy-*h$_1-;3!<5infYK9o~C_;U8&)G*Ur?)16P$3_~@yV zU7lL(`+|KX-TPkkiQM)}pIDwR5qz+9@&K>2lS`JpHHC32P7sBI((+JZZG83Uivmp8 zz#6g(PaaSumv}19n&uOCTG=8xzwB52t53a;J%0Kh{`BLQ*!)Xg^v%`jorT$I7x!X) z-wCi*Gd7Av?`e2>&hqRCvbS0^9~-?y`f&_acRL3BAO%q9#Yz@G-00>H@tvXY6?e_G zF7St@;$CM#CoZP}dadSPstM?qD_>6fk7Rd_puW#XcH*l7*kKf$&uBA=^3~`HI9bp6 z0eZ<0k+YMmmADtttW;fj@!ex3t3|w>V;QT8s_=?1RV>s=6voN%2elxpnf4aBlVqwL1cSfIqTcQ`8LN~VUWqLE*V~vWG+JbDoKUZmQY zvSJmg2R(}#%~|8#j5s5D{b1?dJKVK%_r%ojBww6fphgfI%loVznXK?dpVEDb@%R|m z-db$u4(QbB$@o@k^tuP?=A!fZr;P=wvHxhS`Eccw8#pWR)YyaPwb_M!9zS%|qy`JU zX5}na`TX*MR`R}Wb`E>A{@Nk&u&4vA>hsP=1Rbq1#VT`8u#;gGtF<=3A{yXjjw+D% z%aC`Jd|7I^+Y1ge%669X{;J5A4k|=7a{aP@z)NPO03hC zBQiDjFW?Tsa^++v_A`TLhR+{&?}vKrLDmV|Ie@>=%g$rpy4LE!GT!IK&U;1Xqr$o% zF%`Ks8!#yyYX#l~aC)lroMhuS7qlkW{;|l$qSAbJPiqByxKvtAXEOosES-)F`f${+ zhSwuCRY6%cabr}oE@0UkW^CU(8*eY!S0u`ptSdVS(GXGOZ5 zs+~y9GKj4wOWWE&E%{**!wT%C--ovubAf%%$a-bdM-?;nFZ6HY-DLnGc**2CtCJ(o zo1Zz^pbFRCi4q~3yln4btFyLCtj(d``{`~~dAA_b7a=Qeb$)mf?_X<3hK_zQqy{jF zUi?J#JDVs|aFWE&+^V7!|GH;w$KI77w$o)bhqY6Z(Wer0y3L<9{GB&eHHdFsh7o%# zBT+Tnc?6c-ibT0qg~~+K@IIKygNugcOd9JBgbVApF`Ilv#Xm7OptvQsqf<%@L2Yp zd_fJC-fDwYTQsh!6NuWiQbjiva{jF%YA%Rs9wVkR!yZ(jF@Ml9*M32&RY27V!cNXC z?@O)iJDB&%dZ)8nkZ8VSG6P&J8G(`ZT&9`@-fGdgSQ|Lql^H~5=R%naexi1j18O^c z04w*Z-ih|33Qn0sZ#9MWozCKly=LzC56MX{M0aNqRwKJ1+4y|eu6UL*yIwzan z-hKW%dqJw1`Fv!8RP@z>x^FaeptpWJKKKCpbvl@G031(JRVF4{C03?3w{u;g+HwIA zYg+4B?RD~+3FH7csV@Vx8hd9y_eD6~xhh7T9?4MWJ%vRb`#-7Q#{TI)_Fp~x?*HBI zdeX-aA5QIap#Oprv%o2s)F^vnSSKg&)Ish^{oWBg6;M-&ion>t4}Mhu&q5VqpE`wg ze(gFH&7LvUux0JzEmPPTa2Kw)7Xw?X>UOry6QXa`$>VCTzW#YWCRZIY?B{dC6@5Tm zpVu;$lh|qp*H^~!1EcJ)3zg2OabhQ)7Vi(4WL=&`=@7Sn8cf1o;&g`>*sz2*4V{NWqw4F2-%#HK|-pbXYh6-yyd^w%rJ@0$Z!$1EEznI|15Fh;OAAI~P z1ws2VQBE4`oX2cpoZ*B%HLy-tQwFQA9~C^i^g0k%RD#D| z+fSK*s4B!``yRq-y&AAsK^a73qAbgJSI)v!7Ckcq%#V)pqH^sRFN$Xmekky6!t*Zo z9%l~f`n*;puY4lJta6_1)_PR{5iM6hynOU|=L(XyHZ!)i6~Z$la!w%YygRYc#A;P` zxt@vq=?B)L1>i0#Si2p8d%#S9IP3E5MGSTx$L8IQ1U#by;@oYyV7v2b2j@&-HNqZ0 zxyFsfZw!TN-z#2v`Mav$U7x;NpJg5-q7G1)JK^wDInFZ87}*=gb$%cQw<@unh?~&9 z0h#iXt{)7jYz?6HrH5boPw2O? zzvHWa`@`S+;g7sLOVD#P+Ibc^_3gVZb)L2=r&{k>{Onj|sX^ST+JSp4;;lcG@YE3c z)W&9(*Z{9J^eIqYO*GI8$XAEBU*cMA-*&?XR?F>kSIEt7C3=8({S)>C?RK8UeRbeb zfl9OLpplvHKTgyVyS_Gn_uWYLu&fERQOe%>0DfXo^Bz`(ntJR+s9H-TZ?9|I39`#u z4X(t3c;w;Wv-%4TBd``$13D(g=Uc9Lu;jrqOOzO2_>FYb<-aT*3UXYWc)HtC&7OJAjE#Bnq{tK-HSW zPG#z0Wn5f(s4==m zrjOn}7rM&R52ypy$g$h?cfZ+l$q%Yy@2*~9bXwMG`sE*}RZwR>*!nZq^P_w+fl=0E z`*`qbCF2*w!1?JNpB*$8rP#U9M7wh(;>6X)5_+oeWd!B;Oe3po7?~Rj1uMa7dnI2+ z`PHGyp42thX!WzVuhEBxU;5-r?8m?P5j!>rD+8M1y#c`wQImkmtB?4aDns^GNj-l^p_3xgf7bDnUh zf^AN~5OhbYRbE|H4$z9Hs-1H&nfdE4;)w3LO0CbHxD41tt~lqXmc3E?aM|rX_-k%f z1nhd$@tayurR~>v)U>mQMSZ8{8MWV~I)nSd*CN{1v}a(gcPOAEm(OD^a=Fly3)6Z( zvlfr9te^VH{C5W*9^Ux)7idFPSTeRU!YmEz%f00jEnfzM=kg#T*6oAZZ|G#qu^QR^ z%qO-_wq~}EPn5*a0&9m&RZ$NsDqOV$vuKmazV{%2vz@fmGiM$CvhX_Z{*)M?l+OLI z09x&D7g5G`Dz5yZC+%F$5mb*T@QXYVqDHI{)n5htbm7D*$wr4P@lzF0V_mha*K!Xd zn!S_w$&iyBkP*D-ftmE>5~zUK(IroRJ23GgtX79d1uC(9MFd1z5sOElO2C>j!!w#4 zdndxq)o3hE8{0_dvm<@*R0+%nYH(Gt?9BlgnV)ESCrW)*=Ak?M7e3~{js1b|`+LA~@QGjr_Q1AYMtnMIWw`U8_B9VHG(_{AHd(s2wW?Of%Ee~ws+F^V$k}4sZ=7@^PI1Kqo;;8 zS)W_pOO=x=lc;Orxv&ai0ZRJIdf~};)i*v`KmKDs{0<9$+l`*g# zM8WLjiF6<>w0zT#9gBZEoS4k4v5l$;>XUaWqgjcV=_~U9; zal6U7wYOt-Jx|~skb~7s9|LuQ{>{v0=*5?jSmw|H*gn=&8Z*uuTXhAwTitsx`g00l z?3VAe=hSkI?T4ot%}d2N3qLvD^qVCoC%`vL9W`YnkHxz6f$_%LQ|;#Hw3=|> z2_ixE{luTG z*FCHK;GbG2Q`@NMX|lif3qSwi3%}&&68IP)Ut)jc!$0!Gy1h5-U5Uc-Y~tz%#Hd2EZ4T1vP;m=;!2GS+^6Jvi9?dYfp-b{;H!~E1KFT z@4TO$6ss9$Dia+Pf@GRKd1gChep{d)@m2jgRFZ6GPwM_$SgjWgx!gB?d$^Wt)$w_<^URkPaMx0m~EfV8W7J# z&30?g?E%W8K301fzpB9vSowENu;uoDsh$i~$z`=e@-V2=4i~QxaAiF_eDYgA@zMUs z4}IiufBaPc$PeXB@!{cZZ-47!2_re8HqFg3)ZXA7Q!D7uV)Iy86NM}P%G)^HR-3nC zV<-nyQVqz1?5i7~W5zE*g34sz$ctrFFO;2q(Q{K3^b40OSMtfhvrGQKP}@^v?F-f4 zJl^Zc8jv%NHZY!DzI$NLt0pJ!O!($w z##zhY4JLWMIKpdXaL&FTp!XhYG^|~4lGKD5UhClBRvD3#8hY%k=a-Hkc6dhNGJ$mq zYsvN$v2MLw!L5?K=C+^J^4b^PdYq}X+FAQ0zl>WZ>UPU&kDUn)lY#6X>)*!yM_==e z58w4C{>)=Hk&fxr-mzd1TXtZqYtIpDeeCnY-Yk~-@z4`hZY=P=wK72KK4cd0tuvRs z-q|Clb)6?@7R2XFvTNnJ!yU=}@U_1Rrx#f3S3SN6R1uv1KErmB@_3}3^PbvuF8+`+ zL!D8)zD36Q7xaLSj4ZOzH!v?nS=M@#1h>( zT(??YY`?@&13$Zr#_q$8_RL-tcXQ0q&-3PjRp<#jJN5K3n^+>m$Q#dW^a_`_&tp}| zRLd{A>R2b#YIR{$EGsIX{Pwp!`o|a9AOEqRcy#=AZE(r}MHcI)S*{MA8b-JtA^ue> zNOk!152KT4q1X6T=e8q}%;Hl#P<`jU&L0cjR@$4LFBP!*G^}!GC6C2Lo-Z}BfW1I< zc&gQ7UjF3G#xF=)?~4F#+Bc{!>-I&B9$dbqz$6>*3S-o8X$RE$ z+&~XYb??*(>x10Q`c|FyI~T7J0q+W!^h7gOzwmbthwFT9(>Ix_!)kTW59j9Sj$Wem zyw|}wWdK7k+sA#3|0SNV0Dj1tUe3FlWQ+Md?)pDT#b6zsB42nhz45$5;-}63MV(f zr=nTsH{JKDB{+|bdf3@I+mtI=2 zhlij4;+H%|QrZ!)mT4wdMyS6?CJ!!^tGlt_zJ4pt2uz-$R;dh(7IYS_jw!li$|d)O&sS(ZBbj55MLY{hJSe`}_a))5wYI{qH?82Ch@~IY=~h zaC;6P&pvkKwr3E#_e90+Cy1`b+SFY+((xZZ`NNl0;K|CzTK}9B#0Tby?72}6sIHH-OwMjZ{zm(w z2HrxJ6({uVwrItvdMa6&F3IfUYn?NkP&rup;o;AI=)2qQ3Gxno0O1{hV&V*UN;)vB zp85XPqjel}H5ME#rJWi&nGZ zpB41-r^GNiFY9d&eHlT0xqvUf*~@Mot-xK@sS1x+fC{m!Smxsib*?eyNsW_Hw>*Hh z(4tZ;-~{Ec!tC=ku-dg3SwT(x02X}y2s5p!z8{_-@#}9p!UN%NhLwFgmV+Xd_CarT zTfs!^R<7z+v#313ZmSj*whA% zWNmdT*^_T}6}Jkmk^6J|!L%H#UO}`uA6>3rRs*uB$@3lf*q=}tE$lr1s@5;KK& zbtlRcR&C9~=SDSlq9AvSc{@Z=5L@7%G3K+999p@^(X*Ub)#;l(aTrvJa6N@}C~hfs^ur z7b;L;@A&j;HKOttpxlDzU1vAQGNdphB|%CElHqGahtqkUWpSuO!sSoV9`VvG|Ia z2(dncg2u^p_X3Hs6XVe|8jF)`B=z;x=Jgez)v4M|rq5paU4vHlu|%aD5SHhp3#*fK z2JPaiht_otpLyz)7qEvz-bXPpbDM9DT^`wf_6p*x+4cFM93<*zAsyrg{oJp1@^t*R158Ozs30FQjJI?lvB$aQ50R#;brTRrDk zW-H;M9^X!$#)zNI&0o<+d?2kY*n=J*yXC}|o&1io8e#g^{iFrK57RlMtvVUm0;)@TZQ(>GxJ)--aFT>R)a*mt{En#-d?b< zf_Pjg^llMN+RMNdOCc>5H7rQwt)o^V*?C?Q$o{&0^CX$7Jz*zmEIMl7c`tlLh1t&vBO-R5cf{216{t_F zC*3$;nv-X}bMBgbb*K#ztCu|ylm#5C@y%!D8F!sTEl~~?vaM-9pnvLUk!?JYD(xhz zFMm&S0+uz~2P+_-l}_qr^}S{Jg{sL?sal^I#PNvA476ImN`k6@lbYXZ^Ub(UKyB;o*^6j^rQLu0 z6;{CC>uJxM2mLWizaYC^0+qR2@O+Ch8!)533j8#MR%T!pKt=ZJ%;=mmr8*Uz7ES=q z#~F(c515IomZ%?2*VT(Y0g*i$tFR()3f7&*8Gs7b^4Rq95t7%O+OG`QC=0CmFqlAP ztaAMDy$?Gu4QqTK%T-d>E9+*{86|Y8nw=^;Ec$~-)lP7xMf^llsXD+)uD#kn7mTdS zIL{J%<*)eI{I!Cw{oj7=!-s$H!;d}kXrSI_RwwNQN5?m zD6)G$WZvE*sskq4yAG`F^AHC0eKf)|lRwpICO}OU)j_|m`l={mhf62BvZ9ZNBHpTm zb-wR86)`XP#^|Jit5#U#jCBuS_#6-J?P2BQuvZ^6Qs6UXcJw@x7nQK`jsT1GgfZB7 zzK6tTzJO?XL;-b)$cC%M9+s8%3bZ)QZ9ST06>Gz+LhS3T`qWtsqm#oRVrR0fstI${ ztOAHv;GMITK_siMJNes{Sa|Rk?V3EEJ*w46z9SGPqo(ie^ilNJpF2g$3tL$cMzK!LxqTi-Ze(W zeFo^6Hq%oDdf}X`lLyKL_|9^j0L5HAm73JRKjX1C0*Iiq$Qw$}z#DTen8fdOF>5b& zFXH`>4ZJ_q`z3jsmX|CQSSj1U*!>lK)gc&&9!fY~3)Cs6BM}^)Q>f$%P z9RrjC?pE^rl%I==pjELvGbd03P9oa_1`#J&yY<`44=FX}oyxq?w0;q$U3uloyYih5 z?7Syh#|dE(yw6%Y zJ5vVgna5Wh^gO=)dq&u?bHxKN@LA!jWQ81H7BC~z7Hi{GvpFlb$EgDngHtrtI<2Ty zh1sZGZPidf>(&#EZ`8Ay%T7n4eQi1gp05IsDDh6%J%3=(p)<5&5UY>pX0w(T8;z@q z-Xa-dow8NSzV)_eP#;URD^q>f>^=7_H%LCOr`GNSRKwZ0EG{|3(OCt~&m$q5TzeV| zs+IlxD}RZ-{mFOKD{j8XzWEbB;mNuqQ%qznS<7`7-iC5r z6GvACX9}|ajF;a6iEiG*SBt!nqBS}HcD#lEbwO&DvG?OPbIr%9C!D`b=D=h6g6OHT z4AjmVkeahD;9d&v6Rk;%$WvdIt$!re;m6in9U7yA?N_QSSQpr$(Uu&bS& zi|T;>tz#BFI%Ebb@>;SoIjV^eb3GwrJ0+Sp{Z6HTSzt0Vt7pZ+-aAaZRSyqe`72-l zZ)1Px@BYxk|LNcV+DGM`ESB@!&c{?c8|d5s&$^(hc92^&&gnG1me3|FDp8sMW!0 zX`{uY%`b>`l2r%JQ?&pap8d?XLL{=9vC8Xw+!=cWvHG5~b+>xtk~Px~jiy_zsO;x) z;1rF8AEtG!)!S)+u`|>8t~q>TX0kdT$i8zK515eIP%A?om2}uz7-j_w)a+W;R`e|F zS&dv(Tf^s*@8ea_+FH*=w)%b65PRX_6F%|HkC8>6MNjbwZ+Y_*^7Si=V%wIcT>8Cz zdt*dvc<`#~TTPI>m1^IIO!M238_&&gDzdV7LToO1fxh!OvA`#`8G2%g_6_Wl3)=}m zVocu{K&SVa+C<9Rh9C+jw!kFEBIXSyPSd&pKJLY(eEdbvysb1e@*S z0?z*RxbuO0weeSD?elzi(V;JQqp{$u2s%Z8x37QoN^VdE6@P~i+iM73)mMQjKDH-QDpDnE*d!7IfUmL)1mA~rT7k)b$4paEU z6+O+N-wx<8F?ZKaT3ZdQUd>#_Q_G%MR=#TQhg@f{PheLRR#R|lH~WeI9k9EK_Se#0FMp~T#5Yeoo}5M-CkEuBejA}O;6AV> z*UZTS;YFo340Qc0?>x1rQ*R@3R3d&wI@pCv5JO2%IA4I~YA4qTsw9`V3f?<;X}zFAcs0oC)m5{8PJHG8g}jtk4vjX{8eo|A2dOHke=j|=~GKk$-S^jjqFYl zR5iept0jANK|AjZ%`e(@cP4bM?TMWoUSS9=Bw^IbI z+eu=n(Yqne6NR@NRXB(CBAHg~wDQ%2LuU0(zfqA2b(s~Vz}bzWV=pY(=0$DU@nIF_ z(BaB!YUe4=dDJ&r|I5GP7d*W2P5mFsycYbI@BfnzfB4(~$fG*%JkD~S!>&02lVr_l z$-r{u{=ud;zGunm^A$DYa=eRtaYe~I^~CnQ5{-a7T2&9!T_nOk{o43eogb3Uuxz?8 zQ?P5f?&n0Z;Md!;q0UN0F0H7Mu^#@q=0c9vom@Kuj-?r!H7U>P0MBcBZ!2E@<{@59?%u)uCRLks3S3s$#p8z4wp0 zTg?Dguro5@@_>EG*aO=tm8>T(15oLn+4v_C)@-FyWLN)I0dyz2IV`F`e6z&2f>~JK z_7489UW=Dsng98>zW=e}jUWHBo~&)4OaM7{zWV6#puj7_%60y3x9FSZ*(1Q`Mr!8| z|6<3LEvjVgvYaCk)C3kc4L)D&xH`i^-Q@D%aT>d#)ha#Wf_y4(^?`NSRqp*X6R6P` zY!zU{;$Qsg{a*!bqV>%7OR!mLa<$7X$Tx#;G`i+?h5*l(NzmGP@*ccsb*_LOz;l)b zcJguoAI@j~ychnRE>w7oqR!6Q+Y2~}I~}aVw+3D=G(jygfi>a9#$P5%+eg%k)%l2= zeNQf0RKUAx+wnHu$C3M775f;;YKAyqueMx$V8t~CKgwvUE|>xaP#+t_5A(}^$?N-V z>_7aefB5iqzvb(mSe_wp4|WQtV`t^sGZ-k5CaO#ue&-RqO2B zAFLDbf@aXTp9xN%dugxc0DjM7zCEw#v~0Q(r0ZPrNr+U!h?Zg!$nW$me8`KfCJ z$RTbWP%#m+uE`q5yYjhL#CqS7;}gA=aH&aDt{|2brke4vfWC-lL>nFBMC|SC_~ha5 z1urZ#0QFP@_SWm$VL{%mpyv$U`0;Og-2KiPy!>6@Lm&LmIwMOr zN~8=qWiFo#*0oX|orwpvw8K;duC_|$xtC!ySi68_4(}Z=zT?sR&1N-wIk5Ap6h%Z92&W^5g`qgYCSng<&1>K;>m@v|!Sl zCVO~3(v47O2QvER$bi%H@6=J@T}Ykk^;Pt)#%i^?8{2p+RE$wCJMeS>*1fA}H~HBE zxQX$@K%(@6WnO5L1>xe8%W6zEI{HM^AP$4x`tnst)NJOhZh)UWDpnb*9iS7OY}6Mr zscp8^?I07|UG)GBkbU1fRK_wIkY#>4kfn3rzE(kO=Op&u`Ldt)@F}1ADFj{v{_FqO z_dI;dH-78OnnAj7;W=YtfHM&@!+iM@uvaNS%V^e~DSSQw;K2>Y8LR_Vs=_^m0Uxfl zbU?3_%eH=VFsTgawCw7e0jN|5P1$E%0AK5>9sAl1U6|wn^=8-ucxHp_=r)GcPR&yv zWKEvFom(y*>_n~|)HaKTd6WeVp<+N4AmTi&2C#0UtCrRJM62F>LB{CLh^-2UA6q5k zf!wl#FqzB?zp+Jpb;!wpZAZNAW0!V6vqki`HdTCbgY4K@nG}w7!~hmGvHDygT3A6G zUQjEbL-m(scMy&pj3-9kRYvSLzlDF<>&Jim#~=6Lulh;n>svBU}XCfe9oz}%-0#utFv3Qp7pJ){`T2g zY8vx$if~ek7kt^j^kt9xYsJ_9)^B*KD$r#b`#DJvX4#!CtmQQ0%voVsZywacqUMY+ zORT80Lsj(XL;dEc;!lARmmO{a3k}hjC}-!zw$>_a0fUHoR$!}3{W+z5jhd4k6+UaY z%0hRc*NLdf-tK`GGsd$U+<;s)@L>Ci;tb2dqjL57Vl9Rf4 zRb&m$7+h@PJ$ZM(eOL*s6?@N?XLR{zKDt)JVv;vM{jU~$I5p3Uxn7G+!!`H zt00?u;BSkqlG_;ev*Kie_7~f=3eCq8%tDs9Cq28>TV7+q*^4T9YEcpo=$?6Zm`rLEpYzKm4^XszkqZ9uNA-#BBUaV!01NK3=iqFnQgh!meRykmU9&pFSVyKM;@f=0PYuZK1nO^&D}P$&gq?-Uh#V{MS>@QJb!atm zLS4DBV{ws3ffzVdmx~s=Z?)A4uU-(ZcVXk%`(XkvpjSYY2rTEK4|X6A%YEToYQFUF zj!%EbYyJ`&{JwAa{ZCY!f58bh-dV5Az!>LDOm=d~`pQZs_l(mg;(gdVgAYHeYF9h8 zjkWS*1**&NLr4{1r9QcK$zB~<-HEk2u##%gPK~pgp-*7XAm@m`kuc!6%gKI%ZX2hr zSmk9kF6=2(&L2S)lO*cp+Ii^Kd_af7jH;|*m8Vwq19Zc}-!ED4xy%PuP$j5$))8UF zZ(P6zSnaPT@RK8&wY|*7de#>z>)Mq)aeR8;?y>@Qd*#06^_z%{*u;1&GY{XM%0iK@ z_UH_NDAwAWK_zz2w02{9^6$Y()c2x3whH%f_r4>R185NywhAiDPDSJKyxDN%$MRT> z6FH;%^oVbVE4DY5^Xv1H5k`Yr=Pl_ZJ!!yPsGk`;)|_VZvDzu94uI)XE>>g9RdMy< zvTokGSk;h$UTav@#Mi?<(Tuu#;>K8svlFdetAn1QXwHvdc#Vqf5G%fViMEEU6@gq? ztm$nHF?^$iHSo|OT4o{(d^%G{_r|HlhoO}_VU8~35|Pz>V_br6jW}y!o|QarjMY(z zzVNa7n*jBqgB~7hcI*OO`MH)u2YMLIPLx;_r~_C`rh+%dDPP( zIr;Iud>+UP+ynGsS0j*Rf38HAXZ);l3K5^*x>nbv1kqC7{o87Ct{8|3u?ibno3tvHsI+j2j!9@8@7huSG4nQ>{F-&ZE!D?_> z8^pFJI##PC>`}Wu$Bm7j)mnCDZ5|M1Drd%yfwuhC2Dj6p z2AuP>8|mY;eOr?~m$lC79ZD_r%)gTfE3Gct85UVqXNWG!0s8I1{Q9er9lzDBC5vr! zpk3WuYHWAb0BxY{o(VXK8Yr-%f<;Ar_pIbl2@>-k#}SczGJ9tPnMR%J1QTOfgC3qg zWL{ZkHXfO*0lVr(3-!oxow3!5T|W`n%%Dvkm1_mihXcc^=K4V#V1My{_e*eJCH~Pr z`bQ7H?;C#K6AK-uW2Hw{Y%W-G-LX_LmP*w)O*7bgugJ9v*O@ytR1tKe3Z?i}gF&1+ z_VPiv;aS5)TpPZ<603?a_~=lHF4}?n6^-t%KhU-pnnsu*Ag6WuovHkdlOwadzLw0Q z4Q@4CCzI!`wdQVd?T$|@`}T@`%L(|6A^BYTUTCx;Q4~+e+sBE=(;R+~9H#8l0jm}Caa!%zvdUn$ck6_`sEh)B zP_|$G!yg$8{J^7P-AI!vIZv8;(1 z_dc~k-#OO@<-&>ISP+j6{$3rgyZrWvZM3~)mKDT8)k@HK*1Z~s!*98XZ9Eq%%HV~E zFaCwE?KiT2=`Z}Hhrj!`^Do+>*I9Uc@!f-+D`2kP8)~@%RnYS!K~>$2dEcn+U#e=f z`#DWBM#RnmoCj{F3F1|Oy46^yBerh8yv1J??H&O9|R+l&3m4r*!3#fu$_TCjG! zPFWAX8X(qoIlZh~k=00{HWvMY^2}FP#KJQUmpDpXKCgNYITw3YqvsbBtGbpOta2H| z*>gEnD*M}Me^bo`KN&93JJvnVt;C5mz8dk>;jHwmHWBsFYemp|LFJxA#EJq8E`Y_F z3a4wvj@z3l#h$2hdM)sK9{5~|Wwis>0-yUDpb?wLDBn%r^|)Vg_lxX{@A~w|ond@n zDoV^FC+_(A)+DZqha&@dKEWawTs?SWlxk0Sf zv#J=6ljs`>m}l#nB_10tASMSJv`1h*Km#3FTM3BTE$eES*+>+e{vO~bA0|}Oyo{X0$||JJ7n-ch;+ttz1M8SA zlT@)M0kIN;S*Ytd3+ivJAiOG*&q`N&z;F`KTr9pkG_NLrmpv;w=WD4P@^Xs!XN(H& z2YmNim-^vr{$S)_6&0OQgS!>PqRK=Bk=2a5OCaRt*pq@Vg)x=k$ zQ=qVZEOY=GMB$N1TwVK^u^SxMW;=~seJAN}+wsu~h|&90%wDz#ufGLWqr4a2_2N_e z#PLP;+rRnS9xFfX3AydOA?^VUx&w!oOVw>HJa3i9h;RMg##~er3(zpSU7M>GFjAGR z%+(K5nJV@Q(jmE>hpx;+WT&vw?A{x!XQ7O6V)3A10c|FL7pr#Qx-n{Na}PL8;%4bU z#(3-4i3wv&szv$->e3kg)-|@#EKJ>xA_0(f-&!5$q z!Fd+?12SA_crOIj`YO@QDlf9EK`ig99HOlc&bgb@%5I0w3#^12=xJe}kH)<_C2sW> zOpuiv%zpVJVm20jYRX^L+IjDRV=Q|=Y@>BmStgA3WA}$FpuMqFQ#<1umH$Xek=USiM z)pWwvnK`SShW9};-K{ED#HK^l66KE-#^C$@w<_1295WGDNtJl3gT7!&>f~XQLq)WY zRkgB`jqMlNZ~NwNH~5I-i|h}4AOEL>7vK5fl)AQUVC&6c?br-LUVbfh*8cn$pdPI& zcNKd;GGvMF6!nY&tIhc&(#HddZiL$N0VwLXqZMb&UX2BM)Np6cDlQnR7#HRfF`Ati zR_s6>RAHlLgk6O*6KwX31l50b;ju#?0Go5irMMKPweFd z@yt>~)Na}Lu_7LRYlK|(B0QCWGi^2XU}p*9HEXV_dCz#?&--T|?N^Kc`ycpEA9v=V zcaVOZWM>SBn%Ox6+3Mvg=bn~8?^FxpmL#3`BNdMS{jEz;gzOpR_Oh;#dATT~AtUa! z_qb(b zYcl;uQs`dVVGE$_^1OuvM4``7hq)Ybbs5aa6N9>H`v=uevwLBp}Ri@BGZZh0@X{!?QvR&pqz>ppKJA< zx!>&Q9!wau&DKpFnH`ijQwgLxIvm#8p1!D(53;?TE7&M~Y=T*Hkx4^04O{ES=Zdm9 zi8Olfxt224!P}D=_W;;_nw3`{Y8zN{UBf-Bjz&)z60ECozBTV_6edo$gy7J;)p=*? zGrO)CX!)^gpY44k2;;}UJ(BUNz^~CbRXV&CwVNj%Xa4$Da*#i9vSn|QAF?o=w=)t1 zLC%4YbMvA5=ZTC#8275%#iu zGgj5zqPR#hXavsCZ0bw|Lyw<@}W+CTb!Z@#yP*yO7o~bg>BL$%* zMyFmLmtrm8O z(3aC+*z@Ms7IaDXdgXd^6{x$`C4mMjBzFBQQ4b^J`mygZ0ZS#^`LmLxe+e{cR`>0< zy}Lb%#^3XI$M;Uu#)!*lo5DOAKl;)jX zlys18v(ZNt>QIc{`aV>6=4pYo3k|OOwp002)rJy6u{bA|=T5TZ^mez)Iebp_9_?5lXA`!#OxVU@*;cy6N}kaG0L;0>J}Jusb<)W$5C5^sZ#bj`k>?it-+#_phx4;UCpHt{f{jL>AdR&zW~vC z42^UzspTw6piY%CT0-}&aP{5uJAj*@mbMm?&U~_kmQO1enOq9}1H$gTK{5yZOb|^}fWFKSH|ndW#Be zvnaV%#1eacEla;mOh*ifv-4%D5^y5?=M_{crywl&O6E8angCBvi1LIbB3Tv6MW}}X&e|f5*_LDyXLHT;Z*d5ZXVjj7Z zAdg;)dnR>Sq(uYDj+plhE>%Yt~t{-x0k!RjU$xCUw^8IA* zyY%q`KN?!bQ6@fH_xH+-(}n)5RIt{g@uKwr>Y8_HStAomeCtn_UJ-jT9M~~Ie|7nE@X^2ey?af`7qn%Z zKf^F63)t1l1jy@d@$vI*JJ_Kq#cUbJcZ(k~i-`rSg_9@<*U=w_zOSTtU{u$DwNw6J zBLfgR&^c;cklx%IN;!4&%(Um%9*X|}yF_!+->L9oBWy358FqAb=LLHvNqc)kBl|Mv zF2@ds_3&l?y8h*k+WB^h0P&J_;5PZc?bQvM$$Har#HV69y_;hPOGAJ;U_nymaI|5y z4ra_bk$U}aVNtIZ4dcP&GrmoYOn_)xpquO|TmHJcfauWU1g>&9N|j@RNi420m8MAh zJU=}E9U&F_df>CaRG07Rf+%^^IWHHil(Hy9Ei88T9mTgcv-jj65 zM69aBO5c3>&C_||Xf+pieDOu%YLIevs)Zo!Aes2<>2UY=Dy_Hw%d!+2%K!VxH#VD( zYP`q3JzR^)n}k{G_TXp|LI7X7A7hV%T&7X;T6?7#TVLbhAt~qkU7=ucDzK(!5^r8s z9FWsj7=JxufmFx;UODt+<$GOkc^b&jzy2&D;pSL7v9D&jZsaFpwvcN<5yX>e4z9I; zkz|pMyD3ZPsh0U{{PqX0F`9Yb(oW{N>+w$yK6MH3dS}_#eWM;Ng+mKk>|FYFdz?)G z$%zM)y^w9VvD<$d$v8LTb^T!OAHeR{hoEUn^UhECeAx-ptAu?l{bF8NFoEb)D(W&( z#11ctfQoso$H*9!RsJiab%WYcyE<`!z-=NxhsLxnM?Bq9#cO%_5LC93Z4E5<_ZZ4u zMA{AEW+FOs+H$C}Sx$Q<&#pztkub2iWQIv@xh3!K&n6f?+J*0gM)(!IN!X zX_vnMl0q+@2}1klQ~dgu5-fftXCbJOz~rzwFZv5%avRX|C{DDuYwBGj# ziX2VViJ4v0H8ZoJ5A8Q74-(s>oAGu>VJ}#vGz#(dR{5EV@G7A{deu+u>y3%S@gOJ1 zn3T~Xk1P2n&Qx|}3A=k2-*A=tAF=#bV7AB9Nh%l?@Y9DffKu9;lSg9|w5a|Irob^) ze|*$w`@v`0#gIP?orYI6tj5*Vm5a7jG^jb=SJEpXm@x;GZW;LJAcs62XfE>KXk7gBudx>W5v>G)IKRfFN`FiFUY{hN6pW=|UKRs9mYTfT2#CUn{-wX&SQcllR ziEo#b4dBm{S)z?Sn${+%Y@4!P?iXE#Mh4X#3!T!14hkSK$Q`RZ@+$b#qq^a+>{8^5 z+}1lchSzo@ztZ3#M22iw4 z9oW|&G82x+EsxB&kRTeBso&(sfSjI;l%wXT-cDsWh4I}-xRvII*5hrWTqIj10@Zqn zFvllgx)^%Uh^XZ|q{m1osm@Q83uhkr^XQ3~X&T;miS$CC-*!+Jk})0m=4%lu3$QBf zDn}W}Q)1&D5P|f6nTmZ{W@g`aC%PfV-SIf~i_mWX*{u}oU#m+*px5*qRMv|whV#hV zHMOl9L!s7ZC2D6y{2^<=kTvWKW9C=XKqt~)<^b!sLX~rZdFSP=UtID|_59#1w;rZ%in5){6JH z4~iqd4mK#uTprh`E_tj{6Id~F9kcGE#3f=0RSgZeHRgn6{#elqRceto(~vnYGteVL zsHPoC7~ulH%EB!NJt5`~<&I=nsUh{bXqZ$_vc1+_RmN&a7{&qEhZ z1^h09tRActLj_aoGE=j16vMuOOknv-89Ls)Ao)a$8?OEBvF5Q;htp&l%C-H4_F*ow-zUtp$s=mBVWVho{rKBlKB zZZb}Z@JVcY6e%~yD|o|MQBJGCQYsQN5FBMrDc2WQnzVD&rpl!#gIkXscy4l%0~Lf| zC+j0RjOj5(k>*6}w!JbDGuJ-uX~SjiVcrt zae9e=r<7Wa%*`niFIUgyMa}MUUzq>!ySUo9iyx`&Z#>iq;<`x|?=S2l5Iq@-){en zqso-|Q-(mA>&mi|-T6XS@_awXj$c8bUcs(&LvC}zK@wJEcw*o)UlMM&qlc~UpGl9W zalF9fO!0%pWJcNdMiMU{2wr*JLkwq<@~heu_=}^gy*1~uZLWnk?ufm})J5n1n#!)) zcnW*Qq*nZ^s>i&Abe>S;CpD|`;fsD)I^J>rPYKSe&X{fqMWoTz&&Hn*Eyi*1TO)z3 zmgoOZ#yBNrUh<94J+nFc0PLyWX-jgnAO*&Y#b?o|@zbFZVHd9e8?I3)W%;SJ9a(aW z*_55;Fihp@;)uVbgOnyTa=?PI9yX<|CvrYSiL>jNL=smm(m+`esi{l{{qr9BdP8*d=|?y-YMZqRatiC1>58c{6YX=?1O(bL1KB|!bM*)7X*_k* zZ+HqhGR$l}0iwD6Hk@z(wqo`faS9oQ|v)55>8`_Dr!waGyj`-dvWET@OLfo*%!18>vtmTkNilo^Uc zNcS(wVO`_Rhcl76_aQ@_Wh?#or-=M!AHEXNb|PKab}Kz@zGQz+z){&qQ~Jdw z7(K8DaIJ&~onV?HFH9v^m+)4<5cCsQ!EEmz+jl4d(M!v@s(bN z8V*F5ej59q4}A__<@3$;S~^ZR02GaRvUq!-1z>>N@gB>^n~~y55{f_mU3bNpU+Gbs z8t?W0g~Z-G!C3lkwN+INF7Y(Y-xTnxoeD>MOK~GoGCh->Nt!7RD`IiWJ@ZGu&u=U5qJk@g^t9i4&t%6XWp9=xSnpKx|cc%Wm@Hf%ZUZAz(2ZuPc}ez2dk5O4H+6 znlxkknjp0Jo?J_DfpHh7L!;-#Un5|LPMYzX#k9I~S!pI*vUiD17*Cowpm{)qo?Uyl zxwH5kol{506@^jzG%aCp-^Q!R41UPwO%H#U*{+rWkL}ID&_g5i2g)uQ(;LI#i0Z{1 z7pG~SgmTe19<#|L4VcT0aTim%m5AWV&C$jIt>@LJf8PFLGmU;2+}6?}-M%}ZR3woET?*~bW5bbz@m7^dJo@HK+w8N1D z=u@@8;FY|&tuAe8(fhwzL(Tw>^U@k_ke^gVKN$?z`d65&%5gif6YV!_D!GRxW5}C; z)AcYx-txWUIwQJ7(%a5~mEmTcOZuu(>XPTb4=|-7hWh;__HdT1J)Df|W{i!&j#7Yt z-R+UF*8|SC-`GE}x4FCuU#UXKb0q>2XF6HTUMoSN8P;RuD<1`yWzSEM!C$>TJZgTt z_e945*%Z&uJ2%E5IO8eChe_9}kQ#6A~1$UBtdBaa)D6 z9(j!~=FzRFFGYN$RYy$^V1u&-Psi>%=}3<@$Knb`o)9^zCRvyP&!5;pdpIb?t?<++ zFrWK9u>IJM*(|?+y(!0Oyiza9f9YGCX(=E?zyG7PbA<}!)r>8=?@&ss?2La90VFxd z8Bn9S>Ik-x1L@*H65%!g?*XTp;5vW1jZ7+xX5i0BMhn9Sw0X0u;x;+zWOwm(?c?3> zq_HN&(>%Y0j^^WX<|6fYjPFtBrk&5!!cqwfXDj{*#FwPrNN;MpF&H=~){3>>IiEc} zXPP}VQ9J5*fm7X54H4YSX{~PzB`j9YJ@7#gJ1~?=4_LAC2yvOENdF3I7Yh7ApX+%K zaFYgU72lj4@=}2tjH})8uZK@Ch|KP}egoTld(E7f# zL1@{MZ~Tahzp*wxO@1(+XacS2NGf0g{a4gJ{Br%Hv!O>Tsin;3IwYtVSMEXq5=<7^ z^9@-mk^QbMe18sDWb?j+CC$5^8u%zmkr`Y!T*bjlAdPMnm`t4uohI7sJx}J&JFHSW z?0G87a~FHl?I!Oh!vydr<|_XQN~DULE6sGV7v0Mpd($!DF<{cc#$A@@k_pQdsYW*e zoSr=_Vnz~whJSoO>+2$_@|E>k$8A^A(N2IW^UNGEjO%mt@*@J`rz%fOIXjn|M4KAI zg@&)pKT7`h_HLwxSgnw&S_c){oKhAcj>0wrn-#*QN&v4V{MW>VAG=q+kpi7AO1_q@ zJ=FhZ!M7i-O8uSkciMDdW#*d$`=AyhB`!95_au|=pViTa4_|uRsF95usJ(nVdge=p zmG!0x|6v(I9gc4ulZps?^R34|p*yRUs)L)kcf1BMt(MMSLR$fCd$TuQrVEebq4cqFh^N?|T3m}xbhE!E1wzI!QgTFJ7af3Ol)u;Pa!c4SP<>Z%@ zt4Ei^v`^+w9# zQCMO<`x^&|)&oj}68889^_yHw4x4^Xvwj%8M1EXm+b1>SH|eB(iixTDJxHTHw(!5z z_C5Bz$C5((bR!n-Dqv{eT~Q8I)5G^90(H@j^kJMNm&q1G9+ST#fV^@}8Vs8H-|NJI z(piknCBAhNdtwrbFAt~`e(Nvk8{>CKEAn&jalNvscpaYJ*7*P~?=9Lb{4{yF&WTc& zFq2Qg4=dXvxTY{9IO_aT#^Ot{waQCI`bka9%sDwvi$Nx8DJuS@o{)hg^LlJxdA4wd zRe#9`Ce3E6@RUSo;ncE&uh0fY*Ury3%sW;}Z|@HEfm`_%pbCrf&_&od`dvz8r&|hQAB_HM8;yS+N~v&# z)r6P+nh~FScIWq=9y{93Z%gkqZm&ftSq_%tap#9XQPlg{-z<1$YtN?nq~ziA2cX{a3&f;KKC36eLY`aZ z!}Mc{j8o5en>}djNy@6+lLNar#s9OK|ZW9mIH8k}XfT7mFK5omwUvG39 zF=3=w*`FNmmr9?8aj0T21Kb~jH`v&*Ip1+T29&a50nTx?aRK-4>ZYdpLQ&VaK zO)RTK&GaFzk~X7oeZ{pmdWDu16I9<|DM%{F}7JgO!6kswIWo2qO&qLS#-@@95zBu46YDdW=( z8>VL1furVvH2(T|XC}&glwRom=5-gZi!jc>!xY7*3WSy%ly+YkH4>!_ zZN-hOx0K(9<4a;p`g|g;5aJ?1MM463+$Q9TPf>9&fGS;#fTZE=vTKh@#R?(p=tJm1 zK6nU5&-Nn7x!fpzW^axxj?gh$&xL)e4TjbiISP;+mm-`8nHDM1d_GL}5X~IQ5|*qB zvz=GWHYPktKOFv|lMTs)tV7{3Yj3?8IAFYl5wZt8i?_ZqJ%p^yQ-{t|`)xW8IIQfs zZQQ=w^&l2;k$-vjS*N}5(4O@3DKYeUo$x`V=SjnA^G(M}hL1}xp70Ay)@OjSg}YG$ zC0wRPl32V;^RUINBG{|ScICq){hx_9bJ*Xak*Z=vKUY4krU*wUuUg#)A)pnz*ER}2 z`f)Z1B2@GB2mRm7)LBKg2(-yLIAOL8$DS(FcrGjrndCjT-(arRE<lKnqZ75G z3P@dbkT&_!JpE$D4EuwD$s^#5@uYVQ-fz`(+I*bBjkw0tTx!n+T+1jETwur6$7J>0 zL46D^w;d0!g(rtr4$+VT9`8kGAU!J3P!lcqRTg`*QvUPje|Ysvro7*fZvO1UGnMqy zs+f|+3m)0D^3S(BL_fM(p0j%6u0pNgJ*5bv{CE|-weuMr4SP} z=>oY?>MhY_YJ1RWdl>NY^~S^J66=2m%3}J7-qPfM6!t*(WJ z?^|0$maWd2YC)DtPG7?Z5W!XQZSGsLCYPc9l_DzApx* z=2?+5f!--CYK!n%V9xDsOgA~m|>6bJk}la8;+iI#R>iOOVy`PS=$C9P}nm` zSE#xJ4pYm5-U8>|$&lSdKGcFMu0U3vFiPNiLI#3tj&1ho2mI=P)CTX>s;zB>?gvG; zJ#~zJ7TZO2ylHXnzPEZ`4z&UL~xh)s219r3dJwhTU4Jx7>K<@nHl z`=kID+~l}cf7?@&wk|+mU#EwO_ayTXK)E<@-Pj(GD2d{0q(2+!3KpU&{%$eo0rE#@ znt|<<9=0f(NNI?zqQ1SBYf9(p_&_bgfum3r-bNd|mZMgYT_)C6iskFS$3LrPIu%lJ zJ$w^BOeV4!V}w?)Larpzc14+L*^2JnO?dfHCw^J%HssHPE0U>RmI zo{wzG78IWaQ5Wd;0E%Rz?3U?^z6tSEr~8sYCtND@QTwPT& zq5otraB=!_F10!oqZhj@b~=O5gNh!yQuZFN@gT0FSpQk<5X9uijr?SG_2zL{Ddh26 zzs`z^-lxAua|GGDhvBoY4K3e`J?i7jX$J2<=GSv3VnrMXqMz0PB?c*&!L*-2cg4;Q zo03C^`nJ9vdgi{~R=Awp3Z6Pnbfc??>Z+7((=Q_}27i%yfc31bh4A8I*W8;t?!XF` zTk-I%CgIN6JFOI|G-;qcma}wR20@$B|pJTB0p&ksAuV`9Q5*sr>3ZCrn{S@GfD>`T0 zXZHt>dD(84+y$|M{0uDE55kAmI2{1>mxhl?j;}|pVk;N2z`!11_{|gwZB>)|I@rHnkmAD&=QN z7#vP_PAEpWqvNf*Z>q=!7RaeIo->|oZ#Q3V%p#|@=KmKm_V4uQFGuU*^}g?~9`dwa zV-X|n(KZ_De4G@;^uLJjWJzg6!-j*@R4B78e7D|@n}&q38fv`%@wCP@AIeU@tX~cG zXhKoSS~QxEl^K6%%%y*Th5Gh!HPJ8?w}XNvypLN+$2k z%^q=F_D8p#T%Nk>i{m!@$U4m{QjeN+&$ZU62mAkIa;$!q)djXt^NW=m6} ziFw1FFFXS9MpumSbaG0vHL`Bbv6eo*SJPjIegbG}QG9#(Sc15y$}ps&mho@g@0TTZ zu)g=HiLIY#i7b0E_&Ht5+3|$Glkq9dblt=b4R5Bm(i3$6gpBIxY06zIyu-UW1hKh_ zyvszekG{%W?4>up+++&QSeBg^-iaFv$MU{g#!-1&q{gs$_v}&F_iR!Bcnwe?pUuPR zv>XCh(iRoYgV-TCQXP*`CN4-ol~`eu=O*8aZ{9{ zz|_Pd%RTeEzh$tr5l^ogBY(USF(JJ44-bxti=X&ka zlxWPVctDtI6Hthl zMrrH~m%&(`hlKMtcTB)Izht$gZk;wrWr?MNuTu0PnX}Algb~XJc#iiBHF@fJ z_);h$mbU7U*)`klj+gmOahd@)A!-nU{TIC{D-%5{AxDG?I## zmY#miXi{f1ucvY&te@}?t3u{H>G$!nLNZzeQG z-?`$)SEbKPgu|t;lzgAZ?q76#MSH)rSRF}qWXyN`C=L9hL_MaOdN$IsUX^zlPqMja zvk90gzj~ru@l^}!S0moRx`>Q>ItG!geoSIJ6{iEH8y$xi z5_}8J>iVE7RfU5$IIj_$A zZ^~a3cK)Qp>wfnVSILd0RH-gmQ=;)ToIK>TRi!WeDuQj(-J|?G?i4>^hmovD5qB^) zjlLMml?SDdvp@L>OW8xxl|Gv19h_M%$y&TMOzvGG(lzH1t9y)k8UpM~GE$~zr22py z`&Po&3NZtj=cHv}&+{g{_sp*YaM}@OFu3JXSvRk_JZ$j%%uh|8$zL$gh~D0etJ>kP zqSVe*w3@v?yWZt0Vd7wgT0=_-dJ8&td;Nz(O$b|ws3T>a=)PNzEwJ{W$S*f4+g#6! zte+6#+(--LDdT97eehF~c&u^5K$i_~=U-Z20Md6rf9~?p6SH8Q8~TsCf>dimpms^W zLj;HKq~$dySMj1Z!$TU4zS-Q|CN^3lU4q}7Ewz4X z6$skcG^19VP^m?%P?TOn$gEX&e|_XGzK>$ocI`>=<$yVDWMjg;WG%MtF2^Af)8wE> z_i3HyeOSa8gq=6aVMA_&MV=q;s#?D+s_ZV#wa3}OZk3l8UT`Lr|5f56RerwrvnzN| z69g7%2=uqqZlE0naZ}0~v=6NRQ+8D+6t5Z2bd8I}kfD#*jz&LwA`|I$GE3pV7Gxex zSJE#C9;;lS1-FNcVv(@3uur*vYEftThyG|V2UK&zjnTFBzQxu8Z}C9hsnjDJ_c(g` zWu1yzT(+=kEKc8d&`0)5c}m+EJoMwGTX?mwf#9W&7k7S4xT;^Ex$`b3*&HSw%qXNY@Abk)}XMc+aU%1bpv$MGg#DW9G7U z5PlPR$GO&A^0Si(wbZi>sfpPG7i?|%w2E|#0j;eEVF{yIp4Sl4(5JP;O8Cz*h zE;k}q$Mogh*OHG_xh>Y8&C(0RyS!oC^`!Qb@!t)AI2g^E12OvU6t(%iuiEOjM9;Rz zi)#)k^2M{!0@RL%7H^Nq`a!2gTZQeQO2dNCkM*oCZNQd|KRJE}cn7AV{?60*HWkS= z>N>xD0{U~7DMp?DW{nxkn0Hnd4pXc@(;sK{xcAh8D=W3{y1c+Dn5}}P5o}b4=36xT zaG1CDtKePoq6{|BX7ak0bt~0PwB1g&BP~jggpN7f5_R;DZ!0VszDtn3*3c6(x=AuS zjSJVh{p**ggWq!wv0D0jB9n^2EYnF>XHf0#Nc4C9L3x9VT&Znoqwr@C^V&LmSZy*t zf3m=#W>Sn6!ln!1tUB)K!|ca+81z!F)S@QycM7;`k?g<(Unyba5(KSItFO<``{Z2| z)m{`9&1&UEt(;^uM}Pu$o(aT`dYSE*#wy2Pe{mhMPZ93sI#jN_(*B;E$_GZ1X9{HV zIIR-@QoBLbpWBNn$K!2%vsJ@<`xy6$wUD7PWRH8ZsD^)t=l{s7iTc$~f52iUGjaR+ ziDAWx%`&wp#9*Hincp)R&DN)2JL8RfG@fe$w#J?EvUrv#k2+QoLB@)wQzx;-SN7QF z`Ur#ssw6_(y%gh;Q>-o4A?H0nS9vHgd3w#>Xjqxtw1Xb@i5s@~y8Js=_6w9&3DxTW zu;6>97G&^xP@BoO+<$%^-n;{coSB4f=&K&6DPL^Z>_C}9F9t7;i%#xOP~Tm)LbP3+Zn`Mg{_*Cux9VO9ufvgb2} zJUG)dQN;W7LNN9IWwGMp=i$zE=2$RTv`Bdh(^(^*dngrx+m5o{Jv$W`8#!C(3g~0} zBUu)rp})34%_`<9kSNxD%6~5YHmz&hQL2&t_Z*GZ0_9X#9lLK4M9~Kx92#RE@~M)* zP#nZQpj6B14})azb)*ITf(Bs&f%=1P`gMlQ%ZPLmgwW9k4i8n;`PA|dgY-WNRqJY9 zWy>z_GSSR4V7wLoj&EuR(P5G#4JRx&Und>CxhI*GZiNLh~1o21HJF;~(`j zuQ&}xA#O1aD<*ofD&Q82-^^%J2ZLkD(R{WCNKB6Pi2mT>p~B%t zwkgt~R`zW>Psj47QshSiqv)2gT|lNQy8s`CL?Vw-?rfuSf()2T?t29tQ6=3R&se84G@~CCQ)`_lXfX#) zzyB{_00lVtHMFW!Mtg7-C(x>x{`Yj(woE;d z`>89D!(k+q5FS5OC^0X^R&5d~UP+z-;DzYwfIBMxt(bOOp%vG!^iCVqPv%Q$g}J8S z@eP&-Ha8FElxJfHf&`#@#|-|PbkKvcyg>oD!GAt4;U--xr@q|ld!#YhyVjDQ*B}C~ z^Hv7ivSxR$CsR{!|En^gZ;i}x_)G`hm6QCu(kroDG2U;HVUHG z6!mR_-}L>*BN=JuR;sBuO)6+*QL6__BKW@=QRCUN`~Px)$^oiDf>o(3&pvWcUz(cT z%E-g7#6ZJ?@YH%7jm;-A*G(WXOoM3?7H{Fa?gz2f&{5*u&IFN%>>HB?vhGS8= z)9kRxOLiz2e1-N#txpcZ+9F-G4pRd}7oUm`o*A!FH%$lWDatUQtKNCs6dO#1SZHzy z$`3xSb7WbP9_jn6N+@cHYlUq)sGT@4g|5(rY!7X|E%2dH@gcRWic^+<3HdQt_5qj0 z+SBI40;XN_eJ6+zg3;jKigs3+l&UIrxhPa|S2`~Defmu({$SL>n75MQD|)>k2N*&c z$-Z=4$56)>rDyM@MbUFt0N4hu?{$zTL17v`W~`&GBKLuhnRYSYSGgOyvyytt4I%R- zsfOiNe{K?^u)Nj|GfG2@9s3!n*$v2+YI^^t{#d0}(M|1<^#!(p9GoBWu=;7t1=-!E>h#E=wgq4w(HixNqPdFa>iCqPzr zAHKT!)s@jYgUOEWR&8d1eWG1K^~T)o!#ZGFiPN}_;-}W~z6a+2o(14ujFyZ{o&>dC z-%^2ZVpQBIE-`-}rJix&fg68kwv`A!#gzbgRDa0n!Jjjwc)5+O1*X1Xnlp!{ zqmVCO8xmjumq^V$WK>GLa`3Hm-`wn%6v>$>s-M{r008A+Is=xX#~Pi&#CG<6%8#%x*}@?gyvl1^tbjfRg#(;^fo z7R_H2xc?gtQut$GTAmIK?wUe5nZ}5OXjH#d=dGQ<4O7p>{r^bKLhMq3Il0T56q6cxQk!c(yuoQmeD>D5VF-))M8km6N5Z_qD zqnwgV|A1b48*&_sL1RX{^yN-9{W5_+=?BZpiWjfLwDLPqAF;s;8$9wmi)hMXx{(f# z5!Dn`jz1nPE+eq$fNfRxs{YkXhKj1c%$NwT^D1St@~~#rgxLtV{T#=re>2CM7v;IV z`;FKZ%qMUSTvGtTi> zqQVtD44JY-pIx|38plSMV}xeTc@Ymz?$EFLome8%4sdUlN_)9*120SW%E%bTd!q&Q2WV zg}9Ne8l1`C8$>K^VgKD3iKnlW@eK|5E2bX)UkvsqEM9zXJW}UfliYZ$_}Z5*h`KQs z1CaeVC=46oURi5^?G0vAg!|$xrtyjkl=Rb1mi33kMEC5*80*5Lou)ISYRZ}uU_1x( zlCGd$xCQMdz&Yju2p-YI4D11tXO&L*_R~BsZ%6)rfp@a}Jnw9R<0MLAY$vRd%fn_N z_841r6~0~~fnnWnn1yweci|3lzAKv^ltCxV`n}|6k)mM3iUbu$WVkvjf5zd*I+(f~ zo9MjH7S+nUJw(M=naj{Nx)R|%gK46O3+~As7vvI{+}`aPPoP?>0a_A8Pe(K> z*D4<%lgBNNoOn5|61>NfCo3siVHm?&s6wD?}>!^4TJ++Eb5sF zIr)6YsG8uWXC}8w%T&Zn0P?x4;RCPlt`=!~*RQy2Juv>BUIOqs?O4d|s~gY?EvEon zJc%HgVs~QXg}ZCtjY6#Ft`|75jc+`HpsO4rVG+i?lAxe81#>;({6`*=+vvYA(bd=A zKezd0&wg3Gm3)o2i9oCEy#bQ1Tg~fJh9~|8>(#ukx?2^xvqkJg%V_u{Ae2y^J!e?(HPeL09>U$U2GEGW5-{Pjm*>0v)_1=wV85EXHXh|yC)eKs`1A5b<^t>YYy9c2S^ zBK%>wz#|t!yM!KkRJsOfe6D^?cP-CT5-4b+Rx!2u{cICNK@`FjYcy^JMcOkr@Lt;QnfU7FP~4z$S^>HXX*W1ku&g*LMg)=&Y;1;| z+kYnYc++t3{Yn zU8(*e@~*?-z@`IZysrZc{6rF>SdY+NmYx|{PvM9qKYRWWDM=&RHNk|m4sgs!K2f3; zEu*wD7mjh<@L}M4u!DNV;rt%$Eten_u3I=}D(ij`i{K#E-%24fD`&oDJ5x`ZQc3b5dM$G&f&ZpYE`UCGE=tL?D<~9yp)7&+7 zQ59o-kOWIR@y*V;;S1} z`TJ)xY^?LwtcF&z__JY#Uc2?O=Uv~_`QyTq9}yv; zltcKI0)d*~`m}#<345m8W?#DqJ7b&w`B`&ivRUOrI1t{1drV#QuBG(y=}rG=oA49zbwU!1i?VSi=%s4FSxdA*^h1(<$Rtn=o5!Sf^rdyrQT0^2iaGEI zvq}R53N~z8Npm}8=oC3td@hVTloPx{_Yk^zg{cR-MAfCo%ryO_91i6Exa<}qn5g5e zLKbY5j2CtkKhwF!cVHw6v8KOumal*qy=|jB$lKk}NTeV5%OAgQZA!!}CdKm9SnqKs z6$V&u#O#0d)!l3*uR=M)Q@?$HCrHhh4_(L5nUmmARkx<6oGX@!{aU)Zh2bE*TXSg9 zLDM7A+y4vx6C8du&@{ebTH0}S-?_B~>*-3A+uosg>B%PbYx(c|Z`zrA;EIW~IMm#d z{wy8K7e;4N=rY4)rp{#m)@88cf3l#e-fjyha5hzBssb|(CPqB6-B9bKTDha1RM|i& zI#rzCwK3<(a~M7mGP9T?&+c=~6S1zlzto!{?61|dTCl<8^X=X6UA^2o-poacm6;gb zkClN=?#^3=4rM!|sVi?yAmAaVUow|&rlUI2bJ7~rnkBh8?bmAY$lIA5#>4$*^^rc# zYJ`}+qIL6dWfhR4fyWKf+ePZMv88mg?h4qs1vxj7b+yW<6ma6}WCCY36k6WPUXj>2 z8fX3Ypo7X`!x&v7HH=HsCZA=0uwD`C%GBGowD=lQq^_TD%fF%5pOm+rs~EYxX5y^q)LP-M4u$!N_KV`d%G3`&4OUkwrk###hE%#JoD5Y4KvXfs+f*OMn) z?@dyyAm=3$a`&sMSif=e6iWoI$uj=7ThSk&%HV_%Dr|}O{Q6nx)_%rpfRu{ezT^9q z6a**7Z8;grsuZkSGA)hiiu5YXROHHh-(V17P6Y1tv2wmY$-Ukj9i@HTV2thCo<1#Mfq(bOvnm5Pbxtiv!a{=MS-CKg}UETiOcG8_P@k^>Wf9RMa?sYk1 z>>&23o`g`)OBy&m6YDOF=NqBAzu5P3rh3Edbv|v7S8i8><`B!iXSz)JdmwQ|p+g1! ze;l2MKNbG_{*6$G5VF0=$P6KyGWtkHoN3RabCi|6Nj6FLj0$IQaO|Dz8RuBpGsoV$ zpYQK)cs(BX>mJv2J!4l&AMJ8Atr}T~D3QWVxs0wzXGVONxPPljswe4_)~DMcdkZ4L zi+rk6$dSI;L!qdZZ>Kg}6x*eK7!yB|&*y_c6ze?7Yg*j7$xls%OuUB$qyo z*?Z==AJ$YOjPSWPG!C_&uTJ`80v^z}yzzGJ+>e=9@<#eUONb;CTBjJ{uI)*VA$7M41(hlXmZ zgk{PrC&~v+eDE)Eb|bNf`;K!-sQ>A{66^D^yxT;U3e2BO=yq`0nh#JvgqiPhPwTJ74{?`SdNT|Dk)G5cDY7>ob?!jM zQ2k3)1=2g|%SO45EJDvhYMra-Wbm3CNb@1NNbp7wH5Zev$+!Ot;P^e|kn!EbZdyZy zbE3|s((?^f`2hGXbKH*F?Ok*BnZW@m*cDljRZz@#HmUe6_Lpy+h7#{`iD%~g3BDxn z7%S6bzcN*Iml387|k{7mjwdiAhuz;6nGiub;8nQ ze#TI%iUuiHnsIHON8fO_if^P z=Ive7;on)H*61L4snVt;hxgA{F*#VJu>Nbd`?EB~N3DU*_r#;4F=9Ow?BA2+>582= zC)hhRqD71tDmy}^QI`m+Quof1;h_xvYMajf#qjOl~jbMr1EG_p^X*J5C4ngK>WQ$$(9x`>v(HCV0&b0fP(?85L{S#IpaC9P)C)7A>%=(K&K@XlNN{i_oX3d zf!+bvF02;1@}70=H7SFk zKilehmu1neD`{nS!dYGyUt=N(G_wof^4P=EU?Q9K+m78|<5gLPos6nonTv%rpKFUV z6%n>)V-ND~b^#Vr>@Q~}UO2!$zF`e)RgDZL5~sd`?`l%9so*C` zC_5<|!;1MT)c75%n=f*n<{w*#hQhqmh|!Fuqu?}3q7Z#i+oqG;rJ2}ExCc9#uo@`g zKBVFOAze(w>b6ai&ww-2O808Ry{)=;a|V&^(CnevK=}&l-SSEV#8nDm&oxk=>70E> zd0>`HeB~#yDdpDjZfvoouMxzy6x#i%5^50x@$x3?iFDL~1T&y8L4cSR&z^OCo?Kcx z7(O>Vh*5~5j1$^my7k>d<&$kzF3F*s1tnkuZwXb|g19D3vK+qCK};n}oufgR)s#wm zI}h7?4c9l|^!8C}VCM2wV1bc9MFg-G79{^q@D?sVuPplCyyDeh*PYV4Rz+`$`s3Q+a^9)$}?5C?8k;^Rkk&2pah zt!}Qp*Ftnd*1iPdaT}Xt^I>^+S2N|xn5$96@lnb-tI@F)I;z`>3iT+OiJlJwO<^oj zocX6jqriAo#^7C=>+L1pyRho)(E>(q>`FaNj=vGhz5miIBMUFV&jvlp&?N3dt3SH5 z7qi}r+yb0|^N_DdnSkW)aOBV+hj>|IpiMZL1I1T69bG--UVm)jo{lowNp%U zQzY0kTxX`#zDvJ;V(SpT*|=-Y=)cG^uF{ql_panegj)E9)YE)!?+nq$FjZqCH4dO> za{*5#Dj8EVl<6s;^+99NVd8m5g!@&G5^7U7KE1}K_i_Q@IUIv=aRE#WsH8VbXny?r zdHPZ05HESu*)lc}!CyQzc#rRHKs}wx{f(?i+Aqe*qdhG0_B^NnIdE8(b|7~LF-l7s zDCQVl6S#j6l6-Xo-aE-h!w(;#x2L}{-9*q;b_O`SU!z_o_dmxOKVHSc$;6FyTKD0+ zO%?#rpLhC(4C&dpD+Yv~xv*9j9%1O1h3u>HH03z8XIAP1%CJ|o`=K-VDe@t)*0t`; zVvxXYc^UWi|5PC&HVvq-9i3MpOKbyyL?)vFB7R88L_+<)(gNl3#CL>yL_}(cF0H>Z zsI}>LrC7-6=EKjaqMWCY%x>wB@`R5+_4QhWg{CUOESu@@!@qCtvf&e+4EBB-{cG-(3Ot& z-fB%?yD2I{Da}p0Ylwm6sXv*gNiLLJ^}@{E)k?DqJxz$wUUO7F4Q;Aqzc8cps55rY zBiaeQ%O?n}u`Y?}?{rR3XTALgLL%Umm zRIUWf>oXi2Ch{44!BU2V9+k*3DwbCmY>Bm!2aAGhZgL2i+_Gfmp6cUr#Tt_RiFxq_ zXxV-)t^Y#lO1^D7Fl&5eJV+aVLD2T}Hs}!FJcq>P{3r8|N{vh|^QwR?r$qVv6Fwu| zRVXs_(Bmqr2c@5W8GeNR z>*Z6!Za7z;#CVk5phyD-oUD(q9)ow7i$3}al1uD6oeDA+V^c4($Hi_xSf#`}j+2TY z8K?@-r}a|i$CdJ@7{J7G-&gO~7>TAT6;15{;$CGv%dOSAvh0{BY9??Su|uI3 z(q~&n@zh9vHWTx9z#~iv^1gp1+i`I$>ru%|`o6pklVTdQaSWWiQpxNvqJvpRPZFgn zKYuH?o3<9lb9TOx1AAQQC#e~)6k%%eVWnvB(F#pZrzhj!rQuPUk$;~lsc1>>-*u82 z=J{Q7p>w=FcDALkdhOeO;4gP9(XNysB#7^;wwY!1B>I|Y2voDz0T`1xAGz4#e(nU# z8xXd!BEu?5S{vg@ku-C&+BsX-7HBgrapV$j>l@1<-EV(_btEYNbowi@fTEm@9LhRY zU~6M$ugTFJU7x#zL=b)s;B=8OgAZ|DYfTsm1BWMm0xRzlcGg5kVfoK*{AT>k7BISu zvXk;7esxcGp(PZPPGLVKTz*dMh*^$e_&;4<27iZ0iDG61%Fr>>EZI6S3p++N)-GbC zI)QY1w>DDTJdU`yz_p>y1upnPW_E&d=IQcow%qqr(t=$FgUwhxBh60>U@O#7TJ$A( zVAO*B*4?*4H7Z_L&tfR#lIhT%L@J53LH~e{(;MPT{RN*hSUB%S`w8QXzz81s4k|Ba zc3pYr%1f)u;Q@?*hbc*lFNa=w!h``)9eeB zBaXlByF&pg#=h4405TTw&f3JAxU&+UY}^NoS$m)QrN}>%1{!0t8YNTKp1gkq9O~B{ z77_T#xx;9>Nkirg@Yw)-sm#Kvf%wZ(J=FhV^0nucb_F#K1&v6x#;6}p8-}|wJb!`W zZhN=cr%8m&V+OrH+8Yu84^fGJ!3R{)KG@I)CE?LCajE*5#q3X@IsKt8h@urK1MED9 zU@G)}i4vwjLc-@@6DiqW?#g>)af0F`=$Kff7TO3P~}WUnk%D(Hx+?u|g3q3O09@+fAEhXA$hq+;JDe$j(9d69hI_H=83=6l@VX_#lN!|BZ>1GAGfLZ4weq#q5l+UxMAcN z0lkle26rS&>6{XU0I2)zE4PI0D_7WNXzhW7!t3k}GA{`i|Gl3?IAoxCW_im3Nu4di zZgvHYz)z;!iKptjvtj?$8?e8fo1}8NoB%baI;v$PN0jS>{t#&n1)0m5o!P1_Ks3=)U&)D*1FNmjT)VYEn?2R)e||P44s~qY6hI%Gm2MZ(<{7;;p#~mqKT@Mx z$07-aF4*&eN#X%-iX~e!fAi&p%Jcu&!6#~b=TgthXagAj zG&1d9i9UPdSrZzDW#zZx%bNLF>b>@fB`!oMUc$(-0+Ld9eT$Wvz4C{?<$-g9u$aAP z$D$wZ_l*~uiBPGV8c(o;ga)4CICpXdqXY;Yt$;p;(40Java;9$i-xM_N;O6!(=5AB z{|puld989yvncRQeDxIiI3PBixtkIZ)hq)m5Mj?GYKKL`2|ChGIgY}(C$-QPhj>FO z-w89$)|ehpzX(YVpCOl{)Q=_gEhO>2b)D+$!kc%5J27EAux>wgg! zJo(3oT~~g)f_&G>B8ZI~cCG@L&$%04LU-|Nww6d1S;`4>qujM(2BBKbPRTL5xvbU( z!yvb9111%`!EeyMQr9t#Ge|aw!I-7vXZ7Herj*y_VS(-{u$y6?bHI_C4Kg0t4@a@u zz$A@+AoB5Htd3<(CPXJWMNL6>X|kg9%p2x-W}_a6T4pCDFPhN1UtVOpJ$9o0mxc(? z;-v?ARZu<+%@KD761J$a={kv>&{xRzNUf@J2Fz+XdVz5So~y63X5ZO4WqFtI*Giq$ zxyqC@Km$x=jLv?$x>-4e8Sv>D2&c^|@i#|D@f~}Z{M>oP zhpjv#c_f3SKeSxcLxDiTNTOZo3D$|J9BUuNH z?)S~s^#hhvA6?nE?Fv-88G5sxeQIASOuMbl@g;7wNVo*ZF-Egm5=w9pzpT*x2iS1H zI#l|HG>Q->zY-Ft2#jb(O5ni>D|2O;8}%m3-ZT}EXwj3**lwc2D{(lx_jl-@&T*8+ z%W1$Cyc zv0(hZt=mq5$Zrlj23GtIqNOSiHT{teGo`a&#hprWDPi|<%fA$>eWa~+QrKHJEDIvU z_k7LT7Aa!7BW)x9P@SBi!&7`-!K1qj$9FOABD}+L{D>AjogLR&Q?e+J{iF#0Vxknp zYXc*DBbh}Z(R>}vV%;*o(TE3PBAu7Ief-aP8m`d2aA1(y`_2DYjwiqJ$`?PosA>W8 z07;dub8dZX&iQWoV|!!qYpT}Aam|N4*HgR5fAF^Pf7NqGzgrHtS~engPAUKWec7^w z3b|O~4-?~g%H(?Aond6Um8lm8eQ?scMd2^_w}6wsx^{5U)q00~5IWwCr5M;8r&pTo zxctjju;q_jU5q=DXQ^gWC@2gx!_;EJ?j*eo@WG&;<%XUPzUfCI37!?&mzo9!x>6y( z_08T5TOnh7$;A>VD~1xGmWFGPhrQZE;RhA6W$T^`4l^W2Oy+jy(q0A)Tvkv809t|H zF~slXzEC>?u&#Z<#|8wKTO1!%y!KiN0|(``ew3zZMx97%-kpoi3FX|?I7M0?jD_FH zbINzQp8rxarm-7xZIpLtWZm*mRvGFHo(H51%UFi4ZqpOI{B};e&_4K-goh z_p7L9pW?mR-biy@ZH|$V@a9^e02K%36*o`u;-(6G}J-AcXiEMvjGU z-fK1FYPT=sC}byc?n>oaTKa1GU*A9Xm-&=sXFJ{0R{<3@5iF%E-SPQ~msjgbBw*Ji z;LJPK7GERRy8rT9OYs4+tOb4j05XqO0IC*bn*W#1NZ{c3y<^Q3ukP*%`X=g2jOa9X1gXteE7}Vu z*zx{XliacF@NP$iGxXs8E=$Ut@$QY9CHO<5C|!(9Vzu=>Ht!EiB~=%9i|8$$l8ud-c`FOVUw##5s@nAbZPG3}Jk2)E^>#b{!%$KA z^F`IM-O|+Yok7mZ>5A@aKx`0Fe%Erd}_Q` z`NvJ~dgzvKe zQ`Q6|h6HtF!0zl; zu6m()YH4!ycwgiU8qA2@^}$bwbE4JAy4KudN;;HJ^)*YCUx z@g1cVoWky&y7&nKH6p@v0DcTc@nlcVBL~bn5{O0W7i*0tp1fP*vEzq23LzN&i}a9R z=^Bac-5jFU=*zAnUWcT6yEi^{EtDGDS%m}o$E9-sisAvJv_^rA&maDp=TC4lTo>1tya(G=QY?tnBPlN%ent4Jy zQOw_@uD!4pF%P$0U-~dtoLiy<%-$`l&+Evrg>0_V0Wh%ATsdS|E}G5YLB+st){IIq z)QzGh()EXb=`7Ow7Dn;etp6#YRS+@cLASUcV{yXo%^E)VTnfY+;J+8~W*(u4I@&`k zuf?oA%0PK--8KVLs~{>jsDNFucca#);PWiv83VzZcP|`jlo1!EbZLBaKiJUI93|w- zB~h81Z|@fTzHZ8nIh%Uh|2Muce#k4&@yw7+JQU%m*=V(oWc|YkMiWQE^g(X2n=h}< zcgOBlH5RK8kZ*M!5X`ra7w&7vn0{viYQ8#)^om329+UBPhmHGj4LI_$3W9A}mW3Re;P55Ik0Z!R zT_3LI&qfCb#HNzf(_O~ge1c}(_hgECG%rUk@3GD*J|`6MZ_|8EdIhlHbwvmdZLum} zF9-9+ibhfJQlRNa#!h}%9GtFgwHZnzcP>!%HI;?wYZw?^<(6=2Z?CaAEv)F+JC4Ya z9r;*qesRmFk#DFF@gyh*-3JupNsM^Aw1`LXxL`RXW!p9|)VXXG&}pz+Cka%;G&GX9 z-L_8w`#^&@1D3Bwv2L}d)PA)6F6KxYWy#pO6AMgf>VmM;|`N^YvBr5xjIntl(KHhPBk0XEQ~- z`wQLk**e$&FT$^59QtSD)_AjaFKz#=W$0Y@)-o>FgAikB^6DsaIi775>6(hq)up@F zK*b6ttII2ZB|m>9?*nIz$d!IdI;IabFk;@ke}iUv+XABC9D{hm&8!Dg5fZ*^+0p)R z`{c=5838mhcJSWB_p5#rzM(haTb?sU3}6C`l#!Hg#1yRU!m5y}n=l+^`V;&Xp8XYS zp>z)VMb@{8F?8!J9I=i~z9`c;gry%M_v)|VTDz6Ahd;Vz9(m+gF!<{fjc0Qh^E^xw zPX@2ubrI$tgzIia%G@W_L_yI zBq45O_hm|y6(fb6pWpvI$z=^y~&n0Z-D?9{+v#XO%3JoajFjmFOW6fjWHLO z`M!Xzfzz?@R>d@50#V3n+Ve){kyZLmGpMld@!;&my(&s?sS8OMD(A=SaeNZ3z5|$2 z5MKToA|=+(TGDMOmByE@DW56YYL@UaauY!8+BQ@R)iUhMIZ^C}`)EpqaMCGfCb5*m z1T4m0yDAuu4wmPH!Ye}!bt~*gTcG|r0Qj%YKKPoIfu7Tv@Zx4g_|!gN`1Op0rI!6K zF$(_(w~>NgyoC!O%QayHkJ6GRkspzt!&ac=M~8x@yr94}5^V^%G-tv%GMHpPEd$aF z^2m-EDkCB@=#QwFZf?0#G-?{RJ<3Ap~o{Vr*G(fsQSq4}Ym@{9&oc`*Gs<)jkiX}fQMQ~k^ zFYdB};t*}jUWVI-EcA^~Ou3y)ytTe8fVQ*b$~&5d{feb&sVtc1?X0VadVAkWwV^UC ziST0NQ3?5WYfMEu)!4&D_Tf|TAZ7Uxg?zNhXi0e`txf8&%a-Av{|y^|1rcZUd`wa| zYm^^r+LQ00c;hRrGc1-jwZ3$32=7=j9DiAG#85|r62wsLI;@Syf9gT|XgAJ#TtUaj z9}-}yFaB`0_RJgW%%*}hcZg1FYPnO#lL6YDP_Q$S-t){?3|bUki=UVAgtf{QGploW z*H67Hq3%;9?oU1E`lu>Z5!n0dn7I`C@59E*x1#!voUlYfWxHAl@A@U6FEPQ&D4uW; zLE}GV(c{Ieb=PYdn)`Cc!FUublIRH9uuWw$&hCR&xM4;Z%QtSk(TgP|qjyS>!mOB{ zZ6662Nut|nT%tM5am1y~1!HTp9G4dy6{zMrVC`^_ztDTV(sH_{!2{RoaBigM7GHO* zpkSX~eoEclyZ)f1?1B80{V@Wj%61lGx0+wr%lG zbrKQ_k}P;V+}P^?>SA!~v6SzrrxxqRS8T-OLlYk78{qarW5V{y> zf}w{aq(!c^hBg;!R<6wAeJ@1hV`h$*SWYz?Lei|QhoV5aWc9Vk!Ssma>XutPJ;qMSDQ}rOU1k&vp&oTOpf#Wi-?Ci&d z&`{X;m5)Qjr5dD@R`q^^qS&xtgA(jhX}J4W@A8_(cp4G9Z*ylp`xL@GQlK4LKTuVX z()-2n!n~%nZ65NHd$twkQZ9us$v;FkfRdL{A}<>&hN+Y_1_Wcpb9r8m&T=k+7aahC zwcb9dOz-3qU^+A}3jlbhn&zw-E_{^NDw&_%O7CpqDzc6hosc7c+Q~(lj1GX=SdCMi zFIT@lnxzq>QU$^(&j^C`{wOL%zgi-7MStABxn9y}=Q9HRyfi(gFy4|y8gUdEqySYf z0m8!Zdtx1P@=A@S;u`S>%`p0^`b*zS{NwxNC)A%tDc&orJ={}d`P26q^-gol;@8r8iY|v_~wdK`t3wq$XPZOBu`(2f-tQrZ=`l-ZQ_VfcS3k> zy~Tya?IcfoQ%5{>;+QDF#U&r`U_3=K=|MF6z418)*x-xCXE`5+cx>mF0 z`d?M8pmC%*pkwu=V2f+NTufPVbJ_{_=}9Qo(~U1)DP=ePC@W~RDH&$eoQeAH=>0rIPS8*N{6*hT^|1hBPMuu{gM444 zE0Z5PP{KB1SCk?)w?+cpR@{<*Ht1wHWYzEmgt4hU*t0Fc%^bEb*AVNFwr@i@)s7nE zXsWs2FH?=>2Q7>;36t+UhDn2t@LELeRP%9 zxKfavg}P#lcAc`K_;WD1{?w!*mrYLzZ^}-d#^c^FzI!WYB)t2BXd1kWlt_`4e>jQcA}Hw8a;tslFPgWO8J+ z4pSoT9LtL})cM=wK*5p>p~|#6vGROYk{5%=dE*KCwWfh^^p+YJyS|yNah7xLa6e}< zu`i)|FSLX+yY5D@&Odvsu+e(}3^H;#DZlCeLBA|r#Uo_7;!FpU%eO9KP4QL>0{^1=W|DX{}B_JnVvqYr(5UC;of&&E3~u=Pp75ayHom zsaiM(Luc)Pg_COFB#KJ3rts0@5A^RO`y>0cOTR-0TI>E`zS;%YL{-wR{zbQ!-a^y$ z{ycCf{sEldwAi?{H>^JNDJXM!!WKrQZMc%+YF$PCM~-@oa!@MWU<|nhC-@%^KmjBc znT^tDMLoQ#7(Rs*$80P)T&izVZ1D#cP)$@;3TwbaN=0FK3RchLJLrdreD_jJuPc~W zC?j~+O<^@=5AMddw+mQP%j+VaQ-7>xs_h`BJ)QjN`5U=ew>j3Rrb796E;`qjq1&*Z zKKJU?7cYu`|AuDsHLr+yj=A&y1oibbe|#{0B&ovx{E_}6&y3GDUtT$U@S z{+)&XQp_77p|4a=+-AnFREK7F{>|(J7&h15c(CC)(f*hP_%$aqU2OB5KkX>pBKJ4H!YZy9PSzqn;OCY$b6fFL4{1_TmA20wkR~$#* z6VU04EMafU+KW>j1u|4v=E%L5~xEs>uUQ?*?WxeW}!UGF){;dA5+4L!9s1%*M~FSi?+3oC`wl7a6T?D#4>Fp{I) zo9~+vV_kY&$gkkD(|wd(1zLDPoZNalbo_F9_8Ig%U1~eVdNDGC@JgV*v)bS ze&uNa{?zaBx=)0tUHPAB9!)B;Ta3bUV>`l$ebf$=vRDX4w#-(pURcG<66j@b#2`L% zMPSkWoQv<@PJ;@-z@yulelbLQs!Ye9`G{~+-GHL6zi%BaOz0TH3=&FH*@dnzR!=pl zHRe-|gfnKGct2%Mc*QqeK8~Tpdj7&H^$ecB1O2tg6i_#1jzAMnRk@UJs{u>YR z(q7E@xBC8W?r73n`GEYDZbksw>aD~<7);9vm^wN|MzokjSA=Nh$AedJh7}bNvh`Be z4VPP~Pfs+Q@$~TeVtybzkfFzdF9O&z_!OZf#yn?Hf%DK;mvp1_-JoLZ&=9{JY~GTb zJFoHelTd)Di` zdDYKy*gqj6|29--zLHYEB0Q&={WH*y0#&uNrs*Y}#&iI?q{`z5>)lqPj(N$Cz^1T@ zLW0*r!&~B?v~Ees&CoUJ+T%H$zdoKMKPQrJtYs~$*M_lX zawIS+T5aonRgQ(mo5@ip0;ZwM{t8;~ss^$97S_X}N1Z8cLos`-C01lAMVCFsJ*t1K zVk({o-eWVc&u&8#mj`&LwivsaKpC7!?jM@HbwXsjev_XxzpnhEb$&C$H`mo?mG`n7#A{wn`kYX_Cj&TF%b;XG zgCf_p1(wMWtMIoRqM1zK1+Q^zxTxPEV@HVhOH~``3fH4VS1(wm1hY8Tx^DD)xoKfK zIeEDVTFyv4)9(dV_IN;AdLJ+PE5Ffu@7oqVW}~vYl5D&j{?wTEJbJ0HBzyo_;hx!U z;cH2;K1ws1ZBV~_M^U|hJArkx6A?@)@a$Ey$tDAN@`T*W)U23nL8vE{426IL#;uD?YF zT|Ni}KqCFVs-v4?1%~L?>y7PZv()vL&GfZ-5&siDSiN=LR<#g7Rk9InE!yjR*wI@I1#^K zd;R->lUVkNB#A7YMU2gA$00`CtiPYthGuZ!)?`b)*~%>&hpH$}n6Z*vpmH^f=D_Wf zxVWbxVuPt*h~*(f=J+FrM5Eb>mBTV^W6EXNOT}@ZIh~V@0?>sxs;``EpT4((qQL$d z0l61$EOuw+A#Tem!qnu3LR`iTa+1Z4%bv-q)y+f8t{|^{Kd-M$^*%oSUmJ6!C%T7T zc-m_}z9DG?wL&$A@99%nqKsS`y)f^jQ(q~YLto|QT^(|@#QD$#6~xQ>G`PfLWGQ_0 zTtT zt;GSFnUI&7w7O|48RC>goP7RHqPcEQc~wtDIi-p9N7U8}UUATMG;qMb=@_m1SgE6T zk5Vv?jzHnasZ7>4NCbfl`gZQ%G^U(Sw&$iSN ze+l{B=#DN1|9@y$9_Yc<@ypzj^nT#(UuWHZvE&K7?lFWQA~cEp8%E@ZS+A zM@YXxF8@u3L(iJr0;h!*_VFcW0&I(W;i1Zr9Z60ONd>*p3#@nzY13Mr_C)>#m61$~ zCZ@FN3hQ#18Vq@QwK)C`@nqCvAMgcP53kg|9=Dtwyfem;0CUNC(1c@&+k$__eAJMj z+GM!qSZOQJvpd9b?fJbvPJ8u>ui;?uR4D(zaX6UExAi)~W!KxtugkpUaNj!U*R!HO znF%U1E{T|dKsn93n!%mMOY_kzO0xY=^67&xIy6@ew)*^JvS{ggse)$yxpy|ePsJcV z9>w+n!>il0^VOb56asFE69A9puaDLIETy>xzzMX-!CLbidS&cg>mc=gr~JCL%A4#F zgI|{9iD&)%yhhv^wBy8fm!^K3n|sw8ey_bPofk1dElDn-l&;Cf8wq$me-0%!&_%vu&Hws<6E+yMBZQ1?lfo9Vbr ztjLXMFYjqt$RanBQ$|uF$3RB6>ctETB4Voa%hkniuCdQ5wmh5;eWSDy|B}s~#>5s` z*${G0EHi2CR!eB}-zA1!2M!KRo_l|HQcuy!oTiSsHU6NBSB|$sV}EHSx6lM7$2VS$ zcW~m1SK+c)qESo661vd>)k;Yrm*UpJ^Ig~fjnR<##qvH@J>oD@lTcCM@;G=W%*K&a z=(qGNpQ9Sd6ERk}qkKzdztrt5lvn%dWju4gJe-`w%|$-39IvtuYVdp;_`>YF(ne&~ zn9YFIL{Leob|unxkLAC-4YU>;AM{jo`qlhU{(i&&z7LmuJBh*jD}vuMm@$)AVvJZ9mBz+KrMFIr8B%Yp0?DujttIVT6?DE>SX^@(2c98ur%_t}0M zjXwl(3N|gU^aVObzG@fyW3r1cb(R3R)v-XQCnOM7Ip*_U(903N=A?Bs^7VnC;ZQ!x zzj{WC6=NAtPoo=aY0`_yHA@;?$zy4l&yVoi=LyBH-v%mm2>17Co`6lM{l+Z$NCal> zs?DE&u(`!ZpWD9z^C-kj9w9%`A6?MA82^>wjNXn?@6dEY^=17NRNePRtlWzAF4j|l zK*n6LC$hr|pNqe&siwn}TcXi{` zS>St(w|E&G$OHkO%}$%q!S5)R9-x&MEV( z5EdEJR#04Nq14`tY@fWIJm5;+8*`q11SGXu#1Il3R^!7+wdU#>R_A+?6QT#l86&jk zwr@njtZWmMakUzCvUV)e(q4qm_EtdK{F&SbY8iEF@5_22(m0GGAV7wB^16RMYC&vD z$y45*PcCK4k1ElLP!c}GH39pp%CXm=clCH5|GR#o^Vg*lZxX=8tFv?lvWp%vosYtv zR<4ab>W+lHZ&6PILkX2G!$Vndm>XOWD+h6UI>|UUKD<&%=kTKpG8ECx8^gBZ3TDhoh}6qdE2U(1 z*Xc2DIuS2&o()2obfm!=4U(@~$$rNyuZfa6gP7c@bEN3hdbt!k-Of z)bQ~OMP^MDyjeVFonwIegc7F$|0|61OpXY1_9u3OfzUq=X33ttitrORbjm1e14wqo zs32G^igvDK`BigJqWve_oCCNmu#_JdhZhzY%&Md?pz@wlK_pIIqVwSuiA-2CbG~nM z@$p-AUS=5?GHb&C#WlP(Y zv``j8u6_q)VP?#eGW=PXKTn(4)Lx~Uz1F4nA03b2^L|dPw{i`NC>m|y-Fb?q4O1CS zXwQTJW39BTN$V1gBhI$o#Ja8(GUeKEn`7ztT59q7RZTBV#jXu%XeG0*-)i`31dzi% zPr`?)&&#z{Nb$_OHOt=pFy>auGL^q9pf>+F}Y~#d#!Y*@@ zLRR`1)kFWG`CqKj+;_c*uc=e>PLR;Zwx6ERVvL;YEFaJ`R4ogw>o4- zeOd9sW{y}I-L>Sn7-&(ELaLrT$@J7y)hx91h0xiEi1|zr!R((@#4cXw4s|i|Rn>5N z*dCWT^lAvOT0Sp$_DRn4t8!OL2CKFM4aQ#j@noC?X1Q?{ET8>5xU^{l8jCB;imF#Dx*K3ar1^tNi4a1roN3!8728zaO zA2Whupcjvx|5wD$QM>gCRyagk6mp2(Kf?jv+C##cDDHnwASkN>Sd6F@m~_Xf7>98d zVi=LZ*m#<4yNYnJpDwyq4^~%|%WWopDeVFA!bf}EJ@3@Z=f?DYO<8eV#4!svS&A!_ zZzXC;czbLigdq|*z`(!B8Gr%;u8zI46b^GvFJQK(F;|V-TEoI2r=4@M&L?KF?Ue?%0~DJ zq)jEY(pAPFq@ZBX?6n|pwJ1Sj#MC>j1;;wY^#1!8auK2+Jn#?moon$}(+Nc8#P-q=UhH(QFG!ABdj%57T7C?C;7TQ`7cAH1MLNI} z68(rs%?~5D<&wjlJAsAv@#5Xf#+n ze&^l($w#^M!O=hmi86khO8Qx);H>sfRkB<#m!f6p0|{Vdj0)BHm<8l4j&cWJ4;j=fh-YgU?j;P6|J3EmB3L)(mB;#78`txq|uEf!r_7*91MZ|9wVDV{k`P5-w) z;5~7h>zBCqa!yO){_yc`__A;#kI!gRfRU_RQZ=**GFr@~fjQ$JJep}LB48(=g*=oT zmM=fOP>+|T^Ix;q;LCJ2F1|ZO=R5=+KJTc}C2Ij3N{@Z`rHrN+W%DSO0?Jc->6^=n zaaW%Z%OO$PV-$$J95HuEw~4GyfynRE~us(sEHK;b?VAqL{A#a1ROXelB#^j zewa}780FOIyfpq^37%=cHSXa_UpRiW`)Y77g*_)gj&5>8=rg#E z<17|?ZSwu;241W(b-S#wfGvY(tS-^v(m$m}9Q$St!{^TNC#gU0+$*Zs_9}m&Eh#G>NzW%dAZkj-=$@YLUMV_>lk&#K_ z9;Ro-jw%N_-TP6J$Z3N#?4K}6vRugZ#Kl`t_GYsV?d;qj6l#jj<6D%vkDj3LCXNAv zP*0A85~c{xIk^EUMig zH2~<1mjR5L|Ffn=~w#}tbe-$l9}sB7HI%lB3FoqM?3XYdY|7oXXU zI+Js|2Y>NaP;t@C{C8>11p$|#ERsO(01dXBB00K&mYRpJWDt$ zon3v-|{Y3U+UA1{yYq3l0U9oEY> zjK@YdoBo26!b_J=)Z}d%vg65KQbDZHl;zZD>>@oXC4#CdQ|ap&$DMpMZ?}tx(d}*@ zH8)Gxu!;wy=qKpayFzpboN80pWaG2D zB9`TPc|hK7z=yBZ^RBocr{zI>59P5^1by^XmBv}3Pa_T6+RUZG?q9xt5XFEqap}vx zGH{diVSozMSM8$(H&;#~5P$xF(e7Yg`#XI1$6cRr3Hs~U`_l%xO7E+E5Tq1P*lo0p z69ozRzh?A6mk1DWLA_oOxq=M(s$yS8OMPhvU-`Br@)^e*fc@Qdm#V7v^Q-twu9}+HxF%Gja7P6t2=;yX6cE` zSfK`dT7ZCKEP<<-g8dmXE>@f31p6nX7x6HuJuGcQQ>F-`ilB9icd?Wx7hg%70KKk2 zPhp?@kP$W+Nac&{KRpbEYUK;9y?0L6bS0+p#mV>eJx~esHG|X0V%Exb&F3;@NZLCk z;jC40(#e)T9SkiC-GnbC1eRX*;k>cMv^f!VGc=EfE@#=*#T?00yK?9Ps6=mou6wF6 zVqI%lCw+U$y?1F+PlJVSVSYt5X?@rpuV?x@3r-!nvli*EsbHfJ5MOZ)UJoeSq-o^Z zXs?J(zA~hm%=EJgpz7zaMJ&jqX9rAN+y)KBLLoAfXc4ai?cOQ;#D42xA-PCa|KsB` zz5mVRyxc$*J$o!(+dv#a0kk}<>^!Tt;4D{%Dmx#qO~+_x8GCPv>Fo8%KitjW9@pYF z?O}QxGgLie<-~Z-`B}ts+4n`vQQ5)fecx!eS`$Zkt|y#NlJaG0d@IX!&VUV8Z%>p^ z;iVrXi{P1lxc591uO9G3Om<s+yW|XSoGLK-wQe{=*iDnr;99+jj+N=iKdCGxTs9|NCckKDd#mCc8)!}QO!BqxH26FbpO!B6*w^4D-l`R3$T2VFyMPq0CQ zzam;d&jzUdiLTU~dJlW+FXZpaNz?xk_kwvfk}gv7ImYN3VjVjam2pR9e{Vr2BY=fx z{X(ct9OtjZ&Eyae3VLzBQkNBL*14}5A!^WarC2YVvGM;n`VN0K`~PcOX;Iv$trY#D zHBx)GN~>lOd(;TGSf#OItD=IoYQ&1tTCvrLJz|G&lUTJ$RP4Pye$U@V(t-1k(O?(F*8co9Lp5YWddaV zkcW?a$Z^Xx$)4V*u^VGVC7eZ2#rvK8;MYo@3;fZ$u6p;aCabc|ogl@kNR%`u69j@4v;Z%T!#$da~X@6UckKLD6`Z+cY)^j`g7kFk1r zbqi1T{qq4`8C+`1gMp#{R&YpnwjZ+)NoP#@8 z?fk``SNK-kU+pp*lHVZtoUp;qoMG<(E0PhK=`)#z{St z4)@BYRQNmj?0e@w&dWG*Vr{eJ|5FgEBUcezy&?m%@s3Ke#!Q(FzS3e}_)r8~eBE&% zD7Z;xdQXJ=*HpxGlWk|g7y9owy4`puTB(h!Ck-(F)ZwzX0?A@|xdoPr`%yJrD|)Na zG;o*m{{R>LKY@~d6}=DY9H_10g9`;xt;nrbhsaOEf|g}9`DJx&#Ee`KO7Ud>*) z7?fSpWDZdIlzb8o$C@!@Q`=jvQ-N}ZF=nh^nR%`Pw>{^Xo|QW5PcFQ&kckIVIL;=^VB(f&eh1yee+#RrdG1RfA_!xY{FZ;GEhX57mBsz%cl~#x`}~+ zXCtf#MGoT)tm+h4sq+LZj7_xs=NwCasy-Slu$Ol=9<{g?exp2h{>%O{xpGQZ%5$t7 zG@`i#p|Xm9ui;~T*O9ij=Wy$VK2*f%URo>6jT)rEhAxwu4Ka&42qth<{^c?em2$^q zoT!bhRZV35{7!-}6ES0T|-`+|AwEtb@vtNL=ok5JhI!Rl?bI|aE?U0gQm%wO-k zZ+CCX+-PE)lmoD)ynnLLL?_0zr3=%kYp=^ahiT;t={$qB%2$^#Csbeh345GD8AsT9 z|9GmR;6-d`5}?|zJ?J;K?L|e&X`)ib0_n58Fm%)Pu-GO{T5+b&Li?D-#sp=3c<00F zw5#@<+0K|ZRiN7$k6DnTHh@UK$?3MX|BQ9Tj|(JCYNXW^szw?-X<5;gFE%nUT+0ut zQY;^u^!FF4Aa$H#|BtUO+z4FNMhSp}Mt5P#?Yf{N9?V|E)HbGT+mn3nly$XR3TUC3 zTGjD88JsZ#f)@e%dWVODjUYiP#c1oXsm)jTKnZacC*G+;redJ{mvIZY1{g>UjB?)U z{$E45AbJUd>qtlq+%Z%%rM@bUv>!bs7c=eLzK8k#!d{~fxGCGkkwOhhlhh)mAiYkj zTQwxid&DwpqrOV2H>EjYwZ0{2n*(F=_#a8B0M6?NRi?P6Y=u+HMeSTv+=I!RF}e@d zB2GhXe-_O2{5H;D-iWJib4o`yGX;==!|u?oMpcO2VS?0ZgjK9^O^&R$KFfOClSuHWqP%DMS^Jh+u`|%&IO%n zHBS+x9icw_mJqdHWi&oi$7(BGIoJhs-#%2qZOims&g9rBVR!WoZ{dKYL|6(4OYS=os3ym-ukIFE_#DSx(Uoe8y6tdnr;)Vs#9N`S zGj5&VvWg9X(D*ht=L#-6ux&FEE;Lma!F#`FqoLCeB12d#68t(9q*mfT?9v_WbdO(r z5$a-#WP zGjy*@bSfR@|3_|)BejT4G2nnB(j7BAvH@t@fx3pxhzcJ}c2Jp~-1~nzVdUbOegTov zR~uQ%xvU7?c$ZZs;@uQTNdlMKZMX;Lty16rcR1X;863%Gq6*v$JXN*7vFx-*9oW|g z=k4WP-{PiW+jR57`Cr88Uv8+E+Nl2l9~G^UWJFf=!lyE(Qu3KtC$XUf!M9;ltne9n0hqbnQ79N-zbS2Fg%57<8w zfdNKr**m!$N5`JNSIvW}o13Jj)89-#|M7XOK>h1f^@{>!JMOzck8N%?=P6@tu~G|C z!)FrF_>nGlF}q#;5(pGdw+&__H;zaoDq0AOv%9)_MVqV|tPI!YdSDA}k8Mac10}+P zer#0@XGej(#{Y8&08&4Gr*9Fe{|g?EZh9_lUK)VE8&_|CrnqtjF=d;c^nZ5+``gX1 z`z|jN96mP^yd3|N#ai}v6!1RvW1xBVq*3mzn7LOBqN?>iTItz9njrzR3#{{J@n}DL zC;g|=n-2I-e|^1X*Q;7Paa(+P1dbN`o6>yO!R46B`gY4wF%q zswY$_!4U|~urDF!-{EtZ3um^A3ack8sH$~u1}F<4oGR0~;1Ngj9P4;)F6`>a8?sD1 z($l*VxSR~#XO#@!5nk|bT_k@#a;ez^4eNmZ@fcz7<>|K20-Fg}8&>Q#PkDRz_rVyF6QSJ@{*GUI8|2%dzi2J{+=`IFOkI*<_ z3VY>@V-U^ppd!R}H_oGN-AjbutIda^^yE!hux&$~vjyGR*+mS#gxi!{b{eyl$A38V z$T*dL zY=q?@+IaSg@=X6d11cO?Z}j24RQTSsXGKMMk#4V{t%VdW+7e9a1X{9BV>qdE7s5el z?(U5(lv_fxbvqJ^<OzX6rNahx6E;4idc`#3KETPlvRZ&oq2keK%Fe$VCF!+3FSV*u%!G=) zZ-h#PgldiZu7<5gAXT{=D8o}u;zl^B5xO&d=5-J6E3dt*B8}Q^)BW(fK83bQb<^i9pV^)a)JSTS zBJkeb_O{htDilLhtGqlh=lDX`hkZYC+M+F?-o8`Vj53Lx$qVu%E$i#&rv!w%xrqDQ z9@&P2kHe}4OENFS%saqLdF?B8o0`A=B*lMcea0APFr0Ulbap;@GRCNBu_x2it7Xd& z5h?6_B9#AM8UAg7l~gs^j2Sb&N5=3c=|^FzOa|{-x2%v=vPiACarIPP3U|MHuVi}q zC7NmEKU!+0frQ&$rVd2&5#_>Fbi)&-dp7E&Jj}5})nrb=<=GNXP;RRY_tt~@G5Is= zphIpcl|FyAJ}XD7@{Ko@SFBF}Q}dAGK!y|hcK#}`Qh9s0Fy0KzdV2Qx&XTsjMB9!!RZ1K2 zdbOfx%e7p-L(wqTT*<0V)Kfm*q(&&yWPqn($4t32ygF`}*PUM)m3)Kc3lG{DUpU`K zPlk4_#Ty1MuhAJcsV>yp6YH-sE3dfH)2|P)Hg?A*lFcZ)%(MC%lbd5vN%dV-^$%xt z_E&Y>!tXaZk))h?n_BVL5KDmhHsnfM!!hyQ#~qYpPPNp8(3p2dgW-&`Xz_=w?9pmp7NK!Tr7%{vY?j^ zIn`Dvbw{OstC5!cjh~tm1)BB>Szf6(;(k8mT$$*pWUv=OQLx`Djr&b+R4^lJ3KjqG zq|?-GB17C`4o^{@{+dSpaq}MyeUgT6UH4wBzD#NB7GR#R-&J{`Qo_W=H*uTKzJy7( z9gQI_zshF?CWy8VZy8)Xn39l-{eg( z6zzU9e)$C`nI|uME3ZIkKEtcasPXf*o`6BhqjG7ed``}fTxquo>4KzO{Re#<4~=se zR>b;pi7E#eBGk6OcpiN<$$mVuPEUqC+6x%z;{$H#j?g9giWb-EvUS2~6Zs&Ae+95d zvZO#*4=MTX7HbDb^=6kv|BO04uVn;edJd9{1?X9_))J297u#E|_Rrvkg;e;4YuCT?`g0(l#~n@OKi)w)4yU7su~ zHPFHQ*NSnFqfDt9ak1`oNFAJKNVv*X1+_w-`U!lA8K>tWH&9IvZlzml)!Csy>dlN0s%6_T?EekNkG)N5{As9FVwuR3<9 ztkYfQnJyN|nE-fgwyLkUKHWLFB-+^BB--zY+-NN8+%(**>>q`%c-yxfk=nKj`E6&R zmEb;$qOS~Mr5uftM#9r@SLcx)#kbj$QMu=fP0s_UMyG|Qhn2v>Y3rNT;&5QKnz~LL zisc>FDkmA4JN4duly2ATIT-MfD}{l77Gh54@eA)B#0cvhL1EA?cWSLbCh|hc%~w+a z2?;CH&fAj7A^Y=dR%=7RPxJ&DZxAZ4nn<0cCs|gq5wo zu&qw-)yUk%AD!Ryo$=>Yk3=LZJ>T^R$=kDn%^Jjg)oP9odSq&CUGC4u+Ip+m*m9sE z#+7Q7IEXmv#}9B>62PxxHZ}h2_yDy9%99nd*3-SN#h94S5v3)Q9^u?lb?c&ivdof( zzz<`F9vfswK{CZP2EXll(R-hrwwPD_&c62-V(|$9*W3|-T7wmAz?0Xvs|8p~GDp^7 zpF)$Yqu{LvRx<)=Tr%~7Y%!a#GC#t=_T$>tp=#^}e9O-lix=WC=k67nhHa2j!% z*Mg?;KBZk)-2b2CX+nDC8N&X975L$?mChlohN-z z%+2I)xa{Y_$Tn*D#&L_^t<&rBPlIYE9arTid!~s2Z`(5e$Fo6Es@6*UP^qtyHhI#z>K_l*oPWN2`BoY`(@2P0XdT}lOF&4?JMI~ zxZAXu)EiNh`BfojehanZ3sC*2|0M1vhJZ1ALNGe@8dC~O1h;+9IeXr~LTBddvNGd}d!D(en zc2L4bM-wtR=|0uKce ztAcd(i)#Lmpsb=+w$9l5H>(%df7g2KPjTt|=kxq+d&DNKfDdX%Aq>I(%l!xeTGOn| zEPm=-@bb7$Yn?y(lOOCEr91WNyMBf$;+@}>Jr7Rohh3@sTpTuR?1P>nngWW=6ys{4qS{InmCg)=c$+%>O4eg?SiF9>@c%&>Sa9Er38?hnJHIRMu;{?Od5O4 zzt~gXXSu#}@I_!jLV^9b?_uQau4x^&nhw){(VtYALJ`Z`LC$7<*`=ticXM`lPVB3v z{jWH1q|TBaZ@~yFi_3~{N|mHtP3PonADR@^oU^ndML?V*#t9k@hYL)j(_ zZzn!1khwQw{DEhmz0a3p*M#K)kqzMqLmc7V95!l~tm>O=NXM%(S!u&qwr&b^oNuS} zTMz7@({Cl`(igDQ(J^s>q|~8Ij89zg4>OA#l$<-K6ZZ24m4*Kcq42;@W%@~A|BTY$ z5?T65e$&1F{PDP^NJXJxDmPKNX02}7TKen17AirDEo$d0vK+p?JqB*1gklohrT;u%mj<>(6L$o`Ig2Pd>;ik&CCFc(fU#eAK+BZfVew9D&PGq|B!?uTP*x$U7_s6SDCM*CT zhTAl6o^E!uh|Y2LX9nY)kGX$UlRO-WA2q2}4k`$L7BPgXfRm z#v;zMYd^C-{`M|e%tgiAhaEQ`8nis|gNxUI?kR#c=EhPX(EY6m17XFI%?Fd_;_2v4 z>pm9aR_+|^^3NvK&{3D4UapeI*wtpBhKSGwO>?GI5IKUPsu(czvV~1c<}LrDXdUnG zRf&E-2KblF=!!idbtPF5)?Z|mP(d#qr)-Wbu!$M!%a;9SL@FK^_hBZJc#hKpS|ytv zwyoc7x7vvQ9D9ghrwZTH&xMc{t}xj7`j9Fzc~h9(`kCo&FxAV_|SYs(ZY9|Kpd z-RtUAJ4t+k(f^))MSN4qUz#=R4yM?!kR6qO}^xplx#lZ?`vYh?}R#TmS9_l?+Ms@?=NPaq>!t_ z9IWvM1_ki)jtaK#?c(mUs$5sk{;@`ZGsMVso4M34E94b?wPfD`W&nVbmEsqVBu2yf zD!HV#$QIlPc`!e1Eavy%cm6;xd@6Uc>Ng?wXN(gs64J#Kx7cn@|FEx7m#g|OK!D6} z-sHOGiVS+9(ifFtK0ASh z5N%U3=AcB{_;H+44K5Q5GYl8koIVhu4})*9FifFEv9ek^IGIETYFk^7s*YXUzG#)& z{3SjjIL`}UQ9()LZ_YCM!oQL%$*d&7v))KNLw3%oEZA)EkGwaI*=Nx z9HIhgUH6_Rwzsa>)m40{17TB&q5zbO2joT@=gArSEs6GWT^LVE-)V;6tx9q*6_0?U zs!*_D6(sWdHnIG~vZa^R^WGO+c(i<2>(Ig_UNTgx4NY@aL=(PZ-FCQ7d(+R~SgSMg zM6_@G{ht*z4x->!HS<4r^PO7=wi3#V|GxemV5goo211ghxPdK`!JRbll~|S z8gPGMo2RfW#r+d;L|eZC*C9arW00_j_R&&cX|o+n$nC4@0z~A^^|o$!i;B zrIDqeRL)T@$c^D!b*laZbKbK1o-hpa1)N?TiY>AYEAd~vr@nNj6_K_(S3!ySaNdeX z_D^?7pLpt$5NG?vmzowkcZMUqbeh=&q z7vgR?OIbMfpX4z~euJgVl5+Q|88L%t0un#j7vccwY-LaTJ2Pzp4+trZA#CM)X=j+0Ue_}?phMQ?pf@7nwiwa$B^!&S{P zjZ_qmDA8fye>)lG?u`(bo{E1kN!zUEW_R0)mAuKU9Bgy9n8r=+efVg}x3nu)2{)$i z_189(V^eKpQU_ug&?{2Sl1DsVGu*x&5%CNIR@3WdAQu~<6E7hpIm7Df(=-Fbx zg}0>S#qDtS)ra=YL0iK>imsHYB8pYn+_;6ROx1&tU>$y}+dsojIi!;mEji}!*`j&; z7`=10xt_>-!x2|jYms|poC}x1N4%CuTZ(-5&hLFU?~?5UB3t5}Jizbf>=~x7f@Edm z3PeCE$90u26?%zh>&COiuhNLHTKbhhuZ{Y!3s*H5Z{+Po(SQc$UOdu7bU?h_S8TP|k4G&G!xDEGN%~I!7Yp=C z-AsfjkIPcw7hb)~!cA;R7k9Z{OPIG8CgEgwQr>wJ+Xpf7)fR~Bmx%M?z<7o*?9PSc zQ^a+bAKR-w z^KGi$p-H4DrN1OgtFbxgxeF5io}hT)0QC2UrjOIC3mYUoB`2-ImE1G#stlB{IOs3b zMGHYMWXzaYG^qm(L$~82@TjId@KotyfAvUUS@{?7_Z9x4-@d|vN{4A0o`$av&#xw3 zjV?dDt$D3!KTeg0UYlT{mF6Dv-7BwxrBt&SmVy2I{m|cIxJ&`BIrQZ>KmC+RzL{0k z=X_e{?;vcrr$uh*y|co{t9=Qd3vLq(A3&IxOyes@aO#T*jB`m7@p!|^Lj3D4NYvaj z6v`~lYGDWhjcE!4T6k+e1z&c^lHCxEd`f7>=jSvhT_8(Ju-aU7Q<_bcLl(8!qCBU? zM1KVhHnupdBO%uY5XSlgFX8u8Wzs46O1%pGpDTkYb!l|~!Qr?d?UhlIY@koD?`}p3 zsGhjCpME`K-+0!p7xHYWd|~N{B;wLseXqVp?GKVz)h_KvBNaoWt#W;|>&!`s1;ojk zah-%D{H>l@v{1&K&j!`;G{}j+l?EL1h`!A#HY;(}wszo@&XpbRx1m!&^z#givlb4* z>sS}eUMdW`iag(1Wi>H*CSv}H>v-3h`$(~y(l^rXshYgXf=UV$0vm9W<^$uXE~PYk z`Q27Onpyu=Y9eMIeehS^&%i}gwnLeVlsFpMdnnIZ^syamdd=r}VKFe?H@?8}%*H)l ztY$e-(f)=uMvJmt=TJGONSDn|iA1{-dNKF(bVl;#6AeFwip0%tfxsg9AbdIE3LYMQ zapzQgfoC!Vc^pxrl*F_sI^Qm4fT898`5e1a2@Ddb{)4$>W7^OzSyx(z+CF@|5X`3$ zDq;WNKNGLo4thb8f^6;PF0xAGox5Ha5EnDJU!Mb^ns6n<&2zL0nuq7%SBLgOL=dS? zfDP~8G(1;AM$J%ua~wy5%{J_7VAaXH5ch8>%*EmJ$y~S92Vj^(yd~Z4={X(2?~Zzq zY+Olx8e7E=KMiff=jZ-kY}B=8)Ax#7i5oR(&J!7^UG>BEn=eB;AziWaT6~G8QHD49 zLkaEcU@z-FzdM95a?65NYn^QIX#5XH=kOk7nH6H~)~Sjjwn#)ux!eI7F(Z^D;Zvr5 zOkMG1?6dD*_AJ&rQ{Z;WXJIs`ASInG+w=z>Mg{?4@`(lWb`XMdTrqJl>Mtvu4a2l5 zEhy3TQC~(dwv@zPPBCXT>2;5<9wOE8=WZTFn4gxs`4GL7xzwarh&qwXRxAlvGZm@o zWTt*LEX^_T$)xalRVJU?f|jH5?A+9||FL2FD_r;gz2U-SR96GH4-kH}LEar9i-73R z;@w zB$r2^q5(>x1ssNZ^Rf6Ofsq^o^zueP98*lV7lWR%&ixN&-+u5;aKinO5tCGbJpt2K zidF4?6W;EukZ!pX6r!rzKe|*3qB_&n8c+ii#@&s^T-@VKOoza_a1H zW65F#8o2n1J~dV}U>w1`hIVR*HXaKEOk|l1wHaQpdfya>#WSc8B(DPGZ-k@*`opkA z!YX4j=;Od9Rq?vR#<&a27m@@m?!5E(lH6`_tX5(&J#6XAj|SO3lq`7*y7BXrosNs3 z7@fuAPg&|At-~AVI!2L&Y%n}IK7!H7tOO+S_J_8wiDX*6uGLhEv^huK8}y*1s(Jpx zE$qc3YV(uCEM0tlX!2;2y{QmGVg9vb&20EBPazu1R%lzRuLE#lF> zY{Myg*vs>1rvHM@sg3th&cl!69G|E(nwIbxzM+YmgP3Op=6UV@A+}?ANk96!k8f4S za>V|jb^G~#di(O}c0G%);^-)-BP{*12J|Kx*Oi4rqrLsCoV zF*#;jktU=#;7fHiAwQ&P_FnnmIe~Ps%|GD>S@#gGa$0jCBv@f3s(N!w3;sl@>i;gS z+stBmBolF|!hs5`T?h(I(r#%Nd=G5Ejeymj~pDDa|IHrs{;;?P* z)U}8!Yo-8e3he^ZRAC6gCQ^VcJuZ}%)tuA;;#rXwC%TpyYwIWrF{)+k1rqq`s9sP6U z?W8PV%?4y1S;O)5JW{z@?Qy%}ecb%e{_eWV0w|f6QqV6oi~3uG-AgdV#W&<UGraROrRhbc~Jb84C0#wL8x|L{cF;M#@gs zKwv%N)FygtQ$s((%%6?y`T+66YGM_QOtNf7G9P5z2Cd#@pFDxj z6Z2a8`Jm~uJV5LSto8~z{PiyN(N^{w5iw1BMl}9MMOubjMyQC2^6|vThq0a4G*d3$ zdb}rOx8p{AZM9{*u2yf*P?dw+TOM(%XRBXtV_Rz9oFK+RMG0{(KNmlU+?D{%GYJj= zM57pDA8f)fbs(%%d7n0U70t3{bIjLj#Mkw-yKz;MAlpPp?F+|z$S!9}tO=+}vG!ZW zW$7cP^=H_J5tP6EIvt;dk5H9qBF@n;E~25+UR7CFK~pNoR6Ek*zW*fw_Aj$||9}Vk z-RtV4OjwD6`$$+YrzPuSowRo8LeWxS-j_EOD_TOg5x?2;>SPPH--Cqe7!7UYuFPI2pJKbI_ zT;+;469`V6maB-ry>G^Vu+aI%3uJ-e&-%Jy@<|0^L=pzTci-H_s!Nx=n{W7sQr((d zn_@H9MWfoN(*6=}c(a^qWD=(jhBOp0chB~(aJ}OaeUIIHQWGLSQ#IO&KXoT9i=?)3 z+e2XkGV?cdZG8Twmmotj-r}lCqybocA3q{~rUu}DlS8D)kCTY|mGha+^}Qp0_u8(T z?LvZ9)DN}gk6R=7uNH3B)=)c#kqza!oo7^Jt}!nsYO}_IawBy&sAX0SUrtL!R}Ez= z0jafSvcw8XgWHo&S~F$LI>a1U9$G&sIGo!Xo~xCepsk877c2$R*yX*H%g}RlOS8U9 z!!zBvImRYytvs4ulHcLGAZFfa>+OLzHL-oE@tefnYnmnQ_JrMOzq*LSgTa9+v3Jjf z8xcCuBf^&fm_HJUop)X|+|)~r6V|1M?MLnQ(*Rr(VL%fXXYmnSH^2$^hVRqOD*mJT zrkY3KdF}ijLBrSda-4kZF`pc5rj57um_ofmucL`#p9Xt-tB^r?c1h=-IG}j4hhQQA zJ7p{>gu6aeKpIt?PdAKYuHK4B{LY8;BD9GD%y#?9QakQfjsoN7s5F13Z&{%aTH`1^ zEdaN{MD+?mcGV#zv2TE=TQWrS_8sc+zv8Ssg8K<%SzVUD_&DZwfVN=%T2bJ4K*m;A z`J?Hws*jV(+2~E0Iydf@&i>h}$bT1F33Px`zo#LO&Au`l-gP+oaM;=0zEHbUl0LP_ zaMQ8Vu5xm=6ADevbt&7NQgj;`mtwhJ@;qYLO+-j;=8vU8)&+IT?WSN!ez>FH`=`E| z4L4O^t_maCU9t@0R`$DR76C zPt@x;jQFt>9d8Z8n)M zcTd{kJF+38;U})!n^n+}YsG{PlRb=MXX0?^lyumscZs4kC*uB@*QJ_j9FwMmMT66H~ICIv6dtxYp>#N?5 z^O8gszO#XPKcX|BPln5)+?z=Qb516%vt$&(qY|nW09;saeiJt$=5L>L{+m z)sujWPAO~L**^;>Rn9dcPX3kD+j!U6eJprER6kg;f6pGi*dDf$HBC8)>&|NbwZgu+ z@CAaoSERIB71bL|X|4VQ{zn%=2_&y!S2D$NDLTiyI$xRHEv75`27r`3Y&r^BXIXjs z1R!)VT4TpQjH&h|^p?`V)|TLVRsBnA8)5^UhOk_%TQ+Et;F@=I0GCS1Ht!YdD&eza zo50x6gyh>C-x*at);BdHXrrZ*@_C;9wN_P#49x&XPnlvfOF0I%`2e7aI~f41&gAR9 z%Yi>^Mmce%QNgmqdNl5dMxC%G^*qiLKhplW_hE4Q!cA{wIBWCdF5)J4vh~tDd}`rY zv!9MZ+#96pN(l`-3#vFHp~;5J+t7pW(TsWDdX5^=z# zvC6>@FQ|v~z#2jp?w;(&*W_>H0IJP22bxZfl?7&;P5?i)ZDu*Hly_|c%}$Z;|4EvT zc-&koG`f6Ycj06#jT|zHjpLCl=zs@4&@6~KE+67<9pIj?mP}Va`5(XV*~42RC&(Sr zLu_3qXtff@#oVyn(5X{fjKkbs<0LV=bk8R;nJ zegk}1OT4nEyH@gadb3o}5A8_Q1qp-jAuv(0R-t}7mO;jWe`8_M2tfQu|>2SN^K zqw$0kA-!yBWKYAjH_#23=NoZTaH<78z-UDgKoWlW7I3g%iL;)CvOUcjbz+`_O`eW- z1g&xb47RFr&|yC{%6|ltiL*%fuWW&>W~GNIVdy+>5Vbo|&}%O^@KYw2&G|u$xBxcD z|JT%qoa&CTva@N+v~YV%Ai-uGw0hBU=HMHXy>9h7StG#!H`0%h6f5rWHZzJ*zxuHQ zbqd`|zcFOtXICkctl>W==H7fBKa)i4L%oyVqk2@^=B=1e5t3aKcm04~7)FicY4?bi zWyXw>#(10pkNF#wYOT2A(%gC{=61<)){RDrXYR=E$KjQ$nT0u}w|P6ZBb&PDa!L!< zDUWxivf8)|znFJVT!s95Yz|ES{l}WG&TVMJO>Ta3*|J+&bU8qWJQonehH?Ixrqs+* znGcbQvZdTzA{V!c2N8zBFt3R(5AzxCAqR#Y0>4w5rkiu?*Jy&N!oSzjq3@Ia(V!v zGN?EMdccC->Wq84+y>5LUT2&2%ZU%#INiN;Vb(~jed<(kCuSMH7GHT_l^zhjUF&@( z{JeX<(vgXh56>~ZnALtf>t(PWiny7VSL^$$Pj;#kh$i2J;YIpVnV-nEmb*Q3KTv|*wBNgznRwu6BqJ+- zj$*X0134$Uyny}4u6MK=|G>!b7Sn52b8OAPF5a^Fyje`&VqbjNE(G9e4LU?C)!31g zC$@H^_{z|rgQDv(Qm zB2HfM$-w9f@rWXUoFYkbkPB#s4Y@C0PidP-)GUyHQhwd@V+#Yz>Rt{Ed9T@Qs?@=s6)vRc!FPXdykaQY|cXH|jLL zOS`sBkF-SV_UT{rd}JLil9R^FFLd1mk@5bpbjHk(&vx{UR;b@DXsv$fnZLI0#&ET5 zRA5;ggvy!fy*cNt+J8N3aSM7U4K>pZ0WlZxPgGtQ8YCH)!JomQ6~AmG<05l_q0918f^9?XwzBkw8TmHAC^mODe$Y@W%uJ^H z(X1F7C}hLX^OSR`Q;$lIyMxxB#l*}y49>Y@S1Sv@YH;wex;txTXm*C_4e&g(ePQ%+ z`S^paY0sNpGxOmy-=INmwY4OO_sU7@^-ilI^%C9TCRC(OL2)C_cf?L(4o=GX%AsDr ziKo?OZ6KUtKAOxsvzh77!?3i++1+Cl@BsTCpRGQ8iOB&U=UnFDH{EUXx5#d4J5=VQ7#0_4*lC1-oX5+arz!%F?-=ClFU6{l^LGnm6mJ<&#wON?C zf#cilxmFR(z>5^Ov*x#NT6AouoKVQIuO|OlAMPUaFeK_f6|gi8a7My47jx>1p))MD$pBw zU;>ke%&qsJ_46usb*9o(*>D}1qiOnz9^Vtdb*D(mkO9Ugd2Y2NKDnWfj8CBUij2Xt z3^T*|*I5|8#roqjJsGX{4Vn{0ywb&*<*c`xRBSrLaHAxhjTDR!#XSg(Z!0X1nemoH;rVb#@H5*KW!pU9G$ zweWO5lDDz=Pd!Ha^9Nx&IT&jBa9(W5iaTM$H;OZ6+AHaKApm@5u}8E}x5MUX1}QG4 z0n#!VkyK94vRC=jmJ?&%q{>1~xU{L#IdbqZBgSnw=aTN0so^1_<&R0lT?V(=pLMcs z-dO9q#Rf@3Di?w>eNliI)zr0WL`nBO@eICuz4$ucjf@n|a1cs_3HSh{u@TpucA(66 z(l{gdXV0CQCdCcQ)x@bvTBnJEYMSKcZritDNE(ASoao5M$ zQko$6&}3#ZuKG9L34?Ht3-rca-nwB-I#WQWt_`-0*!kOTa|)a>xW~VW)SY zKJYLeb_x9gQ%dY!O^URPekr-(U_I{D^)yni{XZ9ga?}2DaRPrO25mvf_v)JW`c!BK z;ibB4=d8YUaPwbi<)K0t7gZgF*XL?@!tj=W`_qQ5tSEagDOncW&YuSjI7W1QPa$Q9 zIOcw2NDBrb{bopGlPgL27(XDB4N^2!SFMmU34~`(>Dl1RMPCOLcMp#~2X( zw(>oEE!C_U($zN6lQz6f_#EH$ZER+76Eb418sr|TX!O7SvlH&@qt!#i>Ce6qZ|6|s z_3_1i%idWm!){xkugVFt=;&3B*b;POil`*JRwtUBJAfg3##$*Ot5xoW z2?kd+%am5xatBR6MhXEmUbK@+i7(moey{dMYf2csNKpD6rS&&Kn4c*DWtOu>HEBww zhS?XbRc12so)7bJHM`#oev~3Qds;E`nZirs1EG)?c>Rq1;=t?Lu#C?#5Z&5Ov$H>s zZE_0gR{fCto9THOx-~}X0V+;Tv^X;Qxg+)1^I68z6xJ-pW+p5D8f^oDJ7lek5$&(; ziY)V{zQns(e;wnX`Esv0dhBzAcXrNS&&2xTr_vvCx`+G4X3reii@ z%&HGSY>^&w9iaZaHqnOx1(nG|DT`~OjXAETTB zl~H_fVYsGSWcGep*M-#WK>c8+k;1Q6yr8x9XnsrmyIf01!uK@K>YUdkC0p{O_|!~4 z@wRJStMEE#n;73x{0`7%@SXU1zL%=rT&lL(bO@6P!0!B;#JZO_on;m%Tls5&typZw+(De`<`}?mtAKG?bv~a%PLCzu%Dr&uwYe(c^?JufA3|5f0U_v8 zPTtu`^}5;P2W9=B|2}KO+^kAv>@z_Z$2maTce$7^k1y+vPED4RDMQwAmjMe`@SCwP zH?<>6dqF57_sbuGFNEoY=~=g-r@53gpm;=DV788Kxh$4hl0)>4(}rGdhkSuOp3t2o zUAm0$<91F8A~`Xi1W7lXcwHIOdde0i%A$xf=E1+rn=U2QuR{Y`pxo`JciRJlX5|A3 z;s$-S{p(kLdS&*>QW}c9uD}O$z8t~w-{8}WP3}G|38tmp*<*LqxJrgyYvjam0W^UC zc4enYeKj}R_cr1gbz$4zk#-jyy&QE$EVJUKs>CF=(}UZl^BI)B$99D`Bl3Nj6EElT zI13Q2Ttg|oOU0ZjQdHe+{=>7= zS;S>4Ku^DuM?SZ&Izg)hH36BRbJ_0K zYp*Gz>%zzGuHbON^5wG`l&J$m;cF!d;N_Y>fww2BR2-F2f{hihCb~^#?5P9f279Mo z#^AJ8^}R0mvSzNUsbbZSy%}dWI_t8~eRa&;ZQhs_{BVLQvDrH)lYZ^r z^#a!-qhmnaX9keP<7~1XU?tgT&q{22kc&r;fYr#7Pc)-;pj|FN-#Ca3qfu3{Yi%Vi zs+hZOM@~TtUhwp1z2nXNNW>%dMV5an`?%W{M+!LDGl zRbRxTqN-|UZY~xtpV@;H#g-XWk3ojV}Q(Z3in;cA7Wvd$-E^rp{iOKh8 zM`t=tPF}X>3jKJXPvd@5%vA+>{Ta2<*1B8k1G1hZw$pFT5VNz#rCP=+*5%s zOHZxp%BMO}av6hqVdWIeH5v^%PLQQTd)qH|JYPfryj@2$F{6bZip`|L`i{vTFA&RK ztdA-{B`U(x0^JW+aO?8YpL*FH``*S+|0MhLG=JA8o!j9>-_MGF{;abH+$!>!HC5nP zJwaScO<=W^UO;QB9#<%458^NzkI(brj)z zr{1)B1+(ky6|LlqppY2z=e_8&Z%RMqV?W)JM+_dZFS0>?D|7y;GV|RRG zR1q!Y%gM|o)6CQXoDplIBOmuhTEQx`st}8ah`%H8)XEjxZs4p@n9H2Ck(+$(!K_Lo zF*{yEqH0eK*i;v47-O#2{OlGF-KkZ;o)v*>ZVi@eb7khyu*S-%z4_$oHLnWuRDfd) zE;+8_J@1Q2UgjPvFS0MYy-&_zo}SMko?}2Xb6=z2gPyB3c#X;oW*@(e@chk=Q|s6- zGj?^=^lPs*>IAV{Ba5hONS?7O%}@0SpZWk^K70F8svh*LG=*{zZv{eE}Jm`HrpgbZflQ{OA2RsDKQBLe=Dz30$`}d?GU^%mJ0D^XvjF;;bS* zR-!$bK;E3OfnDi=U5)gCZ5@m~Qd>|%HfXN8h4$3&w>mRMpINI`&((@{A*W9S6)QN! z`P#&YE`DlW`jaoc$=vJkg`M34PHdmDS zqs?3n*q#hPrV%u#=rbn|B+HtZjRlRx_d?yCQ;k(qZC*|G7I*^H12BwKhe&c(g4lQ& z)o-8Rm2SU-eZ~v_@(exV@Q8kq4c`5^?{eqhJ$!CP;BC_GN%PW|oQ&QYD*_&wpo)Pv zJL9y}IL<-rYWHEpgNZ*`B9^P6l5Sk^_9Ms_RbPDN%J;d=&ycPiXTSx3>BCRAhvgRoG*5)yN+|aC6yz@-wSq%&6Tm%A2Tf zB{f@%dbm3S8k_yBklnfaaP|X$YLGcfoY4`xNBtrZzWO%PE=PXiL>*bH{``nS%Wo&F zv3gd$^rwD?z&(!no9CV#=j;_E%Ed{;3a}INo}ptUn0021sMU&T9jn@b(M(t5*In*% zqlx(ZI`_BAXmR(|iVd4Qx!B~j7SHhXTHuZwP z3a36_FJ==<1y!vjrXR>~Wz;r8Y>rq_i5?!9x+t6@sZTT(b2S^y2s@ruD$lAwovH)s zH=3Qf?w1~Tm@|LvwZnNBtS&6m}f*P@i zsw1zM8RJx7fy^+_Zl;!6oa}-)5dykU?s~@2B1!eAQ)?;%8aArOc zW-R%Rd;JsP^DP>WdRQ6bTW^j(ye?5ESkaE5K&F5r6AqRt+FJZj(mK`}E}n5BGA9~? zE$FvZKq`D8uqLw?<5ZM?~v%;<;Q9Nq7-+_EGsxYGmLzvSR zDyTQBCa;PaU7>ZI1A66}3ZnJN%dH|&JVvx#y?!b`3R)_{tjv8@m*K2a3rZ_vpH{Ts}xPT03U(t#>j(^@(F zSd~h&{q>Se&Vcp7h)o_&xxqd&X8Pkd7t2a=)sH=O{{~{aY|JOGM>(O)289DUcihvy6we#l&sYV?S$r*Bz<(jK#&EyGtlpm_20$x(Xs{0P5t-EEXAI zo~X6CItFtT&F^lg9ARHG*%LjkgLuX>gWASpaYn}If|s#z)@a{&^?Q-^+^x$8wlNj- z1hr(TI%_e`nJdhywwJ3S9wcLo3hRSZGR_>A{CKsDX0(dY7}pPd?++(*&*Pu|;7eYy z=iVW}xg?s;4dR|#W=Q!+_hZ0aJQ;Hxk8;*hL>2zWQ|Q#>WJi};F>ZpW1m1P z3TV)Sv3?>`Id=K@Gp`C+bFMQuMyRMNnau2oYsSlUJX!$T`a-YD{Q)^ECjzix8EsMa>@|!P8Z&b(NdNk;5A}4rowY}k!v-!a>f}b%^!8IP^aLwb(>H`E)yuPT&^`u04=5*CCIfm%(2W}LvsFxr;1{#GH0E6 zDY1juj(a_^%Dr}8>@RWa3ZmzA1!T5jux|PIx6^N!6IAEW`o4~JsVU9WDf6K zZ^m47axQ+pHoqZ{D(V0giTU4VpDQ^d-29KYsJ}ap9y3oTdIhY7*)_PT-yE!&d#P?v z{bJW#2X$6Ezw+Z>`SMSG?0fFN^brETULWyzpXa^jx*@$~xd9yiF{fX^OMdgu%&K5f zqe4Iw#^&)zU`-q!M45>g3j-D-Jz@t_uQ`DhKDEK*8TDu0cwEH8imfJf)f8A(2h3#{ zKgZgmHQL7QNDbe#fIKbd@Yw}cfla38NC)~FE2DYhXasshQqS)@szxo983R{VRWkuu zNAuy%`?TxQp;bjaf8K`|RF_J?T-}+QRuC3@FkZWR3sB)48V#tJ5#SkNo8LSbavbS{ zFTVG?zW4 zfpd_k%Bb(2tZM#-F7d4)fA@eFsD>T1;~7NzYNN`macsBR!F7AiS*bewFWuqgij@ma z(0v6)uLGX^>IG9Jx%QZGxkP6s(W(XNCzg4CS|zVqbrMnCF`rcE2wBtzXxl3>?D>PL8LdahsUJmu z5^hA;ubQkE4d;2aIyPQ1Mb*`ohhBhIa>g=F8^Fs&9u9TwLnd+gfoiS-PV=l^#Ny+Y z3^m13J9c6-8gS12Ceu~99-#V;#m}oc@m&FoMURRAb?Q0?GEfX)`pv1B`QTV@B;$<6 z`$vEO-hPq&{_pZYoUvk zv(8Rgm(NEKCK)W1siw-$*K!i8tre)8S~NDA@0d9n@*TNct=yRb%!vf$T?3um8*D9J zbj94)*2Lq->SFHJ83o32<8wM7^E`i*s^WT?c{vQq@Q0Ar!58#s7NBaxnJO}|j}=v& zfJK#cj8y`2KU9EeCDV#PPgdDMqq`Gvf79!VYI*KCL32bVrsjmvc4y?fN$;uXeM=_S zt;^$YziZ{4>n8Ciz@z3xHt;6|jvC9O@9iqIXU5xTZhsj$2f3~K-s%90k(Fp?Mm@0J zNWA#O$maNc$oas+legCpzzxul$2EaJ)w;IEjWW7Iv{_$k6SJdSJTCr(qjumusy47b zz-olqo&~n6gV$bk)&ka-i4{<{HP!OV9+1@n(?Sd1eeRVTp@&RRo;?H=`r&sag1lN~ z_$`fYJY6UTM>{}+5f#?VQ>w1xJGd(1w=UoJ5B~Ax zKm7bJ+<5mIe(l$O?dC<+v*bSWY;g*l2``AATA83{#|R^T-Kv78Sy;d80`1H*9wk+x z7rXiRT}MA>?b7vkRXp#gPIkawC+{e1FJBCefLhnUs=2hRVYFAj0wzC5$F3|@s>nz* z@kHjV2AvYMg0D-_Ja*<;nHj4!0xoA)ePU+0Hz+eQ7x5Ee4S^jq^1a0MTZ>N>u#+0R z?5QbBYigb0nWu-JVqM)-3yfzrlX&jwXt)i-0=)%>DTkPkzq=6_FefS3*SSHQI{Yo4J~5Ouo^;+RTok`_F97 zb<0aUvDT5B>+UxcS)HjD^lXpKKaciT;kdfY`4DesI%MXhIX1bjBI`{~W;3lmviYgThL)Dh55<89m$N=_WVh zv7ao*0Cq65jV7XJmHUh38B~#qDg;&0D!+&-@x5bVP3ACE-0XP4{{;j0X7p`$l-i$;{eou->{kC#nj+Wjfx^ z;~doHNyz0tZLdqhK( z&DRR%nqu1x{~G#Fcrsg~ZtTpe)~6Hqfvh^S!Web^0VEL=auI9q)}2um)yd7j^5+W36Bpa!d6{gV!SVun!BBCopN_`4Un-D+xu1mOJY)2znH+NF z&8aPX$9gouPnJgwKKy_9v-iF3lV9h?_GWMcxgo@uwYj<8w%%B+%xAWk)uB?H>mAnkKT1IC^J=55KF{wM2XDxOigrq0?a6C z84Y6bq2sv(`#b{T=?V`t3h>R^Rb^K|o{oi4tYZ#Oh=pMyU;AbJ7#+tm@4AR1#Iur+7jhUD~5@V;Qlk2XAxB6X@P| z`I(pgyUUAT__qk&BlybC|EkOX`Qtx%XODct4RQ|LAN`4*-aNb5+#%w9(F}}LvGx(D z@1FhUQXTHrW;RluSE9a}jvY&K-l;Ftr?mu6QHSvVxtr+Q_2ZXsNFw=bp0VS-n(M(%K38(? z!+1vWsK64n{3ft-XfSJsmmJ*c9+7-%Ui3v@d-=Ja{rNl5M>q0f{*|Bq;v1Xu5uA>D z-r%J8dTm9pBRp4=!4sw)`CxL;fHOz1`I(dTIRULAkD~E@(l8c#t>x$Pxrn!SA;L-4 zID0@5Wiotj5sxRY7I7gH1-#kISgckFb9`ei7Y)B%Tjv}Wd1ATzI>!!VmjPxxBfD1* zc<*z`sHd$)px^k^n@Fed>{0X%&($Qh@BLOzrfWn~_N)ryye=wKENhU=P^<)$6DtO7ojmz{dyb)kjl%B3%BEr#IgWgSi&+XlET*;@YZ-$c3MgxJqEI z53N=M_(3z&$N+d{YqQIs3~J>vCo;cw`jK<4w$dGv6Y=&3mTTTU!%IB%zwitH@$%v? z`kI^Eqa9!I`CoPUrC<8xJ0AP<^gM@s_iB@m?=vUPcM+&ql}0wYj-YCd72Fr?LVNZP z`n3aCgID_QF4Xs2fPX!!p9~&xe3guYc$|?n#`dS8Fo%Mpc`duyrxnaxu4+aAE5c%3 z`l21|$fzRGU0aRB+Ktae>M|NH(3m+Ch|$Arb&237?+-0N?)<^WT1M+9;t|(IcR%-N zQb~`Zyhc?NDEl`ec)M=0&$c~tT?6r~InP-306!xN^@Bu@UCJ~!$JPdk{n5Aj!#KC` zuH#+n(SZGZ;ZcAu`kXJnIsF%Z>zCfg&F!sa=B8nDqmH*Yk45rUW`xOqBpJwwk8UEW z#p7cPg=EkGi3Vt^4+jqhkEyYs^IUhW$q2d+JffS!`T+ZC1)O-UMQ&nnr~Vl*GLv-; z0Uv>CPL`0JsAs#YTC??KsOQ6+kF9?Al`GE~OO-%o64ysKjW;U z3pE9GR2VPYi#!Z2d;5Ld{_`w?)&+J)w|0=Z7Ran^4YsV=&$R?Z&9DpV8U^U`a^DW~ zIkOtTM+-Jq{p(O8?^Kyzc;_AK(S%3M|FhRMeCo%4)~#>;y8JJb_XAKQ-u<1uJYc-4 z_+SKmNE%~q^~|IiJJDvWK*?_^`c`M=!$@w&0B-D=EA-UEDyK?dYN(svSYVaUw>x!W z!C^1QRTQb}KT7~;r&7-@6W3w^@w;V3a_mDE74c%Bp|t_WJ<8$#`Q^y{jo>+P4r=4O zk~5AuD~#2WH?v2aJM9|sT8ZUu`-B=7oN3QC{P{d@9IJmbNDUv*fhVYv+00e16}Yxo zWUK_Q`P#2>dC|9g$>sIl@F{m9j~@JQ|LZ@$eDHgI_~qrl^eeZ$^VtNP9w*n6*=N8R z;Tz?g{QM!${S9Znptfsb{%}Sg;m-h<`SL_HXT4m3uhQLsI{h=M?bjfXg>BzpuRX9E ztbSb{N9uB^Kqh#v4|uoBUw*+~RO(TONA-(r@D6YMCvN@R&;5rxw{PCCATyq$w{FIQ zT44LJ<_Fl34H8L4Z2wwKV*UMLJXn)E?dys&y6vf)k+UI=70^$;#O8-?>!)@ApDP}( zzVv`6<2uMzwQSZ$?*7kxYv57aI;%3DPXovacIFJYD#8!8TCn>w!se{9#;$0hH51ea zjII+!zIn0l#9h}^V{h|Jk7y6j+O1P&v#!TDjB+~yGSxU*^_k-bjT<$iZxtZ&#((II zE-(JpFS-1#SNUCp9|icCm;TJ<`S1A=mw)vy|Ml9Jw)bqG zv2LP_okN3Yb?xXGQZwhEoK#e|)p+wWLJp{sR?s@ExoWlXt67H8!umN1xY@&eSr4YS z*B2xrBOKQ{AqQKfpqf($uH($ny*4VrQ6r$<46v^Lb(jyM>|HC+ASZtJtH0Xi`~JoM z<4Ao}A>TzG)p-6#{h4)J_yU|ablzxQivnY*%Z1;YJ8Nb<;N?*CVN_dxR{2nF&?OJ> zUKbDfwldb5TD6WgJrm0nB_eh)LlrslGUA!#qpiMtPMiw)_;xVYj=@wn#+-lRA=BF6 zsOJN0H6Ck(V}{E5$@j14M6#TCEV;q7tBk6v%EcIl+MLtupS+bs&S=IH!qSd{nlPrFILc1O*B>}R{bgjtuUL&WXCF(mHmtV&;R%G7eDeZ z-$WlR_zNHTsp}=S`|}LQutQ_`a<9)B`3jgy04o~gq6e7EY@{6c<-}_p>*A6(HHhRA zGImXL_P4L{$_D7$r5W?Ftig_zks541=b8s{0rsp^)$VeLnhjv28q7LlnbBY$@rfBN zhZzRh#u9-|Y>$Z_UkzLrHSw{gijjDHw}5A5*HN@)UIA5S!0{#4y|^B#?5GxVeQef- zo*ZrVYpmb>h#Dux*x8kD9+#2HqZdjrw5Vv0fGTU6SI?Cn_3+SvN&Sc1eusLr<5B+` z+2CED`kY(;`p16!=1b4V3FMaLrg2NTy}gNnSx!MF*eBCm>iHJn!!i}^6MlYELL@Wm z1MRzeg06Db1nSP7^b@hjX)!xq>n9R#M=B4OSev zcdxbL{vktlc4HKuaq4ka{asFLuOXSc?Q=#@-C9_lvEKfz#hH!Wd%k-HlSxPW9$|dW zv8age3T8EH47#2(P$<-wJM-jZ0M3PH@%^6v-j~1dnIBK$5sd%w<38i^t>5tNcRa9n zRm^kHj+b+|TTS5eB4#b%%skKY^A#Rlt!O{;&8k(-)S-rG;uCVQ3fEFbXPD%zf?L40 z=KfK=?jbl<*AEY?c_QJsc67If(eAH2n8~0&^IJohIcgr)XNReLx7rCg8*tSO$~#u* z%dX7|ci-#h8jqUYw;9-G&^^wn<@0dXQInBp*uJd`TAK)3R#IVID}#9-8=s6IHfj@z z@b`P>=d4vfsQ3Gx@_R1-_aFS*2|TL7caTRZ{`OaW^UdA(ySHxyx26wH;G@BfoVOKZ z_F+rhN;L3hoC>aHftmq!USgwuoulWv_Sp60%O+8@?yo#>`T?tE#_252Dr``?)5O46mkgV8J7< zR`xepjz`VF`km2BhX7SqO+_FtPYeia@`|a+{fMO&dVuxMyURM_H>OQy_Del^PX*LM zv3z?O=K{=oJziC}K2U)?v9Ev8H(fsN`G5ZMi@)%TH~u3HKlyKe>hfXF`RL2He8YF# z>}g)zZO}ahvF6#3FOIgg#__%4nc)oMktqXUsp$%^XI6jfFrx2e#5`JLnFIFM>dxeh zwF>SLWWs3f%v3E=wF2T3aApQIDzSU-c0DoovG*WcsTxzK`b4Y64|2e@R6VdmE3h*2 zoyfk0J{lRj`+T-w2dW11?*i-+>{aI?!)PwiSUCrdgrYHQ#No4=s z#u2QQ3OQR#ohky)GN?5HA8mU~5ZUp1zQlgxop-56D}0N1RN^@w^j@#Hw{QIpZ+ZLn z^qXcdZ#*_%jK-Vyp<<@qFM3&MCZGSI1I)z8Q!Oi~dN3bIt5gV7sp3X5)CeN_d?{?r zU~5$!tGhs5;O#tcmJKi9yr^j{ITRdcFZsEmU>&bd0eP%Eu-rp^SoFaM?Es8l&#=b; z9bzCh*R1r%fkgKjdZ+PGhJo$aTA-zdodtPSS~t<|Fwmk`YodUy8dhs}lzO;jp)zY? zTUq9=3gUS(R_HhCOSG%3Mr)G`{6^BaO7sG)|L*VnzRUC8?ZYqs;zxe;PVA9^ANof> zeEGn4{m{!l{=S#o_E@*8uI1C0u{-vB5|No17Nd$Xb2elW&B#Swru_mG1o38*=g*8* z4@-~kC^F(1GYZSv$wv#j7C5SyS4STY>l#x=Kpv$iCv^3_Z%f7pml&eTzj(GsTjZjTbmi^W#l_T(VY;_rET5h zYf~o^3(Ri7Js4wDDZ5If=YgGQ;>YUEY&1}b7$@HKC97(He*_V$sLus=W`o9pw|pY59*uZZzsLrk{Yfvlxzk_vjh}zt;~v*9dT+lsE`Dz=kB66!jKG=?l`1^2 zT)T=0Jh(!RJylf!s1r0gwYm=Sj98*;5a!C};{nXdxt6J*4P$2FbD^YKIC)6VR@Mw$SBx&bQB4%f z*;;0Jtd%_fJVn;D)S&~JW@EdKo?!Ey$Aqg4Qn6Qf&5BB+;d38^eH)8EUr?C?ESZhX zIn~X?v->e>MH#WC{iFZ;|8e=Ccl&QI|IhFEhj(HRFTU}`-*ow~_x;$*PyWPDkEgBo z!JYXm!sxz_XC2@BL(b1fYqhE9z0en|A<=SW1!W3z@Uw}3uAL$~;; zlAkL+-C%Z=SjPF$SguMFtqi6PRqD4-uc_pk11r^Njo7u`$3pJZoTw)g1$4s<@EnfFc_2P%dmL#UK&|I?pnQXyi`S~8qxd1X! zc{4%#HA`%=)W8EXmybhK5}h^tbzRVvT z)DYFeL+{LYo%Xd?W;?=m#*)Eo<{FMY@m(ABnWGvj|Nr9u&Bs3P@~W@)s<*v|7XRj7 z{rKf8KmV&Q-~9D|_qNwvxytiyitZ${=gK#@p5f$l20eob^?+HTv(LsMU=5P`T&(`%vxgB%zEtSJny|Of9Z2RA6bg=UYGj zb3cD`yF_oHH`LoNh=G~wLvlQ&Di!VHn8?;(K0jo5#OZFnN|{Bo8*`jAZA1yIgG3_!0H;DgUOrTS#Q<^;q?XH9%ST9 zY}H`am^rSq?0`tKQ=w62>eOo%i%f9*_F}CHSbZ^{8F(8rhH@(NjZ9s!nZ=PeF?q*t zc%apdTrRKvny-HOZ$9REmk;`g4LjuYc9e|MOT@#C_;VyT0yHPSJg3 zv`*hhcS&@=exS+e<4+Ao0Jm$UrgP#sb6!oT<7Gt+xN{6@#YU^jdz{K3KJmMQ>WwPe zPuLsm+L^QSgluOx0lcb}8IAp{g6hxcQ6UVw$eB3uw-unkGjOe^Od{uXUPJOcX`5Mn zu(Nj9+B1601&Ph4x;@w#aVyIz%uO_=Rb7CO<*54BY+b8m^5m)nsA9w{!>&WQArsBAZo{xI%+Il$f8VT@|QI{$;IAhspg~FMsI}1v&^&6z_iHPd z3@YQRpDcfpgG*+vr7^)e?J>P$KzJ|pm2j7 zvv+Q8pyi1)111|A75v&fcB%x4^hK#`Ycgl777Cjcz}&u7%>r}Gr~)HEp6L3Up>nH~ z(J|Os1$;lW^XJ-`fT`8^k$1hqDEr9Vy#~#fU1sC#HvV4egu1fxCsE?80FMkgl@h0l zSk>lA0u`*D(STSpwQ83QCI=8XkKoKNn%fm!@r-W8t?S-*EMEL%XGXpevy+t$Y7);F zOr2nBzwUqWq|4hq<83Z)`}DWIyxlv!&E-{o8~;ZNFa4>PU4G!Zf9Uf4-~Ep--~T=T z|W^Y_2cCS7^Co5 zojuXlZ#*zJ`)!76C4wzrUSHdUit@pmzS$qTe9gCidFAdA+*2>IpZjSqy!GFI%17PY zq_=#^({BCp%YWt0?cNWG;8DWT&I95@I`dpak7`B(AL>L}AION6I6T?p=g;M0>&&Xw z2GcvUHW$oHa_I!?8XKH5@?B>cv4X_RbuVTEBXHz_b4Re_)L#1^n4MQ7r>l`M`%-oRUugo*OrRG3sZV>$%iG_6v3=5$U+40~*Lm&B6JPg$L4RUq zsDgVOeXeJn(DO+uhx#L?Zda&waIOiiso}deIN%zah<)`ka-Yps?>c%0{)W-MM7#fv z6J6W+JiD%9=Q$}knLT-P=mu(^`+yyvy=N?#%FHqYGxCTZ`?0>vvuAaPp))gTPTv~F z9b=xK#TkFc<9^5GCI9AoZz%I!>0ZD+`5W2bOaI#6xb-D3_?tI3k{xnW-K`G>u|6b> z-1uPL>FV$?D~A}K^;rG(G&KYKYwD8+gZ1Gv&N^&=XJ{r&YVQs?GFyAySD(6^!TINU zYQo(w2-ePX0#pP$SJl+s{Un1KqfSAjqMz4V!^H{>_5?1toa-vDsrrCOna^l>2{RxLW{)G9u>)*R<5+1g zYvjkzjLx;X`tY{T`Scs998vwL8*A3cat+;6kW4IDMmh$5=&MF;fDijO0=<0!VLiZ3 ziJ_$;aU!$g8mbX6suNHz3zVxqs{_QX2UAhNE3R>_VXg>RdCtV^H>KU-TEAsj!H(yTbcsWRZzsOFwH>$Lb zs_Y59#FGbI8F90!)(7s!+{EV9o;b$i2aRn8-tp|qU_E4s&2^Ittj1TRRjmkQwW}=A z%7EHqT@|OUk$Ckdh|Or&J~zhgp;|_47>sb5w;B)^+f&78EWh?yHyl)FhiiM18#IeW zl$g~h&OUf$5D`1pnyoTx>5it53D=d0?ZLQQUhfV5FPCrqM_<2__YnFL5w2DhW6AXj zIBTop(=%|dqAa2^?dh5(@``gUdacU!6?hr3cufMkn`@b1FWM8tx$Ip`d!KuNpV5xk z)5 z$ucHuyv$@#+bUfXyFeutm!8aOxHc?uvI4yL3bfUq3W2<$m2xvr9{(T#bZtS`N#B_(lI;s&uBiYL zQHvKcUnv7?x+l2jmoDOamXWz@bWic7j@j@MrAj>z&ue3^W-`b`Db`j%pH3jF(sVsid>wK>p?d?s20Suoi|InodOiY#XbUd z;#+H~%zESay&7j-U7NL7DrAmzZ4Xng$kWExts2KZ)(3WBlqZ|+tx%7v9BP7Ve05u` z4U-x!szGarRVQO&n@!Fd0pA!M8LPsz^*|UX!j>`nWUd-DbSx*fFv?6Nej{bMTcg_6 zFeXROvao>sStlompPV{$Ex)KXwRozs1}f1r7Lc=6mYqO6YV1sfc<%Gx=Z=+kqYs#= zdj|LPKP?c?ddoj`>nHxr|9QvrKKAA(k`FTNV4q5&L^ARsD4MG_kv>?#px!H$ZsTUi!%GBX;$wW|EtHx|6u@Xktw*`2qJduc?_ zW9!+Mn#r#S}*7zR4t#ZnygwI*d5yycSXSX)D&lhqeoqH`mDmP0v2Dd!OXSJ{$}+z z(C9eVl9}qRGjo6VXeB783IHC;#Wgm5HH$LMAN_znupM__tajNstERFV!T!p>#;iWO zvX>ca+8NtfbyY>Z_PL%9}YIz+llk-8h{KVt%=pRNVb3*s6S%>n^gp1!a+MW zr%F#VM2zJ=$HtqWBF}jGG=Z~Il<1ReIAW{|=@IZOIPCOPVi*Qh3WcQM-oU*Y z>Z@TCemhZ%7e@Pt>0`qOM9^)|jOquRwlT3ivZ} z?wULdM>)Gb-DZz#C<9iNs2~zA*1QV3290j3-Kq34u8k6_r6-K!3)dXPdgi-61Lrp0 zbG!@Pi+D`@(*p61Z}Kj;e)ebn{T1y%o2#cjikTasl1$gPSpiHG)d58J zI$P$5s?xe{&lsxxcU6zx(CV`v3)4f5>)BOq=i+(wSL`}*bz%+E1^0r&c>Qat#9 z^?@<1GIvFJW_B+@Wuow`y{1rDk6LEep&!glU>5b(O#c{H!T+Qc@mP~963OQjtEZyM zdO&SEOkQB59mVWu7p3Mg-8 zfVZn==b7Jeq1XEDQ|WgmeXNebQHeDj^LxFn30Nstg=>2tgF>`m!`Zxloyemx^Yh`^fL{iWBoAe| z*oiue{uO32C>?J_wf${o6!^_CeSEyB$FkR~zXn%CEgY-PYatHbeS)p74k}*s+Mr&Q z0BuLtVjY?tVTdxjGI35mSGvz-0$JJ6XZZS*JD@J!JC7sFlom z6Vzg%(Aew&rY;;aV&;NaWwP$ckx7iz<9DP&<`Idzs(GR_9uS*4T6Ct8SSuzAe_8=O zf~Z?F`y7?X`?@>jTkpVpLo&GQ<1qb&R=$;u>(BkSmDf(tSVU6JJ*68z#=Yd zT1Qw(N0{lk>w&8>ZYM5lRf~sa?EI+*7k@)-VHF^22b2QUT}g7VWK&^JeE9q#2e{Ju zUdQUfJR`X|2Gk`|PV;Cd&Z_gB+3(4KI-piHRd648xJKnMS;PgQu;={$m5^u&uvl-8iJaHJkeAHwCxyK5b-X{AqTUBlB zt|gEG)IMrt^tZAz#@H_?M-|kvDp?o>xgvSiY2B=;mQ{A7;%-0{YtH~XDiiEjE*7Xp zqupOF)f1IR2ef8?Y|haOPIYRbHaS6J@OP&1%-*Yv>H#C>)k$5T8p^C7*33GR)t?}q zSw^|WtiyIyX6)E({O09r>p4=b7lZ?MRtIGE6$P2)v3B!Ts+XCSTTxUkW0ANTGo!86 z)A5<`R!3v-LBdYb(HMzDh^5iad3* z+D?FM{M_R=f9fB-=l?0e5s#S{+0Xi<&%L?ppZ}uIzVFpu{deEQ=EE=_C?1sfJPSN@ z^Fi%6pO)}=oXRcKLSMTdPeDgx;rQ61%tbVPV3P<2-{ZP$6+L9bH9id5pxkv|zwV zgl^LhjJOsnMb{?}_06J6CXf})a)}zFdt!7i;&-({JT<|wV}NSn@N?0NSU{e=b|#Bw zFBucETpd~Lc*Hvs4XkubBr|J-#agRoRX~({`-9Cu7oIAPS^_W8ScN?P*dfqjt!FEF zYXRqVuG=RN0K! z#^qz-nG=&kXBcS8XGR^cx4=4es%C8?Aeq?Yg%!E3|Bw^JqS`B9c0`H3sjEd7IKnLP zpgC~g-)HkqNS*6)Yek;(AG#}&(`SaFb;`5L!x4|9K>F2)vhWPBb3u3 z2@$ckQZW+aQ(|vo*Ni=WzQ4cV{dzsm`x*EB-1l{nk0&|B9=Z!kLJV{aPo_BSm^C~A z&be@f1D9%K@DSDOJ@u+@Jto~RH4?lb;ZL!J%Pw?&GOX|)5MeccY2v%CV^OfGGI0E2G&ATDe*C3^1CcNtHsPg1~}Q=i9a@<#^oW2 zdOM*}32MYD+d0PC(c3~C9*JYT0rAmp$9}{CzyB^yhjA?$rW&}Bb&If)J#kV~K9^&A z7KAvicJd_I3f+ifDk&HLdhk3ki4kP;LL`IOyY#zAbv3{ade|y`Sy^VQwbh1}-ByU6 zh$ac|H~>2@@{>v5lX;RqTg+%kXlZR7w{PXCK@j2&Q!AMdw0nwmSWtR{U|mt3L1t{( zV#TADKewM?ndhm0YC~K1CjS<<$$AC~a=l)yw#f2ENyY4O{l2@hnFy{O_xF__8Z;4X zn8)K-`JbN+{bA0$1^bq*2{~5Wk6M(&KMa*{XLPY_C;XBr!!mxH(;t356Boh$#_}?` z|Is@!=ua0if;DbqFm9i{$Rku1uJ6cNG^x5=XB7>B8c2`HzAoQ8 zv>=s6D>M-t74sv$ekGDgyC^;ZQ;K4lo%ULMzGiHvsdvD?xf_O{)7NZnp2jcbfb_fv zZ<81*nFDkaDkCgy8SL@ms4XOcqrafa*4fgGvpHShfsA6g=qa+}=3>I6p^j2#>WzDF zzfW~LS(9s3Kj{o3m&@P!+fW9!*)Omj-av=$T)M)@jh$h~xffXFgEJO~ZGi*Ll`i9k zz^nVrgG&)L>8dgx`_v3XPb8+f0a%j^hgGJNPEeFSD~t2)i?=&7)?$y1^>+^q=EN!& zZ^U$c*H7v-<23=a7~17_;!LC+K|s8pChMHV_m^`-MS{RLrsVrry7^WX;}(|Z1@{>z z2K)uM))lC#mfEL6P!%X}f1Kw%z&@NW#p7vlUwgYCoe&`mIxejRZEwZCUJOrtblWH| zOk6jkOpm^2P99P5J1!Dr!(ckp^oXegQ)aP4OV7VN*Bo$@duacy=%L&j)^U#IPlvYS zrPC+RA2j%wqAUzRK%)(srddKLNK<=yT<_dH z=1*-1Y*Z+)j&*P7A3U*J*LQJWvE${f&cA=09-10|36yQwx!&-#JgPmXkqJDn&it@4 zVd25a)4%(;vXJIb3(ogRmjuQ6N{9I!Nr!`4<;Z5AC6OhBgL(eQUXF(cOT*|{O^nav<$UyBa4{c_{sV$t*SvDZc$r)=#-Ad3y) zpd(DPb#R*g$G6lb9^i3a`qd##KrX405#-{|Ql8W}&#SuMpX)nQy4sh0nxL`UnndE5 z+y1;P^jq^e{lN_b4BRZRe* zYLrbad75P>IVMqNVb*8{xWgOPKc#Bb9N4MfBX>L{Ij6YV`n|pq$xtQIY4wWl6DfIe z+R>6U654N3AwdiRCSB$qjPRE0V`qnK59cAkfJ8SSE6i~}Dz+4?>jzB%Y}ZV8;2^0g z1qjwML85eJX>?D*^T^B=l}vb6$R^L05H#b>3dd(+{Ak#3mz>Cy9p%q`?|t|WZMPRJ zH|yr$6mvx{FOM7X>~r_Q(!{gQSfri_HhG^sic0Xf%O)#;%mRNnh(6;h?O!c^;B2<( zJ~&btl(_GK34nD?7Q#4H*BEde%RmX;HReq|CHdP32y5!^%B`D#lF}*}T|bycl^_E; zcQ&eM2?pEGgD(NgOU-MfEl190U|wtT7HQcNM}V6}Spr6KGN12mJ`zFcuEXGG?JlG6 zD9vq6=A;DjZ;O@xtBbq5#0n%IUDAX40%>g1$4lBf1p%Tr!~kOdLxvVb2x##q{sV6M z2rs=O_-K0)su(>l$S*`>BUmoPP0A9%9S0BQs#EP2W>^j^B;(_#wV68DHF@5dVr%;{ zD}ls$W_SM%`zK8)m%3yO)RwGve669tD|EP3R2o0ILtzpEF$4gkeFo8htz*YMo&&9OOgW1|wJ zI`V=_Uf(LczbRb!6SPsO77yVA55{$b444xq`!Y#Q0tenWCQxA#!GH<=MNeQ?v_II{ z-Qw>Xl5*IL;K>Y44kRT9pc|+wuoaMY@><)99NWu2Lfe|Te3T!oufi9oHJX0ap3i$u zQ!^rm&U~{7B@AKAwJr(;|3$e;M!a`b%F7M&O_e0^V~F0DE$o7X$!Mxj)ApJ}(@Jm? z?6x-RcE)+)dVKRC!W*66e0Jav;&4s`L>RhgXA_S5x8MAF@iN_tRL=bPoI~)Z6?Hta$f_{<+7iZC#$kk)-x`c z5KH+}F3v ztL3T!miNZn@L3ZDlH$x4(10HcNfZNxelrujGbgGD^#nNo3Ol+)1aMH>?mh;n=E`hmH-oFKWyqaWQc)DT$1NG8s21NGZhmtyJ+$6t9qd1UEAsT})VZ z;ohEi<@?Pwf^9AVyAm73^s>hLSb?FjY^jr4NHU?}$3F(cz4v7^JfMc1+N&7~KiIx% z+uh!7DXLsg%k&vixb66=Dt&Az3>H;Z%<7|yM`Vm%E5VSE8 zV$7By`8hNg6M;S|Kr1*t_*lYL@Z3z<7rT=?7PM&5&>nU+eX9O2==z-YnZZ8S&YjB= zq3}PR@rHjHlS1AgADr+5;7X!PYRzP3O`>_1iFBT#*w!hGNfhzs(x3irg34bo7gRDz zc4AnI2qjT)O0 zQMvmi_kn4p^dg7ElBG-}D({C{md&q{&lYP-;$P|J&?HgZ-Knb|I!cI zx(Drf{$2b2l{c5Bw7n7T@PLe<5Tk2ISdf!oDtDRxgOAl~t88ZRs;ZVd9PT)&VYI=L z<>TiThWR74rvqKKCMES)K~FvM=|q}o4KnzB9)w}@_}QeimcfOY&G1&ng>w1anf5~H zpI{QaX)=-0rYJ_xNzOj%A|&OGbRCbxn!j2M0Y;z{G<-w;I^=u|E^3?UDVxwFi7#=y z(lFoo`qzRZHZvY+uy$qCz`SM2HEZ3aMQs&sOjrc^+ueW7=A_bV_2OZ0kfcF2`u*vt zZY+9x&Rg@Wr7mKCzXf&%zMJ$v+ZX&kNp^cZe*(uDZ9e5*Oh^(AR|nYIJK*N(Dn5$; zyxNT5=5~(F;7+(1qiwN1b!m?1=@f2}M91S}X$gf)^;XV$>eXQo`Voht%XLGMHRrd* zK;N-qM2VyFQjNgB+d3tAcJ7Qw;PYHPnkyU3y&|rCq*431%`2m-O2r}$Vc z+OI2jI~RBVS6dXAwogFD%UdP z$shDM$NGeyd~atd_D5k}E(%mTo$$*AXmmF6C$g?OxWneG@aqU;^Q!3YL$dk>-a+ov z=A!xpeW-@_8}Ht21%B2OyDugqC%U3o)T1)*9@(B?wi#~_Xc*eu_1XB*=<3M8sEX_p zj-neJSqenqOUfJ^ce5byz@#L~-quMk@^qmsLw1IVS{|iU(at!8v|MgO$#rc+i}P(| z_ZZn5Te?2Ftq`<7K8kzy%5~;^bX0>GyjB09c7MUn@Q!-(wQ_7)iL979`;fBtg^Q!W zugti-m&5l`)keVa#-s#W^DDEafgKHB&$){kG7kr_3YA+zx-TG(8@QRzk#^030=xO1 zAaz6Tf0IC<;{st&ZU0{{*7$E9w$IAfD-Eax-&^aZcO52PnnEYU8DH4Wu z{y+nat~cTe!7f)CqgHv=eq|I*#0rc*0I&q3BQ~Dv!o*ut!VKy%wEbBwdB%6^vfANE zfwH$r$dG><1|_0Jt8DxEgUE1E2=xV9gj@v$3qCgorK?`tkc4!U+fa&JOV!}uS+9f> z4JfcGC|Or!$juYWyM(|GmBsrw?Ec>c^}EACpmOBxkTDMF6@~bVJ!6j2nOENDskW-O zMbRUH<_CRmX~#9FEQkBC6t>4YCC4Q)-qvnk?m7p&0zwTfT>OIuzxKU6%xGm0kbPe?z+R5nnJl(_kQsTp zysdrX?*uWdH4sogT+5|+=k2XxMXsV39b-9$l}AC50D)+#;8!u@7oBL?FHX(H0yj*R zGsqOfYxms!eMAn_wv`PVt(|w;*VzUK5lLz%EX3xI(!8Bc8+WKU44l;qR3&1bx=tW< z1b*kOU#)@c6?@7xl(^?$W%m3FyV|^5mYhv(xCjdgA{NkB^7Ko=oqwfN{PX;Pm`VKh z$1=zUWW+|)zd?S1eB3U!c2Qh{I5cifX^c7uKhLex+$YR$uXGNP9=si~+(O>yvSjPd z5j5Mqn4W5m7*B^R<{YY}b6U$7eBqz}Zu878P8yXYi^=#Wp#|Hm0Og`)UBaE$0bPQ~= z^pSc|KLBEjSC$y|#@^)Sd$Z9;(53m5Il5-Um4P&2^Y;Xxj2&Beh%Xz>qcTX#%)4~a zg%aT7nqKfrfQ4?7>Mnn?t;f2GU}PXItP^ zd)g6BvD!V9?DTcs$-!1A2{%*EwYObxPYr=nTd0EM3+pjs^H^vH#K=HKV36<{f4g`g z$SM+9IYbf61+3=`T|&KR!du5FihX0E3)uYIT+bI-NyBee!O}BXV<^ovDica|P%6rf zY*`bbiojOkJFY0uDMm&QxPx5cG-H4gU^hfWunRe&z8pq>+!&P*$qeWR^N zeI3amdr#$XBC`A5E^@6glNUU2x%2N1n$^hYV=1UTslnBlkilG=x1S!a#`nT|6d9=y zH2MVQ%NR-m3M}HLt_4~9Ro!nZrLNtYvD>xDd7xAic&EgIFap_8dr9dT2G*~ZJSum$ z#~pSTOZ)1G(OZZ9iT5Mvjja1gK+|g}UV5N2y{PgQ^SjjwM1FAh@z`;snv?v8#OF{{ z*E{%m!Y$Z8Y1&%m#@XG4e6k+(Tq+z+d|IQtL%nY1#t}agmO5pNJe6ZVOJIbM{vvDK z{e}wmnys%l`O2eEZ`BG-`&WsWHFPu9Y{cD5R({o{#!l)-P!u7CtiVQX@mlZLxrODtJpuUa>&7n`@JBAjS4~ep%1Nknyzou zXQ&zM{VJy_B#>1=AAs730^LUR~5E`qqt?cgKA_4jvKKUkEoz`5M zl}Qs;+@0Bt6eB`cl>W;cGVGN(v8v8(neuUZsEULH7l``zzl5XS4DDzL7TiQM{$?8d z?Jc&Tr1mf$DI9&MvMM1P(!8q!wdbiPyLs(W5j+mgt9dQj_W*lpFpsLhvHLudOnoH^ zVUNqmkmd|id4cxj|0V$l7=2qPhaT*5uYCUo!Y0P|d%Pp%UbOTbG$_{t2aD390<&tj z@j;d_wheb@%$3xFsnaTm2SU<&4Vp9XY@Qc6>$oK7DJv!A`x6Yi1^X4zIS5Cqkwk9h zsG0dSLBP&j#^1A_7U-36^eVlfS%0t-RZ2(@b)%dU;_m+{gv`tGp82Wk_W{Sz`CYJ3 za992J5Fe)r&r>s-zEEmF>1*}N-yHvbNqZ^yvIlF$ShYGtg4I^e>y}r>9jG|zWvE`E z_mnu6Z=awQ;sJ!x8K)bL`kEs~A_LzL3abTL*YCJ-Mx-rc^8HO%-CcXZu+}kOMwgf8 zf>!fXYu%~zOXy)dPv7g7uhN(o4FKUnZFy*7w)4zV!^dFIM)`GOH;JS?E^LNxL1g0;O+KnLqr%a9&R(N5!kx#uGCyhiN%NTkB3QH7~OC{d!B!LE1|nH zVU)+!pH(C+v1z)QltA?Nj40pKCLIRa4GcWJPQD&2uZAkQji7SJAM{oQwg$=uqA5u>E>%%#Hji4k zsxgg_pvWaB2P$ef!WNm`^VdV=Ym_HF%>V?5R44?(P^M<*1cG{{il5gcTS}C$3`ws zdBEW^cMy40?tCJ?wh5D-&-jx;2f-JOEy&yXKh%?M# zEsWN!0`#4a(&1rQHz5veYpBV!%{sppYi1*Wxffbk)+PI3Jb^cB;)$3>#sY{<&Za&h z8&+J*`c}S{azm5&(45Bpsig5e`*2Xxr1iUN7v>haeRDg1ykAYOeo-d@$^;g3F-}^9 z7U7aS`a<{X2aZ!=5?ui~MaJNQ+5O3z!U1&@nS*o%-<8}Yu)>f=eUA>kG8b3-wW`~B zWA+xC+}SU#ty)@KMhV5*d!D2tgrK>Gm2789?th&+k`qPmo;mnhyOAhc*UIOwoFDye z{xf$*$8837q$xKIYxb2i&GP%!FL;vf{uokzIP)q~;(;Rb(n{=m$V2BmCFKg$68F{BKXku$VeV1*9&~2)Y9_euUAu z1GV`s{2*9~E1w3sS~FJuONj%WAxJ(a2&KGPTI1!qh=o+tA-FP<$dTzdkJ5~ z4_^x>_HTl+KfN;E(E6we8fkLuBBEn5o?D}anCXr^|9+2~$K{Fh<$!#}r`=-pek$J9 z_t|TC4FWS4JjuDHnTS(mR0vHKaHs|PhP7OR5taYE4@k21!977^8h+Q=UpU`i_xjkW zU#V19fco41VVa8qXTG8l43S!cDgW^cL-j&DUkPMz5ehbYCpX!T;fE!#UU*IK=ouk%S$bsc=ThB zLW+4hWBjh+ZY)bXq1r+iG>_vqZvB{@pf4WCK%OX}ZjY^2ZspPhxMv>QkefQ|LmKn# z%B+WmZ8h#pb*+HijE=B!m;1Tv&;LCkS`EEUs=EVe7AbqWTQXTIF@%Jd?=e!<(_fTtHj4%xO3Sk0^{@>89?>4&G4#J-oOcuAcrQb% z_ji3wAfXykAYkS@b(XmL`ip6!B|Q)Am$b5y#$(&I@;cp7v(bk2BgtaM2VlR3ivs`R z*Id-zX~z^(31X7I!}p7fv7$k49f--Tv6$QoirD1y^_nYzU;oskAx~4aR-9>x*O9V5 zsW|29DY#i+kjq};3)X5~2nx(N($UijO~h@*2O?Mq>jtv-z3F`_Rd#h$p`J%RH@wdW z^L_(52JhY;A5y?PwcAKqz?g)k*tEpZtzQ_!j%V6PDmug_t7r?tbXV){h>t)QV=;2V zcix5tvV!#4W83Z%JfdO6zB$|XptVPxH_Y55tM-#L0joAk2?z>#-?Wc!cGn?jSNNE{ z{3ebu0Y+9E`l&73#+`IB(Dnd0d1d)A?UIDNT*(Z z2E4D)6Aec7%f@^HRn(NEzC4@+paYv((p;fG=gQY-nnt**v`Kuo1ff&hV4^{PpS)p+*jx zvi+Cw;rQ*{B%7FxNy5Bf=f(J8wCK)xmh#f}t9ORsQ<;RUp=62B-EUXIhnQV>Jf*sW z5>ts<{EC+f(>7B+?w2DuZ7ot+wgnL(26Mn>L8>zA4=p=TxX-Xg{av=O-2~#!#I|25 z;Fm^24Zz$M5MlSKg2`~0fGf&XP@%p~vb114(o8OSG@Q}t+NpX2967d7bn6B*o#F?K zX|M{&5}T2$J_j+S61ab$NHT^hz7O+b4C26V$L?QM$5OL~xg0K=a;y>6v~QCMc@5UOvIF73y1N_| zio-vkb#AZ-Hq9V_Ugqm}ArRYflo?-O%b!Gi!$@qZ0~C&0+Z|TTJHiEq=!RF82eu~I=oCqTicj?r6H^u5pAWJb1AAOCy*^}8`cR(;ZUKVksDLBY$+s5_S6n0NJj2g5RX;9(l z`W~~ygFo7%dcg38T#DUa@8+`)jxasacs$>;9H3{8od)F9X})=+*fYiiG6`)RYH1eN z*tPV`{d>a^E2ypjb5?CYFVhjY8T9k> zO&)kiue;el4ZTyf`E6ula*e0S0=RrVJcy}&Shn0tTeaMWf`7%}ZkmSF^%z2D?*7G! zwH4p!CzI`&-ESJ->Ue9QBX?LOU^OhAe?~nB#I|XN(##%BTpV6=_-`x8rsZ6{Je+Ak zOgya9Fue0u)_UXg`B`7s#p1=rM5gy;)fsSCwD%7`Vm5PiwaaHvEWb5>o?C~w>-7D5fw-9LAmRX50 zwSU0BOi>%UZ}XC`vm5cc0S7%_9qmX(Y_uo9TwZ->h%JHK5Ec53VBVvh6guM~lm1++t;q)TV#qg;VTDv99 zu_uSHf%({6{U(A-S!fE3;xZydL5(3L8vq^MoNKj{CPlM>_>8dHLLFR!|F?5?zd3Je z@$ik{p&Hz{XZr+NHY*kb?^Wyns`0NaWAMkD{=h5eR8AbH4FI3)XB4`?6q@*|((h@g zjF>R?R<@_OzRGD_r;<1(V|`Tn^sv4%m6Hl6+B7%Ud+n89{FFhl*+1vdMc5 z3?&l{cjQiJ39`a#C-kcWUL%_)DihJsd6dwzn_I|VjYJRl1IThY-5p=F0`CYRp*|opDA#3W|3?AZ-tMQ?sgv> zPB(IEAV?BuX4jpBjUZ{AL;DP;I-OCKaS{K3&B!zJ8n zmGxs2URL9%(|o%deiE?4ID=+TWU0yLN3@ueHKz5z}8eq=UJcoNJM5X((G%{NLs&Br2yIgeNb$w zGssTK!MTw!=ujHkJ1NiFXSO~1NzmOY7POZ&DwKl#n@taD1I!Z_VeOcCr7inKpeNme zRlt@s$}O<9m1_9k>K0X%R3Lg{dV5U-FL;@kxcG9|9;5wdT{`@*P;Nc&#mj|_bsNpj zOwXd`+kb1IC&afY;rv$miZvoX`a*Ea{D4?V@nkxC2+gnN5S;d)gF+ z=@W(hstkfKH4P_&byz{>oaTIB&d$0JG&SJ|6NGjo&!<=YQMwUcI@W+rXf=N$)iJWE zvBCDszdFk8^y~*C`8p_Wza!4?!6&wPe>N?%~iBfEV&hTYkVk( zrRwZk|8QvI6E~wpcYNJ@`#zmCN9+A>mzLKR=_a2zvr6KApALJ);5OiAwSH|5Gtk5z z$Ep$JZjNjG9~%Nh6BZsfgBlDYGBPyf*<82CJ!&b3I%%^v@RNt_kkI!NCAn8MU!LtO zJ+I1;MFwSR6RQyxgS{`W=RW%)Ta*hRly|Yb**)Khy^67wm9IuWlvu+FH~v%T%gAnK zcrvzY&YciPKaD=9*{m0C`V;8DGnZt+6Ii&81Z+tfAHi>Lw&BC}f8!@kw7mW31wRkw zLgs1Wyexs(U4x}pxepGT7SFE6a#kyUu#W_53C#mE++bp}=()F7fSIQP%*g(`QA?KN zr^T5dl-KHt%!vDPZjrRct)DMMN9}pBj;$6# zFgb#)tC2mIyQ{==dbxA`Pp+Sz89%Fzj-Mk)-ANo6_CCkClnD;!gYf04ZRz&Q>HyDoC(Xava?k#}aPZ$1`l9STO(t~;WpcurCp#&f%*mGC zDgu$X!+AoS%3{G(5V7q)Hg7MFh%n+7QHmCq1A%Xd0uwX3of z3vWI!F(7h0?#isx@nw8#C9D11a$r8IIKn8{=yEgyBSDb83EvE>FAj|Yw+&2UClN`{ ziIx=i4=4};#PQ@t8K8X=`p1#oD zHHMn3p_U&8p+IH-i-iYnICjb{lD+y`0++3Q2ER#XnQ@{wSohG|F%(XmE%28Kajyl>pmHuwmliL-dmg;XB z&wm=}d^l@uH@lSG;%bqrPxZ$scW|oKl9mV`Ih-b6A!ugR?yhu318V%GT1M0SX;-d0 z(#VQ;cBj#~z=@T#4u`5;g|=7v$#Kgpu(D291Mkk!<9Nn0*Ctt>>w z;skYZ?Vl-Y$%d@8Fg%ZJ?YP{vXQg=XKILIERUS*Oe7opy&!|VSKT!+ zSsFwFP!d~(%^TYwm^R1?s+U%2DOJfN2IdGHnMCEVb*)L4e|93y2DN`b`?w z)YiZUmX+;PGwkRhGKCCvsdiMsbbo-Oku@L8WoGiB4$ebl%-LtQ35L??AH@rmE#9K; zG8xPPiSYlP)ICm0e@P8WSb;9A!hcyQ#c?-R-N6r!vM+r5{4}rR174xB#Oln-6P%JL zSf(U;_=dsMu_R)($;f3UMO*#F1I;!Loch3WcIvfZWay6NQf(?Xe7$9Posq-ka^F;i zv%HwLRq(;@laliAvG_+IN�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⋘XB>8A)k}EYB{d7i7awo!05~1>)roc}M7Y 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 literal 0 HcmV?d00001 diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index e9397c93..65438a5b 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -61,3 +61,8 @@ img { width: 200px; height: 200px; } + +#current-track { + width: 83px; + height: 75px; +} From 6e1d7f53faf58cebe8c0d255e1fd5785b60c2812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Thu, 3 Oct 2019 13:51:44 -0400 Subject: [PATCH 21/88] backend route to create recommendations --- app.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app.js b/app.js index 25fff1f9..6589f6ce 100644 --- a/app.js +++ b/app.js @@ -250,6 +250,26 @@ app.post("/register", function (req, res) { }) }) +app.post("/recommendation", function (req, res) { + new Promise(function (resolve, reject) { + mongo.connect(url, { + useNewUrlParser: true, + useUnifiedTopology: true + }, (err, client) => { + if (err) { + reject(err) + } + const db = client.db('MusicApp') + const collection = db.collection('recommendations') + collection.insertOne({ + "username": req.body.username, + "tracknumber": req.body.tracknumber, + "rating": req.body.rating, + "caption": req.body.rating + }).then(r => res.redirect("/")) + }) + }) +}) function isLoggedIn(req, res, next) { //console.log(req.isAuthenticated()) if (req.isAuthenticated()) From 6463c2c8cd60f120ac1fe80bb42afaca3b664546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Fri, 4 Oct 2019 10:34:25 -0400 Subject: [PATCH 22/88] fixed play and pause button --- app.js | 2 +- public/js/createPlayer.js | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app.js b/app.js index 25fff1f9..5d981917 100644 --- a/app.js +++ b/app.js @@ -258,5 +258,5 @@ function isLoggedIn(req, res, next) { } //added in order to run the server -app.listen(process.env.PORT || 3001) +app.listen(process.env.PORT || 3000) module.exports = app diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index 37b20f55..c2e9e42a 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -74,14 +74,14 @@ function createPlayer(_token) { } }) } +} - function pause() { - player.pause().then(() => { - console.log('Paused!') - }) - } +function pause() { + player.pause().then(() => { + console.log('Paused!') + }) +} - function play() { - getAudio(playerData.device_id) - } +function play() { + getAudio(playerData.device_id) } From 971fa5a9dd4e803fe424ed1e3d302ac37896c72e Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Fri, 4 Oct 2019 10:40:57 -0400 Subject: [PATCH 23/88] Added scrollable song list --- public/home.html | 73 +++++++++++++++++++++--------------- public/stylesheets/style.css | 13 +++++++ 2 files changed, 55 insertions(+), 31 deletions(-) diff --git a/public/home.html b/public/home.html index 77b33ff7..70ad5107 100644 --- a/public/home.html +++ b/public/home.html @@ -5,6 +5,7 @@ + diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 29f932f8..46588db5 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -65,3 +65,16 @@ img { .label { margin: 2em; } + +.my-custom-scrollbar { + position: relative; + height: 200px; + overflow: auto; +} +.table-wrapper-scroll-y { + display: block; +} + +.table tbody tr.highlight td { + background-color: #ddd; +} \ No newline at end of file From 6b8e965fc23e9ae68718278823790b69402830b6 Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Fri, 4 Oct 2019 11:25:25 -0400 Subject: [PATCH 24/88] Added hidden ID field to the table --- public/home.html | 15 ++++++++++++--- public/stylesheets/style.css | 4 ++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/public/home.html b/public/home.html index 6eb92e2b..ecfaf5a4 100644 --- a/public/home.html +++ b/public/home.html @@ -57,26 +57,32 @@ Mark artist1 + id1 Jacob artist1 + id2 Larry artist1 + id3 Larry artist1 + id4 Larry artist1 + id5 Larry artist1 + id6 @@ -110,9 +116,12 @@

Song Name, Artist, Album
let curSong = ''; $('#paginatedTable').on('click', 'tbody tr', function(event) { $(this).addClass('highlight').siblings().removeClass('highlight'); - console.log("table row has been clicked") - curSong = $(this).innerText; - console.log("cur song is " + curSong) + let song =$(this).find('td:eq(0)').html(); + let artist = $(this).find('td:eq(1)').html(); + let id = $(this).find('td:eq(2)').html(); + console.log("song: " + song + "\n" + + "Artist: " + artist + "\n" + + "Id: " + id); }); diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index c33a2b67..b07e7f3f 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -82,3 +82,7 @@ img { width: 83px; height: 75px; } + +.id-data { + visibility: hidden; +} From 7f6bc6e1d883cd7669499de1f4214552e9b91e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Fri, 4 Oct 2019 11:26:00 -0400 Subject: [PATCH 25/88] search works with correct spotify results and shows them in a table --- app.js | 2 +- public/home.html | 33 +++-------------------- public/js/createPlayer.js | 17 ++++++------ public/search.js | 57 ++++++++++++++++++++++++++++----------- 4 files changed, 54 insertions(+), 55 deletions(-) diff --git a/app.js b/app.js index 6589f6ce..9dce6c03 100644 --- a/app.js +++ b/app.js @@ -278,5 +278,5 @@ function isLoggedIn(req, res, next) { } //added in order to run the server -app.listen(process.env.PORT || 3001) +app.listen(process.env.PORT || 3000) module.exports = app diff --git a/public/home.html b/public/home.html index 6eb92e2b..2c32d9a1 100644 --- a/public/home.html +++ b/public/home.html @@ -14,11 +14,6 @@ - - - - - Music App @@ -54,30 +49,6 @@
- - - - - - - - - - - - - - - - - - - - - - - -
Markartist1
Jacobartist1
Larryartist1
Larryartist1
Larryartist1
Larryartist1
@@ -117,6 +88,8 @@
Song Name, Artist, Album
- + + + diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index 37b20f55..fbde7e9e 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -74,14 +74,13 @@ function createPlayer(_token) { } }) } +} +function pause() { + player.pause().then(() => { + console.log('Paused!') + }) +} - function pause() { - player.pause().then(() => { - console.log('Paused!') - }) - } - - function play() { - getAudio(playerData.device_id) - } +function play() { + getAudio(playerData.device_id) } diff --git a/public/search.js b/public/search.js index 65e84a36..c29bf0ef 100644 --- a/public/search.js +++ b/public/search.js @@ -1,27 +1,54 @@ console.log("we got to script") //let json = './tracks.js' //const json = require('tracks.js'); - -window.onload = function(e){ - let searchButton = document.getElementById("songSearch"); - searchButton.onclick = search; - - +let token + +(function getData() { + (async () => { + const rawResponse = await fetch('/token', { + method: 'GET' + }) + let response = await rawResponse.json() + console.log("token inside search token fetch " + response.token) + token = response.token + })() +})() + +window.onload = function (e) { + let searchButton = document.getElementById("songSearch") + searchButton.onclick = searchSpotify } -function search() { +function searchSpotify() { let songName = document.getElementById("songName").value - let listOfSongNames = [] - let tracks = tracksJson.tracks.items; + console.log("do we have the token access here? " + token) + const BASE_URL = 'https://api.spotify.com/v1/search?' + const FETCH_URL = `${BASE_URL}q=${songName}&type=track&market=US&limit=10` - console.log(tracksJson); + fetch(FETCH_URL, { + method: 'GET', + headers: new Headers({ + Accept: "application/json", + Authorization: "Bearer " + token + }) + }) + .then(response => response.json()) + .then(json => search(json)) - console.log("Number of tracks is " + tracks.length); +} - for(let i = 0; i < tracks.length; i++) { - console.log(tracks[i].name); +function search(json) { + let listOfSongNames = [] + let tracks = json.tracks.items + console.log("Number of tracks is " + tracks.length) + console.log("tracks in search: " + tracks) + $("tbody").empty() + for (let i = 0; i < tracks.length; i++) { + $("tbody").append("" + + " " + tracks[i].name + "\n" + + " " + tracks[i].artists[0].name + "" + + " " + ) } - - } \ No newline at end of file From 78deca3d63b3fa7732a11aa4f4d636a07b791921 Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Fri, 4 Oct 2019 11:44:59 -0400 Subject: [PATCH 26/88] Added hidden Id field to table with real results --- app.js | 2 +- public/home.html | 9 ++++++--- public/search.js | 1 + public/stylesheets/style.css | 3 +++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app.js b/app.js index 9dce6c03..6589f6ce 100644 --- a/app.js +++ b/app.js @@ -278,5 +278,5 @@ function isLoggedIn(req, res, next) { } //added in order to run the server -app.listen(process.env.PORT || 3000) +app.listen(process.env.PORT || 3001) module.exports = app diff --git a/public/home.html b/public/home.html index 2c32d9a1..56154821 100644 --- a/public/home.html +++ b/public/home.html @@ -81,9 +81,12 @@
Song Name, Artist, Album
let curSong = ''; $('#paginatedTable').on('click', 'tbody tr', function(event) { $(this).addClass('highlight').siblings().removeClass('highlight'); - console.log("table row has been clicked") - curSong = $(this).innerText; - console.log("cur song is " + curSong) + let songName = $(this).find('td:eq(0)').html(); + let artistName = $(this).find('td:eq(1)').html(); + let idNumber = $(this).find('td:eq(2)').html(); + console.log("currently selected song: " + songName + "\n\t\t" + + "artist: " + artistName + "\n\t\t" + + "id: " + idNumber + "\n\t\t" ) }); diff --git a/public/search.js b/public/search.js index c29bf0ef..026aa671 100644 --- a/public/search.js +++ b/public/search.js @@ -48,6 +48,7 @@ function search(json) { $("tbody").append("" + " " + tracks[i].name + "\n" + " " + tracks[i].artists[0].name + "" + + " " + tracks[i].artists[0].id + "" + " " ) } diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index c33a2b67..5e7282c4 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -82,3 +82,6 @@ img { width: 83px; height: 75px; } +.hidden-data { + visibility: hidden; +} \ No newline at end of file From 8170656f739a41a2366730117c295d11269a0b17 Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 11:45:28 -0400 Subject: [PATCH 27/88] Add get("/recommendation") --- app.js | 52 ++++++++++++++++++++++++++++++++++++++++++----- public/js/home.js | 17 ++++++++++++++-- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/app.js b/app.js index 6589f6ce..3947b14b 100644 --- a/app.js +++ b/app.js @@ -115,7 +115,7 @@ app.get("/spotifyAccess", function (req, res) { })) }) -app.get('/callback', function(req, res) { +app.get('/callback', function (req, res) { // your application requests refresh and access tokens // after checking the state parameter @@ -139,7 +139,8 @@ app.get('/callback', function(req, res) { grant_type: 'authorization_code' }, headers: { - 'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) + //'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) + 'Authorization': 'Basic ' + (Buffer.from(client_id + ':' + client_secret).toString('base64')) }, json: true }; @@ -178,7 +179,6 @@ app.get('/callback', function(req, res) { } }); - app.get('/refresh_token', function (req, res) { // requesting access token from refresh token @@ -220,15 +220,56 @@ app.get("/token", function (req, res) { app.get("/register", function (req, res) { res.sendFile(__dirname + "/public/register.html") }) + app.get("/logout", function (req, res) { req.logout() res.redirect("/") }) + +app.get("/recommendation", function (req, res) { + new Promise(function (resolve, reject) { + mongo.connect(url, { + useNewUrlParser: true, + useUnifiedTopology: true + }, (err, client) => { + if (err) { + reject(err) + } + const db = client.db('MusicApp') + const collection = db.collection('recommendations') + + const response = {} + collection.find({}).toArray(function (err, result) { + if (err) throw err; + console.log("potatoes!!") + result.forEach(function (element) { + const temp = JSON.stringify(element) + console.log("element: " + temp) + if (temp.username == null) + console.log("null username") + else if (temp.tracknumber == null) + console.log("null tracknumber") + else if (temp.rating == null) + console.log("null rating") + else if (temp.caption == null) + console.log("null caption") + else + response.add(temp) + }) + console.log("result: " + result); + res.send(JSON.stringify(result)) + }); + }) + }) +}) + app.post("/login", passport.authenticate("local-login", {failureRedirect: "/"}), function (req, res) { res.redirect("/spotifyAccess") //redirects to spotify access page once sign in authorizes - }) + } +) + app.post("/register", function (req, res) { bcrypt.hash(req.body.password, 10, function (err, hash) { new Promise(function (resolve, reject) { @@ -265,11 +306,12 @@ app.post("/recommendation", function (req, res) { "username": req.body.username, "tracknumber": req.body.tracknumber, "rating": req.body.rating, - "caption": req.body.rating + "caption": req.body.caption }).then(r => res.redirect("/")) }) }) }) + function isLoggedIn(req, res, next) { //console.log(req.isAuthenticated()) if (req.isAuthenticated()) diff --git a/public/js/home.js b/public/js/home.js index 32a540ae..60cb28a7 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -1,4 +1,4 @@ -(function getData() { +const getData = function() { (async () => { const rawResponse = await fetch('/user', { method: 'GET' @@ -6,4 +6,17 @@ let usr = await rawResponse.json() document.getElementById("logoutLink").innerHTML = "Log out " + usr.user.username })() -})() +} + +const recommendations = function() { + (async () => { + const rawResponse = await fetch('/recommendation', { + method: 'GET' + }) + let res = await rawResponse.json() + console.log(res) + })() +} + +getData() +recommendations() From 9dd5605f4a02c406ff445ca60d1664a5255496ad Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 11:47:21 -0400 Subject: [PATCH 28/88] Fix incorrect variable usage --- app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index 3947b14b..feb4c45f 100644 --- a/app.js +++ b/app.js @@ -256,8 +256,8 @@ app.get("/recommendation", function (req, res) { else response.add(temp) }) - console.log("result: " + result); - res.send(JSON.stringify(result)) + console.log("response: " + response); + res.send(JSON.stringify(response)) }); }) }) From 482353dd44bb100acc140ea0f39466a4e6b52bb7 Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 11:55:12 -0400 Subject: [PATCH 29/88] Autoformat! --- public/home.html | 32 +- public/js/home.js | 4 +- public/register.html | 28 +- public/search.js | 8 +- public/stylesheets/style.css | 2 +- public/tracks.js | 9468 +++++++++++++++++----------------- 6 files changed, 4772 insertions(+), 4770 deletions(-) diff --git a/public/home.html b/public/home.html index 90147c33..bc711a71 100644 --- a/public/home.html +++ b/public/home.html @@ -2,23 +2,24 @@ - - - + + + - - + + Music App
-
+
- - + +
@@ -71,8 +72,9 @@
#
- - + +
@@ -87,7 +89,7 @@
Song Name, Artist, Album
- image of song cover + image of song cover

Recommendation note

Play Pause diff --git a/public/js/home.js b/public/js/home.js index 60cb28a7..b5a96ad6 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -1,4 +1,4 @@ -const getData = function() { +const getData = function () { (async () => { const rawResponse = await fetch('/user', { method: 'GET' @@ -8,7 +8,7 @@ const getData = function() { })() } -const recommendations = function() { +const recommendations = function () { (async () => { const rawResponse = await fetch('/recommendation', { method: 'GET' diff --git a/public/register.html b/public/register.html index 53ae8db3..4dc1f16c 100644 --- a/public/register.html +++ b/public/register.html @@ -3,15 +3,15 @@ Music App - - - + + +
- Application Logo + Application Logo

Hi @@ -21,21 +21,21 @@

-
+
- +
- +
- \ No newline at end of file + diff --git a/public/search.js b/public/search.js index 65e84a36..3e73f1ec 100644 --- a/public/search.js +++ b/public/search.js @@ -2,10 +2,10 @@ console.log("we got to script") //let json = './tracks.js' //const json = require('tracks.js'); -window.onload = function(e){ +window.onload = function (e) { let searchButton = document.getElementById("songSearch"); searchButton.onclick = search; - + } @@ -19,9 +19,9 @@ function search() { console.log("Number of tracks is " + tracks.length); - for(let i = 0; i < tracks.length; i++) { + for (let i = 0; i < tracks.length; i++) { console.log(tracks[i].name); } -} \ No newline at end of file +} diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 5736efdd..fd9fb337 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -63,7 +63,7 @@ img { } .label { - margin: 2em; + margin: 2em; } #current-track { diff --git a/public/tracks.js b/public/tracks.js index ca853db2..7d6db6ca 100644 --- a/public/tracks.js +++ b/public/tracks.js @@ -1,4776 +1,4776 @@ let tracksJson = { - "tracks": { - "href": "https://api.spotify.com/v1/search?query=ipanema&type=track&market=US&offset=0&limit=20", - "items": [ - { - "album": { - "album_type": "single", - "artists": [ + "tracks": { + "href": "https://api.spotify.com/v1/search?query=ipanema&type=track&market=US&offset=0&limit=20", + "items": [ { - "external_urls": { - "spotify": "https://open.spotify.com/artist/4iMO20EPodreIaEl8qW66y" - }, - "href": "https://api.spotify.com/v1/artists/4iMO20EPodreIaEl8qW66y", - "id": "4iMO20EPodreIaEl8qW66y", - "name": "Still Woozy", - "type": "artist", - "uri": "spotify:artist:4iMO20EPodreIaEl8qW66y" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/1SxVNVRfenIneNQvEdWbzP" - }, - "href": "https://api.spotify.com/v1/albums/1SxVNVRfenIneNQvEdWbzP", - "id": "1SxVNVRfenIneNQvEdWbzP", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/97ee888ffae6b7fa94f47274dcac2759e991ae66", - "width": 640 + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/4iMO20EPodreIaEl8qW66y" + }, + "href": "https://api.spotify.com/v1/artists/4iMO20EPodreIaEl8qW66y", + "id": "4iMO20EPodreIaEl8qW66y", + "name": "Still Woozy", + "type": "artist", + "uri": "spotify:artist:4iMO20EPodreIaEl8qW66y" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/1SxVNVRfenIneNQvEdWbzP" + }, + "href": "https://api.spotify.com/v1/albums/1SxVNVRfenIneNQvEdWbzP", + "id": "1SxVNVRfenIneNQvEdWbzP", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/97ee888ffae6b7fa94f47274dcac2759e991ae66", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/8c78e911fe4b710dd87257ee3daefd7397f992f4", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/5a8b7368beb0cd11bd4bf39c253d739585c2e3c0", + "width": 64 + } + ], + "name": "Lately EP", + "release_date": "2019-05-03", + "release_date_precision": "day", + "total_tracks": 5, + "type": "album", + "uri": "spotify:album:1SxVNVRfenIneNQvEdWbzP" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/4iMO20EPodreIaEl8qW66y" + }, + "href": "https://api.spotify.com/v1/artists/4iMO20EPodreIaEl8qW66y", + "id": "4iMO20EPodreIaEl8qW66y", + "name": "Still Woozy", + "type": "artist", + "uri": "spotify:artist:4iMO20EPodreIaEl8qW66y" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5FxD8fkQZ6KcsSYupDVoSO" + }, + "href": "https://api.spotify.com/v1/artists/5FxD8fkQZ6KcsSYupDVoSO", + "id": "5FxD8fkQZ6KcsSYupDVoSO", + "name": "Omar Apollo", + "type": "artist", + "uri": "spotify:artist:5FxD8fkQZ6KcsSYupDVoSO" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1CgbNAF3Stnz1Tpipu3xdO" + }, + "href": "https://api.spotify.com/v1/artists/1CgbNAF3Stnz1Tpipu3xdO", + "id": "1CgbNAF3Stnz1Tpipu3xdO", + "name": "Elujay", + "type": "artist", + "uri": "spotify:artist:1CgbNAF3Stnz1Tpipu3xdO" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 127044, + "explicit": false, + "external_ids": { + "isrc": "SE5VF1903328" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/4FJzP6dMX4X7EAazhOTgey" + }, + "href": "https://api.spotify.com/v1/tracks/4FJzP6dMX4X7EAazhOTgey", + "id": "4FJzP6dMX4X7EAazhOTgey", + "is_local": false, + "name": "Ipanema", + "popularity": 62, + "preview_url": "https://p.scdn.co/mp3-preview/ef6799e941aa401c741fb09cd6a4adf5d630e737?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 2, + "type": "track", + "uri": "spotify:track:4FJzP6dMX4X7EAazhOTgey" }, { - "height": 300, - "url": "https://i.scdn.co/image/8c78e911fe4b710dd87257ee3daefd7397f992f4", - "width": 300 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/5fxCwduFydtcmLFrEkePFE" + }, + "href": "https://api.spotify.com/v1/albums/5fxCwduFydtcmLFrEkePFE", + "id": "5fxCwduFydtcmLFrEkePFE", + "images": [ + { + "height": 620, + "url": "https://i.scdn.co/image/17a65f51bcf9aadb2a3d03ef2d0f1c11b68f4057", + "width": 640 + }, + { + "height": 291, + "url": "https://i.scdn.co/image/e27f70e20b8bbfdf0be65cb437cb13887ac1b6fe", + "width": 300 + }, + { + "height": 62, + "url": "https://i.scdn.co/image/4784ee26c5632c00d9a9e3ab66774808e97cc36d", + "width": 64 + } + ], + "name": "Compact Jazz: Antonio Carlos Jobim", + "release_date": "1990-08-21", + "release_date_precision": "day", + "total_tracks": 16, + "type": "album", + "uri": "spotify:album:5fxCwduFydtcmLFrEkePFE" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 322333, + "explicit": false, + "external_ids": { + "isrc": "USPR36307072" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1AxAPXcUcH3nXXeCeG0kGV" + }, + "href": "https://api.spotify.com/v1/tracks/1AxAPXcUcH3nXXeCeG0kGV", + "id": "1AxAPXcUcH3nXXeCeG0kGV", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 66, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:1AxAPXcUcH3nXXeCeG0kGV" }, { - "height": 64, - "url": "https://i.scdn.co/image/5a8b7368beb0cd11bd4bf39c253d739585c2e3c0", - "width": 64 - } - ], - "name": "Lately EP", - "release_date": "2019-05-03", - "release_date_precision": "day", - "total_tracks": 5, - "type": "album", - "uri": "spotify:album:1SxVNVRfenIneNQvEdWbzP" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/4iMO20EPodreIaEl8qW66y" - }, - "href": "https://api.spotify.com/v1/artists/4iMO20EPodreIaEl8qW66y", - "id": "4iMO20EPodreIaEl8qW66y", - "name": "Still Woozy", - "type": "artist", - "uri": "spotify:artist:4iMO20EPodreIaEl8qW66y" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5FxD8fkQZ6KcsSYupDVoSO" + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/40JYLbI7UkALG8X4IAOjgC" + }, + "href": "https://api.spotify.com/v1/artists/40JYLbI7UkALG8X4IAOjgC", + "id": "40JYLbI7UkALG8X4IAOjgC", + "name": "Santos", + "type": "artist", + "uri": "spotify:artist:40JYLbI7UkALG8X4IAOjgC" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/7vAQtglvZbAifozL6e3dOK" + }, + "href": "https://api.spotify.com/v1/albums/7vAQtglvZbAifozL6e3dOK", + "id": "7vAQtglvZbAifozL6e3dOK", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/5abccb8874addf82aad803d213c58aab24c3d8a1", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/7fa0891e2462e66ba4307aa402536d0a4eba73e1", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/e071b1c7337ff2fd2b71de1636eab904d0a1b009", + "width": 64 + } + ], + "name": "Ipanema Sunset", + "release_date": "2017-01-03", + "release_date_precision": "day", + "total_tracks": 1, + "type": "album", + "uri": "spotify:album:7vAQtglvZbAifozL6e3dOK" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/40JYLbI7UkALG8X4IAOjgC" + }, + "href": "https://api.spotify.com/v1/artists/40JYLbI7UkALG8X4IAOjgC", + "id": "40JYLbI7UkALG8X4IAOjgC", + "name": "Santos", + "type": "artist", + "uri": "spotify:artist:40JYLbI7UkALG8X4IAOjgC" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 100999, + "explicit": false, + "external_ids": { + "isrc": "TCACW1731755" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/3HY4CldJsd7ydS6bvClzhX" + }, + "href": "https://api.spotify.com/v1/tracks/3HY4CldJsd7ydS6bvClzhX", + "id": "3HY4CldJsd7ydS6bvClzhX", + "is_local": false, + "name": "Ipanema Sunset", + "popularity": 48, + "preview_url": "https://p.scdn.co/mp3-preview/431ef0c534420074244d8448357d8fc4d81ab4dc?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 1, + "type": "track", + "uri": "spotify:track:3HY4CldJsd7ydS6bvClzhX" }, - "href": "https://api.spotify.com/v1/artists/5FxD8fkQZ6KcsSYupDVoSO", - "id": "5FxD8fkQZ6KcsSYupDVoSO", - "name": "Omar Apollo", - "type": "artist", - "uri": "spotify:artist:5FxD8fkQZ6KcsSYupDVoSO" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1CgbNAF3Stnz1Tpipu3xdO" - }, - "href": "https://api.spotify.com/v1/artists/1CgbNAF3Stnz1Tpipu3xdO", - "id": "1CgbNAF3Stnz1Tpipu3xdO", - "name": "Elujay", - "type": "artist", - "uri": "spotify:artist:1CgbNAF3Stnz1Tpipu3xdO" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 127044, - "explicit": false, - "external_ids": { - "isrc": "SE5VF1903328" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/4FJzP6dMX4X7EAazhOTgey" - }, - "href": "https://api.spotify.com/v1/tracks/4FJzP6dMX4X7EAazhOTgey", - "id": "4FJzP6dMX4X7EAazhOTgey", - "is_local": false, - "name": "Ipanema", - "popularity": 62, - "preview_url": "https://p.scdn.co/mp3-preview/ef6799e941aa401c741fb09cd6a4adf5d630e737?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 2, - "type": "track", - "uri": "spotify:track:4FJzP6dMX4X7EAazhOTgey" - }, - { - "album": { - "album_type": "album", - "artists": [ { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/5fxCwduFydtcmLFrEkePFE" - }, - "href": "https://api.spotify.com/v1/albums/5fxCwduFydtcmLFrEkePFE", - "id": "5fxCwduFydtcmLFrEkePFE", - "images": [ - { - "height": 620, - "url": "https://i.scdn.co/image/17a65f51bcf9aadb2a3d03ef2d0f1c11b68f4057", - "width": 640 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6Q192DXotxtaysaqNPy5yR" + }, + "href": "https://api.spotify.com/v1/artists/6Q192DXotxtaysaqNPy5yR", + "id": "6Q192DXotxtaysaqNPy5yR", + "name": "Amy Winehouse", + "type": "artist", + "uri": "spotify:artist:6Q192DXotxtaysaqNPy5yR" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/4xdRjOhY9NHmMpI7U3e2c3" + }, + "href": "https://api.spotify.com/v1/albums/4xdRjOhY9NHmMpI7U3e2c3", + "id": "4xdRjOhY9NHmMpI7U3e2c3", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/0b2351da671cccaadfd9661f5814e64eb80d18de", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/ef21e8ccb021a0fbc6b54dde2506a1e80af93acb", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/148bd5ee5991b83d38e6a14a1af8aa78125a4f2e", + "width": 64 + } + ], + "name": "Lioness: Hidden Treasures", + "release_date": "2011-01-01", + "release_date_precision": "day", + "total_tracks": 12, + "type": "album", + "uri": "spotify:album:4xdRjOhY9NHmMpI7U3e2c3" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6Q192DXotxtaysaqNPy5yR" + }, + "href": "https://api.spotify.com/v1/artists/6Q192DXotxtaysaqNPy5yR", + "id": "6Q192DXotxtaysaqNPy5yR", + "name": "Amy Winehouse", + "type": "artist", + "uri": "spotify:artist:6Q192DXotxtaysaqNPy5yR" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 166960, + "explicit": false, + "external_ids": { + "isrc": "GBUM71110103" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/7F5rIyOI88zk36AiBXC8xq" + }, + "href": "https://api.spotify.com/v1/tracks/7F5rIyOI88zk36AiBXC8xq", + "id": "7F5rIyOI88zk36AiBXC8xq", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 59, + "preview_url": null, + "track_number": 7, + "type": "track", + "uri": "spotify:track:7F5rIyOI88zk36AiBXC8xq" }, { - "height": 291, - "url": "https://i.scdn.co/image/e27f70e20b8bbfdf0be65cb437cb13887ac1b6fe", - "width": 300 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/5280NkLzxe2w7K1JW9I8jX" + }, + "href": "https://api.spotify.com/v1/albums/5280NkLzxe2w7K1JW9I8jX", + "id": "5280NkLzxe2w7K1JW9I8jX", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/dcec22595b19a9df4ca8a995a2f7935a12068a96", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/7d3118c6c71e4257d61a03807d33b68ffad8b031", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/84e939c54fd8b088ddff82e80e237f4d6821f3d2", + "width": 64 + } + ], + "name": "Sinatra/Jobim: The Complete Reprise Recordings", + "release_date": "1967-03", + "release_date_precision": "month", + "total_tracks": 20, + "type": "album", + "uri": "spotify:album:5280NkLzxe2w7K1JW9I8jX" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 200360, + "explicit": false, + "external_ids": { + "isrc": "USRH10800977" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/5N6pQ2vYtd3Rb9w7LC8PZ9" + }, + "href": "https://api.spotify.com/v1/tracks/5N6pQ2vYtd3Rb9w7LC8PZ9", + "id": "5N6pQ2vYtd3Rb9w7LC8PZ9", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 57, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:5N6pQ2vYtd3Rb9w7LC8PZ9" }, { - "height": 62, - "url": "https://i.scdn.co/image/4784ee26c5632c00d9a9e3ab66774808e97cc36d", - "width": 64 - } - ], - "name": "Compact Jazz: Antonio Carlos Jobim", - "release_date": "1990-08-21", - "release_date_precision": "day", - "total_tracks": 16, - "type": "album", - "uri": "spotify:album:5fxCwduFydtcmLFrEkePFE" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7v4imS0moSyGdXyLgVTIV7" + }, + "href": "https://api.spotify.com/v1/artists/7v4imS0moSyGdXyLgVTIV7", + "id": "7v4imS0moSyGdXyLgVTIV7", + "name": "Nat King Cole", + "type": "artist", + "uri": "spotify:artist:7v4imS0moSyGdXyLgVTIV7" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2IFGaozoXFA3m9IUH2Hcc4" + }, + "href": "https://api.spotify.com/v1/albums/2IFGaozoXFA3m9IUH2Hcc4", + "id": "2IFGaozoXFA3m9IUH2Hcc4", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/1fabde4fcac6be70c42e9473ac5a4f66f1eca0d3", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/dc263efc82b425d4d62f9ec752ecd0062fa9d8be", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/4170fcb827df1fd7ebe9489239e42fef76b544ab", + "width": 64 + } + ], + "name": "Ultimate Nat King Cole", + "release_date": "2019-03-15", + "release_date_precision": "day", + "total_tracks": 21, + "type": "album", + "uri": "spotify:album:2IFGaozoXFA3m9IUH2Hcc4" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7v4imS0moSyGdXyLgVTIV7" + }, + "href": "https://api.spotify.com/v1/artists/7v4imS0moSyGdXyLgVTIV7", + "id": "7v4imS0moSyGdXyLgVTIV7", + "name": "Nat King Cole", + "type": "artist", + "uri": "spotify:artist:7v4imS0moSyGdXyLgVTIV7" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/06nevPmNVfWUXyZkccahL8" + }, + "href": "https://api.spotify.com/v1/artists/06nevPmNVfWUXyZkccahL8", + "id": "06nevPmNVfWUXyZkccahL8", + "name": "Gregory Porter", + "type": "artist", + "uri": "spotify:artist:06nevPmNVfWUXyZkccahL8" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 174773, + "explicit": false, + "external_ids": { + "isrc": "USUG11900004" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/3niaqXwt6bSu5HCXJpaee7" + }, + "href": "https://api.spotify.com/v1/tracks/3niaqXwt6bSu5HCXJpaee7", + "id": "3niaqXwt6bSu5HCXJpaee7", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 54, + "preview_url": null, + "track_number": 21, + "type": "track", + "uri": "spotify:track:3niaqXwt6bSu5HCXJpaee7" }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 322333, - "explicit": false, - "external_ids": { - "isrc": "USPR36307072" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/1AxAPXcUcH3nXXeCeG0kGV" - }, - "href": "https://api.spotify.com/v1/tracks/1AxAPXcUcH3nXXeCeG0kGV", - "id": "1AxAPXcUcH3nXXeCeG0kGV", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 66, - "preview_url": null, - "track_number": 1, - "type": "track", - "uri": "spotify:track:1AxAPXcUcH3nXXeCeG0kGV" - }, - { - "album": { - "album_type": "single", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/40JYLbI7UkALG8X4IAOjgC" - }, - "href": "https://api.spotify.com/v1/artists/40JYLbI7UkALG8X4IAOjgC", - "id": "40JYLbI7UkALG8X4IAOjgC", - "name": "Santos", - "type": "artist", - "uri": "spotify:artist:40JYLbI7UkALG8X4IAOjgC" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/7vAQtglvZbAifozL6e3dOK" - }, - "href": "https://api.spotify.com/v1/albums/7vAQtglvZbAifozL6e3dOK", - "id": "7vAQtglvZbAifozL6e3dOK", - "images": [ { - "height": 640, - "url": "https://i.scdn.co/image/5abccb8874addf82aad803d213c58aab24c3d8a1", - "width": 640 + "album": { + "album_type": "compilation", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/3i67sGIVw8EBlgfSRv3Lj2" + }, + "href": "https://api.spotify.com/v1/albums/3i67sGIVw8EBlgfSRv3Lj2", + "id": "3i67sGIVw8EBlgfSRv3Lj2", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/d32aeff49d628f9c554fa561fbecdd02cf867623", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/622fb28df75069765a48ddef9962aeea05c17c8b", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/9c4a8030d73a43e30bfeaac05d9e6f399cd13cd1", + "width": 64 + } + ], + "name": "Nothing But The Best (Remastered)", + "release_date": "2008-01-01", + "release_date_precision": "day", + "total_tracks": 22, + "type": "album", + "uri": "spotify:album:3i67sGIVw8EBlgfSRv3Lj2" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 194040, + "explicit": false, + "external_ids": { + "isrc": "USRH10723028" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/3NdHYXQK5gkFFEZvSMVVj6" + }, + "href": "https://api.spotify.com/v1/tracks/3NdHYXQK5gkFFEZvSMVVj6", + "id": "3NdHYXQK5gkFFEZvSMVVj6", + "is_local": false, + "name": "The Girl From Ipanema - 2008 Remastered", + "popularity": 51, + "preview_url": null, + "track_number": 7, + "type": "track", + "uri": "spotify:track:3NdHYXQK5gkFFEZvSMVVj6" }, { - "height": 300, - "url": "https://i.scdn.co/image/7fa0891e2462e66ba4307aa402536d0a4eba73e1", - "width": 300 + "album": { + "album_type": "compilation", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0LyfQWJT6nXafLPZqxe9Of" + }, + "href": "https://api.spotify.com/v1/artists/0LyfQWJT6nXafLPZqxe9Of", + "id": "0LyfQWJT6nXafLPZqxe9Of", + "name": "Various Artists", + "type": "artist", + "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2KJsAjK0T585kFmFA3O7vr" + }, + "href": "https://api.spotify.com/v1/albums/2KJsAjK0T585kFmFA3O7vr", + "id": "2KJsAjK0T585kFmFA3O7vr", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/46af3b6f48f0908961625d4270199bfe4bb774cf", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/c8763a82487948994f59e50f127ad5802469719b", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/ef429402982562043dd99dc9e642de81926b5dc9", + "width": 64 + } + ], + "name": "Bossa Nova", + "release_date": "2004-01-01", + "release_date_precision": "day", + "total_tracks": 14, + "type": "album", + "uri": "spotify:album:2KJsAjK0T585kFmFA3O7vr" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5b2ylVrhm7GKFoUjuNk1Op" + }, + "href": "https://api.spotify.com/v1/artists/5b2ylVrhm7GKFoUjuNk1Op", + "id": "5b2ylVrhm7GKFoUjuNk1Op", + "name": "Vinícius", + "type": "artist", + "uri": "spotify:artist:5b2ylVrhm7GKFoUjuNk1Op" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 150613, + "explicit": false, + "external_ids": { + "isrc": "ARG990900583" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/13phYi072bj5ibxBx4VhQC" + }, + "href": "https://api.spotify.com/v1/tracks/13phYi072bj5ibxBx4VhQC", + "id": "13phYi072bj5ibxBx4VhQC", + "is_local": false, + "name": "Garota De Ipanema", + "popularity": 58, + "preview_url": "https://p.scdn.co/mp3-preview/6e1d00a2d7b3bd178fc4d02001b3ff634e825f1a?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 3, + "type": "track", + "uri": "spotify:track:13phYi072bj5ibxBx4VhQC" }, { - "height": 64, - "url": "https://i.scdn.co/image/e071b1c7337ff2fd2b71de1636eab904d0a1b009", - "width": 64 - } - ], - "name": "Ipanema Sunset", - "release_date": "2017-01-03", - "release_date_precision": "day", - "total_tracks": 1, - "type": "album", - "uri": "spotify:album:7vAQtglvZbAifozL6e3dOK" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/40JYLbI7UkALG8X4IAOjgC" + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/2JfVCMa3FlvQRlLT5uH9zb" + }, + "href": "https://api.spotify.com/v1/artists/2JfVCMa3FlvQRlLT5uH9zb", + "id": "2JfVCMa3FlvQRlLT5uH9zb", + "name": "Nancy Wilson", + "type": "artist", + "uri": "spotify:artist:2JfVCMa3FlvQRlLT5uH9zb" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/4qgiPr8Wg6HpqtfZBzcKqt" + }, + "href": "https://api.spotify.com/v1/albums/4qgiPr8Wg6HpqtfZBzcKqt", + "id": "4qgiPr8Wg6HpqtfZBzcKqt", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/ab67616d0000b273f32c2640357c4e7067a0e42e", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/ab67616d00001e02f32c2640357c4e7067a0e42e", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/ab67616d00004851f32c2640357c4e7067a0e42e", + "width": 64 + } + ], + "name": "How Glad I Am", + "release_date": "1964-01-01", + "release_date_precision": "day", + "total_tracks": 10, + "type": "album", + "uri": "spotify:album:4qgiPr8Wg6HpqtfZBzcKqt" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/2JfVCMa3FlvQRlLT5uH9zb" + }, + "href": "https://api.spotify.com/v1/artists/2JfVCMa3FlvQRlLT5uH9zb", + "id": "2JfVCMa3FlvQRlLT5uH9zb", + "name": "Nancy Wilson", + "type": "artist", + "uri": "spotify:artist:2JfVCMa3FlvQRlLT5uH9zb" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 134213, + "explicit": false, + "external_ids": { + "isrc": "USCA29601301" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/2chTka18XL8un05Pkb8Lis" + }, + "href": "https://api.spotify.com/v1/tracks/2chTka18XL8un05Pkb8Lis", + "id": "2chTka18XL8un05Pkb8Lis", + "is_local": false, + "name": "The Boy From Ipanema", + "popularity": 52, + "preview_url": null, + "track_number": 3, + "type": "track", + "uri": "spotify:track:2chTka18XL8un05Pkb8Lis" }, - "href": "https://api.spotify.com/v1/artists/40JYLbI7UkALG8X4IAOjgC", - "id": "40JYLbI7UkALG8X4IAOjgC", - "name": "Santos", - "type": "artist", - "uri": "spotify:artist:40JYLbI7UkALG8X4IAOjgC" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 100999, - "explicit": false, - "external_ids": { - "isrc": "TCACW1731755" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/3HY4CldJsd7ydS6bvClzhX" - }, - "href": "https://api.spotify.com/v1/tracks/3HY4CldJsd7ydS6bvClzhX", - "id": "3HY4CldJsd7ydS6bvClzhX", - "is_local": false, - "name": "Ipanema Sunset", - "popularity": 48, - "preview_url": "https://p.scdn.co/mp3-preview/431ef0c534420074244d8448357d8fc4d81ab4dc?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 1, - "type": "track", - "uri": "spotify:track:3HY4CldJsd7ydS6bvClzhX" - }, - { - "album": { - "album_type": "album", - "artists": [ { - "external_urls": { - "spotify": "https://open.spotify.com/artist/6Q192DXotxtaysaqNPy5yR" - }, - "href": "https://api.spotify.com/v1/artists/6Q192DXotxtaysaqNPy5yR", - "id": "6Q192DXotxtaysaqNPy5yR", - "name": "Amy Winehouse", - "type": "artist", - "uri": "spotify:artist:6Q192DXotxtaysaqNPy5yR" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/4xdRjOhY9NHmMpI7U3e2c3" - }, - "href": "https://api.spotify.com/v1/albums/4xdRjOhY9NHmMpI7U3e2c3", - "id": "4xdRjOhY9NHmMpI7U3e2c3", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/0b2351da671cccaadfd9661f5814e64eb80d18de", - "width": 640 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/3VvwZy2KLUgi3QYmx7oiCA" + }, + "href": "https://api.spotify.com/v1/albums/3VvwZy2KLUgi3QYmx7oiCA", + "id": "3VvwZy2KLUgi3QYmx7oiCA", + "images": [ + { + "height": 600, + "url": "https://i.scdn.co/image/5edf9962c5bf32cc2f3c1afca4cb02540949cec9", + "width": 600 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/689e8de1add2cf94459d7da3e1217755e520b988", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/81e56f25454f9b5e8cebc452efb8e4f694202d6b", + "width": 64 + } + ], + "name": "The Girl from Ipanema", + "release_date": "2016-04-29", + "release_date_precision": "day", + "total_tracks": 50, + "type": "album", + "uri": "spotify:album:3VvwZy2KLUgi3QYmx7oiCA" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" + }, + "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", + "id": "5rX2c1zow6hCph8PnnU3kF", + "name": "Astrud Gilberto", + "type": "artist", + "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 169026, + "explicit": false, + "external_ids": { + "isrc": "USPR36312115" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/43p5Olz6Cis0ZCYcqgQ18y" + }, + "href": "https://api.spotify.com/v1/tracks/43p5Olz6Cis0ZCYcqgQ18y", + "id": "43p5Olz6Cis0ZCYcqgQ18y", + "is_local": false, + "name": "The Girl from Ipanema", + "popularity": 49, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:43p5Olz6Cis0ZCYcqgQ18y" }, { - "height": 300, - "url": "https://i.scdn.co/image/ef21e8ccb021a0fbc6b54dde2506a1e80af93acb", - "width": 300 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "href": "https://api.spotify.com/v1/albums/2W6Hvrtg2Zpc9dW4aBDbdP", + "id": "2W6Hvrtg2Zpc9dW4aBDbdP", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/d479100f74473f863ed486498ac373836dab895d", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/0b116b02ee79d735a434fa9e80744e3691280d34", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/8a9c5661a9967fdf7451c36a0cf33118da72ce36", + "width": 64 + } + ], + "name": "Getz/Gilberto (Expanded Edition)", + "release_date": "2014-05-27", + "release_date_precision": "day", + "total_tracks": 18, + "type": "album", + "uri": "spotify:album:2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" + }, + "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", + "id": "5rX2c1zow6hCph8PnnU3kF", + "name": "Astrud Gilberto", + "type": "artist", + "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 167533, + "explicit": false, + "external_ids": { + "isrc": "USUMG0000425" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/4qGfJb2KByjvzrwo8HNibg" + }, + "href": "https://api.spotify.com/v1/tracks/4qGfJb2KByjvzrwo8HNibg", + "id": "4qGfJb2KByjvzrwo8HNibg", + "is_local": false, + "name": "The Girl From Ipanema - Single Version", + "popularity": 53, + "preview_url": null, + "track_number": 17, + "type": "track", + "uri": "spotify:track:4qGfJb2KByjvzrwo8HNibg" }, { - "height": 64, - "url": "https://i.scdn.co/image/148bd5ee5991b83d38e6a14a1af8aa78125a4f2e", - "width": 64 - } - ], - "name": "Lioness: Hidden Treasures", - "release_date": "2011-01-01", - "release_date_precision": "day", - "total_tracks": 12, - "type": "album", - "uri": "spotify:album:4xdRjOhY9NHmMpI7U3e2c3" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/6Q192DXotxtaysaqNPy5yR" + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7Jd8IfE12z0jbepgMaVpXl" + }, + "href": "https://api.spotify.com/v1/artists/7Jd8IfE12z0jbepgMaVpXl", + "id": "7Jd8IfE12z0jbepgMaVpXl", + "name": "Davide Ambrosia", + "type": "artist", + "uri": "spotify:artist:7Jd8IfE12z0jbepgMaVpXl" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/38OsqZOKQwGVhrFlmNqfUw" + }, + "href": "https://api.spotify.com/v1/albums/38OsqZOKQwGVhrFlmNqfUw", + "id": "38OsqZOKQwGVhrFlmNqfUw", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/b81c47002f5b704d02c71d96e2f0f85c03a5f1f5", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/46eac161587fef906fb66b647351893f78b0a4d8", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/51419aac08379318de893b66c7321a38f9a6771a", + "width": 64 + } + ], + "name": "Grand Hotel", + "release_date": "2015", + "release_date_precision": "year", + "total_tracks": 3, + "type": "album", + "uri": "spotify:album:38OsqZOKQwGVhrFlmNqfUw" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/7Jd8IfE12z0jbepgMaVpXl" + }, + "href": "https://api.spotify.com/v1/artists/7Jd8IfE12z0jbepgMaVpXl", + "id": "7Jd8IfE12z0jbepgMaVpXl", + "name": "Davide Ambrosia", + "type": "artist", + "uri": "spotify:artist:7Jd8IfE12z0jbepgMaVpXl" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 203318, + "explicit": false, + "external_ids": { + "isrc": "SE5IB1700871" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/5gzgkcNPHlSgnoqdEOYLfC" + }, + "href": "https://api.spotify.com/v1/tracks/5gzgkcNPHlSgnoqdEOYLfC", + "id": "5gzgkcNPHlSgnoqdEOYLfC", + "is_local": false, + "name": "Girl From Ipanema", + "popularity": 54, + "preview_url": "https://p.scdn.co/mp3-preview/c5e542f520175b1576f99b7fea889c90ec24ee15?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 2, + "type": "track", + "uri": "spotify:track:5gzgkcNPHlSgnoqdEOYLfC" }, - "href": "https://api.spotify.com/v1/artists/6Q192DXotxtaysaqNPy5yR", - "id": "6Q192DXotxtaysaqNPy5yR", - "name": "Amy Winehouse", - "type": "artist", - "uri": "spotify:artist:6Q192DXotxtaysaqNPy5yR" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 166960, - "explicit": false, - "external_ids": { - "isrc": "GBUM71110103" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/7F5rIyOI88zk36AiBXC8xq" - }, - "href": "https://api.spotify.com/v1/tracks/7F5rIyOI88zk36AiBXC8xq", - "id": "7F5rIyOI88zk36AiBXC8xq", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 59, - "preview_url": null, - "track_number": 7, - "type": "track", - "uri": "spotify:track:7F5rIyOI88zk36AiBXC8xq" - }, - { - "album": { - "album_type": "album", - "artists": [ { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" - }, - "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", - "id": "1Mxqyy3pSjf8kZZL4QVxS0", - "name": "Frank Sinatra", - "type": "artist", - "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0g5AouvHCjswMZiQheyRNK" + }, + "href": "https://api.spotify.com/v1/artists/0g5AouvHCjswMZiQheyRNK", + "id": "0g5AouvHCjswMZiQheyRNK", + "name": "Rio Mendes", + "type": "artist", + "uri": "spotify:artist:0g5AouvHCjswMZiQheyRNK" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/6ROavccgDMsZS13Lx7NWYI" + }, + "href": "https://api.spotify.com/v1/albums/6ROavccgDMsZS13Lx7NWYI", + "id": "6ROavccgDMsZS13Lx7NWYI", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/cb68333e434ea54c76b4c4e5c1f6915bdbd3d402", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/709d5632b565207922cbf97782940471773b4869", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/0da1843bcaa29395e708a8cc46956df9adefbe4d", + "width": 64 + } + ], + "name": "Bossa Nova Sounds EP", + "release_date": "2019-07-12", + "release_date_precision": "day", + "total_tracks": 3, + "type": "album", + "uri": "spotify:album:6ROavccgDMsZS13Lx7NWYI" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0g5AouvHCjswMZiQheyRNK" + }, + "href": "https://api.spotify.com/v1/artists/0g5AouvHCjswMZiQheyRNK", + "id": "0g5AouvHCjswMZiQheyRNK", + "name": "Rio Mendes", + "type": "artist", + "uri": "spotify:artist:0g5AouvHCjswMZiQheyRNK" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 180860, + "explicit": false, + "external_ids": { + "isrc": "QZAKB1910099" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/4LFygoMviIwMfAlxBz821e" + }, + "href": "https://api.spotify.com/v1/tracks/4LFygoMviIwMfAlxBz821e", + "id": "4LFygoMviIwMfAlxBz821e", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 49, + "preview_url": "https://p.scdn.co/mp3-preview/cd22faff356c42cce21008b8f1d0ebfeee881b78?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 3, + "type": "track", + "uri": "spotify:track:4LFygoMviIwMfAlxBz821e" }, { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/5280NkLzxe2w7K1JW9I8jX" - }, - "href": "https://api.spotify.com/v1/albums/5280NkLzxe2w7K1JW9I8jX", - "id": "5280NkLzxe2w7K1JW9I8jX", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/dcec22595b19a9df4ca8a995a2f7935a12068a96", - "width": 640 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0ldU0QJm31y0d6f57R1G2A" + }, + "href": "https://api.spotify.com/v1/artists/0ldU0QJm31y0d6f57R1G2A", + "id": "0ldU0QJm31y0d6f57R1G2A", + "name": "Oscar Peterson Trio", + "type": "artist", + "uri": "spotify:artist:0ldU0QJm31y0d6f57R1G2A" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/7BVfV9OGD9tYdy7Jr5JLbt" + }, + "href": "https://api.spotify.com/v1/albums/7BVfV9OGD9tYdy7Jr5JLbt", + "id": "7BVfV9OGD9tYdy7Jr5JLbt", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/5d2bfdfd801cb2fbee0fc485cc734c9dbff01127", + "width": 612 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/87918e967a9f8bdbb3fb13d898027cc63c75df5c", + "width": 287 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/14f304b86d618313a428ee1ff003e0b8dd9506d4", + "width": 61 + } + ], + "name": "We Get Requests", + "release_date": "1964", + "release_date_precision": "year", + "total_tracks": 10, + "type": "album", + "uri": "spotify:album:7BVfV9OGD9tYdy7Jr5JLbt" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0ldU0QJm31y0d6f57R1G2A" + }, + "href": "https://api.spotify.com/v1/artists/0ldU0QJm31y0d6f57R1G2A", + "id": "0ldU0QJm31y0d6f57R1G2A", + "name": "Oscar Peterson Trio", + "type": "artist", + "uri": "spotify:artist:0ldU0QJm31y0d6f57R1G2A" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 235466, + "explicit": false, + "external_ids": { + "isrc": "USF096425330" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/04n2zZCoMIw7r0NNTN1hMg" + }, + "href": "https://api.spotify.com/v1/tracks/04n2zZCoMIw7r0NNTN1hMg", + "id": "04n2zZCoMIw7r0NNTN1hMg", + "is_local": false, + "name": "Girl From Ipanema", + "popularity": 44, + "preview_url": null, + "track_number": 7, + "type": "track", + "uri": "spotify:track:04n2zZCoMIw7r0NNTN1hMg" }, { - "height": 300, - "url": "https://i.scdn.co/image/7d3118c6c71e4257d61a03807d33b68ffad8b031", - "width": 300 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "href": "https://api.spotify.com/v1/albums/2W6Hvrtg2Zpc9dW4aBDbdP", + "id": "2W6Hvrtg2Zpc9dW4aBDbdP", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/d479100f74473f863ed486498ac373836dab895d", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/0b116b02ee79d735a434fa9e80744e3691280d34", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/8a9c5661a9967fdf7451c36a0cf33118da72ce36", + "width": 64 + } + ], + "name": "Getz/Gilberto (Expanded Edition)", + "release_date": "2014-05-27", + "release_date_precision": "day", + "total_tracks": 18, + "type": "album", + "uri": "spotify:album:2W6Hvrtg2Zpc9dW4aBDbdP" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" + }, + "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", + "id": "0FMucZsEnCxs5pqBjHjIc8", + "name": "Stan Getz", + "type": "artist", + "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" + }, + "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", + "id": "77ZUbcdoU5KCPHNUl8bgQy", + "name": "João Gilberto", + "type": "artist", + "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" + }, + "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", + "id": "5rX2c1zow6hCph8PnnU3kF", + "name": "Astrud Gilberto", + "type": "artist", + "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 320253, + "explicit": false, + "external_ids": { + "isrc": "USPR36305146" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/7znjbX9XdoQayIrVNdd50Z" + }, + "href": "https://api.spotify.com/v1/tracks/7znjbX9XdoQayIrVNdd50Z", + "id": "7znjbX9XdoQayIrVNdd50Z", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 45, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:7znjbX9XdoQayIrVNdd50Z" }, { - "height": 64, - "url": "https://i.scdn.co/image/84e939c54fd8b088ddff82e80e237f4d6821f3d2", - "width": 64 - } - ], - "name": "Sinatra/Jobim: The Complete Reprise Recordings", - "release_date": "1967-03", - "release_date_precision": "month", - "total_tracks": 20, - "type": "album", - "uri": "spotify:album:5280NkLzxe2w7K1JW9I8jX" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6snr2uV0JQDKLW9yWzRkPj" + }, + "href": "https://api.spotify.com/v1/artists/6snr2uV0JQDKLW9yWzRkPj", + "id": "6snr2uV0JQDKLW9yWzRkPj", + "name": "Funkmammoth", + "type": "artist", + "uri": "spotify:artist:6snr2uV0JQDKLW9yWzRkPj" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/4ldnVVxGWI1MHKYLMSX4Om" + }, + "href": "https://api.spotify.com/v1/albums/4ldnVVxGWI1MHKYLMSX4Om", + "id": "4ldnVVxGWI1MHKYLMSX4Om", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/a4fc69346e6081994aeb74eff45b9c04919f3b5f", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/4e9ae6d7ed8c1c9186881659a4894c3700cdcfc4", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/34db83cf641b554986fd5046f3388b005dc0cbb6", + "width": 64 + } + ], + "name": "Es Tas South", + "release_date": "2017-07-24", + "release_date_precision": "day", + "total_tracks": 14, + "type": "album", + "uri": "spotify:album:4ldnVVxGWI1MHKYLMSX4Om" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6snr2uV0JQDKLW9yWzRkPj" + }, + "href": "https://api.spotify.com/v1/artists/6snr2uV0JQDKLW9yWzRkPj", + "id": "6snr2uV0JQDKLW9yWzRkPj", + "name": "Funkmammoth", + "type": "artist", + "uri": "spotify:artist:6snr2uV0JQDKLW9yWzRkPj" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 127228, + "explicit": false, + "external_ids": { + "isrc": "TCADE1768521" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/6l8ZAqy48pBSGJtUikKNYr" + }, + "href": "https://api.spotify.com/v1/tracks/6l8ZAqy48pBSGJtUikKNYr", + "id": "6l8ZAqy48pBSGJtUikKNYr", + "is_local": false, + "name": "Ipanema", + "popularity": 45, + "preview_url": "https://p.scdn.co/mp3-preview/b21542f3668a0e0714879248cf23aa2a5c326597?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 3, + "type": "track", + "uri": "spotify:track:6l8ZAqy48pBSGJtUikKNYr" }, - "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", - "id": "1Mxqyy3pSjf8kZZL4QVxS0", - "name": "Frank Sinatra", - "type": "artist", - "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 200360, - "explicit": false, - "external_ids": { - "isrc": "USRH10800977" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/5N6pQ2vYtd3Rb9w7LC8PZ9" - }, - "href": "https://api.spotify.com/v1/tracks/5N6pQ2vYtd3Rb9w7LC8PZ9", - "id": "5N6pQ2vYtd3Rb9w7LC8PZ9", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 57, - "preview_url": null, - "track_number": 1, - "type": "track", - "uri": "spotify:track:5N6pQ2vYtd3Rb9w7LC8PZ9" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/7v4imS0moSyGdXyLgVTIV7" - }, - "href": "https://api.spotify.com/v1/artists/7v4imS0moSyGdXyLgVTIV7", - "id": "7v4imS0moSyGdXyLgVTIV7", - "name": "Nat King Cole", - "type": "artist", - "uri": "spotify:artist:7v4imS0moSyGdXyLgVTIV7" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/2IFGaozoXFA3m9IUH2Hcc4" - }, - "href": "https://api.spotify.com/v1/albums/2IFGaozoXFA3m9IUH2Hcc4", - "id": "2IFGaozoXFA3m9IUH2Hcc4", - "images": [ { - "height": 640, - "url": "https://i.scdn.co/image/1fabde4fcac6be70c42e9473ac5a4f66f1eca0d3", - "width": 640 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5B6H1Dq77AV1LZWrbNsuH5" + }, + "href": "https://api.spotify.com/v1/artists/5B6H1Dq77AV1LZWrbNsuH5", + "id": "5B6H1Dq77AV1LZWrbNsuH5", + "name": "Jarabe De Palo", + "type": "artist", + "uri": "spotify:artist:5B6H1Dq77AV1LZWrbNsuH5" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/46HlKlgX5YULMqWAs5yazT" + }, + "href": "https://api.spotify.com/v1/albums/46HlKlgX5YULMqWAs5yazT", + "id": "46HlKlgX5YULMqWAs5yazT", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/b78bbc8e03eb23bfb2c25a6f7fdc3fd2758ecb84", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/6211434d2e6a7faec0c0cacb879ee45ca1a1cb06", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/c47e8cad88d676e8eba200df5fb2462c989026bd", + "width": 64 + } + ], + "name": "En la vida conocí mujer igual a la Flaca: 20 años", + "release_date": "2017-12-01", + "release_date_precision": "day", + "total_tracks": 59, + "type": "album", + "uri": "spotify:album:46HlKlgX5YULMqWAs5yazT" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5B6H1Dq77AV1LZWrbNsuH5" + }, + "href": "https://api.spotify.com/v1/artists/5B6H1Dq77AV1LZWrbNsuH5", + "id": "5B6H1Dq77AV1LZWrbNsuH5", + "name": "Jarabe De Palo", + "type": "artist", + "uri": "spotify:artist:5B6H1Dq77AV1LZWrbNsuH5" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 251480, + "explicit": false, + "external_ids": { + "isrc": "ES5010500041" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1QgfZsvA8tpsMVs1EylzYU" + }, + "href": "https://api.spotify.com/v1/tracks/1QgfZsvA8tpsMVs1EylzYU", + "id": "1QgfZsvA8tpsMVs1EylzYU", + "is_local": false, + "name": "La chica de Ipanema", + "popularity": 50, + "preview_url": "https://p.scdn.co/mp3-preview/66dcf8b88a92022ed0944ea01bd01be028e36f66?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 44, + "type": "track", + "uri": "spotify:track:1QgfZsvA8tpsMVs1EylzYU" }, { - "height": 300, - "url": "https://i.scdn.co/image/dc263efc82b425d4d62f9ec752ecd0062fa9d8be", - "width": 300 + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5z1VAFwT35EVvCp1XlZZuL" + }, + "href": "https://api.spotify.com/v1/artists/5z1VAFwT35EVvCp1XlZZuL", + "id": "5z1VAFwT35EVvCp1XlZZuL", + "name": "Diana Krall", + "type": "artist", + "uri": "spotify:artist:5z1VAFwT35EVvCp1XlZZuL" + } + ], + "available_markets": [ + "CA", + "MX", + "US" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/30i0HL1NsQ2xcMhgmQ7rvi" + }, + "href": "https://api.spotify.com/v1/albums/30i0HL1NsQ2xcMhgmQ7rvi", + "id": "30i0HL1NsQ2xcMhgmQ7rvi", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/b1ea3d77eb57ff550f885a4395baa8263dc96f47", + "width": 634 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/513b79b9112f13ab241d198b178d1e3fc4dc9e36", + "width": 297 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/90fbf8c29e1e80386f9ae6543f8124441d0c5056", + "width": 63 + } + ], + "name": "Quiet Nights", + "release_date": "2009-01-01", + "release_date_precision": "day", + "total_tracks": 12, + "type": "album", + "uri": "spotify:album:30i0HL1NsQ2xcMhgmQ7rvi" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/5z1VAFwT35EVvCp1XlZZuL" + }, + "href": "https://api.spotify.com/v1/artists/5z1VAFwT35EVvCp1XlZZuL", + "id": "5z1VAFwT35EVvCp1XlZZuL", + "name": "Diana Krall", + "type": "artist", + "uri": "spotify:artist:5z1VAFwT35EVvCp1XlZZuL" + } + ], + "available_markets": [ + "CA", + "MX", + "US" + ], + "disc_number": 1, + "duration_ms": 292880, + "explicit": false, + "external_ids": { + "isrc": "USUM70951271" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1iqDYEuA23P28l0lRsNSFs" + }, + "href": "https://api.spotify.com/v1/tracks/1iqDYEuA23P28l0lRsNSFs", + "id": "1iqDYEuA23P28l0lRsNSFs", + "is_local": false, + "name": "The Boy From Ipanema", + "popularity": 37, + "preview_url": null, + "track_number": 4, + "type": "track", + "uri": "spotify:track:1iqDYEuA23P28l0lRsNSFs" }, { - "height": 64, - "url": "https://i.scdn.co/image/4170fcb827df1fd7ebe9489239e42fef76b544ab", - "width": 64 - } - ], - "name": "Ultimate Nat King Cole", - "release_date": "2019-03-15", - "release_date_precision": "day", - "total_tracks": 21, - "type": "album", - "uri": "spotify:album:2IFGaozoXFA3m9IUH2Hcc4" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/7v4imS0moSyGdXyLgVTIV7" - }, - "href": "https://api.spotify.com/v1/artists/7v4imS0moSyGdXyLgVTIV7", - "id": "7v4imS0moSyGdXyLgVTIV7", - "name": "Nat King Cole", - "type": "artist", - "uri": "spotify:artist:7v4imS0moSyGdXyLgVTIV7" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/06nevPmNVfWUXyZkccahL8" + "album": { + "album_type": "album", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/0LYpJGx3fHoTmKOtKuMWtQ" + }, + "href": "https://api.spotify.com/v1/albums/0LYpJGx3fHoTmKOtKuMWtQ", + "id": "0LYpJGx3fHoTmKOtKuMWtQ", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/456a944e73c8110a13c746109a9b71393481588e", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/c0de23aeca99c8bf8537864c5216485464dd6db0", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/8c42af83179e899015ca48dcbc6b602756817307", + "width": 64 + } + ], + "name": "Francis Albert Sinatra & Antonio Carlos Jobim", + "release_date": "1967-03", + "release_date_precision": "month", + "total_tracks": 10, + "type": "album", + "uri": "spotify:album:0LYpJGx3fHoTmKOtKuMWtQ" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" + }, + "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", + "id": "3pO5VjZ4wOHCMBXOvbMISG", + "name": "Antônio Carlos Jobim", + "type": "artist", + "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" + }, + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" + }, + "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", + "id": "1Mxqyy3pSjf8kZZL4QVxS0", + "name": "Frank Sinatra", + "type": "artist", + "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 194573, + "explicit": false, + "external_ids": { + "isrc": "USRH10800977" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1id6N5Y8662aKNlmR5eM92" + }, + "href": "https://api.spotify.com/v1/tracks/1id6N5Y8662aKNlmR5eM92", + "id": "1id6N5Y8662aKNlmR5eM92", + "is_local": false, + "name": "The Girl From Ipanema", + "popularity": 41, + "preview_url": null, + "track_number": 1, + "type": "track", + "uri": "spotify:track:1id6N5Y8662aKNlmR5eM92" }, - "href": "https://api.spotify.com/v1/artists/06nevPmNVfWUXyZkccahL8", - "id": "06nevPmNVfWUXyZkccahL8", - "name": "Gregory Porter", - "type": "artist", - "uri": "spotify:artist:06nevPmNVfWUXyZkccahL8" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 174773, - "explicit": false, - "external_ids": { - "isrc": "USUG11900004" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/3niaqXwt6bSu5HCXJpaee7" - }, - "href": "https://api.spotify.com/v1/tracks/3niaqXwt6bSu5HCXJpaee7", - "id": "3niaqXwt6bSu5HCXJpaee7", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 54, - "preview_url": null, - "track_number": 21, - "type": "track", - "uri": "spotify:track:3niaqXwt6bSu5HCXJpaee7" - }, - { - "album": { - "album_type": "compilation", - "artists": [ { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" - }, - "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", - "id": "1Mxqyy3pSjf8kZZL4QVxS0", - "name": "Frank Sinatra", - "type": "artist", - "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" + "album": { + "album_type": "single", + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6diA719p2OaW6zQnXCbRO9" + }, + "href": "https://api.spotify.com/v1/artists/6diA719p2OaW6zQnXCbRO9", + "id": "6diA719p2OaW6zQnXCbRO9", + "name": "US Two", + "type": "artist", + "uri": "spotify:artist:6diA719p2OaW6zQnXCbRO9" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "external_urls": { + "spotify": "https://open.spotify.com/album/3WDrrELIumy9JiB9aZN5x7" + }, + "href": "https://api.spotify.com/v1/albums/3WDrrELIumy9JiB9aZN5x7", + "id": "3WDrrELIumy9JiB9aZN5x7", + "images": [ + { + "height": 640, + "url": "https://i.scdn.co/image/2f70df07dec22d7639b59c617e4f5b55d5024b1f", + "width": 640 + }, + { + "height": 300, + "url": "https://i.scdn.co/image/75ee2cdedd8ff8f18c92f449f28208ddf4fc929a", + "width": 300 + }, + { + "height": 64, + "url": "https://i.scdn.co/image/66839307af1f3a32237bcc6e946030345a662546", + "width": 64 + } + ], + "name": "US Two", + "release_date": "2018-10-28", + "release_date_precision": "day", + "total_tracks": 3, + "type": "album", + "uri": "spotify:album:3WDrrELIumy9JiB9aZN5x7" + }, + "artists": [ + { + "external_urls": { + "spotify": "https://open.spotify.com/artist/6diA719p2OaW6zQnXCbRO9" + }, + "href": "https://api.spotify.com/v1/artists/6diA719p2OaW6zQnXCbRO9", + "id": "6diA719p2OaW6zQnXCbRO9", + "name": "US Two", + "type": "artist", + "uri": "spotify:artist:6diA719p2OaW6zQnXCbRO9" + } + ], + "available_markets": [ + "AD", + "AE", + "AR", + "AT", + "AU", + "BE", + "BG", + "BH", + "BO", + "BR", + "CA", + "CH", + "CL", + "CO", + "CR", + "CY", + "CZ", + "DE", + "DK", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ES", + "FI", + "FR", + "GB", + "GR", + "GT", + "HK", + "HN", + "HU", + "ID", + "IE", + "IL", + "IN", + "IS", + "IT", + "JO", + "JP", + "KW", + "LB", + "LI", + "LT", + "LU", + "LV", + "MA", + "MC", + "MT", + "MX", + "MY", + "NI", + "NL", + "NO", + "NZ", + "OM", + "PA", + "PE", + "PH", + "PL", + "PS", + "PT", + "PY", + "QA", + "RO", + "SA", + "SE", + "SG", + "SK", + "SV", + "TH", + "TN", + "TR", + "TW", + "US", + "UY", + "VN", + "ZA" + ], + "disc_number": 1, + "duration_ms": 188194, + "explicit": false, + "external_ids": { + "isrc": "SE5IB1800990" + }, + "external_urls": { + "spotify": "https://open.spotify.com/track/1hOQ2MFPcuNupbsb8Xba1t" + }, + "href": "https://api.spotify.com/v1/tracks/1hOQ2MFPcuNupbsb8Xba1t", + "id": "1hOQ2MFPcuNupbsb8Xba1t", + "is_local": false, + "name": "Girl From Ipanema", + "popularity": 40, + "preview_url": "https://p.scdn.co/mp3-preview/37dc00a141411ad4448b7cede2248d91637dbcf4?cid=774b29d4f13844c495f206cafdad9c86", + "track_number": 2, + "type": "track", + "uri": "spotify:track:1hOQ2MFPcuNupbsb8Xba1t" } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/3i67sGIVw8EBlgfSRv3Lj2" - }, - "href": "https://api.spotify.com/v1/albums/3i67sGIVw8EBlgfSRv3Lj2", - "id": "3i67sGIVw8EBlgfSRv3Lj2", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/d32aeff49d628f9c554fa561fbecdd02cf867623", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/622fb28df75069765a48ddef9962aeea05c17c8b", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/9c4a8030d73a43e30bfeaac05d9e6f399cd13cd1", - "width": 64 - } - ], - "name": "Nothing But The Best (Remastered)", - "release_date": "2008-01-01", - "release_date_precision": "day", - "total_tracks": 22, - "type": "album", - "uri": "spotify:album:3i67sGIVw8EBlgfSRv3Lj2" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" - }, - "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", - "id": "1Mxqyy3pSjf8kZZL4QVxS0", - "name": "Frank Sinatra", - "type": "artist", - "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 194040, - "explicit": false, - "external_ids": { - "isrc": "USRH10723028" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/3NdHYXQK5gkFFEZvSMVVj6" - }, - "href": "https://api.spotify.com/v1/tracks/3NdHYXQK5gkFFEZvSMVVj6", - "id": "3NdHYXQK5gkFFEZvSMVVj6", - "is_local": false, - "name": "The Girl From Ipanema - 2008 Remastered", - "popularity": 51, - "preview_url": null, - "track_number": 7, - "type": "track", - "uri": "spotify:track:3NdHYXQK5gkFFEZvSMVVj6" - }, - { - "album": { - "album_type": "compilation", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0LyfQWJT6nXafLPZqxe9Of" - }, - "href": "https://api.spotify.com/v1/artists/0LyfQWJT6nXafLPZqxe9Of", - "id": "0LyfQWJT6nXafLPZqxe9Of", - "name": "Various Artists", - "type": "artist", - "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/2KJsAjK0T585kFmFA3O7vr" - }, - "href": "https://api.spotify.com/v1/albums/2KJsAjK0T585kFmFA3O7vr", - "id": "2KJsAjK0T585kFmFA3O7vr", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/46af3b6f48f0908961625d4270199bfe4bb774cf", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/c8763a82487948994f59e50f127ad5802469719b", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/ef429402982562043dd99dc9e642de81926b5dc9", - "width": 64 - } - ], - "name": "Bossa Nova", - "release_date": "2004-01-01", - "release_date_precision": "day", - "total_tracks": 14, - "type": "album", - "uri": "spotify:album:2KJsAjK0T585kFmFA3O7vr" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5b2ylVrhm7GKFoUjuNk1Op" - }, - "href": "https://api.spotify.com/v1/artists/5b2ylVrhm7GKFoUjuNk1Op", - "id": "5b2ylVrhm7GKFoUjuNk1Op", - "name": "Vinícius", - "type": "artist", - "uri": "spotify:artist:5b2ylVrhm7GKFoUjuNk1Op" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 150613, - "explicit": false, - "external_ids": { - "isrc": "ARG990900583" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/13phYi072bj5ibxBx4VhQC" - }, - "href": "https://api.spotify.com/v1/tracks/13phYi072bj5ibxBx4VhQC", - "id": "13phYi072bj5ibxBx4VhQC", - "is_local": false, - "name": "Garota De Ipanema", - "popularity": 58, - "preview_url": "https://p.scdn.co/mp3-preview/6e1d00a2d7b3bd178fc4d02001b3ff634e825f1a?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 3, - "type": "track", - "uri": "spotify:track:13phYi072bj5ibxBx4VhQC" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/2JfVCMa3FlvQRlLT5uH9zb" - }, - "href": "https://api.spotify.com/v1/artists/2JfVCMa3FlvQRlLT5uH9zb", - "id": "2JfVCMa3FlvQRlLT5uH9zb", - "name": "Nancy Wilson", - "type": "artist", - "uri": "spotify:artist:2JfVCMa3FlvQRlLT5uH9zb" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/4qgiPr8Wg6HpqtfZBzcKqt" - }, - "href": "https://api.spotify.com/v1/albums/4qgiPr8Wg6HpqtfZBzcKqt", - "id": "4qgiPr8Wg6HpqtfZBzcKqt", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/ab67616d0000b273f32c2640357c4e7067a0e42e", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/ab67616d00001e02f32c2640357c4e7067a0e42e", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/ab67616d00004851f32c2640357c4e7067a0e42e", - "width": 64 - } - ], - "name": "How Glad I Am", - "release_date": "1964-01-01", - "release_date_precision": "day", - "total_tracks": 10, - "type": "album", - "uri": "spotify:album:4qgiPr8Wg6HpqtfZBzcKqt" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/2JfVCMa3FlvQRlLT5uH9zb" - }, - "href": "https://api.spotify.com/v1/artists/2JfVCMa3FlvQRlLT5uH9zb", - "id": "2JfVCMa3FlvQRlLT5uH9zb", - "name": "Nancy Wilson", - "type": "artist", - "uri": "spotify:artist:2JfVCMa3FlvQRlLT5uH9zb" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 134213, - "explicit": false, - "external_ids": { - "isrc": "USCA29601301" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/2chTka18XL8un05Pkb8Lis" - }, - "href": "https://api.spotify.com/v1/tracks/2chTka18XL8un05Pkb8Lis", - "id": "2chTka18XL8un05Pkb8Lis", - "is_local": false, - "name": "The Boy From Ipanema", - "popularity": 52, - "preview_url": null, - "track_number": 3, - "type": "track", - "uri": "spotify:track:2chTka18XL8un05Pkb8Lis" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" - }, - "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", - "id": "0FMucZsEnCxs5pqBjHjIc8", - "name": "Stan Getz", - "type": "artist", - "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/3VvwZy2KLUgi3QYmx7oiCA" - }, - "href": "https://api.spotify.com/v1/albums/3VvwZy2KLUgi3QYmx7oiCA", - "id": "3VvwZy2KLUgi3QYmx7oiCA", - "images": [ - { - "height": 600, - "url": "https://i.scdn.co/image/5edf9962c5bf32cc2f3c1afca4cb02540949cec9", - "width": 600 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/689e8de1add2cf94459d7da3e1217755e520b988", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/81e56f25454f9b5e8cebc452efb8e4f694202d6b", - "width": 64 - } - ], - "name": "The Girl from Ipanema", - "release_date": "2016-04-29", - "release_date_precision": "day", - "total_tracks": 50, - "type": "album", - "uri": "spotify:album:3VvwZy2KLUgi3QYmx7oiCA" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" - }, - "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", - "id": "77ZUbcdoU5KCPHNUl8bgQy", - "name": "João Gilberto", - "type": "artist", - "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" - }, - "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", - "id": "0FMucZsEnCxs5pqBjHjIc8", - "name": "Stan Getz", - "type": "artist", - "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" - }, - "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", - "id": "5rX2c1zow6hCph8PnnU3kF", - "name": "Astrud Gilberto", - "type": "artist", - "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 169026, - "explicit": false, - "external_ids": { - "isrc": "USPR36312115" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/43p5Olz6Cis0ZCYcqgQ18y" - }, - "href": "https://api.spotify.com/v1/tracks/43p5Olz6Cis0ZCYcqgQ18y", - "id": "43p5Olz6Cis0ZCYcqgQ18y", - "is_local": false, - "name": "The Girl from Ipanema", - "popularity": 49, - "preview_url": null, - "track_number": 1, - "type": "track", - "uri": "spotify:track:43p5Olz6Cis0ZCYcqgQ18y" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" - }, - "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", - "id": "0FMucZsEnCxs5pqBjHjIc8", - "name": "Stan Getz", - "type": "artist", - "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" - }, - "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", - "id": "77ZUbcdoU5KCPHNUl8bgQy", - "name": "João Gilberto", - "type": "artist", - "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/2W6Hvrtg2Zpc9dW4aBDbdP" - }, - "href": "https://api.spotify.com/v1/albums/2W6Hvrtg2Zpc9dW4aBDbdP", - "id": "2W6Hvrtg2Zpc9dW4aBDbdP", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/d479100f74473f863ed486498ac373836dab895d", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/0b116b02ee79d735a434fa9e80744e3691280d34", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/8a9c5661a9967fdf7451c36a0cf33118da72ce36", - "width": 64 - } - ], - "name": "Getz/Gilberto (Expanded Edition)", - "release_date": "2014-05-27", - "release_date_precision": "day", - "total_tracks": 18, - "type": "album", - "uri": "spotify:album:2W6Hvrtg2Zpc9dW4aBDbdP" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" - }, - "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", - "id": "0FMucZsEnCxs5pqBjHjIc8", - "name": "Stan Getz", - "type": "artist", - "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" - }, - "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", - "id": "77ZUbcdoU5KCPHNUl8bgQy", - "name": "João Gilberto", - "type": "artist", - "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" - }, - "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", - "id": "5rX2c1zow6hCph8PnnU3kF", - "name": "Astrud Gilberto", - "type": "artist", - "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 167533, - "explicit": false, - "external_ids": { - "isrc": "USUMG0000425" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/4qGfJb2KByjvzrwo8HNibg" - }, - "href": "https://api.spotify.com/v1/tracks/4qGfJb2KByjvzrwo8HNibg", - "id": "4qGfJb2KByjvzrwo8HNibg", - "is_local": false, - "name": "The Girl From Ipanema - Single Version", - "popularity": 53, - "preview_url": null, - "track_number": 17, - "type": "track", - "uri": "spotify:track:4qGfJb2KByjvzrwo8HNibg" - }, - { - "album": { - "album_type": "single", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/7Jd8IfE12z0jbepgMaVpXl" - }, - "href": "https://api.spotify.com/v1/artists/7Jd8IfE12z0jbepgMaVpXl", - "id": "7Jd8IfE12z0jbepgMaVpXl", - "name": "Davide Ambrosia", - "type": "artist", - "uri": "spotify:artist:7Jd8IfE12z0jbepgMaVpXl" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/38OsqZOKQwGVhrFlmNqfUw" - }, - "href": "https://api.spotify.com/v1/albums/38OsqZOKQwGVhrFlmNqfUw", - "id": "38OsqZOKQwGVhrFlmNqfUw", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/b81c47002f5b704d02c71d96e2f0f85c03a5f1f5", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/46eac161587fef906fb66b647351893f78b0a4d8", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/51419aac08379318de893b66c7321a38f9a6771a", - "width": 64 - } - ], - "name": "Grand Hotel", - "release_date": "2015", - "release_date_precision": "year", - "total_tracks": 3, - "type": "album", - "uri": "spotify:album:38OsqZOKQwGVhrFlmNqfUw" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/7Jd8IfE12z0jbepgMaVpXl" - }, - "href": "https://api.spotify.com/v1/artists/7Jd8IfE12z0jbepgMaVpXl", - "id": "7Jd8IfE12z0jbepgMaVpXl", - "name": "Davide Ambrosia", - "type": "artist", - "uri": "spotify:artist:7Jd8IfE12z0jbepgMaVpXl" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 203318, - "explicit": false, - "external_ids": { - "isrc": "SE5IB1700871" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/5gzgkcNPHlSgnoqdEOYLfC" - }, - "href": "https://api.spotify.com/v1/tracks/5gzgkcNPHlSgnoqdEOYLfC", - "id": "5gzgkcNPHlSgnoqdEOYLfC", - "is_local": false, - "name": "Girl From Ipanema", - "popularity": 54, - "preview_url": "https://p.scdn.co/mp3-preview/c5e542f520175b1576f99b7fea889c90ec24ee15?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 2, - "type": "track", - "uri": "spotify:track:5gzgkcNPHlSgnoqdEOYLfC" - }, - { - "album": { - "album_type": "single", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0g5AouvHCjswMZiQheyRNK" - }, - "href": "https://api.spotify.com/v1/artists/0g5AouvHCjswMZiQheyRNK", - "id": "0g5AouvHCjswMZiQheyRNK", - "name": "Rio Mendes", - "type": "artist", - "uri": "spotify:artist:0g5AouvHCjswMZiQheyRNK" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/6ROavccgDMsZS13Lx7NWYI" - }, - "href": "https://api.spotify.com/v1/albums/6ROavccgDMsZS13Lx7NWYI", - "id": "6ROavccgDMsZS13Lx7NWYI", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/cb68333e434ea54c76b4c4e5c1f6915bdbd3d402", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/709d5632b565207922cbf97782940471773b4869", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/0da1843bcaa29395e708a8cc46956df9adefbe4d", - "width": 64 - } - ], - "name": "Bossa Nova Sounds EP", - "release_date": "2019-07-12", - "release_date_precision": "day", - "total_tracks": 3, - "type": "album", - "uri": "spotify:album:6ROavccgDMsZS13Lx7NWYI" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0g5AouvHCjswMZiQheyRNK" - }, - "href": "https://api.spotify.com/v1/artists/0g5AouvHCjswMZiQheyRNK", - "id": "0g5AouvHCjswMZiQheyRNK", - "name": "Rio Mendes", - "type": "artist", - "uri": "spotify:artist:0g5AouvHCjswMZiQheyRNK" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 180860, - "explicit": false, - "external_ids": { - "isrc": "QZAKB1910099" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/4LFygoMviIwMfAlxBz821e" - }, - "href": "https://api.spotify.com/v1/tracks/4LFygoMviIwMfAlxBz821e", - "id": "4LFygoMviIwMfAlxBz821e", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 49, - "preview_url": "https://p.scdn.co/mp3-preview/cd22faff356c42cce21008b8f1d0ebfeee881b78?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 3, - "type": "track", - "uri": "spotify:track:4LFygoMviIwMfAlxBz821e" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0ldU0QJm31y0d6f57R1G2A" - }, - "href": "https://api.spotify.com/v1/artists/0ldU0QJm31y0d6f57R1G2A", - "id": "0ldU0QJm31y0d6f57R1G2A", - "name": "Oscar Peterson Trio", - "type": "artist", - "uri": "spotify:artist:0ldU0QJm31y0d6f57R1G2A" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/7BVfV9OGD9tYdy7Jr5JLbt" - }, - "href": "https://api.spotify.com/v1/albums/7BVfV9OGD9tYdy7Jr5JLbt", - "id": "7BVfV9OGD9tYdy7Jr5JLbt", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/5d2bfdfd801cb2fbee0fc485cc734c9dbff01127", - "width": 612 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/87918e967a9f8bdbb3fb13d898027cc63c75df5c", - "width": 287 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/14f304b86d618313a428ee1ff003e0b8dd9506d4", - "width": 61 - } - ], - "name": "We Get Requests", - "release_date": "1964", - "release_date_precision": "year", - "total_tracks": 10, - "type": "album", - "uri": "spotify:album:7BVfV9OGD9tYdy7Jr5JLbt" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0ldU0QJm31y0d6f57R1G2A" - }, - "href": "https://api.spotify.com/v1/artists/0ldU0QJm31y0d6f57R1G2A", - "id": "0ldU0QJm31y0d6f57R1G2A", - "name": "Oscar Peterson Trio", - "type": "artist", - "uri": "spotify:artist:0ldU0QJm31y0d6f57R1G2A" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 235466, - "explicit": false, - "external_ids": { - "isrc": "USF096425330" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/04n2zZCoMIw7r0NNTN1hMg" - }, - "href": "https://api.spotify.com/v1/tracks/04n2zZCoMIw7r0NNTN1hMg", - "id": "04n2zZCoMIw7r0NNTN1hMg", - "is_local": false, - "name": "Girl From Ipanema", - "popularity": 44, - "preview_url": null, - "track_number": 7, - "type": "track", - "uri": "spotify:track:04n2zZCoMIw7r0NNTN1hMg" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" - }, - "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", - "id": "0FMucZsEnCxs5pqBjHjIc8", - "name": "Stan Getz", - "type": "artist", - "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" - }, - "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", - "id": "77ZUbcdoU5KCPHNUl8bgQy", - "name": "João Gilberto", - "type": "artist", - "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/2W6Hvrtg2Zpc9dW4aBDbdP" - }, - "href": "https://api.spotify.com/v1/albums/2W6Hvrtg2Zpc9dW4aBDbdP", - "id": "2W6Hvrtg2Zpc9dW4aBDbdP", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/d479100f74473f863ed486498ac373836dab895d", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/0b116b02ee79d735a434fa9e80744e3691280d34", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/8a9c5661a9967fdf7451c36a0cf33118da72ce36", - "width": 64 - } - ], - "name": "Getz/Gilberto (Expanded Edition)", - "release_date": "2014-05-27", - "release_date_precision": "day", - "total_tracks": 18, - "type": "album", - "uri": "spotify:album:2W6Hvrtg2Zpc9dW4aBDbdP" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/0FMucZsEnCxs5pqBjHjIc8" - }, - "href": "https://api.spotify.com/v1/artists/0FMucZsEnCxs5pqBjHjIc8", - "id": "0FMucZsEnCxs5pqBjHjIc8", - "name": "Stan Getz", - "type": "artist", - "uri": "spotify:artist:0FMucZsEnCxs5pqBjHjIc8" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/77ZUbcdoU5KCPHNUl8bgQy" - }, - "href": "https://api.spotify.com/v1/artists/77ZUbcdoU5KCPHNUl8bgQy", - "id": "77ZUbcdoU5KCPHNUl8bgQy", - "name": "João Gilberto", - "type": "artist", - "uri": "spotify:artist:77ZUbcdoU5KCPHNUl8bgQy" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5rX2c1zow6hCph8PnnU3kF" - }, - "href": "https://api.spotify.com/v1/artists/5rX2c1zow6hCph8PnnU3kF", - "id": "5rX2c1zow6hCph8PnnU3kF", - "name": "Astrud Gilberto", - "type": "artist", - "uri": "spotify:artist:5rX2c1zow6hCph8PnnU3kF" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 320253, - "explicit": false, - "external_ids": { - "isrc": "USPR36305146" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/7znjbX9XdoQayIrVNdd50Z" - }, - "href": "https://api.spotify.com/v1/tracks/7znjbX9XdoQayIrVNdd50Z", - "id": "7znjbX9XdoQayIrVNdd50Z", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 45, - "preview_url": null, - "track_number": 1, - "type": "track", - "uri": "spotify:track:7znjbX9XdoQayIrVNdd50Z" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/6snr2uV0JQDKLW9yWzRkPj" - }, - "href": "https://api.spotify.com/v1/artists/6snr2uV0JQDKLW9yWzRkPj", - "id": "6snr2uV0JQDKLW9yWzRkPj", - "name": "Funkmammoth", - "type": "artist", - "uri": "spotify:artist:6snr2uV0JQDKLW9yWzRkPj" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/4ldnVVxGWI1MHKYLMSX4Om" - }, - "href": "https://api.spotify.com/v1/albums/4ldnVVxGWI1MHKYLMSX4Om", - "id": "4ldnVVxGWI1MHKYLMSX4Om", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/a4fc69346e6081994aeb74eff45b9c04919f3b5f", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/4e9ae6d7ed8c1c9186881659a4894c3700cdcfc4", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/34db83cf641b554986fd5046f3388b005dc0cbb6", - "width": 64 - } - ], - "name": "Es Tas South", - "release_date": "2017-07-24", - "release_date_precision": "day", - "total_tracks": 14, - "type": "album", - "uri": "spotify:album:4ldnVVxGWI1MHKYLMSX4Om" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/6snr2uV0JQDKLW9yWzRkPj" - }, - "href": "https://api.spotify.com/v1/artists/6snr2uV0JQDKLW9yWzRkPj", - "id": "6snr2uV0JQDKLW9yWzRkPj", - "name": "Funkmammoth", - "type": "artist", - "uri": "spotify:artist:6snr2uV0JQDKLW9yWzRkPj" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 127228, - "explicit": false, - "external_ids": { - "isrc": "TCADE1768521" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/6l8ZAqy48pBSGJtUikKNYr" - }, - "href": "https://api.spotify.com/v1/tracks/6l8ZAqy48pBSGJtUikKNYr", - "id": "6l8ZAqy48pBSGJtUikKNYr", - "is_local": false, - "name": "Ipanema", - "popularity": 45, - "preview_url": "https://p.scdn.co/mp3-preview/b21542f3668a0e0714879248cf23aa2a5c326597?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 3, - "type": "track", - "uri": "spotify:track:6l8ZAqy48pBSGJtUikKNYr" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5B6H1Dq77AV1LZWrbNsuH5" - }, - "href": "https://api.spotify.com/v1/artists/5B6H1Dq77AV1LZWrbNsuH5", - "id": "5B6H1Dq77AV1LZWrbNsuH5", - "name": "Jarabe De Palo", - "type": "artist", - "uri": "spotify:artist:5B6H1Dq77AV1LZWrbNsuH5" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/46HlKlgX5YULMqWAs5yazT" - }, - "href": "https://api.spotify.com/v1/albums/46HlKlgX5YULMqWAs5yazT", - "id": "46HlKlgX5YULMqWAs5yazT", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/b78bbc8e03eb23bfb2c25a6f7fdc3fd2758ecb84", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/6211434d2e6a7faec0c0cacb879ee45ca1a1cb06", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/c47e8cad88d676e8eba200df5fb2462c989026bd", - "width": 64 - } - ], - "name": "En la vida conocí mujer igual a la Flaca: 20 años", - "release_date": "2017-12-01", - "release_date_precision": "day", - "total_tracks": 59, - "type": "album", - "uri": "spotify:album:46HlKlgX5YULMqWAs5yazT" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5B6H1Dq77AV1LZWrbNsuH5" - }, - "href": "https://api.spotify.com/v1/artists/5B6H1Dq77AV1LZWrbNsuH5", - "id": "5B6H1Dq77AV1LZWrbNsuH5", - "name": "Jarabe De Palo", - "type": "artist", - "uri": "spotify:artist:5B6H1Dq77AV1LZWrbNsuH5" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 251480, - "explicit": false, - "external_ids": { - "isrc": "ES5010500041" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/1QgfZsvA8tpsMVs1EylzYU" - }, - "href": "https://api.spotify.com/v1/tracks/1QgfZsvA8tpsMVs1EylzYU", - "id": "1QgfZsvA8tpsMVs1EylzYU", - "is_local": false, - "name": "La chica de Ipanema", - "popularity": 50, - "preview_url": "https://p.scdn.co/mp3-preview/66dcf8b88a92022ed0944ea01bd01be028e36f66?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 44, - "type": "track", - "uri": "spotify:track:1QgfZsvA8tpsMVs1EylzYU" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5z1VAFwT35EVvCp1XlZZuL" - }, - "href": "https://api.spotify.com/v1/artists/5z1VAFwT35EVvCp1XlZZuL", - "id": "5z1VAFwT35EVvCp1XlZZuL", - "name": "Diana Krall", - "type": "artist", - "uri": "spotify:artist:5z1VAFwT35EVvCp1XlZZuL" - } - ], - "available_markets": [ - "CA", - "MX", - "US" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/30i0HL1NsQ2xcMhgmQ7rvi" - }, - "href": "https://api.spotify.com/v1/albums/30i0HL1NsQ2xcMhgmQ7rvi", - "id": "30i0HL1NsQ2xcMhgmQ7rvi", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/b1ea3d77eb57ff550f885a4395baa8263dc96f47", - "width": 634 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/513b79b9112f13ab241d198b178d1e3fc4dc9e36", - "width": 297 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/90fbf8c29e1e80386f9ae6543f8124441d0c5056", - "width": 63 - } - ], - "name": "Quiet Nights", - "release_date": "2009-01-01", - "release_date_precision": "day", - "total_tracks": 12, - "type": "album", - "uri": "spotify:album:30i0HL1NsQ2xcMhgmQ7rvi" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/5z1VAFwT35EVvCp1XlZZuL" - }, - "href": "https://api.spotify.com/v1/artists/5z1VAFwT35EVvCp1XlZZuL", - "id": "5z1VAFwT35EVvCp1XlZZuL", - "name": "Diana Krall", - "type": "artist", - "uri": "spotify:artist:5z1VAFwT35EVvCp1XlZZuL" - } - ], - "available_markets": [ - "CA", - "MX", - "US" - ], - "disc_number": 1, - "duration_ms": 292880, - "explicit": false, - "external_ids": { - "isrc": "USUM70951271" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/1iqDYEuA23P28l0lRsNSFs" - }, - "href": "https://api.spotify.com/v1/tracks/1iqDYEuA23P28l0lRsNSFs", - "id": "1iqDYEuA23P28l0lRsNSFs", - "is_local": false, - "name": "The Boy From Ipanema", - "popularity": 37, - "preview_url": null, - "track_number": 4, - "type": "track", - "uri": "spotify:track:1iqDYEuA23P28l0lRsNSFs" - }, - { - "album": { - "album_type": "album", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" - }, - "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", - "id": "1Mxqyy3pSjf8kZZL4QVxS0", - "name": "Frank Sinatra", - "type": "artist", - "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/0LYpJGx3fHoTmKOtKuMWtQ" - }, - "href": "https://api.spotify.com/v1/albums/0LYpJGx3fHoTmKOtKuMWtQ", - "id": "0LYpJGx3fHoTmKOtKuMWtQ", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/456a944e73c8110a13c746109a9b71393481588e", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/c0de23aeca99c8bf8537864c5216485464dd6db0", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/8c42af83179e899015ca48dcbc6b602756817307", - "width": 64 - } - ], - "name": "Francis Albert Sinatra & Antonio Carlos Jobim", - "release_date": "1967-03", - "release_date_precision": "month", - "total_tracks": 10, - "type": "album", - "uri": "spotify:album:0LYpJGx3fHoTmKOtKuMWtQ" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/3pO5VjZ4wOHCMBXOvbMISG" - }, - "href": "https://api.spotify.com/v1/artists/3pO5VjZ4wOHCMBXOvbMISG", - "id": "3pO5VjZ4wOHCMBXOvbMISG", - "name": "Antônio Carlos Jobim", - "type": "artist", - "uri": "spotify:artist:3pO5VjZ4wOHCMBXOvbMISG" - }, - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0" - }, - "href": "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0", - "id": "1Mxqyy3pSjf8kZZL4QVxS0", - "name": "Frank Sinatra", - "type": "artist", - "uri": "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "disc_number": 1, - "duration_ms": 194573, - "explicit": false, - "external_ids": { - "isrc": "USRH10800977" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/1id6N5Y8662aKNlmR5eM92" - }, - "href": "https://api.spotify.com/v1/tracks/1id6N5Y8662aKNlmR5eM92", - "id": "1id6N5Y8662aKNlmR5eM92", - "is_local": false, - "name": "The Girl From Ipanema", - "popularity": 41, - "preview_url": null, - "track_number": 1, - "type": "track", - "uri": "spotify:track:1id6N5Y8662aKNlmR5eM92" - }, - { - "album": { - "album_type": "single", - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/6diA719p2OaW6zQnXCbRO9" - }, - "href": "https://api.spotify.com/v1/artists/6diA719p2OaW6zQnXCbRO9", - "id": "6diA719p2OaW6zQnXCbRO9", - "name": "US Two", - "type": "artist", - "uri": "spotify:artist:6diA719p2OaW6zQnXCbRO9" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" - ], - "external_urls": { - "spotify": "https://open.spotify.com/album/3WDrrELIumy9JiB9aZN5x7" - }, - "href": "https://api.spotify.com/v1/albums/3WDrrELIumy9JiB9aZN5x7", - "id": "3WDrrELIumy9JiB9aZN5x7", - "images": [ - { - "height": 640, - "url": "https://i.scdn.co/image/2f70df07dec22d7639b59c617e4f5b55d5024b1f", - "width": 640 - }, - { - "height": 300, - "url": "https://i.scdn.co/image/75ee2cdedd8ff8f18c92f449f28208ddf4fc929a", - "width": 300 - }, - { - "height": 64, - "url": "https://i.scdn.co/image/66839307af1f3a32237bcc6e946030345a662546", - "width": 64 - } - ], - "name": "US Two", - "release_date": "2018-10-28", - "release_date_precision": "day", - "total_tracks": 3, - "type": "album", - "uri": "spotify:album:3WDrrELIumy9JiB9aZN5x7" - }, - "artists": [ - { - "external_urls": { - "spotify": "https://open.spotify.com/artist/6diA719p2OaW6zQnXCbRO9" - }, - "href": "https://api.spotify.com/v1/artists/6diA719p2OaW6zQnXCbRO9", - "id": "6diA719p2OaW6zQnXCbRO9", - "name": "US Two", - "type": "artist", - "uri": "spotify:artist:6diA719p2OaW6zQnXCbRO9" - } - ], - "available_markets": [ - "AD", - "AE", - "AR", - "AT", - "AU", - "BE", - "BG", - "BH", - "BO", - "BR", - "CA", - "CH", - "CL", - "CO", - "CR", - "CY", - "CZ", - "DE", - "DK", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ES", - "FI", - "FR", - "GB", - "GR", - "GT", - "HK", - "HN", - "HU", - "ID", - "IE", - "IL", - "IN", - "IS", - "IT", - "JO", - "JP", - "KW", - "LB", - "LI", - "LT", - "LU", - "LV", - "MA", - "MC", - "MT", - "MX", - "MY", - "NI", - "NL", - "NO", - "NZ", - "OM", - "PA", - "PE", - "PH", - "PL", - "PS", - "PT", - "PY", - "QA", - "RO", - "SA", - "SE", - "SG", - "SK", - "SV", - "TH", - "TN", - "TR", - "TW", - "US", - "UY", - "VN", - "ZA" ], - "disc_number": 1, - "duration_ms": 188194, - "explicit": false, - "external_ids": { - "isrc": "SE5IB1800990" - }, - "external_urls": { - "spotify": "https://open.spotify.com/track/1hOQ2MFPcuNupbsb8Xba1t" - }, - "href": "https://api.spotify.com/v1/tracks/1hOQ2MFPcuNupbsb8Xba1t", - "id": "1hOQ2MFPcuNupbsb8Xba1t", - "is_local": false, - "name": "Girl From Ipanema", - "popularity": 40, - "preview_url": "https://p.scdn.co/mp3-preview/37dc00a141411ad4448b7cede2248d91637dbcf4?cid=774b29d4f13844c495f206cafdad9c86", - "track_number": 2, - "type": "track", - "uri": "spotify:track:1hOQ2MFPcuNupbsb8Xba1t" - } - ], - "limit": 20, - "next": "https://api.spotify.com/v1/search?query=ipanema&type=track&market=US&offset=20&limit=20", - "offset": 0, - "previous": null, - "total": 8707 - } -} \ No newline at end of file + "limit": 20, + "next": "https://api.spotify.com/v1/search?query=ipanema&type=track&market=US&offset=20&limit=20", + "offset": 0, + "previous": null, + "total": 8707 + } +} From 915d2ec550fd3be8d56a9475640c596d04023f45 Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 11:59:57 -0400 Subject: [PATCH 30/88] Add autofocus to username field --- public/home.html | 7 ------- public/login.html | 7 ++++--- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/public/home.html b/public/home.html index bc711a71..1ff9df39 100644 --- a/public/home.html +++ b/public/home.html @@ -25,9 +25,6 @@ - - + + +
+
+
+
@@ -78,13 +87,16 @@
Song Name, Artist, Album
From a21e9024c0c5401637d65feb7b585da3b44346f2 Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 12:40:58 -0400 Subject: [PATCH 32/88] Non-functional (code executes out-of-order) --- app.js | 50 ++++++++++++++++++++++++++++-------------------- public/home.html | 5 +++-- 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/app.js b/app.js index feb4c45f..e9bb5b62 100644 --- a/app.js +++ b/app.js @@ -238,27 +238,35 @@ app.get("/recommendation", function (req, res) { const db = client.db('MusicApp') const collection = db.collection('recommendations') - const response = {} - collection.find({}).toArray(function (err, result) { - if (err) throw err; - console.log("potatoes!!") - result.forEach(function (element) { - const temp = JSON.stringify(element) - console.log("element: " + temp) - if (temp.username == null) - console.log("null username") - else if (temp.tracknumber == null) - console.log("null tracknumber") - else if (temp.rating == null) - console.log("null rating") - else if (temp.caption == null) - console.log("null caption") - else - response.add(temp) - }) - console.log("response: " + response); - res.send(JSON.stringify(response)) - }); + let arr = [] + collection.find({}).forEach(function (element) { + const temp = JSON.stringify(element) + //console.log("element: " + temp) + + if (JSON.parse(temp).username == null) + console.log("null username") + else if (JSON.parse(temp).tracknumber == null) + console.log("null tracknumber") + else if (JSON.parse(temp).rating == null) + console.log("null rating") + else if (JSON.parse(temp).caption == null) + console.log("null caption") + else { + let thingy = {} + thingy.username = JSON.parse(temp).username + thingy.tracknumber = JSON.parse(temp).tracknumber + thingy.rating = JSON.parse(temp).rating + thingy.caption = JSON.parse(temp).caption + console.log(thingy) + arr.push(thingy) + /*console.log("unparsed: " + temp) + arr.push(temp) + console.log("parsed: " + JSON.parse(temp)) + //arr.push(JSON.parse(temp))*/ + } + }) + console.log("response: " + arr + ", length: " + arr.length); + res.send(JSON.stringify(arr)) }) }) }) diff --git a/public/home.html b/public/home.html index 1ff9df39..863bd3ad 100644 --- a/public/home.html +++ b/public/home.html @@ -39,9 +39,10 @@
- +
+ @@ -70,7 +71,7 @@
+ rows="3" placeholder="Write a note about the song here">
From 4e492865182ad50272b7a762b9c6e8e94428f6ad Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 20:40:49 -0400 Subject: [PATCH 33/88] Get recommendations actually works --- app.js | 49 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/app.js b/app.js index e9bb5b62..bb9ead92 100644 --- a/app.js +++ b/app.js @@ -238,11 +238,37 @@ app.get("/recommendation", function (req, res) { const db = client.db('MusicApp') const collection = db.collection('recommendations') - let arr = [] - collection.find({}).forEach(function (element) { + let resp = [] + collection.find({}).toArray().then(function (arr) { + arr.forEach( function (element) { + const temp = JSON.stringify(element) + console.log("element: " + temp) + if (JSON.parse(temp).username == null) + console.log("null username") + else if (JSON.parse(temp).tracknumber == null) + console.log("null tracknumber") + else if (JSON.parse(temp).rating == null) + console.log("null rating") + else if (JSON.parse(temp).caption == null) + console.log("null caption") + else { + let thingy = { + username: JSON.parse(temp).username, + tracknumber: JSON.parse(temp).tracknumber, + rating: JSON.parse(temp).rating, + caption: JSON.parse(temp).caption + } + console.log(thingy) + resp.push(thingy) + } + }) + console.log("response: " + resp + ", length: " + resp.length); + res.send(JSON.stringify(resp)) + }) + + /*collection.find({}).toArray().forEach(function (element) { const temp = JSON.stringify(element) //console.log("element: " + temp) - if (JSON.parse(temp).username == null) console.log("null username") else if (JSON.parse(temp).tracknumber == null) @@ -252,21 +278,18 @@ app.get("/recommendation", function (req, res) { else if (JSON.parse(temp).caption == null) console.log("null caption") else { - let thingy = {} - thingy.username = JSON.parse(temp).username - thingy.tracknumber = JSON.parse(temp).tracknumber - thingy.rating = JSON.parse(temp).rating - thingy.caption = JSON.parse(temp).caption + let thingy = { + username: JSON.parse(temp).username, + tracknumber: JSON.parse(temp).tracknumber, + rating: JSON.parse(temp).rating, + caption: JSON.parse(temp).caption + } console.log(thingy) arr.push(thingy) - /*console.log("unparsed: " + temp) - arr.push(temp) - console.log("parsed: " + JSON.parse(temp)) - //arr.push(JSON.parse(temp))*/ } }) console.log("response: " + arr + ", length: " + arr.length); - res.send(JSON.stringify(arr)) + res.send(JSON.stringify(arr))*/ }) }) }) From ab0cef19261d4357f0b1718f4dae761cd9271e6b Mon Sep 17 00:00:00 2001 From: Elie Date: Fri, 4 Oct 2019 20:46:52 -0400 Subject: [PATCH 34/88] Simplify and delete commented-out code and console.log()s --- app.js | 49 ++++++++++--------------------------------------- 1 file changed, 10 insertions(+), 39 deletions(-) diff --git a/app.js b/app.js index bb9ead92..e6389da4 100644 --- a/app.js +++ b/app.js @@ -237,59 +237,30 @@ app.get("/recommendation", function (req, res) { } const db = client.db('MusicApp') const collection = db.collection('recommendations') - - let resp = [] collection.find({}).toArray().then(function (arr) { + let resp = [] arr.forEach( function (element) { - const temp = JSON.stringify(element) - console.log("element: " + temp) - if (JSON.parse(temp).username == null) + const temp = JSON.parse(JSON.stringify(element)) + if (temp.username == null) console.log("null username") - else if (JSON.parse(temp).tracknumber == null) + else if (temp.tracknumber == null) console.log("null tracknumber") - else if (JSON.parse(temp).rating == null) + else if (temp.rating == null) console.log("null rating") - else if (JSON.parse(temp).caption == null) + else if (temp.caption == null) console.log("null caption") else { let thingy = { - username: JSON.parse(temp).username, - tracknumber: JSON.parse(temp).tracknumber, - rating: JSON.parse(temp).rating, - caption: JSON.parse(temp).caption + username: temp.username, + tracknumber: temp.tracknumber, + rating: temp.rating, + caption: temp.caption } - console.log(thingy) resp.push(thingy) } }) - console.log("response: " + resp + ", length: " + resp.length); res.send(JSON.stringify(resp)) }) - - /*collection.find({}).toArray().forEach(function (element) { - const temp = JSON.stringify(element) - //console.log("element: " + temp) - if (JSON.parse(temp).username == null) - console.log("null username") - else if (JSON.parse(temp).tracknumber == null) - console.log("null tracknumber") - else if (JSON.parse(temp).rating == null) - console.log("null rating") - else if (JSON.parse(temp).caption == null) - console.log("null caption") - else { - let thingy = { - username: JSON.parse(temp).username, - tracknumber: JSON.parse(temp).tracknumber, - rating: JSON.parse(temp).rating, - caption: JSON.parse(temp).caption - } - console.log(thingy) - arr.push(thingy) - } - }) - console.log("response: " + arr + ", length: " + arr.length); - res.send(JSON.stringify(arr))*/ }) }) }) From 674a797eff7d4539b1ad32fb44ffda7db299954e Mon Sep 17 00:00:00 2001 From: Elie Date: Sat, 5 Oct 2019 09:45:43 -0400 Subject: [PATCH 35/88] Change variable names --- .idea/fp.iml | 1 + .idea/jsLibraryMappings.xml | 2 +- app.js | 30 +++++++++++++++--------------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.idea/fp.iml b/.idea/fp.iml index c4a3759c..c7b3928f 100644 --- a/.idea/fp.iml +++ b/.idea/fp.iml @@ -10,5 +10,6 @@ + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml index 69f8c19e..62db212e 100644 --- a/.idea/jsLibraryMappings.xml +++ b/.idea/jsLibraryMappings.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app.js b/app.js index e6389da4..08bb1867 100644 --- a/app.js +++ b/app.js @@ -6,7 +6,7 @@ const express = require('express'), request = require('request'), cors = require('cors'), querystring = require('querystring'), - mongodb = require('mongodb'), + //mongodb = require('mongodb'), mongo = require('mongodb').MongoClient, bcrypt = require('bcrypt'), url = "mongodb+srv://root:admin@cluster0-qdoiu.azure.mongodb.net/test?retryWrites=true&w=majority", @@ -238,28 +238,28 @@ app.get("/recommendation", function (req, res) { const db = client.db('MusicApp') const collection = db.collection('recommendations') collection.find({}).toArray().then(function (arr) { - let resp = [] - arr.forEach( function (element) { - const temp = JSON.parse(JSON.stringify(element)) - if (temp.username == null) + let response = [] + arr.forEach(function (element) { + const jaysawn = JSON.parse(JSON.stringify(element)) + if (jaysawn.username == null) console.log("null username") - else if (temp.tracknumber == null) + else if (jaysawn.tracknumber == null) console.log("null tracknumber") - else if (temp.rating == null) + else if (jaysawn.rating == null) console.log("null rating") - else if (temp.caption == null) + else if (jaysawn.caption == null) console.log("null caption") else { - let thingy = { - username: temp.username, - tracknumber: temp.tracknumber, - rating: temp.rating, - caption: temp.caption + let entry = { + username: jaysawn.username, + tracknumber: jaysawn.tracknumber, + rating: jaysawn.rating, + caption: jaysawn.caption } - resp.push(thingy) + response.push(entry) } }) - res.send(JSON.stringify(resp)) + res.send(JSON.stringify(response)) }) }) }) From 486ae33d9fd02c53fa9556980397c0e415a77c01 Mon Sep 17 00:00:00 2001 From: Elie Date: Sat, 5 Oct 2019 16:38:27 -0400 Subject: [PATCH 36/88] Add recommendations from database to home page --- app.js | 6 +++--- public/home.html | 1 + public/js/home.js | 34 +++++++++++++++++++++++++++++++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/app.js b/app.js index 08bb1867..b0c465eb 100644 --- a/app.js +++ b/app.js @@ -238,7 +238,7 @@ app.get("/recommendation", function (req, res) { const db = client.db('MusicApp') const collection = db.collection('recommendations') collection.find({}).toArray().then(function (arr) { - let response = [] + let entries = [] arr.forEach(function (element) { const jaysawn = JSON.parse(JSON.stringify(element)) if (jaysawn.username == null) @@ -256,10 +256,10 @@ app.get("/recommendation", function (req, res) { rating: jaysawn.rating, caption: jaysawn.caption } - response.push(entry) + entries.push(entry) } }) - res.send(JSON.stringify(response)) + res.send(JSON.stringify(entries)) }) }) }) diff --git a/public/home.html b/public/home.html index 863bd3ad..0d5ee580 100644 --- a/public/home.html +++ b/public/home.html @@ -89,6 +89,7 @@
Song Name, Artist, Album
Pause
+
diff --git a/public/js/home.js b/public/js/home.js index b5a96ad6..0c0fd528 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -8,15 +8,43 @@ const getData = function () { })() } -const recommendations = function () { +const getRecommendations = function () { (async () => { const rawResponse = await fetch('/recommendation', { method: 'GET' }) let res = await rawResponse.json() - console.log(res) + let list = document.getElementById("recommendation-list") + let i = 0; + res.forEach(function (element) { + let songname = element.tracknumber //TODO: Replace with code getting song name from Spotify + let username = element.username + let rating = element.rating + let caption = element.caption + + if (isNaN(rating)) { + console.log(rating + " - Rating not a number") + rating = Math.floor((Math.random() * 5) + 1) + } else if (rating < 1) { + console.log(rating + " - Rating too low") + rating = 1 + } else if (rating > 5) { + console.log(rating + " - Rating too high") + rating = 5 + } + + list.innerHTML += + `
\n` + + `
\n` + + `
` + songname + `
\n` + + `

` + username + " rated this song " + rating + " out of 5" + `

\n` + + `

` + "\"" + caption + "\"" + `

\n` + + `
\n` + + `
`; + i++ + }) })() } getData() -recommendations() +getRecommendations() From a8d8fbd3a7328714fe8d32ef2383a8beb764901e Mon Sep 17 00:00:00 2001 From: Elie Date: Sat, 5 Oct 2019 16:45:02 -0400 Subject: [PATCH 37/88] Check number of entries before displaying them all --- public/js/home.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/public/js/home.js b/public/js/home.js index 0c0fd528..51fda2e3 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -1,3 +1,5 @@ +const MAXIMUM_ENTRIES_LOADED = 25 + const getData = function () { (async () => { const rawResponse = await fetch('/user', { @@ -15,8 +17,12 @@ const getRecommendations = function () { }) let res = await rawResponse.json() let list = document.getElementById("recommendation-list") - let i = 0; - res.forEach(function (element) { + + let maxEntries = res.length + if (maxEntries > MAXIMUM_ENTRIES_LOADED) maxEntries = MAXIMUM_ENTRIES_LOADED + + for (let i = 0; i < maxEntries; i++) { + let element = res[i] let songname = element.tracknumber //TODO: Replace with code getting song name from Spotify let username = element.username let rating = element.rating @@ -41,8 +47,7 @@ const getRecommendations = function () { `

` + "\"" + caption + "\"" + `

\n` + ` \n` + ``; - i++ - }) + } })() } From fef2170f6cdf9018b7d008508a9e325e148b1949 Mon Sep 17 00:00:00 2001 From: Elie Date: Sun, 6 Oct 2019 12:25:07 -0400 Subject: [PATCH 38/88] Add refresh button and error checking if there are no recommendations in the db --- public/home.html | 15 ++++---- public/js/home.js | 66 +++++++++++++++++++++--------------- public/stylesheets/style.css | 4 +++ 3 files changed, 52 insertions(+), 33 deletions(-) diff --git a/public/home.html b/public/home.html index 0d5ee580..264fc130 100644 --- a/public/home.html +++ b/public/home.html @@ -12,13 +12,15 @@ Music App +
-
+
diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 390898d4..29c630d6 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -2,7 +2,12 @@ body { padding: 25px; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; background-color: rgba(0, 0, 0, 0.87) !important; - overflow: hidden; +} + +@media (min-width: 1200px) { + body { + overflow: hidden; + } } nav { From ddc63128d3f2a165073486b1c0c3b7dea7e7ad20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Wed, 9 Oct 2019 17:54:58 -0400 Subject: [PATCH 74/88] Background visual (#21) * Testing for audio visualizer * Tried to make it be a js file * Placed audio Visualizer in the background * merging * saving current Track id in backend * working on animation * fixing play pause animation * merging --- app.js | 40 +++++++++- public/home.html | 150 +++++++++++++++++++---------------- public/js/audioVisualizer.js | 136 +++++++++++++++++++++++++++++++ public/js/createPlayer.js | 35 ++++++-- public/stylesheets/style.css | 12 +++ 5 files changed, 297 insertions(+), 76 deletions(-) create mode 100644 public/js/audioVisualizer.js diff --git a/app.js b/app.js index 954c2164..19486b90 100644 --- a/app.js +++ b/app.js @@ -26,7 +26,10 @@ const express = require('express'), let currentUser = [], access_token = null, - refresh_token = null + refresh_token = null, + product = null, + track_id = '3n3Ppam7vgaVa1iaRUc9Lp', + audioAnalysis; app.use(favicon(__dirname + '/public/images/favicon.ico')) app.use(logger('dev')) @@ -161,7 +164,9 @@ app.get('/callback', function (req, res) { // use the access token to access the Spotify Web API request.get(options, function (error, response, body) { console.log(body); - console.log('token = ' + access_token) + //console.log("The Product is: " + body.product) + product = body.product + console.log('token = '+ access_token) }); // we can also pass the token to the browser to make requests from there @@ -179,6 +184,24 @@ app.get('/callback', function (req, res) { }); } }); +app.post('/currentTrack', function (req, res) { + let parsedData = req.body + track_id = parsedData.track +}) + +app.get('/trackAnalysis', function (req,res) { + const options = { + url: 'https://api.spotify.com/v1/audio-analysis/'+track_id, //req.body + headers: {'Authorization': 'Bearer ' + access_token}, + json: true + }; + request.get(options, function(response,body){ + //console.log(body) + res.send(body) + + }) +}) + app.get('/refresh_token', function (req, res) { @@ -204,6 +227,17 @@ app.get('/refresh_token', function (req, res) { }); }); +app.get("/trackInfo",function(req,res){ + var authOptions = { + url: 'https://api.spotify.com/v1/audio-analysis/06AKEBrKUckW0KREUWRnvT', + headers: {'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) }, + } + if(res){ + const track = JSON.parse(res.body) + } +}) + + app.get("/user", function (req, res) { const json = { user: currentUser[0] @@ -214,6 +248,8 @@ app.get("/user", function (req, res) { app.get("/token", function (req, res) { const answerObj = {} answerObj.name = "token" + answerObj.name = "product" + answerObj.product = product answerObj.token = access_token res.send(JSON.stringify(answerObj)) }) diff --git a/public/home.html b/public/home.html index 27a9564c..5c8b9b80 100644 --- a/public/home.html +++ b/public/home.html @@ -24,83 +24,97 @@ - +
+
+
+
+ + +
+
+ + + +
+
+ +
+
+ + + + + + + + + + +
+
+
+ +
-
-
- -
-
-
- -
-
+
+ + +
+ + diff --git a/public/js/audioVisualizer.js b/public/js/audioVisualizer.js new file mode 100644 index 00000000..255aa273 --- /dev/null +++ b/public/js/audioVisualizer.js @@ -0,0 +1,136 @@ +let timeout; +function trackInfo() { + let analysis + let scene,camera,renderer,mesh,mesh2,mesh3,mesh4,mesh5,mesh6; + let shapes = []; + let numArray = []; + let confidence =1; + (async () => { + const rawResponse = await fetch('/trackAnalysis', { + method: 'GET' + }) + const audioAnalysis = await rawResponse.json() + //const parsedInput = JSON.parse(input) + //console.log(audioAnalysis.body.beats) + analysis = audioAnalysis.body + let track = audioAnalysis.body.track + let beats = audioAnalysis.body.beats + + function beatsNum (num){ + return beats[num].confidence + } + + function randomNumber(min, max) { + return Math.floor(Math.random() * (max - min) + min); + } + + //duration of the song is 223 seconds + + const randomNum = function(){ + for (let i=0;i{ + //barsNum() + for (let i = 0; i < beats.length; i++) { //numArray.length + timeout = setTimeout( () =>{ //stores previous number to go to next number + + mesh.position.x=(beats[i].confidence)*numArray[i]*1.7 + mesh2.position.y=(beats[i].confidence)*numArray[i]*1.2 + mesh3.position.z=(beats[i].confidence)*numArray[i]*1.7 + mesh4.position.y=-1*(beats[i].confidence)*numArray[i]*1.2 + //console.log(beatsNum(i)) + //renderer.setClearColor(Math.random()* 0xffffff*beatsNum(i)) + + + }, i*((1/(track.tempo/60)*1000)) ) //beats per ms + } + } + + randomPosPerSec() + + scene.add(mesh,mesh2,mesh3,mesh4) + + } + const animate = function(){ + requestAnimationFrame(animate); + mesh.rotation.z += track.tempo_confidence/10 + mesh2.rotation.y +=track.tempo_confidence/10 + mesh3.rotation.x +=track.tempo_confidence/10 + mesh4.rotation.z +=track.tempo_confidence/10 + + + + //let timer = Date.now() * (track.tempo/60000); //gets overall beats per millisecond + + //mesh.position.x= Math.cos(timer)*70 + //mesh2.position.y= Math.cos(timer)*70 + //mesh3.position.z= Math.cos(timer)*70 + //mesh4.position.y= (Math.cos(timer)*70)*-1 + camera.position.x = 150//Math.cos(timer)*20; + camera.position.z = 150//Math.sin(timer)*50; + + camera.lookAt(scene.position); + + renderer.render(scene,camera); + } + const windowResize = function(){ + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize( window.innerWidth, window.innerHeight ) + } + + window.addEventListener('resize',windowResize, false); + + init(); + animate(); + })() +} + +trackInfo() + + + diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index c9184f70..52388a80 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -9,10 +9,14 @@ const scopes = [ let _token let player let playerData +let currentTrackID = "3n3Ppam7vgaVa1iaRUc9Lp" +let currentlyPlaying = true +let interval + window.onSpotifyPlayerAPIReady = () => { console.log("player API is ready") - createPlayerForSong("3n3Ppam7vgaVa1iaRUc9Lp") + createPlayerForSong(currentTrackID) } function createPlayerForSong(track) { @@ -77,8 +81,6 @@ function createPlayerForSong(track) { ) } -let interval - function turningRecord(turn) { let counter = 0 if (turn) { @@ -98,11 +100,15 @@ function turningRecord(turn) { } } -let currentlyPlaying = true turningRecord(currentlyPlaying) function togglePlayPause() { currentlyPlaying = !currentlyPlaying + if(!currentlyPlaying){ + $("canvas").remove() + }else{ + trackInfo() + } console.log("currentlyplaying is " + currentlyPlaying) turningRecord(currentlyPlaying) player.togglePlay() @@ -117,12 +123,29 @@ function togglePlayPause() { } function playSomeTrackID(track) { + updateCurrentTrack(track) player.disconnect() console.log("player disconnected") - console.log("trying to play " + track) - createPlayerForSong(track) + console.log("trying to play " + currentTrackID) + createPlayerForSong(currentTrackID) if (!currentlyPlaying) { currentlyPlaying = true turningRecord(currentlyPlaying) } +} + +function updateCurrentTrack(track) { + $("canvas").remove() + currentTrackID = track + const json = {track: currentTrackID} + fetch('/currentTrack', { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + }, + body: JSON.stringify(json) + }) + clearTimeout(timeout) + trackInfo() } \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 29c630d6..48b3a9d9 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -202,7 +202,19 @@ img { color: rgba(0, 0, 0, 0.87) !important; float: right; } +.background{ + position: absolute; + width: 1000px; + height: 1000px; + top: 0; + left: 0; + z-index: -100; +} +.content{ + position: relative; + z-index: 100; +} .nav-right { float: right; } From f7e775e0f7d3e9ba50b58c01546d4812dcd5ec91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Wed, 9 Oct 2019 22:52:05 -0400 Subject: [PATCH 75/88] layout fixes --- public/home.html | 19 +++++++++---------- public/js/createPlayer.js | 6 ++++-- public/js/home.js | 1 + public/js/jquery.roundimage.js | 16 ++++++++++++++++ public/stylesheets/style.css | 31 +++++++++++-------------------- 5 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 public/js/jquery.roundimage.js diff --git a/public/home.html b/public/home.html index 5c8b9b80..7bdfba79 100644 --- a/public/home.html +++ b/public/home.html @@ -16,6 +16,7 @@ src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"> + @@ -52,7 +53,7 @@
-
-
+
diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index 52388a80..19d0a7ba 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -47,6 +47,7 @@ function createPlayerForSong(track) { $('#current-track-name').text(state.track_window.current_track.name) //edit this to incclude the whole atrists array? $('#current-track-artist').text(state.track_window.current_track.artists[0].name) + $("#current-track").roundImage() } }) @@ -87,7 +88,7 @@ function turningRecord(turn) { interval = setInterval(function () { console.log("interval") counter -= 1 - $("#current-track").css({ + $("svg").css({ MozTransform: 'rotate(-' + -counter + 'deg)', WebkitTransform: 'rotate(' + -counter + 'deg)', transform: 'rotate(' + -counter + 'deg)' @@ -98,6 +99,7 @@ function turningRecord(turn) { clearInterval(interval) } + } turningRecord(currentlyPlaying) @@ -112,7 +114,7 @@ function togglePlayPause() { console.log("currentlyplaying is " + currentlyPlaying) turningRecord(currentlyPlaying) player.togglePlay() - let playPauseButton = document.getElementById("play-pause-button"); + let playPauseButton = document.getElementById("play-pause-button-player"); let imageSrc = playPauseButton.getAttribute('src') if(imageSrc === "images/play.png") { diff --git a/public/js/home.js b/public/js/home.js index eef6be96..dd1a8d07 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -117,3 +117,4 @@ const getRecommendations = function () { getData() getRecommendations() addRecBtn.onclick = addRecommendation + diff --git a/public/js/jquery.roundimage.js b/public/js/jquery.roundimage.js new file mode 100644 index 00000000..9ebf56e2 --- /dev/null +++ b/public/js/jquery.roundimage.js @@ -0,0 +1,16 @@ +(function ($) { + $.fn.roundImage = function() { + return this.each(function() { + var image = $(this), + imageWidth = image.width(), + imageHeight = image.height(), + imgSrc = image.attr('src'), + radius = Math.min(imageWidth, imageHeight) / 2, + uniqId = function() { + return Math.round(new Date().getTime() + (Math.random() * 100)); + }, + svgClipPathId = uniqId(); + image.replaceWith(''); + }); + }; +}(jQuery)); diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 48b3a9d9..d98193e7 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -4,7 +4,7 @@ body { background-color: rgba(0, 0, 0, 0.87) !important; } -@media (min-width: 1200px) { +@media (min-width: 500px) { body { overflow: hidden; } @@ -89,29 +89,15 @@ img { background-color: #391A3F; } -.circular { - width: 100px; - height: 100px; - position: relative; - overflow: hidden; - border-radius: 50%; -} - #current-track { - display: inline; - height: 110%; - width: 110%; + width: 80px; + height: auto; } .hidden-data { visibility: hidden; } -.songInput { - float: left; - margin: 1em; -} - .leftJustify { /*float: left;*/ text-align: center; @@ -197,10 +183,15 @@ img { } #play-pause-button { - height: 5%; - width: 5%; + height: 25px; + width: 25px; + color: rgba(0, 0, 0, 0.87) !important; +} + +#play-pause-button-player { + height: 30px; + width: 30px; color: rgba(0, 0, 0, 0.87) !important; - float: right; } .background{ position: absolute; From 0c3d80527e2d6c8dd2a9314c24e9cf340ecfdc20 Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Wed, 9 Oct 2019 23:09:20 -0400 Subject: [PATCH 76/88] Fixed play pause button issue when switching songs --- app.js | 2 +- public/js/createPlayer.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index 954c2164..6c633342 100644 --- a/app.js +++ b/app.js @@ -335,5 +335,5 @@ function isLoggedIn(req, res, next) { } //added in order to run the server -app.listen(process.env.PORT || 3000) +app.listen(process.env.PORT || 3001) module.exports = app diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index c9184f70..90f4000b 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -117,6 +117,12 @@ function togglePlayPause() { } function playSomeTrackID(track) { + + if(currentlyPlaying) { + let playPauseButton = document.getElementById("play-pause-button"); + playPauseButton.setAttribute('src', "images/pause.png"); + } + player.disconnect() console.log("player disconnected") console.log("trying to play " + track) From 9d7e0c46c930a8c9da66c8ae8409f618a98f9b74 Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Wed, 9 Oct 2019 23:39:05 -0400 Subject: [PATCH 77/88] clears the form when a recomendation is made --- public/home.html | 2 +- public/js/home.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/public/home.html b/public/home.html index 6ee0cc5c..0a11c9ea 100644 --- a/public/home.html +++ b/public/home.html @@ -57,7 +57,7 @@
- +
diff --git a/public/js/home.js b/public/js/home.js index eef6be96..7d3db7ea 100644 --- a/public/js/home.js +++ b/public/js/home.js @@ -1,5 +1,4 @@ const MAXIMUM_ENTRIES_LOADED = 25 -const refreshBtn = document.getElementById("refresh-btn") const addRecBtn = document.getElementById("add-rec-btn") const list = document.getElementById("recommendation-list") const recText = document.getElementById("exampleFormControlTextarea2") @@ -44,6 +43,16 @@ const addRecommendation = function () { document.getElementById("secretSongName").innerHTML = "-1" getRecommendations() }) + + document.getElementById("star5").checked = false; + document.getElementById("star4").checked = false; + document.getElementById("star3").checked = false; + document.getElementById("star2").checked = false; + document.getElementById("star1").checked = false; + document.getElementById("songName").value = ""; + recText.setAttribute('placeholder',"Write a note about the song here"); + recText.value = ""; + $("#songsTbody").empty(); } const getData = function () { From fe8b3592bf546cdbf06e2e6cd417b5c9f8589fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Borner?= Date: Thu, 10 Oct 2019 00:20:17 -0400 Subject: [PATCH 78/88] trying fixes --- public/js/createPlayer.js | 3 +-- public/stylesheets/style.css | 7 ++++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/public/js/createPlayer.js b/public/js/createPlayer.js index 19d0a7ba..927bbdc5 100644 --- a/public/js/createPlayer.js +++ b/public/js/createPlayer.js @@ -47,7 +47,6 @@ function createPlayerForSong(track) { $('#current-track-name').text(state.track_window.current_track.name) //edit this to incclude the whole atrists array? $('#current-track-artist').text(state.track_window.current_track.artists[0].name) - $("#current-track").roundImage() } }) @@ -88,7 +87,7 @@ function turningRecord(turn) { interval = setInterval(function () { console.log("interval") counter -= 1 - $("svg").css({ + $("#current-track").css({ MozTransform: 'rotate(-' + -counter + 'deg)', WebkitTransform: 'rotate(' + -counter + 'deg)', transform: 'rotate(' + -counter + 'deg)' diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index d98193e7..3a73888b 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -90,8 +90,13 @@ img { } #current-track { - width: 80px; height: auto; + width: 20%; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; } .hidden-data { From 05fe650f3e4c95bfedf90634f16c241dd2bbb0ca Mon Sep 17 00:00:00 2001 From: Caitlin Enright Date: Thu, 10 Oct 2019 00:23:55 -0400 Subject: [PATCH 79/88] Changed the rating stars to purple --- public/home.html | 58 +++++++----------------------------- public/stylesheets/style.css | 40 ++++++++++++++----------- 2 files changed, 34 insertions(+), 64 deletions(-) diff --git a/public/home.html b/public/home.html index c73ae55f..ae69a809 100644 --- a/public/home.html +++ b/public/home.html @@ -87,54 +87,18 @@
- - -
-
-
-
- - -
-
- - - -
-
- -
-
- - - - - - - - - - + -
-
- -
-
- +