From 2f9034a1ace9e070af6799a05891b8095571560a Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 30 Nov 2022 09:04:42 +0800 Subject: [PATCH] =?UTF-8?q?[2.13.0]=E6=B6=88=E6=81=AF=E7=9B=92=E5=AD=90?= =?UTF-8?q?=E5=8F=B8=E6=9C=BA=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/report/IPCReportManager.kt | 69 +++--- .../DevaToolsProvider.kt | 4 +- .../badcase/BadCaseManager.kt | 6 +- .../badcase/biz/PassiveBadCaseWindow.kt | 2 +- .../core/function/hmi/ui/MoGoHmiFragment.kt | 28 ++- .../hmi/ui/msgbox/DriverMsgBoxBubbleView.kt | 74 ++++++ .../hmi/ui/msgbox/DriverMsgBoxListView.kt | 154 ++++++++++++ .../adapter/DriverMsgBoxBubbleAdapter.kt | 116 +++++++++ .../msgbox/adapter/DriverMsgBoxListAdapter.kt | 230 ++++++++++++++++++ .../main/res/drawable-xhdpi/icon_bad_case.png | Bin 0 -> 11897 bytes .../res/drawable-xhdpi/icon_msg_box_close.png | Bin 0 -> 24088 bytes .../res/drawable-xhdpi/icon_msg_box_open.png | Bin 0 -> 28765 bytes .../drawable-xhdpi/icon_msg_box_operation.png | Bin 0 -> 14948 bytes .../icon_report_error_normal.png | Bin 0 -> 15791 bytes .../drawable-xhdpi/icon_report_error_open.png | Bin 0 -> 3058 bytes .../icon_report_warning_normal.png | Bin 0 -> 15930 bytes .../icon_report_warning_open.png | Bin 0 -> 3097 bytes .../main/res/drawable/bg_msg_box_divider.xml | 5 + .../main/res/drawable/selector_msg_box.xml | 5 + .../src/main/res/layout/fragment_hmi.xml | 43 +++- .../src/main/res/layout/item_bad_case.xml | 76 ++++++ .../res/layout/item_msg_box_ipc_report.xml | 143 +++++++++++ .../main/res/layout/item_msg_box_notice.xml | 52 ++++ .../res/layout/item_msg_box_operation.xml | 121 +++++++++ .../res/layout/item_msg_bubble_operation.xml | 65 +++++ .../res/layout/item_msg_bubble_report.xml | 73 ++++++ .../layout/layout_driver_msg_box_bubble.xml | 15 ++ .../res/layout/layout_driver_msg_box_list.xml | 89 +++++++ .../src/main/res/layout/view_sop_setting.xml | 4 +- .../src/main/res/values/color.xml | 2 + .../api/devatools/IDevaToolsProvider.kt | 2 +- .../call/devatools/CallerDevaToolsManager.kt | 4 +- .../eagle/core/utilcode/util/TimeUtils.java | 4 + 33 files changed, 1336 insertions(+), 50 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_bad_case.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_close.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_open.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_operation.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_report_error_normal.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_report_error_open.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_report_warning_normal.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_report_warning_open.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_divider.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_msg_box.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_bad_case.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_ipc_report.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_notice.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_operation.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_operation.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_report.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_bubble.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_list.xml diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt index e691962e86..ec5ad32669 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt @@ -51,41 +51,52 @@ class IPCReportManager : IMoGoAutopilotStatusListener { */ override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { guardianInfo?.let{ - //Error 弹窗并有提示音 if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE) || it.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED) - || it.resultList.contains(RESULT_REMOTEPILOT_DISABLE)){ - if(ipcErrorReportList.size>19){ - ipcErrorReportList.removeLast() - } + || it.resultList.contains(RESULT_REMOTEPILOT_DISABLE) + || it.resultList.contains(RESULT_AUTOPILOT_INFERIOR) + || it.resultList.contains(RESULT_SHOW_WARNING) + || it.resultList.contains(RESULT_REMOTEPILOT_INFERIOR)){ val reportEntity = ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), it.src,it.level,it.msg,it.code,it.resultList,it.actionsList) CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.REPORT, reportEntity)) - ipcErrorReportList.add(0, reportEntity) - //当前不处于美化模式时,展示监控节点上报 - if(!FunctionBuildConfig.isDemoMode){ - if(FunctionBuildConfig.isReportWarning){ - CallerHmiManager.showIPCReportWindow(ipcErrorReportList,ipcWarningReportList,1) - } - } - } - //Warning 不弹窗也不会有提示音 - else if(it.resultList.contains(RESULT_AUTOPILOT_INFERIOR) - || it.resultList.contains(RESULT_SHOW_WARNING) - || it.resultList.contains(RESULT_REMOTEPILOT_INFERIOR)){ - if(ipcWarningReportList.size>19){ - ipcWarningReportList.removeLast() - } - ipcWarningReportList.add(0, - ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), - it.src,it.level,it.msg,it.code,it.resultList,it.actionsList)) - //当前不处于美化模式时,展示监控节点上报 - if(!FunctionBuildConfig.isDemoMode){ - if(FunctionBuildConfig.isReportWarning){ - CallerHmiManager.showIPCReportWindow(ipcErrorReportList,ipcWarningReportList,2) - } - } } + +// //Error 弹窗并有提示音 +// if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE) +// || it.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED) +// || it.resultList.contains(RESULT_REMOTEPILOT_DISABLE)){ +// if(ipcErrorReportList.size>19){ +// ipcErrorReportList.removeLast() +// } +// val reportEntity = ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), +// it.src,it.level,it.msg,it.code,it.resultList,it.actionsList) +//// CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.REPORT, reportEntity)) +// ipcErrorReportList.add(0, reportEntity) +// //当前不处于美化模式时,展示监控节点上报 +// if(!FunctionBuildConfig.isDemoMode){ +// if(FunctionBuildConfig.isReportWarning){ +// CallerHmiManager.showIPCReportWindow(ipcErrorReportList,ipcWarningReportList,1) +// } +// } +// } +// //Warning 不弹窗也不会有提示音 +// else if(it.resultList.contains(RESULT_AUTOPILOT_INFERIOR) +// || it.resultList.contains(RESULT_SHOW_WARNING) +// || it.resultList.contains(RESULT_REMOTEPILOT_INFERIOR)){ +// if(ipcWarningReportList.size>19){ +// ipcWarningReportList.removeLast() +// } +// ipcWarningReportList.add(0, +// ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), +// it.src,it.level,it.msg,it.code,it.resultList,it.actionsList)) +// //当前不处于美化模式时,展示监控节点上报 +// if(!FunctionBuildConfig.isDemoMode){ +// if(FunctionBuildConfig.isReportWarning){ +// CallerHmiManager.showIPCReportWindow(ipcErrorReportList,ipcWarningReportList,2) +// } +// } +// } } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 119b51b41e..5ba5156aad 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -94,8 +94,8 @@ class DevaToolsProvider : IDevaToolsProvider { BadCaseManager.initAiCollect(view) } - override fun onReceiveBadCaseRecord(record: RecordPanelOuterClass.RecordPanel,activity: Activity) { - BadCaseManager.onReceiveBadCaseRecord(record,activity) + override fun onReceiveBadCaseRecord(recordKey: Long,fileName: String,activity: Activity) { + BadCaseManager.onReceiveBadCaseRecord(recordKey, fileName, activity) } override fun showFeedbackWindow(ctx: Context) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt index 1b65d8c4ce..77f3c3672d 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt @@ -168,13 +168,13 @@ internal object BadCaseManager : LifecycleEventObserver { } } - fun onReceiveBadCaseRecord(record: RecordPanelOuterClass.RecordPanel,activity: Activity) { + fun onReceiveBadCaseRecord(recordKey: Long,fileName: String,activity: Activity) { CallerLogger.d("$M_DEVA$TAG", "收到录包结果回调${record}") CallerLogger.d("$M_DEVA$TAG", "开始创建被动录包弹窗,window num=${BadCaseConfig.windowNum}") - CallerLogger.d("$M_DEVA$TAG","key=${record.key};filename${record.filename}") + CallerLogger.d("$M_DEVA$TAG","key=${recordKey};filename${fileName}") ThreadUtils.runOnUiThread { val passiveBadCaseWindow = PassiveBadCaseWindow(activity) - passiveBadCaseWindow.setRecord(record.key.toString(),record.filename) + passiveBadCaseWindow.setRecord(recordKey.toString(),fileName) passiveBadCaseWindow.setClickListener(object: PassiveBadCaseWindow.ClickListener{ override fun closeWindow() { passiveBadCaseWindow.hideFloatWindow() diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt index ff83556e2b..f97420f379 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt @@ -307,7 +307,7 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene SizeUtils.dp2px(10f), SizeUtils.dp2px(10f), SizeUtils.dp2px(10f)) - checkBox.textSize = AutoSizeUtils.dp2px(mActivity,34f).toFloat() + checkBox.textSize = AutoSizeUtils.dp2px(mActivity,18f).toFloat() checkBox.text = it.reason checkBox.isChecked = it.isChecked checkBox.setOnCheckedChangeListener(this@PassiveBadCaseWindow) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 5844a486fa..736f671801 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -296,6 +296,17 @@ class MoGoHmiFragment : MvpFragment(), } } } + + cbMsgBox.setOnCheckedChangeListener { _, isChecked -> + if(isChecked){ + viewDriverMsgBoxList.visibility = View.VISIBLE + viewDriverMsgBoxBubble.visibility = View.GONE + }else{ + viewDriverMsgBoxList.visibility = View.GONE + viewDriverMsgBoxBubble.visibility = View.VISIBLE + } + } + } @OptIn(ExperimentalCoroutinesApi::class) @@ -323,14 +334,6 @@ class MoGoHmiFragment : MvpFragment(), override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { CallerLogger.d("$M_HMI$TAG", "recordKey=${recordPanel.key},stat=${recordPanel.stat}") - CallerMsgBoxManager.saveMsgBox( - MsgBoxBean( - MsgBoxType.RECORD, RecordBagMsg( - recordPanel.key, recordPanel.stat, recordPanel.id, - recordPanel.type, recordPanel.filename, recordPanel.note - ) - ) - ) if (BadCaseConfig.recordKeyList.contains(recordPanel.key)) { if (recordPanel.stat == 100 || recordPanel.stat == 101) { //成功结束录制 @@ -369,7 +372,14 @@ class MoGoHmiFragment : MvpFragment(), if (!FunctionBuildConfig.isDemoMode && (recordPanel.stat == 100 || recordPanel.stat == 101) && recordPanel.type != 2) { //只在司机屏生效,乘客屏不生效 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - activity?.let { CallerDevaToolsManager.onReceiveBadCaseRecord(recordPanel, it) } + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.RECORD, RecordBagMsg( + recordPanel.key, recordPanel.stat, recordPanel.id, + recordPanel.type, recordPanel.filename, recordPanel.note + ) + ) + ) } } if (!FunctionBuildConfig.isDemoMode && recordPanel.type == 2 && ( diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt new file mode 100644 index 0000000000..e0b3932da4 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt @@ -0,0 +1,74 @@ +package com.mogo.eagle.core.function.hmi.ui.msgbox + +import android.content.Context +import android.util.AttributeSet +import android.util.Log +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.recyclerview.widget.LinearLayoutManager +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.MsgCategory +import com.mogo.eagle.core.data.msgbox.OperationMsg +import com.mogo.eagle.core.function.api.msgbox.IMsgBoxListener +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.DriverMsgBoxBubbleAdapter +import kotlinx.android.synthetic.main.layout_driver_msg_box_bubble.view.* + +/** + * @author XuXinChao + * @description 司机端消息盒子气泡视图 + * @since: 2022/11/25 + */ +class DriverMsgBoxBubbleView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr), IMsgBoxListener { + + init { + LayoutInflater.from(context).inflate(R.layout.layout_driver_msg_box_bubble, this, true) + initView() + } + + var driverMsgBoxBubbleAdapter: DriverMsgBoxBubbleAdapter ?=null + + private val TAG = "DriverMsgBoxBubbleView" + + private fun initView() { + val linearLayoutManager = LinearLayoutManager(context) + linearLayoutManager.orientation = LinearLayoutManager.VERTICAL + linearLayoutManager.stackFromEnd = true + linearLayoutManager.reverseLayout = true + driverMsgBoxBubbleAdapter = DriverMsgBoxBubbleAdapter() + rvBubbleList.adapter = driverMsgBoxBubbleAdapter + rvBubbleList.layoutManager = linearLayoutManager + } + + override fun onDataChanged(category: MsgCategory, msgBoxList: MsgBoxBean) { + + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerMsgBoxListenerManager.addListener(TAG,this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerMsgBoxListenerManager.removeListener(TAG) + } + +// fun setData(){ +// val list :ArrayList = ArrayList() +// val one = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"测试")) +// val two = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"测试")) +// val three = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"测试")) +// list.add(one) +// list.add(two) +// list.add(three) +// driverMsgBoxBubbleAdapter?.setData(list) +// } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt new file mode 100644 index 0000000000..fb593778d9 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt @@ -0,0 +1,154 @@ +package com.mogo.eagle.core.function.hmi.ui.msgbox + +import android.app.Activity +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.recyclerview.widget.LinearLayoutManager +import com.mogo.eagle.core.data.enums.EventTypeEnum +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.OperationMsg +import com.mogo.eagle.core.data.msgbox.RecordBagMsg +import com.mogo.eagle.core.data.notice.NoticeNormalData +import com.mogo.eagle.core.data.report.ReportEntity +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.DriverMsgBoxListAdapter +import kotlinx.android.synthetic.main.layout_driver_msg_box_list.view.* + +/** + * @author XuXinChao + * @description 司机端消息盒子打开列表视图 + * @since: 2022/11/25 + */ +class DriverMsgBoxListView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr){ + + init { + LayoutInflater.from(context).inflate(R.layout.layout_driver_msg_box_list, this, true) + initView() + } + + private fun initView() { + val driverMsgBoxListAdapter= DriverMsgBoxListAdapter(context as Activity) + rvMsgBoxList.adapter = driverMsgBoxListAdapter + rvMsgBoxList.layoutManager = LinearLayoutManager(context) + + //通知 + tvMsgNotice.setOnClickListener { + tvMsgNotice.setTextColor(resources.getColor(R.color.msg_box_title_color)) + tvMsgIpcReport.setTextColor(resources.getColor(R.color.color_FFFFFF)) + tvMsgBadCase.setTextColor(resources.getColor(R.color.color_FFFFFF)) + viewNoticeDivider.visibility = View.VISIBLE + viewIpcReportDivider.visibility = View.GONE + viewBadCaseDivider.visibility = View.GONE + //获取通知消息列表 + val noticeList: List? = CallerMsgBoxManager.getCachedNotifyData() + +// val nList: ArrayList = ArrayList() +// val one = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"通知1",2)) +// val two = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"通知2",2)) +// val three = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"通知3",2)) +// val four = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"通知4",2)) +// val five = MsgBoxBean(MsgBoxType.OPERATION, OperationMsg(System.currentTimeMillis(),"通知5",2)) +// val normalData = NoticeNormalData() +// normalData.content = "测试数据" +// val six = MsgBoxBean(MsgBoxType.NOTICE, normalData) +// +// nList.add(one) +// nList.add(two) +// nList.add(three) +// nList.add(four) +// nList.add(five) +// nList.add(six) +// driverMsgBoxListAdapter.setData(nList) + } + //车辆系统信息 + tvMsgIpcReport.setOnClickListener { + tvMsgNotice.setTextColor(resources.getColor(R.color.color_FFFFFF)) + tvMsgIpcReport.setTextColor(resources.getColor(R.color.msg_box_title_color)) + tvMsgBadCase.setTextColor(resources.getColor(R.color.color_FFFFFF)) + viewNoticeDivider.visibility = View.GONE + viewIpcReportDivider.visibility = View.VISIBLE + viewBadCaseDivider.visibility = View.GONE + + //获取车辆系统信息列表 + val ipcReportList: List? = CallerMsgBoxManager.getCachedSysInfoData() + +// val ipcList: ArrayList = ArrayList() +// val resultList:ArrayList = ArrayList() +// resultList.add("RESULT_AUTOPILOT_DISABLE") +// val result:ArrayList = ArrayList() +// result.add("RESULT_AUTOPILOT_INFERIOR") +// val one = ReportEntity(System.currentTimeMillis().toString(),"","","自动驾驶失败1","code", +// resultList,resultList) +// val beanOne = MsgBoxBean(MsgBoxType.REPORT,one) +// beanOne.timestamp = System.currentTimeMillis() +// val two = ReportEntity(System.currentTimeMillis().toString(),"","","自动驾驶失败2","code", +// resultList,resultList) +// val beanTwo = MsgBoxBean(MsgBoxType.REPORT,two) +// beanTwo.timestamp = System.currentTimeMillis() +// val three = ReportEntity(System.currentTimeMillis().toString(),"","","自动驾驶失败3","code", +// resultList,resultList) +// val beanThree = MsgBoxBean(MsgBoxType.REPORT,three) +// beanThree.timestamp = System.currentTimeMillis() +// val four = ReportEntity(System.currentTimeMillis().toString(),"","","自动驾驶失败4","code", +// resultList,resultList) +// val beanFour = MsgBoxBean(MsgBoxType.REPORT,four) +// beanFour.timestamp = System.currentTimeMillis() +// val five = ReportEntity(System.currentTimeMillis().toString(),"","","自动驾驶失败5","code", +// result,result) +// val beanFive = MsgBoxBean(MsgBoxType.REPORT,five) +// beanFive.timestamp = System.currentTimeMillis() +// ipcList.add(beanOne) +// ipcList.add(beanTwo) +// ipcList.add(beanThree) +// ipcList.add(beanFour) +// ipcList.add(beanFive) +// driverMsgBoxListAdapter.setData(ipcList) + } + //录包 + tvMsgBadCase.setOnClickListener { + tvMsgNotice.setTextColor(resources.getColor(R.color.color_FFFFFF)) + tvMsgIpcReport.setTextColor(resources.getColor(R.color.color_FFFFFF)) + tvMsgBadCase.setTextColor(resources.getColor(R.color.msg_box_title_color)) + viewNoticeDivider.visibility = View.GONE + viewIpcReportDivider.visibility = View.GONE + viewBadCaseDivider.visibility = View.VISIBLE + + //获取录包信息列表 +// val badCaseList: List? = CallerMsgBoxManager.getCachedRecordBagData() +// badCaseList?.let { +// driverMsgBoxListAdapter.setData(it) +// } + +// val list : ArrayList = ArrayList() +// val one = MsgBoxBean(MsgBoxType.RECORD, RecordBagMsg(3457774,1,235,2,"","")) +// one.timestamp = System.currentTimeMillis() +// val two = MsgBoxBean(MsgBoxType.RECORD, RecordBagMsg(3457774,1,235,2,"","")) +// two.timestamp = System.currentTimeMillis() +// val three = MsgBoxBean(MsgBoxType.RECORD, RecordBagMsg(3457774,1,235,2,"","")) +// three.timestamp = System.currentTimeMillis() +// val four = MsgBoxBean(MsgBoxType.RECORD, RecordBagMsg(3457774,1,235,2,"","")) +// four.timestamp = System.currentTimeMillis() +// val five = MsgBoxBean(MsgBoxType.RECORD, RecordBagMsg(3457774,1,235,2,"","")) +// five.timestamp = System.currentTimeMillis() +// +// list.add(one) +// list.add(two) +// list.add(three) +// list.add(four) +// list.add(five) +// driverMsgBoxListAdapter.setData(list) + } + + } + + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt new file mode 100644 index 0000000000..9fb3bd89d2 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt @@ -0,0 +1,116 @@ +package com.mogo.eagle.core.function.hmi.ui.msgbox.adapter + +import android.os.CountDownTimer +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.OperationMsg +import com.mogo.eagle.core.data.report.ReportEntity +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.TimeUtils +import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat + +/** + * @author XuXinChao + * @description 司机端消息盒子气泡视图RecyclerView适配器 + * @since: 2022/11/25 + */ +class DriverMsgBoxBubbleAdapter : RecyclerView.Adapter(){ + + private var data: ArrayList ?= null + + private val operation: Int = 1 + private val notice: Int = 2 + private val v2x: Int = 3 + private val obu: Int = 4 + private val report: Int = 5 + private val record: Int = 6 + private val traffic: Int = 7 + + var countDownTimer: CountDownTimer?=null + + fun setData(data: ArrayList){ + this.data = data + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + if(viewType == operation){ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_operation,parent,false) + return BubbleOperationHolder(view) + }else{ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_report,parent,false) + return BubbleReportHolder(view) + } + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + if(holder is BubbleOperationHolder){ + data?.let { + val operationMsg = it[position].bean as OperationMsg + holder.tvBubbleOperationTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvBubbleOperationContent.text = operationMsg.content + } + }else if(holder is BubbleReportHolder){ + data?.let { + val reportEntity = it[position].bean as ReportEntity + holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvBubbleReceiveTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + var resultStr = "类型:" + for (result in reportEntity.resultList){ + resultStr = "${resultStr}${CallerAutoPilotManager.getReportResultDesc(result)}" + } + holder.tvBubbleReportType.text = resultStr + } + } + + val msgBoxBean: MsgBoxBean = data!![position] + countDownTimer =object: CountDownTimer(CallerMsgBoxManager.getDismissTime(),1000){ + override fun onTick(p0: Long) { + + } + + override fun onFinish() { + data?.remove(msgBoxBean) + notifyDataSetChanged() +// notifyItemRemoved(index) +// notifyItemRangeChanged(index,recordTypeEntity.size-index) + } + + } + countDownTimer?.start() + + } + + override fun getItemCount() = data?.size ?: 0 + + override fun getItemViewType(position: Int): Int { + if(data!![position].type == MsgBoxType.OPERATION){ + return operation + }else{ + return report + } + } + + //车辆系统信息 + class BubbleReportHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var tvBubbleReportTime: TextView = itemView.findViewById(R.id.tvBubbleReportTime) + var tvBubbleReportType: TextView = itemView.findViewById(R.id.tvBubbleReportType) + var tvBubbleReceiveTime: TextView = itemView.findViewById(R.id.tvBubbleReceiveTime) + } + + //运营平台 + class BubbleOperationHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var tvBubbleOperationTime: TextView = itemView.findViewById(R.id.tvBubbleOperationTime) + var tvBubbleOperationContent: TextView = itemView.findViewById(R.id.tvBubbleOperationContent) + } + + + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt new file mode 100644 index 0000000000..10068108a7 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt @@ -0,0 +1,230 @@ +package com.mogo.eagle.core.function.hmi.ui.msgbox.adapter + +import android.annotation.SuppressLint +import android.app.Activity +import android.util.Log +import android.view.LayoutInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.core.view.isVisible +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.OperationMsg +import com.mogo.eagle.core.data.msgbox.RecordBagMsg +import com.mogo.eagle.core.data.notice.NoticeNormalData +import com.mogo.eagle.core.data.report.ReportEntity +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable +import com.mogo.eagle.core.utilcode.util.TimeUtils +import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat +import com.mogo.eagle.core.widget.RoundConstraintLayout + +/** + * @author XuXinChao + * @description 司机端消息盒子列表视图RecyclerView适配器 + * @since: 2022/11/25 + */ +class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Adapter(){ + + private var data: List ?= null + + private val operation: Int = 1 + private val notice: Int = 2 + private val v2x: Int = 3 + private val obu: Int = 4 + private val report: Int = 5 + private val record: Int = 6 + private val traffic: Int = 7 + + //Error + val RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE" + val RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED" + val RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE" + + fun setData(data: List){ + this.data = data + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + if(viewType == record){ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bad_case,parent,false) + return BadCaseHolder(view) + }else if(viewType == report){ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_ipc_report,parent,false) + return MsgBoxIpcReportHolder(view) + }else if(viewType == operation){ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_operation,parent,false) + return MsgBoxOperation(view) + }else{ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_notice,parent,false) + return MsgBoxNotice(view) + } + } + + @SuppressLint("SetTextI18n") + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + if(holder is BadCaseHolder){ + data?.let { + holder.tvBagReceiveTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvBagRecordTime.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + val recordBagMsg = (it[position].bean as RecordBagMsg) + holder.tvRecordCheck.setOnClickListener { + //打开被动录包弹窗 + CallerDevaToolsManager.onReceiveBadCaseRecord(recordBagMsg.key,recordBagMsg.fileName,activity) + } + } + }else if(holder is MsgBoxIpcReportHolder){ + data?.let { it -> + holder.tvReportTimeNormal.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvReportTimeOpen.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + val reportEntity = (it[position].bean as ReportEntity) + if(reportEntity.resultList.contains(RESULT_AUTOPILOT_DISABLE) + || reportEntity.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED) + || reportEntity.resultList.contains(RESULT_REMOTEPILOT_DISABLE)){ + //Error + holder.ivReportImageNormal.setImageDrawable(getDrawable(R.drawable.icon_report_error_normal)) + holder.ivReportImageOpen.setImageDrawable(getDrawable(R.drawable.icon_report_error_open)) + holder.tvReportLevelNormal.text = "Error" + holder.tvReportLevelOpen.text = "Error" + }else{ + //Warning + holder.ivReportImageNormal.setImageDrawable(getDrawable(R.drawable.icon_report_warning_normal)) + holder.ivReportImageOpen.setImageDrawable(getDrawable(R.drawable.icon_report_warning_open)) + holder.tvReportLevelNormal.text = "Warning" + holder.tvReportLevelOpen.text = "Warning" + } + holder.tvReportTimeNormal.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvReportTimeOpen.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + var resultStr = "类型:" + for (result in reportEntity.resultList){ + resultStr = "${resultStr}${CallerAutoPilotManager.getReportResultDesc(result)}" + } + holder.tvReportTypeNormal.text = resultStr + holder.tvReportTypeOpen.text = resultStr + holder.tvReportReasonOpen.text = "原因:${reportEntity.msg}" + holder.tvStatusSelect.setOnClickListener { + if(holder.tvReportLevelNormal.isVisible){ + holder.ivReportImageNormal.visibility = View.GONE + holder.tvReportLevelNormal.visibility = View.GONE + holder.tvReportTimeNormal.visibility = View.GONE + holder.tvReportTypeNormal.visibility = View.GONE + + holder.ivReportImageOpen.visibility = View.VISIBLE + holder.tvReportLevelOpen.visibility = View.VISIBLE + holder.tvReportTimeOpen.visibility = View.VISIBLE + holder.tvReportTypeOpen.visibility = View.VISIBLE + holder.tvReportReasonOpen.visibility = View.VISIBLE + }else{ + holder.ivReportImageNormal.visibility = View.VISIBLE + holder.tvReportLevelNormal.visibility = View.VISIBLE + holder.tvReportTimeNormal.visibility = View.VISIBLE + holder.tvReportTypeNormal.visibility = View.VISIBLE + + holder.ivReportImageOpen.visibility = View.GONE + holder.tvReportLevelOpen.visibility = View.GONE + holder.tvReportTimeOpen.visibility = View.GONE + holder.tvReportTypeOpen.visibility = View.GONE + holder.tvReportReasonOpen.visibility = View.GONE + } + } + } + }else if(holder is MsgBoxOperation){ + data?.let { + val operationMsg = it[position].bean as OperationMsg + holder.tvOperationContentNormal.text = operationMsg.content + holder.tvOperationContentOpen.text = operationMsg.content + holder.tvOperationTime.text = TimeUtils.millis2String(operationMsg.timestamp,getHourMinFormat()) + holder.tvOperationStatusSelect.setOnClickListener { + if(holder.ivOperationImageNormal.isVisible){ + holder.ivOperationImageNormal.visibility = View.GONE + holder.tvOperationTitleNormal.visibility = View.GONE + holder.tvOperationContentNormal.visibility = View.GONE + + holder.ivOperationImageOpen.visibility = View.VISIBLE + holder.tvOperationTitleOpen.visibility = View.VISIBLE + holder.tvOperationContentOpen.visibility = View.VISIBLE + }else{ + holder.ivOperationImageNormal.visibility = View.VISIBLE + holder.tvOperationTitleNormal.visibility = View.VISIBLE + holder.tvOperationContentNormal.visibility = View.VISIBLE + + holder.ivOperationImageOpen.visibility = View.GONE + holder.tvOperationTitleOpen.visibility = View.GONE + holder.tvOperationContentOpen.visibility = View.GONE + } + } + } + }else if(holder is MsgBoxNotice){ + data?.let { + val noticeNormalData = it[position].bean as NoticeNormalData + holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvNoticeContent.text = noticeNormalData.content + } + } + } + + override fun getItemCount() = data?.size ?: 0 + + + override fun getItemViewType(position: Int): Int { + return when(data!![position].type){ + MsgBoxType.OPERATION -> operation + MsgBoxType.NOTICE -> notice + MsgBoxType.V2X -> v2x + MsgBoxType.OBU -> obu + MsgBoxType.REPORT -> report + MsgBoxType.RECORD -> record + MsgBoxType.TRAFFIC -> traffic + } + } + + //录包实体 + class BadCaseHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var tvBagRecordTime: TextView= itemView.findViewById(R.id.tvBagRecordTime) + var tvBagReceiveTime: TextView = itemView.findViewById(R.id.tvBagReceiveTime) + var tvRecordCheck: TextView = itemView.findViewById(R.id.tvRecordCheck) + } + + //车辆系统信息 + class MsgBoxIpcReportHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var ivReportImageNormal: ImageView = itemView.findViewById(R.id.ivReportImageNormal) + var tvReportLevelNormal: TextView = itemView.findViewById(R.id.tvReportLevelNormal) + var tvReportTimeNormal: TextView = itemView.findViewById(R.id.tvReportTimeNormal) + var tvReportTypeNormal: TextView = itemView.findViewById(R.id.tvReportTypeNormal) + var tvStatusSelect: TextView = itemView.findViewById(R.id.tvStatusSelect) + var ivReportImageOpen: ImageView = itemView.findViewById(R.id.ivReportImageOpen) + var tvReportLevelOpen: TextView = itemView.findViewById(R.id.tvReportLevelOpen) + var tvReportTimeOpen: TextView = itemView.findViewById(R.id.tvReportTimeOpen) + var tvReportTypeOpen: TextView = itemView.findViewById(R.id.tvReportTypeOpen) + var tvReportReasonOpen: TextView = itemView.findViewById(R.id.tvReportReasonOpen) + } + + //运营平台 + class MsgBoxOperation(itemView: View): RecyclerView.ViewHolder(itemView){ + var ivOperationImageNormal: ImageView = itemView.findViewById(R.id.ivOperationImageNormal) + var tvOperationTitleNormal: TextView = itemView.findViewById(R.id.tvOperationTitleNormal) + var tvOperationContentNormal: TextView = itemView.findViewById(R.id.tvOperationContentNormal) + var tvOperationStatusSelect: TextView = itemView.findViewById(R.id.tvOperationStatusSelect) + var tvOperationTime: TextView = itemView.findViewById(R.id.tvOperationTime) + var ivOperationImageOpen: ImageView = itemView.findViewById(R.id.ivOperationImageOpen) + var tvOperationTitleOpen: TextView = itemView.findViewById(R.id.tvOperationTitleOpen) + var tvOperationContentOpen: TextView = itemView.findViewById(R.id.tvOperationContentOpen) + } + + //Notice + class MsgBoxNotice(itemView: View): RecyclerView.ViewHolder(itemView){ + var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage) + var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime) + var tvNoticeContent: TextView = itemView.findViewById(R.id.tvNoticeContent) + } + + + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_bad_case.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_bad_case.png new file mode 100644 index 0000000000000000000000000000000000000000..ac98617e0f179fe1249feadf4860a83d13886f76 GIT binary patch literal 11897 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_close.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_close.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ad6d51debe347f6eed1a6b4ba179dd9f05c133 GIT binary patch literal 24088 zcmV)kK%l>gP)Pyg07*naRCodHy=$x`*>&G{-sg7Teogl@XE+aXhVPdoOG<2sa`Z@K*@h9tiUH^G zC5Vv#aS|gRf*{E!f=GY_h>=hEAOr#O#enTZmJ>&|6q%ABOR_{oG)0RXa`>7d=fUae z$MkgfeVliGzqM+gQ|I)#ukL$q4=GmnxwUK8uBu&Y{p-KhUVGQBX5;%yV>X*Lk5dfI zW^;C&=lgCvSLeI2(ub|{VFB~$Pk;JYfyH$XRmJaR03NGA4<*eLDzqPn_5#kAzVxxR z_kaER3v2WDs`}NdA6tv0kAM7ywfUd=)Th?wd;aegupLQ&dkOYYW?RSqG8?WC7l=J7GTFR?~ZxwLgi$FV)0QVE_Y3$nzOm#-u3q*AQ)qyh@ z+?>l`{LI~Xy4=rr@YsEM?(6j5S^`ewy?TD0*Y97Mr|ZD018y&{?FF>&CN^6uv?A1Z z!umnMRDe`KQ~*@KQwPiw!>zS)7>zEh%`bB4cJIu=Q}SG2>ut{S3jjM6=nCKp*b30T z*Fd(f;OfFU?esc8tz)LTX%kHQ0cjOL0%tPW4jGKcyK`AgE^W@!hq>?e?X3lnIvbI0 zx6jU2fhXYh16l!@*DOG*o6U7h_D*H7BMI;@LVnmXtAJVuCa+NdwF;&>Bh`UaKvV!E zc&6h)-2ZfPwp!=*`RQ;;E|bZ|(ssMOI|q_=x!dZ+cB|d5*4w%6^k)Th9RRlqwpF0j z*{p!90L<&`2eNk>z?KANcpa=n$?9wz_=oq%h#m%+9Qv~?ic%Upgp0PK+i>!^ULn>qoduT+?6 z9hhXJI*;#BR@9YjMU}avj)tNP$ z!&%F94RkF4w+ggY#b|qhOuuYD7JDZHY%V;7behY90IIOleqb68+O2g!l7R|{Cga_f zz)8TIiQAq{CjbnPO}inJ*=#bG&8)W!tmbe5tY)(vz-qQe017a*avR7600myVvoWoM ztp&TS0TA*45l-DhOR0$Q-OjfYuxf zwAO3{v;~|HZ;rfr0#BgHXjo425@edpw!p(T>+DQP@6NWm=P9#2>)snrHIoMcth6GF zd3;ptb>hHU1=U`FQgOxX?OyG)ibK91pfq(dQNIUZFlm#~v|Yd?umlM%Q-DbzP1|Gg z+W1zvuidW7RNIY4myr$tO|Y>9&`bcjSk3<=n3^(`O9i4vV?<|PYu3V`x}HpOo!gUH zYtoqtG(m<-7G(rh0a?4-nrJQuLm3NTVJZ&;u#M~EsZM^q6?qWAPMW<|1U8r4u_O)) zssgBbE6)~Q@u4(%b%qj9V?b2cX)+d2P1tFOHUXJnn&30bO0W*5Ft-6xg33G?itRT0 zg0ZUYyzy2AtZF!oV5={j*3E@-rnwD}g24dXq{-E5+ky*%12D}Arf}M113bpIAZr4o zQL7h#Yj;{a7Rh2Az_tpoVj_zVwwHN)l;BzxSY3DznXZGXu#~6NLDxC2ce!j`eYsT} z^Aa)`oNJS}H=x3g0z{n-ph69rxd{!c4uBF&(Wu?4@~dA{!tk*s4J$ zz@1DuK;Q&tP8-A&1lgGFlGZG?$A!gOfN>0iwI`EtVX$H%M6JTqFR)lqw^?smQjZ3YXK7A=$dv%r?4=3#&Aj;O>0#H++gAdLg z{isPtbH{VrmYuML0jwFof`&SP3(zz)dYD9hq*?*0NlPv2+|zc0uS5vAAf5LiOKA?_ zGzz2~n$tM?(2Gc|eFk6p9(w$y=qJv*&uT|fxn8tcwwV1}bS@b@S3tYzntb;(c zpXsanQlpJ_Yc$YjYPDo3*F3JBj?VeqqijVB4Ny@aN?4z(N=R9EiyT6NPm+#a`!FSW{2?e?f+D-V-^JB}=2rm~(Q z+XASTU;+e~5pDuZ@Da`yzzI;vS^~~>f{QZTf4kK`f4+O>?76cW8=Dupz5eBP zr~5c2>?|1Da1CJ2@+fbHKxQ+>$jr7erQ3jF*Y#vPx-l9KZtd=F-Pzf`w>`Lfm$<_O zFu`QuZ?S<#7N$^80WO_;(2Xq=WU>?KDX;-qQ$Thfz-F+QKx2&yFqQ--lkRvg_UfJO zOzNib=K0}to!@m*;Cd)v9R*Z%e`?kAje3)I@uli4r61KEk1=~;!~hN80xLv9@!e@d z1)!Q8o_v5c#i42-Zo}GD`N#|N7GMG>!BXe0Tt0j5+?6N#XV1RB)9!u*=E)AjLp@4| zDb(B^6vR%-^ZG>=43Wihws0P7Iy zlCj!Rp0*>B=#2HhR@qD6t2=B@_A-s@{H~J#*RcVs?x>e=LWxhUf@*N)Lfg1hF?|`6 z+Qi2iK}i)$wHjTCN-*g!@lbb~fM~K?mS4ec-9p zzVhVLkDa}E<)htB=Lhg4&K(9G$5&={Z!{kN$@befzkKtJ*WSW_V&OE4Ge87OffHH{ zW0)3@2`v3C*Nu@32Ep33Fqw54#8&|qewiTCJa(p(so1O2>y8J5tq4ujO=ExO&ZO>l z9Tr><<8M7MuJDyuaJu_;cLo#p46YgP#ePpv^UnVA3y}y#;1ytE~t!66@O}sV_qC|O<$`q z?CK}gSqhuMkb`LtmU8HUJ$?WT00lz{B!Gths;Sd|y8QIBS1w(;`V*~I`-2Y-fs;QH zFX?NyZ(sktTd%!xlZQe_o=1#0yrxiK2_*W7^t}M2?8Uk@q-ii-W-t7+MsHL%jU7DD zdaJP>k|<97NrLOhz&b8ab=t$uWYov7jd&dJK zfP%Tg1O`JjYzcO*KKqqd$dv z)B{YcCp{vH4vy*(3g{AT>Na30n)MDn=+W%&5G!Kc==OSNdr!RggFoEs^?%~@VQ~Cc z^uf6N# zJZEN6x23h{_EDEZGuA$L9 zztQT+Qf}kKIuN~UYwzjzeBh}w7a#j8_#zo!I_jOj!^;z4+uC{it$+O5x4-^+v>s)w zRuiB#hq70@F&)ZOZp&n88u7ny=w&Ya_wf`w73Q+VI2sM^W3J-RmpIqOi-T$D{wct! zN9PaQQalu}4g!^IWj9R$m2oOV3hSAw1}cD4Oq_rTKPpXMKk_55>1#9HDZnzX3rjuy z{6~Jg)9L)^I~*IwQoZqb{JGa&`pWN*U@yZDEr6tNMUZx&V{abY16z;!U+ya=GtA@x z;Hrlr1XsQL$G*h}1=o>)wO3f7^!;7lYPVKFW$RBzeLQ45CXV`?sRR`amB8u*sN6P; zz*AU(iPvcuW<@1?0_(BM@7}!f?q~lkj=6d)TKg_J3E;VY^EZt&C52?bQkj(R%gbx<*~03hMGWA+%pvO%Y8pB~)40K?*M@aw<(`42z)_|wn+ zjX!OmQs&;X_pS_-MaTr%C?jR1%#@unRF*_x!V-i`d4SX9;Q98!rX`*aI)jhUQ3R?P z0HE$1wd=SzhlXo~ytYeS=WefJ!o1bxKwy;v3R}5dBI{9sY8bJxsxm^si2881(}~du z+(@gni!W9AR4YuCplbCPC0+>(!8Q0br)PLFcm=uHd*(x*_~^OKi~lwPJ#>9by}xJH z+`BSR7Rp4~D5H>-^5OwhhV-KE3$D-wI#D<3NL@LqMBS-F!DUa0x^?hC8JVIS>lipl zuKOx#6`3NpfJ#J13y_Lr3ot8ahq4iMD{k;J;#BRP13)l?IOqb4pHEc*m1Zu@pRd#i zuxYRrRNs5gM?Ued^!sQ2!a+Ckr)9sgP$tSI869^a00mnGi`l?g0T=RC_UZu5gih3r zI#O3L2mo*y#8#KVTr|YgaRJv+S!-Wl6=l_tx-7&)N0l)R%`;i~~^WE;okC%FUf1MIgCdx(`DJx|b;6jG$z@^N? zEZR+G%rFAdjN%4u_R~5DAi#wV!<_+Kb(5&hi|p%ID0%DFdjhMlRXI^%D^F54fzH+< zjcTi-t0rD@phLNZw;tU!J}nui%8){~{vx_wm@0fMpFlx1!*;fN@BP3Jev)YN53Q^8 z_w$HBA)Am9vQlQsPNpKZH3ye6wxta!un>lGh!vs>dpS}!!%n}CuF#pfEB=-`t(!#U zt)(igRWMO7vQ8g+0;^uQfU2-nF@f_wKy7r`YF;QIsvZGQIvHZvi^E*v#sn9pE^f4P z)O9{1uL2c*g8sv^AN=^A`97%X8d#rJM#@T=5z|WM5?ng*$hJ82MdpqWQ5TLH3EiM0 zb(K1sw2Qx`Ni6=By57$uuCEzGDA(;MNG!-KWxRlFB~5AqeIvP;K*y(RvmH+reifq> z>`=Dv&u$uC5YFJI0Z?OA_)!6>Fnm{5_7%cn*n$b@^|G_8w8)tvEe*N#K50-#3d+PZQJ!vQ+ zeXexiQ@+ZYd}MEDzPbo~0I=fBJG!L!Tl<;By&U;3tR2*Mk0_AXw&dUo^tV?ST6_x<(JB(Qn@($6cy zFpJ1EWNT+VvR39Hd*rV!966$H)RDT<-%@w$OyX)Qv0kf!k%F1}zWabx-?_?Gnn3s4 za@fxVYQtlYo})gwv2Y@pkRYBELDevvU{pN;*XeC^uRitsU;a}ar>YD7LDIyzl%cW= zpDMuQgX?cu2kIpJEgbq7rMr(wRM%Fgv=R@?T1&uMhdfVOXDgjLXL_l(0*eWBm|D=Q zW7EU0;)W_4FBPXV2}4CUO;ZOG25WVne&0ua1d#oy>ZVby$Gs@Slx53qF`W36FY9pR z!yL~2Ex?729Qv)!;-!@}CQ)6lI`Zr4y^5VBV3h-;xV_k_IPA{!;v32_wh9`J<}2`z z(1J|laAN2-2kH5?Db71jN>DR>f4QFZpLoyv9`AO#KT@v!{q@61Kv_QV%yW;!TKZPX zJ7gWQM+Y{T)JY7aL`PbU2tlB`x=B>GF`EyuEp=|K*0EMGhpV+-3#@vfRkm7V@ zw_2x%m%!$wD}PbhrWuSDclx&iE#g@PVAZQ~nnZMGD^Xpl)79A4VOXnP^Et2zl^w)Z z&P`R=%Gq9Y`eF_RUU>7pKdIHXX*7Y3QFl0TP_Te0ks-lK%AN-(dp?{*72RYA zLX!xnLU-tp*E-Z`=(b`lb$%GuDj2fLb6~Bj|3PeJ{A12mfId*q+USUHBnu$;G=>v9 zPTe0baQf7AFJ6A4-|h5&Y~6K_BX6OcqPXg;6^Q1*A$u8D_XBOE!0G{q+Rp3MipF&l zyz}$VZ#?U~xQF?ULnoB2G7f(hnHTwM64i;iiMPhpRi(S)$mjeR+1*nQKOBX%_8gk5 z_dgi)BN*CfY&AsebmD~jPS&v#Gv|#Oj$5PyhM~mchAluE8M6_?iJQz&#Smg9^knX- z?t~kQ;l$W`MBC$$>|TEInV&kel#WEGhtI6blx~)#yaPk z=<@y|uffKgDa;wyowVs&n^wLSFBB199p9m1otm#TXqJga<`=CJQQtygbu(BB+Gk`e zW3?qHTj`zKHQ)ptF*yfu5#LZ|R)To%kGmnXK#hFyp=JWFzWcqKjHP*|T;n*``+^ER z&6$cyDo$Tcjy%xMYoz>u)d~DOujiln3p2}gc|`-rDvPsU0!_;Ryx zx0i9N)&-h;*%H+Lj)%NE!fU%7SZmzS>;+qOU@Oi^HY~o0=&W<$ z^5s8UDt0pKN--*|y1*~|rH`HYEC0qvH=lXxVyDl9whwdNqIde|VyQ3@sNnv{%hQ*9 z-mPy8Mw8jAuiqa3lh6Fg&j0i4U)-?-3ePjlXS8wd5>6vyad4a^*lTglxZn}~DC_HQ zy!6|~5YfSylVUwus0`|XvDjuP6PATZ2w^S8%NN$-Ek@?LsQFra$RkES@F^GKs`epX zf38_xzF4i&eZVT?t%?~Ojqsc<4Vu&K0TapcGV(4lTk7J}0nC2RoQuS+c&A-ch}m<3 z&oF^xhaK1K<<02KH@c5M`Sb=yymz%C$FZGHb?VCVnL5+&HvgOd{HHJe0%kS|Dp0thJ+yG>LxWyLa<5F;PLQSuJzZUCf~Qb*J4S z6n=BY&Pit{b|Ts3mSDC9o%zK{IvCj)b1C@Rd!|95b6rP%vvcXnQ>PQN3hg!;|HXg& z$qNq)Do;fhRQv)!1xRQn^4&&mGFaJf+I^8<9ZSnB_J8uvesJS&{s%vO0fph|s9Sg< zO*8vF3Fa}5*4j zVR(VF(jPeW!!l{lNuPi0G7o0+1NHNtNE&6Rj*q!kn*cK#J zzH1lPxK8u^mUCD9DsW{UKqS-O&-~;^H{So;Rr^c9kzd5XzjH!K{ktfP6j^(YII-&o zT$H)8S07X-b)s(6k-9=>p*wWwi^D~)F@3oc1v?|Px{vo576H>zomI?;sX1enLaysW zW28R6_~7?voJZX$ubrLP>A^hS7zi7Ib}milCKFD@li*BxO{XWe!!y|H(v>Hls$b_g z(+G?u)KDp-(fD_M{)f(mtvTX_)T_#mH75?{DS6dp3RAiEf`NtkF_KSGt;?-rC3s9kW@^$J3R~{ed_JCM4hYz+W`(P$@p-$8du8g`0ovAym zjxjBM>Q)_xuF<)=7X$J2kIIQJk@$5rS^}2-)v6iPVXFs3<1-5_vxBAOG-^gf|YqpvwdSYZWWFTwF)mwLpvQ zRK96u^O%=+Temxo575a{0D^oyrup$?eDp(4GfY@>NIOl|(ga3Xc*KIvbR@ElVNv#& zi(oBZ_zm5Jjx>L^;_ZGj_Fm}|-Np>mG8G?Us5$X525;3Iik*5j16Xzcs=hO0S2*ra zpiNIh{m~576w(Rcyl5hxCoI^@t{f*l%lWCOA{8do5H|eM)hBi4Pkt&PHL5Q7J$CWT z(t}gKw|d&*0f_3*P(FGMaG1x>Jgiilx(<@OT$;E@TekYK%JWu$3Ug_mm?7`tg-yhV zI-MSio%qqPRh_Y_3wk0?{t%0@4;_TBi%wEEp{vlDx`U9A7~Is{=RsMLu(Z~#G+eT6aU8MD8{Q{lV= zfbIO{$DgZL;-u0ke*YplYPH{W=0GSQ0ud@b^ynE##I|b+&&${H&6}6;c(&)|$~Nb` z?|8~-mBN7+T+oK5GJP)0BK41xxu!-Gf9NH2kaLGg05L<4x>9GUJ9LOH)v3CzJMp3S zFxl(P;i{i?U%0{A$3S`l>C$xF432!0dl)=Q#DNe4b5RinVeVh1iv?6PS&3Z{6ESv` zlUX={2QAoEyW8n~^r0oQ?+J?NF+GMHtHA10{6 z=OQnzAEpoUhw=hUal8k+AGTth_hRBy?hW#TUJ=veas2P%@_f@Z0pprewcJ4|zZBK?A;?rYaR`RtH&s7El8 z<#q?7+28nE|J$7}efbqy_V|sJVkueI7&usLE>fQ1aEsS=(Zv1N|K(pl^B4a0AN3^? z#9_TSV=3TvP$Q$!aV&zh{5B5+!bT#F{Nq|e7qi({sRAT`ew=ShfK{LZ;h00_z2~6- zbWBz`rVB;Wh^2(V#6k>2pnK0?saR<+L4qMFqwu9udTt6!#r3ajN|x<#+6j>P5y=Rc zIgZsPsWhnr@0vN9@Sy!a-mywO>b}n#Kk}a$Z_IJT}s%YY?pN~R59 z3$l*?mUTzDZar=J2VG`odYhZm;r3Qo6{@0D!5X>dhc3hZIFGX}L!T-BW0@I9uWiO1 znui_qv#Oyq6?Q5t0fK5VFj~^C{b09|)`+b*iEj)q(Z>={25*@$S~Lf!Nb^7=NNH7y z&25^4ywfG!p30)=T~Z-B&VnngNw5~_pZjlkD1HJez7ghbSc}K1 z`f=yD9EbaHECSJ*aK69xSAWVkm8qAkC8(@qGMLv`zmQLvyqmnU{JXyNQF7G@GAcUb z26MJ)bx0p{=v3XRV|A_0i~gO^Ijor203-G5)-g2qu}Xm)do^gDzqj4orT<%-IvQ%^ z)4yW81)xG2+TirB@`FbKOHr3;F}{xJ2VAU* z(CqT!wpDGtz*ZJldOVKI)_Z>Gil?}tE|p%i`cSHic^8Oy|Mg$^WN57Ram0ndefDTYyD&td6ghjSxhD%A*ubeH~e5)RyW3wVdNjhEAHz0Tl_ILPuCG zKl=la(4l^oG{tVf6>neQ#3#VQ6oLsGdB!-!3NKpU*D?%KSR(FLe${bjL{lS1Gx)W4 z$1QMS<5v;);KGDx(>Tah5IZf=K@;sS_r?9VW4)_8<^u#UX&#!(n5D7{($U zcUqxJnwn^PNr!m^^<<$#@_YhFv!<>OJZ$A*WvcS257j6?H5gToQwQLxeP-yBxn%ib zmJ(FSO6;u2ILgJj7Hk&B&#xz-EL9y3wCme(e04q3r@5$;x{fd`=u9HuohmA}Nu?jbZ(&(GHtIU=w!jNY1h1bzuv7L3ltF7G=Sao0-aSd)+Ur;*MwN}6A@ z`DjfcGFT{=bY&j(uXqR-Y!!0!wp6S#HSLXhOy)(p+V44i$lR63u=Y4JIIqRZx#rjB z8YNxUJjJjC13|phDJ@iwhdnMyG7KRN!PFs)tb;>EwK%NfUea-QTgw$u_~{PEY*OuH zu+^$}O6POq{L8T~hRP6X7_3km9}2|JLM!3GNBDvAhWSJ{-4RGtUe#}x!9r_PgnFF~ zEydYS_m6N01*`B-bY5R`cJ0QU$*r4JU!nV|s#(q@*WOm{W8_)m-S58A?)UIJql{L< zMBI8+-m+}h&1Ia+>(@;nnUssh11Wm}-7d9=)8<9oar{euEjD!|L5L}84%n%L%oI(1 zuB+KXgHA-{{6}D*+(oIBBT5Z9*k|ZsEK5x7$ykd%Lch|Ir?I!4TI7ako-c;5qyiCb zfpSC?N$Jnao?b%5MRlmboFP#0fA>HApIg8ATb~~>T*O|4d4(iht%5h4ci{GXcjN4t zjpl#*U;TTVKk$k7JDbZKOy%4Gp19irHchI>C$p846$V^f+CnInzdV+wv2ek1V_G52 zkS#B%q8`sy$5}2$T0{wIiW6V@4EL(+;qD`RCv()= z0z9I{R+`ES-Bv*Ooqzt7(Qp0s7xKZ+Y+q#b3099-f{ri z>&`{s*|JOwpRq3F#4%Ova#fVQ?&`;wH;ZptbFrGP;`Egc)wjB3QP=7`b)Vs;!_;KX zSPqx*9l}N@Dea(x16)WHuCgT&62mX`pPPaFw-}0-H{mP zOFpF)Qv_SFOZQan;9;H@jKr+z@c@T>pY+@to22tvW+re-VAguLxZi!NjOA`?cUlYA z+sSL8nbe&D1@D&D7VO0aWz#OfD$jmE$B z$sg*V; z&5KRD?Ze~u!1EoYKq|W^I3GF{{``BN?EJ0&^sjaj6smF+Bx;`H)H$hQQoXi$X1a>w ztF-&V#=31Gks9gTE_(C&F7B(YZ-ynSb?iRTKkDQ}FTlwU4J=2g9#~o(BBJ`j3mLZ? zokugkA$*ylU@Db9j|mtgDw=?rE7`KzxN?j;0$|=4hp`=54N?F&- z#|tWtOpuv6%_VfQdcifiyRV2CSXJ<9p=x`rjcT_s!7NVv)*Ld0($b<|;sy3vQk?F^ zoXm#XJCCkaNF7w504u&t_&Qb&a9PvX?`8lf*Ora^vY&$CGsQ82$`e$_dv3M^Jh9IG z`gedr>FqW^r9>zsC}~Ue>pm5E~v*u(EpeoU!}>Vs}Uv-%aIfca;3)v=otu5)5?Fr$b;2GV@u0dl8T_8Z#2hh`zC6>p@T^#(#x` zN*&6RU<1S?IW~dodB%03)U3>bm9YIvX3W&kM9~Z_VzuG>OX#GmmCo zIB=>XE1*cNRM2P~LiMa@+7e*=c_2sjj&Q^dTSSSIJFO3SE1W&9hkR)g+>$^QaHUSyOam(f}juk+8&HC|kka7+4{hjv0r|iE*&Ae>tC_u#v{pM5v%R4bc z9dlQqa|caT7;sm$h!rtYw#AZ|+S3%a_>Q%&@%t8`-K{hr`9;tWS#rUs1ogot6E2J? z2gq{@0_3HbsdxacG27j~^X9pWSIV_dZ5_4XYToq%5Q4=;aG6q!tmFS8FBQ*jK@(-m zdDMr;d(Or2nYVI$RWPsZb=faCRAeNWFoPG{{ z=ywIWsQ`3pc$VXWQ4uNV(jp-Kx8J(8Pv6{0h%e8nUS*kR5t0@_DmTCsj1tcyRrW3f zg~}!!$5?ZY=T9(=$H(1N$4A-fcmY!bUomx_E3RK%x11-hm*+pZyI+51b>Wr0Ep!h30ox8UglQp|n&UISr-61lxA}K|xK)M2&d1X6ITu6Ej zz5=iW!2&?#Tmh2m+;P0;<&+8H1X^6fGJ=?2)+Ntn*}=&AnH`NIcjsocPQ7Q|@%)|L z3tjl$gt}2jb)AtHx0E&@G=)DyN2KvpcumxLz)Lvg@LRS>uHlUl{~LaYtf7MXUT&a;P)6YYNYDSvHTQ z`ee#Di{s1r%**oy_$(LKsq$mnyv$c1Sw4^X@(W*yo;M!A6bWm&&L!cr*bX>ksR#ZW zI?xEJ6RJ>jlsZcts!Me$F{op89gKO$6uHiFi0Ai zojy~#)uQhpwV1$({#E!`UI5R;#}=@ej@l&P$kQZx1JZ6|`u2@C&#-aF^Pkr8tN-u+ zx4kyEB-5=GT9d&S1bJpzQdjOm1hL{CivrwY;MaI3Kk@Cjl@mO$_0K9MG3{q}dCe zN4HuXbR9ZZ$L<3Q^{9IbtXRi_9n)fJ$rPGt1hs@5=CLeWhPam{U)Sy$>}-9}Yn+tYvitADUn9Pq$ErTAo^ z1W%f@5bIp=mW}eP-7g@*!S{FpM!rB1O!pnn4Z1&nX+q-|%39v^ulC^;lzIBE+)RwObKk>BP1&o1x=unb=t`Z1?$DvSw2JChfE6E0-RG;yqj?Og zgc`)mYVGF0s>iY{q_;m0IoM}d`B}xsVmr{xh!`r84m@(0@FXynnTk~)%RIKJ{H^P+ zZLL<|ShrQgeBp|ufBiT9#rEI-KYsHLbJO!^3J?pVa@AG zj8$i-C`WnEW%>M7=P&22@+~{!@&Bd2_YZb{>o@+{AZD@wIPs<^b@ydH-ihH%)X;6# z)^)xt-QPU-Pzhzv87pVK1}3UXrPWywgSu3wX_X|7^s$QmZ4qh)0~@vIft9FZDB@TK zw0s*nnu`~Cje?fp2&YW1zttIt-r1-zWYQ!=&s53WzVE@3X4{~<({!1FM3GBW)ThA; zBOzGUyy zcRJm8@fOr1fV_;L;TKvIdvS(5jk^P2uFZPv(k14Bx)K2#fvNKI_}tG%u_6@R?gkr!pI z?5W*=^ID_O5f`y-A3D;h;aYqImuc zRNTtRz4Am<-l*#I=8ZSLe)WlGoa01im$Mb~hy*D7LPQ*=ueGwwGa}La$)Ec1?!Wu*|FyH8!zKR8c!HDbe&O@~a`boq z&fnj?cW)bUun3mLkKyDzn#^d!#Ca+VG0Ix}syrux(F7)YvGyEs6;rttS%>_i%u$~H z6%V^?C0Ni;TKCkGq+y=A3{dekL!~pG@m4)U*Cw{nV5j4k>! z(39?dZixK1ufKl&%DdkE3POGMka9UvF~yD$`GazF6@260S)Np^TnkI^7luc^&J1Ny zWC?YITtk1gD+-pmGI28ilkCDRR{$)4qS*HC?(`r0ySH{6Lpm8Z|6xVf% zB(DWaC6ELad9s)J69J z(m6_DL4`zI#jltZDV)j&L&yw%*8_zzLB@;^TZfX{bgE*e`MJ)t`(vpX10|Isi1%FZAD!5U_xggrHh}1;~tdP z?w*|vwzrsR{tOo$Lq(vUFDDvw0B$(%nnRfitnqm=q@Opz)XH%~%&x?ZWLmmq4)`0d zzx?GVo_^o40ZXH!l;(&~nJNUa=&yh)z?B7g1`#7}4l|qSEb!F% z1t;o1>P!dIohfFJk0{Zw!wj}*6|VEItlSc?ik~&^zZ|1U+qcKFyS@HwqZ;Xe<={a_ zKS7;Asb~gk%-n$i9G&?9Rcj1sWyJ~9qXhD`-|>|A)O7CLx^eNbD^GpCx3O{j-`7!b z!9ps`r=DsDxU}Qw)sHe5Dx%#HK(MU%f_!a-B*N;tV}H>t02~m{|40AVuigFZ@BdLu zUdE^2gTa=LqYecGfGa?gATw5Fbp#tFqUB0GEg$7f2Oz1S_2uc|rhb5I=~T*~x2uY7fzL(vC}6wDMu6harFlhjS< zDs-mq)FHam6slWwtgh9$x)%cxf`X~mbv)~)O>$gdIBl!L&Wv#g|=} z!)AMzm_~=Wj6gYt9IQ$SV;T*?TwoiM=*(>~f4Edj8x?=9v^w-|c#4L*gZ|xHH$Hpe zv8z90Wgd2sAu?o8ok>v1My_QpZ`povO^|zFAM>m}=x{F^xvCE{iUX@`d|(Sv%=20kQ$)AgIbY7x2MQUK3E~A<`+^{0SIkrX^x23|O}JS}RjzdyexE zx3U$ePo>46x7W$9wJ`cz>Ihx&+@)!pz+UQ8fbn5nGMW7foQ*b?%wVU_4BgYSX$D`# zqOJH>)@un^rJ^<+*O^0G1WedE8P0mlfJ$Zg9vV-bBjMRZ6;dhQEgbKY0&5x3g|YY; zALq99;aDJi!lpC05nyb#uf6)xg)`?aev$ddKT)p#FzW=DYN?Q*k^%%eSmwzF?zW*r z4q29%UsJGE%OXVv8#b17!nuby!iE-SO&>K3<9e_@~dJ%M{ha{dRUbzppoTxc%nGESO%F0t;vyV!af3rv+%<$ z4?t^zJu!RugXFx1Wg@4lkNf6JJw4A{n?SxdlqH8t&&W4?D;-B=Uf7BjA}&cV*UWg^ z2;H!shaa|@JMDn3gY!%crv^o_*kJ}cnV|9H}g1RXIu}zYJLrBVx4OBS=?*n#^&OF7JKhYAvo1vUJPX5Tr;>C7%BaOb^pq` z-De83ug3|rfP8<^I&7V}Fzf7$rhM2n9J%ojAIoV;q8Ugf8hprpHtI;Hb=Klhb-s6) zO9mr20)t^Pf~hb8e#YH%wC~-$dGXHei@$r};^RMgpU@s4qbMVhs*+qPY6^x(fMq`W z(Cq4-UmP}X#?mERA>9CpXh)+G7| zVJuKM>GW{gq4LfSj@bsiF}LsB*BUJSgY}y2S@*(P7Vh^iPdj}`i7{I3?wP60?Pwu@ zXxgSAn~$x4^i|f%Rv}LWH;`#>M*oU6Hwa?}T_bwO=#Jj}_DdJHx9|Qzy@C&$_68Tf zRBA%1o~DpW-s4wHn!7EN+p?Qr@mJ-^NaYuK70U(V<@u{q zQD)a)efeU@IavxXMZYS+qs)13QU~e+was-SbJf{OpE-1@MVf}L)w#MC17g7{Y0(N> zt*c@HOPlDPl(xIu2tG(VoIxk+^U^>4g*X1Kfid9QsEOI>k`bW!U1wMvhr0LYENgJw}s)j?Lk zMqcdG{8hyxQJpJK@IXMy%H&^VrOcFFF@ego$Twt7#2~iKhso4Q=ms6xB2;JUE_8@4 z)oFy4(6PE!=cNlrEQpCx2eDE&g9S^e-PjmUyZ6R{+&XLVIXj{s1k|Qu zqM|Yufi=QwxV&Kk;ZXW~8Y6rwhuYaiE*0xk>I?88U;xICRt!G?=9);wD_{GQop%bj z7DB3lO954YNmDrABwJKfKg-RRJbrP$`Hmwe0#wLIS%u7yoibFG{*)~zrT-GPLgq#O zp$l{(_|#G8s?wc0G$(Yr!dB{D46HisdsTdXkA=eO=I~IgwbVjP)DsFF@yRA=7AE7V zpzWJaPK%o_EEV)TifZ6fLN^HL#@;0`TU8!5TxtWB6TC zv`^b)`mGng*x9~!@3V&y_(_*p2F3y~1vu;0<(LBneaOly3uU5gLT1P+WENl&P$^So zOMqigvdzi{r(Ti1Vw z2R~XQht$D|6{~~gp!Bg-f_qm6%0iihY>-bf6g|Vr4jC4C@<99k`&`x`dvuV1(qT7# z)eRY|Gj*p9)n(|k))HLjTdlIy>U}Q7u{4J)K8j0=tmQZ@`wyRJFuM2lZgcC*h3Uo) z{&$bc5S+z>8aoc3;1*zVE@#r91Of2y0ASWt9&*9zM|&!4gu3CuzV# zX^;6tZC9U);S2a$b|DaZrb98nMZ?8DjRYArckC3jTn8AkDPXde0VqKw)B^1Y_TtMg ze&Lm;-}kX=yrq=^0j8eZM8U3WvctA~@mO;=9OxYg9S)tz{6undnWY_*^0 zWs9YyAWw5x-%{?VphCwbZnZ8TS};;D zQ}Q@^S2_Vi$| z`^VpT`71L3<-7-m5A30kq4YTye(0R31P#oDDTFDQ5!vl&m_v@!*Ba!*jl)u%r%mjU z5d>p`p{xYhiV3`TXWH&x$e}UU$3)zHeZCQMUx|r>WPBfEc|bv6L1a0JtW|=hA~{Ar zK$mt-w)qW>X<@7<6HFp4jA^4c;$?&pBbUbvmKoZ-jflL>T%M?K>YGw^G=*aw0-7^d zHk-lYE^wo~qaiD1wAhUVrI#2^hat>iONe_8zZ02Iwa*-G|d zMK3fKo;3nso4_$^%DERtLX7DQB15+M&n_2kPUgz@;w(YNb=IYdj-X;PFOZuv(YG!={^YgG?|SMPh6X>s zd`IuBE#FYS_2%oZ-oEk16V%MtVTeh^=vvI5A@v+u#5#H?kOu(K90rROwleU!09CV1 z8Xqf|40Fh~U^7U~Gdaj`&}2C7cE$*8G#u?tdi~zGJ8VyOH@cJl&Yg*kvs;^!=|*J& zWvlnS?`NmQ1RlgzO8HQX<%tToa!{8e2A^t_VKt4$qLp}d2p4r3al~{Eh9FwNiY6k6 zYdh*pzl#UVxSV4EeJRA(LV!+;q(Qbw7Y_4X8BvWKA*T$RYF8uyuSD$WgY;Jy({pUIMkuTKo?(Wvsm*2Yn+GOkAoyQ6AT&4bY z#ye<|kt#VxO_t&w@vW*cRRD^#OjLX)K?bNahcH)|zhtU9sE7mMn=v#T#$rMu`sL6C zLD3RgUr{{d)}5!X)}; z#0IggAttfM*+)a2_+9RV7oB)!lpaNJ*m)sj6nlC#$K-M26Cb0q6)7cO7DdExRC=X?GB`#BHu7@XcheYS>!!8h*Q zx_0-@t?O5~nM>A{dxK5lp&*{bQx-n~L{Qn`+ki~aMN7~CGN8)d3c%!eD?t{%s^*Vz zy(>%=pn|Em22CyOAFng(tiwg)Zf^o@wFoV=CfmHOWD8#t*xks{3kR9Ny?m=8Rh7K& zQU{i-r8)EfzoL2lI)RePBt9|RYTmmyZja9K_TlcNJ=$ouh;Q-2FCzj+ecYbiE}ngd z5M38EV9usJ94n$=9o`h3^zpB{@E4yiou-MLYWhq!!wmA`VxRUSc@3v@=6KAXW-*32 zGX*(juriNMM$RWfp+MG@^_4!-ema|hENJKKxr=X|f9&zm#+mb1y8Z6+ob$N9TfI9P zj9%K^xqI{OTQ|Df_uhUCfcTj5)Ht%%2LR^vy*+4~`f2uJ)F60>^qkk75R>n4OEPojQuD~#SN#y0q4{|0j|#{{vJy9_ z5*YpEldbRXQy(CUGQK+pNTEXfuK*Q(mut!dz&IW&(QIwsyM2)#1E-|O)+^oq#@(}L z&+cq&F!pR?v)AeMnd_jjf%hiJ`@r!Ga&S@&YBt+}Gk5S?26#a#d3QV<+#T(1F*Itc zxxKx8W;EEv>|%6gjdyW~V8Wzv6zODG9dktBy8-}>lL{j4CCs1qB#>gP8Z```N>EWY z0LH$Es7DNtk)Ui3a6Q7@Q3ihs^A}9D3@TgeonC^R0errEnnPmJ z1eOSU@vXQ{EC+$gLIIF0zW3i%*0Q9`C2KkTksQ@8Kb&q}e~uR6>oMhHy%l&Awo)Vq2ri@+ ze+~lI+i&+<<7e(R3%It=4BF#CyJbspUvTjzk7kj9^sy#_ig^@3^g^=MJR-o@#?K0~ zh|N5>PaVM}?GS&i6kr!a0lh~0T!8++S3?U&1(m`%&=jTwl{7-E z1nq@NE3w#M`w|o!A`IMZ5Sec@&h*DHSEJkOV-|f0G0kF! zS1){rTPmR)8Hz$1nhes;C`U7#$RP?rS(p;v_|X( zQFq^Tt^6y^d&N?m!urctNP={*lPwzrgiYf-IPo~{>?2PHo{nU?6hyWZ{TlTB;4)0d`-(9A z1fDSzVOO=yxd~Pa1UO@Fnh?Dy6(f-JM`SOW%jiyJ=*&}siRW0O06Xb}!C)TzE5Jn{ zC)1il2B#;;GC-YkW+ndRk1=|#aygoH-Bo2d9hIAWGW8g$SCXsKmmal4}%W6 z4@8*2xQ}SXdOzGlfK7&qx5d2|eJStFVKDiFy~shfP!kSLn^-NSH;~P;ZK0#2;~u1^^kHG-s z@XTW(og*4Z`h|lqg|O1x6jCN;{QyMq)^!4kipydGN*{|>qkfj@7{VivxGcFj;$k5e z5V2N19Jt6Q&5%s4C(ret{&dufPgOuwh8fp`pvPeX zi%ixFt?b=neO%z`b?9D4M08fs$Ihe1j2+Bx*=3@w4o|St26lLME09fb+V#T#TZ^GX z0*P1!3JQjjsQ?@y1&A>6ol-`S1$Y2e_*j^|0Gv*{4Ceh;;0ouS?Raolo0P8>4^mwm zB9S68liBFmE-`@}Mw%F>dK92iAPV+@mZO5p)?(eEpKgwt zBjy|Ff+=3T;1%3q2V!ToFJ1&9UT+r=Lq7-*1E%H()>*My8_kk$eFq_yF3}7?s=D z(O@vP0hJ)bvGskdDz+7V6|W*|_5hY@C(SDSEv+wLlgU^}#}eSnJQxdR@@<-6E`g@Wb9Am? zB5fB3y@{#0T*8IdH=~+X&TAkzi@EvVzg`B0xU8cI0zsPVw;t~N;7CSF1rCxOEWC8 zfT^T0ZN4c3Ca}a6bNR{~qj3=dXOyJ~L(uJtaa(37-vdn3r)OE5^ud4$@^ByomBCNn z2Q2-6w*F27RLW(&&{ARt{;dPc!iVv>N}S6G{dm}Jouv_N$F<<m)`Y9x>|dM?)BM2FPGq$FTt{*b5{r z041<+3>e`OZ_!k1UwkMmg;$Den&YX8KNTIyXFC%opDmy=_-UM~wEp&U)Z=#IfvMm0 z(bCHTJKC}H(nkf?c<@-$zQuZrv2Ge=tyT8Y_rfSZQytcHX#*aCRtH!cUyEr4b=m=t zeia~s>I4}OlC?;)*01uj2e?|Gh~4yab4)nug2@xa-374rl93EmfeNSqGT2Es3#{N? z>sOJrCT1_F|fO0ENaX=YGnVg=K)jQUH!-IiMj; zs}iltMwmcZik}8jKtY2tot6vB2ebqgsux_rVlo+X8!!1+6?*}uB9ks2y?guXS*ZUUhu`a!ht9X=QG>SpR&3o_*svtn}1xOigWqrxR*M>>JGivSp}DV zS79$r<9NK=tULCy*JQL40PFX`iT)RGGPqS3EKQ`WB#YT@#I-_YK!z#LY@rJ>KqCNU zrC>Ft^b$yHYYsJkVG0FVxJ%%QW6WPGA5ap&iJbrpFr_KvGT~QgB{hWr36S7eQ6rft z&7^*V5Qx_Xq}?J_c=fNPb#^t~pNjpjOl39`aqGooA3egarbO>7e^ zSWMv9kP0xRnqer|Nuaq6O$Dd~8@f**;eJ(dtonUe-?A)}0Uiyk3p7q4h)nC83zPs7 zrjRRE+XBoFFH|5BY`ow;23S;h(li`enLK?bf6n?+2b44Z#FSFL_qW1Qb<<~ESDke8 z>P)q`5BD73a$>-;imOUF3VRjb%a)_vL3;tLm`M7^T3v^B12)q#7wU8VYXD@coo&q~ zV1kN_2H<%KEFxyL?G$aAzj^&ByCiZ>>-It^m^`-umEbZVBh|O%OYj3wWG40rCcqXB zxzn2ipb@VC5O4(W;;eS;iGcGyv%P{sb%3^E_v|uekBx7N@0!RXj#eIyc z-d8?jSSJC+0h~^tMXS(t1vY_X_oTJb%*9tq*)Cwx>=ky(>CP$R2Mh3_4g%CseJStD zWx=$$eG-5772I)Oa1~(dz~wbdSi+X$UH~g5ayl6_4Y1mZoH8t4M_(4R6<6PuSnGFF@4Q_j!yF|!k`y8BA^ z{AsY1*D1^Xf-9v?V7&^k0xmCAe-p^<{TQsYA`Mg2S!@+#noC)18E6iFigzR+ss-S@ zX0VqD7MU(n`B&yC+p>}AI)HND4#A90e3-icNp{lAt%7Nlok}dq^Be_Gman(?+&*nU zc}wBX_!~l)!7-+%B;R2%EH;C_R7gmZ7U-`{#zhYaNy8Xc9Im+-B)2k-Wymtzqtc%N% zz%uL6{5>kbtYzKNce}*GOs@l(`Kv%P&qebYYhPt#5p=E(T4W&0$U?EkM=Hmx0x9+% z04B@S`}N$mmFN1q0Z`V{Pyg07*naRCodGy=kmv*>&G{?)cuTp{s|gX16$YOQJc5qfF71Ae!sQ%I&a@w?^RW^+0=mSs`K{VYp*?=z5Zvdb@tik+(GyMhi<)I55AGp zFc=Kh-^liUFSa%Qy*TK59rL{c=CA(MzxoXY7X9AS5Pv@d@Ebaz_cWWY64RYPbQ*9z z^{Ka=c>d2n|Ky4E(}sTO(%Vi%(%awuXVCh)Y0{hgq{93Zs- z+6K*y8;{;L2ZxV8eH-mg=eYaSqqhO&{Q0LhXf61*0r&e6XfJC5?=-pJjIz_f)M}*D zK-2=L1*SlcFtYx(=G5?z?}xR(}4DS zNt>NGX-?Abmhkn0DS?zAN&qEzTEH9~U5I&@&u?zb$MV5*8~N=y8C|{EgU7PT(veV4v?*)MUjsxrE0;)B20!m*gHPcC8QX3_Z7V~Z>fLidZR}=D!!QQF@YdtBz z+FA5-BToyi!EhcRk~Wx)3$O--b}$rJVcGpFAh&n-R7FWuNIs+AZ4XD{cH%v2kcJKO7^VVvm)ehx=C4oe8*aB!W znGM$~fV3_k5>#u_>&d8s?HF7q&COs?K{a0js1e7aXfo5o#d<#9SxHO4fxA@;wBby^ z9j#k!cI)5*fGe78XAcd>oo8z*Q;XdRV80uj{BJ6-wn6pv0BUxAIMe|bP^q2fN6@Nf z5==XbgW(DdghCpwmVgOFnO5_F8^ARltj1_90R^xof+-FFHCd5*WG*wunNHD z0uEpaw&9{H;2N!0YC4qIN}vtNn;xR!X5+n8f=o>|nXXp)Wvv$5xv^TkQhy8t5lKOwSv~5tGq@~)$ zOhI+&+T~$7=NPi^(X#Bv{l+6Tq}uA$@^FEPXsey$CM!N;eWff^3LB zAq}8dKZtn|XmP&V01H6*T(5wtTLLP&(9#MvHaD!grD?Slpju8ac{Da85736h^9r({ zlNMy7@qDSd938D!sm1OEV9($G*h(kAy^FjXz+P?b^{N8vUO~0(N8P$L8hVG9K9nY} z)ldRzf@(Yu*6CH9ySJHrK#6JNQKoU@ER0(-NG?K1H8VV@DC2*p^bgQZAcA8Uw z1+=QRLUYj+S`tkKEx<(wD;lG#rGNr#gOxrN$`wA@1=w(j(gj$Yg1QyJp_xdh7Mr6= zHIpsC(nO{YcJ}OY<$Bn*|Mfcwu2&6MEvQmUdG+g{>zub*>eln!Fdg&5^LQt$hR+W% zb$0;Na=r{;O%_6FJkoa>EuryGFpY#3H}@ze#MO}pSON+l38)dqDKr&e6Ijwm-I`d9 zReWg4af^5 zffib;!vdj4s>YHABXc3ZifN4V9|4n~pD-J0rey(FXd}>pUk1JbSAYtDp|NnR02n}$ zCXfW$nh4qucr8)RIE_m+nIQA(P>U_bD&Iu_ZLv@#Zvt$xGh6E9dl%XIUtf>*dNsiH z4Fy&UC`FN)>NHTLFSV_ucBk`^PWf_&JGrC9Xfd7woNDH(h8oT1W1JG`prvXjBsf+x ztx#2h3Ht|-)Kn@goSvbs@?Z$63gALpsl{}%&|E;!q-v-@De@=I5%>W}#T2>d9Mmhl_kg+5TF_`K+s>c7$X*5%jIMOtcnIp6FFWSEsv&L zT{AV>dUbd-S!y1)wO8wVx%TzVG>s=t+6mX^T}gKW)%Lnnn!eVT@@`KpH9Oo5P%W6x z>6kg4Po2+Enmjes5`P$8aiXeZ(!c{LLPCM~Ge@ChW8lF%_9TC5v!Qb0-V z1*pOd0xBA<=^k93ymr%A`(~V=>H)T@-~wy`E}S@+fLaG;h|x#|XpDTVIRsb%rq0_A z(wv2ARlpGs$kXIPfQ?q`MQSijWSJ1awHPnQa{vaoc6JY!slB#+uQZMA!fKkv)-1+Z z_2*~q>kr=$VBHN=cQSpgFEu}$j~0{Z$aN^Slx7c91c71TI&AtAHuB*Y+f9GzFQakCq}` z!G)$$Em2b)hUu)YB{P`A)L zs=d5}9M6xIlikVE<%!f@E=}CYG`^bPdd0wcxuAOJMmKCt-`@0Sl)luqmKx6oT#kT? zn3Y5TwJ0D8N97n$p`8R9bY$jpm9b#Liw0bSsg_c@(i*0}jw$*x! zMsxK7Q0alycr-cIUg>)s98Ce*v19+jd9Jkj>@ipEHI1(pxLy&kUJj^Qf68Tq*7Pkf zdFe}~meSnmM@0-!iq|W+mg7}7ny8@yQ0%XZcm;?se<%mRq)%_rBde0lQxmoM*L ze)95}&;G_&^rcXci_lWN_5x5Hrf^_PSpZ6H1+Y5T@+-i)j&Sm|E71m z^XP%sylF6=?8Hgdv%d`-6)17fM>;f>6-aOJ*7|*0na{Y^=@#?Z^y;%;*!$dX{Q9|H z{rOLGRUL(CWKDI&LmvUfO~zu_4FFJ$+x(j6KJX03l*6Oel27x9o#jraXs2ry%C%UjMutP^FW8aN}U)+Em{4=}(P^hhrUd78{6J6jwWG z_PW(XErq#Y@f-jNEXr8_VFT0%fRTsB2~0v$t!jLnAK!ZHJKwnfZQuE>qemWpD<*9( z0U$UGt;Pu&jkUC1L$$M%X=9EaXk`0z%M%^>rv!E$9_&2*)Nk#5>Q|mP`{`f#A~zHT zSZJsMuo|ne01W_SKhJWGcj)5+G#NmG7O|$Y8_q*}2{bOfCK;mI8b)z5V;Xg!T zfYzgHg8Sicn4>&-ZkoXwM!D|)W4eG%IRoM_s+?06sWLe+|Ufhf=0R$`XiCA9~bFUT4etMonz>0H_Ih43)P}CoKq@e}=biTsimTFZ_q| zAOF}B!_}Ovr~oSfRbrM<*w{7X>3N9*SZc9ubQGE^d@#UOP2(6-xmZoPu?B6VU6S}_ zgDarz9X9HL=(0Cx4hU;Nkq>fEn?{BxWez==K1m_)QxfNgzroCau>XIM?;YB4?%T=;GCaW|hQ zxLlH$FZUMTOmMxTSL|~|-RVh3-R;8eOjth1Ox$2Ss`^x#KS4FeL1&B77_XXLb;Ai) zWB6121vG3%7!IaGz=as6>^ztvnJKD;xXXhw)9dN{zDFK-;e9{y11uN3CA1HcHx6M| z)R=8UYNCRY7j)(MW|KdZCnAH4R* zKJ@4J-}VPT{ou#`(Z3$Q@a&7Ub_9ouxys6TLt@`S zS>IyIljj8fD9iHgSpJg&Yh>p>^@;!I!oU5eA6I*^_K((5V|6q7Jfc(6K~uA_q*BwE z#BLQP(rtx0_pWz&$2j5G)?7OD-Yw=j*M;YHR{8iRfz__g->Wm9r+Lz;^|ZTzN^Rw1 zngo^WR4yr`quy((El_bO;WyzY1(=poZk+>A+#LZTO`+O~^iW`h8JsT9J#_z-5B%qU z_UOW+kEJjZNai=voPmOG1)Cs9K(ukN(niv(mucf{-(*XVHl;QF_x-?_Y3sFPiF6Q8 z|1){v>B|@Y#ozzw(X|(@VGfHaTnVghR?MP%n+4nY2tO5Yv6~B!@n`|RY;|-uaJ5Sj zf~$S}bJ_yxy?~3UxO+%oowin$&;DN8xiH!Wm3MzS>T@)dYgDPJ1XTeN+w=fd00$7M zk$57!Q-DN1Kv(hyZ+!3LSKs|Ze|A0DJEyQ(;ik|70Gv{mxAfC!&Oo*$f2O0Y3YLDB za>m-YO()})!yn|9uT5v2Q(`uz-F)ER{j;Cmd-9V{RUd1{lO#Y?!NpGc&}a#^C>s@^ zZGmfo2HSS%6I}Prt}or!bvJO`3$Qr-JBI{Sa-HN?xtA)oz0?(T7eC#dke~`j{SKgF zj(5~jJaj=j4R!%jbFBBUSGzC1_ro82;XD8QkFuNXoRSY;CiWzvY9yg}!J<{qkN_xbPsi+}3Y8{hvyMAdIXkF!?DRjB53CN|r^~>t*hxQ6~x+8F@H`#OoZAht~LM$khq}< zaPi>x%(EZ-%RhYZ$lKnX<4=KSEM0+_50KTkr!|7(iVmLSHI{FiH|fcjeHaIgdZ}q_ z)B2GY95RpF z;EG3J-X!6YD2rG-L^dHKWaU;RW#=NcTf)7oSGLMH!S!;r)*XSB=hY&$-2$W9bf-c* zRAyPhT?#%>j%R=In1)4APR4aAHCEjHsis3!Z-OdRI}_w&MS61n{IlQtSAOK^fj7N5 z1aiW}hd>!*2&xWtgJzu!RiFt1<4lM7Yk93hKHEwVBw&)Baf~n9GtRL#Z6ug%I{VGI zKR*laAsjvOrZ+$LqkrW`y4~~Vi%C?&r)ey1#Rj;TZ|7baD2rH-7G%gsSt+xS9Wqpw z%Ct3!$~=eFVj*cK#is%*wN*Bh+R8>+6X^bQ)o46aX06Iy3O-PdXMYUd74sKljM%W6&vd1=R>Gh1ClP<`jM}Eckm`G*HB$WP^GHp$w1JP2Y)=Eqy zMot>&slaNP6I7|K(gfx+z@kRoq*t~PyGtP+D7)>2jd{xeS9#tScY>NeoXwa3RCt1_ zTz!Mx=RWXbe}=`++d$=*Qh*91h20A!1*qT%md8Opd5oi8Et4-p@}~xC`TBabe)6_J z&oM<`G#bkcwef6Io|8iMWm%f^llWSi;ClW;KlW#iwbeQ<&@_v2Go)#(%Q$7tusk}8 zElE6aR95jM1lgs(rAbt__hJ&;@wDj^ft5&1WM&0zuG%V1pl>AO2$t={?oUUh#>)=e z0md$cxB&rBtfceiUC~mmO}V7tRi$5`Pld1LRcHLd`#xO`fa@&1KiPG-&W?M z;PgL7kG|>Kum0JO{6IU0&Z%?j9LHQ&3!w~@1&gWd7#Z^+0sJjwrOZNh$WVVvnJU|D zlh}?Tv5{D5%S@jLtd^!~=WKGBTN#{BA_3bbiv*#KoE$eR;x7mZo-u}*OfBeHA0P*3UmN|7^i!~@0@hTpb zDGOy1veC~1T(P?Z*%cWcFF|aZ#M2!4b}X5`4Oof5L}W6ab{AMS>lG8Iy^ifKJOkCQ z%B?Q~s$*TnM>4sh9)8wP-=O#d`>%b^V>e&-ekO+=t2T(fbAodq#+9a!BVB2cmsIH~ zJhPEDLCA9Jn$9wXE-GEY;#+D~fUnkqmxYo&fkfV*Z&FtT@NPFG}>h{5Oo9_!Y z6Sv;+{txWG^*xUXBKUcCUki{vR(V8LWB|ap;EQZllM%9tyG3Mol1bdYOKf{hj3j2- zvfF^w7H(@RO`u=MYwrT%6|Keu##=P{Rdth|3w7>NSdBc%d^DpO3{wcu@Bz*~aN)(b zedq_7`hGkqxEN16xfOK1fa-vIeBiB$=A9`H*V9`?fc9Ar8Q~! z0}$4&V>Tc3%4dFiOt;mMH`~g3C&q)}wLkKqA6(x5fFD%V&4{@*T>!@1hYZ{?vJ7x3 zBYj|HwrvvIyF_K4cZv6^wR%Cu_}S=l(wJLqrBmmZUN-Im(*#zH<+kCtD%eV#TVUb= zvbz-Git-s?+y#cZzVfb*{2)91&-N3T6CQ)ABg)CGBQzWQHSUF1^TAf@1PDkcIBx5w zmTk~!z&5t)Bu(BdGq!)@mL6$H_HU74yMCb_*9}IPd*Eip+II4v6t8#p&c5&;edGrj zNX%=A%kx&!jm2=UY1x<WsmOCNb|4mG!nGe`4QT*x3M9R#3&ArmfOp_e(Fnp{)AU z1oGliyiF4(Fq}htDi=dzLDaP?)p5sjKn@+tdPTkX)*t$VNB6z<4NmxNp`BC5+);@0QAG&2hud(^0ZO6%H+nG)t$1Tl#rZdh9BI;NsuKm#;`cB%bbF81`oO6T>kVTb?TfWQUDJBsoUKuJ&Wg4ZV%+H`>{e>JBF<4bV(0A2yTrZqU1wh^M?5y0bj<@clPm`-i?O2Bo>+>_Zs0&2kyG^BP6|$;q}T z^TZ)M;v^-X&1c9mUS17G^CqMJI*v$F5baq}CWEo`nr>sk%Ugs|o*JjkC$Ci_NboZe zM0wuEakba}k}i{cl^oSKGlk^eo8R$=-hb{lKmNJV3(v8eJ3LlKC4_lpmaok5LM3@# zL*eyDybs>{M{2(Q#PEmgn&)k8zK_El{%X8BbA|=eS+_=OttW@))@4P$8|1#N<6bvY zy~auh>~7l1Z&RhV@@p^Qu=}bz|MI;*)vPAaJ?gQYIGlDJcMnxE2deq%+dllg?Dd

vuMbeWR#h2Xpzo*#0`}ns?ity+qbBWH}-4ncsDee1j21|Be9m5?8A66 zdGY%`{JqX`Ki`cElu5`&87V7W7vI_Rg@!lUZG2vS9ojtcK#=$(Oxu&-secxlV3y(eCPYeaQ zpDAe0;z^U1v%6iEdCSE|^3_J7IM9X=DN|cz6{K3y(A6J7w|;G-&r7OwX{nW>J@N)` zKcXx$HBFsp1ML*m%`?CNQxc@nkpB=+86$az98cb(f#{-)tIbz(8_gbl?D74#z3;Iz zPyW(xL+8_lBEMV2u_PApt0gh7W%#Zpe|WKfi9A{E0${x8%@vPz{Q9)ksld|vpY6@K z8@N2UH6PLSIl5F^6(lnOd?O5d+_BEaE4srKFNf} zu6^sD{2pgJgySSJvCeUkK*>9)QJ!=eazZnmu~if*<;fBm$`xS1#lmO;!3D(_{&39f zKS5OmE4%eMB3a|0MLVU8WX~6dr{<$KJBT()WqY(e_B0*S3xV-dL%;=+7>yc?vO0|5 zk4$a9FX$O8I1bnT@Spsiz2ExemsP8<2(12~T~w_fNL97+s{T?y@x>cVBD-?Y3iB|D zT%)PAfMIH_<>2|7kMV$dXK?9KKceG~Nrfp)71o-;UGV-xt&8~?~#meUItvX3h7kY1nWjHp|J6G!OF%x@o()KrzX zAdHNfi6in6Gmn}-91Fh0N1BUx!Lej_IC?+Q4CI)i96ybmq&V*XFBUN z^@HzdPJ8x~_3d9%%D|N`;*YV`@rFk8gv$Ts-0Jxg8RDGb*$%6-7cSg*-yeC)rb$eB z6d5V2@>V%J=9OXGgw6e20ek9rEzy^W>%J{9kn396S3W~bCqA)ss>Vt)Sk|r1#ofV> zPcLeBy{7c~y0uSkc!eE}RkRf*Q1i;$%A9R6f0#iSr(DTl61gBJw;uiO_XKFFyaPc_ zOu2}2%q4Cn%nSRrQ0w*d;4hUJ8^b8+zx3X&`?2pDb#Hxm-0cbXR}d1s%HL3B9{}JD zWhkZnqzjegmfcT0G3)-f-{AcSwGyB7i@S7Ht$ALNU~Xv#I(0&;MO&rK+s?n8$EmScdn#Og>C9_B9O@h2EgD zE?R5BcX3$5T#x2AapF6+)tv6chsKH#)IYi3DxV38P>~wnP6xU1MPktGXNBUUXD4YZ z{3@mgb6sLz(ehxB)0bZR!Eaye+<$*ug-#0ndPJTxNV=qrbj^qVWMcY=QOEWS^L8T8{E9%!XF@D2bNnhRgc!}QJ9e(>D^B>KrXfY9W_<#BR2k|#h@ zCoE_=d6h5QpjMG|CH##)J?wt;UA{H-^#}V7YXw*WMC3~xH|!Nq6F5f|o zdO!4*-R{5t-ZPj*wyFcFG^?6j0mf&IN+m1T4vpfJh;vRd-Z=LYPV>flobydNm`^#S z+`^SXYsH7`nma@u#)a&~fLIU{?al|gblo$}p?N+BK=Vz|Y0s=?P>0QJF(Q`b|M)tw zJNC4}exA|qeEQKdzn&K>?tX})YAauRkE_J*DnQ$R=pBzPcOQHxC#lX^bQd&I89Q0Y zXWBs#m0;qu1DQl2LVV97>+Zk!gZ;Hr>b{J>_AfyCuFR(Y^~mO)^qgE)U1G8ngqS^DW|B-`}zz6T#V_||v$ zYn^%>Uky@W?5Ff`&C*E!hEoRJ%sS{^?+YH7J z8nJNhchvplHD7Uw56K3y(NqjT+g#&TWAQ<3H5D4nE9BN|-WR(;1G$`~ajTu2jCKNh z-vPQ4*Yi61tpE!_MvhpgT6h2T_wWI%xWn3FzDu?T6ixNY!?exUZhC-Kfd+6amk&nE z%TSKfsj*5EgYLh4-#JVnS_^Qgxp;Xw*3RO_f(F8Qw^Mr6B*xus3?N80Qw9Vr=Cn|b zL00od`)_~Wo0WmGpdqY>-?=!JRVza^m$LO^!OB{h$2auBKwzOd@o5g5Zu;bg^R9oT zL$;_Z?TaD1Ls5U@Dc>5~*$Jn8vYzoVU%s4&(+=Xv$IeV7WLOwe6Rm?Fk3oNx(*V z-_EBmy;Uj!k{#JiO-9^jDCl`*s^ReUZ+_EyGW|H<48cw{wPqaAVnag~Cb!-kh-i3HNhZ8-2a;xR+i5TA z5t|E={W@`cNEUGWdB)IMER^PzfCI`E;*ZsI;~TGe{~K4`bjQhd1Re(GF9c90q18%~ zif~MnbO^q-5%v8Oj3x|~k<=sSvzI71^^esBjD1BK;itw)x_K30l>3J>NS-utQJ*sF zM7?ac@`kyTCb*zoI*U9Pm_aob+A6e`ewIrQFnLer`R1}iv>$b?T|&f;C&pBXnQrL( ze#*|xx4-|5@UtL_Opr~=3CmS1jxyA>!4@i8W$X_yDD!P6e%l<{bL(g2br2(pMbWxL zH17t}490KMXm14+j$KieXevI3r}M|d=lDFM1NWn6XtOfd_*`Q*KD_v@Z*vknQUHMg zCr(*y@|B2Srb7A-A;*yb=}j1QY%T!8_~cXT^!(;4J<5`Y z3IV8o2sKanZS~>d>$}y*I$ql<>t?QLX$s4c6QWj&Goo&pu+8&#ED^FiPruR+zx`d` z1`j`7R)D08LRJpNFCQYqa`RO_XCAH&vJROmd-R0Aq;`@y-1f6JOko{X7b*@jxLWdK zNZpNXGssv_&|r(M=o>wa`t+06Og)#N=C6Q?X=6Q$G^_EmGp~P*?Z*|k0q4?d&Vf18 zPEyh$T{F&6m`WKN9;6@z8jOL6nlIG;Z%lr4P}ri1)nun`L;%5HGZ7*#=Iz+56|gwU zs1tvhbkr|{F3q6fNR;J+LKn!fAPd0aJ0Co~XAzuJanaPfL-MS~$C_646~osuUC*JP z3;N3`uq@`xj!l=SJ9_x_ui<0lq9aV7zLc`U^znI3G@0LP)wRJ4>coeP@oSJGm1g+( z$L4UgJm23P()?|q2UhD}g&C}ma4@dG$IoQ?d30~{;%6X%64qFN#Q^*Qis14qC?FsI ztK^Lbl(jsImLYC@c(xs=qVW5Tk6rzXKaQ4kpk z5!#&E#t{7y7l8+X$1?9ZT+nAv48cX!|3$%Z_#df zgfkq@_PHD6^Oy7Zq9LH>t7jO$5uf$tGDB;DZk{AM5X>SK0hOw@IPF{wT!V-Aza`c% zoCrf=p`9e@eR(@s77%*gnvMx;CpWm9;pPZhC6UhdXMAAs-#l@(d*#9q92b|e%HN+(U*D$ap8+^~fBi4Kv-@)&czp~+zzM9rar?&Xxx|28 zU?}DRn_LxK=#DZpPpI}`+c`%LEAtskGeo{5<3gE#%Nt+AkT7m&EWpIOhbo0o0AMB* zgumhe4`3<|y!VO#Ff>;A7O#)4`QZ)Bq2EF4X4m6g)ApgXN^&EFf5pnG#Q4cuHeI?GM?jgwDO*2}a! z0TyC|ZABZA@s9x_j(p&SoU%%`|LYfC=$^QIv+zV?^3zMG0VSwOV(6S?nkQr35f!mV z$bmR%TuW51<(e}si5Gud^rP;7_?gd;2PzEWIMzQ8LeR?^mCkzTGiVOFlnb&t$~Y0p zIbWtN&V0sbo8vkq89YZ1e9J|2Q^-ac#j=s|Vz41YWm)eIL&hm<%%2z#3v8%C(XiEv zkgM>ui#`&m@s=wJt#fyvd2c1%BEznV!46vKXuvCK{D7oCB02Z9G;A#=LznzRd%1r{ zzlzH7YY&vgKxqn4J$jz;M?bcm8m6BdiG-LSV#}S=o=;kqlZdNSo}5g|`Vf=MA7g5z zqb+Y19n9*C2f>zYwD9}401N^e3w0wQ{xk7Woa|A(P~fXw7H+Pmrj(O8Vr?qMz#mIg z9T>jC4XuDGN+>HAgtStLeoYEOv0jE#&c6;Rnyl3&nT+9Duk<2I38T^Y=)p(NPp*88 z1vC_avhr+^AKcslY7%j$m8~+?ze2_nKF!5Qk@aK{&khkc^BYfQY`9?O(TXJ>qu1c` zL6bV}#__-rRC8ox3mpV=5tlo042Xt?0PFr}kkK3Gd}TVz zoPnGS`!~p&LB0)M3u>FeBX2Zb3n)a*>z}AXp|Kv4lh~^fO#NO@_-AMM?b6o;ZS{S zv{qeq5F<95m`MytV-_|;_*XaBcQe|>zw*=LY`H%KV7`eK{*{U;e(fy%D^RS{&Mfj( zRnmce#vk@zx%Zm;;smMH#+3KLbjVj_0$-#dhU_7Q2IKVmxK{4VqX8K=5Bu{lWcqAV9RKX-TsARuck67SXCNWBDY@3n`jkxJgnt|dnSEYJUy4HzGwSFDD zr1|}?xsOIMgJ>tU6gB8SOd#A9V8zdht~Ey0&sxs`*X|MQXe)l)eYGrmv>Znp#(MEx zcYH_4SNZTI_rh@pB1}3OYwC}3vvd{?0z{DP9fSV_l4(vp@(vV1amVPvH>7ti-DihR zPRvg2y`PkZ9`j&6Ll8~48|AgWY1{KpjZ0pTlmR7xWK3S$EZWLiPUCT0##QS2H;S?Y*`krsr{FULw`meR zYiXh{tHr?+MO-|2AujJnCb~1ID(Y){yrW0hVf@1k;s^CI4Oz4N&N+ew3_X~@l?NyO ztWbHp;c7yAXBZl*y(82a>$)?Jzkq5r<5%AKJP~{OAb@c?sGy1t9UR@TP|83V40#9b zfH_OP>c@sIh|YV&IU&&lf27-&bV6Q{5jPsFls0@2tP_((15v-WQKVB$U}=}3SAO%M z8R#{%NAzCmAJc2T)^UUz_04fY$MsD&?PgyQS6h@MNbPlr%)rY)11!@EHx zV0k$#5Ck&Il7NV;r&8#_ua+?+k6Ov>cKxD_qCe~R{Z;;~4@1R}}dGGx#6|EA|oCiO$NO4PZ&~j*zW>tgFlid;Ag_cZ9*|FQQF& z`Zou)s4T|9S^_h}f3F99KK)QMRg98B13Kre8~Z{Xvg+~Nq|Y=LXNgeI_}<}37X@! ztW)yVk<)sSCQmBTa7CSdJ__R|jhaEOWzkYQM~pA#%mRXGEA;bdb~tw9C8Po>?oiPe zS{eSLmO_|h{7rP(z!kCwRIFW<2Ki3qYR+31t=3Z>{6R#A_dB8KKzrLkQm9tDRA=LDT>3k(^TT*-sPQ1`}JZk+WpmSzvZ z18>Z>v7yHD`m@ckjzv0romwUs@~*K|QP8ETep1$Pt*HQ~tzW>jQNITcWm$*zqJDtU z{sa{xhS&COw~X74DIqE#b42Cb;yg=noU3CDT2mg(^^avOPnIRk{@6aFLQy%Pl&Z`e zlrmIHDL*YBMao*4D|`L@H7=2u$aY(-v>4jZSaI7pJ{NUd0OPyI0h%>GNQEr~vE`1? z*>N7|9IfO)_@_y9ut2GO7o%xuJ9E~Sws8Pg%BR_x25(Q{#J z8VyrOjozU)UB{yE^lLw*8xFl2ND7A|0KVHdWC9x;h}IBs3O-m2|ApYJK|1 zv1IIkoS*)@nzU`ig=Xwf2zlX2$ny_+%|uUan!=tYBY_=OE|9`?EGzM)VgOH}Fz8#K z3*<$YoDesWzL3ugW8Cjz23aJC9Z?6-W?6D5*pV>KhtJ*fQ6A3-U1}(~@^{Uvg90ap z$df@{QiuhHh&?||p57OCj*5#~;bSqez>Hrvf#Au-{5wgu#39`fLLd%$P)NfUb&}p^ z3SSgvnRT+%M|37uN-#I#&ScUN0H-lV1&Y20YaYlk-EnpKGW?@T}6?D zZ?;4N9@2f=rfEMxC97?kZ`-tffLnSTQYw$2H%$c(M`T5z!& z$Uqq5)QBup2RQ)cC5EhYp^Z!TET7_ju@>R;6mHb0kL=xp%9F4Rx#W;}*Rp&Vy`izP z(70d2;%-1CRDw3uu@F)M^cw?#NpKYa5?dw48>di!Qk(Joa%S?xJ?S=03uV$OulXpq zYE1_B+gF2rh!>NQ4&i?M(6#Jjr@kD9sRMkuXz^a@E%~wB*USbY>+& zZKq`FUuY^>`Acz0|I9C6?SAGHR|-?sYa6pd1c)Y^ zGSP3%mnI93K3CMIY3uM8-lWt%CEKp$H8$-qGmatGa(T=L&A6#Uwr?lWTy(sA%QlK& zD^;q@dKoIykZsfmnd^Hc4y4{K^uTg~%T@QgRmgIt!r7&>1Xsyh-k#@RHD`6T1m_{r zChF0bHMD4eg5=FO8*V4uvdC90mF?Q20#kTy30ByqpT5R6VEf7t!#86~9Off5=_FC_ zxtC_Vp;aAv^7b7-s_hq06%a+A^j#eIMtjK%-MV?PIo3W%CzE9{B#SFOSV>2H$u+$} zclfm|8zsgg7Rn$W+-LPe!oZ>5teEL&?(vD+$J~s2aP%>Jx3#eekZq z-RHLD`o_}*I1?*mcaVH?|7iw z+wrt*k;D0nbkdA7O_^rVqw@dYyC06UZ7GWqlcqe!XB+^7lVmM}Hvt8&=Cjm^hNAV- zSgDk4IXW9LZfT~IW*mI-W+=@Tdc$j5yw>hx@#89u%(8kPpCIqp>Eh};A+gf)*Tl&N za+}M%&x;(@9YcS)_gtZN>7}npD~`y#lVc|GH61j`5L=$(1}Ho&L?_^#*IBP?JEXke%!kL0sty8Nv1hk?*Bj1t|Jes$8=%OtWB;o3 zl`;}^W&Hjmy5*4 zpW9`(QEVnKpeDF`xOZUPy{!{D2FpY3c{ynloM=oeXPPG-b3wkR%f|SlT)t+qOvWTO zGnMrcPD9)qNG81|e z0haztz6G4TmX-RpUCuGvair0Nv1J_DNwit#MzZwaDW_0)B}0sQq!TiIJF_AatG`-7 z9e;0ub=JExdODk7GJ9b^PTpCsrE#L9gS*l)Er>Q+F>lpMcXB+E-@<;vphvI*p*Kg? zt$BqhXtmD@JAh{%GiAQiQNt9$mwx3d?S(lb9sHq{N?GQk{n}2nB~KhpeHu^x7$|=n zpMT=~bFL(Elrfa}#PgRY>sZBhY|pUOhNS5&WO7@u)?LCqVW6~eqQ)AI_qfMQ0wvh%B=uGa#7PW2wI;gg`uG;Uz9spB(i>#CkES><3-5T*9ie1gC$JT7Efu@dN!8z zix!LKqy18LQvK-PdXcF0IhoX=rJR=gcItUVe>H8-mLoUs9~?`d@H&0`3DH)@yG0|g^YnxKh-PK%fpw>fZig6=bs2Im5~S{`J%4d$a#O-Cybqr8b_GXy_%v%FC2 zU)!u@mM5qpP0grN<6!lVRTx-;q~xQSM&lKp%HEH^v?p&drFC?*ynxCw?W=LmPa@m0 zKhNp3d}yDtJ}GPP${cOgimmpFhO$9o`7Ad~t|Ajil7rw$bF&f;aDswNm2D^~l?VB- zRK9=}w;ECHPJd1X*5JUm$znMjEtaZ|)&C3uD6@zo<_caeM-eD7*pTRW_8gz;^21O3 z5Li9Im=I4=E(RaTQX?`s3C4z;u$C{`t=!Wk<^d5oGCKb-z-UQYxh$+@SqMDRmA6S3 z5LmO;CwY5)8?J3dC)uv;m2}q6e6aDSKR;TCVMc)&YY;i@Y9jz;QJ!bStP z@(VX5499!CD0tZCrSeS(8mi7atAi}3hxZwc2aw9Z;EbuHip$9?(X;Z8@}C}j^?D3& zqgA+LMvf;SCPp5PoD}=dy3zu+kgS@=2Cw`Ec++_nU;-i?<|1JGU{)#2#md4bZ#_r| zF6-LXas4vB0zCUEZT0nNS6YCusb9>XU~_m%lru2Rk->8^G^CO_fv-LPtQQrn%+b@# z*800wzj_^?Ib;Jdpj$@N$WYKIS5COdy2xG(hy}-&L9B?G%!?&470ND&lZhJ(OW;Sv zSQ_J7$bSD6Q`pT#vrnIWW@*~P>xt=Pm#Qj~(UNCCYRf+6XA*8bbv0U*YQkPP;K>T7ffMDi#oI0w>F(-70v;m~{ohaa{pLecPl$ zg09dUM(sPsnB&O)3mE0?#b3v5d*yui+tcFgBOe!5wCT9YA-`#ZaprS=lVKdtit-3f9cjr;md zzNc4y*&xeg^00fjc|17EJXrFQ3wY;A<%WIiD2In{1uubQ3?`z5;;E6H- z#>mPcYF(%Tm?B4dAbq^bnP{3Kb?Qp{NlsG2`D7oJ~$%K6;cf9m>Rp!Tov+B8%-@>XxPwu+wn^G~gGXBCi?%5|34+i>RtnI`ZwJS11xRW>>f0_n1;hnt z(T63*fa~OixMEU-1#hQkLgfYTH7k(O#Ar$J|!_K5d`UqHlP3l(X~9 zQ`a4a;8I4)DnO;|1eL?(P`1T76~$3x?<Cxe&}MeOB5xID);==C`Bzryk*wv} zLQkjC^tmrwV;`}kkPVF$St&DR$3F!azO%WMGv&%&42Xq+-)#dMff2CccoI7~wgA@o z^G~mL&Rq?L@#NUecY##3H;>Ol@C9e>ET3y|5Cv3rPFf|vmn}rP`53VD9$ z<&~BiD>RsGgoeoa1$>3i^s%Wst`FUMl$FEDC~eCl?Uz6IYz32IaNOlO50H^hfZ0!I zG*8Mv-a~qOp#`5sG1h2N?g(o8Gnaq$8BGoqLpA{>(sUHEQ-+};l$}Q^3uGR$=Upwa z5bjYdke0R+Gh#?ANgclZ?N3I+jEkf}93AiyFRSl_09V{zic}9f6yXfWSY$I#IS>Sb z7A>?m0r@FEbK{fG4{!39t^fcq3rR#lR8}*-FlMXuq)pc&K@^4lfdLCJ^v~`@MX2fE zY58k;vSnM*I>ev&`NQreH@Kyp3JRne0HfhBQBj#e!lXbGP}V62H0ZYJ9eS9+9-y`% zBlT@p9*&kL`l4JO1)gR5Jg)o4AOAe<0w%PUFA{|I%AFK|tn}*)*tapE#>{aaENilb z?y%&|cs`q-{Q@#z2q7Nr1=Zpm;nTj?_z>=&Rl8`Gqkx8dSK;RR^B%1?e|L#;cL0Z~cp3>;CyKevx4SDm7Jn`$3IW^Ktc*@vFsREt_8%+nE@<7j@!}wE z7jIk*FMl{X1CVBXBYDc}u`|>k&Ktk}N)!VE@kL>VLl5FsC4KB&c&!D#3s zE?Q0qjrG}U2{D|u>_c}cz~)IBZM@F{Ko)F|D|UE7%cp`cww)5-NpJgQ_u_O zYV~O6`u?oD{PZW9oh5cgIzTkxA%;p zg3CTMrv{rNUx$;VlBX;#G%gd9|5!PwGo{jeSlm`p->m9z2!YabzOjoeebz;d+HUzL@boGzk{djU= z?aR}mk~hmhCm%6l`QC5p7C6zNo%%Bh0E(-M0WcuIB)9@#oCJ5Y&_ut3m9JafclGDK zboJ36d28Ee%m5S7h88%|Esn|LPsC1MO_#hgNlIdHBNPQw!S&RYMfW#9%E#8?*C05% zHLsfZ;k7u}GL|n^ME%-uKPKCC0JgpE{`7afq5H2s^zOJ~Ak=YHaKZTRfAcHd-}>jj z(p}$Y8?+S#jN>r&D>eK+Xb&iXC8&ZfxBwQDi`Yt?Fp;|P!rehsz>~}&#Tk>yIZJwi z>%PzY+?QYm6v&~1D^`n;m4Kq*_}RGtmFfaT#c=tYE#C|ApRyJM?rPxYFGGj%iYb+RtgUVw z%)7tyGf#9s_r#Y=+x)^_^pTEvm_7R9MdUDhf=Zr|pH(uAI0TsENifziCa7X)498(P zq6`5lG6ANhV081!!I{s0;(00rr~qt{Q2+|Ll;y}Gqv9tcOg}&qDrD*Fshz&HpEPEY z;x`9WGG~PT!FqHRF=Kz?j*usiUH3o?Y53zm{^RQt?+khVvwz_F#Sy9xF;qW`^W`gn zy!%6pLLw&1AT`1f3nD&Ni2!}u)kRT2g(d@3s$%52Jb(4yeI+O4w%AE&53(ua;H4~N zZALyr@<#@4XE$n@R!AJ-zaX>}q{1BX`GD~*2N)ldo)~AI^oVrO7Jh$H~LNNAf&n{zZxsOO*Q zHts1sRmvqqyEXez&f3U;u)^RU05Sg(o>=@ONRW(t$&RnhocMeXAC z12BKS%%3)6#OJSl{Mj21{n6JgClB6TYcV<}sLa%HoV1ug&ma@>s-z^SjY1NFi=>WH z?q!d1=nTCa2$qwG5H=QG+l+Q=T5SanU$rY53-T?N4gQyp{&x4VC%#q&s+kL5!x~!0 zanMiyAvXphxKlg%p|$`!acV939dL|aBUpop7*7&5vppX?&d+H7>cP3+{`j-bIj6+j z`xA0r@B`9~8Pu;rU5BYmSz`K%jFCBV_VarfE@p7dm-c2WUQ`W?=(y`&?LM`$zV!G5 z^jbcN)dTBzsAUyZKWkpsvxaUl48A~@^%K(BJ>sNR>@;CqQ-|nv5z-Ln%1&HBu4F2JJ zz`a=uttr6hvj-J<(;kj7%j6AU*${0+FwMX;DCi){H-Im?|Yd?LNdo4j!L4`be zfcY70K!#|Uwl6vc=*XMBRWNm;ZY08#~jIuJ<1!Os+(gHjZs!;00$IM$l z=v<_J20L5_wHExLk!nLJPdid#QC@g%aS8uV|LSYqN1t$64iIQQIkhrwdFfE_#z8}B zs{oEbsz++D%qQ>?R02Q8ALnyCgai_l(v?LHt>#UfdFIKhXTI|5FEWOZNs&zfSbzw5 zpn^hH=3Psou?4OQG=A8gpJ?J*Tk=E@!MhRwptvI>jTQ5EGB4m?)m@{mxHtZl!-(nI z_OmQd#c2**tKeDVYBt{UwRd4~4F z0p%Hy12;cFYyFeUJe*dlw+Ck_4@hwa=iNu2WXV8Y>qK4sv)V@GE52K;8~&B`>k&NFzY0^xcpRVO z4HIbW_$xp?ALk%Lrak{mQx-KAN6QPp_D?T6$7QaW@0@#Op-hlX$_c-#XfI`mES0IU zjU}ckb7e0E#6n;KY~=b?4oP2KEScZXSgoHmon4M)hw=0PKuw3OIplk}m_G)=56NK| z0Tt#D^lSdOG8lBIS9b64LqNj-nIBZgeiYNl*<{qW}rln=xSS(3Qeg;wMK?`BYAWiipQ(KvIXeh`TB47Ce#nj7~sR$Dp(zQK;eq4eg z&0%OQ`b^E#=iv>Sv178X<0JOY)wb+fvTYk`z8|&)c3oL7eD-I*I=;!TBZLV=7Jv!f zVm$y@-dLfAB26chBR^z?7ZuAzd>cD{)t);QtkYz}434LKXQnPQjQ1Y9&A+0*O<+kd zcm+$j$tD>kp?F)C$-61v=L${0mcw6B_R<^khAZV?~+5H zk61tmoQUPM%-BCoTF1W!BJKE0$o4d+(XMe51cX3|n*~iF=^jj)L&~LPoIngv*^c#N z5Rs0q#hXKt>~M%*s&#V_$>h90MliJ=_l$?h1|jOt-9rmV)M;dm}@% z7cPu<{`f&GH}KODY#W`i1TpQ7PBeqvbC25fM&NT0Ig^E+Pp8eLIlOgnAynXqFL1Hy zfGOl!LN)qpm}pJZCU+Plxb?&vlmx1lofi0g%oVW*gEk+rAKl`&R5f2t{pJF~5{*FdZ}X}Ty2 z^GO^_7TyI)$Hes}Rg+lhK_fkuC)=rg#@(OkdW2t9$Le_F+-e->1XYU02<* zQ`)20`Hag+(fNG5xOwo<(?9hTNJ&`KQEf$aLbs?f(QQpd6CuDwF13N0Oq%%snOX#4 zr-0K;na{g5K^S*!3ST8Fe*%O!{3Adk*wSwkMB#T43)EN;CFXZ0qi(imf4%vuV~Y!b zbO1|Qq~de}P+N*I3gE$ntsna2Pdzm{yy=(F0x+EF#++}+0lB1{Qf|snSt?Wijd<}Q zWR1*~y%-P+VFrCd6Uz+ceTmk;a!k(DM#yJ9uEMwG@WxHP#H%PsCu%qRmPN6#jhF$HK{s6w+sjKe zO&p~G;^>3Asg-Odz(drVyh;;14k>s@+kB>FG2aHt&VTmbJiYVWr+FS2CJs%-#T?JA zI(~Gz^TX_ZW+%*H@vXuvDl1$S(#Vb_2KO+aso0u{kL7|Xj`3>77e^=Dtm(8*&#->A zbvKxpX@_(hu(D9Cm5Zf2d#*h3Z9cvBx~ApB=6I9?sPOu5xvoW(W{vrqUw{##)d} z(hMm%0n(>S(Z=8KucXLV8*f1s^=r9Nwj~+_n%YrX^lL0VG8RU&MoF=W{@g6iZd(S^ z4u$yamwxHWh2Q#DUkxz%y*&@X68;r&)nJT8%OS{gLxN7@Rc1w7p(Yk%RvX~s@Uz(H zLe{RvXTSj95(|^X@uFyV{%M-OJ;e2uepZ^pg22M8IgDqA^%0MDcFres`HW@Q;N@h3 zqH;Y8<*6zK`CM>Z1)997k|Q4QN(ToZi`X>aD@Qp==4k%l*Z$EL_ijGP6U#e?nD{DV zC%Df`^GG3(j%1~0dNU?h&1614K}cXoE{@(@IbDGi`mjt>R*#@pC2Ts@smN;-1XhfK zIMdeWh#nkU^&9hCq({i{XWoK(F2;M$K6&lIU;9U2gxmw@cwSGM^F}7fNLeW}Wfw9; zmdaHBN*NbfuUGj9M=Z44ki|-C1`|u3@rgl)Ebb23Rhmw`d*N{xR>K*`oCnbhEiiT% zO%=|cz81U5Fp;QYzUK`FLHtpB;J6>*+wlRe_9$wad1i9f^M}6r_b*Qm;wQRJ9NPxb zNp3)B*~6D!GmR zZH@qU=}WK~qTd=fwCRhNZ(jW6zkiv153Uc!+);OPZtGmPGB90ktct9ZnZA`WRF=wA z*(zgY9WqDuu4{?~pAEL#kYkKne@+FKe616|bAz>uoi32uYOVR0VT^I~#>IhWUA8RB zaTUas!@X*A1$kAum!vr`lbk5i>DS(Zj=?>;^yRoWzJ&mj^`4#pl965fX`eNnJ6P%7iFf#QijS>nQm(Z`f8srn-)l|$97u27>{w` zshk^a=Qu5sKjNA;>hqa~XZP7BuRr{Yf9Laq`OKf+iaDclonz-WZj#uYS?4<3jx5K5 zge9pmQdYV!%C5N+yccbCni+K5J+RE26z-*5U$OIu$(OXK8%+EO@NC7lUV#)nZTDC638)-m^kIL5eq8n|%>&J8`s`OearM$K z|Kw$E%i zyenlvXSL>+GuJyj8{j8|2W((k?MA#>lkWDo(uvo^O};Zd*kuH)E>fQd0PylkHb3ga zEo zWagtz(|^{>I=A)TjwuFEho5wWbKm8E^X!Gsee@a4nm#IRsPWlaF_>Xe`C-d7KXN_r z`3A$mdNA+eBNZTTXinxmj%ASZ>f9w&04%;7=|+`229^25)cdog3`$ zAFg(Hj+XrHD(KhC1$qh zsthfBTez7mMue~j>-(So=rg+qmk+MI_Ak6{HR4AH?-rC`4RO`mdKGk!9!N5@*vhako)4Mya$}+mBD^{-lW$$WP#1i`K90dKfbbaERLUkaIr%Gv_gZ37ts4kkU@Uh%vvv7BVduLd!39zBic%B|VrxAN&)hEnl0U8_kg;@DlgaaV} z6-c8k=AIuWyY<;?k399)4_|ogfBO2_nQtp^Gvr{m<3^bF6iBeg<7AL}&_So4pk-4n z2+FW(WqECg(1Ve5@CVfb3CD4Or`D-a@U;E6okw*TcV77In-BfwKm79O$TuX_R5;}< zcvgVj4yYAx!0@SRIxm0%R4fvb#@|}1<@9++*2n6(I;pVO$WA-~Tt|3X)8%S4IqOEQ z<8`a2u^(sa_L$UGd8#MH3V0(V@^bq_7Ph{YYZ z(z$k9I}XM;F;7NcK%c8FLEr;0NlXL>R~?gCuC#gu02IBOU`ZCBNXv-QtX~~=AL6fKQw&m9KNS=&?R_W9Xp5#sb zY(MkH!{uys|L6YYGZ#PkcQ22QZtzxUnFG+z9O{?G`z|xaQsxjE^5_*O+W!@065OAMosp|Vt_MYgPE)pe`(@r~zUNQ@+A3bp*bqsEeDTWdYvJ+`{k z;X6*w4R}dowZFd}Oj+AH8nbBHn?zsiiAU-zAG*aFEj1eZN`_{T=geOG?=*|XPw<)y2S{P3fP=ih$bvEDJ*nt`Sx)GqBM ziYnd6e9&a<6SwolkY$0V)oxZZv>HsFp!I)B-oIHthqia+Q#T&`+&_JKcyR52He%TZ zHZ@Q<>a<({RWC%EHm^U$u|8ye$_48Cdn?jI4#CAT14@b|A20UNe9VQ<^oG-(CUDF{ z9T!8VthD<~@a);^tLN{3Y?Uud+>5sIoNm)t5)*-mNNEPORxXXpMus-9oj#Fs`#FF5fhhbq**(0qGXP}i$M$mX-$WY#AR;S)>S z)>u)k@= z%$aj{Jcnz|X3<_%TRHd2Kv^ggW#e6-vQlOtJ7lOVm8r5-#<>`(?917dzln{+N?T_7 zt{O|GR%>-nJ=*yUF&+8t{II)q>%w4nceY&Z4|tw~b7hbyfeGe^m9%0|`R%p*S)5Ib4WR>2O1-bH= zrk_%tJZ4cDK{pLOd1Ud5Fi5xE7tuR_tICiugXA*%Cg9My3Usrl5$%LjI6`L_ zvsK4eYX<(Pi~A1{jBhk_)tuIw} zbEcMx=YO&N1v4LadG1Vzn;7zfr2wqD6pSVEv^h&q2`K0+G4L{bH^vO2wfw>@W>CLs zzS`yLU*oVJ_IH6{0?+elZSDdERmi-)h?=1CH18Dd2rTVq$hEd`nn|2r9jzzlhbv9u z**(5vduudc31TqaS#?V0^nIfCdJ(z@@R%`e_V(-wdfR*8-`6$#+8o zT(MENyxA+j;@vHF)B!XW{B%gs_=C~T{^u9F`=7u0z_S?WbMLzE*8T6jZ?^XsI~V!k z!8Qa6Acz7rPoROGDoJ{RBdXPMqrQwxn)2r8Er`0Z}A6w3?M zSzoNDEP5XCeLvQ#mPgB-v&*;()C9&|;MrxrW_6kgJk7UaY!RHhJBAimxf*YUT#-+c zcCA7Xd;VG{^Tw=SuBJD?bhvZ# zsr}vSpV^<@{K7uB_eJXhe#V5tV84^v3ZJT63>#+9mGye}Ru@6_kyzw(8G&;KWW~(6 zbQ5Vohfh^*kX&}qbRq&xXuqn?@`4(RpYK9-Em*GtV3XzH(azGxHfIiQF3+A__IH7~ z!tN=mR9bCyH(=dSW5t}EthHjg<4&QP#7Dd9E0!OE?h?c0;-h2@7;6 z*ByX3WzbVznGpZpS|Bg1%E(7;tfP(4Mx(MS8y{ZrK`-*xL^J;K z7Jj+msOLaqfQwCb$M5}>7azF&=UjB!y(26!rmW@#k!G>cTnxx11@Hbsa|ytcLFFAF z6BM9wy=t^G>z5YvtIo2^+`GUufw{t-zLn>1xErW~Cpho&XIpE@t|PD3x^d&tfzEtB zOFTT^4O?e^KHK4L_5e%`!=WF~alabP#TphGr)aOD#YpSqcdMydi^<)=EsM08OAQ9{ zs6(2%T>0>;xuC@t?RD$GFU~yt0E`>c&{ky&v|!>|(G+sAdta*Y3q1olmtUYVdjK`S zbo%sAgUO+OC_A|8#lWa4n5fHhUcg0J)lS7XRBOeXGH5C;5XKts`@x3e&I-FG&!rlG z(w{BJlHR66Pt4xa-~c4la*V`p8zDxU?W zU)A0Pz8r1keBEW@j;Hi);JW_sY`8eMI`BcY;5xW*Fv0|47U!cofs4tR@KPe`0Du7` zO`@QRG-eOMsVV@LVDojD6{Zjn0W#|plUaea_NNkBfC(l5hD|^)n8bB_c#6CWwekBM z$3ROU5eF`aLHzLySZ)YyT9Y!67m`6QaStSE=wX=9S}X*FcGC1|0tHm~SPh`q;w`Yy zSOqkIBklx!XP~T}a}@wEfrVMrJO-F}nh{z`O~o2jIO_OR@lg46P`O^UcYbe~pmKHn z!gD*TZNKW}g38Ict0^oqSkzyF%Z~CcQB>!%M8A>rLU(lqxY*sl*8#4MtD@W8nRWBo z9`C650tu!NZ!68>k{R)%K)%?fkeC=mfk)y87WMl5oQ@xRD<%VSvg0GMhP0TOE)1yDZw z^HCX#p7aIHb*ggrr=#xD!fBf7Bv7@h>+~Dp>j9M&?-^L7o6W!VE-_|0{Vl=e;%VL~ zT4NhreiF&2pDdf=iRgbbjlMoP<{e24hu^wlj0|GPK@1r0h5680@1e$a5XU|QULP&H6AFl zl;DOEz=g5n`*?gu15L#n^gIU~hfn1KXlwoimCt(HJ3v7dGORC0Z2ML8|FXiygxyQc z)LQbU*4p;B+B?PB`Qgz0Tdi4K@Z2-+7RN)LD|6?FYMCq-_+R)O(VNENFxY* zDtxZ+t%z5eLhb~mdp8KLCJ;IE)Dj@23@PFrtsLeVl)8F-3!GO(l9IT znnHePgf9bg6?#JuF}=kOUGMsE1u%UqM?rIIG3bqDg~e*R$h*IIuv~qr1eM#2+dIH- zgkM$WqWnE^(prX-(%&d>O~(tCCx+t@z``W5Lx@`y_6{PD3CjXF`NRvr69B^h3a|kp z0S2HVzpB6r8a@^piaS4eh|$Q56&owq0F#b zr4(tXR?6_B1QuJ01(mxLEQ@D~Uiodl+B+RFvk^1*Y1 z)}iMep5bCLWzWMQYZB8DAM+vxWPm`BdFRMW-T^Ky@6cd4Tw}z6b}Cw|08Pz>$pc^! zhbD`B0hxdbEe5~}$OM>ohDB=ysK{e?1r;*_z(hztH>b@JEWu&cm7gJSaRq<@Aos56Hv%AH0G0Uw5+FizhpA%~Cbl7Qr39#A8#sPcfQhmZ zm*H}?LwvMctacaUIa`@{UC+C}^rgxF{; z?h=qbYAWK?TBt7eC>D*yX#=t{Hx0lxW`l_fV8LaK@}L(6hHC1ymEgie;Zs?ze^tN) zs7pG&nV^;uP&}P;i*&|>j5 zdwnoIHm47^B1Ti8Uf4%LTmgj)b=Hd+1Z--l0-_=Ql*eBCB2A)d%(8Hl zfD0glBLQ~XVK=gS3^=gSzq zXuhuSihyO0t=2MsCvdgvTrQ%n76*g9>CtG;mI&9nbn5lHG>vMlUVEX%LTe3J;{z<* zS4AA@1ehR#j=aJIVmAErZ`=`9?WESKAdBS(G!&XkO~p|(S0Jo_D?kNiA^@}J(OMvyFCkWd@opb_HQsRQ0j2ih$d9hXD_Z(c z?xCt$Dkcik=X1aGr~G)w!O?W-FO0aN-mX*S-QS%wRXMeA_Kd&^rTyQ-)yFT#Q zVtdEfn#P^Q!LZd{T;n6P)@sBPl(=&QFvFEE_HO_TSon1b%6RENG#8o)tt7}SQ+t60 ztSn%PyuiY@;vWhMK&hdqA*e!)2`tkmg+Ne%D!>(2HeXJYX)KQYruLe|7j?#?G1sqVQm`TaV}K0-4?yGA+^-I} z5Jnmr%dBY%)liWSV4<}zhZ;P!R+vD+RY4_0q~%$QJkx-pF%M`g)Q}o0pd+YKdqD|y zS9%2)Hk=y_sxxvy=GR>O78T~s&oi=w;~@K_lvU@AmeN7r zHht-&$Fo0P*~;Yv&*8L3HI}^+^Jo1G{lq2VmBe=fm+iLC7IUpD{jSA)f6%UX39cni z3DftAuVXr&6<{t+uz!|!(LfPk;=6Nz>Hll)T$j^^fiOBIp=mnp`@d*s+6;vBoLw*3 zD274{A^L$XX0T$Pe7ln675*47u^9{sWixre#qGiJsAS&a08Y5nDs!L-xWLS!mp89N z)EBSO9;o=D7^+l!gy{n`^8g9;0v3^0nPT$SIO+mKgflE+#Qfv{9Rw^Oi}+LkMNH}l z(1A?vfkJng_Do;O<=}nP=cK3W)Q|a7cDE)!`>eX{mx3yO%a2Q^4p{fOJkJQ1epjiN zrtx|EjRk_~*q86MdI53ZNJUhH|M+f~13`U(B&kErBv1kqU+8U_1*bhkf>QOgR#yH2}l7@l#G%1yDF$ z2^UV2AOV=|XrYqjB3eFO%b4n94~5AP*n(6FB}n>F9Vivb=r2wqlrPm)s+&IhJUZ#N zb)~unRGwq;qIuvFsl(;(ougjmdpUCSanK>a_9ilojsNC%Yi?br7(fXb&x^2%s230k z6T?L;AHp#!7Eg5oB*?-vs#w$`%|6z?o~=BioBgcxxA2?bk5lL+v6pbvi(|6#c%s@&2%bU_MyL| zp?YmLKc{XUchA445im!PtV3n$0zuhA+)3)(Izl|J0y06m_qGX`pc!C=$A_qt z3-3d@fX5ltn2KTyYJWn#qEMh&AKQO@MN@ccJ1;cuWBo(&T=B*j~;IPzGZp z7bad^%67_|%>ypuhA9FdW5rd()yL#@g^KuOtn@6iXRNAm!qe`RN?E=IRG#;$iscDR zBV4wfs$Qo6_VTzv2By^ms-<~U#ZZq`LB_HP=HZnNpxW^)SEvMy2A)UbQ)5zjN}2vu zLgo1HRk`f(`xHvW&w7Lz1VCc%hAqMBt)lN%rz zoj8IBHsOaxCY51guQtkMB>DPJZ}chPlTN zQ^j}=?dtk~%xxSkv(y{ES)gXn1Z#Ict;vN<;GD;goPGp&M=p$O2R$q}&XXrxcQ3Kq zJ4=E*-a&G|Kh2xVh6*M(?RQeFb zs*{1?Z{@>H4k+-B86p=N+Q7G>nAgXHe-nz>RYHyRbD zQJoy+>6D)fl;`auzUYU8i5sLh7wiV-f2Uxl0A@dz%;X4}N~XiFxg6EZ-{`PCx?u)M z6B@@*ICGN#W+^`fr0RlWS(9e|Yb7`+)C^G^8&pY<^qWeVA_m40nEZ`#=G?Y&%q@Qw zpzMq3%>~P*+kBp@VD_>`k@{iQYc9;uzmQi1%ADrBx% zt8!N)L5lCqX6_J7ey2|xSa+0XKKf9$eKw%%lj)?3mtXyu&r<-iC!?9PtyIi%hs=5h z&AMh&MT;`3X0EcCt8V6%3c#uhOqI|alR Y0AXs(pX{o)Q~&?~07*qoM6N<$f_1}7DF6Tf literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_operation.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_msg_box_operation.png new file mode 100644 index 0000000000000000000000000000000000000000..1da53e85da03c871c84afd2425334055284e99a3 GIT binary patch literal 14948 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

QaubFMBARFi-5j=Yy$^U31<`gkw`OP$!l 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_report_error_open.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_report_error_open.png new file mode 100644 index 0000000000000000000000000000000000000000..75cbf7793b5be92683cb29936ad9aafbbc6cb976 GIT binary patch literal 3058 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_divider.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_divider.xml new file mode 100644 index 0000000000..96fc4dc99d --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_msg_box_divider.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_msg_box.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_msg_box.xml new file mode 100644 index 0000000000..dca4cc1eed --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_msg_box.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml index f1eef9611d..566b59fc2e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml @@ -167,7 +167,6 @@ android:layout_height="120dp" android:layout_marginTop="30dp" android:layout_marginEnd="40dp" - android:background="@drawable/bg_waring_limiting_velocity" android:elevation="@dimen/dp_10" android:gravity="center" @@ -181,6 +180,48 @@ app:layout_goneMarginTop="40dp" tools:visibility="gone" /> + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_ipc_report.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_ipc_report.xml new file mode 100644 index 0000000000..a8eae24883 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_ipc_report.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_notice.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_notice.xml new file mode 100644 index 0000000000..6bd7c2fc06 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_notice.xml @@ -0,0 +1,52 @@ + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_operation.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_operation.xml new file mode 100644 index 0000000000..ff8a6fadab --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_operation.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_operation.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_operation.xml new file mode 100644 index 0000000000..cf5281b473 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_operation.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_report.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_report.xml new file mode 100644 index 0000000000..1737bbf3af --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_report.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_bubble.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_bubble.xml new file mode 100644 index 0000000000..967b30a914 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_bubble.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_list.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_list.xml new file mode 100644 index 0000000000..45b131202c --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_driver_msg_box_list.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml index 5d7d219244..a77286ff33 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml @@ -123,8 +123,8 @@ android:padding="@dimen/dp_20" android:background="@drawable/radio_button_normal_background_right" android:textColor="#000" - android:textOff="关闭OBU" - android:textOn="开启OBU" + android:textOff="开启OBU" + android:textOn="关闭OBU" android:textSize="@dimen/dp_24" app:layout_constraintTop_toBottomOf="@id/tbRainMode" /> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml index 673fe26115..333b277f12 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml @@ -10,6 +10,8 @@ #3B4577 #256BFF + #FF1BB7FF + #6200EE #3700B3 #03DAC5 diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index 872f4f8b9b..f5eb6bac20 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -92,7 +92,7 @@ interface IDevaToolsProvider : IProvider { /** * 当工控机回调时调用 */ - fun onReceiveBadCaseRecord(record: RecordPanelOuterClass.RecordPanel,activity: Activity) + fun onReceiveBadCaseRecord(recordKey: Long,fileName: String,activity: Activity) /** * 展示录包配置 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index b09062156c..68e64f9cdb 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -123,8 +123,8 @@ object CallerDevaToolsManager { /** * 收到工控机回调时触发 */ - fun onReceiveBadCaseRecord(record: RecordPanelOuterClass.RecordPanel,activity: Activity) { - devaToolsProviderApi?.onReceiveBadCaseRecord(record,activity) + fun onReceiveBadCaseRecord(recordKey: Long,fileName: String,activity: Activity) { + devaToolsProviderApi?.onReceiveBadCaseRecord(recordKey, fileName, activity) } /** diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java index 12bb0d36c3..1de99c382e 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/TimeUtils.java @@ -43,6 +43,10 @@ public final class TimeUtils { return getSafeDateFormat("HH:mm:ss"); } + public static SimpleDateFormat getHourMinFormat(){ + return getSafeDateFormat("HH:mm"); + } + @SuppressLint("SimpleDateFormat") public static SimpleDateFormat getSafeDateFormat(String pattern) { Map sdfMap = SDF_THREAD_LOCAL.get();