From fff01c8e4249bf9bcb88e101591c0491b3fbdded Mon Sep 17 00:00:00 2001 From: Wik-T <812952667@qq.com> Date: Fri, 6 Jan 2023 09:23:24 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AF=B9=E6=8E=A5=E4=BC=98=E6=83=A0=E5=88=B8?= =?UTF-8?q?=202.=E5=AF=B9=E6=8E=A5=E6=94=AF=E4=BB=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 38 ++- Utils/Api.js | 53 +++- manifest.json | 4 +- pages.json | 20 +- pages/index/index.vue | 499 ++++++++++++++++++++++++++++++-------- pages/welcome/welcome.vue | 78 ++++++ static/noorder.png | Bin 38119 -> 29793 bytes 7 files changed, 576 insertions(+), 116 deletions(-) create mode 100644 pages/welcome/welcome.vue diff --git a/App.vue b/App.vue index 3db0a77..f2fb0c8 100644 --- a/App.vue +++ b/App.vue @@ -9,15 +9,51 @@ imgUrl: 'https://xuan-pay-private.obs.cn-southwest-2.myhuaweicloud.com', userInfo: "", openId: '', + token: '', appId: 'wxa075e8509802f826', code: '', //code获取openid - snNo: '' // 设备sn号 + snNo: '', // 设备sn号 + //正式 + // url: 'https://hsg.dctpay.com/user', + // imgUrl: 'https://hsg.dctpay.com/filesystem/', + // imageWxImg: 'https://hsg.dctpay.com/filesystem/wxApplets/', + //测试 + url: 'https://hsgcs.dctpay.com/user', + graurl:'https://gratia-pay.dctpay.com/crest', + imgUrl: 'https://hsgcs.dctpay.com/filesystem/', + imageWxImg: 'https://hsgcs.dctpay.com/filesystem/wxApplets/', }, onLaunch: function() { console.log('App Launch'); }, onShow: function() { console.log('App Show') + let that = this; + uni.getStorage({ + key: 'openId', + success(e) { + if (e.data) { + that.globalData.openId = e.data; + } + } + }) + uni.getStorage({ + key: 'user', + success(e) { + if (e.data) { + that.globalData.userInfo = e.data; + } + } + }) + + uni.getStorage({ + key: 'token', + success(e) { + if (e.data) { + that.globalData.token = e.data; + } + } + }) }, onHide: function() { console.log('App Hide') diff --git a/Utils/Api.js b/Utils/Api.js index be08817..e4f5379 100644 --- a/Utils/Api.js +++ b/Utils/Api.js @@ -3,23 +3,58 @@ import { } from './Request.js'; let app = getApp(); let base = app.globalData.url; +let grabase = app.globalData.graurl; // 门店详情 export const getQrCodeDetail = params => { - return POST('POST', `${base}/payQrCode/getQrCodeDetail`, params).then(res => res.data); + return POST('POST', `${grabase}/payQrCode/getQrCodeDetail`, params).then(res => res.data); } //银行卡识别 export const recognizeBankCard = params => { - return POST('GET', `${base}/ocr/recognizeBankCard`, params).then(res => res.data); -} -//H5 code 转化openid -export const getAccessToken = params => { - return POST('GET', `${base}/wechat/getAccessToken`, params).then(res => res.data); -} + return POST('GET', `${grabase}/ocr/recognizeBankCard`, params).then(res => res.data); +} + //创建 JSAPI 订单 export const createJSAPIOrder = params => { - return POST('POST', `${base}/tradeOrder/createJSAPIOrder`, params).then(res => res.data); + return POST('POST', `${grabase}/tradeOrder/createJSAPIOrder`, params).then(res => res.data); } // 支付 JSAPI 订单 export const jsapiPay = params => { - return POST('POST', `${base}/pay/jsapiPay`, params).then(res => res.data); + return POST('POST', `${grabase}/pay/jsapiPay`, params).then(res => res.data); +} + +//计算价格 +export const calculation = params => { + return POST('GET', `${grabase}/tradeOrder/calculation`, params).then(res => res.data); +} + +//H5 code 转化openid +export const getH5AccessToken = params => { + return POST('GET', `${base}/wechat/getH5AccessToken`, params).then(res => res.data); +} + +//获取登录验证码 +export const getLoginSMSCode = params => { + return POST('POST', `${base}/sms/getLoginSMSCode`, params).then(res => res.data); +} +//手机号登录 +export const phone = params => { + return POST('POST', `${base}/login/phone`, params).then(res => res.data); +} +//获取用户积分余额 +export const getUserAccount = params => { + return POST('POST', `${base}/getUserAccount`, params).then(res => res.data); +} + +//退出登录 +export const loginout = params => { + return POST('POST', `${base}/login/out`, params).then(res => res.data); +} + +//获取用户信息 +export const getUserDetail = params => { + return POST('POST', `${base}/getUserDetail`, params).then(res => res.data); +} +//查询优惠券 +export const queryUserDiscountList = params => { + return POST('GET', `${base}/discount/queryUserDiscountList`, params).then(res => res.data); } diff --git a/manifest.json b/manifest.json index 6140c54..96b39f3 100644 --- a/manifest.json +++ b/manifest.json @@ -1,5 +1,5 @@ { - "name" : "scan-pay-h5", + "name" : "惠支付", "appid" : "__UNI__BEFC310", "description" : "", "versionName" : "1.0.0", @@ -74,7 +74,7 @@ "mode" : "hash", "base" : "/scanPay" }, - "title" : "支付", + "title" : "惠支付", "devServer" : { "https" : false } diff --git a/pages.json b/pages.json index 0eaad5f..8ab7e76 100644 --- a/pages.json +++ b/pages.json @@ -1,17 +1,29 @@ { "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { - "path": "pages/index/index", + "path": "pages/welcome/welcome", "style": { - "navigationBarTextStyle": "white", - "navigationBarTitleText": "首页", - "onReachBottomDistance": 50, + "navigationBarTitleText": "", + "enablePullDownRefresh": false, "app-plus": { "titleNView": false, //禁用原生导航栏 "softinputNavBar": "none" } } + + }, { + "path": "pages/index/index", + "style": { + "navigationBarTextStyle": "white", + "navigationBarTitleText": "首页", + "onReachBottomDistance": 50, + "app-plus": { + "titleNView": false, //禁用原生导航栏 + "softinputNavBar": "none" + } + } } + ], "globalStyle": { "navigationBarTextStyle": "black", diff --git a/pages/index/index.vue b/pages/index/index.vue index 9aa65fd..b08ee95 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,7 +1,7 @@ @@ -113,9 +156,14 @@ import wybPopup from '../../components/wyb-popup/wyb-popup.vue'; import { getQrCodeDetail, - getAccessToken, + getH5AccessToken, createJSAPIOrder, - jsapiPay + jsapiPay, + getLoginSMSCode, + phone, + getUserAccount, + queryUserDiscountList, + calculation } from '../../Utils/Api.js'; // #ifdef H5 var jweixin = require('jweixin-module'); @@ -131,13 +179,13 @@ data() { return { plateNumberList: [], - length: 4, - inputPrice: '', //输入金额 + length: 6, discountPrice: 0, //优惠金额 + inputPrice: '', //输入金额 payPrice: 0, //支付金额 reNum: 0, // 是否重复 - priceValue: [0, 20000], // 可以指定默认值 - discountList: [], //优惠券数据 + priceValue: [0, 0], // 可以指定默认值 + discountList: '', //优惠券数据 memDiscountId: [], //选择中的值 numKeybordList: [ [1, 2, 3], @@ -153,81 +201,266 @@ suNo: '', //sn号 storeList: '', //门店信息 isDiscount: true, + user: '', //用户信息 + deductionPrice: '0.00', //优惠券抵扣 + //一键登陆 + phoneNumber: "", + code: '', + getCodeText: '获取验证码', + getCodeBtnColor: "#ffffff", + getCodeisWaiting: false, } }, mounted() { // this.openKeyBoard('number'); }, onLoad: function() { - var arr1 = window.location.href; - var arr2 = arr1.split('='); - if (arr2[1].length == 12) { - var arr3 = arr2[1].split('#/'); - app.globalData.snNo = arr3[0]; - uni.setStorage({ - key: "snNumber", - data: arr3[0] - }) - this.jumpWeb(); - } else { - var arr4 = arr2[1].split('&'); - app.globalData.code = arr4[0]; - let that = this; - uni.getStorage({ - key: 'snNumber', - success(e) { - app.globalData.snNo = e.data; - that.getQrCodeDetail(); - } - }) + // var arr1 = window.location.href; + // var arr2 = arr1.split('='); + // if (arr2[1].length == 12) { + // var arr3 = arr2[1].split('#/'); + // app.globalData.snNo = arr3[0]; + // uni.setStorage({ + // key: "snNumber", + // data: arr3[0] + // }) + // this.jumpWeb(); + // } else { + // let that = this; + // var arr4 = arr2[2].split('&'); + // app.globalData.code = arr4[0]; + // uni.getStorage({ + // key: 'snNumber', + // success(e) { + // app.globalData.snNo = e.data; + // that.getQrCodeDetail(); + // } + // }) + // } + // if (app.globalData.code) { + // this.getH5AccessToken(); + // } + if (app.globalData.snNo) { + this.getQrCodeDetail(); } - if (app.globalData.code) { - this.getAccessToken(); + if (app.globalData.userInfo) { + this.user = app.globalData.userInfo; + this.getUserAccount(); + this.queryUserDiscountList(); } - // if (app.globalData.snNo) { - // this.getQrCodeDetail(); - // } }, computed: { //获取输入金额值 plateNumberStr() { let str = ''; + let parice = ''; this.plateNumberList.forEach(item => { str += item.toString(); }) - this.payPrice = str - (this.priceValue[1] / 10 / 10); - if (this.payPrice > 0) { + parice = str - (this.priceValue[1] / 10 / 10); + if(str == 0){ + this.calculation(0); + } + if(str){ + this.calculation(str); + } + if (parice > 0) { this.cjstu = false; } else { - this.payPrice = 0; + // this.payPrice = 0; this.priceValue = [0, 0]; } + this.inputPrice = str; return str; }, }, methods: { - //H5 获取openId - getAccessToken(item) { + Timer() {}, + //发送验证码 + getCode() { + uni.hideKeyboard() + if (this.getCodeisWaiting) { + return; + } + if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { + uni.showToast({ + title: '请填写正确手机号码', + icon: "none", + duration: 2000 + }); + return; + } + uni.showLoading({ + title: '发送中...' + }) let params = { - code: app.globalData.code + phone: this.phoneNumber, + } + getLoginSMSCode(params).then(res => { + uni.hideLoading(); + if (res.return_code == '000000') { + this.getCodeisWaiting = true; + this.getCodeBtnColor = "rgba(255,255,255,0.5)" + uni.showToast({ + title: '验证码已发送', + icon: "none" + }); + this.setTimer(); + } + }) + }, + setTimer() { + let holdTime = 60; + this.getCodeText = "重新获取(60)" + this.Timer = setInterval(() => { + if (holdTime <= 0) { + this.getCodeisWaiting = false; + this.getCodeBtnColor = "#ffffff"; + this.getCodeText = "获取验证码" + clearInterval(this.Timer); + return; + } + this.getCodeText = "重新获取(" + holdTime + ")" + holdTime--; + + }, 1000) + }, + //登陆 + doReg() { + uni.hideKeyboard(); + //模板示例部分验证规则 + if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { + uni.showToast({ + title: '请填写正确手机号码', + icon: "none" + }); + return false; + } + if (!this.code) { + uni.showToast({ + title: '请填写验证码', + icon: "none" + }); + return false; + } + uni.showLoading({ + title: '提交中...' + }) + let params = { + phone: this.phoneNumber, + smsCode: this.code, + "type": "SMS", + "platform": "H5", + } + phone(params).then(res => { + uni.hideLoading(); + if (res.return_code == '000000') { + app.globalData.userInfo = res.return_data + .object + .highUser; + app.globalData.token = res.return_data.uniqueCode; + this.user = res.return_data + .object + .highUser; + uni.setStorage({ + key: "user", + data: res.return_data + .object + .highUser + }) + uni.setStorage({ + key: "token", + data: res.return_data.uniqueCode + }) + this.$refs.popups.hide(); + this.getUserAccount(); + } else { + this.showtoastdes = res.return_msg; + uni.showToast({ + title: res.return_msg, + icon: "none", + duration: 2000 + }); + } + }) + }, + //弹出登陆 + showPopuplogin() { + this.$refs.popups.show(); + }, + //查询积分 + getUserAccount() { + getUserAccount().then(res => { + if (res.return_code == '000000') { + this.priceValue[1] = res.return_data.integral; + } + }); + }, + //查询优惠券 + queryUserDiscountList() { + let datas = { + platform: 2, + storeNo: app.globalData.snNo, + status: 1, + pageNum: 1, + pageSize: 9999 } - getAccessToken(params).then(res => { - if (res.return_code == '000000' && res.return_data.openid) { - app.globalData.openId = res.return_data.openid; + queryUserDiscountList(datas).then(res => { + if (res.return_code == '000000') { + this.discountList = res.return_data.list; + } + }); + }, + //计算价格 + calculation(item) { + let storetype = ''; + let storeprice = ''; + if (item >= this.storeList.discountActivity.discountCondition && this.storeList.discountActivity.discountType == 1) { + storetype = this.storeList.discountActivity.discountType; + storeprice = this.storeList.discountActivity.discountPrice; + }else{ + storetype = this.storeList.discountActivity.discountType; + storeprice = this.storeList.discountActivity.discountPrice; + } + let datas = { + transactionPrice: item, + storeDiscountType: storetype, + storeDiscountPrice: storeprice, + userDiscountType: '', + userDiscountPrice: '' + } + calculation(datas).then(res => { + if (res.return_code == '000000') { + this.payPrice = res.return_data; } else { - this.jumpWeb(); + this.payPrice = 0; } }); }, + //H5 获取openId + // getH5AccessToken(item) { + // let params = { + // code: app.globalData.code + // } + // getH5AccessToken(params).then(res => { + // if (res.return_code == '000000' && res.return_data.openid) { + // app.globalData.openId = res.return_data.openid; + // } else { + // this.jumpWeb(); + // } + // }); + // }, //查询门店详情 getQrCodeDetail() { let datas = { serialNumber: app.globalData.snNo + // 1000017421 + } getQrCodeDetail(datas).then(res => { if (res.return_code == '000000') { - this.storeList = res.return_data.qrCode + this.storeList = res.return_data; } }) }, @@ -246,12 +479,11 @@ } else if (userAgent.match(/MicroMessenger/i) == "micromessenger") { location.href = - 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxa075e8509802f826&redirect_uri=https%3A%2F%2Fpaycs.dctpay.com%2FscanPay%2Findex.html%23%2F&response_type=code&scope=snsapi_base&#wechat_redirect'; + 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxa075e8509802f826&redirect_uri=https%3A%2F%2Fhsgcs.dctpay.com%2Fgratia-pay-scanPay%2Findex.html%23%2F&response_type=code&scope=snsapi_base&#wechat_redirect'; } }, //提交支付 confirm() { - let lenth = this.plateNumberList.length - 1; // if (!this.payPrice) { // uni.showToast({ @@ -287,12 +519,12 @@ this.plateNumberList = []; return; } - var userAgent = navigator.userAgent.toLowerCase(); - if (userAgent.match(/Alipay/i) == "alipay") { - this.createJSAPIOrder('ALIPAY'); - } else if (userAgent.match(/MicroMessenger/i) == "micromessenger") { - this.createJSAPIOrder('WECHAT'); - } + // var userAgent = navigator.userAgent.toLowerCase(); + // if (userAgent.match(/Alipay/i) == "alipay") { + // this.createJSAPIOrder('ALIPAY'); + // } else if (userAgent.match(/MicroMessenger/i) == "micromessenger") { + this.createJSAPIOrder('WECHAT'); + // } }, // 创建订单 createJSAPIOrder(item) { @@ -301,7 +533,7 @@ "qrCodeSN": app.globalData.snNo, "payUserId": app.globalData.openId, "payMode": item, - "totalAmount": this.payPrice + "totalAmount": this.inputPrice } createJSAPIOrder(datas).then(res => { if (res.return_code == '000000') { @@ -322,7 +554,7 @@ } jsapiPay(datas).then(res => { if (res.return_code == '000000') { - this.payRequest(res.return_data.payParam.acc_resp_fields); + this.payRequest(res.return_data.payParam); } else { uni.showToast({ title: res.return_msg, @@ -391,10 +623,10 @@ }) jweixin.config({ // debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 - appId: self.app_id, // 必填,公众号的唯一标识 - timestamp: self.time_stamp, // 必填,生成签名的时间戳 - nonceStr: self.nonce_str, // 必填,生成签名的随机串 - signature: self.sign_type, // 必填,签名,见附录1 + appId: self.appId, // 必填,公众号的唯一标识 + timestamp: self.timeStamp, // 必填,生成签名的时间戳 + nonceStr: self.nonceStr, // 必填,生成签名的随机串 + signature: self.sign, // 必填,签名,见附录1 jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); uni.hideLoading(); @@ -405,14 +637,12 @@ fail: function(res) {} }); jweixin.chooseWXPay({ - appId: self.app_id, - timestamp: self - .time_stamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 - nonceStr: self.nonce_str, // 支付签名随机串,不长于 32 位 - package: self - .package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) - signType: self.sign_type, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' - paySign: self.pay_sign, // 支付签名 + appId: self.appId, + timestamp: self.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 + nonceStr: self.nonceStr, // 支付签名随机串,不长于 32 位 + package: self.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) + signType: self.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' + paySign: self.sign, // 支付签名 success: function(res) { // 支付成功后的回调函数 uni.showToast({ @@ -432,26 +662,95 @@ }); }); }, - //支付宝支付 - unialiPay() { - // const unipayIns = this.unipay.initAlipay({ - // appId: 'your appId', - // mchId: 'your mchId', - // privateKey: 'your privateKey', - // // 如果不使用证书(普通公钥模式)需要alipayPublicKey - // alipayPublicKey: 'you alipayPublicKey', // 使用支付时需传递此值做返回结果验签 - // // 如果使用证书需要传alipayRootCertPath、appCertPath、alipayPublicCertPath - // alipayRootCertPath: path.join(__dirname,'../fixtures/alipayRootCert.crt'), - // appCertPath: path.join(__dirname,'../fixtures/appCertPublicKey.crt'), - // alipayPublicCertPath: path.join(__dirname,'../fixtures/alipayCertPublicKey_RSA2.crt'), - // }) - } - }, + } } diff --git a/static/noorder.png b/static/noorder.png index dd772b39890b3c4f2b64776938b86f17e8326947..19c7ccb353b3e4804034e29790333fb6aed83388 100644 GIT binary patch literal 29793 zcmcF~WmH?;({FIM01ZxXhazo(;skdHZY}OkaS1L3f){tU7HDy4i)(=b#l5(@UwHnq z-n-s)Ki&^nIqT${naLje?U~t;s>(7rm}Hm$002i$7NQOSAi$qL=%`P30y|z0J$+#~ z$?CcS09b_29|S;pCJ6w5sbnoFsj6z_=;r8Z<>&;KlavHIxj0%_+nECZp0imR9y*Da zFGQ9u&GED({v3TtwSxg@=_=9t@OAU?69Df+@PT68p%Iu`M8pJ{vYK5%lbEtu5v#e( zjh5n35qi;@2K)!q^Ce&Xybt&HZ>MitH#0ZyM!ZJx0ttYO@qhDe00QcvLV|y&<5Xn3 z`r85#iDj3O!T5g%e^{b)0{}-zUY`DLpGEHwY8(NG0H;Y#dSLI$V{o%7qc#8>4_KxJ zZek(8)d78+&^{tS9|_>IMx7ZZAPE4l^YWFT1(f3e_Ri!)Pym0*66ZmHKlv18=ztgm zKpL|QJ)&3(;GHH+ogK0B2OzgnjFuC*vl<~#_ZyE4VqhBz;6tnq98c^WATUjWeFy;N zM+8Vx5e_4P6_IjZj(04V89RkG$|3+d2a|_W6~=jq8k2vKd7Kjug zfw4}TnVLaID7%TIID!oTkX?^`f8ZB|Z~k3h`D?LhcX-yF|6qIMNGn2fy!6oe5fK@H zuRMAt}H^?C(UCow%9bDO)>1i0@G$V%YSZLiiG>>wy%Qc_b;~q|i>mKgeG{Ba!72 zq_5!Df9K}M*<1!1z;>NLsP9O!e~`3>VIYh5p%cER5sV-(iTy)6f(}ZHMW%f(%a;&X z2;Pn$Qlsteb16hDldy?5l%+f2a3Kee#vG;}P zhR!RkxL2l>I&VG@lXqsnKSZZTj1DB+LpKV+|6vydhs)?F>PVI{?9tT&o6)r~f1z&2cLOhT96ta|7EIPk_D|j{hibZNicWf!V?ir4@hXh8{EDSD>r~guFn+(N zm@K2zY$?dUic=dFDxDi9TL3j}=pl`vdC|jTeyk%g<)VeO z%WnHg$wa^QdQb5K$}RZ^E+0h=N!N0VN{e`ltiR5~2)I38mX8ExGUZ2TMsP-aIFL9* zIlfHUR9RH{SG}3_o^78s*>~B0vA;We=5kF-x>>C`w0X{bbVp>u zbk}Pe<9y&8cY9$>=G^|Q;2gAbICVHi{pKYf`fE6;9XG$}(Gc8p%l4CXzBsw%PC7XIkg(VnU0gGP~uYUq|<*%%=DbqNFILTvmS464CO~ zI@g-6l$$cxW#6@*(za72*UrGs5X>0-R$7%&)%796eu-$6D2`>E|A=DB8_z5*31 zzz2b;A5uXY_9amz4msX~$s1$`&EsDu&I>YHGUlsh?0+u|33vNd+$wQqkoOz@6h0I` zJG#_absk#FD# z2x5+RPI!B9JMEHiJDvZOf0{qqUH0wUo5B0ItBw_~lNZOzDDM!yBWxhF!N_2BNVZ7S z$Z5z$Xs=LWP+CyAutkU^urY9Ssa+BsJ3%Mp*QUJlmh9IXdG!!y%BA znUqoK9I;)f;#fhwdbKL<3q`I{ zHcx#Lea}YOHd(#jyh|1jJJ)nrK`(sU;Gb0+KiBM!wBPeDYV= z5l$8Pam)s}vAz7FTb{SgdF*ig@W3$AtM{+=^@qMy&Yk4FF1YZ{3NRehy05BeXrE!6 zo$6Td@Hxc|rX+s5c$l=;`jyR7+qO;0@7!VhAZQ_u%!ItT&~T2vE9=EJF4*B-$x&dRE1cJMxb?9hi_(ZvroG|O|B!pl)V=proOX6@7PIj2 z^?Fd^T8UXnc9ycJ@b9#FuS>mF-uKDHQzP3=c+nLht+p)umfE%06N!RJCX->l&ueQUUJ@N(z z#s!K-hUW9D4;T9&56lC_c|-3w&zigT+4~)|8@!!>`iC#(o%YLD?>gU&{?x@g#Kj2D zen@(p2wxeO8IqZ#lctM_%c7-?I^rdKTzpqGGUs>Lc-Xwu+eV$nd?)sxdOCJv+FSBV z6`ZR`>TVt3*F06!^=vaVS(P)wFq>mrr13%>g@1Ka>hx@4ggvG+ z(|isiE+6`a$}4wbPXjd~1#+nNeLxj^8uBnWb+au=Sqq8+vl!KLJYa7R-FU<$> zSOmRzj5Ah<=1*$QavtY+E7iDRpTrcwjBpJaxP?8T94&fx)Ir5*e1D{x|HWh$8!K*V z*WOIc;;CKEizOy`ovDWX_JBau(O-~vX_M2)Pe$<1`z1QyN*(aP?=IAXhmr36ld+Aq zDF){~QZB!BrRw~Ek`YQnJ>)1bJ{^!qf*w2LiQ|(-kX@9q3Mom==+7xwgoE-26Z>$y z20K`O-z{0OUS`T77h#!ke1C&PHu=ovS;kXwa6IM};JccfyvcT?^Y&##>@?d6Ex~inS;m@%v7$w!|)UH5b+y^A|vN58#L~`rUW+z zM*Y!0j-1KkzvB2~b;YA0EVX~@PG#S6S6;{+rkVlrH@pId)p`h5C8H zp2e>p8+Q+;Uj1ks(Xl(wZ`-%XW=QRE*uU{?dQKojg0Wl$23omFT~LM5!d5y z^(4@f4HNcx6GVXGz7?Z)^F<(O8udeu zG&5BtmPuz5sgQs@`NsNpMd01l4GFI?t|;qp47DvZ_SLvsv*E>)ME|T+r8W#*?WYC7 zrEO>R2pV>2B6swW82j!c{A#AG^uG^T!i1E@rU4+tD)Uyuuq|=TYi-T8H%bP4Pwbw2 z5W|cTy)ZqA==(KopM|&)SUDTR6I{8>K?p{S6J%PVJ36|2wuDAQ&7dpB?P1@nAg)R8H|c}ACS~t&hz8Xp{$=QjT@GWyf7zy>Ln8S(;)&~T+g!oQ zt0X^Oao^a&6y6fZ`2&qP5iq5w#eUvn;t6aPL%RR|$H2c~LZHsTcWLpmHDaw0q6k{t z$qKRTxMntQ+5~e5WqSD*Rfr?u1_EDhpeycwls57K2DV}+@GyzQ#+Ti!b0VAPib&M{ zfN94PS#Mj=9Po2vsZ&ne>A&k2i&4nzVo-iXIKN4VjvOQjsa9Q4%A%?A2NDqYemrnB zFTDp3_ozAl>jg6oWFA&lmM#b!N`rFDh%ZmTLi+_EZ(t|r&TC5puVqHJ27h1CW`SRf zHZDfDeldMO$%~OMH5;xnKAuSR^|SdIT$t<(ZGCb8lTTvG@?iIv<9w10Ad`z4q<6L> zk5qPcyWhKlB}ojc9)KCbIPjiAg;t20)a+3<_k68pZ?&mrp~VE&RlhLeLqZbCt_@~g zrmRs*Ha1!5@-A1O&lz#JHxqRA;ui3xwl@FqFW(;|>LXIk(=*%P1Z_ye6^Lxa*p`o&^UfaVQ_ zVq^SrKuKNyOGM?+aZpuUOKDs#ZZf(uO9g4tzl=p!0vzgUDo5bZ*|J+O5ezLf7;ib-RQmi{kB+r&?0AYqLaDf9y7S<-|r@*XxJ3EvK@ zs5<)_=#M6nG0jAPV^lC`ByPSprrg`9)RAyjcMA}!(u}y%A*2ugx6FNE^hR5=tYZHD zB@0meRr-_J^>~B&7Lr>?m0vq`4~mzbHk6B}P>GK;-ijqr#t~K9#q=!n7Y7vJ ztCJ9)d_5Hzqc2TO8%^RtbrEYHrRme66dCFWjah0}sGGZ2}Jl z?z7>zbX{RxbQe@UR4toI0}OjgQTV295U~E>k2cNsSWL>5Ok(BuC|RnL;qmLv$No7< zRdSh*Jvx8Sq1I9=A9s1t)k4{E@RJZXA%4YO>CHQgIK$Bt-lVIXnx*dPGcKf#`f6@* zxj7&D)?HA>9j23A3Z>kOXXmEkx=LA`pso0r?@a=5@F9E)o-4o2S63z3s$mEw3(p=i z;sg7LBATwS_5#OFCPio*8VJdgg;Jk8d2DaM@P8mD(1?f+pz^DHWcUj0R{|Ttz_ZyM zs>U*dx~i1LWIc*yq2`jUu1)Wx^u&c4o=Mp zhs%+PzlbXnJ41)<4745|;uNT}5|2EWb(uS?FMn?*#gb649S4*v7cOU1x;pMEqYXmEol zvn=H3T4pvLq|N%@R}^xjUQuiIw@-}cr%4x~Dvn?j26;Ln>ZXW=2_i;DxPJVKBEgD* zIEOWm3TsIr9FB{CN-{r47F{JoBt^5uJ;h@8R_QeKgl5ZT={t7{4owlYEP*2@qXh|Y zQ93`-d%=3;=7TCI`0-z$Xle>lRA z2%JrV1VkCfBu%V8sc*|0l7UWpu(A_`k|3zWdz#p$urG+QTfphRV_+e#BB$$l=HHqh zt}_}6wlxEk(Q`6Xuir0Tn-{eaIs9hm#h|Co$a`&616e@{YDKp%$y1Au9N1eKC7$UC zN0h6im(WzlH0++D?x+>KO?&ied&T;!BRx!rLFDQ1E8+-1{y{$TJR&s3DwpS1aL}D! z*|8kg03s~nB?H2+zF8G%R31m6b+j}a!!gDfidoyH`W`yuXg!T-M3J`;v77IUx=bAz zIo8IJ1We4$v-gz9%bf|40xDf58Aqih@(0S;f+zxJ!Q2uAj8D!_+niTwWd*C z^DNNj?k&^7yNG3m5e)iBd8PMydW|!r6sl8i(!^5e@R3hQAxPJMP(J>Rcg8487{P*2 zDkGzh0v^3lbH)(hDO(=#JD?XKj1cIiasGFEMS~`N%IN|FS)WPmH(j!U>QdCFKm3d) zay04F1hO~=OP-yZux~aWQIc0;YR62)5Xs{8n{0xthcK|S7~VwmxGZ_U46)z%ij^5k z0%|#w*);bfN+e>n7+D>^CSe~Y$~cvJGeB?IFEW~HGnNp2IUD1|dlrlICWb`-f_N1d zG>5f-o$Ac_%2yvub%=#uR=QJ%VuXyHhi+8-dzUilCJ^-9RzeE+EXNuJNcJnST=XkK z*;%sw0DVf(m}olyi?WLQKwAkL`tHG4INP%0upw>Q!oJ4m)#D3dSOF-@G0N_+-GhlG_M-V=0xn zG<*jVv!j?b& z!5EhF3FqGtEZsBzsGs3)fA>;TPm42aB-GZuF+aEuQNIhii&9JaEwJ-C#QZ5C;lY+M z-P}*X#MBFi=(Sl7a<}TB^$aJvgPMKM3$S~ znvW%o*;(P6j75t7H9BS_@c0=RD;BoZc6HToKhOiJefKJiHfe+-7An{MPxvQ<0hF09 zVhBsp+2rvMa>dIGR9hGq^sYH@nGl$zf*lX74?(|)z#eL%Peq%!8thq?qo=K$B6wFC zOlxKOBC6FjsY@O^=&Cs&`1f7i*h8Dv=2i`IO?%2>t_T!~+IcO&V&@x)UT`pjh@$EpxtGZwk@rsdyv2zox%SPL2DeZk35> z{`P447k^Hl8nozD{YE)l^L0eJ_!JrO@%CPqskN{M0b1l=-Mr~GvfX)T= zq`Xf(D9(*@?2~q^xv8A2l2c2Tj48k(BUY1conRxN_%^$fBs9oeS2W-^&gShbtDg3@ zqV+U7qsXom^n1dQhjNnnVIpdGX>d$7f4^>WFjS!KpE&1sG?XejcDZ?uBVamb5vc%D zkV?Y-q*pE+2|?_hCn{IicBS7=@T5N1f^wR6t~Zt5DM0VF8mI(dq%ja@*SDz1r2;c) zm~+4XiYPNw7d4j<3(QW2vi_c6EmQcF&1m>zFQdSP^8U>WEn1fn+MENX+Ydd95pmB* z7h`>B{tAJhr+b>>X~!}X{Z^G)^&NgSM8%c%r9YMYT3C@$C)QCR(0YA|sA_3$d``~-xjoPp0lF)8;W{EpMNmSS7*`FmU|bBvCfx!1@B+uV7+bj(1)e7m6b4< zZ~xsfQtO)T>BKVc{Hq#y%x(PbA)O(d(j7%q*xmO)vct^W@u_m+hLSMqNt4kHu#sHeH?aj&ovb8QLVhukiFHVf8h|GpQJyQqVSLbvfI@aMVr-qw% zYR%;f^g8*jba%zp^5Sl_Tbq*7`@r_nAo)#O!%D>jFqj|5`7c|;VS9}ggX@p#n7=}g z=Xk2r_5?o-Hd^|m{4J}!*}D*mBt`$qU1aYY-^N}pS^Xo~8KJBqThiovC~=U{ij$+3 z^Vh;p_u}@e#{s`bnjdGrV4+tldw@DkVD;f3ppBk>KEt81PfJ7T&R3+cH|jxmEiX=r znx=ZBVyR}tBKm{ATt;P@6z2%Ei%FdC-6*lsFnWQ+9Y!fn8#UM$JWul{s$>_Ve09|Q0rRr%P0K^-<7QpeuP4wBZ%6DePddl3`l!irR)x5LCIZ0-0A;m^ zs=@xyCwyfZMni|-mv3w(80y43(d^UN+MZFjM@b1k+7f4P$;(K{hZ1yM9$-a8u4_z( zjcc;s@Mnof@SoR(lMm0xK>lj;(pO6}knap7xcgTMHDG(62FgzOocFdj@3RHG%Am?x zVHYVddc1u6iMjX`%t`6t`LETTrCLch!m=0hwa=JG{B(XrnqxpHt=ql6kH$Ls>v6e? zv|^ieF5*$yIAqI>mK*9baqkq0fI>V|BMknOh!cRF%X0`fZrem-tm$w1d`*j1qs%~! zO79XkON7zIQK&DG;k1WSCbwvAbmo_GaKS8dyX66a5!aHgO zp2N=*+9K9$>eMhodhjN0i2N>-z?h3L8J_RdAbAm}D0A{h1#Ddjw{GhYgVwz0)!*tk zVH76?CFA9N9POvW6Jz5eI--cKrGLJCOOUl4qcq-wUoGoX3oMoKY{-AR z^){`#tkhT2$yijsV`tNz`UzVIint8N_}!K-HqH-S6pP8jjCyX1_Mbp}Bz>#bYeLpe$znOw*~!7{|+n zZ(`Ne>P0O(qc4_ll`U9Wdb1Cok5WCH^HNQqkERBV-H!Iuc=rYbR3|q)t#qikQ#q;c)iq<%4&*%$eI>yB$Yu2lz=4?N(n zq0uXBoIN#{@-pgp$!66aY_vq&M#T(sU5ulnLEemr{gS2B#>>Gv`FiY8Cg;NuEwKn0 zG6g$XAxD>%YnOK?XxWyb_D|u~z3P73}T{<_Ai|pJLD> z)??c!|F+leA-+~-7%+&hqMSsBsW4z2czEA}3c;cJM11x^{POafz>H4l0nCF|^_xVB zO6qikEDB-YOrXp>L2{b#sT8@IdXN@~sG$=_V25*(wxGiQ;G&TFl-Dv`H-_&0Qu!y`;s*%f zT*dtwD)@Q87b7rcdCeZ#dLCxNLwMKfLa9UkD5MRu4Eb`qa63Ryl#FpXy>w9gZ9mm3 zVBHyOCiT~?wMzAf#I0;Gwp(v|cm-V#$|U~gpf;o2E<^daW35o=RmA1Nhxj_SSHqT% zo4i$@o|Z2>lnKa6roT)#`N83L^Vb>4zi&ibt!ZX$+KXR-QxWQQz(2@ zyD=PfmL)`73fWl7KPg%qEmb;XvRD44w7$jnlJ~qIpeMJ6USxgMh9*?S#A5}dUg$lp<>L`Vsju})nmHb_ zc$7K9+*a{mByy0timXP#*S_wrR}HYyg!>EH5KMk0Wd0e6d*v~YJ?g&dXwfM^(;3gR z6aFJXhBe3N;hgKAG8;OXd1{1%X0mA_tIwN4xmdP21&g2ae^;8n@orG*)=taC3X-<2 zV>#^@%dZy&`(zxypFAmW+mt36Cn`@yQNxtle*OA%9g|@0)_F=~Z*@S=eODMP)iNJK zf@M*BNoXRFW2W|JIdM-Id@qPZyUfVvZ=ttQa=?D=Aj>@bL(40So zEuOcLZiy=`Fg>-*InjX|kP9)DPl8zZ)#~wY#*`Cl8&^E?owW?lYw$fPFR4#{nW?pv zL0b*j?2kz;zlcFT$?|%AW+He|{%c?mg^il1n#kSJVnuhLP27@&(-*++^xF3e*Im;- zJqE2#eNEBCPs@udbogFj9oGDk&}Yv{2U8ErM1EZMLKz-S>ZF$! zaaX}=DHYVs)xMN+oGvy+&~dVe;`5~%q!f_&fPt+c-a&gbe68-9>!1n?;?4MEp6|C~ze*K)sD36<$9-JLr{qh)FeL9`QHTnEsoVB!Z;UC|V zp_z;--X@rm4q!p=cS%0+$NSOV(7fY(Tfs)G{-z^eAy;t$bqQVjgC13d;^q(DxYywl z8;gaL!jy)yZ1-X5U2Y;jG|f-#czy8hwYM;siBtV~7}``uoyG!oMr-O4UcoA<{ZC^q zN8a2i-wzc}>5J8r2&0V)ACv?Q5U#E=iN$dgc*wB~vW|9D__UN_>+R;0?P!a4Oj$dF zS@Gt5xn-(zL{$tW)@K49md%rA8V$2_&YWZ6e8ChmZPuem9kr(7S+nP(DxdeOO+(x` zo0CcA$)#o%=Hj>VXpbbrZ^L;PqI@6jTdLkY$G*qAoWpGb^dScu2WhWY<=S)!UqSmj zB2ZDL*k0v7P1-3P4|0t}@gB?xXI{yrz|4$$Kvq{|wQ4aJ$!fdtf?S{Xh&EpO-ow?} zbWsevjIcs>6TO}I{()Q?_t5KlD!i!Vk4-pM_3dv$EG<(E@8IZ@o{`1)wOvd;`i*b& zIE0obZ~ZPFzsb1~_T9Wd*ON}gWk^ji|MJx?4CAn_1UbvWk;14slWzwTnYN~@DFgM4 zm6xEYSKxlG2~`qY?-F&Kh9aX;BJmb)qN0Ff#%(C z!VJygTIBelb)#5(OJ6K=8Rxrl;AniZzyI-T<^kjr>Vx=F8*S(^Bo54!9=mU|+ zKuK_zIagr$HMphU_+h};uD8DmSO61o8UA~?srJ-_GUG=tsTQjJp{nd_v&ykd0 zon`=gQvbu^K6NBlso8aqods=o#lUhvnn>cdNaXg__dH>|yQ82u?yIgLjgbdo@+#G5 zhYiTYk}*%-abXr zRlfzIVUZXLZ?})(0lqYOnOu7}VRt_^TP;Qpd$w+p>j+Dv(vzqOH$F1x+=V|L`?9G$ z+r1Rx*u}_8U568Wafx*$%;|{$Ym4IY$Ae5?=k_2mT@Gfp?w~qI!pt5m=uYa-_=4-j zjLcX{9A1wNw?Gb>g4dpY>O^Mg@MP0~>PpRhXzvoRz(6>65lVT(p>}_gcEgj?GK`z_ z94ocx;X6I734OIUkF*jq%-a@HzjWUAd6 zG}$jFn-qwQf9s>2ewk@&%h0G8)5sx7e^d+6I><)5smSu4VA>GvJvw+zAWY{Y(f)4p ziH{ zf;EJBUt=s)Wwo_cAHqq3@8_AsRkjmw)?U%O@*+(^%A+ii;>u8pdZL`+&(mYfHT8TDZv&1;r1*v9cNK^@3@{N0R(RiY7x<@8CaKKf!Mz-kx(l z3VMxvZwsHues_F&*x+{X3>hL(@)wHz%uA0@-NaTQG)fk0qxH%DHV^3(8%{8V;um}O zVs-nfEkwV8OxaxAvcFYRy6+=04Do9j1NA?jaY`<5L>UYOVxtD#T8g*3-=Me@Bo{u9 zffR~CTG%+XZQ^2(AC*J6Z`haIix}}beCK-8GisZRtjuXGr>74Xio07s6FF~8+0u~m zz%o@zHOlrhj05s7btGzVeC>vkI{;E{9Ta2Qa*vZbM!)XWR_!zYy1s8e1AQZW?&;~O zgLjnG!DGVO`94VZ9@$KCYzL2v)CR|S{n5LwiMv11((hIu8*|_{*ISZi^r#-hPmtf= ze}#6aeBgcoHw@88Ub>bJ*$}SatWZGWlUhz~(kU-ebjLp+S)vJU5FV9(#xvV&_*~2q zAK8S(p!l@PKdV@4qY*X*b60Gub^YD_O{AQx-lFZ!OR;hfb579D#O@1;;sxWobF)x) zaW6hpEE_JT<1ATfcnAIw5b12{i@WT&QR3YQ+s*1~|EVJ~5a*{M;tHgzVj31*Y@ZwW z^~{h7A9Sib*M7ppb8}`w;Kj86_2z!+aPvuf@0K!!_(}xNiGY%Czhp~Gs4M6ffDD6G zzih3w+F?@YQIt{o+^uAbAn8>UWJs&oYf~fWnV$>F`|%>hBI1*PCh^4erAvZGmn;&u zp7rmHC?1k$8n-%tI=FN;#xdWww-q~`lssk(jPb)mi5ie}W^D31&~q|V)Nq~<-ke|= zE6RwT?c@ByJ32b|Es$iu?B=NL4BNe2g1Z&xe8!+d9Nm5FiW6>+EmWoYh;SxTvb)-G z^lxWH{Psgl&Kc@Ju9X*0=tfZp%^2R3pX3k2Sih5U zCRomskFt99xcKYyUA&aZLN_2r%oFv5w92`|MLEn)qKJQxrr!Ak%h7s*l}y^*Rn@rk*eKYfeoSoPw2d zN^8XRqgS7Z=f=`Kwp(>KnDyrOcH>daT?0sOJMGD{T@lj;%FNugT%o0yj=*))8?L5G z^t*7#{asLwG(3B;n7Iq;VO0)-J>}TNwZI-f*7wB?K-nQNkaB?3Do2pP_rUk;pw*5h z5*3A@?ot0=TJO`urV_(6UzG4rXM^MFRxz)%I8q!BLz(yIjd0} z+=q{C$q6D^j60Af97C(sSMgu_e#O;8&J1w^XDCzc-aDtU=D8Rgi^_E03*M)Om*k=u zU{fPnsGOSzJUk;}xOqhmWENn^^L2Zsa!2MhoQ**tTxi#owzBj)iA>@;&h}+&6 zp4+3+tAyXL)vN5&=IEHkR?PNFJ+!0Jg{C6KAVKSsX*+G;ZeKrjz4I5dbtx*LYEnxK z<>a>z8btc?jU_~noSngMe$VW>cl{rGv9M?{pL&PUZqyx#CBWo{-~+SHqhy)(Pk-x{ zw(sA=Y52#CY{_Uj~ zF%n6h9-MUnKIL53#*eG1Rr62nhH&ls2R!BXc>}~o3v+M%y4M&-)v}y9ufZeKu!|l4 zxZ1DHaR<^KG(7qrwR)mwU&(&%iriHIXXo?3{%ecJAhKP#KrF#M_ffvPJ_>}spocEZrqFYYA5G0Avxm-Y#*gxW{xwQbo_;HPFULMjmgtKl$6ou zOesSNCSAw+;u@WNO#MZ~I7+U6qma7!pePaz)E>V;^XAAN@g&G}gI{Ks}r$4i-=(tSOIG;L?cmRd? zCoblf(vSEFGTb+D@|)5#mA*{nSNRk+N&qFs6~BI!Ubp4 zqpQ^=`ug+>-0HHJgFH55+g$col`SRc)+%ktL;h51M*FnHhoUE`k#b=M*;wXFbX?LEl7xoi}P z9rvzsXR{}nx-omJfHT(ZeYtdMzP7pYo1L3aLfXm>pEz}yG$&t8?#Ik3T`nzNrKiNR zvn$pY7#VT)cj79d#9Z2-=PVOpNBeIhjW$SkBiH(S?vvI00Ir})E&U;sWw$~OWNB>; zIL4P?2U#qj013YNG&lg6iaU#m{io3>jJWI}5wofrzvfk1RS#^{sceD{LkQKJ>9(c5 z8vZ=oqj>+v5?xb*H|OCUK~#xZ%ul%E`~&cLAmPaa9}n=RKa`5E$I#aLL@q9Qpu}c$ zvB!5Ke#h`^aL_WI3@oY1)n=~;G2hv>&FAv$1PSKTUJ0#6M_fP&k5|iX8dwda9;GNI zOOK6-?|1a3tGSjeBz2zkunJ|Y5P#3BwuHm;j+7z4{f=4rl42=UOCtVPi-AWLh8aoY z2y(423>*(J7&U@BkWopk2rzd@KVr90@h21?aBT&M49mIpKK`+fiF$UWo23q092B5G zP0v*YQhuBwl-hYq#>XcV6B5}au+%t`wi`tFy~VYf)ir_6fe}uKS;&E=nu+ClIfEuu zpG8;^9uL=AMB?Gg5K_$r&cGP@RhqH!IGc~Cw5wEu8?9r!8 zp?Uv>IiMru&06#`(5cP#+&`=y#!uo|>^;R`9RB1^gczP3GdI}2OnMF*y-T3T}EFnX^ zf2Y&WMc2=^C0dyd7NQ{&1vkI$r4M*`{oJmihQrFy#gMYS;K z4ZP^;c8yc6$4xH1f+rUhZ9SQ)skssM)$<8IotZ#AKS{a@v}q*N1+^4Q$p(SLVfX2> zIzsA9YTFY_hP*HcS8ojN2V@@h)drL(?ugx0m`2T5_+C?I(fvVHDRj{L;jk)xYIB+v z^?LU4JrnS`no)C~by$7D!AalmfWoTaW=pxtv>{#MJWXL%!+63F5?rDHX3c%L%C1ND z6O2zq(BJwyXe>&k;ARmon zB)^wY{&wH*)s9w`W5iTf^S`Mto0J@6&5qdEZMX^P2Hhq}YGvu3Q7;7)EGRvxD@shu zqtG7p1b3Nd%2Vdhi=H4nOa%$+gI&~V2?Si4?>(>jNREGLkk~7xzU;8((r8HHaqz+|@c}Z-2rms9{gDKKXvgtNFCi#czUAmyk&7 zzfS}rpUD>9)lDuIaCI!zKGk=g+S~B25@q~{?VFjt-!6MYsZ#wK|3YixFQkVygs^eV zfyuXY_yNY6Z%j%Aaeo9W%S7P;dbOC~pg#-G6W5AhTWQ9vQOe`QQxkl7 zoM?wnjLHcWnT>hoiwa!gxVb{JwrsvStu~$-T^(2?+%R?)cv-Ai&vWH)Z4W;Jsn(sq zvOYZVMstY5Ttml|uJ$kC6UwZeFqgfwiL`muqL>ugo|_pj(U zU&M2;Jdn^q=$p@&)D{EnK~+7|FVn}KM7OLYwSUdw;lTLc0X^*~=X;3$%*1c3MzQCb z%bg%d;ku#lWa6BjDWz&C36;YI8*T6M&N_!yDtK!181hjFy1Ipg&iAX9yiIJj@F95B zW`lbhLbrdo2z-ooUftyG?H_Q05?#7VtoH-n%1LMEB_h-Cm#l!t>>$25sZ z!N(D17nFNfPEGvl)=q-(( zGDr;VA~h@d`$N2M{xWeml(0X_AI?{Q)>zb&FvtoV;(79xPh&T8Qm=}ZZ8fYOSNs@} zd3dCpsrWbhYk{N4b1-~sUO{tSVY?$!fWVX9*%tzWycpOhX!)ZxhhC3T>v(}KLV3=c zS_pFRb@IjDuWyumijqq;{P2u9pD(8Xk6 zP?_^Yc^mfTxb7Hj=8Y@KYrDVI4R)JNkE6nA&v)_n9k zhOdqg9E47Mt23K|z%X#0t9@?lG$h%W4BxM?(_i!Y<-+N>BOREj4=!)@Xdg-gM&CEA0N_~zF*Vxe8mc2(@u7V3fb>4)sol1uPpDB_Gra|{|2b#eJCUu>dr z5s_)H6&Z5>zKOWSh@baCghp@QZD{&j$)6*D2IAyKKlEID)(#SU*7rX{_iE-SB}m@q zKXx@eMS?FW=&3xc0?Z$Kai?P`TAWv<_4L3%_=ugn8%CYJdf4S?{z%>k-IuO1x^vRu zm(hfHdO*2N%7*5wX}&Iu8TUi6Q=zxfBtFQize?#tfvo#E%j)O?L3Gki%5$3mm*^0n zC#}z34`m&w!w8=A{Z^I-jz)CZaF%0G(k8Urnt}1Wj@X2KPc2?&0hy+bPg_RcfuvDV z48&&YhIb~=CT;pI0hra>f$!VSh-$=;RTCJrs~gk=Z!N9Ev|Vmur`0RplHngiRY|`1 z#}A&@Wl9~)R9>MswzWjxmmKVKEp`j9%IyoL-RQs)s+EA5sU?&Y99#!|sN2U)2nTy6 zAJqi;pN71EKA*7pM;fvzb)Ac*5*O~VwgOjb<)k@QBzv$B<52{w4Y3k+M|ro9PME^yCx zWi)7^K}urYQVX#Twa(;SFba8t$1+~=OPQ=|Mu4uY4%KUVY1?0Fo`GFq$|=w-MmLY$ec z^a7Vp+)Kha2Njnt>OT)`rih`pw=%0;VnVCUw)+ph<_ZgN9p56fZx`f@x^KK#cj@{+ z#eG#&TwAndC_DrW4#8b-aMvnaf(3^pKyWGC3EbfBS`f5=Ai;u@5Zr?WcQ2&yf?!?b z-uK2E{klj0bdUby12}8%z0TZA=9dx?)QT}}nDywK5CVwp&>yP=7F@VOt|o%tQkLM;sg#WODeBy#M#&Fvh2E(0~X zoqC!1))QFUn5F^56X6qgL3WKn>GRb2_3Iwv|0z(q4i$2nU+0 zUaGIdu1ma9oh3L>&&cZN8*rbriafp3(1oUw>x@tx(Zqc7e zR1ile6RSG5ScR6-^oUN0#*tx(uwxs3PZhKixH{7JI@t_Z(6}=FYAV#pJVX7yPfw9B z_*Ih|H^aXR_F*OfqLF!6oF4$^*!x2XDM$rug*}rzEww^O>Cj(c`Kp2PfIhQj5`>|1 zm*E_LqY<$Wv@wpUd`!ug*l9I4&Xw6_NE(4eSoVpMCH{MkZN&YHA*|uARc{rbFH!lr z^@xeWx69`Nwq*%^>zzMEe-4%rw06qG%P?UugaBnh>{0At93Dot4md>y%`&7wrWu;| zeW`r}T5@ZmL$q)Ig?Cb9mF;%P9{fH z^nk`XFXrqZbE%#~bmZ4OPLVJ}^Z9(2iA&E*|ALfj!~a~~Ipzx|3J-p}qGIL-fqXTN z!-esvD>dv;@g6|141kgls+RQEHhfpp;w<;wg4Oc~eYw5S zw7Rl?f!vo7&+vVN0}j(G&5!<@L+5Kv`oDt zE#*hiYJU2}sT7bzN0eBaq8vGN2L=$vqAAbM{FDN5BRtcy<| z#f~iqoB0)meoAY;)T4uN7PmsUb){kGOYN|Kh38}p-Tz^RB4-s<=s06V(l`^~K_^7H z_XU^(c7jnwa&o97if$rM&nAUqW*U%0%6gd}UNa=H#l3ESv+EMez*i#&Zv5*KJak184}6z(_p{Hf(y~gmE-b>dkKt<= zwk2*)aISkdco0o{C_~a{bsf!i{GI1!2no(+hOf{~4ES;|P#7W^aM|K(#%^adPOUOg zFPB10k4{Z=`8hg1H*K7mgjn_mg(1uyiNEA533ZI?B2;Lu7rmwuf7L-56U5B2ZMDZ8 zgj6bXuimm7>yem~&=YE5hQLgsh*`Db%6Mtw%(`qjpO6%({WFm1dW2*v4%cD+{8Bm`~Y+D(jtqHVWR{{xY5zeqbCkz)TnN&zi3mtMNM^Bw4SVVIX~IT{$8V+YPL3KqzGk(rGO9tr!bJEYR!4pvGwAcN{@rH?PmDp~iu7XD$A z_r5f%wO-=38`bzU)|k?G-=dQKX?mlAHSMtCDMcjISwjw_oW(xPC|@dmIM({lo0k?p zslyxBK-#Y)X|e4>|D#BAsBNBn`L(9aw4N1KDiBD7He(BD(6nItFv%tw_jgrKQPUR? z%pp!TM*&K-$XGeP$9SzYx<{%cmaQfFTKJ#A(mBqAJB7S42sGhRcJcp54Klsa)bFquZEM zWu?2!blC|HfE;U-B^<>R(e0_sw_IUT)=>;vwx?k$71I5>~_M;BV{`XE{pKSx5e zI6$-)3H$8A%jYs_({`y0%65@yU4&%>Wl;%S{4L~Hf`qO;FF1x=9~!c&vHaqWmf~Cz zqgZ6DJyLxm2XvM2B_fEo7Uy)KXQaw9gX*6=G!DVX|Jtu-t*`0F+Nem!Q|+vo+VFdZ;9qmT5{jp|o_uVHEG$WuS^>Z&Q;nc};JZt5x^$?MXftJ~TAk6twpNst3 z7U$QdcsWP(Oz7$fu4fci4*%dUS1SW#xj7!MtUQjCC|n!<`KcZqYNrn~hM}$d_)PSN zh)I)_zcn^Ge-v9ig8?bU+orzukwf}JP*u@lJAG)9UR#w{9Bss40nxDw3HEb39Sr_8 zT0_-uet$v%SoJH^Ih(hLj|>|(_>)o;IL$GG!gRr{<9pe*F}P<&ZA#-J)a0- zu*$ge^jh#lphU+-eQxlEL142uop@lXhQ}(tVisue;>Hf~FR}{1xs97Y%wBJ7J za3sVDps`IVN5SX^2MN&>Z{)We%KjswRV_^XDnrL+IS}^>27=&Ajfdkz$=B~igtxoC zYEPk8P?7N9Tlv`p!Xi@<|J%vrRP7_AP?pfl`nELmWrJSQ_ z5sw>;jK1uN6T7|bKocZNF%i{-(Jr!TQL3`*A2RJ{nw!#aP7*}$7>PykdJ?-?(Dz(G zNvaHQo6cxd15gN2^f%)zjrSFcvgD>hlZos-s z00^Fn1pU1_RB3a^2exwNTvm6Tbtwqf6WI(&TPGp3k|_DW)I}^F!eR_rH5eTgCj>|O z{bT-$-C0!ZJ}tE~A&sA_XRFcQMP; z=_dnfVBe)Dlq`6K#(L;stkpjeGMC}#-XDh+Mr`^^B1-H;*?wDQKFdD^OIw`)j;v=* zh$?+#Do%_UQKWVq)%E!2I4kJOn;M9e&4XjK?LvOx#YUBoiEfd*V2$%dvrE6|$i_Lt zA!irPm*uq8KEld!NW1i&cGZ6(LYP^#6;6}F7_NHJ;YNN#JeV_;L}l$|Lc=JL%W$rH+5m2*l@T<-QsqSNShG1inFyfXvJ%=(F zS((-SkxVuai5`-c3$r9)e=(An6D}-au=3hzMGL=+szGv$M&G@;pfhzX|Dz?x76G+r zEen7!G(nf0lZwr*5V)gZ?y3T=cizlWEtBJV1V0OP^wV70>g}yUq%1*i99+~MT^at% zeb@O{n_^i=N;33)(v>C16%cF*JLwB^k$rVsS2$8Bm58IKl$x5STos~feY;$gAiwHT zPd6rONwU%^>HV4|csqUHbY0+sd$y6w7QY3y7JI(hB@zdVJF}%pUti68#}>H zxODr2=&w>_u#hMd=&VPmWSZzjcd&Y8I!6W8BFDYru2G z)@pj%Pj+Ygv{qBk3G@B0B5<(hm_TJ7X|TJr&a2IjvDRL0A49x#<*nr*@=M?@NAVA; z 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