From cad8ce36af1a95d6288f154d8aef88d1dee5507b Mon Sep 17 00:00:00 2001 From: Visoth Date: Thu, 18 Jul 2024 16:58:39 +0700 Subject: [PATCH] Working on add item and add supplier --- .gitignore | 3 +- Config/config.env | 3 + Config/relation.js | 12 ++ Controller/Authentication.js | 59 ++++----- Controller/Category.js | 117 +++++++++++++++++ Controller/Items.js | 124 +++++++++++++++++- Controller/Store.js | 12 +- Controller/Supplier.js | 52 ++++++++ Controller/User.js | 0 Middleware/auth.js | 14 ++ Model/CategoryDetailModel.js | 43 ++++++ Model/CategoryModel.js | 45 +++++++ Model/ItemModel.js | 15 ++- Model/StoreModel.js | 6 +- Model/SupplierModel.js | 83 ++++++++++++ app.js | 8 +- routes/category.js | 27 ++++ routes/item.js | 23 +++- routes/supplier.js | 9 ++ .../2024-07-16_09-24-43_Artboard 2.png | Bin 104290 -> 0 bytes 20 files changed, 600 insertions(+), 55 deletions(-) create mode 100644 Config/relation.js create mode 100644 Controller/Category.js create mode 100644 Controller/Supplier.js create mode 100644 Controller/User.js create mode 100644 Model/CategoryDetailModel.js create mode 100644 Model/CategoryModel.js create mode 100644 Model/SupplierModel.js create mode 100644 routes/category.js create mode 100644 routes/supplier.js delete mode 100644 upload/store/tmp_post/2024-07-16_09-24-43_Artboard 2.png diff --git a/.gitignore b/.gitignore index b512c09..f2c50db 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -node_modules \ No newline at end of file +node_modules +uploads \ No newline at end of file diff --git a/Config/config.env b/Config/config.env index 1e8dfea..9869091 100644 --- a/Config/config.env +++ b/Config/config.env @@ -9,6 +9,9 @@ APP_CODE=POS STORE_IMAGE_LOCATION = uploads/store_image/ USER_IMAGE_LOCATION = uploads/user_image/ +ITEM_CATEGORY_LOCATION=uploads/item_category/ +ITEM_CATEGORY_DETAIL_LOCATION = uploads/item_category/category_detail/ +ITEM_IMAGE_LOCATION = uploads/item/ ADMIN_USERNAME=bcsa ADMIN_PASS=Bc@dmin \ No newline at end of file diff --git a/Config/relation.js b/Config/relation.js new file mode 100644 index 0000000..7199458 --- /dev/null +++ b/Config/relation.js @@ -0,0 +1,12 @@ +const CATEGORY = require('../Model/CategoryModel'); +const CATEGORY_DETAIL = require('../Model/CategoryDetailModel'); + +module.exports = async () => { + + CATEGORY.hasMany(CATEGORY_DETAIL, { + foreignKey: 'CATE_ID' + }); + CATEGORY_DETAIL.belongsTo(CATEGORY_DETAIL, { + foreignKey: 'CATE_ID' + }); +} \ No newline at end of file diff --git a/Controller/Authentication.js b/Controller/Authentication.js index 6353dae..34f5e29 100644 --- a/Controller/Authentication.js +++ b/Controller/Authentication.js @@ -8,10 +8,11 @@ const StoreInfo = require("../Model/StoreModel") const DataModel = require("../Model/TD_DATA"); const UserModel = require("../Model/User"); const sequelize = require("sequelize"); +const { log } = require("winston"); // Login User exports.login = asyncHandler(async (req, res, next) => { - const { username, password, DB_CODE, APP_CODE = 'MBN', CUST_CODE } = req.body + const { username, password, DB_CODE, APP_CODE = 'POS', CUST_CODE } = req.body console.log("USERNAME ", username) console.log("PASSWORD ", password) console.log("DB CODE ", DB_CODE) @@ -76,11 +77,15 @@ exports.login = asyncHandler(async (req, res, next) => { var app = await AppModel.findOne({ where: { APP_CODE: process.env.APP_CODE, - USER_ID: user.USER_ID + USER_ID: user.USER_ID, + DB_CODE: DB_CODE }, order: [['USER_ID']], }) - console.log("APP ", app) + console.log(">>>>>>> APP : ", app) + console.log(">>>>>>> APP : ", process.env.APP_CODE) + console.log(">>>>>>> APP : ", user.USER_ID) + console.log(">>>>>>> APP : ", DB_CODE) if (!app) { throw "You're not allowed to use this app" @@ -101,29 +106,18 @@ exports.login = asyncHandler(async (req, res, next) => { ) } - // var customer; - // if (user.USER_TYPE == "C") { - // customer = await Customer.findOne({ - // attributes: { - // exclude: ['PICTURE'], - // }, - // where: { - // ADD_CODE: user.FIELD_0 - // }, - // include: [ - // { - // attributes: { - // exclude: ["IMAGE"], - // }, - // model: Market, - // }, - // { - // model: CustomerAnalysis - // }, - // ], - // }) - - // } + var store = await StoreInfo.findOne({ + where: { + DB_CODE: app.DB_CODE, + DB_STAT: "A" + }, + raw: true + }) + console.log("STORE ", store) + + if (!store) { + throw "Store not found or disabled" + } if (!token) { throw "Something Went Wrong" @@ -198,9 +192,6 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { console.log("IS ALLOWED ", isAllowed) - // updated : 2021-09-15 - // for POS the table TDMSAPP DB_CODE = ST_CODE - if (isAllowed.length == 0) { return next(new ErrorResponse("User is not allowed to use this app", 403)) } else { @@ -209,20 +200,21 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { user.PRESETS = {} - // GET Store Name from SDSTINFO by using ST_CODE from APP_MODEL + // GET Store Name from SDSTINFO by using DB_CODe from APP_MODEL await Promise.all(isAllowed.map(async (app) => { console.log((">>>>>>> APP DB CODE", app)) - const { ST_NAME } = await StoreInfo.findOne({ + const { DB_NAME } = await StoreInfo.findOne({ where: { - ST_CODE: app.DB_CODE + DB_CODE: app.DB_CODE, + DB_STAT: "A" }, raw: true }) - const DBName = app.DB_CODE + ' - ' + ST_NAME + const DBName = app.DB_CODE + ' - ' + DB_NAME if (!user.PRESETS[DBName]) { user.PRESETS[DBName] = [] } @@ -238,6 +230,7 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { user.PRESETS[DBName].push(userPresets) } })) + user.profile_image = "uploads/store_image/" + user.USER_ID + ".jpg" res.status(200).send( JSON.stringify(user) diff --git a/Controller/Category.js b/Controller/Category.js new file mode 100644 index 0000000..7c2ab78 --- /dev/null +++ b/Controller/Category.js @@ -0,0 +1,117 @@ +const asyncHandler = require("../Middleware/async"); +const sequelize = require('sequelize') +const CategoryModel = require("../Model/CategoryModel"); +const CategoryDetailModel = require("../Model/CategoryDetailModel"); +const ErrorResponse = require("../utils/errorResponse"); +const SuccessResponse = require("../utils/successResponse"); +const db = require("../Config/db") +const fs = require('fs') +const dotenv = require('dotenv') +const dateFormat = require("dateformat"); + +const Location = process.env.ITEM_CATEGORY_LOCATION; +const Detail_Location = process.env.ITEM_CATEGORY_DETAIL_LOCATION; + + +exports.getAllCategoryOfStore = asyncHandler(async (req, res, next) => { + try { + var categories = await CategoryModel.findAll({ + where: { + DB_CODE: req.user.DB_CODE + } + }) + + const categoryData = categories.map(category => { + let categoryObject = category.get({ plain: true }); + categoryObject.image = `${Location}${req.user.DB_CODE}_${category.ID}.jpg`; + return categoryObject; + }); + + + res.status(200).json({ + success: true, + data: categoryData + }) + } catch (e) { + console.log("ERROR : ", e) + return next(new ErrorResponse(e, 500)); + } +}) + +exports.createCategory = asyncHandler(async (req, res, next) => { + + if (!req.files) { + return next(new ErrorResponse("Please upload a file", 400)) + } + if (!req.body.data) { + return next(new ErrorResponse("Please provide data", 400)) + } + var data = JSON.parse(req.body.data) + console.log("DATA : ", data) + var date = dateFormat(new Date(), "yyyy-mm-dd") + + if (!data.DESC_KH || !data.DESC_EN) { + return next(new ErrorResponse("Please provide all required fields", 400)) + } + + try { + + + const category = await CategoryModel.create({ + DB_CODE: req.user.DB_CODE, + ANALYSIS_ID: "", + DESC_KH: data.DESC_KH, + DESC_EN: data.DESC_EN, + DESC_CN: data.DESC_CN, + CREATED_DATE: date, + CREATED_BY: req.user.USER_ID, + STATUS: 1 + }) + + const fileName = Location + req.user.DB_CODE + "_" + category.ID + ".jpg"; + + fs.copyFileSync(req.files.photo[0].path, fileName); + fs.unlinkSync(req.files.photo[0].path); + res.send(new SuccessResponse("Operation Successful")); + + } catch (e) { + console.log("ERROR : ", e) + fs.unlinkSync(req.files.photo[0].path); + return next(new ErrorResponse("Server Error", 500)); + } + +}) + +exports.createCategoryDetail = asyncHandler(async (req, res, next) => { + if (!req.files || !req.files.photo) + return next(new ErrorResponse("Please input photo file", 403)); + if (!req.body.data) + return next(new ErrorResponse("Please input data json", 403)); + var data = JSON.parse(req.body.data); + var date = dateFormat(new Date(), "yyyy-mm-dd HH:MM:ss"); + + try { + const cateDetail = await CategoryDetailModel.create( + { + DB_CODE: req.user.DB_CODE, + CATE_ID: data.CATE_ID, + ANALYSIS_ID: "", + DESC_KH: data.DESC_KH, + DESC_EN: data.DESC_EN, + DESC_CN: data.DESC_CN, + CREATED_DATE: date, + CREATED_BY: req.user.USER_ID, + STATUS: 1 + } + ); + + const fileName = Detail_Location + req.user.DB_CODE + "_" + cateDetail.ID + ".jpg"; + fs.copyFileSync(req.files.photo[0].path, fileName); + fs.unlinkSync(req.files.photo[0].path); + res.send(new SuccessResponse("Operation Successful")); + } catch (e) { + console.log("ERROR : ", e) + fs.unlinkSync(req.files.photo[0].path); + return next(new ErrorResponse(e, 500)); + } +}) \ No newline at end of file diff --git a/Controller/Items.js b/Controller/Items.js index bcda4ca..c3f41c0 100644 --- a/Controller/Items.js +++ b/Controller/Items.js @@ -3,11 +3,17 @@ const sequelize = require('sequelize') const DBInfo = require("../Model/Database"); const ItemModel = require("../Model/ItemModel"); const ErrorResponse = require("../utils/errorResponse"); +const fs = require('fs') +const dateFormat = require("dateformat"); + +exports.getAllItemsByStore = asyncHandler(async (req, res, next) => { -exports.getAllItems = asyncHandler(async (req, res, next) => { - console.log("GET ITEM INFO EXEC ") try { - let items = await ItemModel.findAll() + let items = await ItemModel.findAll({ + where: { + DB_CODE: req.user.DB_CODE + } + }) console.log("ITEMS ", items) if (!items) { return next(new ErrorResponse("No item found", 400)); @@ -21,5 +27,115 @@ exports.getAllItems = asyncHandler(async (req, res, next) => { return next(new ErrorResponse(err, 400)); } +}) + +exports.createItemByStore = asyncHandler(async (req, res, next) => { + try { + + var date = dateFormat(new Date(), "yyyy-mm-dd HH:mm:ss") + + const data = JSON.parse(req.body['data']); + const items = data['items']; + var photo = req.file.path + let imageData = fs.readFileSync(req.file.path) + + const itemCode = items['ITEM_CODE']; + const itemBarCode = items['ITEM_BCODE'] + const itemDes = items['ITEM_DESC']; + const unitStock = items['UNIT_STOCK'] ?? '1'; + const unitSale = items['UNIT_SALE'] ?? '1'; + const catCode = items['CAT_CODE']; // CAT_CODE -> CAT_DETAIL_ID + + const itemCost1 = items['ITEM_COST1']; + const itemPrice1 = items['ITEM_PRICE1']; + + if (!itemCode || !itemBarCode || !itemDes || !unitStock || !unitSale || !catCode || !itemCost1 || !itemPrice1) { + throw ("Please provide all required fields"); + } + + const existingItem = await ItemModel.findOne({ + where: { + ITEM_CODE: itemCode, + DB_CODE: req.user.DB_CODE + } + }); + + if (existingItem) { + throw (`ITEM_CODE ${itemCode} already exists`); + } + + console.log("DATE : ", date) + + const item = await ItemModel.create({ + ITEM_CODE: itemCode, + ITEM_BCODE: itemBarCode, + ITEM_DESC: itemDes, + DB_CODE: req.user.DB_CODE, + UNIT_STOCK: unitStock, + UNIT_SALE: unitSale, + CAT_CODE: catCode, + ITEM_STAT: "A", + USER_CREA: req.user.USER_ID, + DATE_CREA: date.toString(), + ITEM_TYPE: "S", // S -> Kit Stock N -> Min Kit Stock I-> ដំណើរការទំនិញ + ITEM_PRICE1: itemPrice1, + ITEM_COST1: itemCost1, + ITEM_COST2: 0, + ITEM_PRICE2: 0, + ITEM_CUS1: "", + ITEM_CUS2: "", + ITEM_CUS3: "", + ITEM_CUS4: "", + ITEM_CUS5: "", + ITEM_CUS6: "", + ITEM_CUS7: "", + ITEM_CUS8: "", + ITEM_CUS9_KH: "", + ITEM_CUS10_KH: "", + USER_UPDT: req.user.USER_NAME, + DATE_UPDT: date, + }) + + + let folderPath = process.env.ITEM_IMAGE_LOCATION + "/" + req.user.DB_CODE + "/" + if (!fs.existsSync(folderPath)) fs.mkdirSync(folderPath, { + recursive: true, + }) + + + fs.writeFileSync(folderPath + item.ITEM_CODE + '.jpg', imageData) + fs.unlinkSync(req.file.path) + + res.status(200).send({ + success: true, + data: item + }) + } catch (err) { + console.log("ERROR CREATE ITEM", err) + fs.unlinkSync(req.file.path) + return next(new ErrorResponse(err, 400)); + } +}) + -}) \ No newline at end of file +exports.checkIfItemExist = asyncHandler(async (req, res, next) => { + try { + const item = await ItemModel.findOne({ + where: { + ITEM_CODE: req.params.item_code, + DB_CODE: req.user.DB_CODE + } + }) + if (!item) { + return next(new ErrorResponse("Item not found", 400)); + } + res.status(200).send({ + success: true, + data: item + }) + } catch (err) { + console.log("ERROR CHECK ITEM", err) + return next(new ErrorResponse(err, 400)); + } +} +) \ No newline at end of file diff --git a/Controller/Store.js b/Controller/Store.js index d0892a3..8d96727 100644 --- a/Controller/Store.js +++ b/Controller/Store.js @@ -54,7 +54,7 @@ exports.registerStore = asyncHandler(async (req, res, next) => { // check whether store name is existing const existingStore = await StoreModel.findOne({ - where: { ST_NAME: store_name } + where: { DB_NAME: store_name } }) if (existingStore) { @@ -82,9 +82,9 @@ exports.registerStore = asyncHandler(async (req, res, next) => { const nextStoreCode = await generateNextStoreCode() let store = await StoreModel.create( { - ST_CODE: nextStoreCode, - ST_NAME: store_name, - ST_STAT: 'A', + DB_CODE: nextStoreCode, + DB_NAME: store_name, + DB_STAT: 'A', DATE_CREA: date, DATE_UPDT: date, DATE_FORMAT: "MM/dd/yyyy", @@ -172,7 +172,7 @@ exports.registerStore = asyncHandler(async (req, res, next) => { async function generateNextStoreCode() { const lastStore = await StoreModel.findOne({ - order: [['ST_CODE', 'DESC']] + order: [['DB_CODE', 'DESC']] }); if (!lastStore) { @@ -180,7 +180,7 @@ async function generateNextStoreCode() { } // use regex to separate letters and numbers - let [letters, numbers] = lastStore.ST_CODE.match(/[A-Z]+|\d+/g); + let [letters, numbers] = lastStore.DB_CODE.match(/[A-Z]+|\d+/g); // letters -> AA , numbers -> 001 numbers = parseInt(numbers); diff --git a/Controller/Supplier.js b/Controller/Supplier.js new file mode 100644 index 0000000..76e8fc6 --- /dev/null +++ b/Controller/Supplier.js @@ -0,0 +1,52 @@ +const asyncHandler = require("../Middleware/async"); +const sequelize = require('sequelize') +const db = require('../Config/db') +const SupplierModel = require('../Model/SupplierModel') +const ErrorResponse = require('../utils/ErrorResponse') +const fs = require('fs'); + + +const dateFormat = require('dateformat'); + +exports.getAllSupplier = asyncHandler(async (req, res, next) => { + try { + const supplier = await SupplierModel.findAll({ + where: { + DB_CODE: req.user.DB_CODE + } + } + ) + res.status(200).send({ + success: true, + data: supplier + }) + } catch (e) { + throw new ErrorResponse(e, 400) + } +}) + +exports.createSupplier = asyncHandler(async (req, res, next) => { + const data = JSON.parse(req.body.data) + + if (!data.ADD_NAME || !data.ADD_CODE || !data.phoneNumber) { + throw new ErrorResponse('Please provide all required fields', 400) + } + + try { + data.DB_CODE = req.user.DB_CODE + const supplier = await SupplierModel.create({ + DB_CODE: req.user.DB_CODE, + USER_CODE: req.user.USER_NAME, + ADD_NAME: data.ADD_NAME, + ADD_CODE: data.ADD_CODE, + ADD_LINE_1: data.addressLine1, + + }) + res.status(200).send({ + success: true, + data: supplier + }) + } catch (e) { + throw new ErrorResponse(e, 400) + } +}) diff --git a/Controller/User.js b/Controller/User.js new file mode 100644 index 0000000..e69de29 diff --git a/Middleware/auth.js b/Middleware/auth.js index 6673aa3..ac7d140 100644 --- a/Middleware/auth.js +++ b/Middleware/auth.js @@ -3,6 +3,7 @@ const asyncHandler = require('./async') const ErrorResponse = require("../utils/errorResponse") const dotenv = require("dotenv") const UserModel = require("../Model/User") +const StoreModel = require("../Model/StoreModel") const { raw } = require('express') //Require Dotenv @@ -21,6 +22,7 @@ exports.protect = asyncHandler(async (req, res, next) => { } try { + console.log("TOKEN ", token) const decoded = jwt.verify(token, process.env.JWT_SECRET) console.log("decode : ", decoded) @@ -74,11 +76,23 @@ exports.protect = asyncHandler(async (req, res, next) => { return next(new ErrorResponse("User disabled", 400)); } + let store = await StoreModel.findOne({ + where: { + DB_CODE: decoded.dbCode, + DB_STAT: 'A' + } + }) + + if (!store) { + return next(new ErrorResponse("Store not found or disabled. Please try again", 400)) + } + let preset = null let typeId = "" let saleType = "" let warehouse = "" console.log("USER ", req.user) + req.user.DB_CODE = decoded.dbCode next() } catch (err) { diff --git a/Model/CategoryDetailModel.js b/Model/CategoryDetailModel.js new file mode 100644 index 0000000..57c70f2 --- /dev/null +++ b/Model/CategoryDetailModel.js @@ -0,0 +1,43 @@ +const sequelize = require('sequelize') +const db = require("../Config/db") + +const CategoryDetail = db.define( + "TD_CATEGORY_DETAIL", + { + ID: { + type: sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + CATE_ID: { + type: sequelize.INTEGER, + }, + ANALYSIS_ID: { + type: sequelize.STRING, + }, + DESC_KH: { + type: sequelize.STRING, + }, + DESC_EN: { + type: sequelize.STRING, + }, + DESC_CN: { + type: sequelize.STRING, + }, + CREATED_DATE: { + type: sequelize.STRING, + }, + CREATED_BY: { + type: sequelize.STRING, + }, + STATUS: { + type: sequelize.STRING, + }, + }, + { + timestamps: false, + freezeTableName: true, + } +); +CategoryDetail.removeAttribute("id"); +module.exports = CategoryDetail; \ No newline at end of file diff --git a/Model/CategoryModel.js b/Model/CategoryModel.js new file mode 100644 index 0000000..700a2df --- /dev/null +++ b/Model/CategoryModel.js @@ -0,0 +1,45 @@ +const sequelize = require('sequelize') +const db = require("../Config/db") + +const Category = db.define( + "TD_CATEGORY", + { + ID: { + type: sequelize.INTEGER, + primaryKey: true, + autoIncrement: true + }, + DB_CODE: { + type: sequelize.STRING + }, + ANALYSIS_ID: { + type: sequelize.STRING + }, + DESC_KH: { + type: sequelize.STRING + + }, + DESC_EN: { + type: sequelize.STRING + }, + DESC_CN: { + type: sequelize.STRING + }, + CREATED_DATE: { + type: sequelize.STRING + }, + CREATED_BY: { + type: sequelize.STRING + }, + STATUS: { + type: sequelize.INTEGER + } + + }, { + timestamps: false, + freezeTableName: true, +} +); + +Category.removeAttribute('id'); +module.exports = Category; \ No newline at end of file diff --git a/Model/ItemModel.js b/Model/ItemModel.js index d0cf170..56c7800 100644 --- a/Model/ItemModel.js +++ b/Model/ItemModel.js @@ -8,6 +8,9 @@ const ItemModel = db.define( type: sequelize.STRING, primaryKey: true }, + DB_CODE: { + type: sequelize.STRING + }, ITEM_BCODE: { type: sequelize.STRING }, @@ -24,21 +27,21 @@ const ItemModel = db.define( }, ITEM_COST1: { - type: sequelize.INTEGER + type: sequelize.NUMERIC }, ITEM_PRICE1: { - type: sequelize.INTEGER + type: sequelize.NUMERIC }, UNIT_SALE: { type: sequelize.STRING }, ITEM_COST2: { - type: sequelize.INTEGER + type: sequelize.NUMERIC }, ITEM_PRICE2: { - type: sequelize.INTEGER + type: sequelize.NUMERIC }, CAT_CODE: { @@ -82,13 +85,13 @@ const ItemModel = db.define( type: sequelize.STRING }, DATE_CREA: { - type: sequelize.DATE + type: sequelize.STRING }, USER_UPDT: { type: sequelize.STRING }, DATE_UPDT: { - type: sequelize.DATE + type: sequelize.STRING }, ITEM_IMG: { type: sequelize.BLOB, diff --git a/Model/StoreModel.js b/Model/StoreModel.js index 8a1cc47..81d1dc3 100644 --- a/Model/StoreModel.js +++ b/Model/StoreModel.js @@ -4,11 +4,11 @@ const db = require('../Config/db') const StoreModel = db.define( 'TDSTINFO', { - ST_CODE: { + DB_CODE: { type: sequelize.STRING, primaryKey: true }, - ST_NAME: { + DB_NAME: { type: sequelize.STRING }, DATE_DEFAULT: { @@ -29,7 +29,7 @@ const StoreModel = db.define( THO_SEP: { type: sequelize.CHAR }, - ST_STAT: { + DB_STAT: { type: sequelize.CHAR }, USER_CREA: { diff --git a/Model/SupplierModel.js b/Model/SupplierModel.js new file mode 100644 index 0000000..7548b9c --- /dev/null +++ b/Model/SupplierModel.js @@ -0,0 +1,83 @@ +const sequelize = require('sequelize') +const db = require('../Config/db') + +const SupplierModel = db.define( + 'TDADDR', + { + ADD_CODE: { + type: sequelize.STRING, + primaryKey: true + }, + ADD_LOOKUP: { + type: sequelize.STRING + }, + ADD_NAME: { + type: sequelize.STRING + }, + ADD_LINE_1: { + type: sequelize.STRING + }, + ADD_LINE_2: { + type: sequelize.STRING + }, + ADD_LINE_3: { + type: sequelize.STRING + }, + ADD_LINE_4: { + type: sequelize.STRING + }, + ADD_LINE_5: { + type: sequelize.STRING + }, + ADD_TEL: { + type: sequelize.STRING + }, + ADD_FAX: { + type: sequelize.STRING + }, + ADD_EMAIL: { + type: sequelize.STRING + }, + ADD_WEB: { + type: sequelize.STRING + }, + ADD_CONT: { + type: sequelize.STRING + }, + ADD_COM_1: { + type: sequelize.STRING + }, + ADD_COM_2: { + type: sequelize.STRING + }, + ADD_STAT: { + type: sequelize.CHAR + + }, + ADD_TYPE: { + type: sequelize.CHAR + }, + TRANS_PRES: { + type: sequelize.CHAR + + }, + USER_CREA: { + type: sequelize.STRING + }, + USER_UPDT: { + type: sequelize.STRING + + }, + USER_CODE: { + type: sequelize.STRING + }, + }, + { + timestamps: false, + freezeTableName: true, + } +) + + +SupplierModel.removeAttribute('id') +module.exports = SupplierModel; \ No newline at end of file diff --git a/app.js b/app.js index 4cf0a59..36c251a 100644 --- a/app.js +++ b/app.js @@ -11,6 +11,8 @@ dotenv.config({ path: "./Config/config.env", }) +require("./Config/relation")(); + // //Route Files var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); @@ -18,7 +20,9 @@ var authenticationRouter = require('./routes/authentication') var dbInfoRouter = require('./routes/db') var itemRouter = require('./routes/item') var storeRouter = require('./routes/store') +var categoryRouter = require('./routes/category') var subscriptionRouter = require('./routes/subscription') +var supplierRouter = require('./routes/supplier') //CORS @@ -40,7 +44,7 @@ app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); -app.use("/upload", express.static("upload")); +app.use("/uploads", express.static("uploads")); app.use('/', indexRouter); app.use('/users', usersRouter); @@ -51,6 +55,8 @@ app.use("/api/v1/database", dbInfoRouter) app.use("/api/v1/item", itemRouter) app.use("/api/v1/store", storeRouter) app.use("/api/v1/subscriptions", subscriptionRouter) +app.use("/api/v1/category", categoryRouter) +app.use("/api/v1/supplier", supplierRouter) diff --git a/routes/category.js b/routes/category.js new file mode 100644 index 0000000..710c57d --- /dev/null +++ b/routes/category.js @@ -0,0 +1,27 @@ +const express = require("express"); +const route = express.Router(); +const controller = require("../Controller/Category"); +const { protect } = require("../Middleware/auth"); +const multer = require("multer"); +const moment = require("moment"); +var storage = multer.diskStorage({ + destination: function (req, file, cb) { + if (file.fieldname == "photo") cb(null, "uploads/item_category/tmp_post"); + }, + + filename: function (req, file, cb) { + cb( + null, + moment(Date.now()).format("YYYY-MM-DD_HH-mm-ss_") + file.originalname + ); + }, +}); +var upload = multer({ storage: storage }); + +route.route("/").get(protect, controller.getAllCategoryOfStore); + +route.route("/").post(protect, upload.fields([{ name: "photo", maxCount: 1 }]), controller.createCategory); + +route.route("/category_detail").post(protect, upload.fields([{ name: "photo", maxCount: 1 }]), controller.createCategoryDetail); + +module.exports = route; \ No newline at end of file diff --git a/routes/item.js b/routes/item.js index 312fd19..159219a 100644 --- a/routes/item.js +++ b/routes/item.js @@ -3,6 +3,27 @@ const route = express.Router() const controller = require("../Controller/Items") const { protect } = require("../Middleware/auth") -route.route("/").get(protect, controller.getAllItems) +const multer = require("multer"); +const moment = require("moment"); +var storage = multer.diskStorage({ + destination: function (req, file, cb) { + if (file.fieldname == "item_image") cb(null, "uploads/item/tmp_post"); + }, + + filename: function (req, file, cb) { + cb( + null, + moment(Date.now()).format("YYYY-MM-DD_HH-mm-ss_") + file.originalname + ); + }, +}); + +var upload = multer({ storage: storage }); + +route.route("/").get(protect, controller.getAllItemsByStore) + +route.route("/").post(upload.single("item_image"), protect, controller.createItemByStore) + +route.route("/checkExistItem").post(protect, controller.checkIfItemExist) module.exports = route; \ No newline at end of file diff --git a/routes/supplier.js b/routes/supplier.js new file mode 100644 index 0000000..c144b6b --- /dev/null +++ b/routes/supplier.js @@ -0,0 +1,9 @@ +const express = require("express"); +const route = express.Router(); +const controller = require("../Controller/Supplier"); +const { protectAtlogin, protect } = require("../Middleware/auth"); + +route.route('/').get(protect, controller.getAllSupplier) +// route.route('/id').post(protect, controller.getSubscriptionByID) + +module.exports = route; \ No newline at end of file diff --git a/upload/store/tmp_post/2024-07-16_09-24-43_Artboard 2.png b/upload/store/tmp_post/2024-07-16_09-24-43_Artboard 2.png deleted file mode 100644 index f1bd1e67e270525f31709366ac727f3837a79b8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104290 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�it-Y|@Y? z6FvF7MY%HH`TK+;PN5a@UG9vK5o~TO7zlCs{Grtk<&W^lao`2cg4fP*$I}H>CjTDm zJ$jX27y?@}E)zz!yeCw-2tj3tk>4uCd4&z$DATz#3Egdzs_=UTy=mo$8dYPW!#2~i zf75X{q#AsvBRhc0s2~Aaj#Tg<33mO+q~eu7Ub#8+W9t2Bz6+hM9WdtKWZr7%pPn(6 z*Q8#MV{LA~*I#8CqSWD9MpW=?pOBi-+Cg-B^ZKR9CUM$ZvJD(+$-(OBpw{arcXA`W z$`-Cc*W)6}gaH(?J*@)xMk{j1c{!g_4;hQT{6IpZIdPao*m=FB(3Mq|Rp{dB2m45V&1fY*>Uk->w{SAoWo>2O{{KGuyBg-U1>!rc# zfu5k5DO;PW?vW&I=6*42{LlP0FSmW3eyb06s5)K&7Gm@OJpH)Od8hUBy^KZtLd zaK+KDB7=ecflSC*&xO}5yLn3}rQIb4g|nTN+VG8t=?Wk_HC>1tiOy;B$;*vEw@E#8 zuKWEP=3#=ooq0Csfx4Y)2Hp?ZkzL%cj~jy38M8majH*2!v>rvguPsCTg2j@@`u$Z~ z9((DprjFR+{@ECQ>#2IOd1B%?4cv-e^Yx=Sm+T+OvSeoA$c!W zmaM!t6Z_vZ>0Dl5bMPM?AXe`W4q~vGZUpeT%V#R36wv$7T@FWC-L>&gBvK z?3Vh(&R6D2=VN+O_;(fYjkuNT*vujx$HGoT%A?pa5)HLmm3PaGIVabKBKnhFe*M$dsq(Lt4cD&Jr`sxx3cK%xWtCfbk?%nsS1|oJ=bwG^ zKklI6jl}*GFsY2}CiZ^ZPM+0^WD8OY)lp2v-hAyvj69kC`;!Sgiauz&QDN5P5D2fQ z3;o8p?eU&^Z+k0KcT5k-{gOyf_&OG`*U;*At`-<0e>k|`@JeHEcXG%Fd=r5ab)hO| zrig~WQPc?p-zJe)-a2Ek=)3e6trxBOA=JbTz_@&WWDvn+oyY*e&!AX~P+kte(Z7ACR<4ob8Y+Fd!=v=uT-dF-6*W4dWNiK&fA8Bx#f(zclk4~U z?H^%+TR*G%uh%ZoPfGRwuCn;*x`&zxLkNjtOs-+2w;fC!9X2Enaz`Z^pCe8eL@!!g zmOg3T<~8va9<+o-K380rz9CzhQ%6xUlC4 zk+Vksuz!T76thzRy!46E#cp0jrvuNCe<l5He zQ*z|{t7c6(HwR+cxrYn9!6XN`_(*ygqNCsskK;1oou|E2Y`iO>OM;Jj6Nn#e4tbNjpj@Q{es&xzh6l>F%OMXgC31ui z1NUCCmtI(sx(ct2vj5MNay*qf@uQ2`9Xe)9mw4q`54jwp+fe>A-)IeSx)x}`6mRBq zT{z=F@fRkVU*(qfV?w5;YfV1b{HXtXr*g_>&W7<^g?dk!Fk{4o)UO>+Qee zUfVx}Kh9}&_wWevcq%`;br{h)y)c`7w!`TO-tRh9Mal&vB4*F)dJ$uWx(3*r92z>3 z?XP;wTT7UC(=BnIoYNk>D#Tx|;T^!1dEpAKF&_FB*st z91E;e8hqao@!uaDzkxx?`OTxBrBm=F^@T!l($t=G?n?EQwRyD9{XlK&GypNZ+o)t!{WPOEz%QorlRjgG2+D@- zk78MYSzysm38DcSM^GIv)2%29d|u$S=K{Jb3)hf8Q#br%d8)@E>R{QEy=}~2N`>&_{f4dU8o@0#YJAy+>8?2eJ%~7A<#EiT{1Z+( z=M!RR22l*c+7!Efqe>2$zVi1ZxW%NlC@dy!tKtl&EkuB)#hzN>npC+8O*XgE0Mzdz%J@lLO3Lf&any^9a; zeKtO7Nb7IbN1!|Okl}m9gj0g;M|CoUi82Z{%gR0+_0G#5j(stWvhgS=R^<&mUcN>t zW%3F6R@I?sh<=%|$K*XFwn&fpP?=%q&#<`Jvwh^u*Wg=2NYI-+w`axTB&3!{ix^4H zr6Yw!y?R^Q+>*I7Nmr!?tRMhCKZ*hp`=EKDRp|#4vg^5!u@O>%7*brXS10=ZF-tWR z8aGJ$BEHPTw`ZPZDlxAb4O5qdeHf>9u6d4Rk8aI>j!cr)UMVLS;OxZWCLEpGd19bA zHi=UO`P#G#lMB__aDH!(+WjHQ0oSdLYlHe6Q%$tne@{iv7QX$nuDTBqA;2W-_cv#s z8x~wU>93*Bq+C^s12^?SXNC`KBBgz`HDtrBOpI5@?VJCprN>^NCZs2o+Ef#QY#7S6 zXKIUxk|fN3s)nfX3Rpe#WWwti(X|HB);;D+u(0nMU$x19`V`6plo)?9R~p>;%6ve? zn6r^}1}A|&4Jb$UaEiq0{o zS)T5X6_#Ej&7)Tb(i+ust!?!o8J~@JYC8)YwS|F!z$-JX`#mU6Sa9m)5H$O^+wu)b z#0SB_(HTox)1;C0RGZ8mi@5u=v^}?iA7?Y3)9hEPEh6I(c@H5gvHNxS2KdL84RQki z7)Q4NPg4wwU8RgHWF$JG^_#AWA2p%QF$wzb&vv?EBZ2|t~f?o@^rf6{q#Q$l!s0!kE;Tx23`v*hC zwKG>|*wk|*{CaJC`J{kCo#nYny^&OUj<+OC%w>b=#HL>F&b&vF05YCs^GCW$Ycq`* z097=i8fNAd7CM^6S)}n2F-l_|5j9g)8LvqbfvqzN`D_43jc)>UFHb_p3P`K$_-`9C ztF0<7b^euWUk)j~mRNq{UJHeqzKBQgRi48-q<=qLKlEhND8|e<-!g4EoVH$vGCYJ7 z9)1*CfAB7^*rgSt7In{64Ewlo;%oc8{W!Ecvz_Vo4A0=FkHDK_G0*eFb75pI(f?Mu zK#4uvZT8{3)Qyjlo-Ar8Qp=*~cop7Ka2d^m-!CG3jv{t;QpKCF-MO2KhRrJ8V2!GQ z;xwvnQmsGWqXcOA1plul-i)Cox1_=J83pQ;FF5Fy(q%x!sV&Y{>O9?6+y1- zKu72OaR~cc^zGx5CU9F=4h`hA(-RQ&Ds?inMp?r#BJ>o86;$a4y<<>ewwQ z)|aJ9{Br_?JeN(){QUP|-hv4bX7^^#Mha#$K)3zPe}2!5|MrN0UvU=~U;Z+5BW?p&QUsa^_uWVs2V2@qinXTWZ_b>=T#I4lg)6lTrX^ zCK7}fWBT?%1g2ev$o%9s;$nn*_z%aGH?emsQCfrLY~Kl*%zcPqdfd)yv5 z{Ob$y9%_LOfp;2A-5if){D<3++go_J+ZMjS1iPhB?q{iq{~Nc^@>7V;kO_1orYa7O zi{{2QH>11wrzD4`YtNUW({Nq=Lwfj+oxs3#{V_UVmEsntg13%&z+3jWF}Jt4YEWOu zT9$sf3$EX#c2$SdI$~(Ay|yWCzfH`8JB~fNX$=A$1Pue;Z{y)PI~#1tVA?BZB_;hm z#^Z-o7hoF2pco7b6X+0nKtiU@H^m)>nf_X}Uw#qX8Fp#v)HY_=b_3%u>qe0r#hGfOF!lI1}?8bGvcAf4TE zs}2wXp!tui&q&3l%wsfBbP?IEst*->m=BghkB#&eN*5&@=p=!oI0RK}Y&=WFbf=k4 z5ZVQxFKo{-6YG5b2Ov&{sM_=Nr~+rCi3Gmrw#dhKOr?VXB&6K&FCh33uZJg@X~$+J zfbK^zUW~OAC&4ouw!QmF(nBkZBL#OuRhjDp+JSJfDRy-|Pg_PKnQ-ZdlI~G$`7val zhMw2-_mWiFou9tSaB<+u8D7+NTRzFwXg_%DbLPE7&?%&LUCFS~F~cD5S@qgh*XWoo zy&<+1jUeR3&7KGJw)<1IqG2PF(GCKvQ9nkk-9q)S4#h^;eh!U942x`jkWqG<1_Yo~ zDOHg-Vyw89skDBJ_?j<4n&p+79GRNN04tw&-B0cQF+0Tznub1LD1ApG#-Bg{jQ_C8 z>|yELOhDY&oF>xM!d7x>VBDTd3N9*&EN-EcQMof!Ntd}qzTpWE?j)mOV8h*4r-y*7 z8)kwq%^-L0T8?ee9i5P&3YCe&^Y zKR|vf#U*=*$*dOMj|)1{%;9}lqSQ0j=S24{8dZB0`>uUt91ytjtdM=iEhf*_!AtbN zE!)}_o!%VXQZ?kkmtX#$rNZL2Pg6$bPwNuTZgB7=?*&ag(U&55$cSHj!croEV+f1= zXYqn)&SG}Yh!o0_^*~bDeYWbjflbk<^UEEQGh)zNfU$3F$`|(Fy_gx%)Oj*pT4La# zriC^0woREdR&~cY;#<9t=03jQHnyB@xF9geU!-jfSS9dyb?@JGFDbF^;em&=kpJg+ z_6hH);k;RNpF|!I>BKHG)vfS#@d6xErLKe_)=Di+6T5Xw z<|t(uP6Pnf9{CG$ule53P3V#$DF9cht1#Zm=tYHe<-}!_d!4>-YknFrC;M$d z+?MYsUP8|up6*%vUCIUX<)1#@rhZ&mo1}Y5FA6g=u?(ljJKTd`E*TnOtsc%eRjf2YN zlQ+R&o7H--0lo>PK~%Yf!EnV%Mp=(D?i39yls5vDF4x zP!Fv5YX7X)Vn*^g{74T-+A0dOJ=!Z0E^i|{uN(-vOaL@3YZv_ zL?RzwManb^wKv{zBBTM5WN6ga*>`_Oxal11J}6n+9jsN;dWe+f>u{&Ao74^%y8J4~Nvsjiy4EAPMNN1REv!B~Z4?frsTP}C#aFSv95<`=UidQ1tOe(C00ghu= z-X|{fRic||)WDRC)|L3G>ay5deh(4LN)~3|++;p9_+<1gSKFxHt?@TO%~FGu2zm)s zg!zguzm4rz%vY}@2bO8z(~8AC{yyaWVtsi)5n(-ehvt9p0ss$)h5j3H1su`h%{KuB zbJ0KLwx|Hg-63LSnaYdeQQuOg98rZ~jG5+N_Ax7*)OUz@~h~K`17~fkaWT)$! zVH=-64W&9^xEl?7!Q{N)lMh!w191GU$AfYRGD0#Y0fQ}P6W${_R{crohFH&?eF;@m zds;N3JMPRCjVMSs+hoQA$WHg?v)DL?lHsc=YX!Z2Bd&+U8seY=z=aFEsK!R135fMd z#7wx$J%0FRawUl&cJl0+9`iReV1S}JSXWDqj@K=4jT$xZ0f1@; zC{78%BLEog`HwYtMQ*X~S)Km1RO@tDax}-Jp2I4p|J%)dZhNkc=g5#dJODtbt?1J* z4c5P{AY-#EOb8rZ84A#W9G|->!cthAg(^Fi>J(=AtmD&oLyN%?@>-A=@(NY)b{D0K zMckC#ckr(^28ohMSqKyd84!wCnr&U}{g^-1AOc2>D}jJpjtUFvgwPaUV*~69d*MZf zkh}m>7bU!^iaA zjWsnN^b;bWWJIOe>n{^i%9n;{02y$_TLF&n&21`@B>rn>V97D&2zEXX(eiq7uyT;s54i#bbn*|j^$=~{q=mYS&%b_vZo-X$R zhYz~)hUzE5B;F9I%tD5Q6W|}fF%~k@8c(zvY zZ}obm6YbyS7A`SQfEt=aGQqX8=I|nnK1$FV)3YbO~BOiY1zHqTckBkp6p8^Ve^nw{ zGx_1ZerB00w>44?s;~R~#`<5ew{Er5wZ3@gcMn1OR}I6$apidaHCD?^HwI5f z9seo!(lt5z&;%|XT)r{{1aQMbafn9?2J?1GJ?$?+R&Xc{P~+|)>YQZwR;k2%+~O!s?INKd`~oVhptyP^jx*p+Kw>n1pq{WX&3w<97#9k zw#?*^{cQ+g>@eV(X3N>N7{c2sz!V8B}%?M=E2-YqW0yUZ!9LpzV$o1Po$- zWXtavKG9c*c%QwJCFo%0^xJwE`EEW`;HO5l!#_W7?XNUY}XDhv%bMK ztsb&nW0Z-Qw@;&T1gGwRb_i+NrjO5V4XW;QhwN;Zg0G0^3jj-LP7DQs67h|^xWMQm zPy5k?NDR3w0JraQKZk9dK86-i?WZ7$dbi(6vEJS1G+K%K{;?`RcQ;W}b+=*OW3ZU` z9#?zz${UiIuh)3Le0~~pS;Wd@MvJut!x$m(Un&D`>H5~B3du5Acrs$aXiMUqKp=7Yw>+ ze7+m)OY}V@856^~xo|#p5{EEyZw%8+xPj%rggEa2$rYA{CNgHwjYSyV-MjY!X=H%a z5fgA21a4K-+ zZtH3hmGj_kI8|$`N--43_v(U%dl}U8ANn)Q;*Gk2v;K!bRsVFh1}F7$1aBr^1?n{6 ztP{c}-zMS;R;ZgGHcy7kPPKJ=Z7ZAncS~UDM_s^g$^PI59Z16mfH9gw!=O%sgje8K zGaU|m<3wmIHIby|3bMoBcK|@sY|zgP)%|MeQ#(-2jd~g69X;(Y0*tSMWLfT4l*j58%@GvK4FKkl>)^pvXZs?kL6XisjBg!ddX4 zQ*cqN7AXN|8xJy5V-*R`RvN`|#mu3h1E+o||MAjHr#^b?d5Xx|yISt zBLJ(Sh#o?q!x5}3x=%(g?l9n&GqX3{P;W3+%xDAOAvO-a?lbJ$KC-sHZE&iR7zAjn zkW5-vhX1f3GS`Th+RB(Zkzga>dj#nwBVLjcjtMp2H>nvR(yRYAz-rBikDf(<=S(co z_^2wvtDUBJ2T7ym97590*(^j_1&iXk2Oq{Ej9gryZ`Fe|qqk+Z&QkyT$~Ad$?g61mPJT zx&@jbh+237bKb~b63%vCK1^xYw`aY@++4fA`J#Qj6=O2PXr`FY5UyeasskSKEFDkd z5BYCh9ZM;7aBMs0G?im$&P}m>RQ%p)ny;}43TC%o&B-?jl7)S7F4|#XE&M0p0NmJ7 zHs|^j(^_)z`}gdAI{xfdpB=z5k<|~BMaZ#3YmkVC0j?Fm#MZ3bBIBNw{@qL6N3R@{ z%0s*_Az*D15*^;;LTR2C6^({HGdc;dF2N!IxHr#RsyhZle?s+>%d``}>E6(080NGz zVP4!bw?cUyk96z&@*VW20M(ic;EM=BBPM}stIGf`lj2`rQKVV!!&t9SPr3#gA3X;T zRTBH`0#?EL+!Dr2!QR*DdWX(Af+HTLkBSXnrOA=>)N;qIlQz_m$>0iYf}( z(A<<{BN6FpkCF}3T#K?CY*cYVTKlLGRz-fC^(Y>}bHt6z?KXPe-A~7WcVooh&q^bz zee~LAf|8*L)utVH#W}pc!lIfpr3=ns18k1qxJS=_@Z55&<2oM4xwH+P)>zF6Shpem zhov^1BW(I~eT}j(IvX&c@kL_vpHCQ;o*d(Vp@n)c(g zI$hJt$XsUrLo|RVRV2i@kpdgUbRagIo&H-Yo>^t;Pr<9;1?HJ-*PNu}^#4Ep$!XT+ zr)&1yKx3S4o#3;3%I9|fSYE$qaKq!Kc+F@+y=2+fe+#%@ztZi0?opJn_iIC6>6iLzi5isVl;ES{$; z0q3Ron6Dc7kr7x`D9pwSG3Uq%^y90{itqYrP7EPXGtCfr>B?td%=V|^$3TE10z!b2 z{UY_OG*!tZX&Y79$&4p7V{oKR;1r-dy9s8{1Ey>HCW)HnJn)otu8M$HQ#sEfGNv3$ z66if^dmq^9N47(DlvB7OA!&BEE@=FzuLK>Ik(J@Ya#Jdq2_WqYMOkou(-~Y&sCda5 zF&tAr13i9$>sctUO868#m&?DXrs9#W&vY_h8k&1S>$`2Z5x8$TNv=3JVn z<;Ou2a#D{^?9WHmQT<}{WF*9=AZ0)xE;}H*=fVXPkTQH^9$>ymtz9xx6QYNHkVCwB zjxh;JiWK~l`8bC^mTYUk{rCYnSm*^)?C$$K4Lx_y)^DsJL38H9R|8JJenqLw#)iIS z029e7|9@;4SdP|ENJCU2xbq}`!OPOThvoNC-eAI!d>Mz&kI1j*6w(@j#SPB#y-*mb z`jDm6G0$E1$Yby!c^_s73kK2J@2?J=~_(xkEV zePq(U)V|!UkynXdpNz_KBY~>5HpoG()WOt=6adrcD!pAeZ|gyPX3DYlH3zXGmH#Z9 zlMx@PG<>vdW^qCKH>};St42s;&|da%zG#eu_gmXu?mc%|_BV1VRUtd1>&7;bgJf`9 zQ!LG@=#@5XBv7{CZJG7~a z2+6*LQgyO^J%x??g(vi9K!#T;q7^`^xv4uYpDHxAh94fzV;!U^U z2`Tz;ja>FvL-bE*@k=d70uVCggT-x2L&*Q6(xo`StE+YJ0*hWu4_EBdZ7%7-bZWleet|8wHGgp8w_$oGm51**GBNq`S{_`j=MSwPHB z9n})4McDHBeu)XqoryYRT~B*h(&I#Y0o(G+kc+tzYsBx6XKE9Qf*`T7yUC+>3pZIRaHP(}WQd6?sbxv^l46E7PEc$X!rvWymF^PE_!Z#`# z+qRQ^3%uIXnb|ippU448poR3};cfp_l$2n|ZMo@4?K zSx@Fg{Jx|}>-1f1Fq;V;kOoM%{_^{XhC zEh}^djGHktd86DO;i%MN25-LWPuWYeBjO^`9%{eN6itLhq1YG-YI=Hp5p)4SFW`?? zxBm~{ld*#Tdd4@nv4D+M!IPP;V+iSA3%?=o(%!&T7kfdJ(xj?#eRrjz8I@^Y9L~-9 zV2C8b7+&QuM&#&g`;0Sx^WuKpc;6^@1wV3b|(HVzr^{8J+s zNuQxBkU!u={v%B4pvH#4sgOIn(Srci6aRZ_C469obhZ=ZL?{w*l-U4dJPBFy9Vgij za7IATH|>Jv;3|6{pTV(&1q6xojx>FR_CwQASm)lO@kokG^+H&h05Wo=ENs0hw(sVm z=WJ3nxgh-KHUj1?Iv~F{NDR=@D1QV!nvt10(a8oAtvP!qcRC{8hA5#1Qbcd-8YBH; zPIMSU5lK+WBG0_aceR0%V6M7fB4`HwN*vScnDu^p*F@+oz_@+MZF5%|BC6dzVGTxW z@NzkE>=go*_ZA+|aRfj8L$DM4_XWtV?g78RLN@Fz!p8(*enYpwzKYv~jd-ZfRh)|B z{dutzTL~tv7}C)vk&H-n8OZmcJ~xbTB*F7xT(hr+dfR{Dy@b&UB>yQGj7y{%^G$|{ zXalnWl9aNrwO4e<82v~BNG%>(eKn%#^DBHT2p31mIKL0L>s*&V<3o_<&EV+&I$W~t zP65!d4I2o(lCKL~*c=#)uZGR}_8Tf2sYWIMOn?Lqau$(x+5vuKK&X2PRCrfOm-AZ& zh0lzJfVF44#ear*_PxiZ1cD4Bsl^vS!L$aXfdhk@m6I#>%NDf4mUI(A_2-DP?z#E& zSW&J@W?hmJUoi{^uV50vz9gZpdmEA$;M~OD5r*8YS)k1q6`hmL5Pix?en$v`3L1C3 zdLiidNR`zXL^Ix~8v2+?({Brvse*BD@&F|S7il~4PCUpWGix^;Rlv*uw|IvSFaj9* zM>}UISB0)7B)pn1$)i1N$-nwHY*YmEO@wUQZ}FD__r3f-)*vqfuKkskORU=W&$D>J z!2Ee4XfLH&=|civ&e!29Kg{mzs}cs2GIJ`|NmBeu$$V&8uVUGVqIg(ay4FLl4x-;BRyAKW(a*PBO_uWr zS7H}S3dlRO)U@S{KP-Szqkct%^neVk@Sb0FC#VkIXlfhslOB8Qu^ zg73l=xCT(M=^G3**2*610=!a(*rHk;3#EEamD%L#>jNMekO40QLkBq1@QE}bl=YlD zj5!dcc}Js`=K*LwzyRMz6*oOadlJ|fzb%~qloLiVAi(m}{l5oIT z_fR2q|M$th`8yt8KZ1y3;vFH)i=F;!E2&gdCb`tKY|*V#%}=2C1lU zPpFLm^0BBaL&q0)8ZJ3}1h(O^fe!WAU!bvLl zcj+trtikz)Dkgouqgv&Bv8-yW2H&3WmjYP|5ogunOF&_jfj+=R!#=8H>JfmBjsx(9)I4oQN3$wSxD{KOcd4vUqq#LuJO+wr_>@@7S zw+)+>0Z(#;_w)59CyET*IGwHW@|ROYn2~I%mmRB{FY)2i<0r|R#bwkIUkt^hIaqR%W3~9XpI_USZ<^OOV(@g> z-0*`PV?smaS460!G_N4J(Ar&sG@1@D=k;$Kp7m*xKNHv>&c@JWL!3LvOr=RJ>Mwdz#asqK^FfHZ+c5W?9u#1*7nVPSvDuS+wt z>!*@@$ob9}b=#R@q}<+!-{a-aOxh58m-0~_@neW9!+%uu#**>13%9lTpV{)e4Dh56 zwzS}lsx}bcmSuwo?-C~?#pT>@9W6y)fMT6>mbz4yOF41;*d%l% zFij#i4c%0EyMIJef!kt955A}6JFm+Fze@`D%8itQSX`qNhRM_No5}^hbGdE^r1Aa( z*Ld!?4==oOHvgnyv90>g+2?(+2BTJ$gr<+ABv=%i%%SPn?fx|ACmUciSaJEQfVB-= zkm~nGd9Dy?)^ix;DLd$=FU(4(nU?oLUcNZ?P`Zv3J53wvh8k=jmCJ=Lie`@@T{nnYjp%j+wr>7=AnO0_<;P-jpUfWdnt| zRvYQSc_UWnjsVb`5R^?mcD88zHw_#5ob=*V5+92L1o zrjo)AunPfT)GrXUMegvgmpxOM?}W)m1v}h=%vTPczs!VPrNgc=5gmMb;Q+0MEw@`! zTU>&N;#l<7iYG^->G<8?dtuKM4{Q)ha918PB{+UOqi)w~>%sa?YR1x9nV-C!afB7h zf)K9wj<*H@pMVt6Nc$-vXFDXC9-c(^o(0aRzk$!eOf9ZVe$=sONkkRfsRNpNaYf;5 z--N7RDg@-+1?4%`HLv@=F$7|tAV_x_b|nAKA#@Xn9Dm+SPG#8pO0aog2}**&K3meKMByjxZU$}-kMTQ{(cLnW#&9xIF$*G zdU#yQpsf`j7&UyG0pTkvJO8ZleBZs3=y!Z&bKpOrK{6!f+0~F7{|$Lt8t25Og42WtfhHRSgiROu&-6m<)Sle-o$qM!lMhd(loQzrUrkkf zO>OEV`2h-`C!;(G6R6@q3_xk(+qc9wPy{%80t#aXU|>FAX`i#+diqp=rMqN-2SH0G~Qco3x=MM&|iS0JpNgtmU8fnAshHUI*cU0)zlR$0~AEZ7#A7w3+g+9 z3h;RR$a>~4L-f^bT-DG|{Yh48mo6e;u!_-gN9X?$;7kGm7K!liJS)XtD|dpU)4*~k zf;cvLND9s+@hBzy`#tuy1~VzhFBCopjj8b=h)$V#v^q`&2yUt`!%VAK{njA^FuAW) zF3<7aXOX0dI7{@?KWZSUc$UKqzW9aUELv3vKF{spFm#p5g)LRyZ)cY5ENfGGP!df+xG5%PtgfsD{n`15b63Z zcJA=z=uqE&<=))TBx1s$dfb?L;?vJUdCTFdSF!GrQ0p3a@E{179!bE|!Il^}Rj+Ns z(f5Tpz2{3g&isIz06kOzd9k5)&^&LU=29ecf!IcIPvKM(KwAg&G}SG%bC?ww$!SA; zq8F520A$E9gy|2sC}7HJQMloNBLKTa3N(j_d;?Kr6epr!l^_ZEnS{^_rwUF9)R%>< zqVxR6hy*3s*vSD#9N|?ldS(o^;1h#14Zuiic3Y0unb@qLEuVqWCdY`OW9k>rG0p=G z`^)FwNff8F+aba?TF3y5M5E-NL2pCD7&jkog9~Y28fna^G|AYZo+5qN+G>%tR*&7B{)8dtE zE_S_a583<8vIWgke;1ozFVRm=$^8z?lx;a=xF1{iHS6}O1Ub;K88M@i%T|dGx&|v) zNJ_@m2Pw{D5^&kycOrRK7?1eAn>%%69WrmudC1A&W-i2X_S+52&<;yASEzi0=SuvW z>iZ6nbEF69?;kP@Y?H;2NGcexybY!ld*Qx&PR;p}3s{wUL!bXgtg@`4wp6@oIsb4X zD7#o{Q8T$E-c#m{|BU#vk;Ro=2Kj);2Ok#CnsIW+ljepom05te70c{ktaiN9=8CJA zwv-!zW_W~Y%L`tBV6HbMBT)dEy*?)J_1UKA$u$5D7MGyUb=u=;!P2L3HQD2vMBFNi zZpaBS>axZ|{qy`jta>b;l>4TGiG+6;wX^@vhZ8$9lWptM=DX#g34iA+w?u!m_`h-` zh>nXl&TQ>0B1n?+es~!+Iq^%eFH`OQN@MLMm5+s`f9gOW3ICVJ@ECF^rsc=(zZ;2D zT%`%c(I-F-Ac{vxv)>lB%OHn4WjOB{0nM`me}M<79YD-;ju<=;hXj+@D&590%|Tva zxv}mhWh^3?C-3~I+f}r7MLEsIu*F?y7~d`{gRV?Wu*W7+>`Q3X2`(VVlz63nHk4+( zxnG}qp}R?O)`Z~N57X7>Q!f>OBOGYXh!KV_!+vGO)9 zCxNDfdxZcXC~$ANU3}gT;QbH1^9bT99p@v%%JkiVXH9u^mouKaWCuCNzgG`fMjYRb4_HN6JTy17@}V3L{{L(r;qj0UKq4*ZQ}F)^IUo*UDoB~fED0EUFBx%HN677GFW^~?aQh!D7V1oG z0&*quMEM@Q!$bcPtP*IHrOQ+h?rPFGqJnn>(d-itxMXK^J3|mB z@&Qx;81RGQ)OmPP0foAUm1WX%mmMo+gDKL+-9fxMtZE+a7{76;QT6rAYJZ&6&pKcbDR2m#+Pb3tn}?N1H$~E*xSx{8oSM4#$A$ zqh$7*c>&0e*To{YB&*EVFeEpx!*^OT$_SCpg&tRjUqKwm2Ow7nrzYH|p-85C;*kbp zO$tV5EW8~_VZuEL;uM(Ng9{@|pFW%SGT3@FaMy}&OB^2HZ17ZLvXa9?pLAj_BF=W_ zbNaQakLt4}`%Y$)&7ReNoL^Ms+&+7?zkKMnQa&l$DOUq#_UY*Ag>R?y4$aHS((jfy zXz$LpjYNIJu(_qTAg(XtK0Du6l`3#mzz^(SOY-@JTTXoZ3Q7;(yBJvccca#F_NByL zQCo1t4@^X6PVNP@`OHnR0Ovt!|9Y;Z$Hsr9F^o6q3-AwaDwZXc5+1}o-#hP&CrS&q zMe71tKyUQbYQcjnBH+h=n2g|Rx#{aeNlL{Gb6?niX*yZg57)&52^|9vduBs&3~wb$ z;ziz=&kC)4TW5));YHCt3;*5jP#A8aqT{Xg7f>!MYsZ@Z`WU_<_iN8bo?qn+`B!_L zFPRR!*9Sk(ES1?+{(H69{uD3bT9^6Kfj`9Q4}Hzd%*2tU)%YiC>5|jic2rMchxFlL zOD+>?h2PI)9qd`>W2e+yLg`}lm+pW-CI>Wiy6BtX6QK-*G81c(|<)H0ClU+ov z5<}eSnixl%gxHOlZ}#VtCD(4OtR}tiESkgs(Y>{3L910rAvQmV0IpEqt+m^8|oa1Bdp3;yk zh-1wweF8h7Sow(KyES*MUIsq9@jB(Y`kTM{!YDaoDUzR2OouMo9pmz9X-SdK(0L%! zGJ}g+&6=RKYN3fEhu3%(P7(oHgdsRWT9EGtR-s^S3j1`$>PhIQR0-{ALJ8;Dhy}&|LouADQEmqJ15lBy_WEM(r++xtkX(fe{T4E zp}1$xp!D)pQu~FwKes~3qo=v2_kM?I2)uY%bEj{7$b+lwdXNhIg{5J1joFup{hG^c z^2tv}x8Fw0Q1#3`UbRf>Ps$`eUDR(KUZR|_dzYV&QTkTx!_(!Cdy!K2F5lXAS>nEK ziTdj;V_QdPn@I_e&jlYxk0gZ13@VXGASjgBBF51DkMCwFY0fc?Q(dNR1w>;cU;m54 zTM^Z!uV2T~K}`+;Vgg7{2U5#?#Tbma2)S|4cLDh9>gUy8OX{~#%8ld&EzBW?fGK4I znDLRA|B6hq1ccn7Pgg4>re|#P{19*bAZ*x*`9)?PO6x`cXegGN{pO_B%7kV>Sc#ZZQ5UjpQB4VZelgK)0d^8Qs6=VY443ZDNWA7HJi#8^ z_`5j%a*W8ABoY5Qg^R~)u#}eEkwf}<--njmtCGEy25)wsA9-NYK?FdEhH!*wtXC#a z+xZF4vn?~{))YbFgp+Jk3n57(ssUTA$VjZ&qvAMH9dY25DG6UCI9RF|Ia zVzqv-_Af1H+bN%n37szRibmClX%-F{=x;EuWb?_;h1S@Y)ZJZoiz{<1taFodDodtB*#FpJ11suk@7> zrfoBt%R=C0$a)08e|6-bNZ=1KwlN1m2Gf0og2fJSVv ztn1Ic@W;*S$RixQG|I@MMc;UhR=-yK;6Wu^WQ|97jU$SH`ZdI1T7Nzz6Z|#=+#YtuN;9SJX z<5!r>+SC2@E)w_@%lbrqbJ2`Q>M6HDyT}(;3-lW%hV9)rqnUSk(tNgr10YxzOkuVN)DZ(bX*$$tKTd6P#V%#ea;SYi(?)z99Vcf)fSKH0;`9aSN})TRfaX) zhWi1dySr6VLX>7hK`=l{N@9e764D(TAl(AeEg&GFbdCn4q@=sM8L&Eg&$-UWUDrPR z>v^7E-S@2t1IiFG;N#C@@De%x`(Oby*yqYk9}HYE_?#sq$$6eDlwWGn$VUGU_dY1&}&_hUW|8kZ)mh<`z@ zTK)zk_VCd@8@O8w9s7F>?jv(I33Qq|-xm3FuliMaFgnF`Z3a!uZvYf&6WBT;FMO+D zd7v`Zs|2wX_UORU&e^?58>X`9B{=A%iO!rwt`q5>jY-J!%~V2)eXK}kf_uuBD9ISz zUtZ?z1v6oIfg(B!WKvHQXSFs&hWc)z?%Xblp|aT}T` z+o*QdJE+C7TjP72%&Ko&rjGA)-Iu{rGnd!;g9bMpdw!(&m<0^Old{Bzh4e@L_igtzE&k>~U^LqpNml4mAQ#C28w zuCOb}-NV%=>jF|VQbsVfZ}88JkuB~;3hbzZ-^}_6Nn!I5ACMRS-J4(z!`x`I$fJr; z3K$LX$}(GIZoc-3uVncVum7MX_19|}y3<$u+Z)qoai1T}{cK|J1cqxSFnGk;@h}J% zFu*)ML(7pd289F=86C8q`NwjpT+-FOgH#H@Ln~Qfu(>6E&DL@t@yCH2c!{JTM3j;A zy%gG?+dm5RV-?~8$M6e$oV_g_;PBw1@02bHS2M*u45S^A^5zYlH}Q)hARsLEKl5l4 zLy-Sp%;-IBB$lsaFc#2!dN^AbN9BmpmiH_>GSjXjdn!2;z3q82t74{rxOWr*-aC)^ z5ODGQvE#pwYhnOY?fzSn6Zfm zbe>kV)cy&-iN>ff?fs?SS&=G}ilt+LPDepdZBdU4e zLz=D7>j*)F6^|z1DNSq4{?I$q|4hICgq!!Ikx(9;d&Om2M9K#%n3s9I8A3BXDC`}t z<_B{QCiE*Dt1U@Z@Je=Cm;H|*{rh7#tpb$ClP&JJInVI>R|;P%FJ80xYQpVq{)ji= z^oV*R4|~XJNx$yHLC`6dhfX6szH`@$$tA(X-2~5(HQ24j_2ZssuJGLxS&n3U9`2o8 zTPIFVvT#vSXtSXY3ZH-On)LmGK>rgwMf96TnLpUN*Z&JNddP^-?7CmSG{b+>e05NV z9xeUmYILCd&M%mOv$F-?!GVB`G#{o(Lt8}AwyK> z%+kn{ZZv`N|0-#amqvHV|?1=~9MgJ}J@{45ggt{JNK#!Vz;BDU2 z#VxOVAUG4wE5>GGcw*zhxIpad{TF7l@=x!8)sPocv_JSI7s zCWO($!ykVmPxKcF;MFN~Uzr@+DIF{$|CQzAu(;y;-JQ3ZI1cBuiH*@s#HoRc$EFqkbk)_%b%PP0MIYckfwHjx zk6`4aB%YBS%yK91so8?b?k+p`t2I=yHD90DMh1X#rTOi=7uFpb*8#w#R@P$>9vZM9 z_}{Oq(l8Vd=f~~-S7H=Og2V7?o0jJT;Fr(_BQa(Fd8$4}Z0xw97%ALf`{&ReTJe#{ zm^_|Fll-rhV+cq+kl4!ZD0N_*TLueu!NPocGvc0NS}KE<6S|&X?ygWjI>xi8?wu<%v#+13BED35&%G zt_W_oG0ceFoZ~FA9A)0Fj^j^WprEIw$IQJlsF2fe2*aH9!c}dxo~H)1V>e=mP-js% z@-qCzI(vvE`~?RQ3F=WM5nWA^IumYJ^1;eSMfNSg7ql@!ji zTxY~{z6>$eb zJG;H6*6$_4NIRqP)Z)^f(su@K-m9;?Rgf!@PApUW>-Q)ZXKam|KAQb8b>90f!sQ#bu~$`1xTfyLa^*h$0s3r8}9yj(u201@d?rZ&8+r;LQcl%WNj9NAHu&z(! zCu{O9>DQnN5K@cGdSez2(p$3ivF^>b*yxj@KP0tXWX%dXXaBgJ*O>NY&a$++4P$b5 z7zTfNMQqQMO)m>EK7i-o2=u4tTNrs`GUY;fd==a0LE;shG4};8S?relL*I&YZ3y@w zOuX+o;fC+_MjHhBV(c^db()}s=!8)z?Y@YhM>#lTd$#5Qc$#95mp*)7#}bwCidgmr z&R%xC-uxEy@RYM5u9DINKQYc)v|e{4ZCe*-sRYO4F_^JPOmV{AFIYRvJUyafjyBsn1h&bGI3O$hifLKZA6762F@L2VL%f`vWr8bZF(_e^SsOk=*x8@PAdTGoblVW0Kheb=%Tm~v)@fo776#XJcX0!e71jK? zV(N~iQs(Gm2k+L^xfh6KR=B-Q9)xff@ztIZuX_O^hfBO43}UMlO~hKPi-0W%@4qcE zRcSfyLYggJq&aRQbbA3RH-6cdqs1%VtgD?heA=S;Bsr3|XaPS5exVUb>rOwc@f}o;e6}h>BM;W>(JFEr{^nEo%F-9Th0qgNd1Wr{-Yvgkp1|zXV>Gx0rRch zpN1Y9dOJc#?2WH#B_qJ2rX8{|_%|2NXC_%2%{8xL_~gzsZlIWR@JA&7*sG)K@G)@2 zn+^mmDcb`dzXkaZvpJVyq#8a(;K;3< zXlKa)8g%Zj^j;#PCoc;(`uq7%~c$M zrwjSmiM#3b^fDtOm8;E-=AM@0>A;8Gu}YTPalbC;-EJpo(x|-HUtNypV=I6cN?)ccn{)r7$VnmzKAt#hyGN*8glA1g85 zipuOwk)G7^qP*_zO#Z^%uBKV9J5!77eP6r3HwS62Jn0f&*ZBrP;YWXGCH=dt=AbGAcIZ7try)?@xHUYl86jhBU_~1Y9JUsY@+o%Jxh4GIg z%KY*tq9!F6jGCdluW8;{5lN0n5Q}+kX*ofnn-N$mYqy1-8R}G_z2q@s-9+Z zuAJwyy8ElvwrPe{)2cT;(i$H~)AOLyaBO|=&{gun(}G6s;$KCX*Bc(T_r1HTsS8?}D51JJGC1 z27b0nc%nVRWk-E8Z~IwI=>ZH3$EpIgYm?wlQtTAeUGczzD4u#bevSNmxpffeO~PkzvqG?TfC18a<$wY)Y^S}HavdShYFW! z=KuM<(QQTsdWY6%`pZR9C-L5s!Ke}MDNPx?HO&vaMBn%(*j$6Eb;>KzEXZqVnv7?g zE?X3)egt)|3`Ef%L7R5m@7gZ(-Wz^ zZ_BhWq3*o5gbc$mJ=Ii7_96w!s`vs(!qMkJ-_@=f==xl!Di?vW4jk&q0%xjO=hZkx zs*coS9#LIFOTPVzZ(LyH7tJlYKw9ITQZ1jSKR5Ovr$73LL)QKuo%4g~;SApT(FIDPvOd-5CwKF)CLd>hR!(h!m^k#BllNaoS-Vqw!BZZW zhrGf&^}QSXAjV2V-`NaK{Awm&^7TzyYfgB!5>D%#dkV6XIEN)?0PZ0VpGx3y*ls*F z5D`0$!@CU;8F!V|Y`1F8psu^KhEOn_bEgu~#1qjB1%{k%UqEihF5s9n1q*ywA-)i< zz={;NAJ*oN?+DgU$UM4z%Asz9+xPq*Orx=by>LxaHpYGN0;4wu)I3dXo4N#B?DXQT zksWt;zVGt$|33>L^%j1U{Y`!JZc)qs(mc~=rP3HYWN(bc(Bz@+?$4j|f5t?7&yY&C zRSIa`m*1&sXGLba84q=7#499HRMv*8YY9w206>(Cm%VQV=t@daO5o+%X(rz^iFPapWfJh{w z!G`w0Wv&7pcu=qYy<$UOeIAMDrkG0WxfjSE{V6eF} z*cb>tYYR3qse7LUSes_!$IGtdd@or4>J}SIe{#&zw_PrElcIJH@H<|}{2nZ7r?lMk zK_aA=5{vD=DTX{@rx^Q#MAl9f=98W#@k~$#=@@Z;pcPCYp&3Gl+&l;x3by*MxJn5B z4D2KOs&6~^&&m%`W&@1H))^((x9OE$!ft6$kWbji17J6%uanwH=fVC}CIAnA;SGHD z#S!+LV$jz%v(~xw-5(@^*nJ1va>^#(tkg1w{pn2*QiUF4|8Sn*d|ywqzD{u;T=lK! z0KyB=x^_FtAnoK*&dHQZBK>Iw_xVcI-XK|Xnh?j@Znc#>@Nx~CB0vi$`Dswj<{aZE z&be0IkP~nV1*0j=BsUE1(Eo_PeFr@32461!o}_%dUJZJ5sb0Miq67HB1Y;n@l`+Gf z<59>dXj7+V;1!%gZ}Z?9S%9v3QcVECz>{3Lw#75dTGgl2A)@oprdn*s3#n(fm~fW_ zD6USQ{~zP(9s)Y;yL5Ok`XBHPdMZd=f|r=bJnOa9gw0P^#&vWR0-S*dXBXde3_ovc zPw;8Yy3v(6YY1A`2wJDu8%xgvwL|nAI5|MIEgdU;$fd^Yh$ zn+j%4!Xs(2CN48+X%ZHp6qmjHZq?=N%oNiCW z?n0%ov}f3FZ;!BN-dro&$+*Fr$Gbjh z=qwJ1JjeS#3sqhQWQ+a)p@wPgF6miOn>)8TCM&foPkckXjX##n z4o9Ou%6)in%slG;$>-{7BK`Dl*hMxK)BVn~w_g?8AlLE%iNCh)T>*p-qT(AiF-n%V zs{tRCHEKg#^WZ3hi9q=k?2Gx6&94dHO~%!Z4;QKmGGrjnLGTx?<~|wHK_>#`))IKo z(FLsd+rA9x91z5_m30N4*)M9Wu|2;wkq!bUr5$ZBmmQ5&|2-z=N>JDsw(S(CHd3Rn zHhz^o@<6}C4q5BEnA1LW*IHk961B6QTiV|7;4iD?TJr>^V9bt_ZZYT0JYw-RDWWu= z1bnc3GLcxTMSeUcd>YZeTl^1~E?T%aSkF~CTFmg+R+7=ig)X`_60%jC7kKTlCzO%{ zr|rj$#nIS;ax8=B#7rGh^W*KH!oqIPmP}Id;v2)01sblCxlH$s+<{BTqB`TwNK(tw zI>k%Xw?`3w%4mxUWCrF{g)P@1=_ir&9@U_YJdZ3OfzV8Q1Cr1_Gk{VFeucMHLW)3` z5R?H@x$mr>tt;gQ;Y8$Lfl|p-s~|T%#rM$N`b#@;^R(c{6L^BzjQK*Got>_FRT%~= zH(6Tqe<^veFVeXin{7B_Mq5pWjM0~s>J4j+9D=sEC<;ssCkbiZ5c4Z|c(OrAp)McJ z)l<-PlwkMw($R6;hmY$5H%fTDm2Ul!b2(pFy-2KkOS>D((BMy)ydCJpkuP$RUvrnS4Kvpb`)J0r~11g*#7XE@$U(z{x0{5w7P zE%J5Z8{_NbF&zZ)I8mpzu?>bkua`MA^_TI@F*PXOc&vBtzBA}` zX=RJBaID#zBSWU~k8oe3Cu|nGW%Ro%%Or=+!Xk0T&Y~j4k}DlwO0e6O(?17r=5*jy z+{#3g4Rikz^w7KNTUo*~JAz|Q()1Dx|F#ylPfI+(veNPBST5Ub?zzVr6dNL3T0VAd zqE3-E`gA$zX{A)im(hm{-2=?)z1O|nOF_|Xf1sBQ=Nkv;$1)e#zCCF=E_QZYBi#dH zi+;$6;D;mBTYF-kKYu4ZPoN)iCEKD1Z^f79lcOwa)Gc?bK zr#4%8hTS1()>y<9tiV7x@j5>^|E9XT{tuNny3smrwe?y-H*yCtoZ3byk0y8m3f7JaSAa5b*{T zDeRBGv$_nZ8SNSn6mjjogz0@f>xWIA#dPX@@DrbEw8sqZp1sXW4fJT{lUCJ^0iF30 z{SpS|4^!O67ACG?cYY>TRFZ1?S>yKpR)HQ!yYp7Vj?3`p$;smr@zuXdxd}Othxj*3 zQOjhkG3coNGkt_-dFh<6ZI5pE~5}*T1MM={78R zWfmw#AN=XI-RQL6n#I55%+zG`Cu3$dKBdDy0Vfk5RSgRlr|BxTG3(!LQUbGH4G*=i=nS$M~ek+xw8dk>`G{IO1R zi+W7MsEb?aq-M8$cX?UTxX^aX_^?_`V%# zwU9kUuExOvJ%dI)s0(D0>J=G9cbwO{dn>6NUtsy64(29XG zn^v1-STx!b=IHZVcpkA%2Klf>>#yS-jGZ&~>Rnifegf@urpt8y^cIa{TONLhDS|AQ zEab6{Us=)?l-iS2&4+XC)l=T%;h)f`B_w7nT}qjtKpz^x`^vXZliB|wxnUuO+AE}0Pl zPkb%$`MD5@jz+_~6@S{!nZ<&Pm(tMy8@Ye}K@!bwY>~WO(V1I(fx5sX*1_+*k@phM z@&ZjyC;!-(b2sX??vLFEMTUgFOe_UmXcv9*g_Bo_nl(5i-14uZsO{P$gL->knA!oJ3pnf=i$Z}O|xk-OM=U3hXZ6Ob_x zvznE4+m15e zWJg=q?+C8d$y$eGD6dgmSoN-n*JB4h8LT(+G%%MSK&l4mNMBph@QUhHJYB{_NF7ElcPHL+R^Fkq2QNtM6887yecf?lep8DPwpFn4*LS_&wO zm5nx7`LgNc*LIGt==h$x;{ubI^yaqOncc7p$+M7JZCR0qUryDcJza?95KWooV4_s= zK;Tuhn=qcTS-ALealm?^b>WE&M#FBi3zd2~MsqfIA@ERM z`VREVYD}2_Geut_Exjb$9P;heu>xYM$Y#S!w)FGo;7~F7*QBMh=Y!<06oYsagMOv^ ze$7rA2_7OPy)WgAA$(xo!~$8llHE59WI0;N{RZ7?GYWv`5{JF}QKmIy!aq*Hb6y?z z7YM64%Nw2sTS5w#=G@^x*Iy@S?|LU4Aj~x^ITg_|;<-KV#*%REEk|N5ckan_hZy{W zH-BEph`%09cv&v5j2M--SxB)q@=hHMeAjHi$9~8gx#i-S74z>INGAltC%;|s z;1&H8;$wr89pATVuP=WRubf`Ep@Y`S^UU=Nd|w2dCUDxNrA0Oh-pBXHlfpm)m=g%h zRAz1rYn`|3xBB*%xldy*bn@x&AE38)cISWbTRv&(wIBp&YBUSS=h)OV%Dbn2@gVWP z|1DIWAjr^306WAfanLhO1#XO*IrjR!jzy3TXe4*_i^# zO?YXTovx%r zzzwjP^6A0X-|QdKNls5E3GIkN7j2#7I(wr5hqCSmd5S_e6W|l)j)>;{ic;jH!)wTg z0~+18BqYsPnaAmm`>|0Ms8PFt!6} zK|V0l{s_gYg-z?J6sLMvi@n_P&cB&cr4x*l#MOO_r>{cphxNum9~n(cmMie#Y} zR-PBIk3Oq9qfL)I+k$WnY)3#kZ~98}?@+ZCV$`Wq)*=Ubm`jJ7)|S8L%jzv?V=98L zk%@7Vm>+r)YpB{zIk!Tz-6BFgz-#;d>AyZVs_&HUN*ml~yZ|A^hiaUR^epq>8MfQh z^2CJek-e1@4IXTbtbBCt8h1jHJ_=NMgDAv8y*t7$>@Y+oY%?N^_+RP`GcHe4+;?+3 z`MvE1Hw1s}b5Z#5@`KyniP`ni!;-)`=w&!(VhGZ5!#HDVK@#j-3*l}wM3~T zetv>hsJ)a!oSzqKj+A6sb8eIaKP%yHo@zC`gCvTZ1E2TcbA9vLo z&)Sn^>eD}U1bi&ELV<6P$F-2Q>W$=cy0V!Hj2YMJ0D?kkBhPXu;XYK)F6$(!#n4J* z{LFY~y5E0E{oqUdzbFY=mcM2EF7gc68OHE!3Y|&?{1X}#C72W8jL~;r!EpY+a&ujkN@DiQpXW@^1KCDcw+2i=?n)cr_QzP`nX>Kf#`mi}m)L=(VwKQa^>U(iP&43lplmPe)h9RKlG8Rz#4k zwjK(tFq@Nv{86KXn;WFkomzWQxv6ni{NMKb&80B;C^JRT&oI_g$1Bw8fEBmr(f(B7 zQ;#b0?SebI9n1dq#?^c<=0OYm!{gAK-@dF8xtSt!@qjr1nHhe706iCCtyRl;ME;1*fl4ONG z?w3S9A53$V8S*&p8Qw37SNJb*?H7Omt6q9BgyCZjDEI6uXzwl}t4;i6wuj_}+u?|j z?fAJr!3a^@!pXzMx|{V0dgC~#@%pnZ^!rMa@3s)1tje3WDKEUm;qarQyPRf+_nq`d z>p$O#o2(x2W@!=^bwgpFU^uL0$NWZxi+C6PmVoBX zue4aE>1h7|zRq!B9d&VFXJjd`!boBp`EyKR*+fN&XvleWxkCKzQsDeB@kMfFIQ$bd zr$5OITj@(VV3^0XR0?AIC{yB&0>J*XN{) zR3G0WJW!a{;twVG>F5oaW9tcFQ};B%ojNd)G6ujXXW$g5VWn-XQ=9z^K*ATQO@-UX zn$gr1vDh-HyHaZLiv%X`SYHu(>r}=~tqtEd@LeyWrnRpjPv{5y8^^#c8;6C@&YE^3 z?eTclX<@UVr-`N8bEgyW)iDl-w;lE_boUZG`Bb?$$Qib5npz+JBz`IO7&!1e1t^D# z&Z#MSeRG&q84s<#oofDAZHkD{2{^Z7snrjWk?DH7OKak72wnOEY^c8Bj&I*cqj6K| zm!$`|^`~rXWF1dxwhd5p{hoo~i4EZCkgmDD&dbpvbK;&88IA6J~hEiG`zAxbv+(2_6Ua z+r*4tP8%$_h5vY@a+&R#%E0Gw;-u|H^6i<~L!R!bV&>I+NOnYidH(Y@BR#j%;Bmz7 zbBaru31C*0Bxgd^+NYYzV`n#KBtl~5q2_^v|8Ue`BV*Ch!Z#;=0>W#nI^V1(X!acv zK{NWP{)vd^fZ9GTW@vRDJ&YBjU&>w7CT)tHN$e6=&#rv$gJ@J+@MT|k7STwOhcPq+jw#J|>S?q2M}CoR3d%3mxWR}w#ye>`P;x(=V1 zWOb65I*{h6&B2H=}H?jw!AVN>>D&pF4<1e6VDMbFuSFG~3H|lf< zC-_F!=h?spKk(X=cAKn}X~xeb)U5!9UYcz#%_Gn<37Sb)y$I5{+BXU~@-#xd;JGj0xF zbl9r9Tao*BkiunijSmJ@mMno0h_MtCr!-Sosd(g%0pxTOa}>{tjl;w z+tlx{Kc!K1=D~xp{QR7Zxss3ZZ|M4S>$&|HF3K;K9JsRUh8uh;Mo*Bsxn;)Z5&&n% zwui}RM{2G9l5nL8v-k|pt}(Q|N?L+l*MmKFPJE+X9E z);P}J_AJ%|`G|+!=qWxv1ulD+%dJ#Urdhz###9gm1FTehm@!mhA=6?Kd?gGNB zRBNZb+u5!ioc$@}tc4{$z8pj=HkNZpRdoP@T{wdT#ZJWTCz+!iqDDneu-jY=Z@>UT zy=Sgha%-3$&dSr+i;LJ6!##j~~dhmK2M{u-PFh%y7{0aN`_ z7l6d~q>9KYDIR=}nZuqPL(!fBZxjXbL$gATm`K1f+UZXN9bf+0W56&KI~8h+?uKna z`(pRt9lzphRY2BD3uaZEf=$yywYHt*T%wiA;);9IaT9mJ)K2ft5om>;esGWQ#RQTn z&)pe9EIj57>T=CaRZ6tksPOy2OyBRo}{lX3`BDEk=3Ne;yX)17x7i67`Hbmi<>-n5{C zmAvEq=dYmG_H%Wd?4O`4{|Uan)7D8+t{jWVYZ2p16A((n`$r}=09G|mbf0MX9S8f+ z%wG30xeq;WT9{R^c;aEak0=ztce>1*PTNtQ%=Y6u2z^T>t`O0vmFsduz1ip7> z$T)MmcyDJV;2`w78OCoS>tK1Md^p%F^gdYYEIcx{%e<-`Iet1CadRHMvL7w<1Dr*W z6(a}Ml8ShNorkuET^XXJd8NQ211y(!soI~bvDf&DYtsup9f5mJvVWpeCBk;EJez8+ zxT`mcUVl;^kXex2-&Ntg!*@Ax=*%sJgl{6$)iVPAk$zY)v0?`qf)?wFHTYd2kZ2&UglmI?Hx{O|4+!z;p@pLPq z#_Na@F&=*r!jKQBl{CT3C#}f0jcfJU*zH!BB-ujPHkp;IRtsUQN|NGjgpJ$W*@s;gc{o{j#Tbt;O?Yh<3 z=7&1o(D-(Z!Uw?BM!3AN!_LX#9p$iDs7Xs^WoE4pqHFN*4UJl&tt<`d!l>8=%8L1j zI4QzuDL0t9n4eY0Dt)s!0)xLzYzQ2V1j^R!{7?e9aV?e!T{|5calyt*kI6`d`S^ z77xM;8RU3N2xD=@X=Go(i(fEN0jGx;Hk0kmxsls?0rn4>blbX_BjRG1k2(>Dx!Bc> z`32>EaMIOob8m&=(N@!vUw=Rd-f|X3o;W%0^_$0-jl0^$lj#~$fZaVMXuuZ1R|*Nt zU1*T=$!#Z}$854b+TN94C;B$*1SLk z*B?#f8b1_a=K92dbz$IlB(JY0prTVxPC0}poD)ZS`J-JHp;UqUAFZgC|IP3M-L6sA1f5TZkx6<;%zp$ z@?B_X;Sh+1R+|IxDUAv{9UzicrD++u=F)0zaIUqzDVf35C^{B=z%<-_0hS}Y5HQ%j z6=54a81k7D1F+ma8vcY=B%Vk0G?wC~da2+*!|I0rx0jkC(ZnN^wZO|6>(!i0LrJ^g zmzg<)4eOuBWFDFJa3o)c7zM##;-jlFV)!-t0Cwz6lhw__A9W!lUlc$+FNh*UteOwd zOD>qfi1)VkIFzK5vPiWHcY(Cu$pDgH1X(^68kW4qNWRHcq!Q3#jZjffQ$?UZt?9%o ztf1HD3!`QLiqhC0f6}&`zs`OIT24pd68=JNrcqd(0nW=`;8|I zCr0J3Esbe+tdiKk*9ignH{U0ylT@Nm>wCK0j{xTHG!dk+}7Gs;!F#=GgawiXems@TrLX+(Z5H z&1K)I)*KW@iQNUU-nbxyO&=Y!deI>s<04e)k+eY%WlU8ht~(iy!eh-q=R6F zKM634@ZT>!hGCM_1V^78_amc0H(J;ru029j0*EwZkOKFu_T;+!hFfm+4}3Yd>AuNR zDA1Ke?dTh_*`L&q#hhTbrZnMA-WU9PxgraM0RGyceTRGj{SXOYBN)Imr-a)Ry&&5Z zSdw9K3-?L+;UC$h@3DDSZudU3egBxnMhCdprz!Sch?pSgIp8nbTK{tZ)5Z$wOf7{| zMz4&b^B1-j7%Zx)9L&zfhdcCoT|(V(t0%a7?b=z1=LY*X4KsXd_Y>WiE4@&2#$6!0 z;&xI0`hmu4M7A-6uoLF0r4Jyn+U+?9TrxCr&t*I+fjGBDut1MMa%`o!!u{~l=6<{D zgwye3{d9%vdv$)9IvFz3HrR&WimE2NCaPqO6yMJQy#o{MBcwGKdornrQK1b6T39O4 zl$Y`|QTVY@raPtM8yJ3tFI8k$IHs5Of8{JIBYH1%BSoo$9m=@ZD7;_7_0Jhb^{#CQ*SR7@f0Zwrh^7{b+_!0h6+<7 z`W2YD9a2E?%P*g4dzE{*jM_YANcp4^i2;(1tnpP?iYVrsK+cWIhpot|m3uCFW5(LP zn(~1@xkLMDv-mCHjU9VNuD~HeAC|JBT#q5` z1!LAV+JGXb+UD>MUG)`Z5@qQz?k)=m_)Q3lB#A?7atpHbalgOi4S_4sE`SBYCJr;J z&`weyq9+$X%)<91p1O;@B;yk#vaa;!#euxfu^!iY@vSu;&tci5sp-CBy0P;1Y}bld z>5h&wXOfo1q_xNBM?&~Cp;U7sz@(?U%+V}fHGV(WGO;~h0=!)x!ay+qg-nIJ0DmLF z&Lu+)xdm-&R*~NX`A~B=b%k%oRUl|CP*Rr$bc}CGx9+Ic6Asp`pZ1p_35R|IU*OOF zJr$x70+$b9G^N5mtdLm!t+vnVAfY*=V%=?drEx4t;ivP8H$ z3m9G9!>2G2v}1kxp5`u$FPz`E$82%^{u*HvbM&HqUC)dUW>F9#EYaJ z$%vteHVQSXT|$ro!I6?b^6O+Uj~ZWzw*t-0r-G`$v=4&&9It2p`Ig$Fa`vTCM((PV zqF;kTQ+FqopkzJpf!p23e$XALg!f`pO$J9aPyPagXwgP7fRN+Iky~9ZeB~s#Z~cW} zlHFs;d;!zzgvMSjIsInzGd{pTu?B_Fb&j#@hdnwU_Jx|;27$GCV{QjwmE=7w1+Nu) z0_mne*0UD=JK#ejI@~J7Q6vK#aOhs|bqhz9X6^|2ed90P`{MY*ZP49x+IS!p^52eY zQ#OyTF0pm;)EQ6Gd-Xc)lw-&7qPg~2XXM{`Axmc`F5~~lEewB=v6DIrZMTH)4LuxrxbAf5guArTTaqU-t27`r~96fNpZRGpO zVi5^2sX-|G^=nxd;-&8&(M+YBbwF_^zh~Z6NkktLC|zE?mie|WWqfa`D;ni+`!TL;>`;|Gt}8e5iz0^{ zEo4P~sw$sUm)_J87q>aSRnG84Mzi2VOa;3pN4+X(5{oobYNxgrM>gt1!=~03Uq#1%iJ;a97 zeDW4Z&fsB69r3FSKpwdYYJu}_MH2R}p;wNHfP*01Ypx{Wd&Lv=LcrLR5K`;BDpKyr z#L2z0A@}^5U7t=kMZ!#LjB{2dF~kW7UO`_V&roTe$h3wLNN;fZts?mc06tlLAJw+@ zcp4{%{(Nll%DM>Mm-3||0+ppsst*A6=zIP?1=OAOhj>C$_R|CB+BG+G4vDuLY5@t~ z&)PYJ!??Qwkd*zdjBUGY1e!acUw9Zqe{q(gLI(K#Qz_SrQ5~n}#3JAvaj|^PdGSbq z=*Q)h=VTgW64nol(*GGC{Tw(9>0jj&EA5t{0jdSr5tmpOSKo2(DzpbO$8Et>W6Sq++WI&ervfaY>uDW0C=&Zlf z#=qRw(0#y--{)~qK{+txMFT}wWWw@>*VH7@U%m&`(3l(Qw>(wrFvpnTeS@EKJ|*;# z)6Q4Y-B-tgmTN#Mrf;sI`K5hO4t(?Jz}e>T#{Mb#j6^a@zZYyNmsAp*ko@6 zY2YdWs9~<;b$W?Itf`tJQo8pu2VJ-T zcx+7gQc?r0WVWI1j!AwXzKQE>GUxMu7)3d_MS66@*5tO(27pn6Mu@cE05tK8II&<| z*A|jJc9k`ujDLnS8XP`eBGI`B8a;`v-M!w67h`tnIFDR%KT27oE!sHgZ$ruNOYaUK zyuGBMfRnvdoqi=QOQ=Nv)>iI9TL?bmFRrY@O9bZ|oD|i-o9>6oBu-TqZe$6NBg$Z^ zy!~q~&wr>8QV4wG^L4uGd=hdn1m5?Gwb|eON``aC?g5UXGn1oAF#Se(H@RC7k z-;+ur+ui;NdM7Y%;La$FRh0p)ba9$i=`PPz#K#k7-WU!^)AtENH5#om9epRJx(-)V zA(&})evbW_feI$a2R6I?*g#0M(>^449nmEfM!;oeTxay1PSh_*_fsU`O@R0XGXMS| z-^Dy%JBm|Uq4v0~H)&mYgWV*&p@%=O>UOZX%t`{!^PHV_9Av-SUmXvzI#YhqO=picgvXajn?!$sN!n-5Nh%BuQ`r}G~*oIKFnbbT0 z>B9$RY0a{oZFtHCk?j3Ts`7nxFy6=Oq<&`vp53!=Sm=RzNs;s%c8g)Gd(=fsj9#68 z#u*&TuBA>yU&?~1vXB$3#Drg6!6U6eA%z9$i1)2V4glAIFmO9!hxgvD#>q$$!7ds4oXhcCOE8C6mR(8#uCrv0AZZp2v26n z4a}!>qNFkms4+Q~TYh#}P@oX-rh>NEq@HFd0wPE!-%4|lyg?#)o8uw;QkJxtABs5s zIQB|j24citW*CuzkOEXQ7`e$Gd~tYMsmyw?(1-h?A7%t#Meyf~ShO(?j;%|r8ET!>%C8urhVu*D_d(h(Bf&*@e&T|X_6i#>z>H_7Tq zU__TPTtLtPx1>GxXu!Fj;>!~p-O|b#u!=S2Q+OsT5P4uc>#0)SZLik^nF+qguYir( z)%*!wV|Cgz)*9M^>Wuqs3sP`-`;T(b(unT_jAMYEDP!7F^NqIQCsRFvoOnGYZ!b;7 zBw-eIH2W3M&7YjRi?t6NQ$x~-Zuvj5XUiQS_o7atiQdN$rW$>jQ`l0BdC3O+kyy>d z@uaXvpYy3g*LJfnKhrZ_zJ-0AiIdDDpqP@n`~h}vWHy29T>Q9RR;cgrxbvTq(GodV z(yfH)6Lp1c=b!~~hHdvm@;ffEE9eau$NnK}ijFxPIJ8jYkKm3<_CldMqyBJuHwSg| zG#_jDu{CnUwM@zaJiz{ustVXcN;rO21VF6yFdt36bjG0;q?6Qg<0Ig%H>bWb9>0r| z_`Mu!`DEQ*$PW#f@W%&|i9qGV&A3xg6TpwCp#WSdJfTRf!_9L6AxhExvlVA@0}_os zk*=EJ_9(0b8~LrhDW^X!SK!vq34R8*1L2be=Y1-$v$1TbV=u6QcA{;yce0ypqxBn~ z3t7|GAN#WBGAD+jwEQ%VCcCn!VvZm2ex> zK;Lzd<6`mAC)G|9|9q8{m{sgX5^I_9oGks(2;Pki$gEvuq8d#$u_6HUW?;94T168< zGxh$3{ITB_!thb-&F#D$H>cR0`puG4a$8HOGHgw*#}@al`?Jn)o^EU+1>C>IIbAsH z9O&IjVP571M+xrxh9~cfw`x{5lxi%Ftb4d$<+iM8%vN@LNXz1B;~&81P%>>*pcx_f z94d^a_4?Zl_8u14ZTo90cN7t-=3%*9EUOTk#v7#dM8qYNz~c*P+Eahn0B?UJ^plho z;0aqE-a%XCG+=9h0LJAi7a+&a>RFCq{@l-n4c58JFgp15E1UEselQYHmG?zmaM;9f zI4|V33jwRBD*(maVt!MYU|?!h4zrTd z%aV6IP6?LA(-}Lc?pV{KH>`BrZ8Bmo`4+&84FJK0QyJheCb-K= z{ezEbk9r4+Hg$cxYI^t#I5Y4YKd?y&&n2uigXrgx-a^zfe+roCp$XAm{cIDk=%qk4 z`C&X7E0eLL+4!1s4G8=Add-W89BNHN)6>fRruQX(Jx=A;KVo|*H^idLTfHS3h73dcb1p zQgovc30?zqK?X)|No~F}0z$Yl0hNP`Ei6;TqkUshjJXpGZ=|)EGJFeg%JXKi0w8+i zn2tVv{?+aQ#kG5#a{}3#o!P%L=R@(n)&46XI>Y~!5E5=M?vW2?e8SE%R;F(@f8>2& z(VckiL*kYb*!a94iNghwz|;#`TXtn^y_+lEp07iVTL_~%8oXyL-oOl)i;N|K{x$Ux zy8C08o!`q5*Fkj`;4CC7G;F1SQ1R5F_=@wkvz9z#Tmtj)b@um)m`5%=NbA#?{}xbD z6oxzA)=1D>=3qRABfjqH$K#W|n&#`?Re<_2ZS(5GjHiE#N>mt*=S$*1V}&EISbD{p z71J^@)~02!2#YdKRV>d!QbL>aJ$|e`*H{Dl7o9^jZLopJ16b@$cdc8ESdZPM=e<&F zY}vc+2S2N@jzd{Gb)+cp<9{Vy;GBQyaZP3@=@raD`S5Hs`nv}?>HYWZQ4TMU&tvt9 zib3Q-M+;I;lOTx_xs@kst7Z5^=O@ba=HmTuH z^$wm!+HEu>#k2(CA+f>mIWi6jA>zzM25N%dp3J5;p91!=Wba}vr1pw?_x10TeExU{ z(`%;4bC5JB$W~aM>-inV!|2nGv(@Vy#K)Ln^2(s?i?D%sPtQEH5I_SOryig^*c1VB zX@GS_R;#nilC7bytqwMLS-xtDDi@bS>2}_?zsk~s)r4GPkc3-Ig|J$u{o6SlApNs% zw9)4coZ91;sps1S8_&4PzgE}J6j$`{VWc-5fdN2jCfA=Sj2%91%V~yH1=du*F6^8p z5r@Y5OuHXx_u%Qin&j;lo6Gnnj4ir!_Zpkz9jSW*qMXLW!YjZcvtAi0lO8oD=czS(bO~F;}!2E>>6zpq)OVy2PD6W1xh)lg~XqLp(zl|(uh246Pt09c^ z9YTvzy9~*p!0sq`3CSoIm#^b*FX4~S%3Et#IN97-?ihSThy;ci;bWiyKrsboQ8tSEX8pXrnKM1_z)16uW=;Iebv|E*Ae&0wS;dQSCum) z%g=c>TBNiv@9m_R{x6P0flntYPH>F#%~zA>1&@=#UUP2K7mbBwuE6jm2GcElYGtS! zV_b(L@zA(+EGdj7qi*Bay|}rU;2k^V*E8qBxszZ<+*vYMKZ$$@4Q3+`(5e&}@eixM&_;VuCf%adx+ zXg;7a!dMHYiea9&E#dZDNf?ls-jjPj<)1_H66>>sOZzuYO_Y?9CvJS{q)|4)U$zGP zmRw)tC|jxJDAxeWxIhVn@($@9LT?<2fzN!D=}6qMTu;LoocqHVDRw$nDK+m@XT$M@ zZGCLhy@hYwpYsWH%9VayTx-f;O=u}wTDW%oT%oV7C2MaE^kL%pe=NZD(DB+n-iD@f zan+=++N6ZC*IAN*P10?>agYMXY<^TpU%gzX;+Ll3prY?tE>Wup z%)`<+3l%3eZxOw`#Et7Pqh)^CAn2sE3mZVI?zHyVo}Nr))IWn0!{BMJ)Kv&?;C;9x zAfgbV6?Vr>S=~d6)Vi1Q3P?kk!2&a?vkjS@Lz-lOG@vt$5U7468mOE)MH_yH&MKy7 z5pV=g9&XgSUr~)VmY%2hYR{Imwua=5@efGCW&hU$j6o7p=36nbOE%atcQbF#zlF=2 z;`S@~^~ ztnG9dMujMTZK)Bvv*-DxJXP--FnOB6xp65Gd||N_KwRlZ_~sz-=HI+D4={R={MYae zf2sAjyc}VG?KPdGKRf73_q{*!qw1iJ=Q%ckXFINU6owb_cUw!&?%M0e%a+-f`0SL= zQ~)_DxUo{DE+hWQ+xU`>0VXt-%vb1D#gBE8$~J zU{H_A*29nHAz{EZ$5#gg$VVK2W)&p$_4Pd+CsqhOkJ*{eC15%#u+UVd*eoTMs0l8l zPlx6sW@yoUJ}>lvSxy}F4$g2oS>nVCB2j=N`%IV;KIDIbT@7UW*!TghN@oZnDNVsw z#Tq_lBcgaFl{kUkI0L-YI|ZO@4Fi7v99Uhzi^~)v&e~@W_wOR+zyd`8h|ASD50KB{ zppM!4H9c_jUik~;DAY3Kv7CCl=7jp{Qob@kUpcs(S2#vM5?AY-{q?pOTGQtf%LR-t z3%%BRA2Tc@y%LeON2~Z9V<=4(szz_W`Zm-TIlRM}ko&~z5U$a~RIbySSAkEC{ngpX zHWSNShKO({)2NB0y?LGpTc`zHKE6R1C`WPX_26)KA|zy0oQSj=MiXHG=R|T57I54H zi>g@9H3couc_xuOU1%4Nkt$CHsPtJzgFLuj|H)e+SEh<8}9 zB)&#Q07OWkoJRNMw#jB4ityoY^J!X5paXRnduX?~)^sJ^;|FBDB@aQ6I*}fyRpV!_ z#}DY^j(ez5^V2HC?zzh0X!H+6G3-soTb4pBQQw(H-t|)C*NBHMj1`tLKZuwZ17Gd- zwmUq#Z8zGs&P#-(A~wb?Rx(ByNFo3d=R&#{lgBotWgqUch8jTtCay+qH)eU<^`Fg6$q+e&FmgY;t(1^)Om2hc z1l|oNkwEdfhCPBXyg#isKvE7!d;V^6BL?V)z9L|;Wui8hsQ#=vx{1fe5~p^GLI4^{ zUwQQrf(GiC^k`l9eMS6S814xZZ_x-OibSPRVnPEao~UM~19zTaXVJ-_9U@8;XB?X} zXwcnhf?_rzKoY5QEn$61@uNrh=HAX?^Ww4E06^^ zNNw43Z;?UQK!fl;C*)Exng#*4GuR8c_8F)sZe@MPDsNdOFvP+#E=S*2I2U!QT--C}q=d1Ug!(bUsr1QTx*(1Pb0I=zo}M7D&EO!Ce}>ojb{Bb5u_@+EjS^ z<-U^laqK+)kBVlpm@yc;l$Vje9fu;{yEKavnE+vQ420V1uQV5`4hqhRwyz0--(yAX zK;OPE#AJKFL4?wy>y1@_QAM4mKu;z#Q8feV*S6udXrUoH1~GxM*vQzm@WtbPP4y8HT{<> zQbW2&^gn|#njRA1D2izQN>A4yx61f=SF4p>1eC}^lUZLX>A=1zU{u%|HV>jTF zfxQM7KdIHv1;8&_hgCdqyOk9=Xq0UC6t3|81cVJK8B>tv$>HP@;FLF4dy5d83hL-$ zdBd+-D;;Fo=bQOpkrZ3yf3Sc|a`0Xo&q4AbSHgQA=8D`4G=-)03Z&Vm#gaUCx zB;fsc{VNQ=w=eyJAF_rrC|A|jw)!umS6|FiwJa8)@uC@(x2)cf&~T%zR}O$QT5zDF z+?%oQR`8~@OW=;m#{W%Rw+nL_^jy6vx^|Q%vgQ>P2jFXLL&%-?%l6QFKYeA}VpF=q ziH{=TAp&=@Bwv!bE?Z%}Uz&bU%T@CciM)z- z*tms~9qZm|-Tx&^P}7WTGUYD<`b2Bjbv z?Y%C}*Dnd7k!1Rc2dI%$6+0376)FSwesrHC=ivSVhWm@oKknSIe4t6|V`P8X4~wf? z9ur}K;6i{fiVnKN)mzVOw0f|_B`9?qmKCmy4kS^}xac<9HT)>-_lvWY#)R&Z=P|_& zr9Wzy=w1DHJRn6V1OMpwFg^E;Z!Z9p7v5uqW%BOD{GR-Ty6`t8WSFCfX$oO!DqOQ6 zR1_8X_e!Deyy3tS4^N!bFpmDqF1{`{8%sQr`8#T7*F62j#f8-wMOa~iK-HphNl+jB znF0TN9F-n+B!~WCXS=sN(;$!=7acsNpy_Q+sfrzrTq_;eL0X@#fr!c7h^qnIUh`fX3IToxF8>Gg= zh;}`f?mb^ZDFO<)tnZ$T8vyh&jmkxc|BMUB^ph+xR{K!xP)w0Xy;Ovs7!R1Fg%okR z&p-Dx-GXUB+#?jS*iY7|RKIC{&x=_naKv>LMelb258+5xpb_MZ3$co2s$4W~sGdIM z!ENj7DBbORyp$lvClSk2dpR2ql;>XQsonc=Xnownw-yeym+cEAx>?@GnOPdi%WTQ& zmtSB}g|aMuM#e7BIaX)kt$J#IEQYrj=|<)xYCoQQeDOQ{KRG1Bfh`B5NnmgIqJxIK z@E+zLa#R&A6BJ1O_>W<$654@8prGa>`WUg8#=puJMN6?SAzZs7CSA%OiV0_bS z#_smja16|d^DEc$whOOx^NR_e-^17d zC?O$FLL&bxSNGQnEEnT%@E{)mKa=4Hn1tix$k2h{`lwpx4}I!lTUSQO0w`)eZeisRw?^E`&nS0fn%3)z9bOm(VimifD!i>O@rC{_(cb*d=9f`My`(JO$^ZV>`a(` zHlhHp-13Xh$=`e$(n4dpH`gt%lb+&sF(ba$;_QL~GU?djMhJgzb8spNUv-`{0Mij0U})h%?M)zkySdzED!xznKq-7aK$Bs+Dfg}R z)kMrKgzza&Y4}`=02O(9btwu$qPTK?_R(|t-SdCyeyRG23$u zpRM6VuMw1hE+Xbv>nUr*XG9Kb0oJP53ow4uEYf2InG<{V<$#ulUbP|870feT_2`jDjZLFJ+mua%|if!i~ zTfh$^jFo$(9W=vR!*um%EAZEBwv8)|e~=zLLdN8B)N_6-_mC@*xWeX!l5*+WNh4JV zz*7mVkNT41`WHppa}*_m$4cuf2FlKEo2tP)Y9&4H+JYemZL@2@)ax}Zhcy87snTb< zl~L$#8G*DRZu{rOmvj`AT`J9~iFocZsajvgpD|XnVPdXBN3I^sG~&%<(8In8v}3!= zqTjh;e7ZS$e&g@8NcT)G(`oP{D$+~*WMcg&B?`K&tZ|rjUm{{8e*(~G&{9ANBMg=| z0T9bGLIb8ZsOxO*$Y3yGaz5`z#FXE32ZtnFN60Ra#x!;sxRAJe~u1@e#^l? zmW!jX>TY4wJ3u>(d)%F>7-#BtY=f2$z%s7X>fYvdOgy|2Lm9=WLECMGOy#tk`a~>2 z67or@hojfNbO(Z2qoOcn6U2!yhWMvQNCr0&J`yz}Fq^}|%@4?Zn*VvV;_$_SKe@aEc&C4%;FYwp;@+d`B%feUo>?UH*0y#? z-<%SEBO#>$cqH`7_j*i0DJUlA$a!|*AJ*s*XqGGwoeXZx$qP&v1#|t-YjJ2}kdpky zU2K=^mY_!Uj<+i?PK1{$;bLtX*UEj?A@8~WFgh~b*1zlV<$Mk+k2tz*U2Ln2>0DRh z9UMQagg~*kSO=ji{!RS;pyrU=1LB2H`x&0d&Yu5L%3{H6%~uTgjy0(?=p$dReTy@v zwXX^3j1`R;ahr>9tVtEUA%7@t@p1%jd4weXLIudWG>R2$(B3GvNx#H?nGis%{8Wf9UL} z-&`71*bgV6q$x>yk>=y}?l_M*wo8hAKArB0ct1V=hBg5$(TF6>%l))k%K#)nQqIH% zkN8u<)Q|R2Bv9pOQnhIK@T2;LU^r9;^74k`?`Kh-A01iSKkFa4@p|Y`Inm1CbJ(`0 zu$ds?vHU+b(VQ5<<7I&_mtTguj1a!>K}8<gIFVLCpSLT9@MH+RDrHcvNZQUrTQ z(_FtC5F`eq;F0VVe5666svH$)z94!;ixTU>5tF0t9G!rGAL5I_??Of`mD1jf`Z(CF&6$Fmi z{9ao!IZn+BmD^u(a+LQ!c;Z-nO+#0&L@-szGF9CnEP=Pt>~5-3E+>>XDWGlA6SV3p z1B!5<8}9rte7-T786J!J=jOxW!j4qp@0gF1fo`0uD?7n!L#B#WVl_4+6l@4z@_i-m zR>CLGp{M0q8XeQ!j15)G)^+*Z;{+?COvy7%daEs8AEP>lu{#B5xTboWIe~|DkFT4Rw`8cWF_b|fxCehGL z%qGCnN;HmKEyko>hL1t4UgZ-$qPtX@*+fORV3lD7)LV$=No-GcKHro`p~v9oSG#Lt zy(-2{rj>3D3mD{ecrwwbf?HNc)Z2^G@Kbw!pL2$k)N?p`h+pXbXK&IG`JvXla%qwFyJga%Cu_|;t@>0$Rc z4O^}>d4xz}EV3p=i!bftyc~OknJOYkU~+AJz9F?W_y1&!4a)mXvYN9DShzqn;;&*D zC;c3f<<8e-e>zJMT;ae;qTUD05m26h9JW0UQ~Lyt^}c>k-1akF5cSxfZ~7vURpo_lcH6EZ?bwYH z^cz!js%My>n{J}vlR_s3lIrb22*Svx4Pn4rB?bQYoM!Spwv(Db9pK9RiMUCO${Hz9-NwuN;;(D z%1!E}TS))s4uTJy5tS>_pBD4y@yj)C;uUVWj}d&M9%EJ)cCaD{C28u*~; z@(K3xMujgZX})>J1*U@e>iv2%5reRvDnfcfrtOXN-d8g7@YG#@xC}0ZW{mdIXXeHU zIC%4<+b&b7MgPBw7aiUYN-*XC5=iJyJ$*w(wR7zU@_Zmdersf1XO)^$V{P|xAqO{27Lsu z7z0=~#dk$|(0syIJKfp?_r8$c+`R2t!uPH+VBg%1FP*MB7-Pk#j)$XdMM!_^=it?_ zBGX-nE z45vvRM*ntO?}}Y7g|0^@9T%xc2G@S|j%1JClfn%~-~IQ*_yFWg579RV!l&nPr6{p3 z-GsT3x)`cr?Dcek-#>}_0DQZ2e&Q8?=qn-zF3OoMhHvGzVf|0327hmz&=9?@T5ty| zQuv|=*F3IqEjDIze$>DzbM&t$|9Fz-loI4H1LD#F5}$4*a4#ms;^Uh0#Wphh|EkVY z^3TqVeXUIP$pe~12D;52f84_sZ zNh#p@#G)#~LjYj=f}z;KyxZa0qPD|rWE)P}(T|b+IixgtJ`NcKuSB{iy)?PaltRLJ z_r!n(vMngF{m1rZ2)7H1Lf0I@|G{RZdBqXLi5!0iZ_kT5UCqn6oNNsiE{!;i$u1v% zbXE;nWMeT$4Am#Nry#grJ(v5Y^$KF=;%qxYrvcPvf_z8kHd;fJ;J%%wh-gmxG<%Yo zqH&{0ySV&Ow2mkT92VohOOH@C?ZW`zsSH89?fS8}NSA@iX+=}svABA7oLJ}6vRZzG z+evkwb!!2Y#RbjK<~0MHS+75DZ?8QSKDH%qdwl&<@VLC&NCQ+~!;U5ZnlK`_>8~-3 zu)fbxt3RQ_40vafj+nNEt(dhLUOomA9nt^AEDYY})Cx!pXS*0_pi^^BVwQoo+xfp( z4yFFpb#U(KfB!nov3CLm3T<6!9_PBaR6nSK9(7toA_yTA)&k;!6Ks(8aeMTT9MgWJ z((D#$cC$dr#}KqCDf5&u6c`(OOt4r~#)_DX7PL~&T~T`Ev2v?&L*s9U*R0Pt2m=80RM;NGUhTOs#L)2L{r=-(nZ1c(eOdnpSj8;#qkDpD1arFxQ~ zD;XY;1Gj!XzU#i%@ICyr&Y9fLS&E6d5vPrK@9v2UNl4l8w>BjlNdN&*&{x9s9)Zk( zoe2HUZQEw8K+zMA%j{ByzA)*;=@*_>g3rY~C-m68d%hV_LPk><2nX1t6$Th)@fuz# z*Vx%I;@EnJcbTR`es5{T9(yh0$MClExo)PGYa2%N8g7vHJrzgKE8 z>o*GYn$a1og31x74(_8HAqx>8ESsv7jhq zl3%>+5e6s-z>)&I)vnyCMKK5Z?Ujd#cf3Rv>vu2NW+*iB=!^X)UzDEY%BBuRnlOm( zZc~O8nR_;PeS;mc+Z;Vza3}Z1*%h^~T%6#F6!cCPg`j5&IzgYOPv305-K-AE|LMksEowQjmSO{<6fnWtEX?T$#|YX8)u!a~9QRV~T=Ync(ocv!+6~l8ds&&>Z zh?e4bNT~J~7J*GGLu^uLZec3Bz~o>4FA7(U@K;_VLv;S!?lv|lR%#t5|EH{sJDcOS zX*1fd%Co!dBNvog>97~Y=wcMbcw$WHJ_6N*4!pBhumj5tDKgzR`CY2j-{~eNThms# z9$ugoWHeXpE$6>5tD&Zb20W0;0}xDYMnp;aHnzM1%Kysg9$Sm;>j+8-3oyHyb1B;qfbyR2zxBL4>8@a=V=)==P>mB{V0pV;QT64pARo;yVLzX~`aC8IZ|! zU#28aJ-x@vo~qaUHM|mGrzw>%Yg5tXvU2)QI_<1V#)VA7VwB>VsDQI-8{<4wi##8b zU3TosTJ5x%SA?apiQ8R}4rV5WT#1jT9VfvP(Jf8xN|n*^D<>$*hW;qu;V@;k0F#jZ z5Xd*2jnJEDf7H54p<=#ZFQED)rhvjAtinsCDjYeSpNm`nMA~#GJfJL@5xikN6ob#$ zwYX7jMU1J1q$&wa@(QL~8rFn$Tdfy$P-lw~F=}y0Yb^El424TB5aDiKL?`(1g8aV7 z08r6@5)v=^U%!g~B4KRW4TaC7Drivg>IC|t0;DcJzisp2qDivgL+)7LkYqDZo ztQoYA|9}U`S`}Rrge}*MYga?=d0iNCf`b+I!-gU{)L-Td``MTa`YE6;EQ2OLKig|H zR%P9L4aA54sJV1ElpFQg#CZR8?M!Z46xgfDSkf#!VxL{VMg2{w#!JR}q2aP-bIz85 z;@q9uGaSdaT8>#rTVt@ek)m+!v{o+AAg){Z2GhR0fmKow+?9d^h2Irt5}Y>6Oy;3NZ-sJycFzJvQ9*HNrGJY-Y6?zxYc;yu{N?P23Ygf(z zs`UjZg2Z#|4sehquL5tMt&>Qh?=MoRb?i7Mde~4g9|r`+ zVVw;xSf1cx&S9%t9NkfU%x*SZj06pYsvNOx7I}jEJ`ERB9vm5*ES`oX$J@T6)Q8vS zOghqzJ3kVV-cP~1*I1WpR9hFzp_61MpH`ZkhxBnunqT#0HrgigfjeAW5#*tFq zUR~{7q461Zbk~x;{Z>s}_O>#{bm6`#W6FGiFw8UNC-3*^Re28z4zz;X5sK)WnDV=&w9+K7t(=JFq>@d#dF~wmc%IA|a1E$=YImvTW0ynd zW_dL94`R=M|25E%t1|RJEXQ^6Z;oCNID(8YPh>7}Q^0A1=F+7s=5dOHqo@A(S0{^u zt~Og%pq|;pdw;9WdfGqXD*jYrEhj98ps&~EnqP=x=uH>jB~>q5@TP}Oc%^a~PMycM zz2b}I%!2#G2Q+OLtHlq@i%UOjy%;Hw@+3}j2w0UghMcNU+cp3-<{{z7!7Jl;tzD*; zgCjM>hj;nmCuGkCy4~3iJ)gYfv=eDwa;00H7n;67MMQ$WVhI2un!>t*MfyBWDZTvG zXiprkH=eGlwM4wFYGOC64|ymbmnkc+<>8P{Ht0@Z9OY5r$|N{@N<;f+9R2GLvJf`38ZVTj$tn*!;^n@f_2Prp2&Y({i+-+`sn8K zo%m;sKBEKMc6Pi!N&4Bd-9V$dG+H3HRm|p=l9a|16Crv%g;5n|K>tpL0pTtx-nZlC z-<0Bl0Cd6Q4s0Rf@LUfC6oojTibi))N)Pwm3n|Dg_W8@vMP)sns{ctU5h|@g3Nvc3 zsDUdFR!N>juh&T`OGw21J46A%a**;=;edB21$-~hGfv#qvMIarWw?00hWKUQE&>`Y zmRT~RkqgKwO^$=~J>z%XrNdTRgBc^Jwnu!RcuT?ILf+F;>!}zdP>mtikU~S<@;GJj z-tn#VV#D57PwN!ZXsAyey%}+Srop{a#9JXBKCqKQg>AnilcdFFhSE3>GW=d1{NdSj zSEMhl+(-JSi%;Ef2-5A}t(hj?x^B?-%xBK`iG#8ITC42vC=LoRu_rXV-cTXTLG|x* zWcVic2c4+m^j4ZrN*6HD7D53S(3QM_i43&_2)A**EAOnCJAjQE-YxX2ms0?7U@Hq3 zp{(mcp~Z|swH`qSSkh~--fmA~tbK=F~6@)botekiegBUKBk^M{M~St;S1a@ztSFQ#$CHDx=2k4 zfq4qN+OXK+hLvb4#}yQ8V=~pW=)U`0zK^-|Iq-mlc?LfrEM40n0Vw;Oeh2bb0(va< zWDk87qJGp1DV+fYhY`n?lyO@mp31GTvpikl z(ZZs9{}avyeUq=En>&6NznT56R^!~Zwd3}e;flkPKKI{!LvF(yk4MckMR5zdx_y`1 zxv`I0&RcQtan1RCLMDD!~4|zSIvg>+z1^$45r_$ zNhY&L{#2X(4)kjE#g6p+RBh-*QhL|aeM>3hPQbMMeu&xm%?R=FUIT-)lTVbx!3gk% zQ4-V9sS^jGt_zF;s7pJ5yUWk#B=_xe$iw{Kt$BA@7%STh%RXQRwVc{FXebh_8Cl+y zHn_f_vS0W*aa!H>J!7t(R!U-gLS`yl;PIE%y>){LC@>UKIdI($hJEBvAw3Bw(Brr+7+_*-Y7 z<>X?VO`C0E8;+(bn0?EVaA?$;1fI4Dd*PX3{AGST_S&)7Ov@tW=2;$VD&5ag0pDdY072mSoR~uDZnN$CpX!P>>mzd8ffLFi2|^hpSt2XN?&{QbKwoj1Ky>r3{-q;)IF-S8 zFO4S?sg_{|W`psO7HkWn-?%KA~xu1u9lHOP4@0m>Me?DUEBfY`Hh@d zO!}#xpQTSvt|{@@jVys6FE;4+CRV?Ap*AX&+JMaFDa>BVp=7oN!}u$PoCM*=u_L<$ zD`_E_fXY7gAj6kHnA2X=Ddk}`L>B@72pz7U0Gh#vpKV=dZ>fxdKIN;=j2^jtdQypl zQ#{B+E&_J*Z3ma8JV1OR#iV$LFw5x?xe-CAJU{SM_|i)_U_~Qvr4|?C`s}DER%-ec zJ?>4q4giY;N@ZA|%)cyG3h;~k(IqqC@iCV=tBU-D@B3Y$6~G$p{de*ap!j#RS@+Vr zhvDog@5MdiJ^{iP9LBz7#(ytDxcfG(iewERhwIW0hH-d|u7@U8)E{E{2I@qlwRpN?ent>vKiTR9!&u z;#CpXUks&d0%kcckIb=!z5l+!WEiS*voy3a#CSOD5p|C(Nr*fOoFcFTiZI%yY@T&v zaRhG;6`~0jt2Mi78FSl`lS=E)uynCi(?V|49`)s3bBUXL7KaN2f^`|RRH?A-$5;(M zUW-vUgWx0E+PjBL%WdJ=kuycF9-O#Ux&}Z9ZNX*p;fX0MtheWDw2xzTLY2+^lNjGH zp|7_qEjBlLnmgjEx-qdy{eaXK=}X5mdH<}&q3|?L0tvY8&A+grIh`y;&H0Y}>Jac_ zUup)%0RH!u-_l&>Q_U!})J#YCl_YNHdWl!Lb-A7Y_H1QEXBtI#CIy;2Ski>qWt#oD zk|BcF=>?j~4D8=~O-D&ljsy-0)>x~kC(mk}2c6D7ugu8?9BxH|AlfH!DAH)5|I7;r zH!m9`0l*`KT9{{R44^%D5U^p+okR-(dneXaDYJBlxlxOMMp)(l;=4%fLI{K8&VP=fy6UR&}@M$vd>&_t~t zPi&P`u=!v>{I5ax0JQ-a0TK()5*z;WemDYfc?rwRvsJO?^YIQrV$v4}egY#ASr{Dl z=k}{u_r{K60Pj!0npH03cQsQ%1oXq}o~Uu4@$(s(JPLM!_IP>&fTkL)=7+hDc0=&= zcM^s>LZ|swFQ#w8q&c}gpUf({bK_r^-M2Amk-ZpA-bvM!x`h3LWi!Z{K%~2+ByB+w zjpLE`tIcO3q~!i5Napm1;@2BuEwMAO)*$DYYF&p0SX0fwphFiC!TyO87TE^hutV+n zrJ)0s!G*}C_(4ZcTjAKz8Q-<`Dxb!arQ=#wK35l=j(jb6B%eX-;fx+I;sU z4ToxI{O+vpB0d25DD%Bqdis@j2bevYv#1v#K;hlPIQJf|B0l;W4(n9+S?0<`6#NKw zm_|w#0ONr>&@UnmFud0=LZ)ezzod_S=-R3#zGxgKzzd4D*qTmzRWfv`%B=%VMw%Kn ziYC12z%F|CiHovd{*|y6R~Utcj_K|hS~xx*^GSetL;&hlr!NBNBgW`IAG@r+1zzc% zhD||v0!wKyMDg7D9|Js zcaFVE)Zv2KcKp>SQ9A9e-59aATC&GdX~4M|=%v4|1MU3_E#K>JIDdjBIIzEOQ-(7k zou5_y8ACWfTj>6@yYDT`ojW{B81ChbI=>3|Q3|1tQVmZlw9Aq5mLe)9pzw})i)c+F zER%*{Z}}_mZI+@Dc#jNbkdmKX{0x;Bgt!t|w}}tIM&)lG(Qu{NnGhk`tOxB2DB9y) zTbW3&0s{5{(9?9H6`~hI78Xxm*>s0fkypuAgHMA+K?Gwg%5M&b^L`iiYsH;csl4$S zCg*(Ui(WWfx?}v-;IVyt_rgx)x2?CZ);g8L1d1^WGm>wXV>UT6N2-nRfe0l(q-lLY z0*Mx|xD-5-O5*&9V}wz5*TGcIi%mDgXU37|mok)%cu4zQtF@OuPfj3w9e-oF=WlMY zUF+h+jQzFbN;QNQY;3a4TQ>`6asJg4`b_~Sq%+)Qu&G#a=Rlz#SmZBbs9()<;QxO- zy=7QiZPPWJ0L9(iDNtOByB8=>q`14gOM<(5aV->w;_ejJ;_gt~HD9j#Io|J2{_gB^ z&pESZ&6=6cuu*3dqwzF&(K+Uyw|)BS?ELs?EVMYN<#2;9Kcu378!mfdO;x^h5v+kR z>`=e8qhfP{45uQep{m5IpW3SRrG7}&wLey^(xP4`3{vd?1%HqUQqSoa)3x5%o6GM;jgI3I!KzBqUxK{+!qc zrpAHi6l9&fo_~4`F4qieQam{sr5oV)4Cc&CnE`!H&F6jVehFgOy;X6T6y zHknLQ0%J9kh=F}%x@4sfz#uaGvNQBoYc2XM!EllAP2cl&j@%8_4=`^pQv>db7D;?f z2{#^5dOYFk!Yp9;5ds!PHr&Jrx_mbJo^%{A^~qc`ry!UvCP^z_PM<*S6Yw7)mTU%W zGm3*i$7u|^#^F-CkSQgWTEaA$d%*d^NjrgO(P|J@0EKLkOgA+tJ${A-tbDC{@DZXa z>SY=Yf>mu~SMdK{7tYcTwB$kk3shsf2YM)%`U&ruP_1)8bpnZer)zZdw-F$HS>}{! z8c=AnVVNyUu7rMlFjD2%V1Tj6-dD>wPAGmH9r!@dlj+nt| zbwvO4P)CNrANao6@%roY0k)(Y2DR8prnBXmd8b(1hr6hH7@XKkw#M1Vu+A03#Iay8 zBVxFIY6jrY?(CR6Qy=1GITFqoYvTp^WgDAJ+oNeeKPF67S>8rNmzKRDBd9Z#?J1jZ zRz!M5Xd8(BRH!6?!VOF*g%Fu-?S<$#XKwxmkgvn7ahng^3>mI+wjP0I;cSnn-v#v~ zWdGY?^)S{6qSeyKL)Dy84xj+R=>a;BNx`F=cvH|%?TIfWw5XiV*A6pYIlWOM6kkjW z9}K}<*(SvN=AVgvfky7CwrZNT3&0GkIl$;iQ(nQsbxZ#f(c(Ip#oKN<6y1Ba7EdS# zc;VdGt-&H>0wE0zl;LOVVx`7MGjx-G^u@V)IrPN!YG^51nHr#dWyzhXdGuHjQ;=T8 zk0T*z8_GZ3qq3rbh2ocItp5erH;FqDCENhK*Z@)d244dNqfY04aWBrtAl-|i>F&y( zw;;&6gY{5Pc|X71nm#_drO^C_?a0U`haWoYnqMpTO0o{JD>MY0?dl*Sv4lRo5~0!! z?Qfdi#P80}e#@ISbocI=fktD?f7puX7yZz{3_EnL-EU2rsUK#%TA&T+(imfV9Cdgp zlv%H}%j9IExp#`Ol*P#Jd;H#M)xr{Mj)j-5gdduYwuc$marqR%{am5Mz>L>D`Tncf z(%f0(K;~LnpgZFX=S(+JL7EUU{4WR{&rG5+3OsuN0jJhRB66Z*T#474Hq2iq`h zP}fc?6SpsnId!e%H|IoQS0JSAHzL^qN0>uXMfae$u*TmpnHQUltW)}HK#C4~c(#{a zmg+xe(c>@nbG5qW5lTICuJM1$U2wj0^!xH>6Aljro_TG@RU}NS%{pIB|7kA<7@2$b zc%rX|YzkelWatQl1!c0FNoo*I5`Wn>lExQXnSepWp;vScAnh?r?$F99qP8yiw=~yb2N(W`EqWlJGdu^-%7}9I&8RxFKhU| zZ(iXD2V%lz|5T8^#i2!!$CQe$w72wKbp~Jx4^=t7QZO(x&zPTbp?AMf7_n4uo(j10 zg{y_TbXC70DqroL&mDE*oVc8?EIi70&qX!E!J6#1=N=I_!SK0yx*XYpjPMC>MpK~D&>PJ?DX7`K`R*p2 z;M!0-woZTKM}`5r*^n45wW}B+d|P24XLL^%vVa{2-dM7os1_z@ebGgKAyev0(EitI z4?s=E7T3A$SNkEg`>A`|pCRYPrY16Qb>9Jis3jGy?S)|FOYfabedc(g*O?-LA2RJ0e;^IG_ny|aqK#tX5$ z8iIIll>aH1>AR>NYGGy0%FyOEYwhtFb_NiR;8`($$NC13IeQRH=|k`dNQqcTUq{sa z`)6Dhhhg=_vl2w;OaS3EUVAG=~GygF9c1y*+q^?EzNsS!l2RNF@R~2 zg{4NITIclo#9epEbKxHCpQu}wfT@Nr$)WW70HYZOIg~>P7v~$#W!SnBJaoQ~4*OI; zrtkq+m5QJq@up$0t5XG^m+P;nB*C<$`S2FV{R(n<^>}@JJmZuUOCiRc&^vxUCn6I& zd4HS|y;|<$xS&CW^SuY%)2Lk#$*npj*u3jY^wv82RD%_Dk~{C;M$B&pr_I+#`|3lV z=x|76+y_i)Gv_}b2FCaKP{0*}poxMwCQEP6`L>onO$Qr!sC;Czb$;b zAyo7{v;_An<`q#E;5V6H%M;`t^E!IhcY73~l0SmT=lhD?@!Z$Ey&CS==ZU@8Taar^5J#SP1bP=mb zUb`Xy+@Spp6GF3f*wm$W0v9m}^c`Xof7<1rr>)+&S@BwUyTgI-`Rjk`t?|ISCH?Rs zB5s8$5$)Pbt`DR{UK^af!N;IBxR#TrIjL5DV#e4#VTh^`0c!W!aclHkEI0TCw1^FCRDe9C#XDQ98mB$+@q`;sENE zI8egPe2+JY|FUSed3P)GC6O!rYIeN_-7hT7Ow-Y)F70aa@Z#NM`w7`Jc^|__iS0$o zd0o%>n|uPB&gXWlJ(Q+@e<+qFk@LEBaHG9mF(7VC{DAN1?y!{4@c)Z98claVNsDWL z0RF1;$FC$qs9vA^OPfOg{t3{;?m0`gdP;u^ZB0#eC7yjYSmymC4Iv^4OhEzR8B)!v z^MB0ladv>jF1c^W#-rD-Pu9D@gC8pfV%^h`rWKsx_VYw=L8m?x;XG8MfcY*y9FuiP zD63SJPah^CW(FLvJIkrc{h~1QJ`4Y5ERp=*6Vq`JqH3DI3hm?=mCzWK>;tXpg(&TE zk`-jHCW7;NYlIKc>NWD4^(f31y|n=ibI)qEc;3w}^~73V>{Y(tv8#{bQMP>uHNG0z zzWq$`vb3jsT=*Mp6o&E{2Kv5mb=3E)jxEcaSrztn%SScrulAP(0j)lJaFh}6rUy!{ z+XIKuHP}i3&`!%Cq8RKxuQGaKOW+`WiB&4gkUwF`%74vdl^0#=0n0+{v_%W$d}b|DWuzoSNWh5v^$ zD-n~IXMsH#Fw%3zxHq*dt{<%5W7|>foS>;A)b(O2frp{ycEKvJd0#^A79T3TyfA%V) z!#!wtwfzl1Gi|XXDiJHOulv0_(#rw~T0~KO`KJIJdqQiWMHuMo`H=tbHn{_jaQIMU zwl!GbOBvW>Bz}JsLz#Jx(7%mEgsLe|!zDq=y|4*dQ3 zGza&VxnT-Ou)&)ol$syzJ1}Pjh}{VtFbj>!Sfm-1YX%E$Pg2&n(Y+s-D$i=%2%Iim zk58b75l#9cx4kX9ndINvI4-KaIP$Q;t4}`tL#gM_V3EtRj3#DnS>2HfQyrU{J15Mw zKnqj8(b*^7l1`U`wo z<4z&42-imCL4IuQNDQYm3Sz~#l8wFGx)$=NXs&kaWus4=S$(QK_V_lBIJQAb{Ytl- z#QMS}u~ya2LNlp^QSJuw&XIq?eLy2(cy$fi<;$AkKLf8#U!Mw0Z_%g_3yD5@a16}t zw=4RIjjQ!3q^~XDe>PfGna}yNd|ux<^m$eG=VVsyH_(CI={V?RGj0>d-D_A>)r+ua z?BQMV8eX{Hj4NQO2csP;tv-Lvoe+hsReGF~6ts8n|Fi%fxWyXc-MklYho|q*0YlmInv=&B%9uG)gjZMG?C0+j zc19z1X0sWjo5$l!Z*ZaOPJO7=vp%G36+bjv$-BdP`vx-bmNwHxeG7m8u&$G}i}SAQ z-mj!4gS|l+?SC@&cpykhCa`e7D?uZ93a|{kXeo?+b(#t~q`4#o?!19W+sSI$_v{}H zn9u>DeHo2way-GdfK|@3yz=UA%nAUlr;s%q{INO45kpdTN5#%y^R1>Jtr$~OF-{9u zPW=sGL)TPnee=?wSSf5mMaj~Cf`gkF|lY5Sp*lj!iA2yfU|%Y9+;;DUGoM!(JUGt*?sWZ}+gNQ?2D7L1VMHo-+c``511@^XORrTjxn@K$anfirh5N zJhFu$+T{Q-koT)6YCrU!e(M)?{P`m}E3bm(!-1$ZU5VsYL~7rcZngX!s}&9M%cXh$ z$ESt>G`@{CSh1KJF3W4ei2?SsNDp||nq;uA_A3#}xGP*lCGbFM)Eqz1^YvGj%+%UA zfHyhcPiE~84`O6J3PO;nyeuz+ss?41FAS4dQs4>ElCp#5HGouT$xTrD*>K1a8AND-ChW#~44!dUpfA^Icyc)=jA$d+A9 zxsOELXc6?kcvs8!Yt_bfILAjHZkkwgfU=dex!h_QH~er~P{!}KP<|NAR$@7Y>CGr~ zqkzf3YiW|UUvjdM6p0*^hf7gR)`T9`!9$&H#Biui{{HjQ^|IQ`k5EG8H|Etx|^(`oMs{5vNn9Nr~9%$fz((qvW%xX%bCjr-8Q)9*8e0ob*tpbVw}tU78wq?GGJIOJ^z-6He-pUmLs-d&ty{(d zdH^aq49%|Iuk9DCWnhh>(x2ll6Zp*uWw{Bkg*!~!1n_eF7$(X2Lo&`n;+4)=8k+~u~5)! zQo-%Dk76Jj7lMhpI^;(cA1Z;x1^sUiJ2;bwgQHj#d59i-Yjn4ykDWD4cjcXlcDcSL^+l*Q z@fxgF2_h#L%wRM7O1q0%{&@0{N@*%<+C5D1ht2Z~-2eZlBgKn0$Gq$-i6y_OYsK`| zD_RMCKZ(8&n+XUyvJ7#7jBO+hJZe*YUS{PAWj=5TbrA+7N2E9w^yEb`so;iXRP$Lc z{HV8~21~RkExyXoq5N@mRS4G~4x;y?SM5cS)+H`09V`K4uNPy`W|{Lnr#Qi}+pT?i zp4H4taDvOOVA~OFMOxD*v@eS_isQ&u<+h8lDq2)PM3@*43Y>}gJ_lVP0JozPgBB|K ziH%uspTShp=gx0#=uyQz^6@q(&`d)7<9e%{=%JS1>ZaXE>m;8ra%vs6Fw%dTo{;Cf zI|kY0InKB4oU~9t}w%%UCf<>Cjb()kU%FS`XW&S0!g;0lE{fF&#i?{akK|1rY zH1#Nuz1xo3u*?JCb<rKiEVTzobyWB(l#}T<$?9jL7e(ZTL?u9d!@Qa=X4dj*HvH%$jR{v+ z`v}bC0HD);8CmVkKCGaN*eK`-=Y$9nWX{zQ!b7fBYt0-cted=4$H+=kH;=LIjBKV# z%o96M>#KmACA)jwiS2@erv%n(x?k5gfnjksFS z5wrfp!8KQpMT=wVM`6B_WS2qggc7FN+x5ObPZeuqerG||N5YF;{PSyj0v#$1lzsnfC&L0H(BYokka9-_}AtH z_h~eC-iZQff3Bb-{-)g3C7K~C>d>cbs?;am*r9w|ToqfqM5Kf-CmH&j#nbB}wJ@Iz zD%+bUYz#KqFNCioUmpiBV8@^+CRm^5aI009bXe?Q8N(DZ!t5m;-k1Qxd-ToatFzSS zyBxu&yyvx_@&4DJYc}tz?*s{LVXX0Rgb~&oBOAkXfcKQptVO`)AOkX;9@R^^ouWna?Elf6&ekcVkh9ZXvA1$uxbdIDW+9LQsO+2O&F-CFo$I zpFaj&Q!RhtfBFN%nT)bj-!DZy1G_tSbea2n^4ONDJRXq|TP~esoG%YS_a30#Cf55j<-cksB-zh;Yc4699Au>n{QUi%31EO-Q&UfZC@{ zmF1ha?@lQ3Zwqut`d`ZHzTZV8R!QDct*PfYcCJYE6X*h`hI{bPOP9emfsFVXD`8YI z0qbzlnX|y!By42Iu^!=7URM&PAl{vn85RZ~e8Q10IRJxsKv5?F8@Va8bLDcDfprnu z1@z^sxw&a;I1$NTJuF#no_p3vI1mzG7KRd$8W$P^*TLfG;0>y2VE)HgeqfT&`-Tu# z_wU)^{#GqkEefzDJC;621g%Y&08J3R*Xq0d77-yRRJV3Vfe%FD*DF2l(5k37%yZijnb*f{fZlDtmY;^ktLxqAhkOiE+!ofvU+hn? zO*-O-!Z9~kb@*vD?qr9HG*~G&L>0dFv&#KC3Nq4MpOE0Z)lmko#G65{0EiQZx3Xg_ zoiH!vY4ARCzRh?!mgCG;l1$ME`egtI?johS9eW7|8O$$V0~hRN%xa5jp(!51Dm<)x z)z9Ch1(F^d$_Zr!{`%NJ^0~i!wZxtzQ~SV+*Q2^`i(#A*eG%#8#6D%MF0h_zXy)v5 zEVW#F@X<8~r3`yP7fmVzG-WpHESLW^9pBGpLD}rBu;u}pPGbCb=zu%rGnS7e_79rW zgxW{@h6Fw}GZ`%diLNVKOf{eI_; zlZa({waD7ZW=`vl6Xoh>;I^t@$=3NW`*S6dH0UxXZSLLw!6uK(h$^oqOl$IwkQPT@ zfpO4No&*bCIb44()r9lE`KMIlGrNjUq}Y8_CQRnTst8M*1)9>&sUGwpjHEn=!bxbd zm;*Xcm5#|o>;4Gv6dKW1XyupRg!WGXwW{<0*mg@z2ML*fyJ;TH1@jk(+G9t&xTl-| z;WTKe@f1@5=!wR{kY;+>gkwDZWmN}ltpq0U%!6>L#J+Qczs6wT(*YN+T7iqM+fw>* z{CztcTC%C}vIJ*uf;>a2?5+dBICAa598|0@wv2ct#^+>rc$3P&krEc*G-?hgI2}#; ztrPsu;X)v-3AKbh-JW{4w{ud`8f{l{JChX_sp|Dx4!AXw+WxN|lt$~O430j+m*Z?f zV8`pSmp1W_NzI)yY4T~{^*z15><7dxu2rfZ$z$-q&0v_h@|0TIOcvwx z;8Vvs%y;a6NpX$f1gt(V=uum)%}4k%Aop7doFfuNUHoKIkkmW1&oWtRr`hg! zAoKiKMNOosDI)S!iPN=!Wtm8-L9g{xClx;Si0(g|M}gWrY>EJ&Qm)SM_HOv9b2*mx zwE}E339;8V&yzm;=fzp?(%W{U}PIxCb zFAh)rDs^7ei{oG+y5U~aZbK2r5E zM*t(^mCB5A6D`sBrt_}p@f)T9NlE$LNsZ9%ZfpFycI7=S0qV1VWWcar(2k3vVok3i zFt)MS`VSXZN^Qo%nxj`rO%SlgykgB8?}v3CnWqSC97xEUJeI^mSfeWk9gIL7L-ly} zICU|y%p|eVvN2}2UBu#q0{E_HWV{vyEfU@aXdsGP-x`VBT{@02xFRASx{7EEJ9RFko=$NyKL z`}?a?M)4R>+yfqGFmi-SW^!xeX(VBY67PI;)RK@t&=siN8uTD_+UxV03@M6#hvqyeA zq~2je@f0yv2a0r@U7P|eZx(?}z~%Fh`-i#=7=73z=Rs#c3puL3#@<5&Q{kx?zgjQJ zgN;{?U_<+w%Por3v;T0nW#4g$PTUm*)epwsq#>n}oCRV?on0Y5)4Z45TxG-VlOfYbWwZxxqJsD`j>3GLjfh5=pV1(f2*bJZK6b%0M%+04(I5xXW7_r6 z$UB85BPz|`iC?TWg#Ri$+U}b3wg`N?mk+L>uIkE8!0ZyPS=*?ZVJA@WUgz1ZK|F6hkv=k!OdMV+ zAp&3-7voc$dpMHxm=nZQKb9dDE@G8WaVdl;zWr@yd|0-3UsPb^FN%sZ{4zdroRHe{ zaMSNq#y34L60$wDlY4d1-m9?=Go}sbyUfen&&X*uyAFdiF`&K|h)=}c%9`2zM)}s3 zuU%4&3k?4{P?v7W(MlFAH^YXJa8^m9i;R32+#PFVdPqNJs@Nfl(Gf-87UoZ%Gc}PR}i?Tn3+b6R-l5 zQ3{mqzlfc&TgRfDea~wK6`#q@JJMD|+lh11WI{2!8@!)t zR4~&GC&DS5U>uYwfMcvR4^*eN%vocKfo2`gn|f8|U%zD@Y{D*O_tx9V($>hw_uws= z;#aFG_YkWXAF7E_z0NrM6@>;W=CuE~K#-h&6!o1=g8>Cd`9lU0&QC-tt8Sz`cvM&} z3!#*vxL;v(z}h&5G@k_F&u9N2%C`UHwECf|=+l@#gx$>B(7LMDuz#%}fsgFKgJ_|O z6VO{D8M@bZd^<}+%Ewz;CFkKG1sBVsEJj1{_yz+geh zB}nU3{tyTNK8yvK%P!X1Mt$JwM3mMnV1Wk}F1V4y*45hg557-k2gW=r_(g|;x3pv~ zs_Q)y!3peuF_@{-#6|usRA{cFhbsT8wlF@e>Mg2|e=tFwoBVhY_n-GJC};CN5;B*u zo1?{nwl|C^^&sXgDaD&qQZbu4f(owh)PKXoz1J!h?{prJW8rp{_*J#`?<_v_jJKAu zc4$k2dNb7=ka&o#rIUs7fM!aIqdU=m{^j?2dzOgZO%j38@!5s+{la3^!?rDnf~am# zj$;w04=;6LCp9POijqTU%h}0~?_0J&XF+AFPpTYfkuBJqb+akNziSUWVBm+c)j@O) zax>kZB*F%o2;<22&38BHs=4eo6B33%&D5O0VsXRrdx{dlKScjtN6#0PY(*vC?cqa> zcQg%~UMV2Y+sV9cXW)A*YOltPVerv^qShmsGSvLBOC5lZlsQa(8?BLZA-k7pgJm*% zV|%(O74j@r8{pkD`l|0;QDkPJ3ZTmZ@S2=tP3JqpHX+c%7Ff zZN7jbSw)Qbn(}v|`*l&85efeNg8uLRQX`I_rRjZ~cFfzg79=|*-en$CQUc4cj^`Eo z#sPsxC7U5MGE$MYllxnZAe!-H5Z!%TN8Q4INE%-Cc#jnTA1dT@Tc)9Ln)jtVgD~z7 zeyDy;#t2`E8&HS>mUn&x6#-+Lv>v6+Eopw|Hk)dd%wcuO0O3L|tov?L)c-n4*^lSu zm!p3TzpRir<{Ju>ZmaHRfz5XSKnFjlN1uM)ftzk|*_Eq%3Xhvmki?)M7WQ8o6R;Y% zd^m!}KJg#UaERNYGdFo5kdvbGPnLisW%9tQClFI7ff9giQ({~1FEJ6D57BjvH!P;| zn7a#GJ9b^(TJX}YI(n_@P+T3Y*upQ-k(LX{U}8-A#IWsFX(?M$C=PyNzc(7&@yE0UU)eC&mw`;GEQr zdiO0eY8FV-VfXIx_|*BYd!0rCY);GwSn6VI{1HAs_ox8)M~|^6jQ2L_NORZyu4}Y$ zT?3i)p%`j%zAjDf*?s%AT*5)OHf;}QtR8L8(rlJL_X8NKfiJCwwOsS`t?if(){o+h zLllElbo3h|Tdgx~Tw>rx>I+sCy7ugZdNi>muVDY=V2P!X&&EKnDZlpW<`+KAH9Pu4 z-%{(>HQo-3tGNnp?$g+JEJ3RO^=h=G3S~dS&U{#^2ILoo;R@yU=;q;w?T-e2FNBc) zC|Td#^j){q_WV$ND^CwTSmKjG;)v~mhtGFd($bj|P~8Mls>G9v{|nz_>|{F^#Q3`u zHYDP@NM3ux3OCt~>1SdJtIORpDO@|%j(D%_tFxlF?8=jZ!Uk;L!lqo;qj*p<0=dKg zeK=fv<@?^}BoLM{EAcV7iqC(4QJ!I1qtLP{1vz4tDEZ6oI?h~7HZD#R@$b-sLvS+v zFHfczNYigUJ=5Y{8Z6vrl+Hd03`zowjMv3EltFl^$0!ViUQ(}SvZE zO#?Kh#306)Pj#CmbVrb9nhv1}>s*wvZMM=Gi?~t0vZWbewlUtOq*mCWnN+9LQo(b|t8Ddb% z4K%w_$NuBXr1_0qaT^ugFW|DVCuoSzB;wBxNO|(Y%PGO`X7He5&-Y%M6&iu=^g=tS zK^37mE;4jN1zEM8ITa7MY+sKnV!*}85wKFU3>GlsI*mg&GofO7&blS#%#7y;LBJB41)ygF z=F&7S+!BELdZo+$7*7Gdzex{gCC~sPa1J zIZqrEN23Efx!C})H^Y+ekj>4qFX7+aTtKw)959qxzLBmlv7!2=WCqKS8s?kxwOFV2r)#V~p5GwJPj>e4Rljt{$LmS|l;cQhIjahTL!1bBS}!1@-GSypSG zR7p>C2wVbtt*Rn_4*WkY0EnT~CT}rS0{q@zTHG6#Z|G%g-Fz_hgWyW7^rum*fIhG< z=3%=T^7%HsQ$l88UtnykmZF8?HMhMdq-TrmozrRZ$tAPVpCE114HjPHGWXZp!2LN( z=XcKw>64;7kNegZIKNX8qv&Xr$raes*7VfBWABT+H21p{-_LCKs(2~A?;Ky^tdWLz zyWnr$^S~&UJqjQ^z6WYcMT2Xmt)IEluQz!om#Gm$tP=Nfc}sO6^AX66Mgs0v>k;e4 zv)x(ehGaw+B4#`Q$$l2pL7hSkO0`U7Qub$|<_ngcKeD5uoBgmphQtu^KBS(n(g6rI z{-*F+#HG2mFNY|*AS=FoKI>m8h&j>fzpEteAx1&}6(q&c0fnnr+JJty)bA9=ugWE9 zU5J@MQ+xd;P*@mhIyeJrF$aVXPcjGbn*;7pK^WDyU`(TmPC(?32vh*u#}%u$Zi@YJ z+${k>jJ+W2SXcn$A<=ITk4{q8i~#rj#Aj(t;k(T88Q~u2s^&&g$4(6R8$AkB3t;1Kb7brndC9zd)}*DPpIor4u)B;{1kLPIVFX{Pho^qC?y1BHu%&B>aC@ z3MYWJ$0`<=8+b3fE|noD2iR!P;fd#3Guju}oWIDIhg_zNC%R zkuFHAZc%KLI4N;Mopn|yi|N${S(XLnrfChA7+Nu`qIG{!>;K`SIoUO;nlB;`u0AEGs*Da#A@kQ1I zu7G1=R9$@=0nQPmT9ey#@j<`SKQv!2lIX|K;nG-0paZl({@&d`m8f3oFv6i0{zDls zy@oYUhj|Pc6>IJ2X?am1+;Bs+{2&CE^Jy${#f66%c~Pr-?K`#1DVb9}EaiUpkMZOBR=>UYQl&ueJEr{iBxi%z_0HQu_i|mZ;|yzY}xUU-%)!5O3sP zb=R8F^K%Ae^ zE`}QY8Izih>R0-B0)&$o+Blg6oI5qfVqcBe$uZ*ZUB5r)ggGQ#ZEF7)0h1Hp0W)_k zEWn0&?An`%d+#x4NqnmGF`OKP6rB{#Q`T{is?>!rqi5N%|o)Pz4F2j(g3tu~+V=Q_o}FCb7*9qSAdr+vg2`!l%n&vsJNVsBo#b>#Sbdm{TAtp9C{e z(N+Y_ml26B6(O3$C`$jTMv|MmxtN2o0R|9*!CCAoruVs5YA{1(i$F#Nh4HDQ*B&3= ze($DdK!rj?hC`DeA8Xg3l131DzBN1&_qM=Xs{z(FiN)A8Zdn>OdMwTKXiU;6Ub~BD z|3yo&S4C$~MJE`$K!LGI)VVZ5VrE91k6&L(h+I~WEiZi>x&?42oZ=Z=c2aCm{Yjyw7A=CLIJa%Bq0cMxMYkPvNuv?{ zNre?nl~ZTlE@rKm>L?co`bVuGCNJs)VxQD!jbSEue3KT z=;08wG=3S{`xTSG&gUx4G%to*1<3Q^!O(Dz6HHYvrXq&2aL>r+OkeqcQXt>b1&k2+ zBK3$pma54X?{U^28QSc{IQit#{X@t6By%_LLt&p|P~j<(rAvDvj|*=uMu+Rvr2nm8 zr*BGQd~5d>PBx+nS`YbD9a=MC zT3|KyQuyeAX&(;lRm+7o?@1{;jU~e3n*-g_ii#Q*mt(qNN<0E8Q{Yu>toMjt5#h+> zmB71#1VfJJHEu<4A57WW58g-j3fE0tUpag9b2){>^p#a>??hZoIkqsZ3lu0 zQruO@j>RfrV41Z5Fgqu*ckx@WP3rjpG{q5xLZqP^NK<03C+S zU)b=sLNHb|huQ3p7%N%n23u+oXp=&bKpfn;2fUS7k+_v$#EPeb+xwLo;VZpmloopV zTunENlh0&=%v0J`hFdA3Y)}S4Th|1~XIrDWjHxY6yC;79mE+^wcxr3)EYjzd_b|hIC}N;Ad?u4`kz3uFg>3cjP7h<Xy z(2?>;aSWGGHTWqTfTZBRXhUjy_6cxcIPabV(2boc z^ze@zK_#~aDS(uF-?BQMm4lnnx0lAEebX<`D-fiZJQ+cNo#C_S7^|eez-vQnFoN?z z{HD4H1*mxLt@)R{_*e9G-tI+AnNlkpEn=K0EXwyb>!ZMiUl9rLhcCu)Q9e0TSn&Ii zj5w0kWNm+2E6I!>qa)nQKXwkrezKkSZhT!-3y(=lPAdhgwm< zAUKzf#TBL_SPqXh43!*%3tQ`be@>%#J)4QkOr^WbXrupW2|}Y;2x}Si(>ybWs_TIVH?gFbZ$F_54IT-A-HE&pizOU90)t89R&hQoo30?FigEq$^Enb3Q|7a0IbkA z5`X1ot)^0?UJ>_S+gMB;_p!CZyeS*>j*uws7KN9alGld7XZPE`H>|J^cmEbCn9^wm zChr#@i_RY}Z$@FjCu*_$lzMa&`*h^x z5dyheP&I6TaP!l``T+9mV${7uYC&#ym_hDb zC>G^HrPjpdR|K2(C3P9tn#@{05po73Scwo1ex*ToB(;|Z!ar6^O&sLsdQjwChdeAk zsO2Kb23dLj06jK+XEZk)W&=0{+&vNVp%0NSRdl!ginq)uK(Slmln>Juaj_Hn!$hp+ zUHO!*I>%4ckm^Q?h}U#?m|2U;q8Si=5|TF78OFMm1$(=_8^^+e1US~kMj$@6BEe&= zg4T}=Fy0?43yF60VHziRS7n?q5Wc6KHEd;UnZ!}1eCiw9KV6b02t6N;_rAMG-C(pV z#q6$G8=;2c2wwCBrT*qACQEXw_*d@QalUW(=<`f%$m)sYVD~prIDgl-G{mwz2=_b< zg017+;7E$+m<)BP*wx`6iiS^h+Y@>RDL38&BU{o$%W216iFs^s(bTxEmR=JF|3)S# zxNk%#ppBAdG6(VSS}2{H5JBH!nSHB!1&;)h5qj#_P@GcUL5hI zjhEPe(Ii(3v&In`-FhlET{UPwy_D-*BPd%mrew2q&}^cZNGAX&XBt$X_&}{i8!(Sw z`&ALcqFFo2Ke&Mxzl_8DTOtHJGm$Uxw3k*=@T2otQ<3tbTVRDEe;ydwJAKy02+QY_ zlw@dAaKYNVVq5&4m**=I)BWVD#pYveor`%&@;HxB@fQyrfZ_i@Zq;7od!+05uCOFH zI-K+h5h2kc$1nrTdjK8<0cFY`rWjv#Dbfv?U}5DtuNMm+Zc0xB(X#ez)AWPhJ00g= z*BmUVEO#=wyqh;Vfh}{@N>WezW@WQS1lEvxk@mRjZeze)0}m%7TDcd~;O!m1$UcVQs4JFZ)$Q34&{mEECT+sA1N}3@ zpIQ}N8KOC%c%1>sed{nkIyBreo4US!AUe#&5KIkwTT?KO{n`TKJxOi-+Wk;dKrXEM znRU!_EfS0Bop-zV4&!~n(DXg$0_;CZkH`S`vT>d60tJd)vJ_IUldG^V*en2HV9(Cm zgR~*6ac#5`Os)+`8VT&Y1Lq?8gmfF7%^Wy>$J--x#T@kjDgKSV+Cua%41#V8kuG^V z%6rC4DIW?!_06&Cm8d=`Im^(G;UaW|8aqImX6g!HC_^`=Ax7VD6q zdBjQ;sIZ+}N>};RX?3ke%)42(d(b>%g4MjK9$hc2Ic#zdJ9XcGne@hh28>=s%27lhu2=)c4; zyye)S^>oF&#v;cmHn}J|y-(u}qv^)9I@ZvKzzIf71j2s+8du-sSC{+UcxFiW$r3|% zqwYD9{Z*K6H`C$Shka9x(NQ(Tp3!#avX1Uwt|D*k{WJCV8KBYDSJ2UEV7wTcUqKLt zCefxO|1<3l1q6_Sxw~oloCo<}3VQIo&S~=H<)nC{y%z1j`TNJxIIof9zLlU)zF0o2 z>G~Fnb`z4@Ba$>#g$bxk1okk&0aE7{WM1Y)-*I?Aue)NLEDeA#$bJ!nPypuBO90Hj z6{i2Mz4!iy>xury@9H5+3X&*G1POu^y(~clQ4+nbL`$OgZZ|=6f*_)X5G8taYekgk zy_b#Nt-fsi?(6e@y#IyoPw)9N#u&nW4zI*NosIxYCSB zy4v@AqHu1S{0b5=ySnaCn?)zA{P_{xZ{%H7Gs1e*mwx#oyK(xLm(-#s;_M#3r5h4W zuSN&U7E6i|+22R%OpR%==&(*kHYdBMQ(HUC85_MQH3DZJLd@n8`SNib%hEow;Pe#U zOv!71;vi3A&Vqh^ykYJ3TnqUt5$D-!Eq(RDWSyhdW3~8?F`IT|M8?S-vKvIDA32Dd zzDt$h2!+}LHurHBqArA0fe>DGYn=*?@oP^B^yyFVDcXZFk}=L}l%IE@rz?&uLpO(G z`Ti|NI8-|8UwsgleU3M%1Dvj(og_yFANT2@&+F#%CR6?{`U_5@ND4Hh^ZQD-sZ(`S zU^BwDfeKef>dUJ2m2q8ZxeNH4=`LuLL+=zQS5JiiU1kS@&VPI>z0M8e6kI%i>U3VT zLiK59e&29rMIyrxbUcwpw#M!w=dKX;d$$M<$ z^IKJ*jECEC*UEyQicTuO9mC~icCX3C2+PZa%6X%EHDX2j!E;Wcy%1 zx(s0BMV+zH(a|oEr_FtwcVVRo@w_cna1~B32n3~r-l{-T>R|laH;E|$)T3|T9~|C&vOkxz}WBSCtS0KQxzhc`dnKf%YW8@M;9%y7(w6G1$+$MMJ&UvxEwf>J> zMLds5a`8bQ3NLVkS%_GLUED89Yh}41?90@)rQfCi3G?Y=|J|`e*R8YPinEh^LX4N& z4&e?w2hB7?8!_d7y`yQFmpcrNZwK#{UTI!VY3nE)eHgNO=>P|#I4hvE{*k>GwrB=@ zgnZNYtW>;E&Jc&J4O;-@J+X^vTC*?2A3 zMdwU^eQVCP-?|l8-|LiYt9IZeV;XAy7kx}GCZdrq_4{SXmns9R?F;A{Rna)eZHz!b zv&JA`W3LNq+F^>1%^T;8F3eTfKi(iJ(sW)h+1gl=D)k@b|BkpzIsKTeySxXxw>io1 zh=k(DiwxmRHJ&&OBc1x8mCv93rml4Zh0M*rVZ1y1Uf2n-|p}$_ea^-u2A&*<$A(w(_?j2oKU|wUqf*6$7d}yW0C&I*5er*JHo;Rce3x>JE zj9$3j@`K@j&Wsqc5E+63)-G?Dm~QdoEAY0-o#po_-=s8$$j1HYPLr+i{IDrbc5>@4 zFZ*YTI3cZNT5fkjKJCU*<{DMNzM1DfPUQMEONE_KfAORFL&SBYqdp`M@znowVVz_) zU+4&yd5qDE^Wal2(eP2<#(!C9boG1RqwFu{N~R$+fC=PbhD>=_ z!#l-V4{KwBFL2Y!N8kUqq1oo~oF;`KKjYlr{W+3|m07q}k_qttk=>+%50TLpYsu#8 z5k`oz#lNqQOd6KJ9gpyYzQ%Uk8EE5u=<)d^?D;F7_pL-#*Q%4@+xF-$d%ZSnO;=(} z$y4S2-ZA#NQ3WHn!^7mf#Nx<7hp?X=OSiEEbvw}bj{LvhCy}QX>hvpX>K;obEJXT5 z&~W*4mbdsh&0={Kd4`tNBYfbt%d>OS!VwMog)R~C51%XE9-7Yb=-@!8*V3z=LL@5{iVN)x8z%WHZ>-0a<%r3z*6!32#VMx;OiBdY%RLFPxk(<_&m!_-&O zs`ti1lew(s(GIPf&zL7=e>{zH6!QCaJLY{1+V@$YU_t_tOG>HQD8 zBCo+T!pi6naNGCZmr^{s?u~~mE=7&>L4lMtWrab0DX@fmNvKHw!o4Ehm7Z@2wEfV~ zTVg5l`)vwK1q?jS&#N<4dpEnPq@U7w$NIf3O)0LB$7^dJN^_gkyf!tZs~8!Ip8sfE zelz5`{A;-lyRu_CRN=Z0Im{XBw?3gMh8Bn4ro3~9kZWxeR1VO(OGMh2HI`)O{;T)ZsR$aUK z$d}1C=?$Yv42g^$0p+tq;Tv&sY++3B$c~!GMW$P0)}@8xAQmp|jt3RvpijfBvERoO zwLk7pq;7gV!zXP17c=jKG4J|6G89#y^AWA(#JkH2t&`42wCX3QxTC%Zl9>)*+T=Hv zn%-aL=#P)BiBNlteDMcWZ(Hp#Xx28r8g@5hYZV^Npi_o#OZ5;)jaRQ{<1>os6}zqA zrGCU`J;uwBAtwH6Lw0_=0A%j0@tySO2N9V({%F^p?Q*d=w6Dn0F%uQHxpEE38$CLG zIG3lLU0a=lHnS1Bex~Le{HP2dL|z3RTs*qe(I{aka5Y6@N#nQCvk#JIuB~}cf8detzfCD6@rJ|x z3WrIv$edHT6H6`MX%kzv^38CTGC4)VO_!>+02xnxAw=le-BS@%>L#E=MLkkFI8!vQrB5Mf|q0I#x>u z-n*8$Q1>>#O(~^`tDEa*Oc1UPZvSSFFayHc_*#qa}VF7CywKcEaw8nHd+g|C#)7MCoC5*xWl))rD<~O5i38(Lh4M-ot6!2-! z##VY-KhPk!{`HBm+SQ7Gm@AJZwQsYUdEJ|hCWp-yRCy>FT@wKi2VpR=cwCNy0QI0+i*ef}G{^Kxw_GP@g z4P102WZzzS-RhZ^H?NqL%snA}w!i?(tLmu)aV6I))BB41R+?+ro69bb)@Zk~|7^92 zmMu4UI8<3MQ20EY3ds!+x!rt9_ok3Wk9v5ozhx1L9D56dj(gbRo1vtl5GDbUi7JY= ztHMQ@_iQ`v3!cu;O@DxHyFL&yWED1keTd5O@OyblT8|EJ`*eSlS;_XoWb1j^JX9ha z7?q)VX0$8V#SjR^f*l&S)3NQyw_Knuq9W!k5#qnZOgk5raM;7%Wd>HkVra_uKAL`$yYK);58|an&HaLgkVMd?4v;6Qc8W{bdEiaOB3k7uT!BtN{=k5^}h7=^q#gz zm&(9mzlQOz1Ss3+x;%UBqqeK!_*(mVM{lYse|>9G#qO&C6UDRx6?ll;y4Ez<+FxP% zmRn$zNcb}M+JXXGa{0Ag1bU-PkGp@lW$wHy>kKppFt2aPAmUGMPSHQLz%M|Q0)!G=0tfp?oz z(jXpgiXuO{O3B(J?&49>UlZQOTPT`gk2>frcH*HaD7@-j2-?NJ?P!%@fyRDeYlP*p z_{6-XsmsFssOH4PZTxp>PyOZcHN4u3J;7(R6zSC_D;ckKo&S#LQ~O_(a^94)pnvk- z0HbGJG4y?hmOT{r5 z-0rN}CQrs+^4@BYhe{eAVfbXE`7) z1HRw9qcJ30y#1=4;*58urC?J}Ryo~`f?^Ocwc2gF>h z%lj!SDK(4?!K~yZb&Fziin;vsTY7V2qA(#L!(worjHmfT`o`pd<2!v3sHywpM&eVr z_W(JH$z&ljP{|mugf4d=@Z`!$txwv}ve-_+QB{*ubirrY+ z2=8v#x{Mt1A#mRyE`|gbLi7v!VH?qpiGP&4g|)xfj{NEYtVZSd_RetivG`+%ujgxt z({XOpYU{ZnAhbz698?GW%0?XNR)2N1ZMS_o#m6rE&>Uv-a0VL()T!n;d&d;#YFc~u zyWZLS>42F~9%lst_VIlQ4)umt^veA_2s-YrY|ZZGUnp|#S1=>5*&sbnX?r|nk*jAU z8k20)Dda6}7T!A{;@p6qbQ#uuNfTFNSJfrCLlC7AR{$vz`c2mL{^jxk@CWT4<>3eH zEjLBHjf#s_p%NbfZC0QsiJ%`d3X-K8j-z-~OjQ54?SaW?@@-c%18-l6 z$e-@E?#^8AE-Sv7%R29%@Vl+32?U24Vf9p)*(S-^j|BDHDt(6j;?QNURb7 z;_z^aN zO6LrpbCxrz?93zFQG#)_y-bst1boyR9|pt-EZjXyCr0q1<@~%1ihZ6qa=@KlS&$NVvb}4h?Y%kxtb~y_ zL#6<_f3_{%hSRJSA@=fTsJm1L<25UNQ9m%}>n>X5pMoMH&338|5;VEFZ-vhV*$#p$ zrW+V@@6nwvJCPp!eot^YThp|MDhBwz{yg+#=YcPVo9P4Gpv2csrD~PwP{a+hGX+vb z+5n|GZv9g+gYoO9?3($t{}{1)UMvJ+f>mPRZ`7_I-yhBJMuJKqhA?&t?&1O9iO=ak zEn%{AerL#54Dt-Rz~B5vA#p~qfHWYG`cg_n-Lfd_xof}=$zvY;d2ixTwl2l6$kaR3 zn+GjfQ%nVKXz2KY7JTQ9vXHh~0Zuzy=!mlASYnPSec8>RXMPTw)c7 z_5P#+A4o3GCcvJwSHViopl{#c9h$d;FPe)>14BZ6t%D@|l|TRN96GBv0)>h6B(yv0 zr0g+dMSy6)#G1g-=HME*<>_YfCI1EAaE8n)CXNnYLsljGa6g>Pq!`8tpr(Ge}VBv+4UI*)kwTtxezHm-EbR{ z+jLb9>EAcKB>ox5?Pde|*m?@fS{J{9DHflP$lII&4CW&uZQJJvjB(+S06WMfd} z#n5ww;xPU#uY-_po4sk}u2>wl$|l5S^T3TdXfJEl*=#dqkleniwb`j)xW=Z*P4AbL5NIKfo%t( z!diml9HUEu{ktvOm7#w{d;I9NzXrXKKMNYg^5?(oVgxsvg`Ddyz3MHOCym+<9XyGU z2v}CG7#2Wv`$Q=p^=d1-99xbLkiK&8OH$J;aO*qG3B|y^L__bjffzs~kG9M5Zn2X_ zuhUE$o_hH#wpL;4eZ;+(Dc6Kx&|v2cSQ!TD#FLwpxCzP~7~CiyF9nvj>rHei&tcuu z^zhKN4&$yf2^=q+{%MADzB%3~CE&4s%;2x5lF>L}V3?s3Z?e(*?VG{l6Y1u%x`PIv zuR~~8T9dmy1C6iyz9?~x&RdD}oyv7)V|1mSbD{?B372nIlOTGhnO!Ue1BaIds4i#k z^bUNpIM^JsBT=iM<;eU<^)+uBQ70_|_~zkp&u)7#u9 zh(fI`U&A2*Zvq#xJphf^56Ed2JtQ6NY5VWn|AsY77;iUiKwNx0dWRS~O@?GI26P(!L|W%l$j zhb+}fObg|ZDt+c^~#iKrVp>YN>A2=aP+=`PIeU2HKREgoI^yT-Dj6j4dh1`f7w zPT~}1uAOf*20r!G5w9~jpzsH($1A>SV6JVcK0+K|fx5BJn4PYvDOwYQR43GsxZ39q zDjS!h1+%5g1=oBg?u|rz)Z@}G{+rf{0q0C(g5h=rsyeL@ar~>RW(Zm9Ms?I<3u$oUXf&p^>zcccQ3 zRtU%+g_oHjxJ2SVbmr6d<%Gfa`hAZ2i~uSHcOtS4cAVIcvBiEyDCSEQ9L^@W`Afn|>NkR;mV z!v5B&Viac#EH@qiHkZk#F=1JWMfUEyb_zG42U98l2{t6KvDTJ`wVT{E)EZZp`%Iz* z*Qo!vV!b-O=f1%3Z^kDlh87e?o-!7~)8M_Xub{3{&=9*J`pZJ zo>0uM-pNb#UZa>d<~JWCc5e{pc8*kEn=(0V!7>dEolAkd@LvvbRzPlnR+M0q1VyAG z`KYPYJkxXQ1`UMjS&X#LpJz%#rL>@4kIr7!wM|6%a~&pu^HJPD^G&eveca}$B%CmO zS#Kyx%%>3+x(i1)2DgOmdZGi|`AqOqwAZoj!xI1o+=sQp8yyp4B~R=)6+S27&^_n8 z?Ji?BBytxb@{J&(RW`|$p+ai^Lc{Z+M$j$^BWCVj{X)-KV2INsU<8)d2^o$i z4~@z>?P@vGu==4N|HHFD{#Fb`7FU5G7>~>8OCd@FVZy%Z)o(1{)*n=0s0}V&v@Arh zRU12Z2mBzBG5l>Flc~Cj(xOs=$<2X$??GcW3;Tz~Va5Rgj3z;Zl{3LTH1 zAm9^rcrm2ZPR>M5x@OO}pz5Uo=n1&5H(32q64;ITeXCl^eT848?=)so!Bm^5qY(YJ z65))LEU8?1_s9I*_OTgv^y!B1XxzwPo4B|+{ignTge`Ht_&9+1V!DX49xO|0+d_Ku zow)|TRg@I{%V4DxG|&|(K|V#-u1KKyn|Yg%E)cAPUA7nrzMxH=SSvj*j-RH zA+xnDQWxNOB)3bz{W1E#ExEj3tJ^CMKiu5O8mgX4Tuht#v=F{biL{T(zo%8QIbMX5en? zj}X$orkvlTsN+#T9N2v-f##7cQJmIb3NedqSl(9d%wh6?h9qb$`= z>Rl`RH0NJO=ov|PpSUuqx5Emr)-|{c(<6!buV z(~D_#Yxjyes-LUtx}vMDStG7LTC0x+poHEYR1jX+ULT`tf9s5Bt~t4zHZPTNer}d+ zQO*_9)rlk-4F>X=Qs=H2kLlj4(1yU73_(!&q|}6#cTe`?lQ&+IjydNbq1&v&5|I zOAW?bAxw!arXNoGCQMh364hv&zu56Ea+8KMMDq^q@fBRdLf5UQ@!UF$`@6^=0cj-HS1})_)O+wnV=*vD<@VEwq24KU z(235<;W%#_-mDm@7IZ^;UM~4^4qse%i1(jF&54vh`m|Vnq}55q%OmEK2mqKaoK6K0 zT-L9rStYQsu%N>VRw2Wk{ETkU`z=xYjUg#fF%B72n=zA4rleCjW%7o8 zmi&7d;KX&K&n$#h$&=2_q4-Xt%>w2p#-<=4N7s^9kG>DP0%|iF+}}nVhB_0caJ?zp zu3Uv$r23|CoAL8GJt0IwMfqk?fT6}*l@#u6hTrc|d#1t!M`E~D9C2ik#t^#s5;4lZw;kJV0b|5LNMXmUUTnem^^5t7N zt$vynvgp4iX?|nYiSllvVX>^TC(F;FM0)kfcyS2@e`%YR0;jjVyx< z=$i30=d^W^^nf+ceh=iip_7$E$3evu)L9_!J)wVOa@;M|%j)0f8uW6ob=&T!o;%>* zY#_vKg-gEhc5jMsHh;pz(AQ!t$vl6KPTVDc*VB8;?J%yu>vThbpLv2I2Ukir%s?8- z`ipf9Fo&1ZNjDj#Y-xAHD9;oYlm^RO=?-*>J2W2xUacBmBHzTu?{ue#y-3JOyr`6_ zNg{U)0Wj$b+P*4&fSND|rB2>Y=SD3Oy%F%Sgz!8^4J_rJeN+m%_&X&vt0*a zwW{UwIF3N~zB*gssNiN}OEJ9nP;@I95;R>@`|_~ks_s=Ef{7%zD1X#=`?DPh{~G?u+Jojk=~30gOJL$mPGhDK4WF z0U82pUbv3@co{#%OSgHn92}Uljg3>eS)mx#=fu&nd;YNgV#XQ56pCyulYN}>X=?u; z?sU;tL4hYn``N>pCLwyZV&xtrdqwpW0}R1Z(_$v*BfJznmhak(65>l`$ zR_U3(m-PzMJmcVW?{f)Jaj$kD%XMbt_XqB%jhs{P!G{q@xk5Ir;n1GrVa32gmF;cQ z#I2~{Nvh!;&z&c~Bsy~}mM(BushHoBbP5}&YIzuk#_=-5FTQCm0Iz8`Rq^vLW3GB9 z-6*ZA3UW|3(wAvkn+j-yTQ>QOTneOI_0q>E8&R&3>0`!~0ol{YSa;*qZA>UzXIsn? zUds``s2XT}V`&K!pO2WeptjcNUXhA^7Y90C^9>w{Y@1b>H8WJg>$94Z^^0SaXE2sw z^lMwKG?}pQqmWA!H15(jK93Vi1EUm0({fHl42U8Mas_bTd%ASoPvM9GIZ zXNOhoUkqiW3e~Qjh2}PEk#9m=O~KebU4=8oDppmqwYE}JsyJPy{&GJli z6H@}dD;6o%GB>p)^uAeN?AP8+>o3Bm`_F_XX_dYQjdNTm0`9U@(r2U7*Xl|aXZDZH z_pS|h|EMFx%^~{FS03FBxKnuRAlwCG;*0EG2;r>rb^LgEgE59X0W)9r0s3J0bn&bz z!3^DtkyO5sK!2&mNJ*9H>~`b4Rtu^a(qAvXc;QjAuyKh()`CO1O_DQ~ zCl^cz10n>RdlKqfokkZHB5L6iF`Y$EtcOl!3XpZvd!2?4W$t;9?&&^Uih37pWC2#; znvKoN9fLK$D?aca!`HB!=6&+>Ryt5C4l^wEIdC9!*QFMz!W=Cu?^Rd6Tu6DE6nMw% ze5hs$d_$hh3)nXW-eZ~5BSk(kI{DZJ5T+*#B#xN_ExJ0)T$VJF!O*^x(h*#3r`fMU zjowns*`#yMK7)AU=a7!0aavh1EFHxxR6x0H(p6^z9m}0hxJ9$M4c~BKvwc;D3_AN8 zyJt-Kn8Ti~(io3hK6`Ksk@Z{sf(Fa7uGvFRS`|YZtM0=PPWpQn11=Jn7FPWtQB~ z2=ilp|F_?M`7&56h&@R-chn~gV>v5OPYIlN4NGg)g3q~5D^9l4663pS0v zyRwq{?g*XS;(TVUTe2HCQs zzLI&5B0QmHN?27xq;C|1#C9}8L*y~$+BurU)041cVQ?!qWZ?Tp&S<8!YKMJ$QbMG> ztnbeQKZ&L7=!9!~8ANKaC-q|@m4AL-AK-n2ECu<D?%AK9a!1Szmdb zLwmc3icSTtxx+42VQg2k`&S|2VQrynzD`bUD?%@|rz(sydmp{_s&N*z3bgltwKJXt3P-<*Tg{TV*oW_B!=LfE6%IP~wl);V+gkm_NmOGGN5WuvCLU3kfVSmr6{};uABR#Tl#_jw z>(v!AQlt>;%Kn}G--C#gnfS#VB#-YTy=ys=>3DDx)0cXDmc~Sw_}l$ezAd8VN`Q$%i!UdfTDTXcv6~vHla~SKF#eP(ruCkG85N5zNuWaj5IM zUFe^ztL%{DAB2#dupjf}g^ZiliXd(;q&iske-=;_H~n%m{E=XAMq~1r*okPx^Aw%b z>WP~2f!}8Fp{>A@p~;LDxiV*?)xTbvU1!x9Fpj1S{Jh5u^k+6%Huh@YN580-M>?TkErDEj#LmCgL7tZU znUDy!hyY==3qP!E$TrDap=*5YUgd8~O^n&F5V``aPK@gsV|yG;;q^hSmUo9=aVSl= z7c4g=?CV~v>KlJ$65`x#rc2?AN;;ecf zQ8A+h`@z|@K2x5zx3nQ5dUcT-XR^nOHWk4Q&!)_&yF9R^Hrn?T>Q4jZ6l!IunS)0m z^>%{NG(;Utu;#co$GAijI8x9;NOAQYG%$(mF z!~}L-bIl!N_A*qGc@eaGc5)0J?e>Fl#lgWek(*L5$51A!5)F*%gb(=abLRCm>i6)M zvYb40ZyNgvtW>{9lY0^YnHeUVLNx65lMUZR3Lr-Hyyic1P6_BypfAN$#zA29EU$UO0#7S45ZN_7D2p)0G#?^~dy~>*!%Vf>$~$$lyD23S~%~35MaJ z{L?$&AzE)cC4n`K2baSpB};t+-tA8% z&(#X~+--m_1^}8%-o5~fWhCU(qH=1IpT=f0RenOAhI`~mzZ5I-?K5%TKI)yGZ>Fte zG=n+40$#lWn`@vCCCr$ZAvi>IMlsI2G3^^t!=^WCm#v8s2~7(pK$@?E%_cXf-H zTDaT!*Uq|I74Jmh=vQyTAw|pSKN@_e07*LkCihDn`*_WM$`DVvCI-bipwLezo>p zbClR7rlugO6#Fp3FBug1S1#lgc1mq^3U#cy^ju&o8{8M*te&|qiwr`L3`-Oe7K=rJL|zIZemTy=>)dTQNKL7OwsJymVhjf(X*G@oB{uPU5$ zjB#D?RYFxfX%wm}zz_e4M@LN?T_OP`z>_A%@2v`0_n5&WT!QjrS@C)LTono~V6*!V zY6pC3PbVgneq=iUPM6*dVV`t>20XYphT!=GVX(i(VdS78iq6+^#YG|`C|>BXIIHvA zX=^J|-nZ-c?YlpI@rF70SFUdTi~}>!rX+vl#!uQqSt!aWY-MZzKy-T@H+4=_bLR9s z6CE3`RrIkBcvX8lW`|WqF}XY;I%ZHY0%~}7=jO2*>1PA7Tk(t#p0pyhUm7fmC8qix zmND$pR8g-5{7$K5RG(zf*$w>KiuAX#+Ku(!!^&D26ONL4tPK{&P1<3|HOW#YDY+1W z?8!m*JT-37F%9Kq?$vnV07(m82_&v1rsiI7ST)O>N?A1@VvyTwTj*+MnQvmKuk&v< z;T5HT(9$km^+|Zlt|%9-peo(EkLg4901#;5Gq$#4E%0u?Xag_!^{d!+Ck%mB(Ywbo z@aZ5>U|Q!O$fB$_YQ~GDqa*$}u9+VR=@8bn=g4M;Hnna+CwuaXKQ{lWe0eH{?nvYr zpAj(uH-!lMAFAibKJlLY%}z~GU}CL@AgciP<36{wssr%&cKd)RH}{;}$6%l`joUw1 z2DV43sSoItmk5K;F%gUNk6)LUVOq=F)>j{3f+Sb6YP+Qb z4eBhKWdeTYa7bzo=bt9|;8X7*dytBuRy)bV_7x$7EJ@nC0h=wkaql_Up5NK^fzEl& zWSXS}wa(07v zUxj(xpfhOKgRh6bA#*N?C8tTRhT)A^MZo$yVH(4#195Bjmrgs>aTr~^*%yz^x-0{H zvQFG=tm<+zrvq*c=0+6Y3q15*m#fokUz}ad_IF_dPTHrL0x8dH(D#c6e!I5LPwvD7 zw~~8oe%_5X#sSuEX97@|5LDC;x%uPrY~n~EuM5Zc&jZH<7#JLhSyBSQlcZzVSO4xn;>2!zV4plzo8tma2rMNDqifoeU1#NL#%OK8Tns)`XAsvgA77#tU=@efR`z~UzS55ZX%%!5bG zO9dSn6q72^6E98oMN?MK6TMW1!uP0vAxkj@!EypJ*=QXDIXXOaP&_MsFnD4kc#`a^ zf*jFpb9xNwcr|!N2{3&~Aia2Zx&r&$G%7!P)J^Q^+QK)aL1cI2Gb<560{lNxjs(P7=<%xJ+?fwK_etB9XfanAFm|*Rz#zzB*;!}FPq+0~U?cYzJ zv`Qt}*5~h)oa2#HDb(rT7ecNo@8)i5g1Q+8Pj*Pu+Mu1KB+Z7G3-gOcPHV+;ok`fS zfjsZiK}%e^Zm@uF3N?hLpI(q}D;g!kRNhDjwBdt*w)ba`NG>9>`U`a$v%2`U<*6aN zYdQie+B$29v49C-mAYr`KW6k{3B@7xNdR2KxL?&PqZ)rsG;uGp$R zdpW__Jf<#jv=kRj4U}(`Rg}#lvF6}xe2Q+6Eb?J&2EhjXbs}Ma4~aj?>i$tE1X&GO zbPvXz+=eU;DS=m>YfcpMZ$8=}Qb3xju;Fp62DG35P`5HsR=;3<=2wrGA!hTZl$dkm zOpCAUl2I^Mf*a$n8Sol#CEB*L&YfY)zlj*H##}PL@9b0}JW*n1Y4QtsP(1Y9l1y<= zk+Ujuzdcv!I^c%rJjEyGF{L^H04gaHLR21*oDbp@kGP~h|NP67U8obL-pv=bsKdY(RoTz}JZW*(7Uail@ z&ZIkh3<2O-J|ijgmnsg&A*yrv-E#a8^8uQrssc7>v2v$OS@`H8XgSb`57P{~g=za&I} ze5Tdg?IBkH0I?69j`zrFK9)6op1 z$0CFTn}@7z$zDEBbrq7A_ncNp*70XH=G@?g$%RgZ1m&Vmk(?Q#pEQ3x#(Q##6;ZiO zG_9Bz3$fy03Zy5?={dyCo&JpYrCn^eL9)(PxDb5fBmn>@J;~>ab)~jwL&opY zqX6)DRDp8w0K2@E{&r)cCv3IbV=?_7gS>_S;*m2YP@yf(LNd9*)KEU}W#O%Yk3Zdh zS1VLnkDeXk>>zBS@rjL78-nx6GqJuNLaxE#&Kg$WYjbBh+n@MvEg6@Yz+CRtCTUO~ zGilj**P10xtQqcXvlDM$>{bx#qjmyeuGWIrH zfBr$Sb=cuWLZTWOO3h!#$a|HU_GjVKkI`Kp$)9u;Klbj6)!gS}j0x&RyMJNY(#f~fToGO2g$nxReACQ(~vbH66LMaD(`R;NZhp5+V(}SNolyDcU z<>UIAtaV3ogd*ECFf2%}OG!K7KF?eghyFvF;Eag(Z+Q{5juevbunNNRn%(cOx&caz zw!T+&>|KC`F^d|Y9Im+mi=$krrQ-l9)#~Nxn Ks^w3tKm32*zJMeE