From 489a0a4b35d7dcbc889b943ec9de8b6a3dbc13f6 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Thu, 21 Dec 2023 14:07:02 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E5=86=85=E5=8C=85=E9=97=B4=E6=94=B9?= =?UTF-8?q?=E9=80=A0=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/basedata/master/wql/mdpb.xls | Bin 167424 -> 164864 bytes .../wms/ext/acs/rest/AcsToWmsController.java | 28 + .../wms/ext/acs/service/AcsToWmsService.java | 8 + .../acs/service/impl/AcsToWmsServiceImpl.java | 509 ++++++++++++++---- .../crm/service/impl/CrmToLmsServiceImpl.java | 1 + .../java/org/nl/wms/pda/mps/wql/PDA_02.wql | 34 ++ .../ivt/rest/PackagePointIvtController.java | 68 +++ .../ivt/service/PackagePointIvtService.java | 72 +++ .../ivt/service/dto/PackagePointIvtDto.java | 104 ++++ .../impl/PackagePointIvtServiceImpl.java | 149 +++++ .../nl/wms/pdm/wql/ST_IVT_PACKAGEPOINTIVT.wql | 67 +++ .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 265216 -> 239616 bytes .../main/java/org/nl/wms/sch/AcsTaskDto.java | 5 + .../wms/sch/manage/AutoCallEmptyVehicle.java | 380 +++++++++++++ .../src/main/java/org/nl/wms/sch/sch.xls | Bin 177152 -> 177152 bytes .../org/nl/wms/sch/tasks/CutConveyorTask.java | 44 +- .../org/nl/wms/sch/tasks/PaperTrussTask.java | 278 ++++++++++ .../org/nl/wms/sch/tasks/PaperTubeTask.java | 234 ++++++++ .../java/org/nl/wms/sch/wql/QAUTO_QUERY.wql | 237 ++++++++ .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 8 +- .../src/views/wms/pdm/ivt/package/index.vue | 276 ++++++++++ .../src/views/wms/pdm/ivt/package/package.js | 27 + .../wms/st/inStor/reCutPlan/AddDialog.vue | 4 +- 23 files changed, 2427 insertions(+), 106 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/PackagePointIvtController.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/PackagePointIvtService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/PackagePointIvtDto.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/PackagePointIvtServiceImpl.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_PACKAGEPOINTIVT.wql create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoCallEmptyVehicle.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PaperTrussTask.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PaperTubeTask.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QAUTO_QUERY.wql create mode 100644 lms/nladmin-ui/src/views/wms/pdm/ivt/package/index.vue create mode 100644 lms/nladmin-ui/src/views/wms/pdm/ivt/package/package.js diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls index 08cc99c2729ea1dfc4d7058770332fd100f68a2a..ef0ffa23143eb1df4ed62f7c81d8e628033a0039 100644 GIT binary patch delta 51765 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 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index c16f7529c..3c91ac34e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -93,6 +93,34 @@ public class AcsToWmsController { return new ResponseEntity<>(acsToWmsService.sendDeviceStatus(jo), HttpStatus.OK); } + @PostMapping("/sendCBZInfo") + @ApiOperation("穿轴信号申请") + @SaIgnore + public ResponseEntity sendCBZInfo(@RequestBody JSONObject jo) { + return new ResponseEntity<>(acsToWmsService.sendCBZInfo(jo), HttpStatus.OK); + } + + @PostMapping("/sendGetGoalStruct") + @ApiOperation("取放货申请") + @SaIgnore + public ResponseEntity sendGetGoalStruct(@RequestBody JSONObject jo) { + return new ResponseEntity<>(acsToWmsService.sendGetGoalStruct(jo), HttpStatus.OK); + } + + @PostMapping("/actionFinishRequest") + @ApiOperation("取放货完成信号申请") + @SaIgnore + public ResponseEntity actionFinishRequest(@RequestBody JSONObject jo) { + return new ResponseEntity<>(acsToWmsService.actionFinishRequest(jo), HttpStatus.OK); + } + + /*@PostMapping("/getQZZInfo") + @ApiOperation("获取气涨轴信息") + @SaIgnore + public ResponseEntity getQZZInfo(@RequestBody JSONObject jo) { + return new ResponseEntity<>(acsToWmsService.getQZZInfo(jo), HttpStatus.OK); + }*/ + @PostMapping("/initialize") @Log(value = "仓位初始化", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS) @ApiOperation("仓位初始化") diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index a02bd8c6d..f1615091f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -88,6 +88,14 @@ public interface AcsToWmsService { */ JSONObject sendDeviceStatus(JSONObject whereJson); + JSONObject sendCBZInfo(JSONObject whereJson); + + JSONObject sendGetGoalStruct(JSONObject whereJson); + + JSONObject actionFinishRequest(JSONObject whereJson); + +// JSONObject getQZZInfo(JSONObject whereJson); + /** * 仓位初始化 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 723220911..7ba98762a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -17,14 +17,19 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.notice.ISysNoticeService; +import org.nl.system.service.notice.NoticeTypeEnum; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.AcsToWmsService; +import org.nl.wms.pda.mps.service.CasingService; +import org.nl.wms.pda.mps.service.ShippingService; import org.nl.wms.pda.mps.service.impl.BakingServiceImpl; import org.nl.wms.pda.st.service.PrintService; import org.nl.wms.pda.st.service.impl.PrintServiceImpl; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.CutConveyorTask; import org.nl.wms.sch.tasks.EmptyVehicleTask; +import org.nl.wms.sch.tasks.PaperTrussTask; import org.nl.wms.sch.tasks.SendOutTask; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; @@ -48,8 +53,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private static Interner Heap_Lock = Interners.newWeakInterner(); - private final PrintService printService; - private final RawAssistIStorService rawAssistIStorService; private final StorPublicService storPublicService; @@ -58,6 +61,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private final RedissonClient redissonClient; + private final PaperTrussTask paperTrussTask; + + private final CasingService casingService; + + private final ISysNoticeService noticeService; + /** * task_id:任务标识 * task_code:任务编码 @@ -99,8 +108,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } // 任务处理类 try { -// AbstractAcsTask bean = SpringContextHolder.getBean(processing_class); -// bean.updateTaskStatus(row, status); Class clz = Class.forName(processing_class); Object obj = clz.newInstance(); // 调用每个任务类的forceFinishInst()强制结束方法 @@ -156,7 +163,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { public Map orderFinish(String string) { JSONObject orderJson = JSONObject.parseObject(string); String ext_order_id = orderJson.getString("ext_order_id"); - // JSONArray array = JSONArray.parseArray(string); String now = DateUtil.now(); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER"); JSONObject map = new JSONObject(); @@ -928,6 +934,315 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return result; } + @Override + public JSONObject sendCBZInfo(JSONObject whereJson) { + //type:1、套轴申请;2、套轴完成反馈 + String type = whereJson.getString("type"); + + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); + return result; + } + + @Override + public JSONObject sendGetGoalStruct(JSONObject whereJson) { + log.info("sendGetGoalStruct请求参数为--------------------------:" + whereJson.toString()); + //type:2、反馈尺寸;3、申请取货;4、申请放货;6、套轴申请;7、套轴完成 + String type = whereJson.getString("type"); + JSONObject result = new JSONObject(); + + //桁架任务 + String task_code1 = whereJson.getString("task_code1"); + //纸管任务 + String task_code2 = whereJson.getString("task_code2"); + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_code = '" + task_code1 + "'").uniqueResult(0); + JSONObject task_jo2 = WQLObject.getWQLObject("sch_base_task").query("task_code = '" + task_code2 + "'").uniqueResult(0); + String product_area = task_jo.getString("product_area"); + JSONObject cbz_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '0'").uniqueResult(0); + String cbz_size = cbz_jo.getString("qzz_size"); + String cbz_generation = cbz_jo.getString("qzz_generation"); + if ("6".equals(type)) { + //判断当前穿拔轴位置的气涨轴和纸管位的纸管是否匹配 + JSONObject zg_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '4'").uniqueResult(0); + String zg_size = zg_jo.getString("qzz_size"); + String zg_generation = zg_jo.getString("qzz_generation"); + + if (StrUtil.isEmpty(zg_generation) || StrUtil.isEmpty(zg_size)){ + //如果纸管工位的代数和尺寸为空,则把气胀轴搬运到气胀轴缓存位 + JSONObject jo = new JSONObject(); + jo.put("task_type", "010603"); + jo.put("point_code1", cbz_jo.getString("point_code")); + JSONObject fhd_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("point_type = '7' AND product_area = '" + product_area + "'").uniqueResult(0); + jo.put("point_code2", fhd_jo.getString("point_code")); + jo.put("product_area", product_area); + jo.put("vehicle_code", "qzz"); + jo.put("truss_type", "7"); + JSONObject request_param = new JSONObject(); + request_param.put("have_size", cbz_size); + request_param.put("have_generation", cbz_generation); + jo.put("request_param", request_param.toString()); + paperTrussTask.createTask(jo); + result.put("status", HttpStatus.OK.value()); + result.put("is_bushing", "0"); + result.put("message", "反馈成功!"); + return result; + }else { + if (cbz_size.equals(zg_size) && zg_generation.equals(cbz_generation)) { + //todo:反馈ACS可以进行穿轴 + result.put("status", HttpStatus.OK.value()); + result.put("is_bushing", "1"); + result.put("message", "反馈成功!"); + return result; + } else { + //todo:下发桁架任务空轴换货任务 +// String container_name = task_jo2.getString("vehicle_code"); + JSONObject jo = new JSONObject(); + jo.put("task_type", "010604"); + jo.put("point_code1", cbz_jo.getString("point_code")); + JSONObject fhd_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("point_type = '7' AND product_area = '" + product_area + "'").uniqueResult(0); + jo.put("point_code2", fhd_jo.getString("point_code")); + JSONObject qhd_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("point_type = '6' AND product_area = '" + product_area + "'").uniqueResult(0); + jo.put("point_code3", qhd_jo.getString("point_code")); + jo.put("point_code4", cbz_jo.getString("point_code")); + jo.put("product_area", product_area); + jo.put("vehicle_code", zg_jo.getString("container_name1")); + jo.put("truss_type", "7"); + JSONObject request_param = new JSONObject(); + request_param.put("need_size", zg_size); + request_param.put("need_generation", zg_generation); + request_param.put("have_size", cbz_size); + request_param.put("have_generation", cbz_generation); + jo.put("request_param", request_param.toString()); + paperTrussTask.createTask(jo); + result.put("status", HttpStatus.OK.value()); + result.put("is_bushing", "0"); + result.put("message", "反馈成功!"); + return result; + } + } + + } + + if ("7".equals(type)) { + JSONObject task_resq = task_jo2.getJSONObject("request_param"); + JSONObject plan_jo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("container_name = '" + task_resq.getString("container_name1") + "' AND is_delete = '0'").uniqueResult(0); + JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("ext_code = '" + plan_jo.getString("resource_name") + "'").uniqueResult(0); + String point_location = cut_jo.getString("point_location"); + //更新分切计划 + String container_name1 = task_resq.getString("container_name1"); + String container_name2 = task_resq.getString("container_name2"); + JSONArray rows = new JSONArray(); + String qzzno = ""; + if (StrUtil.isNotEmpty(container_name1)) { + JSONObject container_jo1 = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("container_name = '" + container_name1 + "'").uniqueResult(0); + rows.add(container_jo1); + qzzno = container_name1 + "-qzz"; + } + if (StrUtil.isNotEmpty(container_name2)) { + JSONObject container_jo2 = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("container_name = '" + container_name2 + "'").uniqueResult(0); + rows.add(container_jo2); + } + JSONObject conrimd_jo = new JSONObject(); + conrimd_jo.put("qzzno", qzzno); + conrimd_jo.put("cut_rows", rows); + casingService.confirm(conrimd_jo); + + //查询当前输送线入口是否存在可用的载具 + JSONObject in_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + product_area + "' AND point_type = '6'").uniqueResult(0); + String vehicle_code = in_jo.getString("vehicle_code"); +// JSONObject vehicle_jo = WQLObject.getWQLObject("md_pb_vehiclearea").query("vehicle_code = '" + vehicle_code + "'").uniqueResult(0); + //todo:如果缓存位有可用库位,创建一个桁架任务从穿拔轴位到缓存位,否则不动 + JSONObject tz_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '2' AND have_qzz = '0' order by sort_seq").uniqueResult(0); + if (ObjectUtil.isNotEmpty(tz_jo)) { + JSONObject jo = new JSONObject(); + jo.put("task_type", "010607"); + JSONObject tggw_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '4'").uniqueResult(0); + jo.put("point_code1", tggw_jo.getString("point_code")); + jo.put("point_code2", tz_jo.getString("point_code")); + jo.put("product_area", product_area); + jo.put("vehicle_code", task_resq.getString("container_name1")); + jo.put("truss_type", "1"); + JSONObject request_param = new JSONObject(); + request_param.put("need_size", cbz_size); + request_param.put("need_generation", cbz_generation); + request_param.put("need_location", point_location); + request_param.put("container_name1", task_resq.getString("container_name1")); + request_param.put("container_name2", task_resq.getString("container_name2")); + jo.put("request_param", request_param.toString()); + paperTrussTask.createTask(jo); + } else { + noticeService.createNotice("套轴气胀轴缓存架空位不足", "套轴气胀轴缓存架空位不足" + , NoticeTypeEnum.WARN.getCode()); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); + return result; + } + + } + + JSONObject request_param = task_jo.getJSONObject("request_param"); + String need_size = request_param.getString("need_size"); + String need_generation = request_param.getString("need_generation"); + String have_size = request_param.getString("have_size"); + String have_generation = request_param.getString("have_generation"); + + JSONObject struct_jo = new JSONObject(); + if ("4".equals(type)) { + //查询可用的空气涨轴点位 + struct_jo = WQL.getWO("QAUTO_QUERY").addParam("flag", "6") + .addParam("need_size", need_size) + .addParam("need_generation", need_generation) + .process().uniqueResult(0); + + if (ObjectUtil.isEmpty(struct_jo)) { + noticeService.createNotice("任务:" + task_code1 + "气胀轴取货失败:" + need_size + "寸" + need_generation + "代气胀轴库存不足!", "气胀轴库存不足" + , NoticeTypeEnum.EXCEPTION.getCode()); + throw new BadRequestException("未查询到可用的气胀轴库存!"); + } + + //更新任务 + if ("010602".equals(task_jo.getString("task_type"))) { + task_jo.put("point_code1", struct_jo.getString("point_code")); + } + if ("010604".equals(task_jo.getString("task_type"))) { + task_jo.put("point_code3", struct_jo.getString("point_code")); + } + result.put("version", need_generation); + result.put("size", need_size); + } + if ("3".equals(type)) { + //查询可用的空点位 + struct_jo = WQL.getWO("QAUTO_QUERY").addParam("flag", "7") + .addParam("need_size", have_size) + .addParam("need_generation", have_generation) + .process().uniqueResult(0); + + if (ObjectUtil.isEmpty(struct_jo)) { + throw new BadRequestException("未查询到可用的点位!"); + } + //更新任务 + if ("010603".equals(task_jo.getString("task_type")) || "010604".equals(task_jo.getString("task_type"))) { + task_jo.put("point_code2", struct_jo.getString("point_code")); + } + + result.put("version", have_generation); + result.put("size", have_size); + } + if ("2".equals(type)) { + String size = whereJson.getString("size"); + JSONObject request_jo = task_jo.getJSONObject("request_param"); + request_jo.put("have_size", size); + task_jo.put("request_param", request_jo); + + } + //拔轴任务完成更新穿拔轴机上的库存 + if ("8".equals(type)) { + JSONObject cbz_device = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '0'").uniqueResult(0); + JSONObject request_jo = task_jo.getJSONObject("request_param"); + cbz_device.put("have_qzz", "1"); + cbz_device.put("qzz_size", request_jo.getString("have_size")); + cbz_device.put("qzz_generation", request_jo.getString("have_generation")); + WQLObject.getWQLObject("st_ivt_shaftivt").update(cbz_device); + //更新RGV上气胀轴数量 + JSONObject rgv_device = WQLObject.getWQLObject("st_ivt_shaftivt").query("product_area = '" + product_area + "' AND point_type = '5'").uniqueResult(0); + int have_qzz = rgv_device.getIntValue("have_qzz"); + rgv_device.put("have_qzz", have_qzz-1); + WQLObject.getWQLObject("st_ivt_shaftivt").update(rgv_device); + } + WQLObject.getWQLObject("sch_base_task").update(task_jo); + result.put("status", HttpStatus.OK.value()); + result.put("device_code", struct_jo.getString("point_code")); + result.put("message", "反馈成功!"); + return result; + } + + @Override + public JSONObject actionFinishRequest(JSONObject whereJson) { + String type = whereJson.getString("action"); + String task_code = whereJson.getString("task_code1"); + WQLObject ivt_shaftivt = WQLObject.getWQLObject("st_ivt_shaftivt"); + + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_code = '" + task_code + "'").uniqueResult(0); + String point_type = task_jo.getString("task_type"); + //取货完成 + if ("1".equals(type)) { + if ("010602".equals(point_type)) { + JSONObject point1_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code1") + "'").uniqueResult(0); + point1_jo.put("have_qzz", "0"); + ivt_shaftivt.update(point1_jo); + } else { + JSONObject point3_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code3") + "'").uniqueResult(0); + point3_jo.put("have_qzz", "0"); + ivt_shaftivt.update(point3_jo); + } + } + + //放货完成 + if ("2".equals(type)) { + JSONObject point2_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code2") + "'").uniqueResult(0); + point2_jo.put("have_qzz", "1"); + ivt_shaftivt.update(point2_jo); + + } + + //横移完成 + if ("3".equals(type)) { + if (task_jo.getString("task_type").equals("010401")) { + String vehicle_code = task_jo.getString("vehicle_code2"); + JSONObject vehicle_jo = WQLObject.getWQLObject("md_pb_vehiclearea").query("vehicle_code = '" + vehicle_code + "'").uniqueResult(0); + String point_location = vehicle_jo.getString("point_location"); + String product_area = task_jo.getString("product_area"); + JSONObject in_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + product_area + "' AND point_type = '6'").uniqueResult(0); + //查询呼叫时间最早的分切计划 + JSONObject plan_jo = WQL.getWO("PDA_02").addParam("flag", "23").addParam("point_location", point_location) + .addParam("product_area", product_area).process().uniqueResult(0); + + if (ObjectUtil.isNotEmpty(plan_jo)) { + //将载具号维护到IN口 + in_jo.put("vehicle_code", vehicle_code); + WQLObject.getWQLObject("sch_base_point").update(in_jo); + String plan_type = plan_jo.getString("type"); + /** + * plan_type:1;从缓存货架搬运,创建从缓存货架搬运到IN点的任务 + * plan_type:2;补齐从气胀轴缓存架子到IN点的任务 + */ + if ("1".equals(plan_type)) { + JSONObject jo = new JSONObject(); + jo.put("task_type", "010606"); + jo.put("truss_type", "1"); + jo.put("task_status", TaskStatusEnum.SURE_START.getCode()); + jo.put("point_code1", plan_jo.getString("start_code")); + jo.put("point_code2", in_jo.getString("point_code")); + JSONObject hchj_jo = WQLObject.getWQLObject("st_ivt_shaftivt").query("point_code = '" + plan_jo.getString("start_code") + "'").uniqueResult(0); + JSONObject request_param = new JSONObject(); + request_param.put("container_name1", hchj_jo.getString("container_name1")); + request_param.put("container_name2", hchj_jo.getString("container_name2")); + jo.put("vehicle_code", hchj_jo.getString("container_name1")); + jo.put("product_area", product_area); + paperTrussTask.createTask(jo); + } + if ("2".equals(plan_type)) { + JSONObject plan_task = WQLObject.getWQLObject("sch_base_task").query("task_code = '" + plan_jo.getString("start_code") + "'").uniqueResult(0); + plan_task.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + paperTrussTask.immediateNotifyAcs(null); + } + } else { + //未查询到需要搬运的气胀轴,创建空载具入库任务 + ShippingService shippingService = SpringContextHolder.getBean(ShippingService.class); + JSONObject ship_jo = new JSONObject(); + ship_jo.put("vehicle_code", vehicle_code); + ship_jo.put("point_code", in_jo.getString("point_code")); + shippingService.returnVehicle(ship_jo); + } + } + } + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); + return result; + } + @Override @Transactional(rollbackFor = Exception.class) public JSONObject shipDeviceUpdate(JSONObject whereJson) { @@ -1006,100 +1321,98 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override public void initialize(JSONObject param) { - { - int j_size = param.getInteger("j"); // 排 - int k_size = param.getInteger("k"); // 列 - String block = param.getString("layer"); // 块 - JSONObject max_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("sect_code = 'ZC01' order by out_order_seq desc ").uniqueResult(0); - int max_no = 0; - if (ObjectUtil.isNotEmpty(max_jo)) { - max_no = max_jo.getIntValue("out_order_seq"); - } - max_no++; - for (int i = 1; i < 4; i++) { - for (int j = 1; j < j_size; j++) { - for (int k = 1; k < k_size; k++) { - //排 - String row = ""; - if (j < 10) { - row = "0" + j; - } else { - row = j + ""; - } - - //列 - String line = ""; - if (k < 10) { - line = "0" + k; - } else { - line = k + ""; - } - - //块 - String piece = i + block; - - //层 - String layer = "0" + i; - - - JSONObject jo = new JSONObject(); - jo.put("struct_id", IdUtil.getSnowflake(1, 1).nextId()); - jo.put("struct_code", piece + row + "-" + line + "-" + layer); - jo.put("struct_name", piece + "区" + row + "排" + line + "列" + layer + "层"); - jo.put("simple_name", piece + "区" + row + "排" + line + "列" + layer + "层"); - jo.put("sect_id", "1582991348217286656"); - jo.put("sect_code", "ZC01"); - jo.put("sect_name", "主存区"); - jo.put("stor_id", "1582991156504039424"); - jo.put("stor_code", "CP01"); - jo.put("stor_name", "兰州仓库"); - jo.put("stor_type", "03"); - jo.put("is_tempstruct", "0"); - jo.put("row_num", row); - jo.put("col_num", line); - jo.put("layer_num", layer); - jo.put("block_num", piece); - jo.put("in_order_seq", 0); - jo.put("out_order_seq", max_no); - jo.put("in_empty_seq", 0); - jo.put("out_empty_seq", 0); - jo.put("placement_type", "01"); - jo.put("create_id", "1"); - jo.put("create_name", "管理员"); - jo.put("create_time", DateUtil.now()); - jo.put("update_optid", "1"); - jo.put("update_optname", "管理员"); - jo.put("update_time", DateUtil.now()); - jo.put("is_delete", "0"); - jo.put("is_used", "1"); - jo.put("lock_type", "1"); - jo.put("material_height_type", "1"); - WQLObject.getWQLObject("ST_IVT_StructAttr").insert(jo); - max_no++; - //插入点位 - JSONObject structMap = new JSONObject(); - structMap.put("point_id", IdUtil.getSnowflake(1, 1).nextId()); - structMap.put("point_code", jo.getString("struct_code")); - structMap.put("point_name", jo.getString("struct_name")); - structMap.put("region_id", "1582991348217286656"); - structMap.put("region_code", jo.getString("sect_code")); - structMap.put("region_name", jo.getString("sect_name")); - structMap.put("point_type", "2"); - structMap.put("point_status", "1"); - structMap.put("lock_type", jo.getString("lock_type")); - structMap.put("block_num", jo.getIntValue("block_num")); - structMap.put("row_num", jo.getIntValue("row_num")); - structMap.put("col_num", jo.getIntValue("col_num")); - structMap.put("layer_num", jo.getIntValue("layer_num")); - structMap.put("source_id", jo.getString("struct_id")); - structMap.put("create_id", "1"); - structMap.put("create_name", "管理员"); - structMap.put("create_time", DateUtil.now()); - structMap.put("update_optid", "1"); - structMap.put("update_optname", "管理员"); - structMap.put("update_time", DateUtil.now()); - WQLObject.getWQLObject("sch_base_point").insert(structMap); + int j_size = param.getInteger("j"); // 排 + int k_size = param.getInteger("k"); // 列 + String block = param.getString("layer"); // 块 + JSONObject max_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("sect_code = 'ZC01' order by out_order_seq desc ").uniqueResult(0); + int max_no = 0; + if (ObjectUtil.isNotEmpty(max_jo)) { + max_no = max_jo.getIntValue("out_order_seq"); + } + max_no++; + for (int i = 1; i < 4; i++) { + for (int j = 1; j < j_size; j++) { + for (int k = 1; k < k_size; k++) { + //排 + String row = ""; + if (j < 10) { + row = "0" + j; + } else { + row = j + ""; } + + //列 + String line = ""; + if (k < 10) { + line = "0" + k; + } else { + line = k + ""; + } + + //块 + String piece = i + block; + + //层 + String layer = "0" + i; + + + JSONObject jo = new JSONObject(); + jo.put("struct_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("struct_code", piece + row + "-" + line + "-" + layer); + jo.put("struct_name", piece + "区" + row + "排" + line + "列" + layer + "层"); + jo.put("simple_name", piece + "区" + row + "排" + line + "列" + layer + "层"); + jo.put("sect_id", "1582991348217286656"); + jo.put("sect_code", "ZC01"); + jo.put("sect_name", "主存区"); + jo.put("stor_id", "1582991156504039424"); + jo.put("stor_code", "CP01"); + jo.put("stor_name", "兰州仓库"); + jo.put("stor_type", "03"); + jo.put("is_tempstruct", "0"); + jo.put("row_num", row); + jo.put("col_num", line); + jo.put("layer_num", layer); + jo.put("block_num", piece); + jo.put("in_order_seq", 0); + jo.put("out_order_seq", max_no); + jo.put("in_empty_seq", 0); + jo.put("out_empty_seq", 0); + jo.put("placement_type", "01"); + jo.put("create_id", "1"); + jo.put("create_name", "管理员"); + jo.put("create_time", DateUtil.now()); + jo.put("update_optid", "1"); + jo.put("update_optname", "管理员"); + jo.put("update_time", DateUtil.now()); + jo.put("is_delete", "0"); + jo.put("is_used", "1"); + jo.put("lock_type", "1"); + jo.put("material_height_type", "1"); + WQLObject.getWQLObject("ST_IVT_StructAttr").insert(jo); + max_no++; + //插入点位 + JSONObject structMap = new JSONObject(); + structMap.put("point_id", IdUtil.getSnowflake(1, 1).nextId()); + structMap.put("point_code", jo.getString("struct_code")); + structMap.put("point_name", jo.getString("struct_name")); + structMap.put("region_id", "1582991348217286656"); + structMap.put("region_code", jo.getString("sect_code")); + structMap.put("region_name", jo.getString("sect_name")); + structMap.put("point_type", "2"); + structMap.put("point_status", "1"); + structMap.put("lock_type", jo.getString("lock_type")); + structMap.put("block_num", jo.getIntValue("block_num")); + structMap.put("row_num", jo.getIntValue("row_num")); + structMap.put("col_num", jo.getIntValue("col_num")); + structMap.put("layer_num", jo.getIntValue("layer_num")); + structMap.put("source_id", jo.getString("struct_id")); + structMap.put("create_id", "1"); + structMap.put("create_name", "管理员"); + structMap.put("create_time", DateUtil.now()); + structMap.put("update_optid", "1"); + structMap.put("update_optname", "管理员"); + structMap.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("sch_base_point").insert(structMap); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java index 207ad1a81..3ffda61af 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java @@ -67,6 +67,7 @@ public class CrmToLmsServiceImpl implements CrmToLmsService { customer_jo.put("cust_code", customer_name); customer_jo.put("cust_name", description); customer_jo.put("cust_simple_name", company); + customer_jo.put("sales_owner", sales_owner); customer_jo.put("create_id", currentUserId); customer_jo.put("create_name", nickName); customer_jo.put("create_time", now); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index fbd9e5b09..c14f3a527 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -817,6 +817,40 @@ ENDQUERY ENDIF + IF 输入.flag = "23" + QUERY + SELECT + ivt.point_code AS start_code, + '1' AS type, + call_time + FROM + st_ivt_shaftivt ivt + LEFT JOIN pdm_bi_slittingproductionplan plan ON plan.container_name = ivt.container_name1 + LEFT JOIN st_ivt_cutpointivt cut ON cut.ext_code = plan.resource_name + WHERE + ivt.product_area = 输入.product_area + AND cut.point_location = 输入.point_location + AND plan.is_delete = '0' + AND have_qzz > 0 UNION + SELECT + task.task_code AS start_code, + '2' AS type, + call_time + FROM + sch_base_task task + LEFT JOIN pdm_bi_slittingproductionplan plan ON plan.container_name = task.material_code + LEFT JOIN st_ivt_cutpointivt cut ON cut.ext_code = plan.resource_name + WHERE + task.task_status = '02' + AND task.task_type = '010606' + AND plan.is_delete = '0' + AND task.product_area = 输入.product_area + AND cut.point_location = 输入.point_location + ORDER BY + call_time + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/PackagePointIvtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/PackagePointIvtController.java new file mode 100644 index 000000000..ee3998217 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/PackagePointIvtController.java @@ -0,0 +1,68 @@ + +package org.nl.wms.pdm.ivt.rest; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.pdm.ivt.service.PackagePointIvtService; +import org.nl.wms.pdm.ivt.service.dto.DeliveryPointIvtDto; +import org.nl.wms.pdm.ivt.service.dto.PackagePointIvtDto; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** +* @Auther:Zhouz +* @Date:2023/12/20 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "内包间管理") +@RequestMapping("/api/packagepointivt") +@Slf4j +public class PackagePointIvtController { + + private final PackagePointIvtService packagePointIvtService; + + @GetMapping + @Log("查询内包间点位") + @ApiOperation("查询内包间点位") + //@SaCheckPermission("@el.check('deliverypointivt:list')") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(packagePointIvtService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @Log("新增分切输送线") + @ApiOperation("新增分切输送线") + //@SaCheckPermission("@el.check('deliverypointivt:add')") + public ResponseEntity create(@Validated @RequestBody PackagePointIvtDto dto) { + packagePointIvtService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改分切输送线") + @ApiOperation("修改分切输送线") + //@SaCheckPermission("@el.check('deliverypointivt:edit')") + public ResponseEntity update(@Validated @RequestBody PackagePointIvtDto dto) { + packagePointIvtService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除分切输送线") + @ApiOperation("删除分切输送线") + //@SaCheckPermission("@el.check('deliverypointivt:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + packagePointIvtService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/PackagePointIvtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/PackagePointIvtService.java new file mode 100644 index 000000000..a83877f0c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/PackagePointIvtService.java @@ -0,0 +1,72 @@ + +package org.nl.wms.pdm.ivt.service; + +import org.nl.wms.pdm.ivt.service.dto.DeliveryPointIvtDto; +import org.nl.wms.pdm.ivt.service.dto.PackagePointIvtDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** +* @Auther:Zhouz +* @Date:2023/12/20 +* @Description:内包间接口服务 + */ +public interface PackagePointIvtService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * + * @param ivt_id ID + * @return Deliverypointivt + */ + PackagePointIvtDto findById(Long ivt_id); + + /** + * 根据编码查询 + * + * @param code code + * @return Deliverypointivt + */ + PackagePointIvtDto findByCode(String code); + + + /** + * 创建 + * + * @param dto / + */ + void create(PackagePointIvtDto dto); + + /** + * 编辑 + * + * @param dto / + */ + void update(PackagePointIvtDto dto); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/PackagePointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/PackagePointIvtDto.java new file mode 100644 index 000000000..3eb2ca8d7 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/PackagePointIvtDto.java @@ -0,0 +1,104 @@ +package org.nl.wms.pdm.ivt.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author lyd + * @description / + * @date 2022-10-08 + **/ +@Data +public class PackagePointIvtDto implements Serializable { + + /** 库存记录标识 */ + /** + * 防止精度丢失 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long ivt_id; + + /** + * 点位编码 + */ + private String point_code; + + /** + * 生产区域 + */ + private String product_area; + + /** + * 是否有轴 + **/ + private String have_qzz; + + /** + * 气胀轴尺寸 + **/ + private String qzz_size; + + /** + * 气胀轴代数 + **/ + private String qzz_generation; + + /** + * 纸管1编码 + */ + private String tube_code1; + + /** + * 纸管1编码 + */ + private String tube_name1; + + /** + * 顺序号 + */ + private BigDecimal sort_seq; + + /** + * 是否启用 + */ + private String is_used; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人姓名 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/PackagePointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/PackagePointIvtServiceImpl.java new file mode 100644 index 000000000..cf2aa6a8f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/PackagePointIvtServiceImpl.java @@ -0,0 +1,149 @@ + +package org.nl.wms.pdm.ivt.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; +import org.nl.wms.pdm.ivt.service.PackagePointIvtService; +import org.nl.wms.pdm.ivt.service.dto.DeliveryPointIvtDto; +import org.nl.wms.pdm.ivt.service.dto.PackagePointIvtDto; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** +* @Auther:Zhouz +* @Date:2023/12/20 +* @Description:内包间接口实现类 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class PackagePointIvtServiceImpl implements PackagePointIvtService { + + @Override + public Map queryAll(Map whereJson, Pageable page) { + //获取人员对应的区域 + UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); + String in_area_id = userAreaService.getInArea(); + JSONObject map = new JSONObject(); + map.put("flag", "1"); + if (!ObjectUtil.isNull(whereJson.get("point_code"))) { + map.put("point_code", "%" + whereJson.get("point_code") + "%"); + } + map.put("product_area", whereJson.get("product_area")); + map.put("point_status", whereJson.get("point_status")); + map.put("is_used", whereJson.get("is_used")); + if (ObjectUtil.isNotEmpty(in_area_id)) { + map.put("in_area_id", in_area_id); + } + JSONObject json = WQL.getWO("ST_IVT_PACKAGEPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "product_area,point_code"); + return json; + } + + @Override + public List queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_shaftivt"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) { + return arr.toJavaList(PackagePointIvtDto.class); + } + return null; + } + + @Override + public PackagePointIvtDto findById(Long ivt_id) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_shaftivt"); + JSONObject json = wo.query("ivt_id = '" + ivt_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(PackagePointIvtDto.class); + } + return null; + } + + @Override + public PackagePointIvtDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_shaftivt"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(PackagePointIvtDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(PackagePointIvtDto dto) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + dto.setIvt_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + + WQLObject wo = WQLObject.getWQLObject("st_ivt_shaftivt"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PackagePointIvtDto dto) { + PackagePointIvtDto entity = this.findById(dto.getIvt_id()); + if (entity == null) { + throw new BadRequestException("被删除或无权限,操作失败!"); + } + + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + String now = DateUtil.now(); + dto.setUpdate_time(now); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + + WQLObject wo = WQLObject.getWQLObject("st_ivt_shaftivt"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.update(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("st_ivt_shaftivt"); + for (Long ivt_id : ids) { + JSONObject param = new JSONObject(); + param.put("ivt_id", String.valueOf(ivt_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_PACKAGEPOINTIVT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_PACKAGEPOINTIVT.wql new file mode 100644 index 000000000..6b1d73f0d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_PACKAGEPOINTIVT.wql @@ -0,0 +1,67 @@ +[交易说明] + 交易名: 分切输送线点位库存 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.point_code TYPEAS s_string + 输入.point_status TYPEAS s_string + 输入.product_area TYPEAS s_string + 输入.is_used TYPEAS s_string + 输入.in_area_id TYPEAS f_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + IF 输入.flag = "1" + PAGEQUERY + SELECT + ivt.* + FROM + st_ivt_shaftivt ivt + WHERE + ivt.product_area in 输入.in_area_id + OPTION 输入.point_code <> "" + point_code LIKE 输入.point_code + ENDOPTION + OPTION 输入.point_status <> "" + point_status = 输入.point_status + ENDOPTION + OPTION 输入.product_area <> "" + product_area = 输入.product_area + ENDOPTION + OPTION 输入.is_used <> "" + is_used = 输入.is_used + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index 7ba6a10b5de2ddd4ef38ca297f3ee281c5264b13..cb8667c237b4f279c69086b18844286c3470c76a 100644 GIT binary patch literal 239616 zcmeFa2YeMp_cy+qMgjy9nh-!PJzxl-7eP9rkdQ`+frONs0%@cHp*IBq0g)miib}Dd zJQh?eU_}%J6~r!xSipjh3W_EF?{{W*@7}$81HtEc-~aFTc^BsH&Y3gkoH^&rnYQ=l z$l=fvTmBVxQn6guDZa|zl|f2?3GRnyRnLbgiVvQBk^Zi%tkl7Ic=#SE8HfP?zw7_! z8u$zH)r7sSfxT#7e)IYkfM=dkVYfLBE=!aBPAduB8@>Bi!=^tJW>+UO-RW|6Obk%r68puO+rdT zN=M2-%0zM^Wg%rF(Ulq6P{s^J)Z-(OujJbsT~GRFr+ap@+2XBt z61sk*D!pUQ@a~JUc~m^Eao}DI4@(zv(9^1S)k750`SX4`wQB(>p}mxI7_2r7nkt3$ z)9^`qROf1-_^9-6w&`;Dlm0{ONVrnrEra2Osqm(Fc-4)NW(Z_T#pf8|SrX6NXDdWx zy|1zV*i_H+ zc}R={*8b1>SK9xB0z(uvK&iXY=NLo2i1~litrHx3@xan8DhR_t_G!K9|MZ>m7!wXU zDlcz$6q)4v+Z+f?a6tn3zgtLr>)j}4ed2k$Tk0z(B>w-hyKevgEq7sFeEccA$mJI@ z&(ae}gzI-?&3+}|s4oVZeU&zM(O+!fg3gu0rN8}IY1}nFMqZrqi^KB;OYDgJWD;j+}mB&)8nb9zRl%&|I+WSIP9&ScmL4kk@UUeRkvKy zb=ghlbE&(TkFa+&?Q5>j_)~ShivHuxPb_w=n!cw!DywXdH~XWKtOu!h$#%KyZ{lN- zTbIwCuik##-RgP5Nk`{v7uO{py`D)P)S`b{<zVSJeC~3(%DuvMx|a5l zpH+VV2s!n3>UZ6bkOvjE$HiBd`?A~NrGBN9PoobcH+fxttn+ifd-EGlIo<1Bx?FFU z^s3(%D86rTit)fUGpowzvy!7a_Vp+ zFXi(XpEZ9KH!f<2Esv3rEf6bPA};P%+FchBTEj>_eaKuZCa` zw=ec}ufx7>Jp5;j@*c|esCDV*i8;9?;|hzXq!$)W*@UX0*m!1DZVz&EnxBseV$X}u z{wVov?r(D+9eZEP-eR*`Rl4{N6nHDdXDjhZ^Qy|zqRvMG(goYx=RmD;?kb3-C^y3Z z%aRjD6aLA62>zrOI)n!*o_xLGzu}b*I?deYsT4Q)&#^Pvz~8WicT^gy20mg*usQ^r zxcPAB48?&B@ic5ymEb8F&(uz1=*v!Pfj$NmH)*_U(+)q_14Q{9B>h{*E@V(LZgf~`9bbM}B{M1KN3s=6j?w!r- zgQhY!pMKJd4Tx{;vse2y#xX&CoJVbK)jFbe>!@q-FrkxpyxOn162OB$qbxbznK{vn za5chh6Bj~cl({}~SNpYwnsG*`lOTqLia_gygFzhqr8e^I+7pMEIIc99 z>bM497r;_84E+@cs}tJDMs~P%Lb&!kp~KaFEue24LAgqWvfNM{&^S(DH5BqO(Lk1D z+JcC~g5yp}AfA91@%ptA$i}tLK{!Gs;FwVSq8C&R=Ky4f?+s3>cKH9B;VO+{TvDIy zkr#Sk_vGc*Lg?QU-pLERqZfFj7kE=I@XlV~5nkZUy})aEfqRq38~tvAPCKZ?T|ZZQ zflGNj@ufVT@HSrPbnyc3F5qEUB8dL-o3Iu>q#etigygKhL!j{=rzGH z@0W1ITOIDeBi_xhz%Bi;jgD{lkMxsp9ge%aB%Sui2);U4qyOKAOL-gySG`?4aJP#; z-r&`x^WSdQ|D!Mc3UdhM7cQAC{@GgC7vqTGpE6#x(&0xjNms5j`b8K9XS@Cth8cn# z92KQM-w_(RzSjC$ieDoK$1jHg&&t}{Vs8t@ua|%~)8Q65F{Da57I;e?epH!+N4TYI zZy06(cJhQ_GGYhk%TVrd>>42tCPxwu`K6pve!g5K@QrrK_}l<+J3V{Gx9bFbPk2o) z@IGGP)s2%q1RdFbVfRg;p^a)af?dK4xa#XbEA&h16H_=v^#wiyATJ*?+#%m)Fu_S* z;G>GXEchcda6pjYE9pDrn_w&o2zJ5gErA5$()f17qma`ACyE%y2l5G*M&}wls=knF zdT8iC$3TY?AjdV%69s&hJ3K<**E8WuIVBvEYJ-l1cLIK>8+|iAyv2eq>6qnl(NTRp z`I5fs>&Z933tZxR@|AE;zEVHfUhA#tLDRE@W6RA0PQ4*Y^mE6T^kH-ld`*4}T;ij> z7P!$a9j^6jgZ^~gUS_?)IW2H0zo#Ck|4{m~1z*BF@oNY@d(y8V{0H(I{$sYguww|k z4gO|^3p?7t1z#Juu$LQLw#zJ!^k*q2^;u8)xu!P>H`&Dv4*C{78|}4)o9t!Kp+5kw z`-28&_Z;MlPhHP`QV$Xi|FO^yggytE{mP)vehuqe=mpGH4|eiYCCBIWU9-P_%-WIXYd9}v)iA3EIe!vtUWNq2X+l*b!i z5ofevoT*gm(xcm5J#y8v13^%t+hgKxE9AFU|ta0`7%BK?1oJADZUog#O* z^jpE#Z5%Yo=?0g2@P;qsbiK~((cf+4mZbJVXu~MiwZkFE+H_I>KQht*^XmSdFAm84a{F=WB`_eA9aFZR~@WI!DFZrTZ z>Tr#3N4>x6^Dd2!#20*3tjmBU*NGA?=)1w?IAYeDj6V`z#4$H~BX0B#m2h+alI^vD zi}u>UDUYfSR3N97&UANuN;{hDqT$OpBkU{byR8dEyKLZsjvL%)*L1C28XZ$SbiaJB#@k;1TZjmHuX;qs4Ox zH_E~|!&O}GT&2*&vZuruU!vAgH=yZAJlSjgVAEkyOP6ELk&moUReiOcos~SGz zkJz7qD#YdH|0ert`1Bt;y9<4CePQu`=?|W9L&8n;HGg9~vD+__aBui%o!*a3{l!jB zNypP(kzV{$_TN@E`?2r`_Q%>nYsNSw{lT-nvfqJ@t{+X$QV-@hEc-`UnF)%-`oVJ{0@ z`j7Biw|TyVoAhb+bMtto!A){XI+{GSyvQ%%CcC)N_l)OKeor|i9QcOb*7iDQwtoC6L6f$>2XiPmvD#c9K=eeH!6zDOrQSa4rfmA zjdF)ed0KklhvFv)NChZ{%ZY~`*lI){a!8pFkS`OoTo4@ z2|B&4^D)vv|JBEFH~NrDhih?|`)O|Y+Bp&Todo@U?&BKe5$k2$4>dZ{E}(B|FFXhM z0*)tMQV)ExgEL$UxW(@9G+THb0XM~ejlSe-8h5lzbWlg9(D$>RaHX_ugH(=GvbYgbqL zk6ZtedKPf=_@$kbn((!KGZVg`BYvaAI9GMyhlC&s81Qc3Yd4RQaQAuCtiT4!EF(Um zqH?cV`bPNV*@5B8Y&W>?6U zzFp%D*D99-xGp;)W3)k+t7?6sEueF3*4g0}S4}JZ6|K4`G5aK6H7^FwaPOBQRy((%Y!Zy6qJr}Cg-XWgccKmNF3XWgcR>HehK)C|*YN*EZ3%TrIufV=c$o+WtV zPN)Lcs*@Dpy6kVJtJ|Lfx$I}HpIT*o_6L0H+t7)ptdoFox$R0ba0Okrcw`+P(gm)| zR<3yBDMN-q*E${b#LcV%*E&&i0@nwdahTG&E3>1JYj&WuLe`}!46=+a*{I-aj4rgE zxUh)!;EJ#Q36J#Tnu9v_VtSc?=3c6TRm{n#P;D`-M5bH`5vyC|fru))FimY-V%NdS zFdxPLSn7f+A!3!f5JcQNiICiOucW9NxKpdZwfbf;aNPriE`#PJR-sF(LA>-*#I3d| zM}>cEn`u`<#2NsndllW>=YfP@*-dqL_P!aSzDIY3ZAE?03Kf^CU^T={RPg5WR@_-t z;95Om_N4@|R+v-W3UjMlVcw-GSlc@v6)v}Dt*Qp@?bX0tQw`iZ1+Ir@*+zo9s=&4O zr%k}Ec7L)e^X_Ue+8c8! zsjBeVstWg*3#~199);DKBE2A}nYW(-@Z!`jRs(l$6}Z;<%Rb=R3+*<_a1|%!FV^}m z{loe%|HJyPRI|R-Xs>#$ugz<%4SvmQh09ae>;JI+{%Y2@M$$J>-`ntI#XTT!-P#3+ zebjxk3S4Wzd<(djh`Rdv%oTO5hByc!m*Kg{X_q-{@c~8Zw*n0QQwGPR<}Ir zmAIGX)-gft@?y#R)xbSo1+G=-4-BEjn28M<0ED}E5&A=vN?){A@Z5R%s2aE*R|EGm zfot#MR+l*e-0HZT)$dQD{y+BnFRCeowGpTOVf`=vVf}BatS=k^gAI_herr|Yw$hFe112i;aFqdJoOAd7psB$M>TN&tOo91Rp45+_cw5>r9Jky zYE_`Zs;pq`wkj%IqT612%=Zyo?TqXZz-_y&??0^XSIzp?36($UUv4i9G;lBNpFvgN zTH}9BqYVrlxQtO+>d=|RV=!?E9a`H^s|sFLqt^zmG`ek=G8@emtF1(WuY`zI>N`t5I5txENFG{*1)ZHaI{L;=28+` zE3~U_1^%7GDuce2Lx)RMuy)gqsNn6e!b&{iQpBwlI$f%QRhq~uq_N_5t_E&YHE??f zTn>4jK57l^y?|@qSv=fOgm$YN_Cft>yP=gx-~R-WYYigSR(te7?*m7_{{)f#S3<;U znCn198phh3%QMV?D-ptKn1NS9#OmgQK;&}6>)q19e@dTo-l_rXzq zoJM%vkKgzY>)-Vc>u>sp_3y4`eX9>`7WJ#)L-$l&VMSmMWksNvxrq-t8ZF?jU_o13 z{B;w;eeldTC66CJUfBe1gFf%$y(0QUZN+yWt0|SN=sSo8trQhkscU?i;EP!`6}2n= zhI3oRfuB-vCbapk3!2W#qN^>7o-P(a&aA(_{m_F&BeLjzSsu~?EbK7tOnH?( zS$c?7^47Lw=^>hO{11-$>Y1lKByVib!p>XT+p@6tmL~RO?Y!k0Te9}v5@t`<&RaU$ zk~MqF!BJ0t_Kk-^n%c9Vw^%!SH(M6;7SCSUjAVOWmWMb%)(+Dk3kD2Oj3LeK$=Z2H z8(Xqw59!+Nqjh&kg_u}eZO_8aL&9xYm^{QpwuL=eI}eGlC2R5!6Iq8nSvwDjvL$Qw zkgnZsKlF)*LR#9hu=9}awk%8@Vo2_%w3_E%d3#_p_n_zRU+JsNDG!K0$~SJ6H9kT3 zZ3Fb^8aW#_+#VR_j_g|(0~kvrYB2uvkDo-9gVog*^pHwFfzDFBN?TVII#GnBN~lpq z4n8&T%0~^q$^qN=eg-|Q@d;Mixd_ljtUT)(1n3rQQLxh9RfXoaR;h1Pp~+dL27b^^ zRn#9Q-X0j`E}+^Je+}=4iF(xY$8IXW{m3DK&-`}e8od9l%u}Fii~8`VntYVrDX%V- zOzPs7&M~hbfC}mZMjY{l2--&_2)oM3)I9dIMb3xq>&W&=JnFQg2Nge!irs)7iXUPR za8-9;dU1PTqz8!rg9I^*P+?3rLh-xvZe(bjs>zu8t%*!0cQQ0s)nrWl)I=uIoecYD z)nwQ&tzosH(ivZp)l}O}Vaug{dU@z4P}7eK%Zs_1AVwopOLMufNq3D;OE?04x5KVb zXHJ86bs3!c>FgnmZgA?x)@eeOZY~9N7p)@U?k>U%H{LzT6k<$D@8P1^Q`3}prArJ? zrH5j0GCYY$ReO@eup`sUolMo9L^AfC)Z3j*)t*E$cAgZB{%v&9-c_o$w~Zr);twtv zI^i#wRNYA>hMi8XbthA`YDvbvllF5bQ?+VI#$L7k-N{s~T9UC>?R75IGKzZl+CH|b z9pI9p&m~nWG3-=3(49=xswEkF)edqeQ?+VI#$L69-N{s~T9UC-t)DVvUZCfs!6y)t zhQ%xXzGG_!6e`Bcp&Tz~CwY#SVHhuGCz;1fe$`hWFBNVX&vTgd_d|{LE7TNH;9z|Hyc)oAxYPBo0U?N$jChRkT;K*N zBPht0W$S0&9+=`@!KV?(vV^+z8wTV3CFCRgltE&TpP_B}#T%w{8_`hRo?= z$Q;GEkz$-$`sV8PlWuWFWP41@e0qSDt6VpQ-fE5Yf(gFNZ=~hM>R@78|Yf+*Ny{((WB@2!swQ%p1&`|7?Kb@Iw1az zb<*U1O3b_fV777R=N|x?I;OjejHZkDtm+hVdmy7Q$;eApo54j`Vs`gRe3MysmreMl zGu=IwB-X6F80YC_4MBn>W-pV5l77W!mzT+$*}VKy%w|loi<9h}U^m%aVxIhtOFY6NX`^~y%Ro}t=l=yi;p33zJf^z>oaqqGp)-EbH$B|(Cc~rQOYx~RMMt;p< zKfP3UBfSIA3lm+{X&dW;x}{Owyew6eeX-G^#b#1tT%;Jvt)$u-q!`9wPHqt4+s}7B zm*hcetcw)GxwTOp3{s|04x(}m9*n<-Z0Lkx+$u>YqdG&lCJEef8oi>N_>G@cO-uK+2zABr~9zX z={_uTw*`(@ZZmZ>5XR zro)LkNhRIIpq$TFk@1(3)d}hA7h~_Y{C(#A)LWbxIlnBclSSAIpG#Pgvmj&UtYzZ} zd;ez%I~Ai&Z#kK;I?4kV2=i5Qmb9APFqK$seaY2NZBe#8=Hj@4(+OL_b9N23WoAI> zV*Ku1hx-Zhmw0i`xHTyo(Xx$}mH|by?0)=d?E5Wc%i&97@$V%y5J^#bobgez0>>h; zmb`rU2l&nn6q$f?4%~r^a~7#(N?=U`m8*XW0USpj{8Z-6o5w%U9&%QhT7$H5*+-Rt zb44Jc?owf8xkFEyyhxANmEP;g>Q`Lf%GaA*I^22}&4Ua&T&Jh!=|#MB_?6sQN2e!< z{X=@B;Y|)JeLZiz>-8@Mx8ixrUkYw5*ZJ!3s_qE$Ufauhv|&~C$?Kn#vn~^D$U9G{ zbb5F+`0H|d!{-r}UXOQnTs@CR5eb>s`Ls~fa}OiaN~v+~e%yV0+QlENIC5{j?h~62 z+P&qPHh)zra{+hJ7+f~6f7rQcfLSp&)g%Xbt;DT0(yr%fD>>KrD#L)U{5^fs&M|L| zyd$nb{M6Bq z`~{5$hvv5$eBX-2v4i7lw)~~;hP&Pf%cd$R!SFaBJe(%C_4Qk}~=kG$<4T~qFq(nL-8=54)omUgS6nx#*l&Mk?)Hqai(g5<=BLi9-+Fk>rnK*RUksVM_qR0vKO$ee z_wKhYly7e|=QCy7%mpixzMeZ~$iU$bt#9&s_h~g2<_uoa@xfss9iE&tC%@wFV{5*C zc;x4)a|_z6jL%E|Y3}+pho7r>bb6;(e|~LZ=q*d1c(wV(SM&PsC>!$H*)GkuFMHX>$Lv!3Q_3?K1V=CnsziRj1wNqqYB>+2r`MLl^fM z_1NIEXBz$X!mao9-Oy~u3tiik_CNN`v7@WsnX&x3rDuMfoOS)D$$Q5gf2j5SKRfTO z=+XChgPptTJa>G<51q2U&E3%d(dWmFK6_^CPcwhL^-NT=r!pUH8NW4UV)OSl-TzMe zhd!7x@a&oVUuFh3ICk<(-}~0RUH0U-@z*~%Yjf6h?=9Kde#>XaZv6M!nTL0ushB=s zcg~%;_5YmqUG1NC{Q2(f_dNUO#;l{K*A&ja_~(fSi+{c2{_pO3t;Nc}pZMX9e| z`NWfzD|_uf{q$D};cc%uc<8}rUYj1bXj;~V&+ke0x%uU%+kCcaY16;U$9=SS`Gdc; zEBJb7@%-a|G&|U<=I5JdpZ(f7_vc6Z{n5AGPwgTftDCy!o^>xTKR2h>D+AU%@#_7r zM#p|#(frJxncqLL^zUPD58a!T5pnpc!*M%zZ(WkSH6pKDupOK;^If zpE|o_%AI>Zem!Pt{o(Cy{O;X<55K*}iNnngSM>UGM%Tx8Wgfr1|H$3{nsB}EPg%`- zJ#ujjK_hBKIjGmQXAaTrbD?i&JEOJg+pn*!VR<~*`f5#5uh0x9Lf*n4&~ZO z4&|M40oo0Y4rP(}3``NAU$Pv^E^s}K)FL|!8yxD44L_8>I;Xaxj>8ISlp-a6aoLt- z`b_O@Rpo>&42LkJ$A9>7_bA!8MdcflZ;1IZ;dIQ~F%dIA9@{ad1d~oD{*@|9>RU;7 zk8U|-mvi&@+LcAl!>fa1V%NE-bOja3Zc+KTPsj`0l(y~=clJzO!qVjEXHYV4u zBs{zba;vq(@{{?4d|b6P2$Rw3khlzr3_9yH$y(D zQ7IGJPg0{OjT$v~?Y0y(YEaxW%PK0=s1G(ju&iIK#5%-fLeg{Ma+VCmw11Rx-pLk9JeMwXONR+638~TX zk`ApY>Coz7tM;!XH66OBT++1C>8e=i{4lzY(?y3gbciR79%y~UOxi_y9ewV#)R`OT zb4tvpCH%Z9p8iIS){0qFF0JT}y*#mIj603r%CSKLsudNZmYDsZC-_m*%ae~ysgp?G zdA8_}xQOhs4U*rY@@5W7d=Xvz`(>vSnmd9r9=*evZHBot&#G$WY`ZQut0$;sLLY#{oiI3=LhY>`{obg`kzDWQY~74z8i7nOF{YHSk2` z8J5aucX(NYRqP{}9+sr07Z&DWzM7GfRvg}?L$HGHmek1Dm`t47l~H&bsU57$Ms!j- zXZd4l3FMO0jKaLaV!c|g4h`I^ZQ4-0Kz8C~qZcG0HY-E$FG~AIB7*e{XPQBydj|{# zF2&pgwGyA z=(_j}(K%AXjehH3nG3Xh}K5c5TsC~`bZ6s zL=#JM^PMiydmExdVK_-Q_?&kJ#J@X3=hFq+?h8Bi!6(m!bq*MaOHwI1sn$}I^0Z=M zwyr%oKwDa_YdEqk-8JLVNf)J;rW5|YJ`by`%y_iaU8y_ayt8LKEk)){b-k69qx+9Aknc1E#9<=4hUuJy;C6_Tx=QRIZshMXN-LPJal4OhG^CUnAWF|^mA8H>v4 z-i_v7NWh*Gnwp!DQJ86_(8G;Fj}CRs0@SYLG(+~R>2dXA!plgFZNS8$B(3Ri~qFNh*z6Qks@uWTMo~of5JQ&6LI`U*|mU{AF#o^uWqQoFzo#93=s}VuSD$ zs{~=cjqOg$cLtkleLpQ2U3x*%o|xdo8)i=8ON}L|B_*ZBxdquK-aXuTBa6`S{j_n( z?Phk35kVkdl6GmdOH>phh@S5n&b&(#B8!RKx;ujqTBtxqxS6vMR7+BGGhqiGy{d*< z0|(_b@Pl`*0!cGSScs-GDs%-aAygiPG8Oc&$i#d-s3VC&%v~#0p^grNFtsahac1GJ zM)4h&8)gc{q-ACnJ4;FsbIlgKEhcK*z;PN%Mqz%wv!Jw&A&rCb)9Si-LTs~cB!Y)W z)kyj#PZ%vLHxEYBtHW1&^l;NG^QJ~Ji)d&LDfEpo2_0i@ah}I`!_VNvYm^^XEK03` z?ir*9sA*ZbnaG-hJ}txAgYs)t+<<9N?MgmvPF^;eIW_9Bk_8L+L^=ot@Ezeg=*`ly zbJunS*9gSo1xaC*i{qY67K+T5Xs%YFpIDS608NE7!aSW~%(N&|Sdv|f0xO5EJ0HVI zAzKEC@;rETxAGDIc%yWL#Vd49qD9W);`|bH28+#`to?D>$bxe+3>MX*)ez8;mM{`l3qyQE}6mk~lW`y^Mh+-^5Hr-h)au6Iu3rd~Y&SDc{ zA2&qi=ruw;G?dOs)Ygc*)$VFy(92RO2;174F@cY>4@Z7E32(+I#ux}05lppNL8 zny3Q6xLFG>6sn8D$=Pi&Gm6_My|eo64dIH5a0m2Zkj}9o-8-TuomeN#Ec&|Y;w=$O zY+j3zj5x#nVB?Fkwxuj8cWXh3#s*zadkXK;JEBWhgD|x%A@YnAp~W4M(LWeXtLbt> zo$K`ou?g4=6VsQ1)MAXpE=@VY`$TkyuBH5B!#tU|nWHU24zX-ELm1t zTbWDRI#imA^d(kJo;a3mm@^Z%oF&1DXn7}$G{K2@b->j|EhDP{la36{af5^NLqwx# znNw0rW|Uxh30$tfq_?3DX(dHz#cBCk89fKgw6csGXJ%QRvsf$iUA_(LT#aNJcESp? zQNm5I)6V0mIZM!uNiw@QHxuxjCH-_#|?b1&sY8&s#o1!Z?0 zqr`COE=aKj9>|;sqLmb(Brb9-S=L8fEJ>Z>oZ&`R#UI1O44uxGvYx0+Y7`w$uc*;k zo_u=Z^?6&<;SQjam0OTol9Qg6F$GI+xm1?5I@95Vf1_VuRtns*5+~*h0;^+oXMiAPI}OOmG!&tpQym;p!9}-D&7hM@~-P{QSNpC7R%l_{?=+55Y5? zdCpR-ZZy$ZAVvT8L_R}UZcgoqLGLLm;^H*5u&6XQv$;v$*kSPrqhoG}89q8P)>&Lq z$hi|Fmh~txx`V5(CNxVmp|vs!4e=T!eY1+LgLyJWN07oKj+2i+lbvz;0uX55tomjx zXQ^lf`?`}t;rwbiUR3IfEfH>uq@s5?l_KoNMk=F~c;$LPasjJd85Xl8p3!en`DsMO zJ&0Q2<46#6^WuI>5VK-I7gPVDw1OG`kThvFr6*S`_;JPFIoG12TYI*vM{_qQ9=*E^ za%=rsuSm5Zc!=IqQc_%4CR_);t0S;eg<25Ur%Wj9N>&t_1YXKL+WK6KxiP?+wY02+ zhmLpw2FLv>H*pZ%B=05GyH(r`jXUxT)MWK|>gUDmHLE;1Tu;3Vk?7 z8$OaVw2o$~;}9MNWroK{x40$f!X-(Un+cs2b$wjY=&(uxJR9wOaEMfoa+#7#-B8P03AE!E}7v-hp7HBb8oOi6)mxHkt;RyqB#*{Ec zO-L_F=$p;OS@i0Hxt@(@|H;MVsubg70bb`Rgq6Xq<>a~9v@VDhVgG~SM1xYHa4HF9 zAJO3K9|m0O7+h7uZ6&VgcJO8{x%(u+%OyA~4>XD~a`#R6d|Vw2=HoFcCC;Oy+_Fi9 zTw}$34Enbd(hd^icAAuvZ}YICAXk`KmQk9ThM@uT{MeBZ!$;zT52HguV(JZJ6H^ls zs=;`0 zXv(yN3ketmxDMJ2Mz#E`>{LlotF}Gnr9@UU zY0FeX3&L8N&XSDcTnr0^1u$(u>7Her@qkllj(juNRlqNFuiutG01h z+Bvl-l}Df%xur8gF!YEW{9oogkj~>0IY|nvEJ?Y39Pzmar`C*_mcSDj#wjt>A>v_w zr&#ReVi=x*i^FhcrenkiISgyQerWYB=Py~ioTvp~F9z4N%+wNRL1u)aDlt5!9EABd z&ep_&YLHkC4Z`+qO=Y<#9V|)*i_*cObg(E55~V{#=@3ymM3fFeDU|VSQS@l)kA7ar zULiL))ziy#gYbw&$HK^PXf;kSwUL3&nOl%LwR8s8$z0WdqO18BKH#|6ph+t(6?>kH zc=(zavEG}LnoT7^%fvxD1qOG-#30j}vk*?pNKTE4g5;f)ii*;e5t$d`nD2)C>v1)b zx=c7Thj|_V)PnYxCx@gn-v@az0WX5Mq=6^Md0c8KcB^rKBNqdGm5`_+IB`CDW|oK? zx#*WU$nizPA~EtxSUy>ssh=q8^VVWs)Q4ndpDX% z8bp)?@Xi7HxC~hCfdHsPd8=YgN_h6aW{OZzgjqK>IByfrXq7@20`K0}k!d=A1oX?vS5WP?nXJQOX5VNnvp* zwq9wSu9(NFQQQ*gjxXa$;kAl1s`hx=*&^FQgVT0s%@v1$x@G2h?Aa_E$GKoy5rS1| zSvuzS#i_&NW3d{bQlFUZ6JYiQdx44aq$! zlh~_E`{h7hGa;xw4^uRqtIiH#1Hz^1d@LB`g-Hc5OiUn*PKJ!o*8~Z2fD&kyVJR;p zV^olKO-EeHEX_eJ7U_cq7|UW~%+O027>&|tVnl(WUBM6Y4n4|Ya^)G^qF1Z7Bx$ z5LQX2l}tm@n__#tk5h(=uu6s|b|E(OB3>RQRZT17l1lMQVXYO zQsmXC_ z?@eHuVQ98O?VQW9ecno5!V6JA?V68Fa}&xv9Jf@M0KnWyVh@R^NJACJVK z$*{^0Dnh4DhM^NeGBR;bLY1&B7aEUf@hVFtGM8L)sr>@)KpzK#9? zhhP+w-hq~}>>7pDKb~@EH3ICXqr+FU$VMOq9YH3$3>#Dhspyrtg`BV6m)t9z!wcLr zqYT3Yju`Z55{o$DX<#Zcxj%bov7AqupdiT?!Wk*B?2(K5tkmJxL;iHE)wtqjtY?P_ zSJ*%JMP_AME_w#4vS?!h=02QCFB+Uk{FX0l~a+> z9sIovD$AqZWQ&2SjVz1GbBo(g>KEGu=SPYKi`WpebVe5oa@VSmyIPRDRfXIQi{>b? zT;|RSU6Zk#7GN~Lh&uujoGkxXDrt)v2sWpTsVDHTDmh2 zgMwb?^>qIP)}ty|3&T`y$(RCG05(iUm%Gz>ApzltuE-G|E}eiuDpr}1-f{}yC22*e zMH$9Wi>3UEF`VR-gB6!%9LObb)DnP;3QG!#@s+^2T$z)mw4cVSlQMTL3SZ#KAPaTZ zp&Xr*7m`u-0l$jCvK&mqjcOlk1S`GkYomv${vG?QwRhc_?V;!GyylHC2`_G#E;& zb`sH4$7ou~ar5ZPeK|Tr6H{3~IB$LWf%IB<4G_UO6B~h;{O0B6=Td^jaoaN}q>h1x z=uMC~@HS2lC@FDp@QB$b<_D0nJT0$``#YzWzB7j#b_`c&L4nhmsqO7yo4#*M7v((O za|s{!PD1+?eG`a$D09MSR^X&%QMoR!PgK`+=~LJO>7N`C__QNqm(ztc27WUX-jj$I z5=bW)Z=%75J7UKtM~!>72ukAC9j8xG?(z78gdOp_mW{#Ix#!gO(s6l+c+09l#O&dS z*o9b|ip?B4K3hQYQ~+clh^`IQ5Xv1tZMuWETM96Tn$2BlB8UOa2`-7Oo2TfZbWd=xh7?Nvgf`@ zf*7{B5g~VZ$}wDv2C)ho1h12;Ss}{omDA#A5&8O$69W~d4{VeQo4L*JG5GMS5GvOe z=y{R`*8k$2XY@RF@|rQSYuDl-9e1cn8tS21qj`VoSp0QvETkT^+zG_NkL7mwpz4rquF+ze2oxae1-xVXn|^3!pp z34Jj)bK)S?y2msG1}{Vhq4Be|NzDz|0}qXY53-8BVFT@R*_m5V?(za|k)un@NI#6- ziOu5|m7jMuiT$m-HeHr=Wf+8792mo>76-<#rd+~k!ItqypQM8<8pDpr#$bFwW{2o*D4inj2n`*b^wlo85WP87@V6pHt! z-8aMKR(L>sG-f&7v~BTPF^IX?vEgraahp6lebkap*eI`w7Z)X@VEO~g+S5&@t#~U* z-*v%~NG>B>J2b#}W6rZhItF}|YYSI7EWja=%0R#3Oi>z@8}-^&h<0$4kA8snUZc8< zsGc_DPUaB!)i5pkr(z*J8e_pQp$)mfiN(vH*iOR{nA|lPgnWX+H_r8i&d78%L&xAA z4tvzrj8h4Op%s51Sj$$RAC;z+OcCwiMicTpUGjmpFtz2LXi`Gzn1o^Rk=mXof-TjF zci*6a!h)>a;(X(vK^8FhV$NRO+?a!WS!D>qF54Q#^k|GSref*W?aVt{CGchLWo5xn z^YAYfJ6gIRRv(r&tEh+`t?zPC4p@O=k{gCTyhw}Jh*K%4kuC-2VC-S&)Ml}^qUP9%3 z-~eKXq7KUVeRFLx$qKB4%urEjpP<4ckS43Ktmpe zamtKMEbMDfy&99AqJPbl!c=YD$pXX*Q;vL5Jam|tSt0Mb%O{Qp;4HOuqvHDdUVa0 z(v@r<;(HlZtj6($8&WL|32`*Da2j?5?9oVz-3=ZJT4Lu3b2>9G*VdE=eO5#Z1%1z| zwPIXV5sqZ$6uwM?egf>&Y$uMv#0;~w%=5m*ZZH2;-?Hn1YjD zbvhm-KfDDeLvlzIN9a-F400H{R}w-(EIQT=c)5*dlk9|C&5glRC`N6rVk;^*QOAw33EO?gA%CJY@3BM)7_OwSyZUwhQ*n%!N$`Pg& zJK_|ei&4TY2^d|JkiTBi)uT>Vtxi|PTBj@8LzP{?$$*@Qm<~m|7=>Lu3t5v5Wdwp0 z(yJMQI?7eb+=`>=9Mxn1s;H2L;wyfH(Ujb~)$=sw9-Off#2 zi-nKe`6Yev6G!-_ihk8n{D>m9thr@ah}R|YBSDj%vD#~qW z^_XRfG6d~9iTh#PXDml}L-Rvd;AbpwpM!fItkUc@MX8BMe-G{}aCfd$lmsviS%vSs z<9;jdJn#-$jo)3t{YBg#K~xxbyP^z(KfH4xp!Cve|_d*2O;5{?bgO}O8Rd(%6?3x_cG2Xq0_LZn4Vi;-?dx&?`5T8czZU52zA2_0HN zCsxpb6?9q!9aTZ+RA5^Lol-%ERL}_(bUX!}O+g1!(76J$5!ana9{;atL#L26zMUfT}b~zdK~Eqq$iP{LfVb=G}1Fj z&m!$XdJgG%q!*B0MB0nA59uYOmyupUdKKw4q}P%5BfWui0O?Jnw~!7Z9YT5==`hj} zq<4_sMS2hEDAF;c_mPexeSq{K(nm-iBYlGODbi<1pCg?>I*IfJ(kY}bkxnChh4eMj zH%Q+iok2Q_^c~U(6D9U`8D6S!B!%WQ^ zK|8qb#CZFG_s!b(#+_{%9r)n!?PLD9FzVgJ!8;s{@*+O$c470i zr;1-_QRAssHf-8{<759Gd`+9PO|PH0_48h%KioNX>HM(9{nED9-SEqv7oQLBb<4aP zmTrvSI`gZd>`{;Rzim}8rihZeIG`$L}ZQJ^$%#kKZ<{XUf5t zmns`f`gOoJ_1`-@+_ z9~Zx{@SWLl@4nKwZF%RdtA=#Gf3|Wmd~QywrXM#w`|;@g0X3fsT=c+?7ar{Y_oK^x zKY7R3jz$|F3V7v=5b`lY##MVubySJ3N@QMq5HZ`slLRKg3Zb~qn8di9Z~p85U#zt9xVhEAEW zt`WoHtw_y~@Qz%*v$N?lIt^b@aTe1(S@V zD?>Jg4cdS2yZ3y2{Pd}Xz25%3!LhqW1}8;qsu6sv^HAiHr_arb*xq!eDUm40f=Kw6@|UQB(`iq7mEE|(&)lwJsRw7{ZsQtp56XoboqOE zN2Aw%`d!Z>+g3dO@qJgn@Wf|LdTsvcjq~k3Z8~}7h!IN`JmZ*pYTmpXcfPuH*2aOM z4IWILpFK0Hd{fzo!L0`#>EEW?`NKa}&YW|8!gGH|rG2w1@P-*5)j2b6vf3*5js4wM zeDu<%X>)V?4~#!qy1dEg8?N0D+GN7#vo72{W%`iU+O!OOe|xd-(+kHxn3pjl>E@{A zryFiw-QcTs6WWY_>ER{o_WQI@KV8)6v7?ixycM)9cV7G^<-=>&1O?x)D{0mDUGBZR zFErix@W*Xu`%ao1di?CK zdtRux;jmKFc){Ca*L6HJeC`XMb;ubz@ch)(7#uvvMo%`$Iolo7otk=C8-uY#c zy0iI5KYo35h(GMrOKNLCZ*I(Q3o%?&si{F1Z?y=3Y zzS{p*$G^Y+@w$uO?jQZvz!6)Y9ol)o+>3AhyuI_@-+nt@xOw`CWS^A}oogArWa!fe zLO=RC=$owCr*4cH{zdvVH+R`~tYLC)o2j?EkdQ;gm=WaT=?W-|eelFTLe9l+tH@)_K#;k8nefrvi zr#}Cz`@+dL&TjKum#MFQlF@ri?^Ye+MjZahcW}RtKHYxwUuPqO{nyXB@5t<1`);U+ z?)pIM_8Y%iR-WTC=g!~#{N`S}`@AUIoCqHX{mm z)3TFsUw7YCT(o*$R&c!uvj>jpw`6L-&RL(9{;~St4cFImPIx)#-P$vAr)(=~7JI(U zM@O?8BoApb_PJSkw~YI>XljEF2O2-vs^s6D8t4#81Y!rE1`kiy1rlj^mQFSxo_u9 z{ZemTmbrX?n+vPopZU)9Wv3o!HMUWMcPc)ZbmZ$dyFD`Yv^abD`qA53k9_#Rf%wv+b#6MeHf!GCO;0Th+O+v(mjnCG#y`Do!?23E69loDet6|BG z!AYZDd2wE&mygz2(&(AL7v~0ceCCy&mHvH>R_4E*6xMF%$q5gh&t2rV_^%PKEm+k* zd}O6x%+wp}={ycTk1+r}@Q`%c8Xe$OA9 zvyX(o8y(Z*^G!F7{o#e4HU9qL?fvb#g`a*u?Y$!n&UYTx{r%!=TRit!MCbFLJ=Cfq z{j;ndw?5K)MU&;@b}t#bwONB#`?s1<^zc&+rwlr^HmhZ`=~Lq}8b>s}ulA#BSN-k# zM~j9npSWk(FE{u7@{ic$&{-cJdDW5UcxZjzsrjYzpIq2FXVZ802DgiT^UT_5Pk%J| zwXE44@{fMv-}dwRkwCt2Q`OI5iKJq~C zcN_2D&^hX#$F^&eXG=eqlo_WWK0!FwDaP>jmVr)AO~lY=8mqObN_5SaqZ%x_uwYtXVc~mwLRPo?bjgvOM|~H4*(12; zfHra8eINX2L}27CX)oTH``r4w57f`-`dOEphr$B;e!F(+#+UM+`R=xX@r`1Zet2!> zu1O1SE9~`s!|c@~!=u}^i4TwLvZ1(6`y1D6I&y2`@ADq*egDd_U$(k`+n_g|J2K)z z+3b6Nx=Wq)TALTrLuMXRnyic6Soy?Xy~CDfcW%*W;@@$DN!DG8 zZzk{A^D0*hvgxW%C-F-w_H$RDnJ$}|Z0tyP0@lf#t9BIhX`0$uD_SQrJpHpC9-2S2b!qI`+i5A1-YBg1cZ!5b7xbA<9jo57jt;#drYl zYx!V(gUc7GGtw<@V=;>rWg%9Q!NB3hoe$nVs4JdB@ri9SEM5M5@TYg9(_;su3V25W zzeap65RiFdc>`ozZGHUk8KKTc$xB%JVDW^sP+%_-pY4F1C9baqv^PD68&tj-(82V) z1;2+$irD_dKR<=7?Iy1G2I%*?dp8BPQ#P4&f+}uTzixVV45SEDW{b^8Mco&OwInZ} zI)+}LJpclILIflTyak5Jlh_bQz;bsOjcJ83hFD=(-+I8X#`S=4acHeeU0PvSp903^ z5iU(WtWiDiFf;dnah+kM*W3nnwGFI=4a{K!YiR?cHO+kg!mAkc$ho2wFJcLS0~BSR z>i#bfTPcl&?%m49u9e;=k;^%tBPE3~`0 zhJ41$OFjYkg(;S?4&GeCHZXN1b3V!}P1brS^F@yT^t#kJ{lptx`irECmoh+?x~2Th z(Z?hucUtr%Z?x!Bk`@lLK#QH3v|4zf<*0%d{Z7(qDQK}jlU7SFwCIy|avfK~6+fsu zQ4NP4%&9x_{g9%J#Msapbj-d@SQ{HyTN_wA8yII9R(jz!unsn`jyAAsY+w;KuucNz z9#wAu<<-0&f-wq9saU*2d@Z<1Df zL5uyGwAy>2MV;oU`Ql%Js{fOHox0T_uDdLwjtjliqpn@}`jhOB)OmsEj}ee>w#s-y z`63|S9M$!&0KI^HkoM3i6sUP>kvbLsWEt&Jpw2ecnu8VuVq3VGvI?Q>6O)fN1C0OZ zwb%L76WiB{G7uE{AOzP;!sT?>#CBIZkJ3*KGWpZnjBc%wu@k;5!uixS(f05h5pfG1M-{ z7W$@7|0hj?*hqcyqu>280lJb&P#`QRCqbMP;YSCRh5?)cVlN)~n)o-yl&{5|*dSMV zZQzWl>B_^FZj&l%nL4I+<)lhJe@+Ie9}!suOA7=xA-#^7UxQ5RMi4mUhtw2KuF6MOU=_X#KtK0IJJ z1o41za$>E^zF>uM(r$%uZ`TUL!HEZqiwrX!CmOsKsBGbj_+3%Pkp-&jpPby#sEgna z5{HxhMXKvxfC!NE2^Wk{5>CIc!pYYcX`xDuy(n_EkXxwM7PRO$c6I!KnXOWzq~HgC z&sHh3%+*GYT4cDUmsu&0k3XVVj+%og#X9~-u`0DJbG4A8er2vUa?~v8(L?R%@%+d| zk3XIkt5Wl%5CHjNRq9;kNRR!E^yuAo^lG@#MjcK-5QtQxE7h<(A10)N%q zB~hTDz)2=41iDdR&#|L`_j*kff&>LlHAx}JjRL*LlR^XF*u&Z1?C{y=?BMiDJ2*Yj z4o+{fgVST|;Pf3kIK9XYPEWCe(`W49^d37nJ;V-9U$MfE=;p`aE|J(^s#b&`ddJKE1x8qnaDz4Ywf(Vx&qbQ2_zhyj7=RBIi^p)Kx3X7Nl~4tL`v|@@ zz?Z+mKW`zI9P<}aBEA%!kAM7jekR(*w;f9XE5Q49@(MXeTM>6D5?$1_R2@3V4J9u(C(ho zG8TAF%X~09f_{C`U@E{D|3X9cX;~O@@(K_oH8Du5Fd<(Qx1UCJyP|0nDaxxoZpTmH zWr-j0Wt*QlX#G#wPqLdzb-BW+6qI0^Dsc##SI0Fq!XK|w<^{X*wAsGeuDl-x8}n3( ze+Tgx@Hs4SD#kBP9qZ`AM|k&`YS9iHeqB?o8p?gb8T9EAJ53G6efmY0$DqI)Xv%#q zRx%Ic`relnMn|{8D6thrnXE7d3oDERh84ykzzSpdx560utuTgtD~uuE3S+pp!WgWq zF!nbqjA6qH`@b>OqK!ECTV>(kZiR8Uw!%07TVdSevBDTstuXH2m|>ib@LG)ZBZqbB zNL6lD^?$cu>P8&;;}Vq=iNij#RMr38s^QQv6IF6x4Mvtk)nVj(kZWn=e35HqJf8$b@+fgG#0(=dI(ah%GYCChx>a(-?(f45wK(ij7i zS>J z8ch!1Nor3cM-HwWIkv(2o7R?q7DI!ZQwc7ICZFzBZpx| zjvQQNeUe(qKzCm#27hpaFvmRD@P8afk_S=mB^u^;D9gXqAXUU!kNH0 zHO|P9L%fkA2Ui(6xN_u>08Db=7)K5ff&+eX4P~5^(hebRZQyyBs|`E}b4eY72xHEX z!x)W2sKy~uaKP_2C==AN8V8;-#^WzQNq(W=5U-9ma`*$crZRuGTmYyf0h4Xu*upkM z2@V`Z8ml*HRO*Q~BpW%lVSWGZ!e!)~GZT9Q1ZK6js(X)KFO2Rc6*uL&)D)&CxhC(l~S%92yA@ zxf+K?g2QAZ$2Lqca%@AMks}9JjvVq)#x`(4%Qo~79Ig@^3bcAx2@ZuujvR`N963xi za^&F3kwY=c$bst_a_A{IGzN!>YKc~_F*u~CI)}#4Qi{QWCzB}#&Bo{p=3D@%lxiHB zXdHS84*32QVp5sLp$Ry|8f|X^4zY%ont+43jAOK}CH^^>#%j67fpa~!p|{|G-*o_o zX&Q$x!C|_QBZnDAjvQQN=a%z#%LORu>OzeJXS8fXKfwWCy#6z(Z_k`}Y|L?n2RjpI!)Y1O;_k7PYANSe7UU#4Ud#iR;?NzJR z+56LMa8`jE+%+{A5*q!ZKbMv`f^(7{s7q+1@|=Zx0IA%f?DwAnKcqtTD2NUsv`2=KkiO;JLLeh{xLg_y`N)F(~-)!M4w! zUqUI+EYpdW*RO`6#685BIXk?k`m*d#AV$T!e@+|7Q^m71!9Y`-3SPru&Fq&NQI zHPY2`4$S)hhsBs5G_0TfYi<6{+t`BY=dD9>0OgXCJ`_0nQ|FJ(6_biMeYLL0kwp^alup^cgfZDk1? z#+jnyI6f49wn4&nK*Dxl!p707@O%d)Y#h@Hk2@q`V;G_EI8OWvZM?e`+Bm^3v^7oG zIEgJhj{U39#))E~jZ?cq8z*ChHcp=kZJh8F+Biiiv~g0AZ?jSTS^UO_@$<)Y3*#@! z?Qq9%6k43~KTGn$_`{-+d|2)|e8P|9!*V;rUd?P+Zdcf=g}vv)UTy5X5ccX|Z#VYn zkg>J%-NF{eUz*$Fj${~rS++Oq)x^_;U&Nk%u2zQUZQygvKd6ZwdnR%q>d5cdTX;@% zGX!lIxW89Y_ZYNaCg13${#y9d8M&9;`FPj1^Kk^Q^RcJ#d}VSzhUxWu4AC!>Z-(=H zwQ;`TxmR)QZj7(BalW&2{83HpnLNkAat``%dJYERm&v!vc@8fA4$r;r&Oz<@=U`9f zIU3737;4vZFwDM8zLCyzFkf$Y?oD?NzDFSc9PIf#$Ki4g2GjK%45TlUZ?p3pWpa*v z?i^(W=io@ea~vh-;2mt4)GtHj%jBEzJV!k_$2;yEybtE<;K;&rw5VVU<^6U!COyNY z#(bS|q~S5;atuS-_Z1z(k%z~$mSY%{<}qjF&XgamdyYgrrmY;quyXM+9GQ4bJ2{4d z;o@UBQt_DM;~Arn4NwKxMIJj)Xj>iyXsHW3gtAj69~R9K&ECS@HGaNXcWm$uSJ~ z6(7TqlgD(IV;Hcbp7=Z*NqNl4atuRmcjK7*5E|l-UQ>>&Jf?>n!=Ty1qGLGH@|d1- z48vYLCT4Num+tMA=Uyf;6R2H76+#ORP$CTrk zd!qWMf6nQ4J1JN3H2G}QRk445wx&08@TEu2=~ayy-m&h5;qM55)v3k-7*h5B99q@c z<{Axc2P2Blf16<9!++D$>7IX+1I}ipe+J;6L3sGht%qSs(LR^`65IdVPWazGt$KYTd4t~D(Dr%Vvw9ce`dY3{RbBf%r`7qt=d^n7vG)6V zNK()LeG4?EWn~xYMRU_^UORp8ho5F2njMWsnPq#iB1Ic_4s}!NDraN6EVR+hDYVf| zDYVhmFx%zAUf}>n*hLR$FM}t<|5;=NR!;T6i39 zorN~uDhqAAH5Q(aw?aFvPL6fTTVJ7#w=w_Os@y0k2X9-2Hr}QRZM-cN+ISl(wDGoc zC=x31Pv#lC%@iKT+e)F0{oOQcJ@d9vXya|7(8k+>KOgIv&J+Kv$i0idcgrxE!(Qp1 zhVmH-AH!Dd_7K~YM-lOS43UkIhZ5;tP3+Nq(7jsNdq3>e#@+{EuMYM;410AEa{DOk zmEm_EhrN2(`y}k)wJ8X|ctQj0eHQi(z}`>8-htR-J5VhRvG+OlcmrWi8i!3M2Q^TN zN_kikkK}k!DUVIky_$H|Bd@;h)xtvzXNA4m(eLVDkJq2y_T$@%#^XFw@BpOU^7Che zU3G$?Y|Z{*D5x^~nL8sVCYAE2CQdLoQjHfbzbMmP*0I%I8%I%3O^i~?R6Ch!$2V)` zaZhxDd4DR_!BK*BpgBUE%v5III31kORLWzbbfV*RaIEZ}8-t_N?se1(I#_nTWGr2F zjzVN=)(|H=mGU4eYUX{nQXWagb92(8W#NS9%B-zpa&*?R*A7hmblvRw+%IsH?y>y; zfIXJKcC!2&{isFri+DG$l!svP^PD_Y%Hy!8g;zqgaN=ZIs8Y4?7`+bq>3l6r*{_tx zYEcVc)K+{gIOxC1!EAfAC_w~ZBc8!;e z1GWpk@jcxxcsC)lbp~KMYAX$co`yjW+e$;%XG*tI zdPHPv#uH~CmGZDXmVu$=N_p%a+4zzGj#N9_sc$O>1vVF(e1C0@Y_ThGFZOmnRvawtg1#5E9vrR%pF8ny8CDo%EI%06 zp?Lh{U7k8LYl?x78CgxIgL!2$Gfb3(&b+cmLYp`QTFNEcgUmxh8$Cp{u#Kv{Zq{1b z?jg|9GFRJaIRsid6tz!!nbe~BRSdAq$m%#c7h7j$b;Dl1mPU~l-nF#9@SdUlg<3dj zs}_Fwq-73Ig_nA1RHTL1ncnTnTs=9aTxO*!bESXO+v61|3!zyCZOU@*!N&73Kddab zKkU`Sp7-{cA6Az0-d+>vFUxsvkNII`Iq&T?K^f}hytmf`Ek0_gSFxjWXWbYl0qHmh;|T6ZD(1ocH$Vz5M~3dV35pRcH0xHK3yOF-vH#rXlb>gh3TRh=E+ zNX$~J&JM&Luj*lFm22eOhk@B6czTBg=3#-U$CJq`au{l_I(T}Aq4tV(upLuJSp`4A zm_&8f(CJ_oawfpk($rsgGBbgh40*E4sh zqc?+=p1H=@<9YdQDeZO5pre;$X{o(7j$-XKgN`f0wQp9k{G7{?sU96egw?@|VrE=* z@S^yv4XyJdrR?5|Ix>{~NGUt}CF}gil1$DO$yCpcAxHC~m@8*q6m#Xwi(;6EZ_PJFgY!qzom>z1%}PuNaQ*w_#Jwed?QnCe@%L~mUeeCw8>x3-L!ElV=lSIE@47FQgqvnDxZmV;TH zv5iwfIhcP4cg}L*&cY`-LY0H7ckFU-*MvEEIk;(Wh5eCSomaIIE|wOA#5~VxWM%8Q zTY;;0tX5!d5B1wBFk3~;RwbG2?_}z{skJbVa7<=?R%gu|vvpv$7N#Ge`SofoXX}XB zx+Ih137I-yVlHU!oS!SS0kcoe&lTE$*;gK+z}jvDZoe>BXajD4@d(<0+h69htoJtH zRyccEHZ;r?+F%s!pF1^on*98oo6B+>qn1t;B(xPRey+f*(LOmpS7;k)X&Y&28?>~I zw6qOc+TxBdG|Uy+Cbe+s~{wCEi6Sm?Mh#O98L4($VciQYKz zlGuxmg^rtWW^GHyLd!aNOgufdW1(dn9(cb>e%^APGskUe(K%E*Xt8-^J7}?aWjkom zcmtl#l{c?!2Q7M+YzHlNmuv?udY5bm9WR7=WjpBLy-j1ad!U0?llO`NIsIRa@W0yO ze|58g?zi<|<2B@+WMz(bE5_H4gYwezt(9m6{0#3jHsd-TpRpMipRQ;#uH#W!n{geF z65EXHc$C;?T*sr-Hsd-TrM4N@@hG{?xQ<83ZN_yx^w^B+_-Mv;JR&kS<2pW?aUG8u zvl$ofle~U9<2nH)s+NRFmX=Sps+QF*-Q!r&6vyfw$CFvuW1XLX5^3K)0j04S*9j<1 zdJN;em|UH4;RUYvyr1cH5U!u;bwEwptfK>J(zqQ0w?p7kPY2;rX9v_^b=F+2awF`e zW?l3Fs6}U8Cqm2o>==B4pFa^=2IX2{kLNuRS~NCtB6Q4@S7NBWHjdKc>);5^<9NS1 zv1Iw_W00w{u9KwvUtpi-I7!O?W!Pi+TRJ@_Mdd#!l>elt{3nI-pCsikcjZ4RS$_I9 z)S|Plj-sWN<8>4*U*WebXGggf)YwsUTo~;B`gar^oB`?ae)iW`8AAUyIIq2vdbg(^iF4-RFBa*4JuP##dc8=La%8sM~ zVRi{+?;=dznW&{pV0H;@fn$0XVd5aE$1W(pt#NcIDnHLe-&Duat|0sW`LVPs&ZlE( zSA1H>QhKf{bH_m;$5Oo3@~;?6yW=x9mUhQyY%J{#u8pPLQDPfQyQ9=LmUc&}Z7l7M zlG|9?9ZGF1?T(V$SlS)hZ7l7M7G`5<_h>Bb9*w2lqp`GmG?vmY=QY%^^klh)$GdBI zvRp&XZ`hhomTTA)$Le1Gn09iwjwgrf$hLEG$+klei(DN`dkD9KBlQsOiP+^f(sci9u4rkC3vC7FVErfN$!nrbSbFpdPtw1T8<$Af2RG^eU$@LC< z^q+kxD{$RxJ+%U*R3EwmrL;VQ3S2Ywp(}8`Ucf9xOIeX9Wu0s-b+~7Y(kH0E)(6{e zY{f}&W&fUZR+w<=J?|q%^NAvEQ zSRUQ~hP*poOXfu34uhV3yl}w!-5$U-IYk<>fk4 zp{-fM#`T**eMcpZJ33)woZmB8FTA(#&&ph187a&0|G&nUWm_~~mU*q_%QElId|7^} z(0p0G8^L^8W-^;EEANXBE3teCv-z?(KaTtuR4T?J8nO3D*vt22bCEC0ul-qEfTN+U z#PaLL78hXCqu--=GWEF(c57iGQX}t z?i9yle%)=(p3jW)>x@|&OwHZO_hL8`*nGMO)D zOygd2!q2wWVxZW#M`f1(L*iau|gVOqDUu}S|&!`UO!W|;#WiFhpgRuQIa`t>3yq1SLJ9P|q zI;g8y2k&as(OPscFRnhm*rhu7EV2fw~x)#N}w`zIf1V7Kbw`x2YM|lSZ9n5(%9n5*tvNPw+bTH>lbztO% zj`N)k=DZc_pm#tWx<18Rw`x3(POkxT-5TUBa5|XlwnxgxT(<_frT7%f&0IHc$0G}J zyvMUwGuMqPU95%1yl)_0S{z5CCqlliQ!(GI8qd5_KJ(qG@gzItFyBr4As!=~*A|)Y zrsFE}-FAhwG3L9mAAW`$^3Ubx3#gzndOBq4Iu-NWs`0!oWirpL8qal7CiC2s$vih} z|9mQ%GMVRQOy;?z`#wD>GIgDbIc=6f!<@FS@MI}fz?`kWjGi6KXclO>zp1OwREarYhzAZbvDY;nbTH{r?P1InQgA+ zWIkJUHVB`h4(79YJ9Y4ytG#ZpGp3HomFVC|RIGzuBX#H+6~CA`1J7B}THv$SX5vXM zdfr2!L)WMdg%0cgheC(0QSq5;x-P^kd?@O})~F6e+gpd{vZ$6rp{00@iry-<=o%Hj z@nso4d{Ucb_%se}qA|2=2URulvGH0beBisS(eiQa={CVyBeSbq2j=Ekh7WV|EW?M- zZnF#@=H^+34|DUbl55YrJj?K5UY=(7FelG4e3+A0I>V=_)1=R0V|JZsVs@Qn`0#yB z6NJmmI?M23W}WI`W}W3pGqY|3K3|&cGwk#!ZOpK<3?F9LS%wcY?3B$6JIj-1hMlsR zVP|!5Sf~qT*jb)5Gwe$1p(o1gqtA3>rk!Q@Fw@R5e3)rx89vOmvkV_*+iBc|*><*e z$!t4~yBrQpmf>?aG{qS{Y|)(QP)iSKE6l(%EzH2Pd|dg*>|dg zF=M`aY9oGA%;ZdpOnn|4Gws%eTx4e2S-u1_?X({<)6T}pW`W5}J7Y4_F3sdjjZA$) z95d}~-I|$pwr-I&CzyW)E@ zXQR}jPc&n;-3+|_NI%bPyBTS|@C65;m@x+4(dMqgiQj23nkzrrh@OS&hy3Of?2J3(u!nY2Tn$@yEq* z7^}47^nCySveNW?zFrumwfKd`dOAfmWpG8)j#FEggpDhIg~xRho6qXg?=^N$*tq&t z7}x2McRpVSTsbm^YUaw0*;F4_UJBz=eZ&^W#TZ2PpY;r`h7{Vko{(>2%Wnaj#cf)k zUT2_&c^n_JUEW6dOVrDTIHy{=DCSD z5B=YA)LyaQ$x(qi%4Ce!+_*_jhvvrl_)(l2r_X>UuP`@`I(RSD+_>h6c@9S%GBuXN z+&GJ?Xl|U3t1vh22$|C|H_l=lg}HH_skw0}CPy_gHI~ENxca&4TsfH=SDpE|3UlL> z$-FpYGA~ZAG4tZ=8Z$3$4eGhLZaHd_sj(d9z*T3H9g{h5)%gCRUNh#v>HM1cZ&tU= ze^Wn&`ETY&GyiQon8k4fpX;Wv9Ok-JXHy)Lxo*|jRL5klo5qir>t;;mx@r7~xo*Z} zuG@jR6w~LlX)K31ZPnQ{$7D`hb#{YeGN(=3CUe@1$(%N=TjsPGlR0hay5(Jkbz3g& zw!JW?J7#-f&T!23U~2rRy)ZehvE8-@Q{zYN!}V0Vj~}&{{xcKjVgG55{!?7vypvH! zYtg~1xa#air{g%$;bWo4L5IeVj)RV7xtp9mF8yiz=(wPR{pUE8{m^86^G->o#%-8Y zSB>{8>X^l>x@vjLANH-$Y&wgVFq=-}CCsFIMc!A-vNMye*eB!N znL64@*)eP{J1$zi{{7q_%QS1l*!yUs}ttNdArxb>%iQ&Cb$m8{oCikX}pGcaMgI} zlwJqs!BykEAllZL2dC#|9$bSQ{R>{769e&kv&vg|%LPGdNl z8+V7(p}BE)Ivpnk9n6cfdkOR6RG;O=@j5Us&aMM<?oEvB3Y)5F(v4FX87EkI3E$J8*Jvg?*PSOrF4{m{DY98F(jv42{88gm~jD@dlsYnby^jYkvdwP(&-H6Glf*O)nPP32lL=gpYRd0QcUf;n%-WX{_{#I1_k z8$D1mH7=t$Z;KpLbKVv^CUf476ee@tjLDq0qntgT$(*;NaxD^VoE|Qj8kgxR+~5666bKAgr_G#~DM$JTtf6^_k(IAxz4v6%~}Z05olo4Ig5%;wC4b*?cL&52v- z*qRf!%CVUfr?Cd+#96s}fUUj?bK*R^DRSsa#W#FToW@j`6KC;m=ENPHTkV+4iPN^l zoH&cAFegsO3g*OFAM!bI#qn;=oLEkcsc24|k9TWM+yjmo=foK^&WSVTkLSeomhnk* z;tqCo%bYlicQYr>;@!-Pvv@c2;&i-VUYy0dnHRTE`dx2~&-1efac15pdnfM|oDs78 zeMCzi)cK5TjnmQxT4rQxUHSV!i^fa(K!?Rq`ap-b=f_d{K!?Rq`any|+(S-FpQQi5 znJBgN6)nu$n~@>qNXpVzw5)Sl`UWk1BQ1S{mcFPHi!b$!wDg4*i|O=DYT*o+S~R}I ze83szzAYmJruyLiO@Uw%(=A$h76s%JcwjpBU z_sX)6jWbkiapdaMgzdD1?I)2aFr$WY+ z3h6(OxcAJRJLU>tCTqa zOk0x}0H&>v3;@&CM+Sgv>mvie)qCgw8PCY&JYfL18)aM^fIe&MBLmQ9i`OdHhgkjr zQvQLWST<0!{Mns%plDHh{`$zkpkrXr!SW9j9jWyZ_EDB!nS+G+y<-j%=3g9h z5SY3qF$iV1`|6;;927AJm1J@ZU^xd$IS0#iuIaAxU@-03D1*VYXQK=T*Pe|s7+ifa z!r;JVoeu_ApGPtnb#Bi_8H_qFel`ln9+qFVoFZE4I4!4$mbzgtU&|?xmQ#Y3Qz9*= z1TCkCmNJ}+_xMwiS~%vhUIt0M3=u8d=XD+;TK*GzEaQ-H{f9t@%?F1-hhC#0K?i%* z5a_rGpY`X;zn2Yxmg2Q!j=uV6Wqc^a5E z=3c0w^>iATH|BO@kL5fqFi!*1{D;#5^R$S0T9V0Y$$Qbt+~X(q7 z1b-MlV-fse&}k9;VbEz2{9({)5&U7$Y7zWl&}$L=VbE(4{9$OX7Qr8eHewO{VJL$| z@P|ba{9#c9e^?a39~MRMd8g&o)(HOTa;!-$#^BM`_ZtRNl?W)d>C>!hO<_&JeDTdY*xr)Y;1!U>=@34(3HqwPT(o z%85Ort-f4Jy) z#_1R?I-Yeph6f$Pqp}YVI)(=wysHf_S$29@WNHNeY+?G*>uh2A(d%q5b@V!0t}*)= z%Xl`JdPhH7n7&<|4Q6`uq6bH&M)1!O<_=fRbAs?G0zpI zUj;fBOpV~58`bT(U}^;a+=zKDma=xOpU-_Ak00koEHdl zuPf&Tfq6m1ydW?yh?p0YWO9Z<<_S{H3x)ZjV_qoCmmKrLz`PL586ku9!ocMBdCa@G zuq2Z+7&0~5evvR=cFc=}`HEv+6qpwY(~pN21?EK&^P-YW&XCB|sQSgieAO{87UpY? zd2wJ~95F8r%!{MCy|^TkGcYnWs(y(uUw6z)g!zVJUJ{s>M9fP9^OA^pNl7MWcw}l+ z{Ze7R>6n)a^DW1`G%zm}rtd442Ii$v-CkOf$r&V>8dbkcnEM>_GGV^$n3o0SWy0k8 zF30%G0`sy^PI}9ifoYMS%W#jg$j@cC$L053eRfsbL-c!-jH~$giN;babBK|b(m%`y z8U>DuuT@5#*w_{>l3yqc{X3C zQxmpnV)Nxt?hOgs^n`6jWUDLRVw)M+^n5pp&Bwm<`f^5B7{9tXVY?+^yS2c^c0UR> z_9$I58YMmI9oM5qNsoHh^{7#yM~#vm#nQ4zjS4+#RMd+{mF&fA-(>2V(dEK?&oM6- z=6=V#JTNbhn3o6U}Cz90R6$YGc5(-0U%6>P%-$#2f==dZxqvPo}O7jRn*4pvQt~ zx!GgEwA}2m;973>Sa5Z1YAm>xk31IK4WfT6Mo7!e9*YsObUrf2A8OLIqj93?H`r%A zj1x`2#UATnoM=*ees1=-pl4jr!>2Ef6Fonao6T{KY+XaD6!z~NyHeQSId)}WS4v&< z2zFl=m4QvIm7y*wr7nJtcF{LI64chkGp9;hxbu(G=_Z*IP0=69p@TwZp?n>IM;xqYrxllGbhB&uK`DAyVrnY zIquhh!yNay;iog6!@=vu`!tv?ZhkG8?Q>r_=CxoRm;2f=uLU!c>vk=e$A>7&wP1cP z?e&IwUDCxmiN2<2q| zogn4pSTh0r1aE-Ad3NJFRuj-qtn3F$$?18pw#sQ7!QVxp+{g;OyxsF)b3m>5({ zj8sevDkh4Ge{d=$CREVZVO}w1r^sph27Pz3o5P)D)`-o>qJF<%hTGY@5XX# zTzWEy)!Dx~;$#rB%5^dwyG=3}XKH#Q$qsr*FtoD)V|_{+nZ7 zFU)^;%YQ$CVfwqQ{&Q8g!vziIYpSicFZYYYV>Xjn3mTu z1xy{Ir+{f=@f0xAxta8BSx#k673OaobE+_Z>zGpmb1Im2FPa*dQv;LzYpO8WzoyE4 z=yx~|??Y3Q_n~R7?59ZEo(3K3vhSRZY0zdUeB*R0EMzGdq&H{&z5E^{+VW9u?E zqcpZIb2Cb0>oPZ^M7Az-GfHLaGB=}Cwk~rsYS`9gZbl8;y3EZegRRTl9IeanJ#_X& zjGLo%nVX|^8O|1YeRN&s7L=$uLqRgu&@K3neY4^gl*ra)Zb6A`UFH^)NJpPrP#Vj+ zzXhd9&sI1iC0EyFZWZp6u3g+JT)!@Jt8l63RxoW{=GMTxRhUh1GJ1ly3bSxsMzUlO zx4A~1cg4tzK1FbQKXYa#%Mbr;=bnkh=tdPtg){M43ES+1ZBAs< zjE>t9w%a3{MgZnUHvQ}!3EQ1{HXrf0D`A_Lu+2}{79?zUCu|E7wtEt`MX(h{z7{8J zOA@xF3ERDSwyK=g)v`RBuY=`c`v$EHf82N1?h~7jv}m2)pRlb+*j9=yj<~H#*j6V# z`#{3>V4ltETT@`8H(muB`;M+JR!QIS>x)&=cl`QdRp>ia=sUK)SQYwCRn&K?l6{9v zwr?_ZeQ}mB{rci8VfyvOSzxM%GE11eV!Ut63d~u7sdm4dJF7R)S>H( zvqi@x;Ju)2}byCQQG+cpI3yzIYp$Hfy~NOkH2R zEn?mVW_o>*V-A_RzIeMZ{rckV!rXOK% z!u0ElbA{>G7w3Yh>x*-vx}6KAt}o7wm~+8QuP<`UB(t?J?+~V6U%W$@etq!{Fm-+L zj)-{&n7Y1rN5s4X%=G#q$7C{feeq6V`t`*-h3VH9?*vn4EO&xw>x*}S>FxO*{+(c^ zXEGe~$<+15yM&o@_x8Jl>DL$U3e3Bra^4k~cSYsAt0a^66f$*vah@>!`rUzmPkHJX{c%3nJ!%l1$!n$<+15yM^i37w;CPUthdCFz=3-cL(O( z5%cbnOy1MU>?D0;T@;v$gy|!bivn{|VDiqn z2uzF2F2X&|))yDy9+%&DH3C6jh+1@IX0d4TD>I8li(i>p9JDMJEq-NYanQ0@w0Pfm zamn)2*CJC_W|j!kugokFreB#^5|~RO=90i%5;2#QWU?oasVg%}h3QvjmI~9a%q$Je zr4e&!U@ncAOG`58E0U=zGxrMfSJ>zL;$C6;m6?0N)O*~$U|J08UNCj8b8p1F7tHir zhrTG8x-zp&m_E|JOqf2>z6?w~_cAao(!MM(mkHDR56i$zN7|P=rmnm!7p9N2FBhhd zv@Z|LmvU@niC%S$rpOS7E1;&LCDSZ8tfoBP1TIt%vLKkoxm- zKj}U&?TNqlfw@tx(S7JYFJ!fF9>yH*L;ulLc0SpdZ_QwjqyJ7Fy3%sL=&0><+%G!n zI34!~9rr`W9Px6g<9?J~{k8j}Yka@xcp<^${D4edO<5t#x{kR*m}QQ+A~08gX_3km zfw>}Lt|-am{DVwgO<4)%w5*X%T!RLVy;`op0qz>C4%c9{uzNW6>TnHKgKaA#tCQD&(I(F0{(!bpiS~RY z{vMBZTG&2VM$YY4<_-j(S-=lM+mB}fbM9x+rZxDCMVr>3JQi(QgYsCkX${I`(WW&h zlSP}>pj;MhT7z;~v}p~lvqhWM;5u8hX${I?(WW&~v}sKgZCVpWo7RMA6C*IaTmX^+Y+{?61M7uZF|D@bi(#b!uD*!wj*JCE@9i5uhQ-!gLaEeqe0%br@+QL%v#tu(rDClEqW&2XzE6qwdk36qiNX7kD9JU z&$OuNTJ%i4+pk5hw5aJ?^vbj+!8T5=Mok|QuFs->NVxr-m--M!1od7XikJ@t=0g$l zp^{AYAu=`E^sq2}r1oK9`bh1=f%!0)7O8zWFdr7C_eLKUW?`h3^~*j=rbe6A3DZZo z)(O)`xYh;cIxsE5wJtE%Ma*?2nH&Si)X36$VfqNydSUtq*LpBD!nIzQenz)GFxLkr z?{w>h$-BUMjIb8rT8|O7ID?+!4s~d>X@ltS5v~oQ!$-I_1RWcqvTq1FHUu4vaBV1A zc8+UgYP4yiFnxq;qcDAhYa^H%;o2zI*hjcFf~g+UMqzpnbt9PR40?{6WNNf&lQ4aR zYm+d2gliL+8sXXmrbW0mfvFL$O%ZbwnCS=?$7M1#+VqGpeT3@~VfqNyBVcO(c_d;! z66*Gmi1|p#y5+b}rbe4K3)4rqHVe~7xHf~S5w6Wq-EIa`BV3y!=4LR{5iZ_W$kb@l z7Ge4b*A`*=2-g-cHNv$eVr~IbBV1b|<`yv15iZ`h$kb@lqr&tNu1AIGBV3PysgbNl z!L$h1qhNY_euV2$F!N{0{J(noyf2ce(Wb|QISC^m``Tl|^bxMd0`sw`oR0cVfyj#iNJg!Vm?ulNxy_l zjW#_gOdsKTQkXu%^<-c^88M#>%qOF|eX=Bzeh--%ZQ3SGAK}_2OdsLe7MR;2=C;7x z7BRP#WYVu9Q=?5!3DZZoo)V^ya6J{6PYJU#KE->=Q-S$ZRJTu+WYTXVQ=>}N!t@cY zYGL{aS9M@k3)4rqsspn+l#_SsYA`LrRgHU`MYyVQkIV17+HdJEQj12Lwu=@Y;o2@* ze1vOz(6U{$_z2hbpk;eh{_Q2pPk)q5jW#_kOdsKTT9`h<^>ko99WkE{%%>yf(l`+666|W4sGmEXQ~k%5VLA7xY+;@vfvV z%Xt^|XoTu{(c>eZ&qI&p7(Wj^+UA~z7K?m74=vuF?-M)^E$PT7=XGRi1nLDaEywr; zFfGUU1u!+27!gJM&yRC2fa&e|ImR!5na(lhypc?eJnfcp`W)lkQcj;^ygQV0H<;$j z?hfVLjXJmdz1=0t$$2T66%}m3dxYupjrR!i3+IRI3Cumh^gjEZz}zED@3ZeoG8w;_ zF7X?ETO9Lae2gabuSIe6`7@enGey47vlqGx<2NrRY%e8jFDGoTBy6uHY_BD3uP1D8 zBy4XcY;PrO`x3Ud6SjB6_6@EP{d(mzz-*PY7jn4JGQ~67pBi6e?2f?2h-+kuLtJqQ8`~P$>g}jaw_u;VfsAsH-!0XSGR9~sWGfKz_dK_ zH^9{U?Hgd)edrA^(|P0^7g$g>rj`;6ES*>5U6MMa1 zAI#qs{Hc-Em(TGtweh=tH5z5lWZm$;3T%C_@lWx)iSeveGEPHb2|W!z>30(!BQHN` zh=)!61V=W+(&S^l|y`@H`@gw^=} zd+#USTXqmMWf{MZk;6}ugIIdquYvz9%iFJs)|r1i*5Xl|gV2KY_>Yr;pN72yvB$QdyoT8O9DAH!vv-Zdrnvze!78&OVdRnQ^Of0AVUJmGy!!e(#vo^5 zkN!)IaIdZ*_b?xusew^qykr;^z6X~*_$q9g8&DJ6tHb*_YvO#@g!gmS#C=n4k{%PLrcT3}Ahj&`N11?I%8Irdnd zT3}9+bJxQECuYY4du{CLr@eomdv) zDW0J=_?6+^sI|c#=j^O!?<>>}^;|pn3e;O$>RHc||8CUUxLf3Bzp2l{5s>wuxdU}X zM@v@^yq1+&xhrp-po4W{I!M&HN1aGVouC7GTQ~wYRFuCFj!Eg@sLT4$+=05HqqWmf zS9JJqThP9;11|4-H9d(0_x}u|v(}Dc4M163iXMJcsL7C|I74})5Wun8cL6kv< z&c(_^$9NpY`Y#JQ%7PC4bX~j~r-jfP<0#fi@%vtQS7AM9Zb3cpCuhHO{CePDpTQ{+ zPCf9ah^~6z!|wR?!1s2xOZGqV>!BW|<&JfAiVQh?rk$&c_}#^~xjs@KpJZK>SMc*3 z@g`^O-RC(XOwEpSTIvTa>`SJFZCSO{m%8v;>PK2wv!*3}f3erXyD00WwP<5B}?(KVU|&|+&e4WPx_^Rq=86ts^wGW}^JV^v!y}R?kz&>{-7p$NvtEybvP)} zL{F9^JwN6p?);ejU|jRp=b)g6o~(}*H^(f1dMbaQKIo0HJ~ZdyU}1lceU|xPVgJRk z4+dMu_Jf7pBiMai92~I^{!upX>@2tDJ{$t}jO=*VXE}43nVsPJ>>;7thk$MGx;_Nu zR!xTlHm}1WVBaKVI0V;WUDg5T;dsvX9>>pRW_B?>&71K(>|5~nt@yhNKeuH2vbPZ} z;m^Cceyk6AMXPcr%DKw1m&0D^AN@>Ye8xPl#`w&v;CVGh8D|C0t1-%Go)_=Nvx4W< z809q2t1-%Io>ya()jThb*5-LNMtRNiYK$_N=hYaak9l5=(U;BhYK-1xo)_QJZJrm~ z`fP0Kc{M?a=42vo;XpZ|#9eg94qb;vo6O`r- zXD`DMousxK!Jhwg_xGWQULem+E$WRm6)iqe)l{_jNL5qR?rn13rlP}pCQXBmrl?iZ z(KP62iW;4hb#^+MCUtNgK^^L$9VR-u;1jHq!$gOVrW_V@90nbChCAV5&~cYLz7GE9 z>*Fx!nCI+e@V&b_9ehKvJ?-At2R}s}>Zu(L9rLqpPRHTUu^{Un_G)H#htchDXqg|b z&Ee3pP?(3KPVNycjG7$|EeqlC7iUv)lq6R@vm=CivLhWK+#cBD^*sXRzgy0I1elA0 zhj>I_9wFC(t&GegN-{bBB2&GvW?(J~UU4%p7iT>kvl*C6gxM@&HUo2!v-8^fQM?(L zOP#$8GnHOA4@Zw?sPp2t=y1+Q9qNT02_3g*z3~ZN`y=Jr_i;Lo4A=fh=$HeB)(PKC ztZnniPk+?^_-i*Na2`!9 z>U}kbmetuHM{f=-4`hR}M_zMW51pYkhmHqBTWk&;tEK$Sp~F^ZnnTCh?3?V{?C06v z%g-+ylk;>k)x$bQn5Q`AF~S_;n8yU>F%k2az&s{m9+PA;OW;o2wyvq+pM_fGVygOn z** zuyGDh$UQb;YnQOKPuPx2*iOi^`S&e%NZ3w{Y#JXsDY9KEalVcTTc?Drv)I1L;h(H3 zho{}5p1UND>zc52OW3+6Y$uD&GgKdaGGC`vIkokSY@nAPHPaeun4SS4a zc<;Lf`pU#GKD9t!(P%~s^p#06ZgYHUfxhxEep5VCZRxn`<+cQOU3QuywFGxv_IKFh zn9vgaQ$6^WV6F?_nQRHBdi*WHw3%v4FmK5HB%F(0|1j)vd}@g?dM={J`n(&znpy6& zsMlK#EsL_#-RH}pWl?rU*sF=}GWa?uhn_{*nfM)bmP3!;yUL+weW-(S=vj(;)<^jH zM1GdIF^YY4HnvVOMz;cYPUfQpt-zg=`Dj6_aGz=g<{Xq(nXSN7pRE;`dcS17w*vDH z__2P4X>;bsVvYr5YSwRSFm2}98cfSrYz?MmEVc&MG8S8dtFzwL;M#1sHMkpOoNkT# zLUnc)>W1~+8uflv_Imc3{JieU&oPKvG#j{$X!#BHdBWnqW1h*R-2%s zP0+#ew-Ftj1s5_o#*wMnz-@);XTNQQ`JH374a~MucJ^dyX&abr15@q3>|BfSv)@KI zK2>&(tJI;{s>eddx@f&JXgSBx+liJD*yDNIp-!|fwi6wGw%ab~Xcu(wIuh?E|yDF#UCCADHbUX8XX@UOqST{haqBGBsQEI4~#6YBuYf z>u=X*=R4+c;o2W3*WO3RjtkfRxNzYKd$Kd^BCR-SLH^6 z$2Ef!pr!P@b(LE);C<3&t{w0ho4Iy?ew(>=fPR~~c0d_q=9S3#otpTluTimfrWCfK+{bQre7u^oY}88+Txj>2{{ zw&vK5!PWv>OKji&Ecu#<%&xt6_mh7MM?t=dNQ}iUs)hNYD!sW#z_aty{2x~?s zp(p8#b!i@YRFdxnK;?7gJW<*bwOpQo%6y`;)bRC6xG4?ph zb_~pp5wl}pc8r)EOET#Rlc~{%PQtvzF*^zKQpfBRn4KbKr@-tKnAF%wn5?f(XeE2I z%Wxi!cAaFjD=a&`@5iudG@>(fY|TbF9i5@$@$7P^qce0oA=jZZbUYsFyEAk=>Fjl~ zZBpN)cZQA`xzXWVW!XPxW1N=G(DKXdU$TFdpI=NpvOH?OaLY;JxI`NT_E+wx6XBA{>M53!O$2!ejg*ncZziVK2jhI~nvunicT9V0G z3z-^u=qAic$LuD|D;%?1V0Md`-2$^)#Ozj*$ypJZnB600 z_rUBP+8g_F_mWJ`y2#Y%!pXwC$}vwC=GBgQa$ueuF;5OmzL#42GOz#1!emKKmNtG3 z&cil-aNIP?%5*E$_NM8^cDqesxuBht|$=;#sEcaM@~=S-5!c2eIxg*nkN zdxBY=O>)ehVCr|CdV*>Bcs;??yw{#!YGj3F?+Kz8;XEvRPn5kl+Q``}b?6#S zFVW$njlG~_T{hY2=mi~*NI&ic9qYog*?U2Uda}Ks!>^Y#&3Zw{)0hVp&mcKFCR1mw zy@h$bD|>G+pUI{;W^XW`6=rWRp9xVuzO#CVv)945oDRp?I4AB6=1%;dC2owpGVuRB z`;Y9`^79)vj&LSUzRqC#2!E>M_W^&CMD|#hd{?zb6Z?Q~PuuAOzTUU`pv?BJ?mpme z$$p#tF7HR9dYtK#sWa8S!kp%qeWlDdxH9vd)Xz)V`bwF-*W5RhneU{2F3eKqZibnGuQs2qopf*f6?J{4f+Qi{UaUygO2`@j{ZRh-#Kl$27KpqtmD&c zVD=yu$wt;-w2qNG{f>`*=VyU?R<7n#s!ji|-x;dH@%$fSPZcPM&uQ{;umO=xV><&A zwn1XEI1bM@IAJ>_VH=XL4NcfiP1sHoTT@*74Dq8&q#R7NEX@BJCN?_p8Qe~dN1dK$ z^Z8Y0By49UY-hn{F)xjw4Nut4&a-*OISCtQt^R!exN{S>^Afi6#kN=Cu>P|n#nwt} z6)tz|g2ZPpOxP|;*e*`kE=kxfP1r6gu(1bMz{Z}Vah3|{In!OwsX)*9E}MZp_Q(qK zoZm~&u0YTE4x^U0*Tx=udS^e~EpbZ-DgNe{q}vq2~^ep4&Fq{oP@J^jwbA`suou4EcHY0O`H|ir;Y*;oGOD zWPif{`SWL|Wgvb_E&2`YfuhC7+y;skA9EWBEjl_46fHjHHZY7L1H&jn4`rZ?BFxGu zWU{}K*}a0A2MP1vv9EjiF}FcrTFh;baA)C2UYkMSYRqjAxE6C81g^K|XP^u!7`@`G z3yv4mq~FjUESh}mZ7}M=GEfGKCTblldVI`haL_Y2=wSxRVA1nK87Lf=$ky1`DZ=(K zxKo7v9e&F)pAy)76SZZaoD$fl1hyXU>w<5h_A$6-I8Qv1$8|Bp>CyPt5YhABu(8ZT zq)q%!*khaUvA7}8^%)Y{#gNc0sA-6_3q4nU1`6Luoqu=;8Gl>e^{(HphOlHBNS_u)lZgQ-%E($37Koz2l!MZ0}{9 z8rY{s>{EY~&3nur0{b+uEd%8=uq^}Sv`}t-F~BlVP6Jytofg=vr_;dJHOte`HY@|> zG+c)`1BKU$_qA2InKd|;=-aD*JU++!p2g>eLA%B0hC#c<=Y~PM#pi}Wzh#yTgMN$8 z3_}?#J~Iquu=ot$UTyIizP;MwGkkls#b@~TYRfF)+p8_Jgm165%o4u6+Tt_3YtP1} z@tM<6BFii}9VN2NlG9Nl%Pct^C9?R;=_rw|Qk;&`SVqU`D2-;8oQ{%MX36O&NpU6x zy#;E~n9UiY#bMG=jz+@X30j6fqj6mD644M&WTg4eP^oFUU zT-x}#&|w)g=R(Jv%xBP?3mrPQJr_DGgXUc5@OHm4Nni9_=(q!C*8XxXv{(ksxyg1; zFPvI5zH=V5SO(2`&|(=h=Ru2Q(3}T7mO*nK^emV9Ixo}6gbt0bjD!wbEguOTwpuQY{3ge|Nb3A%?6GfM1g3u1^CGEp zKhE<_+TQN_fF959fKofYM~461g7a|3auMpgIFpI9LF&+$&&AMT*$Edzhh-=5?b?=| za51!4cEZKbqT>SJux;517o+^?>;%p@$6+=Nq;)JAq@sC19?@F)Vds?6D4t@AsVDlCSZeONBqn@h=trY{$Pe@Gp({mxlVk zRQPjnJp25m!e5uDYtEj@)S2>SU|L27zo%JB^n93E*cek{{AU#Sg)xoG6SmO_ z+n9uHY{E7!VXI8ouFSLf_z&yH>+?2dnww2?ysnOH8tb`6Y&&uFGQ^$Kc5ULg2?^W8 zgl!URg|WBmBAdqECMRsyM>dUZO%dCE(dTomriv|&(M?O(Zb;asCu}ps7RS_PMmE)a zW5RY*;(RwJY_}wAw-(sge@DT_UZU}wQRpR>Lo^D##Bzv6p_f=ZV-$Ldt7#S>wXcR`r;(Q*qaca?c&gG)T$1yG!Ex*NYIT~FqS~z-L4juMQ zjmv|M%YzQ~SiV_%1Ikj&9POAI&lxRDAHNtaOdr1(9hjq~?0$YcIxt5ECN+)@Wgm^Q z`}jp8*i&U^zh&7qhBF2_EQe?ebXX4280fGZqA}27IYeWiMLmNt&|*16W1wZDjAUb? z>o6wi6>z+u7LDnQ6)ir8Xsl@QIYeWjMLm?UqJus!%RV;f7#no(I*b(^l?hLT;}Mw} zw;3l)pF=cGm_CPSTwsn9roRs30&`r%92b~#!R3$7A>w#Prp9F|!L%HrN-!;ls4`sp zO1buJ@hO(GGFec% zr=eU+j>8tC7?00bjAA_WTa02n^jnN#Jj!4(it#9e#VE$392TP(k8)UyVm!)WF^chM zI~JoDk1|+{Vtf>%7$3zb#z!%V@llL|cagc+G)8e1N@O`CSD{3fLvj^LWH}^Pp+pv= zxC$lOEH!kMw1mTPMz+4IP?~fO3GYa0Klo}eZT@{Vm^%OF zd#^2r$<)}xHNw0d*PpH78ez`G9$VQpfq6~Dye2TO2~0hnOg#_tIqr~F z)d=U|$Wxfl!MiVYXzbxy(NU389oLEupF?qN&~a^~#@CiCJMZpfYV2Wx zFvq&GPY|Y$JxmD92@!KbU`~jb6G}4aJ&>ufhl#@UITRCx>2oM12Ij7z_hjWNnobe(&_z>sd0zvgz4AP zuLIN8(ys$k*V3;8)7H|j15?-1uLIN8(ys$^C(g{?#P?mN*V5@}kzZcH7C2e>el2}6 z__mfl8GQA-CxdTm>65|N{yQ0bTT7n|etIpPo*bF2g?YU&{aX6{2yYp*|V7i>Yr91z0Ie)o3|MYPF>CyF^9?CR5 zl!;}X9jI&VUYE z;hg~;w!+IdU#C`hITImYV+AvX|4Zz%H_w!M@GHDCLp{utdT5KISl*eT9%f2C@cyfx z&R^l3DRuF$_#M5XnW&56)mF}cs72!jH;R^DxwG9UTKo#{jnJZf=0?%t=kPZMEjNa1 zLSNuU*UpNWoMDlvaf6$L=~sAf0@G$hH-Tw0qML*}3!h{i+yt)9h;9PcW<)oE>+Sg~ zyf+oJg?I&#Gdyb2S=!B_$+vt!uB(yTZHXrNVf#`EnwRU?=69SOJK8(ZV7d93)+I8AvJ^jhgMTLi=`f& zvE3?q{u}#jVYf<~_@A)HHgQDQiHQg%hLeG`I!h35;O^o|IbqM1= zjO6g!e~j>0{*ZtE+7yZJX!g()%)9TzzQu_c_o;%?!e=*8Z=r3r*y7xsIf>(L7n{Zz ze0~dS&c{ogwtEw{WeMBzJe%j@RE3eXDjHF$LJz76J%}SpmGq$a z4jYeVY|~_Gd|{Tbzjtgt6|XY;i(}6MTRo>)!uH82lX9ja39dp76Hb?HTZE#lJVdoT#U>ZZ<7_lmMw;WTB zIrLxi-6iU_xWin0#^Mfhq21yRbD`bh4s)U3;tq3Bj}~{Bi!xZ;VJ^yGafi7mhs7P{ zq8t`?n2Yvmafi84++l7McbFT+9p*-H2abR&mBtca>!FEd?5ue9=*Xe#Xzw z7acy-AL*DMbnq?PmS-`)WZ8M=BU9rJ3xw(84hw|o;|>b~b3w#h5SR-h=7N$; z-dV}ixWnDT^xxgMTbTa48+Qlh-4XNdz`Q%uH{0^vC7HZ)lc{lsg~IgT-B>70|J{v+ zfw?eZE)2|tfyryUFkIt>a*h3WHx?$ZF}(%qD3|tqkLd8<-MB||`0sAq6Lj1Y>9{B8 zxF@RbdrFp_-Uyi*e^?|;9}8Fnro{plfvI`LyU7XZGuj?^v z?c^FPfsU=&LU(st0v(TM_h66Lb_sOocf^)JhkZwE33NOu{c;I(Y?FK@J-#m98^!** z1Umj%&dR&n66h%Yei%JH>d-jFQqi%<=~yZ{7CRkFgN~(R6i8LGRM)<6hCR#Ob(KbS!l`?hQKbjda`_ble;1xHssyS9IL#bljWNL66qzW0~k! z=5#C*9m}1LWkJWXNXN3EgKzP+>#{89SSC8|b2^qKb1aMZ~11cybpZKV&|K_EAfp*Z5#Tg@4{!Ea;88n8t=JZwEPPDJlp-E z#m6}AhZY?R?iVdS#&JLDLdTB#Q5P1!yB}H@>ni@f6=x!3YK&)vFnx?;1(+7&SOKQR zI93Rk{yY2P3UD>1umW6*ajXE>+bzb?2*;jv1F^yHi^f8T9fw>Ayi)pM1OnbvO>tt0Z z`zl;}AJb?Ad#dc5)lrAWbykZGAIn%R*WSl6R?D^bv5eKxbyyv)|LSo4sb#fXf7aJ( zX@`FViDT62q!!L5sYT;F4~P~&BYZ%#_!;2?qJ`&uAi53@1RW0q9lQmzhsMmqB zRWdb}^Pn*OOz=Tr`kCN^U}`^nP?&xu_+Vf@7%?9#$>eO9Or80z0n=t)YlP`%UTXq# zjWCDdQ@b&zSR+ivk?Tq? zpID@1E&7S}*|ni>a$H)Aexs3+wdgq(DOro2QyeK_`=$rozyo~%ciEPApYWwPkWdX&qeC+krzi=Oa(-4;FJ z`?@W9vL0oy=*jvhda^!>o~)0eC+nl=2}cZ$s2V-lfD&2sWCKcM(UT1*kws7V#&3(B zY(R-Lda^;Tl8>HjKxxv^6OKycYV>5IaDDV-Be)hl*$A#iPd0*S(UXl}YV>3ym=-riZj8S?9b%QHw@Z9u+NqcKxVm@w4kkgO*1lEsq8*kB0KIz8($N z{!!7<%ISDCse^Y#>d;8bW1_>)o*sh^n>{@S9Xfk@3_5J~^cZyL?CCM+u-VgN&|$Nu z$Dk!Od*U6Ke2uVd6~3Q6ZIycPv!|`09=1w7w8f`b-mRe?wno=vEBH2h+A4M7XHQ#E z7sWFf-ubCTBQKAO7C(D>T(tPv)8o*h{p)ej;%85f2Q80>Yr=l;xLlLe?1`QQnHptz zLYRK`^aPkTdwK#)n>{@t+*$Y}>);7+b(Zu5xHfxw0$gv;pFKU1Yzy>gsHI&6+w_y7 z#m}Ce6fJ)C^rUFfqd1fGv!^G6jwgc-mj6l7k(xcxV1R*d0&^S6 zZnLLtfw?U(Str{<*|*`^+w5suvh4KIs6(R&Pl*mcdwNQ)y`McjCD-21o}P-X!&Bk< zKNYS&wLB%)pY`>Wv_n68dMc@f-XXPUM4?)=_}NpnXz{bBYSF^;R*MdQ9jb$l>Y#(y zp;~mL#$$S)WNPGKyD}flgdN0~8Oh0?t9+=xB=Jt|Idbjk(^!vn5gK1vj z(_orc_;e`e(_orc_%xWRg>N9YNaxdFs#o|l>f5}+r%~UrSID}fN4+BVpp28{*!ycd zFM8bOdF{Yw%=6j-?dEyyfOhk|c0j**UOS-QJg*%ngLz&%PzLk7_@;03y!fVX^SpMT z4CZ<5h&-|A|^1OCLo)_l}Yys+dJtr;T0(Wp7IjJg?_aBJ;eSLy6S$ zdQPs0_q?7%Y0{n-=OpB+=e1L~-t*cCu6bTN!Bx*|Cz$4W?F3Ujubp6;=d}~ewCBY+ z51HzD?GmQ=-*^rOoQV1DoHzU*Ya0A`l^KFj55u*OENhRB~v}DJ;L;!%^on#v)KctdNzB&G|y%anCjW= z0nm)Tdh7SJG@r-k>*U8|ERy5nIE=LHMF|R{7B41j zFC}a*Cv2}IY_BG4uO)1+Cv0zsEsjvUl{ju+!uEE;_D;g~uGr!T#e0e4_9txbCu|=i zY#%0UA0=!bCv2Z2Y@dp)J=%DNZ{KU~(PxR{ewwg-p0It9uzi`Z{VZYoDq;J&z{Xy> z7dG}7oeS)h9^-xSz34HvlCd|8MtfysXp2vAl-e6cqrK8gIr{SsyB9sieDS^LF}9Mi z7b9b_FU~ejEjllFQM7np{6*2?eeoBeMMvBhMT_^vUkqAaj7E$Xp(VYN!9GN$`u{Hp z)BEBtfoZ-t-;i#;_)Eg|zW7Vvs?YrrxaNz$1g^K|`{H~{dhwlseV1BvUhs0H<0 zeest?3v2mh(cwqwmxGR%gAR_;FN=UNYteOhE$DbH=-_pD&9%eg z@^hSJ`PKh_U6|e%e_fc~7k?d0^-f+FW)FOdWqds_Uyqotmt=ArH(&e>FwGZ#15ES9 z-w5S=15ES9-vCp!yb+kx@&=gdi@$;THedV=)OWEj&U?p-+&YY#jDo%e9X}og<-Nsx z@qPG=`QrPa-F)$V&~Co?KIk`Jd>{0iFTM|DFkgHh%3!|uK9s|J@qH+V`QrO<{mmEO z7y07*B42!82viOd&&8znMd{B4xTeDSwYBK5`JmMh|Y z@wZW$v@g!PFS+WAzaw1li@yV|`Qq<@tG@UkA+P2#rF%-uSe_$^ZU%NN9+ev zeewMfb3d5si|>z^`@xKTasPG&dPHQZFaEwTH@b4ZFU(D@obLzb`w{c~z2;H- z9?Yl0e9AFD1+y}%cFa#h-F_;}{`eI8_NSq4KMhQ^`?2IxxyIXZ9!B>+OAoDTJ1 zJ`){JI~|{ij%S>X&w`H6M8|DT$7eyuXF&(YlFv$BW6mU4cJ)+#D$Hjc^QXex;g~-S z%%4Wgp9bbnBj!&_GC5NrQ$3Z>h54LgelAQtorCrFd0>7XF+UH?&m-pNC7GNFk*Sf& zFNEpm^IC8E1Ma7l`K1F zt<<48PG5@-KQs7RuDzcbd@a}B&kVkfuEW>i`hOj+Kec=<*Pr$Ewe)d6Gx)kl3*$R0 zCBDN5&JRa%H2X%M@XWt80_30f{0&M|7~lCeVf%T)_V)?fFA8kD`+Wl&YfZDUzKLq> z8>uxvhxtZojWzI1)MCB~HTF%YF}9d*q{dR74a-2LW@CLTOh1SDR+xSc^DUU_)qN{W zKZp4?Fu#qM-yz(te=BvbC{olX>*vLhjRWLOq;{}98A^n^T1@w_&Jz5hxs{L zhRtDq{{OM}Ch$=gcmMc&_sS;Z*l-zcv z5A$e9m`B5g`4%)QN=1RF&opEC-@pmX)RTu;xS74jPHBN*9UAE79yeeDv-G$GJ-Ww1 z?*=?379-q|8!O(OYZ}U)veDSo19J`xJ-65$FcQ-*og*`b!k~mwphxj%GSTMKfc-so zJ__jp{Nc_bEbh=^Pdo;eG|-HPp(h@n7!DJ5DoYji1>&IBcnmVi#s4>8SVepvB5SN{ zF7RsmX)pllF)`X^Y+|aZ7&IBKv~_IE!+|vVUwq^P16I^hfvC3{tJtMG$j zDQQH}-ww1Ha+het19v0Y6m}U~hKfMNIt%|zV6)K<56Smm?Dy~cHHezzM!TvX@CBF} z6E!mnFtzR^80L?rUlAjnpA$jxy8w0m3}A}6rsV-`R+WUaG*gzxO&*G;8a!U0%@)c# z#yGBT9{An^I{Bpgha}ZGNmW_ay88NRM^$<% zXPO&7iwhT2*RHKgox@`i*v$nHw;o<-Syy^XT>6Ua$_ln}jVmQCW_g{(SF4RnPb)01 z_FNMelUr5Rcv@V0OkB*!aWfLe&4?R^Y&yk98;LeXmG^ZN$Q$GsHf8mHz@DbsA658< zH-3&PhKu5Wn_->;mO_fSK@hI=YD)i~%Hset1x7s&W>1t~6arO13ZVfu;p09s_{F)p z2gIyLPDb{S`ah{Z2=e@2@wgB-6DwRqVWU2?LPtMR{Q=&eBWZe8hwBg0aRE?J;v3P) z^anCKDHKifP>cr1S2xihUnQTOuk!!D{k^YWzLF2*UgozhA%pz%UcMz1`W%n0`zT#R z;-t5FSj5A=yf~EJh1NeAjMmW+N%RzzSFpN^s%zJjR#!XLkOaCltE5gd-6|x|40l0B z`kB+1!)>-_M?nM)l_Kc+MqLDHT@GCYRa$frRBzWsP+5yEg4hnbE`qATC`C{uQzGbU zvuUUjK@~QLAoC2FDPew3q5Z#di1Osy_AjgAm;P1lA6l*tfAwg^U*w5L>m;2{7n&#I zM=6*Nk+j8A*dKo6IwCp4|5Es*%j?+@o-34Ei+=})KPQywB>$uEW5IhW;cqmAzZ}Oy z`f$A20$hn*%hs~=lMGj98x9$+hfTIlKc1Zq@%Z;BDI>qU{Qq*}0U1w<`Kil)=q3Lr z<$rrb`7c$^GrumX=W*n|UO!Jk{{I)23%`~B)KtEb=d05H{&nr2>X1IZrY!M@N<}j8 z-&_AXQTv~93hloUc}6oDn_xG=+yFz9i8sMC!+a0sW|&)GZiTrG=60AnU|L}Agdz8L z!=^cs@55|{xfiAt<_9qM!Tb>BM=(EzxgTZ=OdHHr7;^sr><3{Uf_WI`Cot_WkH9<% z^HZ4ZFh7I&IShR~(E+mq=5d%OV8|cZSpFgm&Gqesc?RZ}Fwes5g83E9b1=JM0x)}E zo`=~Bvk&G481m;O*qtyh!|aEljV74rHB^DfL0n4>W7!MqRiN0?(UFus?)jTd# zfUjcw|E>I&<)M!OsA2tM$Nwji|8q`3{(pno|0MJq-?sm+rt!lU+5S;g3pD&R+8riX z#S+I7_DXE0Y4~!&{%AXX#c&h+mZ886iidEEa!a^f;aK2+#EwzGT?&&&JqlA;y^5bO z%>cuH5w2Zg5mu6-lmBA+zR?~_I8V}JDJ-wVBCHyPDXbQS$)a6$@L!~{O=1xi?Ml(u?Wi}u?Q`pY6zNs=+Y!v8+f zeDP578s7LB0>Cs4a5Ky|eEsDs6Qf_)BbUh7Lbbwz^_Sxyef`CRu@tSx&%$hNE|y?3 zaRqcbu2-g2m)XEGfM$uM*=(RQfwJ*84fGtCbns+grZETZX5%jl>+!UrmT z2oa50{U6CXL#+5hAT)VG{GsYc&&m7a1vmMV72*$#-{?7cf7-!K{^W%ClO&q|srW-9 zH#_q-EeP?4W^yS$v59%64Al(jf4zzkHa;KKoAN{4>*?_}6@<|3DxKb@Wg&E(KQ^(*L>)Hy zOYtU~9>T_FAWbl-ACjB;L-P{!#3o*7@**#EcRIg(8~oMZ>lB@j>;*azw(hTIK)R_6 zh|Swn95#L4rb{BwFN;9GA}pQu&QOP|$5)T1A&LU(?{&J)M>h3w`lF{OHt{->121%U zI={}R+xmOs|2l7YfBmNNe~7=T%Klyb9*; zt)`kU>2LV_Z84GZpvOm#gB~y4*54cd*Lg|V*Pmc~H=9WL(B0|0I-hRq?~VWKyheE+ z^!G=mhA-(a=`#8g^mm4->r478RZ{75(BErKZAgfoPCadU_`0pX*Z+4#NjF5-`!0G% zhpf_5v1x#uP;xa7?xfremD~D$2=b5Kdzu~%kq^53@ic9ZK>v9JdPfBM;}Ph;h(LcT z0)1x$`Y$8UL;I6px^_k2e=Y(&5SAXB_+3*oDm>*Ql>^!I5H>yoX}zir5d8)NB(d59$oxGv!*ZngTg@F2do!+X- zn&{W+MA#=Px1DhJ^=O}6Ve7Z2>Fd>QJpG=?Puw5RFKz~0hJvQ+k zQ`@jpFW)50o>E!Svs4zT_`T=b@(s!7U^)J)%D2_zA93pC+pFpXm2cs<<=Yo5$FE!a zy|2H%Q87_@(PJnw0SD3!syadRD-F!ww%@N;`O>!%tu)V$GNQ6-0j9YDFKl{FSVil1BIFWNrH7Y>S2Y?YM(lJqpv>nND{baGt^wVS5EOtXpFJjUI|D zt;HGf6#PTeK3R>ijHau0(o4VHf}CUl1MW0nu{7b27PEZ9Ppr2S|3SeMN{2SZx{0pV zt9v9CYvXq6ax5ilv0m*~*iI1|5MOexr-Sn181Z1;k=6^vK7Y0T$}v4fbc&aU zu+bmTT_DjE7I-Xauxbpr&49ZMSa>!d-Q?Cyfhd2x2Hax60m1{^Vg$g%XT@+!m{HLT zh$mHK$3VJ~=Q!8{w=}I|^iy9uFCIWQ@(`vn@q$NRN3S7%tQk|DHvsGYv?zawztzCs zF8M9Q-(leIRQ#B|U|k0OZpknFKW5+;3*st1v^hbKPZD{c;=_UU_+$_r{PgJcgh(Fz z=xz&$pxhP%>uzfdJPne^LYCja(;^7b5Hm-zl-3+HRMk6Fz33(=-h6 zQ~4$V>v7;j9}s^~`qM)GyTGG|>rws?Jx^j0u2<11+y(=^MbRnTc3?f+4x$^v)&1W& zfUffg2GEUe2~$!#!K3?gkoX(zW~wLM3X^Q;QJDCt(&_#?h|v(A<6-hA3H-@QhPlWs z@^%U=x9~@ni`Re~47f#M+E>voa5PCEmFLoJK+=OU4>FSWc^owO(`&$vIJ^XpC@+PH z-$NL2BXQtWn9^RZa1(HY#CDS9;w%8jPHIOk5)zH}A>`I$z0C;y+j8lw+9FE4B)4zJ1`6w;E$b(hf6wT zq3*xf#^okD@|k!tB#xc~oTup2Ui=adA$qfc9w6*D)ESg7#i3L3$i7kXfU4IkxmT%M z@>nU~Xy^ief_d9$w~F{sBW|?ETmdUjVykGsg#FQ2RO|OMh~d@^dWYgC+^sOxB?r`K z_$mB%NgVS_kTMkB2;8gi?ZEz#^b<{0RnIpO2M4KT#yB+EZ4~DuqN_N&Bo_S5gZZtL zSEL@oAF(2->Q%4}sh!Oe)*un)1ynaa)hxsd0_B;6n@LUkf4hMwc`sBrD4gE2I3t<+9kL`R-r z%M&Y*JaT`Pq>DP-B5^b|xi&?obahB%xNHrjcuWH!S5c0 zcZd(^U>OqIsEHO6Mp~%e)+k&B+@)|Hu;&cPGYeL;!W33OVUh_wgi){ZVP#Mt=tn3m z&4fei43T9SA>4k9zMfvRNVlTCwMw_fvSY;44!Yh4bx59mfAs!kr}RgoybTB*J5HWJ zx(xW30gLZ|{Bplt(ikurWd-Pz9d1FF{uCH+xdHnXjt76M!X(Jr4YRQLQ;>5TDLdQ>~nQ3uGMfB|N9@@@(3H_5Q;5$tLKA- z`n6)|HpT_qEU_35eE;+fh38eM87Ywkl}d}i?|glEZT*_ zRCa9=i+FYrHpbJ4AwSdbdgnkM#DVhXn4}xyZzFzjL>A<*2bibe2bi+et1t&{R+zkK zH{dRX&jGzxVRD;6jS2p6SYCyxFYqf&`LI*s=zQQ#MHl5b6@*56v?xc3Mc>^(I8^?N z{=zTmGdDKrE=z1T~E_s6f7{fJSz3=Fd{)@h2r*JD} zey0I<8*s0})So&?U>Ieu>N{M5F8#?fV6Oo;C`@&%g|L$O9SX;Qv{T_G;7*09-WE)g z{L~g2Bo=bM#eiE4xXpmu6{fQ5P?!TVs!*tJREN33#N$;s54eM{U#M()8Cj^#^eP^b z;e0xN;19{DVujm*TNS3dxNTha%~UJucchq18o zBsNh!ELL=?WE~P)E(G3bpgXA3FqR|YMsY|YIKNgn zM3Ow#4B%GD6Ah^6q39#JB#)HCil6-S%*2l_hY5%3R~Arof5iB@Sn&%vDfx}FSd1N72^;$YoJAVjI=-8ilE>J0uqI4-huSQ_1Jf z!F0jjtNd92XV~3Naj;R{&QqA`OuNF=UXDo|#ep4j@q>CoZrz08mSl2+#6nK)lsv|< z7$rrPyRp8Z{?m(qbSq?Lr*vzq1B`eMg09QVZpp(OpdSO)Wn(YV;V03tcOUVTGRF2YiH8R!QUz698PHh$o? z2v&>4A!SG1=P|`Y&XTC`!B6$GSmCFDTNS1(D3~XCu7uUBFx8)4iH+?})GH5phIHi+ zKVf6tHe&ElTj(0dqvUG0qz{t4J<@+6dwV4|Q5Cn($B(L$9*HeP&oj{dgu}?*X2nmk zw^i~01?xQ3u{Oyg^xK`1XOLX&l{`YO+C6Xt*+K~9#au^$f!->y(3jc>qYiLb?GoDnbvZBM-zn+AI2g+@ zj7;tt%rE+;gG5K3oDZu<@&xM->I1c34<#bh{~(WwXR+i7#s_{*gtG>s!=JIR+9Z#d z8wp6dm>cPqSjg%gMK^&TUn7xQF*jmYn93_dVj+9;2pi+3WOcz{y5RRKe@4Suv%;%@ z+a*8Fj0pmL-!6W20VO?%ZEakT3F%!F*Lleo;=V|-ts*MDs zTPe4tTdRRb%5Bj5<+kJ@7U91xw~tA>rqdBOA;WtFUCMAF7?eCuqC_a{R+!pXp2Adi zUV#V8aKFKAn*r}M;4Xzn!JlJ<5g%&T_VXl;f#p!R379K95xAXjsC*D>QeBFN{5dAE zlJCFz4?yMqc)&1rLqg>3XIO!?4E_yn@ORq>N-@09#j zKwaJn+1@RAglxAj!As0zQ$0zNSjhGoiQ@`DZ!pk1B^I*1i!jp2VI7p%2B?Q6;@>Oj z#yAMsg@d!nZAjgq`e`RR%AM+Axx{v=ORb7ddD|Vv?MTp%NggX%Y$*)%=WVbGB$oOu z;YfLCj1S^K{e@VtGSWk_NP7}xUT8lh`il&r!yh4YB#-DX{E{yEi#CZxf6<}nl*WL> zqQB@=I3Dy~iA7rMg(BQw9;*JrF_O@)*m@M)_YpkdE@L0=-kxML&{3 z!UJ^bNBjz>0q<0p%Ig?m)sMKB3oQDP8p5IZPs#0<5B(VJmtHhTx1t~MOSi_lB>IsS z(Di<#Rq~KGgZ$L{ls4t313c}5U#+bhaF@c=-j5k@j{)}@FuM?pYHy3(fE@;$WWd~j zT?Xt{cqqKfP?*|sfq|!-FzVHHuxb>hc=jkf9Jp6v8>P{45q`i=`N2akeLS+CXv*wFx5|YF@Df~soyD( zSj4}DaA+KatZ0?=D7@9>Ppk{LQ@VAKKRptQ`B?YGAT-+JDV`Y;3%XZf>dVRr`-Pb7 z_wzZB4l15mz^&A1{L#jC6nhy+U6M{&((jhSa$kxc$Xj|*OxWmuWGwm-uX0QBq``n& zB^GCJ>{N6iLkRn$No?qCA+{eQ4kPhTr{s^Lyy{l|5R;t}(P$q^S(YTRgZ!+Kcz6+T zgMr>9vB<-N5=V~)Pq)J70JFG*o%&&QD@^h9uD}oI)E>(v7H!tA=#*D22A);}Pltggpy=dJr-9y0IJ8ZPc706o zP#l;S263P|Y$qJbFWR-6=*WNK&r_J%b%Da8fZG&47dRlXC|_0r!T>)>2e1cxJtM*$X z`9=F}R{l`?>X3LCwcmiElb=aG{50A{`{fdgcHJPcXup1mMf+`5nA&fw94H?OD)EDG=|ux!V_S=iMZ5MZx73zf z4S1)-qFoEc)ddg~@7DJQS9rTJVc@og}en*Bn@H*Dj(P+O-kuZQL#0 zivBu7@XI!yXTV;CMY$NT-+-G9xW#~54Y6xC5?1{+ ztC5)E=~tNAX0ybijkhT}n(xI3N5q3R8a_Q21QnZiz*?bLtF3;~?6&i|DAsX|ReV7VWxO(JAen z5+_jHx(xJQ!p3$1f2c|0r1*h!(RbHK`k=nMpkDCX$f@2(lh@6XPTA8>r#P^6Fsko% z5f0OLyCsk4yYm#L_Fisq+pOrKJrXvi#fViKZy$rs(9S=W6_@ zzB^B1(Ra5=EZTUx#G;LNC`@gg5Z$9-Zxs)Dnw$mq16#q{wJwRmBwjr`P?Cp5xWXnv?Ff%JFoxwOe-((xdYk<45#h{5+==KjMxQKk}F2 zM<;*k;RfSpWozr|uBt@HlyfH^zpPV=A8|*DpBM3>_!UQr-})~SznoKwA8|*DUqI#G zPS^wUkK)}1I!9fgvJBQAs+V~tdhZ9l0yfqE%@#Utjxo9ltsFMBhgkN+C;N9j``Cf! z13%mSXL?I~ErO5g`7t1}QN@Lwq-?jc>4ekmsAo>Lz;p!LniH99d%yVYlfR$y`V+e! z-M>q@#sz{OVi^_e_@W?+0`#kxc+VzrUnc0hSIjbBHeohw2AtP0kb0czaBg`h4 zCYT#wZiKlBrWxjYFgL^80&^?OZ7{dP+yT=9b0^GQFn7by_rc$X*$i_pOe@R}VD5wY zA<;Z5auD6hhcsK(+=|p%%dj{5#~9V-7o=|JuuJ1?1k9}^EAw_VP1mign1ce zKg=sI2Vi~!^D4}1Fytqh*A)i*#yx1~`=9ykUTWogx^{d(wTv;&YS7+RnOv+2ZFdSg zjlK1szdW$}&u>1t|0TYtqON|SXcuojDcMCkmi)Dl3Zh=IEJHmmtY43=W*%R)R-l~P z>YAMDYpTd6PLDH!_awWhb-0-HSH`RI6yrtw!FVOHj@M*xFCTkz@2ihK`TN(O-T9YS zKH0Zh_S-TY^+dXYXEFY;IZe+2Oy!RWfidSBtvMcgIj##El3LfIkY z=};w4cm4K_gSuw19dg0RE)ikjVp^qd{Q9qN{JyJ;+-+wTyuVDmAHqm-&g$wCl9S%b z_&V7YD67jL=QZTjB?dV;iCvBUV?1ks9>O3QKE-?DGezX%@QczmRp=p<_b1CwJ^iWh zQ_p)U{L~Zb{MHl1UmFmA%SrGX<8M9*eq;P?C&91BpYm5@Lr|($AVGS$(f^m>|G%LB zrLV22A2^fI&7Z#Gc3RX5Q_`}1m6hnhQc>H|E-a~B=M(*SoA8JFeyK?z`_O-T&16#@ zr+PvC?GV&5jb(bSMGlMpU%AsYMCp!>86E7-1b5$6?&w77BjAx5FL6_Nbd2a=cV@WT zsND5hr8~q^XjIZ29TPg(odxc0RPF-GorRUvmeB|p&t^*?qPv@wyJooCY@uU4$$z>E z_I9dT;t}ar{yNyp|NF$tUC+Pq7t;NI`{8p($sHZrN$x6V`iD& zXp#T2?ryfwah{|vS=jQzTuyxg<^OgThfz>FVmSo*C6(rQ;d7bHcA=M+W1jU0<|pm! zSM57KkmX2vtG}QA=BK+p57Jxv>2JOLBxZD5I(;rbBq&u1>J%V&e|7iRv=`KNcDE?O; z-TgaB_kjM1rC9vdh~H-X%14d|^CAB==7Nmbu5wx*L2_1%GSKzv(Efs?ER9MjZ|V1V zyf&1}n124_bB=+87$dGHqIM)hh~&b_Iz)_R_#H@xiEVxE2GJkKU`$N?nv*>)`Zp(g z6!uWY=}9eEws3LgvWxizxfi>F>6ZENoJf@uci40IKiKbJidBfaDMSsi4aOi=P-2mi ziMU>gdhzEG(<8{MF%08E=sNT}nI})1h6bO^r}FIbT37l^T^|^NOXdggC4)V};3R^a zAKj?1>*`j{xeD%DpzLqo<#8ZOnuH(*BZpb$7JbPfYMfw(hasOrT zu27GA6J)$6hUQ19Z*@f#FTo|&6)VHWV`eBnm)B$0`Y>jz&#qoqRZqaT+E+U`86q8X zBe_=@a&<}V%JPz0*DPG!oie}=D(8-Y?m4G?)kB}>s`FL)R@U>C6c^W&6uzpqdM&S8 zUsqAOHVu~O-Rt-@zlLaf)~P;CL@wKpLyewR!Fo&WrML^NpEK?#c$cLwQn?3yYS? zs^rXGmYZ3W%ZoCzFao7?431#h;N%U+T(oHl&l5I0QH8?SU#H8-&qk<*rpAR#n2ni% z1w6mHp651T#8KxelqHkS7pNjxQhFtds*YbI3PVm5I7N^0yeSb<=5*%dnJ5CvR=%)` zyPSp2ROfPMN(zS@F!n(tg-EWEEJ|QJBty8tN0P^bUF!0X^uc`L&+|gI>H0z$^nuP; z@_(0*Tl&0?3=a~U9uW%3RWta)%XgYnqIi;jbV`SG4?UKiRO(4j&OPZV8HV^!ym!H0 zDQ5#1w^-5tz4HFE&+20v*)NHC5;ea^AyHowKBg1dKJ@MrF=s{dqKn`+Jv1juvR_ZX zab7gCUsRHm?|S-3Zx0`;Z!U7Sg%thAae(RiJyB9}Tv?T=*~^z0>z zmM_kCirVp_pmUbOFUreZmMg>;x{`t3rz9HcIHlzA{_>+f`+SyLoSV(-YF3m{1P4TR zkZ;F{Eaz0FGPXmQA+jPB6x(218yt_c{&VL%m{XJMj2Vf{knz!?0MrpoecKRKN54TcLFS48u<7{3S&^fBB+CqW+SfZw`Spa-mzmHNb!M~i`1)0ki6$NEmWWV&dlbj&=M*6(;Cno5RQk<099eqQH9@igLr!!fsA0&Z~+&NS{f;Ew(CFL^pcNWZ$^AL}q2lV%3GXH2E zBYZhH*;B$Fsii(;n#lG;YLd2Ga6wR8rf{M#tHpJ-a9%$m1u>cON$SQyIkR2JB$5WC zMT_)fB!*s3m1%gXMso|&1*IMzLbyv${VxkdBV)vwA3 z5|=Dm1XV{6SCm#%LGeI3$^Y_5{!`zoKjAeP4()AWegws7MNVc>W~k~c!pme4(xbv! zSyEZau?XpF@U2`|?{i7@HdHaBcuzZyKe_oiP@x7WS1P?OxC@`5$j_Wm-H!ADPo(-s zff(!jRG#b!{l9+*rH}M!4uIM=wdU>k4b}$gA!*zi)Xj{T_>FS~R3B^1vR;JM$1LqaG1)b&_XdWUsuh0wnCl*Hxk|^d;TtJjQ zI^~aSI@OQt8rVm0HYD6*{(9#}`+vod?=&udMYL_oL29c|no&mNTQGkk$up_j1xrE7 zwc|;Lf6e?uXgYTxos@3U{mI_0(*K<4tDa|&{h6Ijo3=!(;)m94y;q@prns2Er}uXn zXyNlQoF7t-+Ti|I?R&PJ*bmZXZS2W?RKo}QM`bVli()ys*^4rl<%YCRqnws}7(YQA z7G*D4o?k@Z>=W>x27Waby)bhbiETA_KY=?d%gTk|55pznQ3!v^^X*eGyb$WSV=1x8`^Ui`IpSh?gcbOW;8)AwPQ)W&M zcZMrl*{-Qyh9)B)np5K0OY-4wCgQ`9>|ko*S?Fw2I6q~&F#gc}!x%q2AJy~7^-5}4 zdV4r=y$a<&`Fa)VE>gWBeVF3AM5OCvD^=#AMJq)8(CbyOvgp;yP*UORN@)C`3E~M? zSqA2DsJjWm9l50^SZP8gJ49UMEWI4#rWs;KBinFc$b3F8Rj5k~v9xR|Z(;9hpL(Y`Yn5Bvtb$;@f)_f`bq~|ol|H$()`l{c_h4yurm!T6DDgRGp z+^Ua{^wFzKZRD{a_2)Du3O_!LL%Hh%RF_lE8=h#qOZAa_oycA_nNdq3wnk`$(;p;z{ZK^5aw4 zPG3P;Qa>^T=@!p**EwnAZ`2=8JWi#POvxV^x8t=xInEy_kEFgL!!eFq^Mt>rK5nH` zTxEF<)6=CAhhd*{aKBCxPV!F*;ioyX<(On&xOj1H&O(}Qml8Of55f9_pwu94U^;{0 zK(^3`EsSKA{%CA^$h*Nl$#O%_E+3Q|QpN}JQJGNrj%Sh$Q9J20$q|I1eyCJ|Vi@b` zbw%<)YoT;SjK}fP70y>G7aH3H=b!a4pgtZoy4sF0m%c_FiB4_WI3A^bg-#OIsk*>V$f;aTL62rg|17adGKJ|To{AXIFMt0Jlwc9 zqn{o+?xp#3$saoIEm!n`<6gg@M;`aKiuZ%Zy>#k&xN$F?oG#bdL&v?{pksAj{L-gJ zpIBV@m5-E9|Gwi{D%Wu1SDEgwe!X1E6)VP!O}!0V z{2mya;P{nh%7RZM|0D+%y9cF<_ll1D`XfG8Y>M)Y6epRo%-x>rKabfm>Grl@(Ev0Jrv6EG$egSiTWkF2|?z2s9qAuf4P!)av@NEbSy5I z9^?3j#xEp?WNg3uILME1B9DXg?{+BOCkiV#3i?;9+wDZ}MCEZRmR!~Ph!f)gzBeXNPq&g_pf6z0_`UgET#DBdepW4WXiID|KO{ou&{z3K7tL)#`6zbKQrd65mUP|j!tCz@L&au+DV4kH=vh)aNNK_r*T6P>?3Gf zYCo^o8FQ|BkV$s(|TLzID#wsz;Q%|ppU?O&W;b{Ze6*K zRUqh*#}{;aP`Gt9*^dlfS8EmggV)tMK>x(jDSo@fZ!do36C7XsJMY&e-S=O;PuCh! z{`&fy)Gva&eChvKjNauA-!8O2T4xN|rV(L(ujL=Kzt@6Ohr{k(P@+j#kwo9XA&y~n zUDiKJ-&eiAmwYCFPi=p%g?+jGy%zT6_V-%8q5FF+UvPgfzM=`O*Q!2IRf;e)`cnIQ zE$pk<-%Isspg%dwmK3O!OAHBfix(Ca6^bo2A$zJr_oYaEa`b@xx^PbW*pwH+abNho zyHw9lX1r$Ch%elD4gEenLN}rQ^u!}F(ua47a7m_Oo|B$a+`ro(+{^e39B)M)AL(Cf zo!n?FI6|UaqVz9Pz{OTu1z(`*&Lq&ewCC^yT*@Qa$Lv(KNCi ze|i7J_y_)xzs0bRK)X88K1VnB$el~@i+$f8?D{Qz`?O={Tif(TA!%3d5xb8_Rd!Q(ySx>SeoN7uup zCKGk?&3BTf2tPo|B^t(-;LPDsK{ zJ&`n=Z}(3I_Y9x%{z+p?GU5p1zq8c%5B9)*kM>K_Z5v|z2OHl3W7aVIx=}mcgd6V# z`stzLy@UPq(D7c6q7NMJ*~Rx|4tziR^qafiefrHEAB679f(`*s`$Ng7FtN+CPoJ58#o z-;U${S>I`XJC6IhkK^bTx36*>*E2)c-@n*6u0yyFKaP{y;PFRSC%b9SubWG{3*b%6HbbRB#BQPS1W4V9JFl+@N&(8sF0bUiOGsVjF?l%??cF!a&^FY5Tr zv#Ao{k@_k2X-4?=fzoy{W*+3%wN&qha#_UwRMN4q?m8fU^p(-bAq|{cIer=wFcLHbQ5T%EiX2O- zhmAQRgXV@?@86`!>O&K(v7lm9rZ-tL!SF3$L~~& zUdLB$c5PWc%~OmXd|)TX5aB9CRAD zdtq<3bc-=+xOLiM2bKE>%nZ_5x?Nqrd_jE=*iZk};r+cqdNb&>Pqa|@GC z#S(l;%62O|PuX5&H^4r^hGE7i^gN~(K_7|j1w?=A&8I*6#m_0+cF@H)LUJcv$Xfj~ zEDk6A1&@sxxM%Mfr1NBU(9yXTVozU)?#42I4S(`VzTJc4v5 zdqaG$anPmH{}h2=(w*#0u|K9=@c%b>{~t^bxiQf@YNsT3oAKVHk>;x5m*VoK;hfc7 z;H9%xr5+in$8oZw{psPrGt}zC@mBC;5(@On6A%Q$Cm@rYn4?)XtU(A27oZ zdIl02S#|#rN%BObb#=bl6i@9+1to3xv!L0tP0&&T2Ds=4@^0^qICD~5yI?>I9Q9mrYxzf_tnZX zop^ufSm(lVBT{oZelAn(d`I{%b0G2xnUlRM_@tbn^LOa{xp3$21i$lo*A#lj4()`K z<3;@qwWz8U#&61u-;-rbr2KjZ`K7_8+@>q!Dp@`xKV0yiY~CMExZQMmc~Uz2_aSqf<|7Vi;1z4v`pPPBnyjitgLb{??&W^q z;CUT#pBD8ioOPodIC>uXeOvs#BYq_heYc_S>yrJD`pyx4llfv#mNt@&erP}I9WV8b9@sd)6TLLGBPyeyOX|NfhKAQS3i|1x`bIhENCXOJHT z?y$;8s0-3LzKFh2&h@-MIejBT@JH4+lJMT7k>t|w`%Tj~!hM^fYa5hLUtZtn9ZUXv zef5oE5x#8=MdCW{P3Ujl!pFrPNb)d57woV z-U0v5*HbKv)RfS^kn{;7#fS&$DAe94U%aPFyBId0T{<7OG(f6V-d9sX1Qicf%4I49CO{%_5X&^id^ zPd9ARI}XAoy@S?CHe39VR^j!IUc3pXcQ_!oB|TK{aDh&Ghez4P%C1p%v$ETiy;Ip; z%08xSTn;7IYhZ`dJKTakSnr^7biRr6BY9X6lXFuir*|X?{>XYqFZQi|bM=mY{QSs4 zd>wf*^CSOiy~8cy**{NmLcIgi+ep_xTkrV4I!|&Uy(HMjglvipS-LUK)`ZTIKv!9O zs=5lvaapfVMPEsXps##&^Caal6t8d2JjqU+Q~ZydCn<*i)F0FN%`%)5=_}vlc@m9z zPGP2m@`b+tC)*91^cA|Niu4r@n{LCT@BhhWO#ARjmRVn4TT!~Mp85ENSu1eU3cx&` zyu8lGY8O=3u1!ylOOA>0XO+~M{O<3tS!d>EWM-%5uxaku*)yii%3$v7X=i3+XHR1@ za%QB@&RCGcGH1`uy8b)vSvXZVCnL)}ZH6UxCObbfGk01ho0C3sT4vVVS#0it%!~zd z=gcr&A6Ir>Wp!yu<#_Fu!kUtmTJ?ewdu5$3_GY@i(Lw9QBgPfrq$RO1!)y!764@I? zwd>-tavN%rs_T4Oe4@L^x0cmZVtFpdS8J)bdh^iib#?XC_O%t)-jb73v6i!pzM>qa}%@2@uRF=d+M z<<$iz#3W@m)G!u&xT%n#na9tIx~3xabM9_R+Y_~iv7{TKZ#*;MmZaR6&OA06 z*AMVtPCkER`l6A0;+kfq|9aA%OdGE2spp>Q7uYcEh3t z3lC{+RkhXEj5Sx4ty_DR78kRn{Lb=u4nBuFkF3UZpiI9>`Hv;BciY*-xR}`&Pq&P> zSZglH^sE;5AhR{4)zxd#3ddi5mW0L9C;~Pu2ChyjganbP>ZRtmG$;+}EHRpVD@~WjS8Dv7B0_UlePpt50-`dt#Y> z4{c$lwrTR4Po8PX>K36$u zo$FG2Htug7dhmBYj*FQ(e;%J1S38P-yiIGPJ6j!HU2!q5fjaA!quOfb{OBCq*81@| zn?CY9eokD>MdcM8e8?R$`Pr^ZqUh4j0=l)+VM`6fq%m=ACqL)h&v|l*tHn0wsV-|{ zt9Se#tF6`63hRuNl~&Jmt9AF$8|GVopZi$M!!h%%EB3Dc&UEW^Ykk|}uTTGd!gTA3 z`xkFpOO)x>>TAZoeBcKOy$PAWF14noB#f}+f3{)Nx>2(eMnsR8Z+-8Qgb{zUjhHpx zY9B%DSFMQ|@!ZVm>c2GWoGI2m^N5<^?%_*W_nZmZ$1|3)mC0I<8#C)A88aFGuCw%m zg7O2W{m%DDRL$M#^KXp0*56%R`_rj@&*HTutg0+)U44CZ6-)oylWawHWyQ)ht`vsC z7B}QFpJ^^< zr+e0-kE&&&k4np{u$6hf^U?-!Lnza)2zB9((4@3EzaGADmG)xl%rtQ)8$<6Vq`f~k znUj3&>aX@SrwNrKQhe9yEg zxQg?>7k4h2@u=&)=(NJXZRPbPwT+|P$%!fEMcuxt)%E4wOK!x1{N4vlw^*~QYu3jO zZ8|6F-S+<;8nazoUd$S(!$QZy=n6e_38g*t=p^z?dmd+3ytLLFGgK?1n>dqs%;Xo( zo{_zpzB_f$4Tlyxdcb(@-(0fV%bfVuGX8^2b>mHqW;(Vc(`<3l=bX2gugzQ#<)kk- zZ!y<1{i53dchaWKz=Y(9CcZUhRYj$*Y{d=RqMX_lbX3m+=F?YOt}WwHjppBOd(}-B zYI@JSVQ58NQ_UK`nLZt89D4d{Tm5>EB{>E+XPPI*9FD7~t6EoCIX=fmS6iHCt4L-1 z%2bZE-~5hsYg2jmBaN{Y+_j|btxV0zy|=rP_u4Kpl?P7aE*EZNWcqFLOiEFo&r)Ca zz+7?Z?wm@$*4CYJ^eDF{^M^A7m-N|O6>Wb?$Bm=soXeAwQ}~k4Yx(Z@pTb3CT^T<%_UvBUi7*i6Sw zmT_%bCePRMPU9w=?7;N<84u!K%jHQMHGa<-pN^VVrd>H!+ZdCtrQk-N#T8|)n}+O; z{YC85OSn79^`X|S?QV;ob`v{mg=3im_t>XooEA4K!8sveDZ_5%X@8%#t?;@ti(-Ff z(&jBWV}0Auop#XrA&>9tRH=E-VIC~Z2mmonS{f*l3S)s$-O4W zGR_vrOWp_0akfQ&;fc1HCf8%uP1^3^J<*n{DqpjTO|gD;o#TdR^AYpZ5pwSf(@(YR zp?eY=S>{D|#C>dz=Lr_GW#3S`gpujDFrJ&T#InRvf7)w~+4gy^fZSUcnC6J~tLqj0 zmoWW$#f^23PZe7UTZWjb+|%R<`RBNtTJrPS#2sfUwH*fwK&ZuRjB}oitTH>m~fV^ukA-XK~>9g&>9OgDp zo_WcL@viFA`&L@6jN8u+*9@(gZrWyUdZOe-k+FXGrh$+${xRD{^FHq$CcPV z8hc>LfhDQ@otb0ToE_C=`Ouo$XPth1^@QvDtXI97{wuyIE-~)PGyF?uHP!7c&q;8; z^1esj+Bf%R?kFp%FG;?C9$(!GeX)xj9_LDaej7_p<%_aQ>U`HcwjtrBo@-~nkq}*8 zAI;D18rg13zWg`c1vl7#`=lN6k2&aOQ&z9q5>pz9k3l05(#EfDvBoz+seHD$#hR`2 zanw#%@(?zB!ofNA%9P}|7!%i+R0SWfBn`1a6tH`pPVev;DcYS*>m{oyd@+^NvStn$ zPilO?hv9`U-Ii;MPP}>c!d0AIgl6eamSVW6Ofy|21x(%Ot1A8DZ?gJ-j1ylRbfKQV z1Gh3T{X#vzx>1h}!OMD|e-|#)gJL3Y)MNUUdQ87lkLg#!B{o`cr=DhpGGDVO*O{u_ zXTO5Y;f?;0@-Dqi@#ampvsihF-cH=2=RecqiaR}}aj0M2bW}RK|7yB7%NnQM>gMfk zp7r36^pD?g?{Josu_uQV7dW-~ee7!gLjPFjrGHFmD!Ow|;04C1$RM%*?qjP8HZP3o z`|uCn?YpMw^v|*{-^wQ2lCsQx_AVQL#-0r~(#_#>eK+z(TmJcLz89NJhu(O_?QOmd zdt>>tt+Dxu z*cBTdcs2IX&EtnmS;8+!aDMhi{DSR#-|()B7MdQgJiz|ryqKx{Pgj4>;{5fL?$LX1 zwOSJ@>T1@onOhc)X z_~>HqX_K@u-5c@Ig+Ij;1G!$4ziusW%ey`I^{CVpol%dv9*^rAeR%ZDKaJ)$^Rl7y ztQr)#Y(Bke7K@#3o9^chh~B@am)Z8j?_apjdSU7v2{psUrnqM;9y34TFs^wy`}EwA zPCnfs+V$F9MHoo5LIKFM6>0VByR75iHPO}C51Xpi zWp||PHBslkPD>rluY8bAJkR4;R9*F_)j3*SJzG=H-oM3b@)TlXqH6U6vHSh%8Y{2q zGtNG`++D*OM`e!souh5oMDE%%?4t4l&RzGrwp_5~g5nFdp2jn~UrN|u-eA^}$1FjY zU;7SU5jFj{HMc&yEM@%ok)!@TullX|mJCaWgR{0v-d|JqkfmeI*5{sEV;vqCab;g1 zttsu!3F94Y7QdD^V*H5t4(+0q7IT(uN0-~OxZ;&E*LhJJ>^!;FURwI5?99C}(>yb4 z#&x*TQ~67lyUo+Od|NVy`t6%yma>ke)23~m`+24B)uPKxS3SF7%!V-;V-j8|KP~b5 z?A<83#c9g{>y|&?{pVHVI?PY*yJ~jS?L#)$I!xk5rgN6%9x#n-?!KsPby0Q?UAxrC z4qQ6U=CE;b&&$%v3o{umR=OASIO=XCrhn+r zlZ?xRFlno^78Ctl9(AoJWyy-zA)c9m3wXD`aS#7mbfmj zcrTXopK2Er%&%zkSFon^>`jerj3n>ERqa>NU_*3o?^OBCN6i7ohtzqaj@tg0bK8}B zG^^E=@aEXYM6L03btIFQuqnct5kGk@_iF}`lk9CkP+x;k%0!~_iYxn7{3Ol;<2Tv!#?XQw@ z`{v0-oFAStul5bE&uP<&+B8>kbwFHmmb_wE z^t8SO!z?ds%&^1-#+1i7vq~+y8`&e~tgVN}zdT;M%r$P#Z>)3XJm}hEOGz#p{^+FL z3$uO0j#~D!OsF4H?~O$=;Xtt-Nvky@BXMwSCo z_Eqm@rdQ@nwEXu9%qYrhM=dU=f7fKb%vaM;S+equl z9p$59m(;GCe;DHobbx_zE5?pn)SJp@6^(sr^5*Pp=N`*nKk^h@5TBW8%eipF4|`7E zduO~GeTS3#+*uR+G>SoI=biM{&nIlK)L2sAGV`AePcVNznctCcN5W4oEjerYh#f;- zu8*0=o7hzTM*O%@<6a-OW%i1d1uH+g1S9IcL$fC&6|x_s4$}e`ZQQYg|M8^}SH+m> zQ=E_8KHdDTX;>!nK9;@Qb3LvbX~2CWhp+$myQGElqdd3!v4snEn|@`gF+ID)w8%8Q zd1G7Rp8|YUU_;EFqFDbVoRD+*qJ1mOm7isfEi&`R5*|yKblQiL9yqPf;@BOvJL-w3 zI~|8ihfJ@V=1)&deEk4+ainJ~zShuB_5Jw={`)pDcjgvt(vM0eT|IomLpIhqUmMx* z_JzBxPgv)z>9hZjee%YF$qUBrwx!HJFJW%<3#a=s{>C8X=>#klvb+nicvVuHi!C{0dWgs$t) z@pZV$P(MT{DuBN0`;$f2HEY-B)ODRsT~`K%wyj#}e=hw`?sU_jmb$KM%QUZrjzmM( z<)z^(bzLRg>!h)(=(^5A-{m}PdgF&5*(>VYG;;M?_MrD_+WospP*bi<9lo?7mDd$$ zuZ?J2`t*!sbK5$qW|dH?NklMlo4Ij# z>yg7-$J;y)+L8V0bIxTADPHtu+%^8%_%p@qjrf*objez+d1^L08wz!RT70dG-D5ou zdOJq1XyOdInV9EjWXKe{(spD0_)Rt%{NG|!R$qwfAF4fHubF5TWJ%i1N#>|{%X}J@mY4Wz<@JJN6QbBQ zR`9}TvEiKKB6+?tle?y1U-&9w+2>9Jwwrd6MDXv(IXHuiC$(^c%`XLrYKzr4a*Tyaz8eJdBrp2UB1 z-+5EFJ+QBtdJvDr)MUH$?8=-M6Z!unmX160V^;+v)J)5hKS|g#`uQJhjc@F$<0O$% zw@&%vxcInu&-tht2_DuK|4GT%EB`pDF5nD26gXZ(IJ$XXc%*2z4wx~p|n)drfK6ZbBXna)aUs8VXKc! z9=30LNg{tR_E6gxdz|Nwt6zEE!XGgoI_K&4Kk~(E^{y?mU+A6F{mDroE;@RuFe!eD$VOe(u~)Z2olS=}cH}OU6fQ>h|huCPlBb`Eyo{yK=*g-su^A zH`r#}*m_-7Tu;pF&g->+rhUh*4xsnTe!^K>7(ge1K4Qg`zT4k=&AraBjR|}((Gf*q5aQ|JM4e!GVx37d&bPS&%gIm*L-{5;js^mIBXj=Za=GwPSJ*G z(^s%z+7E}^aUH+GT~Rl>W=-3i>Iu~o&_8_m#^{;0t}{kvFCUt{$8weD^MVWR@bttT z*tB#+W5O(Uef5QlN|$5|^+e^|@0gVS^lcMJiAz0ZK7R!N(A2l(-oA$U$*8s509ro%J*E{e9k>xnUL`i@tPQ)V0!pv{=ZMW zymo!JEiOiv_WXN(Nc*ji`WCNm+4?}+LxKN#7SN`yCMeu0ZSCPoB&Six-kwbOx0) z!y@!WPbOB^GFOiKDrNsLUG|qq+23UM$3e8F$_Y%rkjAd$O^F_6t2i5_8g z{-%o;S6o)+iki21!Nwm_kFbtiIPKn*)7bAC@79W(7&6jausQF>AEB+SEva3@mfVtC z9mv@{K^u{s=-iu`sZC~>*Q7gzk}Evxv&-4?nfu24#-98NpImxN=Xa*^3x=QPO~^HQ z#ywwZ(P(lrAU}*@b1Wv0nBU}`S5jw@F!iaC*<)R=4o^J4|FRwjbrf%3fay!7U&`ZG zX9sAe9_lC@)6ZXdUcAM_WJgi!>Yn9xyHi#q1g>avX%EG#FO%%(C`ueO24b?KSYPL^ zC|#QtV9yuVao08FKJSRCz@_t+2MP*k#B+GwMss%Q6>K(j6#T}O!?8-uYhSitq<|?k zIZ|+8hN_!7ilX&_8XsmeorgvS+({Vxu+5t$p`QqFaUJYCsqfBBJWL(Mkp<`{n3%*w zKXGtTF5i>%;jpyF&X_;-w5+)I;~tzj&w3%`dyNad1&e>>iu8rtO^0($9Ns-Px44JS zS1uiKep>a=3v#okjOn(M^jsJ1dMiK0JnR960Y!z!fAs#teiMySJU{zmV(E*0O+S@= z%f<&^{Q0dHcTd_>GHv%RnuwZt^tYeBG$as}5R*DTX3{$;G5(8oEnMXp;$eZ9ts}2= zj*YKl+&^xm8C}KuOwLdSx;J)BdQ41su}eyrRrVBnE_KQ&eJd>4Gg&_l(#*JL;n|1N_is^EZ{4=R6qm zUWqxStd{3KIXp2sdenyR4|zP+97kP8ben0iocO;x-;61XIo~og3)!dELl^frvQ6K04u4>e zY1`@DnWJu2Xs(`_SBNM&~kR)FE5V{0;G+ZiwH1Y0VJsxak+a*caW^(Ko>n9W@ju z>0`Fdw&#*R?ECOw{64F94Z4@zu`?Den-sNX%ofw#G`ogdm~-bXtg5Qc$ocYhv%@zb}ZuK zx9*^mU>$LocV2S4=$j5a&J#Yg)x4fQ=>gF_LCq@_b7?*6>V2+Fw@?4k221_SMlWX5 zXfo|UOJBPAz{tnrx%tD}drW;(x5lj2Z1&sQ#wVkL8a*~Rm)1Aq(ZHjaOS=x;)Ao;J zt@bT9W(RC9TaTqSI;ne#OG)FqzVFGQ?kT5#2vXpe0}xD~*)afNPx*3|O|3aSx!I{{O)Lt*y$RJ`c8Fqs5+BQHfUAu^BS=(+5YGqbxDp}jM zqSm%uwQWti&i6d$%y1LU+W&t4@BjaO2hN=LyytnZ=Y5~s`@GMA`7YuJkHJyx0)h!L z+bkvWldGneK43soT~;ZoYvuK7GTrTxMW8za$wa2BbCRM87idiYQS*y#;`^MnX2I1K z8M>eI`AU^l$eHoCmyppYwGdw822#sdW*D!q9e(818T-Ga)-w@xE6B4kW2pob<0TWT z>J=5_SPV4@sTU<4hJp($xpBz+0|nz0e=Oq~wVX&?%Wa6IHWERAiH#*bwL~@XsU`A= zPb~q@<8dpyhZOHS0=8O1< z)~y#&gg7wIEMDV0RH*id%Gc8eM$hWp>|1nuRrQ;g1G%wX_endTlBIyU4IG|4JUjye^&UIsnd}ZanZa4!})gndomkQgh2`B@SNvi zsSQa{aY$^HLh4B~ivq^;a*KaS?fdZr=n+qjU=3Z^0oznnM^Q+QnukeuX=9`e%abEm za1-Q~;T@n8Zj0r~k%RZs!8JORv1Xu0K#p2lR}eQ+Blilo#X5_ZTYwx<<{Y2gGMcAH z=kj=RwAIPp333Zhj#_!mRqIo_15b;6qzEWcBu|PQYM?|Sat}|6fD)NtP3>=!h%|b1 zUOp|5BA`UX?sMS(T@NV|C=o4?BA`S%AVnbll>sqIkL)2vSy%cHqlu&1dWg}ixXVb4 z&K@iSntaF{#nBg$8g*~~D75X-@!PyUN$275BKk8<<@rpycBND8J;YO_GatPEYJem3 z$zqlUniR44tKni#d{$|zm<8b|Ctz~k_5(?z3Ag-;wWrzi;^(6@f zvehDQSUE@e8~NgW3%(SyZW((#7*^JPRIQ7$(q{55rJC3g)v@|}(6LF+n%iTJ6(_D6 z%YL1d9u6cc^e(6DNZ2=Q!?W^Uf>o^m11um|-Rk2RTN*6V6_O?u+h!C<)~I3$dv?fX z$!3^dDC^{IS}^pYA}scA!#p!v4V2XA(}vOPKX3I3Io`P45p59>vhKJTGEU`XCps5I z1g#!wPJ18-Ntk!B@5Q~v+x~55q+>_FctjefWxt%dLw5IacCPZy7zwkF-lfu0 zDDA{3(E*@#FS!4kuq*VBHNhoCA3a*Mg804uWy02?1}e5_6Xm`FuKn&8H^l7Tw{718 zSub2nRo%KE`QaTc@dY>OV@|~MmanoC~$9$o!%=S^s;gifNYWsJoEcINE#vD{80tO`We2Q5DmRr1H zmhgsQV0R#MRa6kLDb&Xi-e$&y%c3+9_~;El4;UpNLXp8EER>3d(h4w0Q5|B51<)qN zl!BQNYKfI-j3S%H+AAiwC5_@vP}a*Quu8y&Dv}B7kIksi7p1VQSW1O!eSY6zQ3q)= zn@)WEi;W00I<;N~G+L^_^{=LUJFUR=FD?lhBzRHW03IC4fi!%DIh`D?bW zp~332&WG6+uS+iDa`m4X`I!Z5mqDwL*cxhBJzZwQE8im!cSfJpdk#V1d z+Gnvyyr+-}@obA?zGw8Q$z0%OFjSZqpqCHxxK(D^QDdWh98{;2xfb?oU9zl;_pcMN}Y=cA((1aRrPp zELY209^n#Lh0Hh!2Z-QqpImaB+|+vu;`;gU;&COWMg>WX_??W zt#cyFc1m4ik4SNw&g)Wlp2)#*A;PNE{*NS`(I;tbXV7u6?qBrn`hU@ef6|S#b9hW> z`ODdKSvI}YST@h_fW%r0h0UyshqHuZNRnS?lDRzhtDKhsqiKAZ^(?=4zLrZeOGLmy8 zNJyMis})aS+YH#apkU4D#NLfWGYnvuF84N7mb_fqo`r9@It zb4mP%yNuM265@BzwYhM_I8j-|0x*X$oV8szGqUiJ+(%{y=pGn)Joqf*Z5ZQix!BSy zy4132j9tERgp>=m>P~=c3jVV)>bR|%T#yr;xz!>IvE}j7Vts`2jzWjN@c4G{n#J+- zxz@GkG5K*)SVanuNMA&uaZJFNfT)1>;D#bmyP@ z;QVm5EU=WVxg*bkio}=d98V;UTDo&Dqh$1+7>Vk)VpS{e#;P6tSglbsH&3{qoG+>f zm4XAST&hLWqG{Ot;z#Xkr1!eV{3nNJQfbMx- zdLNm@yJ-?eHS@9>P(TjVny}7ObbpUk$+xlX0ddb~=ZNJCrqbO7f2u0HIOaluR-`5F zR>_aL@1z~cjr0`yJu+@o5ox%0MCU{gnNA;nD`aunY1B}fx+WLid9O@QNJ#3Q0BuFN zls+Nz+_t1*mVS@ArY-zvY)p|hm*cf{uGkCXPJc1ZBv(en)I_Sx5zWC@Vq)U1)I2Lq zoc#cmCjZ7DXJfTP66L!;-tn<3?7Mh*h@72Po}sw%iH`b{JTd$2`$Y+X#T2`}i!JLG zoHupoTSJa}X;Jsc9a9@d+r+OvGWOw+qwnuNHet!MvrdOX>lou83SBYLpNwsLmS!1( z7KRzX`&Mdsh3^Jr@y&qIBT8hzKhmE80%8fcX5xKIa*NQ~E{>%Pzax`^CM3!;B=dt5 z%<9ANIduXmSdmf^5H^c!29y;HEB0W1DXe)gfUpA5@RG+^pd+!AkP_YsXE~4v-saB* zc0RRn(p!hUuTrfE<3$S|X*G@ktc6I6^Lcz+A7XXg6@m!s?hv;uZ%IYt7(`h4RSVaT zbPo;Ch7Z$S+7h7O5@5J5fKoKN)~8P^50RH`W|lhd(+XyPxNyt)M3D6np&1g;#4u98 zRsR6Ljq7D@PlZinw$WPd0aZVaH)u1tisQWlI9{5nKl;#m1sRh^a%K$Rc&Ba*STlxR zkqYJ?qO1|6hxfZ1UpmkM^bpiVf>qED2j#42eb&LL0c&KEC%L_=?uu|d6mek7#)zo_ zO%WC2+%6j|R5JlSYbK=4OkINcxqe9Pz_epbu5&w>MKPv%!22oovFT4_LQ zaz#oiD+)pa-^v?8se;|-D+q5<2nN9fBqd%y_ee$k_HYr8^}2yA2eijyy&i$(<6ZGA z>#^!c=!Z+3s}D+g5Z|`}`SC0X@u9vc-A#b{x<|xrC|a4yUIE0{`s>4U4vuPz7{{DH zKu9ZKzV6nv*tpn+sXGrUvZh7T-4hEHR)yww+jY)~+Ud8p!J>7cyyL?u;+xuwZ1OhJ zoosLfojEf`nJEdp_W&1QU*vEGiJat%AOYEZ|J>30^kXG|h&xL;$z!tT0pqp3-IDa` zZ94I!3vKT^sR7g1mh zMaJvKfYGVve0~DWf1s<(`vrmI``DP4h@%QeaFM80uUTdS2gN@yA5Ctf^+Qr zk2Z|45Q)1vVq6LDIOiR}g4?Fo+%utV-Aw`O613ryL(rAq0s5Q7$*#KUL>IeEK2qUa zemU)yoWc&qIBxt%rYOi99CE1YEHRS1X~cwt7Xbhh2EX|P)jU+m@LMqe74n#n2x}bd zj8=Xr-K>aPl-qJv%-Pq?n@TqqRu#5KFK#IuFL&2SbgxSjr?3|)qK+yoqcj2fvo{@x z^pKG0bW3(iWpgFy)J$jAPQJj|18Vc{4bXmHA*DramGkAo%7vegi=nJWfvI=h7TXg2 zX!LTqCL*ReQss3-v}>A~O~D%3?!2{fYuMMR2j#~_?0oqib(*}8^L{WpO>U5%de$gi zLefUv-SOQs^c(V+hDWODGmg|E1kLSTu|2V zkmtxFr#nt7Z$plYRJerQcWL*xeR(MAoseL0@P*TE_L~c*!PMa06T7?L|BAYBI(zH- ziW} z47qSRUGz5D_$=`|^(BaS0VRWS)8{l6{QFJ`e23Q}6Cc{?Ss)DB#PX<1R)wrOA&5)a zR0f#z5ulHlhxE9QPIEiNE6NR;4mbcTp z>uHv42E~+)i&CjX%Jq%ql3~l6mpvFpsXM{0 z&5;j!uh?-z?RUgoKK|O;aBH1`8(nJ~ANc0jpvMC2JBv)g$HA=rB5JjsF`kvY7XP8_ zJezZFDB!Bj<_^+bkt>*v{8jsW!x$H z7pfFnY3Ihq*qB{=b4RM8oF7a;r=#7Q&Ud8NXaNB%cGAOKMIKtUFzK5xVAy=lpDvT#mn4ecu2{qmxl*1FHk^k zd)HY_z>G~7cTaKzECgvRUBEy}WX5a{gXUa7K&`{#GFw{ChLEPmA6w6~zED-jnJ@2t z!8NoqQuk>{PE|bf9`RmOXqt=974vTr=;RmA<0;zpLK9`!r?^Dy;Otz&~GqmXV zMCr}Qm)T-|`{hHxYH7E%q`ny0_B(2VGf*q=XFfFa9vHJD8akrNmAkt0%Sy|Fh~zUB z>!4Dp#DB~#to1O{R}6oS%u+rbq&Q3Rl(;`76jvQ3OG6_FtT_U=NV2LvNyMRH>7nP zEJi@%-&&cpuIj%m8zLz?9+}ovJDVyj_uf{X)^*>fL^6-)^&^wN$WCG%W_g# z$Xo2aB2Mdi?%Y^eTGuC3&Y83>siBKZ?Vf1g3*QhF7+@J_zZrrELk6retwBvIQG;$3 zRVi0*-ylAd^W|4_Tr8T$#0NZSuhNvTz(5}oDY8n%kW;N${>O@L@ThY-=If*zMdcgS|Fl?TMH zjcas0`GL;9V3{X~8uk&Vw+Fw$-5<+Fcw%*AzG}4;RwZG`3gm^<^;t2ri2AJdX_K{lF+aR^RYYn`hL4N&7~ahaL!Zyt0I; z(2u>1MP7-pK0L*+F{;Hpnkp!Eo!R$Em}6oLt5r34Cbo`Z<$2Rma8Y1g(;FVF0j81q$JC@Xy} zlt@&wDK%v-%*;u2D~Ak^1ni`l58H$RJt1})Lqub!krW}Y!a`sp2B`zi^p_mLgyy$* z;}&l`ZX}QU0O*WJfGi|)iIrGLA(>5bNj8~A?8F8ixxUe3#4jlS&(QA4;JyZr5?Gi)Vb2r~3=V zd4+3Vu)G<phWIRyz#OS#;XS7poMVZ4~)aZe?JNWgg@N(dcAnznLpjNAThVTFfhIm^p_q#9>E4+rW7Ufh44GgLNV0N_G|f30LI_! zsx!h?DaAjm3^-A!)2sy36OT?~(rMI$Wn{rN5>7`^<1`vW5;#M+!|x2?5bq4(KA$s$ z65BPMAw1!Ch9CoH2;ouS3ZaJhTp<9vLyx=9ioOsk1Iun_(nY$T>;Y>2K8_+d8AL=g zcN*PH9jEC`Ihh?ED#;YV6E(ZfkF?`)OpO|TdgjS@|3TZrD zONGlMVRAa`hpg7S7l5q+J?$o1!3-r-io33)x`J`tOb>ShmMcN;6csS#g2DmwjlYeE zCKgO3*hxB#LH`+al8j+&L_r5rVFWvARkSXFXreXIw#fzaPznOQbwM6%G^}$~>U9N_ z$fZlDt0;=jCSW>asfVU_JMnu}F!rf6b~d}Tw5+(vo=vuva)4@zSKA-uLM2-`s?n}X z&oHGEjlrfiS~Dy}t<`9)YHRv-yOFb7ES$~2i6y!XcJ9H2wNCIUkpV`&?gCr2va+(e zijmALD+bMoySfxU(2iRqT_pwC86+diX4fVa%;fU26VhkQh+eOx*34wJNeLP@n=WeX zWM`BW)jBuTt^hv})KDVjd>V&Q76*~Qb~UuUpKNzPC-C+(a5p~9K`5rop>z;2Q-aUm z{J=pNrVN}xe6iF)lxTk>m>=N|WY~b*?sSkLjG)Y{t>j%C@E#6a#$wEa7bL&zaKN&P zzl<#0bdb5&K|~D5#v6}epsK#|+dn$M`K{k3KrjgyvK1=o+pVA&3HcFlX;4+Cfttu6 zDAYt7^Nxc^39Q3_e}l^PY~N?PSa{Y8s*i(PG0Cf2QQ>;I1}aWUEBTxBTEFiB9L^5- zMvfHF4GqX7Pq$3X&p;IN$?U@yx1;`8-F$~EpD{-aVeiclT0CV|@Z+u{D z1yLT}$?eeNLH<7A70@NF-B)FiEM#$5gM-P}VL}#yvS;4-K6#^L#XDeXdl`GtXCI^W z4an4wU_cXp0Qkq%)F z)hr&e3}fn6%qqkgDC}0>4Yi<{awp6=2_vlR-U5@7V%+5rB^NSB&AB58M;mWfJ^5n{ z!WP(ylJE7{2>(i;OM9diAK^Yqmr;S)EG~jaVb1Q~40oM$Ytn0dF%5 zWrjh;)p0q7ToC#gdX8aG@H(H!hn7@m7mV|Tbhr6K`a*xm;DC?_bpI9apToi1Q$Y|N z;#>HHFjF#*V`X_w7#W2@7ysf^I0FS#z^{mppM~!YkPNTlavk0X=}9i&<~EoH3_<;m z`2uzy4{iKx1V0!1&O7ZLr=aJN#O?&@gQT_pkxWx$BuSxZcnlG zos0&E$)tezd0{t%XMrqWC9nyb#6VlM5Mv=V@Rv@UK*gPKKLZGPF@!20oDT#YTrxoj zr3pJ+b0MY_Ldf6OK}jyM9KzAQc(&&W3uRZ6Du97K-H=!Bfh^cCJG=%sJp3;(=`d^P z-am$hcN7L7;qdN5b0*hiAnlW^!&6Y$r`@LK}CY=oXl=0{b3I4pl=9y&E~-`qrkDWI&-$Q>L? zB5tDR7)s>Oq#KMnyWOl++cl;PN@HQvCc>ySx+EyWW=Pjqtp>1)0EaEv^YRJ~xW#!H zGj*C7G1gHTtf%me35jG1QEAgWBz+0Jcy(nUWm}@r{9{$L#=0ch6UdQAjf*s77boB3 zA(lvkEW>0pC+gLPblOU&WP?$iq9I8-b$W(IpTrrG^tyC|3H-Dmd*Lpyq?4Ihv$F2g z7QpDJLFHuu3=0sd3xF>rH3jzNKu1l12^w?B0aJo&c}Ym7t1Fd@=E&Iudl1>&JwmxQ zfp%y%%?#Mrc|v5!b+wk-OUmjFmgRB}#=`jFUMeFVJ(1kO1vgFC8I0QG^O@6>f7T}G zM1Kx=c;-Exg4*ipx&qt1Xz45SF|K?#?@h4k~HDu zesg5~p-7!InWWn+;L1z~lgFSo7_0_0vFHpb>U4WDW3!x{Z8sTLMT=gEEY{7+hK;N- zXWhEFR(pYCsAcE@ZMK8@WLS5w8HQ)4nrtVYgH#69O+pSlv_VRSoFmIm4YxLPJmS+& zwKng{^W5X=*4A~qM(h;r(mgGTI;Y6oO0?ET=3g=I7_Fij=}AR_=kxDZshIe!WcXHD zK3P=e=1q`rU)WR<$%^tLT7%0Rb@R5?FD6BnZkQ{J$%rq+y5D^(t`5^X{!|(E^qIwB zpLVtvu_={o3ai{9s$`!`A>JUT=8a21y3d2kbsytJ=M5@K_;lCNe~nD~JSgeoAozVe z$s2So=%2Np2FcmU2itCGT%(;z!a6B#$|4YrU)iH2Ax9XU?G%$ZY4H(4)RUh&GCCS8 z6~Tk1YvzRHUB=Hx8$TXxTm{BoAy(2b4kW@ySA;03XQTsX${_blEXfR12BI9vm~q|_ zG6}&}5wdLoA)PsRBOIdK^8xp6J{tP_^JEv9{(KH>XeP~6b0NqtuOEHmLqb9UP9}n% zdvTh^k`LhmZUaHUA%M8>7~adH!d)ahq`~TyvUB)wWF|LBMA0yp2{{LDVOIh+3GxPc z7v=n;8Lxy6=e0BpJl_ZBIu#*z|0*w=(2DLvSK zHjjZ9!mkss56C-!xlvF=!7^I;68yOSbDC> zP%csvfllCEI#7}sP>Z>clbh7@6omyU;)FZQ8_Pr83|L3-6sUraMJiOr*T?PeF8(@V zklr#uiTZ!5w~$t1PxaEu>-E-PeUc4*Q_9!e1+7O~R}C#F04m!XuLX)x0B`md=x^Ak z4`pK54&@G(qa7$}G4wH5i9!3409pf~Y*IwZAr=-Q;cf<$SOlfv+gQ=BpZ-J!8&!J9 zqj%i&4c*wN(($$E+fN{}!o4iJ;dSo>wV{an-bge#&s~3GJxWOP!Ho9xg#TtqYTJF4LziR(+VLgJh#IWp>-B` zit`1zCm~+Pb4OSc(+$7ze`kJVLk%;)F(kfoVFb*C8I%p>`)9^rZ@=%j`6ciFZ++fB z@{dO7dx1k#!xgy~#4kdxVgDi5h!EIoIv8yTVdMKu13ij-C-Rhoy?=122`$Mc^PpAu zwge+0$-I7h{rXuj>hzUzqhlSo!k!UgfL38kgc>7Gz_)JYu>&|M<@-SmGaXnS zCdYl+xlKkdazN^ z3-@z-2}u?5WPX+mIWj`7^cf`r?ZJ_vg`Vn*8-6bBxmxo0&tcPC7_%90ro(&4?=!{( z`Q*mrkWYGgK?h?6ct;rdh&BFK{`!Ak{yKlZkCxyBxB?6qcua8$J z6&Y?6>k#=36zh_K0lZckulH%+S_BHGL=Wtp*V|VLOyRRd95XQ66uLj0*ZYPqE6w0p z>G-S=RSnE)O24dhP=!yA3JuR3JgX!=E8`$prS{7z39|a9ZvoHIn^jnkGQp3Mw0wq1 zgJhUU4+ib^J~djX;d0Ct1&{vyX5=$W9wfs{{c320bmJctvTE+FAqw^s)eaE@MSQ%+ z4jwH2zcUWI^G3?Uadj;?kRSMG_?E8)^Ph~z4*yT)f1`Qh7`hhhl4m|W`^SmHEl*D= z+J5BRhC+m+V7z?#ky-ij@)fqW-{;4VY|g6n$J@VZS0CMzY5nt=;oC$JZ&mu^SBn!r z+;^sG`XgJCLnb|)#V_Y#K5fIA-dMCoGi&XhlS3X%i8$bg|Ml3h?AvJ@r|w#`xG={4 zncg2?{pcNGane)fKfSy|RQ2K;UH*8y&W3hykS7S2)KVg$p1cXes|mv?i5E}{+MS3Q zUhTrgqqY}T?Jl1KH7+x+tV)~I3A%GWsMkpwe8D8catMl;na<+9&!83kje8q4%z2BdmxWxqDv3@=@~>|o ziO-67xcnno{!b9SpxZk3&N^ZX`F< zT~xwg!J}HZ{Ni6MUkRzh;KUl-NJh^A&|zQs6mU@}+tv6a*BeRS7beWt{vi-~qvf9f zSf?)&5wD5J;ALd^7((ByZzv4q_d_fw2g>Xk*=d=0>s8tO2jani!R z`lEV)>D4)jd^#tV*B^nJicgPHjE+y~BI%$@^6Q=kPb=u2@SS1VC}F^M4KjmI{}S`l zWk>O4D})@uHn}W3qi&9ljVl<>98%N`P-b|OMa@JN-`EeaZnYFyBZeX<2seU zKO)IkO2Cbv$9oco*YaBkxzh}RYwGR7!Fs1B&7`lPV*Y+JLNd4=py!JMcryplyq*tU zA?HtnGR?KiVR@bANV1OCEjDh%UT<1DW5eYLPm3wrU60=K`Q0Dp zq53i#8wzO$f6rH^{USTXg=z5}Uq9{DI?aWk7`=Y~3>;T0`i-mMeRQJNs&6bb2k{BE zGaXio(jf<&4?md}()^->Zx9SizpfYvEQt8H#Mi4U)`8OEXr!<4@G21&CLV`s5DNNf$c}+iEx1f+n+?p*hGKcz5Ny9gAW=A z5AWh^iXXmrEQJ9)_Cau;v80CyxOj{owl{Ai1ZFrx2Ig(bBX8QSe%C_*7VEAY2%nNe zUYO~F2SI2!zPe>6 z8&ia*yp_wGn%ULvGQN6zk+1{g^>0od?>h7L@#Ba1OmN#-R#j>BTvu&RCI$n3a052I zU$gfJ>C4kzQwKqMIAQG|ayb|wqmKhUU|PQ|vK~t0Ba`|>!lV!)Q~E^0s23u2eIgM@ z2zDQRB9WqAePpGls#c~Xr)1dl`V@6ax+Mjco;47%XiaLpQExO@l8rXIJ$)6t!Sw3l z`bv0#seN0WI3W|P2l)f`*gA_BI~TfAS6XZ-8M=%VjoNNXPWBCGWLuOe1=wLsj6P_8)iYKtD**N z8(@0~&K?a!0oHH>?gJjA28>_9v6Nnys?w+EbvhkP3;?jroSLdi&PYx-88xP4YlbPq zo?+{I;_RAjO;ur>#$bZ^n4Fw!Nj3>5Je_KT4APS`Ov#$0T1SxtZrZ#n@-UOB-Nd}GDhLaLddWPC$H|Prw?1VH02loa(}l%^$)j-dK2wU~!V5>6Z;u5UnZP@Vz+~)T=M{NYzYY zd;V=fiXJr3{{i@WF$t$mt4)S2;u<4toCJ6QMf3;u#U>3Jn=)vuZqQicz}Tw?B?aT3 z5Y<(7QUYYyHR5~o`3??(`h75o_J4~y;YUfc4|Z?YFDpSV{>;$!x{i)=RHePrYD zc_y4FlFWt^;|kzJmbC&-WXqf2M7FybPGqYeffMyCJK@Apw-azU>gX|#k`>GNFy`~x z7l(JTU8neaCEWM&ko@fA*<8*Vb^6I44^d`#&bj^^c}0Cd2>DxCL2iyCc>iR0&lmMb19!kD{F$AXXFd)&kMzGPy0&9s< zesEsP-T_nf9omXPtwQrvP8~*>d z2N2KVG4MJXkPYHewd+;)UgDwowlM{cl@7n{P9@+*ssM6W< z`RkWY{J_V*_U$v@zWB|)ww{|8{_6RhFASgT{rd2y9p^|Ol!Z78aXF@cVf*RJdp_q; z6;^?agNOe5Ip7|KD4792m?j^tIF%i6#d%l(SFCdrT#>KX0$0ql6|R`slW;{`dl;@r z`L6ixF)vhs6k19$tBZ48OUqo#Y%7W@Tv_RS{-~-cv{yRIDq#OCuWZ255c3wormscS zwfr-_Xi(Jki%bV!sTIx@$Vu~6io)mciQ%PX)%ET{io@z6IxQ4x0beD`udc3e3P|(C{|KmTxYE>t0(~`oNpRdiZ|Xx+ui!I626^S+brAM9@>C?1eEW& z%=Wh|ej17~7)Cl%?yPc|k#Hmw!_?r(s8efo z3EBirf;LI3)A;g;6`pBzhEkmx6dzi(p;%X>PAN7NsdXlUURzw8R8mx01Ymq!#=+HU zFz7WYMq6@HvfW@X87)aRt3JhGwWjNnYb_EqdQOy5)X6EkRojbc>)!+NR|M&AQoZP)<&YU@O=FFKh<=#DU zJnY=&XTm?zq)%VXSNp3nSPL-V{qfzR-`CQ#1^Dg*_^YzAQb(ub%LPCY5h4*u|L^mE zum-L}wj{KbFPh5_Ky6HI9ta2m1Ouu8sslm*p@15IngE!976zydr~{}As0XMIxCzhz z&=3#~Xar~sXaZ;oXa=wXngdz@S^`=DS_9eu+5#c~?EvioHv=L89RN{)j(})D44@OB zGoTBgE1(;oJD>-kC!iOgH=qyT7C>J>KR|!L0Kh=NAi!Y25WrBtt$<;G;egu!BLE`- zv4A*0JYW%MS0Jj5D0pkG^022W=z$8E#AOk?{kcq1ukOjyF z@&NgO0ze_42rvau3@8DV0?Gj8fT@6Kfa!n=zzo1lz%0OQz#PC_Kq5F5 zBBvEKFTk~!e(J+wbn~_#k2MIL9-jm3FH@x!f9J7hf2@7RQgq+?!^7L2u`Hx? zYA}4pqV!_aE}h9iwe;>&Tl2B_A`6vDa@zQK$o8;+PQ|+Td%*7Y!Gyw$6C*bz47nWP=Bg7^|KqTKXE5prB84W zdU1fic6z$4IN06P6=xbEqcSg_AcTYZx34Wrca*Zyomc zX~yg&_V*T~{5I#eIXP*OQ9YQmvuH8C{TbbI_O}K5TLXVB+Afyo48z30&0PY|$~mjZ z-nBc?083Mo;tBupzl7fjK0%t9KjBs7dcv#uSit8cQjLrJmrz#~{;(3?UTa`+(EDL% zuna;c&WFp&(5!HXX>ced_!f)rq@4!PmrD8|9|so~Y20g5MIU9s8y4r~0bo@ziVnchS3R7jNbHxA>^a zrGBa6PxxSkeGZe`Y;DeQTAB3l7?@Ds2`WNB5xS{W(#9I(v zs^p~5(_Aj~UzHvRuaf8Q*tv>7@o~rB9p22Rfo71$=T6Pf@|3M`<-z+-ZX%z*6K$hv zGeaI1U#Y@3^=p726TwxBEiGC`wrm;Q8(+qEU|*a1HNkWR6AedNYN9=Jf{~yphId3q zIzd#lF+c8_`n80Jn3EVOBrc4sJ0>ESYS^qGY;R@7+pN9Ct&qowXwjhsyXkMUHua0b zJO(ovo7I@Fz15hhz11a0Kg@P8Z!s1IA)M?*Ru>!?^y}v=v>PT(m>xL_)oC5&IuTON zaP$vMkQ8@-4xFt5N!Ne-jxN;JN z^|T!{)ohVsFKN+R{EaJY(bO+odxpepkz8D6M~b)%P0K5>BekyfEX`6|#1|lq|H;Y% zeuDNKbZbe)Sp9^x16p(f0$eL5ppk%wzhk!E`5rbXJWHb@D^PFcq@|=U! z)92SpRL=1^U?sc-_rF%6E|>KL&v**ZRP^rf#8pNAe>2`fM&$T#eRjb;(*wB^`uH_t z`Zwb{xWTt~gO759Z{!Bw(G5P*4ZevRe04W?ck;O7-Pq}m&Z)c5NT^@L6$a&*y@%aExuL{uPdhMukV|YUfe$;h*0X;?BDt_{$_kNH~5}z@ZS2#u8a@w z*N7iBhK1FyULWle&hP^vKN|Y}d*N@5$)%xdtpoOWw4`ltt z%6ITk7u^pq{-zQFWOOwN4qHT(7%M|ehl*G z=>46`$?evxe@<_1cL!eL&+W}DKi9uOe$n4K-XOmV-XOog-^%o6Zb$Bi&Gq8;X0DgR zZ%=d814=}{0G~;&crK@z52uIxMXvN*pAjbgbH8EM52rWi!PxF(Cz75W`jq77c+e~H z=yy6F7d?lW=t<8Og})_zGQXko5pr^RcjcP<1(y@s(YlSCA0hPVB4-PQ{M3Iz zAL&ZZ+Xa84UGZGcsIMfy!~P{alZVD%Ngk#L+D_Ny58(ZX;|=seKg37nm&gyR{2SMU z!A}Z3a5)YANbu+NMY&d0eGTnyY%hhM;qsgLbG+F;IUc1;dgK1h+)p`P-H*cD^gE^> zNzYVY=Kq!b4)W{tqP|>j$R**qo+F&{3q7-Xkvw|4yW?Ywqg=*Q9$y7PP75uq>G~1; z=`e(