From 475508baa9f0b21087eb85048d51af342aa09692 Mon Sep 17 00:00:00 2001 From: Fulup Ar Foll Date: Wed, 16 Dec 2015 17:15:43 +0100 Subject: [PATCH] Add the app!!! --- afb-client/README.md | 4 +- afb-client/app/Backend/RestApis/PostMockApi.js | 37 ++ afb-client/app/Backend/RestApis/TokenMockApi.js | 114 ++++ afb-client/app/Backend/RestApis/_all.js | 29 + afb-client/app/Backend/server.js | 58 ++ afb-client/app/Frontend/app.js | 44 ++ afb-client/app/Frontend/favicon.ico | Bin 0 -> 1150 bytes .../app/Frontend/images/avatars/istoobig.jpg | Bin 0 -> 7204 bytes .../app/Frontend/images/avatars/tux-admin.png | Bin 0 -> 58558 bytes afb-client/app/Frontend/images/avatars/tux-bzh.png | Bin 0 -> 65172 bytes .../app/Frontend/images/avatars/tux-visitor.png | Bin 0 -> 84573 bytes afb-client/app/Frontend/images/login/fb-logo.png | Bin 0 -> 2482 bytes afb-client/app/Frontend/images/login/gg-logo.png | Bin 0 -> 3554 bytes afb-client/app/Frontend/images/login/gh-logo.png | Bin 0 -> 4946 bytes afb-client/app/Frontend/images/login/iot-logo.png | Bin 0 -> 3471 bytes afb-client/app/Frontend/images/login/lk-logo.png | Bin 0 -> 4579 bytes afb-client/app/Frontend/images/login/ms-logo.png | Bin 0 -> 6036 bytes afb-client/app/Frontend/images/login/og-logo.png | Bin 0 -> 2706 bytes afb-client/app/Frontend/images/login/pp-logo.png | Bin 0 -> 3222 bytes afb-client/app/Frontend/images/login/yh-logo.png | Bin 0 -> 5491 bytes .../app/Frontend/images/logo/logo_iot_bzh.svg | 139 +++++ .../app/Frontend/images/logo/logo_iot_bzhx350.png | Bin 0 -> 14449 bytes .../Frontend/images/logo/tampon-iot-bzhx450.png | Bin 0 -> 44996 bytes .../app/Frontend/images/logo/triskel_iot_bzh.png | Bin 0 -> 55940 bytes .../app/Frontend/images/logo/triskel_iot_bzh.svg | 110 ++++ .../Frontend/images/logo/triskel_iot_bzhx250.png | Bin 0 -> 18787 bytes afb-client/app/Frontend/index.html | 41 ++ afb-client/app/Frontend/pages/Home/Home.html | 33 ++ afb-client/app/Frontend/pages/Home/HomeModule.js | 90 +++ afb-client/app/Frontend/pages/Home/HomeModule.scss | 65 +++ afb-client/app/Frontend/pages/Sample/Sample.html | 22 + .../app/Frontend/pages/Sample/SampleModule.js | 48 ++ .../app/Frontend/pages/Sample/SampleModule.scss | 41 ++ afb-client/app/Frontend/services/ConfigApp.js | 25 + afb-client/app/Frontend/services/JQueryEmu.js | 42 ++ afb-client/app/Frontend/styles/README.md | 28 + .../app/Frontend/styles/app/_ibz-mixins.scss | 52 ++ afb-client/app/Frontend/styles/app/ibz-global.scss | 43 ++ .../styles/foundation/_foundation-icons.scss | 591 ++++++++++++++++++++ .../styles/foundation/_foundation-settings.scss | 605 +++++++++++++++++++++ .../styles/foundation/foundation-conf.scss | 19 + afb-client/app/Frontend/tmp/routes.js | 1 + .../widgets/Buttons/SubmitButtons/SubmitButtons.js | 52 ++ .../Buttons/SubmitButtons/SubmitButtons.scss | 22 + .../app/Frontend/widgets/FormInput/FormInput.scss | 69 +++ .../Frontend/widgets/FormInput/InputPassword.js | 79 +++ .../app/Frontend/widgets/FormInput/InputText.js | 179 ++++++ .../app/Frontend/widgets/FormInput/UploadFile.js | 113 ++++ .../app/Frontend/widgets/Navigation/LinkButton.js | 57 ++ .../Frontend/widgets/Navigation/Navigation.scss | 26 + .../widgets/Notifications/ModalNotification.js | 85 +++ .../widgets/Notifications/Notifications.scss | 47 ++ afb-client/app/etc/AppDefaults.js | 41 ++ afb-client/app/etc/_Config.js | 44 ++ afb-client/app/etc/_Trace.js | 55 ++ 55 files changed, 3148 insertions(+), 2 deletions(-) create mode 100644 afb-client/app/Backend/RestApis/PostMockApi.js create mode 100644 afb-client/app/Backend/RestApis/TokenMockApi.js create mode 100644 afb-client/app/Backend/RestApis/_all.js create mode 100644 afb-client/app/Backend/server.js create mode 100644 afb-client/app/Frontend/app.js create mode 100644 afb-client/app/Frontend/favicon.ico create mode 100644 afb-client/app/Frontend/images/avatars/istoobig.jpg create mode 100644 afb-client/app/Frontend/images/avatars/tux-admin.png create mode 100644 afb-client/app/Frontend/images/avatars/tux-bzh.png create mode 100644 afb-client/app/Frontend/images/avatars/tux-visitor.png create mode 100644 afb-client/app/Frontend/images/login/fb-logo.png create mode 100644 afb-client/app/Frontend/images/login/gg-logo.png create mode 100644 afb-client/app/Frontend/images/login/gh-logo.png create mode 100644 afb-client/app/Frontend/images/login/iot-logo.png create mode 100644 afb-client/app/Frontend/images/login/lk-logo.png create mode 100644 afb-client/app/Frontend/images/login/ms-logo.png create mode 100644 afb-client/app/Frontend/images/login/og-logo.png create mode 100644 afb-client/app/Frontend/images/login/pp-logo.png create mode 100644 afb-client/app/Frontend/images/login/yh-logo.png create mode 100644 afb-client/app/Frontend/images/logo/logo_iot_bzh.svg create mode 100644 afb-client/app/Frontend/images/logo/logo_iot_bzhx350.png create mode 100644 afb-client/app/Frontend/images/logo/tampon-iot-bzhx450.png create mode 100644 afb-client/app/Frontend/images/logo/triskel_iot_bzh.png create mode 100644 afb-client/app/Frontend/images/logo/triskel_iot_bzh.svg create mode 100644 afb-client/app/Frontend/images/logo/triskel_iot_bzhx250.png create mode 100644 afb-client/app/Frontend/index.html create mode 100644 afb-client/app/Frontend/pages/Home/Home.html create mode 100644 afb-client/app/Frontend/pages/Home/HomeModule.js create mode 100644 afb-client/app/Frontend/pages/Home/HomeModule.scss create mode 100644 afb-client/app/Frontend/pages/Sample/Sample.html create mode 100644 afb-client/app/Frontend/pages/Sample/SampleModule.js create mode 100644 afb-client/app/Frontend/pages/Sample/SampleModule.scss create mode 100644 afb-client/app/Frontend/services/ConfigApp.js create mode 100644 afb-client/app/Frontend/services/JQueryEmu.js create mode 100644 afb-client/app/Frontend/styles/README.md create mode 100644 afb-client/app/Frontend/styles/app/_ibz-mixins.scss create mode 100644 afb-client/app/Frontend/styles/app/ibz-global.scss create mode 100644 afb-client/app/Frontend/styles/foundation/_foundation-icons.scss create mode 100644 afb-client/app/Frontend/styles/foundation/_foundation-settings.scss create mode 100644 afb-client/app/Frontend/styles/foundation/foundation-conf.scss create mode 100644 afb-client/app/Frontend/tmp/routes.js create mode 100644 afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.js create mode 100644 afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.scss create mode 100644 afb-client/app/Frontend/widgets/FormInput/FormInput.scss create mode 100644 afb-client/app/Frontend/widgets/FormInput/InputPassword.js create mode 100644 afb-client/app/Frontend/widgets/FormInput/InputText.js create mode 100644 afb-client/app/Frontend/widgets/FormInput/UploadFile.js create mode 100644 afb-client/app/Frontend/widgets/Navigation/LinkButton.js create mode 100644 afb-client/app/Frontend/widgets/Navigation/Navigation.scss create mode 100644 afb-client/app/Frontend/widgets/Notifications/ModalNotification.js create mode 100644 afb-client/app/Frontend/widgets/Notifications/Notifications.scss create mode 100644 afb-client/app/etc/AppDefaults.js create mode 100644 afb-client/app/etc/_Config.js create mode 100644 afb-client/app/etc/_Trace.js diff --git a/afb-client/README.md b/afb-client/README.md index 8216a25..6b628da 100644 --- a/afb-client/README.md +++ b/afb-client/README.md @@ -4,7 +4,7 @@ Install HTML5 development toolchain on your host 1. Check out this repository - git clone https://github.com/iotbzh/afb-client-sample.git + git clone https://github.com/iotbzh/afb-client.git 2) Install NodeJs [not used on target] zypper install nodejs @@ -18,7 +18,7 @@ Install HTML5 development toolchain on your host install [livereload Chrome extension](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei) -### Overload ./etc/Defaults.js with '.noderc.js' +### Overload ./app/etc/AppDefaults.js with '.noderc.js' var config= { APPNAME : 'AFBclient', // AppName is use as main Angular Module name FRONTEND: "Frontend", // HTML5 frontend [no leading ./] diff --git a/afb-client/app/Backend/RestApis/PostMockApi.js b/afb-client/app/Backend/RestApis/PostMockApi.js new file mode 100644 index 0000000..6299f39 --- /dev/null +++ b/afb-client/app/Backend/RestApis/PostMockApi.js @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +var fs = require('fs'); +var multer = require('multer'); + +function NewApi(handle, prefix) { + var self=this; + handle.trace (this,1, "Mock PostApi url=%s", prefix +'/ping'); + var upload = multer({ dest: '/tmp/uploads/' }); + + handle.app.post(prefix +'/upload', upload.single('avatar'), function (req, res) { + handle.trace (self, 1, "%s/upload file=", prefix, req.file.originalname); + var upload = multer({ dest: '/tmp/uploads/' }); + + res.send({"jtype": "TEST_message", "status": "success", "info": "done"}); + }); + +} + +// Export Class +module.exports = NewApi; \ No newline at end of file diff --git a/afb-client/app/Backend/RestApis/TokenMockApi.js b/afb-client/app/Backend/RestApis/TokenMockApi.js new file mode 100644 index 0000000..74b565a --- /dev/null +++ b/afb-client/app/Backend/RestApis/TokenMockApi.js @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* ---------------------------------------------------------------------- + * This module simulate Application Framework Binder + * + * /api/afbs/create + * /api/afbs/check?token=123456789 + * /api/afbs/refresh?token=123456789-xxxxx + * /api/afbs/reset?123456789-xxxxx + * + * Note: this MOCK api does not handle any session login. It only returns + * a fake valid or false message depending on call order. + * Its goal is to get a quick way to check you HTML5 client rendering & behaviour. + * + * When you're happy with you HTML5 client OnePageApp check it with afb-daemon + * ----------------------------------------------------------------------*/ + + +function NewApi(handle, prefix) { + var scope=this; // I hate JavaScript + scope.connected=false; + + // Simulate Client Context Session Creation + handle.app.post(prefix +'/create', function (req, res) { + handle.trace (scope, 1, "%s/create body=%s", prefix, req.body.action); + var okResponse= '{ "jtype": "AJB_reply"' + + ', "request": { "prefix": "afbs", "api": "create", "uuid": "e4ef5e66-xxxx", "token": "123456789-xxxxx", "status": "processed" }'+ + ', "response": { "token": "Token was refreshed" }'+ + '}'; + + var fxResponse= '{ "jtype": "AJB_reply" ' + + ', "request": { "prefix": "afbs", "api": "create", "status": "fail", "info": "AFB_SESSION_REFRESH Not Initial Token Chain" }'+ + '}'; + + if (scope.connected) res.status(401).send(fxResponse); + else { + res.send(okResponse); + scope.connected=true; + } + }); + + + // Simulate Client Context Check + handle.app.post(prefix +'/check', function (req, res) { + handle.trace (scope, 1, "%s/check query=%s", prefix, req.query.token); + var okResponse= '{"jtype":"AJB_reply"'+ + ',"request":{"prefix":"afbs","api":"check", "status":"processed"}'+ + ',"response":{"isvalid":true}'+ + '}'; + + var fxResponse= '{"jtype":"AJB_reply",'+ + '"request":{"prefix":"afbs","api":"check","status":"empty","info":"AFB_SESSION_CHECK Not a Valid Active Token"}'+ + '}'; + + if (!scope.connected) res.status(401).send(fxResponse); + else res.send(okResponse); + }); + + // Simulate Client Context Check + handle.app.post(prefix +'/refresh', function (req, res) { + handle.trace (scope, 1, "%s/refresh query=%s", prefix, req.query.token); + var okResponse= '{"jtype":"AJB_reply"'+ + ',"request":{"prefix":"afbs","api":"refresh","uuid": "e4ef5e66-xxxx", "token": "123456789-xxxxx","status":"processed"}'+ + ',"response":{"isvalid":true}'+ + '}'; + + var fxResponse= '{"jtype":"AJB_reply",'+ + '"request":{"prefix":"afbs","api":"refresh","status":"empty","info":"AFB_SESSION_REFRESH Not a Valid Active Token"}'+ + '}'; + + if (!scope.connected) res.status(401).send(fxResponse); + else res.send(okResponse); + }); + + // Simulate Client Context Session Closing + handle.app.post(prefix +'/reset', function (req, res) { + handle.trace (scope, 1, "%s/reset query=%s", prefix, req.query.token); + var okResponse= '{"jtype":"AJB_reply"'+ + ',"request":{"prefix":"afbs","api":"reset","uuid": "e4ef5e66-xxxx","status":"processed"}'+ + ',"response":{"uuid":"b028b883-8b47-4c6d-9c6e-e79b9e2b81b9"}'+ + '}'; + + var fxResponse= '{"jtype":"AJB_reply",'+ + '"request":{"prefix":"afbs","api":"reset","status":"empty","info":"AFB_SESSION_CLOSE Not a Valid Access Token"}'+ + '}'; + + if (!scope.connected) res.status(401).send(fxResponse); + else { + res.send(okResponse); + scope.connected=false; + } + }); + + +} + +// Export Class +module.exports = NewApi; \ No newline at end of file diff --git a/afb-client/app/Backend/RestApis/_all.js b/afb-client/app/Backend/RestApis/_all.js new file mode 100644 index 0000000..aacf19e --- /dev/null +++ b/afb-client/app/Backend/RestApis/_all.js @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +PostMockApi = require ('./PostMockApi'); +TokenMockApi = require ('./TokenMockApi'); + +// Include here every application APIs routes modules. +function Initialise (handle) { + + this.sample= new TokenMockApi (handle, config.APIBASE + 'token'); + this.sample= new PostMockApi (handle, config.APIBASE + 'post'); +} + +module.exports = Initialise; + diff --git a/afb-client/app/Backend/server.js b/afb-client/app/Backend/server.js new file mode 100644 index 0000000..11c5486 --- /dev/null +++ b/afb-client/app/Backend/server.js @@ -0,0 +1,58 @@ +var config = require('../etc/_Config'); +var trace = require('../etc/_Trace'); +var RestAPI = require('./RestApis/_all'); +var fs = require('fs'); + +var express = require('express'); +var session = require('express-session'); +var bodyParser = require('body-parser'); +var methodOverride = require('method-override'); + +// instanciate express HTTP server +var app = express(); + +// chose dev or prod rootdir +var staticdir = 'dist.dev'; +if (process.env.MODE) staticdir = process.env.MODE === 'prod' ? 'dist.prod' : 'dist.dev'; +else staticdir = config.MODE === 'prod' ? 'dist.prod' : 'dist.dev'; + +var rootdir = __dirname + '/../../' + staticdir; +if (!fs.existsSync(rootdir)) { + console.log("### HOOPS Rootdir not found rootdir=%s\n", rootdir); + process.exit(); +} + +// get all data/stuff of the body (POST) parameters +app.use(bodyParser.json()); // parse application/json +app.use(methodOverride('X-HTTP-Method-Override')); // override with the X-HTTP-Method-Override header in the request. simulate DELETE/PUT + +// This handle should contain enough for application logic +var serverHandle = { + app : app, // Express server + config: config, + trace: config.DBG_LVL > 0 ? trace : function(){/*empty function */} +}; + +// set the static files location /public/img will be /img for users +app.use(express.static(rootdir)); + +// Load Mock APIs +var apirest = new RestAPI(serverHandle); + +app.get(config.URLBASE, function (req, res) { + console.log ("Angular OPA %s", req.originalUrl); + res.sendfile(config.URLBASE +"index.html", {root: rootdir}); +}); + +// rewrite requested URL to include Angular hashPrompt and set session flag for RestAPI +app.get(config.URLBASE + '*', function(req, res) { + // Warning redirect should be under exact "/opa/#!page" or a redirect to home will be done + var redirect=config.URLBASE + '#!' + req.originalUrl.substring(config.URLBASE.length); + res.redirect(redirect); + console.log ("Redirect to: ", redirect); +}); + + +// start app =============================================== +app.listen(config.EXPRESS_PORT, config.EXPRESS_HOST); +console.log('Server Listening http://%s:%d (rootdir=%s)', config.EXPRESS_HOST, config.EXPRESS_PORT, rootdir); \ No newline at end of file diff --git a/afb-client/app/Frontend/app.js b/afb-client/app/Frontend/app.js new file mode 100644 index 0000000..dc1d489 --- /dev/null +++ b/afb-client/app/Frontend/app.js @@ -0,0 +1,44 @@ +(function() { + 'use strict'; + + angular.module('@@APPNAME@@', [ // Warning: Appname should fit with gulpfile.js & index.html + 'ui.router', + 'ngAnimate', + + //foundation + 'foundation', + 'foundation.dynamicRouting', + 'foundation.dynamicRouting.animations', + + // external components + 'ui-notification', + + // Application Components + 'ConfigApp', + 'JQueryEmu', + 'HomeModule', + 'SampleModule', + 'UploadFile', + 'LinkButton', + 'ModalNotification' + ]) + .config(config) + .run(run) + ; + + config.$inject = ['$urlRouterProvider', '$locationProvider']; + + function config($urlProvider, $locationProvider) { + $urlProvider.otherwise('/home'); + + // https://docs.angularjs.org/error/$location/nobase + $locationProvider.html5Mode(true).hashPrefix('!'); + + } + + function run() { + FastClick.attach(document.body); + } + +console.log ("@@APPNAME@@ Loaded"); +})(); diff --git a/afb-client/app/Frontend/favicon.ico b/afb-client/app/Frontend/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..eeb7ab7a0612f56c8f115cb25eaf2b39c89ca690 GIT binary patch literal 1150 zcmb_bOH30{6n#TW6{x0GD3wAfpJ}Hvg9cpim5&HfkQNH1En9!f zd^95EBjCcAm}rb~DGR|JCbGeW2#dy*L=z3f0`=U22BYk}lQZ|d^WM4dzB_jq&6{yAfAdxNQiAArmJ~fK7kH==*xFb|fb_kPZ%;sao-ti+os?+WuNE@YSzC{%L?>ILs^v6(jk<; zyOLOR6q*I_{?sjo)8PtLEcOS_T(A2zM*hWgHtPEkTxD&{?vr#MKzx5<5$wRS!}N$G6K}6WPkMaDz*AXzJ*lBdsgS{eX-g%AbEaZB^`(c z!q>0~{x5?z$U*O*7+%Tk%hH(2KxP7|KoUUz-d5nB23?THf3h9pdf)}V^%L}SN2jIY zFnU-%5NQn!1Q-iqnX%<1#%A*w8*6541Qq&%KW(vqu_fGg#SV{dU%HKPJT!U08^(SD DsKEJf literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/avatars/istoobig.jpg b/afb-client/app/Frontend/images/avatars/istoobig.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da0f255a923b36eb143693f2db09b6385afd3487 GIT binary patch literal 7204 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 literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/avatars/tux-admin.png b/afb-client/app/Frontend/images/avatars/tux-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..ee40d2afbcd26d29c2c0c8f8bb450aff3136c4d2 GIT binary patch literal 58558 zcmXtf1yoes_x7Ekdk{oA1*DN~hDPb`kZw>UB!&T`1q2DDLmH$(BnG8H>Fy9D1*8TT zm~Yts80&H)%ySdgq*HQO1iH0_5cvLn41w`XgEg|Gu9apRQO8}tRKDF-VIC! zf3Q}0@sY;%2^OiaNIgptm|R6Ui&b5>7e1l;*jTw9LTOls_Za`lQ)(4MUT@XegfG<{ zSO5OqZdH39HD0yd9(InIKLS$A1Tr&mH9+r&DNZ6~a`wnm^j;qVa1f&{oD0x2R{dsE z7mN=X8u=BK$MOnngAF?pwFb+aKMR}Df7{59K{Dap`!V7wMA3Z zd6l1qBcAy} zV837yQV##k@=%>(GUg{Ut^-+{LYFRtlAuqK07CXa@y)nXIW>1=WnoY`%?+azL2k?! zXymw+3vpI7EN1mPzGg&4-Ggczx*lT8^TL(ZjeNizxT8@->kK~Z%K%f9^!nL}C{j#@ zP(Jbx1P&pmEsCdRCGN#JRV#WQ_%^v(E&e^>XOOGPw-mYG976FwnZ5O>DRETPXo@`a z^2&87iJEbn8I2+;RT)(M3WD^+_3X>drqx7fYGP;AmI^w@$#=0|Q+$ zJ2X3l_=9h8)p{$|fBO9W`h=b=Gr6jp;d}0Pk`0cRM1fo#9ILp;$WtC1X9t8g*eI=#0+RLf21%ZHp<>t(JG=cKopbeIy*W#WDZ3S zIgQK?=4CLHu!!(wJ>rWpelD#|SK4V&)YR)r;5>B6UZWA6@pFVP-8XG(@ZnJN&`L%y zr%qJk-=WP#2ye4c$ST&^!hGUfBN z5@nyOe;1~GF)Vql;Hvtm^sqeVv*ni%)i>r*MRv76jJQlBtNx|&YXlUPjq~hvo|_q| z80i=lx^?cu_am}e%*)NY%(EAj{34{3WUV_bJJmvsl~j6k*mR0jw(>ZvKNNl{Z!>As z@wL{l;IVYCGA^4wDs&3b`hk0`j|$F#)-CtI*DfDT}a};M5)9)I(KR{nq#5A!uKwA zFH-F$U0$sj_D?T~tTip22MEgwXP6}}@cA~hwO`|&@t-{!InR8Vab)8^5Mj6BTt8DZ zuo+pB&c4<#^J?*V5BF^4tlL`!M{L38)R{FCv!k|4WInai28?OXrb@32)^`yFHTxaD_?i9Iq@Co14po_L(p zl;XsmnM07dj^pIndskg+T^m7m2@a(C$pPfg`^opWg;Iq-#`6S+>UQgP>aKm}P8v=o z@V8?9$mduevbLpI>CKndm6w*crF-#QRp-RE#PYvmv@Yr74xUM$A*?bm&QD5t_o6>1 zR%IZ1fH5v~?A%#Q@Xuz)rrVa28Gm(WwX=tszhrQh{Q%dNX8%%OW}goGJo};cNA1_@ z)#^DL-+Zdt1X5)_?5FO0xcflH9`>9-$5o@Rq`x%p_s~h|n@-nZ*9F(ey_>zLy<&Hd z*+Vnok*f`HM<`8|&^K(ui7`WjuG&`>i450#vk%uCJiG_WEw9A{+U3;*oP$Rlz6Aem zb=Pw@a}WM!cqX=;SmSGMf?zafYVC54yort=p`eo$V_a39PwUt#3;BR*K$&FshzC4+ z^3a2qdTq15q(ryqy^Tb}jKBMe*tFQ+mhhvUrK*-NUb{zDd}3T*p1^E=aJStg?unAzQAvDnE7^cPp2O zmHhbTKtoUp>`b`E}S^C#sTNf(Zu46Y-CaJ!v%nOBz-0UVETOtnJ zL_KP}i<=)ZVGX<;$b&K6-krS6-;(8|<}?o*M-{f@PFhcc{C>aw>CfSx-(i>E?X!e}g` zA2NN?_;<{+IHS01z;fV*2~WODev~%sQlnqsn3FK?eZHY)rKXt9C#~Ep|NO4g*V|KZ z&U<52PK06U_sy4Wqi0MoUsO$)n4SM74!W;wO~ZN^A#?7wP?gsPZ&Rx^uo3wAs52$Z z7sIX@PWwexc-<&eiycTzk7E2y=+=1{~ibH;~7d}xzzNw0RkGAm+>Sf#j#=@4fZbNFeubRn2Ol@I^W(=4WjciBz42eM z@;{b!zDInL{Il$P%u*D5pLjXI9*g-ok)W}`M46$V!C8#aUxvgwfE!G6j z&$wNv<1a~NQ>`Q~HU%QxYN*KcYBI4&^p6QUKBYnx0|XansHlAuc2FtG_1n;X^Il#W71>MRXA;RK5Y#%elu;|j)P5k zDsP7klEkGaN+Q4j^nA@nn~}|{57e~U&E^+K#y|cBOKEs>^4uq@d|hL#)%JsgP75b@~Y7%Y{#YRtxDrcsp}t^Yz~H@QdiEFQHLpF<1QpiNaN-lR)Nf^eDD&a z?kPB2694tK{W14IZH~qq59*U=jwteE?V`Ueb55)k+v`oT0|<@-7^Q>KI8pJX<+#T) zt}9yvR6k!+J)OZ>nMjkWn4z7J)WBXxGE_Tp=$^6n)&kdF3H}$2`&sZ)Qv4t48 z8oV01YS9ZTOGjmhBAgP}zB``=pss?TMi6jw7I!}yF`RET!2Bt^rIONi#5Fh}kPrCU z4hY7nqlI58YaiX#0mk)>HZ88p8GXx1#C^5N_pA~szl{@3r+Iy^ak!!q-Ho!QpDaL#RZh8q0qIg74_ zCQkS)qn5OzFw{=6=ep#_MAtk0?*FYhDe#c~XQSI{CwWn5jgyss{Vtm42jUqD6&p(m zs`shhmxYQREbE9K{Gc_^x`f4-C>>k3qv7#X^Wr_t_k`Nb;0iJ;* zUzhQBV;>5;J>kbZzkG;U#)qiE&!z7&!|SoOA1pR4EA$BUyYp@~1M8!p6SeE9*Ei%S zCo=JkLDA$~Nuo`R0ixgal7X0|6d@O;znkeAcIhho+c&+fT9Db)2{ygI6kB%&y=y=P zZvrkv#X_R{ydBL+@$ofT##`v|Ma0A5gy5V<`S~6F`FN0~hB8fje37M>R1@2RN`6U3 zXKIXJ9pBiVg#Bm!a&sUJ1fseZ@n2VJW)A8^E>SDL@xS?&I9REzRBsV)g9EolU1;^y zf`N&7bri$-W~5i#b3&(*qh`ua~eq9CZc%~u*C=Uq!y%@KQMd%e)UDd8I>=e zJgN59n-JvioED#&nm7V0hkQOmTG;jzP93nW0|MMoJ7l3f6^Bw(_h{livIz_KqS_U> z%Gx@A0-}@qKFQ$%%1PzrY=p8hI+b_fz0XLdoo90sJMsAhsS7G7o@Y=f=wiWUd=dp; zqzYX5_JT-dcN+>n3bUkj`1dr-$O&yq1vUe8*?}j;f1BLyeG(V>7+*UN{H&SzDyo1A zY|8j9t?lbR=Ug~v(reRhh%ye^FwsYm3{xS}xnVr@4ZZ01^+=10^#R6x`)y|1nXmiI zwvL3Lp;X#upB#L{+-Z28MnU<0Wxf9DF@;hvIae{8s--$L2XsXv;kd?Cj#rN)9%|M4 zh4JY3u4Q>Jhe*7t3Gzs%3|m3u=H(B$NP@%10QpdenjQz>Nk za}1mjS}Kf<3xPnEIk3l_W-qeeljH~R`JJ3|;LD6t2@_Q`o6G)-aAYsQ0Rlp);0E_h zlCrX&|YLXA1l#1PQ)K6(u&YLV*Hw zh!_(YRc3#%LY6xB~DCkiJ8Cm&C(-uwaTB#mUL-bkvyf+_=r_(n(e$A&B zVYc13_LcZlygdrJBvS!EgF6Vo$!UrOZ)Oy`pL;th0Y~f*L23z=Y&*+7T6;bxX5DtP zKL*Vfe#g$AaGQXFVLZ@6Jv+3=|egAi-kIem+ zQeLj)9?h>%kU|(9&G&AWa8R-A6^l>UCrI}JHLoEqfp{s z20QwhzeLeQW{-qNE`Egn4@@P2EWc-bH5Z9}WNIQ*VOYYO-iBY0zxYo(DNe=3DbdB1 z1x%do+82GwCprf#0ASh*(+|y;=gb$6f?jb)K=+8l)16cyE_Oh8KQ83!8a4PPwIEKj zeHA-=XC;-72EzueVFY#I3nCt;^6sC;5N0S(sn>;4Bus*AFf1UA>%R0M1^TX)?OqKN zcV5>Y!;$%)Zy18~d-w%(Yy8LbS4hY74hB{WZcouIwD^?xrUzvNzxb&2Gl5w*9ltpEM&kV-tS0DcYX0;?MV+qN zWh4CvRamb6>6{1~jEB67=2V%ctzj3UK`G(mvO6AyTVLY^MMYI3>q z_@2WtHownxrO4xSsVOwtT=oVx6nQOve%XFJ<<11t@b0)E4Mpx{PT!Rz?=G~;m8o6V zE0p~i3GZgZ1e(g1$4z3?%p%cnFnIbp2!Fbr1`GyBz$DppKS`Tffo?Ed8h~p>^5P?m zJEL>{>ZHDA`Z2KemEc2#@!jpOBqX|dGiE8Os95Fz5{xds&YQP4ja~y^w=sYtM z2>Rlzb90iwwA(qhAcu^VyWS6WTiEjZ@cp|q9KJ9Tx3p@6Kgi1W@c&QwYpvH5I`r(0 z?DdJR>$ha$0#7`u7c0@*@it$MF*dG!g!tUa$K&Ie|LyV~q=mBLesVuR+>1_AzAq(1 zJZB2MU<*Cj7&u=rS({YL7sBtlkFyTkz_~$XGws&2t`+JakXd;lcfOTN6=kSjzaW9j z)Zm95umV<-2g8n&+fXPKkd6iVIqm}KmP%Y~7*fY00(gP1p1^XuwNbx_c*cV zy<9pdv|s@(81RG^*kibYiiZx|5EH=&*7Ayg`*q$XG6O(2 zFMuH-e_(uPys*baD0pAeP#rL@VhH*<+_izoOSQ$H6ag67V5J}z_CJX zB}|w6i8${vqxl{g`zb7G4 z%(^=lSmH-qd%z$7xycvXD2OYskqHMp0{~Tcnw|nG|fMwB#veEIe(3=s;{AQ_@ z*BYmD7<6S{@$^(h9i3-hD57SCT48jX-ZdB$GeXtnO<%WN?Zw#OO$OWCDR$lxe?AVr zgLc9WwQMdJ2b1L|5|~g>0oZ&(5E{i3dNu{PT@KQLlm4-sm|jB!O{J<2`3*_2>t4ox z+pE9@x!?I=r^i5#oO1s!N~8goW$%+Gl_R2`B~L95qP(q9v!z%tp6S-nJEZjztBJ0qY@i7GIc_SuaM%!>z}4H6~;xp%GzV1+l+ zwW=aSn(^ns@L_PlP3VOMax1K^WDf zCkz_xl`_Znz@R8lz`in9kZyK*aG>q?eAo~*OOk!?=SHiK>`xcZrZ?89yg@0_-7n~q zhg6rQl{G3SIyqbML+SkF=OGV+(#c+~DVN`Y7W>x<-j#FPqSy3tHm>+hUB38(%q|#3 zH__8AgYAJNhd_WqUQPRswch_3fDE7t`%ktcKQYKd*3h*)F+j~GE~WFpw)tfp;}C~D zx7@6-Z0*|dM&4J_w`LxsBA(G$TH6B^D2X92s?O^RzzsQ0hq^X-$1*+vfRBP#u|b|Q zwhNgQnbyx-io*+t@m&sZekuU&cO#K-l1uWmfl|XN1!2z*6SutJ7GPZrG;aP70Rr}U zio|*Daa*Yn7g$Fl4-pMvVb_@#+!4YZ)vY0?2?Z~5ZAu2#_EnP3a$NckuSLAOD1KSg zy+3sNRbmsPRmzdvsn*=y!JjYCoSA++!8~5*f&V0VTM61m5VvtO_>RTazV20B1I7;3 zFN7;s%G)#t%$-0Oz|sPmN@+=!K0XYq5ar9w((fZ1;59%k+S*8NwoYWsX0=tD^wxT9 zIezUzgq$L(AIbO11}?w;cXCd7cK&ZNJF``sWb?``V1u~e%pDa_YfKD2%A3%kn4LTp zG!(=3^5bN^^PI#`r$@UrF18N?CMz(3Uc4IVq`r6lZ|~UZ2*G$?&$P`$SY)YV{Mxsa zQy0W5tY7-4Jfk&nYs<2?j9n$j^qP)5G4ow4g)E9NJ|mPE?|$t~Vqtdyb0-cC-T|M) zW97pt*cLTVd%&XGepcngd=g=XuTJxd2!A^D0AG{2;1@*X=~rJL3JUz?T4=WnkT$6S zz<1X^%g(sIlNJ>HKlXwaw>b5APZgMb+BDIhY3LJ3vf3e$ez;+A;C<_9jcQ($vsXop z@%#`W|8EqKrY%-7^DeunRbypUTC?B7=^_IQAKac%6+jDGP&I@g5L|%+zV;AbrV0<9 zxItyV_@#$$CYTJ9Qz42L0iHm1?XUrN5`gR@9$ZMUT#JI%3HVi^ea3Hi1zOH2=?nWG zpkD&rn)&iKE4!RZhD_R_t4;bApp?8pHVSKMvQSa zVgc|LySgI-j&_o45FEw}r6H@+8vy@~F5DRgNPxtdQ=phjkp$rT?2Qd*ExyVa{}+t| zVD{%AVDZy`2qK)q1h`a#3UV2NSJ{UgB|x1k__V5Z#OurST{KWPTO`j~Cf3;>QCWfq zye%EQ(x99zLY#KzaX4 zV%qtM{<^;=Y9AAUaa|l}@odSc>wD0XfQF~I@Rv7hM@~R_c2L^iom=b#G(klz4iMV} zhkr(orGvZc?vJYhfGfl^_9NT3gH*_3)0@UsG4BOC2a6Ujc5#H@5S8t74qHNarj`&q zk2M5GeXM+70C1@RK`q!_dZg6t1Ascy^gr!* z1cLY3Y~7QV6yGh%_+ot^hW-M3G;vk-n`08CrkhR~xPVI~7%G3WHse81;IU`)ZMQ4~ z=oZ1!1#G9f4l59g)V&8q@9x>Mu4skQ{f}0)+OH0uHpm8F?H>&kPMy<0Jws^<5eOxq#pImmDx}V0dX+{;Wt&$V+WDtYlFz^n|#M$_1&>X=Tj#%n4Rhv_alUmsT(tF ziYRiJ0wHJMu6Xek+oc;)egVBz{GZc=0tMK*&LB;ef_z+FEbvW5_djMI1CEmdMsU1~ z2);~Z2Dl$GJ`1MKz!FzlXK#eOuaK)3XWuqCyjX%DgmwdXFq#WKm4I+B>8(AYbFoJC z-{N9;*8h7Dyy|~?-Ps<%tpaes-1zUPz@Nh5e#NufickdgAU=5I95Q}+i;>p22jHe( zQrBo>l*`P6S*2#R!Fcp+<(q&RMyFu)YK|V&dN0EdQBN)b3kn(k4Yd|LsqBxJ-)^3i z-fK;H#fu7y9Eqo`H3|tjHbNqCpbhx=7l@Vs+xF~U?~=q;5fK5H=dBM2n!rC@=V*cp zjp+!kT+hb=&^uPxe)pG5G9S$9 zbhu1)Ig|Xiq~-H{P(Rvq0+73hA;EWhGWpofz8<5ECL`Nq<5lzf-0Fc`v#J4YVd7M3 zT;FO7`RgdZ?6R!?;uC(l-A$4{65gx{?Z>tyd!5>3`PN@e8)-6ck7f<-_~Ep2b2>#F z{?MbRdP#0-0SpiU4)TB!{uW^t z@a;I8M(a*kK{}6#zOFj8mak7yKCVuIiQH|v)H&)m6F+6+=JnDit$|1U)BC9B*h`{WNVk*kY%MLGIy!b7+_UVS0L9G@xoggK5Atnkt zd04r0osKBcO$)`T8n(WhA~B<$<+EkL`*PUP>Sa*rWt921!vFYH34(79jLEzV?V^8w z(1{z@;u8@`17l&io^JMu_#c|ypw7njq8?cnWLgKs$sv&jH#-Az=SKpOyNyhE6WKPG zC1tDEc~bIdF3~sVxd>%?Bk$Tf_SwVJtG(|gT}6N7QJ>^cFYqrIMe?Ms0+T8&=E~fz zW_fD`@XRp|2Q4X*KV0%g6x%L88|aRRh!`9jOQzztRA*C5`b;K|dY>2kSCSn4$Rnr60*C0g@Y&98-9vbtmkbKK?$UhqEmsMS?jBMxmpPJ_S7ujpW<7y8N$HM>P1I(E&PjjEt;|&q8df&G(Ob+0;bX{Tb8ER_{Wy>+y*MGNQT15*wq zH+$O1n;%e6?4hpDUT^i2+^nJRO;~#Vo32F&Ue^e0RV3)(gGq&NruOvNb)KbN2%8yx zKl@4SR^at^=HBT5Q<;hNn<&`z_9Jro-qKtOO=%s2o?z-fABCNh;EpHj-_P%^))MM$ zf{#Q&M8ix_$k?exZP!gDT&;1=Cd|sZCwNRA-4Q|+jYeF|S_r`+F0pidJO;l275|b( zrpHbGixe~_^ z+9@sSI{9|d-$O;71eK9vmHW6^%d|6#-|{OIfxd57MxyVp5a~iFl6$JPlsYMeuBnB- zIM~k5q9ryfWB^lXz*?vY(~Flfu^sRk`(#;F?~YSk5^6!X)2}R*(b3UY)`CYe&Aw3z zvBJ)yX-^W5l_+CePOSt1(oI}qK-mEtdV86!iH}HpO4dYF5Wa>TGHyIb31|TXG-;Ps z5@HSykTOEVP`s0;0q;tqyDDuFQfAoq0yuEmy8shPU@i2j^K%D84)+|AyS@$qVUrF- zeHAG~Z^SS?p7h%t52qFJfaWs&g(`8La|Q?m5E2j+uCxajynI=&{EGT*h;-?lY!}g5 z+;P7*ajqbo5!ONHw>z(Z`cfQ@o&i$4?U8%3H|7XF*Nmdxcc%WEg-ki#dqX_=UY^uBv!x*Hl z9IZ~Yp=c=~kN;@wW!@8efYcLC@k6a5@~rQT;z#wlQ%T}iil4IzHQ`!WBG1tDwf2V~ zdp3ZG88BUM1tKSk)ik2RPqEU-CFHsRW+cXZ>>s+T>i{qYjK77_2tgIH-%T_4bl)O*M<1Dy2<0+`q4f0M00lbva;av3VC?#n zD1bWFWJJU^FsUWHE@cyo`^h8N{k8M6ixfxT@zy|cW;J&0mM}F>_Zr)X;X9@v3dP;Yk*5YAo<_f+1~z4)pkTT1h>@q<`Zkf<1KcYBqo_KpsUgm8=!<@dP{`k$D$`yVNHlhBI1KdUio z;KI9y!M6L;t~o_XThp!LYMptkw8}cuH|lR#QpG$Mbum%WJCPq$ zk0<%FwG7@3U2JqFv+4@@^vc(FZ#bQY8&f}`q!h%~gxV5fvGE8|b$!t-gXw^_8qki~_*`fjk-bcdn5uWv3|t3Q zTD0<;nVHeVtr+g6iz+=?Z%<(daC4;tGNzdX;p=)*0GJxFJF)fj4a36l$EWrx$X!lT z_FM5Etmk0_z;p>hjhhINpvKJTX5O;G@ zc+#=!ezHWviTQo40~mJ!&V~Q;)1_qGO;javrri4p48;MHmX)NcDX-)&783E$zYUGQ%Te9~W;Vgj?Y}gUI_~b0lMLp(q>05#>_A!+O?+;b& z3DvXGLFeVwt4dlh3T)G+YZFlTWNLx#!`9XK6H^CN7B_6(=-DmHeaQ7_&N6)`@-!Ri zNv}lBlu#8z6xurwz4f+$C8P$X<`AQB_{3f?HV)19fQ^+-HHfDwYZ@8ee?C>)>F74L zvZ6%A`ogg&A0dx}#2f6>3s(q#Rio@9Xz~8l%G(Y`2y;Sa-S0Ee&vE%ahem6?t;^In6_cL_j9lni;(v*~xq-0_e&>jC$ z<>TvHypTkCe%`2)P5?gongRm48k)W>MWzw};EyR^6XjZX32!n1=1qU#q@T|F`96Vj z50n-FPTBPB9O$&;chRo3SB}4B;l-A{|F$>RY4&KE{FcO|eAaN* zM-Z(}HnC+1;3;kNKu*K{o_)Aq1j!@VA55^^lxSoQ2dI6C{ajw2PRYQaLMP?{K^i)k z3ERTYx~Co0ePS804ayeu55#J)WulpZkGlOLo{NS;VCsI+_XHg``|gt_trG(;sp`=^ zpn@;=(!tUIbU5z2;O9YzEGs03RL?-;j!teIUiy<>fb`wNHxL}E?Z+JK`sU`eH8!nD zV!n_2yXhxi;ZqjPFvG(YNU(#LEjzD8JwLD2{e5)$hq~+@f*$(7xi?>L|N8eJIXQb0 z$-sPU@YYZGscWhHEyf9QRUs`0G;7$ziX64M$O}O_CMG4K_C$QfX?<85a zrK*tYxJ&Sj4i0`!%odvv8^!iNUR1fgJSvIABb&r}CA+ zkn`D>w9eo^5QXiDAojW5G~riklpt=1MzJd-Z+-+{pA zQOx@yY2O%Zm3m`Nip`KOU%sS71U2KsNQfBOp>A&6C1oXNlFoG{Q~Yu^@QUg_t({rP z^$t5byT?;Le!e9yDF&WV*-7cfZsBzU;B!1?_>U18|jkOT^;d zh`mF6>{>MU)`lClwVQmbe6Dtryw-Ef!C9MP-&;>RIIy& z;^X5VY-}y3rlwMUFDo-}a^k45YBy$;Xh=--`1kcC+tG5HK~hzfm)p;u+DyJSJ$tNF_2I^*&C6#`e zqn#_qZjYVS{fkyPKf8DqmANO>JBE9T#fnk#s%SQ~v|U8Nu{AjhcAN-oRZ-1tt)zKD z@{NON=<;t$q*a_t%N=?&F#KS@zwJI=;zP+t|63?d7 zl?uoYxvaM|jJytcHyRWDb~q4MAC^N=kdcw4`YHC3m@?!~2A_rU36jJ?5>8@UHm|){ zAve&5rLWpZ!%-y8IBnQ3Dp(Lpj2-!&f+JD9-3w}={Q0N#6Reo@pI|X_Y&01TTnaFK zg#nSr;gJgGv4Vo1bF+{y5Q%$AjMjfCDXG;*9^WOG_P$ltPL{m0Y0VRBgff%jzeL|- zJxEV>cnUO718N}n79o(tlRSva?BIC^$CtfLwac^}Hq6IIZ{nz+=&jgqFp7j>kRQnE zyuF;{r}}N2G(4zm+&A!nlZhwEOd6)8?zz-FaZCoEX7WXjux4;={y`|^CckF-^L83G zl2P+undAyMAlHLHFbM?af>BU07SIb&!S;|$ok0o~l-&_;P} zjs4fxdh&VUXHswUxm;&!EI6x(bE%{Vs)sF%LykMIhT4pTi0Td>oRi^n4=&Z9H}kNqGQ9gK zI~(TgkG=i_C^n?MLV-CpDbPkg47YoOZ8#_FcvXI~-5a506LLutnoQ(|JUwb%O-*n= zEM1t0P&wP4Z$3jFCg}X8y~EMgW)<=j6c!Ux#l20d_<7M3=Z^ARlHB(-uFn>xjkSLJ zD?+|^f&mxUK%M)WzUe&}d~OSACU&X(A#U0G`X2RbTayZX$AUZ5P%`qF@}rmhuP4Dz zoe6+{ga^X z&KwYwH-^-mRSy@GLXaj`=?GfV6P1P<#!!#u$rj`1F^!ccmyuuVwjn$$y4=9Bp~hJk=#90 zY>Qgb?(O0E*+N)c)nH@m;b__`p>I*!D2n;(uJoNGD$Q! zBYL3k>Fj&YfNu9^wB5 z0QG)h8Wa2q17Q`i!m91(TWy?l1>eWJ_7n5h$V_`K)c@J6X@EZmx*HxNnF!&DMg)Ks zs_xm;K%H>VpqA28BpzU!LQFMiTj^0Og;VYb=!5C?p95!m^+RZqwLe!)sq4LQldek2 zHpIwg*O_=XdvR7v^~h7Azg+?nD>3DoBvS#koi{=kA@`CCPpNNdn_OnAmw$p1f(2z` zZy(Y3LQA3Vk`Hz#CQsiLSFR`1VXaFzNlmBr3pRovqq(wWj}R@fd*vG<9M1IA%6+!n zRJ1RA9!93|^CwhXjmaAd5|!)bAGiE(LD&L_fJ@)fl-5>G6&1CKN~5YLQqjV2>`_49 zz$F)e4gvmu7rB7>Fk8fQBQ+kBme&kmOm?UceQmtAZkAze!1R>X@IxxpLcTkCA~3ea z>u7Phz*^SL6wwvSWL&Gw5VwldQc`-Jn1*m3`{R&M%bzQ4FonnX9>K-qJGk=`#B)|u zTy!l%x;q7<85x`$&ahAY%eHyoEJ2*-zQtg^6X~l&6^SGN#F_Gx>0uodC86DIQ2JEd z>wN>^NEMrj>T{ZP!C+&f43INl5!xBdeB}kQ{Ts3Hd;92DioEL1eY0ajg&RSgUg^)Y zr+{(;hWroke$~;Q)QLU+a*vMP!~d4TV62(=EmgI#=9zXWCsSAst*8rBi&mU!3IOQD z{i{EZMrRDO2K_l|tuPwNIA3lY)6br*sc<~oF~s^~qP+t@B_{4Jq!MR5mv*CH7!fV0 zp1{R^$uAT&v}v+`&zAFoKJ{hvO1uBTqo;+k1`>^mx2#jIeEmMCXp|n%{4F4^tHwc= zfuJkcO}{TeKHhCWcaF%;%=R#%S2;e}#M23X7dZ<2TmCvd zAw+`{I2`Z-XG4zWVvT(p*DE@{lX7xu@^k2x#1!V_jAYc?==bf}(tPG$2g~Iv0U%=} z0{sG@e&Y;02_v>04N)`u_<-(_#z?4fWPWh%> zIbplVik!p0@7ADK{;|4Bs`vTaOR00|HbH-OM zoj_bB%f7J*hLxYUIS9w3mGt0|K8gGgd|B{!tq_61!7wf^cZblv;dDLA zf4u26y~~=<;oM-jqv$%uxWX9YI*m4eFsHN!hK7by%`jO39*=k7t~}MbYy85XeP}@j zPWN640llH|6vOoFuc|Re+0O51GU`s_Z~d^OVm48)>Dau$!>5gy;hqG@<_9O`1@F*w zf;hGvNk6*ve(5r&Ds~jYBV!aAveOiz58Wy1K6p05%TNRCiDvODPy`*aj9fT48keEES@FYYF)m z5RZS!>q+-zW$wFvDp+pG7XZyWoUd1 z2s=-24uXO&wlmvCz4dq2)@9RV7f%@k!wnoY{~uLv85U*OMU6f)q%f3pgR~%xbV&-* z(y4Svhe!>L($d|fC|x4V&C>1?dc-Cm9dMX#|K%P2u8KP{7?v}y#WV*S2v8tp z{M|-9Wvn`Eh6|nOx<2kyje+!fvgnEM2_64x;l;s=-JK{w$Pj1C#$x>)KY)i`dL#}c z_vk;lsk5vqzXuLJwM%qN5@d02Zm`<{G8lud%(|5OFx8Gjm}vYW#Az-J#fTG*h_!nlJ3{X0qJ3AE#}@q>y`JYPzn=zj^xS zfL#SWG@Yqx)sy&Ei~0H>*&Lm8&t#t(SM*zz_TSoz1KM1uBY_eHFK;SZjW0PR@p%Is zS*Jh=qQ@%S5CXLreO(+z1?*mdbdN9tOtRO1rN_9enXPLKh^PTYBouB|i)X{)rWb&_ z)L}4&!M7MV9RGFEL&NJ&t#y#!pF;}onXnSu%iOPHnJbg!?&>XAZ2^+fuxfMhAH+*7 zuDsVz?@m$I_LoI9UH=B@h3TO%HN=n^)^Z{JM*5d-qzpE8&^7l?V?f=z!~H;KY4DK& z({**}ke97I2u>Pb?(gZ)9CG_~sWC9VaVzULU&bhpTWzVzeT8Np&$CuGYyP}Uo3u3M zcVX77z{~So%%BIF6`(Pp1OzP!ZFW7i%w-j>nyN;x=1d^v6{t8Hn!COX*OB{-Jq0)7 z#ha8>yR7eT{zlz_2=AhIimKE)1G1u@sc$m3 z!^q}dv#h)K)ODW|gj`(CBaXz^(w)~rZoe!uh2UgKtIyawM1}>$zLTR_ga0j(;FoNb z?Nr%{JEd7!`;zm`n5FeG76hcC9J<_tU)(Q7;k^GzzP1M5h3DCj(MtL6!#1zo4ar_u zB<|&BDXe-v+#5WQ&3OS(Tsxo;L(G+hoy@2ZpHKZf{bLKTgjoAKcB2n0LR%l}Mm71w z#@Qt2g0oZyWglv_?0!xDw12R4e_egLz*BRftznhM*EaC1`Tpi}9isH;5_OFjosc(R zruyoDlpiE?YllEttU|XrI$Ee2ae~o!XeNW(%PecBg~?aKtKp5RPqDV0p0KPBC%R(! zS1%Hczo~lcuI#^g&kJAZw(Z1cR#0|ecb0FXY^*{cMD5o-E?rEo=$T;}nZ|v(1U4S< ze-}GxN6kFqmn#2BGeX1i*Z`9u7Ic3b476dJ*L!x)RxZ6PZlxD|MBnd`kK;C%1vcX> zPR9;HOkHsPHovjBl|dWD7bC4^2kO2f9(LW1OCwMLYkDWlVH6GYOFCUaGqKFU3YMLI z(}bn&D^dtbC9F35u)Kp?59GgO`8$@PfyOm7>gN68(vk+nU?@nUifI2Uypa+~g@gNh z_6Xiq(}~U7+PCW$Ok5QE=R}Xc9#V;7e_&)dI}`rTD}DypvgPG7)IX5+r@ z^dR~2ZMu}dEAQ*ck^F$QFg3aBU*;ZDn;7v}mMKsf7cZ68Cbsx_8mFGRQ+3?Kove~o z2(~o#W;Z}8)c@T%?cEAIbF4AJIE*ozZd-`v1CLxV697_AuP$PJW_-+F4k>(nh#mO} z=-rHu(q@cM6B zJmhX(oAbDgTE~U9eyJjDy;mAWF#lZZw)p}e^GVBniV^K+`>Hcq6on31Y9|N~5yp7q zvwMw<`*7OspbH0;J5maa*s%n0-6rE{=-5f=iBy?v|3;E}(dV%$`~jW&$Nl>PUGNP8 zGY2hn)VkI#qWku3_VR^|{jA1zA#|TH;v)^VE4xe8Fp<($A(UZ^)d{K?_%r=NdtzAk zgf_bbmYD4w7Cxp*+P9Mms?{5)t3bD3txZj(%KbYm%Uinl2kCxsJDBLL8#20B%YSg^ z>IghG$8A2E{or=QHR3=Ump(EF&3TAwR#6aq@1DPu8DLz%$cg0~!-?he2`TljFM7Wi0qhx`Dx+Dh#)aQjm?Ae-jymW`t+@c`vAcM4)gvC}5Yl#;AIFx+k#{$!9;!U-_ zS>fCUx0234>y;Rl`+kN$%6&7^9)a&z_Coxb4Qq)QB(5N-(hvtz<{j;UAym`}C z)m%=$Kj}Ct-EohopO+@2t0$d4*BJR)dF@S{*Bq{3FGyN;TM-$$?=|XUe@Ze0)1&PE zcwR?olm6>&1Ohy|e{Fa-Y(=-SR;>Xlet@>}_Zyp?e`JCnX%N%b4ByB6;8BPF#L_pU zJkkzCLzu#6qxIoz7v@IPYM@+V2X@85rRShusAZTv=WWdTWfsgK;7XO35jm(K8r?Y*3q_2p|I zW>gRU;LnbFMz3$_WciLFlErdAaQ0+aSpyGCe9sZz?lk!oj_!KM3`k*Fb@}wMhH_{e z^JlamdVN^zzMO}AFPt;cL-Vc;3@C>&n-g8?;V5$6-_y1_xIMl9)c}Q=^aq^RnYox= zuF3{Xb>Hlfd*|<{cXw+hRART78CTxV5?ZD2DRO+IQ=Q4{X9MdiH@{+2`{|d{%o9TU z##$_sm@g0`sCXRB4|qPMrR6iqjRR%s&sdw`gokUtaqkqZ={ELZzJ>A*Z&C1 zS86U7Gq;+=HCq<)ylyg6Y=&FJufse3v?b>TBnQ=Uv#en~=($BQ4C0-N(}*j4sjIl7 zvFpeEyl~{WdKW0XF8+G&G%dP(SW)B{Tp@rvfu&&+BTyxZ$cnYZR9f7 z{geUVb1beJ0Zo2WBBXPa{zxV9B!zcg!=t)GI~q=f`pbgZF%|w;$WtT~6<*?8=kdb& z`R`3tFPF6fZS0q2n>}-T$_rh--lk$wjDaKte<<#KeZ{2chp4O*$2sOJNArTF=al-Y zk>3R}EFdKxM@RR}_?1`$a@;M(%ITx?Xu;B^NC?zbZ4WlDGZW@vQGAaoRJy-CF}&Ff z8@RiBXgO-GWvruJdB`|1)6t@}_tM)>D(5XTqk3rJQ;vyp#H@yVceWh?;ZL1RUFLY5=SFJpU4MN~u3d0hH7=j13NFQRLX51NAyyLF8o^f4R zW%Qf2=@ z{$JR$A=F95rXt^sC%sflEoXrh@tMzT^6ROg#$DrvFJD!6(iVQzSG+8X-)m{dej9CY z|NNylPu$mSWlt(nrTGhTTJRns=#T0+*ncuiLxQ~BKZ@1!Bdcd&bXX2+$^rQRN zP}pAB{SW&%zOv;IYhiq|$r|Nx{Ez$72rp&JJnLKKTkMwcA(o=n z9xf^*%YHJWd`xbellJv$z?$XgFHvCD<)s=3aC{(`w`BCP&5*6p*+M*fU@cz+oEMY< zf#<_afm3Rr81jd(Wbuw1uXT${j94KP*zm~2Z-2go88?_?JOKr6p^tXj z1T`Ae_e3iK;TGa4sU^&cu_eKzo1%eAcfnE&)0qR-iP}-Kl{0!@c4yC*-1yKL>ios= zV`L;&tvCNSi|*R#g75allPk=pbO(SEHyk5zl0b!(>%@;gyY!ght&JAA8qAwX&DIZg zP5?jv7PwvA>2v`t8n9~7p^K+Sve!_4bD%j2>KjnVrc&zH(bh0B*km^~NTF>@A;xJV zJ1a8#mCw%(`r;D$%rP#32I^O@Z2jGDhdE@>h*4cx+2xkYA2q<|G&# zbFncJQOqc8og{W<;*~{8t=QRX^|Bwp?5$1P6e4I-hdRp*rXcAZZ#~+U(u>ww-dlsz;^_VN)pD|;E|IC>B*(c=|AfPtqpMyKTj&)h6^e@L-iS&r z{{Gy*m2r;8(b4a*1ez%e>)03Nf~~|7!Hbg4X>;Ip$!s?mB zY9qrB4TBwA%|vVI=ovkGV%D+6X4Y<#3nz)WP{S2`vn2ZNdL^LR|7a=f{ppw%$jo#F z0+`6s(+6Vwd;0bq1pJ&!kXcC6XjV+$as>qabxM~yC1g~V&;JGOkNjkLt-j)+;zuXG zj?g|@hT#KqCtX>rr!;ZEW%C{f7GD@N3}mPT!+$Z$GHGY>qZLH;>Ho_sOd zyN$StS6a1kf%!=y`iw95>py{7J$L65BS741p*jcraxc#MLe~03*7~f`@IFX5IRxZqu?`EYMNNBw638ti zMH93uo>t7B8V|4ee1}B6zR-r8_vl{tRldmKqvkN&02g%P0V1@}%Mh`>9{!d7u-Y%K zlgX_=Zr81^xpNe>u+~KI!o%c%!k}-vU(Ip)t(C~{7ovl#at`%9Z9nBD$?efAYe~r| z`|XPse{0!)T;QU=gE9q3@n6qz?O?*F=cm6`nN^#+w+?lyJ12qAcd!D_oJlpRj4eB- zy3tQd!}V*nYS#Wluf8bq#lb5GcFX~JeHiNqYknB%eb`pqpV?x?NEj8sxy|~sGDghr z7{Su==2kFd5RDDXJ@mc|xDuns!k=xY#7093;OJ+-?(q@`vzdrl-ENx8-SB$%K*~8c zHmUO4L3Pm)mCM}KbC;QK?s^8OyuT|It~-gM?8MQv-Jf;OfGEWm)tUDiA=W|eVRam)B16krMHe2li# zz-8H3GtdG&?Zd<#OPmo{c5Y~he~p>EjM#>ROT;J$JA!i{;bV~S0zL$mn;I?lemn4s z@NVa^<)~&^6YUcoS3g;^u4eh@7(TL+O@;>N$C;O}XDIqsLIjnd<{_J_*kP1FxlFAC zDQeMrf3BnG+x6Rm80kauu!peM_cyi42Cm4w{eW%7^;Qum3GBnI?@@7?N9!G1ytwpy98ff;MT%?!CTpF^>BL;vpO_sg8#pAE zy%!lw>5A-v0=K_erJhkh!~GSB+-#Tmr07iYw6W((4-*7-9`?0h9RZUsu%kJ8f1sQ?x~zO^f*0Nqif_qJC){p>Z;-zvhBF+2 z3)!8xY@aJ408DZ4&zh3q^35L`&afDrzR#$fu_4p`nx`!%Gv#jizpZ|N4H?2drU5dA z09zot^8O~*n*5%oY6WZXiCmQu-eTZBw@gWtMHZFjPWaLqi8%+*u2a$Z>qi(apu5?P zm?msY#VKXQ1vgY=Y(|)h{s@I=Wea_9SkPgMT_pC7Wd>dyF9!-c#kj5&Q2#7%DNOdF z(k;+dYuypHq1ZktQ0_2??I2)D`e1e!TEHBaFs$Gs&X(ItRkY^8y~{_?Rxx_5#twJ~ z96pJLXGFHB2YeN`9KC*xk3E?PwzpW1dCITbT&P(5m6}`f=Z3tt3N_ZQ+dC|&TpO*L z)Go;pwUK<-A${?9u+#P!ZX_@3rT7cI0BP@lfV4!7`P`l;Lek$b*+C2-1a|pS;drU@}${5fx=k6B1 zL=*YSC!b;1{}(o$t9ZiT@5FK*5zfhkoEf6ZF^ANXyHH=7=ay1rCXoYZhV7Fkd-@?g zw3g{*fSe*D_6x&CfEKVY)@p<@fB<Gy zL)1j&cRq}N#V0%kqR3tA>%I9<7qM4U@0TCM3kbE;dGAoFtFgW@?>d%xV(pVi6-}|{ z+Rm(2p@X3;(N z7P0<2T=gR7S(#dL=9lg;xRI50@QWlR=JW<=T8WV_59-axntU{?U?zWE$kksyz+R#9 zBaX$Yu2!^ym>)xNt{E=3EhrmzmIQmB)stk~M)$PeRhawj(FgkYhtdpxoJJ-r*eq2w6x8L$S4$l4Qt#B82?rrW%)#;B{qO|{IoE3?AkpIjA?)ASX z_q{_l94p6-Ln^$*C2ONJ6A9&^0PqI#OO85ry01bwP->ctD{P%s+ z@*l12068MhX3w(Z8CHL?5LUkeDa>IN*CLo(jE~Ix4#Y8o(dr3betU6VaWwkWVQjlrY{LO#CrFWPThJOCPds z70@VPQ+f90tDqni)u(iv_LZm8*0r%}vqdt2!ih9O5jTjvzGui7x%(|kZ~B#(B)pet zu0Z2_NH1yj3*+m=%EJUTNy2txTr2?)cu#{TOu z5HPt7SHL}9eiTU_i`Mvx6of=9JTgHF`92Z<;7t;&Rb_BeqU7br^SGM%$u)M>md*6xqF6(bjGqQ}*k1&#RKOL3WxHp%N?3TKfW3jcJF(@D&S!yvf#9e=eKEuK z3x*=}21+fr2wLC{Km#yn7+h!lKR{0A3`SDkxqci~G0O;zad=x)@}57|asJIhdlKd` z^)TA5!W>Zi?E#SDKSwJlw#S%+7SH6$FEy2`a%%M9*YXOtWHmR&!DanSfe$wloGa-2 zP|=k7SIZ(@bB#E$ENNw}YUwi1fG7z+fFPXs==bw)BsKnbbq{E*^3G^8YS` z4QgElk^$HD0!ML$`n6if9OK6eGwnF`~B@pqS1*Ajs4WG#MW3Q7IIuT{07>C?{cS-CN4 z1&IVgA=}q6Q#rFid%OF&6bJXIFD_Yc%2w63)S6>=RSq3Z4tK_%M;T*>rSe;TQ(jzL zOi$}8g_XuJ`CslEKIZ0T!6fCte}SSyQ-6~1@TTf^tr0$W#~ujj8|F|T3~F6#;-huK zdrD6xdrNlrAQb1G4z|l4-Cs~%o$e#Li29jG=JT}6T_2Zb3>UNg=?6^ihdsYvL%(x5 zcreaIf-{s~f<%xvv#bkhS-j2Rlyscg8pvAoF5f&{zTg(F$Tq5blA4rg9h8{KnLc?3 ze}qc^v-@vnw<5VRRqN<>z_kA3slUQxjRDu<6do}V9v-%Kp$tzA|FpH+e$C2_MyD&O zYM-8fYXwLFdIsVv?%`h)ti1s-3(uYc$E&eSIE?q97=|NZ;- z=&jNeH6^8PZ z(Yof%?KRe#uQY+4!;;R;TW!S^nk^lH_4Uuifk@c3PT*G<~D72F%2DG z&ON53##)XJ$=^TDz;+VMb~3}EqMEQvZNHlM5DBOA%JRJd#Uw%N%Ep#FJPlc)E2VuZe%Hpl_ zT|~U->K=oZ$=ebN+!rS*J;qLkl}Q^Snu@@ZT17_6#K@!E&8nF!T=M)z4wb{3e#e(> z7%$Dn8f$l>$uH){WWI7$p92{dz3Tu#(l=+uJZ^pYpU+2JW_d4*{Z~ZT-j2-tMD>n^ zf4Z=RtdnF<`}%tAMo7hbv)vuJ%>A#AerI)~uFUBWoAK$wFu4N!o)7R=U;7=8m!2uC z^%rX2+AH6OdZmCteFxxK)9^1b70^ae6CwK=&ntg4AFQa0GBQF(x95F{o2}##vo`gw zwvURiH=|4}^EhlBZfBJlsl4{Z{~#A^W?5VamzZ5)nu)Xu=& zcatbfi(35e*b&q~{cb!ZemXt{QsmAQ+B-U9iEA<%f3+)spuZtO#i3{QLojAt^r-G7 z1>`9q67NpAwCnLZ{DtXJ^sf;H&3XmtyojPGd2I=_y{h%g;!r>P@AcP7}05y;phY#7{&M^TJ}JkN5)6 zfjGF!CEdK|iRu;#HrTV7Skff>-4*_c~{8GXC)qeFf+=Kt?X8u;M164Hb%ri^H$^BBW{K;UVxln1n$>*B$F= z-$Q34Yo1oq4VNs(AS|mR*ZEo2PQVy28y)Ck*6t2MduYY1ykSqaYu;^2tiVzY}b(uC5`?YGK(|WH&@8ajl|#j9Ko~L=0wPpCt1C9*O_s zwscZHdDp9;w`I%Wv4e{fC^=5aPA@f5)%Zlx2hB7(a7lhkL<+y9 z0kH5>h>H0XaucQjL8xcCY2-9W$qt*83YVZkO+J&@*3+{$>Otd#{2&e|>Wbiv_ZMDL zOjRzpeZ=%t!RGf){sU267AP;ahz2XmXKZn2&8W|W*ePV|8j5kuy|8|0`*3}GJ(}rT zeTkf<lmnPdUJ;ci5HsAV&Bj=w_JxE1$Q z<|T9K(3*=qII1qgXwk(;?A4t~V{1*>2_b^;1`k!PwNr9GnY^omNjdX^OMUB@bc5l_ zO7E{62Rzp0H`ESwB9Gdp>vQN4fG4r!S3LN)f`82p2CQQy-jW_S9|?8L0Z(c`a7yg+ znCJvA*X#DCU&q5cF%#PqhnVDBu<`N;$^>A&nQ^M`W2HNK8=*QOscQR|VJAtZrgt5( z$SmEpOYCE+4yeA0YPLhlyO`r|O4 zfjO7XRLu;-pNYbm30v3Rp|UHBQQT8n<>%SBSTjEX4zL2W!`BXrlol6Xh#xxYDkKr- z+#8CznW{|{nDI}RBEWvg{0cvT0)NZ>Hl0;Bng6weg3$vb13a8LeFaPAlr9wzs1a=O zG@&{ybu^mL;%WYboo3ySjj-GS>qza|PpYZz0>c1@1D~Mh`^~&+F{Q*mhS@0-dqXAHy98;b{wxTXqWDQeE zY86T?wKln?>_yI&BbzpeS`wQWmyJ8z>A5V&m!gqO3%8;juK%myC}9^)IJ@ zp@Ei56TzsDHt2R^=eB@1l;C9j)k3|Oo^c`=ACbvuF+clvrxBQzn_VmmDjV8r4g9Vk z`e13NU|}-4)>kB(HP~87SMa>G(%|!P$ri`T@YJgh78~)OZv;>A)LDZ-KU4lGz)72^ z{*6BDdiB9NbN3RfrfOocq&6+x4?)8y6|B6pGR|u*ADbMicwbyJXevboklnt^{ck9r8mL|KGX&}btsgwm;&;He zki>igC?+rhe?W#1h{$FhIL)j+bl-hs25W+XJfjWj-Mk6bwe!MKRHcp`0Jl;_0}&eF z!EAuWxAI6f2gc&m7pJMjvCiqXnR2|@>%Jepv+?UG_fjSS#tXFPhBOqqZf2~~@m@xx zc~&np$>WEEa2#>a(RL>l4mj>K5|Nbf`dxOFpC4wSOq(c7kG0J=85(}FI9Ls7< zEqBL1n|K~nwlam@#rrP`B144}u6ETBTsMYfA>9b^8%7j~{A8)@|68ix=xFWK3WvwM zm{{lYA;-&G5q1Bgn7bRCV3Ao^mGH)x2EaMYQvpMt+}5S-UkjVGybNsMh zO%g+9dM3WX3IXyy%jtmFzJs?EnOeK)dx(6%M&lI!3PRmalZ%T>giXUc*$DbcW%HFW zYwlSTP1H;#NiwZSj7(+M^PmvdsRuu>nX2x(Y_Y)|zvb+J+1I4i(s*9aS@NQLg(*AX zWX!+czoP!rgy~%eE2GjHt|v3sIkyfa6og6aSlTN=L*Wes4D_Y)8jQ-GL_lRtNMPyw z2wR+$elRX~aYRGv7ip5`ouwfy6wF6SS8DRvszGES-@J;&9fWef<)bh^!(%V&W{IptvP3d1@77;d!dG2=w? zfBFSjhpl==Ua6us8ZtzMg(C_JaMNC5x}D~t5dL`1&ca9L$rlu)d2Hx*FP#SDPG-ow z^FcU$v;U4??zXYAe|I2Hm?QojhrE=CuJOdUT9)KY+ir4y;(Ujm2R`uh7zAiI9T78D zc<`?K3g$fzjv183=uH;53As&qF=I5LG1iJ*k%WRHZ7PsKvbo3|jnv-OPDmFD8?_3WHPMT+MPh8MR89O|{rYDsZTkv7B zEKa=>zCpCXn=0MY{I)%45oH17a}Oz;GKze0aArHvV`>qZJ3`#c@CSq?6dIa&^deZS z!+5@p+BZ~k|vm;Mh@P0r1+ z^6>xQDJ^`aZAQShS29jn6T$3K^aH-|!d3!RRKLrj|;-%}|tjCZYP-|D(* z_xPUC1ADh2v3mwunWmin9p{guJai|%%9W0)@V zQX$Mlg{_g&@3`dGzQExuyfh*^f=>t}ROHBZeh8eGN@&$H;dX4i92KLf?^8K=RV)&x zJV23JZihn{LEzk4m*ntv57C4_BT+hb2~z+;qGl6^*m)J+r}!OGsP)V|N@#MNnE6LY zP1FdcBI*Ne1JfIkco{;V7v!&B0HkmY8T+CTu8xGam8h2ldDr}m1l7-n`dqxr!&1+$ zbV|O5Y;p&!xbmF_?fLQ%$`N07oxlBXWCu|Tp+dhOc1fqyODtVpEylTUNF~goGbv3t z!-L%YX#^D< zK9l$*-J8aqN6Zr~VUOq0^b&o`iksBOJ5Zmf%JzZ{#Jx-va?$Q&RPnVI=*w?IK6D3d z&xbb$;cElJ0iKei7Roch1W$Y0o&em|cO*KOvy2E6tGl5=S(pz-iEDbZup`rPa~#k0<9BTXnHL_Wu0*WE*v!A3mH#1p9Y? zCV=Q`z0!R#n%1z~9B0wHSklq}_DfBDxN^SmPe9jVN$B$7Vp(&M!Fpt@PNS~&=y2N~ zzVKSkEvNT<;Q47buq`QZ6PAfw!ft}|vt@(ql{(^`_<bW}DcQjv?Mf^TE-Swv#|J{SwKM6Z_3eErf9e zYKml+0Lgn^aP>ZP|k>Nkp+RNB}-^W=(X6H0X8r4n2Oj+1Gp{tZbXsx#Su-0 zY{voqPNRX99Rpck$37$LTO~S@-nGvQF)QK{=ORG+*O6tf#OXHbG;?fWD8pAWTJZ6X z=3h@=Sw@|9tWqPnEmyD zMG6a?U8MFcY3e5W!cl*A<9fGVKn(%U^>vstNN@6iY#%de?#x(|H!zzMd{$NKLyDBl z?W&*3rXSyO2TJg^iT7Qz_9;|`?Rj-W`dR42i;z$KlQ+>BIeslA%;0RJz zTH5~e;1PQ4(`hP>n~gcloc3jpjm=G~D@CflGI1ybsIy37$m-A&@HX?ufR9}C)t^_i zHH>18^h9|bh0@Z7xZW6QSze?jgdKx7DX>W{`H-PlvGouzc=}neU6Pl^9hOxo$y^eR z<{IYMrI4PZJ%`9^%8icCeB7q~5ymlpHI>D~{xr7NNC;wtg`1zmX(>h+`PPra?8UqH z5}i8b8+SCz(^vThMod)oY1+BZmh)L}RF*BO4Ch^+^KhJ7QD)!+y z(KX5zV}yJf-0qe2<*uiz2$a{5;~%k*?@z|jF$sg7s2#!lSKi^miIJh?dxT!K zVqv|_{`$K?S~H1$DET7gLP!E;x<4Qx5!Q^gq*QYdKT3)+bT)1lSfV{j^jEtrW1eK* z#axkj^8ghcs&t=&sfqvBzdt>QQck)9eL!-loI7sN($!dKe|0?b*!dR5tmP%y>nHz< zDSsPNraK@lDrq&n7tfuvbwMhXlm@uB+;_gHLV7R=S%(XL!WL&9RPaa7b7fUWoVNSE z4i~Ca|MfxDT}@J`N?5sj7i;fY?Srtk*QEDSN$8y4tmuREL8_0s%KoeWmT8S8C^z}w zym^cVV5N1@d8Z+}Vh0A6_4Y)b?j(Z_3OWgU%1hd|d{)xl9QeZgG3u`Mm;<^=a@DJohZKlt`2K+|E=OGeprlX z$>Wyfh%_4D(tr7~IgXOd{P!F6tE~V_b>5Zk3d_|NXP9`T&3j7wCvQf1?)!YXtDiES z)@k3OKIwh9Zra*>TCluqf%Aw|UjKf0m>Z48)-X%shqd`{YA?0gCiC47D6BKdeJyWM z+m`V9ZZNAT^JIGSyJx6`PJUg@?i9Zhb2ItU=a+~;)lxO-_}z~GZ+-VHEQ9jsKcp3- z#@ts4@k*QvygG~3g}on@Jg<9wR#kseYkTIgISk8UyJwZl+JrQTVCw3OrM1u>l(`-3 zMTaOtZoYNo*B|?MVL!zDg&(@NG&!# zuFF(qRk0glVGoY4jpe|pzHa_%6sau%rERt|=&}m_%<87!QboNH_o_N61*QGExTUAq z;b!Bdk#=O3Y-cX{*FD71}>tdGSG)C{3-d4QYQ3k5Nvv*QamkjFQhHd+3yC zJm072y|drgZ<%lJep0e7Q7glj={o25$soSoS^qJG#>;{4?LNCa1SWxTMjRfS!Yq+Z zQ1%ar<|?Dc%6huP-sdC`)-{e$eHh!vpulhXakuIk7r_z!Z)Z!ptga{BTV?ZU-4HI% z^$M-il6SzgYNuCM9M&)e0(^q1Q+r-)z6TFJ^N5KR7=2mfgvDe0G}hm4wJ&QV`&A}; ze~}%>+KIgA{pW1F{^z?F`rTBWo^rDPv!Ifd$xtUXG8BOd!pSj!4CU+`hQPYPLPel? zc$dnor(nB|h=BW=yy|&U@f+u;x;WT9dz^ey)1Vlp(_}^`9!BVx*6I9#cOJzwB(acR zNxMpIg5*PUWI1Ot#}_qC=7bvK0HF;7>AmQjZWOMP!kIZXfBM%`M_K%<$E0xAuaJJ8 zV;oZpwA^hS2x^;sET{cX?S)w_?}LOc2ll(fPp9)ocU>=$zs1gM&9Ma_@OK+CNc>wHx%1lXR5@OGR|XT_u03_qCj7DlE=79D1*N$dU0&ECWu4=erw=2 zq*Iol2;oj$_##PU3hVA}P&U;+53Xyd=sBT&B|h1JP(*S9d}t^y^Q}Oo=ZP1^!R3>I zzz|j5?>D+o@n2U#BaSx6@5%SV-e=}Y+M2D?ZbeGVtyx=`+v#Rz*RnP}jgtt6VmJHG zHrl=JB$D5fPYuQG`gxC@50*@mOc2GJLj}&{raOavs|BuZ{4=Wg`wS?&8d$7y{!O)QlYXQ%{bUjC_a?@)Aox>j7SHP0i_ovmWc z4P^fz9L);PriFmY9cH@thY7yaSk!6xkCnb3UtqJLPR!}dQI)Xs)@oN}nJk*=vL1?= z)?q_QJbXJz!WQ8K7p3}kMEw3CIKsOz;*W^`R65SBbLH(TZ^X~ij@2P2^h5YMyY!y3 zH<6?g)2p4~phcYXKk0J>}X75AeA0L{K=XfVR z+tg(L^vLH~R6$p{y8KwRb?#5FVQb^-o^Sc%k%ErS3C+&hs*yuxwLW_rdl|@|a(=44Uhobb=Yf&%!i(9rG zaQYlr*cLQJ+O;WY-ZD~hS;8-OOEFW`C5}JX?!HU3oSgp`mU~Kd<9;aPK&*7?dH`SE?_&kV^IM4wKYNqe|>>Q=j*hN;|=@#5GIq&Bz3I} z2mT&6rB|K@E__P0)ZAu7eb@>*Lm?UOm_n&x$(!)AS}Rv8#MGxO4of=Qx$Z-H zV0O}csbGC{#H1L~)5*QjW;^`T=4`^kJChBiLKXZ}5_@a<5Oa44+^`i)2}FaTIS?q+ zkYl6jd0t)o8UcRmC%Liig7=sytDf<-OP0yTaIwQpk*;{BkFGsJ(na5m?_m(q)idfB z7r$1dSJcE`_dZ)WAq2-eANglMN#zN{y6~+{1u=Z65@QYZWJKe!GD?{Wy?;6HJooKj zt9zLgaC#d9%)e?XXX-0{!5;}2h*I14{~AwYUC$gy)x|`wb1KQz8Cgrg878Baka5WU z=a3>C!_&p3-}8n@Prkod^!_H{#|6uJ1&I)Dj9~Tu?fmmlRy1RjIB334G~QJ|Jbc2- ze}lY{)ZUBqseoiv?|LaXG9!ENHBG-T#Av%g;+&F(owm1FUEdK0mqS&L%G`LUNinK{ z7Kjjzsb~L`E%V5Ci$Px@38L=iBH6PiI)4dL1twY6HxC5Jn9C3gjMP~EafhK(92C7t zjH$K3@}YRJHnUn$=^n2EXTJ~^y_(%L(W#x$e}81Wx+OeR5Y!d2lmDYRghw$~O46mW zQ~!ykPvDdlxg18goDbVq#qA`&WIEP>C7k~~7f8A1%x{Xx5dA4vs5+rt(s1$1yQ4k& zw-Ys9A}U|SA+;;{QD`hChzd_7aT}3X7sEokkH?4~ukS=dfK~tpXu9*=YG^dM69tjl zz_g4MQ$9Iha}%!b;QMm>{JD=|ff7^UQqDxFe7k>f@q-!X=owWAz7|;F28KLhM zy{UKF={&76%J<2B)2?D4yVyRLn=WJUk>7_O-?c9yCASCmrK~xQz=4i8k^RP$7fNq3 z`(jefUd-obh!XEHxJb?VZ&JIx+Ndi_C9XNdesIV=b*M1f&IEDbI@@-G7rY~~Qtpa* z@~1hKam>GSwdV0h%7pqg4n3EfjYt9rvhB~$3%k?Pa&Y9jNQGdWU~~^94({i=T)2WU zG34v0PuE#cyD+~n4)srpNtt_##WiAjODFMz*+!7eYpfS>VXxFv;}}yz3@bT(4R|#X zQnphUXS}7b*L*klSW`aI#s7^4nQYttO^8P9m>d|1{^%PP#f+(&b4FzX_^*Ti`Se&2 z@NHHzkA)P$dBPsw_DZ>DJz-$?_ZjqsqM}C$*U}EvJ|Gz*P3{yWMY(8ZLX3Y1Wrx#Q z3gN8bU#GPzPe#E$L^F>j(G-Lu zU{NYx$bkj6G0eoAu70DbTN8)us4dNwXO*4ijl)Th(X^zre{Ib%p40h;ti{e7+w(d{ zF7>iMBIM51mV9dI+aKxBQoo8qnf3<8H=lLIe47&3G@kPC&*oXMW5Tw#!%;f&pEMbg zwHuvsmD0eTXWLr$N@tL)DA(l?7aIsd1_aAn>zDu|>$p0U*`9FZ=%P)bB zFmuSa#RZdAPU6khDrH^&4^8hKPxbr%k6-85n{YCY5m`C5WQ3!P%1$!NUXfY0;~*;{ zWo3tq%9f~b>`fv&J0p9q!}&d5@89QpyFLGY-k#6vdR&jk{V}fl{mrJ^8_cQQt()hv zQ<<3gBEp)ZTj{|$E1MPaAVo^c+G%)Q)iqMOKWbzsv2D^Z?Tj<-G^4KK*g+x+i65w3 z5v!c7GC7u$zHv2v&TN_}R2$=rlaOR*Emk!+Z(ky)iaLs_6~g|?d?jc(8k8*+W69-H)-8PbNqd1EowVyWvAt5 z+y1%R-fE#o#k}RYKDJlo9r0$^?ISxx0A}=c#q+3s?6=Q5=Mq6L{aqooV;(!IS>k{6t%-Fxy9K`?W%gQ zJEY>S{rtQ8hm64YA5Y2xNvqse>VOEQ26e*?PXacWiuWMSe82-L~K3NcT^{m4YUN zsg-qFa&t0C`pL+(&9&>&Rw|_0-qW2*<(ZnT^++V`ug`oLe#hCijdB9>+3at$y-e_X zxAw+LE19>Q!>tPdj<;1AiaP8DTKeYKu9*EsbKAkt<@zufUhy{|ekZ9{bPJb*x?{Pa zp2b22hAmEdITasPw3^l7nTA?3jp_45?S-SyWbEms%gHM)#Q6s;Rhthb)?AS zBzEW|$PW`r)^zT|IuuG4D!C2sw^&J8Up1x9K=KbRj7li&50T#>ZQ?n_{JeSUXP(&0 zN0;$KZ7Yhok1|4gMrA?vo3_V#^rv1x^ zALcySf5)q@N=D-IJk@Nkuu)%PVo|+n{oDMC#w^^^%sZ*z+h5OTJ@1A3d<^i{E^p$MpZ|H$)rv2OZ14+<M$u3!b=RS5zR^g+ed_ z!xFqj$tEG3+}?XPXJ^lV^>nS4qh|YLbJ4OqzN+Q+I%9|NapAZ{e+5qL*G&ZBN4a?# zS8_-DJe}~Y1|nDxI}q#_;7ii2NX%Ndz)L< z=$BjvPBVicLx3y-r}dd_Z*FCw>(;ZGK5pE{GMe?PtLvz)OCk{iQEyfx+&#q)vS)RJ z)B_~Q%~^frrC5<{hDY?(u49H2mFJv)O}%uxP|TG#0z^@9nzeE9AuDCwTXQ}{`?-xM zXm1&zc>4e6hT~}~CwTWP*_p{#kc2suQq&JDUM<~IG(OhZ?|}%`2V!^|lt)jRPh$5$N3ANjk!6 zOYFOE{IEI5^Dk2RkZ=jemUs1kW3>8IdUtrV@GRW+-J*(H_TdTjoB`8%r#z0s)wbiYf4b9{;G&^Gv6&7t10rC z4joaM-Pk|8@`(%v;Uv{S#o;1?m!AM|3BW#hC4 z>u+Z=8)c*T7dG$ydp36*zKTpBGRbI=jw874qjYsLiN<#NrI1xl1r9QPYUL|(Z5>WKA6urtkym;sXiZxCoB!u*2$vqxIhbcS@1mZ8B-pEC43`cU4s$*d9*W zwgtmNlin~0{zY}09)GtbTGOr!5g~5-HPFR)yfaY=9_3-HYUB{RfN_I-{t1mCBd7&4eNIPj;T2u-ykx^WAJ`% zYzwn0yc>_4#)iYCQybmJ);FXvO(d0GiX99Wq4-j0qlr4g7MgeFWYzWq|DV79pfzWB zb7Dbm!ejdZYJOZxIi4nWy2bdIH?wx*vH@X-6S)&~a*k$GQj8663=QXM+19a)Dtx^$ zuN8Nk?iexZy*cv-g(pJp&<#!H*sRkPI;o7wATgvx{3MG-9B&e zu(QC1euV{236?w%{!-xOK1l6Rp`;3JetYk#yIK)9S_bO$4%isdx0V@Jh0xsC=f>*% zdO&ack=wW|6ofoyCTvI_2?v|XxjXNit)z*OqmhbA7R*Ydq#nB-tP!gh z&+FuP*{Jh=&LMYhkA)gl9UCRNb9@{juz_KHBdCz1axb!1zXv;RPM}LmxO=30d@aU0 zGv8~kWv_0C6>cSmPc6w0e7{_$CEH>GEBtt2a*4zKbls+Kyo;tjNi&Q_+D~6TjQd@C z|0C@@2aO@}v%k{AqOqjf6tkTRn&<6)Kg;qEnyR;KPn{B#53*lgU;f?}au%!k>Dfb2 zLH%_`Esx{yXX^=>cu~&mMC$Myn z&Di7tEYg0QG%RcA+xAZvWMuCeATkqY+O`&C-EYc@BDvxiJ7N~vcZ}?(AIBUzim{F@ z9J1p!j`vuCBi50wHUj??yd`K-XPd@T#cqpY-y_xYkjZ-|8eUu__HzPKKZcyXb&zhh zlpuF}JQ_D`8f9D00~606jl>ITsjV+r!(GwGz zlD?e*Ws;5a4`8-4xY5nFOX<~p=P#zgYg;_{>b@r>W$Nd|+Q(6+ca9F48+Cf#CPlm{ zYD{YzSk2NP7Hk2<-lP^d8-w2XdagK0DY)o`z+aJCuVGX!+P(36KPV#2{+>&Q7F< z$sRiw-II&1e!2U5le=qgGhf3{b5R?4wm`~!pB0Dos45=lWR>pS!MYS*_XycNlchz{ zK{Z~ZgzG1E>H)4?)kAJmkCo#O7aWz-F{~0Pr?KAij$6%^dyCRDDZ#v0sh4_eQUP+W z(%JihF6kO%yseGr#vj;j)rTXK*JqWcS{P2ak5(BroyoJM1lDP*W2;h_#}|9;V)u5< zF}-lr}-LY1(Z zJ6+^V1Pzc_iGJi20^Yg2p|K?=$J~I!IO~m=I73PQi|S$`r5$9AZ=?4+PAhXS)EA24 z-wx+us`Jl2G+U(UT?`NCx4-q}&UrwlVR`@}z$Aku5{X}Hei6iRz`mSXC zQ4FKW7ynpH7E2$bV3=j_LoMT<$jjQ?d<->Am8kH;GM{`eom|(9SL~W9)>4^p=qgHA zQ|0w^{<9^Ag4wmv`~A6>4x0F$D{}1_1%LF1IOZ}YjySNeT5eb87G0}td3dI&n7M@ zjiN={njJqcc&3Rfr&T2zQkScyEv4N%%vy6SIO0#+_?o#yyly|ZwT!vhd+rx|cEohF zXM&KWQkFDp-TEdOY5wrBRS$1U=O?@|?x7%Xe_U!qE(nZS^jqmI&HRM{(<*GXlW_D( zv;Zs1hkYNYCPSZAL@b;5^*-W`dJYy>i_(MhqhIHSqT5MprZZ?%3zOClUka6;6%tuO z-8Xh_%+nWK^P?I;B_kGPs^`C*nRnLmFfT71@ckj3Pi0xZ2HR)TP*lj+Gqhz?uN}s_gs>r)KkN=rBH6AG|Jl4_wCA}(i!*=US^!m+_ zUk_3qh|*n>JFunijY*D@_OxfAaiFJu_pih0<7KLjS5~tqed@t=fw(6SVCw5{&{0kz z_ehk>G}d_t25D>nbTF9;#MD0&A*S2{R~`s$R4qke zz7`>CgclK+8m0OtcyoqE=Lc7m|FHmhMSu_yyLK6PJpecYH4G41o4H5r+MwRZP$%i@ zK_1+Dl<~( z3KHjO96sMP?>M_R9JyUsv0eCGlrJEjJZ-fu!``p-bxBzxdqeE>X&}FxZ`tf<@{krL zIAZdCNb3U;cC?(hW*_nK8JRe-_&=qEc#TI|V~kp3 zJR*W)@uGXaL7~Z7xz9U}1e4H~rM)=_U0Lkn<&U4T**)30ri>_O-aUgVVvmHtL)=SZ zAZ`G9sjjn-OT%y|WoCH8%SP+xAAD>pY^z|`$Y;0Se_|#?(kAor-f4K8Mw2hhr*e}W z?)dBUmkYNx9b7E{i);Q_-4`qm>`4}tSyC|PjjU!E=)`LuN1F~0=;`qD8@@UXe3O$! zy;~y6+>n1pkE!-FoNS)8PK%%sAL}MV4{8IJDod`IbE79my+*_M!K0#sx7m7=h028; z)2v#V7VBz^nLe6ic~uF!6z4{dlN@K+k_uHLi_9?_5My9odw0ybUWSr-#(a@y1|q_t zqKYH&j+B7qWe3tpR?_rZXshDhse6}p*{=Oa8ybR!ay`6~D|jRCF|oUTRn48q>B2Ty z_fuySZKe9{uieo&^*h!&^=pN*?%$Hfr*FvIeWe+0t0c@KZNnHdld!f=g1UdX_@rZC z=dWOYvk$GEikQt{nPq~;n><~nzJpiq>ol!dD4POrQmrmq87vaK&aH`wgEaczi}~y3 z4`7hG*@tYJ%G8w$TYCi+v{{mZ~hdkM3O<$XA9)-6Dsyt z_;pbJi7fQ>mtSR6yqLW9T8*pwuOYFvY5AK1)XNV}qMz!XzBSo*LY+RRp4FCCc2p1{ zA8!-7P(qxmZ04anO)wc}YfMKoCcCk9osa{_s`$?)oDDhs+W+qDeR3gLyz;OU%%&-t z7Ls9|A28g;_5na;2pkuH9npWWH)_V;ONODqmIy#4Hs7Q-G=Nz1I(_Fc7BY$AanMdW zlAJ_?7ggXLb;A(0o+|sz7b-IY5sToJOp8b|e3mu+!4*8Q(%5k?`wO8aW7Tses4pR; zZ}B8ZHHhKj`mV#^nMdoPZ@<}cn601s5-X{P^te!(Re30fLWWeB zWkg7$YMqsVqTGDlpc`YR8g)=d@81a@(b2ZeVYmBNX;Rx6hFou)%RGm`rZ{nv-giZ0 z&~3+}62_Pz!|dHjQOblUzR^w8X`Oj)?}r)w@)ZGvp`XRB)Z7u>)LamB`l>Cioyy)nYu@w}(U%(!Rrfs2 z3SNill4|^-$q0ICKj^mX?GPpQM}60&s3~joUU;ytv!-&6n&%ML(&J$DmjiEI!zU zToRYi;U7nnwv#di@fCCbe0H=;C3e5>$?qbS@9p6mje(~p$|Rsk##qKq^PhGaQl` zR1xhuVIQ$Q$IOv^Yn*g`Q1v%&_~7sK@Zr0G)w$8LHzj8(tCkFedmk3&0A~gz4-dDz zAOn1mCq8q9QhCW;wQFg>-1<8=L;EXU8Xj7ncrW773}kf1E&Z^~9KR4V7E*Rcgo0@9 z2zC6`(z1o|3Y$92qq~gD8txBh7K+$Z^XyMO77v%c{mHbN?PeH!S4C7B*3q{x>`O}( zxwbh-i^{jlkax4T+R!icZo$1f=f6<6%=UCZh~UDNR>^(m*U`I=+sh{>C|A0=-tV`wNP@>T6`{9y5QjTBD-%{JaWK}Gy5$g zB=@t`9lWfQw_ec?)@VX&MVe*JqGxMNx*8cYrKT24_U}^PS5j}(a_xDAIxRt+a-dHC zpiYApzs=LvmG$z(7cDHZ2E9C6K|!^kNxt3a0sidYa*OHi;ekfWJ9~i`6#bq_i48p( zuVxLf8r0l+txC9u6rk4tCawXM0Jk4PtTM^x{xDJsqiYN1f&pRH%#Q%^hjH9NdL@kb zVIuKQHt9%hL-UNxVyjH~2VqyXaSKo5pC515@%u1?4W)oer6K+j^)CSzE5oH6C*f`h zf^KXFkfP23uQ6Wpi;5Bg^BQqb2Xl`urz%wU-jq-4ozK1xgA|uQDhWF3mqZoOUh%*p z@soqrj^W)My5jM?t$U|4GolFylv+vIGigW=O&I*70Q9Uk7bue)89MZNl`MFojLb!q zm$uKMP$`Lb7`>7+>4gNI^yg8(Xj#uWa~k}mNFA10&F#ysu+8ti_*{B2#cKA8dTv^# zGgA8z^0om&-81cbEU$&21`Zwf0>cwGH>4=5;Jz@NswU&dK$BIi$H3qssi8NCX1mFo zrM!06#=&nezwSc%`4x>IogM8kLh%VnLUA5_) zR*bXv6OgPP`H5_#cCC6o<(+Q4KWV(LQ1|HQ&E!j>sSyp?Zmz#I$|}3 z;^rGvH7`|miAh9qd7VhaCtv+v$bp(Iw@lv@F@odIqLOf|gG&NHbLYUp1&n+JMz2o_ zZgrCa{4f#}d`z#mHsbsGq3!+Db7c zmWcGV;lV#!!#$-ZJ5Ro@d?&>oS}1yn8Q9CT(*3IyeXO-MTEbfvCCq~f8rHp^ckzVp zU*v8yN!2z{t_fcM-tdv>W1h7E0lBK<%jp39U0<~h2wr0ZE8LOTo_&2~pN~TqCQo+8 z$c7y#3vqKN_x6ooSX!f%GJuoP@uJOS6QNA%Y+B88yVby^?|CAj5iPxg^q}{Xh5NN< zEp5p*>G&s3@z8la@y8;>CVOaqXy%TF&Wfy$v5z%Lb$Q%nQwWqC5Ab~2)9lwW>iHGsbCL zsW=AZa9)2>zlxQ58<_;Rb;PdOmsjxlufoaYVN2l%}FFoboBB9;A@+UlZ<54g_PIk_BQ$_%h}gu5#ln7g9}9CHE86H1Zs-b=(+f zii~G)ro^9Qi081}tD#EyRoy1c@?cPU=&jn;mo(>7+qAXp_Ul3Xa^WtsrhZgk*|{`Z zMG@zZca8mC=iwQ4;}q4EJOt|cbgNbdDm%r>AMrHiyX@+ATlMe}7H`%BVlYYgH&n;< zw=NoWS{sRv+|3{5lVN=VC6o~rOFnG&4$1{ZFBLV^s_2hJDPDcMi9 zHILsn5s`J%Er3h+y?#dQs3C>&Os-LS}X|r9+&5K51VAvQq zn7l>|xQ-aQ)VI zwzKM|g~eG=hPG|Rm+Nk;@?uA`Hz`U=z>!X5j(jm4mmS~n_=Qs-r}LQAVda9o$5a0( zr)+gExuoZhzlCuGvX54$Hr%tWu>a*A5X>h3CnZ8_FIT?`Uh5rS0AtK7p7D*#9hy>= zeY-?9#I5r_m}8@Jes?KR?!{?*wg!=arwlH^8>ul;huNtXx237`Y&|k>YL1^))imA@ zp->Q#b)pOZJg)Ix=u8N80Kz|T%%Ut6`<4=e*HJepbz7Xzge-p}Oj+nPr5=Sjo;LH@ zE-z}(a%wtx7)z$mt}Y_qXzdZrvr0=yHi-Xu&e}ruL4};lK%C2&o=C_zZopfgMZ>pO zP<4Bmr)!!wjfAU5A9KCWM05%z3qK@1M?9GLi+iVPFRpJZ@bbno>bh(a$XP@P|79E9Ogdfxutp{RDp0>A$N%jz`}bUGcEv%z=$4FeW;@Kk!IWyIe8jq|n#WlC7RX#5?! zP@C$aVC@%Mb)R393(USyLtUsblVPJ~r~wk*O@8l|WDp%L>d_o7l3G_|`_3I9^@4Hg%78)PveMu6S?)TG&Ag>Q7KMc~XGu^s zGv{<8yWn&qi^=(@byC_TLhQHO9*Y^>$Bx5IpBBdmv#VeH_6j#@#mtNLylJBEj`Lv;Ydx|$NCvT z<+wjaf=dw{5S_KYc^rEC)3Mhlr>x*hR7y!#lA7qvHDXd+=LH*+Cc~P(d)}bJaGkVr z+BR`nHF5Da{uVIaFBHOtbJZ@vNj{k8<_x=Fe)J~aZYr*0%1G`g`!CY`SK8_~;M5nCRopxQFK2_Ws_4}iK*ykrxntc}kzD0x`1{uOZ!QEHwf6V-NPQN~xc;J|K zE=bF5b@1eL|E=3Nt7lRX*C+KLM8oiD1_z2<5HV=;DeogGHjffpM+%PZ=CA!5+Y1;c z101pnD?CAm>0ecY$+@tOMv?p(Y87czTiCT_c+R4izq->~z5 zAO~w%a68J=CF`{-{Bdh0-m~zs61(W&>UV~i)suk;k7{`VamVomj?&4nRp-(Qvzw;~ z#WNMa zdGvBbe);y0+`lrufzDT`oD!yT|3bD6x?h#lF^EDnO75eBfEus&k z?QBbX5`9wTCot3@&K4sU&U-Uh)J22}qgbcr!gIuICRZ|}@_3LsEwz4;-3N=Gr+aI0 z3qiu4nS)z2m`ZjS@7KT6twwpbUiJNIiV#XM@|INT_TEiOD=O^)hwt43RDxIYUf(i4 zZn9QmO6|4>pmEWf^jQTbQ2OLX15#@ckSg1{{eP{DSz|SjT9n+PqZ0Tzp_}_Xn)_i_ zK7+Btx6CAcg8ajW(ysfC_q6XygyN_Mls+ZG51!UC`MR`n5MhNpbs;uaf2#Sfbz4gB zW8WXEyq~W3?+S1WylI#l$enx9?R+0m8=3MtlfCedj=aQepan7ZT>NCyw+G#Dbh!k` zI<<_o1uM1VA(x$|nlm%{9adqMX)yGP1&zUrGBRx8?ze18ET~cc^Ei)Hv&KMq(%m1Q zd4d1BI{Yu1PLA^L&{3XZ(OS%me%atA{;|cs>)nP(7Lz8kdj4Nj*|hJIzj+BVy1O*;iXGg(aqP^l% zm1DXFjuUb+N;R>XOznuQ_vFeq_b5dkrRZ8Yk4u*A5~z+D9(HCANwAFlic!T!0CIDK z-gl-FM~}wA_Df;W%is-3A{lnJ62>hBO9EK5WkN39I`Lw|gFe#SMC`w|iH}bW({t2} zA2~ax*}3UD6&Ihz21duz{Vp?%`HwH0(>Hg6VZ^OO0gnDImQ`6i`f<=6Z>cLPOx;Fz zioGREZ|5?rR5y);hETE>%s!I`hm?AP?VsmX%f;U%{+Ok-BpaCk%lr{~u!UdDPlTcD zX+RM{;G3WgU<0%Co$%>n%r^!wi;e*07L{RHzCNJ-Ade&FPx|Kau4SdO{JD6$rsa0) z_j5Ue<2Vj!-HfmLDJfk|!9-vD@j?DOdsf5Fi##DsTG zMNo%jaUFh$;K=$*{!NEiy3J26Y|aVs>mi2o%InnjF9*+#1WoBPx*<}C>~^O>ehvI{ zdZifOHMy5zD?X2yG{-Wvqh0O>hBjQcwK>c0zTh;8sQN=7> zgj{ym3w2Z+^-EuK`vuW z9i}ap51X@6ca-`_Ni6E3E7WbTC6p0nZI%4d2_qI`TMAK5THeX6g4 z&uQs>_h6vCeFe*j!QU>0|FkpT{(n<2)GXWse;sk&l@e(9~Ci1XwA%hKq*wm=d48P+E1?jIZzF(`bfOdc`w~ z6JK4=W6kQ`o4u+tU_b})MPHgLGmhUsuO<)v?H#wGAXYJZWfNJk7*v<|gFwm0Rok4a zbdOW`SKVW}yz69Tf;HJQGbt_D*@3OPUK14=2dc|_0Z|jr(g;iWwum0ds^c4U1}khh zOJ%M#rM63~)X}~e>;`wEPwIeBOx2sbzzhN76#*xwb|=J%2?8&N`GIS0Q0*CYsFFyO zS*(2Yo|%2`guy$h1Y7bt*=<qChO@VhOf>HU%e6-z^z{~ZM|^p)4RFwkaR%* zDH&!+3_`G!Sd)wJ!K$$5Hpc|B!hqFX+46G@FpF^pj%n}yHP5U*QsoNTu1K6Mp!dZm zXb4`Dye~}=)SsUi!PM<6EddFH6VE$bQeldQw`b%31`x4-$xMzhebQ_C_S7I;W0C1-^ z*RUi95{MsB!Q=XIr%L-WRGfqS(nLCM_+sJ!HiZ?q>ow+64KH=Yv!E-U1&Kw*-IYR*&HdfWypFDrUh-y2>*liL`^gxKK^MZaC#@zbz7uyTH5F9i8_#)zM%*Ba zxR8RiET0z+x-_c#O&9I$?T)*OVft53S>r~Q1-*p}j};i�7_$xkT_mmT$z4Hx_? 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

M#c*UF0M{r&wvC`6oc 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 oA?KYy_%#2!z=`|c-47Bdf+^XF1h($ literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/avatars/tux-visitor.png b/afb-client/app/Frontend/images/avatars/tux-visitor.png new file mode 100644 index 0000000000000000000000000000000000000000..bd491b04e4760324a8d2cbd1a489e6f0409b4d56 GIT binary patch literal 84573 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

F>gQpgvBKsbVpbL+x0w0((n8630MN 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 literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/login/gg-logo.png b/afb-client/app/Frontend/images/login/gg-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0c372eb3a5c7f625d00c10e57d6a9f921dda4890 GIT binary patch literal 3554 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 literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/login/gh-logo.png b/afb-client/app/Frontend/images/login/gh-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff856fce5a29fdb9b0e9e09d6b7e0fc4aa4acad8 GIT binary patch literal 4946 zcmV-Y6RqrtP)>WdVk8g+M{T4t6CK zoB|tCn8Pky1mY^nGOi>=Y_1rDPYl=yA7JnyV_itrWv!&WXLo0&r;qo3`D3O>vpQ^% zysB5-J>Ap&`@Y}xeZTjVG3H!gA+Q`cwRKzs^Z`W?aV*QSL_{g2NYfP8bpfc?>o}f` z>$n&oGa0t!0bn?~84OPAT#E(~bfO7^0su*p;CapeHyRCsAOMio>oTAQOaS|Vmx1lA zAksWXfi91Akhq^ZVrU2LUD zvJB60u&|h^%@710p6!AHFK7y0tJM&ZHW00Kj$gI9)siV}$v6+F0ttZA(!fGs2{6C) zP@#3t0+ca_$Jeqf;y5M@Ly{!HaU2vDwsLT63jjxKKyZ{INi%%cA!@{kXu6AC07Uf~ z#jr?aa*|T1M6p<$tvzGN2d@K&(~_;+0+6*H_w1W)y6K}WQyK*30^O~LUBFV!H>n(i zWm#ygaU6#iUU-2kF1wsfFKhy(7#J8J@O_LnWNC`$I$#9bw(uPXL@_ZoN>~ipw`VW6 ze*NpLU%wuJH@x8uWLZX*W!Scj@B2-4G=X$#$7*#Oa74rd3b{tgt=@GEZ79pKFvgH& z8II%N`#x!!vT@@^o_~H5e|Yve?!EU1Tz&P`TyxDebai#{+;h*ddFvK1LYyY_banF= z7rdE)dGopDmalU6UEihNh|oHvzrUaNz3+Vhh{!R#iyTd-R_HLdE{ridj4?yTm%1|z!I>;R*onvQCJdqzVvjJ+t-few$Dpp zPxCj&llQ;>{jZ5zUB*7Li0m>LN0swI0%1@330YsjI`B><$ORw(Y~i z(o%CA$GEObu~;P28HF&U)YXOSd1%QH3}EmBm+DM~QX#-~Y(z9+v52xPs`VOSu}GF> zjE|2~tJP>U8sz@yy6%x?)#>&60P-YyE3NTk1#dO@c?w%tBAB;nk0$TYBjm*uDitb z9l=Ei5W9e2A+C=ULZs*;9!SY+9(#+(z}$j_eiNjnkYdRf+g1X|*=L_E2M-=>e=GlP zF1XfOwAM!gX#=u4&FEMyHz&(#>r& zrp6+4+`R7!B-I$lwy`XW=bn3xZQHgXA{b-Z-_6Z!mTeuwcbwydyIFtgq$NrzT-RmO zrcF(sa6wX7y11JQ&RfeFt5)J5jExRco0%q!V|vST@Vo%mFW~thT43|m?QD49=S(LV zVW~v5T4nq8?W|d|CZ{HCUp$WRvzo&RG_9L-BOfhe4CCYDgn>&IrTpbZXL8GzzQo*e z7X$shY~HkqrHcmf9hd6#3}F~jsZ`NMD0cNy?(L^qt8>X;UCec#{~{xk(*PVeaA219 zJuZb zKQT4*3R6QvsOmI}%DuR0!k#Ugv6Gk!*REmR6<4-}_kEu*4BLZcSr)HmF`f6U6VZlJ z3avG1nzpsGa^*@CP%ehN>5S9SwHfwq-^O>p{Vj%f?>|(ljN@GPKr+XuzP9pwwZFIJu4Gqn}5M zsi`T3hljB&i^<7Jf*>HvGNLHL7{f&uUBvgl_dT}n+D)urv{Kk zkTxQsMx9Kj#9D)Ev-T}(7_CpSWYrQ<5~{TdwQ7~K-gqXBdc?+!PcWyipF%Mtj$>@Q z$p}haAp-;RC>8?1piR?KREtMC9aMRC6mT4ZAYf{0ip7f;Gc`3uZ*MQ2=ixXG=bd*R zPdxrhet6G4-2aQm_}jnv07(?{@qhXk#{RU0&<;?Zuz&Yn%H=Z4Pdk;d$`q-A%ig<= zRG?uDKi#ka&xQ|N^IooAw~ku1&h$(TV}xlnL#foHF`nnpIp|6WmO4zIoX(h?Pn_}) zTPl?p92}%xuQM<(&}P2?Gcz-MXZ>AFjE`~Cm;arpuKC;zpJiffoUur=>g1Ey^5Q1! z@;qjMk!ng^J80!H*gcPDfAYiN=S^pw$-l2nh^3&Jx zfe(I!Vs|gY2M;iRLDS*mMus2ca)CBYv$rgRpj#%zVTzbjft(r~i{Ero6%mo^ufJYa zuU;*WJ@#u!8d^k)j2{}4#~yi9zVpr7<%)N_U5W|`L3&+eei12xEGT<&%@vo(*Z=kN z^7O`ENPTKtL?$LLa%|x=)Kp zDoGqk+^9=jos!!4XcI`LC9OqLuS_4NvU;}k<_IvefEZ&W%d+DF=_HM5no6}=l_-j2 z^*L+g(u*&b7yqzDBo!GSt;nrk`?{3N-A!g|A#>*Sh#Sym#g2nN#^3Xny?ZeH$cDfvi}vLauz*pB`xHn;^3%R3=Hd*bXjFaL;0JBPFho2Age{AJ4+T(%4_L`jD2Ih4A} zM3F(^pfea8SVXBjm+6^^(a9++$7eFC;}=SxW(#7e)+EUsG1Th+N#l=Xn#P!B^0X`_ z;+VkqX{0HRWwYW9=a6QKUHiufyZbmeGD8$WW(Dj!IF1Ut>0Pjt1{M;O=%j)gNHf8= z6^?3t)9RF7js~Mn)U=LeQhCn+@qH$MZNnAzOxF3&`yK+TNblfs>QzI~vyh?jn2~9N z*S!FV9scd^@AJ}7g{`lQaIkKemR8*pz)@(`REBa|Vk&dEAG4}_0vhQgk~sjS6j_!r zWrSx(Ds0~K3PmsE4^RD;hwl9e7rf`g>^U?8lsNxw@1)SXfDQNFgZ6t^dj8wEZ^O@7 ze%4w}S+ShH@hSRBAp`UK8R+)N!%7PHIf$dmD5j+W>%@T^Ie*U2>-9Rj$13ctWi-Mb zJU=AzLOy=mw>jgKQ~Amlzs%*Ix`E}Vt>(0|F5tJDck|NDL)>`FH+bTi-!c*jXU$*C z$k1-4r>9ADM&K=BZqW2Qw2)bXt2nL}I*m%nYfRcZYfGJ^ad>!`-|gJPR(!IqKKiPFqE}ub0NmIK6I6HZwuFRAkkP zQ&`v?;sQ#*Q($vEbFyX~tv@Hkbxu8t#UdvyTS8z9X?>b%Weh)b*gL$RzGVxk792)M z**QJVqzliyyq$s5R*+a0nGza00hJQXj8K~#;*_QHncp2^x7Jx))e=suqdT4FoR~&B zTbia=merc<2xCdgi0iTS;23EtjE+rGt;KBHv4{S-gH)z#ELgCBp`jrH$EDm|Vr=vf zCofxyPGgo1mRZ`XSUkUnKCg$^H0ZJdjATfXQS^gmq>NVzuWwd0F zYC_L{bs!y~_%(s#3oe}*K2MOgJ$s%(O}g7fug*+Rt+8*UVR4N7#gFKloZSlo8|E?4TT1{btvj) zFCA9w#3U;Wox2zhDsQo8D)58gol3h0N92?IpD!xJpc|Q zRs@bA%BqN+fRnQEcfaQOXMfMw$S@#u7rQ71g{B#1DVfe@jlOx6jAGw>^UXKERvzgr zPFR+OQi@uw#^~4xH{SF)_KysaiDBNtK{A2MF1wN_Z6M0<@S~5=NMlOnB7fSogFkNF zOnGiE_x|u6Qf+wnp+_hcidZNXFIt2VL#8ua$0gI*;beSd@HxWbEM6nP8oF5=ic2+j!*ETAN-IHfAB-ps#SEF;W;kaXgt?Dt`?5)cdH?HZyn6Z7#-~g*L8{GxEKR9NX&GWj-qYb21E2lL& z0L=np+crs(%&JBPK|l}$_`c7a-nlI7A7uEzD1F5;tKWDIYtLT8KYa2tNF!tUq9sfm z7-7}Pr*OqPFJrK8K3}-;3%q&F`CRzs3+e0YG#Bc8Rg+qr!siXy@=)5h+Gpkmu;^`-!V$GU0Oix!h_uO+CI(UHHyLZ!5?&Hwt2$kt6!Z2W9a31^i?PKxM zrJQ-@nUwo_sYP{yLWmL54#jN{g0u!aYk`PR)ScD_m3+g1=~#@z3;Hv?1_aia~)x!v|Ql zWGT;YdVzD#Kc5{tchEO?4wF+eXfgD3bu*`{i|t#tQtIwz*~uqSi|VLW0`~nNk4}eu zLP!zn2vaD=Pz<9OQ6ln>9h++M9YQ_%27)wAE!S;MZ{j${_x&~y0cvqZ;5)4~znEg+ zqkxHt3Ho~b+Obk=jb+=^8WBNIz_e7JHW~zeKs~BcC=@`ccDSvzHr~tv0TIF!Faivr z*oR_BiO7{AvKTl?L{0`4E2ZWE-AXB6MC?~(07ooIsMliAug(9C^-La}Vua}yh*yAJ zD0Ty{IKWW8RR}1xwnUU#j_-CPO~q>`rV}8VfA%w-3?)HP2P$oiGyx6$FSu_P)HuL}h4ID{C zK~!ko&6<0ZRn>jRKl?oIbKVaIMo@tP6hu&ytY}6*37!+-gEYMe}B*K-a;uQfL7pY;P-$}0NsGj|IgtA1HcQwGr%@rR4AodfzJS6 z0D6E3pnb4&Q zQZ%$in75>jrPt1)y(@v|OHiO`S_r26R|8_e65#W|5uud&H{j0ljq^GV^^NlLAHL0= z*M}H6o<#_O&;-(xc&1)3)C97(dpX3o+=PHB{A*c$LvcO|PDYX}v zcRtPOXn%?yed{;uc;N_d9i#2zkFmD|8d`MFwDty(sjXAH_zb4J7-hK z7w|kEAe^9Sniz(GVHjAJNh}^EH{sLR8pF^_pX<6_$&4qIs^?zQGrs!SUvQvzgwP5U z#2O4%-`|5UJqr0EQc5&UD^J?OG)*ka!Y~X>)2sq!nr7AgO5Zte&i(hF+sJ|5;qXOL zD!LcM`TZ}?WaAGGvwugHo7ObaF~`QXZ4AR85{Y2jb_l4_jHZ|qN-305=NHJsYqzoY z^&x~d88+K4uvxjLl^=htpRuDpLWAv3rn&ViHl}G3jYdf%5=5g>EXxW_N7J;bFkER; zm0@|>fo$8@&vXB|2P-m}Po;!U+||hAYX`}U%Fxut27UIvT44E#229h$w(SszVHi{V zO@))MWF{EX9;qJr=JqNODER0f#Od9VB0VCjzN;I8w>M?*rGx9bRsN#udgv3u6?|SN z1WzxJ#~*xyiIGCh=PegI%vfARtMj(Zh@|)BQPP<-g+c+>b*omtl7&h?Ij@XtdGcL! zqxzBauGVneJVN(bew(N%K{Oq9{yfXXc$#!NO+KFw**TYhI&DBEMhi@g)w0ofiHqy{ z=(@q2#c}Ld?JJ$UV&r%UNG_M7SS;fE{%;4!^XvO6Yro05NOuuJ5Q#)cCX=lEldihI z@71-SGf_?1#|VlV>&d{2>VHRxU<=(seGuIof&5gHm3B$G+v@i?&tlk})l{R~%- znJAKL%+>fwoihIX08vum7JPI=_a( zvKC(7bgU|2A{2$JN1;%lP$=Ly&N=zXv;fg`!Kc5pl*_O0AXiNB-l1dc{F%$pegofC zpo$?|CkHZg_axZ)JXEf;0Gxt{>pJ*;DX#>6QZE6X)<=|5NdNuSkSp(4gcUJ(>e~l+ zF%YNS3HiYN9Re*x}>Wqwdj^w~Q!z@_d zai&(Y=KdR72Keq@zk-wsA)x+G1gY^9PEJzIM^FSPd{2@am;CtayBR;>bMqYwky3_b z{i)cg0%F=ahx$fXa7BB_%#;?h?pXh?ue0IdUW6t%lV3V&oMVSn-S24{NF@Oc-PHKi z!~4i*Tz>ZpJy@0nc^a@z3w)+>VuG(68cD@q^ytC!gD@9$JQZoSCngB?>iGRyJ( zP7NUnfo4dgrzY**g{{q)HZay;dE1^dDbi+pqeo zy1%N)dyt&r({-6ca)w8&38b<}9W`ng5hyfEQkbYVOQ8uie7~QzIR+OkY!9uYvZSxW zh@x#)f>(ZV5YO{Y>u9~(j<3mRnPmeM_K29!|!}GkVIcZZ9+merV@$92}&0H>7fEmi_KMTe0l= z8eV&k&lRgOc%IMphZ;GsCC2Uz2@;7o5i4G6h6=iu7Xgj=*Jy}31RvjDWY5l%q*5ue z*(}9k5zq5Z?ISC0pU?icM)>v92XS3Dye8`&#XsHsBAM}GT_!HR+F{=H8Qyp-&b!Yg zO7)k3^a;Vs4=dVcB)H?g*)(@qsPfuq2DHopUDIiuW$~%6v?9GJteAq=o=TBQrI?tQ zAfL~N)=~pR2tjjul;zjW;%DF4jq7?iPIYn`9m?_M)`7ZF?7|PbbY7O@@b(D#ky^IW z!;;6pc9PVP%c^h8=El3)Xq~MSX;4_U5q5~}GvoZxy>n`E+QdmoCR?hK16F*$q`>HF z*REY#l}kLI#&(;{KRrP2uTOC0Cp!UERx=E~{<-H!kJYjfYf;Qwkwr;povky}XVmzD z5a2nAw>OWI8FT5r#NyHw78fj2Xu=>Ci;+wwX=rGmwIfL+AvpL}CiEHULEBuPSYt`3 z2*e7*FltRp2*J{8X412~jgez{zPDy4nTb64e2zVD9^<`zsoFHB!R5E-P)cE07LCmb zR(`1o?Gz!|v^Dl@%kacM4Ds~6DUSE)=qgIYN)WN)*k%kvi*nUX-88hBRdvjfw> zJh@yhjIO0pZAw6vQsOucLxU;4{5u;lObt7#bJqh)v7*(>AdtDC0 zFi0koG&eWX*w~1Z)mV4WKF(P8snTKyy(F26@^d3`of|&i&6D>ZL^n$>Z0LlKe=$O5 zM<+99&ZMKGgQljY`i$thPHShJKYidzlvEV+J`eu+8*E&+kH7f-6|DN|0%k9chr0NJ z8{AU49*xl4+CXDt6N9^aX3uY9_5BNoCiT;U5v7SsPvJQd*O7RxBs1o6!J-(k#z}uG zWWXy&Q^#>aMrwSdvVd%!VN)nL9PCY@X@a36IbL~cfRh6`<}QzM@rN~9=XtmViIX<|(*c~h$Y5;9B|Tg=AssIIkifQW z;_*0%M1n*jL0!pIDTV906pKYNnKaM*a5r0jI#`pa%F#G{Y2EtC5PbS?FTiebII?$w z|9&)wlRtYbOK!699L4Sz9fSsU9Im@tqp7ipuC6X-&6-75S6BU3H!!b~Xcpm4fR%K@??oF0 z+7#LJw2f6Dl-ah8@5fniMF(qsptEKDAibN@=q8*+2O5UW%&13ZMA6t8B{J8d^KO@k zVTZA!F6j}UTuR~Oz{ykUV}w9Ap!q_HFbq&SN-0`rgQn>QRIcBw`+|oka@8 z0*+I}_dR^+Bc&>DdkBQm89S_(9|{*TSvH>VLOuAbfK;&n*tQ)4v2B}J zEJiMu3$tvoSPWNGN{J96+@Og@qr~I!NlB;-q|~eX_`YAanKLbok%0kxS91NTS=g3D z*K{n)s#5LGT1BZ8kAqbXVtKJxq*yG5s~Qw?l?>XpO(YT_8jXf6Yw*m#2ZO6J8aV}z zV+S(KoR?(LhuRrFF@~mTL?V%JALX3opvt|8N-)7ndY)I+y9B^1w+R9fp|ZORLh00y zs+8g<_q~SeNN)MFg?Nra*Y(iU-xniOO)V%8rIeVaS+%N_Idk57SGF=TJQ^-w!0h`5QZEn$PFuOM^(Lrk=O#6OWA(GNbjG-C&0;dyG(w1~ovo?P z?oP+{^wde7t!8_wvGwVF9PJ@%(7{{mv?<|91u zo&Vv%O}B!Oq0kWQ{7x||2^==cr);`Eh$9?lGd4Z8hrxs6{L8bq;1sL(7ERL(J44en zgNT&}UNV4RmJilk_CX%1sW%EakJ&xV-0+!&6bgkf!v`i6_(w(9^@I?6foFnaPM@W8 zLZ}Cb@_`?7s`jlwQwtg=DJ8nDhX)Bv)0CQ~<;x&`1pGvl51zFF9|LX$J`Qy8TR31i+!Z-i`5pYRF zK~!koeVR#(W#?7Lf9JdR4fSencYEme(8R`;ZH(+FKms9vqJ$ujAR;0QV4V$O3kyI& zY{(jxWCe;80Sk}?C?FARWD-Xq&TKnwkJvp{cUQgf-tRl-u=u`v-|KcmNu{cH$20!V z|D5xLjURWH>uucAs(R$w&FTF|C&!hWQ;XmZzHzOTPewi=-aiB%GF;Guh&BgG45 z-V2uR4Y(V);5cfEc!g~Ug;b!Hg>uI++$zj1f9{N6j=3Q&xO#bp;~v0_-CgId<#O+h zci#QAFF*gvQ}13o{xf&~8xd)0cbD(Hclm?=ed)#@`~F>z9}Gvd7BF{GGTgy7!=uEQ zcP}x)+;ZTQ<5(&}WZ`;+9IQOhJmve!HKu}_mGhFlVU&Bb!U6<_+Nl=lo_y<_cYpV)jh=X5dzVFL33HNb_JD+JJ#*ZpS0rDjm|3rcyMS2{ zN{Y3;zt_xg4AUGs*$|GIW@QukK6k8ylxQ}ZIMkk_dHe7T>C*LcU;N6qf8X6-sH-r% z`{gS)KECzv6GW+rn$QwHsyTKI!A;h}mzQMgYp=K(y+yqwXcjz&q;_60u;i#^kEj`{ zTJFipxjCsQ;3mzOpSBjjrshZ$#BF%6^bQ|`~o+} zkZiHu3n0ac=5@)NB7`~ym>a5{7ehG*S`6e4s-6`!MeYG65Ts+%O!mfSVD;3L*u}EF+c)ZUH0VZm3C)X%mtg z?uM!L-ZFD670;+4SzFrP)1a1(BbvRbsVG-IW01@+bCMP>dM&Td8>t2gahSld$Lm_}Nw&}vBK(5jYPk$j(lbs?oz!X@XC6`|dX zl(Lef60%AkR%VX57G(`$$i_>KS;=7ys2cMas1{b`I)V^!gq)mMhFkND8hYarI~Tsq znZ-3~0w-GsT)FR2W(N-B><-bqgha@~_12e?+y*IR186>$^C~Mv@d_!C zlA_UR+eF(at5qV#M7(-Ta~Qo=oap4ZE!DU~CiNOUIpUF5|BH`3_Aq;Ao<>AiEoS`S zM;G|2)yxmi<#0?n!Lv0z=SP>g1&+1AtCvJJb3Eld(gfy;yW;A^#%S9_(?DEBR*OVh zMUrNu%b=9w)7`BWhv-h@hM1NjR4hVb_{O*Sr6(Ta%!3cGJ=sA-XqtT{TRR-R^j)6c zzaLAPYFHPFU3l~!=nzawxEZbiGl8P8sS%UWEECNl(kzYDDw3iiiqL+z3iG$x=HjDVZsYQ%w4 zjV26-Lx#g4bzLKpL0~i-BLN6Pn=*guv0pRNbe~mo?ZKqfkPHs9>5BPDOVhM?BdB)y znR%Ub-a`s{X<^z~XfI*x0(FK`XXS}XGld9+)M_KVv3r)q@pbkOPvvtVL!MgXy)@)l zDljFL@abUEOWyUz9MJ6P=u#&Aedh+xS4 zDka=uwKR@zENE8|*9@su3fT*~7AmM?sz~Vvy!;g>vuuN^6&lmx~M>mW56$2S_5%UEK&6kP8F z+4yxwI;;EIJ7$>;c+V6HGq>!W8j%dYo=_ivIk88b!g{^ptHblWJPeEpykia1nc|v| zo-OCqz-qd*L{3 zag!JY{{?a9@X8PP=wOKqhg6|Lf?z0Zj9ge%eC^;v1T|bMQfhg0^%_rYEeYcRvR~)E z(w(@R^R4SUeD!3H?e-#1?jQ5Pdz>c@;i0?FFxtKc34z$GxO)92KfJo+Yi}w4`PMG2 z?I4~A9fTW*=N4H?2-ipnr4+D0DNv>7_Q0+re(~`Su(i9#a5&8UwJP)Z6nX6mFEk)Y zaE$q^;q1#T@sVs>)O^qUvCyt=@rKA?Q~;WM1O?|vq`dkpG|P*r`6 zIG2>i7c)L`@jV{<)>XdvqSM&8r%qCeNS{+;)VY4;%Bo%}txKjD1nMwk@8FRAyG}D4 z4iO-x#Be+&ym^E#Gm1>7k=b!ewLf70@Q_od&-99?7}=Wa@T>P&RaV>Ej3+yMW_yQubAiA5#(+Ur^m_QsNe@tqgPIa83!W?QIwtEXFqur4 zOeT!S<3dpyQjApf7N*Ma(GqJ7i;23bm`t|&>j6?qjK*W0+Mb}A2%%yy7%&=*2q7RM zhzKEsGNG})2&*ce{7~ZGFTBm`S9Te&maQAti1kyHT)Z4zPcf`iQgcF85klx+8bY9| zDpFF8uFVN;gi^5u2tlaIJwORDdV13~D=uHV%3?96u4@htPjTw5)6|0jRaN!(j>lv6 z_xE||o+%$WKj4*%P92IDZZC*AjGUxGDAm_DiDL%u-fEpdxY3wEYe=Hh4=02Qk+3=U z>uJr+n>Tpz)pz*Ht1U;iO-ds!A1{&kD!=vA+x*TiJjU+90aaBYBGh%w*47pWdpkUQ zW=LHNo-#UyqDU%5GIZlTFH?-J*jO2yt;dD8{#c>W9bLB$A?|RCs3PzNfk)S!&4ctFe{Y~)Bs$kdA43>?cB3hz?}=>~UYfL0nZ!QbaY zRVAiKN{N7QZI(!$7$T(T98X&`!PS$4teFqH3h0)ok=5 zIoZ{P%01JC+kPA)Z4M?hk9-7s-_@NEU86OfMw%uvlt7z|)hhS&%azhJ&6Dvl}bb{l#V=q2$TNd>6Z8vU|rqHRHG!a|`cRd_AGhjgq+b zp&Yt;(2ag>_vS{S?0c2Yy57AluRe0mpazmX(o+LmGNYo!C;68v~A1$hHM{Hlc z!k~1B&1%Kb^&>=A+_kqyny;A0lB89|psqMI2@IL>_FEU2&KJ2G6^Jo0n;x^6Ugy5U z9Tro~l%^Yw6nEF+jzlLm3MuaaYjS~_nDO?h5A&rfy97%l&ty#)6K#ig)7^+qb64q! z$zYf7ug-Ag)p5z9yr~TgXq)@^pT&|LIpKytWr8QgLPagcU=+BV&hghTZ8N9@C!(r( zvZ-S(Ub&Z{++-mEvy|&bx0Kb~vwPBnubPa;p2?ynVTEz+NJ)#EOokQWh9RVsn9Y^r zS)y%?*cN(HC*Hd}XE9qb9u4ytM~$e$Y~FBmvZ6^5O$jZF(tw~Ah%H>dwje}jXB-IP zeMh-i3P(2^+D3`dY1?&S#2pDjJ=os5>hsmy_tK73xkq+w301{FYo?k=>Wu5eK&sr| zx5lE$taaHWQcAc7qAI2k6-L#9I#jqjt0vN{l-VNYfpyB$c1Q4(XsM_SW+kcTgNmxE z0Vk!zeA%#EBo-^BSvF-c8*q;VbAR;F!&F;4d-LpW^~RgC>rV}K#(5>6fu=Pyw5)1j zI(G(Pjp;FFL1L>!H8dqEt3ZrZa0ZJ=B?i=)v!zIkM$<-8YozG?TER4TncfPqHD>cf zElySCh9_x$N3+uGkz{K^Ysx58$G`oVXWppCgUR)eJ$CkAF1+y8Q}y7GAj7hBgrvr@ zaU|v8rg*L$-t(k&9SGL;Bv1;{VXIuRyS=?BlDTOveP!pU>a?z~%)L)HQ;?W8zF`4k z0g=$x9g7Vge)`;tKk?+F-wTgDbZ`3f&p+{ZPoEB7Z!W)%#+E!rRW=Awp%k}Q-L5(p z23zWjcT}QNwg_EO^@47qj+X~WM>x%M6D1TvRi-!64d}pP!vlBkyz)oC_p^Tq995tH z{O9fb*}IQM-oEqJJ8z%AbouH7N}!fOrp&7OS*Cc(jgXX`AZBH9ZX3t6e1AkY&QZu> zH@7v!Ez=b1K9{wcX<4M?YcMOt(J@VVLmVT|Ja+oRAAatGU-*qrJ^rkSw6%yhuyXgW zoW1w(^4~xI{m(x4z01G+*0r}EZe+9tP{k@!lAcP?cZ1zmlDchDu#M2`XoPj&=~`ED ztb~wuGhA6u5IYxJNleW|v8qFJ{{A!Xe)8we|Jx@&`pB1l^H+ZSJ0kb30OY+d{{d$| z`-Lt9!b`7Q7*+M?v<$W$iHqqWxOk%P#5&y5D!)Wi>M2FPw~$<CD zci82tO$fN8qVyVCLy)qk5kjbacV}-t*%@3v+#5E#JKJwUb<$Co{{VR zK~!koeVSRUW!ZVxe{0&qna`bXRo$Aqt0%kLcH3^*jsr2VqCA)=OcBCHB8u{Wgm^(h zfW!k3i3cJf5Q4yi6%Y`a;NZkbjPQWnZ98sTZS3xL4^`bY+*?)m)~$Qbw8u5^aBfwX zA8tdOz~rbBQb zH6S1gumT({Wmr(zlGZiM7sm|yBUU@>BqT^QDhebT0Z;-7fCbrrQb0=Z5&}p=1OniI z0yqM8fos;2iVY!DA%v;c`T*DiZUTEE#`qsj7QYFs zoq*^729S6J0&#RaW3W2FQSjyO{4T%!g@236J(nN*IBVk-*4NkRb-IWsh|VL0Kq*DJ z2&9=I%`#M?u%TtPm~wo4#JnuHwfAk_dFw7uUw(nV_L*Ph$#c(=p;35d(|e4Eryc-# z6ij&n<`CEi4n&Oc>nE^BK>r~Vpa9V<5NQ{jnDEV4|B&DMkN<`ncklAt2VdZQ&wd2m zD!Sb+-MokNk*cU^s|JZ6)hU96);p}XcswcrnP`-e2pO6B`|R)E;(Ooz7Q%Zz^Xb3D zCqDFPPOV-cSACTCgb)xyM6Dn2g^e**LWnsq0VX2G`1T0{IgkMwP%%aUh|&wJobo$g z{#ShY>;IW^mv{KU2R=!(W2%KAm3Ig(60Cy|G18!=S~3$OMt6xZ5=9`2K#&0+J*{tX z-lO{$=yW_XnefUh-{O1U`94oxeu2;a)xX12mp{fDDGx@BF@_MLQp%qge+^VXDPoNG zPZ%&KAmjrO0CRDdfBx_P883eCYn;El!_LkQopgmv4roispl|Wk;e$m=iIEBb=Nz_a zF(xAdh=>q^C?irzq?8CLDHk1ls7bn>@miNV_ipp87hl389sa_nf04ib?60x1vhom& zwKi(4qYxs55S*0K0#?KrYd}6SIROH|XMf|P%nQfn)+H`qem~JEruXiX5a{Iz^LdIf z2B8HZ1gvd|c#JU^qiCCeQVOM(07D4G7?FSwf{u2SRZHU}!e~@C;LMb3yFcR9H(us9 z|H>cm#1l`jy}b=U+qNW05>LJrq?7>&qAIP=G5{~|sfZCO<7v3V-~G+M!8->fA6Yre z=E??piKl5Sr)rHC%byms_I`CGsIkNKOQ`Um&|2Au$+gw}w}BYH`=&N3~c zYlYB2w4e-yo$_1%?O(FDcZ==SD|nqSX)UgGgw`_&j--xcixwa6BBLPq06~BVNC8?! zq=426=F+1F8OVl3F~L(HWlJ?(ut4E`B+?S2plS+KmDBB}Y;Fy?uP^iBOW&a9&+sds z{v37PqN6}(1|knkAZj8)sDv0BoM?#B@!ju#oj>~O@6+EfY^Ott7?~~Rm`3775#ex`Y9-eQoXLXk*;5)vT~P@j-)6Yhr)(_KdP><8w63BFmZB}Ni#h$-ob&UV zCX|$vl(MAI6-83ANEZ~zj3SwFZuc4=P_WuG^nhGTCWrU9cH@8|4p=M#WeH^&n9XaB zCk4mH6^linX%v&=1)Y8mI-Wmz@k@N`wXflT)>{bbp*PdgfD4gUwCq>!^1r_G`|MoV zU|~y|O45pBL@;Pl<|cKA zdXkl`9z!$Wt?Lse^HvdBhEF<%NDIQgZ_v#PZ34S;c`ryhHX zQ^{!v!}ow79Bo_SQpbP)<1bP$;mpn@?%%18)FO>)p zSzFs+(9c;cW*pq8xIdlIU+FX29`NcrFY@hIzQkYt=&vthynFz}H{@ByoRUBM%Ku?A2wTys`80kdI-9d@WB&shl1BDuZ%snIybYMDS^M->~RNH>|0C3lf>Mp`O)ofVsaj_krXVB z+qZX#(Gz1pN<)$)ND&zv9t#P9yuxwnENUD={`567OUXdXP=>?dyEFBQ8Htg_UNerppa7HgGC5| z(H+XdGM&sZiJ;p}kvh`rcYuge5+UG?Yp>F{M;JlE(d3ZbyVuFr5{wiG5y=xn&~Q7C zP&e$QHO4ERXd;)T#Pqu;16i>~jYTFY-Srh1X}p@##06Ee;5%>3*}8a+&CLOmMZuu6 zO_Mr;v2^MVR_6#2@vcTmjaFUivZO34@_azjO^84z$yqcOnJ9c3dHedCOxuF>w6g@_ ze9OJ#J2b9hbud8UQNfd?8D2(g=%BKK&S1eXZRw2_cWSs5gV%2Izpwp>XU=zc{QN3|t&2SU+>>+?ORX}TRiG6@ zM`TRUDy3=`Kp;jzQF!VqqIE)&C`77otwbw9x07K_Kz0+{q~v~aj|*!%OCUxIX0r+1 zK@P%^CI%@bNn)@#+WUL#rx9QEh_ewtNY9a+yUcL)Ecx~dA2@xQLDu2IXoVGN*?;p- zc=fx#$9H#sz$=FZ{mnBRPxjdutuXG7s9J%_G%k9q4;YyqRe zp9+-JC?)80GKyHE6GO-%)AH~=8;L;G7GzmM2n||mw9pv6EE*h-3XVoAtRG!KH5a+A z&!f~1W3hoWJw|UIv%S5BDKw3iy#LwH@aKQ-GraV}-{W_`_<8*Cj2B<}CTG|G9I0HR zRT85O1VxN3Ntz+0L}`VH2HSe1OzC#JNE2waAjW0>mZXNVjVLYAsi9~Vj{@ldppt^# zK+~3=Q!?iy1hUcc4?zxpr&+26-P6H^DFel z23`4m9zS=Mn>XhC)8F_a8#|YH>bVcHb!M9&R;kQ{#qEZ>$AZ0kH&`qdXi_@;6bz_= z#L!^$2B}QBeRQ4Cs-l>6P@#`ej%B3?v;fAV6{OIlCdC@L#B#DLV0F zsUZ56ekR%K_esaAgno~V}}Szb?5 zfm9xxBMNZ7L8vjfb($KYEYT`JOt3ak8(7$qzBklmL?w~7UGVm6-{bUnm7yB(k<0Jr z$upNZxPO~lyH~lp|2DQgB2kWPRB@V&)!1b}q`VR&*J4eGj=m4HSr_kFhJ;RvOd^Uv zo(||GqemipfYa+|NmLIJJjw)=u}J5a)sJWqevR0kqOCR2RH!Txyryj&r4d9oAYqr5N|uS?QjlZf}!h5v2oKOBxr^Cel``*kTjg zBnZ_Ie1fxrrVccn6z8WLml=b6NZHifyZ$oD@A09_A4hjQbv0!%yNCCOqk8N_Nmnkr;)obBbw(4IUL6tQB~tQ9@E5maMHwjutJp zYSCfJ(eYJ2`RpdNGo+m$W5m^SY;%OLQ!-JL(2xlMN0zCDcLUrEg2sCW2zn}@Q->!( zB?cEPPAp4Kd6Kg>T%(`l#3cYU0fJYYK6R1&^#PV6y!R-hP%=d+g=-B>rSU2fqsQ81 z-6Bl{$3@F<)S+n_Y$)lP0`F!#cIh*{4b`lH!?{0o98n_K^DCDi>FOiOXj` zMabqz`VVZxlO~#$l*{LzW_R)=w~t>X8%0zC+h@K>nmXE2(CrGce1><&;33g{q8fAO zV8Y?#1}k}=)y`X--MGO@8esMgE!zYqQMtM@$1#R0BBl{R>xVZTYcg{V}t?$2u_bvHA(sB1m z#|iWkj1CCV0um!NiPoh0Hmhk)v9Tag31a#dsokfVbm+H&7>-fSlUR$i0os6TJXI5L zZRE)HDRhQViX=%;i6EvPrvxpI#Fiwvqp1|SI?L(dhq-X-6ulg<^5OB)M(gF1hfIw) zxA`m=PQA*Jdjn${T+t&n9aN?f-Xlaxq6JzS1QIP_JnXQRjvy#%wrGl!YkQhbJLFV$ zh;9X@kTOo%fLDirtw2&y7 zptMA)2+`5C(VBqS?r^p4BCI88TBLU;MQ%y0mg0sV1Qdc)3$%EYczhGA;JWu zC5bjDKOnRj%2=}05N)KJX~qLXU06aB(OMuzu(I029j_3aBf1jjTOt-OmqMC}kxV+Y zuSr6S5FRTGHby+l{EBIpv3MU(pZPRb&Rs<520{uFylhY>LXZv+jn=~25+e<d~<~xyn1cFLM3kJGXC>$kR}q!%ufu>psI{=bmMKeYo8B2Vu^8oO4lY z{ZQ2nA=FaJhpO(Msk1{Nh&j%Z~*Iroo5o;c*HfM8GSh?1?P> zQ#$*f-TA;wz_J%5hKGe#5CKO+S){aXO5t`X+jpqKJ2deYK^_oAMQ>1H8%z}dmi&>I+rql7#cCnhVFs$c+QL3u90~j;%V;cW7tuJxD#KmQQ%Kh7Kq0r=LOx7hIj_7sA z^tvOohA;!uUH)TZC)91ppu0*CnkYdF@u-J#Kz-8jaQJ91iUzJd=&(6Ck;%z4fKoCQ zL$Ay!96;pT+Zd#e$VNjysrWMUhBp~FLkov<%wN9=nlFC?EPP<2euW@jDJf2 O0000N?;6 literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/login/og-logo.png b/afb-client/app/Frontend/images/login/og-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a6f6e9a5359f33da1ebbfa090060fcbed8cd096a GIT binary patch literal 2706 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 M07*qoM6N<$f+^hy_W%F@ literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/login/pp-logo.png b/afb-client/app/Frontend/images/login/pp-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb886674e08516d78944d3466f8adae7c074e20 GIT binary patch literal 3222 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 IM6N<$f;bc)(*OVf literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/login/yh-logo.png b/afb-client/app/Frontend/images/login/yh-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6ab90cf3b3db5dbcca5cc380efd4beb3ee0beb5c GIT binary patch literal 5491 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 literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/logo/logo_iot_bzh.svg b/afb-client/app/Frontend/images/logo/logo_iot_bzh.svg new file mode 100644 index 0000000..6e60c95 --- /dev/null +++ b/afb-client/app/Frontend/images/logo/logo_iot_bzh.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + IOT + + BZH + + + + diff --git a/afb-client/app/Frontend/images/logo/logo_iot_bzhx350.png b/afb-client/app/Frontend/images/logo/logo_iot_bzhx350.png new file mode 100644 index 0000000000000000000000000000000000000000..2c3b2aef11e9b4fe5fd7f22340fab71ff6fa86e4 GIT binary patch literal 14449 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 literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/logo/tampon-iot-bzhx450.png b/afb-client/app/Frontend/images/logo/tampon-iot-bzhx450.png new file mode 100644 index 0000000000000000000000000000000000000000..f365e192612f95359de5d63f87948da554515db6 GIT binary patch literal 44996 zcmeEsWm6r^^Y(#*ySqzpcZcBa1b26L0ta^s8r8m?RMM)YNfdByj03gfCNT>k-5dEJ+6b|N7!(!~8_IZP{5>pfd02&ey zUrnGtpUKQ*)D!^#-!A|_P$&TK{HY2$1^_%*0f19u0DwOO0Kj$5?o<{0d;w!BFD(K1 z`0vW^Df{uMfp?bCaRUIDDgPS~-X$WQpVI-d5@H(OYv(;)+2-GT4nKt2)Q&DkeWduT z$jOsO`l!szKF%Nb_dK+hx>oSaf>i)SaA)I z0|`N15Z@p)AMaRIbdUR>n<1KJfN-Cpt^H)-OqU4l3I^0ewj-58^j!XPeDvdC-Hm4g z?1_?;0|qYrhl7CNNyGpU1dSM3e^5{mE^itT7qIQ*`wQR>c?4m%`SAi8d25dBrg-F0 z4yHE7zt%MdIx}Cx0N-HP(KR@pGhNQCOv!%$*fcO#vcXP3ug*u_NSV72@_r=mU*u>e zqN3nCyfYB9F-FoH-^i{mJfj$tmZ+BQK1tMzjmmu)Y&)8Fhrl);m`_SVE0T=e*Bs3S zq=aTc{sX87*dxILAEMhy`J!f714^M3f|$N)K#r-@_DvD!*NUh@J8B=xB3pm`-^!2h zaLL&#DaP#}X(=D~2=+apjz#x1q|$VuBheuYQC?d>*f6f~50zT4=9?~f_4w#NM?sTc zQ^Z)tAbpauCWF~7MG>PQ_TH5WTo{x5azZ@n9wU;2qBcdxDI^3SEb-3qQpOUM36}3+ z5#Pk1c%dke;NYx*B8VH&yT)AmKLv3+h+q?;m%|u2W_FG8#nf^l?;9g|8o}s09^h^K z5&Ywkpg1srw328tI-LcAF@K-u+_lrL%xI9yVZkIh&Lp2}jJpzh{KAII(wmum%(k6k zf_7*+m9bgQu(^$POeU7e7vpg-?FyxFyjTsKJSHAwJY-VtM(a`>UCk*^S*ztXZILATI6i{x1H~&bu=vCPCIG5Z&9Ul45}V)={gH^Q?@ZKL zL0-xX%hk4*+PA#*O+>#DGvjM&brBlkmZ?#)Z-8;EdbUYU@kr-wlPSjnj)5YG#H(4xl3+7SFskg6j1=kTxoj?@n0QG8quBKHYk9%xzdWe$fEMgZ;{ z+7Id3G=MqJ@Hp#GGDbA?)3s>5&5j;HnqbdTUB{^x>8}ICIlax_XHZhwu}{L$FK$eE|X_vYrN5;ztHDRkq| zQH$FOiV{{aoRASyin7QG(8JpS<#gQYEVWp>RZOmR9&|n-&ae6it zF5O6mq-2>w4aNy?_VL;J5%#H?bV&yP1VRZb`qD!)8+=xL0+-fi`8m#w7!O?YG1sDK znQ??MXXyIX9%WeP5m9MWiL<`if~gEo7OEGMLfSJo z)N7vU$r^mXe~y;{8w)`y;n-vrDIZU6I9gPv6DL&|*~UwM$pybllIN`LTK58VO`g9j zI+|p_C21|JWhs!#tL8=587rNId*U-b_579ZG5g^GMm1z7UY!wSN`LEDT}7HxYF$lryOeG%HWo%jx!|=OpSgVB^XteX^R(meCeb2G@SGDuqIN! zH*52#(WAf#B_dDiAvPjN6Ix~|X!Y1J4Piyx_^+tVZ*-wP&F78(;URJB$s^ki-G1fm zpDJ-$7pfSXRTF|6E;P{K$V)0jxMGO&E^X=z$kbj_!k$}FMmRH+D31QBI&#vJcTS$# zYz1ZiZi4Tt+xyfZRWjWTm$K^?#T}zsvR%?j2SJr6ej&SVJ@FrW+IcLQ*>;0L2J=OV*;#aBxb$Z*Z4 za>fpd78sE8(Tj-O^2A~JmFomNdkMz|5CaATrM*d=Vd{B;zxGlNq&kYbRbnU^*%A zJc`YOs*_T*vOS{6g}J5Z{}lo4SyqJWg^(Z3*VLNmmd)i?Dzr@bYc17QV?BZy3Sy;| zE!%s)B?dZ6h}0-kL|NqgQv=1iiD-e~tMJxq9Q!t_)R$xCdP?*>?i@Gu`3I8VA2&=S zT)Q^drWx-iZy~`tBL=>|!O@P9N@D!Z_^hyGTL=m9XNG~!1+ZPmpLl8vVWOHmBD`Y( zUQRq6A=!sHbFCvRGa2#5)kP2c_9fBc27gC*M{EynR+LQ*!gGIwR(7ygVW_0BtCOW} z(PDm-61wDd9Wu^cp?n#Cfx69=le5Rav)GNVG^XBRVqe>qrc)H>^jN#ktbku{#e4U5Z6~C^ft@@4esG2@K~pLW3i;Q3KY6gQkeKo-Y;vA zo%Wwt7sb3L(4r|VKqLi`@)<%8i-2-E@w`a4+ZMh|{^~ zTc@f8a=4C?cnpk{g`Z$5zv`iOj^8t;Z7jjLkL0d zMYyBBj($aTRi*sIRK%y^q>o_6W`mK`CfLCTnxw2*8m#9v3+GW%&Ruc8pkC=qX}c8S zOl?{`ym$%w#q8?V-^+QD%-n}5{MFy^Z_=`=G%4ro=5UC02&fK?e#|9>E`ZhP$xjG4 zmF*uQ0=NIQ}($di^-LuB-7DBKH`a=!EHQDuLhj2T>lKCLyW(Ni8978bMLQ(k7 z?ieNZk6e_0ztCzfPn!uojR^`6oW#`SU)*MCg{H!@2fZK(nj13)n@WW(yL?Gy-Hob_ z>EyEx@C#DfUp`;_P>h#qEoxigx6X(Z?&$ji3njofOAklvr|7oo0fVIfSPCTpL{eC!WdS>=@DJ^ zKcZC5z_iU0Z@N(f+C%Qf86G(>B1|CCImb*Jgh`19yPRVrURo2S!q@DS|RZm^o zdT&-I+o(>k!+3ZJil)o0%98HJM8gf zh!EyP1?}i59o{-}9x~5%Q>bVtVlX!Nfp+PK^lAbh!O3xmOxra-LG5UWwQ3!2!=B5x zUM-K_b(tkS1EFGZn%165vnJ@WFObL_WjkBl>ET>QH9gJDnpMT<%Fe>Txy72ym88_^ z5j>9smv7^TnIp@*DVukiH16l)@cJ9f@u~29)&-{6O@i~2Np03W*3Ahm790A$bw`PQ z5+lfh(NxWlkhxAzf#rr=O&FW!n_%H`A&580C-7HPXH^QcKW@=pz_LQ92n;!1A1v)7 zPVy!lncGTf`OXwk)A?T$BZIRDbcj=W*8fUB{FaLu_JyaQW#_M^roXjy3dTI0%Ul7o zCDPW~^^=D5+$uV`&i34!%b!1U|c zOQUaJ8XcqZkQwJXBPX6fxk1#U3^J31t)V|XeMNQr-^zm904!od-*6V&si9?_$#h^W z`EDcrcIF9jz7}pR9y4*|$sHRcpY)dP*=^b0K^->n&DD+~uvTyeN})By@rbfj}Nhj#*%P3MUx4Wnf zQjpbw!LsvF0V*@F%|mE0-b*fQ+yW=>+~JHJl__#aN-f0*4OMnkL#zY?N7co(;pjd! z5~DmJk%`?_^E6ve8!71K{<~Y3kphQ~1d`XEi7CfG0t7A#kQrtk^)J~q?FK)Di1u+G z6TkV<_voOdCwU3DUZDOu#8I8tpm$k_K^$jax9A=oMYAkHjkOw=?GmQ`{(es-7>eqW zS1(jov&Oc2R=Y_>)|eC2>tWFOF_2@KA_X^1=#?9>EnifZGrKK{+1$#cEG&WV%po*<99_ctM6Hv3tnmK9VKZ`}^78Qtld&}@ z=!j4lN6eCP1@WOP0Lt?m)Qf7gX{s8Z{t8==J$!6jB zs>EP`;Es?voQ%;q_g3*^vIr1F(Lvkpbp9p;nqwTVgvcF4IXjCgI3!5 z`0RZkb}Bm5rxf382icj?0P$oOE6`m0Z}q`M=#kD-PkiRr9v&e+bl0{TY=KA<0mfG$ zrzXcy2ZtNcwnvUe#~@fn+FFUWQKv#?;;N*dGgQb?i)_sa&oIcdIYGF%t~jP;l_q+N zkgyX#Nc1WA^sZrN*p+e6a)IqX1MnkQ80GB;Jt;5Xb@eMMud$d5d^B|4?)T~Z=kf0n zp6S3m7-0~%xDKSRzX z%UcH6Q+jThB6CAQl{n4Q`Rt)VxTKw+JkkB-h*S1F&ctzmkG76VdVEz=G=#ww)O43w zK2$2jf}CqYO-tppKlL?&yYd_Itqc^Sl0?*4VYLh7)9l7H{!FZBsKee>VikoO%C+yp z{D?;hmolX0;QO!c86dJYS~skYZ_nkCA!R?|Sx7&-hFlZmIp8+LGUsd@FzTko$*ilOL&pCDA3 z{LSi2_&b4q+%7{jm_^DRqBm$aPzbC7BL$Q1M4X`r_N^bcE{C_UcJF>v3{v0ZRVY&@ z=f}2bix+c8TRIPaV*M>iqeW7muO0F1Un{27>(rQ?FVQJfzG2fkLM5XC%m=djcppG* zG|b?3m!n12Gj+q4--CScZDDvJHX!~QKK+w@f+Qz-GW}ggsnY|=O4PRxz?zaWML07E zF=bf=B0F>r$YejzR&o)Gnd1qhXJDH09ofIvo~T)yw+68az<0T_YOg!6*jk*~Xs?|@GujN5gX zcw_xCuteuU@^`hwxYy+YDj?raqmlrpJPl|2+)T!lHbo=&#@B02ndP2JaC{{sxuMDNIo!sb6W?8gBXUJJCiYq$ zlu$b50)5LGNE(2&#gM}j-Ln{^*6DMPANTwClkdq1dt}@f#7Ko3-tq) zpY!)(X~?(JV=Yc|e0m=NB@91LVa|6X`*3ema|g0MTuNaOP8SbyP|r&0Y;{?mJqefj zu27-$1DSpG7$pHY`Q4$xdvA+(ZwoDAOYkX5Ahh?#SLLr+?S$Hp8!<}{=mZqk7F1*V zFBjC&CfFDgka=W1%exTLI+r)AShrGhhFoM86F%T3RheM36mA zJr8_|r9xT=`>??6kM}u-8BngSS<^V*0C~>O14F4QjC$<}_DP>%zuH;oQr=Ct9_t*v zUb!zR`Bymv3$s7mL)t{O1Q)WQTAdGe4Fz?WKvKRvJbMFUb{*wGPo}8|%f{2)RXzsB zw)+7gXJ^ElP%^eZ9(?~5)OVbxTF?cIE&77%%mGHM0#%z?AkME@2zSx*kF>B2s{Nj? zAn_DcnSosCp5C(2;K_m(XEa{8UhZ+-vK5`v{0!zuq_|#GcH8=%rb(Zss2KFl*j?Mt zAn@tAR$+ypcn@RsN%jkpV?>^V7?dOO$Bk19W1|TA?JnK!dKh~MH$KtbMtyIyScj}j^Jc~_W1Mt2;t z%h2tUP{LcshBk_1!s^Ju{l33JC*mMM+z<|YX;VHOPY+j)@}}|c-s4pM>v08;`%PdB z>7e3j?jWW5oJKXPkmxXl$s|&O5F-qv1wtDZn;&3|v!Rm(i?4Kl{3+4?#NLR2Zct?W z1xkv*l!^GuyXe=u{Vc$NO=F{Qnfi!5+zveI-~P&o-9CuUD2-^HWG_rlXXHtfo6~c= zLVcStjLDiK^gwiR9(Fa6lka(=C4fiU4E^iOtF>$}tGFS_9BsJT^A{%j@ z_W)+Y&uIlRZ}3cdaXgH=#EOv$vyWof(?y8jM|zbNPuyS z(>?8aTW3NLy_H;;SV{QU!qO=)hsTY5w2P}Afz9Av_=}8JuS-+bh@Cak{x11D<kL=e&XBw+X(RYu1SGVrJ?%#j$Q+$VI6%Mn_k77?nI+;bCv zk7Qm}3`mff2gY?UT^o~8G{W=s6LZB{ZA)rwJTf|lmwbpGkd>Hvh6(O=jWkU9suF}L zmQ`^nXD(@OIc=hY=xv!}1w&)DEyO>?ce#Zpv|C2G=OWUOzx)yW@At5!h|yUw%y@cd zVF?f6`Wiz_^GSi;Q&kD(~~I5K{Ut-*F96&5+)yF7(yKa|~t6^U{M zZy{lE&^`#m2Jjs#qE8DnvMxvt@Sj0atR^h9qtyhQOA5zbm1C<(t8R4Wdwe z&=FQ16g_ltXaIK{k-wUVnZ{K;V*6MR^ZGqO2m(}HaKG5ovJW$iKMz_>P}H4@iD^1X zYY-fr3!(>3k~(Z-VfRFqGzWRRH#S!@qF_0DV%{2LiOEyB<`)N!zlFNI$~eR14yt9N z6@$%On2J@)NvifP7SRh!1!uXJuS>^k0#IU@x2t#D=9Kl!jX+d^z1SEB{$5{h6Z zC_nKNuN83LnX^xoVTv~QUA14dc`H@cohLV|F_Bcl0;7zg|DM6P>4g(98)CNOS|Fsp z1;Hr0%p@1q-Y}fNh`FSXtfrdSFZrX*mwB(&4!#mm8!^XA)D`M`e}6A`k0g}sz-~b5 zqycxGaqJla|7tMC}kMz^5bFkvJBCNnfpkA9) zFc!xm@hLo;DMH^A&b#1=n^`t=y3QL8#vy(mMK)XP6$0RSx0OKwkCg^* zKVF#lNjz8Y<_~+K0f=2hpwws9WQQ#hmi&&k5kYzH3D2~0C{{hFX{VPc#9#Arxnma& z4Lfy#y@uLU`MOODNB6no&`bb?*moXchB~m?a639zo>EW`#BNLn6>_H}yU$(?wPZKe z?hvO(n#NpuSOKh*9i%x2u``1m<=5)Yyw17HLiQIH1Zk2cl2${AU-k6m*OLTcsBk-45&=wL^S;2}ShiZObRvG9mF@}5#;!sSZY39suKHA?G6qA33pJKz0stvDi zR9fJa`FB|nw+N_X%Z6Mv=`|#ymo`tlUUxQf9+XFzP45JwQY&V{QNK8dK>X()^Z6zY z45L4E`x-K3%qf>2Xij(E*3j4gk8e-5skXz6Z3w@o(L7!wS0ph$v9vCJ{(KAnPm9xX zkF?UfGrCJvV5$58(M5jrIF<*hod$xNoL?CtFUn_3LsI`JEnsmj-{V8U&DT3+yw4Ge zfB_Lpk#L4AXD1eRrUF zU37EK(L-{th2Wmmj?99$)M)gpYduA~R?YXsbA4==)kU1|q{z|Cum_pFWZ+Uo$w3G0 zVfq682KNv*sG%ogWJFiDP=V|r@fi+MvO&BFGS>&z%j(uHQ_RME?k&zNmttuO$ctNs zIRtC&?I?KB`DU17zb4yq{q%sXARnZ^3QE06kvU;{3EL&33#ndId|dpVny4NUk=>X* zvBEpwjdN!GElQg>lWrBi)Sa)c7KYnmBRh&hJ75405&tuVJ$;O=P#d1>H~l>;PW@+_ zly0AC<-Rw;a6wned&%vg2@mut+E%sLY+pI5Go~@#)heRcqdyEv`1>`#T=aOT40MV7 zbF``V-dmw2Fiu@{hlu6VI^|#~367Hu1Zg^Bh;{a3bcb$kgcIOpqHQ6d=qaBRkfpfA zExE2?2pX9uV|-wA1gyZ45hj}0@6-CQ#PgA|EuBX4#$KWy#se4UcXr(?T#lV_VdYRI zIj2itb{^76wF)i{G>I&*(SICc0-!M35w)UAAKp5a8D|%ER`- zo*WxO=gx{KUGUc-x(@T~vxP;CC3e=dFb`;l4fajZz|(FUyP3A3k*~^x>~={W5?5i6 zzQ#r>>6y|{pD0bVJE7B!g8|alDG(Eqm#j4pM5n7Q|ih zp}9@?N0n)bI1XtsqER+fk_(}f88jDQyhOp*YS~su8i?wQVxAkCMCnG_7^Qi*x2G}O zH~B!j2DKT-EwL9lfWp)B>YG3R^?_9)!n&RAjjNbD+QFUZXRtCw?dG?c>;+AqIaz`C zpF?0_gmX}>M4W3GWq+ttREUG--7@?kR(%!O)#Y}1(VtYXP4Vs+-s|0$y?bSK4Ch1& z2_6=P^^6!XV-M)UpF`3KetDvycb^0!N4N(BqFIn*h1LYml;|murX{H~;EB!)#Y)Bn zEUJtWEu=yeq##1Yd{R3ZX(IAIb}tQ^^5-ARc=6i zXQW?(!(q(oKW2DjZ8yGGhd)d0KjY_K>F#_$Bz$qrTf%+9Aq?&(8Wx7oa7`2fo?CE2 zPE3}QkuOX-J4hmXDtlKAiY^XbTX(lB>A%T9^-U*a@%-4T_Nm}eYjkR#m|D0xxqE&O zHFKC4OblDpjN6oG6gAuSXZs%mb68H-LKx#|Zg7!vsE~5f4s+2T!)g0N3{eyX{g2b+ zZa1lTZqWq{J2Wjz*j5Yp3u_j*Rs!in*p0Aj;ThhTXo8m&X_Opq1$GdqLKq@nlT1>E zICa%lUwsa&+u-u{-vgT>i5Q`GjSPu%thmYd|UfW35e#eFZSUNJ6K^6O_sxTb1izS{n zZ2K;3Wx)Y_&yCHMK1xA3#-yR%3J$qSTI*R0WE=%%0csOiJeD}eMYHNNZ+lU-@A{|h zbiQSrJ>d&JcXIxj7mvHlJK4Xfk2}r{FefjGAZR|ziueOsL^@9?!>gyPe6d9nP1^uR zXh%<3${+aUpIsmzTl~M16ag>5&+I8B!s1NT@6t^bT{F*ZJNr0hkExEJ@_-+~k^}29 z;t#R2r%n`UO>tAF7@{YG(Te}D>O7Y{bI(Ty++w`wK*_p7P!ZU3GCe>oE9N8mmo5XS zjB@1QlT!4?V)s+YiCkW{H{`nmBP2~GVZ1s$-W%@JS@B&$AQoZkc43M=I@5H+3?>Jn zxUAz{Ghqq*J(a~yq1G7%2_c{J$8Te4@6fJ@Ung<%h+Tcv%?r~UVPF5P;nR8lln~tU zEvqfwrg$@6JkA%^_(vB1gL))WPMob$wa*%nmAwZ^qpKaxTD!@1yjox6iBFJx9k36&vRPxQa@#$AthTpjq+ua@gNrlwJlTk?GoB>Q(}xA2i2WqF4eTk& zjLEMZ!<(2aM^DA%iT68}GV!B|9|zor&j|TzAa2C6*%1tfp-@}SJ>qD@_br7ZDv*U) zxy-hYM`_EhWu?#QrQhCn?mXCXyH3k>+NFWkKO9%}#iu{w&8JI^uXV z=P5%Oxqx`|%3NA*ozeZHf3;K`?JYyC^)KweZ65t{mK5(oSWS7X73#0q!F z+_S_J&jdNnq@e3PQ5kNV*R>%yEj$$#{^gLI%FZpKk!G|nnj>f&oV#~e6|*OqrVP{) zWiMZn&sMTqE}Ye0M@bL!Mqi2Pvk!Tf=K9Ft(mArCu=C&-bo>*Ifo#`PRmH$D2ADl5;ape0eE3pOrI140Jnw@Otd zvJ>%Dnz9*R7tet8WNq;(^1WHB^_&>N7$-5dCFQn%K2tC}z&a76Llh0p4>*O`uaE4k z>5weq4b{!>)^|spNZP zo61?Nd&BovC3_@$&@p^ensn~H{=Z-sJJBV2j@D%G zS#|Qdl3u}W=E=R(5ypCzCi$L_8gt6rn|>+^lkb09DTm|xld;+Jr(%Mr_yAj6vt9Li zfK4ggkS~|B1FX3r!rzwWFJgheFvgl!VsWZX9xbMTJyYzPL5wNb3M@H`5o+Y9ebSB* zs2T)R?g7x>J-Tqf)R$O4jvuqLXto1})5ri4Z@5#v#< zx)}m{%8;bX--|nZ&*iqP+*Klw%IerMxK7}@Sf;ptxR&E!dvNCR+2L-^%dn<@N)HF7dB&tb6Br$oNL z)Tj~r2o1-Oo{KLj$a`dJ;aAlRIV#g$+d?eC}qlHUgacNyY%stn$>JDk*+Ic4_aaCHTNc%=Kl^MW?f-T{<~r%$KhYIPEpiTPP1H+v;44G zHzKqW;}q+ZKR(E=k#`*19rZ`Cx9THjbQ5KS zKk~GG(2*td2gz451SpOUGKiTg7TcS+2bLn?=CLUc$#tuxzdjwrT2 z$~y7BU2RfikviRubRSV2Dbl0God|k_WxBH~K@@&HTYopt0P}tCMidB^BkTA1-_{5? zN^6ND&H}L3&RMjsqLz?8kY&}hL@}i(s7T$&4rsj{xl1xoedZO(COVwLZF8hDd zS7pH+L}?@-i=yG_3*`1RUBbj|f6959WTYa|GC=3&qe85iW# z<)cbBFlyhQ^syTAkon*4pZus0#vfnFC-!4q0O{_mQI{ja&9q7r@A{=kp0QE`^OhLy z!M`SHcQ%yD=J{v)^ASF}3V3P1jgd||D`ai%c_pbyyNfjPrnP#zK=9(Sd-XeXS$SPB zFrGikJ=f^R@a1EAewMEGaQHdEUm|lssIjein$Hj^sXVO^=Lv;RnpHTWHTp$3)cnL^ z0!cMs4&%SU#9-_n+{AgpR;rhKD?BPM$-=*4pU_jt{rO!%ANsX)S<*lW^A!5tg4Lzp~Jhz>0#Dj7;9u*{7$cYM* z3C4oOA-oBNRakMT=OawTTpL|Cae5N7Mb$HN5q~We%f)ZbN_05|?WJd4+wx~W0e77z zXF{_VEN4sP7R42DJND?HMGUBR&$P!GshPIUOi?v8js5i>g_Sz>m|(ejyEWzV7l-CN zJUx`ZiX#~Jgb9{BW^Nr~*eehlaQ-9{B41w(ya%;L()OQA1U%xk4iJ9a3VUNGrS%`2 zEPFwuhwzaK{|x&``mTeoqahpf$mY9+W0GI~{M)hWZIgw3avC+?`A%HM=nuKM#osuw zSJrF1xR>^S4Nxlpm-+A)8r5JecWjEAc$~f4$2)bfP<@~VweKB-U8XHMcTe3UU4=z! z4=~}MdWoEBH6~p-?h(y1uVqY@eWfAW9Dzv)IfpVFCZ9lizq7IJxp`W-MuAzPl)5PD zN7%U(yPo3k0XwZg-H#;+c6dSL#hVIhho-?I(Pg#~!4NHxD-;Em-bK* zLRyKwfsH()c!`IdSRvOWGe&g!hU7FK)#NY6{ID^P@l2v8=CRzZhaYXJ3J%e&$oI^C ze4aYJvChR-hz5G6|L}_-zB=M}dKPL-ST@*f;5~1qyWmK)le7yn(a!iAE-%;Q=-sgd zozb9?=fEEdd%LG?Zhf|!Pm8<5%h?fG`-(9@R^{XEI2e<-k1;v{reM2JZQI0NIT>sC zEpkpwzr)ldOCJOr%LUPFUfjT>Xs*uQ`zA0t!(?#mJQvN7#wbf;YO@b5c-u5tWP&(i z*^8{AS%6n9&f~=lv(^X9p2XXVrvu$M?T&oWA}kIr`kl`2Vv(Mwex5X^O**B_m%-mm z&c0@6aZ8yI=%QDt_%)5AH@t!S6O`J$1FO`?(~<6{FN(eRZTiv(O87bq>bUED(vIGQ zuREhhW;%Q}E}K}fFOJzH&kzseojgzw|u$`;wd!P%aU!n zPJ);op{7x7KFttUb zydc;YX0%8J`O~7JqV{p@@xQSX`S2hPzWBIHXlGKRlQh(q(xKbSIt&n;Ip7%P+5X`;;P-b`BjLBK=hf3_x#Ko>IABM6 zoM#=LJ9_wF=|I7gvFi@xGHtYcbbf9(GrkHLHSr#6`7&-v_9M&yzkR!7y6yrnA7g9i zN4UrO-r3oA51|?97@mA~?272@aUNN+=r!7+@H6|sk}*a;^v+h)=7jrfh!a43k!Db$ z&6T1wLGyVIM@aGzkjgCHJ;T`aQxso@(KUpzXN4SYv<%24li62c$h zztDoS<7WNAThoCvQvOQ5e)#ICS1(OQ;Ck|A)ju3jV&Hor8y|;kzFf4Qp@qm*aU=y2 z0Dm7osr*Htlk`aoQF4C$GO^BOb%;W>abZ?(RX|m)lw#uBoK*eNc1bN_X>!4~@&Tkm zctas@z@6LEFR)jmYJ2|25O{##K*t9+|2T zjx?JM=*H7He0;=C5n5$vie3T1xcWp+{EGz7DM@Q6=u2Jg85Lt(5N?uW{W|1P@N8x@bQBrzoQH$F>p2#{AJ8z;;0}cNqXI}hdaYs;F)=TS=tttJx#LvtSh!(^)}q1P=k<;{&UDMT?(5ogmw+BIdYkf zh?1psV(!c-wrLfzD4JdhzJFu_@iBC2?!pw1lQHR>_aC&`#_xU-=x*vYv^H@%fLhh0 zk+07zwBPVf5nSL`gjoL)KfPuwwFElyAL=i_vbfP>1Y9cRRO55)xab5gz9o7XY@HbU zGSDc-3eno_x!13g`(k*si&URa71NLRW~&~>GcyFNAjXc^%;?Z{NTcZ){=RV;S_H#r zw@JI%f5|!XB;X+nK;uI!PfJ>~;CELnB6bEfb?<&Rcd0FAF5|u+z$k($e5?O$&>L4O zizPR$9v{#BllHuAI*ktpCXdYT+s8n<1gA;j#k8*A@sB<>Vgfa2E#_bUT0T zdBv};pwGM0y)p~4=NJ!F4<9r2Yh5EMvHOX=`F;!2Li`q*EX;50E`c*@KWo=_33Uh8 z_|p)XD9r9M%!p~M=xKG~ED)1-0kJjpJA;COJ8H;3h&lA)NHfU=>9MWVclh0}qN z{Ma~ZS{HMfqc~U)TjUpaC-Y&l+)!*bqA>t*qTcS79jq-wAk47*p9jEMK1TvKrbVe^ zr^3AU6kzL85G|*?&aiE3`bo=x?{tiIm~OPWa|(S&wLG?1L&KJHf}La1<;0CZ={rZ; zv!7cx2kbrF)N#~I+6LbIMSXYb@$RE%D-X8{llUQdag45u#Ic%zUBmOw_-6cHcnZcR z?dvj~)6|JO{$!v1RM#Gey_`{z^+0XNe@G7KCN&8E(C-KBr{39Je{kVWSTa)CXr`5# z9YY~pzx#9=#!%LrL@s;8iE!#MEDSr&^_JE3pdN>9iC@IM%!3~!sr45Oa-2f!A=`xE z@-kJBE=hJof~+Wx1qgL)e_7V2>NO(>LU=ae6xo5co1FK_7(c@G?hU2I-!CO%1Q$4* zPQIR>^XKmIkO^KF$#HwP+4i6#Wh31 z#Q%I!R14nJuZQr2Px6%gI4ytPtSH#lGztcEvt%Cf(Zt}DY|W?iIeJKts`jSidnAa- z3|a9GVF{BAygV{M`Qy3{`fcjxF&bpQ*+8t=nb@e(u=)5DzoS2`a!=##d^Qegtw2Bb zYg8aQ{h-ImMXux;d3mlq^pudQSW=yjZ$3}<&_!@1G^b+>F=uhGYWDSq!5g1*{@0>A zBMoX;O}C?}rB@HW4k;ow_$@}BpeU7A%yuNKmQJT{>2;i#A@WzW0p9al%I0k+S?ZAcZEAM zcdfRwypcErdT~A*Cc0)q#7+0OSfaxsc9^HcPLv|+UoAQ$5ssg63~cy4h@?AO4SK%i z3J?y%tHiu~o7XM+ZbAT<3I$DG|6+d~C1SpN13$dcZY@ODV;I9tK)qghZW(t%!G-9% z8r(e~4|g{+3^cI2US6Bc6EpKFz0gp97}w8| zWiFvDFNKr4RWTs@2#n=s)M}w9IkG8PA$KrpbfI)evlN?PmmV#DT-H$V{^PYg{pQp< zf+69mobQ@!aBJ)@>>*PE6J}CRInr{(QTA3OWu~euVd@F#z$}GUgrz(BV6bfHg^O-nbqHH4*B5NZt+1z}^*Qi}1fLe2y8Q!gka&Yhr_#M~L`R|8NI zinP~l3DiDp#;u4xvjEj6+Dg9r4qQoK2TJ5KS!U3a5>sP0^dhBaE8d1Xm9^!QA1S@T zO7KQv*<3q~8VhXskdoSj)k$vTc`4;Kr$0<_TWh!q?#`q!x45f<*70K&YD}MS*qZ8~ z% zX4s!qgManGLyngesXZ&)LTV5;pIk4OLMEMW(Z$jol8(04?vs|-yFarHIk7S?6X@ba zh2+h>f4vNFG%$<;7O;y3P2#ixM0y}I1>}DY9iRh?RP2iuRh5yY{Qa93x!U;~JnyCE zpE#WrA#ZRZ-xqrpB_pqEUELnguJJM=usL?!H9Q;8JAU@8`=U~16_gd4kcx-Rc90zF zB~&+ZX!fS};1~Ll3nLxUKjxmHspil&-AhodAkkC|xoY_FDu}mn2&MDZ4LHaAbMyq2 zs=ozP&kf`DU~5U?tdXf1@FEe-U3u!yIZ~TnZ~h+u9zo&0(KO^gu<*Wv(05Sx^{1^i zdIu1%dlIX-OYt(c<8JD_N3{yP$-V6}$WVWp=@UHtWu-A26`ki5TpZLG=G5^%AdNtT zvqn;a$Oq9+lnQz#D%w|e@(Y*6t!=b-pvhx`9>NWKeZ7npsJ z+y&+WZ~kmq2|=c)tjpNBBww1yBRYwA@eii?EPfI=$7<@cr~uu%TVS_)d++i0 zn~e(ciq5qe?_xpS8*OOxstlMT0ujy{NeLn^JC>vE4ivj+#4}o=0Jhf!!=3x|mw^vY zLVgR1#;+laTp0_g0<^3n*iA6|&rh!5l)lA1Mtd-iN<(F+;u44K zKRYrTPyO9lf;JJUS?8vVV>Pgy1P)s0x9~aCkIM% zy5y?0sB=g_y9h)$YuFmvF}rw6)Fu(;aK**b9q%$WZHfp1-kiYqc7WNA+@sB%&H;MC zTn+g{PqO!pD{-9x`jOl49BA2{9<=a21@>U0_Ix(D47l4R zK1?SBO^$jio4H~$>c;UiH8}btlA^1+fq0b@C#yvlva&9uk)i0_wGoW~)O1QGDRmcn z3UD=;Ex^6X@XUS(;zz-rhT?i_kbBd~)lJ!4HM=X*8I(n2e(hmul8Ltnec1%?H48s~ z7$y(H53TwY?$>QXf;^qQsZ*DlPPg9u{aUpD%Ajo71GLv$FJKOEE^A}Z8j(?WHi*p3 z1%U`>jjDy5PxQ#B6yS8^RhtdEps}!eq}^jKPS)&s{35X87-a7U<6}h4h|nVYZpaS+ z535+akjQ(s9@Utq!f_mq;Myg?E09Ig-(p;#0qq2H55!~e%{J!n&A<(1m-N%BUN54N zEHh8|A9Hx6-gN2x%}6W$bO0OBmi;{7t8$s%wF6$V2eS7d zS9U)tY+Q*x&mQ-|cvh;=C>NMOL9-B#{vGAV^u&2MV7Q;P2;{T^$gJaMq~#`lf_>1Koda<2+rUg>ky=oGUs{TDVSs z5m+|}`CCwo>N2KUFX?kEM^@g&D9!EwL`PgPe}dd`>rfKMYL2f@Oyd}EvywkXC*_%K z7pCTtWsds;jTTQi+Lz&&2LBT^m3_j({sXY~KOlMrZ2~SpW@Eb5Rr3NfQ!6!bW8VYZ zuZP_QnX=r9R{`&Ir#}ZMTA&8GTH`H!F4hE%P^$NW#wdI_46O3*Q%{6NeO9$OY*YfC zpQzR#@})3N6SfqHaE=H>IBSes7)Z&inLaopf}3WUJ-G!)Ce=-#tXkPHgf!o0T0QL?m*W;Qw%%hpkBJ@Pq z3rS(tr=1ag3QhU7K-U~pZ7@C|@o7KJ zce{tjS?HEpiV}8n$X!`Q2J7!5LQH>j9@hdUT|9Rf*bj%p;<)HgOrTJto}*y%P!0jY zIU*3@tg+j|`cV|Saq*pjc4dxyx_T=_G-5?9a2@c`7!^`|9etMP(NMZECpfPcQl3sK ztNHgy;4ZM=h4L{i*4NE(9&HuH=!zU)Tj%D|K8rO{{;fU;^dyiUg7Jrx*b@EF&E*Bi zm%4<8BwVYqhMJqBL#VXnDgCsEpf(O`l16Kz-=AhYPrIKxfCrlX_O+8-OXM2K)-^M? z07u#rEDv~o!$Q66#ki!hP(d+Q1R|U@3P3Uf(HL4FmqI4T@!Ry7z-RwWLq?|0i2_d} z{#!(f8@bIcd$ooZ@J?oilO=n2|JyyljZoSLSv&jwi!I-}id=?+G_qp-H@XTO05dWV zZ*&s;5pp&61IrS~jKk;_=-2_~hsbTb0lAnvIbN8$f-JxTsObKP)Mb3eW)3A%eUAAl z2WiF)INiy9H>N@03Ft1)eX|nq{6ofXysX zWyP^#M$=klKBaz|riY&e{sGurg}kq5ekF46t)gM|od{{-^RcF~yS|;sJb3_$NA>sF z6z87^X-t)G zifUcJu22(^jx)9D0^pCI#jzKF;!3nBv%pSBcEQ1*Ke;He59sq*#7-17ZnKGXfJY$0 z_E14?Jy7m>o3X6K=`EUcPr@{MR8;>-;3LzV*Z=A=tAJA^OCV zW^2Y1Ulpz3N0DW-7ghZ4297~jMK5~?vY_SzIYb@>_xAo)^eyxfruP~@Tliw?|C@lH zz_t2|p(EDX9jEIVe=ya8D*)YEluv|TMuNhd5;$iN9vy+q z(_mJjtd4)F^g99ao`Bp17LO|5*$JcY6X^Bkx~h{;BJ`5IlO)z&-H9z7gL+} zg0egxL!2{+$YwtaS9kXlz{pZC=b|0NPGAcZE6@M=4QLO$p;22JDWNU|3FnGHgl!>7 zT!(8{LeVY}R(;3&5;8T?V#mI%jfJ5Zq(}c1ssMNm5mw?^y)C|+$?{SY) zfuBKnGaWHRMM#QZT&&T%S^vttWfg@4pFtbV@1o4mJ7)H_0SkbBAhQhZe)^E9dbhf& z|IR`WF5p>1&Hv+)v5X1wYI8>*!nP2lGPk@y^f@SNel{prh;~4{U!)ktiW_DVb))aL z+WG%G$~v4WcF;&_@l_SCK%UV8@L`k?vI7O*zlMk~e4$<#_!uyngUm&!=6ypujueXUtGZR7N0|wd$|i~w4Dmv3)~K4W7;%*e4z&!@T|ke zu16#&MM92zZvT z7LlO62<)p--NwH{yakrU@cxA!V8C;VPQMYaqGW;|7!N`IIUp?FZJ`UWW%UIERHU9m z7GglaJfoC>{8>l@{1MyN2f@0U>RXFzMb3Dwj7%t8-jp0V13DWalZSH3k7EW$Y; zEZ*%S#^2*X?kJX`2blrCRJx7qJ5^nm6Gm!cY3FX?v_ z__LQo=RdvicoyxT{N^vM!* zBep5C77%bUd>l9z5#d7%J(!c=73iz64u#FXG|lTih(hZ%Bw+p(M0y`&YKN0Ef$b4= zL@?<^EKY*|0W5K~mL>svFTA@Zi*nJRiV|jwCemhkb{by3C=iISZPa4Oc)igqVJ-un zHH`4w3!i@o>DFcup?x#;w_gX=pzxG$&G|Xtzaj$6qWxiwJQ`F}fT)D{NJ5@GRf8^-tXbFjfR5%4_33Pc*`qCMLv@E{_FO~6^m zyEcg&9DjmD*>k{~X-NKEg7j|oL*usStehQJ{^%0cvkjW^vd8n%PT^~!0 zX&5-N6f!T>0Bo0@H(Oxi_aQe3?{j0wtpzRz?uSeb{uJ0}6cZb_(3{a9H^&-x9{5-% zuuKwzV*_zsLaeD63nAp^+%Bb;hh-KAqv62U!!Ov#IZVK{mlY^=d} z9!x*jqd*m+PIzh(Rt^B`p+5tx5*b{u4dUG}l85LjBt~9BMVRM9?G6~*!lDtqh%Aj9 zg-$*GFYum)9@q;Kfe7111dVR*R_##sE%cxQ77gBq+>b|r2Y~Ojc+J0{UcAF7-qwtY z0dimqiXl}|J1$!iDOP)+vJM!4$z#B7s8(S03b2<0>%dwtJE8gj{M`s#(+|8B>?!Ep z&jEM9t@lHI1=u$rpXnfQ1yF#(_u-ey@OOS-1Be87f%yS+Pr&$Q6a>vU?aVBgm!R57 z3vARlR{jvoawO7Q0uF#(0-Ouc*U*}F8Q5nadI0DG`x@X%F#C{6ya+H!svmDwJw~@I z^q^j_2t?R6>O`1&;!5D@g&tVIf?_?YTkA$^?gZ_{rT!gRc$-l};8sLufw3;gc0n@C zahZ{Y0pL|&HXy=EAoDPoyP?tr_VvgVL}bagq3>y=V|qC%-mieY3h01qz6Y5LfYT8( z9|c|ltWeWudpfFF_!`*lV6Fl#1G5=Ex4S`vrU-TrI1TI-Funuqh{k0S*NgK^H;%`^ zJn4w{c2N19H!U5=Y7_P~+Z%NR|y0H;YgM&9i`;kYDxXZor+0%}2oA4vd2t z0M3TYgTN_zy*(tirP(3Zr7c6WT-K&N1Rax5+5+YZ;54{yFLk$MGy?H=fmZ`p1Fr-# z3LKFo#};5UBCk%cr=p!j0XQGbe$=vM5(<-0It*qISgz;j05&4>kCAn{L)X4&;Io7x zbi-MFGy&}(5aHZVM!WD1U;vh6SXA{&0W-%9=<76@gKQs|4yYA@G5DRT!eF05F}+jJ zdfkb?mJr4!mdNDef{vkzF_gBJfE zK(YsH6{3>FAEHy-Nsa-%sKfmc#RJWL6tBA&%mgB(BQ)Ys{b1gzpSAJK#Bi zMdWe~3tvLD3^>vc*(<@E=Q1ISz~gZJ{V+bS;Btsw1{_vRT{MQQzX6mQy24H1tx$Rd zIv+-a^maFnUexlb=Ar@T05|LPtVcbf4!aA>0Fho|tBy$f!1#IxpeGOUC3Sb4g1HQs1bZPO$3>DT z12o(Y07kCSxZ&T0zPvCmw`T8($ z-8{YDyV1U;5BPK7EhzR|Mx-^045SaGj`wO+sfkY*+$zHDuO;-HX^Ug8UIEtpi?#7JE04_**CgCIY%(DCL^B8TZ;w zv|vsEmxEb_;(NWo8OX|d5GAF&5ju|{lFWg*6WESe?LucMIxCk4A+rr?L(cuV9A)jC z4pBE;cnnHbY5qiD)A4lgH-0%}df;7;LA8cVI;@z z=utht@OtF&Dk6oDtthSq@N>Xvh~z-u-yuYB9)IeNjZtcNnh1-?EtbtesSG5Fi+urk z)7An1&@`Sikfc{0t&e`)=t6vQ4XT&(hW%e71EYvSXj|N|6HVt$0J901c|Qbhfu1sq zKZMEz@_OXE!M+X^@VSgjvlTXcSA(|ibb~qO-sCc%6U;%dZ*c>=8IjoA!M+4#XC*)% zj7DyTmmDI${ZLf;UK4xxDBCO5Vs zP=HbdxlT8(Nq62$AUOv(3fZNIjQ4^`)!de=kbTsBP*Yde zb!`D2hVdcj*$ie6#3hkJ=5a7jLp%YG#BlKslrTdEk`mNPuxb&J#NhJE4WJFw!*7gI4l!lDHycq-e7*0*#qrfNJ zIjTUZUyVnvJq*`Xw0>8BBLy7eiE(oYh6M3F)Qz( zuL(^uazWa%)K0F;fms0$E>~x8dq7sub+%!J9*!Wh39;*Dx#=c=t;2BoO`3#g61WHj z`5pwb3+(wQ6LPx~)ZPT#1Hq7IRrWYa0$GX7)-}k5SONy1nxRgFN{BGc3 zjoYqhoXb88wUqC=0B{iEuY)-i>{5N$_Ao@dpfm~e^51R`t;fe72i&A`hmkeNUW zNAAU;F7rO>o-=YxpAGpEplX!nKGdx_vJ)^-meFyz3o_>b8)ey*4?yX0D2+7E5l6uJ zV113)QSCLlfk6ucu6~n91X(nYcbz~oHJ}Rbv9cxse%!zX%OF|_^g=Cy{zEX?0m)9} zs$34d2Fzpd$?dL|?MfFDMt$H4H_LVB8P^z;FjWJDd);G=d(Sasc^-2ApFpIO+K6>!kagAvU%W%^#Apo- zb?g1WnP4vkY9b_h&@N>Z5!^c=JB&>Cqrj80!t70Gmvg0?v+qH&1J;#b{|{XZa-FV) z%@FT$1>g?X0G~-<%@Npo%ze%lwk2?>)et|5HXHpV*i#a}uSJ~ylQdq}k5qDAhnBND z+;jILWAjwht>YFJSBUT;kk#(zdMP9Y7FTBMbA~{Kb3&~K(Kz~+79d*0!rSjcR@`O4 zLk0>4PC3EK5*z4PgGgkxo-@0l?>;y-0-38&!Syb*xW8735Ix^T%z?h+*-$`EClIBfdzev3%ZNfrt3CM`lCsFI53UVKI_35pWNiZwHT#Od1Dq5Yp z-S3Xj&dI=J#hrf%TKxwR`8}viP4g-@FWW@UwlK8=fw7tsUa6R*sUrXM({hRK zxuNO)co2C+vkBx9UH*Dab-e?{|8n=+Pa+chEgE&Y-)=hJoh|Ochv)Yz@VvsKz`ILe zN0CL|x474zXBUA8=LDOeU73$>biyy7IMrgp+fg~%?*Z53p!-xUln1uM1F>9FUrfFJ zO+aU_E7)F+S|)S@FLAE9$B}z&i|Wa;*2Txp1@59wgdI3fPd|#ab-H=p3&kJGwaKg9 zF2MF_wPknG3$VF#p6r?E&iQg z`lu7(Py)Tj5SgrkBYU){cK{PhT&Y0`qNjmZfZeQe1NxA)wOp|tI|(dEy;cunSk{c z_B{pzPbo#e8pA_1_$e#GSsg=R2#yVDs@4I&f-LU{SP?@h)<<$4t+N^biIevTJPLfr zJpztLTy@sB+w|CwqtGS-5zYy<1PVp8g66??Do(N3@CM*m2Cnae>?YtfvK(qV;Y+dj z>r*uP2@{*zIcym@3xOYhkG7j`3P!y~yvHcNR^* zb2IiJvV9uNA!JD%gF?zBcfi7VH5Fgm&CszA%Bz70Ob@)%z@=q~iio6+xQj^;*_2)K zi2;+!4(>#*O*0C-N=XdKAQZd7T?2SegZ$k(Zr9Az(?27S;&JDO-FoAu-Uk62+r7AvfjSy5{I?)oz(# zsO*I5gci)lfnS)EtFI5((hKILXk~s1j+Mo!Wdqp_DAQp=h0_x$OKS(n#2yAF;mjDG zC_>)>;9|u@Y#C)%9+b=&OHpR!d1!?n1-9vY8EEuu>(=^VMx0CXGRTzCfY+c@%3^@C5W4$bM5j@`#WdcSLhc72;!x ztsaOq{Nj*?uu;=Pb_^!R>LF=9q|BKCy=k8 z4?YTA>f1*k!Z~3jH1tLds##iO7Gd5C7B54I728Evc2dtr1y`@t4_|NvcBdl)=ncTr zJpWFUE)!@chah_|%7T2Q3f%c2BC#Sw56Tj>8(ntj5ha`0v8nTP zF0ir)yEa4qX^31+-<`3-m;)$tvU?Z~4$IY8Mm+6rpM*vxhK$&fo8Es$;mLsKA0{p2y+s(BgU`vfbIJ+b(<3H8{ zKjMzP3D^UzAOueV32x9-808oU*;OAqRv(6ovtgOIr$ zIHVRvaS_hH9kNdW1?N^Bm7B3vg4GG^dSQ_@g?<6F*Pzk&F{LE+Kuiqs}_ZNIbw6 z^?$}88Jp^U%l0@4uuUj?=2dc|QUr59GD8N{<=k|**SJpPY1eY41ktU)ZElY9vf8R6 zFk)fpqe>dsTY+;A!P$o-wf1hbC^SpIW-UZD-TK{V_xv7|(E1rfE(eg+`Xr4~n0KKf z`77pOUN1!9%hhfS-N46@wfGKXF(&SES0iPySJBAHdOg}dEJc>)$5Q9sf(q1a4`lju zP%;90im-GgmkK#VR!?5IGCp6$ixHHPG&D;nFce1G5{fh-%INeouW7tmJR{^s{ zAi_Ce3CLAfqfUg$B9d9lM=mMk+p@Tls%j^*i9C`epx0$-498Pz2?6;JA4jgnQD8*L zBxWBZhp3BsCRNR2T$R;0m^#H(3EXx>>u@)E-ww2X_n~AN-*{jj;?j4y|4*W(wrT7_ z9fyvh*c+TYX#^C9`zmr3Zgb=Ke(LY4bYkB_x`41lTnDiBmGNLRY^cOhDQ^H2D{xkYHl8l`@h#G z@c4Ta5;X2_UC3=2p+>czLf+RaXLwCtI?3OE23cBJ6b}72rW!-*Xf!o=1@K9vXPQT@ z%u~^ZAd9j({~&ejM}bMBoxABl3)VQ)%J3lz`!jISCg38d_5i!!@Iz3Ug#5XXyq3C@ znu&m0;pgvx8&VUNU4pDStG}~K6J(DCtive=4Rm$`!W1ce4aH;ZF)iBvC~ zcdp(z{1wO=yMu;$SP5BhPocP08eihXhi;!2ZfZ|@4AQ$JCkjoR~O3VNwh(y!) zAaYA)-I!ORY|uwhZ0|n-B?I{!Bo;;;0mZ;%FWj~PZtHO+8T(*xTy>a#=+0j=(6t^h z_bN28+o0nv7&!|4>w%we7cz!YIDz~VG?aC|iFO4)uF1?kMI%cIHODoB!2NLO30QS1 z%AQ>URHdz2116V(T?;%8@n*=J;U;bbKAFJ#tI&H;lbG~MEhs3wJpW)zV8+o+>qUSU zNoeM|LmGZebp+QzZBAj`^y7BR@enk{^zg(b)m`#Or#y%JfH{qFA| z{_wFiUtuwUVt}6X#*tAq*z`WXiZUlpE4cV(q@wk)BD};(=kkX@r4!;SfMFPT9Il8V z?t$nHDGkvAm>sb8+mNKvOFKG{I?U-x9 z6Zr8Vy@%;m-cumL=O2=?6K8jgn4>(wdY?4{5zZZ6N(C03-rr+$IQG^S&%Fte&}k_5 z> zcUzT3XqJI}8Dg-!Cb(mZx=CaTx<-yDBexqj7fv`dmxH&Kb#4-%D`X=+UtufAd*FiT zHVALGfkouTTPP&Hu-g}U7gP)$(7?w~eC$=Itgs*WF_bv68u)z_`zxaq{z?Q%4oZ2L z=z!5~DEB}$rzVpKP=3V0V}S3`FsB^}<3lxGG+mggBKD6k8-2a-L~F{KDBRlGlKlnn;^3!r4i~(?EXa*`(8|#qBojzNlpQ?M3}TW z!}tsjuX~kOv2=iN2D;6T8L8A%I`w>Y5{hL_+h2A=W&ol=mxyu^)Yc%So*ZO5ou$1S ze*P}?8ni!xR{crp>6ga0HZqOAf?Nif3Viu)_(;WBjZUOH{W(nl%e&EMct6x0glrXM z_AG&p!;q{*WKjVkh%#`;$T#%s+^BD6fR#17OZ~<2edrp?u=`3GXg}y0AsSY!QfX&M*nuX4j~9tG#cb z2lX7||Df#2T`m6h^N7TjoB_!tXk|7K?S}3<;oQTJU8|N&_InVGpms{#C}`)h;!F?l z2E}CUeTYDcV84Oaqlq(>{LVJ z-hQAYjo4v#+@=`zKMrOU@De9ro<-K=?&Fh~0-hh}v{0*{`#7_>%D0|71R|U>CKKrK zR*6yh#DC27q|Y;a2pJGr8fs1*h@&E;PyHL{yZE7|V-tgdf^SD=*H(A%#X3> zA$Q}bQu}!rxY>zn*T5`Ata^?kq!A6u?uPuZy3Lb?$Utn-PI(BmeA)=S2?~QWn&I|9 zPf7*oR{%Q<<{+wrSck~=DUEN~!WqM`F9V%5y;qV|0?8#nR|NSpkW|ev;G2*iY~)b^ z{1*eumI2G4wg<8Y6dN?J(R1~5RSR*F+T0rn8`yVfJe9lMHLV8jgCwOIV8>Ba{p*o5 zp4Y;?5#nu%!?F|jt~MRM*6|tO*f?yu1!=vxHdb~A3{EtXaRQ!SD7p4pBtQoL%^a^2`9j9$fcF|@QpUhQ0=HSk{qBjBm{LS8%Vq@ajlq^%UZNfO~&S(tGNtRpnDX?5}hOJRQGtQE-o?xTn5qWpf(9~Lev8s zg4*q_(XDqgZU)`~=Jk-=<1&4_bUmI3Gk`f2C82y9c*1q6ed`R{k3Xt* zVt;5=`q8)0H(I8GAYZvuK>b(fbxeoUZvDY(0?$6AA zNMcm;*RR)p8u(p{tjfHTh6DO~l&r%>;9H8(l~0HKBrJIn#gKv5S@_{@*NgG>C`QEUi+Mq+A<-gh z#l&*dI^ir`ml;7{ye!xW6hPY1x^!f?2Fst2#l(*QC07J|40s5NkBj_>fo^9J4x<#) zDk8LvsP5vMz-CxqgTrMPBm1t1B8rvVVyaN}#}$DAWm}rN6=UP&dLN#ds*Qfs!umm7 zli2|Agd1}XH~CnX_v3l#D?&k@dZ165hKRZg@&w-?gq0^2bxx@dad1pM#QXe3zaBz+b!9 zq_s(#@#zJ-$pYHJIUq%f3QE21hVvu1DX7cL0)YtU1vWtoUl!<9HsPX@IdZAl^df7j zmxdnN9boU2icCCu{Goqt;bS`?^DijDWEmuVF6;4~PPE($gD!FVha)I!@>^hb18cy( z9a(={VCPQg^0B@$RE89W9EzaoVue)D0@0(m$<|R{m;_~u4N1|BkE=7@sq#@EgU)qYX@b8jwi6zo#Mkt zt}i~Q;TPPvmLV%`^>hTx1c3YfAozwxYzDpOJgBQ}eHs@N)Eg%60kVgo;4+!a z5vEw}{|tO^1UkL}<}6gN_b9Lh#*e9V5L8C6WE(_#pzM-VMn=`Fcm##*ZnN+=DD2nM zG#`J6I$n%hxp2Esw(Xy|q5dZFe6B$r-!GzkA5aZtKtMBWg?dR31?Q0pm<0k6&I@cA zObM-IT~pK97Xy+KWR4;$&=X;Vi0~NX6V>ExZ*i>2fxQwaK;fHE8&(5eyVNDWl$F?$ z9Fa>h>P&TiFUTS)Sr z|JCAep09o9jevkD@Sz#!4XK4%!dYUGE!Yc%s7$?Es_kIW&8w-P8i^4aF5e0&E+0~E z$1hHEY*L2o4zO_5A#R97Nk5?PYAC=0aXK@rkX7vH-NxGILyQF%>Y)-=|SA>GamR>@B}B+~sSsn`5D zYQ=OV(jEnMpO`DwpuC(sa+98oHUTx1wBq+5A9qv#@wVP2U@^kFY;|uD=0h#vEV0NI z?1h4@fbl}N1&9~fypG4v`?zZWT0mr21@S+Ql-~FxR1U%; z30(3tutyDdNg#J)qdxBUk;{-{klZep;>`)XZ9)X$LWL|rL{fIcEK--s1mH&ZnyXNm z;D2i|-kH?P{crbxhL}e;jgTQozU>II;JQ%h-d9g>&iA=7_qlVu7x;ApIioJ}y+%`B zvrzN3fdK*NRxnT(P0!?L=pP5n0E=wFUMQFt-FOzI)n`?Xwqv0OHcxn)gS>rD zYi^Qy#R{uX^@cCUyJMR1e32Fngj>Lq>M&D_;ytcLggSuMpDOYce;T<)eHDb)P+f!e z0lz=Z`;7q;eK3@RWC;Fi0irW>VM!i}27Ojc>~}8PV^VJUU5@XA_%S5umb?S)GQQ@7v9Ctyu-+ZL1~K#Y8BBb@ ziw7~JIu*mYW}yc*Px$jW9{;B(_Ete8cr{x5 zhf}Y)v+0j67PRPmRf{}a1)9bUWf$3$AMu3 zovyc}t-z;ijW$jm`y*Jt!JVvI1^9=bfE$OQzYENjU@k?BpHuPs>Tkp5CPnt&LRo&v zIjGL^NmN5P4BU)1Ruz?<@GfARRCxjdJZ#N{W-QPv@%AeW><;ep86ptj{2-MIXtO{b zCKg*!{Tz{wz5Q#8zh90lOiM!|v>Df<{f6^E*Y!_xi17Y~MjyjYBoy;gNEF=Td?fLf z>w~D*rJfJLpO;z<1xP%gQ_^N1z7MV)Z4luGAX);v1r-4f0T)2D9)9LqsJQ;E zs0Q(Ss1)PP5+XR~n@rKb>Iduqm@AO4w?myMHXem-TO?+FO%AfByONUIVRU?N*h%9@K19q~jQL1#uWv$BCgERk*71?#&IL%PpkG=Z-jfj5mex~orSAa}O<6xv?&nQepX zZiA&0U|)k+d7B1e-lX$g`+e$W}@W@kbDB9I>d zUJDe!e9w{L%Ov?`_aOC}dx0N-?E&-iz~vA<>@F0!d0C>dvO_JB?89KMaL4~YJs*!b zx91vlk6^pnCwW){$!Vzl(!&}r7lT;|TehitQeT8>Df;x91I30^T0j7}@*%IKmjMc{ z>r2245r}YJ5G5#k#AktY%5qs$GHWQFHGoL)X(J5h9$fOvO82-8*e&5~JM45zD`374W{Wm9wGQWY8c=5pk0pkB8HuSVOSLeG%-A!L z!q8DQBVM@fE>XmTuQ7CPPYz}1`4NGorAXtL|O{gWV ziL@ue?Bd;sKRXCSI4`)&!h^%ePv0XSeb$u;EEc>I)!q$fVRRX+UJm4;w+u&yL?n|H z_#M>J$Kx}=cptLDHd42mGY>%JLCK@>MnnKlfnDYL^Od0UKBjIaI)E{-HzF5g0#OM@ z%FsKkxZ;@^=z1O6nA{BG!;%37S*3Kl^PC3u9As(jh3FO-Jq%q()MjcV2hq8xzT+|1 z|Ince>faq}r64mHLw*zyWCy$gxP1*0EAIim3h|ysGjVWjlFme?^^du+tw$;Fdm*>S zb)#4g9G2W%5XBBS4i;^~6Lep?@Ib&!5r}YJFaeke*A#WNTxwC4)&*!UP+SI#7hDJS zwa5(0yDZsLWdZeWhRsdF+ao|`6H3Yaf$Kx~GT>DZ4WZ4#0PuatKL+I$C>!Neh#sQO z99gKRdYW~}dK?C`O=O(0N`%QQ1ug=+4dPu;NLf%Tak6Ry$lZ7cDn)pi2(9PeAXkLZ z97N}#R!Ike+n_elI8PbKIw5kCclC^3e>KtL_9bB62K0mdDpa0QTc`KX*eKWo5PebS zu?aG@JCU-^y^t?Mts9Z+1k^(ELqH2mB+%iBFhWEaT%)r<*fq=x{u54y%n_f>L$b(Z zj*1aV4q1a5-5y2V;#aG`AO)}&z}a2!_o?H$B6rLL#LvL`J-|bVM9xB%+jk(@4o4HG zKk5p{D=89-op?6OP{Z1@fwx2QBam4luPFwiO~}gI3_HtH3)r{d-me7gg5(yc-t5M6 zx@z}oIWQNXT8s+t4TyI`kA**W=PCJCR2g6eWFyFQA#(OE*4F|TgWV#s?6?>@&xJ2` zHO5mIf{AtdXIj|D!VYN}RkDE)M=72nkY5XIuEz*9V z2uTH2R$XTe1Gaz&_D9_TH$id`GJQ}gH0mBFaPx2k?5m)1HHuxX1MWsU@|OU;uAS3Q zfPFXc8p!lF##2TapjRLzqSzNo-VBt~gRn9wSFpJ^ScCzs@l+y@RK2L))xZYK6u~t* zZ%AAxaQ|3LMEF|Zu6{5XNDjFMx9fmAAae(pGE7(~38O_Q61U_DZ zcoJo|W%SZLU0|;Q&IR*BhjSnztzovIx`taI>ES%QH$ir$`*QEcWg?|P3&+a zfn|r0hS^dm9fOSPn`TB`Qs~Q&fAAi;M5A6PcEQ$B>Xu~}P^qChjg`O-mo#$>*a}B2 zEYBlWJ^+%Hfz5m&}Z^fy1zWntHoG0zPSB|n!j5ri+Mi?d~6V+JDmITN6~$^L)M?^KxUNhSLB); zn|%Dy{+)x)JL$c>2FWx;h9y6 zOO6l1Qriegz6uE*7@URg{yzp}&H#HEB;VC$B9GS7Vc@fKyLAGdBNVI9dj#!{dQ`&o zdRpuH1~elO;k+TX&OK2>r2$=wCx!Wsk>K-3c0#^@R?<_EOxgK3rUd&qx4gk76Z=WDQ zzkP!1iID}_3Y*%Nj*Z)mD_v^?2&bVpnM+8_xMD`oNU$|rZdrjbq|EC#y zwF{z7*gwn^VP&%v%#Q)vAafIZpr${&@>T{>63&28IZ8LKjpiCKmw>qw%2`OV@^I{_ z!A~L!GvN7+{V|+1sKhm|H@YI|9nTPf2BRB1tH1cA; zocjBpJ`30VK13LKM8wnKTK5`@!k9bVHCoh(#P-10QW)z%7dr@y!x@P*S3g#OYflA+ z;d6)JFRU!G3iV#biZw>a+rG3lzTMeCT&uRG?N(#2%H(it_(!WVaY0BDdf84 z#prrk1GgQ(d62upN!0DV)mL226D~YRaCZ$(kl-*_aCZg^79_aCput@R4^D6o?(Ps6 zB)Gc7|GIBV^-_Ra3SYgboyS5)OSd@3j&u+F(U9!!=@^wC&sOmED@&h+E~*Fq(=)2Umv957YWqI;u^FK zbk}9Rgij2yM|&{r8DZc2Tr;1ft8e_qR=>yg9c*wexndSaC4?*pxSq{Tp15 zK!nIDPX2KdmPvq-a0)m1sS5zdP3w++{JsUK8)0-9Vx(<#OMASADR@4 zHanNi$kL;y@E^d46GUg8UfZ(8zYs-xLfT$bpE*X{X+rdyX!5@$Xf)XF65fK<6nh6P zQZxFIxi>lACS{$yHj^!^W2B%$MFDejMl74}uyewALBiBN1l2zMw;i9*=MB0kz;ZZ0 zcM$s}h|I9KUial2pH6z$O)lVOk)H$Pd)ylAXi^R@MpSSdq>0<%zRT&l?fi|#-Gr~M z)c7Eolu>R+?o11dV)!W#yrZr2UEl3RYoqK*+ zra$ir_1*wJ2Y;hbrP8>w#d;91{lFKBXP~MV4mr85eFXT5g^v@$AiAaap<&jGwfO%; zr~vGmn7V%=OePRJ2*4o;ortF=3IE9HiZdJfe9`A+Kc?i^e%C+S;Wq!U-qyo%OMb0C zC;q_IdK+=M0$;C+K3dE7)SL5%eGgDc8HVsQp9=AhBr+vV`GscSq7kn*^2sBdWc$Cc zW#jVO)=IsS1TwUo_)Bj?2*%Z)uJHC?a)U(Sx*tewm?hx>{BZ3ic#d5o{$BDtouw^utB;nzIl(!YzP3nH#bb{1whc*f?jog%?TURy?(m zGfLCdp(H7HJUp>r(+`H;p9z(c3=B_!9Cj`ZHL{_1fbWsyT5p5Z5IpdZi{rl#ru0^+ z+t~SG(Bqb@*DpUPo?qLLMGjy`7M&%PB{iM3ZRb>!iLIWUC7R5F%w0@mrWf-^dd7b~ z2d!qvAn^r3??n?+aonn;eg%!q zG3R^;VxSGrajA8hk@-QR^+Xc%4|}jx4s^X?#zd4xeR8%>R{IhF>G-P&?J)!g^enw} zoqmr;QeT+fO`wF)hd$Fo{<2A-=OmR2hJSZ$4|E{Z1*dygS>Zw#$~qXYScCZCc1;{3 zY)R|CrDUh0n#4X*F=|K3y8C$~x`Xt_)y3lr=?r(vt^?|p!m_~#d%)JkV4(jf_kr|eT7TGo(L&Zd&Y-D`$m``4H4 zCO(+<6ApQ{WKL`v{}dQKl1^uB8_N4WA>MdMxR7FCj27GQ!xKxKo61jk9;`;7{6pJ{ zIQ~V_C4DihV-mqA%56*hYqobK!Sk=Aq?Uv+6eY@F4@LWy2Zq-CEv(PRS)UBkWca{s z^nmac-?rMB&{+WCS4@)5n01{B?F+>Z^?@~B(a@MI(XG5`p*J*EwM`~;GL z$F6;~&N(A(xm?*78nBtqD#K3`=+-OSZFQqjZi=0~abZcJMTAY6>P50k#@e)FulM4q z2W?DaR+z^zT#)*#IC=WD!SAS9^3*;xJIeDrlAG>uJTe*~&wnp}w^iY5>ap|V?g0OLhc1;#(Lz7CSREz!5o&XBlhj}w=iViS#3go$ z@~Qkr-^kR zEZ%!4rOIl=dzZM2YS*+sRo$=qU-(}L_PBN*Yzx`1V8mC~bvGbge>vkq2-iAIT!#zs ztTXW|Kp)4HJduV1r9}GIh35iV{RwY45R6Q4p#;2+VIyZa6XM(Z0HMel1l90M>dZ%+ zz}0ciCk=X!&BolCx~ETQx(4F%Cw3!p4wORHmBF=0dP~Yo+Dkt|juT`aaO>gRh@63= z=$nr5lyy&yRjnoAh({k+k=Y_oOzojauSVfBWgJ1y@13IutA)*g9=QGY)ZLgn!i{1A zp!;ZSg}nYRWn?!XlMkV}k`z)Y1pzisc683fgTn6Lae9z^jW0yTZ38SF4sYE=xrzc9 zW_#_?%h|qMP<&Xj!c@N-2)jgap)u4b2g;|cVd=!Cq+~#416keF4{%M0EmeZCIt|p_ z8nN1=iH?yYXgVm0aZ9I#mYAm=;+7k}z&{hnFcBlv1f7!OOiJ0g8P7U!xzFBDO{}B; zT?Jolo9AKvRaQdAI;nGk>Z5-rREaAWR4Z`KJcmCS_w8W5f0Zp!AoKfCiK|-g(1BS` z&il%YRS?qdi z-I!iD{@e&@?+*Qf{*_hpArExquP<6T|Ix`1)Z#8a5nG55LjayGuuq(BreXl#(PF41 zme=h-ljg*&{%vAz6S$gDOoh193P08I1SAbn(vsV{pJk5_w4o=L;JA&4tbB5;V_ zEdYKV?Pg(BVK^BgYCE7~tx+f17Rkay70#J|R&3hewA{RJ8QFqBKHuIOmFi)CEOL8l zBdL%0`xMNwSF^Btxco#Zd!6*XEP!&!vgTUK;R9dSy>r)0hI!e{J~7Q2N>_&kz0rw8 zA$IoJ)CODw>8G{Dl@mdxUG?1HKISgpO<>_ywKkzeCHE?MSWtyqT?in#X#F|))*^veG)PFyi##I{P1<_7DuP> zD9>0f*cmN8H$f!2pooVM6ppHu0FpWSrNU&fBwf&ex${wI;0rnz9}2d_Juk$%!HH^@ z2ya{T5&>GmQ1q8qcuGy5@Gwk1x$+BjR+L7JND)CsR}b^cDh&J#`{?hfB;5y9DbNu@ z@4d2N=^POB;+j_?NjYR8HB879CRnl6Hd#h1BZkUsT+-SdzyN$ae*;-^i%>pMp zo|{-jPjgz@*QrB|z;sL|CkxM!_khO^L9x@E>KO^O5y4AZl<53Ppt4bLW3mzG+|1a} zK<<^lrh3J0&H>jf-n!oXz!-T(YQ5%&x#tw@iy>psAa0Cnu@s^4gC90CZqL8FBYQ)R z+D>hHAY>Y< zMUtP7#55QN9LDH7Y6+abB^I-~u@5eHZ3GWs=wwR~26rb%@SLmRiXEK&8}NG|VJKdg=&~> zXO0U;610K_{$u^;IAm9OE)8gLBx`U{7&mBx9Pdgo$@7CL0BJD0%%v9fG}xEQyl~;h zKdw5SU+R@ftK+H%!-}>^0A(5Lw*8lr-EZzYKF_maHt2as2D0`q{ju#oqMh?bEc_Bm zlx*MRGDe7mqN?Sx8=h%dfG;TeX~J+v=eJDrtq8H|hITz^|7?%$zX3y&!IOal_2;f}h{XL2474;^{N0p|M$LpXT2zl^Bb}Phl!XwzdO?F( zyJPNd=--yr(3SWgn=0mT)JTKeW z#tTC<8cpJr3JsATzNy=R6*Be8qrdaSFJD2>Gh<)8F$>=W@zSJlnaoaSkb z&vZ=xeSUBXe!`(@etRa%C83UvMP0)uUyQ>VSu1TnlQci7Y`Wes=c6Mo4gwcIJz-e><_)#~YrO8vw%FU3v z_zTXZAn)I=b0s6#h1U>II4bF`D}_qY7lPF{w*$gB_+0UzL#Nd003JNuhhaH2h7Bt* zF|22Q021#|`3zh5o6tmq1xKw*VO5Vo3B$uf6rK4y%A$C}`s#nNvebHkRXEK6r+7{) zyRU*WYA^rFU~ar3vE!GUrIR4zSVi{*whtsA`g?y604$T=po!G^g`HF!G_zN*DhIlCz-&v%4l0=NBf#BBoEbHF zN>~wP%yhn|Hm_*%_qvUQxLFf*FEiJ!MtHxGCm2h2=wJNq=>dVrvD)s{1hO^HM}m*@ykCqx02_Ylws)e+rToYk^IW z&39Su!2h%U(!~e?vs5E@6ZOP?#Xp}Dz37$3H4};#@&5uL{~ATi(H{q9&Zwl{6`xG| zlQ%wfN0buvf6i~%<=V;?x6&G#OF46%2}#I?j5poGl}bLaKkH~_lerW0-A+Y~u?BV7 z(R5PmVDnYp5k#Z8GOY;%2Xb<>Pbow1<9@~#y>S;E6BZ>z>`^HarsOy_t^%ci7^S{R z!`drC6PkZrOq$XD9!wECp|z^{H95w67X7Es6ITI&2rOH^wzy|-V2@tV?<%W&w_VHR zzZG0!Dv@>x)GvZzu4IQDE7((2qj|oc1GZf~;BUfBSt3MK1YG3bm*)NmWL?D@HiaaY z{-(BI<&JDyuYRIbSDQcTEvyx4fX#7v4kXBybF5zb0A7CDU)jL|Si6FAleI@@4pk@F zFX_#HIc*bBLwfDZAASR-LQf5FU>r?*o@9$OvzG%)H-=g&H||>JkCQh{4+<;Y`OG?1Ew##G%|Z$F zuH`DX$Tvi}k~I0+HH5vtx=kr;s;$NAK?RBP609Y+y&ps1&B0C~-!AeiXK?^*PVNZ` z%|sxBoA`3{r`_|Be}JKyDdY6!d>Q6EmQ{qMc9BOZekeVG{aOa-7}(;w?AHiY)VqOt z4>*^m$~E7kJP`!vd4u>ReBTZBAo-hHZq`T%Zjkd)(vAb-B@ZNumB@V>HCY@Z_CKlk zlOH1S)C*Ag(NF>Ij_IcbHDI1t7Ax&1GNpE6ojEPa?_b1cs75<@0o6Y0wK$!DL8>*I*lW2NAho7#(^ZTh9$y<9~a9IQqsuc+0%;Ov; zOP1{+Y@f~a-iPqAYR;+tMKUn~d?YBA;p>eOEzOL?_jbG*W$H0zW$^dCy;4&vv4&L~;uiG{y)01fhpz6_ z7yZM4v8?88XKdhd86((1&H}x@42D2yU|Pw#xy%_s5n+4jOg=$2>oGW8us-0D1E~n~ zK$0TPpVXslgX#U?K6hSI40|N!MNkdO$)bo_Hn-S{U>xZ~1%YpWWFLO)G1)ny3-EPgFdUXfmGs(nAzMSz~*+G|^;y>HK>2@+yyPV||w zB%utRu%%y#aA+SS55mM7b;h#yDvtHeY*?(UsNtdjFg9&Gu#UaNyT_q#gg|DH)TCd7 zIHdQNj3b@{>)9t}`{?=^4upHfv1lT6wfE}2FI0&EFffm|-j`5sSZOXyB4+*(gq@aw zo;R<)53lX;it8+W6||fpDP#%d2OLN}r>f+NkzR@PQfS!+OZT9rpf>*Tkhe>GSzlSS z51v3!|Iy$Q86poWXeKlYK{M6o?kI^5bw)$oK!UbN^uRCU*t%s&;cg${s7AOWJ49Z> zX(P?bAb2Jn=Hy|ElSs>zqlHFSl{QAOc)y=%9Z58VR$C;0;C&;+1o$3%N3x|B_;r~Lf4Rn9b2l5IGztifHEY=E1+;N*l6EZdTEWyGsO%`Ot3#x<$Eudi^p4F+qSi0^kb_-jpy4< zUZo%kEh1a8D4xsB0jMZA2lU-_Z1{UdO0&CG!k3=Ck9q?C-jhV<WNY?*6Gz?|;QWN-8o#7! zT`m%AIG^ZRd;k?nfZ;VQC(pOzlrVdrv^P)AT!@$;A{_&7ybzpev<{{c;eL}D3Kt26 z$DF`6_5AoMC!Nr`skYNBX-?-{Ki^5ckz1Fa{X2|ZFK##)VXW*P3&)+5Si<&ITE(}T z4t)aX1^SmXp3AEdR>lfzNj#61rN-exqVV|$FoWUew+)@{VHP*(9;dJo)UELWPB?_22gmgik4xC<7fyqug= zw_XTpMMd3CAEd$cVajemmBhqqG-!fSJs3pl5Wm}R_4t&Y2t zbM-!Ppx?4tk{QnjBY3VMxk36FdyH>wUv$mLf8_l;=Au^LG<-l#uJl#()h9a|HE5C7Qr zHiMStf@owhyJIOy+Ld(d0^pySBATA&lHd5PN$XbTii4zUf=d()-CCj(HQYP{uO^KUls|8!l;*)#w&dSFy!56~Z=eu2Z>529E3TED zX+E(?qvO*O5Eik9qSJj6a=ftPtHtjx#xbtGA7}hRWmK>#kjH%UnJPG5SMS~oS9Jxo zk=kzTIV`)Z+!aq>g`|^+1T@bOFL8%+)2`kIh`Mm}+Or~qyJeYk6qpO^lbRVd_Y#S8 z^DO%u6W)%LtuD14dQB~Kcq;Avq|))SD_5)b`UHN{%px2pwjTeC=uh=9g)+w>F`r)} zPBn8Tk607tsS2%pIUDQR9_C{Yl?%g(&TpFI4Y;_rmOuHcig+cZZxC$|SVdM#z997} zlE9o&BRi6|Z9O5LN6c~O1Fq^a=8MSG*+6Wspjkrv5mzZ3Mfj+xJN@Z9#+6#S-c&)8 z_;TRII3L1aEBTm>Xw_tcvazouOJQ;34v?EucMq2=v!H-59TH%^vJ_&b_5<_?X9HGU zQ2gxE8$Z2Pe=#6e%4>FgG_mYPv@7YQb$F}&kEEc=luwJM70>I#{ zXD)5&k~HgmX@TJm`(ZLT$f{t@LWHA!$gXOdQ_ha^LKd{{;nR*DXc>A6Qi+9r(E8x2 zVzauYG9XCw?_H4@@)X{^?aeJoKBrGj{{E%AdsWpUy9|8#`070zzxcB-^dh7$u3TQM zZOzG1W(y_@)JHvo+w2cb8OB)BHThVVsggALA!X=syn39Al8XUKDxM>aRjM3;#CxW1 zRsPHD7S(z;_xNnja$D^-OCoG8&qv@3l!I@>WN!W~@7&py3sVa|Q|GUSrZ(|Ff)5Dx zzesZ>(3AEJLKYS~DolQlBp3${Uf|88t;nS08wWWf#GHlPf)3KygO$Qy1I4rqJ9~g- zB{HN}D1D=^U!ifBiwdcFWcyOIN!fhhkz3AnHou~~P1OLio1C_j>>+pZ%01vcVKi1j z!vU=K>9TfH$+%@#q;WG;=#YC5?w*7ijqGRV{`f7-Ca2615`ubl zd}Rmj2rQuYYz}MIM;E3L|4f^rk`}l(>X2|}fUM7>qrxd@x#sLm+2 z3m}r~k9Aon4KJQusZD!+Lq9e%j>n>IfM)GSk9FlwxX9IxEz9#5*@|htS*)`=5UF}7 z><}>zIsl^dST_9mFS{{hS=4_Xqe^PW$!Z0%@SaR5=Nl6av84%e2bb#u#l=up10S`_ z){X2@NWyE;{J1J*0~L>AWzamsh%%MF;oSCYz^$R0lDm~^xuvbD1az*wr4vTOgp9@3 z&hthMWep@6BsbYHeHcgkp>!yqCL{h%L#hnyiSnCHG%_ZtB;%f&+RAj*A*8^`m85CK z_q~^%I-&p>LCQSqLc?mU(($GWL|40rNT)FCKqz^DqK;T?qj4m2vLt<6m}1_`S6**p zO4l1<#Km-I!!YS({BOu9i5+taLWm_l>%R{?~!;fg-U*Pm=gFEW8KVq_)%JPmEZLr`AZRi^zlZ) zg9~y6DVivT?d&oxJWStzi1!1n(%fDoI+W9=J7NzN z8KJ%y!UpQx1Avp;8h1N-DslT_d!ozv4D6J(`;ittB60Eo<9IzwhEWv%<7te-Bd5tC zW&LVLuOKve3#^4)&j&^6O0uD>a_Yyo1qyRVY2ua9pt%@0sDa^sk*!k8{8Gddd=g1t z1t}Nk_`BNlar^_^pNW#Mz2+-|(>S^36H57g!n1v`W=vuWP2LeMcML4rOySn;Elo(La~x}wp*XF9fq6+n!B7;-JHY^py{#*NIGzyG+*RT@TtI^jW&ze+9cJ|tb28}6;G6Y!rWP8s zAXYj1y2fb>7dsHjiU3}{`OS(PJilq$p5~9$Nz#sS{i21C&Who?r+RT^U|UqjRRNli zh1~39qhp3D*$kdZX(Q|F0Gn$Bhk7w^21LD z(rz(t=tb!GOeg$dSe1lDA2bP8rX(Myn}%;dkAHUnRe&xNl3t`iF%ghLG;{GxOlOvn`}iaY!C_PZ2c6v z!jz?bb`^S?OjthlOSS*Rp7&u;8AvC$JBd3=S&?~KnbvX zqCJ}>z$r;WVmj9MCa@V1DSm0gZn`QemKfHHge_DDD!oeFTgpFJx`_Jy5;if;6xI*0 zQ+?=i52Uw<%uoN4pchsnC*~D5HE3aO7U`xcBJVe1rLA6XL}Lt6NniVlk#E&T>F0P) zX#5P&M^`$r(>b4Hf-C@67?!h(%Atx!-xuab2@|4wb`!&jUw@*3Q)wkn)FamjWRAI_ zOvkFJLOAoYztc9S+lf@=+A-3B;1?T4p^f%d{x{cs=BplZ!_{gbS=cL<@0(ZemK`dl zV?>9)-L>L~e(*(0w-s+iY{mH9((y%;oIQ75;=vB8yP+pUdx_(WF9hhpkg+m2Yvx_4 zHKa(_NL1JhXP&VXo_3BU4=HH!R~O=*q^^+eaheKMDKw z6G|LOSPTl#(Xh;@HKTHi7BLesDyjbF;T)?;aDa2x0V#XvBx;QuZl4^C|7^n*Bwt6^ zDu=Y*RTeU6mFi;_Z|W$A+waFDDNnVzXUPMhZ6-LBZv3IS9Wt+0i)L~CN_MIe z3jd-wVp;^x#iO~WNaKtl&ctU@`t|!eHh_(xUx6gZP@}uckn=mc#X;h)os@;yN-H)u zYL67l7@oV5p+M%8M`X?X^m1llakYM(k$iGK>u)TJRyPumxv$cX(O;~1k`%^bnN%JQOvirZD*IWP=VZ-X{48UNRvdoHl7pv01xUb zlys__Pwk!;m8*lO69y>6G^BjmoIatN*cP|q|Mp%R=|9#Q*3*L-OsOvh zAJJ!32_#5qe&M|1mMY=Yv!j8e7aezwSdJI7knSroFW8oF21Z!_wZbqU5xyWfI6svxA=7Dx>3-XfF`|Pn7379{QM%;gpRS{%_l%ir?cD7s=^Flo+Oe2c&^oKXY zf{b#?QQBgC>=&uE;`m6fC4oSnr0Z@>ffL)jj|q&^gSpWq@2h7SaxtBh&6i52;uo5f z+xSrpR$aljPS=2PaAm3yeU}%@3CELU>f+*P?mw*;-D>}!elTlTbrKV?FzR?pmNabW z=qH`X_tFBBmvd;N{zzlLvMdUeBisQska(+<78ISVX5RM@ANhm7Et|EdTX_xlLBgrJW<24d= z7s<1c(sERn`_f7%J)6Cw-{%9`Rp#)EiDI}=NVXl*6|2*kvn^Zis}$4O369II11Y!v zl>G$6s}sZ}+i7VK+Q^!!Ei|??tOLz@9IhPc6OPOaVoT{L|F`A#v6B=tLj<^IXenZKZpK-%H!5?3Z3?iE}7A=bB1A zElT%XbntD4+>6y-$iK`UL&Y8=uZQ1c)g4$bif#V_xbIQU`<8eN`p zo7K@=$!z|KuDJ}l#C?HfS5vU_ne03%>v^b+g0JEUQNLzM%WWY*dBKv4Rw5)5roA&x z6;th#9f5DQHp3rTQ^&mX4_!_G>0A4$;pPOo4zVll+Da1@2F&y^bc~_Fdo zUoRTFQ`6XgLb$%k^!Jz4GjDN*YP}OQxcMoA&#esAz(rlC2~W8d!`rUF6^$;a=0&CX zEq;~^WVnrpudlu644auTyK~(H2Ut@K>wSgEnSGzvT(5(48w>4z!!XI#W-3Uga0Pc* zVO;&B9gS*c*RG@Uq?lr0B@Xy#yA-EDgKXca!Y!qWxf1=W>Z2F)e)=dT{yx$f)-@4} zsSb$E6=wyfiiNxJ<5#;1C$`MTJ^4eMRsAf&m}m4kk9*F`uk`x&pyWF_BBZ2|K8EAs z1I^?Jki{{3$JrJ*005K8(hwyc)t{Ix3KMWfrnMj`04IRkZ)p-c7z=qB`-qlFOpl*v z;`qqCPxAdRMKj^@fxsNEWzSffsC6!8J^4Y_^)_C`t}{-DM8ku*F3a@SOq#aOL{OQQ zBU``!kDlgfBS%UZmX`Q}=G3#Ky{%1Ik&q|#P#`3srRR%F@maOx`^cM_=mNQv z{G3SPfNHRz-DAe1*jbXGTlLOgq@2a$yX4f2SLWVg7Mk3n{4=@y+PQQ;&~Y(HCIv$7q`Crs_*0{1V&DXJyUSrG`%JRBeveY^?O zw{@`^A6erHdaqQN;6ItRdB(wX^nF{>%Mb$JE*QA5-3I zj0E$3Sj!2;|LoOx%X(cXtoC>1x_2|9L1H^3nT9Tcm-<_a>X6yDF4(*N-}RqD6R+Oj z{t|I`*`Lxy0{{R9HyK?wb5l19Av3TA>;~ZG3vqH{ zzv0#W{~91s)n;Qs^06yfmz literal 0 HcmV?d00001 diff --git a/afb-client/app/Frontend/images/logo/triskel_iot_bzh.png b/afb-client/app/Frontend/images/logo/triskel_iot_bzh.png new file mode 100644 index 0000000000000000000000000000000000000000..832dc1f7eb85c419eaf354aa36d7fe476391d8e9 GIT binary patch literal 55940 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 + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/afb-client/app/Frontend/images/logo/triskel_iot_bzhx250.png b/afb-client/app/Frontend/images/logo/triskel_iot_bzhx250.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e41aecb824458648c2a19e53b8e3fa65cc8ac5 GIT binary patch literal 18787 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 + + + + + + + + Simple Sample Application + + + + + + + + + + + + + + + +

+ + + + + + + + + + \ No newline at end of file diff --git a/afb-client/app/Frontend/pages/Home/Home.html b/afb-client/app/Frontend/pages/Home/Home.html new file mode 100644 index 0000000..9803b63 --- /dev/null +++ b/afb-client/app/Frontend/pages/Home/Home.html @@ -0,0 +1,33 @@ + + +--- +name: myhome +url: /home +controller: HomeController as ctrl +animationIn: slideInRight +--- + +

+ + App Framework Binder Simple Client +

+ + + +
+ + + + + + +
+
+
+ req= {{ctrl.request}} + res= {{ctrl.response}} + status= {{ctrl.errcode}} +
+
+ + diff --git a/afb-client/app/Frontend/pages/Home/HomeModule.js b/afb-client/app/Frontend/pages/Home/HomeModule.js new file mode 100644 index 0000000..11b3882 --- /dev/null +++ b/afb-client/app/Frontend/pages/Home/HomeModule.js @@ -0,0 +1,90 @@ +(function() { +'use strict'; + + var INITIAL_TOKEN=123456789; // should match with --token=xxxx binder command line + +// list all rependencies within the page + controler if needed +angular.module('HomeModule', ['SubmitButton']) + + .controller('HomeController', function ($http, ConfigApp) { + var scope = this; // I hate JavaScript + scope.uuid ="none"; + scope.token ="none"; + scope.session="none"; + scope.status ="err-no"; + + console.log ("Home Controller"); + + scope.ProcessResponse= function(data, errcode, headers, config) { + var apiname= 'API'+ data.request.api.replace('-','_'); + scope.status = "err-ok"; + scope.errcode= errcode; + scope.request = data.request; + scope.response = data.response; + + // Make sure we clean everything when Open/Close is called + if (apiname === "APIcreate" || apiname === "APIreset") { + scope["APIreset"]=''; + scope["APIcreate"]=''; + scope["APIrefresh"]=''; + scope["APIcheck"]=''; + } + scope[apiname]="success"; + + // If we have a new token let's update it + if (data.request.token) scope.token=data.request.token; + + console.log ("OK: "+ JSON.stringify(data)); + }; + + scope.ProcessError= function(data, errcode, headers, config) { + var apiname= 'API'+data.request.api.replace('-','_'); + scope.status = "err-fx"; + scope.errcode = errcode; + scope.request = data.request; + scope.response = ""; + scope[apiname]="fail"; + + console.log ("FX: "+ JSON.stringify(data)); + }; + + scope.OpenSession = function() { + console.log ("OpenSession"); + var postdata= {/* any json your application may need */}; + var handler = $http.post(ConfigApp.api.token + 'create?token='+INITIAL_TOKEN, postdata); + + handler.success(scope.ProcessResponse); + handler.error(scope.ProcessError); + }; + + scope.CheckSession = function() { + console.log ("CloseSession"); + var postdata= {/* any json your application may need */}; + var handler = $http.post(ConfigApp.api.token + 'check?token='+scope.token, postdata); + + handler.success(scope.ProcessResponse); + handler.error(scope.ProcessError); + }; + + scope.RefreshSession = function() { + console.log ("RefreshSession"); + var postdata= {/* any json your application may need */}; + var handler = $http.post(ConfigApp.api.token + 'refresh?token='+scope.token, postdata); + + handler.success(scope.ProcessResponse); + handler.error(scope.ProcessError); + }; + + scope.ResetSession = function() { + console.log ("ResetSession"); + var postdata= {/* any json your application may need */}; + var handler = $http.post(ConfigApp.api.token + 'reset?token='+scope.token, postdata); + + handler.success(scope.ProcessResponse); + handler.error(scope.ProcessError); + }; + + }); + +console.log ("SampleControler Loaded"); +})(); \ No newline at end of file diff --git a/afb-client/app/Frontend/pages/Home/HomeModule.scss b/afb-client/app/Frontend/pages/Home/HomeModule.scss new file mode 100644 index 0000000..34e1181 --- /dev/null +++ b/afb-client/app/Frontend/pages/Home/HomeModule.scss @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +@import "app/ibz-mixins"; + +$COLOR_SUCCESS: green; +$COLOR_FAIL: red; + +.button-box { + height : 4.5rem; + + .session-button { + float: left; + width: 5rem; + }; + + .response > span{ + display: block; + margin: .3rem .5rem .3rem .5rem; + } + + .fail { + color:$COLOR_FAIL; + border: 1px solid darken($COLOR_FAIL,10%); + } + .success { + color:$COLOR_SUCCESS; + border: 1px solid darken($COLOR_SUCCESS,10%); + } + +}; + +.message-box { + height : auto; + width: 100%; + font-size: .75rem; + + .response { + .err-no { color:grey; } + .res.err-ok { color: blue; } + .req.err-ok { color:blueviolet; } + .status.err-ok { color:green; } + .status.err-fx { color:red; } + } + + +}; + + + diff --git a/afb-client/app/Frontend/pages/Sample/Sample.html b/afb-client/app/Frontend/pages/Sample/Sample.html new file mode 100644 index 0000000..00a6f3b --- /dev/null +++ b/afb-client/app/Frontend/pages/Sample/Sample.html @@ -0,0 +1,22 @@ + + +--- +name: mysample +url: /sample +controller: SampleController as ctrl +animationIn: slideInRight +--- + +

Sample Page

+ +
+ + + + + + + +
+ + diff --git a/afb-client/app/Frontend/pages/Sample/SampleModule.js b/afb-client/app/Frontend/pages/Sample/SampleModule.js new file mode 100644 index 0000000..2a2e777 --- /dev/null +++ b/afb-client/app/Frontend/pages/Sample/SampleModule.js @@ -0,0 +1,48 @@ +(function() { +'use strict'; + +// list all rependencies within the page + controler if needed +angular.module('SampleModule', ['SubmitButton','UploadFile']) + + .controller('SampleController', function ($http) { + var self = this; // I hate JavaScript + this.status='muted-off'; + + console.log ("sample controller"); + + this.MuteOn = function() { + console.log ("Muted"); + // send AJAX request to server + var handler = $http.post('/api/dbus/ping', {type:'mute', action: "on"}); + + handler.success(function(response, errcode, headers, config) { + self.status = 'muted-on'; + }); + + handler.error(function(status, errcode, headers) { + console.log ("Oops /api/dbus/pring err=" + errcode); + self.status = 'muted-error'; + }); + }; + + this.MuteOff = function() { + console.log ("UnMuted"); + // send AJAX request to server + var handler = $http.post('/api/dbus/ping', {type:'mute', action: "off"}); + + handler.success(function(response, errcode, headers, config) { + self.status = 'muted-off'; + }); + + handler.error(function(status, errcode, headers) { + console.log ("Oops /api/dbus/ping err=" + errcode); + self.status = 'muted-error'; + }); + + }; + + + }); + +console.log ("SampleControler Loaded"); +})(); \ No newline at end of file diff --git a/afb-client/app/Frontend/pages/Sample/SampleModule.scss b/afb-client/app/Frontend/pages/Sample/SampleModule.scss new file mode 100644 index 0000000..2e54c53 --- /dev/null +++ b/afb-client/app/Frontend/pages/Sample/SampleModule.scss @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +@import "app/ibz-mixins"; + + +.sample-box { + display: block; + height : 4.5rem; + + .sample-button { + float: left; + width: 5rem; + }; + + .muted-on-on,.muted-off-off{ + background: blueviolet; + }; + + .muted-error{ + background: red; + }; +}; + + + diff --git a/afb-client/app/Frontend/services/ConfigApp.js b/afb-client/app/Frontend/services/ConfigApp.js new file mode 100644 index 0000000..f36d79b --- /dev/null +++ b/afb-client/app/Frontend/services/ConfigApp.js @@ -0,0 +1,25 @@ +(function () { + 'use strict'; + + // _all modules only reference dependencies + angular.module('ConfigApp', []) + + // Factory is a singleton and share its context within all instances. + .factory('ConfigApp', function () { + + + var myConfig = { + paths: { // Warning paths should end with / + images : 'images/', + avatars: 'images/avatars/' + }, + + api: { // Warning paths should end with / + token : '/api/token/' + } + }; + + return myConfig; + }); + +})(); \ No newline at end of file diff --git a/afb-client/app/Frontend/services/JQueryEmu.js b/afb-client/app/Frontend/services/JQueryEmu.js new file mode 100644 index 0000000..5112052 --- /dev/null +++ b/afb-client/app/Frontend/services/JQueryEmu.js @@ -0,0 +1,42 @@ +(function () { + 'use strict'; + + // _all modules only reference dependencies + angular.module('JQueryEmu', []) + + // Factory is a singleton and share its context within all instances. + .factory('JQemu', function () { + + // JQueryLight cannot search a tag within ancestrors + var parent = function (element, selector) { + var parent = element; + var search = selector.toUpperCase(); + while (parent[0]) { + if (search === parent[0].tagName) { + return parent; + } // HTMLDivElement properties + parent = parent.parent(); + } + }; + + // JQueryLight cannot search by type + var findByType= function (element, selector) { + var search = selector.toLowerCase(); + var children = element.children(); + while (children[0]) { + if (search === children[0].type) { + return children; + } // HTMLDivElement properties + children = children.next(); + } + }; + + var myMethods = { + parent: parent, + findByType: findByType + }; + + return myMethods; + }); + +})(); \ No newline at end of file diff --git a/afb-client/app/Frontend/styles/README.md b/afb-client/app/Frontend/styles/README.md new file mode 100644 index 0000000..dc50ced --- /dev/null +++ b/afb-client/app/Frontend/styles/README.md @@ -0,0 +1,28 @@ +WARNING note about global style dir +------------------------------------- + + - styles placed in Frontend/styles is global and will be posted in dist.prod/styles + - styles defined within widget or page directory will be place in dist.prof/opa/styles + +This model allows to share global styles by multiple applications. + +To change this behaviour just rename styles directory on something else [eg: appstyles] + + + |---- /Frontend + | | + | |---- /styles + | | | + | | |---- _settings.scss + | | |---- app.scss + | | + | |---- /Widgets + | | | + | | |--- widget.js + | | |--- widget.sccs + | | + | |-----/Pages + | |--- page-partial.html + | |--- page-cntrl.js + | |--- page-style.scss + | diff --git a/afb-client/app/Frontend/styles/app/_ibz-mixins.scss b/afb-client/app/Frontend/styles/app/_ibz-mixins.scss new file mode 100644 index 0000000..ed9dba8 --- /dev/null +++ b/afb-client/app/Frontend/styles/app/_ibz-mixins.scss @@ -0,0 +1,52 @@ +/* + Every SCSS files will be injected into main HTML page +*/ +%shadow-transition { + transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; + border-radius: 5px; +} + +@mixin ibz-box-content { + border: 2px solid gainsboro !important; + border-radius: 5px; + + margin-left: auto; + margin-right: auto; + min-width: 98% !important; + margin: .5rem .5rem .5rem .5rem; + background: rgba(200,205,200,.3); +} + +@mixin ibz-button ($color, $size:2rem) { + display: inline-block; + border: 1px solid darken($color,10%); + box-shadow: 2px 2px 1px adjust-hue($color,20deg); + color: $color; + border-radius: 5px; + font-style: italic; + padding: 0rem .5rem 0rem .5rem; + margin:.5rem; + background: lighten(#9494b7, 20%); + i { + padding-right: 0.3rem; + font-size: $size; + } + span {font-size: 1rem} + + &:hover { + background: lighten($color, 45%); + border: 2px solid darken($color,20%); + + } +} + +@mixin ibz-input-alert ($color, $background) { + position :fixed; + margin: -2.2rem 0 0 15rem; + border-radius: 5px; + font-style: italic; + border-color: darken($background,10%); + color: $color; + background-color: $background !important; + padding: 0.2rem !important; +} diff --git a/afb-client/app/Frontend/styles/app/ibz-global.scss b/afb-client/app/Frontend/styles/app/ibz-global.scss new file mode 100644 index 0000000..1f5017e --- /dev/null +++ b/afb-client/app/Frontend/styles/app/ibz-global.scss @@ -0,0 +1,43 @@ +/* +Copyright (C) 2015 "IoT.bzh" +Author "Fulup Ar Foll" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +@import "app/ibz-mixins"; + +submit-button { + float: right; + @include ibz-button(grey); +} + +zf-modal { + background-color: rgba(180,180,180,.5); +} + +.box-content { + @include ibz-box-content; + + .box-title { + display: block; + font-size: 1.3rem; + } +} + +// Change Notifications default size +.ui-notification { + width: auto; + border-radius: 5px; +} \ No newline at end of file diff --git a/afb-client/app/Frontend/styles/foundation/_foundation-icons.scss b/afb-client/app/Frontend/styles/foundation/_foundation-icons.scss new file mode 100644 index 0000000..d401f3c --- /dev/null +++ b/afb-client/app/Frontend/styles/foundation/_foundation-icons.scss @@ -0,0 +1,591 @@ +/* + * Foundation Icons v 3.0 + * Made by ZURB 2013 http://zurb.com/playground/foundation-icon-fonts-3 + * MIT License + */ + +@font-face { + font-family: "foundation-icons"; + src: url("/bower_components/foundation-icons.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + + +.fi-address-book:before, +.fi-alert:before, +.fi-align-center:before, +.fi-align-justify:before, +.fi-align-left:before, +.fi-align-right:before, +.fi-anchor:before, +.fi-annotate:before, +.fi-archive:before, +.fi-arrow-down:before, +.fi-arrow-left:before, +.fi-arrow-right:before, +.fi-arrow-up:before, +.fi-arrows-compress:before, +.fi-arrows-expand:before, +.fi-arrows-in:before, +.fi-arrows-out:before, +.fi-asl:before, +.fi-asterisk:before, +.fi-at-sign:before, +.fi-background-color:before, +.fi-battery-empty:before, +.fi-battery-full:before, +.fi-battery-half:before, +.fi-bitcoin-circle:before, +.fi-bitcoin:before, +.fi-blind:before, +.fi-bluetooth:before, +.fi-bold:before, +.fi-book-bookmark:before, +.fi-book:before, +.fi-bookmark:before, +.fi-braille:before, +.fi-burst-new:before, +.fi-burst-sale:before, +.fi-burst:before, +.fi-calendar:before, +.fi-camera:before, +.fi-check:before, +.fi-checkbox:before, +.fi-clipboard-notes:before, +.fi-clipboard-pencil:before, +.fi-clipboard:before, +.fi-clock:before, +.fi-closed-caption:before, +.fi-cloud:before, +.fi-comment-minus:before, +.fi-comment-quotes:before, +.fi-comment-video:before, +.fi-comment:before, +.fi-comments:before, +.fi-compass:before, +.fi-contrast:before, +.fi-credit-card:before, +.fi-crop:before, +.fi-crown:before, +.fi-css3:before, +.fi-database:before, +.fi-die-five:before, +.fi-die-four:before, +.fi-die-one:before, +.fi-die-six:before, +.fi-die-three:before, +.fi-die-two:before, +.fi-dislike:before, +.fi-dollar-bill:before, +.fi-dollar:before, +.fi-download:before, +.fi-eject:before, +.fi-elevator:before, +.fi-euro:before, +.fi-eye:before, +.fi-fast-forward:before, +.fi-female-symbol:before, +.fi-female:before, +.fi-filter:before, +.fi-first-aid:before, +.fi-flag:before, +.fi-folder-add:before, +.fi-folder-lock:before, +.fi-folder:before, +.fi-foot:before, +.fi-foundation:before, +.fi-graph-bar:before, +.fi-graph-horizontal:before, +.fi-graph-pie:before, +.fi-graph-trend:before, +.fi-guide-dog:before, +.fi-hearing-aid:before, +.fi-heart:before, +.fi-home:before, +.fi-html5:before, +.fi-indent-less:before, +.fi-indent-more:before, +.fi-info:before, +.fi-italic:before, +.fi-key:before, +.fi-laptop:before, +.fi-layout:before, +.fi-lightbulb:before, +.fi-like:before, +.fi-link:before, +.fi-list-bullet:before, +.fi-list-number:before, +.fi-list-thumbnails:before, +.fi-list:before, +.fi-lock:before, +.fi-loop:before, +.fi-magnifying-glass:before, +.fi-mail:before, +.fi-male-female:before, +.fi-male-symbol:before, +.fi-male:before, +.fi-map:before, +.fi-marker:before, +.fi-megaphone:before, +.fi-microphone:before, +.fi-minus-circle:before, +.fi-minus:before, +.fi-mobile-signal:before, +.fi-mobile:before, +.fi-monitor:before, +.fi-mountains:before, +.fi-music:before, +.fi-next:before, +.fi-no-dogs:before, +.fi-no-smoking:before, +.fi-page-add:before, +.fi-page-copy:before, +.fi-page-csv:before, +.fi-page-delete:before, +.fi-page-doc:before, +.fi-page-edit:before, +.fi-page-export-csv:before, +.fi-page-export-doc:before, +.fi-page-export-pdf:before, +.fi-page-export:before, +.fi-page-filled:before, +.fi-page-multiple:before, +.fi-page-pdf:before, +.fi-page-remove:before, +.fi-page-search:before, +.fi-page:before, +.fi-paint-bucket:before, +.fi-paperclip:before, +.fi-pause:before, +.fi-paw:before, +.fi-paypal:before, +.fi-pencil:before, +.fi-photo:before, +.fi-play-circle:before, +.fi-play-video:before, +.fi-play:before, +.fi-plus:before, +.fi-pound:before, +.fi-power:before, +.fi-previous:before, +.fi-price-tag:before, +.fi-pricetag-multiple:before, +.fi-print:before, +.fi-prohibited:before, +.fi-projection-screen:before, +.fi-puzzle:before, +.fi-quote:before, +.fi-record:before, +.fi-refresh:before, +.fi-results-demographics:before, +.fi-results:before, +.fi-rewind-ten:before, +.fi-rewind:before, +.fi-rss:before, +.fi-safety-cone:before, +.fi-save:before, +.fi-share:before, +.fi-sheriff-badge:before, +.fi-shield:before, +.fi-shopping-bag:before, +.fi-shopping-cart:before, +.fi-shuffle:before, +.fi-skull:before, +.fi-social-500px:before, +.fi-social-adobe:before, +.fi-social-amazon:before, +.fi-social-android:before, +.fi-social-apple:before, +.fi-social-behance:before, +.fi-social-bing:before, +.fi-social-blogger:before, +.fi-social-delicious:before, +.fi-social-designer-news:before, +.fi-social-deviant-art:before, +.fi-social-digg:before, +.fi-social-dribbble:before, +.fi-social-drive:before, +.fi-social-dropbox:before, +.fi-social-evernote:before, +.fi-social-facebook:before, +.fi-social-flickr:before, +.fi-social-forrst:before, +.fi-social-foursquare:before, +.fi-social-game-center:before, +.fi-social-github:before, +.fi-social-google-plus:before, +.fi-social-hacker-news:before, +.fi-social-hi5:before, +.fi-social-instagram:before, +.fi-social-joomla:before, +.fi-social-lastfm:before, +.fi-social-linkedin:before, +.fi-social-medium:before, +.fi-social-myspace:before, +.fi-social-orkut:before, +.fi-social-path:before, +.fi-social-picasa:before, +.fi-social-pinterest:before, +.fi-social-rdio:before, +.fi-social-reddit:before, +.fi-social-skillshare:before, +.fi-social-skype:before, +.fi-social-smashing-mag:before, +.fi-social-snapchat:before, +.fi-social-spotify:before, +.fi-social-squidoo:before, +.fi-social-stack-overflow:before, +.fi-social-steam:before, +.fi-social-stumbleupon:before, +.fi-social-treehouse:before, +.fi-social-tumblr:before, +.fi-social-twitter:before, +.fi-social-vimeo:before, +.fi-social-windows:before, +.fi-social-xbox:before, +.fi-social-yahoo:before, +.fi-social-yelp:before, +.fi-social-youtube:before, +.fi-social-zerply:before, +.fi-social-zurb:before, +.fi-sound:before, +.fi-star:before, +.fi-stop:before, +.fi-strikethrough:before, +.fi-subscript:before, +.fi-superscript:before, +.fi-tablet-landscape:before, +.fi-tablet-portrait:before, +.fi-target-two:before, +.fi-target:before, +.fi-telephone-accessible:before, +.fi-telephone:before, +.fi-text-color:before, +.fi-thumbnails:before, +.fi-ticket:before, +.fi-torso-business:before, +.fi-torso-female:before, +.fi-torso:before, +.fi-torsos-all-female:before, +.fi-torsos-all:before, +.fi-torsos-female-male:before, +.fi-torsos-male-female:before, +.fi-torsos:before, +.fi-trash:before, +.fi-trees:before, +.fi-trophy:before, +.fi-underline:before, +.fi-universal-access:before, +.fi-unlink:before, +.fi-unlock:before, +.fi-upload-cloud:before, +.fi-upload:before, +.fi-usb:before, +.fi-video:before, +.fi-volume-none:before, +.fi-volume-strike:before, +.fi-volume:before, +.fi-web:before, +.fi-wheelchair:before, +.fi-widget:before, +.fi-wrench:before, +.fi-x-circle:before, +.fi-x:before, +.fi-yen:before, +.fi-zoom-in:before, +.fi-zoom-out:before { + font-family: "foundation-icons"; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + display: inline-block; + text-decoration: inherit; +} + +.fi-address-book:before { content: "\f100"; } +.fi-alert:before { content: "\f101"; } +.fi-align-center:before { content: "\f102"; } +.fi-align-justify:before { content: "\f103"; } +.fi-align-left:before { content: "\f104"; } +.fi-align-right:before { content: "\f105"; } +.fi-anchor:before { content: "\f106"; } +.fi-annotate:before { content: "\f107"; } +.fi-archive:before { content: "\f108"; } +.fi-arrow-down:before { content: "\f109"; } +.fi-arrow-left:before { content: "\f10a"; } +.fi-arrow-right:before { content: "\f10b"; } +.fi-arrow-up:before { content: "\f10c"; } +.fi-arrows-compress:before { content: "\f10d"; } +.fi-arrows-expand:before { content: "\f10e"; } +.fi-arrows-in:before { content: "\f10f"; } +.fi-arrows-out:before { content: "\f110"; } +.fi-asl:before { content: "\f111"; } +.fi-asterisk:before { content: "\f112"; } +.fi-at-sign:before { content: "\f113"; } +.fi-background-color:before { content: "\f114"; } +.fi-battery-empty:before { content: "\f115"; } +.fi-battery-full:before { content: "\f116"; } +.fi-battery-half:before { content: "\f117"; } +.fi-bitcoin-circle:before { content: "\f118"; } +.fi-bitcoin:before { content: "\f119"; } +.fi-blind:before { content: "\f11a"; } +.fi-bluetooth:before { content: "\f11b"; } +.fi-bold:before { content: "\f11c"; } +.fi-book-bookmark:before { content: "\f11d"; } +.fi-book:before { content: "\f11e"; } +.fi-bookmark:before { content: "\f11f"; } +.fi-braille:before { content: "\f120"; } +.fi-burst-new:before { content: "\f121"; } +.fi-burst-sale:before { content: "\f122"; } +.fi-burst:before { content: "\f123"; } +.fi-calendar:before { content: "\f124"; } +.fi-camera:before { content: "\f125"; } +.fi-check:before { content: "\f126"; } +.fi-checkbox:before { content: "\f127"; } +.fi-clipboard-notes:before { content: "\f128"; } +.fi-clipboard-pencil:before { content: "\f129"; } +.fi-clipboard:before { content: "\f12a"; } +.fi-clock:before { content: "\f12b"; } +.fi-closed-caption:before { content: "\f12c"; } +.fi-cloud:before { content: "\f12d"; } +.fi-comment-minus:before { content: "\f12e"; } +.fi-comment-quotes:before { content: "\f12f"; } +.fi-comment-video:before { content: "\f130"; } +.fi-comment:before { content: "\f131"; } +.fi-comments:before { content: "\f132"; } +.fi-compass:before { content: "\f133"; } +.fi-contrast:before { content: "\f134"; } +.fi-credit-card:before { content: "\f135"; } +.fi-crop:before { content: "\f136"; } +.fi-crown:before { content: "\f137"; } +.fi-css3:before { content: "\f138"; } +.fi-database:before { content: "\f139"; } +.fi-die-five:before { content: "\f13a"; } +.fi-die-four:before { content: "\f13b"; } +.fi-die-one:before { content: "\f13c"; } +.fi-die-six:before { content: "\f13d"; } +.fi-die-three:before { content: "\f13e"; } +.fi-die-two:before { content: "\f13f"; } +.fi-dislike:before { content: "\f140"; } +.fi-dollar-bill:before { content: "\f141"; } +.fi-dollar:before { content: "\f142"; } +.fi-download:before { content: "\f143"; } +.fi-eject:before { content: "\f144"; } +.fi-elevator:before { content: "\f145"; } +.fi-euro:before { content: "\f146"; } +.fi-eye:before { content: "\f147"; } +.fi-fast-forward:before { content: "\f148"; } +.fi-female-symbol:before { content: "\f149"; } +.fi-female:before { content: "\f14a"; } +.fi-filter:before { content: "\f14b"; } +.fi-first-aid:before { content: "\f14c"; } +.fi-flag:before { content: "\f14d"; } +.fi-folder-add:before { content: "\f14e"; } +.fi-folder-lock:before { content: "\f14f"; } +.fi-folder:before { content: "\f150"; } +.fi-foot:before { content: "\f151"; } +.fi-foundation:before { content: "\f152"; } +.fi-graph-bar:before { content: "\f153"; } +.fi-graph-horizontal:before { content: "\f154"; } +.fi-graph-pie:before { content: "\f155"; } +.fi-graph-trend:before { content: "\f156"; } +.fi-guide-dog:before { content: "\f157"; } +.fi-hearing-aid:before { content: "\f158"; } +.fi-heart:before { content: "\f159"; } +.fi-home:before { content: "\f15a"; } +.fi-html5:before { content: "\f15b"; } +.fi-indent-less:before { content: "\f15c"; } +.fi-indent-more:before { content: "\f15d"; } +.fi-info:before { content: "\f15e"; } +.fi-italic:before { content: "\f15f"; } +.fi-key:before { content: "\f160"; } +.fi-laptop:before { content: "\f161"; } +.fi-layout:before { content: "\f162"; } +.fi-lightbulb:before { content: "\f163"; } +.fi-like:before { content: "\f164"; } +.fi-link:before { content: "\f165"; } +.fi-list-bullet:before { content: "\f166"; } +.fi-list-number:before { content: "\f167"; } +.fi-list-thumbnails:before { content: "\f168"; } +.fi-list:before { content: "\f169"; } +.fi-lock:before { content: "\f16a"; } +.fi-loop:before { content: "\f16b"; } +.fi-magnifying-glass:before { content: "\f16c"; } +.fi-mail:before { content: "\f16d"; } +.fi-male-female:before { content: "\f16e"; } +.fi-male-symbol:before { content: "\f16f"; } +.fi-male:before { content: "\f170"; } +.fi-map:before { content: "\f171"; } +.fi-marker:before { content: "\f172"; } +.fi-megaphone:before { content: "\f173"; } +.fi-microphone:before { content: "\f174"; } +.fi-minus-circle:before { content: "\f175"; } +.fi-minus:before { content: "\f176"; } +.fi-mobile-signal:before { content: "\f177"; } +.fi-mobile:before { content: "\f178"; } +.fi-monitor:before { content: "\f179"; } +.fi-mountains:before { content: "\f17a"; } +.fi-music:before { content: "\f17b"; } +.fi-next:before { content: "\f17c"; } +.fi-no-dogs:before { content: "\f17d"; } +.fi-no-smoking:before { content: "\f17e"; } +.fi-page-add:before { content: "\f17f"; } +.fi-page-copy:before { content: "\f180"; } +.fi-page-csv:before { content: "\f181"; } +.fi-page-delete:before { content: "\f182"; } +.fi-page-doc:before { content: "\f183"; } +.fi-page-edit:before { content: "\f184"; } +.fi-page-export-csv:before { content: "\f185"; } +.fi-page-export-doc:before { content: "\f186"; } +.fi-page-export-pdf:before { content: "\f187"; } +.fi-page-export:before { content: "\f188"; } +.fi-page-filled:before { content: "\f189"; } +.fi-page-multiple:before { content: "\f18a"; } +.fi-page-pdf:before { content: "\f18b"; } +.fi-page-remove:before { content: "\f18c"; } +.fi-page-search:before { content: "\f18d"; } +.fi-page:before { content: "\f18e"; } +.fi-paint-bucket:before { content: "\f18f"; } +.fi-paperclip:before { content: "\f190"; } +.fi-pause:before { content: "\f191"; } +.fi-paw:before { content: "\f192"; } +.fi-paypal:before { content: "\f193"; } +.fi-pencil:before { content: "\f194"; } +.fi-photo:before { content: "\f195"; } +.fi-play-circle:before { content: "\f196"; } +.fi-play-video:before { content: "\f197"; } +.fi-play:before { content: "\f198"; } +.fi-plus:before { content: "\f199"; } +.fi-pound:before { content: "\f19a"; } +.fi-power:before { content: "\f19b"; } +.fi-previous:before { content: "\f19c"; } +.fi-price-tag:before { content: "\f19d"; } +.fi-pricetag-multiple:before { content: "\f19e"; } +.fi-print:before { content: "\f19f"; } +.fi-prohibited:before { content: "\f1a0"; } +.fi-projection-screen:before { content: "\f1a1"; } +.fi-puzzle:before { content: "\f1a2"; } +.fi-quote:before { content: "\f1a3"; } +.fi-record:before { content: "\f1a4"; } +.fi-refresh:before { content: "\f1a5"; } +.fi-results-demographics:before { content: "\f1a6"; } +.fi-results:before { content: "\f1a7"; } +.fi-rewind-ten:before { content: "\f1a8"; } +.fi-rewind:before { content: "\f1a9"; } +.fi-rss:before { content: "\f1aa"; } +.fi-safety-cone:before { content: "\f1ab"; } +.fi-save:before { content: "\f1ac"; } +.fi-share:before { content: "\f1ad"; } +.fi-sheriff-badge:before { content: "\f1ae"; } +.fi-shield:before { content: "\f1af"; } +.fi-shopping-bag:before { content: "\f1b0"; } +.fi-shopping-cart:before { content: "\f1b1"; } +.fi-shuffle:before { content: "\f1b2"; } +.fi-skull:before { content: "\f1b3"; } +.fi-social-500px:before { content: "\f1b4"; } +.fi-social-adobe:before { content: "\f1b5"; } +.fi-social-amazon:before { content: "\f1b6"; } +.fi-social-android:before { content: "\f1b7"; } +.fi-social-apple:before { content: "\f1b8"; } +.fi-social-behance:before { content: "\f1b9"; } +.fi-social-bing:before { content: "\f1ba"; } +.fi-social-blogger:before { content: "\f1bb"; } +.fi-social-delicious:before { content: "\f1bc"; } +.fi-social-designer-news:before { content: "\f1bd"; } +.fi-social-deviant-art:before { content: "\f1be"; } +.fi-social-digg:before { content: "\f1bf"; } +.fi-social-dribbble:before { content: "\f1c0"; } +.fi-social-drive:before { content: "\f1c1"; } +.fi-social-dropbox:before { content: "\f1c2"; } +.fi-social-evernote:before { content: "\f1c3"; } +.fi-social-facebook:before { content: "\f1c4"; } +.fi-social-flickr:before { content: "\f1c5"; } +.fi-social-forrst:before { content: "\f1c6"; } +.fi-social-foursquare:before { content: "\f1c7"; } +.fi-social-game-center:before { content: "\f1c8"; } +.fi-social-github:before { content: "\f1c9"; } +.fi-social-google-plus:before { content: "\f1ca"; } +.fi-social-hacker-news:before { content: "\f1cb"; } +.fi-social-hi5:before { content: "\f1cc"; } +.fi-social-instagram:before { content: "\f1cd"; } +.fi-social-joomla:before { content: "\f1ce"; } +.fi-social-lastfm:before { content: "\f1cf"; } +.fi-social-linkedin:before { content: "\f1d0"; } +.fi-social-medium:before { content: "\f1d1"; } +.fi-social-myspace:before { content: "\f1d2"; } +.fi-social-orkut:before { content: "\f1d3"; } +.fi-social-path:before { content: "\f1d4"; } +.fi-social-picasa:before { content: "\f1d5"; } +.fi-social-pinterest:before { content: "\f1d6"; } +.fi-social-rdio:before { content: "\f1d7"; } +.fi-social-reddit:before { content: "\f1d8"; } +.fi-social-skillshare:before { content: "\f1d9"; } +.fi-social-skype:before { content: "\f1da"; } +.fi-social-smashing-mag:before { content: "\f1db"; } +.fi-social-snapchat:before { content: "\f1dc"; } +.fi-social-spotify:before { content: "\f1dd"; } +.fi-social-squidoo:before { content: "\f1de"; } +.fi-social-stack-overflow:before { content: "\f1df"; } +.fi-social-steam:before { content: "\f1e0"; } +.fi-social-stumbleupon:before { content: "\f1e1"; } +.fi-social-treehouse:before { content: "\f1e2"; } +.fi-social-tumblr:before { content: "\f1e3"; } +.fi-social-twitter:before { content: "\f1e4"; } +.fi-social-vimeo:before { content: "\f1e5"; } +.fi-social-windows:before { content: "\f1e6"; } +.fi-social-xbox:before { content: "\f1e7"; } +.fi-social-yahoo:before { content: "\f1e8"; } +.fi-social-yelp:before { content: "\f1e9"; } +.fi-social-youtube:before { content: "\f1ea"; } +.fi-social-zerply:before { content: "\f1eb"; } +.fi-social-zurb:before { content: "\f1ec"; } +.fi-sound:before { content: "\f1ed"; } +.fi-star:before { content: "\f1ee"; } +.fi-stop:before { content: "\f1ef"; } +.fi-strikethrough:before { content: "\f1f0"; } +.fi-subscript:before { content: "\f1f1"; } +.fi-superscript:before { content: "\f1f2"; } +.fi-tablet-landscape:before { content: "\f1f3"; } +.fi-tablet-portrait:before { content: "\f1f4"; } +.fi-target-two:before { content: "\f1f5"; } +.fi-target:before { content: "\f1f6"; } +.fi-telephone-accessible:before { content: "\f1f7"; } +.fi-telephone:before { content: "\f1f8"; } +.fi-text-color:before { content: "\f1f9"; } +.fi-thumbnails:before { content: "\f1fa"; } +.fi-ticket:before { content: "\f1fb"; } +.fi-torso-business:before { content: "\f1fc"; } +.fi-torso-female:before { content: "\f1fd"; } +.fi-torso:before { content: "\f1fe"; } +.fi-torsos-all-female:before { content: "\f1ff"; } +.fi-torsos-all:before { content: "\f200"; } +.fi-torsos-female-male:before { content: "\f201"; } +.fi-torsos-male-female:before { content: "\f202"; } +.fi-torsos:before { content: "\f203"; } +.fi-trash:before { content: "\f204"; } +.fi-trees:before { content: "\f205"; } +.fi-trophy:before { content: "\f206"; } +.fi-underline:before { content: "\f207"; } +.fi-universal-access:before { content: "\f208"; } +.fi-unlink:before { content: "\f209"; } +.fi-unlock:before { content: "\f20a"; } +.fi-upload-cloud:before { content: "\f20b"; } +.fi-upload:before { content: "\f20c"; } +.fi-usb:before { content: "\f20d"; } +.fi-video:before { content: "\f20e"; } +.fi-volume-none:before { content: "\f20f"; } +.fi-volume-strike:before { content: "\f210"; } +.fi-volume:before { content: "\f211"; } +.fi-web:before { content: "\f212"; } +.fi-wheelchair:before { content: "\f213"; } +.fi-widget:before { content: "\f214"; } +.fi-wrench:before { content: "\f215"; } +.fi-x-circle:before { content: "\f216"; } +.fi-x:before { content: "\f217"; } +.fi-yen:before { content: "\f218"; } +.fi-zoom-in:before { content: "\f219"; } +.fi-zoom-out:before { content: "\f21a"; } diff --git a/afb-client/app/Frontend/styles/foundation/_foundation-settings.scss b/afb-client/app/Frontend/styles/foundation/_foundation-settings.scss new file mode 100644 index 0000000..d4c6415 --- /dev/null +++ b/afb-client/app/Frontend/styles/foundation/_foundation-settings.scss @@ -0,0 +1,605 @@ +// FOUNDATION FOR APPS SETTINGS +// ---------------------------- +// +// Table of Contents: +// +// 1. CSS Exports +// 2. Global Styles +// 3. Breakpoints +// 4. Typography +// 5. Grid +// 6. Button +// 7. Accordion +// 8. Action Sheet +// 9. Block List +// 10. Button Group +// 11. Card +// 12. Extras +// 13. Forms +// 14. Iconic +// 15. Label +// 16. Menu Bar +// 17. Modal +// 18. Motion UI +// 19. Notification +// 20. Off-canvas +// 21. Panel +// 22. Popup +// 23. Switch +// 24. Tabs +// 25. Title Bar + +@import "helpers/functions"; + +// 1. CSS Exports +// - - - - - - - - - - - - - - - + +// Change any value in this map from "true" to "false" to disable that component's CSS class output. You'll still be able to use the component's mixins, but none of our pre-written classes will be in your CSS. + + $include-css: ( + accordion: true, + action-sheet: true, + block-list: true, + button: true, + button-group: true, + card: true, + coloring: true, + extras: true, + forms: true, + grid: true, + iconic: true, + label: true, + badge: true, + list: true, + menu-bar: true, + modal: true, + motion: true, + notification: true, + off-canvas: true, + panel: true, + popup: true, + switch: true, + tabs: true, + title-bar: true, + typography: true, + utilities: true, + ); + +// 2. Global Styles +// - - - - - - - - - - - - - - - + +// This sets 1rem to be 16px +// $rem-base: 16px; + +// The default font-size is set to 100% of the browser style sheet (usually 16px) +// for compatibility with browser-based text zoom or user-set defaults. + +// Since the typical default browser font-size is 16px, that makes the calculation for grid size. +// If you want your base font-size to be different and not have it affect the grid breakpoints, +// set $rem-base to $base-font-size and make sure $base-font-size is a px value. +// $base-font-size: 100%; + +// $base-line-height is 24px while $base-font-size is 16px +// $base-line-height: 1.5; + +// Text selector helpers +// $headers: "h1,h2,h3,h4,h5,h6"; + +// We use these to define default font weights +// $font-weight-normal: normal; +// $font-weight-bold: bold; + +// We use these to control various global styles +// $body-background: #fff; +// $body-font-color: #222; +// $body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; +// $body-font-weight: $font-weight-normal; +// $body-font-style: normal; +// $body-antialiased: true; + +// Application Colors +// $primary-color: #00558b; +// $secondary-color: #f1f1f1; +// $alert-color: #F04124; +// $info-color: #A0D3E8; +// $success-color: #43AC6A; +// $warning-color: #F08A24; +// $dark-color: #232323; +// $gray: #dfdfdf; +// $gray-dark: darken($gray, 8); +// $gray-light: lighten($gray, 8); + +// We use these to make sure border radius matches unless we want it different. +// $global-radius: 4px; +// $global-rounded: 1000px; + +// We use this for default spacing +// $global-padding: 1rem; +// $global-spacing: rem-calc(15); + +// 3. Breakpoints +// - - - - - - - - - - - - - - - + +// These are our named breakpoints. You can use them in our breakpoint function like this: @include breakpoint(medium) { // Medium and larger styles } +// $breakpoints: ( +// small: rem-calc(0), +// medium: rem-calc(640), +// large: rem-calc(1200), +// xlarge: rem-calc(1440), +// xxlarge: rem-calc(1920), +// ); + +// All of the names in this list will be output as classes in your CSS, like small-12, medium-6, and so on. +// $breakpoint-classes: (small medium large); + +// 4. Typography +// - - - - - - - - - - - - - - - + +// We use these to control header font styles +// $header-font-family: $body-font-family; +// $header-font-weight: $font-weight-normal; +// $header-font-style: $font-weight-normal; +// $header-font-color: #222; +// $header-line-height: 1.4; +// $header-top-margin: .2rem; +// $header-bottom-margin: .5rem; +// $header-text-rendering: optimizeLegibility; + +// We use these to control header font sizes +// $h1-font-size: rem-calc(44); +// $h2-font-size: rem-calc(37); +// $h3-font-size: rem-calc(27); +// $h4-font-size: rem-calc(23); +// $h5-font-size: rem-calc(18); +// $h6-font-size: 1rem; + +// We use these to control header size reduction on small screens +// $h1-font-reduction: rem-calc(10); +// $h2-font-reduction: rem-calc(10); +// $h3-font-reduction: rem-calc(5); +// $h4-font-reduction: rem-calc(5); +// $h5-font-reduction: 0; +// $h6-font-reduction: 0; + +// These control how subheaders are styled. +// $subheader-line-height: 1.4; +// $subheader-font-color: scale-color($header-font-color, $lightness: 35%); +// $subheader-font-weight: $font-weight-normal; +// $subheader-top-margin: .2rem; +// $subheader-bottom-margin: .5rem; + +// A general styling +// $small-font-size: 60%; +// $small-font-color: scale-color($header-font-color, $lightness: 35%); + +// We use these to style paragraphs +// $paragraph-font-family: inherit; +// $paragraph-font-weight: $font-weight-normal; +// $paragraph-font-size: 1rem; +// $paragraph-line-height: 1.6; +// $paragraph-margin-bottom: rem-calc(20); +// $paragraph-aside-font-size: rem-calc(14); +// $paragraph-aside-line-height: 1.35; +// $paragraph-aside-font-style: italic; +// $paragraph-text-rendering: optimizeLegibility; + +// We use these to style tags +// $code-color: grayscale($primary-color); +// $code-font-family: Consolas, 'Liberation Mono', Courier, monospace; +// $code-font-weight: $font-weight-normal; +// $code-background-color: scale-color($secondary-color, $lightness: 70%); +// $code-border-size: 1px; +// $code-border-style: solid; +// $code-border-color: scale-color($code-background-color, $lightness: -10%); +// $code-padding: rem-calc(2) rem-calc(5) rem-calc(1); + +// We use these to style anchors +// $anchor-text-decoration: none; +// $anchor-text-decoration-hover: none; +// $anchor-font-color: $primary-color; +// $anchor-font-color-hover: scale-color($anchor-font-color, $lightness: -14%); + +// We use these to style the
element +// $hr-border-width: 1px; +// $hr-border-style: solid; +// $hr-border-color: #ddd; +// $hr-margin: rem-calc(20); + +// We use these to style lists +// $list-font-family: $paragraph-font-family; +// $list-font-size: $paragraph-font-size; +// $list-line-height: $paragraph-line-height; +// $list-margin-bottom: $paragraph-margin-bottom; +// $list-style-position: outside; +// $list-side-margin: 1.1rem; +// $list-ordered-side-margin: 1.4rem; +// $list-side-margin-no-bullet: 0; +// $list-nested-margin: rem-calc(20); +// $definition-list-header-weight: $font-weight-bold; +// $definition-list-header-margin-bottom: .3rem; +// $definition-list-margin-bottom: rem-calc(12); + +// We use these to style blockquotes +// $blockquote-font-color: scale-color($header-font-color, $lightness: 35%); +// $blockquote-padding: rem-calc(9 20 0 19); +// $blockquote-border: 1px solid #ddd; +// $blockquote-cite-font-size: rem-calc(13); +// $blockquote-cite-font-color: scale-color($header-font-color, $lightness: 23%); +// $blockquote-cite-link-color: $blockquote-cite-font-color; + +// Acronym styles +// $acronym-underline: 1px dotted #ddd; + +// 5. Grid +// - - - - - - - - - - - - - - - + +// $container-width: rem-calc(900); +// $block-padding: $global-padding; +// $total-columns: 12; +// $block-grid-max-size: 6; + +// 6. Button +// - - - - - - - - - - - - - - - + +// $button-padding: 0.85em 1em; +// $button-margin: 0 $global-padding $global-padding 0; +// $button-style: solid; +// $button-background: $primary-color; +// $button-color: auto; +// $button-radius: 0; +// $button-sizes: ( +// tiny: 0.7, +// small: 0.8, +// medium: 1, +// large: 1.3, +// ); +// $button-font-size: 0.9rem; +// $button-opacity-disabled: 0.5; +// $button-tag-selector: false; + +// 7. Accordion +// - - - - - - - - - - - - - - - + +// $accordion-border: 1px solid $gray-dark; + +// $accordion-title-background: $gray-light; +// $accordion-title-background-hover: smartscale($accordion-title-background, 5%); +// $accordion-title-background-active: smartscale($accordion-title-background, 3%); +// $accordion-title-color: isitlight($accordion-title-background); +// $accordion-title-color-active: isitlight($accordion-title-background); + +// $accordion-title-padding: $global-padding; +// $accordion-content-padding: $global-padding; + +// 8. Action Sheet +// - - - - - - - - - - - - - - - + +// $actionsheet-background: white; +// $actionsheet-border-color: #ccc; +// $actionsheet-animate: transform opacity; +// $actionsheet-animation-speed: 0.25s; +// $actionsheet-width: 300px; +// $actionsheet-radius: 4px; +// $actionsheet-shadow: 0 -3px 10px rgba(black, 0.25); +// $actionsheet-padding: $global-padding; +// $actionsheet-tail-size: 10px; + +// $actionsheet-popup-shadow: 0 0 10px rgba(black, 0.25); + +// $actionsheet-link-color: #000; +// $actionsheet-link-background-hover: smartscale($actionsheet-background); + +// 9. Block List +// - - - - - - - - - - - - - - - + +// $blocklist-background: #fff; +// $blocklist-fullbleed: true; +// $blocklist-fontsize: 1rem; + +// $blocklist-item-padding: 0.8rem 1rem; +// $blocklist-item-color: isitlight($blocklist-background, #000, #fff); +// $blocklist-item-background-hover: smartscale($blocklist-background, 4.5%); +// $blocklist-item-color-disabled: #999; +// $blocklist-item-border: 1px solid smartscale($blocklist-background, 18.5%); + +// $blocklist-item-label-color: scale-color($blocklist-item-color, $lightness: 60%); +// $blocklist-item-icon-size: 0.8; + +// $blocklist-header-fontsize: 0.8em; +// $blocklist-header-color: smartscale($blocklist-item-color, 40%); +// $blocklist-header-uppercase: true; + +// $blocklist-check-icons: true; + +// 10. Button Group +// - - - - - - - - - - - - - - - + +// $btngroup-background: $primary-color; +// $btngroup-color: #fff; +// $btngroup-radius: $button-radius; + +// 11. Card +// - - - - - - - - - - - - - - - + +// $card-background: #fff; +// $card-color: isitlight($card-background); +// $card-border: 1px solid smartscale($card-background, 7%); +// $card-radius: $global-radius; +// $card-shadow: 0 1px 2px rgba(#000, 0.2); +// $card-padding: $global-padding; +// $card-margin: 0.5rem; + +// $card-divider-background: smartscale($card-background, 7%); + +// 12. Extras +// - - - - - - - - - - - - - - - + +// $closebutton-position: (top right); +// $closebutton-size: 2em; +// $closebutton-lineheight: 0.5; +// $closebutton-color: #999; +// $closebutton-color-hover: #333; + +// $thumbnail-padding: 0.5rem; +// $thumbnail-shadow: 0 3px 15px rgba(black, 0.25); + +// 13. Forms +// - - - - - - - - - - - - - - - + +// Basic form variables +// $form-fontsize: 1rem; +// $form-padding: 0.5rem; + +// Text fields +// $input-color: #000; +// $input-color-hover: $input-color; +// $input-color-focus: $input-color; +// $input-background: #fff; +// $input-background-hover: $input-background; +// $input-background-focus: $input-background; +// $input-border: 1px solid #ccc; +// $input-border-hover: 1px solid #bbb; +// $input-border-focus: 1px solid #999; + +// Select menus +// $select-color: #000; +// $select-background: #fafafa; +// $select-background-hover: smartscale($select-background, 4%); +// $select-arrow: true; +// $select-arrow-color: $select-color; + +// Labels +// $form-label-fontsize: 0.9rem; +// $form-label-margin: 0.5rem; +// $form-label-color: #333; + +// Inline labels +// $inlinelabel-color: #333; +// $inlinelabel-background: #eee; +// $inlinelabel-border: $input-border; + +// Range slider +// $slider-background: #ddd; +// $slider-height: 1rem; +// $slider-radius: 0px; +// $slider-thumb-height: 1.5rem; +// $slider-thumb-color: $primary-color; +// $slider-thumb-radius: 0px; + +// Progress and meter +// $meter-height: 1.5rem; +// $meter-background: #ccc; +// $meter-fill: $primary-color; +// $meter-fill-high: $success-color; +// $meter-fill-medium: #e7cf00; +// $meter-fill-low: $alert-color; +// $meter-radius: 0; + +// 14. Iconic +// - - - - - - - - - - - - - - - + +// $iconic-primary-fill: $primary-color; +// $iconic-primary-stroke: $primary-color; +// $iconic-accent-fill: $iconic-primary-fill; +// $iconic-accent-stroke: $iconic-accent-fill; + +// 15. Label +// - - - - - - - - - - - - - - - + +// $label-fontsize: 0.8rem; +// $label-padding: ($global-padding / 3) ($global-padding / 2); +// $label-radius: 0; +// $label-background: $primary-color; +// $label-color: isitlight($primary-color); + +// $badge-fontsize: 0.8em; +// $badge-diameter: 1.5rem; +// $badge-background: $primary-color; +// $badge-color: #fff; + +// DEPRECATED: these variables will be removed in v1.1. +// $badge-padding: .1em .61em; +// $badge-radius: $global-rounded; +// $badge-font-color: #fff; + +// 16. Menu Bar +// - - - - - - - - - - - - - - - + +// $menubar-fontsize: 1rem; +// $menubar-background: #fff; +// $menubar-background-hover: smartscale($menubar-background, 7%); +// $menubar-background-active: $menubar-background-hover; +// $menubar-color: isitlight($menubar-background); +// $menubar-color-hover: $menubar-color; +// $menubar-color-active: $menubar-color-hover; + +// $menubar-item-padding: $global-padding; +// $menubar-icon-size: 25px; +// $menubar-icon-spacing: $menubar-item-padding; + +// 17. Modal +// - - - - - - - - - - - - - - - + +// $modal-background: #fff; +// $modal-border: 0; +// $modal-radius: 0px; +// $modal-shadow: none; +// $modal-zindex: 1000; +// $modal-sizes: ( +// tiny: 300px, +// small: 500px, +// medium: 600px, +// large: 800px, +// ); + +// $modal-overlay-class: 'modal-overlay'; +// $modal-overlay-background: rgba(#333, 0.7); + +// 18. Motion UI +// - - - - - - - - - - - - - - - + +// Classes to use when triggering in/out animations +// $motion-class: ( +// in: "ng-enter", +// out: "ng-leave", +// ); +// $motion-class-active: ( +// in: "ng-enter-active", +// out: "ng-leave-active", +// ); +// $motion-class-stagger: ( +// in: "ng-enter-stagger", +// out: "ng-leave-stagger", +// ); + +// Set if movement-based transitions should also fade the element in and out +// $motion-slide-and-fade: false; +// $motion-hinge-and-fade: true; +// $motion-scale-and-fade: true; +// $motion-spin-and-fade: true; + +// Default speed for transitions and animations +// $motion-duration-default: 500ms; +// Slow and fast modifiders +// $motion-duration-slow: 750ms; +// $motion-duration-fast: 250ms; +// $motion-stagger-duration-default: 150ms; +// $motion-stagger-duration-short: 50ms; +// $motion-stagger-duration-long: 300ms; + +// Default timing function for transitions and animations +// $motion-timing-default: ease; +// Built-in and custom easing functions +// Every item in this map becomes a CSS class +// $motion-timings: ( +// linear: linear, +// ease: ease, +// easeIn: ease-in, +// easeOut: ease-out, +// easeInOut: ease-in-out, +// bounceIn: cubic-bezier(0.485, 0.155, 0.240, 1.245), +// bounceOut: cubic-bezier(0.485, 0.155, 0.515, 0.845), +// bounceInOut: cubic-bezier(0.760, -0.245, 0.240, 1.245), +// ); + +// Default delay for all transitions and animations +// $motion-delay-default: 0; +// Short and long delay modifiers +// $motion-delay-short: 300ms; +// $motion-delay-long: 700ms; + +// 19. Notification +// - - - - - - - - - - - - - - - + +// $notification-default-position: right top; +// $notification-width: rem-calc(400); +// $notification-offset: $global-padding; + +// $notification-background: $primary-color; +// $notification-color: white; +// $notification-padding: $global-padding; +// $notification-radius: 4px; + +// $notification-icon-size: 60px; +// $notification-icon-margin: $global-padding; +// $notification-icon-align: top; + + +// 20. Off-canvas +// - - - - - - - - - - - - - - - + +// $offcanvas-size-horizontal: 250px; +// $offcanvas-size-vertical: 250px; + +// $offcanvas-background: #fff; +// $offcanvas-color: isitlight($offcanvas-background); +// $offcanvas-padding: 0; +// $offcanvas-shadow: 3px 0 10px rgba(black, 0.25); +// $offcanvas-animation-speed: 0.25s; + +// $offcanvas-frame-selector: '.grid-frame'; + +// 21. Panel +// - - - - - - - - - - - - - - - + +// $panel-size-horizontal: 300px; +// $panel-size-vertical: 300px; +// $panel-padding: 0; + +// $panel-background: #fff; +// $panel-shadow: 3px 0 10px rgba(black, 0.25); +// $panel-animation-speed: 0.25s; + +// 22. Popup +// - - - - - - - - - - - - - - - + +// $popup-width: rem-calc(300); +// $popup-background: #fff; +// $popup-border: 0; +// $popup-radius: 0; +// $popup-shadow: 0 0 10px rgba(#000, 0.25); + +// 23. Switch +// - - - - - - - - - - - - - - - + +// $switch-width: rem-calc(50); +// $switch-height: rem-calc(32); +// $switch-background: #ccc; +// $switch-background-active: $primary-color; +// $switch-border: 0; +// $switch-radius: 9999px; +// $switch-animation-speed: 0.15s; + +// $switch-paddle-color: white; +// $switch-paddle-offset: 4px; + +// 24. Tabs +// - - - - - - - - - - - - - - - + +// $tabstrip-background: transparent; + +// $tab-title-background: $gray-light; +// $tab-title-background-hover: smartscale($tab-title-background, 5%); +// $tab-title-background-active: smartscale($tab-title-background, 3%); +// $tab-title-color: isitlight($tab-title-background); +// $tab-title-color-active: $tab-title-color; + +// $tab-title-padding: $global-padding; +// $tab-content-padding: $global-padding; + +// 25. Title Bar +// - - - - - - - - - - - - - - - + +// $titlebar-center-width: 50%; +// $titlebar-side-width: (100% - $titlebar-center-width) / 2; +// $titlebar-background: #eee; +// $titlebar-color: #000; +// $titlebar-border: 1px solid #ccc; +// $titlebar-padding: $global-padding; +// $titlebar-item-classes: ( +// center: 'center', +// left: 'left', +// right: 'right', +// title: 'title', +// ); + diff --git a/afb-client/app/Frontend/styles/foundation/foundation-conf.scss b/afb-client/app/Frontend/styles/foundation/foundation-conf.scss new file mode 100644 index 0000000..bdcfe1f --- /dev/null +++ b/afb-client/app/Frontend/styles/foundation/foundation-conf.scss @@ -0,0 +1,19 @@ +@import "foundation-settings"; +@import "foundation-icons"; +@import "foundation"; + + +/*.sidebar { + // Panel on small screens + @extend %panel-base; + @include panel-position(left); + // Override styles to become a block on medium screens + @include breakpoint(medium) { + @include grid-panel-reset; + @include grid-block(4); + } + // Change size to 3 columns on large screens + @include breakpoint(large) { + @include grid-size(3); + } +}*/ \ No newline at end of file diff --git a/afb-client/app/Frontend/tmp/routes.js b/afb-client/app/Frontend/tmp/routes.js new file mode 100644 index 0000000..c3c5ba4 --- /dev/null +++ b/afb-client/app/Frontend/tmp/routes.js @@ -0,0 +1 @@ +var foundationRoutes = [{"name":"mysample","url":"/sample","controller":"SampleController as ctrl","animationIn":"slideInRight","path":"pages/Sample/Sample.html"},{"name":"myhome","url":"/home","controller":"HomeController as ctrl","animationIn":"slideInRight","path":"pages/Home/Home.html"}]; diff --git a/afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.js b/afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.js new file mode 100644 index 0000000..1b94e25 --- /dev/null +++ b/afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.js @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Bugs: Input with Callback SHOULD BE get 'required' class + */ + +(function () { + 'use strict'; + + var tmpl = '
' + + '' + + '{{label}}' + + '
'; + + angular.module('SubmitButton', []) + .directive('submitButton', function () { + + function mymethods(scope, elem, attrs) { + + // ajust icon or use default + scope.icon = attrs.icon || 'fi-foot'; + scope.label = attrs.label || 'Next'; + + // add label as class + elem.addClass (scope.label.toLowerCase()); + + // note: clicked in imported and when template is clicked + // it will call clicked method passed in param. + } + + return { + restrict: 'E', + template: tmpl, + link: mymethods, + scope: {clicked : '='} + }; + }); +})(); diff --git a/afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.scss b/afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.scss new file mode 100644 index 0000000..2150e4d --- /dev/null +++ b/afb-client/app/Frontend/widgets/Buttons/SubmitButtons/SubmitButtons.scss @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +@import "app/ibz-mixins"; + +// place here your submit buttons customization + diff --git a/afb-client/app/Frontend/widgets/FormInput/FormInput.scss b/afb-client/app/Frontend/widgets/FormInput/FormInput.scss new file mode 100644 index 0000000..37519fd --- /dev/null +++ b/afb-client/app/Frontend/widgets/FormInput/FormInput.scss @@ -0,0 +1,69 @@ +/* + Sample of style overload for a specific widget + + Note: this SCSS is injected with main HTML page, it scope should be reduce + to a specific widget or it value will be propagated at a global level. +*/ + +@import "app/ibz-mixins"; + +upload-file { + height: 5rem; + display: inline-block; + float: right; + img { height: inherit;} +} + +input-text { + + alert {@include ibz-input-alert(darkblue, rgba(200, 200, 200, 0.6))}; + + input { + margin-bottom: .5rem !important; + } + + label { + margin-top: 1rem !important; + } + + .required { + color: blue; + float: right; + color: lightskyblue; + } + .required.valid { + color: green; + } + + .required.invalid { + color: plum; + } + + .status-untouch { + border-color: rgba(200, 200, 200, 0.6) !important; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(200, 200, 200, 0.6) !important; + color: #696969 !important; + } + + input:focus { + border-color: rgba(82,168,236,0.8) ; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(82,168,236,0.8) !important; + transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; + color: darkslateblue !important; + @extend shadow-transition; + } + + .status-valid { + border-color: rgba(154, 205, 50, 0.6)!important; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(154, 205, 50, 0.6)!important; + @extend shadow-transition; + } + + .status-invalid { + border-color: rgba(154, 17, 69, 0.6); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(154, 17, 69, 0.6)!important; + color: rgb(154, 17, 69); + @extend shadow-transition; + } + +} diff --git a/afb-client/app/Frontend/widgets/FormInput/InputPassword.js b/afb-client/app/Frontend/widgets/FormInput/InputPassword.js new file mode 100644 index 0000000..157009c --- /dev/null +++ b/afb-client/app/Frontend/widgets/FormInput/InputPassword.js @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +(function() { +'use strict'; + +var tmpl = '' + + '' + + ' '+ + ''; + +angular.module('InputPassword',[]) + +.directive('inputPassword', function() { + function mymethods(scope, elem, attrs) { + + scope.valid1 = function (name, value) { + console.log ("Clicked InputPassword1 name=%s value=%s", name, value); + scope.firstpwd = value; + }; + + scope.valid2 = function (name, value, done) { + console.log ("Clicked InputPassword2 name=%s value=%s", name, value); + + // if both passwd equal then call form CB + if (scope.firstpwd !== value) { + done({valid: false, status: 'invalid', errmsg: "both password should match"}); + } else { + scope.callback (attrs.name, value); + } + + }; + + // this method can be called from controller to update widget status + scope.done=function (data) { + console.log ("Text-Input Callback ID="+ attrs.name + " data=", data); + for (var i in data) scope[i] = data[i]; + }; + + // Export some attributes within directive scope for template + scope.name = attrs.name; + scope.label1 = attrs.label || 'Password'; + scope.label2 = attrs.label || 'Password Verification'; + scope.place1 = attrs.placeholder1 || 'User Password'; + scope.tip1 = attrs.tip || 'Choose a Password'; + scope.place2 = attrs.placeholder1 || 'Password Verification'; + scope.tip2 = attrs.tip || 'Confirme your Password'; + scope.minlen = attrs.minlen || 10; + + if ("required" in attrs) scope.required = 'required'; + + } + + return { + restrict: 'E', + template: tmpl, + link: mymethods, + scope: { + callback : '=', + } + }; +}); + +console.log ("InputPassword Loaded"); +})(); diff --git a/afb-client/app/Frontend/widgets/FormInput/InputText.js b/afb-client/app/Frontend/widgets/FormInput/InputText.js new file mode 100644 index 0000000..2653175 --- /dev/null +++ b/afb-client/app/Frontend/widgets/FormInput/InputText.js @@ -0,0 +1,179 @@ + +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details.. + */ + + + +(function() { +'use strict'; + +var tmpl = '' + + ''+ + '{{errmsg}}'; + +var emailpatern = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; + +angular.module('InputText',['JQueryEmu']) + +.directive('inputText', function(JQemu) { + function mymethods(scope, elem, attrs) { + + // default value at 1st rendering + scope.error = false; + scope.valid = false; + scope.status = 'untouch'; + + scope.input = elem.find ("input"); + scope.required = 0; + + // requirer is use to increment requested counter + if ("required" in attrs) { + scope.required = 1; + elem.addClass ("required"); + } + + // user enter input reset error status + scope.selected = function () { + scope.error=false; + scope.errmsg=false; + scope.status = 'touch'; + }; + + scope.validate = function () { + + // get value from input field bypassing Angular ng-model + console.log ("Clicked InputText name=%s value=%s valid=%s", scope.name, scope.value, scope.valid); + + // form is not untouched anymore + scope.parent.removeClass ("ng-pristine"); + + // if value not null clean up string + if (scope.value) { + scope.error=false; + // remove leading and trailling space + scope.value = scope.value.trim(); + + // remove any space is not allowed + if ('nospace' in attrs) { + scope.value=scope.value.replace(/\s/g, ''); + } + + if ('lowercase' in attrs) { + scope.value = scope.value.toLowerCase(); + } + + // check minimum lenght + if ("minlen" in attrs) { + if (scope.value.length < attrs.minlen) { + scope.status='invalid'; + scope.errmsg=scope.name + ': Mininum Lengh= ' + attrs.minlen + ' Characters'; + scope.error=true; + } + } + + if ('email' in attrs) { + if (!emailpatern.test (scope.value)) { + scope.status='invalid'; + scope.errmsg='invalid email address'; + scope.error=true; + } + } + + } else { + if (scope.required) { + scope.status='invalid'; + scope.errmsg=scope.name + ': Required Attribute'; + scope.error=true; + } + } + + // If local control fail let's refuse input + if (scope.error) { + if (scope.required && scope.valid) { + scope.valid = false; + if (scope.l4acounter.validated > 0) scope.l4acounter.validated --; + } + // use call to update form scope on form completeness + scope.callback (attrs.name, null, scope.done); + } else { + // localcheck is OK backup may nevertheless change status to false + if (scope.required && !scope.valid) scope.l4acounter.validated ++; + scope.status='valid'; + scope.valid=true; + scope.callback (attrs.name, scope.value, scope.done); + } + + }; + + // this method can be called from controller to update widget status + scope.done=function (data) { + console.log ("Text-Input Callback ID="+ attrs.name + " data=", data); + for (var i in data) scope[i] = data[i]; + }; + + // Export some attributes within directive scope for template + scope.label = attrs.label; + scope.name = attrs.name; + scope.placeholder = attrs.placeholder; + scope.type = attrs.type || "text"; + scope.tip = attrs.tip; + + // search for form within parent elemnts + scope.parent = JQemu.parent (elem, "FORM"); + + // email enforce lowercase and nospace + if ("email" in attrs) { + attrs.lowercase=true; + attrs.nospace=true; + attrs.minlen=6; + } + + if (scope.required) { + scope.l4acounter = scope.parent.data ("l4acounter"); + if (!scope.l4acounter) { + scope.l4acounter = {required:1, validated:0}; + console.log("Field "+scope.name+" is required (1st)"); + scope.parent.data ("l4acounter", scope.l4acounter); + } else { + console.log("Field "+scope.name+" is required"); + scope.l4acounter.required ++; + } + } + + // refresh validation each time controler update value + scope.$watch ('value', function(){ + if(scope.value) scope.validate(); } + ); + + } + + return { + restrict: 'E', + template: tmpl, + link: mymethods, + scope: { + callback : '=', + value: '=' + } + }; +}); + +console.log ("InputText Loaded"); +})(); diff --git a/afb-client/app/Frontend/widgets/FormInput/UploadFile.js b/afb-client/app/Frontend/widgets/FormInput/UploadFile.js new file mode 100644 index 0000000..9a2f031 --- /dev/null +++ b/afb-client/app/Frontend/widgets/FormInput/UploadFile.js @@ -0,0 +1,113 @@ + +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details.. + * + * Reference: + * https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications#Using_hidden_file_input_elements_using_the_click%28%29_method + * https://uncorkedstudios.com/blog/multipartformdata-file-upload-with-angularjs + * https://www.terlici.com/2015/05/16/uploading-files-locally.html + * https://github.com/nervgh/angular-file-upload/blob/master/src/services/FileUploader.js + */ + + +function changeInput() { + console.log ('input imgClicked'); +} + +(function() { +'use strict'; + +// WARNING: Angular ng-change does not work on input/file. Let's hook our callback through standard JS function +var tmpl = '
'+ + ''+ + ' ' + + '
' + + '' ; + +function basename(path) { + return path.split('/').reverse()[0]; +} + +angular.module('UploadFile',['ConfigApp']) + +.directive('uploadFile', function(ConfigApp, $http, JQemu) { + function mymethods(scope, elem, attrs) { + + // get widget image handle from template + scope.imgElem = elem.find('img'); + scope.inputElem = elem.find('input'); + scope.submitElem = JQemu.findByType (elem.children(), "submit"); + + + // Image was ckick let's simulate an input (file) click + scope.imgClicked = function () { + scope.inputElem[0].click(); // Warning Angular TriggerEvent does not work!!! + }; + + // upload file to server + scope.UpLoadFile= function(files) { + + + for (var i = 0; i < files.length; i++) { + var file = files[i]; + console.log ("Selected file=" + file.name + " size="+ file.size/1024); + var mimeType = /image.*/; // build regular expression from Mime + if (!file.type.match(mimeType)) { + continue; + } + + if (file.size > scope.sizemax*1024) { + scope.imagepath = scope.istoobig; // warning is path is wrong nothing happen + scope.$apply('imagepath'); // we short-circuit Angular resync Image + } else { + + scope.basename=basename(file.name); + scope.imgElem[0].file = file; + + var reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = function (upload) { + scope.imagepath = upload.target.result; + scope.$apply('imagepath'); // we short-circuit Angular resync image + scope.submitElem[0].click(); // Warning Angular TriggerEvent does not work!!! + }; + } + } + }; + + // Initiallize default values from attributes values + if (attrs.icon) scope.imagepath= ConfigApp.paths[attrs.category] + attrs.icon; + else scope.imagepath=ConfigApp.paths.avatars + 'tux-bzh.png'; + + if (attrs.istoobig) scope.istoobig= ConfigApp.paths[attrs.category] + attrs.istoobig; + else scope.istoobig=ConfigApp.paths.avatars + 'istoobig.jpg'; + + scope.name= attrs.name || 'avatar'; + scope.mime= attrs.mime || 'image'; + scope.sizemax= attrs.sizemax || 100; // default max size 100KB + + } + + return { + restrict: 'E', + template: tmpl, + link: mymethods, + scope: { + callback : '=' + } + }; +}); + +console.log ("UploadFile Loaded"); +})(); diff --git a/afb-client/app/Frontend/widgets/Navigation/LinkButton.js b/afb-client/app/Frontend/widgets/Navigation/LinkButton.js new file mode 100644 index 0000000..3e83425 --- /dev/null +++ b/afb-client/app/Frontend/widgets/Navigation/LinkButton.js @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Bugs: Input with Callback SHOULD BE get 'required' class + */ + +(function () { + 'use strict'; + + var tmpl = '' + + '' + + '{{label}}' + + ''; + + + angular.module('LinkButton', []) + .directive('linkButton', function ($location) { + + function mymethods(scope, elem, attrs) { + + scope.clicked = function () { + + if (!attrs.query) $location.path(attrs.href); + else $location.path(attrs.href).search(attrs.query); + }; + + // ajust icon or use default + scope.icon = attrs.icon || 'fi-link'; + scope.label = attrs.label || 'Jump'; + scope.href = attrs.href || '/home'; + + // add label as class + elem.addClass (scope.label.toLowerCase()); + } + + return { + restrict: 'E', + template: tmpl, + link: mymethods, + scope: {} + }; + }); +})(); diff --git a/afb-client/app/Frontend/widgets/Navigation/Navigation.scss b/afb-client/app/Frontend/widgets/Navigation/Navigation.scss new file mode 100644 index 0000000..2babf24 --- /dev/null +++ b/afb-client/app/Frontend/widgets/Navigation/Navigation.scss @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +@import "app/ibz-mixins"; + + +link-button {@include ibz-button(#3366ff,1rem)}; + +//pale blue for secondaty link +link-button.secondary {@include ibz-button(#99b3ff,1rem)}; + diff --git a/afb-client/app/Frontend/widgets/Notifications/ModalNotification.js b/afb-client/app/Frontend/widgets/Notifications/ModalNotification.js new file mode 100644 index 0000000..37ba047 --- /dev/null +++ b/afb-client/app/Frontend/widgets/Notifications/ModalNotification.js @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Bugs: Input with Callback SHOULD BE get 'required' class + * + * ref: https://developer.mozilla.org/en-US/docs/Web/Events/mouseover + * + * usage: + * + * tipModal: listen event from elem.parent() to display tip-modal + *
+ * + * + *
+ * + * Note: use CSS.visibility to avoid display flickering at initial display. + */ + +(function () { + 'use strict'; + + var tmpl = '
' + + '' + + '{{tip}}' + + '
' ; + + angular.module('ModalNotification', []) + .directive('tipModal', function ($timeout) { + + function mymethods(scope, elem, attrs) { + scope.parent = elem.parent(); + scope.modal = elem.find("div"); + + + // delay tip display to avoid blinking when moving mouse fast + function display () { + function action() { + if (scope.show) scope.modal.css({opacity: 1, visibility:'visible'}); + } + scope.show = true; + scope.timeout = $timeout(action, scope.delay); + } + + function close () { + scope.show = false; + scope.modal.css({opacity: 0, visibility:'hidden'}); + } + + + // ajust icon or use default + scope.icon = attrs.icon || 'fi-lightbulb'; + + // Update Parent element to get mouse event + scope.parent.addClass ('as-modal-tip'); + scope.parent.bind('click', close); + scope.parent.bind('focus', display); + scope.parent.bind('mouseover', display); + scope.parent.bind('mouseleave', close); + scope.parent.bind('blur', close); + + scope.delay = attrs.delay || 1000; // wait 1s before displaying tip + } + + return { + restrict: 'E', + template: tmpl, + link: mymethods, + scope: {tip: "="} // tip may not be defined when widget is display + }; + }); +})(); diff --git a/afb-client/app/Frontend/widgets/Notifications/Notifications.scss b/afb-client/app/Frontend/widgets/Notifications/Notifications.scss new file mode 100644 index 0000000..5d42d2a --- /dev/null +++ b/afb-client/app/Frontend/widgets/Notifications/Notifications.scss @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Reference: http://www.greywyvern.com/?post=337 + */ + +@import "app/ibz-mixins"; + + +link-button {@include ibz-button(#3366ff,1rem)}; + +// Modal should be relative and tip-modal-popup absolute +tip-modal { + position:relative; +} + +.tip-modal-popup { + //visibility: hidden; + width: 20rem; + position:absolute; + top:1em; + padding: 0.2em 0.6em; + border:1px solid #996633; + background-color:#e5ffff; + color:#000; + opacity:0; + transition:visibility .5s linear 1s,opacity 1s linear; + border-radius: 5px; + i { + margin: 0 .3rem 0 0; + display: inline; + } +} diff --git a/afb-client/app/etc/AppDefaults.js b/afb-client/app/etc/AppDefaults.js new file mode 100644 index 0000000..7b5326a --- /dev/null +++ b/afb-client/app/etc/AppDefaults.js @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +var SESSION_TIMEOUT= 3600000; // default is 1h loggin session + +// Default config will be superseaded by ProjectRoot/.config-l4a.js $HOME/.config-l4a.js /etc/default/config-l4a.js +config = { + + APPNAME : 'AFBclient', // AppName is use as main Angular Module name + FRONTEND: "Frontend", // HTML5 frontend [no leading ./] + BACKEND : "Backend", // NodeJS Rest API [no leading ./] + URLBASE : '/opa/', // HTML basedir when running in production [should end with a /] + APIBASE : '/api/', // Api url base dir [should end with a /] + DEBUG : 4001, // Node Debug Port + DBG_LVL : 5, // Debug Trace Level 0=no trace. + + // EXPRESS WEB server config [note: URLBASE generate rewriting rules] + EXPRESS_HOST : 'localhost', // HTTP will only listen on related Internet interface + EXPRESS_PORT : 4000, // HTTP port + EXPRESS_LOGDIR : __dirname + '/../../log', // httpd log file + EXPRESS_SECRET : Math.random().toString(36).slice(2), // [default cookie session] + EXPRESS_SESSION : SESSION_TIMEOUT +}; + +module.exports = config; + diff --git a/afb-client/app/etc/_Config.js b/afb-client/app/etc/_Config.js new file mode 100644 index 0000000..ce93d43 --- /dev/null +++ b/afb-client/app/etc/_Config.js @@ -0,0 +1,44 @@ +/* + * Copyright 2014 Fulup Ar Foll + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var fs = require('fs'); + +function Config () { + 'use strict'; + var values=[]; + var extention='-l4a.js'; + var conf; + + // Configs file path last one supersead first one. + var files= [__dirname + "/AppDefaults.js", "/etc/default/noderc"+ extention, process.env.NODERC, process.env.HOME + "/.noderc"+ extention , __dirname +"/../../.noderc.js" ]; + + // Parse any existing files within config list & merge them + for (var idx in files) { + if (files[idx]) { + //console.log ("files=", files[idx]); + if (fs.existsSync (files[idx])) conf=require (files[idx]); + for (var i in conf) values[i] = conf[i]; + } + } + + // set path to search for node_module within parent directory + process.env.NODE_PATH= process.env.NODE_PATH + '../node_modules'; + + // console.log ("values=", values); + return values; +} + +module.exports = Config(); diff --git a/afb-client/app/etc/_Trace.js b/afb-client/app/etc/_Trace.js new file mode 100644 index 0000000..79ef4f5 --- /dev/null +++ b/afb-client/app/etc/_Trace.js @@ -0,0 +1,55 @@ +/* + * Copyright 2014 Fulup Ar Foll + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var util = require("util"); +var path = require("path"); +var config= require('./_Config'); + +function TracePoint () { + var saved = Error.prepareStackTrace; // save default prepareStack function + Error.prepareStackTrace = function(_, stack){ return stack; }; // overload err stack handling + Error.captureStackTrace(this, arguments.callee); // request a stack + this.trace = this.stack; // effectively build trace + Error.prepareStackTrace = saved; // restore original nodejs function +} + +// ------- Public Methods -------------- +var dbgLevel = function(target, level, format) { //+ arguments + // try to get debugLevel from calling object or global config + if (target && target.dbgLevel) dbgLevel = target.dbgLevel; + else dbgLevel = config.DBG_LVL || 1; + + if (dbgLevel >= level ) { + + var args = [].slice.call(arguments, 2); // copy argument in a real array leaving out level + var message = util.format.apply(null, args); + + var trace = new TracePoint().trace; + var info = { + fullpath : trace[1].getFileName(), + linenum : trace[1].getLineNumber(), + basename : path.basename (trace[1].getFileName()) + }; + + if (dbgLevel >= 5) { + console.log("%s:%d", info.fullpath, info.linenum); + console.log("\t[%d] %j", dbgLevel, message); + } + else console.log("--%d-- [%s:%d] -- %j", dbgLevel, info.basename, info.linenum, message); + } +}; + +module.exports = dbgLevel; -- 2.16.6