From 4660ceee7047b510548f94a87e8a6e52d82a9289 Mon Sep 17 00:00:00 2001 From: Administrator Date: Thu, 6 Aug 2026 09:23:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1257-18B.sln | 141 + BTW/新栈板V1.0.btw | Bin 0 -> 25681 bytes BTW/新箱唛V1.0.btw | Bin 0 -> 56528 bytes IOT.Services/App.config | 62 + IOT.Services/Config.xml | 3207 +++ IOT.Services/IOT.Services.csproj | 127 + IOT.Services/Lib/Newtonsoft.Json.dll | Bin 0 -> 701992 bytes IOT.Services/Lib/PLCCommunication.dll | Bin 0 -> 1765376 bytes IOT.Services/Logger.cs | 135 + IOT.Services/Models.cs | 85 + IOT.Services/MqttClientWrapper.cs | 376 + IOT.Services/MqttDataService.cs | 730 + IOT.Services/NLog.config | 62 + IOT.Services/PLCDataReader.cs | 155 + IOT.Services/PLCWrapper.cs | 104 + IOT.Services/Program.cs | 20 + IOT.Services/Properties/AssemblyInfo.cs | 35 + IOT.Services/Service1.Designer.cs | 38 + IOT.Services/Service1.cs | 1179 ++ IOT.Services/StationDataComparer.cs | 94 + IOT.Services/XmlConfigReader.cs | 74 + IOT.Services/log4net.config | 62 + IOT.Services/packages.config | 4 + JinYuan.ControlCenter/ControlCenter.cs | 2039 ++ JinYuan.ControlCenter/ControlCenter_Ext.cs | 61 + JinYuan.ControlCenter/ControlCenter_Plc.cs | 2078 ++ JinYuan.ControlCenter/ControlCenter_Total.cs | 677 + .../JinYuan.ControlCenters.csproj | 114 + .../Properties/AssemblyInfo.cs | 35 + JinYuan.ControlCenter/app.config | 63 + .../iniConfigHelper/CreateIniFile.cs | 6 + JinYuan.ControlCenter/packages.config | 8 + JinYuan.ControlLib/AlertManager.cs | 63 + JinYuan.ControlLib/ArrTotalQty.Designer.cs | 173 + JinYuan.ControlLib/ArrTotalQty.cs | 136 + JinYuan.ControlLib/ArrTotalQty.resx | 877 + JinYuan.ControlLib/CPK.Designer.cs | 263 + JinYuan.ControlLib/CPK.cs | 285 + JinYuan.ControlLib/CPK.resx | 120 + JinYuan.ControlLib/CheckBoxExt.Designer.cs | 36 + JinYuan.ControlLib/CheckBoxExt.cs | 132 + .../CircleProgramBar.Designer.cs | 36 + JinYuan.ControlLib/CircleProgramBar.cs | 220 + JinYuan.ControlLib/ControlBase.Designer.cs | 37 + JinYuan.ControlLib/ControlBase.cs | 258 + JinYuan.ControlLib/CustomComboBox.Designer.cs | 36 + JinYuan.ControlLib/CustomComboBox.cs | 280 + JinYuan.ControlLib/CustomDataGridView.cs | 233 + JinYuan.ControlLib/CustomGroupBox.Designer.cs | 36 + JinYuan.ControlLib/CustomGroupBox.cs | 137 + .../CustomRichTextBox.Designer.cs | 37 + JinYuan.ControlLib/CustomRichTextBox.cs | 442 + .../DataGridView/DataGridViewCellEntity.cs | 40 + .../DataGridView/DataGridViewCellEventArgs.cs | 45 + .../DataGridViewCellEventHandler.cs | 38 + .../DataGridView/DataGridViewColumnEntity.cs | 79 + .../DataGridViewRowCustomEventArgs.cs | 36 + .../DataGridView/IDataGridViewCustomCell.cs | 19 + .../DataGridView/IDataGridViewRow.cs | 87 + .../DataGridView/UCDataGridView.Designer.cs | 147 + .../DataGridView/UCDataGridView.cs | 815 + .../DataGridView/UCDataGridView.resx | 120 + .../UCDataGridViewRow.Designer.cs | 102 + .../DataGridView/UCDataGridViewRow.cs | 332 + .../DataGridView/UCDataGridViewRow.resx | 120 + .../UCDataGridViewTreeRow.Designer.cs | 149 + .../DataGridView/UCDataGridViewTreeRow.cs | 475 + .../DataGridView/UCDataGridViewTreeRow.resx | 120 + JinYuan.ControlLib/DialPlate.Designer.cs | 48 + JinYuan.ControlLib/DialPlate.cs | 341 + JinYuan.ControlLib/DialPlate.resx | 120 + .../FanShapedSchedule.Designer.cs | 37 + JinYuan.ControlLib/FanShapedSchedule.cs | 88 + JinYuan.ControlLib/FlatComboBox.Designer.cs | 36 + JinYuan.ControlLib/FlatComboBox.cs | 171 + JinYuan.ControlLib/Forms/FrmBase.Designer.cs | 74 + JinYuan.ControlLib/Forms/FrmBase.cs | 622 + JinYuan.ControlLib/Forms/FrmBase.resx | 1185 ++ .../Forms/FrmTransparent.Designer.cs | 73 + JinYuan.ControlLib/Forms/FrmTransparent.cs | 169 + JinYuan.ControlLib/Forms/FrmTransparent.resx | 1185 ++ .../Forms/FrmWaiting.Designer.cs | 162 + JinYuan.ControlLib/Forms/FrmWaiting.cs | 103 + JinYuan.ControlLib/Forms/FrmWaiting.resx | 2214 +++ JinYuan.ControlLib/GroupBoxEX.Designer.cs | 36 + JinYuan.ControlLib/GroupBoxEX.cs | 40 + JinYuan.ControlLib/JinYuan.ControlLib.csproj | 705 + JinYuan.ControlLib/ListViewEx.Designer.cs | 36 + JinYuan.ControlLib/ListViewEx.cs | 75 + JinYuan.ControlLib/LogListBox.Designer.cs | 36 + JinYuan.ControlLib/LogListBox.cs | 103 + JinYuan.ControlLib/LongTitle.Designer.cs | 68 + JinYuan.ControlLib/LongTitle.cs | 67 + JinYuan.ControlLib/LongTitle.resx | 120 + .../LongTitleStyle2.Designer.cs | 68 + JinYuan.ControlLib/LongTitleStyle2.cs | 38 + JinYuan.ControlLib/LongTitleStyle2.resx | 256 + JinYuan.ControlLib/Models/CPKModel.cs | 134 + JinYuan.ControlLib/NaviButton.Designer.cs | 66 + JinYuan.ControlLib/NaviButton.cs | 90 + JinYuan.ControlLib/NaviButton.resx | 120 + JinYuan.ControlLib/NaviButton2.Designer.cs | 65 + JinYuan.ControlLib/NaviButton2.cs | 315 + JinYuan.ControlLib/NaviButton2.resx | 120 + JinYuan.ControlLib/NumKeyboard.Designer.cs | 426 + JinYuan.ControlLib/NumKeyboard.cs | 207 + JinYuan.ControlLib/NumKeyboard.resx | 120 + JinYuan.ControlLib/PanelEnhanced.Designer.cs | 36 + JinYuan.ControlLib/PanelEnhanced.cs | 55 + JinYuan.ControlLib/PanelExt.Designer.cs | 36 + JinYuan.ControlLib/PanelExt.cs | 134 + JinYuan.ControlLib/ProcessEllipse.Designer.cs | 45 + JinYuan.ControlLib/ProcessEllipse.cs | 456 + JinYuan.ControlLib/ProcessEllipse.resx | 120 + JinYuan.ControlLib/Properties/AssemblyInfo.cs | 35 + .../Properties/Resources.Designer.cs | 433 + JinYuan.ControlLib/Properties/Resources.resx | 232 + JinYuan.ControlLib/Resources/2bg.png | Bin 0 -> 323995 bytes JinYuan.ControlLib/Resources/4.png | Bin 0 -> 342117 bytes JinYuan.ControlLib/Resources/6.png | Bin 0 -> 18953 bytes JinYuan.ControlLib/Resources/61.png | Bin 0 -> 18953 bytes JinYuan.ControlLib/Resources/Green.png | Bin 0 -> 521 bytes JinYuan.ControlLib/Resources/LeftSelected.png | Bin 0 -> 1767 bytes .../Resources/LeftSelected3.png | Bin 0 -> 9210 bytes .../Resources/LeftUnSelected.png | Bin 0 -> 2099 bytes .../Resources/LeftUnSelected2.png | Bin 0 -> 9154 bytes .../Resources/LeftUnSelected3.png | Bin 0 -> 10697 bytes JinYuan.ControlLib/Resources/Red.png | Bin 0 -> 389 bytes .../Resources/RightSelected.png | Bin 0 -> 1478 bytes .../Resources/RightSelected3.png | Bin 0 -> 9021 bytes .../Resources/RightUnSelected.png | Bin 0 -> 1887 bytes .../Resources/RightUnSelected3.png | Bin 0 -> 10325 bytes JinYuan.ControlLib/Resources/Title.png | Bin 0 -> 1232 bytes JinYuan.ControlLib/Resources/TotalQty.png | Bin 0 -> 54472 bytes JinYuan.ControlLib/Resources/bg2.png | Bin 0 -> 335436 bytes JinYuan.ControlLib/Resources/big_arrow.png | Bin 0 -> 379 bytes JinYuan.ControlLib/Resources/big_arrow_l.png | Bin 0 -> 474 bytes JinYuan.ControlLib/Resources/big_box.png | Bin 0 -> 46335 bytes JinYuan.ControlLib/Resources/big_box_l.png | Bin 0 -> 44379 bytes JinYuan.ControlLib/Resources/big_box_s.png | Bin 0 -> 26299 bytes .../Resources/big_box_super.png | Bin 0 -> 100290 bytes JinYuan.ControlLib/Resources/caret-down.png | Bin 0 -> 281 bytes JinYuan.ControlLib/Resources/caret-right.png | Bin 0 -> 249 bytes JinYuan.ControlLib/Resources/loading.gif | Bin 0 -> 50707 bytes JinYuan.ControlLib/Resources/常规按钮.png | Bin 0 -> 8864 bytes JinYuan.ControlLib/Resources/开机时间.png | Bin 0 -> 20608 bytes JinYuan.ControlLib/Resources/数字指标.png | Bin 0 -> 5490 bytes .../星球地球科技蓝色转动动图压缩86.9.gif | Bin 0 -> 88945 bytes JinYuan.ControlLib/Resources/标题_03.png | Bin 0 -> 4375 bytes JinYuan.ControlLib/Resources/标题_03右.png | Bin 0 -> 4486 bytes JinYuan.ControlLib/Resources/标题_04.png | Bin 0 -> 6263 bytes JinYuan.ControlLib/Resources/组 178 拷贝.png | Bin 0 -> 689290 bytes JinYuan.ControlLib/Resources/蓝色.png | Bin 0 -> 496780 bytes JinYuan.ControlLib/Resources/运行时间.png | Bin 0 -> 20961 bytes .../ScrollBar/ScrollbarComponent.cs | 829 + .../ScrollBar/ScrollbarControlDesigner.cs | 39 + JinYuan.ControlLib/ScrollBar/UCHScrollbar.cs | 519 + JinYuan.ControlLib/ScrollBar/UCVScrollbar.cs | 539 + .../ScrollBar/UCVScrollbar.resx | 120 + .../SidebarNavigation.Designer.cs | 48 + JinYuan.ControlLib/SidebarNavigation.cs | 1133 ++ JinYuan.ControlLib/SidebarNavigation.resx | 120 + JinYuan.ControlLib/SimpleLed.Designer.cs | 50 + JinYuan.ControlLib/SimpleLed.cs | 40 + JinYuan.ControlLib/SimpleLed.resx | 120 + JinYuan.ControlLib/StatusExt.Designer.cs | 40 + JinYuan.ControlLib/StatusExt.cs | 521 + JinYuan.ControlLib/TButton.Designer.cs | 67 + JinYuan.ControlLib/TButton.cs | 47 + JinYuan.ControlLib/TButton.resx | 120 + JinYuan.ControlLib/TextSet.Designer.cs | 108 + JinYuan.ControlLib/TextSet.cs | 112 + JinYuan.ControlLib/TextSet.resx | 120 + JinYuan.ControlLib/TextSet2.Designer.cs | 95 + JinYuan.ControlLib/TextSet2.cs | 99 + JinYuan.ControlLib/TextSet2.resx | 120 + JinYuan.ControlLib/Title.Designer.cs | 66 + JinYuan.ControlLib/Title.cs | 36 + JinYuan.ControlLib/Title.resx | 120 + JinYuan.ControlLib/TitleButton.Designer.cs | 66 + JinYuan.ControlLib/TitleButton.cs | 90 + JinYuan.ControlLib/TitleButton.resx | 120 + JinYuan.ControlLib/TitleTime.Designer.cs | 98 + JinYuan.ControlLib/TitleTime.cs | 246 + JinYuan.ControlLib/TitleTime.resx | 120 + JinYuan.ControlLib/Toggle.Designer.cs | 45 + JinYuan.ControlLib/Toggle.cs | 338 + JinYuan.ControlLib/Toggle.resx | 120 + JinYuan.ControlLib/TotalQty.Designer.cs | 69 + JinYuan.ControlLib/TotalQty.cs | 49 + JinYuan.ControlLib/TotalQty.resx | 120 + JinYuan.ControlLib/UCBlower.Designer.cs | 46 + JinYuan.ControlLib/UCBlower.cs | 473 + JinYuan.ControlLib/UCBlower.resx | 120 + JinYuan.ControlLib/UCCheckBox.Designer.cs | 105 + JinYuan.ControlLib/UCCheckBox.cs | 225 + JinYuan.ControlLib/UCCheckBox.resx | 120 + JinYuan.ControlLib/UCControlBase.Designer.cs | 37 + JinYuan.ControlLib/UCControlBase.cs | 265 + .../UCElectricityMeterH.Designer.cs | 340 + JinYuan.ControlLib/UCElectricityMeterH.cs | 335 + JinYuan.ControlLib/UCElectricityMeterH.resx | 256 + .../UCElectricityMeterV.Designer.cs | 768 + JinYuan.ControlLib/UCElectricityMeterV.cs | 341 + JinYuan.ControlLib/UCElectricityMeterV.resx | 261 + JinYuan.ControlLib/UCFengSu.Designer.cs | 120 + JinYuan.ControlLib/UCFengSu.cs | 147 + JinYuan.ControlLib/UCFengSu.resx | 120 + JinYuan.ControlLib/UCHelper/ControlHelper.cs | 2464 +++ JinYuan.ControlLib/UCHelper/DpiControl.cs | 65 + JinYuan.ControlLib/UCHelper/DpiHelper.cs | 53 + JinYuan.ControlLib/UCHelper/Ext.cs | 474 + JinYuan.ControlLib/UCHelper/IDpiControl.cs | 13 + .../UCHelper/MainThreadAnimationControl.cs | 159 + JinYuan.ControlLib/UCHelper/MouseHook.cs | 195 + JinYuan.ControlLib/UCHelper/NativeMethods.cs | 312 + .../UCHelper/PropertyOrderAttribute.cs | 27 + .../UCHelper/PropertyOrderConverter.cs | 60 + .../UCHelper/PropertyOrderPair.cs | 49 + JinYuan.ControlLib/UCHelper/WindowsHook.cs | 177 + JinYuan.ControlLib/UCLed.Designer.cs | 42 + JinYuan.ControlLib/UCLed.cs | 277 + JinYuan.ControlLib/UCLedAvatar.Designer.cs | 49 + JinYuan.ControlLib/UCLedAvatar.cs | 149 + JinYuan.ControlLib/UCRollText.Designer.cs | 39 + JinYuan.ControlLib/UCRollText.cs | 291 + JinYuan.ControlLib/UCSplitLine_H.Designer.cs | 65 + JinYuan.ControlLib/UCSplitLine_H.cs | 36 + JinYuan.ControlLib/UCSplitLine_H.resx | 120 + JinYuan.ControlLib/UCSplitLine_V.Designer.cs | 65 + JinYuan.ControlLib/UCSplitLine_V.cs | 36 + JinYuan.ControlLib/UCSplitLine_V.resx | 120 + JinYuan.ControlLib/UpDownLabel.Designer.cs | 101 + JinYuan.ControlLib/UpDownLabel.cs | 157 + JinYuan.ControlLib/UpDownLabel.resx | 120 + JinYuan.ControlLib/UserStateChangedEvent.cs | 24 + JinYuan.ControlLib/UserStateMonitor.cs | 174 + JinYuan.ControlLib/Wave.Designer.cs | 36 + JinYuan.ControlLib/Wave.cs | 294 + JinYuan.ControlLib/WaveProcess.Designer.cs | 65 + JinYuan.ControlLib/WaveProcess.cs | 346 + JinYuan.ControlLib/WaveProcess.resx | 120 + JinYuan.ControlLib/WithBgBox.Designer.cs | 82 + JinYuan.ControlLib/WithBgBox.cs | 54 + JinYuan.ControlLib/WithBgBox.resx | 120 + JinYuan.ControlLib/app.config | 31 + JinYuan.ControlLib/packages.config | 4 + .../ucPanel_400_200.Designer.cs | 82 + JinYuan.ControlLib/ucPanel_400_200.cs | 33 + JinYuan.ControlLib/ucPanel_400_200.resx | 120 + .../ucPanel_900_450.Designer.cs | 82 + JinYuan.ControlLib/ucPanel_900_450.cs | 51 + JinYuan.ControlLib/ucPanel_900_450.resx | 120 + JinYuan.DAL/Enums/Enums.cs | 100 + JinYuan.DAL/ISugarHepler.cs | 576 + JinYuan.DAL/JinYuan.DAL.csproj | 137 + JinYuan.DAL/Models/OrderSortEntity.cs | 19 + JinYuan.DAL/Models/QueryCondition.cs | 24 + JinYuan.DAL/Models/QueryDescriptor.cs | 27 + JinYuan.DAL/Properties/AssemblyInfo.cs | 35 + JinYuan.DAL/SQLSugarHelper.cs | 83 + JinYuan.DAL/SQLSugarService.cs | 1739 ++ JinYuan.DAL/app.config | 63 + JinYuan.DAL/packages.config | 24 + JinYuan.Helper/ArrayHelper.cs | 122 + JinYuan.Helper/CSVHelper.cs | 346 + JinYuan.Helper/ChartHelper.cs | 213 + JinYuan.Helper/ClearMemoryHelper.cs | 31 + JinYuan.Helper/ConvertHelper.cs | 18 + JinYuan.Helper/DataGridViewHelper.cs | 136 + JinYuan.Helper/DataTableExtend.cs | 165 + JinYuan.Helper/DeleteLog.cs | 206 + JinYuan.Helper/EnergyMeterHelper.cs | 443 + JinYuan.Helper/FileHelper.cs | 267 + JinYuan.Helper/IniConfigHelper.cs | 253 + JinYuan.Helper/IniFileHelper.cs | 75 + JinYuan.Helper/JinYuan.Helper.csproj | 176 + JinYuan.Helper/JsonHelper.cs | 90 + JinYuan.Helper/LogHelper.cs | 310 + JinYuan.Helper/Logger.cs | 63 + JinYuan.Helper/MockDataGenerator.cs | 101 + JinYuan.Helper/PLCAlarmParseHelper.cs | 232 + JinYuan.Helper/Properties/AssemblyInfo.cs | 35 + JinYuan.Helper/ScanerHook.cs | 291 + JinYuan.Helper/SendDateMQTT.cs | 856 + JinYuan.Helper/StreamIOHelper.cs | 127 + JinYuan.Helper/StringSecurityHelper.cs | 123 + JinYuan.Helper/TimedOperation.cs | 36 + JinYuan.Helper/TimerReset.cs | 37 + JinYuan.Helper/TxtHelper.cs | 65 + JinYuan.Helper/TypeParse.cs | 386 + JinYuan.Helper/XmlHelper.cs | 230 + JinYuan.Helper/app.config | 39 + JinYuan.Helper/packages.config | 27 + JinYuan.MES/Enums/MesResType.cs | 26 + JinYuan.MES/Enums/MesUploadType.cs | 33 + JinYuan.MES/IMes.cs | 164 + JinYuan.MES/JinYuan.MES.csproj | 93 + JinYuan.MES/MESApiHelper.cs | 164 + JinYuan.MES/MesDataProcess.cs | 1726 ++ JinYuan.MES/Models/BatteryInfo.cs | 45 + JinYuan.MES/Models/BindingParam.cs | 49 + JinYuan.MES/Models/CartonParam.cs | 29 + JinYuan.MES/Models/EqpStatusParam.cs | 67 + JinYuan.MES/Models/GetOCVShift.cs | 48 + JinYuan.MES/Models/LoginEnyity.cs | 39 + JinYuan.MES/Models/ManyCellInStation.cs | 51 + JinYuan.MES/Models/ManyCellOutStation.cs | 99 + JinYuan.MES/Models/MesResponse.cs | 390 + JinYuan.MES/Models/ParamChange.cs | 106 + JinYuan.MES/Models/ParamReturnData.cs | 94 + JinYuan.MES/Models/ProductProcessParam.cs | 15 + JinYuan.MES/Models/ProductResultParameters.cs | 118 + JinYuan.MES/Models/SingleCellInStation.cs | 44 + JinYuan.MES/Models/SingleCellOutStation.cs | 103 + JinYuan.MES/Models/UploadAlarmParam.cs | 79 + JinYuan.MES/Models/UploadDeviceCollectData.cs | 64 + JinYuan.MES/Models/VdaGetData.cs | 27 + JinYuan.MES/Models/WattrMeter.cs | 117 + JinYuan.MES/Models/WmsUpload.cs | 56 + JinYuan.MES/Properties/AssemblyInfo.cs | 35 + JinYuan.MES/app.config | 39 + JinYuan.MES/packages.config | 4 + JinYuan.Models/AGearEntity.cs | 48 + JinYuan.Models/Alarm/AlarmData.cs | 78 + JinYuan.Models/Alarm/AlarmStatus.cs | 15 + JinYuan.Models/AlarmCountEntry.cs | 30 + JinYuan.Models/AlarmForm.cs | 42 + JinYuan.Models/AxleLog.cs | 38 + JinYuan.Models/BGearEntity.cs | 51 + JinYuan.Models/BGearEntity2.cs | 306 + JinYuan.Models/BatteryStatus.cs | 12 + JinYuan.Models/CGearEntity.cs | 41 + JinYuan.Models/CPKModel.cs | 134 + JinYuan.Models/CTPCTQDate.cs | 228 + JinYuan.Models/CapSize.cs | 26 + JinYuan.Models/Chart12HourData.cs | 29 + JinYuan.Models/ChartDataType.cs | 17 + JinYuan.Models/ContainerEntity.cs | 16 + JinYuan.Models/ContainerKVDetail.cs | 18 + JinYuan.Models/DGearEntity.cs | 37 + JinYuan.Models/DataTurnover.cs | 66 + JinYuan.Models/DeviceOEE.cs | 65 + JinYuan.Models/EGearEntity.cs | 41 + JinYuan.Models/ElectricEnergy.cs | 79 + .../HelperAttribute/AnnotationUtils.cs | 39 + .../DataGridColumnAttribute.cs | 25 + .../HelperAttribute/DataGridViewColumn.cs | 11 + .../HelperAttribute/DataTableMapper.cs | 155 + JinYuan.Models/Hourprod.cs | 47 + JinYuan.Models/JinYuan.Models.csproj | 137 + JinYuan.Models/MotorLog.cs | 39 + JinYuan.Models/NgCodeEntity.cs | 22 + JinYuan.Models/PalletEntity.cs | 17 + JinYuan.Models/PalletKVDetail.cs | 18 + JinYuan.Models/PlcDevice.cs | 189 + JinYuan.Models/PrintData.cs | 45 + JinYuan.Models/Properties/AssemblyInfo.cs | 36 + JinYuan.Models/SysConfig/BTWConfig.cs | 32 + JinYuan.Models/SysConfig/Device.cs | 317 + JinYuan.Models/SysConfig/Enum.cs | 18 + JinYuan.Models/SysConfig/FDConfig.cs | 57 + JinYuan.Models/SysConfig/Group.cs | 47 + JinYuan.Models/SysConfig/PLCConfig.cs | 43 + JinYuan.Models/SysConfig/PLCGroupVariable.cs | 19 + JinYuan.Models/SysConfig/ParamBase.cs | 33 + JinYuan.Models/SysConfig/ParamList.cs | 42 + JinYuan.Models/SysConfig/PlcGroupConfig.cs | 128 + JinYuan.Models/SysConfig/ProductModel.cs | 21 + JinYuan.Models/SysConfig/ProductModelParam.cs | 46 + JinYuan.Models/SysConfig/SysAdmin.cs | 24 + JinYuan.Models/SysConfig/SysConfig.cs | 70 + JinYuan.Models/SysConfig/SysLog.cs | 38 + JinYuan.Models/SysConfig/Variable.cs | 103 + JinYuan.Models/SysConfig/VariableConfig.cs | 113 + JinYuan.Models/app.config | 19 + JinYuan.Models/packages.config | 15 + JinYuan.VirtualDataLibrary/CommonMethods.cs | 808 + JinYuan.VirtualDataLibrary/DBSQL.cs | 648 + JinYuan.VirtualDataLibrary/DelegateLib.cs | 43 + .../JinYuan.VirtualDataLibrary.csproj | 120 + JinYuan.VirtualDataLibrary/MesConfig.cs | 254 + .../MsgshowTip.Designer.cs | 89 + JinYuan.VirtualDataLibrary/MsgshowTip.cs | 115 + JinYuan.VirtualDataLibrary/MsgshowTip.resx | 123 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 73 + .../Properties/Resources.resx | 124 + .../Resources/感叹号提示-块红色.png | Bin 0 -> 2984 bytes .../Utlis/BartenderPrinter.cs | 271 + .../Utlis/PrintDataTransfer.cs | 943 + JinYuan.VirtualDataLibrary/app.config | 63 + JinYuan.VirtualDataLibrary/packages.config | 4 + LICENSE.txt | 674 + Language/2025_01_08_09_12.xlsx | Bin 0 -> 43319 bytes Language/Language.7z | Bin 0 -> 25002 bytes Language/Language.csproj | 135 + Language/LanguageManager.cs | 1119 ++ Language/Languages.Designer.cs | 5220 +++++ Language/Languages.en.resx | 2257 +++ Language/Languages.hu.resx | 2091 ++ Language/Languages.ms.resx | 2349 +++ Language/Languages.resx | 2103 ++ Language/LocalLanguage.cs | 165 + Language/MsgResources.Designer.cs | 675 + Language/Properties/AssemblyInfo.cs | 32 + Language/Resources/DataGridColumnAttribute.cs | 28 + Language/app.config | 35 + Language/packages.config | 19 + LargeSquareOne/App.config | 112 + LargeSquareOne/Assts/Fonts/75049.png | Bin 0 -> 118252 bytes LargeSquareOne/Assts/Fonts/FZY4JW.ttf | Bin 0 -> 2824840 bytes .../Assts/Fonts/Zen圓体-Regular.ttf | Bin 0 -> 3832700 bytes LargeSquareOne/Assts/Fonts/taolichunfeng.ttf | Bin 0 -> 12084456 bytes .../Assts/Fonts/zaozigongfangjinzhuti.ttf | Bin 0 -> 2874980 bytes LargeSquareOne/Assts/Image/BackGround.png | Bin 0 -> 341799 bytes LargeSquareOne/Assts/Image/Main.jpg | Bin 0 -> 393352 bytes LargeSquareOne/Assts/Image/电池.ico | Bin 0 -> 67646 bytes .../CommunicationEditForm.Designer.cs | 200 + LargeSquareOne/CommunicationEditForm.cs | 717 + LargeSquareOne/CommunicationEditForm.resx | 120 + LargeSquareOne/Config/Configure.xml | 167 + LargeSquareOne/Config/Device-bak.xlsx | Bin 0 -> 9380 bytes LargeSquareOne/Config/Device.xlsx | Bin 0 -> 9412 bytes LargeSquareOne/Config/Group-bak.xlsx | Bin 0 -> 4536 bytes LargeSquareOne/Config/Group.xlsx | Bin 0 -> 10125 bytes LargeSquareOne/Config/Variable-bak.xlsx | Bin 0 -> 10715 bytes LargeSquareOne/Config/Variable.xlsx | Bin 0 -> 11165 bytes LargeSquareOne/CustomMessageBox.Designer.cs | 208 + LargeSquareOne/CustomMessageBox.cs | 71 + LargeSquareOne/CustomMessageBox.resx | 120 + LargeSquareOne/FrmAlarmLog.Designer.cs | 369 + LargeSquareOne/FrmAlarmLog.cs | 189 + LargeSquareOne/FrmAlarmLog.resx | 147 + LargeSquareOne/FrmCpkCount.Designer.cs | 450 + LargeSquareOne/FrmCpkCount.cs | 493 + LargeSquareOne/FrmCpkCount.resx | 120 + LargeSquareOne/FrmDataMonitor.Designer.cs | 943 + LargeSquareOne/FrmDataMonitor.cs | 833 + LargeSquareOne/FrmDataMonitor.resx | 223 + LargeSquareOne/FrmGroupConfig.Designer.cs | 474 + LargeSquareOne/FrmGroupConfig.cs | 307 + LargeSquareOne/FrmGroupConfig.resx | 141 + LargeSquareOne/FrmHelper.Designer.cs | 107 + LargeSquareOne/FrmHelper.cs | 26 + LargeSquareOne/FrmHelper.resx | 120 + LargeSquareOne/FrmHistory.Designer.cs | 1380 ++ LargeSquareOne/FrmHistory.cs | 802 + LargeSquareOne/FrmHistory.resx | 120 + LargeSquareOne/FrmLogin.Designer.cs | 200 + LargeSquareOne/FrmLogin.cs | 321 + LargeSquareOne/FrmLogin.resx | 1256 ++ LargeSquareOne/FrmLoginMes.Designer.cs | 193 + LargeSquareOne/FrmLoginMes.cs | 191 + LargeSquareOne/FrmLoginMes.resx | 1253 ++ LargeSquareOne/FrmMain.Designer.cs | 862 + LargeSquareOne/FrmMain.cs | 1414 ++ LargeSquareOne/FrmMain.resx | 2943 +++ .../FrmMesParamMsgBoxWithAck.Designer.cs | 197 + LargeSquareOne/FrmMesParamMsgBoxWithAck.cs | 84 + LargeSquareOne/FrmMesParamMsgBoxWithAck.resx | 120 + LargeSquareOne/FrmMonitor.Designer.cs | 830 + LargeSquareOne/FrmMonitor.cs | 469 + LargeSquareOne/FrmMonitor.resx | 3227 +++ .../FrmMsgBoxOutWithAck.Designer.cs | 141 + LargeSquareOne/FrmMsgBoxOutWithAck.cs | 69 + LargeSquareOne/FrmMsgBoxOutWithAck.resx | 120 + LargeSquareOne/FrmMsgBoxWithAck.Designer.cs | 139 + LargeSquareOne/FrmMsgBoxWithAck.cs | 71 + LargeSquareOne/FrmMsgBoxWithAck.resx | 120 + LargeSquareOne/FrmParamSet.Designer.cs | 1281 ++ LargeSquareOne/FrmParamSet.cs | 1164 ++ LargeSquareOne/FrmParamSet.resx | 149 + LargeSquareOne/FrmRecipe.Designer.cs | 444 + LargeSquareOne/FrmRecipe.cs | 273 + LargeSquareOne/FrmRecipe.resx | 144 + LargeSquareOne/FrmUserManage.Designer.cs | 673 + LargeSquareOne/FrmUserManage.cs | 331 + LargeSquareOne/FrmUserManage.resx | 559 + LargeSquareOne/FrmVariableConfig.Designer.cs | 643 + LargeSquareOne/FrmVariableConfig.cs | 381 + LargeSquareOne/FrmVariableConfig.resx | 153 + LargeSquareOne/LargeSquareOne.csproj | 584 + .../Lib/HML.ComplexityPropertys.dll | Bin 0 -> 30208 bytes .../Lib/HML.ComplexityPropertys.xml | 732 + LargeSquareOne/Lib/HML.dll | Bin 0 -> 1188864 bytes LargeSquareOne/Lib/HML.xml | 16284 ++++++++++++++++ LargeSquareOne/Lib/PLCCommunication.dll | Bin 0 -> 1765376 bytes LargeSquareOne/NLog.config | 66 + LargeSquareOne/Program.cs | 148 + LargeSquareOne/Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 591 + LargeSquareOne/Properties/Resources.resx | 280 + .../Properties/Settings.Designer.cs | 26 + LargeSquareOne/Properties/Settings.settings | 5 + LargeSquareOne/Resources/25_密码.png | Bin 0 -> 1248 bytes LargeSquareOne/Resources/Alarm.jpg | Bin 0 -> 404243 bytes LargeSquareOne/Resources/Alarm.png | Bin 0 -> 7559 bytes LargeSquareOne/Resources/BackGround.png | Bin 0 -> 341799 bytes LargeSquareOne/Resources/Blink.gif | Bin 0 -> 3170 bytes LargeSquareOne/Resources/Current.png | Bin 0 -> 6947 bytes LargeSquareOne/Resources/Exit.png | Bin 0 -> 3670 bytes LargeSquareOne/Resources/Exit1.png | Bin 0 -> 833 bytes LargeSquareOne/Resources/Fault.png | Bin 0 -> 494 bytes LargeSquareOne/Resources/Green.png | Bin 0 -> 521 bytes .../IndustryAquaGauge2/Reflection.jpg | Bin 0 -> 3378 bytes .../Resources/IndustrySwitch/垂直关.png | Bin 0 -> 7223 bytes .../Resources/IndustrySwitch/垂直关1.png | Bin 0 -> 3010 bytes .../Resources/IndustrySwitch/垂直开.png | Bin 0 -> 6344 bytes .../Resources/IndustrySwitch/垂直开2.png | Bin 0 -> 3690 bytes .../Resources/IndustrySwitch/按钮关.png | Bin 0 -> 3520 bytes .../Resources/IndustrySwitch/按钮开.png | Bin 0 -> 2586 bytes .../Resources/IndustrySwitch/水平关.png | Bin 0 -> 7005 bytes .../Resources/IndustrySwitch/水平开.png | Bin 0 -> 6377 bytes LargeSquareOne/Resources/Left.png | Bin 0 -> 586 bytes LargeSquareOne/Resources/LeftSelected.png | Bin 0 -> 1767 bytes LargeSquareOne/Resources/LeftUnSelected.png | Bin 0 -> 2099 bytes LargeSquareOne/Resources/Login.jpg | Bin 0 -> 37773 bytes LargeSquareOne/Resources/Login1.jpg | Bin 0 -> 64759 bytes LargeSquareOne/Resources/Login1.png | Bin 0 -> 133364 bytes LargeSquareOne/Resources/Login11.png | Bin 0 -> 133364 bytes LargeSquareOne/Resources/Main.jpg | Bin 0 -> 393352 bytes LargeSquareOne/Resources/Red.png | Bin 0 -> 389 bytes LargeSquareOne/Resources/Right.png | Bin 0 -> 609 bytes LargeSquareOne/Resources/RightSelected.png | Bin 0 -> 1478 bytes LargeSquareOne/Resources/RightUnSelected.png | Bin 0 -> 1887 bytes LargeSquareOne/Resources/Run.png | Bin 0 -> 481 bytes LargeSquareOne/Resources/Spare.png | Bin 0 -> 353 bytes LargeSquareOne/Resources/Stop.png | Bin 0 -> 499 bytes LargeSquareOne/Resources/Tank/JYTank.png | Bin 0 -> 75331 bytes LargeSquareOne/Resources/Title.png | Bin 0 -> 1232 bytes LargeSquareOne/Resources/TitleBG.png | Bin 0 -> 219304 bytes LargeSquareOne/Resources/User.png | Bin 0 -> 527 bytes LargeSquareOne/Resources/UserManage.png | Bin 0 -> 501 bytes LargeSquareOne/Resources/error.png | Bin 0 -> 746 bytes LargeSquareOne/Resources/eve.png | Bin 0 -> 3550 bytes LargeSquareOne/Resources/info.png | Bin 0 -> 726 bytes LargeSquareOne/Resources/title2222.png | Bin 0 -> 81816 bytes LargeSquareOne/Resources/titleBG2.png | Bin 0 -> 117632 bytes LargeSquareOne/Resources/warning.png | Bin 0 -> 762 bytes LargeSquareOne/Resources/yiweidongli.png | Bin 0 -> 6717 bytes LargeSquareOne/Resources/中国国旗1.png | Bin 0 -> 18866 bytes LargeSquareOne/Resources/匈牙利国旗1.png | Bin 0 -> 8234 bytes LargeSquareOne/Resources/导航栏.png | Bin 0 -> 136964 bytes LargeSquareOne/Resources/开机时间.png | Bin 0 -> 12580 bytes LargeSquareOne/Resources/数据查询.png | Bin 0 -> 1465 bytes LargeSquareOne/Resources/日志查询.png | Bin 0 -> 939 bytes .../星球地球科技蓝色转动动图压缩86.9.gif | Bin 0 -> 88945 bytes LargeSquareOne/Resources/标题样式一.png | Bin 0 -> 41205 bytes LargeSquareOne/Resources/标题样式一1.png | Bin 0 -> 49518 bytes LargeSquareOne/Resources/用户.png | Bin 0 -> 1231 bytes LargeSquareOne/Resources/组 178 拷贝1.png | Bin 0 -> 689290 bytes LargeSquareOne/Resources/美国国旗.png | Bin 0 -> 43392 bytes LargeSquareOne/Resources/蓝色.png | Bin 0 -> 496780 bytes LargeSquareOne/Resources/订单查询.png | Bin 0 -> 724 bytes LargeSquareOne/Resources/资源 6.png | Bin 0 -> 808 bytes LargeSquareOne/Resources/马来西亚国旗1.png | Bin 0 -> 21403 bytes LargeSquareOne/Resources/黄色-警告.png | Bin 0 -> 2002 bytes .../ShutdownProgressForm.Designer.cs | 46 + LargeSquareOne/ShutdownProgressForm.cs | 125 + LargeSquareOne/ShutdownProgressForm.resx | 120 + LargeSquareOne/VariableEditForm.Designer.cs | 213 + LargeSquareOne/VariableEditForm.cs | 995 + LargeSquareOne/VariableEditForm.resx | 120 + .../ViewModel/FrmDataMonitorViewModel.cs | 53 + LargeSquareOne/ViewModel/ViewModelBase.cs | 365 + LargeSquareOne/packages.config | 33 + LargeSquareOne/trw.Designer.cs | 263 + LargeSquareOne/trw.cs | 285 + LargeSquareOne/trw.resx | 120 + LargeSquareOne/欧姆龙报警寄存器对应表.csv | Bin 0 -> 31068 bytes LargeSquareOne/电池.ico | Bin 0 -> 67646 bytes LargeSquareOne/采集项目表.csv | 37 + Libs/2016/Seagull.BarTender.Print.dll | Bin 0 -> 396560 bytes Libs/2019R4BTx32/Seagull.BarTender.Print.dll | Bin 0 -> 400136 bytes Libs/2019R4BTx64/Seagull.BarTender.Print.dll | Bin 0 -> 399112 bytes Libs/2022R4BT/Seagull.BarTender.Print.dll | Bin 0 -> 431160 bytes Libs/HML.dll | Bin 0 -> 1188864 bytes Libs/PLCCommunication.dll | Bin 0 -> 1344512 bytes Libs/SqlSugar.dll | Bin 0 -> 2448384 bytes PLC/Base/IPLC.cs | 106 + PLC/Base/PlcReadWriteBase.cs | 185 + PLC/DataQueue.cs | 64 + PLC/Lib/PLCCommunication.dll | Bin 0 -> 1765376 bytes PLC/PLC.csproj | 84 + PLC/PLCAlarm/AlarmFileData.cs | 49 + PLC/PLCAlarm/AlarmManager.cs | 88 + PLC/PLCAlarm/PLCAlarmReader.cs | 332 + PLC/PLCAlarm/RecordAlarmData.cs | 30 + PLC/PLCAlarm/RecordType.cs | 26 + PLC/PLCData.cs | 104 + PLC/PLCDataTool.cs | 202 + PLC/PlcLibrary/OmronCipNet.cs | 472 + PLC/PlcLibrary/OmronFinsTCP.cs | 514 + PLC/PlcLibrary/PLCFactory.cs | 53 + PLC/PlcLibrary/PLCType.cs | 34 + PLC/PlcLibrary/SiemensS7.cs | 265 + PLC/Properties/AssemblyInfo.cs | 36 + PLC/app.config | 39 + PLC/packages.config | 4 + ResXManager.config.xml | 5 + TextFile1.txt | 12 + 数据库/hbg_cupdataturnover.sql | 53 + 数据库/labellingMachine.sql | 280 + 604 files changed, 138380 insertions(+) create mode 100644 1257-18B.sln create mode 100644 BTW/新栈板V1.0.btw create mode 100644 BTW/新箱唛V1.0.btw create mode 100644 IOT.Services/App.config create mode 100644 IOT.Services/Config.xml create mode 100644 IOT.Services/IOT.Services.csproj create mode 100644 IOT.Services/Lib/Newtonsoft.Json.dll create mode 100644 IOT.Services/Lib/PLCCommunication.dll create mode 100644 IOT.Services/Logger.cs create mode 100644 IOT.Services/Models.cs create mode 100644 IOT.Services/MqttClientWrapper.cs create mode 100644 IOT.Services/MqttDataService.cs create mode 100644 IOT.Services/NLog.config create mode 100644 IOT.Services/PLCDataReader.cs create mode 100644 IOT.Services/PLCWrapper.cs create mode 100644 IOT.Services/Program.cs create mode 100644 IOT.Services/Properties/AssemblyInfo.cs create mode 100644 IOT.Services/Service1.Designer.cs create mode 100644 IOT.Services/Service1.cs create mode 100644 IOT.Services/StationDataComparer.cs create mode 100644 IOT.Services/XmlConfigReader.cs create mode 100644 IOT.Services/log4net.config create mode 100644 IOT.Services/packages.config create mode 100644 JinYuan.ControlCenter/ControlCenter.cs create mode 100644 JinYuan.ControlCenter/ControlCenter_Ext.cs create mode 100644 JinYuan.ControlCenter/ControlCenter_Plc.cs create mode 100644 JinYuan.ControlCenter/ControlCenter_Total.cs create mode 100644 JinYuan.ControlCenter/JinYuan.ControlCenters.csproj create mode 100644 JinYuan.ControlCenter/Properties/AssemblyInfo.cs create mode 100644 JinYuan.ControlCenter/app.config create mode 100644 JinYuan.ControlCenter/iniConfigHelper/CreateIniFile.cs create mode 100644 JinYuan.ControlCenter/packages.config create mode 100644 JinYuan.ControlLib/AlertManager.cs create mode 100644 JinYuan.ControlLib/ArrTotalQty.Designer.cs create mode 100644 JinYuan.ControlLib/ArrTotalQty.cs create mode 100644 JinYuan.ControlLib/ArrTotalQty.resx create mode 100644 JinYuan.ControlLib/CPK.Designer.cs create mode 100644 JinYuan.ControlLib/CPK.cs create mode 100644 JinYuan.ControlLib/CPK.resx create mode 100644 JinYuan.ControlLib/CheckBoxExt.Designer.cs create mode 100644 JinYuan.ControlLib/CheckBoxExt.cs create mode 100644 JinYuan.ControlLib/CircleProgramBar.Designer.cs create mode 100644 JinYuan.ControlLib/CircleProgramBar.cs create mode 100644 JinYuan.ControlLib/ControlBase.Designer.cs create mode 100644 JinYuan.ControlLib/ControlBase.cs create mode 100644 JinYuan.ControlLib/CustomComboBox.Designer.cs create mode 100644 JinYuan.ControlLib/CustomComboBox.cs create mode 100644 JinYuan.ControlLib/CustomDataGridView.cs create mode 100644 JinYuan.ControlLib/CustomGroupBox.Designer.cs create mode 100644 JinYuan.ControlLib/CustomGroupBox.cs create mode 100644 JinYuan.ControlLib/CustomRichTextBox.Designer.cs create mode 100644 JinYuan.ControlLib/CustomRichTextBox.cs create mode 100644 JinYuan.ControlLib/DataGridView/DataGridViewCellEntity.cs create mode 100644 JinYuan.ControlLib/DataGridView/DataGridViewCellEventArgs.cs create mode 100644 JinYuan.ControlLib/DataGridView/DataGridViewCellEventHandler.cs create mode 100644 JinYuan.ControlLib/DataGridView/DataGridViewColumnEntity.cs create mode 100644 JinYuan.ControlLib/DataGridView/DataGridViewRowCustomEventArgs.cs create mode 100644 JinYuan.ControlLib/DataGridView/IDataGridViewCustomCell.cs create mode 100644 JinYuan.ControlLib/DataGridView/IDataGridViewRow.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridView.Designer.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridView.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridView.resx create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridViewRow.Designer.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridViewRow.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridViewRow.resx create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.Designer.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.cs create mode 100644 JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.resx create mode 100644 JinYuan.ControlLib/DialPlate.Designer.cs create mode 100644 JinYuan.ControlLib/DialPlate.cs create mode 100644 JinYuan.ControlLib/DialPlate.resx create mode 100644 JinYuan.ControlLib/FanShapedSchedule.Designer.cs create mode 100644 JinYuan.ControlLib/FanShapedSchedule.cs create mode 100644 JinYuan.ControlLib/FlatComboBox.Designer.cs create mode 100644 JinYuan.ControlLib/FlatComboBox.cs create mode 100644 JinYuan.ControlLib/Forms/FrmBase.Designer.cs create mode 100644 JinYuan.ControlLib/Forms/FrmBase.cs create mode 100644 JinYuan.ControlLib/Forms/FrmBase.resx create mode 100644 JinYuan.ControlLib/Forms/FrmTransparent.Designer.cs create mode 100644 JinYuan.ControlLib/Forms/FrmTransparent.cs create mode 100644 JinYuan.ControlLib/Forms/FrmTransparent.resx create mode 100644 JinYuan.ControlLib/Forms/FrmWaiting.Designer.cs create mode 100644 JinYuan.ControlLib/Forms/FrmWaiting.cs create mode 100644 JinYuan.ControlLib/Forms/FrmWaiting.resx create mode 100644 JinYuan.ControlLib/GroupBoxEX.Designer.cs create mode 100644 JinYuan.ControlLib/GroupBoxEX.cs create mode 100644 JinYuan.ControlLib/JinYuan.ControlLib.csproj create mode 100644 JinYuan.ControlLib/ListViewEx.Designer.cs create mode 100644 JinYuan.ControlLib/ListViewEx.cs create mode 100644 JinYuan.ControlLib/LogListBox.Designer.cs create mode 100644 JinYuan.ControlLib/LogListBox.cs create mode 100644 JinYuan.ControlLib/LongTitle.Designer.cs create mode 100644 JinYuan.ControlLib/LongTitle.cs create mode 100644 JinYuan.ControlLib/LongTitle.resx create mode 100644 JinYuan.ControlLib/LongTitleStyle2.Designer.cs create mode 100644 JinYuan.ControlLib/LongTitleStyle2.cs create mode 100644 JinYuan.ControlLib/LongTitleStyle2.resx create mode 100644 JinYuan.ControlLib/Models/CPKModel.cs create mode 100644 JinYuan.ControlLib/NaviButton.Designer.cs create mode 100644 JinYuan.ControlLib/NaviButton.cs create mode 100644 JinYuan.ControlLib/NaviButton.resx create mode 100644 JinYuan.ControlLib/NaviButton2.Designer.cs create mode 100644 JinYuan.ControlLib/NaviButton2.cs create mode 100644 JinYuan.ControlLib/NaviButton2.resx create mode 100644 JinYuan.ControlLib/NumKeyboard.Designer.cs create mode 100644 JinYuan.ControlLib/NumKeyboard.cs create mode 100644 JinYuan.ControlLib/NumKeyboard.resx create mode 100644 JinYuan.ControlLib/PanelEnhanced.Designer.cs create mode 100644 JinYuan.ControlLib/PanelEnhanced.cs create mode 100644 JinYuan.ControlLib/PanelExt.Designer.cs create mode 100644 JinYuan.ControlLib/PanelExt.cs create mode 100644 JinYuan.ControlLib/ProcessEllipse.Designer.cs create mode 100644 JinYuan.ControlLib/ProcessEllipse.cs create mode 100644 JinYuan.ControlLib/ProcessEllipse.resx create mode 100644 JinYuan.ControlLib/Properties/AssemblyInfo.cs create mode 100644 JinYuan.ControlLib/Properties/Resources.Designer.cs create mode 100644 JinYuan.ControlLib/Properties/Resources.resx create mode 100644 JinYuan.ControlLib/Resources/2bg.png create mode 100644 JinYuan.ControlLib/Resources/4.png create mode 100644 JinYuan.ControlLib/Resources/6.png create mode 100644 JinYuan.ControlLib/Resources/61.png create mode 100644 JinYuan.ControlLib/Resources/Green.png create mode 100644 JinYuan.ControlLib/Resources/LeftSelected.png create mode 100644 JinYuan.ControlLib/Resources/LeftSelected3.png create mode 100644 JinYuan.ControlLib/Resources/LeftUnSelected.png create mode 100644 JinYuan.ControlLib/Resources/LeftUnSelected2.png create mode 100644 JinYuan.ControlLib/Resources/LeftUnSelected3.png create mode 100644 JinYuan.ControlLib/Resources/Red.png create mode 100644 JinYuan.ControlLib/Resources/RightSelected.png create mode 100644 JinYuan.ControlLib/Resources/RightSelected3.png create mode 100644 JinYuan.ControlLib/Resources/RightUnSelected.png create mode 100644 JinYuan.ControlLib/Resources/RightUnSelected3.png create mode 100644 JinYuan.ControlLib/Resources/Title.png create mode 100644 JinYuan.ControlLib/Resources/TotalQty.png create mode 100644 JinYuan.ControlLib/Resources/bg2.png create mode 100644 JinYuan.ControlLib/Resources/big_arrow.png create mode 100644 JinYuan.ControlLib/Resources/big_arrow_l.png create mode 100644 JinYuan.ControlLib/Resources/big_box.png create mode 100644 JinYuan.ControlLib/Resources/big_box_l.png create mode 100644 JinYuan.ControlLib/Resources/big_box_s.png create mode 100644 JinYuan.ControlLib/Resources/big_box_super.png create mode 100644 JinYuan.ControlLib/Resources/caret-down.png create mode 100644 JinYuan.ControlLib/Resources/caret-right.png create mode 100644 JinYuan.ControlLib/Resources/loading.gif create mode 100644 JinYuan.ControlLib/Resources/常规按钮.png create mode 100644 JinYuan.ControlLib/Resources/开机时间.png create mode 100644 JinYuan.ControlLib/Resources/数字指标.png create mode 100644 JinYuan.ControlLib/Resources/星球地球科技蓝色转动动图压缩86.9.gif create mode 100644 JinYuan.ControlLib/Resources/标题_03.png create mode 100644 JinYuan.ControlLib/Resources/标题_03右.png create mode 100644 JinYuan.ControlLib/Resources/标题_04.png create mode 100644 JinYuan.ControlLib/Resources/组 178 拷贝.png create mode 100644 JinYuan.ControlLib/Resources/蓝色.png create mode 100644 JinYuan.ControlLib/Resources/运行时间.png create mode 100644 JinYuan.ControlLib/ScrollBar/ScrollbarComponent.cs create mode 100644 JinYuan.ControlLib/ScrollBar/ScrollbarControlDesigner.cs create mode 100644 JinYuan.ControlLib/ScrollBar/UCHScrollbar.cs create mode 100644 JinYuan.ControlLib/ScrollBar/UCVScrollbar.cs create mode 100644 JinYuan.ControlLib/ScrollBar/UCVScrollbar.resx create mode 100644 JinYuan.ControlLib/SidebarNavigation.Designer.cs create mode 100644 JinYuan.ControlLib/SidebarNavigation.cs create mode 100644 JinYuan.ControlLib/SidebarNavigation.resx create mode 100644 JinYuan.ControlLib/SimpleLed.Designer.cs create mode 100644 JinYuan.ControlLib/SimpleLed.cs create mode 100644 JinYuan.ControlLib/SimpleLed.resx create mode 100644 JinYuan.ControlLib/StatusExt.Designer.cs create mode 100644 JinYuan.ControlLib/StatusExt.cs create mode 100644 JinYuan.ControlLib/TButton.Designer.cs create mode 100644 JinYuan.ControlLib/TButton.cs create mode 100644 JinYuan.ControlLib/TButton.resx create mode 100644 JinYuan.ControlLib/TextSet.Designer.cs create mode 100644 JinYuan.ControlLib/TextSet.cs create mode 100644 JinYuan.ControlLib/TextSet.resx create mode 100644 JinYuan.ControlLib/TextSet2.Designer.cs create mode 100644 JinYuan.ControlLib/TextSet2.cs create mode 100644 JinYuan.ControlLib/TextSet2.resx create mode 100644 JinYuan.ControlLib/Title.Designer.cs create mode 100644 JinYuan.ControlLib/Title.cs create mode 100644 JinYuan.ControlLib/Title.resx create mode 100644 JinYuan.ControlLib/TitleButton.Designer.cs create mode 100644 JinYuan.ControlLib/TitleButton.cs create mode 100644 JinYuan.ControlLib/TitleButton.resx create mode 100644 JinYuan.ControlLib/TitleTime.Designer.cs create mode 100644 JinYuan.ControlLib/TitleTime.cs create mode 100644 JinYuan.ControlLib/TitleTime.resx create mode 100644 JinYuan.ControlLib/Toggle.Designer.cs create mode 100644 JinYuan.ControlLib/Toggle.cs create mode 100644 JinYuan.ControlLib/Toggle.resx create mode 100644 JinYuan.ControlLib/TotalQty.Designer.cs create mode 100644 JinYuan.ControlLib/TotalQty.cs create mode 100644 JinYuan.ControlLib/TotalQty.resx create mode 100644 JinYuan.ControlLib/UCBlower.Designer.cs create mode 100644 JinYuan.ControlLib/UCBlower.cs create mode 100644 JinYuan.ControlLib/UCBlower.resx create mode 100644 JinYuan.ControlLib/UCCheckBox.Designer.cs create mode 100644 JinYuan.ControlLib/UCCheckBox.cs create mode 100644 JinYuan.ControlLib/UCCheckBox.resx create mode 100644 JinYuan.ControlLib/UCControlBase.Designer.cs create mode 100644 JinYuan.ControlLib/UCControlBase.cs create mode 100644 JinYuan.ControlLib/UCElectricityMeterH.Designer.cs create mode 100644 JinYuan.ControlLib/UCElectricityMeterH.cs create mode 100644 JinYuan.ControlLib/UCElectricityMeterH.resx create mode 100644 JinYuan.ControlLib/UCElectricityMeterV.Designer.cs create mode 100644 JinYuan.ControlLib/UCElectricityMeterV.cs create mode 100644 JinYuan.ControlLib/UCElectricityMeterV.resx create mode 100644 JinYuan.ControlLib/UCFengSu.Designer.cs create mode 100644 JinYuan.ControlLib/UCFengSu.cs create mode 100644 JinYuan.ControlLib/UCFengSu.resx create mode 100644 JinYuan.ControlLib/UCHelper/ControlHelper.cs create mode 100644 JinYuan.ControlLib/UCHelper/DpiControl.cs create mode 100644 JinYuan.ControlLib/UCHelper/DpiHelper.cs create mode 100644 JinYuan.ControlLib/UCHelper/Ext.cs create mode 100644 JinYuan.ControlLib/UCHelper/IDpiControl.cs create mode 100644 JinYuan.ControlLib/UCHelper/MainThreadAnimationControl.cs create mode 100644 JinYuan.ControlLib/UCHelper/MouseHook.cs create mode 100644 JinYuan.ControlLib/UCHelper/NativeMethods.cs create mode 100644 JinYuan.ControlLib/UCHelper/PropertyOrderAttribute.cs create mode 100644 JinYuan.ControlLib/UCHelper/PropertyOrderConverter.cs create mode 100644 JinYuan.ControlLib/UCHelper/PropertyOrderPair.cs create mode 100644 JinYuan.ControlLib/UCHelper/WindowsHook.cs create mode 100644 JinYuan.ControlLib/UCLed.Designer.cs create mode 100644 JinYuan.ControlLib/UCLed.cs create mode 100644 JinYuan.ControlLib/UCLedAvatar.Designer.cs create mode 100644 JinYuan.ControlLib/UCLedAvatar.cs create mode 100644 JinYuan.ControlLib/UCRollText.Designer.cs create mode 100644 JinYuan.ControlLib/UCRollText.cs create mode 100644 JinYuan.ControlLib/UCSplitLine_H.Designer.cs create mode 100644 JinYuan.ControlLib/UCSplitLine_H.cs create mode 100644 JinYuan.ControlLib/UCSplitLine_H.resx create mode 100644 JinYuan.ControlLib/UCSplitLine_V.Designer.cs create mode 100644 JinYuan.ControlLib/UCSplitLine_V.cs create mode 100644 JinYuan.ControlLib/UCSplitLine_V.resx create mode 100644 JinYuan.ControlLib/UpDownLabel.Designer.cs create mode 100644 JinYuan.ControlLib/UpDownLabel.cs create mode 100644 JinYuan.ControlLib/UpDownLabel.resx create mode 100644 JinYuan.ControlLib/UserStateChangedEvent.cs create mode 100644 JinYuan.ControlLib/UserStateMonitor.cs create mode 100644 JinYuan.ControlLib/Wave.Designer.cs create mode 100644 JinYuan.ControlLib/Wave.cs create mode 100644 JinYuan.ControlLib/WaveProcess.Designer.cs create mode 100644 JinYuan.ControlLib/WaveProcess.cs create mode 100644 JinYuan.ControlLib/WaveProcess.resx create mode 100644 JinYuan.ControlLib/WithBgBox.Designer.cs create mode 100644 JinYuan.ControlLib/WithBgBox.cs create mode 100644 JinYuan.ControlLib/WithBgBox.resx create mode 100644 JinYuan.ControlLib/app.config create mode 100644 JinYuan.ControlLib/packages.config create mode 100644 JinYuan.ControlLib/ucPanel_400_200.Designer.cs create mode 100644 JinYuan.ControlLib/ucPanel_400_200.cs create mode 100644 JinYuan.ControlLib/ucPanel_400_200.resx create mode 100644 JinYuan.ControlLib/ucPanel_900_450.Designer.cs create mode 100644 JinYuan.ControlLib/ucPanel_900_450.cs create mode 100644 JinYuan.ControlLib/ucPanel_900_450.resx create mode 100644 JinYuan.DAL/Enums/Enums.cs create mode 100644 JinYuan.DAL/ISugarHepler.cs create mode 100644 JinYuan.DAL/JinYuan.DAL.csproj create mode 100644 JinYuan.DAL/Models/OrderSortEntity.cs create mode 100644 JinYuan.DAL/Models/QueryCondition.cs create mode 100644 JinYuan.DAL/Models/QueryDescriptor.cs create mode 100644 JinYuan.DAL/Properties/AssemblyInfo.cs create mode 100644 JinYuan.DAL/SQLSugarHelper.cs create mode 100644 JinYuan.DAL/SQLSugarService.cs create mode 100644 JinYuan.DAL/app.config create mode 100644 JinYuan.DAL/packages.config create mode 100644 JinYuan.Helper/ArrayHelper.cs create mode 100644 JinYuan.Helper/CSVHelper.cs create mode 100644 JinYuan.Helper/ChartHelper.cs create mode 100644 JinYuan.Helper/ClearMemoryHelper.cs create mode 100644 JinYuan.Helper/ConvertHelper.cs create mode 100644 JinYuan.Helper/DataGridViewHelper.cs create mode 100644 JinYuan.Helper/DataTableExtend.cs create mode 100644 JinYuan.Helper/DeleteLog.cs create mode 100644 JinYuan.Helper/EnergyMeterHelper.cs create mode 100644 JinYuan.Helper/FileHelper.cs create mode 100644 JinYuan.Helper/IniConfigHelper.cs create mode 100644 JinYuan.Helper/IniFileHelper.cs create mode 100644 JinYuan.Helper/JinYuan.Helper.csproj create mode 100644 JinYuan.Helper/JsonHelper.cs create mode 100644 JinYuan.Helper/LogHelper.cs create mode 100644 JinYuan.Helper/Logger.cs create mode 100644 JinYuan.Helper/MockDataGenerator.cs create mode 100644 JinYuan.Helper/PLCAlarmParseHelper.cs create mode 100644 JinYuan.Helper/Properties/AssemblyInfo.cs create mode 100644 JinYuan.Helper/ScanerHook.cs create mode 100644 JinYuan.Helper/SendDateMQTT.cs create mode 100644 JinYuan.Helper/StreamIOHelper.cs create mode 100644 JinYuan.Helper/StringSecurityHelper.cs create mode 100644 JinYuan.Helper/TimedOperation.cs create mode 100644 JinYuan.Helper/TimerReset.cs create mode 100644 JinYuan.Helper/TxtHelper.cs create mode 100644 JinYuan.Helper/TypeParse.cs create mode 100644 JinYuan.Helper/XmlHelper.cs create mode 100644 JinYuan.Helper/app.config create mode 100644 JinYuan.Helper/packages.config create mode 100644 JinYuan.MES/Enums/MesResType.cs create mode 100644 JinYuan.MES/Enums/MesUploadType.cs create mode 100644 JinYuan.MES/IMes.cs create mode 100644 JinYuan.MES/JinYuan.MES.csproj create mode 100644 JinYuan.MES/MESApiHelper.cs create mode 100644 JinYuan.MES/MesDataProcess.cs create mode 100644 JinYuan.MES/Models/BatteryInfo.cs create mode 100644 JinYuan.MES/Models/BindingParam.cs create mode 100644 JinYuan.MES/Models/CartonParam.cs create mode 100644 JinYuan.MES/Models/EqpStatusParam.cs create mode 100644 JinYuan.MES/Models/GetOCVShift.cs create mode 100644 JinYuan.MES/Models/LoginEnyity.cs create mode 100644 JinYuan.MES/Models/ManyCellInStation.cs create mode 100644 JinYuan.MES/Models/ManyCellOutStation.cs create mode 100644 JinYuan.MES/Models/MesResponse.cs create mode 100644 JinYuan.MES/Models/ParamChange.cs create mode 100644 JinYuan.MES/Models/ParamReturnData.cs create mode 100644 JinYuan.MES/Models/ProductProcessParam.cs create mode 100644 JinYuan.MES/Models/ProductResultParameters.cs create mode 100644 JinYuan.MES/Models/SingleCellInStation.cs create mode 100644 JinYuan.MES/Models/SingleCellOutStation.cs create mode 100644 JinYuan.MES/Models/UploadAlarmParam.cs create mode 100644 JinYuan.MES/Models/UploadDeviceCollectData.cs create mode 100644 JinYuan.MES/Models/VdaGetData.cs create mode 100644 JinYuan.MES/Models/WattrMeter.cs create mode 100644 JinYuan.MES/Models/WmsUpload.cs create mode 100644 JinYuan.MES/Properties/AssemblyInfo.cs create mode 100644 JinYuan.MES/app.config create mode 100644 JinYuan.MES/packages.config create mode 100644 JinYuan.Models/AGearEntity.cs create mode 100644 JinYuan.Models/Alarm/AlarmData.cs create mode 100644 JinYuan.Models/Alarm/AlarmStatus.cs create mode 100644 JinYuan.Models/AlarmCountEntry.cs create mode 100644 JinYuan.Models/AlarmForm.cs create mode 100644 JinYuan.Models/AxleLog.cs create mode 100644 JinYuan.Models/BGearEntity.cs create mode 100644 JinYuan.Models/BGearEntity2.cs create mode 100644 JinYuan.Models/BatteryStatus.cs create mode 100644 JinYuan.Models/CGearEntity.cs create mode 100644 JinYuan.Models/CPKModel.cs create mode 100644 JinYuan.Models/CTPCTQDate.cs create mode 100644 JinYuan.Models/CapSize.cs create mode 100644 JinYuan.Models/Chart12HourData.cs create mode 100644 JinYuan.Models/ChartDataType.cs create mode 100644 JinYuan.Models/ContainerEntity.cs create mode 100644 JinYuan.Models/ContainerKVDetail.cs create mode 100644 JinYuan.Models/DGearEntity.cs create mode 100644 JinYuan.Models/DataTurnover.cs create mode 100644 JinYuan.Models/DeviceOEE.cs create mode 100644 JinYuan.Models/EGearEntity.cs create mode 100644 JinYuan.Models/ElectricEnergy.cs create mode 100644 JinYuan.Models/HelperAttribute/AnnotationUtils.cs create mode 100644 JinYuan.Models/HelperAttribute/DataGridColumnAttribute.cs create mode 100644 JinYuan.Models/HelperAttribute/DataGridViewColumn.cs create mode 100644 JinYuan.Models/HelperAttribute/DataTableMapper.cs create mode 100644 JinYuan.Models/Hourprod.cs create mode 100644 JinYuan.Models/JinYuan.Models.csproj create mode 100644 JinYuan.Models/MotorLog.cs create mode 100644 JinYuan.Models/NgCodeEntity.cs create mode 100644 JinYuan.Models/PalletEntity.cs create mode 100644 JinYuan.Models/PalletKVDetail.cs create mode 100644 JinYuan.Models/PlcDevice.cs create mode 100644 JinYuan.Models/PrintData.cs create mode 100644 JinYuan.Models/Properties/AssemblyInfo.cs create mode 100644 JinYuan.Models/SysConfig/BTWConfig.cs create mode 100644 JinYuan.Models/SysConfig/Device.cs create mode 100644 JinYuan.Models/SysConfig/Enum.cs create mode 100644 JinYuan.Models/SysConfig/FDConfig.cs create mode 100644 JinYuan.Models/SysConfig/Group.cs create mode 100644 JinYuan.Models/SysConfig/PLCConfig.cs create mode 100644 JinYuan.Models/SysConfig/PLCGroupVariable.cs create mode 100644 JinYuan.Models/SysConfig/ParamBase.cs create mode 100644 JinYuan.Models/SysConfig/ParamList.cs create mode 100644 JinYuan.Models/SysConfig/PlcGroupConfig.cs create mode 100644 JinYuan.Models/SysConfig/ProductModel.cs create mode 100644 JinYuan.Models/SysConfig/ProductModelParam.cs create mode 100644 JinYuan.Models/SysConfig/SysAdmin.cs create mode 100644 JinYuan.Models/SysConfig/SysConfig.cs create mode 100644 JinYuan.Models/SysConfig/SysLog.cs create mode 100644 JinYuan.Models/SysConfig/Variable.cs create mode 100644 JinYuan.Models/SysConfig/VariableConfig.cs create mode 100644 JinYuan.Models/app.config create mode 100644 JinYuan.Models/packages.config create mode 100644 JinYuan.VirtualDataLibrary/CommonMethods.cs create mode 100644 JinYuan.VirtualDataLibrary/DBSQL.cs create mode 100644 JinYuan.VirtualDataLibrary/DelegateLib.cs create mode 100644 JinYuan.VirtualDataLibrary/JinYuan.VirtualDataLibrary.csproj create mode 100644 JinYuan.VirtualDataLibrary/MesConfig.cs create mode 100644 JinYuan.VirtualDataLibrary/MsgshowTip.Designer.cs create mode 100644 JinYuan.VirtualDataLibrary/MsgshowTip.cs create mode 100644 JinYuan.VirtualDataLibrary/MsgshowTip.resx create mode 100644 JinYuan.VirtualDataLibrary/Properties/AssemblyInfo.cs create mode 100644 JinYuan.VirtualDataLibrary/Properties/Resources.Designer.cs create mode 100644 JinYuan.VirtualDataLibrary/Properties/Resources.resx create mode 100644 JinYuan.VirtualDataLibrary/Resources/感叹号提示-块红色.png create mode 100644 JinYuan.VirtualDataLibrary/Utlis/BartenderPrinter.cs create mode 100644 JinYuan.VirtualDataLibrary/Utlis/PrintDataTransfer.cs create mode 100644 JinYuan.VirtualDataLibrary/app.config create mode 100644 JinYuan.VirtualDataLibrary/packages.config create mode 100644 LICENSE.txt create mode 100644 Language/2025_01_08_09_12.xlsx create mode 100644 Language/Language.7z create mode 100644 Language/Language.csproj create mode 100644 Language/LanguageManager.cs create mode 100644 Language/Languages.Designer.cs create mode 100644 Language/Languages.en.resx create mode 100644 Language/Languages.hu.resx create mode 100644 Language/Languages.ms.resx create mode 100644 Language/Languages.resx create mode 100644 Language/LocalLanguage.cs create mode 100644 Language/MsgResources.Designer.cs create mode 100644 Language/Properties/AssemblyInfo.cs create mode 100644 Language/Resources/DataGridColumnAttribute.cs create mode 100644 Language/app.config create mode 100644 Language/packages.config create mode 100644 LargeSquareOne/App.config create mode 100644 LargeSquareOne/Assts/Fonts/75049.png create mode 100644 LargeSquareOne/Assts/Fonts/FZY4JW.ttf create mode 100644 LargeSquareOne/Assts/Fonts/Zen圓体-Regular.ttf create mode 100644 LargeSquareOne/Assts/Fonts/taolichunfeng.ttf create mode 100644 LargeSquareOne/Assts/Fonts/zaozigongfangjinzhuti.ttf create mode 100644 LargeSquareOne/Assts/Image/BackGround.png create mode 100644 LargeSquareOne/Assts/Image/Main.jpg create mode 100644 LargeSquareOne/Assts/Image/电池.ico create mode 100644 LargeSquareOne/CommunicationEditForm.Designer.cs create mode 100644 LargeSquareOne/CommunicationEditForm.cs create mode 100644 LargeSquareOne/CommunicationEditForm.resx create mode 100644 LargeSquareOne/Config/Configure.xml create mode 100644 LargeSquareOne/Config/Device-bak.xlsx create mode 100644 LargeSquareOne/Config/Device.xlsx create mode 100644 LargeSquareOne/Config/Group-bak.xlsx create mode 100644 LargeSquareOne/Config/Group.xlsx create mode 100644 LargeSquareOne/Config/Variable-bak.xlsx create mode 100644 LargeSquareOne/Config/Variable.xlsx create mode 100644 LargeSquareOne/CustomMessageBox.Designer.cs create mode 100644 LargeSquareOne/CustomMessageBox.cs create mode 100644 LargeSquareOne/CustomMessageBox.resx create mode 100644 LargeSquareOne/FrmAlarmLog.Designer.cs create mode 100644 LargeSquareOne/FrmAlarmLog.cs create mode 100644 LargeSquareOne/FrmAlarmLog.resx create mode 100644 LargeSquareOne/FrmCpkCount.Designer.cs create mode 100644 LargeSquareOne/FrmCpkCount.cs create mode 100644 LargeSquareOne/FrmCpkCount.resx create mode 100644 LargeSquareOne/FrmDataMonitor.Designer.cs create mode 100644 LargeSquareOne/FrmDataMonitor.cs create mode 100644 LargeSquareOne/FrmDataMonitor.resx create mode 100644 LargeSquareOne/FrmGroupConfig.Designer.cs create mode 100644 LargeSquareOne/FrmGroupConfig.cs create mode 100644 LargeSquareOne/FrmGroupConfig.resx create mode 100644 LargeSquareOne/FrmHelper.Designer.cs create mode 100644 LargeSquareOne/FrmHelper.cs create mode 100644 LargeSquareOne/FrmHelper.resx create mode 100644 LargeSquareOne/FrmHistory.Designer.cs create mode 100644 LargeSquareOne/FrmHistory.cs create mode 100644 LargeSquareOne/FrmHistory.resx create mode 100644 LargeSquareOne/FrmLogin.Designer.cs create mode 100644 LargeSquareOne/FrmLogin.cs create mode 100644 LargeSquareOne/FrmLogin.resx create mode 100644 LargeSquareOne/FrmLoginMes.Designer.cs create mode 100644 LargeSquareOne/FrmLoginMes.cs create mode 100644 LargeSquareOne/FrmLoginMes.resx create mode 100644 LargeSquareOne/FrmMain.Designer.cs create mode 100644 LargeSquareOne/FrmMain.cs create mode 100644 LargeSquareOne/FrmMain.resx create mode 100644 LargeSquareOne/FrmMesParamMsgBoxWithAck.Designer.cs create mode 100644 LargeSquareOne/FrmMesParamMsgBoxWithAck.cs create mode 100644 LargeSquareOne/FrmMesParamMsgBoxWithAck.resx create mode 100644 LargeSquareOne/FrmMonitor.Designer.cs create mode 100644 LargeSquareOne/FrmMonitor.cs create mode 100644 LargeSquareOne/FrmMonitor.resx create mode 100644 LargeSquareOne/FrmMsgBoxOutWithAck.Designer.cs create mode 100644 LargeSquareOne/FrmMsgBoxOutWithAck.cs create mode 100644 LargeSquareOne/FrmMsgBoxOutWithAck.resx create mode 100644 LargeSquareOne/FrmMsgBoxWithAck.Designer.cs create mode 100644 LargeSquareOne/FrmMsgBoxWithAck.cs create mode 100644 LargeSquareOne/FrmMsgBoxWithAck.resx create mode 100644 LargeSquareOne/FrmParamSet.Designer.cs create mode 100644 LargeSquareOne/FrmParamSet.cs create mode 100644 LargeSquareOne/FrmParamSet.resx create mode 100644 LargeSquareOne/FrmRecipe.Designer.cs create mode 100644 LargeSquareOne/FrmRecipe.cs create mode 100644 LargeSquareOne/FrmRecipe.resx create mode 100644 LargeSquareOne/FrmUserManage.Designer.cs create mode 100644 LargeSquareOne/FrmUserManage.cs create mode 100644 LargeSquareOne/FrmUserManage.resx create mode 100644 LargeSquareOne/FrmVariableConfig.Designer.cs create mode 100644 LargeSquareOne/FrmVariableConfig.cs create mode 100644 LargeSquareOne/FrmVariableConfig.resx create mode 100644 LargeSquareOne/LargeSquareOne.csproj create mode 100644 LargeSquareOne/Lib/HML.ComplexityPropertys.dll create mode 100644 LargeSquareOne/Lib/HML.ComplexityPropertys.xml create mode 100644 LargeSquareOne/Lib/HML.dll create mode 100644 LargeSquareOne/Lib/HML.xml create mode 100644 LargeSquareOne/Lib/PLCCommunication.dll create mode 100644 LargeSquareOne/NLog.config create mode 100644 LargeSquareOne/Program.cs create mode 100644 LargeSquareOne/Properties/AssemblyInfo.cs create mode 100644 LargeSquareOne/Properties/Resources.Designer.cs create mode 100644 LargeSquareOne/Properties/Resources.resx create mode 100644 LargeSquareOne/Properties/Settings.Designer.cs create mode 100644 LargeSquareOne/Properties/Settings.settings create mode 100644 LargeSquareOne/Resources/25_密码.png create mode 100644 LargeSquareOne/Resources/Alarm.jpg create mode 100644 LargeSquareOne/Resources/Alarm.png create mode 100644 LargeSquareOne/Resources/BackGround.png create mode 100644 LargeSquareOne/Resources/Blink.gif create mode 100644 LargeSquareOne/Resources/Current.png create mode 100644 LargeSquareOne/Resources/Exit.png create mode 100644 LargeSquareOne/Resources/Exit1.png create mode 100644 LargeSquareOne/Resources/Fault.png create mode 100644 LargeSquareOne/Resources/Green.png create mode 100644 LargeSquareOne/Resources/IndustryAquaGauge2/Reflection.jpg create mode 100644 LargeSquareOne/Resources/IndustrySwitch/垂直关.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/垂直关1.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/垂直开.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/垂直开2.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/按钮关.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/按钮开.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/水平关.png create mode 100644 LargeSquareOne/Resources/IndustrySwitch/水平开.png create mode 100644 LargeSquareOne/Resources/Left.png create mode 100644 LargeSquareOne/Resources/LeftSelected.png create mode 100644 LargeSquareOne/Resources/LeftUnSelected.png create mode 100644 LargeSquareOne/Resources/Login.jpg create mode 100644 LargeSquareOne/Resources/Login1.jpg create mode 100644 LargeSquareOne/Resources/Login1.png create mode 100644 LargeSquareOne/Resources/Login11.png create mode 100644 LargeSquareOne/Resources/Main.jpg create mode 100644 LargeSquareOne/Resources/Red.png create mode 100644 LargeSquareOne/Resources/Right.png create mode 100644 LargeSquareOne/Resources/RightSelected.png create mode 100644 LargeSquareOne/Resources/RightUnSelected.png create mode 100644 LargeSquareOne/Resources/Run.png create mode 100644 LargeSquareOne/Resources/Spare.png create mode 100644 LargeSquareOne/Resources/Stop.png create mode 100644 LargeSquareOne/Resources/Tank/JYTank.png create mode 100644 LargeSquareOne/Resources/Title.png create mode 100644 LargeSquareOne/Resources/TitleBG.png create mode 100644 LargeSquareOne/Resources/User.png create mode 100644 LargeSquareOne/Resources/UserManage.png create mode 100644 LargeSquareOne/Resources/error.png create mode 100644 LargeSquareOne/Resources/eve.png create mode 100644 LargeSquareOne/Resources/info.png create mode 100644 LargeSquareOne/Resources/title2222.png create mode 100644 LargeSquareOne/Resources/titleBG2.png create mode 100644 LargeSquareOne/Resources/warning.png create mode 100644 LargeSquareOne/Resources/yiweidongli.png create mode 100644 LargeSquareOne/Resources/中国国旗1.png create mode 100644 LargeSquareOne/Resources/匈牙利国旗1.png create mode 100644 LargeSquareOne/Resources/导航栏.png create mode 100644 LargeSquareOne/Resources/开机时间.png create mode 100644 LargeSquareOne/Resources/数据查询.png create mode 100644 LargeSquareOne/Resources/日志查询.png create mode 100644 LargeSquareOne/Resources/星球地球科技蓝色转动动图压缩86.9.gif create mode 100644 LargeSquareOne/Resources/标题样式一.png create mode 100644 LargeSquareOne/Resources/标题样式一1.png create mode 100644 LargeSquareOne/Resources/用户.png create mode 100644 LargeSquareOne/Resources/组 178 拷贝1.png create mode 100644 LargeSquareOne/Resources/美国国旗.png create mode 100644 LargeSquareOne/Resources/蓝色.png create mode 100644 LargeSquareOne/Resources/订单查询.png create mode 100644 LargeSquareOne/Resources/资源 6.png create mode 100644 LargeSquareOne/Resources/马来西亚国旗1.png create mode 100644 LargeSquareOne/Resources/黄色-警告.png create mode 100644 LargeSquareOne/ShutdownProgressForm.Designer.cs create mode 100644 LargeSquareOne/ShutdownProgressForm.cs create mode 100644 LargeSquareOne/ShutdownProgressForm.resx create mode 100644 LargeSquareOne/VariableEditForm.Designer.cs create mode 100644 LargeSquareOne/VariableEditForm.cs create mode 100644 LargeSquareOne/VariableEditForm.resx create mode 100644 LargeSquareOne/ViewModel/FrmDataMonitorViewModel.cs create mode 100644 LargeSquareOne/ViewModel/ViewModelBase.cs create mode 100644 LargeSquareOne/packages.config create mode 100644 LargeSquareOne/trw.Designer.cs create mode 100644 LargeSquareOne/trw.cs create mode 100644 LargeSquareOne/trw.resx create mode 100644 LargeSquareOne/欧姆龙报警寄存器对应表.csv create mode 100644 LargeSquareOne/电池.ico create mode 100644 LargeSquareOne/采集项目表.csv create mode 100644 Libs/2016/Seagull.BarTender.Print.dll create mode 100644 Libs/2019R4BTx32/Seagull.BarTender.Print.dll create mode 100644 Libs/2019R4BTx64/Seagull.BarTender.Print.dll create mode 100644 Libs/2022R4BT/Seagull.BarTender.Print.dll create mode 100644 Libs/HML.dll create mode 100644 Libs/PLCCommunication.dll create mode 100644 Libs/SqlSugar.dll create mode 100644 PLC/Base/IPLC.cs create mode 100644 PLC/Base/PlcReadWriteBase.cs create mode 100644 PLC/DataQueue.cs create mode 100644 PLC/Lib/PLCCommunication.dll create mode 100644 PLC/PLC.csproj create mode 100644 PLC/PLCAlarm/AlarmFileData.cs create mode 100644 PLC/PLCAlarm/AlarmManager.cs create mode 100644 PLC/PLCAlarm/PLCAlarmReader.cs create mode 100644 PLC/PLCAlarm/RecordAlarmData.cs create mode 100644 PLC/PLCAlarm/RecordType.cs create mode 100644 PLC/PLCData.cs create mode 100644 PLC/PLCDataTool.cs create mode 100644 PLC/PlcLibrary/OmronCipNet.cs create mode 100644 PLC/PlcLibrary/OmronFinsTCP.cs create mode 100644 PLC/PlcLibrary/PLCFactory.cs create mode 100644 PLC/PlcLibrary/PLCType.cs create mode 100644 PLC/PlcLibrary/SiemensS7.cs create mode 100644 PLC/Properties/AssemblyInfo.cs create mode 100644 PLC/app.config create mode 100644 PLC/packages.config create mode 100644 ResXManager.config.xml create mode 100644 TextFile1.txt create mode 100644 数据库/hbg_cupdataturnover.sql create mode 100644 数据库/labellingMachine.sql diff --git a/1257-18B.sln b/1257-18B.sln new file mode 100644 index 0000000..33d022e --- /dev/null +++ b/1257-18B.sln @@ -0,0 +1,141 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33530.505 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.Helper", "JinYuan.Helper\JinYuan.Helper.csproj", "{258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.VirtualDataLibrary", "JinYuan.VirtualDataLibrary\JinYuan.VirtualDataLibrary.csproj", "{2AB7E380-7795-448A-933C-0F6A081B5E7E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.Models", "JinYuan.Models\JinYuan.Models.csproj", "{4C0BCB84-5CD7-4846-8363-C4C10D46E391}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.ControlCenters", "JinYuan.ControlCenter\JinYuan.ControlCenters.csproj", "{1D0FA5A4-07F0-4621-B6BB-683AEC91E658}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.DAL", "JinYuan.DAL\JinYuan.DAL.csproj", "{114AA012-29C9-418C-A2D6-3173C5341F51}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.MES", "JinYuan.MES\JinYuan.MES.csproj", "{530B6426-08E7-461C-91DC-787F876620FC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LargeSquareOne", "LargeSquareOne\LargeSquareOne.csproj", "{29E1F0D0-43DC-4077-A136-F25477E56881}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PLC", "PLC\PLC.csproj", "{486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JinYuan.ControlLib", "JinYuan.ControlLib\JinYuan.ControlLib.csproj", "{1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Language", "Language\Language.csproj", "{292A5C9C-7A82-4D25-A885-DDCEDC93F03C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOT.Services", "IOT.Services\IOT.Services.csproj", "{242400F4-9B01-4AEE-A6F7-05083757FCDD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决方案项", "{9FA3D6BD-1EC1-3BA5-80CB-CE02773A58D5}" + ProjectSection(SolutionItems) = preProject + 数据库\gluingmachineoftabflatteningandwelding_a.sql = 数据库\gluingmachineoftabflatteningandwelding_a.sql + 数据库\hbg_cupdataturnover.sql = 数据库\hbg_cupdataturnover.sql + TextFile1.txt = TextFile1.txt + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Debug|Any CPU.Build.0 = Debug|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Debug|x64.ActiveCfg = Debug|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Debug|x64.Build.0 = Debug|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Release|Any CPU.ActiveCfg = Release|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Release|Any CPU.Build.0 = Release|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Release|x64.ActiveCfg = Release|Any CPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360}.Release|x64.Build.0 = Release|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Debug|x64.ActiveCfg = Debug|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Debug|x64.Build.0 = Debug|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Release|Any CPU.Build.0 = Release|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Release|x64.ActiveCfg = Release|Any CPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E}.Release|x64.Build.0 = Release|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Debug|x64.ActiveCfg = Debug|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Debug|x64.Build.0 = Debug|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Release|Any CPU.Build.0 = Release|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Release|x64.ActiveCfg = Release|Any CPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391}.Release|x64.Build.0 = Release|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Debug|x64.ActiveCfg = Debug|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Debug|x64.Build.0 = Debug|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Release|Any CPU.Build.0 = Release|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Release|x64.ActiveCfg = Release|Any CPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658}.Release|x64.Build.0 = Release|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Debug|Any CPU.Build.0 = Debug|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Debug|x64.ActiveCfg = Debug|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Debug|x64.Build.0 = Debug|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Release|Any CPU.ActiveCfg = Release|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Release|Any CPU.Build.0 = Release|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Release|x64.ActiveCfg = Release|Any CPU + {114AA012-29C9-418C-A2D6-3173C5341F51}.Release|x64.Build.0 = Release|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Debug|x64.ActiveCfg = Debug|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Debug|x64.Build.0 = Debug|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Release|Any CPU.Build.0 = Release|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Release|x64.ActiveCfg = Release|Any CPU + {530B6426-08E7-461C-91DC-787F876620FC}.Release|x64.Build.0 = Release|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Debug|Any CPU.Build.0 = Debug|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Debug|x64.ActiveCfg = Debug|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Debug|x64.Build.0 = Debug|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Release|Any CPU.ActiveCfg = Release|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Release|Any CPU.Build.0 = Release|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Release|x64.ActiveCfg = Release|Any CPU + {29E1F0D0-43DC-4077-A136-F25477E56881}.Release|x64.Build.0 = Release|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Debug|x64.ActiveCfg = Debug|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Debug|x64.Build.0 = Debug|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Release|Any CPU.Build.0 = Release|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Release|x64.ActiveCfg = Release|Any CPU + {486AECD0-C2BF-43C5-B7D7-88E565ADE4B7}.Release|x64.Build.0 = Release|Any CPU + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Debug|x64.ActiveCfg = Debug|x64 + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Debug|x64.Build.0 = Debug|x64 + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Release|Any CPU.Build.0 = Release|Any CPU + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Release|x64.ActiveCfg = Release|x64 + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2}.Release|x64.Build.0 = Release|x64 + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Debug|x64.ActiveCfg = Debug|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Debug|x64.Build.0 = Debug|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Release|Any CPU.Build.0 = Release|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Release|x64.ActiveCfg = Release|Any CPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C}.Release|x64.Build.0 = Release|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Debug|x64.ActiveCfg = Debug|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Debug|x64.Build.0 = Debug|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Release|Any CPU.Build.0 = Release|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Release|x64.ActiveCfg = Release|Any CPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD}.Release|x64.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E8421996-BAC4-4509-9C3E-BC424197F2D8} + RESX_NeutralResourcesLanguage = zh-Hans + RESX_SortFileContentOnSave = True + RESX_AutoCreateNewLanguageFiles = False + EndGlobalSection +EndGlobal diff --git a/BTW/新栈板V1.0.btw b/BTW/新栈板V1.0.btw new file mode 100644 index 0000000000000000000000000000000000000000..3adb7ece7826e98ba032ddc3008d826fc35e45df GIT binary patch literal 25681 zcmcG$2Ut_h+BUjqf=E@74gp1__uiW#MG*)k2uN?zOXwgq0s;!s6+}TH1f-V`KoAh= zA|NFc=`8^PL+32sZ|{Bf`TzZW|K8U*Cl_2KlUZxcJTvn=&)oMtP*bW|dqa%u-R2fcbuQtQ&Zly<%NjK%8Ee*Az~t8k`P0CYe&B)PauZ2&i3xU&JNDD0+4&| zwnEgDg8$Krno`x%^NF*qwXd^>yBx&W-rEO!qbMpOBnmM!kdTMi_&GnZQxubx5|xK& z+Bu(BQ`B_#wfFY)cJ{G{sQUSOfUN{esVNNueSGcR;Xvv?M3jLi|5}MdN}yPt-b953(vFj>X-hy zxwDV$6Kk-lH&EAFoeUOJoEMu|d%HWkI|8k&OL1Ts`F~yS=WS~b?43oe|GgSG@aHoC z_|u!-0+wAkuV&=z`@|mji2Dwj3Ig2IP&Ep$+`!5w3f%MOI4wV=Ypu98mXa?@y8Ye! z%f+wU6f9z~k-+zSvs>B#wUA<IHww<~I6#e|WAE^1_>KHK3uS-Goxx}AJBI&)~=a=PAfI_{WvUUs->b-LJcAbqw}WASXo z?66(=xLx`1oig#(QOns;%hsiqt>m+9<*<{(J$TCzw&l;*=|qi%Rei@@CFA{rf$-CJ z;H}RaM;o>kHM9SGhN+w#v2uNva5_D6M1D5QdA!$hIu^cY61FHmbI@P2Bs_WsM}5}$ zlXtcge#&_E%PIsPJaaUxd@|g!13#s?{&dCmPZa0zY|BaA*`J)2gPgO4yyJ5V+#1Vn zG3CUY&UJwuIXA^gRrsF)rIX!ZSGQ*?*MH;BPFl`hSslD$nxENc4WEZiGOk=_=Re*D z>-WQ(cLvT5lpSx-4ZW~B?yx%k%U0(-J6%;i`7k!otiox_cN}-N#TjMO~doAU7gssL&|pRYIv+?gdb#_osY&C3`58Hkngzb zY@ajyWGwsy#?M_~3!1v+!0K#095cEWvyU*CJAcFp79U3V>+ACeogFBjEyIwEzpfwl z|M=^}*&%qv)M(!6?uYZ~HQ;u_6!N?KR?8u>B?!eZ)OEXa|GZUyf8x0vH5aBvXU zn>qK|3~$4Y@x_am3OGy_c9<(E~y{G!eFBBp{%!`leNpRJtgymYq` zSq-}!Y7G1b6Mw|^TOrw*$v!L*J<*NwOH#L_a+f7X%j}(W>VxsD$Wi*=gYM!tnntPV zep|;jjKEMNKxCP@(qR^-SNX|nj%LOo@eZQ^1BVV>?fxE~C-xM9iXVZ9V3efFZ;TK{ zgoo6Kg%JrrTHo*?db*E2MU3i}f3`nL^jaL`#{wPnhYigTTmQzk@6=l7R4?10f6DW8 zo67B5n$Ih~AU0`Fz6P7YZba3hRX>b4A&kdZ|nf?*7{Ubq}#L zHSz3{r%pG(yDkv1P#TdjVx$>7g=vBVD_A0xbUvWBhCSke1 zv1;teYY%&pqM;R`RjaMPj}yOi z-S>8FWy11yF3Wu34ubUaD~Q%*+vpa?)%N!Qz8_2K3z-;2$8ip^idc4v!}J%k?z}=a zn{=vm*#@W@_aJ7q@X7U`GT06DszX6WT=AA&r-CW7ui{nJ za%AK9wW!FF+PBW-qCz$b^%;Fg)taV`Hb%IPXqn5{9u^Bzr%?4_wIA6e9$WWAvU({z zP`FQIbwo7nCR{Gs$&`%e%p1Kyk5MUwDAL2D?O8i{aF*&6DY;#;4&pvqbR(*G)YCdx zZ*>j1{~T^qUX3HxIqnK3i*Q;y*84!)d-P?m+q{__?9q)e@88%zYqqZhpSZdXbKh8; zBF32N#@zB=JDtbT>^4`pUyu!akXASWoor8-;Qnw)FSJ~uMienMtN$5$=x|6(hb&f8 zXS!umO)ZErcs9h~Kz=EZ6E5tgeh(?8M2hUN^GH8Eu0XsIENT;6nGPlo;?$9C#p^hXGG_i582t{yH2If0&SS$8;S=kx{kem}GAZlkh%AyqCKY}L zwN@Zj-gQW7X=q5;^3l-`B^Ik_XowdPgK;C1@?R7NFit+@Jl%>@KAxim9o*edrUGS> zTm`pUE6y*GF_ziF;6w5MaFlF3Q&_BptJdz@R|YO9(8qeR@&6l7`InFWZwjS5T;oNd zEmL26dxh!(Wx{)JT`zD<4)cY^d5uj2P|JX;4@kvxZk7H(**|S=b}SaFPwJ_ITw|1`ABqxTpi#KTXDW$UDnj3t zAeTmtB;^F5I`Yjz3=K<03BmF$qkDn)hzuxOVcJX88m;=;Wxeg^vH-6c8R-3h*=b=n z?t-|vrnW0PEU68(*8QZwV7g#Yc4WWxTzUyP^{1<7)t<)1H`lsL?~>3F2a)5Rll$MG zZT~KuHkWso%Tf(sb7vjko|I)qkW%!!gZHuqU6M{keHvF>g$WKrg2~BhAla(cvj1vE z8WCMOLH`&@$^3z~F^${wzTw66?Z> zC)F7inC<*xCkL^jno0Sf%eB-(=SulVUBc7Rb$g0mNpupfkqK0R`OnHTgt_xOPO&}SRl3@RkYAdFL zl(SPtuO1wSXgo-$>U*H!d=+sp>W%2aaR*f3GFGv3}^uchx73$la#*3NRQTSg8nzBqg2YFEjN zwA=xYAWP-zLsx#8&N(*}LdDXoP5)$y_5a$!^gIa|`HjuJuV^*}#w#Rc-M|5gC-bMAnf(rQd_QfE=6?>~+;86mnDcM39CU z7F%zXZ_mnLe>_}%-uZHx!A#V%7bIJY(Koo=15Cs^j$6fll<4zlc!uDJDBjYT zD!pDF7lkwbEke3ZVN&k4I34QYVXM@SRwk#%=z@dF?buwqGBuyPsm>mUc*EQ;b>;u; z%l^rs5TrQw*O2AfykoGT>$8DHth-=J2WEmwMQu;Zn-5Fe&&otGCJF-@bsrd>;7-S}O|3}CAPmTE>TyUGA zH?qbUOa$+HO3%y;7-;j3kNp_!WPBFv$eeDpy0)vQhd${I!l!t8 zah|7(V7hewEcI8(C`{TTIDk8-c%Q)VCf&(A!w4%?Mhpiqa9{De_)r%HiRDu7dPhs` z>PBrQ*hhA*g>-b`>}1*Msh}v=z9$F24C}cNxWzj}Sqs1CMX zEy}hqFaLxk++K#eQE~RvJ^1MLgxmD$lx6)s@Ffk?a*+Zhnvo;}RdL&me7IJe9hgbBhp1iS&8kCh z|A56$KL041&Lpbaa3qw|$RO^-{QEL6=&D;Z(b*iXjoiz(aemQjOF6&3;&5#ug%I8@ zrrCCY5o%H^==x$5!0qm5i^C+Rc230lmu>j8W!~UQEWFuT^k$l9q{@pskSSfrdrf9u z{MT-$xqS_XrB5*Gg38Vha~C0-4i~>ZF^8fwziWW3>pf#*KiQ`Fo4&l7ZGTKH`Hgf& zw>go&gzQnoDmx-}Pg3j9>Jqs!BaD9B}6~O(~n0 z$*|bDRDj*@3a&OM4+#3phkkI(s(t3P5}}mw_>gWX5#UCpFUweWxNh&rVVl_h_mHW$co#$>bN^S6pSA> zwKice(3I}7?EE^{c4K{XpwC2sKivi2$f0J@t9e*lwcCslB8VPNp_9e=c2=24=CRW3 zSFxqA3@n}f+VqfMN05TLr%@LP-S5WYM-#4xqGiog1$SGG0+J#>ev>ec$cmHN7`Vrl zHQ(jB2@nUN{9s#lxSu0)dDJ?w`Rf8A8(DHX;!$fxFJuW=NV?Zx))h5pI(Ku|otJru`sCwBjPxDI&FHvOUM?5~QD?k~x-d&vVa$w>5ifNdPbIabaSn}vL zDBSO+`?>U^%wc)*Uib^ou<~``sFjLOk-J|y@2mRCi$hlY7#J&>>O5|FBSkx1=1Et@ z`8h1?ohwWQu2snS7ryq2@HI+dmiOT`oADd|N-z%C{AxhErZ%rpnN~`{4QOOk*4g)> zE(KeJGHWEq+Q!_v8Cc&#PV2-9i|?M|)Mu9&zh!YVdkkx%4OCMP$XuB!eZYSgWvot7 zQo`qeYc6(%>QgI!GfM-^458zGw|=vnZ{ zYUuwOyjo5hM?pA6k@$^c!Q>YsnXR=EBtHD?2n=*}VoR$1P*wOZK0}(|;Ypwn&?bm~1Pf$WcXUNgVPElATP*&sZ$G zCz5wW2mN^L&z35Zw=n2fgq|Mk6R%bTn!FX|E|)HQiEgkDLi5$@sKT7_A{VI)8`AXA zFcB;3KNP*tBxP2Y36wtZy`9P;SrGlUWh+`He{GVN7&52`RLPp~Us0rEW*KDrps zm{O>wn*_n3e$mb|?l^#L5Gg+`R|iAxZF8!Q2@WU^p4JjDtJjx}k+J}SF9;4tER}i> zwgr(#&_yC*OM`YVX;92LDF<=u#w@Ft^VhWZs(-TK=32HyX1!H-AIx%>neO37G=VZ0 zXG;e9qd|Y^6;pG5uenY4L=zoR=J!YKWo;) zZ$+8Jp!9KCz7y#SLNl?xSE-sS>^kz@8cvuNi(S@UswWo4>$SjmNm!?J3US;UVS^ z>KJ2^KZjw!pg){EKoY=(N+;iJpguO7mVR2i#q}%+Q_eh#DT?+Qq)d?q=TeR znVXXwgR$mh<7T+plmUu8km<0fQPsD&@rfVwQsW5UQUnJa|I(ZlUhZr!wP%S_y3irx zJ6NbhuyoUHaiLr?dWnoIf&Rk|}vS~@Aw5K7Ao?ioX<;&MI*#?XEf>|nC> z0#xzgqzg`!eJFK5MTu9q(cl!GH5>ZWm?`2$v!`0!8D$6R`hDwrFp@tph9;f^&lg5v zthiWW9fCX2TUtI+XrCJs7^=w2hAt0DO<}1~2=jZQ-jz$&L>QDHbu@i}_2?!#zhu(P z5olt9rWgV8c2tPl9&2PygY$f}IgKVv%gaTin7gv5Q4EAoe}C)MINtZ96u*(9qn+G* z(YM=oX$qbSTV`3?eLH*ORPQlgh)O|8kWDmDKk0BbJS&-WDNVziHI@sBaO&yts+Dsj zdOS)*Ar!t6gkLfKAi0RSFRh;tyL`OOir-1k0f%T;GhcemaNq%WDF;n)iPtfC#gXdCTD%((16# zDhLFX^G;Xu-nj0_bavc{sC{=3bATiP0PehdIr)>|UC_|G?h1jw-B(M~L5xOr+2Gqy zQO7UaRlx?ay{J?Ls?Tz5USw*!(*&*tb38?0ed+;Gbh}3av&W^za(r{(O;W%*lyF)2 zi;&+f##+V0n~f{%;d;AQ!QHy*{rj?ckb=0p%wXDF!fX^Bh!Bo zqp^kQPbpa92-?Vrkff@7Z$+)c20D;f^gIMUhZb29vDc=Eis3ugqHBXZP{|m zC2t%KPJ>}@F~iEzb+1j7fd-_(;$J-{xapFe->mRz5wT;=vvaUM^PH9#%ci5pgy_a} zf5;1?oc*ADvU*OPoCB$?(la4GsEhPNI{z`Q{}%%gL)+`B%?oWAr2%Fg{C|GOVud%J zI9DLNj&|K^zwTAqb{;|>*+mrN`BGlb@=@i<8{8GGy`of#~RrgdNTSAw@qX12G1MdelXz2Bv~u_ zbVV_eNf;hnrzufC&Syz;0S=cIM-B&Ce5pSQHPv=t=VIF&MrQ3{J^+!V0J`h`)^k}1 zk!@?vxI3J%eHigVRXPsD+S)G#GF5v#HbyrPrl01or!Q(u(&eL8cOQU3kSo_IAco)` z>wUaDaHDP`A+6w*lwAkM#g|nR-_}ZE=YF`NHM46v4N4aMw}v#9CIicr$- z`R=-_srQ(1C-ugP(fN~cC}R>*?#N3mR7egZ`-||q<;5}@olDu`O&+O>#C46L@blHs z2$!haT+uWl89e%-zcba38f|=Dbpju+=87H+zB{OZ_w`OiyZOiU^b8VC{kAGs#%=jR z0Au*|D7v;?E*gw6>y=*{N!F9kberHRWqvoVz&Yikrt3Or%{AK}k~*_$m*B8Z=Lc#R ztOFdv?;8I0%y_!$&9M@ya8b4EjgAr7mOBk(!(t6x2wi(iy&1+RZMmeAT#*!bLBRX)l$;Sus^S0`hX(zOiJD*(0gq{E0j6M_&*YOTQMfO;zVVP61=ATrn;7XB-Jc8W zM>pzfgIV(AwCl3jhGlNf{2G}JDNbzIAun2pLAdv*%++)FK9F9w_?<}sHl`Zu_8{FP z%B6eqbij2ZWwwS;aTg^c`m@SK-wkbu!%hvMz{!w(xv>H1{@~;tott`95{~YCS8g!M z2l#3Se6FpO#Mc<{;v6o-Fn0p1#cNmN8_%Y<8=t!LCq`!=z+k^`M9j1MV5AYR$2jD!&Ti2Epp zUlxR}e;sgRyGQ%QXrC?!b-~G4MVo#kmwxFVS^&LKqC7r1K#k(oTGfP5T1L|IyhCb0 z80nsNA9rgK?q&J8_Ai_33Y!pP?vdPq_8 zbmsZH%#KRW^BnEYEUei2DMwq-7gGhZW1bIxu8m)!83G_6s5}PJ6GP&SBch3@>?|GU z_0o@iQS;nbv@ZSY#hgBeGCB7y60AY#-5pBr{Z1Cg&xLkmDPtWr6<6P-mws|d5!h*p=?}=|htXL~IesitSarY!9&cdOWYUmz6#aB0jdZ zi(PUlA$mFKom!%v9;w9BmSQhZ{SHi*zse>c#+WR=H41j|SmLD0ge$YzCbcJh%a*ua zk2%qh67}kcwvysf-ndW{-e#k#Ym}`@;}xJC19E?$MrrD7Xx#342>uNyDExw$Z}8O_ zflSoW>R3uAcTZ`HsZ^sLG?5&)B`PWU=*G~3b0cRf1kmZ$_(4pHl~d~{7B=Q_rJ$=< z9owk_dC-J|xrOSqy_AQxyA^}hyk_-vPDR1^6&gh0E3!Vb^`Ezdq(#%~w;H~LwTIZ! zjgR&NIu+b2+m|?fDq;9Rf%%`5&7zOxQ9wEJS4!noV7?UPu?#C|?~0a;Q-LO5yP(&3 zF}vC8Ff7pA?~L zAFSM9Xeu(l$+4rPY9^G?vv>eE`}sg7G3xV#`ZT9P0BUK{=A{#BEcblt`E=tN^|4@+&iTNsH@9_{e@bz5N?LH^a!!PN zCiI|CLbCF-2$Sumc|E**D(ZD}$H}Z7L`RY8sk-HG$)8U-S)BOF9k1y?JVsJcPdS8B z+cHn^ScLaWxea+}0LQ$AUiKXqf^TM>&3spR)U=HT3EC?H&q zo8AUe(a!u>W8bl#Jr%nO$LHw9BWXyXBT@^V`1IOIiLyd9OX=5g(ix@hDl+txmWG=a zV`xr`PUIPAAvTm!zd$M7rp(&C?Tz-+n$sB1txZO^dXL&V z`;3aOB$K-EwXDFw-~p~crW9kI4x`Ed!O1M!ygMnpLNpVu!25HeG``r58tbw;Z;2a) z3x9bFkZvtk7(bu>_G@QAxn*=I2275HaX6fi#9!%bU7(KTy2GQrK-3~VTp1@&E3KG& zcKjS(N<4w{P6oNC^mZIanI4L!!J9P_?dBrs!}xFn`}#4(t;5&w9jE1SP_=TGKd5Wm zKn36T0x#UF7*fq5G*i4Ri7Hk1@voZqk(s7en3jasce{wiElsVv5O}nQ@wUh5@!NTL zDZ2m}<$Bco)B8lFNW{i0s{B0=_EH}w!Qy6bl03l zWl-HR8E-;&$qq2y$F(1c*EOzMH-zZVHjGTX$oSCZvdb;P&`S9|nCEx?^pfZ^Tr=j^ zWMie}?_vv?23kr|z~ewXeyK~YPD47es_$R0wEun<{V!|oo4}K>XRNxrO6TlF5J+v* z+!W?CoHIr3!L9_6{*49^SPns5JSRZ@UMa&WED$wvsmn;F^IPYUR1xujI5yva((vj3 z>o!*X9VG+xH6lmnDA_S68p4cjS(rW-?Oa2L7lA48I8R|(uUD(fqc29u9EwZtvTYLg z_IWv4vDiL?MA7NsiyFI;+d0+Ap*wxjW7$m!K)pKr%wPP9mx|EF_dW?$rPsc=M(wx{r0aeIS&5FXn*6imwn6tE1U(Fw6T;yfln?pyzA*1hLi{)Yu?Uw)!5{BFREcEh@?m9L>3d=*J#~Q|5eT5izWw;9K8(QP8dn>2YR_VY zh^52%ZCkoB@~&^zcLc-Zgvh4p)#|(7MkZ%0qKDF#xFbeZzgtNxkN!SU8Z{7meCQ0i zxTew)l4jX@SVkcwARfGI>$VBQQ}W&uK0576_KiX9_(jl zsP=0dkY5*YGV$Tf`2uQXl&^zt0p2NU7_G=EfN|GmX0bJv7_nU+!gqmO2I7x z$4}a16KH_o?$qpoe7-_lcY=Wk5SMoh)IeTL^v=Rzx=qitpV zKNxG@OMq^&_snAA@+0$0O0dCsLbo+{z_2Z{FbmA4yP(*)UyiklRC9y;QuoiX`oj1o zj^8rsY>`W&oy)wQ>nA@tJ{GoQD!M#NZMVbE^st4KTu7QtE3?T)Z?qINM5RHcX>L}G2tw;+O zLAn&s``E9%`C3x`#ZfI+m_XL%gzW`UJOWc?XMIiR73SMdCUb-77 z%wyeo4=y1ZTW^coj}*z=)D55hjnmn()qQRrKcXLNE#DMWXB((@;cJ$kLuxR%rh;^1 z2;E()5tMzJb>bLHq^bmYp7DpI)a2l*Mlj-`$&11;e>lzqZf4I-2C{ zLBa6sKNI|2AO zM%6i3igNNkkiAc>D_hj+fBW7*P+HNH2#pmYwxI2?LMt;dyCI`3GU-L83m(N_PF(ROy_XDhH1G{W3yyr|c9wgbu(DES= zWA&B#v20S3P>NnE`#Pr6&`0Sy92dTr+FZS;Y9CmJb*BPFD9_^Ikg19H#3E%sC4C5b zAk16frbrmZjY>-iEmmgp`O1^Mb8~WjrJY#z>0nd>++081 zt58fQlWh&Q#|xyLe3a?w72&!uT|6r}a`0UT3|vcQSS~+jj|OmeaG+_$y2N|YgRxwi zQQpnWg_kcy=eYwhzdddUy*G`?b5_E{j^LfyZ<+^m98cg6Wuulpa zhznt?(z88B#hni&cA8uz#sE>e1GGry3g3I9hdYBCea?iUT`wzUQg0D+7^ zW+|kdL2c+mvDuZ9DeMqCs7I4%Wv@I+1DS&1r}j#?aP{&E84WuZ3VJ}66hazJ_lZ-< z{m2KvkWf%?ks@?x8BRj{Tz7XmScuHqFkU=gt z8Ix;x_xHFdV3WKgV(5w(ul+@RHC_EI(^RkUZ#>}wbz zVAcCU6;$=%*k#K>Z_ay1(9C)SV*mJLWpaIfDv7OE#u<$!X<`8g&A}~Tuu|<#cBgdA z;e>L!NjWHu#@ZzENAVqQR~L;`^6#1RE!pZ7voygNhb}>>@u4Lbic6NPe_Rb7`}zU# zxGFv&Q%!(mxQ!@rp|EZ+Vo;gJ@?0GxwCcy1xEC|e9ov$&MT6qJ~cSTI8&(f{G$`GbWfWJ~&-qQE= zk7cIhj8iyXEC@_?lfeOOZxL^7^T|&qOGk!D2q{#P4|se53T2>{yJn5o6UX}?Z84mf z9Q7i~%aJZA!HY0FhU6{WC$0p?@Dc*jPxAIMi8>iK@<%6J*~2f7JVHK0BEXa*9Y|A zf9;}D4T~0o*eL)FiRew2Jkb9)XuU-_fEcYnc<4`khm7ah7q;@-`vUM0s^srBd z;prG(V~*Q2GkT|3ZGlxhuJ)QhHqUTTT+Q|FcDg5cm`8R&?NwJ=S>dB^5h6=zX5^5c z$jdXCm~nf0T}LVk)lTkd%V&D&d>t6VJfyI$S~}3@KsSDAPUwAyzZuhmBWfEm=Rd0- z@`%qRcx93bH^79@%?Sl6b2xP5=N~O+eZwp%_${bPwt^&pp0zVH-|e;>YDc!hl@-?0 z3KFnIlIR%P&gluY97~^{4gj<4Fi$xjUJic_2MewYgF)QPZlW5uu*JW+N7q( zB%8F`UervA1zt|3U|mqi4hiX}mKMoDcj{oSt8c5hkN}O*Bzg}f`QFZ%9t!n4xY~23 zX=GPk9r{Uc(o@>_J8UxCdH6!TJaNX|W_I{w;$pq~k}7TaehmoDyewq;fF_~;CdWTZ zEKOk2ljJYGX3I2F*#QRmFjU_qFom!>7kxWzxwiaq1v$BcDCPaA0i~l2wW>I;sw7WT zoi99}WaY$V^3qay6_eueXr=Q&6nhbVAk%6PL*D$l!-i<~H$L)Bxgoyz#Emu_uJqJE z8zs5?NLzNI+B8G}!_!5H@7|U?%rfSl-x4T0tZA6{~f)Johja( z^R)bTlAnM7FiuOk$Pvga5*>s3_mFc`q;}U0dxpFTCbW5>A`E}P%rE(LNV#z|g+uim zD&Y`Hx)%1O#8I zPo_N3AO=)^4@MFNXT8my!-3ihc9pNgAEOW}H;UR&mDPMg+?dYjnh8E;|BGJfC2go8 zI}FM2teVa!UAj&ZGh&6Ws7>!Y!LRQj2G5pUf!NEiUjzejyLT}+FeMkcq)Ilw-xlex z2s}k_#8&l5-}7OexOx$3S5Wxsu@^nTF||&^XN#rF*?w|&n!cYQ3xN=_<(m=!53Q6A zN>K^Ay05?GH8@9$s#GTjVLfkivJM{J-gTEMGf<@G)zBa}Rc+LCcZT+LDNU_?dnvC0 zg=)x^-T==pM5pZdV_xt*u0e9|UNsr6Zu`Tl-mjAjYt+!FPA>K|4{733{T<|_$U{2uaxnD>V6~1$xo~ z3#mtkol|FLe{df(lYS-7@53byc(`xK-o~lk5QUhIWh{g5H1V&o-)~Lu2g~+XiJo6;_tGm@L>I1rcxcl${U59yxr4u=xVd%)K zdmkSV>KdhOE=nNp%eGe^`io4&0}<+4G4uSf zOz*xhy{fe5El8tc&2}+=#pN^fWPSE`b8fe82aZSORFKGV)>ZC_&r1v?DjvEE_;(9$9URMhyuqsazDKuQW_ z_v-KmbT-hMeVySY3MEK?a6*_tvka=9OYV!3f6t0z5?doB?mUYdImb@XA1Yve>UV##s9X?&x+b#O8+rhKSyP zNJh?Y@7Abh=*&P9qJo5n``3=Za6#ITL$JBtT{Q|-8@di0g)9dprn)RMb-zIlKh|rV+0S72e?5UwOy$4(zUU z;$<}|?nWjfWAcnW4B@0V!9ZJQ_hH(&yUg2KXbo2XC5zj`x-leRF!yk{x=UnWIpAyc zDED;Wiy%y0tpEx!;3GWUK(~&vwe78C*%L9=@id#$R2v%TSc7oGj4&p%JC+ok#z)uw z(1qwi-!Wl)=B@6$*k%WJo1=F$>HoYQiZud~^gaDXU(t^x-w_C2@;e3V_Ml4bC&^m~caU1FQam^b9=%x( zeB)?VKDNFm*2Q`$leQROV^F?Y*qg806JYUUZ1RrIR^Sr!;U={3^~TNQ#-BF3PYE`O zqIV|cF8L09>Qi{D!E3u&J272bE70?ukAA2l!koPKnUM@E*rM@*Q`Jka?3+?3SE^pR z+#RmW_6KPfl!J!Na)x$_QZrs*61a;jziPG(HZW->(qB~P)VQ&4eZS!83zV2qxFN(q!M5c(`sC>NS}Qo9Zw!GqnlI9cV#dd>+m;!%BO{_&^J3%?XBt( z8CK8Xinz-{_-AirZDlPf*K=4oE7huyePLB$NFkU?r-h1W_C+V=pPkuH6B(G!+0TL) zmI2#0S-m?4)vt7^K$!6#l^AXuOB?@wA{6lo^x4B79wdBKK06*B@r>0(Zly}?_~zCQ z&JO1ZH#!bRV@MxkUQl+64=7ycCg8B^E(ivQg(nq*=3MSN=xl$QfS!DcpAA*i*w@Ry z7)U9<^T-CCBtBqUo?x5~l#=8AIS8~hw~79SES|=^(S0p7a8I6`{F7Au`5pe@i;pOg zb-p#BZ!poClfB17EP6|Ucdg%e0Sb-(TRqVSnqgcCI8KSIafde<9Ke&C|Le2X1T9|Y zIr`YV`Rte^{-EpThB}ZFWz;Hn5p=Y+C#?1t3P;3~Hstj={mf<(ZkxYySZkjmqo+qb zH{c#Rg4iU!S~*^cxOR~XG3qeMg25YU7c;%PZM(Uk-y^{iOoqSnL8m&4#qfrV^wo!> zMcsAx-?_yacCF9!9!UzpKPoA?p1#I-YG{#_J`Zv>@z-bG+_A)|rz0`oY96SXN)Rgf z7T;6J-SfVr$avu`Ef+$IihKS6W@lPQ)O~s94WZzYYxSR(jF!IEI!Mh(u%>XxLn!F# z>@`IeE$!_>zQ$GBvY;>p1j|>ipoZbb76W1d(z~C>yr2`lP4=y$KHZg8^WJeR%QFWi zvG3ZOiAOa&Pq;}%_n_q!pr?U`Zm;f4C9K#yu0hm}BBBfMH^*kIne3{ysE6ae(Uf${ zReK;vc58>YFRPXAEN*e(Pd9j>)s<1SA)7>`g+Vreq?lwNHcMg z(!kVdWB>w8iPpWy?(p+mUULl=s9MddbDg`W zw5Tj(eMFCORLiq(_|tRD`!`{?!Graj#{T-*W`_5Cdm;qm(vMl91bkKo3Aw&tKW=-K zN7P&{_^Aqol3f4HXeM>H?{l!|9cJ6a7sUqOOhIEJ60e<{#Klgd-x5@-MI9P9taci9 z3iKLGWkZaG-FoxO7C+Lh#UCBRiiUiho|V(Pp3lCajuo*+AX|c3%@5c2cVTGKSbw zG=$&_iv@QN?h@P=_XJ)m2SRcXf5oyf^c@=k=TS`$?7E zy<`niJuDA3A&TuM+unw@8Icm&@ndbFL=>@g1)4=&EnXKs(G7%*i10MpQE|2Go@=Bc z#sj>>Jkrdfp;)$JHUDaB* zSL00@qK~(BKYgSQgo6UhdAeH$TeiLAI<~#kB9_S{!?;VXG^&Y0m;1J1moj^uPfKvP zPbI^C&$U9+%YJ5Cs{a_t$TOOMIxsfsD@F0CyNSU{3!m8`?FsFdR| zR6eGZYa~id2_nB534>Y;e%ia$>XZI-Sh42`p+K#a)o^n8@d?|!oq>lleGvOYZC)=P z0Rsw7D(DgC$t*A`{AKzT=M04VJSH=_A+YA9S8^g$0b7Rru(tV6Yww?@wR&YURUq;J zBL^*@$^lu0I|%;m%g^Q-kPVfJn-|)kZ}cFwO(mE|9PQ%Ym)in5>e2+=(bTthum!Z! zp&V-rv-D^Jw7mfD|Lnb2lvj8Wmg26|=v0hxJb}F+;mW|!lUn5Xr*n_;m3>2|w>ej& z!sM|&6!>aw$V*{W(EQiM_`lf{{I5RtUpM??(8CN2d4K4CdAK44IRJZC!(gy%*7=3i zj$@{c=Z)T%_PTNBKV=FXFZSn(ik3Y#qVq7fMl+=RAMTc#AlFI9M8aE*P_!#T+xP5g zVvqw=FvMOt1oiVIUCQ6j(lWmg{j-|mpMeC7jJu;Q!WgNCtCG4;RzaF;m3=g~C@}cK z0=U8X&yf^1+KYp~c@+DVYI7k=@lyF=wsv;MQsWqUftL@3`RThhwal+s$+(T0uTY~P zwU0gr`Q07&Q5bn-6;DHFGqr_XHi!D-Sg?X*bmh>L+#wJoDq^9M#O)>oCVdf)%WyKG z!sClVMj4i((OsiN;Q`l=P22d|0@=aM9>-IKT8rFh$&)CYiH?qLxe>yqUh*{u8Q}L{ zDwV5^n8TH}m1!ch-!RCsCyF#h9VR+G?dWR@W*0}XsU-1y@ViC)MD4g{U1!P+#hli= zKb5z@ryWaC9m0O)swAa*tcUyky+Zru4Jw7F75Q-c;*Gtl5co}MGA@Jj^~s;Z*4u;J zB%@s$Y-3WxCU*pCb9J{GMA%4GmPMczLdx>a=WJZjA9;T{S8dsLf3Z-uiT1h&6`O^_ z;p$TNXZVJhp&6|VW$Hu-sC|%#!FV4=-H#)9$I-qWh3RnJ3 zJ~xEH^$+2t28MR8<#lvW3H$!2N85&cSePbnhYEY1{7wg55C(-KF%mdeB48#q zrYO27G-dgBfHGO*z*H1l*8jw$g^o(^N8@v_^Z3gz^8QgLMCR7>jB1V73RK__)!kmK){jz3tmfkL2Cse`o}o6B`G zp)6>hR z*q*VUbJ{1|O|<=J5`w=y#+IaK1PJo*qpM!|Z!ij|KI&IZWBgpt$OdwwwC%WAE$7NU z=h<~e&&IQsi7zsDBU70MA&Ra))KWE#P0a7|;GQ1(j!3v14z&oxMRg4^iiquPrZ;Rk zjV_}mBh2MM^73ZndP1e+sZjwIOMOQGvSn3l>%~myn#FdgyB?l^^X4To#;lj1$!}iD zZxw)Wj%v#x9^kd3s0qM3)hGjJeq!3^A;ir>i>Qctrz*o&`#yY2f3+}mV<5zn_r>b4 z&*yS2e7ckpV_!na!Bk$-_9&^CWGt?yylX4v_sH-FdiRg;G&Sg}Ybw2cBe3#f($i6y5;MgWGIMW{@H;;l z9)DUEzt`4RF^FBFhYt%;4G6g%ZTBg}&63cdC0bE zp6}oBW17u;wt+h)liqw$zw)X#`D7=59VtxAAJ42zN>AW4s+2xakXuoc#_x(K52SHD zIP9ew<9QLf?{Q{a`ibv%C&+BTHe!$VVoWx%vE)Ec9-wIE z3CJY>0zR}`DFm4>bEHNvcJOJAXC9Gh@9DRO>(n#FkQEt6o(5?1l;tMV+v-Y zr#zYmChxTu4`F9pT(q>Fy@{)#l;_HeV`2puXyBikpmPHDDzOtYqxB*<6JHgRIZ{`7 zODujS&%rIq!Xz_&GL;oE)%8~IN%5M(qSr)0#5-$U%?Mhbm4@ue9eX~aA5{5N#M464 zE1Hr_*E#wTRu(@N@n%1yJ9B^Lm>chQwI@&CiJ3TlpYCiQsN8YBYHk@qjxGcsEl)6g zsTT0MTsom)w3EFt%59lEZ<_``cB!)ZKowqqHQgAw17O|(7+6BCG4q>V2)s+hVR|#X z+u$PSueNES)uI1vr0xb{#{vOwxL%Hc5PGN&U(P1RLVPF~@GWKR!@d4Fk8Pr)iwyaL z#rjB5$HElpvIhi`z|N!aJfrqr8Lkj*?i9ZJUNZqAa;F^_dP|`ia#?Hav8qeW)%ldQMU6Fxb*=GOA?d8j|w-qC&9T75PCW$CB6QG=(m*UGH?M=f54 zR9CjppkK6k&^1}2tu^|p6pJHfDXM%(6)?Zh;Z2o-3yVc5ei;GtmI_Xe+-^Tw*?Bwg6d8 z8NH3#c>H4m)IUB|K&57P>w4nSRPAs0FjVcCcyZWzM9yVwj#2hYbh=i*$^g*mS4sY> zp6qG`tX;`|cZl|-D7RN#)kC49Ji4^pBjqK)?T(7l%bfd;lpG#@uWSxU2#VA=N1>Zx z{yt6DV?WuSijRA0Y=!4jvGxH94tA{Ez2u}+HBvjVtfB5n7_mwi#BolIGUjyr&wHdF zn-@QokFR6lkF4me+vHn-_Ste!u=S2qnBZGKSIaxm03ZsShW#X}Z*QOUjK>f5U<%rm z#BiGLTn$nn?*2q-l7;5rZkddv$)$^g{5k~p-h#!+rMdAwWZm%qlnZvh!#mS-t%B#X zB#Xxk$r!#Ju_zY*u&Dw0?RQP(5>#`fOVn+wvvC+LaBRW9;k$FX(VWuf{J^d`N}TI= z?F#@Y-+-d$Ge>HoHy$rcxc6t>7Jw+yK1m*VZ3G>1%~c);4qAvNmL$~SeK#@W-Lf3n z%rhfQrp>8zXWK}H#)&M>fGJVO?O>YN%853P}JRAKJ?96`K zTRjL_y!Gq3u(M23O2zEwr5R*Zpz&1K4-+R{c`~n`12@Q_Iu9CU2r9=7&7J-Z`~=YF zlDCrsmHx!EpI>R)Dy<4S^t*)(j8^j`0r9?f*r+jZ)IQz=qeSH6`L^puHOS@E0 zA-_r`LaK1uql>Z^TSn;Md7tc^3B9h%1!4>CapK0rX|YxQXfYnA5$ z`locL_9)cz$U{taceO{R5(+i=&%sbAC%0-Yb{ac&7yQ&ZtrWvrqe@8Zm4NEs+#;(>-^z6V?>m)mifYsa%Q56GLj*OLWO{Ztuixwo8R<@G2 zTh^K~lG<>Jzp5wbJy8zO+1NE&I%(iy0P3)Af=m;ncJUP?ax><-iHrSg#{WbU11X0+ zn1IS9R4??Vc~=B@A)nl@yX+!QK6qSzZ0KfJ`s%5Je4E-`WL3EigD|jPVI@X?}4>yx|oC(3font>=kd zV-ejC+7-{~9c{zq=OziUabex;;W}m*#oPrc4_y)qt<8Q582-?^xV#f;l43f_ih=pf zd&pKskyQ~EI6(kCsw#+M?dWwfPTs_T# zbrqI(Ny-_Gq6wP4dd{MoBa;q`JU${1zdnQA+;5PS)3I6TdKbk^XV{9|`-(JaS_@Yf zcipfkIsu9U@KNeyC5*pj3QqyEO9a=Rlr2 z{{XNn;SxsHz>Q{zn$ekn*F0fkCW2R^Hm}30XX{O-O^esQu0H8nIZGo{xB{Y|g;TNI zKKL3*KKC$x+fE{FGTCZsH;y$De06@=(k=( zA_D$=mqh1JuWR@ik@!Q%NhTPZjP#N-_5HZ<2bGB*roq$#s`_%R56emd-haF@>*-{3 zQo>J7ScV0UOw_%G1y8=RG$nJ}e~Yw00-wROtfRu?B@Ay1OB_#ei)%911F>V%nMWXQ zm>1uWLlb}0D$+xJ-1lZCvHcWI=NfAtFzi9YB;O6V+%&;NS))h0Jzk|@k?+2T^~qTe z;yOh3b+pDi;+lr<+=byB0MnUC%`PEfG^nr zcY~zv&6^Q7Wd00_naS2~HDh+(nBbfw)C5dkMLF9Fm)QjjQ!Ju|?)2`SwfZu@=yqSt z_`>E#5&0*^iS=iy+T51$5XdmaMKE`>6BGZm-%DVR(RGxZJYz6%!DU>swz}sX%i#FH z{O2-=+3bimC^bEil+~~F`v_umE=n#1Y+(*caCco_f|VFHjR6@EZ>SGf^lFd6OJ@T? zZF?X$&yIVFLKVUtV8huFio+FCQ_Gk=?36c&#&&jyT2%sO%Q?(dqU1cn0@bkQq)Po} zjx6PmQ;v|qU8U<;Y}>pO?-Z1$$_btvOvcyL1mLWFVGGz$nvi9troRA+zfL3ckEhoj z-A{sLFiP$*u^sELpL%)=5}{|T%uZje4Bx)fmT05TUCYYeB3JPVCH_3>Cw_K4kuV^U z^_lc`2&b$degpK?`*GQwvcCscu#*2(=kU4NMmauC7J=d3C8PZpf4|C98SW zHNya@`=xGy6;JC-FhhIJKl1#NX}_U!vnF<1QTKU2txBnH;i@h z=E`64m?}I{-QbI*Q)*k&$pP z0v~J3o61L3nBM9yJXCRs3|`i+__-L5`})V}q5pWvVFS4xo@MR9ow)J!Q=KyJ()ZnI z(+sewmE$A&l~-0^@X}xM>|w&2J>3&I=+8!bwTHY89QeVm3Rv2V%M_%+UDZ~7C6HM% zynNskk|Jx7#OAvatabB~~*kWhj+wQFDD0XBzv>Q#po|0EiAM+wq@dQbD&?htZH$Bfv&Z70DK+bnYqjOn26+ zZWNN^5X6+&Ox5y-&eP)_S!(_x??WXbm6p@*36rfKX2wvnw$(Z&)83ABsz?fN^XLYK zVWyn0`ubDyx=gmosUlxd>Hd~0?XXSRR6Ckmiw9B1v(W=BBod=9_4$DO`@oO@^g>Z0 zqIPrMaJ+H8v+CbiGH}+Yx>#bnj~4GU^-S=%lZUKsJ?d*>{2^*wl|H`xwPp|GJp^{L z7wpdwW`GK$<*GEV;==GR_KLbx%F5y&IZOEX1|=>+s`y90I+uO&WcB;!X<2B_Bs^+r z053E?KgNTfkkG#YnLbS-iMzevLC#%|OS%XpCDM|p-H4%@?@363N;?6{)Vw&7vk@A! z0DcjSu1E2X(#0OC0rc3eto8YL(KyVELqli=6@!oX;=7{JUF{9Hg@?T!VNm^klPN4# zRZovmWAaq>5Pek;Z$T2x#)SgyIy0Vd8t04zPgO|Df=V5IkL^k7XL+n7(%IgR#-op7 z8j;vM>*tJuzr|qzSOGm~lS+KEB0bV|=)ABL3@zxBF&92*hoCA4wyR|IU${5VF+#l#X~>ttzWX~IAzWoyEOj>7og`k|wU*xOrM znix4*+S&4vsY76nz>Od)3ll4uiZTa3nX$8_wW%N*FBdC6nV6~NV>3Z9TPFz29%ktX zArofe31YA&!>jwg7ju!8|-X zjBG6IruLR(+KRGdG!2!N-^f^L`N`z$Od;0)MN@t))0h( zgK>aWWC&7V5mh(+y+yf_wJCS*BMFg@Xh$xrBErAKoyU=Z!#w-vHR{Rw zEWdCeF7(t}PRME_dEf`-NFJ{#VpASR-nR`eL}OqUc9sVPZDs%5c6td+@N2;mwKQ-= zs8D#R{`mhNuS$T+`^tD+SOSGWhEH+T#=Jr_3f6omF;>o>fYxX zT<2nX{}z2Xe7F- zNsxN~DSx;w7ryFOxW6uc@VIWytU;_3zS~x4yFV*`xE+1C1!i_{?t5+?tO|4@!`CR+ ze;d_n_w8!4yStnF+i?Wx-ERrn5S(X801tbsN`xOyh1(p~#FYsjXI8uD`)~)mp9^j6 z!uR3A_wd5!Fv0gK!6ddDiQe^K;cDsP+l8y|h3j;gUYOkDw7!ISwB9cs`do1PtZ@t7 zA4h2vPg?jTPQQO_y@Kg``PlvMTnv#8+5mO*ILG^owucBiFY@bsSjEW*|6$A3W{SbX z_4L?>$IsPen}7Lg#P@F6SB@$+cT}`}AjT%`>2lr^CbD#l!yc{r>5w@WVvL{m%z`tdiSPV99n5 z=XTkLm_VbwF>2u}DKVvcVBd5+bnT=60YvA$#lP%+f3<~!_Z(<46TOx0d4TV;g70&? zMtb`0YSD1xQMiDJu5J#RnVo0da+Rgx9-CtH#VQD0{Zvs1QKoG2INLeAKREPRBU*M_ zkCq5-L%iNr@V&m?Eq~a~xG%KO0y-d6>eSoXV3)iaa}&6a0@hT&I*wK1+lX~FH# zQ@)^X2t4sliGPSZ{Ld~-I=kkd}hpZ2`XG#)}}78BKfzItr4v9$V=~;Ci{O%Vx>mlp*bC1hbw$3Wd(uq2(#j7(crDyhh`_R2Q#v zYBdeaD=f+@%vvx+Wg|f-X2bKGP$WP_d?s!xAu;obW>S&BM7CNqA5nOMEuGSbVd#yc z=xe!CKRme2_M3U-_79o=d2#L_1D9Ku)^G9>F<`pTUdYcfPrOkNjuLp&is6lD$u!^JNoqgQ?6))LL{j>CiL z;5|zG=gJj>9G<^;@@#s2DF=^pH&GaA2SdS;q7*Oi9Ec~*U7o5DMv#j|r*44lKZ02! zzV}?YDQG`AAWyhxfy~sU<%V`nsp9##w(llCLw+-OZyQoRzK9~Hrq+|#R!Bfft`S$u zA_^z2>$x1&7C0-*uvTi!NGGxun|fv__Gt&_fhE`n-ct&99DO>B!L*r9Ll6~iIE-@o zV0iD#ZaqZEhFg+(LJ0C{mzpCyBvNC?)-OKb8ve#G5S$2gD?j6yTr6gV|5|z~yCGKM zKFAz8E4P~WG9T-~MHq5jFV&xg{P{EQkl5$2mpEYL35iqL1j?YC=VOrRFADl8wy`<^ zdvAk~MM8Ak-|BhM!hzk$>YDw!6O;Wzw0K^a5zS}gq2l6mrW&m(P0^_iv~F}C)k-f? zZEAvt#iCD!5aucp1o}AvO^0XRa%&O+n;DkHJ#=H8c1GQ)>hG9lEINs}-=pG>j0aT? zJG&&AmABvz$}|r}Hp}+-ym{FhF6J{R@xB9^)fanjqg-Y2^qmogBi0J2^YuIdeuJ6_Nf~DJ!}8+>tvX(~6S$AJ$w}kMkx>j8 zF@bc!iDc4=LdoV$47?PS!A#A8UMF)-DdA$(T8D;^BEkk2EXcuIGB>ut%U|(MBNU(S z+y}H1+Z*25*CQ{xO-XMqrER`cKL_nT`4V8$d}sZ13)>_-_c=YQd9XqEo0l|+W|zzw z`1Q%TwUmom3x<@Jk*?b|`&_}OT$?V0$QY}(BZDCTSC_H<;oVBvv+WN(b`2|P)0Fuk z+YVU%0^7?}lwp5Q5Q8+9paqj4$dey3|Y63&Zhj5~j4u zxj{whQ3@PIt_*pzv32Wc&|xJnkEQg~pW;Vo(Q~ox^LI_E^})e?J3mv{_jBgeDYmRl zv7#rVQ^FaHp=Xy}Jn)V6x-ZH%fBpo=>!|XD1tx5*9fxxlQ5U7B9u!eFv!%{2{t-`Y z3ArBU1k-7RFo3+RF>oRImZ5|5iX(fjm&;Icmu&b7_#LQv@*OBSo&WXhma=Dq#R7Uz z0YZD|p!KohMq>RP6{uQmN3&QQDV$Y0RD3T<3_KY(Uv5&j-ZY|W!ls%kB6sj}qYx?^ zh!SOJQD~sZs>RMP^FXb{w&ew!HqNms?<=MD`#%Q}n2tQH$G|-N?A{L zrGYa^I(xw)u5iqvuS!-ca{ZQ}o7R?WbJ_T60)x>&bRC7fY9WPTpJkXS%uFmZ3pTRw z@RH;;JW#qxekC7_P)61s%3g4mmje~|?`ieO&nKjY>&uoKJ=yYtYT@zA-^P!R;P+Z{ z?y9I&U)8EZGoa*+CUTyo>I%%ZxuL#VU%PXy?@War1v0^QAs*0CEq*s;!ACh*)mN0@ z1OoL0YlQ!VNJpynmD>K?W8#D?8u#YoG><{g^Ww$A)vkt9h0(fF4P%sTQzv-ggAkC` zfimnYfZgJ(_vf3s3*WrsWPRhJO0PL;UD1*xxpnXAFph3P?pBs4OTF&>S^2p8uae*# zG<0X}X~yy0s*%K|W+*4kH_&tXk*|})(cA}qS;T7EuvU3138Vvpm8cnGoV1K6bM|EI zIG1>t0efr@9O_zyee&kzl3l!Gx<3uwp(0KM_7IuP#8NZ8`b6mKE9%Z72JfOrzA#^U zbX&uB_>`bI%4_~5PTM8Rr+&Ip1oG>Ej5Oob>^L_?lYsR^)@9My9F_*~7EDU0t<}hc zxeDpqgmK4@#|;ed<@+!Jay*Q13PYl6pQnuK8Q*7cYcnaEqyH}9>;8>=B4s&7u8RJlVC9-?SBM(384r<>OI#Tj zZ{1uFOOqEWgM-y97wl@aOSRuimF+eyZHIANn&)jL)lr(Tfk4~8HPwo%tA|kENAqlc zRg2wyyJ(zjub8Vg2&y z-3X^e5NNVO!KU-APVV3+XQ6i%HY8jv2L@;DiBzDDy)s7Y=r`pd#voD?kDE!c!^~kj z%+84#{{9ee+mtzBnPAC;e3)M%ryO|jo^k3WrUH`HVSDHW0#7MnT`8+fd4hCq3@VRrXa_42Ue(R1@K#)!hTjj-Ju?$%DH!C$|g{V4H$6Bcob4G6d_gN(^c%z zG9tHu5Lvvu-D?zQRz-%G92%<{B6~#tc0Y2(diFR6|rTaqkQ=SqbVB}kn& z2H0~e6Su1L5w@;8x*qxqH0lm5HkPS#OL-JHQPWQqy&`9e;8171xX3=Dsj#=CQU^aA zd}>35Tbg*a^^oRI0)f%ub&LAJUr_p6@MUf&9-?8laJYR#f@`FhU%I0YnZSkF_ zfdbh7K}6aW=6JmvI+`KBV<~b4Q&T-uTD~kr%j9ZXvDk~kGgpO#chCO3pSB6_DZbSy z&ATBiP^FuM4x3fal1BBe9nT(g;y(B^eJB02kkKo(KcSeS!;L&4k3XFbaG0TG`GZF* zp4X?*8{MX7hmD6GC6T(QZR>4AZNw+9`Rx>4+&9)n5%-4e^9q-8Ec`5+ts}wB}$nD}qB1i{aRu{bP zR}6`6FC%3|fBUSA&_apsX9|3 z13fb`qf8Tf{x+Y@`b=fjILEB3&yB}zg|zlz$j!Y`H@GGTISaRTN(ZNn7R(buFY84b z(o(2rB64hkZI=j7`sv$jPRg>w8-ogWkeFzDE!WeNaqJEtobONbLvgKtHdW!7@z@?w zGwNZ?O-c5U3lFD{qB~ort30QlPdG#98_77DT6P{(AtqXS+tvHVMBBc~fLRfFsS$mW zU->C=tBNLPm0Zr=8RF_GQ*+d_WZ&~J_C6@wZ44Vw48LiGM6vIh<(}E0S9nI zqUj|kt3Gv-lT*ov8T&kIZ&MljaJ+GBJ7i_pq1FOYE5IDZmO6xEUUSxKiH1Jhw>6g4 z*Ecdg7Q#n_gB5Y(UBp2s5z`!QQkUG?y({7KnoS53loEO4eea$-Mw2jzE)??Pn|46% zP&4rt%1NdPT@nIcxgJyd_kid3UjM43lS`FTTKHkOg3``ILo zL!-$3EgK%CZb+-GoZ+osU8dz6;Uo#YFwK?){|nUam~RP|q@U->7Dk3~_Qc1zz}$A| zVAWN3$}-_+ZAM3dR|qz$iIHoj?s)z2Lk`3OvwNM0NC-KPz{~342E(02JePihB&)CW zx0{ark2Oa6SGE(MM2$#zh!J%B`~;tOFAsL~`M)aZqJ>K*WdDU?h#CH41R`|GnE-$z zeLH$cm5RAY`vdG5i)|+fOU2_)bjgDjGR+==zyA&R^3Nc~4z8o;d`rH1m4$TCXjV-6Ev{$bEyZn0$EKDi0H%c z|9|8JZn0+8+HpP#49XvSoL2|Uf3q?yKXXVW-Jtw#g)ZweJ?>_bAd=AlgLE!7^gl#v zHh5`tnQ8@*n3jv!8=UMBtdUX9U%fQY|Gp8B{5MupBVhH|fhjB(%4O6YUU65#5>)UT z)G;7z)NHt7_7bP02|dmz8vXy6M}}$l48=@U;?#tXF71bo5fP>0GGoX8l0*Lt8~s6i zity2Mnb2FGi+Yc<+TDP}$YTW)e}subw;SW@eP1+&F z#EA|q-Z)p!Kfp*w*Sd5 zlCn8*33}m0zoaAU>U7Eb?VbC6N0ihhr*tGb`4rs0?xn|gd|zf^na*{MvBF$T!bdgJhePYQ1J((~ z)+OkSD5M*rC#_-P(L3&Gu9y3Epu_tlHs_2Du`h-F_x5`Fhhm4J_E}zd)Lhs^j<){5 zXSMZ>?x(~PH6fBpuVV((dV=ZLq6MpiEu1!M=548ZC4eaw?c!}uU}Zmgb*hCNgb{35 zX%le_GJ;wcae*y7k(Tqv2K`krE=Fko0GM#T#q&j4W<>O|gFug`QYeUbFyzdq1(R`of))w2i}302`fY1n5gFZ6pL}B z$%ilup5U`XMd6DYfX5e*HO_PvGtLxc zbtWHFI44EUB=+7~Jm$llvL5whMbLfFrknKAX|JJa>8s*bz@ZGFX?82rIbcoo!_HM)rGnbT#~;f)jQ>70ct#|!p^iHyBfQj*%*AC zs*uG-)UkfJn4}(`w2^bar74{{grSe4b0i*fPi6cG*%w&MOr4EYksA^b^w)3mxz#gN zVfqEfPX13>1dTx%o-vj#M-2MAa@beq6gsaSBA?$Y;N(=>)RSSWuj0lQxo-`hjGiQL zKQ+f6yk29*KTNLvvwJJ}hM{u?^Vth1!$}yP<=%h5v>x#+u}#pJm^!7lzguyYIb2N0 z-KIq@nqG@X6ZwJp6Vc((42amZLhMJTdxD_}?P|qcl+6RW=dY6(dlVZHm=R&+MT+9= zY^8>RD1_l!XZ+;TosBiSYB7Cdxca_CL5k4dLIyw7>~T{i;dzl2VHWF#`{dIzk%o%> zwPRnd(R zcIm(ciy2P(t+H*jTbhE=)&10F?j4O6p3t{sh0bQ8B)q4vWA>n)t@C`hXdy=%gUU|Z z_cF9`M0_a<(vNgbb%h`qv+`pU+h!iIT;=7m*H+;fvCq?Q{hvPiS&DP0RxRoa7CPfQ z3Tq;(`ZpP?n8!65#`?n>_)nECMH_Uy|Pm~FRA+K&0WE%u#_bgV#&=$NXusSGE&UT{YWi)iSWsvA#>Jw*}( zf{mD|spbBe>bH02^*8GU8LL&jMIqkbG_;r3$0S{1q<;78FU&Cr1Uk;anU4qw*oWw} znm{XFtW~|3+c`Es`&-P<^dWaw(rUG$Q%H~FxE zMuu7ig(!H&clt?C&7Ozc~x(fksn5@&s^GH ztfnelkxo{DN0M$xMUZLG;ZA8KkqdO?ivc(XYBy-=L+T3Dc||$9cv#UnHO(hjShL=Z zW$g9NJV~Y6cG@;Mu1z70#2K6$V-6J;r&p5GjNa1c6m^dIx=A~4!}4;}Lkg66r)t(< zSCa9xZnI8*k&%d}HBws_+1W0?rri=owi`u5!Qk`oU>a{Llao(_pMvO$j1FBMw80SgnD%o-j08XN*4{TiivuztH zEZ~Ja?}dxZ3KouAV)X~}0-4bW#gIoV4ON_CZ$fI|hho0-BB+&VH@uJ^73^xBo;gQ8 zICCyC_D9A_i@Y7%2!lUH{|;1RCKNc}R%%!i$@g>UgC=UL=I5V=u5U$E)EH0h$s0pi zTR?3Gb3fi3r@#L+Dwa}Rx84!18ZEAWbV$fCT&mov$n}Mx!&59Aa;O|UGP>2Jg+)b>8%B{NRIY7K#g47$ zsW)NzYAq8#TjvcS=|^TmyHp#_ggVeRka5twVE2Wf%r9p6zeNX5C&k#MMyp>UXI147 z`JJm*ucB!S7D3My-?6Fe6jYyNyxp(9cN33TQGAzV!AE#DXrphwPt||v)G1MFI9ZiL zgVVeKo!W&xYCXvDZ9V=}!E$mmzcrrHuN!e zhvumwqg5q8ng>b_$>K6?I7UW#vmuSy@w}6S(5!%!rP};QK#@9& zgXtbbz6OtvW1HmX;|vT1y;Up7_Oy#~Z#Avc4A8K+In0z)4#a6zj^%IS<{7)MSYs*| zJydV0d-1LvUj!!YkEZ00tU3GY{z#t5M4>7F3kay{Pm_S!Bwgc5 z4Rj`74E-E3?N!ED5~cv_7uOs>?yIbU)VwRTNo zzE|%_OX;c?DN`$gOyNp{`R?C!{*VU#FoobKh$46(oh|HdY->T?^}b-qR<>%O0p%d^ zL;L1u+nNpu$^O?y4BQ%My7|wds1L%Bctfj*D&GF5bWEPov4_V;u96Kw$0@=x>Pp8CENE(?F|X z?_$5HP{t^A>`H}9t4FJQ4?Ws203Rk7qNbQERxuprwu~!=^bw}<0&s5U$`5a(8W-2K z_lxJbWEw5=fkpc1rGdnk{5nv~X1HZOQ^F44Sk~3RS6Xf)`SDdC(#2+1#z{&S!zLg| zRZN~B4eK>7!ZLVPjz;~6P4WtE9!qINQ+N`)#Y(S7DH%tM#AqBijO52d#`dg#Kx?({ zqQ$@-t?G0DLfK>sM82!L8`nqq%k#EA)q1{7Rxz+UmKh(9K>|ZF8bl(5BAes*&9mjr z!4l}>&aD#)ZF8NObkY^rT_&i9O?fqg)%vYd(n5Y$0rps7eYib|E;|M^Y1LS)b+8gP zL2fxm;Ef))Fx8)^5$qPV+U={+k&#zwYSUtX9R#}io=a6r?L#SYBo7^4rCxGDtc{uf zIfv_V-7SU8Sek38$EDRVtyMD!iPE|uJ%GYQXQhXU@7G<>=w6|v~^ zIs0XxtA2ow|FpzQg%^c!Wu7!WVEO|?5daAc^7mk-N_ELz9Fj}_wWQKw*i97Uh-E|5 zi39)B<<|a1s){?fnzjb@$;C~!pZWTt+_dD zq(WA?fx)a--yzXIO4XqX)}1WjDk3T1Uh7F|SWqHi(u@RD0S#U zAf9Y1JyPuUCbELK*}LpQ18u~V;<8a56k{krkFGI?+{EiZ0i9PkrEV9B+$@g8it$#8 z3p)v--zGean77a7$SN)_$x>v2gVuMYiVsGE9t}8*ubXJU8%cY~#SQ0OeMV%Gfg57Y7_-oxQ7LyItHAJJC33*58+gIhNAR@?#*LQG4#jpTjJ^(NHA?=3!9u zY3h6>Zj2t@D(#sj)5%ryYs845QwSODq9?JQ1GPrkf%)M;Lq7$2@lRM#L;x!$~ZHu*pJPr3SXM zLwUr)mv?SSBXJCjN}AXDdBHQLDX+>v$$zb6)6PG;QUmNR5yhY^>`{7$JA%t<#FB)l zS-N8?@B9s)YN1kS{vb{eSea?*II&b&Pb1<=k%S?T%OtZAOox8)B2riYeEWy0MJVQH zmqSo$H{FN%FU9DnI84p8mm`tah2?(wBA4XbEpeDk&1H{Z zd!zzY7_Z3H4|_Zn|9ocB8LreQS3Fig#SchPn|$OaNHB7RtooNe_fg4>c2}LKMdc#N z*kE&~l^c1a%DSYnx62E1I)jnX9Hb-s2jwny^99B~>GL zUZn#N{N9KIW1k9jD_Quudz{AFV|d-Er7@Sn>w80KL{5XHQ3qxH?2}&&qSPZ#MVb`i z1KK}%ew3h6-!$NpUsw&}q2wWH0`Sf=TFd-FqiB=5Ym-A^xcHi+LxRJQ`h?A({5rbK zmPVk*#2Z9kjX=_x3a$2zjgN)_q7~S7Yc??ApuRdAt^Ug|>kh=!H{Epp3|C41?Y!{$ zt1by8B77=c+Z!PS;tAbtu#@Zrm9~BdE0Xz^s?dP;{)z)VIZPnm`-Vw#=EZY*Vn4Xs z{{&gSRB!NP)1=j({+qt`@gfWxfZ!JVVTDRFiZ!bun#>^C$6Sla=lmc4fztig8P#@V z2nY=qrDIl9u3B{>iJQt4eQ*CG4EUdBru{dPw&}-u{BIMaDU}{4%ELp1_(r!-^*=(F zHNYxL$P(t#pKZ0N0Prl;KjGP#!R~0!n^!;o*X;42equDlXDV@YpVoM?D83LqVz%~Q z&C=xam)Ju3SdmKAY3v;kAE7tNP)XVOIyvsvHJ(V5WFYbg%~dXpYk6HlJBnBb%qSs{ zcPb=tN-bD2ivTM^P9omsX3tB2XuC-a{0LMj4|SZlD*%ohkY`0+q+YCAs2UtRbF8$0 zUGe1aOM{1w<5-0&zR;_*nrt`8cfBcAFAir2v&^rIM!~{TQ>)e9#_&f@ZMW#stPR(s zwELUIhmd3fj1?hPf`uWJ+8(D-T9T(-sw{?=>!+6a28^y zRg03&Rs&Z#Nlc>mf141WrmCvh(116Gsu+rW^Fr`Kwi5H?oP31Rhl3yEzx;TN&*=ZA z+6VOzj|S7}LBTenpa>$>bnV6+>Go%EX?OF{+NxkI>IQ zD8$dbqs9IyT;kW&%ay^B<=pwET3t0N0ev<#%7Q|?yl`Bp)hBYv7Ky8X4O}Ppn6^@{ z$15a<;bQpWFK@omh|V8iOF5~>GAb)9*k=KZ$(>gp_d{hS&J<&ZZ~rU~Hwtf@eWezu zKnU2)Z;_mtdEY-)6d;KM3dx+Ms)coh4K|WI3~;}A67UBzl_csD%@n9!O4Ok})*29# zRSOpvK}~Y&Ig~xwEN>pzby~j{z*0?;x%#D{XJ{oDe_Iio|Cn$NvxKXc=Ii7TQsaWM zW|Mfo9$Rn#X?mde_yFE1#xP6jb)LL=#eh7O#j0Rc6CvHq4#dwGAWa8iB*wZY2p=7X zL>wRUcDBDjXK=(|+4!I|)>;p*@vjb};}a)u{x|^vZD;qIM4|#dNLLYcu~S_8&yK6xhi19RcI;uL?Y{pnb6YLT9UZRuTjYI5*!S+6sqP?(}z|bEKZ?L(R#y ze|OQSTt-B(7dSJ7y)|jLTiADR@D}6EQqmi-5wbC7d4u*L)(a$3a8rF-RV}~GW*(5%8NxD%!=QO^z z+B<>jmPgNhnCn|*+?USmP%NW5^|SPH`f18bK3~1WA%4tp0+5nBael>+eIT9c(ZsY_ z$vi|uGzV|E%zJY<6NBnAw%p5?DxaHJKiNwMFr3y%`66{(N?eB#@h(k=1FVbGD>GPM zuVP4WqFJw(Igls%CONN2z=aGn87%WVcUqGrqO>rab@J#$TK`9PeYYN2usLyCbYs76 z;=yRRb!2JbEvg#ifRr_NBNtYgn2{nus2_jap<_#QV8+hfc{JTmz*wsEWz>slVN>w5 zUM9{SbycBrGVCHaNLV3o1?H#p3ya&bq!iWi=x82 z(ZU&?TLVjx$HrO?1}_z#K-Gi$NHc>ddO7Z>CMUip_R6XiJ9&A*U>~X&aJsunz1V2Q zl;)_R`DME%o&}Po=MsEswPkxeW^G#2j4QEex<=ssQ$LNtfZ(LXCvOsX{F4`uIlza> zjE!Z}5EO1%ZXKA!MY_YVdSTh_nKq>^gL}?O)H--wP1zy7R#yoMBy-8jasqi*eK|nP zA8^H57E*;0!{|A1Jp;YK^IqRqi^+z4dbPcFFoP)vrKNLKWffkUvw%SAv?tA8|G>4C zaPpZpm1n z>sE{~9-o`2gLYR*-wNy(0}+FEhky9&to082*F)-7x`j^jHX&`#l!+{~n>n)*#mUOO zHcxpmodG^`c2>9x25U^bL$Pb6dkv&4%BiTSK|Xn=Jk+zu%cDi2a}KT&4X7v9Z3?yp z*7bT9q5I&eJXsUGxfUL~BfE?}mBP8nAz@t3H9epT!s7sBCx*$8bb@7b`Yl=_j>XP) z`#AX(-uJ;D{IR!l*o^n#vI5@ccRy$uG|LhDHH)N9Py#L70ekx#dZIeqs(WRg3Z1DN zR#43&^x-2je1k*X}9~D;Jg@&S-QzfB zXY?-J`?vj6B+vm<-1jaSnSk2wGz4OmGY@x|e+qyvDEW6Co3oRx$K8aoFXDEuE;*2^|Hu)_O}+6h=HV@rvr8>t5>kj5bFHi)xRi zJvG=Q{0%|mCx$E2nax)6C>o=5KP*IMipj)giDbeSqYx8kyW_jAYua&CF4d;qpBS|jqV8saa=#iY&Arx%{QZ#VYGHk6lSHeO;V&!1KCyMW` zndqiJsE!t+utiZVRi`a&6pi<)vOawWLmZCmR?Vj8j}(Q8QtC~6`uAK}bL5)TSBCx+ zQj!3U^b}FCTWNhj-3}d!Pt)LVHt8i56o~D)@N6Ijj;GTcxb572ahTUQ78UdQDk;%h zVxpDJo-YdqkLj0;@TwKB*Y}ZU0r+j0RmM$QPAxUl2dhvsHTg^3XmuufX{OFDF>Lip zK_Y|w-19hvSnf6Ec5D9mj*TrX^3-71@mUgENOsaz1^ZlwgqH|~%6 z-CehMalt7wYU{4jx6rPui;A3sP|%@|U_l;%c#>p%lzi0FEk7V{p*fPACM&D=`uH*v zE5fNWkzqTNt!lN|Y^<)-U5~&S57Yzz?G9RHyX*Hlq!!%Q{RK zJ7G7tEgV>lm#A2(E9fMv+Y_X92NBwb>{E{SUTXs5TzE5X&v>b zudp8M&MqnPt{wn1gD~RuBl{a#vwrG9yXD1nhL^oHgAswAF-H7AkL-)R9Apcd1`G>EQULue?7l+EtY+W>|D6O_CeAvUVW88G9Su_Q5AbUe}Y~ z5-VSq38z2KyKg0@w!A@2Dno~TKC_EW*D~7QVQVCf-}Rv7dZ*a+aLN1bY?_&gDa#V5 zAv+0C@bU|`U1)Gv_P)?-^ASwmT&gZNgqT||B^`P#OfZHO5ISZ$?D!NgsF| zcjNm%cptSRl^e9(1NCn^)fsntwN}&EcufljX@=cz&8sI$BJl7viYKg!Ch3%N9gI0H z-!Njuu%&*Mw{+B{&Pq(`yx_mM$kL{azu>`#s=pE@85BCwglrGIMkBkGuFRGO;zBtW zhCuqez1*o4FxpvB#Z2 z%&Ex8buUcGuWn^F4=)-hNgPU~ zkM)H;K>3*h7^s+Qc0b)T7dlOnAaMuREI?p~&*{gC^jt{x6di2_kiA#5c8ur%EOEht+W23vi zoj-Cyd(FB^YH+$wzsDX*fs7)R(@&HKZo2JQZ%Vfdv;~2Pjx9Wuq3EiCq4HazSZ{tP z1?{6fq?66Q1+D>CeLiOluiSRiE#xSYt&h*b6$&bcme?0CF|&~y(`6hc)Ti{%kR``V zryseeL*QgpD96^A3EzRQAl>)=YGPu7d&!NQs~wOsuu>PGkn-lR?V%lsG+a(}X+F!& z=QIT<3Dg?c0lu42L7+$v_(#I`k3^KfiDdO`%VPoPq_F-3h6Dw2^t&8psR z_FZU97Cg@DC5R$-k#fS8gODwa`)Wb3S3lw=u@BZfahxeMDXWtIntf`tgWqid8a+#u z*{buT(krZ%A&jB8NIk2RZRkFDMmkg4G}>^c;REL@rIWc>q0#CR?5+|}CnjwfP`BrO zHE5vk;oZ5|;IOtioN`Mk|7V`TcKMq(@IgEligx20w0K@HJshpBt`-~I?P#=JPXgSj zo!@^fC~bjlNP7s0sek|LsyNm39}R>x>Xjq4 zrIhUnF}K1KFoe%=#Bq^p1&8V7K28sC!;%zG$ew=^1IK%*FKqf_dl^^&iQG#@gc*J= zV_%lU4gQr2kj4~i+;a^oCb9jnsX6WbsYje1Z_MHMGr+xN9N)uz+Q^9~6%(hnx7C=S z_7g+BlAih7>CcIG=UD?^6IW!ql-oQyLsL_iTjVkNNs^3SVSrabRv- zZ7-8CQ1hr#BD2ZvsW#A*^Zg+zDdv)_6k#r#O>Fo8GL0i^;E+E2EBSb=9;$? z95{z^sN)|l!*W&-ref!0+xl9JkGKTS%f7_{i~klk5cUVb&!Az*2MF^Gj!T$-0^8;t z)H2El(c7H1{|%7KRtM?TKl{?P24qi_CkqG))^43%dBI`|how{RdaggnxDLPY(QHJL z-K>8I=Md>o z>6k^!*_6(x!0C|p#bUy@y}DzMv~sTvdY=^dvD+8PU(jW!ANQU^SmcYsHOaT%BB(c~$fJ{| zaT0F(^CyZ>XTsUVu!`d^|H{k}Ws=(8i*xTbU_MrbROe zliGlrF`=ku83k54+59PQ3A3_>zK%}?xXE>h?hZyi#m6ss#p)Y+Xulo0M>(bNj$!8e zED6ug4vkM@E0?5!)X(ZUFOb6u18tB<>o4<@i!77#JPLyuDSwSmAEa$Kgf*C>ESt-$ zvm*H+Oz%NipRYVOlg#~w71P~TLl*2Ft~?&sxz-?X z`O6=u*>?q_mXiHl6#%zaIWs%ccdv!Cu$xVIvEkrT`Nn4>Yzp@c-wl$VG9?|?$L9`O z?4bi&RqKPi@QA&ywv)KqA=CH79md{Q=xe;>@1V@h5pd3}sj@A(MPyZOu2C1`^I=|Y^}JXKB0cwG7=rInBt=|(yQ?is(|_x-)=-nH&p_x{B!X6Bjm>~qdOdw)KAf1WTxgE^nG zq-5WVaznqrCxiF78(Dsr^Mxs|_J=$SlRVu?wvzwwlJVnh1ugEw{dWI6#u2#aRFQ4+ z1qofScD=*b$>{_+;27Dz;B*H#O5hcDqw%JIzy$CU#sSb4HoskYC83j7dpIUHN9c&m zVIe(2j{J~DL?j;+_m&ipornOLh`Zhrp_4vb!`sP}NkYcj!tApRpjdD*ty(INveCu{ zd^L6}D`@oBql*>3)H?p@UrLQn1yeGRXX|i1+fsN~DbDuy?lqzXJ@1SJV644x)wB$A zlGSw`e}U|Q@csGJ-#_idUU*+sa5EJAbvp0hzXYKnhk5<}Z{_oWIU8t*0M0G-vEybx zAx}F>)4+2zOgcZlQ>McA3Mn|bNBn;(%LV5~U;(rwmT(_(i5)jFTl;aaW#q{A(Q+G> z@HsSK$PIYW6a(+wfe$2kVV^eJ*q{}7Ptnf0|Eqy8cWKZGPS%~=_rE;XF{!*kMq=o- zi65|Y>oW@UFkXw^D*qDQS!l5N(s8*^*2TTz7xa(L_$+ieXDX!90&X0gt-X5h{tjpL z(C!AS-DP{+G**~S$7KJX7!QgNFdaC+AMX$9CY}tIbFMFIMz{A4?UMG%nbDd587mbeYhyPKBRg6yZIB zk^I~0_eSzQH{fPrq8&HrIX(@_b_s1BfBbK!vi&b+fXE35tJpfu6D(0Rfu-$Wb>x$l zX=Z?jXd~QHq^l$ttU)oQHiB0pDxq{a(J1-Y(Kp?23l>MhuEFBcW z2YNoB=Sb%}eFKCK4>4xIl3$mWJ1P(J|2cruV0*z4EsFrrZJY0Lb>LJ|Hrh6fBerR{QZsWRb6{I+FL_fH*>K2DLEmO<6^^= zA%f?0*n-x71mAd5?&DqXcUYY~#oo)Vrd_C<3(q1T3(yUko2! zG6OA|n>r&)-XhFr%%6{bb?hsNR13m{99G6CFNA=ePy>uTi*ur2dhKnj-scz{`r<%}<|4CY_01GRMWxS#|3=69c(lI~>jL$sHg&tT!j#E4v-%xiP5nKb_lqy@ z)@x^f+a^1&&L_i#??42IkBlO~QXs!}yP`g~HU0jtTO?|Hc}=M!C9@R^U>C;*XIS zpJ?2V9Mg%8Gzpp_>8)UwgN63(@p6&c0smhwM_#wzY!~jf6kwHB*+Z_iu2;o+pK(h{ zwn#}kk1%JC{o|wOLI8wyEb3gTv089x<(cCPE1=UmqyBJQQun6LR5GUhbbk7^$SL;2 zphwr;@_ACrKZ;NcuY~6KPoGypQZ89m!~1WU_SI@-Gjh==A*IqPs(8a}*<=5DMU1c> zHVq%b9&13S3l&uYD1)Q>PC?Z*&oYJK!>Kk&4ZA$#-+B@DygO{Vd49F*Vdy=4Az&da z%>VR|(}ugTE+!k?;Qm_391iw#Nr%OMt_y1S*tw7K$zalwBbl1OfrI2m2oM^q*#GA0 z)vJd$e2XR8k@Y^A7|EB8oUuNcrn?s^DjD&bA|$8L-yD+L)&I2=MZkZJdi+SuXU+^Y zj%d6NP2J7uz|0WFysc@ON zrO6vh8{FuL{O5X&nz}|G5h$hC9BYRiYlVV`C(lK_HeFEv*_vWOr@9u;wBQY62}a7w z`p&vk5*Sbl_J3weEMK_`%Z0plkmwangHlfe)s)L0Ohtp64O7D9c7%U-9co*7A{V|J zn=H*RTy5^ISJr;2oo@I_x9p=%FiZn3kb&LNF6(QQiwHg~Y9ccS_0(3%#AfKfw<31- zX3GD@E@Myzl-fCj?`i#Kz!CmHP$~H_e)~<2N(=F|VR#eAB@2H{=VK?hcjtdsHNyHk zE7tOHnAl#3>fjTu|8nog*!G7Zugyd((X2D-_R9ZQ=auXIt=q#O2uG$=t6uFsxx?P? zn8sens8i07pyB=`2kxYYEzfT3E!jW4y1>J-0gHscinv2J{1=q8~5y*vOcY zgd5KtIVbtG#9VJxobGR(RfM5lRS1(q8jEV15qNjc@IdKgT2rW9K}LgM-C%H7=FmH~ zE)aqWB?9;(da|mYw|+D7iDYWoyH+yb0d)QnZGtTDgTikI>4T>7VfrsIi+$VbDj&LE zA1xs<>mhs5p`sV~Kl`dV&b^qeB3N(7yk?vPx>0I=ul8z;a+@0WbXaF2cdsR(=pOc^ zz2@Sa#?O{(G|EOoZ%Y_4@CO^~-uD-Pqm@rF=Nhri7i}_Wz!c6a`JdtjOfSIlPF@Ap zyPnst{uF1Td7N)$c5B)fjDCy-bgCVd_SU@YB-MLs0abf{Nvm`ZgC-d}h7Amzu^;Ex z8}*ea&VbZzJUlz`N#QpbIi9>QI9ug zF(s8Wca#PpD&ssB}#96AEO!GN7>W zf|Gjq^>v5);evfD{Ew#q8X`R(oZe~7H$0L3jF`wlEAVGVkYFliUE6`XGArXLeq;oP z^!z}_>a1!}W+Q%{l!aUA^8MpMrf9|fK=N^HAl{cZyQlaCmzCXAx|Li^KMPBBS*9#I zlGn^r)$-6O4aCH7#KfQ_DB7F2=?zTu)}zv9t?e&f`7pOpn0+x1^elI4I{KN}X%dbn zdy?(SsJ~o(X7j6U!_l1k(bID)gR3{$8gm-IAtgFLjK}eoi}{VV7VgUoMZdS|_;`>k zob+o}s!;AE&|ZZ+zOZNy2k{=*$hA&-A`XF+8L)UckymX0B7k@cujgtBjo_IJ;cZUq z_~Cf|9__H3NF|*u759siuS?g~XucTX?dfl)yF6tNIFD4&V{TV>3Ofs|$>h^*p`1IY zCytsZ0OrTM*cxB-`6@k&*UN6F1(YW+9DZfM}8HGoAjO z?FmwwfkMeHo)wZ}$plgKBg5Z*o~HGTzy<#y*3|mnRE^-DxSO}-9k&GxR*!TSUJqh# z^n1{ux(;mZ_;8jspwmwYFRs=VF9PcM3Jr-Vjz{h}9<&zgb z>BC0zYTd5x{ESc7AQ7eVo^X?@oWk^+stx95DQLSYqXC?I#FwrJtq4+*@i&t(3LozX zc@-U!S`9>kXxzU&f4m-St-tCANfVO}2;%tghjb32@6|(-&BhWRYy4Ik?N-?0)rq2K zWBw8fK_D0FeAJAi)<(Kt{W>{*=6D;S1#(g{6P)4T2 z;Npk?z3-m3V!}>pT@@UW)f8`@qxXkUpnQ}(jPTi4M~RC?N##(%w&1Mywpa5Vm2BKP zH7j>)uqW@Ap2HJc(2?;X!U^m(#y$O8ZreDoTE9>}0e2Lm0b$I~Nqur5J|2wxk#WnA zG@VkfQfw+*wZ>_GJmWVzTQgTQO0IuRLsY7s#Q18E>E)fDz!$;H2cUT{COokyF~MG> zn$6Lu*XXN(8eA`J@&V9QhV>-gkJ@JdlD*$#3&4JSyqO3v_}uu8m8AkPi)7#rd8x^~ zEpK!`A{ApB#*+|yF+_;Tij;4GrB}JG8`w7~iCN!EuOCjuw=>SV4_sf~51(OAA{JSb zb)jN8*7Ui*By(d=9c%Ye9`E7Rykq!02ve5#b2DQ{}bq=sn!*3$$x z@H;Wank+8(>}Ayb)K>3k zu>}u#Ri|hHHC%Ff>!C~(?#h&9y4kfR@k;RN2R+k-5dP>Sc_)!!&t7tVh*%k=31e|Q z#?NLE)F6Rql$w`b{3r`G zCPMqF`NNI>sV-Sd)xNZ2-o%*ts*sj^b{&&w%d7Q*ERG2QEG?ZZO?CaCU>m+gnXB$E z0rxi8#WQE^fQi_9N&kC^)6nli9jEznw(G&oZ7uq3ownL*FOf+70}-2QLPMp?9xReo z7K?r2yEup#j_rrJXQ~~2C3TY|43YA*3i7_@i^%yCQ7^VJPPVuq4cZ5huWUcnX~|X% z((zvi$Wv_XC=UJfFzHWxTz*GDMmw8msG&2H@j*`aVrZ%8;h`jllbFuO9Oe=mWiirM z88BQ2I%8_)T)FKOh?N!(NX>YMFymCWC4HuO4vej%>8ky@Y~^SqKQH*xh40AnGDoIE z#U_6t7t`#C7V@0d(e6gIhAPM=F^3yZ7y8{~OcNhoN(p);&qU7CTrgpeJfln!vn5Zj z2zt#{w$^Y^oncn&toOF1dQBC+#$!Uf40>`oPr1KvWne8{?7zivBbwj_ktrDypz~VW zQCuAnY3TV>Rnn3tUl94ySn8Lk(2Rzk3g0I6hl05L+ji*Mmd`(J(9icx1 zSs0y{|IKEK+mIn=04!s)j&i?)XSJ&9(e~K8v*Ma#$B=}4P*EUZ9Yizy5(u^4nKWuB z)*vYw=C==p!XJsL3!WG!4tv(E(Ccg->ZE15-WIV7tm!FJ>eTtveP}(pn)B6slA>QG}Z*ch(YE2MI*MfE*2<;rM8Y9(s^Q@6@(6uLo)1$SLefY_uXvQgd`o z#2|Q)ahmSU!OM@I9~ga5C{v_$m}UL&Hz#Zp-s*k!-wpc6vk?H0X=Pp`o%Ldg{yk0U z!h3w|XY)TX6EwkJdxL9zCQH_obQ2mFqaxv-x~cLm5g~9%OzuxB`&MzIE3m=hrrh+X zzrvAoKmE!o2}g46QEm}&I)an#C#1@F(S+~QSOl7<@9Imm<8fwBzF6jq3<|51Ycp0( zpi@|Nw}#p!D3?!{371LV$D2^3U!!87mf6fns4vIw<$Kx^Sn1+0&9Ju6%M;KSFuHa4 zJ~a%ucf&zAv^TAyAz%WYMX{H`>+ljuPo)m1E_fMT3hs4B)h}TOOd>nK)R-LSDU8BD z*?f%?R-Z?l1g%zE{UfARX~drtzxFA;-_y7DU7Gz{sCjM}B8GQ(4H5JE35M|y9pp`| z3ulve!`}%>YP@)OS_fSB>Uve?nq$(wbmtr5rb^_ho$oG5`#q)3Wi8Ap6Zs|(F_dgO z$eUlf^#+5l^yP2C?+kte-XVQ2J6{6_`pb;o~Dr+ZIUFsug!ZMa$$Jd6#xaQW>WWSzR4(^Lt-mZD|mx1msH^ zwIUZ<54Gug6VHvH#+cDXb*3I=EIZEm$tdQdHZt=Ey!e5MR@J6+=JZ4U?d)L9LJFDQ zdlbqf>u!ECGwN~E!DJn)E!U(`FMi(_{!V9{8#Ny!8vMS=dQ)xxRt)$ZUSQp}8GnKL zlNl0d`SZ`jnoS_R6v6>wz_zaFZj^i!C}e6`=UYf{D&PmKzkQX>MZ zyAMrr7M-A#b?J^o#A}56{sI%a|Fqel8ZvV^KgowN@c?gQ^WtK+n*09!77cbp71~#z264 zG3dBmfBvYI@;6w|ouq{QK=t>57>Oc*cY90XTp2#22E1y6gh^cjuEFA~>^a2l%pn;^ z-wvQ~^_s4!W=*3zq@}EE&xl=D3esDeO*CT5OM)O_IiC@C_GSa^ne|2iK5I>k0yza7FgvnBO?VYoQ09j%f(hmX~a5L8+ z6dm43*{to6gA=btU?(u$tZu>mk~CNazqE_Bw9j}SMv9}8zZchhYtofsjsNysiYlFj zV7;#cCFhN@tH{!>2dMKDG=~~OMM%dmMSzyDPGnfjD|?~647Jv4!UpwhI_^>|XC~lg zQxc~-5yts?O%~g~qKSTd=CO`4)u>1FZgt#K#R@1wyH&NhjupgsF|{=V40AK{lo4 z9-=|X?}GGkx@%*4f5rb5Ce-o|#d+zD$0}G_Ncyh5Ub758+<8JC?HRJNn7Kmz;Sx92 zgjBrlb)L7apS3`Zh>YZTw1*N(Q241a)d%(g_c{jnh^>2d#JJi3S>DX#tkwTj3!s*b zA_cV|o5_;n zh93ZWtugCnTy_d3pm-Vb^6lP>=@|2yYFA4g?12|fv(%72g6$%8LB(1<-$jpDRRZ)Vj;wJ)3Z{)V%uZ*Bu|z3gA)BF)$J)-;~PQY5Jek|dwUrO14?nvrXY zn^v-}6LA`LMXcr5pSo>_BxI|Dw4h)qMmvVB`dxi5&6dj$O_B?{i%@G!lI2LnS_XP{ z7pXet$iZ|qHD?srnac?@0nR6)pF%12Q@$bMr0M%tH=f>kj8OwNbq(mH)K+_~q1$IL zhY94MYZx|xhV~Fl_jyM6z=DCqZ_Ent6QXPnK&+gvM!^e!2e4G|>J`VoIESZPwF2+N zZ&Bo-q$;K?Nmipu+lsD&`=dOq60LPyZG?;Fq4|f%cC9RD2zMqiK574K*R!lzx$&-HGSU_E&wi6&83am+3%o zetyEA&SVrCSzs1LM=Ja8WI z%(?>mhC5!3W#o3>@Nprkz!~+emN*nqJnjsX&y9ik&FX8q5c>1{VfFa~2#wT4FG76* zz6E2ZsMG*1us5Y7+Tj!iMPmlPfpW?K6KxLwrUivXHP@=I0%zRr7ah7PeUDJ9?e6|O zKKx0P3^3^OzXyEHN@pqNf4(*e5Ag0kB7n~9dw&BXhW^Q#Z}D}t#OqV$p56fSB-|2( zpMdyOz^u2dZ)+d^Ve#xEJFrbE;7znES&|)== zf8yt z4h}`Kz$!Dr(w5FwUXz?=1xLm`a972f&akSrf-i=uU#IL1bE=(P{=3o;c@Kmg>pBj+ ze*Fn}yvx{uKwwo|K->KRXxZ<=Mg#!hANdM54|jh6MRS+^c#{pd8e!I*Opjk23RATe z423b zfCp8q+%KR_ZWM_dBmMhO`jh{c4_R?Bkb>+O1`c8_w8>AAw6jSUh(~Rrvxu?GgQDXjN&|%Q~iH_h%nG) z+)JMd>|ANs8xtf)srUXX0yr4MRhm%#kL!I($KBitX9e4;#}_i{>RkLMPT&)rxYM+f z(2a31a93G;!$9orJMm^eS|Pgej|=B(`*+$utzVG8bw!}MO4^=c(8q)<&EM7+C$m~E zxNDw5w=@#|6 zZqU9C^|mqBxP^gy)%n&dWxTP>DmX!hHl&C=6bg)YVTWO7<6Mk z2v}eVwe9n}Fx`MI1_Dj^2_%RK8&+_nNKK?om_-z`1r;JLR=994JA^I~Jke;F2E}>y zH!n1}os?6WUi;b`A6`tYw!bIyb2_d%L=0eD43i5P=vcvYK70$VHAJy)`m=6QLBJ-0 z&D$XqR~W!0ojQMiZq%UjVbl~|ow9r*EFQ52=~eMf+i-6J2QTCD%LFwPS;!<80}A}0 z8gfXGj@^Yk3Z*cQo4CxIqu+1#pCO7HK$DFj zpG-^7v~#)jH-oscE2$zBUZYS>W;M)mVf3=AsUroNlzt_P$?JPiM?irqnV_>aallE< z6lZAz3yd4K2fV@=Zav|*NW)c4_r{*sqqw%l*G5=>(POTE62kAq-qaI!n~tVTEB#{- zcZc(>I*;AtFquo|vT)3Z8kL+T0ty!~;n6F5B6Akg8&>$h19GLOozXq)G`+XcD8Wm( zmSB-j;7S>?5SZ#OOKHD1eM=q=6yQ1?a3O)2>u`ncHOoWdW?M8wxl$bQEu==yMP2i7?tjuuZK-^thpAQ>Z> z)a(R9_D~OLW{T+*B7=Y@&~l+`?*bj2pja1buOOGFF_j(3)!Mslakxcg(9<{g87>1v zfo1!cOd%BCMj$Xd3`G292>wo1g56LoO&A()^Q%wYgyoe{b2q6r<(zG<k4F)l1aqBj7Ek)O6*>j<2N&7z4FuqatD!RbQ;tu8WC3^0N*gL>mlr% z4EyGs|LYZTDax}vMGd$dM!OgW#r-VoF@=4msMf4l4Q0{_0*Z8jU!qWEMQHx%{vv(-pBMlr{Q>{+k^>A7`MbR2WG z$S&u1q((6u8Y)qv5x2awp>MkyIR`U-q~7`IIcsO8cN3lYEfyuIq*-TN=XX@R8(GvB zn$LNiAhEW0*ZGIAQD1$r3oq>{BpYl2#vlH*H@)l!jSp+*QcWrW&lJweh(`+4*$RChLvkw=phH55LZ>s>rmtZeuYR!nNav-Qx2pK;Uq=Z?29$vh1kg3_RxCy`*|W@9Gz zuJaFoc5jJjHl?5BwobA;~V(C-D5#5`^d$66E>H0EO7Xnw1z9=~(&Qvlm&B_%f?2g$+%&8$d%e4wHwKLu|JlSnoA&qF#nRmwfC+13#z|{s15JK;h^F~jO|Lj3nWuq%a4;hMeo-^Z4AXR6-4EaGh$R{bExiH()UFcZ^+MG&ke{c zq8&)diMESm`YWl1qr%rF1+a)l-sP6H=8>+vRll!yaz@7Ed7kl0t;Mzv)E~avyMS?w zW}5IBCNKQewz+ySPAH579U7e_q5BV}amfpZ?a7G)^z#EI9HXUftbi-GB~v=4MY%{I@@1 zOYeUq`p`GJK`0sn9_&366s96oBlT$e*v2=B9>1x6s&)R&l$KoaGXx5sRwVw#f=J(# zGw5PzQKCbnFzvQE<>DY1V#Mdt3#CZzz2=1!BE$u5=qKyNhyj;Y*` z^CPpENJ|~46gH%rJ>ZQ!t<$Tgj0`U0(IRlcE%@OOc9OAvaSwe6tFO{~EVK%AP7w*u zdZ@M1hxgaq#7F0^%hwC+&QC^YW;i2}32;}81t$O#hbP6E=6?{Qhk^da?KgbEI9up1 zwGuHkbxXxGe{{4wviEe^fhWq*So{8>GdDxeAfa)Vyu|&+n%=_sHbmjRjR!{kTZm`) z(3fQUFH69>H^G0$-XuYBX;#79LbBD31kQ%D>Z9kZ2x2pps!>lEn8{vk2rU|llt8Mp zCYrvd??8NK>+IU@jvcGtij>wJJ(0?IN2|dk1^2G~`(QYL=c)=NnyiGLOYw0#NODWxCF7@!<5#9KsGeJHTYv@9R zAGrg9p25YfA|L`X5)yBb#-%LvLco$O*%#282k#(xRVdXr}V?S?8)Oyf4*ggxSf=5nV4Z(RF?^R;#a+CWZ zmoeqE3z1wTci((asdiibW?uUD%d{mM=5o&OR!9}$H|RtqMKEQ2#d_Djz*9lW3-LEo z51JUKU($(lvkEfPbq!f)YV5SAuF7f#0y|rS9wC(fetwT4MJ8NzRjMT&vjSSurMC%DUS2kMDUY33O`Mza`hjIzu38H&nK2#Fyq7rr=A z0go(ui)Zfsg!P$uV`jTqkdf{OmC9dzSk0#6O_1;(XXZ|CkH2AxTUw;gO=n7;jH^^* z=Dx`6bw5m9d~qJruZ0XbI!9)OT%1Was?a9vH+Q?3<}wo84W|bSQZv&`XYXVn#~cbd z;7dW+GoA)P^Az~dh2uJSe&TngYi~b`==41APf!>(e6R3!AW;^*jZpy4ul+m8H${s% z^rmReU)AqDPxu!cga~+Re-5wF(i=MAH=&iX5=Y6+s;=AzH7&yvVG=*{lKc2RP-I+} zkYYwpN(*)Lfr5DW9=;TU%O~``J~y67n!WMYAtXolS8S^|BZMe1%`c5K(!Bl~T00@h z(^LH~vx3bGo2wah7Yn+TOP*6mF;ahNM>0F(vK#H#Zg|W@HrH&_b>Bv6kBpC$215Yr zE}XxJG!FOEZw3uj_|kiAoCQA6I7MK~ml=}^g)&EZVOp17%YjFZ+9PMcgg*DdHLnaf zIu;F;pt*Qzowt9R;`-->-pz9$PxMUtsuaW~Iyb}VXb#!7_oL+It^GW4lQsU~cw9Z4 zoaN7btT$We-|jMd=nkjGP{%3B6rX2eKlsG+x7m`XqK$?X8Lkd>u}{sHIZ~?$>YZl; zlBHFrjs})BKFUnR1{0pmD)-DKb-k6jBH2kCUEJF#KL%xr$R}I7ep2oz7hqn<9tcz0 zrqvChP=@{ZQDP^*cw%Z8zLAn)XPIfHoWf3d*hsz1XG!X@H8&^3p-vyF5??h*BD2-) zD~LZY5sF@CxA;l=eA;3yQZmwQ)mrQ2vF=YNnv3XHtkaiv=>_{|&H{cAiVv0x)ticM zkiUG@!=wG=JX6}NE?@YlW(+0Ho~*YiaIom1>-anG{A$X8)o~|A^ZHFbtv{=O&6Iqu zg~Ef$8ad*I@|VUQ;;oZJT7gZ;&!t9dsQ9xC?n=XKvsBCyQ(Ya^2f-4T^ygC40CMeA z9EvuGph}ARW-4ntrUR6FhLL0M-LwxRb%XWZlstbuSFc*D`jfBj{N0FI=z?z*#b#x5 zXr6^liNmOnfP<7o1fIm6=C{$cR2+?sZ*T5zN98^rHDolozhN1VpZm&PrSBACPPj(> zD8KrHHNS>H_%T?<-&J2?gPWL}CGpSgnsOR(fj}h9y~ofCrj%46#@wR39Y6o5gZ1J` zuf86%+=ob&$&p-fHguC9iT0?qKWztP`o~W{#lGtrO0cCt`tuMX%9X)ZJB`jP#dxZ& zh{}B9FaYA@mg!iI{Kv z^bEE3kN(>i5A7h8Nz3jllz| zJT1SAMe>eRb*z4l+)by?Dy?O0r0?y#=vsMR8CGihG^t|-YgG@T7_(Cg3O`Vo-@n{m zQ5+1G<<0i}b>rmQtWizgMPpp(i^EGpi;g29Bj-Y~GD7okbcwz)HN+7Aq^Zs`2835n+M=XXB+XBnT5sK0(RM+JubglDby*PchM8^%T~_bf z&I?&NWe(9Ye+poRCX*u5Ue#15FbnDKGKp8dN$6^>b_OzP&mBl)Z5vlWYvY(n*;h(Q zi3naY7g&J5AHt0=R7lvvo#b=mV1O7?<23QCL~joNZ-blKKEwd z4tR-@iSV>1i?vVQx;EGl4Y)FiN_}%|fgvYs92j_msD#VnI)(S)TjEgem;QHj-!ain zyrzP?K@x~uEYiBp$Xs!}I-D zt$5Qz;X&Kslr<^por00u&a5gioCY$FAx45Bz81$9Oc;_cXYk2#M0Jy&C@8>NoBcF5 z&SmZS1>(xkPmY>Yp%BYntNbaAI4*1s+tMz>`q^)%?IoY!;q)^yx;VgrjKXU}ucN{< zST$Z)$d|D#Bh2Y(nD6N5bg=ju$y9k`-pS41q!@QFn!a&@*ZI2Y>3G)WHwvyii5m2K z_rcau?&Z=y2mk^2*({(5)#wvQ*^>)hByPgeKNsp5#(t7rt$W z&!n3O^>=+)KwZ`D`36vmHDni5sTA+>C>MUlKh8?XDcG&j%|#okYuEKmt5=+7#gtGHRvS-kaO?8U1&EPB?; z`ge!fJ!s=8TBiNL`ibfVt%tM*N}s_N^1H;Xt?_SYy)ovW|Ky!3Z4JebD7+TN`iB5K zbYo(v#EI0P2F(bS3o?cYf)!-g>sg}}V zq@0d4diY19Kvs;U1vBmwdvMEU>w;RRHNR<0%@TpUdwKDi1~$Hwr1tJwEcHcgyYs`7 zelpxYh-8h2_%)ZL4dz>gzaaQ|3{ma1#w*AA>X;sHrnp1Q_V=*abd{gqtVi?u>inV< z2^&FYUPJl(n%hvK`JD;6!j9-vQ{z4b053AW^sr+*?WK1N0kX}R9-M2)Kid$msdq?ZVdKdrN)r!JkBf?0F$N6 z6$a2a+l_Yy)&oBJgaUs%?u+omnfp+i0t>gv-rHwat-uC_QV2<(41!1HKK*>t8zr-G z{6?1fwvW!yOpJ!MXRGejuC*}{Ii}AK;jwpFOu;uyQF#j)T5%j?BT>dGj8EZ|%+fMR4*x+I2K1}np zJ&IoT4=>-sMpcOFx`WP9_qE@ueRjA9`en{=Z>I&o)G9K@_VU%e}yecR=D zPA#j3=X{-c+Vnk`Q4^%O33*q^h4fajpMsiyD5VXsy&pDERQ+A!;yX0aaFc7pTsvg= zMvr=`d{Miu(y^%jo#LA5Hm;H6_8^^aXi|@fHK9a(V_zOH9fg3W<#>i`YffS z_94)xayT0@Te)MklLoS7CgPl^Nem``hmt?XscFiboKwVh&h0ohApGVOlK#k`Q!QV# zscqvbIL%WLS09Oy#A2O#BOMj_{#yL4Xw<&8Q+Y&Q-W5+_%6V$WR~oYP+bo%dQYP#= zKtT;rmKmJ>NQzn*F!PkJp@TDn=O(R{HR0YkZS(**U#-~kZ+IyR zjnvDi+B7(Uz*JjKxJc!ss9N_^WoIl>SvLG6o~_P#oM{SK$^)kbG!5nu3d~X>NXoi$ z?Xb9xtlx#Ij?mR}?MZ6Sgm9^<|KfEJvDX_&u>gpScr-g(74MExa`si}<48=YBHaG! z-GQ)^<*oQm)|Be1ClLd(dX|PB+T+#zGmHMIUf7{VhCn&I?u78kYtF{aGnz{>^fyx> z@E&8q1)A%!!~`vz{{i4AUCN;rX>n$nDbP}6z+`$w!M!aylIce(b|0o07Wr9V#v5FA z@Ga|2!zmtSv>wU9<|5!d18tgFsR4;Z`koNCMEHd5f-kxzKJ^Fd04IYK4i!bDO3gcp z4nZ4Va}FZFHqpaa7z%YW6LGxP$Fj)rYx|YbR?J_k0INj<_^5B0)WKCEXrHB;^<5f~ zASDqY;eepx{P&J3f%ad-gbvMDj4rqTch2Voq?3XV9%d|lRqdbn{w?FX+IMl{?QlscKfrq7f=n(^w zO%le=(TJE_Vp~wrlZbC#GDv7p4hi&tkz@X&+};kTqCs-q9^j6hsY|Af!UVYpAv@=- zxi;8{Ua0?gG{_Emc8_=qpj6DlARt7tPum&=Z9X36XVzcbMEP&Q35s z(EToty4J_c;PB_}_}Bm8S|L6+?tpZ5BtiMdN9z9nB`p_X{zEpRBpl1YNd`Lom+^G_ z-;C#tvVJhGrPQL!c0EZRk(c{_OAsJ1M7q@v1<)^u|DPz*xNS_2QU9(#$3?TuDByW- zYxJH*X+>U>X9DnbQ@h+1aDa9|Ih7UI&fxPV7hixNFO3C*Mn@=T=gF%h#tA~4ft#7?GjlE_y3L?@P>=2B!mXn2Moy~YM84u<)&MPl zbdrCNrsm>VBZu?2y?@B>^P@q6kt0;!Tjh=bM7Fyxgp!eCjsJ8@Bef-mgt%LFO%Zz# zpIKs8f~fV=!XH;qR{k3vV%d=^4OtQ|Uistk@?R}JwbvKrDimil-wrfD*0|Guyf*QR z;morBt;2-&voi3%1SStrQULdpEObbp!AD#UvFy2xnl-fDQa4$Z@3|91b*K=i4<|VZ zF=goYRo9_8f7nq#lHF6*5C+%6XL(6)tXBAae5ge6`?Pa%SE&{i{5T(4c7UAZ z3WIh67kNm{>i+zB%f9k0~5bwkj3FyX9g!@MUT`5rH9*QtE$2Lhq`>qGn z+fCQM5i=66{^hl3hu30^5;`}sv{oKi{8Z0mFq(6lG|&qmz1H^jlu=ZH>_T&W2mE+l zkZW&}a3eNl4e=^uSm5{`4g<2ZtE+x`kA2&7g$d!8BeOvg*tYHX1?T#FpkWd#;Xg#@ zarb8*i6?PXV$C{MX}sJ;k`6{KN244?@2AIEs6rJ9!*BxiN>Jl(#x=0}5|Ahn#iqCe z!QEj1q5&W6rzvPA_{aC1m{K9zSrX}|zM+HUFrdL)LBgu!yvZ1Z;l(eHwG4!#CzO@c z77#Lb?QVR1S=M(4ntMMk%z{y!GHWuo?eZDqHe4l8EEj$%6Vh))_Z>Wct$Rb^V>{Zm z9SYa&D_44WCqfH>Oe@)&xet|gU0H4UvyyyHgHk21uUz>NEY=M~G8DRRsXWaFN$pEn zTe@_=vgU|9fGlLv*f`pCLwDBJ$_o z?2jne*?6gE#O_GKsLn6SIkOg2ccf@K(J*E%fR_;MeabE7{I8bbGYx-~po|_p&@B-n z-&a}N`A8VuzXs>|JGIEFNI|!SO9w9Z!MqGx0>{Isll+}zO@GE3K8;YW@kkVa1!6+6 z6833%#2hF#sE&;=dskf(4`Q7gKS%|5xF1AiNCqw2vdi4DAn%iPKc!8ShwWD((*ha5 z1x>nff+OT#m@WZvMCMFOds(eF>xRV%GU^Iw_z1N;!KSecqbDOzlva;Crekb8U0bc9 zTeLrUVY#@pj(D7W&JJkF$&g`EG$d;_xq5%YI~}XPia>)b06`Rl1WqMK${@ftnT0$H zP?~opB(L(zzZ@b?3gY`H@8_;lxDv?nSO_ zbHq=*DK^--Je--XsN@%&h>LZ|&Vef5$x0K$$l0dHuR? z+#<%Um^V|qipNoNI!iH%>|^ptf-r;unkpufEAzZ+tH|~5`-%{57!2KwV@Ss8detxD z^G(%K1HLX`YC8_}>;$xKy+k5kiqwMxgtPznU2$3w&U=1M8T-CtGRq`hp5(CzCI}VF zCk2Satm&GZ)eC@1#6K0Q(F3hhmZc`t@?;lxXX+>UD9%roIPUhuQ0}V=2k75|XVZ)W z2*R$AoXxc|XkqvK&O8VW)S^fQbw^VLW({ZhcRkNGFQi++?O2_@dS-gSZy%j%2N~Pm z7CyyG!}sGTJnB}tbM)2|JvvvHKbz_)cC^eM85>A+5t8Ps588h!-4Qj~yj}snOM_Z&R&1xFJHni$~k!{W!@3{Zit$?X7_HaMvelZ`Yq18 z_IXj1e&c*u_iUlCYWN&B-@T`L@;pj2UX1#fp!_7S{tGP>o|4-madcomzD&Rx>w~@K zjH#5No4K5a4W?c-OB`JFtKTd;7Z~w5EE){K_2NcPm*N&|DX5Q6#@T zXADWY#}j1JC7q-y>Cz|RPobVw`#3%-S14l5#A8o~&sn0Xm?6IUCQb>wQpyAAe(sX! zqI~hZt3d*3QVXs_1X1viAkC}Lve=7Z&1CkeJc$C$gew_Se8FKxH=z$;=>MUhPh0x_ z7X=-E4-j#M6kMK}E(wAvUkvzSQJF%@B#8|G{P^+y#1HH~z+lM{DPPo362GT5juvFL zG)x~1p?IJX{-)YO0uc;kCCw!dKr_o4ru*r#Set>o-vD5Lu`d=zsXOTu>=xLC{y)@y z5T>sMGVP-%5~q0oeeumhIrG5Zh+qFFW_)@Bf4p)~u0;|NJ-7UXS9fh)xzUp?{szmS zB|DM!t#QU%R%Pd@SBFE8@eBlAhyRPcw+xD_X}g6739iB2NrJlscXxLS?(Xg$+}(n^ zYjAfB?!nzcfNyi(&wJi_zdxty)cJX)3I=+5_H^&v-P8M8*IEkFQC&5kP5r3l_bsaH<7jhJMQ73Rn)<8OskNRwTz%{lgv`nn!%cwepl=<<44({)rztE5BR zc=P$>H{eplS;Ir@Vpf0}=h-R{G$r8Sq}Tw^4S?OQ=SLdgoRY`dkIHADgo&}@Gp5wYL(NCqMf0E z1Yjh>cyynT#Rdv_QAD~2n%FylbecRaN6J41U*X+p4$Y%rNv7?zDWP_vYS(EZK>6-` z&W0%bd8)OLBI^@k^=WK6bo1-sf3hr5Qz5YYmd7Ug+Nw1h3p%)YHt(!f&w07=eTYdRJ-Os@N+8& z#RdnT=zbCDsAB~a#-E|v%owKBqN34%~++5yc+6S}^?IMXF$h9_|VN}7RLVmiiogvYMrtvd91cL2Nvtu$Dv+kQrz zCy6L0;uXZ~tX~O}Nm_o{L2C`9UsqV~+WNKc!U6E;EaRvfr*h8N{N2BT7`ughEE zR6bwu*;kk*Af8&TFa+l>-|nJyjqS=1A#SK?=>!%vBK)BxtZ+8LA^dV01Tyg55HErJ z9`Eo-7eP85716--OWoto(QdRZ#vp_{DU-tN;>`?IQ+3iO3W#Cm*s)E+_t@_DyfT1K zi)Ph?)X$l?t~Q7Vr8uD3a!W*B)pIoU(Upj?OQ_Lkgw{xAjzyC7H;(8M1BhRRh-gil zB@h4XJ$H?|n_X5$Pasl*1XyUn0(GqF4Lub0RI95;-OQ`^CIw_?F{_K6MVn;lm-_FG zh?><&e0s4S2plL3Cgg6b-gNJDIYT##tzENieoW=QRFz|Xl@jblKoI%00dg!+WqVTJrfAHffXF$k%3a<*@Eh8TN;0H{xU)r8K^wqbm z3>f_*aHeZ$I&FXYFV8XZkH)@dYCERnDsyE^n zgk7ckC4&MO_KB>w=b?M?kw_IDcuQ4ORn~8Jk}Y@SUyz+lZL(jkWplc1BfZ?qVd~_Aov#3ZO~;*sNL$ZV-eIEDxqhmsc21vXJ-tK9OO$MLk!)Zk3#_ zPL4#UI$kQG=Abzv9#OY6YCoLQtDKhi>;&;-?1*6?vNiaX4fGrEMT%~oJ$Yt>3DAc8 z{+Rh4xM9(!L5jdWPrb2rZva0+)Wfc&#iwyz` z+8=1zw|Fo!NhkFC4yBY)00Q+ik$Umt8-_p^f3?$*ivA|OtzP?4GY|#lZbcB<-b=L3 zKa`jr!+;Y!n%yX37VX#;vusX{)>R+(88(cA%H5+iwm>P8j#Q0BR&~$VPQ+jz)v&8A zBU-gaDFqn>0@5n|_rc|TZLJDEM@V1l!

4C|u-CKhvjb8Hk@2A=xbxO3>(lzvBhc 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOT.Services/Config.xml b/IOT.Services/Config.xml new file mode 100644 index 0000000..a0fbd14 --- /dev/null +++ b/IOT.Services/Config.xml @@ -0,0 +1,3207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IOT.Services/IOT.Services.csproj b/IOT.Services/IOT.Services.csproj new file mode 100644 index 0000000..6da8971 --- /dev/null +++ b/IOT.Services/IOT.Services.csproj @@ -0,0 +1,127 @@ + + + + + Debug + AnyCPU + {242400F4-9B01-4AEE-A6F7-05083757FCDD} + WinExe + IOT.Services + IOT.Services + v4.8 + 512 + true + true + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + 10.0 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + Lib\DataConvertLib.dll + + + False + Lib\Newtonsoft.Json.dll + + + ..\packages\NLog.6.0.2\lib\net46\NLog.dll + + + False + Lib\PLCCommunication.dll + + + + + + + + + + + + + + + + + + + + + + + + + Component + + + Service1.cs + + + + + + + + + + + + + + + + + Always + + + + + False + Microsoft .NET Framework 4.8 %28x86 和 x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + \ No newline at end of file diff --git a/IOT.Services/Lib/Newtonsoft.Json.dll b/IOT.Services/Lib/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..7af125a246d180e71b9c4a20cca73cc44bfa8902 GIT binary patch literal 701992 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

7rCKmBC%7uHU4 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

!Q^GYydQtcry>H(d42@8k*Uxf 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

Q7`fj1Gzl~` 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%0DLqB3{S5rfdtSu}$an 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 wNZUERfs7@Ef9o<@w7t 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�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 z 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�#VOS=BWaTpoXvOz;{5>#9hKn%8K`Xi>o8EnM3e4EV1vpfZ3_%w) z=p0s!g-8cveKsW)a&Be@55WI%-sSlOBv%hs0AjJbelWHJf{`Xjz8D7Ki#_;L!)EE? z7>7gaM~`YXTO2QX<60Pl9N%%g3%1Lvz1jN0GHwXLXgA57^_rDZRHJycItY#UY;_R$ z4i)ph3mxO;@hc!Nd|B)`4}D^1U*mB(_KFuSwt0-f} z(oRrzA}gTeUO?cWV zDwlc+Vk@bb=9P<_R$`<)*Ny0_a0Wvic!!J>if6k9qdA#YhgSIX?hL-M8L;OAGte*M zhuqENx@mZP(GsRD$RKb}vJmREzy_DF%s;GL41*8Epjn3uiDK&GfG*=FJm<*Si~9|}Ei!(99>|zXI z=3$si+rO!Lgt2Qe%)!KPAA3a%%jpFfK(Yz76DhC$7P>rv#+)$Ia&Ii&yIVBXjH#eT zFe_<@=|CWYQw&jDDWP7R_q#D82YP1ta#BBPjaLB7 zQBBSP3A+_dYlSEgE>;O_SJ#ui5r)p3%pWxzt>vCAG^q`enR^0{+uO%s248Hgh$aO{fqfc`}WjG8Mjo0+$O^B@E0C2McO;9dFGX<_C6) zJSK5ih)6TWZ*ek|GCsn~jB?@COgFJrVLrX$W)|#qDeT)+tIVp*Fn8OpTagMARe=Y&&w#lF}U-sfn*o(d?oC3A+jk1;%N01 zI?r!fq4W*@S>oH)*3>piQE`j_Ha^^U2y?FLuXwOng6nJ~+eoRp?K*@*;gYhu8e^k5 z$~ERG8Z#&aJfp}<%E%CY;l*!#T*p7Xi^?O&gvwZ2*eWVF^TC*kZdCwgRp_a}g|jXU zsK4#dZSp8d?$Pa98-@9krB5CgAy zI=gFEa1PKalKR&H6ik_Oej%cDVQN&@D$*SH&~Rgs9nZsno_tw zHRrCK^GRVr5T8mpc)90+o;8H6CptIP>q+y)fwMd5dR&U1e5l}aVK1UXmxt7MnUKm) z+QlHNOZQ{(i*PX!!fp&!@0#f@Me?qFa5zS&T5QHPXj8Y)g;S6S!9Ka|PcJx=XRy=p z(;Y-M7%;AyB1G7^*xqczr3mtHOUz#0uvBm%DKhoo&^erF^^`=uvIJ%^&OhW>tAlf& zB7S_t4vPBwC_&4}4MLYm1DxDziU3@1ClxhA9FM>J2gNPeWjq&`?%Jn)R3{(%o> zn)P2_T?DbS4((Vb>)D(c5>{H329OY)>+yv@1SJo{^u@xYP>(Q=2dQ}WpzTye7U+do z)EdP>k`dcjiZGwHFoAVK)5l;btusz5xjKF&<_ZxM#ujms2hf(Mg0?Uf9NA8LTy%aHy+Ox^T%JS&4+`(o==n?i2vgHkrvY$oNmCNKJ z)M<+tt->N@6w1R6q)Hx@ibSCY#0oWj0p;eH&IjHLuY3l;u%t_-gv2QTS+KZ^jPCTJVNB_Yw9Dt1`RwM2N=S$qhR8a*0KVF2h zMoM5QQ;IOfN;Gb#)GAgt%O-Bq26oizyYP=%N_ zXt`(Uowzfn0p)TW(Qv(u+c`asDd)M+;s<(!GY@XAEcI?p!}AIpfjP+L0t{Py=v!X^#0^=M_`#K43+?*(Bko6s@2xs2B*O(N@&0;ppxJmEMlQ3=&sS> zKBY`E^OadI-8s{}8~tSBq83{U4^k>Uy|aNcANDq0wS%DxP1@{SWUa!^%hsXD1m<7F zh^>oQ0#*U1GsmzSbJ=jW*RR}oDHP2-IE54!R@zVjn$Hy@?7Mgv4AWn zaF~v9@M?G%E#IVY{GM7*A=NMP^`ySHHM_V%_5TW{t`K@I*Q-&+hNt85I3Qt|r)4-P zw3)sI3&p~9@nQ?sXn=6OqO0NvBQ*`f`YoQTr*~r>mXq0*j{I8MMO1v6&TK6e1n(iL z3+xsm0(bLSNZ)EusLhWwD1?QJe$F+zjSa zDG^Kr(wZQ~iS#l~U3p9^sxZmGt7aWqVKE~s83I@*n1Jzbbk!xsC~;(n@AWCi+3w9Y zTs|l_TQTWx5l-9i1duLY;6=94<)fKi69$1oO#BKhHEGiHfO~jAgQcC}Rs*M2=caZV z7wJHUB6!n(ncrm&OE(FI#}vNjAbC;HidoL`$RXJmi%K_`F~vS%G7OE2ypmOw;8FK* zW}PxjCWy5*y*q{i6u`YSFMah8zKAyPF20B+-~E@*w2_&!z|*cB>LI6HAT(#f3~g7w zy{$W8h}cjuLygkAeagNAugCS4CI`H{wZXewTogi3@7iyj^hwu<7Nug$Lg$lp_Da!0c6xieTSwJ8Urp!ApbBv=R|Hu{R z7@{&{d#x-pQo_Q3MHVMlC zdlIjh!~>NHhmPG5cY+Gytd8f%F~-djdkai=JsF*@#wlE$=}9Eu`Ny;={E*4uI-ta1 zy@LQLMFB#nB~Q>4;qERd-mtF>Sm?a&m3^iMtQ2k)0pDuh#9ypi^a?JmOc4~r5EI>| zS?+Azo;i>J@xTy#3En^8BU~&BhKhP4VG)e2h#^mtY%J9Ap%Hv$0U>mZ2kVn7fDB5= za~Yx$^UPpFRtVQcFaQMCfZ}e=oopxpYBReh5~4Uz$z>{wWKCU!#GZlbVlc`@S@J3k*pRTdua=^inVo7_2YNrV+fKl}l z)eN{(HMXV~dVv~9EEQY|JN-~qKnXX=`qR5O`NS;jKW-CAFv3s_6P|zyn6ll}rvgaj zBHgK?=bPT&8tfS?X+MYL$OM7wCmp5j$t!&6W&oCWr-~Jfk>xsI>ei7lm`Y zENf5>%o#t?W(JG+*pa2;OQ&0g3LZ5S?Avvq$F}-C-t&7b9?bEptHe}9B|%knb4nyq zOe(nY8DaK=sPiKjiFs-^art73o3>bSyHM`K1PL-5+}fkah3)MvD&ksrBpzYPW@jB! zL{}1YvxX@f1p>Db*!Sw;7ae;y=!lXo+o7j)gGg`{2#?{ILi{?ND=v=Mi7DLJ;&q&| z5@6y+1q_8N+-mr}oig&XPhsk|ey%gjhIH`sbGC)oc@)KQlPeutSs-V(w@MLG5I_VC zGEGE~&w7k*!{{HoJx_-b#Cm*BiXhfA1ZvtI6?1HRx6IQ#J6Lpw^vH}jdkd`QN}%-< z29HH1r{xG58Vai_h7xO*6ZJHj2nD^0nU5skOG4fvtIx5`;vqoHF@zS@J%kp5Zed!= z5@_1aYQ87Nv~6#KG~@xCPCSC6D>XqLQ{VMInEW6aJ&?y3RDLiFz4p#> zVP_kjF=8kA^3ox7Sk_q@O~h#f8!Z4SzhX5UrMZwEC4DFPOf!o~}SqPT}hkj+>H znv^t{DtFC|;^IWx>>2Tgb*iwbwK1C!FzbetF+Kp@;g!5+Z~E`*F844f%TF(^?SLSq zc(;fcuX#;iTJ^L@2=@4@Z!;WE{UVK_O<5B#bQ2Y0BOieHZsB{JR7EkQU6TQz+msY` z1^PytFsT0^JLnTH{AHY92W6P(p6}h_%#f`Re_R-xUxF9$58I&SyV~MMqErMLLWIQW z{StrvcK(2sCfusK9Y1@}xUGV$7|-g2?-<^87{w8$*=G?D*ePEFGKIaxZ4fX|DW4zS zyY1gjU@;id^Als#+2}j+wW^nste@KHUP#!G(|w ztqMWMWDBqU<2|NlvQWPJj((Ck0ql6r3Ab!HV*5VKw^R{Pa+d1fSZj))Qx4VTw}n9; zX6r^|8)!Cq{Xv`s_aw9$+;9zH)}m+4 zD@&1~th@jZDDheu*xPyt3(i33AqO=Ln^ZU8NzwB`r|$*Zn<;#e7a@whrU9u&3-LyxY0CUy@81kgbd^%D zeVD}3Ogh9@0u?1CEDHD=0rsruK>+}$?{&Y8oZ#`LJ5gp^ejD|V6oBm%UtM4 z>K|t|Pv*$D(quwffh7ZYvsLX?h%SbK%27>Wb3k92)9*EzFI7p|-yFjkNH?*VXS$RF zs}S>A?r{UN@CJA^Fy|tT%*3iJ#byDv(ZO72zSr)HT9UfZ~RDu{%S^eVKxkY@Us@-JVHiD%=1LPpT zkiEv*QfCR7F; z5mF4qE+E^D*n=1*j$q*jhpSA%6}&85b(=r~*YwINfhhpH5YIno%W zQiU)afcaSt25&Gr{OBD3y+Ff>DZR6Zr`EAgkKxlp?khI*5ZPpm)}R7oKc?c;* z5R^Gbp^c$jEQ>Fv;W<*r2J9-Nb9nIV5MBa#bY^MhTt7yFMx{ju?}%B z3(|8~T$~jkv3?F0QY^F#N{(S$snJ^i&}bj})b~S?Rc`lTA<|i+$9({17payzi?7tG z^EuLNY&BpmvrF3_xxTSHXkXB9c^&P)Lz9KdZe?D(DgG&Qt}`! zoD-zqhO1>H+a&-zC|Go49k{YQl6+hOP(2+_u-C4pAW!=E>Mj+O(brp8FC*urE;G|T zb3BSp&>1k?5cYN57+#B;whhB~a2rUBpqgk`0UShAV=>^E#TP@W3`J6SD`pBIyz+K< zI~)zKhgR6d@2mLtb~q8f9G*t#jnD}Aaxc;bDeWZEj^f{!LwM54&V*j*hHd2H-;*gP zYw?`3_s+@osx>{AYAV`n|BKf&+R~}i(sQ}b?|kD=zNyi!JfFI9s_4pJ{(rtJqg{O= zb@ln8tAG3d{aqa$%8O|zFBC)h$N%3S%IHu}r=h->hx)aN|Njql6cwLLs5o7q;>mx7 zicwU(lu-4_0#&d7D^%SJRio)AvAxEP_N9!>gX^Ik;MEOVXqX&eGi_>HT?=8~wGe7y z-{(TOwuAH*N-raA3c2B77~A%z5dU;|BAmlkjW7Ko&RY7Y410;bjO9+^pXY+(_RJ+`|at1`!S%Mfhk4k6u8#9rUWL9xb5P+i2Trz$o`m zh93*zNIhH*)1eNbU@6QZgx)-OIm`nx0zdWy#?nTe9Ob<5Ml5CVCG7ta#vNW?2wM^| z)-dYa;?ZycI2eRE{k@?Sj^cBuV^J9HpiW|m{kO4&eXoS@a2&%?q;nLOPQfQUTt^$6 z1By`7s=4K33{RD5XOQnE@-^`r^L@&5ej3<#6Sxd#4QFNEDfDLzEl@ba>r1q5bH1vc zT=RS&lMuG4+;9+77 z@ooGI2d`+Xs`E2@*Lf@D`jA==PHEO>G3((FXM7fOwh+#c0w$(J0Z5s+3<^3IJ_)Lr zMvn8K+-lz1r@9uGlK%Mj%G z5eQb|P@We@Ag4zlz~NA-m$3eZdk79Nv50x71Mi#%;{O6h_Z0Y59dmOL|7Mu>B&m$l z+y=dH9kzg}Ezk)M7?EPc3HH5=vc&BI*6LZ{s&;_0d=b#I;Z4jc+XAOiY!UG#q=t#t z@%Jj>6R~7CvpdP9aVR%Y_N{ zguEwA#?UlMgahXR$0!fmueHN)0KGAVxFCjRQID06A(elyjGaTf3+NH^&w+-m$baPf)tNle-?t6XCZL63sZFl_^v2CqYX-jf6Vd(eJ~+2G-Mh7TLO z90~Ehq!|V8KXegTCEq26(bGxt;&bS?W&^AB9H2}K6BlEdNh?Flp#{K6Ig4nQq06WX zl!H7mj68@HJwOT8jvWS}*#C>_)vTaPu|~|a)tze#2MLR<@$eEQEmppt1Jv@j1!UJ_cEX+CdIl}tn2z-_vEMrA3?6|}RSH~Q9 zm}V5TQO3~+w47EQ`s4G8I^&8f^Rvf3kLZK(=LPg6Ab*Y(eVF)c8sTU22qzg{PzliA zq0eeGTw7XENG&Mmfh$NQXCj7d{OI+=WgeEwso`KudmR{NSakPj4CT66&SJ=UY9{;4zd!Tj1A}h(MX(tdzI7p0#Sl-Pe$70Q`1D!&Li3 zX{wMm4m^eWiK#kxSTm5TQO-D{vXnC@%dUlEXoLN(Yb;!O;m|@@$A7H7i#*|R?kLt~ z9X(t{$)+TURlsA*kZ+z{1eE>eu5$(<$|G4uTL*+vBJ0xr^Z0p$@umlP$XiSvJ&Klx z@*Rv45b*KN-=;`NLEXe_GUu+dXcNaN46cvuKo!N*sWtF#6GQ5t8*Lz+or~ppJk1S9 zC|lh^38FG?raWYfgA>YD9(Qr_afB(#a+5e7YVZ8@(V>jP+i162;WoP7L?=4h)&J#n z)lLD`f#)uVgPZEUcDRQ)e99Dt?jmJ^XPg~OQkdKnVu&u#(M$P^brcZWTbZMS|A?x5 z>LPO6KvNs}Fze5XaF*lIg)?0h=t=ZOB}cK)s0E5$Dcfc3TWW*I;KF9#+Cn-h z<}d$noo%4298w?6sxKO_T~0Y-tY;kgIys=Yc;QJc`X8ev^T=29AH9$Dq#Qbbb{7 zs62d8f8#m%IY44gYQxHK%+IrQ%+CuN3&+&y1UZ3Ic1&fS@L*Y64u^-i!tpHyAP67F z#=kE9BUx>SP@hGZyuOaq4(c100hrTR=m~JK6VQ3B;*8II%C=(L4Pm;g(##X~;k@zc z3|i!57=x$&iEPzcsrF&C%`jt2s$8~Rv`0eYGT{_w4NxX@?#?8GZOT@cOI_gbVln;) zKLz-YV<9(U&D>5{&hk?ZG(K(%3M7ZKLLCd_SxHWHTclsRMpa8W6%2E7cvKmN+q91o z0&92<<)}j8wM?EshM9U20$YYxCqKh8Sxt@U6;sb>0zZk?Sm(K-PNq&3sn1~qv1Tfh zNYuwW--Z+Zz&Ns#(msfDl?^%rWd0HKPUVmfNMA<1# z%wDO6X!~mjI_0fEQ}xcBSW)a9al=ag^cQ@%u{T=soK^dKZ?shN$5DP*TcdPrrT)3w z8b9Ae@-+U7#8~Ypg}S|F)aJXI-w2=FIl@VvaqiQwUAr0cM7Wg-FHql3UNo$Krm)HF zKcCN{$k_u_62S>&T3?FB&wo#99 zP}BJuuV)$Y=kxREHT7vn!S!q#E?XrZjG_bcp9If0uFD<6IKA3G&9PAT-oO$b#)8Sq zJm!^ktK2iA;=m#>Le3j;R-C3Eu-z-~AmqQ{8c(kEu!5F(f?mNYeF1E91tN5cW}h6%ZFPi`bzp@e+@k+d4&Lx{_1F=;Qte$lOE%DMFJu9OqdyCL zMFEaRCt;*4?_}6IkHk6m*s|D-PD31_e&6O8H)a!WpiNR>n3zVWhk6+Ddyk13NZpc( zC$1ok=elr!G5}xb7 zcYNN_p_KA)=YZaG1=wFS=CU1c@CQ~yM3^BS#LNP zYh{?4R!S%s*}==8ra0adLXLzFKLx5&H<@9OvZw>Ut+o6Q-Lsw8kzMTvY zT}Ev;@Q-J(E^aYR6n+wC<*HB&VR+whaE@WY)q2l6Ey{0W*4bnhl|g5p$$TarhslSU zC~4AAT=SHF;vFibpIymr;d0sg50|H+-lCM9Vq4^1)J9OQ1nupgrJj6$8=Qn;+%q5y zYC;&=UWA#4y40|Lz!}_sQE+OH!#?ERhm?KLjqbytX5U5pL#chx2k(RaZQo<~_bHU2 zz{C4Q?BS<}Wyk8+Ne$(>HcFl0vGR_gloP3*pcwTG=DRlWarATs^Bg<`%|Ak<0>D0F zS|{VZQA;q~pC%}>i^C;n)as6XsJ$|-{7q3XZ%B?}F83_EGp_7#+bqqUYYX*|tJ}Rf zS5A2Y%Dte9jVcb|w^${QrLhAG`#ugnL)>7VFdxr@??t-hdS_2~obIA#YPPB>oTH$T zr$HM}1G`U?`|p?jANAng?+Ewj>VHfJz7G)ZZ10L_<_yGDhLN)Gis}H}JW}05Gw0S$ zrQJI2aC!Ipki8A}217@9=w^vmYG*k<-gnR8pB;e5>~}AW%ijWz;Ay3af1Po=$ic)aWvRoUDD?CfpoMw5WTQ#s!` zamvBoBY5B_YA;np)bNLAt1#Nl*ltYPEUh)j$uM7ITD*+WjinOs(N6$RSM_&Jf9v{t zPJgHMSGU*um$mwqiJSf6fcVSxI3vgz<-DT5OZ@xP97fU+)|-19@(RcUm;=~1fdAp|sj>_?%M>u!1V-9>V-Gtj=n;D|FOS2HutX-~z7>Z@NA_%iI3o*??UiQi1ncj1CR8|scVhQzA zs*W^NoUdRdAw1|8bE;q9-~dO2nbt4iHbVYtE$i3dTF?95z`hC^+V@%9IzI=_PdULf zeUx=5IcrZnT-|ZOtsvRGDq6zd2dTr`9@&FxlO><8O>CmZO_q9uw_j`EYLrNZcdpto z+8pv+UzHDXJUnD!D&ETfASrsvixoKQ3Wu%6qL#xau@X;82Vu2@&vE6NG(|3U2|H-i zpFZiB;YF75ondZ01-!kUO1voRzVZ|uj!ftTl1&i`=d(}8y8ype(De3xbMW# zg-09L-TDQS6Jbb2`ENAN}eN>i3`gT73pG2<3*O;dkEurRMcFX5aott@~C!`FYfF=*!E$KmV!ghgMh* z;xAO^_=nvq=EU`7(S;oYJHQaFe5f>gfaNA(pTl3f?s*x#<|PlHNWJ90vZ+JdWCmG= zVISfyMSV_yEWy9BP}zS@;m<;y%-sucNML8ktM=iXyKfTlD`<_p>oRsP?pennYjL-N z#E&{o=r2|>!q4e1&LapzF2!H$sju+VZmW};De_M{qwp7>!2{2s4KdGL<+{{r!p%pu zY}Wt$5T!95@X&*lMJXAA!%f6+xH1J!SKfP6&s~&)c&EB8{=$<&*Cl?gebNZ61MC`* z_NYwX2*-e>&w$$iYx|$4&H{gVPI^IDdV%~7VPfe8%I_7eMb-|0i=&n~)^ds%Umluk z&iqO6f17!`C(f~O>TR@^;~$pSY^%`@cJ(vhlbG?xE~7=RPu9YxS9Y1mIk%QXYmel4 z$(NJKB4%i9P(w<6$T<0{+&gK-NO^(3vO|Lf9`%uC&q%3X>Cj;@q#TFLDwEuG2KlI? zniKUdgQtT&50Sf)dObdAHh8qK1E1cn`VPdpXdA}U25Uy@WQ@-W?udkN{!i-fa~>uwaDOKp6oD}R@*;!~{^j*}*v~Ut zc&W;BsL6?Y?LBb&ByGNF9@MzkESwsjGt0qaq@JmJmAU6>`Skc2?pdxFmz~7-l+5rN z;#H?<*xW-(+Qi=rn7gq5I(Smp2c6l(ZRB|_AblTBqWiY-k15Ex4;nJ1KCe_*0Ueyf z4008N!$H@}yRnxT-hYi3?gt~55Iz#aPy1Q|?BQV;)BLg?JuURIZXJ&nC$_oee=gx3z=LT>8KGbHx*8gTm@afwpa z|CDF{3T_+1lhiBpz;#W#_A*u{jU>9zg_Q8)Sd+AlMc)ok>xmhyQ}*Y5bVFy`QUl3+ z(Y)gpYNP!Qt$nzTdCq+fVanpvKb6KMwa;+RB&Q~)TSNU(6Kq<7Xx>8kf>w#92juR@ z^D;2?&R;b<5EkbaLqly-9GW7Z6|!2In9(4tA53(nDzt}MsIVcq9ft@VFkC+LVCz(rTK!c2&_I*+ zG9)f4mTjQ?Wgd#oQdPfj5$P=1LEija#5Q3w(zH#tTb61~A#d5L*_4%I=Qe7~gky@x zzlD}KnIw-5z@v#3)eyu{DTah+$Bivd>&RFhtD|P(Aoj*aL3^gc{PYoCMUm9m7q)5Q z4wn%~^VBSUxnwqwN}N=2&XG`YZ2jg;pv;vEfRbQ|ZK_1g5|oyAysBhvwC1x}JBoJA zL^02AY{P`2IFF%6(P|vka89i~8zJomxr_{}To!xH9MfzBWINIB)GlknW*!H7M2v9m zA{AOMIqOD4!~%OvT8bFwp_LdV1sXQ?#PsE=;1?-k7;DyBI~p@gMY`pQbWF-&KQ@4Y z@WuFSF83++fA|`t+SfP-ah9rW#PLx)=J@lN!%K^rXEG1Yf%Vtsg=3=aS;+>;11W~<>&Z|%zgG_o^RcI-<&vhj zt?_EnHads{ubu^diD9lw_K(8@AG>;X}c*;5`ek!kiQ+=5sy`&lKdC@YPre} z(ham{2D*tHzBsN;ZUvlQj-DF|^|Qn*Uk7}6OT#6{wDJ{W8?=Y#z_L67?{t+B#D4W=Xe;B%JPvwQ!RJ}GGT--*yBvIRY!e$+l!UbrA zn>l49#mK=}6Un38uQ{%K%&|R`=6jqXQ>T+u8yFLj*vG+j8H7uo8l?i0MahQ3*<9YF z2=2MeN&J-(Hrq6LH7=k`BH`Gm^i76AmcuK>4%!*!w8rHP`@{rg2(mu%ea38Ow*8w6 zjcg!*vFw#IGCO0RwvWVPCKm_g0AWK<;VGN-wP3KE7V^xIkwywILgfBody3UboR%z; zOpCjn$z`1B@WL|ka4+K`Apw(Z*v`aO&0>E<%KG?{O2ukm2W*A6mi3a|a{w*-o3aG#cV5qQ2Bx8}GEKu{Ya!Z!(cL%np~~60s%42^}tF z0(i7LBF|42gA;t!!1VCQ)KEXDmnXsMDG4-HZs+#waNEYJGLx!WWzk0MRcL%DFx!!u zA{I2C6UY4yEgU`$qN8qiO4cgS51rhLIOjn!V{d8S`Rgx8VMoO)C;vrFg4Ukj#XE|7w|FIMeXldZq5@a2*=aDm} z48w_h)`P2*!&Vo2OjRRD=24o-QXnKRGOotI(ZDS{K(#kd8ON^w?9U}LA3W&41mrD4 zHOGgy@%e0c=f7HZX_3|0tH!=;JB%L5%E&IG-4121NJmkctP1p2j;xjmLriCNJwOrKeLBH3?2g0~X$J>iCZ|uQv3)ZhZipb8n zeH_<+;dQ37D2hFKA0$rETZd$01D z2U__$D3TQCwhosUQ9qwdx1i}A9mROn;2d&uUVVq*>GRUYVu1b#uW|khHTx+PIFq1}hxa%|kHN zfv~gP2d_Qo8--8KwTTTJV;ePm>~5ShdKWS=h9|D7@12;N;)H48sT85mQQP+{?kJYg zj{(*=T7y@U+bh<{m6n0ywsd>-}Dhg5j@352eNx4_Qc zLVwM#)K9`T5j{Lzospy1B}Vr&u0}hx+75LrgsHvfCLZE>DkJ7;e>-N*pnPCUYl#-Q zW99s$9a4(1XcO9>fd?&ET0S<9-jEK+Q?jol;~Y`E4*U7$B|IMa7+bSL1?##7`;SHJ zi$-a{^+D#QT?O{aLk!1PDTw3#$+m)Lu^sR}75N`x>*Hz+i9@h=eEZAOG6=#&Ba{vQCA9Uwh*^9Mzr1f9lM7z1%CmJ`S6ZL@-^ML8EnH_M0fcAcTBP!a zO5l5NvJcI_D9Xq-z`)F-Hty0l#4>Vm-8DHQup1-4;7X#utY{q=*JCj!r^n~K=bh%` z!^fMrzPVo*H{i|~9;DDg?qwH5{40#LqwEy zmaU#*PGH}eXU}rob3Psz+e26d=9=zt_xu>`b!IfuyjISEvly@O$k;;vS!Q1uVryYR}7-Zy+|73&Th z^Oa#bBM0R^6zzt_jmfOsYlp8DtCYKCfc2xzykfAyDG$Ao_rR|2@q5jh+tKUb%oAAD zgB5jr=0_iOoOiCs+RTq$KJz5UK!sx&rIPoX%A%iE33%VJTkrjytF(!G_a-gfCg+|^S{@wRmmukoUhp((`d}xlt_hFajOM=gb`?OcrjzoImt1LPuz`niz z&b9hN?I0}#KXLW&TR$^jgF1q{BJn6Lh8^uFtOEGAhNFrp{mJ3NVM;KR%%%b5i^^dL ztZ63x+Dh;JU;FlN{(NmRD~^zJ;u+M*|7t_E!0M*Ri5d=aloKEP<5f@s>@9fyiF}HZ zUdP)doN_58B-YOn{mpOuUvIGfGL3!u$kM*gEA2tsO}Mtmh0{2W02+1C1!pen#gN)wv4$?hCd3_d$-VL8j$@;eoO= z*Fy*GhyCIS&;D>88;_#||EnG0n~>|8OP+OK2K9$W%le~7&bT9Ct>HZ+dq1Eh%fqof z`iG=`X9e$VFK8#F=3`sb9v&Q@D;yq%2iV8pox!09UqP*~Tm$qHB+9a1#;LL&p`w3} z#L}@(u}4zlRceXyN*((dFS&|Z-uWJp{_3Cjf7djroY--Kw@vxy{=|C$@_M*LFA+kO z7?~PK!by%({s|n7;J^J&8mLIPzFQN~$7_g(Ri8wz>f5z1`ra!kLj7ydq z%gb2&_8*;r?(JwbF554oT)Av{Y@!h!O=szH*y=S0`X(OJ0deidpI*B)90LFTE?L$` zmVV(c@b}PL-)|B6uED#*Z!h zPj}wEnM=^Te&5eNvGerCy`FV81IbK(;l-@T;`WrBZyZ~h1M+Qgr4 zJ-zW8&HwHF+Cjp&RiJjIf6!$+gueZgcdo?nN8bE1*JGHNLihpVa**=*qPX12?|eEsv<%?WApY4OaJVhS3daW`}VZs{<|!hQ&`8(U;ECW zcIua!FQPXTE57=z|K#&Fi+|zs-@WsxMXpUdu>JhCv){Hj#jDyOmSG8El_Rd!@rkSd z-yLzdz3$6e>2t-)sJ*`P$@P`{4WYzge$+ zz^4?oV~mj=82f{-{qoXp*8k`dM|pSYcix!1idlYS7NR>bMojPt#r=1)NLky@nri#m zuiBG*jPYMz|Lz8R{C!aCZ`L2(`I&k4y`&5D=fP*!|LpRkx8A+U=Nfz*^6P7FEj)U+ z_UI4pusorL!C(7{|LhX;e&gEpOX$m^apvB=`M2Ib_@!qs4z|EvNyrvO{C558n?Eye z)-q>J{mdljcdR5_3yNZwU6DE3TM7{hnBuzo>^Q%=Ocke&rf-6|e{Y>9t>Jjf3B}(z@|W z&3{loxIsfLhC$3nnZ(jT5Mb4hZ{^O-DzpvOs%*Tb>FvWUs z|6Oui_6?MKgug%gbN|hq-=DwOcW$KBO&C`QaIc3+&tHwVJhj7os6<}DHKBe#_!qC8 zUj5#e-o5$M(&RF0^p=ls<^9?BPOrw=(3=T9i+W(?@2=G*I3o(}|FQYM@s-;CgZw+e zk$j_x&|_Tx*WdW+>X+aDvH8Vs-+%YT)`=xP>U#I)5AIBNNK2%6Yy0h+msg&dCwE30 zhyJ^j|KmNj$+{4KD8_Bgzr6C|65B$`Vba+L-GXyGYOTgOb%zUS%ie|H{{Ycj1rc@4w53aU4tS(64{1`X>YW4Nh&1W>^>0pI6-I{O2~(4Q^IGjTXWM9zGunB7Rg%H| zcR%PdPMRPuFdo3RYWqLk+6OG#?)dIa?v}ONwL|v6kY)bu_b%?#jxbJI|LOPs*85@O z@vEO&tWA*jYQ0S|^>2LT&s?z>*Jp~UrvLuho7b+tq0~c6E#glS3!hqi;tEwF48J^o zGQ4|}JIg`P!LO~n{qH}Hhmt2@Pg*LU-o42ymH(T%w*k+yI`2H6M@H6%Eg4I(i2-97 z*Rc!;+aZKtpsA2eaKW!EOQ3iScCe9UY6DIHfpGvC41pSIn1&>zooO>|Cf9DRnNGLc ztCM!yX?K%$+FohenWochH(R_^Ebq}ux^*WmczNLbyS zuW=EhbR7OolfiVX(eZzEI$ytY^xvNTs-<==eQd>ku(xy$KVoo_>nS+Oa!cduFXtP- zar(9CB@cHs{`RR;GZ()2bEj`P@ch`+G-aPWaL7EvhsVZ8Lx{c|?Cu=>6lL(hKrTYGno-hXCf>~+Ht9wv1r_j<`UPUA_E%p(@T`w};un!#rittaVV)Tc$Ha2JZ3f;2#`SE98(UVv04cTewpN)QFys3Lu$GTws)Xeh}^O|!mAG&zp zjnkX5SH@Nk3}#bfo3d|@ZOjDysTq#mawu16G1G0cCkH3V&Ybzk)@e}N|HS`1hUqwb zyHJM%v*n?cd%p4_;-Ztg&Q3VYgOhA87_#jLobvi2DqiMa!=dlKY#8Q#z4{5 z4D$ZY_)kB6@JO)_K=`k`I>q)sf7gIqo*_+><}sX_`Gg(q9n9W1{rc1&jsL>fk2L^t zV>qb$jQQntptf!1H7joqFaR9=s24o-jW!{A?`eEzcJLu=`-XkNciB7`Mn!UuO!L(!QZJQ0mHNR(U^_3Sn9DQm= zJPpO>x%uQpVx=<2;!Zf%4rY8)<8O>VKf$l5Bi|U`n0;+r98H(-FdQ6NV{7A{1Gn9Q zlOq)?KAxQX#<-jw)x9dP5h&z&tUYLoZeyl8?+A6aHeAh|ngKrQyP8qGt3$n53rN2) zzU86cw}c^~-SxX@vvlrmb7imJh1&G?^fzRRo&8&==MlammifQZ0*zzDR>$n>>G|9l)CWnsHfxc^F5$ zymGwA%hlFmn|zJb;b)Ek$5&@0mQhFL8=w+(&r-e8e4rX6@aq;d{k)T?78rP2Re979GyZ(j8(FWm6zPB&o&R>yc`&HEOX@hH!6f58^xyPX61+zkcZ85ja;Wb*IgAAj6r# zS>z6kO}3+8Ap6pzzzk-`EZsVseb6w@+VXZQ*|2Zrfp;{&Z8RJ!X<&0($6U8Iz`&Ot zjTChI4Ugy7*3Z94zeUfNDQ7ddrifWlQdlMFhAk&NM2CWZ<`r)7*dccWXGQV~cEFO# z^GA9cztVO!?E(f*BOTgMdz z=60D(@LO7ro^Qdc5PN-V?_JM-ZG7buOCDvc!?zDL`*%CmyaMGtG9ZJKv|`+#vJACX zXO{(~LYD2C=6B1XnlnJ2EfT-k&z8YSiStm1>4juW1V#Y|AT|EM^k1O)zIGZ?e#5Rn z`O>4GIc7|D+yx4T)x~C;!Zw&)X3hpD(>a}*Ir_-!W_W&K41wYzGOia84Rn5tS06!@ z!R!x@Jh=xtKGTSOa&f^fJC5_f*p3tCE3M+?ER&P42i^p+3Kz0oZBOvYH7C?9k<8Y{ zjG4Lof_ZmTU6@*AEbk|$`i?#D3LBPq-Bljyf}P9uJn?eg^V(@liejC-2PI9s zO9mxh1t*@GdGg8697DwM?07cR$ggDXX$MRJ_bbx%Ew@sd`eQGcAgX%{C ztvrBX#;={1{`D*Nqiv3V;NyFbf2`9q(7X0+I`q%>o*wNAS+2(qY~F2Bay5!kG=RI> zUhJIs{KSX%;UsMxhvUT^=ppbvF#6+Xtkqg@a^9ZB56+AYg}mXuJ2t%U^(pG2KCQ-e zqP?=V@yXJ;!O10$p4s=9Wu}!6CbC?7$AzQ+>A61$aiX=oMs6VU`~8DIG5QNHtg(Ct zWk9egLuXD+V|IS%fS@PaW9`=WHh=?1<(o5qcx34utxwHRCfWIg7p&H*yN^&G#m*-^ zkP)>fTQsiLAQ%g->}`d;?~cTHO+)q1`04s_2iJ@wK3KXf4bsQ2hul${4I93_)}_mQu@ z{IQSO=tHzYg2W5Z+Z}`h`_DIs?|%}w;Ww*&)$$39Eb*kb!&Ug*J*+`VJ2F#qh-^jc zweinRTbtFiz;FURPmxQx-uBeAc*F=g=BuOs96q`LtUwFbm*_szeEnz#sFLLNZreGE z7PUM{GjD{sCwKJDW-zgIZtL;WqZiKYws@ND)vSzijf;Q3)f^Z9zQ@u6e9x~ve&7o) z9kA>X8&A}~!&B}5Z4;|@gLmp_ZH$$){JMs@Mx2(GbAd&|1*PVvp9QDCdHV9*SjhHS z$r~dyC27-Sv+Y1=y)_$r=*Jq~!>JkYBWeA+JOAuH!`SeJdp`dXVGr%MW?mEf%GGTg ze)(@FIS0XYYy^(Iwra9@5_rfbS`TALIeB08@Ws=Ae>;@!X}s-3=Y&5Kp9p3GyA762 zxbNUUzwg_2aam;!Yq78DjrOd;P;$qv14pm{Hs%e%B`?8zY6hr*5$i%0#G!v@lCrVZ zw}^W*0vP#B;F%5kfCpcPISfwXTb-IARK#7^oR&^(*e6Z|e(P)Ft5YA|H*unfJ!#e8 zHCayP^(jK){A%GHds@WQ$^*cF4dEHtfm1WCQS-I5SN;6pUk6JAPH?;ZnztK`S8z*J z3!h55PpfCt=7~XYd8E=08P-`Hp)TQUky=)Fdx|6KYQ^WW=}$i^$)jc4=H(NyL=L*@ z>S=y0T5jsd&wkutW0pXK9%WospkAN4!t4ek%#8h!d9OjgUHD>O z&};K<@0aYotlK>F2hlY?XX*_#+Q%=S=$fWy`Sk?;SD4@4KFc?(*S3$mZ6Cojz6I?E zEp>*@;R0w^>9Vl z0RD)5;(2yA;CK37629T>`S`$YbKarUiDvR!XD;0HuTS5$pPmONFPr8&Jh;Sc5ZLdW z`vZ$hD9tzj=?jKbz zVFGRqmf4>pDMqK57j=SSx-vsKP}a8j>9PBsKuPl!*v`3|n%}zSh}*BTWkWK)xb@p? z()_y1f*iI7uzZ7q7&Bq&!?q(C@n5&4(2wtBQ5MDWS&Pj-v-b;@*C1<#36KKAbtNG^ zW$r;h-VL~Zf^%?^(fBQd;f~1J*}NOG9LRP6MK_W_^Oqn0)?U8t zIMFo+F;+g2KXPFIvi+TNB6Gf(z02&wrbfOQLg$+y^2!6u1ZT1df0bgN6;kA=ob(fiPfOo;{i{=47#a~iV0Uc8e3T0D zzzvflL5jfH`QRn;f|t(4nH1pOA+2489gRcsf@6TJWwG^?eP{#Onuk7RIJmI!iQUvl zX15jwd-?@frE?AsiG`6Rb1=bYjvbpaw(6&Z@6J*y_vHOvGbwvFIKBApOCMuHJ9Y|x zjk3efUVqs01HEC5AH48{y*#3f?V$?efW@TGO}`iH1j*&wY-Ou+PUkka7)LCf1up87 zDCWEM@q}_17Y`5{p&wTd5cL}N=hs9o9#C?p{8X8WiwCe+WH;b75?Z9Q%5|0U#yWr} zW@9O7qkO)W-)L#)7a-mg{1ddfVe_CMq^;UrHvMa7Ht%L_1)RR^1UwDQr)IM0#whhB z_dfaLF-u*?Ih0!$YvxOO8l4kgv;;0|uXqqZ#mX(EikWQX_6FqR*YCgX-a)eql3U`5 zn?`Rn-eJot8`4Qu`T+?Jv)yZa+&N*{jFzpX|H0h0?0uJV{44E^Qfs}z$2N6W7#rpH z*QdXD6ge|&4cFIOI#-19mIm$MD23L&I(+dtEko7|3|0TA{oLpP3yR zq5bmM-(BNmAM)jIG;1@STKv&Ci{8h=P9mdVv){iw`Rj+n^ZAm?roZrbpiwg8P-9uw zi+?npz_1$pDP|xo|LCJonz@G+{#E{z5~Nhw$G2zsPM+Y6?tJN6d+9mNJ#IR*+_-_G z%;bNU&b_7aofkJ9VjcTh^O1)GM@;Vh?BgWQ=_l{P!w*AJ)`zZR|{=c>FzaM%%$`O&^T7IJvY zJkhQR@kuOn> zl$=uD9(Lda2q!J74YImy@$L=#aBlzZPWDqG@5E+aikq5uO-{Zt7M_}oz)RtGc(RN+ zOJ9W@9Lw0h39o9&&t%GS1KY>U&e+SUoag3u7WH^-@fUl!u%yklJ+xbER1tNDUby<9 zr(gJs+rM@^?}GBdp7wle@82B%^XGnZZ>Y0u-$x6-yB zbsT=&E(!;y@C>naz9vG*b?v*%D(^Br#4`(;*shcJ8StFf04UbZmm~S9eaP1#^YFMY zeaa%hIbV3GYdYAj73f;*1iO@oYXjZqOW&TBt{=3UBe|Kbb8dM2-Z54*OpiZ;uS-jM zG0D10pZiRL>S|*ZHyx6OpC50-sgM1dWj<}^v1JbjC)rK?TBFizkyi!}D}MJ8>UIWS7-}14R>i2EeOy{1rB=R*y`d}3V}Eamtz(WkzZa|N zJNHjPn?*mA~$BZzj!4G&xp{r12u%C!VI zu41p%Z$J0Z{agu69eJ*AeDDJEA>eJa;>7G5AN=;@J@5Ok?>##9&GGyO`G(* z*;GM~*2hM9!Iw?5e~>8u@a;?I9vnaU9R8Ai6DC^C^@3IT94&VPndfWq#jKXSD1+=6 zGonOiBbs^jA&qt4BftA7t2H|<)2ZHoYqzz+V^(xvJ?+(a#F)Og&Ugf@U z;+N;oGQ2P#Xn>9i`5SziPvMuC>Uo+d!c8i@Mleal!!k%gT=f|&p=?aw})tQ}w-F4xdSYflV@RlZ%;P8K!xHOCQfqfHIUlzjmB(Ba?4p`3$tOb7bl4WnrP5 z?^2LA8k3Hjqpi0?n3`nyUeh}=1gSFH=qi;8-H`=r^a8sU1Elt#jm9yw83;5 z^7|3Yct9hV+6{7up@eTr=$zX*nm;`C(8>d_G_FG5B7euyu;!~!Q7wZOt7Jfq(0 zhA$4pK+(&l)q(>HJX?8y1krl~eV`^aG3{F$S91hw_EQu9lA1H6Z=QbAE@)xv&D9UR zcpnkcEsYZ&w7tqI(tK={}O z$a)!Hcp5&GB3Ifa9<<3f##+dT#G3G6v+*4ZU%zM0eYXF1_vF{bnz27p8Hj!Ck;TdH zgvG(hy*vr-@4DC)1sTIvwnl6^6t+h6FlVx%fh)H#hK`8AX)I%1W-h~iOUM7!0i=T3 z>W96C@F%cS7dc!y_fz{8*^+42^wkg9#_u)s_7z(;A%!AiU3fl}K97Ce{Sn}%U#Rk* zA7>fILjH}{9=`A3*6G8yV<>PQP;ty_X$a{_&@_XcX;|e}+aLR9Vaf8}oc@|+nt9$i z$98+P8L0x~n7g35=C;ni7YKKPJy}Ss_kU_;>ttuxbBFQR8qyu~nO_SOm;_8g=Nz*C z*3p~C{>8pO{C@#`Ks@X_9h7sl2e!7xLMdV{o{r)F@Rn3<9T zl*x<+^Lc@w!2&#E+q*mV;Lez%cKI8&JN1>Z*F(^YP7uTqH@vw^xXD*+`^ZmQ`l+Y! zx&0@fQ$0IO+}z>m?X+>B8GNmRgVEr=k9xqILe>)URX}?EF5wt>SO#S7c^7mGVOcof z#B7>r&lNn;Z?z0F>yM>SO)cq>pyJpR%S?F>a`DRz-jHQmV=mfye9x4433x_>?qfOF zo?Y;Q9ToZa#`~r6Wvmu?nbixhrN6;12PIg&vFA&+j`mCwxY+kD_#Z2luR?Z$4Kz9X zqXy0gP+FbkER{18=ovOJEn|l=8uB}{)XST{31)Dm@(vb5tY!Z$OF#Yb_<@7SE)=w~ zW#6#9#ZzOzfQjPwyAFSA?@x_?<{174zmZ>maGU~bOS&dsty-p!O%GR|E+=gVWWWo)^L{U3#-D!n9gmFKp}SAn za>|2eKKppU&a!V$ern%?XEbZW)`oA+d~5Fy8+~rH;Q4Fg%(2s)?h&&}6Xt{bu<>O` zRIXxl4wzgQ0ut)r)tDYxU49}C_*aelkJ-};%1?ola&ZfLYVks#07+X5UYq!&L#g$!KoQa z4D-u`YvvO4!)ox@FwWX#b7j%IFz*X|V?*a$uUWG%9%Xxz^%7EEZ2DpDY~lNMSdb z4M*BXxy?Qz#1?;Lp0ZlUCzWxUnyoy{wAuL;SirG|g*n&aw^ ztyY&?gS{`_lJ!HO1yS%pi#+bNBh2tG{j!97ceufDr?uuPTevl|yP$YQ47Vj^U2Iz6 zMMs(4sz!akg;aN!Rc=*VTdc)M=}oR{v+R~)jp7|>#Y?hDKXTbhyf)h}XKCJuSGhzx z%3x+GUzbPZl%t@{yRI(UX5akA!FXdNG|1N0U1;OCC50O6>S~NP@kLZ-TevM9UA>Re z@0zsdE&AZ@CvJ8OKr=3*0gq|x+};MB zQYRapuzUWvyOV7OTs*E8^j3e@r{8tx_g7~lTx-r^a`~oB-FAS6F_5h*}JF>$_BACvO`GQQ|Iw!Va{ba_#S@qXYfb@9xPVJ=qp~1iqpm=>G*-;3+qsl96DvAa z$}m?klf7q$K?v&$$FS&>aRV4A3l;O@63r^B+S?dzxXqr4H-x`8)p`pejCnwbgL4!# za2>O9uCWA%Zt?;iM*PxVF3W=_;Fbrho-1QH0x*6Z{zD(zF`caZF&6dU2WBU{LVvKT zE4o|uGE6VjU-Rh=88zYPo#NS@cSnW50cj*dmelLZhI9}t>=*2yF}`rrZhlGMBVL0 z4jOOW+I1WhQ(I&V9dsbfjCIz!ezSYuOrK@`0^>*`?*inyT*q~hE2A7_b{f*P3%ZjQ z3(*W64^Cw`xLJgE%IL)dxEss}Dd5d=QSSjIH-JEGB!qeoX4#f_ry%+|eV<*~G1e;% zvP}!MsA|aU@>n0;0))tBofKt5t?Cw?z$PR~&$!Fj1kJ7niUex(g6cYDF#h6mFvq{l zUNc^_P!Y1TYlAGgu)FH?0iEcat&6>m8|>&vsB_3Ly z91j6Lgx}n{9BPgg-@zoAFz&cEjvdch>SE~hg&;Nfz6C6a&awY$J@GM`KlK98QnCN+ zx|{5Id~@tE>lfJZYrt3Z4~m!zw&6~5FFw0ni zJ|#dEhLL01M-2dl{cX6eq0trM2B>lnS918x_L_#DVb<5cy{#=`>JJt;snV|K_P1>J z?)1w24M97hXYaAuL*XLcs#LObw}vI0et8IJKk#FLzIhaSJ8aa7&)w5cd*uiU}D)@r;Z%DzS(tTFRWe;JA8H&3IQojEcG{n)fTSY}0n@Q|}>> z`6gmwWKaf*6ra*IFwXGJ_C$o>4G%EyfMwN1Oqo+xEe=yDJF&m62kzv-B}VYdB9Wp$ z#zP2I8Px&8cSpw%*A`b>bLO{JPNovU^LO&Qlg9~gFt>HQY(&_Z9;LU zax6zsb4)q6`4*~s%k^o^7|ftZ7v}^|5yZ<7p_A(J_AKb<0YI^bZ0E2&i{S#?lqMNc z$jiK=j1+xK-VL|G*ran6?CC7&rQ(|HC`y9zF2jMBp(B|mseJS!cu+z_y{8hL%?IIS z>J{hh8n4WUyrL2}ja&WE3)z@9b7CN(6qNhM!DM5nv=+$%^oQ$3^h%V~Y>)Hbo9|g! zH(oA^q$@Z~dcKMCz}nlKS7N$C(NgBI41-PFr^7E*f5sHB{&g z$0R1y^D)PbpZ$!zqb`Z0VoA~4cH>`s=}$J_qizsQ+kclm4mS(~P{#2sj3Rj86|-K% zp41hl2i%!R&c5K&gm6e4Cyk4`RhmuO9(^j^F9H=MQHe;Bv7lVxfz~awX5uUaBN2M? z<|8aAM}xQuHJ^QHmq8VszZAnPO`>2i`3#QIRTSiWfD&;P@2XPy%7=moM!GOjcn>j! ztBMmwT*2SHmXFV8-*60x?Ln$z1Tn$mcH0Dwhy++Cg}f3Abf8j45+Eg`>Bs#W@6Xf7 z$Tw(!C5a#&XyOx#S4{QOixWTEnAnd{Lt>byg}$H+kfD)dTl9rA9%IrY`Zqh`b1&Oh zf75K8rv-`Psvijt_c0>|U9ZNai0q#4$5@WZ1xLEhN1_%St)w-$blZu40KSTE>D_E8 zE9_vj;c1IQMtP-J{CF%28`v99gl5eGelkOo2@z~DR?TTtkHiwy{ zqLV7awI=kZ9RaKvfC2@L07SqAaS-CNTwH3;#3q}JsJ@1Dsnr{_9`3U<&{79nM2Lh% z2TaO>Ixu8haI@g~ z<8UUpkO`_oPBGn!w!~A9F9fffHlDw{6}%Q^NUaD%72)ZXzgJq#ahu&yo3r~z@We=% zf!_b<(o{rl9HDL|t!HjZ@5$!<#{XX>&EEHA&l5IW`12(^aPnmP3CvQ2EKtgU9l-zuDUtbV`tD{7W)F3OqKgcGE=av(pSs? zU4RL}Xu+@u9jrNM8#yFOksd|Wnfj8>sE$265d{q}tKcbXoz{XZa|=uk`NM`|`WD1K zii}-MW<-Izl6wkHekii}r3II8#K6PBtU4AbJ&_YMF=3(?DNqf**Bs6A(z=#eBfIcc zUGB_j`Yu>PVhC{%v3jzu61)({QovsYdN zJB%%pPNtrZP8lRC+g{T;C-04fcys83ubc9SF$I3Z+FrVBK_FQA5#}WJ||iFsKpkr@K61?&hq(ia6=llwYEf{I(-TcMW=#&iuZ<~RLc)2 zX-AzFIcUqGJqjY$Md8&=^353sF_1?z&N^kZIJ)Y_OVv~h`161F?Yya}h;0R`cb|$uf6A3giq0tm# zI)OvI#Bx^;P6v9y{_u8sw!C0z96t8{QlFlk?yYcE#zxG!SGl3+QbbNd*ya30UaD84 zWt`yV|I-}>Kml8XM02`hTQv)gPM_fR=2UUHJK|OhQCjz!>i1S2RGsoD zlKn25L7L!pLMeQ5_G_)9^OM`7>2*|BH^8BLites>rOwk>7?lDAGJIg34N~vPVOW^l zt-PFQ=Dr&b2GlO(#kh=CJ(%o?iKa=d()EoLkpZjau@g^@=}BZJR7#ypmgx$kA}XbYd4zB%}&}P3fr{R z%rTG(TGhpNSKJkKs$2elkB|qPv~UG8RI)5u4k6z)ts+fC%41Gtj;qgGYsGB#X&-c9 zJyiC3oYCXpsS7UM;v}t8?x`mOTYt*IsAFAbgu;r^x)ez@*9Oz=wtA_w2^a^ssG9Vw zl}jNDBV_AE>{P@lQ3o$r$ks3Dq$h`D_$)Hu3tNarLkb*~FhiUnsOv+9Qr!lzwl=PJjok2(im;OBZPQ22}WgQ$x)$3HuarnHDT+|<~Lo^>pJ zE>1i83islmxM}te9PEE+Dk3bK{U4n% zi$eR|$kT2EqpFWnES|d-X6qw4Bo-Oa$99fq_O~3=;*4CoRlS{}j)@*majG7_!e|P_ zWG2|`Uz8@-tGbZ4_>7i9nkFeNS5z-NhwR@Px7n3f-Qgl_yiDZ)OJA-@r!YV{U}jpa zmH@@8h(E21dx(h@J=+|SR5vo}n2E~rX}Z;XT5CA6Cogvz0!Dp4x=!2$K9K^l;#+G$ zl+(nyUDIPfqZ9>Eo|uxUgS6_J^+K>{WR^^PmCl`$>cr1Jw&&KW=#~eao=%1F?NVx+ z2^f)o?edRcc!YIsu%)_%-Mj?$Wq83XjD>rpSIyIGXe8Bc%r1E`sn4CgI6<(!IYwR;#HhYG9xmdWs zr)Zt(1-)1(YPC*W`t+R`^$Jj|S|zjq`Vyz*?W1=toqCENe~=Xv$F} z-shn0mVp0O~M9fF6 z?=)P6i+FB4xhetM%_Hsvg|kb54- zkb*&lmUk3lj)0YgM82g?Lbi9(@FliL!>-sbxWY)qt&_~$apY`AuQC*3xv;IqPGL$2 z(h=QUKo_XVVRz-FwLz+?b7ER3P@Gmx_}%+GMHNCbNaH8O8j2TU6dmS*$Uvm@h4vr zH@DS=3QQbx7`fK@4CzlfQN|B6Dcey@1IW?NW`AzfMDIreea~jNU`;#;M;n7Z9C!oa zz)L$mKbX)0kZBMB;M)T2_?B`UXgj;-Eq_m&PtjO?~L(dnn}GTUZbMvQS=`P!0% z)T=g(-QY8T!Qw{Z@2hQYG1dr`fh+*1Fts+!OwaW7_e z_4ejW!J#v(3>5ky-GR>;1)ZGB_WR6=;wn0T1q`HHa+IM94e>am6xDJ0G>XO3!$vYR zrmiocy7pHvWe3blVQH6cf$V^Y@K{iVp$=GN`Xcg=+lUZB2!IsRK~Jf_BH&Fqe#lW# zX8MCRZ9nj*UCF>5&(~sq93E#k#z{3v%1~$?7#vj|cWQhuqiXK;%EuZRoQrAOOS1)Y3=-8wK+|VEQe(yU?xd3>bbNbJropt=Oo# z+R&_O{iF;)w{`~uG4K|x6m+LGC$*G6Cs$wzvW8Uz1<(uxan+O9wWwO@0Nu06{#8R; zz~w*#Xd{r3+Lca#rbTU1R@_28dI60l@R+Q;Q_#-=Q9sUBB`y>Bl<+9#(*9@~xKe_x zaDHGa*jCu7!%8|4;g+G1QkOBMhyjC=BHvVdblHc)4A8y90YM8*DMgpmRv87LTHXdx zt1Kf(_zx3JoJCP+<+fC5m<|gS%Ty95AXpZIa1}X@ph#gw%AFkwEe`wnlqyV2>Ls6) z>(aO+SM(LI>8S!KYCADgo!*H3vLi{_(KT&Rx}dm$v$F4LeAMvUg}$%?4E94HGy?Tf^@% zC7K6Xouog{(^IhvArDmI05P*-_ga7|<6DcWO$CM2Yg`JGOjNM9gT_#6&z|ndFnB1?5n2ksMLAkMGfVCJWdgA zNIXBsC;|!;L=;Cjcx zi@S?mwPJkT8kIq*LtfFp^cT*H&GpK8mq2KZz0fnJ#=4knNOhG@32Vg|PAbzVC$F9` z@KB=)Q?!5AEsQ!VPGH#TqIiqB26uFDmXyd4Sgx>BDuQ42TursWAu)I9lXHs1kSL-z zg|)~xaZg1$`u(OfoT*1J6kNK}HNv zH3et{oBcG_MT)UuTo+@JBAHT_ukx8ES7LituHvegh;5Z-iHQ{e#b4rG9!{`#+IAPt zBH6nRo%y55sG3IU-?FP1#CJr3vmLEFUw=ltr8_QUrQ=yok#!B`&t zyG5r|c3H`y!iyXEqXLjBm2IRR3BY(Qq+A6osDXd)L}5y0n0Ez4#$XZwQopU01`dYb zE5)foJi_K^vrqBj_z~+Qaxh#vZ2w}1q;^xcHHu)>K1FauTYzJN<-0eX>!H}s?=*;x zHk}sb=TaLYoXUY43piM#R_IBwlQWF{)|=VXJORZfSh- zQT|(DwA{j#6bx4k0vHb#a5P0m^*-F~twPM?|74eu6UW4(89BJ))}>C+MdXN?;68M@ z29$NKp9bnCO^wNAq6~JzBv*~3=M9m_n8y@qQ@Z(deUeO0s}xE?C~11;Rs$0kv3dZv zPD;qysdmw&i8!q?VVcL0cZm5x#>C_xK?VwJe{I|zxx;^#4W_FRsZ=$cWqlF1kV=HP ze@oPAjeof`(c@0H3Z{;6Q9%HDQU3||kz#ee8B}5>iJNKXV(Od<_E$*fdRpbDI;^V$$ZLI)#){+g1AtS$FI7T!n%lj(BA#Xh0H#KUHM7uF-|g7FZd%^Q(i2mw=vTno|E>d16dFwh6v6#k<8L!U#E#ImvZxnzcmM}$89cof^ z5BO#8M3Uz!lW7Vp_gAszWMN#ORNt*;Sp^lPKMGX+=%#{B{^^azh;TKALGq1eJ8C5< zw#w7fUQBOW4!ywBL^F#5Y6xOca-M}@O648ESncY{JbIqf-4EKKRwhAOX*9gsifw87 zzR?!H7(vg|%MIb<&EWRYjKk0r<`>J z1u4jB;uJxIOVRhb=LlYg0`XEp>O}pJ?r(xuq`u)xa_f%XRDEk7&LctSV?Xp-r@~PN z*wvV9QB7=e9q*+%1zOE3@!3D$Y3wKkE#N##Dhs;AIL-Hn>JnvV$#aRIy)N7pM}vFd zDR<9YvpMfc=*qkXV)0*GAj{ko&i$RdXT-WjXLzR(=yLb2TW+&URLUsWV}tP;8@zd~ z?g|AcYvqkx1RN~tp;LWDR5odQFxWWzw>9^;@3vrgBG7(^jqBfH>A2OMFyVyC`nEkB zpovJU^Qu6`Li0njG;B`v;=C!dQr{|_9rK5aj#?jZBlE|T{f>-2VnWJ5M&H$@H;62# zU=7j$K%HG&c#0BS4-4fSh>ILpf8`gPqs$GW3n9EltC7VDQ8oAm4iDx~{&7D<@RCPC zCnUnyz;rkmMjFYqq7phMeK%8eJlObOiiD9o;2GsqO;41y1Qr@^1@sY22y&OA;t=qnoSVHq)t2vmscGC|z7UGU zof2`n?07nRuezUVBE(n4+AgwHo^m0EYa@R-qKft;+cRmCbAR9l|ZHmYFDk5iKJ+&KV@tQJ*9;SsSby2ZhTN z>92~ga!N7k4>1J<6iP6I;y%#i9%-3zc!4gC*PA2TKmN?Ki*__U5ngzTn-{ME%T}k1 zf%A)(CDmewB{uFbJg2TgS$#zn@#8p2@p44Z3n)OP3lIrGx$IQ?Cy4yzotL}C>SCjB zwRT#4f*>P-DbjOG)jT2ASi47zH&6USz~pHny~E*smzJTV+%Efk;vZt{=)#h{MG5mN zK_r>m)T8%ibD#Z{?;ijJD^3!ZN3?$=O&PEv5Sc5CDP*mz3kmE+4mV(Rq_8lO2#d zk9HS$F;q`A_sieJ=#lv>0A4!B2J?FMC6U=#*!kGwkv8(ePH2GMv}CuM3;F4 z^AeNU;9@>Mx^dh_jVB4TW(@7iN$_k)c@Njn?*0KolmkX0-J_R&DmUn5$}PmPvTGOO zm52q$ON2YSdZCs@dbMtqdicyL4b_rXL()}vUc8kf@_H?n)>9j4q(`pEbIC~k5MI10 zJV874EPP_|Qd&8^Q*O#&=Ser6u8JoD73v6?dbXWbfoCcrln;()XywZ z*bn<;SIZA9LQ>_bB8O*oodmW8|5ZjTE+m(0Iu0;^>~k6lbCot~4Z!9lC_Q0_964y=SB-CM?eydKOj^JYB?Lp1$NoVygXDowIV7Ul`;6hV{Uzkf?Nq1PSmx`X=^h9Kr!>7 zWp1$#Vg;-6sS~vrfk+g^!V-FNa2QKS?Fb#RyCR$b!}bkVltp^7fBCA>pb8L;RH)6D zTPGD6l{+xR?Nh-(j<|agy*O}EbW9||Eg5!fA~;>Jpwt#M%c=u6P3oYI%&1p)<4j#& zH5^#c&%wo>(<7b$!B2!hwDmHP$BkCBL&$do`jBJh)Ajr^|MSC*Txj&t`w(cKblr z9tvya@(u6>#2%^cPT#p%^g&@Eh67D3zVHhW@Sb2C2%6q1i}$7E8BQ}TBPm^{7@1d< z!!WOvU9~Mt5=lK*8=TGGE>>j%LC>6k-|ilmKgCm*=8-mOO+x0Q9+@2&5W7czJ{xz& zs_UOw;yprgEFl^FbLjIu3-#$tdJg@pg<gQHGL0W%!yVJj4Y&7LtrTv z=7w!CRWghcgu9qM1_4?SQOLH6+a9nIAVwzPZF#g(5ZU@06X;x`g*#}Yv9fEVY}1*f zb&+&efDu0?z1va1ksDGOPy2#5q`Ea?F(l8fiBefr-wy5}B%L!GGQm;~VLE3}gl!;q$NeY(@X*8f0sB zTMtAXP|Xw7l6i6s*_Q3i=!`_I+lI2ybBz!<@rE}GQ=#?MBSAwDiz`{fdEjjZSyld$ zSzI+~6p^+ra!k~=;3>|_@M``%J8_wlG^_L+@`KDtOUJhyp_P1(RkoH`{ywV{*T{>m zPImRUQG?iq^&hom4nV;!v3PA)>da)<44Z6z7wy)J8+3j(xb$+N-}T!KT4p*OctlY7 z%#rSC8#h~9meI(cNVQqQb#O~`t)dLbjYIOXP4t3BOBwm!2fIF8b?>?u%$kgeyw z<`i0Fpi(QmofaMBn?I^{AUbBUCCO_(0VfSKUDb=}7hZ)!(8FE3D$ufWE0NtkpbiY8&M_!U{!+%0_(b zy7olT_yu)ZGg{^Bp476yv}ebjGw*tvI|4Oit74;pNoE(; zP+$}HP!C#JZ0oKT>Q)Ir(*^Udm}Mm^9`O@&euN}C#c|A{9;=Hn)3Jj=wloFo9LI-< z#f`j#WnfH9gOFm*TmvB*Fef=~UWj6auz7t_QI9Iq#F`0l$N{2(~ z$kB3FgWwkMAUhzsMWt-Sl+Mle=>YN@qCyi{axAgNkR4O7$z;lxG$V<=F2?9-mr^uVGIuH_0oX8`GJ%n%J#@VFY2YgHmXM?1iX{=z*pY*cTp=d}i%1tBNfls3y$9zEs80=43g0M) ze|Fnn@6lBS8y$b8C})@2iV?0Dn;K<*h#lw(iupbfSNI#VORcmFLU|aeShQ1AB2J|! zizr>#HBwsK2b!3uRw|2(`{z!?>b^L?D|wdzJ!-E_h5YG+T=qoZDmc<(Fn0tx?aPCG zSYH?)Fl2o1$kVtfg??!=5D|SPDx|5@IJkRh$~3Tz;LWKRXCSE-+QP%=02C2uC?W%T z#Z5|8`ed`eQKd>1&OTN&6{00p6;ai6u|O`4->48I?kFSD&l$Njr)d?o4P9t)>- z(fojZdjo2xB)6Ts2rtOK7ivc;EMNL?0sTxPSHA0yFmG zOAU_%jSU^eM@o3t>-5dm%BcXI-2;f0-zVt1e~S=YX>GJ~axx$c-%=hrlTQyU7j}@*krXosBxu$l|4Y%C%~SI*NuCrBt)uo<#;X} zP%dT#r`&I5fA4MEIzqD($L zY}3UCXzALgNrP1XAd5vO6d@+T>4CLV9=j9cyCS00J6u-mtE@!_t;UU}&$$wf{ngA8}wZRr8r>!GI44t`}t0T1z_YX)%@OnLFG6;*f3 z9U_+i+MwLkS5@VEeMa-Et9-ph>jYOCuR+;JHqyB=iR0FLaW&5SLs=}eDh$eH;9B<~ zRJ+sUo`zONq@rA|q){aqI-Rm3;I8hzXE0h1Gf&bBrG3`<{M#tg*-&Pty| z%2NkCIzuZyb6TquTx2JA05YBN4sV@&h}}d68n((K_FPG{qxNgi7EV|q@hp3~j^P{+ zDzWy`(?yU{Yv5jk;y%=85yh<(C^g-CK*s|S2Mb&R-Jj62@$B{*XrmNL(Sn>-_=vJx zCIM>Z6Ry?DDcG`$5;a`avo7XP+>W42#chC~$WQKUd1og4!4wE_q^UiMClUHH4r0}Z zD+5`K!Ou3Ox&-FtU~L6NHNg}i(6#^!3ZAyzwBkUXZP0%#JnFzy8du;CIXyIWSkCW( zF6Pc+O{W~}1%*VX=r^X6dc~1I+=|+H&`c(SU?TYr`6B|#UCXccdS^pqd2=;W!`Qk* zlE%5&#u0-em3Aq8xq-Cu^@MD8eiCU1K8XlCssP=Dnt*?~pA-cHe%K-Nkd^aYdrma< zg?n^6gv(b}CgJ$*{2O)3Y%lHaj)Kq~{cq7-n+UN?s5f2J0o)$sDf|Cu6Z+1^HwV=G8`@K#TCtcS1bn|Ty?g>?Jh_8}WH1?M z2HVzIqu48!HmNLolc;r1x+pY|r% z(j;ghMJpRuWG5ITJ2{5^zSTN)qgM6DqgHo5mtHUKi`vx0TpZLHWYE+Cy{1e96Qv9G zC}P4g4EfvbeT0}vF_up*j?FSec@zv~Od6Kk5Td1qyE;c?r?}l$5CVmQFl4CQZyg@Y zqZhT^Nh@ZLBTfDGsNw-#M}&ss7n+sn>TM%X7R1WTYV#5ft%ns#g}dZQ{W~O5{fY@t zSmFvs0Hx*knN*Qv!O_Xd9Y)E>nqoB1t-}%0gmwGpi?Um8iE6H=f+W=u=X~l@M8mNc z5UA4qwO+q&91yDXj`q&OX=rXdnKF%i9Ph6zjA;Y{(Tc{6Q%j^<584xHUbswI$Oo*H z)|k+2&29Ds^s*d9zJI_{uni+nya!phjJp6CxvcqQsR-2ceh9`#5^#0pOz*Zf zD1}WXJJD~WH11c*CW*#*>S~cpUV)B zf&GDS^B-@ZowR>ku!p_^b7}mYo!m(#ben<63QPF_g3KS~uuAF`xSFCI=86emzgz$i zkR(*XK(;>g0m6}x>Q+=|fz*feyb(PT;+0XlYJmPCjH$_kAu&?Z;bJsGxfF3}&7#6| zN6y_1PmZLdhEzf^SywTfF1gOfU`UW$z4EV|&w>FU2FtjPOWdsF-=u`JqiK=jS!l+z%RT&Us5r)-EQ_dK#AZL2bUDflSA4$ znVkYE*?VU|m?yy12BXcykts)}>l46|EW(5yM`!N=&DyEq9-D5&V+t@b8%*dOBr}m{ zjbzS26#?G=K5P|_hOPyAQ8}RC+z*Q(KtzF*Ur|L%5y?G*|LHyYfl*MUd|m9Lq^P$Y zHobFGJy~*;G3D!p309d9H+xvIqIFk!3C_2EQa$vUMXib{cKC zDvVoIakVMlc!&dg3vs=o&mRqE_5pTB&39{{H>#G>SskaJ5cJM>5mP8!xt64(x z&2#2a+U95u0gzPoAQF7KW?(y?V;H_6Y^pcWH=CX#W8#h=tPduR1r2T+Yd73zzY)&X zHG>`ro59hBF^l9avQ=gL%s<(3Q{Z^%e0U!Y!9jJ5$K7C>N49)Cj4@+S@lw`?;bNQB z_9QhX6P%zu5pKiP9=Oya0Es_;W%_vHcvVU2rGa1M9Bo*3udV0s>Q8z=9Wf&Fk50bx zqUPfMpyJb1*Uz5+0|G|=tja6tcizG4S*ky0l`FpGo!=9Y$v7+jjcY}&gPuw z$8L{Xzp|G=8$&80Oy3$$4~(0-T9WIk4^=^75^yZk1K|@I zoHy5HTk6^>i~zdW%4IW~+#M(_uE7otWIt^B=f)PZF2{fA#TX;znNHXW-(|qPv1a7T&!2xfkCWxy0{Q+r^}R$zUTWh zI@FGt87>mZ=9fj}kD&d_2Y>Ls()X!=FWJjhe2TT8A0*nOdnC0pQ9IT1c$$5nHEyYe zo7avQqo_^8%Tt*N|wAO1ej?QObDo+CYac0czzXl%ve9 zD|$^)@1D(C+qe(3vW}a=OHf|Teep7fZkD3Gn zGN2ZNLDqx= z^>tp4Gcg|BBT17~OGY%8SWBZvds3F66nns?@iMzKDcbHh12~m&kR-C6Hj5qSroq_| z!&@&!|Eg>t>EHu>OWvmJ{czFxPQ$~9VZvjl?em^-$hD`XnV4Y z#%(9-NN7{O>MtAixx)u~U6H6GuOUtUJC76(RL2|o7RKJ$S~Gr{^@Zy=ehnOI3-!fg z)I}1qA%{M4V!2h!WJfwLG?w(jgT^TuRr+v2D0+0uCA!MI+~qrL!{CiU%QQ=t+-%vR zt$`xhML*EEtnt5%ADcQgb8PCfk3aG9zu4E)$QoZiX_u-k+hOO*MyzG?mY0qbmhOEl z%i7W4S^G`w1?d{d7VrM458G9t%VV!wjrJx39ohch-Lo~zJO0Dt`={;m0tS1rI_-gp*z;G1inzTw~3NF4Wyk`6V=G! zy@}?8w+2LQwG#a|WVLphyUNCJQkTw-Vw}gaeD!+_l}ZQPWPJeo4jZ2|o=sux4fc1l zwZGQ31P_@qxy$|@GG=;jc4u~Zc3qbD4~M>CGwq$UR;z(dDUc1;my#GtKkv=*Yk5k_ z2*V4a8I1!3SB9E$32=FNDrAZ^vYs1^QLeLpEFWdQ#e+FFq6dZC;V3`oSUh^23VDRWQS-ebKsY<%|1k!;~GAUR5!r3rU&8=S@FDi+DFoaeUN0tOy5jrdN}I~II| zTQ=+ZlZKTGncecejp|$zMqGZCNh>$gakFx1Dk#m&E3I*k`@sM?zAUyx8jvHt_KIjCp(QRbvJy`c4Y0rdQ|Sa zDYmY2Lb9vUP^4Ht9nIaB2MqG;NO3j_M{xSZGfMi3Z?F%f7>e*BP1tpJtCa8nLuJ>A z1tV<7l-V7eN8!sQ2?@jt8M03#^3E(b3&p$m%$a<*w;Z?DN?#qFm;Ni7E%~G+pSW{; zz9aOMT|FAcy)Q^`t8lJt0a!egqeoazcrUwv{b1I}PMHrhhs@q;s+p$nk_N%CH9ulQ zd>*Y!855?9l6qK=dW@y@CJdru=TPr9qvQhhE)a!)9$uDY8{8e(P5WHNUzZ)D)S6-I z?U?DbV*PnLarwf}=}nlkxpZtbJR8kN{4HWJ4T3*g4#H)XqC7kh`jU;$X3xOhzGjU2 zj&1~Mo5qfIrdBlJ#rhHgoK!ioD9z|73>e6p4OIw(935f^SOk-P+|(-nW&6M1@QfQ{ zCYL+wO#|Qkgk4t+1aJI%m}pqY`+mStn&5TfT+qnrDERGgNh8M{P|?E-I(67R0DMjL zQ`Y81tr<04Q_I`kc2Qp07!mKMB;}-2T@M&kch`7o*$vh4hpi1s!Gormv>eIuXi;}I z$G%QSaJ0ZQ96S_s;fOIDp|AXtNWWB@W$&)jL;Fn+!>V_c@Fzdh6R5IAZ?1i4vjy>~ z*R|?RK3^0+woSyj49xp$P%FjzaFgMoF8(Y6c2{C&Bh{co6wz!Xj>Qh^DWl%F^>zPz zoWlDMZ?(~)%`VD;*~_)k!8%KF#QZjg*uBhb&4BelIPOb*)i*J0r@5&e`SVI>fu^X`q67c>Jh3+bS|tu8Vhe#Qt#}Pzs8+)VA3f&3rz@S)>n%|Jo3miAVaij*(YVf+W zq!yTDVu?(kPgQcWO~tXKwaa*N?l7uuudBaMG^iL5o}d?bp4oEGRyk+H64G$w&9Y@) zXTs)YlD5Ks-)6H#a){Wop{SwIC9ZvvTE|TstEmiEry2gxQCU4^DNbiN6`dq z7lf~?{2KJ{#$CpbYK=b+g>^?$#B$TJ*jBgbHMZ8;(RyV)@w+82SHS_%Ph`Oe|K9w> z3vjCLv!}p~wbG(ow(6Kcj?VKWe8cSVt@a;_3Ta>0n=h*;KUf(j!oac>vM0wYE~%sv zuyD2~+rnZaP@=8NcWXJdzzvuW_`Qg4L_TmYICa|EyjL*qRAYt~7Zj;GPg~0%c+@*# z^C)Ip%DQBm!9doHk-Z1U#91;M?@s05T6TU#DCnjq3Df^H>}$<^3eXcJoZd+naacV@RX zLftM&n91sz$-PfLS#0U`HTJQo`wkvGbKu~XJ?mdE{l4ng55G1&x%X`+-rit@O^4n# zv9&R?%f@eiuSKxg3Z8p^JUw{izDM$o_Zah0p)02670~{@ZqTe1{^|C#m|Gw0yi~YOB{^4=mXCCXk7QCPeNuYWU z{>xTde+ZsVfBH)@l`S7N3B$*6%g6Fyxn#Uja$}`rqEa$aDcM~qX;eyXDwp*0KJhX{ z!|yJhQ(D|? zdz1a+LYoo$x5NI8+P~fQkN2rFOU`g*L(z`oUlp%P^2|B*DOdu_U#B&cSqV>;Y3&N# z7&0w^`i~iwwphz;;)o7%xrZ%N!skI-t0GICwci{59u0r*wi!{*-v`6rndVWSe;+kFm9>Z1!)n^vi~Uuf`fDYN9%eDt{@EytX#Z#!EuD^q(u^<3@wZO_}O z$6sa;da%FNzCEC(24?Y=(PvGE_cDIMRw>Q6A&31fD zHUzxgYLP8J5I*12{M^ZB*Svk+fJVb(dZ5N*^6e7l)7o|eyz6Y)9YNOT^;-KKfu?tu zPRtf{TV#Dlc86J{>U!{<)(%aGHGG#@7*=Nv*{FD4*^-07I*5!VI z@FOeH7vx(r23+yP%fGr88;-}Yd?$1AK*)0Y zY!y#~kE1p^E6&*p^a6hSlxc*S5=fSh~eY2>=r)(gD6Iz#;X12#K!CRYkf)y;CGb$hJ&IrXu&bsx={Y%H$uMv7Om zPDbJ4p_!d_;*;$%Y>6X#2&IUr2C@t1Y!}2T#a)t5EF@kPF<`dFTax+ITgD45*U>V~ zf2Elk^q1MHcbB6ZEGY3kGr*&dGD3{UnlYmT1NoG!GKObje6x>@v7t4bE)QX*Yk(!% z-lcPrU1hY)6T7N)KdB7|c|IXtkt!?ck}`q;U`Qa?&fE^*77?UA(~*9&BYvUTYk6{oqZUO3m( z+!wX3!?xI%Q;#~*sZ5Nkd^njDI4oxM=l6|VHEL`+3MxDKHu|y-1+LkH=fQG*+!Q02J*bK-To|J!Pj2?w1wY0 z`P;WA{Jm!}HBR<)t>`=X$+o^HuV374-#)j9Z;Lza>*w>nC*QkxMc(3W0?$7LB-rbRVQHS;N#k@c3GSj4Q9RqDt z&YDkhgRHYZTig+Pus=4P-nRa{D_hjt_vDv*S6^)KEVUjw>69<$b?|FN-}#|M7_0ep zMc-Q%0Y`tELD9C9242t{t*x`8S)TcHpV!}Rt=s!(T`X?4Z}06W)NZrN zEBbz*BkiGovGuX|E%Z@-(ClUL`5mPeZPs8#-=LvALejsuzr%X!SV>RSN6o%E`Z_AD z+N{xvzAL)Qz4domf1Piozq*Ib9y{OCQPZ-`8m{Qu++FRnzsq{(C zx~;#f%Nj2~^}pnoWZf&4KV%)7#eGk`rEPI<+v3iS&3T@m ze@WKW?VWTE7;E2UE!#WVI#;*1+cw1ZPUG^t@8p)w^9Hij?Mt)v@PmTR#Tm6a+q0~1 z_Gx4O)$P6A9g9}fTQKU&p|rUhAau zylw-1ab^;Ja!VL^aroO2{&t1G-Qn+&MIAXqFSb_p(V>qneRS(%iG3LM9?Mr>V!nB9 zgPSbc4D#O2bse33voG2ISM<%kya))ApO<9(*V%T7ZQV6ZvHZ#Z(vh{b_3i1~)0wqV zZ%^+M`|{-f)A!`x+W(iIpSPJV_?AI#zgAm?Zo_4>-=6Tqe;M`y20AY`d2bFpV3G@4 z^fVi3bdxOWF;r5)lH_}P2UF_K7J(*FCGT9+KG4?N+uJqJwz_xqqUBGuUwD3-!DUFl zM7Y1i$U6Iq&FYf8y}PaVlC0h-o;hxx^CUDTboFS2U(=sbUP zo)w#)YQv?TK-^ z{V-1Hy?FWTNn>clrqg7|gdqIw>>gNTZLeM3zPf!`$6{mrzS*B&KKqLX=4aZC!Fpwq zW`8kQquI}x3F({tRl2tiM8@idzn?L9tW)FY)$JyiHlwG84dz9lv~7`nYwKNm}#)b}x=UE@?l%yCeO1$>P55&SJqO9dGIG zDi>YSxw5;vT6jqp-10d?BYgb1fH-5o=J#Cz!ez~06HP#uH-Eo(9^U?D$sGyUE1G5R zD?ooiv-IxLBvv)c4_D@LQS-^snklVrKD)JcX2v!s+{I?#?SIB(nvS_5J`*#{aS~>4 zQ}|8Li=dlDEJJO^tqQQ&s5)59%+!Mkzx3msn6VCjO<~yg^TOZ2P5q0*_m1#4cwhZp zVRFGeF&XJMeLG;CnEPWG;dkFQlcoMZNPY?v5K_N{2?(j*jt~f`l86@wsj?J35K^T@ zEI~+>myrb_^`we32&rdvs9Q7tv>t;2wRIL8wQeqJ*5Ae-lfbP1JpQ!vXEA>|_=E8@ zQ*WdE_L918+TJ?Q-Ct|unNxk6zHKINb)7Mp`X(aM+6A7AZ0i=N;e=ejK%Ge14GYvt ziM?@wdPVYIzCg_~LkulYx5^@$7N}jvG+P#^U(ZHCLqIaq5at8$txeXQuYKE0Veu5jud%$5y5brKPe*=De`Ak1j2a!v<_h~owD-^Bz5hH|G=1K;&AhPK9Nealg>i6O zEEUedZL!?34sMH2BHqDm@mY#_a9ey@#67qzJ}+Y*+!kw8@egi`b?PX9;V9Osr$KO{ zA`(MdVfIUfEJ2(3@0Js2ay+>TSi4xKZ<{&6X%+BZtRi}V_j0)?0^Z9{oF?GC{47!h zyqBM*bOG<>=S9kZ_i~LgZNPiEPL(>~yl^6k zFVL-jF(Of}XW>|PsTwpXR};0MN%e{71x>2YoMO>XO(PM+gk=Y`%84~??9BQb^EqiSXu5C zdR426me8y2nWzc9>Yh41p;z7WNKxojS0kk<^s1{2Pt5v2e^s1{@r7ZNSt64`| zoZh;+_0$cqWSI;hWjXs=O?1(=a-gffLiheoM6j-Y-!{t>RJ(_kb=5^_Xj%VMw1$@T z&z;)Pvc5*7H?*v;lTsX7*4HZ199q`bD^nd>*4M1k9a`4ct)n~vOnvQo+FNd{`+Q5P zT6*cPEv>nH_HXS=$eCIC$dX)(E~dyzjyDvOHI%)%L^k zWDk

U(M|B(a{l&9YJX#Y;LCcVFDr+4rDzL<4dQEP!+@BEi+na4l-5N6T~NmI)4j z7d10%-S*_>yxSHZEKkcVLH^P8x`_KW~$1BL;iL@@zlfw~d(M70cFz5!&gwz1vc7+w^;B$D-Bk{zIc% zS}$LI>a+7ncLUoJi>E#tivL~s{_jZQZR>mgTRSW@-8cI$4X>6zoc&w%+1dAga;%-b z21&PN49TODBd7Kg&Wm@n+0up<K&xZ2n!}sUI_ZP$W7sK}thwmQ_-#-??`l@yQ_sRT7G|C~PtWw(gfP?zC2Bv|Y|p3Khi{>M)@;wG+J$dC zd-`az9iMHBJJggPVGg&>&vJ2?&8?wyS44@5cZK3(^OZY7+51_lDv}<|}uF%8!K755~$W{$MD+dA{<}Q2FLix-C{#@wQNW$9(1PQ2CBf z`o36M#qSHnv-6dggvzs_^i-^@;!~mc`uWN|q4M>i^#5h;ZD8xn&NH#gE0Xu}clh1m zcxd}l;bdutPB>X6VY0HLjp>Bm$PFizDseO zZD*)+pL5Q8-gC}-{@?TS4aCIeJRs+>h`3e6V{$z!d{%f#cu9C!cv<+N@I&E8!jFVk zgja-Dg;#|i3qKZK6J8Tu7hV_M5Z(~p6y6kmBK$=7sqjz-V@$Kua15Un}j)T{{iIje=Y}z-H>{D=FvUWVskN%O}skk&5K3uh!hJG zi`W#=KWuEk{&sd^D%V+fyVzMMHRSORzSxK>Vd`+IMm@FllrnSbRb|>RAroB{Mhuzg z>;Yv$;RYxZY7#)17y_Bd0%gd)B+i4p3PM}7kvC*(8 z+ldWbrmIPm&DqXovp37$lI?6UdyDL?GPBvv?C<3I(!#{JR$mzG#J?PV@Gp-a{A<7u z{x#wU|C;cFf6e&8zZU%9Un_nP9D`gZ{=JT2&J`33a|J~;ak(>#9a@aHms|7P(c-Qv zMOo^6C3CDWc>#N-z@7MM;tnVda&Y?y;@AGCv!eJMLcPG;0p}^yH+EV7cZI*!Hwwwm z^{H2)K2@j|Tc7n1#usbq+pzyh5O0CPFDE|?s@YbS!56Vn3D_Wr0W{l6`F|0clYkWc z7qKk~NU47j8(=COMBaZ-N`nr(l|eq}VtP&L)Wl@9wZkG58CgVWZtwCl0w(n3%J56v zsWxj&+<1s1@`@eph^B#O6(F8hGxYGpgj73$eLM%RBjo;olR7_W6cQ6R{7)&iA+Kzh z0NDFd?JB|vQ-Uk}<&nTwDL=Kop(;*i*8$5R!3rtMqaCfPS*@_A9wM*3r_N+KR?G4~KbHfk#J_>41kZ zu3=jIJ#1HZ7GYpMT;$3Dlj1BYVdPJkAbs5Ir z1aZHO&Y6cK(CGm22nP;LybUW>H2I&(p$D^;hr#8@KP#h#R_o|VjJDle!}DBi=<1QR z_G4ING@z@uwJut2M=e~6OD6OMZ?TS!#g;CfhY3$CVN~j>mwWM*u6obo)jG(x zJ7-?Spo^!)!az`B)??u6$vfZTt6lk&_p3P!XT1#}LGiV&hAN6z^C+Xf#)zi)dKY(f z{aB!s%k!8L^2D~ZkPmw=4#*P=g}0G?dEggyCdcJOhXb!ojH|IB-YV zd02qDECSTAg0ZfkIUypR7ns;&|Mw{ZJ46J>S2OLHEI{}ips`qVfRm6b6;4865^D+% zlXy(-V>)!lU}$eVCL=#h`>!0dkn{8r>j3d#-hK}U;aqe~umqNpGn>$LOlL&K++JC+k}p8GV7zNJ-Z-H2zPnrmLs zJnxF;b}*S$&G}#wYiR_}b69t4xJU{}N#Dl_v3fQ559m3th z-J;P1^va&_MbTdrz9f7}ctUuB_-avMi^8kItHO_k9}7Paeju!g`_*OPHMy?|O9)pb zgsWY0@1pyaX=0efQ^Hfi=Y-EGY@g`+bu%dEo`&1>r^EMPa4wiqdvvN$yK> zSNg9g{a2Jum`sDx50m(z=pPC{5`HASBD^9jnOu=fuAGwlDY*{`4+)_p0&>lkr{@ z%|+o$!k2_6geQb6!WH2u;VI#1;c4Mn;aTB%;d$W&;RRvUldGyHS2yIoA@@z;P2nfP zPlTTeKNWr^{7iUDcuRO&cw2Z!ct`lT@N?l^;a%Z9;XUDf;eFu);RE3p!Y_!YRA*ok z*V28e)}~VXZYsrJn@S0B9(Hxf{PZh7p(b`JoF8LG(1798w1MdKVW+k#xO&3VOX-y0 z)f05TqKv^LKFLJDBvxU=Bt9W`qgUpySmpf?I&zqE!k=SV;ezG0aG@}j zug&1Nd>zNDyy+eXvC=MPnWm|{{W0pPykeVp7d{dd1XH-6c!4k@v;W9gK8=`nIJeeZ zZJyIUj^MarU61)rYq1rIE!y%t_lVIw-@wDY`VaG?$uEHpBjsmn>NtC144ffmg3{++ z!4v`Af1NnOmFy4+1M6-u)hFC1JT5#gd{OwKaDSv8lY)Gz zU#^!#aY=YWSUup>tnjSdhlPiQM}$X&PYa(GJ|ld_wD(~JrjPa-a%$~U10otw0JYvJ zwcaVUaG1=>m}tg?r-Y}3r-i2jo5`W*!eT=m4WVm9@`Tt>Cvf(!2Is7E)cQ-Wk2$21 zC$(ekxh9-_=Y|IUGpS=UAcMV+)&}l#pz5MIa^HggVHGp^EbIq(f<2o@t8U2uI2VF( zJu(co26E^SxO~NKhbiNy7L}DnWoub@nP-VxT_Y?^?BP5ph7Je+eC%h;8Q23$nn(&(Ny70R2hVX{) zrtqfl6X7SqPlcZfKNEf?yd}IPye+&fyd%6L{9O3C@UHMKt`3AUr;K*75}Me>za4WW z%5xx+1b3Z)+$Ibtv+vh+0UpawsZY2Q0fOeRyCbKF(Y})K=#_BW!pUDrdL+LU;T7S1 zVGDC0d?5E1!Y^82xgV>8Wk280)Rb>P_3nhx$?9H93;#93z)lyAtJej&#s;W{8{qG% zFBXmLN8@UZb_TnI{Xul54(}rhQaMQ!F61#TK|fizP|UpoIW{yP5xb5j?|1Am&N{Y- z&m-&E`VQW2fm)L~smZT%y^A{#*(|P9VSJ-#kT?8t4B-tCshUIw7WkD4y9o@BA?Yw% zG3wferncB7_FBZp5>U8+Bfyfmx_;yZLy1$^RVLbPS#7;R7~lg85DUS_;2gGbB$Fk3 zEyI$9Nz9_5Nn9&jE8HyHj7-*1^Uh0k`Bsi{t@$=~PQ%d2a4x}LR1p3k9JXj1SS4x2 zK!(QsO&mJrAjujelWS(|<3fwx!1KkW9Xixe-ebZ(J-~_BeGFjK^GARYdDd zjHE7c=Bh2(P+Z6mH$j7IMdh+6+%4QK+$G#4+#}p0+$*fn?Al4;lXCA9?i218?iU^q z9uOWBMg>8<8dhKupOX8jeC8PRUcuxyy2F$+wU#-W$!dPw2IAP8wLYo<+4r$NP&i@H zJ5Q@77Rm)E3|8?i1acxz2 zRqh+Y8^Vu;9}8~^Ym~UAE)ypCtjT>%Sfj_aC&G{9{z!OTcwP9Z@KfPu!q3!9SYT{6 z!L=>9ZV7J-Zwv1W?-O6o5W^&{6|NP{j%ap-p9?=1O@2Nl5WK^$ zkbW)K{nfDgD>q8r^>$%3!|T1mYI@iEgxi?X>uptB!^R;ZW#@W_aK8fd3wH~53-<{3 zph{}qtK3OGloI7%6hSdbK+c7daqbd97j8FVozhu{31*kgk>e&CHnVW9rhYYQ!)`rt z{iGP3RIG!-gN3SDfeQKhfV>ApdP?}z>+E}np~ddc*LAwC5(U6<(OflyFv!wT&ra&_ zOvZJ!*y}^@hu(eiEV}Km^j!C0L(26LMK_|TPYa)Z&H5lRJ7yz=Qh|AJHjjZMXG*;5 zW1=2Y$R*(=;Y-4ogeQb2ge$@o;VI!M;j_YLh0h6}6J8cx7M>MmHxgW*7oHbBFMM8j zTzFh~T6kJ`QFu}Kf$#(21>ptZi^3O$M}KNemSUK3syUKidF z-Vk09UJ>3B-V%Ny{6zSv@KfPU;Z5OH;Z@;>!Vh(QoMk^`J3~WZwHV@T12w;nn)y03 z;A5DqS);{$aLnCMgE05Qs=^$DaHge-#VV|5b`;G{F{jbHP#ISX$5qePc#VrYkcH9@ zbcK>V$au7J8V_TH_CoE?f@kBPiepc4>=EDSA%@A~-Ix2m+`Hx8jioyl(-B`)VAw@c zE0S8_yl`H)S-4raO}LHt`U_&1jJ93w?Q%bm`$2tMO$Kvh+y~XJ!HuFwiX!h4?h@`0 z?hwuhXT)Zg`1c6h0~3E8MFE zr>X+w>w1Tw+-s)afSY1hv3J&~QyIaDyOetaH(`|&R3G^_TmMd;C{Av~M7_ULL{W26 z*BYv^K*sJtwJPftGJ6)y4CgRdOSC;+r}9!66o@p$Zjx25we^lMbeF z!?}%SY#6y69tnaSaVUn5*y#uCO_q>3|b+Kn+e zkBR)8uzKYiBf=wc9~B-Iz9f7}xFTE;o)VsNhdf(RuP|C!+Ni*UT&dH!i&re3qMBXQkHCS+ZyC}7y;MBRsMYW0PW7XSQ&S!zIEapN`2@~wQm)f>$(-! zy5d?F-VojpUK3su-W1++W!V~(9=R!8XBL>txlW@f@xjaq)(63nj>Lbp**rSPYd=Lxk4)Msu|;#HL0! zb|kDF*9sdOrSYbUy%E}a*uGD#ICSG^c|3GYljm@Q8`}!FExaqdE4(MXC;VLax$wU5 zzVLzYLBV=Dwv%umruXz9y@>Z=&XE3*BA5E7xR#LpJ5DQ6TEx3Kwwf zjql$;MZw`gWn8$RS&0b=N0lYLP)bG;61IiPuh83H;|~V56hYCsJ^}h5mqNVJt90Jno(i( zd(#W9D;-u6DdL3>aPYTgfN7Sc!m^HIJ3LajVKo~->>j!FqNUJ@JRZR;l-8|zl-6Hy z15|0<_#jweIwP}IW?p8q%r=?rGCO1zVFuF|#rdM}1K|h4mxR@GPcI2C$$eaSTzEow zLU>ttS@@jrIpJyHY2jJnS>bu%dEtt1<#k^P;+i=-K+)`oW=B|UV0yO+gQitzR}EG~ zvm%;R;Z0p75UVqVS^dzVN>Af$#xa9?p|;PY=5T&|mU|Ou0+PP$s{n11H?xn|@(` z2n0ZvQpx`4QYz79CS!kencrE1q`i?OVcenfi3?&2hrWt`xrz zHIB;|RDZI(T^AyB@h-8QW1lo3<&qRrrps{Tt#64Rf4++8AWVaKQJa~grSz8H<=+jSer z8svtnZMejZ{R+6^2yvsL>ZL|F*>zb}`Uh>!|9T5SywQWT-mI;ivw zYVoD~U}h4vP*DtvVi?QxLg{PR(u=)ukh@UAZ6^%M+_(=WzZ*>crNW$2m{Tl|H~`6| zXq_37_t0^!U92-GzaSy1_Sdb5U!Vzqs8D|4%KU}+_C-qy_=rg#);qX!*4T~YRd+aE zcZ0r1$KGZZ6mCKM)LYIhsu3w6Kc2&pbr!5_-jCV=ROXnRNqnuXKb2g0*<>4y#f4-I zGFh>aa2JCv+JqB@;(w^LJQRK;{76_M&&-NT7Z_lw+1eWJtf=F}3t<;D4@Gy5!{^5{ z*m?ERfH0Z{pt0Z(>*VKK>-uVNRK(oc6v=W_O+l>4m*u|c&IKa3TGq{MTGd;3wU@s* zrd;l@nntS;Y&Zh`X6uXQO^evBc@vPb_1PLWXC5o=$0Ax4UKM^47j|h^?oV)#pfEYk zQH1|HS;MO^dD`m9Hz`qVvPLrp>NlcI$_;Y4~HiDGQoJOwO*sP;?c#;JU@Od@Uj1!|g zq^YocF(anZX&&f?l&M-fiQovc30qwvTw&5eWH9=A+~BMdhc8FR(O9CBrzO!*xlagB zSSh+wP&53^*5esQ?CB?Rf@ACIlt`f97Zv=X@Fn3(!sBstrEki8T<*_=p9wz~elENv zyd}IXye+&Vykp6mMywHE2nq-1XXqAohG=DB0_iLU6|d?|){0w29#g_o!ViQW2#*Pm z37-`{D|}w~yzn{UbHbX*&1fb!GaIGO3MH7C70tY#2$ohbGmrkSvV=Ord=_qY!ODZm z&WgzevDH>IH})W?RVrXv?een3aiOaQP#Rca^FA`YU*%xlsdg;-u1+Kx(K1v@Z@hRa`CPgZ7msrA z?o!}9c>3E&jQrCgCzH1v;^}a*lhlyK%0=r5D;GP$-L{LUSMt#>k7L=Kt`d7-aJ10_ zLWJ-%%IUXYU8tPRPfO&RBg)!{vUW!JjHXd;qt<3cH`PX9QqXEUFo{PMVpMosc>K*A zPN;{WZH~$l^vVpE4oX+3rDO#NZmJ7|NvswNlUObG=2<5ZWCq*4kPH57QU{X~pw59^ zYbOtqaIFFHm<=gHC@vf-7ZtBICZUlDtx_d~%rJZQSYy8$wy+Fr(u{~HM$EeSoNzS= zZ>!O_OO)>6VUSj#X3ix-XV!|4uQo+P4+-KxqCF6PA^bx4iSQF)bzL{rb=_3Q43k1s zXABegRu}1E5_b!;ZwhV|g^R-K(QdIl6mC9{xg>L0CZ{-sn~!9!(44d)e6Ex{hf8pC zPk2vwM|ekAWB<)v;eEO93vUZ=6W^*OhDn?k7XMq#!p(AT6K)f37j75s5bh9G)wy+6 zSe5sdD(@{-UYO*s3Ja51RUanttoY0d&kN5BF9pR3oi>l6n-fDNcfTPitvi?s_?4tf$#zGY!@+1=3+zUrpzZYpUQkDa|>oL+b#NT z;a*`%Aeb!*7lnI-dxZOhDW71rL%2iugzyRBlfsl(FgqYDxy=p=56bncAFdV?`&}uzTG84K9PqAId=)C9cR)xgjXO*@jz)&?cfneFzRnLj#_7 zQQC2$10m`fL4Y3yl9Va|c{Jlc+|q2;GD|_*a@ZUxW9R6*O7Qn^!4jIhAJQ!2*;#1# zzKh$SdHnEC`80lS*w2TWnUdz9@{yqOChzAV)*5-0zH1aeV?RG{KOZIM%HOA@F!_CR z`-E(zl71?mw4YDm7#@TYrT^2&Uimd}U;KcEZG9vFIZpiQ32$@K=7sx|0F{J%xkh_S z(rRL6i}wo3izs@`JbtT)x`H=geiv`l!?6`}hxcQ*m}N(83)ZYq{&7p2F07E)>VcFe z{)P+w%4eYtfE3}_8kEnFq?u1fqcT>$fU6SRwZa}3R;$eV2X9$3$M`I(_xv0Bj0UetqAxkaIto&I#+~~(_$mV*7KSgJ zQDoc`gNnA8ZG;6*?i@0cljjx9MxGuHV+?XlbfFtaNsYw8CG^LoU?z;BMiQV%7m-cq zQC%zO6^ke&bWr%kh8`5l72KAA9{W}9!{HA*v5+!4JBq$sK?%t!Evo`Tc-wXb8XuRy zpJcYv#@Q-`0T<3xnG0vdQ5gyZX_jY{m|2$?{uau!MQ#FnQO~BLo~4v4A5q0(vr*%( zT;@9!sP6K-rWR28Gpb<9A3Lla0c+IIuS^eHYiV*hk`@>+jjYQywlxC5ENU%g$vy3K1rv5w!ta7y-+u{2`p` zZ`Q;7Ev^cLRbtE8H{9V+48RM@?V@ssHU<2hwX*4Wim$LLoT(tFFM3s5!SHPP9CX zL+>OVkcl^u(`ejx{RKM|sIr)6^ywBB8w?1}YMy^3#|9xGeZK|4xnV{R)!Vn!u~Dol z-Ef}quiA4~x~u|dRVZwb*WZ?_|4-v|x{8r=wxnK)}J3cb7Cq{9yK09H*l|#K2 zWro#}CV3*e2;ltg@>#UZ@YZ+d8c3WTw{cMy&{^|W)&A~yJjj@p@k z=G~M`$IYrkSzzvL79w=i%HTMjXE5Ms#MG(9kDE`eg$o@qonWfmm6wpWg_Bw5l5d2( zOA7kXQHrtSnJ&|i9Tr;T^^S*;+Y3y`Lr3G7`LG>KeK`+t;x!ct*aEpAp(BcsdFi$D zT<^t6#CgZhg0jrPA#}u4hx~rlcCLOjehSjyxEcd{N9uU!h>Ah3C+vvg--fFKHagzM z#$Kj69y)4E67`d6u2VHxOvt!ABF3r`U#+2yw_-dG%#nFp8Oy4cTpeb(KM2YPP&Z+w zbWEB)^mqK#+7l{3)cbtCiEf2CC%Ef#~-nQmC(1L3^kj8dwso;O~C;5Dc`JPuE-w^q!95vX; znCqhV3*~)WlA;q*mHdG#*X{ceEkee}8<`Z{uyTQ<+rC|kB%(XjuQmtlIHc_jpgUk) z5mPC*MaH*Ls#LHT5`){)E8NaBcIkc_KV$PMjsp~M>SNq`BSQ9tLFLalvfwAE{CQCM z4tI)!%3lPP@ACT}$OBJCfY|PGW5xRYqUmPQv`TM4h@qBMdC}%;9b6#*`6@B_c*kWz zM?Y?BJ#@Pntb^Ol7=2Z5sh)5;YGaDCd+JtDmBdF%n%nKdQWV|ph#v|KiHc%c6j7IO z7jOAt+uU*KmSeXFdW3s~dxd+2rINbcM_qCG^M%Q2lUW|m__*%^*++q(0e}}yvxZc- z7Du5?d_`QOV7e^@(`_k|V4~XABloDzG8<$z%51_`aJCuMlHSd$ZhG0ZVw;90zm@t8F&x+5i+($(-D)$AsF9HhI$OKCRYhmK*_p%}-{T{!+)I3a~Q=fd&V!U-wd zGZ&7(7LG_6lB(+Vs<2d5w;u~{DWhA$+rrzzYr<>7QeoX*7v7Qkj_`Bg=fYB>-If~d zw$x=XDeMi=YzS`(Zwl`U?+Wh;?+GspFAF~ueklAz_=)gS;itrR+K6Eiw+pums|DWa z5H8BSDBLC7CEP9CE!-pABit+8E8HjCC)_XGFMLAygz!n>lfnbS1HyyCgTkkTPYDkR z4+#$o4-1b7j|iU@J}rDk_zb!szCTss!Cr0jvfn9`wX_b(Gi=*I1zI@FATMJr&dv|b zm^bI3DjWHcYkj-|Wr-CBst3mloh4Q;OsMGkb4*&QeCQxA;Uy3jg zV1Pp(z*tIO#XJ=Uhbw>c8Xpx-{*U7iND%1ptOt%bqxa;+9-O|$uZBt<-tEXW!^$Xe z@fy*fXSP&exGhY+P!5_^I%=@V4-l@D?Uj7|R(U@+FUbdF)eDS$dmeB*r*a6n*&)gFjmRT!u7r83rzY zS*f)XWj0U9qhl_81D`$#gSBzez~16Oybro~^b2)RL0PH3=Y*&VhH)DUOoWYsy-+Zn zYMrYs=npOcT&B-8+n-#TO&7T)S(^+&wwQ6Qr0H!jG@y z)bXA2$u%5U5@jBz;oRXROCM@Br@nXba_O3cgMInJoT@r!PdMiUcf6t607v7)HVBVr z79OYh@KAvgQ+k{4rC(_8LhJjAlP>eiX$0=qD>OF0!6pieH7@3BUm+C_Kp`p>*jzWI z1CyESkjZYhFxMrjvu*}b!QoNpMtSKIn#C}qXTj!mmd4is*ml{lRh3Z)$|}+Tr6P2> z{J12dX9A^ZD`IZ1+)ccT5<|wiI4cB22a*q<$}>6MT9`b~+!t`(mEGi*F=@q{B)DmT zqU*Ik6`lJ2xjtp4kDEm#HYV7$3OAuM}gw3G`y%uo$F@_ z*JcH%Lx($D6zXJQj(-Zpkpx)o1BE&M$(^GLF>3F8Gt&l>E*E89k~vYd_grGxl}E## zO=VP=tB8;tRbh@@OJR+Bbs|bJg+_wCWWdlA11N7 zX_&;@;=e7d4tj2fc)phIFp2ZRdC{zieoc5?cwP9p@N?l^;a%c+)?J#!1HuEsgTjNt zr-V-l4+#$m4+{?qj|h(lpB6qXd`9?;@Tl;p@R;zJ@LA!r!smp~37;1}FFY16qfB_uYz9Jnim~#rj!#CopG9<740l~0CY6yxjvvR?h?+h zqXU|FH*S^#uaF1}W zaIf%?@R0DZuo}eO4&e^D7ln($eZqah{lfjir-e@ot1;aj5pI)vn{c~uyYLC&6T&Bj zPYPcYz9@W2_>!<1$K46xirg#0Q^Hfi)56ojv%<5&^TPAO3&IP+i^7Y-4}>2GF9|OR zFAFaVKNNl_{7Cqb@QUz?@T%~t@MGb}!fV27!t288e4RPGjliW)>1&0FYj7E4J0ohh zjb=VijMiIzK}S14pKoACc&%G;Y?R4L@8~$3m5mK8vaDMzXKOy?v>oPz6%1}OeWA(uoaES}EYO=y4+0ud)d^R6cen2_G9U}@>mKJ^EtG11S zq04Bwl&1O{1D<=_gOJylanS>7Bp#s{=C5p2veJg*vpCUZx1C_a{TN)GwmULrRVs&+ z$|2!l;bGws;Su38!e@j>g-33ZE4o7akYBD11?PSy=tZy@$dN<^D)m{m8u) z;T5@`6Fw(AAv__xCcGxBzUH3#ntPAsuD<5pQ{ktgc_#c!cu9Ck_;hrHUMmT<;M4MW z5M8CAgyH-^&WlcA?PLx2MY*5%+;t=8-g&t{QP?NKTf$rX(!qDQVDj#av1&T^(&d!9 z!cHmdl<>6hwD7F(tnjArrtrG(y6}eZhHyo=qMLHjy*aC5-Q2NAxVgGVZ>CApD>lUi zFfm!1K|VVUEy8f=fcm4?`Mc%64wgX3g?CM!p*|`L{?$& zCv&f$9eK}iLVtn0;t!p^uN@1%@WJq+Jtc?YHUXN+Ue#Q=;WhcJ6?-t)H~%{13|vQb9A7&t0649RK) z6OMqt8iwu*afn(NGC%#w&k+6YJMF%HEgW6MbAh{km`du`!qLUzTQR@;{IzgI%8+XL z{dr;4{`(8UtIFuA@MGb}!i&O-!ViQW2(JmR39k#U3r`DA3(pFxN#9=*UXuH=@Urlx z@TTyF@P=?jxFS3yJSF^4_@VG4;YY%|!n?wI!h6DMQup_T59EFz{6hEz@j`|eCULEB zt#DpAFWfBLEZipCCfqLEF5Ds9AzTzL3U>*233m&33-<{32=@y23ik>33HJ;43!e}^ z0SuKF^*Rf~_6K(Wxr`JR_$QYUg&I|;QQ#a)F+68-~ zMSSuFI?Kv{?#MB!LA5;kv2q!r81ZE?8rE-RK~GXfT?pfdBL zrz3WYv5>KJp-#G>mlX7pqq?M^m-r}74ll3pZR=J%e`B#s$a4Z?81H{$5J!b9e+#FS z@LT$-oXg*W?!>08$UnwP5a5+ozCW8srNTT2N4}tX`8IC%+cEKP>xoYt=-}Bc{N;GW z8DHyR*%sdBC#edT>!^&uH-UJ_-rc{04PGGqD9?LbZfT_^`f>o2?X1<)#NTX;N`j-d z9R!j7xcuihACA+|h4P>C^tBF+A!hw@=8k#Gv05A-IaY@lI*+}M58-I2hBH~hTmJ<( z7gne|$eSG|sw%H2^Q%Gl=;a&s(}|fslKEA-;@C9ht!HBJwzX%Kg z)V-0z(-iJ{08Y!5ATb=0<9|HA#uI{6(c?^DWm=tYWg1l**U38J5LBi>Eu|SYTE2sW z*cNwi`9pYz3Q2<_OwM4iQgB-}$S%*eFxPApOFEj3PYECvet1Xq7pKwOF9z?@H9VLE zbvhaZ{zn+mAsceTj-q~@UL0pKRk`eAH=OQ#PF0V+8OG+y3ZlU2A$Pn59}~a<;m^q} zBE;#q2uI(-L8!hg-mvD^6>46^lXVe^W6H8)6otwv*x~g#H>r&Y3m3R=^lg_M`!w7; zs$XzK)AgC+8?U&hiJh1!o74GR0+k2Xdtok8K{t~2%iYFmnyipCmvUUHr9>|G_!6OT zBL7$r5PY0EvQVffld&`~>Gm?24Ien*X?d4ez)*BqKb_g&axd1&$g~x~&M!yq>_|eVd-x8$)qfnf>mN<1SeylCQ<&&Ni@d3v$6R1}{VO?-}z$e7oB(8ud zLcF;aoqsa%CNBn5w;MLKb_M(Z|VXTj%fo>s;rqPe4F}Qrjk0vIoj)q_2 z2&)(lAX{!QfvV|-tzFahj(yl!Ln*YEHmqQKlkvihxNsRSUjH3 zzK0JyjE8=LD;YE$>M$r&SB=QT-1YtISHs~`?)(-aMq+)26fN6*_LK9;30@V^H#Yg( z4mwUe1nAHaIuQJRuER|w_<_e#1HT-}{|ggK1@|r0urlIu+?odJxM#pOCJX)tR=rP( zI!cVj{2Br?Sak8?pzXwCcj9(pwXUAgat74EXQ9H*Dz4jzO+n)Z*BUpt)_C~tZ1qM; z+~BiNe7>dh2BstKGp0Oa?O^G2?nEl@`YbYvT%S&MPjuB4gVHCMn<#Z)0Zm?H1%f^5 zs~}?dMpi!HrGw3uGn+8QgM{o+2ZVA&*vJ}wZrMo%5`b@9E~e;@tlZCGY4f55OZAgjWk7(qvsn5> zGp^e}mgX6aM))kNOGbTM1L_NL4S=M@&MWJBzpO+5h$BwpJC3=SW6t9kCeY)U^Ern8 z5l5^K9LIdjG4F9iiKf$-_c@0C5l4Jk)^YUeeS^ml{%MX4KF82M;)qYvI*yHT8XG;1 zs5xnljXuZFKjMgQ+d7U-F~=s4BWhckW0TJ@^p7~=%7}?1(1%6cR|L4z8^-Ut+HNG?A46#OQpUu-(PJFO2^Gmv5V^Z{TVy>I-P`(@MKdU^m#$L|rAa=1o@f_{J%=_|R8x z#JR^D*CT1g7Y02>QNM}#wnx>7FB2xM14-+kXGN^1lGdT5bvS7qNm@@Qt!I+fQJY!0 z{3ItESH?VAWbCYGMWW7mR%GbBm+iP0Ph=ZB#*=|ACasq|D~KmPjFWj1HrM1BEbzv- ztNzqYIj8hO;Y!8hf^<$Lt<#qF0qBs@x5SCZCM&k9!f>U%T_!n&5UuK#qdkph&YpxF#12A44Hu^uOti@M-S zLfrxG8@4VHyQpSE%bCvorbibwr9_5^UeoX6N(Ucx24G2J#u(=q`ZrsH@J0qR#10) zR`~XKR`~WNt$j&rKR(GUV$+{H~*!mB5eEKVk^1D+MB8BAJFC9OlLj1H&l zBT4epN$Z&u^=QgImLxx$w4O^^&!+;9C%rFvR!H?y(mIg}T=BdigsG%;Iz>I3vd<^U z7n0URe4ol1VK|hBH6LSYT!XJZNCta=Sunl=oEV*D_sEd3WzUL~KYV`}8D}*32A%8O z(qr@0WZ!yq#bX1mt4Zr)&x%OalGgR4b)y(J_IxrG=}E-Z&1BFgN$XS3ibSP4yQ^EN zV%YY`k;$qPM2Z}S5scsy?VI~r3 zvh2J(k{%oU6et?PtJR)Uy+4t|PeJ3Yv{|KhbumSA_5)UN zd4$jjC{ljL-RIP~Ud`|j&&xhc9Tw0bRSQ#gFCF1j!|$G_#_`TK#fZ~4D`Jkv-=I^L;ik9HQv9~xToC-D8c!o+s68$mzJ zMT3{#$c`hTg$sv>WYJ^2_;=N;x8oXX>*erc${}Cp3NeIx9nJ+`{IwN=v$w}{b>|XH zJ@6w@^LAe0Pm%@hoE^es$=a5eQmv1oa;hq!Wougs@ZN3fAwFV7=~573vLZ>EbojyJ zs#qTVxVoT3xF01uE4C8Cs;{nRs$ zzo(?1@|5&bJ06Xvk)QH3@>6>rji-a3Iyi2^jH+r>N{7nuMKAgR$~Y`06TELm4AKQ~ zE!1&X8R3hKsU`n-$D+)msub(~;c6m{BtICvcCn3y?=h!Ok=A=KB;1iZe%CV|mUpwg~c)-Jh9zONct}=vUf|UmzF!>@HruB8D zFF1&K3f>Kb-xn~Q&O$31`S5et4Du=;c8`K;(=D$Kf`$)g7Ul2PKaW_0V_!weLrV@6lRZ&0Dws5IU z)4}S_#Kbe4K*1JC16cLdIKmcO+fDH3hYcPjp##6;vhdY$XNT8~Ey zq4%nr*ZWej^=k=TI^l~lYz%SktEF`EXSn!r;k-KSG8uOJFOzdNxIU0d$-s|u8dW+G z#jdPd<$8(e1~s=&2Z@tiCF@hx5>LLTn1-xw4;)svua9{3_OuZWA4)iC(G9<6bYs@w zL>LJZ{X=5TblnX_#x5eOp8Z`vmlAD4Gg=p1ANQhrY5Tr@F~#Ll%5I0LN|u~>c*0>o zpRhi-Uh%~MC8q2Du*&oabHVi~-;Q)9)U2>4)U2@2dj+xJ;YANW@bHp{m#yGN4lOu0 zmXEw=!MU;A2#+d~6%)A#UoP_1lmH&5>}w`Ti|#0qyW!Xfj}p1J1ibDo0k3;Y!0X-; z@Vd7IyuQVr%0v`Ry2HY)8u+j8B>J_8&cY|F0*V$N6n8Uh%=5ybpPyq7W2y?V$CbFa zdF2pN$2^kZ&<`avyNG$88cSF3=z?&q;Juh2&;h=G?gjc0LcI8}izb|2rF#0q<#Ho~ zuWyGk_mUe3)@VH~Bp7-526Zd8j|0u?)l#PbjaJAvcY>aV|MyB}qe8@W*1ga;EH_mE*qN-+9 zCE}b-{)}bFI2KbCeQF+XV?0%-QX~G2OID&fTkJQ#WNoR$qw0+*8=#h4l05nG0!iYP z*Sb{XvwqOHq%aGr3YxmZabw=b@+B(-YTQt{7#lx3&$G~83Kv2zY#pS$7A*zK)rn6f z^?^^ANUBeW=C))BTaFXvrDWN|Zo={KJ)?FL4kJ7&YEu-K9v&L?su%U+o@hj2?7AQ& zRYz(-s;W(EQ9yNTVLyg5giqk_==*>%RY;s@INk)kZN{^1Hcz9AVVZtLFjJ6Sinn8l(9_diQ<0(jV6KjG9G zOiz2N2Uus{A1B$R#5EAKCACbm2H_5@vrfU{Y@CZfp^pam(QDr=&xR#@Wu!OrJP#^oUjEg+=t>d_6!e6c9fUnQ1*}N9UP?^ZrdPbV{`9JEdF)%(e9O9T+3+o! zz6E2idN_{iDD6ZdC^4V*=}8`8_J*M&1(oDgEw*Pq>t{Ca;;>aUL{57<*VEhaL}+@) z!_QqIfPqWZ%L)*MknUQ%F?iY=gQvYQc=`ZO;Ue?TjeSwmrQ}dPQ~Nu)*GK~A@N4p< z=EFO#4gfNN`gFHt)O_qa;CRN(`SEM^F}5Qk(RRYbyHTA6Kd(8#7R-1X-M|(|>|G$? zD3ELjq%(&~c{$@+K~*`-H2)+%goFGQT`F;G9nUZ*YvQBK;_)c%Hl<@|(=j2&;HWJ7 z{`s7lcB=%Wsg4|4ezp|HfK@d;m6|EW^h94y*W;0f65f;u zyF#2#2xfXZP}xb_TErziUE?VIE6f=2y09)`1v9;PjiGR1z>yXB&Y#4r9{5WM=w)RZDGSjC3lo?6BR|`62TW$6R+p+|;GI zHO%y5gbRHMjZt26xX=>J^!G`z^0Med4S`h;#HdScGrV8_0W9^tgNIAJN5n(X_e3jVD;Kvmoj{V0yLXulpNLChJZDRkF z=)z}CRmFSi7ul!>J@&>fO6$w>mSjCt#d_$|e2YX4UO!>_T!nIiV%vRw# z>;^G-PM(e>W!9OAXt4n>TVvHdZ}D4OS2U(A`A(mdD^#&>N{7p6uSu?6#Dz&XTJixCQscy)Woor_+al|SfwRY-XtZ?{X=iep~EAeE9Zw|TgGktYv31(KRlDZ--nUim*uyJJ*w%O`ZS@lEN zYXmAAmgvhvJ=T$B7gqsOS5zTZ0jmiw4~H{hQ5~?F-Re3kghbP_K4=|P7fIn1jLr~( z)$P{kX$U$;6CqkqLm5iTY)e+$w}oBX1_+`+r(i)Kx^;0H&p=}2=K&5}P(*7M*rGKH zaMV4CE|}Tmeypo3h0^YiDir^M62?Gpt9-`O9M5d&*uJ`!($^@GRNvyQLuYpWQ>(UE zwMF&)$nGOuv$+mqiRZDm8U?&L(K&#u`Kyn1zE-%|X7-zW&4dq8 zmicT6zJ3B=<%m_C6_fQTt{iXnfS%7#Y!}oYN#HhJuPR^B+MuB&A_#C~*J=|nXDq?Z zUVTxyJ;`lYj&4i|EnZOetuZ4EHyr(p?)7llX4WVMon9y_A*@$7-HOlEvRBjbSJ$wc zeV$;FH>9g%(b?*&xLbpp{kpQl=+Rai3pe8gI_^j0nyquiP8PwTWcn z&Dk4}%Xx1=F6UK2tW?P>xOvhBld#0Ca)eQY1<$3!rQW<_u=ccdEhP12-!v4W*} z4ZU=O77`sJ8PgKnJQWo&T3cziaI+Z3OWTE15sN08T!A8<`;>O0 z&P7zg&7tJ+5bNNN>ZEUu{9P<|RNB(w<1JRSK9mezNez`Gw3!=r(Ndbgo2NN6m@iGm z7>+Ap;a3ePH_vd(3VlZy;>aY9M)G4yf}3M0``MH|bt>&}p}`_=ItjsV02x6S@J9BB?5rU7s*oWF11d=MzR1 z>kvXurFioop4;B^j@;hL*w}-!jQExTt8{Ygxm6p7yXC3-Zh6;KZnb$d?H=y%u%|D( z<>||Abz5dstB$Hrx6b&4(G0u#eB-S|&C3S2?D%9^F+}0g$0u(k>LWs((>_-!)FH7Y z>M6q6hLDBx-e{^S?pwAYmn_A}js=5lzdevaw!wVi>^zZ|#lGKkJS|yh}TJM;|t%sibBM+~5c-6y?J-p`O zb<51DLo;(=LO$hs&zJU=w_f;!QN63KL9>};Uo~56D@nx=g-h4hSyPd^fi@e=;v4PM zHzY$H5?fm;wst?6NA!%dZsukgKcc?QrjG2*cKINqY7}@Cp@YE?Lbr6(s)D%G>a`umb4KbRe&qj zXW*p$p?$`z*Y0P%c0cR2``L9*iW?r@#GVbmcY!(9ELS)`86Jtkd*ap&_>-=9S2=Z> zs16?^_p4bJ_TG>cm&{O3ySw6MlY-5)a5quL$IkI!J9R%lkHyqJ)=K4lPVf_F=c=`I z3TEmcFg=EUHeckV*bY)-I}g*uVo?5KQ2qi|fp|#lLR}_Pxcm`(6rG>HEPt6_z|7k+ z4qxNMM=?vEgh%KA86hM-nVA6(?plGeDcBVHXdBH z*keW^GL23+Rdx|0Q2Pg65#jmqWXzz2QXFbCNFo2eK34Xn^J~DYPY+!b3B+zYJy{rPv48@`N2Lc zcVr30UHT-Y85Uw6KDpqLgwClW$hT+JR3}d|OI3?9d}h3AQ6{%kgILfgW=x{7uX+@_ zy@*zZZ=zT8q#ON~4)LR#$3N~H@!qzdj+WrI^<o*6t zts`>`W5TK->-LJr(CHz-q3YVq?Nv|Q-s`5-3?F+8Q7v455?1uk8r)v<8ODUw3~@jc z^}(_dck<9Q_*rhm=h%IQF<~{sO-*==VYI=4g{-&YYYlGOn`bGi>P64(r!4+whZH~E zyrjqdbk$X(+qPVEr4{H8%7s__4Z-alUluW8HN)o~!+5;oXEHp7O~Gwj zEV>lNgw+i9v^ish?ocROsE&DfiU`<)+xuyUgS5kol*64&+Mzb>kWV`_YkEC-^04Xk z9d9Xl$6HF?>4?YUJ4Fw7dAQrdJs$4$aG!_!J?zcs?szl0I|Ck#H>10A%5(Q-ba#d| zab)IfF`HaX-|;4Scf3j79dD9%XVhcuP4e!XMMb>BC)-_Bp!{T~`}veR?KJWkB@8IV5l4DLMB$x~yk{2$sV-Xr5%emQR8 z1Jg__5^`kcvaK!1$#L76-~`{cP!n~ix&(Kunp`wlgn^E#Ci|&kvVkj#Ex7Z-Oa5Hu zLp)nLSt(-r0BKG>V?<1on+;(U<^QgqHP2wK`|t3C(d4Yz@uV)k=Qug)&6M(03%n_Oi;vaY96?MV6qo2!miE z5tHOOH)B*fj+!LTxf!Df!{}ST(7cvv+bQMR>#{dG3i#yNqE>Sk3UM zm*u!bt0u{F&wPe4VKu`ok6}Fbt(qjyZTk#k!fJ*)Hc3`iUOGvhbJNEpRrMr!ZkNTs zcS!Nm%}YAST=lA&B+u>pNskGulYZbajOV^pljJ$mm|CeGrPiDGQy9;Et0u|wwSEd? z!m1R`=dB}O2>Yo+x&yxr)&=v;__!8y4mP=#xG@xl!iq;l6CUird|PTBJnuiwB8rYQ zMKSHrm3HV(J9zWnd2il3-)Cdb!eL|2d_PKW{sckSot(4vmqbJR&ua)-)Cj2R0_Bq%sIAa3vamjwz-`QMBVFVl%+GpJ&8DhY z+P+}5`GN5Y>soc=p0`<|YqzMY2NrPY&_QRO8qL&px!nBJWP`h|&56kogU(%iRx-Go zujVN?`ZXWoM>p#v#Q%sv=Wd&qnWF}syX_vscr2+JbnbTe3}eEoPU3FSV;GMmRhpT* zT|UE@u$p1F$1omCss^3AJwC&ju$p17$1omCss^3AeLlmOu$p1N4LT~6mkv62Pk7Nr zRMqwJ?nxFuPjRHGo7_AeAaj+sYS6hm=qEiUtWNqVkKqx6&fOuOVN6)faM&k2VlcTo z;>8@(RgF$}Put)j;l9V^qGEgFr|fj6+R=BX{ik>jZgN>82Cwp9;NWp}D;u6x zk5-7#+TOZK^^5sm)hofF{6e62#kIi;EZTKL)cDbSy(xEVMjf|qB zocZ`DXWl^H^JvKWV z;;L3wclQtJb?C+dI!OAlcE~M!@xyJ#rIv>bnHoA3l5RW-%apKH<0l#}vuv2$S@Sg8 z+2CHrZI9hc2aE=f`a=TN2lr~jfVHU@kvOYMxkCcxf_veH+&#Qbn@DOjx=`7cPHH~5 z*Br)(;|8{u20G@kA*2rp+EN63kw6SX0*ucI4ozu-jvr?$86N-NmZaM5qYZ*r0zRJ5Nb)uSd^}PJ+&rp-&oVG7?G& zKX|XAbs7j1azmK~{Z2tm(LSBJFVUAMtd3 z$fi2marQzKD&w5&Uly~Uqk&X*2hyn+;N8V26)sCE+O!aUl;{T2><4Y=l0?(J%RRjQ zOLf&cW978m{e+4o&D5PlsSiq?frdiu-q25|ydnladPwh{m}%qgjr@`X0baxSemF{y zX#%SIypW!UiRU9sHeO zIY>wS!iIgUGmf5EdAsM!DCH0Af~IBA@_b9!ljRRF^m1#ZH3 zaYq)`d{->tr6aRqNg~O`Hfk~*DF-1%W%l6SdDF|gY#vp*==7?a@OZk6FaAPUXGZXi zawjW* zNHh%0^sEj?8D=em#cvq#6C7cEU(_2ru66xK@_1llA|#&@X<}4f@@2XFe#5 zy+KTgKF8mIy7#DHLxF$fg)lzo~K0e^cY$+AnLQh6ubH(rI~wjKg{v*G0|k{q(F?RmJsR(jG=K2IH8{ zXElF_)#tuZ#eHKWY&^`j=58Su+xPLupHwkB>4x-it`ghN7;O9!*+% zra^5u?BcxWlSLbXv|R{8#Oorg>A~P zSI>}`=vo>)p^|c~&sicCe%|31-1GP7?rnWkwRyv8GgAQF%pvtT^f8HpDw(GpFDx2=yLe-D1sD^c|D(ODMgIHWHKD@fdDe7V3N;J9`|CrCd zOe%UCpP~UIN`p(2EloJv;U5L$YHtLs6GP3x(hP?_y%gTh;O;QKGLppz^-fI|3sKZT z{d}<|8_oo?!Tn5XK)Ro?HH%B1DqK}`RfEv|+BBQ|Z>SYJHg-DE@j1F^UlwCt2T==` z-*lb*{pNHL+;2`NqS-|}eVWb$TJ{Wm_-e(vSRx`A-rj`|q46eY!g;8h??l1ZbW5Q~N z54;p&Om!T>u_d$y_m_NzF<~{sWvSmSg^^-CeK7LA9YIY|v10mF2=(w0i+|;i;-{OJ zbdb5U=8`;e!TnV~=`mq-WOnM*5*2IJtM+{F+Zh6*J8IAO{<KZ(Ur)h_0X@{+}!*<$XC++ZDI*dw&{dZc2aep@+ zgYJ9d(fxhT{lLR7V!V*?aIJ^)9&Ywz|ehjaB zWiqw+KT}&nl%;Wu2AndrxQT&#@ihJhj#0ZJA6qk8cWQvW@s^RwnzcO!mLaWdC(0yPnB@JCptIGui(klikQ< z|16XJA2ZqiDU;pIWS?ZR-^pbEO(y$qGufvI+g98355DrPnoLbi&9R!=n!1|$ntV+| zO=C?{O><34O>507HDfiOsrmhyKd3od^VynzR`Z87=W0Gz^G7v*jASBMTh04wUav*^ zGmS%;KhFF?=1(&JBvaeSWM&33nGc`Kd^Yn>GryPl&oW=goX?Dd`)IsQql3o# zX?%dj2Wb>(bkaCZ_#+yBOyf^zjMMl$ zjsKj+MH*kA@y}`e3mTVbe38a~LE}$pOwcINDASmvQK4~}#uXYu%5wt%J>c>2s`K`<^XNC~#uN)FzUmPfm@8|%v1!nwJ7|s78)0g>J=5*#~ zGhfVn>=V{5&~pAb^G9empOM*x_VNyF?;z^m%bbPl?`8fF`1j%RS%mlu{A>RM{;T;9 zHUD>Q;lBp!{Tdkm4~*=;%w%EKWb$uiJ`Hh=u%qe9$m|)=l=8duJm~< z1IQGYzPKclTMgU@kgkc{5bPQ628J%u=%+CR-lcOy7l~$RJUUk2nXjww#0#(V*rKrq zk8&;1J2WmkuH{UWp>h{ICcX+|@)V5e7o;n}n8^_B&^Q2>iSHA2!kBnO<1*z?S;AGl zZO03DF8kn9nV0=5*+ThbeG~Kg?PG-XVcaJ{G&umH+?%bh=kFqohvttvla6rq37kuR z0fQ(geV5k1r14iY{+b4huJk<`O5VR`b{Ckk@@v>0UsPHBInZf(On|Ojfic+=XTK7| z*=&6?>E0k+9gPpcnD|yqu^Q%KIRsBh#*2e2wen^NBEqfEg=I3!IxxFSV~^q9Mu{m# zlx|RdjIu-I48W?^D(hSH*=DIub`zo~@Zejvz9p=Nr3>VAnZ`BxHMb!=?si5e^0RcE zg)#AU7^N9nFVSG#FMrvkZ*q+cv3keJX66?hP#LqWA+t5qa(oGeR$N}h1(C@$1fOHo znrmib!b?4@|0UL>x!#Z~MLx$GJI7L=W2sNF+Lk{broW740)8+`l+NT?8Z4xRVHzXI zbft?1+=9v!Bz6p7;XI9H8mK(M!Xp~URj}}o#tMyj8q+k!X+Q+Q!bKY7v@k_ufd4^OrJU`UL!sV{mugUXkBG0FM z7|x#dL!S`75~p(u+4?33ryl=u_}74cjrd15ir`9~B1G+JRZl>W3tb{Fb&m9E4858{ z&>Vu65U5N@Ou?&OmOfe^!(0sWF>HuoV+@;O$kK4kT4Lx$(Hgdb(nrx*ITD~&m#%D> zt~xfoD}8txiu~-}cRpcjOxX0EnR_*nkwjwt9{5Z(tATR3uvYn{tnOnYV)#y|pMhSm zGQqy0GC^W|@DK!f9B9;K_iPV7g+5yqY%<=XuC>7^)zV;noor(i_9biRr4h{O%W)tB9(X4y?>k~ZAVUhSL`K)pehb&o zE(_Pr(?I(zTtoXUTtk~KTw_0W4K2A)>WbxsuPoAHD{p79v=&MozE1}NUT=QIM1U10 zwS=YilwCw87=;XWW2FHGJVP{0V}#aiSNe4nY>A%NpVNtDG7ezsY($Sdt7z&do)WWG zVuo%Eht%ietY~B}lqiH7G)m~E3Z-Ql4+~6p;tqdZwNsWtM)#FfuDtKpM0P1_3xj02 zLgN{X8!w2SqVu=Xve)8k>pQIkL!AaI-ZTX=-AAK~Mh}ht@HI3G80JUs_0zwbMlX#M zq-5b3WoSc+F^i!VIf`9?lpgZIpc#=_{q%dinTvbz7by|)39qq@=svr6jj z>K~O_En#F(%Y_X#wuPp<_19vs2T2VU9tkv(FfhhzO5G)?hgMg+sv6LHc5HR)A0#Bq zKS(w(fWS7AurUbz05dVM;n|qCJ1^pG#7x9&1RK-U-HPypafD-cUhK|#zwg}qxtW!f zl~t8y;>ErORc79wbI(2ZoO91T_fNWAJC^5@0s_R|jOUr879GG6`|hP!Dng1>SPXjE z#tW$wmMRJW<}yy@;g=3hJA4%d>10%2b}kzUNS@iLy#`xDt9o3|J(*w(G2n@27UdB&)RwgH%_?^{fOm6Pr_rIFo zF!6M5EuO;2qX531{DBBIRllxm+Nh|3dW z{CR{w`|OisA=IcvB|S7-=5?DC4gaxD|iNpZ5{= z|M`Ex&icJqe_J$WyGSkRM1av$;ANBZr12|rK0%AZg8^D%#B`SUye zyulxm{i$E`hl%&SVTwNvR<=b0QbV34e_)!DcF;4|TQyb2=6Pnl#Gk*hcwH?@uvl8A zUTy8C;;fWvF^!(m?zUN+CP?huEfs^=G$O((?faE0JZZKcyS!%?^M{0cmV|qjgnO2R zdv*zbNVsPo;LjrbJjc)d9eiVs$^XQ+-4<)@Kgyn)W3TQ7`;WqK?wa_wxv5xu$->T< z9Dc$U#=#@|7A2P&ZEzvs@Qww0@oUHev+kx=9Qo2@2C28C9hAfoEm-3r4``8QgSuo+ z0-h{B%-DDfKmk~y6~~TrFE#K#vmvC#n8R=!^b+T@2@mz#EblGyi<4Op-YUOs^4p#O zo>W>1j6R!ht|Tu`d2H^1V-%;#;Gx=lsnOaKlbOY(#{8bR^iVhwhR4Fh+I!-N z*%Igb!k#(cl<+k9xSmY*U*L6hFwV*Y>ml zl7ISk+!lh_2ae?j7TK*X0g3?@_rygxvM@7PwfK^rIS8;?*Nn10Q$2GL=`^Yt?F3xk z(}VlR)C~#xawZN385=MFzi?FthkY z_4l+PlRweTZ2pnz;3d(w10B#2su^%!#=K6aC2%-%rz4DroZqRpM%O@R=N#m;nga8;tpeugEN_IafvY?HDBd;j*-n4rb`4zHS&536vFof%EDSer zOxS=!7APXE?&Qmbo#o2s>P~-kb8Tm3_42vSU}f@!&gzQeOP%3V#8*4RtAao3tWDq- zq=aj@uLOO|Li9-sc=WNH2%tj1O{U;8zH8tbx0Ex`((FsUa;_pR*7|(8q^krDV|~$2 z)>R^1+P~s2?JA*L-j`RBca_*H@qLvgUS%kk`PD%(uQK^b{msEruQK|}{VF!vrZz0r zi7kvToU?H5!ls4I3tJW@7V;3dzis!6h$mOEVQb9QHSjsJ@%^E84cw^r1pbMXT3Y7j zn@UMlkJ01hq)N#x-db7CTa~gn+}7{MZI!a={CA5#|5eKB=1AOBiiYqqUd4thPdZSU zM=N1a&b1qZxV91)KR(_R%*T~L`E&MFNAr2{XM^XYu4`+1fraFigxAx6-mR zvPK^o2-WIK-K}orvHGgdd)wVfV72@g%Uj+_TynqN%nRWjDE@EFR;w?Z z8&6(GP6XpQHov|5^zw{5k;OG%Dd!q@LWggb`|*uC zvCcVt{+#2^;O3pxm3YUU$;&-ASLPmf#&Z7odJzA(Gy8GS`d|)n1Muge8^}WsXiT#Z z&ZFW#wm4k05L2KxkdLaQ!kE_NC3o(wft1co?nuQ?*Sq=2n?!Ncjb4uOCbM{ISvgO6 zlR8}0=XGB5Mk{XnqMO^w6DfZCikIKY z6IvX%yqx386FWTD=f`v98Fa2&?ay`PncRGLb0xkj&*0^33JDw?2sX$^rOs z-|fNNR}RFV|864x?e;L+LO8IC|3|Bv0~fZ$lQ)qEL#BpL&g8>#NL>Th>zr7gK=I;@ zZeH|DrnqsLmmB?(TKw2k&X0b{9gbY-$B}+nbe`<@=Sjb8Zmztg5?A_V_44JdmHE;y zdpTzg1aYPx2tVH37|fe~VEnnWm)tp0#)u0sO;RlRIJ4r(UUFy+Ip7^OxzrC{*T5Hb zKJ`nYIQ1)TPW4Zycy+m#SN#)P+}c;pt^OGteqHUyul|{Ij=kBRWBoI_dG_m-c-B9& zmuuHo=30LM<$Qa45a0R(@#EZY26L`IAb;L9=YtctSp+93{Yz5{Q@W@4fd@XYViD7< zSoV!&`Iu8Sy1NRPHSH>JIbEgR1B$iC;XC zg1esINkTK%$p9k8($1#|wT04ze61;&TSk6hiz`OnvWr6`uUWy8cB#kY1N_)0WWoar z17a=BsX5q*pJ=l%Ot!QT9I9>walxjl8s1b~yjh;{Hd|to9X<907pBJX0T`GHM*hz8Q~GhxQIs?S#QvqOD$n4fLxv(5Z$ zSD)?X=REakK0tXaCcugWUb=!O5Nb=!l@PqnQ(Oc-PsS4o?W@`Kg>Cj)9M(!`U#+gM zHrH1>c%CIFb~H=zgrFo(2ukyWphQmyO7(=GWKRf6PqIlYVMw;Lt54LPa^ggRKRX;b zi6^ymabcn~m@yeo3fC%dV8~A4P5Tp<6$iPP=TI6F z(Wx#|G9?8(s1du_A$GGC+~Nf5O{jE_G)+QF-Rh)n)q*>m;0`Ug%?WPPg4>NtbYWm%MZ*wbF{evP&!e z$^)wSD;KEZujXSN*^;h(i@PRn!1~=UCp%byBiJ>>FPx?zJhEhg0TObL({rfWeMq0^ z1m<|)%mfK$_caIink5r>0JUVYHH8FxVZS49(hoy#f>Kz<&j*A=b%Uq0uJjbUQgqO& zzUbx`I_isEt;Cz18rHWuIwP4xn_#yW`U625CIGOIR~&a@zO~tJh}HXPd}1=*(h10* zeIb+fC1BAUFg&Qz&9YDx>HU$?)+~tE@}azTrcvz*giILL8#=r;WnO@30a&6zKl`mC z!48VmGCLG2JyZ`0(u&oQ0NA81@9Z7yqyX>w>JamTjK*TjOV=nlIt&(PVv1J>KPAT` ziF(!mw%>Inf)tB<7AstfQMh3A>J42jSUohK$} zB00}`1uP^{wkTOA?tCP%(Z)*8u2>LOtec#tbpr~tD}LTQ?UO}xYH}#WxC2m>mI15} z78Z$sQE$pd8&1;)rROBk`i)Y-@Fh6pJNgL!WV`S1?)1=S0U4Xv_|7e6Mj2vgD^J)W@ChhyjhV9=Y9 zO^j|a=AuJrO3p{i`6M-{S1h#CMpf@E02s;hk|x|V55;?hP-%P0_?j$%__L_>;{H<{vZ zLN&8GkWEF~1gg?F#sJ9Hkxh!_RVzscO~V^KtR^R>v1^eZ-2m#uafH_x!D zkD9W9$gr>$6G_!}XfIMA(at`o_!d5z;FyzURn=2OLA)6T!#Zg}Ar-mMmWATS$Z)+$e|r&@!Ip$P<)R zg;EkaIG}()e8_b-ac?5*+KK#loDf`&nGjht%79dgqUX#K3Iy> zJQP6#EnO@i_f3d(|Y=>8F1fQ@~~FX~Ssl|o`6nnFS*M*KQzgzDtQF1n3+@wrJ^^I$4q;w1VH|w2@V!))*=XMuXEB zEE%@F)izSP)>fTDSRJZ~g(r_iUC`O2E?5X_cOlA2jEdqhjG(ABNPn77cvWcg)9nAT zLDPO)to8i}cYQ5Rsy0(C-<@vE$9@zWU|;49VTQ#qgfnH2rRbXM(34iJu009j-`N7l|4Vu zUx1A;j&^ZUh1IUjG;LKAx44@aF?x$5Rt5~@1-M4$Q{pT_;@d8KlUX=qF|O3x{sP6A zN)T^m*u?!Dej^NRExVWy2Ogj`2Ax;16$k-~SW2N%D+pJMY32bW0O4Eg0}C57Oc`$@ z(*8sm!O0fYym+%Y9`w3j6L%&ug_^12aZy+r=%i8x(%J&Y%_frH5il9PLdVDqQk*(*zo|HrNGL64Rm0&^Mmg{(6SgoaA+S{* zXvnrxlI4;XC5f&eGp|D#5#P8=I(g)jQa03X((FoG00+^T_C{?4SgcPzhb?Hb{-zdq zO$0~_bu-?!V*?uAVJi@HoOTMv8Tc0at{eVfoKOWpYbG~R@knl~+)n+oYyTM7(LxbM zy2YAJa4l&OarQ~*8C6Pd#dDaD1a-3%L#%j3B|Tn+m}&#N&)sT61(=NrKU1eDS;ejV z1VN>FXoM3TQ%B*`#E$x2_0cMmeCy5M)Z$?$^bajgZ-$ENO-e$Ty#Y`&$Aus<)FjKK z&Y&m)0z64w15Cb%O$Y17v@}(M1yroAkgF6mHcuq20u})|50D&UrCe2ya)LP0S+H)_xQVXEvHh5R?u481r<;t(06EWv4{Pucw67 z24?siVVWAnfolaMTRyAe9r&u8xLigtP0_NC)sojJ5AODUpls^ z*CH`ttYD;I)vWZ;C9d=+(UV?P@bg-y>?*^l;}Y9=u|Rf%6l717r{{N->D1IGzf)Pv z`Qh9p3=X;>?U+)W_!T%%9bf>yn)ns|hsZFT|IpZc!}vlt8RHdxCE}eJe~5n=V}>~( zVP`^l7pw$b6MsYYDef2cDelL32%JqtU~)P9pYv#D3&%Hc%D{<1_pL{iW+5y!S%Y^d#2V;z9Bdu9-T{jpgFg5#(Vnn@iE0quX4st{yK1;NpRafIE+xYQ9f zi`nx*72sG44jrJJ@PcnU=C_`h-)g;`nNPX~)p1E)R|?7RN%32b4=4VK?S#jIlu+8z z@E}i{5`0hv;{>OEuq$kh1%Fq&>OmAi%y)AlOU}_izstL;6<*PWTL-H4pB>5&63;E2)#3y9^$+^P%lXHc>pHS?Sd+zA}BZ-e0 zz#zT^M_hGHJh5QnY3T=Wf|*cKHQO&r=kUe22ERms!ye606L^#ZYVdBbk9UvZ> zA2UJ4b5PhaNGSeH1-3HKG%uvem@|_O8Ro;iQl=cbf)B*Xy&EZ+t%Cm>UB`dMK5*?q z4pwrh@s-Y)l!2;LN@Brsn=AJ&w(96D^G0)qjE(P8t|d@QjXo)x-vXk%d?%@e!)J{a z+DP}}q_j3G46TM^X}WRNw)9E9u~(b<;5;`eqjFuV z%1J}0;&2{<#TS0jN+7x^9Yry8$Qx9L_o*1nZHhAuIw1zCf#n&yZ==NS+lWpL(smyL zvA;+ySm_j42P8r9fT$86<>(H6d?5v-tVR@npt`XIc-uAmLQ0Oyf&hY1Dx~=m;n=MS z$Q9E`OIdwwMR?aKydaqP-z1|vY^*+Krf^!$9gk%OBJ5b5kksCn*s6L`&1OIp+CWn^ z$iUWMQ*Zs+;uR--=M7FJ0}vCEDpCM93yd2%&$@@C=X;5(6PZN+fEG6eq74n`^f1^s z2!vG>l#f-~JoaW#zx(b5{ZJ{Idsf^M2+XxTlzeWhXFP<@K5c2K;Z6+|HoMT3AL56w zt5oOQHF4PnjL=0X9DE~TR%ro6jqQ%9R!)hYWYlHZ@O|~;fd1i3U#Zm$DvNv z1Sl96!hj0f4ilW~q_`e!&G+~MlE);PBGFZLDNHq}Cd{{Rq2J` zl^AFUTLScaR?~bz^72cicOW}qFq44BEX*2c#IDJnCRi*SA?oX+Q4 z2$HLM1O1k!I6UNL-yk$VfH^*ZF^bf{#H12PE0NZx`ZB4Dl=R6vUv??f{;qt@t}kMc z8_aYv+0le?hlTS# z%$Gv35zi)c=6u=#%9;n3m~3w$N?cn7{>HB?nwnILrY5;)3a9z9%t;vz;{g@Qipg2O zaQ49LeU3|bxSr~JGNX?tZ3u+J?adi^{BIWcGiut2%W7rTiN6<9JdDk zl89nFhTBg61<+9$s(v6oxnCeK9JD|OkM_W?!ktOxSvgKvIZlWkm?!xd3pBeI?Ca<1 z5_zh;LciyPexNV$P=l@;)W;2kjjHzw{kl6^iGFtn&L+l6Q}YcI+Rd?KTtYjbcL3wO z*m4t>xmXLyyORh;#tzselAlW}Fn5b60_0PTw~&w#gwK?GBE?+wLePNyUplek8b_Fc zewz`GBayWLoYRZ|Fmt>EKMAg?CHmi)pGq)KyaRtYNSdw9UY)QB3X4!t9Ns#x92bR5 z{F^*Z%&Nz))#DR+O#YoTILOz|rQcHRIH=m<&_JpQAZTYnSvdeEF?N>t20oMyAZ^D9*4j`7`lYdxUO3ctg@;^v%1FFIl@&^U3qHjR< z1P)2o0wy;z0BiZ?#5&P4;(z*F7EGq`f5#%Dg&DzQ1PQ7FDyWX$OwOLhkeK4cW2ouV zLcC!9vBLc01mS$#-9cX~3dUSH(xc0~-fZE-Vsq5SZjNeAx-yQ|)Dl9~Zz5u;u~-iN zu>#~ks^{Z8jBF7=&?#y6u~_gpu*5&LO7&$qGpG!dL_+_-JX|VjXsNMUP7(@{61@tu z;lack~UipH)SiIyj$+g#CDu_Mv)WOTbLy2Ff?C!;%D(eun`c`|yQ z6Afzxh7TRiskwNOQz+RjH?fO?6$5t#9_UE%i@hNXq6q`*MtztM&J@7Kt-`RB2p?F# z%+y@a2!Fo%XqOLmOo-`_4{QM82Re5cL|li1ZWJ%{fy0}^Rfm)RO539NSIq{xv*KT2 zlM{XWv3Lt+7CN!Y63;lE*2E{n%sEg7!-t0u&f#H2HvH#U1_8Z?(@zuK=#LVgG5u_u z>B4d$^d|U+tsOKvF*F2lj!fQ6qHuWs-b6S*QGEkgAm?ROZwg{^(a1Cg2edIZXVJ&YjB&SFL^7F4QR4}o6H44IR2LIf zE5Dxp8m3nf-aHO`?KWf^{=|XG@U`?V`0hNgNiYH=o@&vO!dOONY53$NMo4UbVKK1e zAsm%QL3Hx)+sUJ1&7l$+1Wc)D_nHX@0W$M$5r8Q)U}R!7RDoKH!JOtox;UQrA2KG} z4{*XPZ6DaD$8cb5qJ1&hX)#|HC-Ay>F=cQuXa(-Z*J9*D(A>7gi8hrgN%>ja^}|Py zx}8CYLY^2DSvwN9^BCI2m^%Ysy@|AZNHuWl$|+=p5JLG-VJl;HU&jI(bC4Uj&lIP{ zyTqt-1;IE4|NjH(kF~E*%3R0FeOF@e@YUpTIL`<~RJIk?0;K~_Hr6PMkr!X0(tr^O z5DY95ga=H+rq8$|34_6=15V4s(1mvS0A<3lXU(|i(?kzLNK}A~tMI-`eW>c%xSO7= zGW@kA;%Xw!5{xFyn+a3}2&G)De`Bh`LMp{tS=s!meNA}+tLmB~%~O48#uH#QD0TBu zfTzk_qJXWOmi7vElN6BS_=(Mdo?PaG2nd~o#15vr+^#Ie5b`>KHNa})w0gPsyX zi6$W|Dky0qmAoLnFm*wU8f;tdip{_*7!$^zjKN_1m~ZpnM}UpvORY$p9xeg0UJvF5 z7!*OMAoE(Eg4~nJ_;?ciUp$5roP{F)pdKGl+?Y@1-1p%VqfTsn0H1&>pF|^lBsJSt zKwn_>x-Fiybwi2j97dvw1#^M@pgoBCd0no2^$I*RD|3P zbF&P^4uus(;fNiSo0PIrb0pg^jY|-PX;6hjRg)PwdRv2QM zLQ*OXqNiq)6J>;T#zgh1*cO;&w8U(+qXlc8TBpM0fv9wOASzxSh{~4-f&k@#AVPT{ z2tihz92dTw92dS7{~2d=$o$X=nw~|Ufpv0lr|tU)`U5gTwFtQuQam7YB#JB#VCsLt zUP4%~S6B`m6F83DmDM*1dzKkRoQGgqWe}97)eIJM?g=OqPhpV^x!nYZ?%*@pr`8)l z--tY*$2R4WD5-Znz zvXG@E>gob!=%5Fd7ZmVA+_Ajm!2Kl_q`7XRjp@w#w8_*N0w8pjf{BZ=P>d@vV(Ho| zO3a#R?TbV(j~6SoVH4ACuxr>h3Y@ns-FdV&a^-QisWvxeHer{iWHh6YL0F2+GhZbz zThQLvh;M>+VpT!cc))3FpiL@~ib8p_lr{$p$ct7?Dgm$>Rk+Sfi#Bvc;?q)Y$P1@2 zTa*-Y8rhz|vKm?@f>j!`v0Wk3;PynHUjwU2b(CkTeF&@yL_?T?pG|Q|gJKUWOsy8U z+Kkbr17)d$mcyASlo&CXtUk!S^uX>MyhwQ>9K^ag=Wmjeyz55pS}oR#peLsX$)%1} zr@AROqSE4)^0DT2No%`(tVn&Pk_lvrT-`8&FWCmh*0V!QWeA&%B0n)}+5{7`C=%PL zPAR$4H$sRMbA(=e%i1?lJOz6Myk}Y<&utO?{M>fY&zN!$vx;lQqz@A%EN6hAM6ulH zMSx=C^%`+VQ3Cg!QqRe^x`QK*AvU}TaET-^p2qwn2lbq$Ou|3Uxg1z?Fn{J?B{W7> zTo4U7@T>Ew%%c5^Fu6w*l~aQzZGw&l-he1CE!GPYNJy*of(Zl_GS7NxvtHWq(n>hp z1f<>wNxc!2dLu0LMquiV(9|2jsW-xt!s(7-6=Az!Fh<1TNRbNgT^3DtH!Tq|uu>on z97e6i96FjzXn4gNf#AReMA1cMM&Z?r!ubw}LgQIccr~M-5)ehVn3)T&W)!v`W8j#? zMT+eP60GahGxAd22wGYYR}6pk(dPK+{f;;lP~13cW`14iQ37Z47LeE(3g zo!%_eL*3BBi+ZpgnHIaaHAyrO5k60>cWi8m67^5*jK#+h3biNC80Oz{^2W-9zY=GuFKx1_bNRNY};(TH)JDQ9@!G71N z>Ci+6bQVK#r4@qrA8r9|Fc%L1Kx_`#X}=-tWIkkck7;IdQa98gAK-63pl$hpSn&Z) z<^wIw2c<>%w7TPf+{|99g+HzQY2!~je>(Uxk3Zbe9>aF2wRm8~JRcZk@X@LsZR*jk z9+-`0+&uNb+5>)pL)XHOk11yJ8*c>+kJF|&N-F*i`MI4M z50FExc!oGkEaE^z$>9W?j|4|c7Le2$B0_@)&HPrNAqQe$p%jcV<&_STebD{#0UL#j zqns}>IrCg0)t4Om}5vZxQzDM9}kJ~0@y zVnFMcmw@Il5;hCz_gydWzeh1zoK$VLSlW!7ilc5m!ZI3wptXa!oSwm8^Lav$|?TZe*2_F zg|Vb1$bvnl@_UX@6V3R+-UNme_Y1&(;_u{QhF}8$i}-{olkz$xzyHd};%@S z-ETG|X+_a;=xBsS9JJt*iW_nlk_pjca7j1^lm z>7jda!-dS9nZm}*$XF()e)C_wg;5*E^M&l5Om1C%@95yyhravWo(F(a@fp^Ad$N5X zlON0t3srL8$P`kA-I>(jcrKS2Eu=<<^MzD)XDU51l6p8jTo@kRl`0JH$z;b1slnZu z!3R^>9eCAC zKr$oDl}}4EKW4NlU@8&6ndgqtLNCgf!t8GgaA(YDW8mFZDu~W}C%{Uk!CC=X(P6FV zvl8jBB$W=!NoK*ieI%PMXt3nlf@LKFTB}!TiR9Z#q!%cu^a59}^d=j~j_(-B0GO3b z1$dKfE94*;W-=kD&_++@gd*8zpll>S(a=h_AZD~{!5(-HIamn`o>0vN&q?QkXOmZQ zx+rJEv*^p(S_Qa?;)Hsu;iPjFD@3;ObCb_bXp`9vu_;P6z6XkDy~CmWw0KWY$G6Rl zJUym7UgLS|_=Aq%ijM4-w%hs!F!03%+U(r~0aD5}CLvb~d z9SWn7>}wj!-d}5WYAmPW)*8m2#EhG3Xm@tEcK&{J>+562*TUy#@#JX-1iIu#L4f@l zss;G3q5NRLjWJ_GZB!_;PWo5TJc$C(Y67|=W(FBLeN&Fbt^B`YNL%0!7+55UA7IYom+`nz)V_JCU(2Lg7zEoR(WJG;U%a!>)kMgRp2TRRlf_;PRo%SHeNOj|n? zW#4IZ0oO(V1#DZJl6LFZ-X8F5LjZcguZ;l!uQmn%eA*ZQuxMidz@3c&0An@=06f_k z0I*|Y02<}Q-bOjGuTf6yYm^h|B5R0lB9+F8tK-wxEt=mW#8Tg8H|9f-?{?(L%u?AuS&fJyHPLiy8}aeG-` zzBMy6oJUpgyJ2J){>87}a>ppVp6QX{{~#{myGA!;M@K<6n>f_?zE-&pELNt1+pxEC z#mZ2+?U6z*eb*>F!-HOADv4YLWXc9Qy^xr1#*Ev-Q06Z9bknA1lC|f1Fo+FgMlyxWpJw*je7zEU-9T=zbJ*OsJ%UMwysK=maroS0!#OwRU_4(p zMg<{QH!_04^G?mdY=0axR)?Y6=Ilf6vcXusUNE1sw{X@cUvO0%yyWX7@X1bPvK3Pu z**z`@V4$$1+nO20tdc7?Sf&=zA@BCRV~!teC9IaP)hGVUzkQQU`BgRW+`6%`%qRia zxmQ=RxqOH>kQvNn_CUeA093NM!U9+W{KImNS$!M(HINuzQ^TilGcQ_ymqU9xpMA&d z6#%RoRda?q1=duuxO`yTG3rCYHI*!`&;Tk~T%iF#gz9bs2+u7sV@(*z7wg7FJFs8< znZbHttq5gTjSg+W+|+P>w~j+aKeP|^1k7!Zc(rFg`0yJsV|^_&xMSy?*@9BzHb3`+ z9mA?JioYqst!o46?Lkc{ z7_I?O*6l24v%JMwDN%qVhSPHj| zNT0JgT^Q8pLDN61;vlST8Ey2@TZ5^@%-eIrdmJkC)*xb14X%K3u>%JTzB4R7e62&+ zlmTD4*rFGlSxcjC6f?+pdO55L z+tF(fynVsS8m+}LdaSIqdoG7igYJ+Hz8nHLG%R=M5bo6avz1`curMroev7Nn^fsx% zWTf&PauyEs)?)IP<*h;SBkzWEPA?b@7`E3y=7HgzI~~1GJHP(SXtuCIV3xeC;IgRJ zpwSwHfF=t&%mogZ5Y&yaHBc!H{uTFRCY~jXyDhtL-dqrg@XaZj?z%L%jD<>|An=KkyrUh%4!c5Y#a!4z= znf8BJ>M^rRclXia58LpPJ3Bt=*!+F8`NQ^k%q~_D)-A7hd}V#K{A)qMJ^tyV*&o)N zA_|gy{oZYZdOy%dlfM=!0?LCn2lsJ_a##f>IJm{HuNUIiP=3f?*trs?e3KHMs(=^6 z4kyb%d5Fr1-$QTx(qXH;LAHu)N$2y}4x>??gQc(tnBGta0giCODwl1T z{u(Uk=&uC3{8`M{R7P^B(BhU^Gdxw-&V>L7yw!9Z~wovT3C;)mF% zA7TtkT|7N?@o_*@l%76PoIZI3l%9V2-1Mikb;F8&xVNWXr3=gv$H>93qD&b~gOa;fyC zSNG4HIEbjJ^RFTcAkSRff92^9OBY@*eR$x?%NGG*_Ru>lON*L*_N6P&pC}!Ew}Jo$ z6G5tLtr1)eB4E4PMr3jAj9XqE#`@s`=eLp2<`ZtO@Kp)bp*b+XYYoGIHr*04{iyfgtdS94PzyC$T6{5@E6L{ z9zTkLW*?oji;I8&9PIj9=OLuh#MEvPj(UCPOM+nug=CkZ0|{*#5hOHlM3A82eTPKV zYga}nD0-Mn!W&Sw85+a`s=Wb>{p_>vUU~K%n@j9&clN{Q*;fkpOh0!v?=TYk+tbGc ztZY~v*uIHsTukk{AOj1)P(>NWJ=m@*Vqv4JB%x7sA$v;PP!@6hMq^+#jC}`q)tkzy zpUsLgMee&kF9a~H5iGSOv*mSksFV^Sry&N0^c@TbBj)Z z4dQ?XX%GVRL4y#W2O5L`o3=p+FlZZtzzMAeAvDaBwcE=|S8Px3a%RS8F4ksr`vE~+ zY6T+d0;t$M#M(MkUpWv+S>u>M(6+{m%~iW9wE@NPs_7e2)BwS*9k@P}Z=w=NcQ*kE z2-TNXf~E~iYz!e2cgKt^byr$2^cu#TdJ62Jx1>kY`7DNC%k8(#nTHG6!R&}n&&HXY zz`>0T#1EXChMdod5;bVX$WQ~f1p0ges(BZtHntCrDdOpk8_3aN0D8!WmJQ^WFd)f? zF4Kk6Tz>$lke8^d4{?bYBFL+2MMJZRgH8Zv-{whp4gjTAj-+`!@5U3+raFDkzqhR5tF zF9#t22pn%$0N_4egeog=lv4qU=Wr0N!>tn;?LZCg#I6?^4NS#pd28fWp-%1tF{pa# ztde#N1?S`It&$D~!ch+x&p{O2rCkpgk2%P_+JWN-9|F6TM_;v(Sak?s-0d;ru8J0) z2I2PM(Yy#ywHaRSiVIsY8z{{HTPjyU5CW$Y{Lu1o8?1sT_%7M<;b9vSH;q@LGL3?O z3^YcM)!_fIQe@Yo%&=MwhHJDc;J7i*)XJQ#2wl{-u44sO_Tcj?&Er33ru`F`@) z)a8@YZ@i58k?9xTnSSd1sq+`M-hC%0iZ4DsTRb{-`9rkG?7qvTSARTx~z-t~>G>o%j*(!|N>w_Z^NsPa%u@vx^H@wsmp z8^>b6g81ECXMFy-^1!2>s3E7wFTAK+`f9-f>vsMk=EqA%50p;)wDhCLu$BRVGe-_j zpZuA`I$27mo&}K7tEWrnSmEOH9!wUnElo_Yasb<>-PIqqaj|J`VkDHGdGy`s;)Ffn zpyM_B;R#S%B_Ltmd(Cbsd|r9#`Ps8)RfT5WIs(+fcD4=|jyr2OtNP&l#M-sUfqO;+ z9ov2oG~%%tZ7st^<$<z)a#;v(%{YC=_`m085 zY+*#w+ZE$7(7@qw<(if0G8&T6R1O*~Y-jFmHI21ty46V|7lYI43LLTo(@4`+HrZ)B z)!4`D&F4}(4p1H6m z5Z|!~un3%Ib5-W{N3iY^=e&INmUTE2=b_A&kwLq0I2;Ky7b-yV5Em>RzKJ&vmbdT< zD2_mb!-a)#I6i&yf@|7a7OvUdZRz;gsf(}8zV}Ay)1l6WARJEc?v!KjD&2CVl_MrE_m1bsy8p z8V&Z*2M?6aypN7>`l)xZR&nOylhZ#siS=^qEM+;|?4h5aL!CYSm(xEwp?X}yn7|>} zJh|LnjUsD8uz(q7VR(A-;+071sn-xyn7VjzdOw$@sI_=Cp^uu)ym+Q`=n zHi@UtK2>^sa-ekd0@B^19$VF8>ijX4{$51ghkvxZ*5ltMm=gFuP+j_Q2IW=}&E|CO zwTuJ~cs(cczN zdE}vmO^b;jw^jSFOW0pJH1pO6wy-NVshXikV!Rb z>Es)w$A7F=C)=7vwWDHysrMf%z4{Cr`hzFQ00OO4yrg35QV0rJTd{Bv#)E#9!oIw0 zZm+vi>rH;U^knJa&r4^)bG(M7XV{SFa^B2$wa)2%aQQt z=~WG5r+!c!YdqD%^$&Zpg-n?XV*c!hCo#T9xN<&VGm5JR27@wRxhJ7hWn_fPiRFQ= zoanoy#7sU@a1%4N>9&E?%)$LL6K|zThc007JazFeXI`2p9X?e${aESfGnlXSf=Um; zaO3_AH>fY`N=5k&Y}E(#g)TSsXFYuz;e5aV)&+C^ZMj@F$DwIvYaJ+tx2El$#-zX9 zOmtS&!Om85IB;MO2M+Q4IvcHV96*qZIsn;C;{ZbUS2H(z+QR_`Zmz{R-s*2(hab0W z9#kOQ{V@&fT8QJI;bV$L0|>TQE#{LKqjF;`(8=TBA}=%_YpfO-alpCFv6@Dl{w+t7 zt`<47Q1QwuJMelMu1sLL^fCMZ)~b}B#IpCT2U5Anavfyt%v4EcSApb#)0ZYQDgVjx z&4cTQN7K2zx;w>XfpINM;8GH~!ptIW3q!j_Wy4xB>%onIzJwe235!w(Cp*90|TZgH*k1Mzu zU*j~+%;;cdx%u1-FY@5BE3OE2Uv-neq;Q44Qw8o;U>(`Txd=qSe}yq1%1 zz;QYI;g4o6zNJIs{!|>;V7Y6F<*}!yE+3;4^Q~tM^@;~`gp zL&YipJq%RMZmR;#Wfbx7s|Znp(H3Zem!TF+w7~weGOTiX1$r|o11cj`Gze82n`;PR zvxUEfLWLAKhwcN!Ll-oC;G!!Z2yTL)9u1-ZjU9sf%;AjSGw{%uZY8?yhM5go7z( zK#aN%58&qD#wj3>t?k=9_%;FxxM4zS18w2(6u4`ro3@bR{~>1FS37M*dsnkAx!gX` zB(8|KfQR#{!Yx=Fa4axSiZPFC!g)GY$hOQbUi^ZPYhuPC3Z$shTrR!WNgUXp2jk@u zaW2n@3>K;t87%0G`WVsfnC}@b>@K_fr#^YHVVZ4YkH$Ec(g2IFDX=uq=bkOjtuzSu zHh;j-ae;&9>dfQr-J#zig$Jb;=nxEvpNNa4)_5vKqe$woS6eDEh&Q4QNmSrmMVuaAM#Xvlis! zc&`Ydp>-pKhL(*G8X7f1XwZQXLWBN`5E?ixLTHil8y71?hg(%gWKFU_7gU6}K^7Y9 zf?PwkUM?_bKy{W6uzNY>)qtt2R1;4#_YALlIRn;U-CYCWUY-!&Xx%*!p(l zA$kVZy_{n6y?S8tpKag1eDn7T1?&20^SWtx+;IqvZPD`3Z{M@dP8#V!uLwGKrbLbc^zYWfB zIr}zZpVUa^t{s1Y6Yn=?3cIsIET4L#q5RMizSfXU0jqqI0;~cS=%j~7abJPwdNWRz z2Dgb1FfW5~EsgIWvM!8P@y>W(r*9CrGMrWujPD|gATThvGim4A#uaGmVDYucWATay z0QW!zs}C=L+lNP-34NXs+DLXZOt7$6rE9F>MgW2z+_c;Fjt*KX)a{2P-)+kdKB!-! zS;DW_xX51i+T`-jQtDS!76k;_I3Agju0h zJY3H!C&HsNkbQWRs8Btucip5=Rr~7%x@(Nyy^MttFvM0n=VFr8!ZpFxiVjZ4%I5sl zRc)r~AgbCbejsoY$DXuvu?a1O@Dh0Um_=TvB4C=}-dV@O0pMyMo?2qB1vLk#+2!xO`- ziNLYxN#|>L5L+{&XxH04Ai%ca^&_s5|3)r5KE|5dF}gGBU;^g#T~^^s6oA11$^}WI zOAV@aOO}VwnmqtNZhIs%IIf@A-%CjdYur@_*Y`kGW7W}C3LGsdn@%*s!YVr_yT@js zrz32S?*P&5mcA9$2M&JqaKR8Ibgs%W7Xf3u88sGbl$nrk;^dsWy>!=#gbFwiuAUCax+@p6#(7p&I`iLj~T5( z5>^WfO8R5Qit;g$UYV_har0USy8^u1vA&FWoG6Y0X;W}RzuP5$##zGYRK%KSm(`wHR7#JqH`%@ z4Y@rN<{Y=x)l#b=pY>%#6W5m!l37hWC2!^UJBY0^H>XU3HDl~m}K9lNsq<2kf z=lCd&V9SoCcz;}~kWD?zTk%qGTc>hJof^WSlc{teRoIyp6-trY+1>U-=#HRL{!sRZj=raS@SwldSgA22zi)q1aX3{wDCoLSU6Y$C z?%oBQ>hFWDgbwA<$GYN~R<*Oddj(_I?%rJ=o6ERVvk@-i;TN^hleF;ke4uA_OI7DI z!ti#Vkp0>b@${k){Muo7I#Wn}eU;JsR4_*EKs;S5yPZawmOj9S@`E)R$`7e;C_hBK zq5NRWhVp|Web=(M%t326mU|wpeBz7a`RYo?f<^(UG*<;CuU;)3kXu^WulRcmb?v9; z_eko>P<*8Wa7!si7d2Nv6D}_AsJ#L@05Dc<06db(E8VM)4=oCKx>fK&-FeaUb?1d% zt2-~$S-p9=Nuln%;I!%%m_=vGjLRbB5TlXopjh?ZT`#@N66Iy%4T4}VP~Cf_V`19{ z;W_|4tD9B1Bdy-1<8k+O=Y@RMoi~)yx9TkQb=iiT)2TjoaOL;2csZ{V1(;CAh=mOW zz{g7E3iR5UGBkA@+nV>PD#PJ&A(!}d|EWrPE2H1lvO&x2+1h2g>UNNO0^<@U%yGpUD%M@CXZ@Q3I2 z43EM`1t->6Ha{#5FFLG7^O>CTZ7Dz3;2<@vI5u!sXg>kqFz?Rs0v%H zpWj_x;N9zjF5;wp;k@r``iAVDJ-8+D zoA>Fn#2dy71&Fbjt}2|%u2-z#yuPpX>kGwYx6uFU>%TO!V(Z$r@v*UNu7D*MxeQp_ zT=+VQQN-vd)_>cEG^cWXtvMf10VDT{=d<{LQMl;q;Ykp#p7mW`86E;UvBn^9%}0X} zDjB2|Yr&P;c585jg>Oe1GJ7Q>B4qYT-FUd{Jo+;%@?<5?+VmBbhBrQ?OV{tskIMV{ zUYz_8^alqr4-F5>l2OdZr-vO$;5=nR`C&gcl)rlYgYj>){t&>1@Q3&{lpowzV}5dx zEjtw#mIkyx=NBCSkbd7mL}dU(z@?e#S7;ap7!hXGAD1mCsf>qvD8fSm8Up}U^j$|< z83R&c!+5@s#c>G^MP<=^B#@-LtkUO|i3gjv9I1Zxyj9e^7nGaR))Ip60KPJT+)dQq zLlC};=_-RD5>R^MTKC;At0sNtV}jve4BoriZYYky8wUcu4Kj;hmH3gBP6-_qFmD7< zz`^xZNL%*O4~^P55UABU>!YIr@+@7Pgb#txeI$B#l z*XmH}=UN>KxVDZ~_BgWEf^8#!QXk)X7C^79k8izDz_&FjY`41Y?E%v^2%+{)!;1sh zwLu)fs|`W`pEd{qJlY@x@MnV%s*e@DJ&m_5s*e?`L1>sKdDul`bl~88%Ll=gUqM}S zC?K2~53+760r7f;xCSf|IN)>N6GBWYxe`9uABuh68o_LnnHM7Y9(q^>q8!Lk0VD+B z&;5=xtpd^{8dG7d>?X`EaD5G{P`w z)xCZP@K*)rU8m&PfWm_S>)`+n<0>qG;$a{`gIr-#{tOhx<$SWr{K+$MeD{^=)g~y+ z2;%zdE#fS;&Ry`F`ogXEzK4_r!>U+Ky83+A<(I+Bk4QCL3W_I|1i3eCB5gBsdzA{^ zyrHUNtv*nbrlt>F-4Z^Y-)##Q*Gz?KH49$lR;zeytd}wtr~q}c5^@xZ$`&jamATy{ z6qT*qUMjO633C0|&2;yWI`q9VRZtP%9VA|&Sdd&50UDv|VP*E#gGN@>E{K)!0PyM| z-cc9CbzpREly~>f)^xpz)CT?FAmA0GCM|e)((qU}GK{W_KbRESzB>mc#J!c+mpMEt z=Kukm?_uI5kv-rBFek2%BhoM-oRd|E?y&%Soo_fI&Y-2Mlc+ z9Wbbq=zyVjjt&?EF*;ySFbx26d1QNgA?3acnnUuLYa&3-(hD+as>lLSbIl6KQF_q= zgeXK#%HH?W0k3sSGlX^(^R=rE5StjtjOp7a+ETk$LSpeyqgHK=E=K6SHq zpUhc=={-zs?*->^fAq-=hVRkX;i^saJW~<9D`ZY1Xp|K~Zrqary}XqxVu+BOAgetD zj-DBdULI`~HAu)%%NyQo1nE;*hVl3ot>8pN^;BqS#~ ztANA7=%CTR7$G!BON7uOwaqGCydJKj_H_Kbcs;_JLNp?T2C0Y;8U!LjXpzbSJ%`cZ zMyFwf&?1$E)se~qm*_=U(@153XN^RNTconU-GUL~23hdEcg$ZS>0Tmp_3_61h`6K7 z!_I9-Dv#i*p%a6{O*x-98mZt>=e6%qg9H}_xqCe$2w+)x%_%Az6)5PGh(K{AWmKS` zO`-yYmW&EibS=oWmi1%h8s+o!&Y&5aDtzT~VR5f#4c-S2j}k4H1B-h;qXY-GkF2KP z`>0@XLu3t35g)3Rd4kje&8UI)(HT~Qx88%PztgH;j+(5&CF_CeV&;B1bFzj`#{CGbUUm1AtaH)gOt?ZH1@&I}-UQqYEL ztoeV|f~zBihc2V>3hM}>~>DAMIRC=JoF=t!E-yN)0Wbf61G_L9t8AJxJ_$&R$HsYl}})| z8pdZHn7G_@8L1APGXR6`ZRcZ{XIDF!FDg8z406mQD><5!!o&j~Q45)q2f%HhHA3*m?KZs;BfFOp^0D|a60*G2a8bILNXaGT~ zq5%X=ABOGKf?@K6y$!{_8AeSO*s{r$+F?c!K_J~XpmJIK{W0U7fX(%?3U~eRXgaso zgJiXXPJ74@dtq$vY)CIUoMmR zL*UEBGGUw?zW8p-6tEeC>%VQT<J|%jK}CU4g`|kI1m_|jRV0@tA+_v7fq;vv`t+eD~sDj{y>n?1y|XOD0)Z7l!68!fae>7z-2-WLI6M4FpJ@8JD;s>A^TbvRZT;CQ`S60j1t0CK~?tn`!|mp z3b;FrLG40^jZD~;Mn1gXyN0PLMKJ*?_gYsNPptx{hv{0&P&FNsmB50{{}5n9_N-;t z@_@i`TtHe0T}VV2d&mXX8k(9gJ=cdrLcSd{zE#a0@`I>Ii!~j*Gu3Ad$V-PFh#B9m zAND%lmKjh0#3^W3E08Xi0+Sptg|cG?eLtaFfIcZ7yE#<@#MkH z_3{W-k$G8|hcMS*52=YYi&JtBWpbu{RldiU$KBV^tLczUoxTCb`{Ll-L7c{ESD(vt zYEWQ0)M{fQ?|`S* z*^Me}i%zZvwsoPc#^N5o1dlzhK~?$ybbBQzS9Nk%!1$iR^#_0owf+ZyTAS6VQ#6PI zkgp)$mRcjUTs=I_9+yXwcc(`K2n-$xATH931`v2T8bDPBH=&75LnIoEz^e5EB3C(T z3EUaf%Li7iY++_lFCPSnD3vYCj1CxBJfb>+$D@J71(`usb2Vy}&3dTin9+ii`JNy@ zS`e20lQU{5X3)CgAeb)JRSPkLR>%f{67*~_P|GlbdeR_RL<{z$>-bWcGYayrR0CMP z1T#Wtkcc4Tv>I+c%P%7Y$HkWo)>U8GSjEp(t*&SX9U8iVMyslWt1?Qch8!D02ZwH< z5z3V>xr`7RES5%~l`pr95LyKCpskEti*6#whz`@L8aP>K*$6ykQ`*X|m&+_8g$JQ% z1fFLs-peJHk-~#m)Z68_`w3ZI85Jl9L{y+KB#sIcL?J3r5QB(7aUoAspuqf5fdb!0 z1qv)56{zUAol7aB!YVp$=Q7Huu!@e`xr8zzthkgWDp1jJI~Pwzg;jLi&V`eqv9eC| z!|cc??h5kwzIaDX=+T`Al-ujY?Y^Il8AZb|aAi|`-nx;I?8BSKM+(DZBbivm80PuN zHxFZO^^a+d8FTL_WcJ94hq$pl**=iT59Wr)=zjboUJ%7=w?@bJ?8xNwOT7lUxKpm# z%8ug}vmJi{g5-O+&WJh5vH<$U|cqU&!TErvn#;x18eL0mM-i6zyQp5RFW|UsdA!J7q9@m)~ z)R#{!$1#uIORv5%{rGFsPrW<+^ttI{XJ%g5Kl|>1>1W@?|5u)U=Qo#*Ub*<(?3q_r z_4M@Y$rt^u?wbAZM>7}SnmYgU((%8Xx%6b|;LjDP>Ax&a|MD>a1e_}`Jmmq{2XKHs zd-k>hi(q=g#7D>in^pH-1q%^Fr}x zc{TR3X%rQ`EtJKLd4uDH;fFG*%$~8rUUkJ+E;E>sM$In+iH8SwlYSun@DM3J>Pf^% zkP`e>$P6vR^?W=htO>eu$YO}0aBpYwX_|BbZ#~m5m50v^ynz2?JK*rXuGDB6H_Lf0%Nta32u8J9Uy^E9;6b##AlIx4{9DL2u&x&&mEOZCe_iS5w;gJ&T!vxs$#USM7Vwem zF6S;vXd+QvUe z^utiBI9zokn_HH0hb~KfE0fEE3}0KhyodiSOKpG_7|&(CHkuj7s?3pPsV(C>MurD* z3F!9hgPGBSrM z2VIq6bjOUv(?^e7`Qe%Amk&}nP9B^+{ln7RKbkI{HjGrvxOV#JAyiMLA%x-)2-D1? z?@kvd3}gJ$t7KwR`XO{snVex<9W%OYgl6|0oqqnT)XEh;{mw0#N5qeXDR z8+u#AXrf*;z7R8(>NG^RQ#$c_>8dH=9e&sgknu1#XKR}lWY1&ar)#D z(qC*alj|;BC>?%RI!W}HKbd*@=#^8iTsd@9sW8J>6*GFga2`7{b?N-{8!wkG9Y^PD zH>d)8<tMKXZeapb`o^N0sm=a_U!m4%}V&D7p5Sy#8;<(C#6`A?O6E<#O7@EprK0!=M z$DW?Ld<^zd>D3oX=biu?sHT*591?aKiW%Saz$~5l5e<07OV6Auy&|8|;jyL8zF)fV z6eUh9d@{*Pm%uQkqtBGydUob#ufvi@(aL_>xbfya7zwq-j3)Dy{g$`97e6r7$4iH< zyz-pYsrJW=6`quew-g7Lj{jongVQM9)IPtsXl3Nppx%rx{v51XI&o~~^f_iZzpwOm zv2^A#h6y&VAX6`w@y?GKZFl^sqj>jzdhOit?Uk#SrPROg7)JinE4lf;49CRkUR7V> zO-m;g&;pQUWtModE7MnHC$|VA2?vTIF?`w?-HO?^!oU@*F29U6Qv_wC>SO0yJm7S} zmI?*)lT)NeLyds2rHDRF%VN{;uH6MC^g+lfx%Wf%Q)SvUealknADEV{QjxevFJLea zVV^xiF=TIX>Sc?*pQb+Dus03sz6Mkk*IKAj!+7d=<3+%sVe(G%sL(C1CH3 z8QVNyrar$MgSGcV7ac@|W#8wY5rA=cD|gS{(Pl7^*oZ##KlF8%Pw z$OgEKdVO;GM<)^6zj|elH|@;nAKD3LKYSkTFm>sr(gFINFr+D+Jy<$?NExzHp(1uq z7{-p6@tum*5nqBbo>=(tvr`vMHv>!&)5tk@9L&X7!IUrHinos7e~ZiLZ~l)xKiFs( ze-Se>p2DWizp6UY+4oM(ynfNPc+e+LU499uqvEjIW{>VGz4#89|L{+*JWW-FQcK0> zNh=I2o_YfXD}xT0aW(`kwn$p+k7CAGJY|A@81$Nb_VXW5CcuBkUIG}y@EHl{>5+_y zKRAqmBC&9JS&C@ecpD=|j!##5!qsx#1R~ zJ9qdY`o!sn5}(mdoHig|Sp?-$7!VisE>FQVI|}a=UAJ&05hC0;qb6JgT4gPNAOyO% z09(g-&ytBRX8_>im9ia2>N0xe_Y9AW48t9r9UaOSkB2DXK@UCd*pf;Q4S@*aVPlE8 z%$_WqxA6C4UHbCW9Xrk1rBfr>LAVVIAecCqrP`yJ%ut@S-oY$V|K7ee;?C-|+=PKG zlr5{W@<-bHwB7OGgxIAk+< zuxY_$^o*T#xZI`xEssd6enaH?_|B11L+)I+c!I(1FMd%FX3~zNE%8%H6MKt&}Q;zMA>zSxjQ7Vdl#6 ztk;!io&LouP`fjaA5t*B6M|K}V_SuZd)DnRx{~R$KSiI#!M}`!esk#vr{Cx?4;0TG zWi4_NlPc3EkCh&Mx%B)SsO247N-___-pJ}P;S5J0=Idt9K20i4{^ivBhp(J0&b~fj zcEA{2TWVrY2sG~SprIpRlKJ?1#NfbtQ_4f2zuPP)ksl&;q zLl@a4S<{>|@4QmFME45HKzd~Zs-c+L15#f>rd1AJlA(lxZx|29jGQk(_~@q}dlTl3 zDWfvNvhgn+x`67~u~y>8;BF?)zj$MMKc`JgM-P-v{M0rUKws1sGgXFxA-(ax{LjDn zfX2)d_%~usXl%{ov*WqJOn$lb#znUo%y{g%7;T`qNb*x#FUNyLCb?@30D>FU) zYrjxl80Lx4KU!sO%M{{bhNzz{>jwBgasF==Z&sx1rhWe>pRC%m`1eWdTH}*{zJ@{e zU#I=1Ubb!<*p~i}Gw=Ve<2U^2n=gI!TmSc$j(mx2HgNO(-@Na;S6+U9=EXDjV`dT> zd-lv(x_D1Ld;dUYq>x4+Hqp7Zq*RXh=6zN|_Ja3gs_*`-n4rTZZ34IAq$^%NHnhVy z8^6{@^l$l|vOirf7qxVT@!bvC+`!1l=JfEWA?%dNEFT&fQ8|8p1At(5BrdaBnAy56 z{z#)Bdilfi3no6V|7W8E1Hf2U zqHANjL;|O{$*)NFB@_O9!}yE_KfWQQl`ucv#UhB$XBK>nmzeQa@y+-AHU51RYsIFM z{HWkCH~#zIGaZ%}HT{AwoE!e7t4=GLzq+<5T+niq@3FcEV1oYaFiAbbvLA4mG0)je32TaI@e z?TT#C75z;0N1DU=oFK37w3;mYTpXS$8}cW>%i<9@9%@1L_0q2DsL8Q;b4ZN^r- z-C^8i+==fy@OwMn`FDBlZ~k8;c@}4?rzLolMT=J@1AYeZ4+lgTX(I4b1wlXe2ECpA!gLrvbD0i~$F&uejGQvP1lHZAGQB*r(<-^A?l1^^*%3<@4&Ee1Le8N)3n??%%^#QLw{AUior?eu!Am-g5Km|4_r95gOy6sZo2?YdIh!41RP8s4_( mmptoGyS&tO2Wqkxl&O}F9nY=+ literal 0 HcmV?d00001 diff --git a/IOT.Services/Logger.cs b/IOT.Services/Logger.cs new file mode 100644 index 0000000..4d6a8d7 --- /dev/null +++ b/IOT.Services/Logger.cs @@ -0,0 +1,135 @@ +using NLog; +using System; +using System.IO; +using System.Timers; + + +public class Logger +{ + + + private static readonly NLog.Logger loginfo = LogManager.GetLogger("loginfo"); + private static readonly NLog.Logger logerror = LogManager.GetLogger("logerror"); + private static readonly NLog.Logger logmqtt = LogManager.GetLogger("logmqtt"); + + private static readonly NLog.Logger logsInfo = LogManager.GetLogger("logsInfo"); + private static readonly NLog.Logger logsMEStIME = LogManager.GetLogger("logsMEStIME"); + private static readonly NLog.Logger logsSql = LogManager.GetLogger("logsSql"); + private static readonly NLog.Logger logsSysErrorLog = LogManager.GetLogger("logsSysErrorLog"); + private static readonly NLog.Logger logsSysErrorLogcn = LogManager.GetLogger("logsSysErrorLogcn"); + private static readonly Timer cleanupTimer; + private const int MAX_DAYS = 7; + private const string LOG_BASE_PATH = "Log"; + + static Logger() + { + try + { + // 创建一个每天执行一次的定时器 + cleanupTimer = new Timer(24 * 60 * 60 * 1000); // 24小时 + cleanupTimer.Elapsed += CleanupOldLogs; + cleanupTimer.Start(); + + // 启动时执行一次清理 + CleanupOldLogs(null, null); + } + catch (Exception ex) + { + WriteError("Failed to initialize logger cleanup timer", ex); + } + } + + public static void WriteInfo(string info) + { + if (loginfo.IsInfoEnabled) + { + loginfo.Info(info); + } + } + + public static void WriteMqtt(string info) + { + if (logmqtt.IsInfoEnabled) + { + logmqtt.Info(info); + } + } + + public static void WriteError(string error) + { + if (logerror.IsErrorEnabled) + { + logerror.Error(error); + } + } + + public static void WriteError(string info, Exception ex) + { + if (logerror.IsErrorEnabled) + { + logerror.Error(info, ex); + } + } + + private static void CleanupOldLogs(object sender, ElapsedEventArgs e) + { + try + { + if (!Directory.Exists(LOG_BASE_PATH)) + return; + + string[] logTypes = { "LogError", "LogInfo", "LogMqtt" }; + DateTime cutoffDate = DateTime.Now.AddDays(-MAX_DAYS); + + foreach (string logType in logTypes) + { + string logTypeDir = Path.Combine(LOG_BASE_PATH, logType); + if (!Directory.Exists(logTypeDir)) + continue; + + // 获取所有日期文件夹 + string[] dateDirs = Directory.GetDirectories(logTypeDir); + foreach (string dateDir in dateDirs) + { + string dirName = Path.GetFileName(dateDir); + if (DateTime.TryParseExact(dirName, "yyyyMMdd", null, + System.Globalization.DateTimeStyles.None, out DateTime dirDate)) + { + if (dirDate < cutoffDate) + { + try + { + Directory.Delete(dateDir, true); + WriteInfo($"Deleted old log directory: {dateDir}"); + } + catch (Exception ex) + { + WriteError($"Failed to delete log directory: {dateDir}", ex); + } + } + } + } + } + } + catch (Exception ex) + { + WriteError("Error during log cleanup", ex); + } + } + + // 提供手动清理方法 + public static void ForceCleanupOldLogs() + { + CleanupOldLogs(null, null); + } + + // 在应用程序退出时调用此方法 + public static void Shutdown() + { + if (cleanupTimer != null) + { + cleanupTimer.Stop(); + cleanupTimer.Dispose(); + } + } +} \ No newline at end of file diff --git a/IOT.Services/Models.cs b/IOT.Services/Models.cs new file mode 100644 index 0000000..97e069c --- /dev/null +++ b/IOT.Services/Models.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; + +namespace WindowsService1 +{ + #region 1、系统内部 + public enum AcquisitionType + { + PPM, + Axis, + Cylinder, + LRobot + } + + public enum PLCDataType + { + Short, + Float + } + + public class StationData + { + public string Name { get; set; } + public object MainValue { get; set; } + public DateTime Timestamp { get; set; } + } + + public class TypeConfig + { + public string Name { get; set; } + public string Address { get; set; } + public string DataType { get; set; } + } + + + + public class CollectionGroupConfig + { + public string Name { get; set; } + public string StartAddress { get; set; } + public int Length { get; set; } + public string DefaultDataType { get; set; } + public Dictionary Types { get; set; } + } + #endregion + + #region 2、PPM点位 + #endregion + + #region 3、预测性点位 + #endregion + + #region 4、机械臂 + //直角坐标机械臂 + public class LRobot + { + public string bu_id { get; set; } + public string district_id { get; set; } + public string factory_id { get; set; } + public string production_line_id { get; set; } + public string production_processes_id { get; set; } + public string work_center_id { get; set; } + public string station_id { get; set; } + public string device_name { get; set; } = "601PWM01"; + public string robot_name { get; set; } + public List taglist { get; set; } + } + public class Taglist + { + public string device_time { get; set; } + public Collection collections_items { get; set; } + + } + public class Collection + { + public string robot_status { get; set; } = "1"; + public string x_value { get; set; } + public string y_value { get; set; } + public string z_value { get; set; } + public string time_span { get; set; } = "2.5"; + public string hand_status { get; set; } = "1"; + + } + #endregion +} diff --git a/IOT.Services/MqttClientWrapper.cs b/IOT.Services/MqttClientWrapper.cs new file mode 100644 index 0000000..1e77e14 --- /dev/null +++ b/IOT.Services/MqttClientWrapper.cs @@ -0,0 +1,376 @@ +using Newtonsoft.Json.Linq; +using PLCCommunication; +using PLCCommunication.LogNet; +using PLCCommunication.MQTT; +using System; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace WindowsService1 +{ + public class MqttClientWrapper + { + private MqttClient mqttClient; + private bool mqttIsConnected; + private const int MaxReconnectAttempts = 5; + private const int ReconnectDelay = 5000; // 5 seconds + + private MqttConnectionOptions options; + public event Action OnMessageReceived; + public long ReceiveCount { get; private set; } + + public PLCCommunication.LogNet.ILogNet LogNet = new LogNetDateTime("D:\\APILog\\Logs\\MQTTLogs", GenerateMode.ByEveryDay, 20); + + public enum MessageFormat + { + Binary, + Text, + Xml, + Json + } + + + public MqttClientWrapper(string ipAddress, int port, string clientId, MqttCredential credentials) + { + InitializeMqttOptions(ipAddress, port, clientId, credentials); + } + + private void InitializeMqttOptions(string ipAddress, int port, string clientId, MqttCredential credentials) + { + options = new MqttConnectionOptions + { + IpAddress = ipAddress, + Port = port, + ClientId = clientId, + Credentials = credentials, + UseRSAProvider = false, + CleanSession = false, + UseSSL = false, + SSLSecure = false, + CertificateFile = "", + KeepAlivePeriod = TimeSpan.FromSeconds(30), + KeepAliveSendInterval = TimeSpan.FromSeconds(10), + ConnectTimeout = 5, + WillMessage = null + }; + } + + public async Task InitializeAndConnectAsync() + { + try + { + mqttClient = new MqttClient(options); + Logger.WriteMqtt("MQTT 初始化成功"); + + await ConnectMqttAsync(); + } + catch (Exception ex) + { + Logger.WriteError($"MQTT 初始化失败: {ex.Message}"); + } + } + + private async Task ConnectMqttAsync() + { + try + { + JYResult connect = await mqttClient.ConnectServerAsync(); + if (connect.IsSuccess) + { + mqttIsConnected = true; + Logger.WriteMqtt("MQTT 连接服务器成功"); + } + else + { + Logger.WriteError("MQTT 无法连接到服务器"); + } + } + catch (Exception ex) + { + Logger.WriteError($"MQTT 无法连接到服务器: {ex.Message}"); + } + } + + + public async Task SendMessageAsync(string source, string publishTopic, string type, JObject messageObj) + { + if (!mqttClient.IsConnected) + { + mqttIsConnected = false; + + Logger.WriteMqtt("客户端未连接到服务器。正在尝试重新连接..."); + + await ReconnectWithRetry(); + if (!mqttClient.IsConnected) + { + throw new InvalidOperationException("无法与 MQTT 代理建立连接."); + } + } + try + { + if (messageObj != null) + { + string json = messageObj.ToString(); + //string json = JsonConvert.SerializeObject(messageObj); + JYResult result = await mqttClient.PublishMessageAsync(new MqttApplicationMessage + { + Topic = publishTopic, + QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce, + Payload = Encoding.UTF8.GetBytes(json), + Retain = false, + }); + if (result.IsSuccess) + { + if (Service1.SwitchLog) + { + Logger.WriteMqtt($"线程 [{source}] 发送 [{type}] 消息到主题 [{publishTopic}]: {json}"); + } + } + else + { + Logger.WriteMqtt($"线程 [{source}] 发送 [{type}] 消息到主题 [{publishTopic}] 失败: {result.Message}"); + + } + } + } + catch (Exception ex) + { + Logger.WriteError($"发送消息错误: {ex.Message}"); + } + } + + + public async Task SendMessageAsync(string source, string publishTopic, string type, string messageObj) + { + if (!mqttClient.IsConnected) + { + mqttIsConnected = false; + + Logger.WriteMqtt("客户端未连接到服务器。正在尝试重新连接..."); + + + await ReconnectWithRetry(); + if (!mqttClient.IsConnected) + { + throw new InvalidOperationException("无法与 MQTT 代理建立连接."); + } + } + try + { + if (messageObj != null) + { + JYResult result = await mqttClient.PublishMessageAsync(new MqttApplicationMessage + { + Topic = publishTopic, + QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce, + Payload = Encoding.UTF8.GetBytes(messageObj), + Retain = false, + }); + + if (result.IsSuccess) + { + if (Service1.SwitchLog) + { + Logger.WriteMqtt($"线程 [{source}] 发送 [{type}] 消息到主题 [{publishTopic}]: {messageObj}"); + } + } + else + { + Logger.WriteMqtt($"线程 [{source}] 发送 [{type}] 消息到主题 [{publishTopic}] 失败: {result.Message}"); + + } + } + } + catch (Exception ex) + { + Logger.WriteError($"发送消息错误: {ex.Message}"); + } + } + + + + public void SubscribeMessage(string topic, MessageFormat format = MessageFormat.Text, bool truncateLongMessage = false) + { + if (!mqttIsConnected) + { + ConnectMqttAsync().Wait(); + } + + try + { + JYResult operateResult = mqttClient.SubscribeMessage(new string[] { topic }); + if (!operateResult.IsSuccess) + { + Logger.WriteMqtt($"订阅消息失败: {operateResult.Message}"); + return; + } + + SubscribeTopic subscribeTopic = mqttClient.GetSubscribeTopic(topic); + if (subscribeTopic != null) + { + subscribeTopic.OnMqttMessageReceived += (sender, args) => + { + HandleReceivedMessage(args.Topic, args.Payload, format, truncateLongMessage); + }; + Logger.WriteMqtt($"成功订阅主题: {topic}"); + } + else + { + Logger.WriteMqtt($"无法获取订阅主题 {topic}"); + } + } + catch (Exception ex) + { + Logger.WriteError($"订阅主题时出错 {topic}: {ex.Message}"); + } + } + + private void HandleReceivedMessage(string topic, byte[] payload, MessageFormat format, bool truncateLongMessage) + { + ReceiveCount++; + string text = string.Empty; + + try + { + switch (format) + { + case MessageFormat.Binary: + text = BitConverter.ToString(payload).Replace("-", " "); + break; + case MessageFormat.Text: + text = Encoding.UTF8.GetString(payload); + break; + case MessageFormat.Xml: + try + { + text = XElement.Parse(Encoding.UTF8.GetString(payload)).ToString(); + } + catch + { + text = Encoding.UTF8.GetString(payload); + } + break; + case MessageFormat.Json: + try + { + text = JObject.Parse(Encoding.UTF8.GetString(payload)).ToString(); + } + catch + { + text = Encoding.UTF8.GetString(payload); + } + break; + } + //if (Service1.SwitchLog) + //{ + // LogNet.WriteDebug($"收到主题 {topic}: {text}"); + //} + //if (truncateLongMessage && text.Length > 200) + //{ + // text = text.Substring(0, 200) + "..."; + //} + + string timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + OnMessageReceived?.Invoke(timestamp, topic, text); + } + catch (Exception ex) + { + Logger.WriteError($"处理收到的消息时出错: {ex.Message}"); + } + } + + public void UnsubscribeMessage(string topic) + { + try + { + JYResult operateResult = mqttClient.UnSubscribeMessage(new string[] { topic }); + if (operateResult.IsSuccess) + { + Logger.WriteMqtt($"成功取消订阅主题: {topic}"); + } + else + { + Logger.WriteMqtt($"取消订阅主题失败 {topic}: {operateResult.Message}"); + } + } + catch (Exception ex) + { + Logger.WriteError($"取消订阅主题时出错 {topic}: {ex.Message}"); + } + } + + ///

+ /// 重连 + /// + /// + private async Task ReconnectWithRetry() + { + int attempts = 0; + while (!mqttClient.IsConnected && attempts < MaxReconnectAttempts) + { + try + { + await mqttClient.ConnectServerAsync(); + Logger.WriteMqtt("重新连接成功."); + + return; + } + catch (Exception ex) + { + attempts++; + Logger.WriteMqtt($"重新连接尝试 {attempts} 失败的: {ex.Message}"); + await Task.Delay(ReconnectDelay); + } + } + if (!mqttClient.IsConnected) + { + Logger.WriteMqtt("尝试次数达到上限后仍无法重新连接."); + } + } + + + private async Task ReconnectAsync() + { + Logger.WriteMqtt("正在尝试重新连接..."); + mqttIsConnected = false; + int retryCount = 0; + const int maxRetries = 5; + const int retryDelayMs = 5000; + + while (!mqttIsConnected && retryCount < maxRetries) + { + try + { + await ConnectMqttAsync(); + if (mqttIsConnected) + { + Logger.WriteMqtt("重新连接成功"); + return; + } + } + catch (Exception ex) + { + Logger.WriteMqtt($"重新连接尝试 {retryCount + 1} 失败的: {ex.Message}"); + } + + retryCount++; + await Task.Delay(retryDelayMs); + } + + if (!mqttIsConnected) + { + Logger.WriteMqtt("多次尝试后仍无法重新连接"); + } + } + + + + public async Task Disconnect() + { + await mqttClient.ConnectCloseAsync(); + mqttIsConnected = false; + Logger.WriteMqtt("与 MQTT服务端断开连接!!!"); + } + } +} diff --git a/IOT.Services/MqttDataService.cs b/IOT.Services/MqttDataService.cs new file mode 100644 index 0000000..e6efb3c --- /dev/null +++ b/IOT.Services/MqttDataService.cs @@ -0,0 +1,730 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace WindowsService1 +{ + public class MqttDataService + { + + public static string BU_id; + public static string District_id; + public static string Factory_id; + public static string Production_line_id; + public static string Device_name; + public static string Topic; + public static string Work_Center_id; + public class OperationData + { + public int Item_Value { get; set; } + public string Start_Time { get; set; } + public string End_Time { get; set; } + } + + + public class MqttMessage + { + public string bu_id { get; set; } + public string district_id { get; set; } + public string factory_id { get; set; } + public string production_line_id { get; set; } + public string production_processes_id { get; set; } + public string work_center_id { get; set; } + public string station_id { get; set; } + public string device_name { get; set; } + public List taglist { get; set; } + } + + public class TagList + { + public string device_time { get; set; } + public Dictionary collection_items { get; set; } + } + + + + /// + /// + /// + /// + /// + /// + /// + /// + /// + public static MqttMessage CreateMqttMessage(string source, AcquisitionType type, List processedValues, + Dictionary> _plcAddresses, + Dictionary _collectionGroups) + { + try + { + Logger.WriteInfo($"开始创建 MQTT 消息, 类型: {type}, 数据点数量: {processedValues?.Count ?? 0}"); + + if (processedValues == null || processedValues.Count == 0) + { + Logger.WriteInfo("没有需要处理的数据,返回 null"); + return null; + } + + var addresses = _plcAddresses[type]; + var config = _collectionGroups[type]; + var collectionItems = new Dictionary(); + + // 获取当前时间作为设备时间 + var currentTime = DateTime.Now; + var deviceTimeStr = currentTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); + + Logger.WriteInfo($"处理数据类型: {type}, 当前时间: {deviceTimeStr}"); + + switch (type) + { + case AcquisitionType.PPM: + ProcessPPMData(processedValues, addresses, config, collectionItems); + break; + + case AcquisitionType.Axis: + case AcquisitionType.Cylinder: + ProcessFloatData(processedValues, addresses, config, currentTime, collectionItems); + break; + + default: + Logger.WriteError($"未知的数据类型: {type}"); + return null; + } + + if (collectionItems.Count == 0) + { + Logger.WriteInfo("没有有效的采集项,返回 null"); + return null; + } + + var message = new MqttMessage + { + bu_id = BU_id, + district_id = District_id, + factory_id = Factory_id, + production_line_id = Production_line_id, + production_processes_id = string.Empty, + work_center_id = Work_Center_id, + station_id = "1", + device_name = Device_name, + taglist = new List + { + new TagList + { + device_time = deviceTimeStr, + collection_items = collectionItems + } + } + }; + + // 记录创建的消息内容 + Logger.WriteInfo($"MQTT 消息创建完成: {JsonConvert.SerializeObject(message, Formatting.None)}"); + + return message; + } + catch (Exception ex) + { + Logger.WriteError($"创建 MQTT 消息时发生错误: {ex.Message}"); + return null; + } + } + + /// + /// PPM点位数据 + /// + /// + /// + /// + /// + /// + // 添加静态字段来存储上次发送的数据 + private static Dictionary _lastSentData = new Dictionary(); + + public static void ProcessPPMData(List processedValues, Dictionary addresses, CollectionGroupConfig config, Dictionary collectionItems) + { + try + { + Logger.WriteInfo($"开始处理 PPM 数据,数据点数量: {processedValues.Count}"); + + // 创建临时字典存储当前所有数据点 + var tempItems = new Dictionary(); + + foreach (var value in processedValues) + { + var addressPair = addresses.FirstOrDefault(x => x.Key == value.Name); + if (!string.IsNullOrEmpty(addressPair.Key)) + { + int itemValue = Convert.ToInt32(ConvertToIntegerWithThreeDecimals(value.MainValue)); + + // 计算开始时间 (结束时间 - 时长) + var startTime = value.Timestamp.AddMilliseconds(-itemValue); + + var operationData = new OperationData + { + Item_Value = itemValue, + Start_Time = startTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), + End_Time = value.Timestamp.ToString("yyyy-MM-dd HH:mm:ss.fff") + }; + + // 检查数据是否发生变化 + bool shouldAdd = true; + + // 检查是否与上次发送的数据重复 + if (_lastSentData.TryGetValue(addressPair.Key, out var lastData)) + { + var currentEndTime = operationData.End_Time.ToString(); + var lastEndTime = lastData.End_Time.ToString(); + + if (string.Equals(lastEndTime, currentEndTime, StringComparison.OrdinalIgnoreCase)) + { + shouldAdd = false; + Logger.WriteInfo($"跳过重复数据点: {addressPair.Key}"); + continue; + } + } + + if (shouldAdd) + { + tempItems[addressPair.Key] = operationData; + Logger.WriteInfo($"处理数据点: {addressPair.Key}, 值: {itemValue}, " + + $"开始时间: {startTime:yyyy-MM-dd HH:mm:ss.fff}, " + + $"结束时间: {operationData.End_Time}"); + } + //if (shouldAdd) + //{ + // // 检查是否与当前批次的其他数据有重复的结束时间 + // var duplicateEndTimeItem = tempItems.FirstOrDefault(x => + // string.Equals(x.Value.End_Time.ToString(), operationData.End_Time.ToString(), StringComparison.OrdinalIgnoreCase)); + + // if (duplicateEndTimeItem.Key != null) + // { + // Logger.WriteError($"检测到结束时间重复: {operationData.End_Time} 对应地址: {addressPair.Key}, " + + // $"与地址 {duplicateEndTimeItem.Key} 的数据重复"); + + // // 根据地址的字母顺序决定哪个需要调整时间,确保调整的一致性 + // if (string.Compare(addressPair.Key, duplicateEndTimeItem.Key) > 0) + // { + // operationData.End_Time = value.Timestamp.AddMilliseconds(1).ToString("yyyy-MM-dd HH:mm:ss.fff"); + // Logger.WriteInfo($"调整后的结束时间: {operationData.End_Time}"); + // } + // } + + // tempItems[addressPair.Key] = operationData; + // Logger.WriteInfo($"处理数据点: {addressPair.Key}, 值: {itemValue}, " + + // $"开始时间: {startTime:yyyy-MM-dd HH:mm:ss.fff}, " + + // $"结束时间: {operationData.End_Time}"); + //} + } + else + { + Logger.WriteError($"未找到数据点 {value.Name} 对应的地址配置"); + } + } + + // 将处理后的数据添加到最终结果并更新上次发送的数据 + foreach (var item in tempItems) + { + collectionItems[item.Key] = item.Value; + _lastSentData[item.Key] = item.Value; // 更新上次发送的数据 + } + + Logger.WriteInfo($"PPM 数据处理完成,处理后的数据点数量: {collectionItems.Count}"); + } + catch (Exception ex) + { + Logger.WriteError($"处理 PPM 数据时出错: {ex.Message}"); + throw; + } + } + + private static bool IsDataEqual(OperationData data1, OperationData data2, string addressKey) + { + if (data1 == null || data2 == null) + return false; + + bool isEqual = data1.Item_Value == data2.Item_Value && + data1.Start_Time == data2.Start_Time && + data1.End_Time == data2.End_Time; + + if (isEqual) + { + Logger.WriteInfo($"检测到重复数据 - 地址: {addressKey}, " + + $"值: {data1.Item_Value}, " + + $"开始时间: {data1.Start_Time}, " + + $"结束时间: {data1.End_Time}"); + } + + return isEqual; + } + + + + /// + /// 预测性点位 + /// + /// + /// + /// + /// + /// + public static void ProcessFloatData(List processedValues, Dictionary addresses, CollectionGroupConfig config, DateTime endTime, Dictionary collectionItems) + { + for (int i = 0; i < processedValues.Count && i < config.Length; i++) + { + string address = $"D{int.Parse(config.StartAddress.Substring(1)) + i * 2}"; + if (addresses.ContainsValue(address)) + { + var key = addresses.FirstOrDefault(x => x.Value == address).Key; + int itemValue = Convert.ToInt32(ConvertToIntegerWithThreeDecimals(processedValues[i].MainValue)); + + // 计算开始时间 (结束时间 - 时长) + //var startTime = endTime.AddMilliseconds(-itemValue); + + collectionItems[key] = new OperationData + { + Item_Value = (int)itemValue, + Start_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + End_Time = endTime.ToString("yyyy-MM-dd HH:mm:ss.fff") + }; + } + } + } + + /// + /// 机械臂数据 + /// + /// + /// + /// + /// + /// + /// + public static LRobot LRobotMessage(string source, AcquisitionType type, List processedValues, Dictionary> _plcAddresses, + Dictionary _collectionGroups) + { + if (processedValues == null || processedValues.Count == 0) + { + return null; + } + var addresses = _plcAddresses[type]; + var config = _collectionGroups[type]; + return new LRobot() + { + bu_id = BU_id, + district_id = District_id, + factory_id = Factory_id, + production_line_id = Production_line_id, + production_processes_id = "", + work_center_id = "", + station_id = "", + device_name = "601PWM01", + robot_name = "LUR01", + taglist = new List + { + new Taglist//上料动子1 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[0].MainValue.ToString(), + y_value="0", + z_value=processedValues[1].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子2 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[2].MainValue.ToString(), + y_value="0", + z_value=processedValues[3].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子3 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[4].MainValue.ToString(), + y_value="0", + z_value=processedValues[5].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子4 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[6].MainValue.ToString(), + y_value="0", + z_value=processedValues[7].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子5 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[8].MainValue.ToString(), + y_value="0", + z_value=processedValues[9].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子6 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[10].MainValue.ToString(), + y_value="0", + z_value=processedValues[11].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子7 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[13].MainValue.ToString(), + y_value="0", + z_value=processedValues[14].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子8 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[16].MainValue.ToString(), + y_value="0", + z_value=processedValues[17].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//上料动子9 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[18].MainValue.ToString(), + y_value="0", + z_value=processedValues[19].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机1 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[20].MainValue.ToString(), + y_value=processedValues[21].MainValue.ToString(), + z_value=processedValues[22].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机2 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[23].MainValue.ToString(), + y_value=processedValues[24].MainValue.ToString(), + z_value=processedValues[25].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机3 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[26].MainValue.ToString(), + y_value=processedValues[27].MainValue.ToString(), + z_value=processedValues[28].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机4 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[29].MainValue.ToString(), + y_value=processedValues[30].MainValue.ToString(), + z_value=processedValues[31].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机5 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[32].MainValue.ToString(), + y_value=processedValues[33].MainValue.ToString(), + z_value=processedValues[34].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机6 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[35].MainValue.ToString(), + y_value=processedValues[36].MainValue.ToString(), + z_value=processedValues[37].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机7 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[38].MainValue.ToString(), + y_value=processedValues[39].MainValue.ToString(), + z_value=processedValues[40].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机8 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[41].MainValue.ToString(), + y_value=processedValues[42].MainValue.ToString(), + z_value=processedValues[43].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机9 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[44].MainValue.ToString(), + y_value=processedValues[45].MainValue.ToString(), + z_value=processedValues[46].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机10 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[47].MainValue.ToString(), + y_value=processedValues[48].MainValue.ToString(), + z_value=processedValues[49].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机11 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[50].MainValue.ToString(), + y_value=processedValues[51].MainValue.ToString(), + z_value=processedValues[52].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//焊机12 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[53].MainValue.ToString(), + y_value=processedValues[54].MainValue.ToString(), + z_value=processedValues[55].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//下料动子1 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[56].MainValue.ToString(), + y_value="0", + z_value=processedValues[57].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//下料动子2 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[58].MainValue.ToString(), + y_value="0", + z_value=processedValues[59].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//下料动子3 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[61].MainValue.ToString(), + y_value="0", + z_value=processedValues[62].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//下料动子4 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[63].MainValue.ToString(), + y_value="0", + z_value=processedValues[64].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//下料动子5 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[65].MainValue.ToString(), + y_value="0", + z_value=processedValues[66].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + }, + new Taglist//下料动子6 + { + device_time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), + collections_items=new Collection() + { + robot_status = "1", + x_value=processedValues[67].MainValue.ToString(), + y_value="0", + z_value=processedValues[68].MainValue.ToString(), + time_span="2.5", + hand_status="1", + } + } + + } + + }; + } + + + + + // 辅助方法 + private static List ConvertToShortList(object[] data) + { + return data.Select(x => Convert.ToInt16(x)).ToList(); + } + + private static List ConvertToFloatList(object[] data) + { + return data.Select(x => Convert.ToSingle(x)).ToList(); + } + + + private static object ConvertToIntegerWithThreeDecimals(object value) + { + try + { + if (value == null) return 0; + + if (value is float floatValue) + { + return (int)Math.Round(floatValue * 1000); + } + else if (value is double doubleValue) + { + return (int)Math.Round(doubleValue * 1000); + } + else if (value is decimal decimalValue) + { + return (int)Math.Round(decimalValue * 1000); + } + else + { + // 尝试转换其他类型 + float converted = Convert.ToSingle(value); + return (int)Math.Round(converted * 1000); + } + } + catch (Exception ex) + { + Logger.WriteError($"转换值到整数时出错: {ex.Message}, 值: {value}"); + return 0; + } + } + } +} diff --git a/IOT.Services/NLog.config b/IOT.Services/NLog.config new file mode 100644 index 0000000..4ca60d8 --- /dev/null +++ b/IOT.Services/NLog.config @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOT.Services/PLCDataReader.cs b/IOT.Services/PLCDataReader.cs new file mode 100644 index 0000000..4bd584b --- /dev/null +++ b/IOT.Services/PLCDataReader.cs @@ -0,0 +1,155 @@ +using JinYuan.DataConvertLib; +using PLCCommunication.PLCType.Omron; +using System; +using System.Linq; +using System.Threading.Tasks; + +namespace WindowsService1 +{ + + + /// + /// 定义每个数据读取请求的参数。 + /// + public class PLCDataReadRequest + { + /// + /// PLC起始地址 + /// + public string StartAddress { get; set; } + /// + /// 读取长度 + /// + public ushort Length { get; set; } + /// + /// 读取区域名称 + /// + public string StorageName { get; set; } + /// + /// 读取数据类型 + /// + public PLCDataType DataType { get; set; } + } + + /// + /// 存储每次读取操作的结果。 + /// + public class PLCDataResult + { + /// + /// 读取区域名称 + /// + public string StorageName { get; set; } + /// + /// 读取数据类型 + /// + public PLCDataType DataType { get; set; } + /// + /// 数据 + /// + public byte[] Data { get; set; } + /// + /// 是否读取成功 + /// + public bool IsSuccess { get; set; } + /// + /// 读取失败的错误信息 + /// + public string ErrorMessage { get; set; } + } + + public class PLCDataReader + { + private readonly OmronFinsNet _plc; + + + public PLCDataReader(OmronFinsNet plc) + { + _plc = plc ?? throw new ArgumentNullException(nameof(plc)); + } + + public async Task ReadDataAsync(PLCDataReadRequest request) + { + try + { + var data = await _plc.ReadAsync(request.StartAddress, request.Length); + if (data.IsSuccess && data.Content.Length > 0) + { + Logger.WriteInfo($"成功读取PLC数据,起始地址:{request.StartAddress},长度:{request.Length},类型:{request.DataType}"); + return new PLCDataResult + { + StorageName = request.StorageName, + DataType = request.DataType, + Data = data.Content, + IsSuccess = true + }; + } + else + { + Logger.WriteInfo($"读取PLC数据失败,起始地址:{request.StartAddress},长度:{request.Length},类型:{request.DataType}"); + return new PLCDataResult + { + StorageName = request.StorageName, + DataType = request.DataType, + IsSuccess = false, + ErrorMessage = "读取PLC数据失败" + }; + } + } + catch (Exception ex) + { + Logger.WriteError($"读取PLC数据时发生错误:{ex.Message}"); + return new PLCDataResult + { + StorageName = request.StorageName, + DataType = request.DataType, + IsSuccess = false, + ErrorMessage = ex.Message + }; + } + } + + private object[] ParseData(byte[] content, PLCDataType dataType) + { + switch (dataType) + { + case PLCDataType.Short: + return ParseShortData(content); + case PLCDataType.Float: + return ParseFloatData(content); + default: + throw new ArgumentException($"不支持的数据类型:{dataType}"); + } + } + + private object[] ParseShortData(byte[] content) + { + int count = content.Length / 2; + return Enumerable.Range(0, count) + .Select(i => (object)ShortLib.GetShortFromByteArray(content, i * 2)) + .ToArray(); + } + + private object[] ParseFloatData(byte[] content) + { + int count = content.Length / 4; + return Enumerable.Range(0, count) + .Select(i => (object)FloatLib.GetFloatFromByteArray(content, i * 4)) + .ToArray(); + } + } + + public static class ConvertHelper + { + /// + /// 字节数组高低位转换 + /// + /// + /// + public static byte[] ByteReverse(this byte[] Arrbyte) + { + byte[] ArrByte = Arrbyte.Select((x, i) => new { x, i }).GroupBy(x => x.i / 2).SelectMany(x => new byte[] { x.Last().x, x.First().x }).ToArray(); + return ArrByte; + } + } +} diff --git a/IOT.Services/PLCWrapper.cs b/IOT.Services/PLCWrapper.cs new file mode 100644 index 0000000..f0d3889 --- /dev/null +++ b/IOT.Services/PLCWrapper.cs @@ -0,0 +1,104 @@ +using PLCCommunication.PLCType.Omron; +using System; +using System.Threading.Tasks; + +namespace WindowsService1 +{ + public class PLCWrapper + { + private OmronFinsNet _plc; + public bool _plcIsConnected; + private readonly string _ipAddress; + private readonly int _port; + private readonly int _maxReconnectAttempts; + private readonly int _reconnectDelay; + public PLCDataReader _dataReader; + public PLCWrapper(string ipAddress, int port, int maxReconnectAttempts = 3, int reconnectDelay = 5000) + { + _ipAddress = ipAddress; + _port = port; + _maxReconnectAttempts = maxReconnectAttempts; + _reconnectDelay = reconnectDelay; + } + + public async Task ConnectAsync() + { + try + { + _plc = new OmronFinsNet + { + IpAddress = _ipAddress, + Port = _port + }; + var connectResult = await Task.Run(() => _plc.ConnectServer()); + _plcIsConnected = connectResult.IsSuccess; + if (_plcIsConnected) + { + _dataReader = new PLCDataReader(GetPLCClient()); + Logger.WriteInfo("PLC连接成功"); + } + else + { + Logger.WriteInfo("PLC连接失败"); + } + return _plcIsConnected; + } + catch (Exception ex) + { + Logger.WriteError($"PLC连接失败: {ex.Message}"); + return false; + } + } + + public void Disconnect() + { + if (_plcIsConnected) + { + _plc.ConnectClose(); + _plcIsConnected = false; + Logger.WriteInfo("与PLC断开连接"); + } + } + + public OmronFinsNet GetPLCClient() + { + if (!_plcIsConnected || _plc == null) + { + throw new InvalidOperationException("PLC 未连接或未初始化。请先调用 ConnectAsync()。"); + } + return _plc; + } + + public async Task ReconnectAsync() + { + if (_plcIsConnected) + { + Logger.WriteInfo("PLC已连接,无需重连"); + return true; + } + + for (int attempt = 1; attempt <= _maxReconnectAttempts; attempt++) + { + Logger.WriteInfo($"尝试重新连接PLC,第 {attempt} 次尝试"); + if (await ConnectAsync()) + { + Logger.WriteInfo("PLC重新连接成功"); + return true; + } + + if (attempt < _maxReconnectAttempts) + { + await Task.Delay(_reconnectDelay); + } + } + + Logger.WriteError($"PLC重新连接失败,已尝试 {_maxReconnectAttempts} 次"); + return false; + } + + public bool IsConnected() + { + return _plcIsConnected; + } + } +} \ No newline at end of file diff --git a/IOT.Services/Program.cs b/IOT.Services/Program.cs new file mode 100644 index 0000000..aeeb614 --- /dev/null +++ b/IOT.Services/Program.cs @@ -0,0 +1,20 @@ +using System.ServiceProcess; + +namespace WindowsService1 +{ + internal static class Program + { + /// + /// 应用程序的主入口点。 + /// + static void Main() + { + ServiceBase[] ServicesToRun; + ServicesToRun = new ServiceBase[] + { + new Service1() + }; + ServiceBase.Run(ServicesToRun); + } + } +} diff --git a/IOT.Services/Properties/AssemblyInfo.cs b/IOT.Services/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..004aa2d --- /dev/null +++ b/IOT.Services/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("WindowsService1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WindowsService1")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("242400f4-9b01-4aee-a6f7-05083757fcdd")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/IOT.Services/Service1.Designer.cs b/IOT.Services/Service1.Designer.cs new file mode 100644 index 0000000..b7b9f85 --- /dev/null +++ b/IOT.Services/Service1.Designer.cs @@ -0,0 +1,38 @@ +namespace WindowsService1 +{ + partial class Service1 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + Logger.Shutdown(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.ServiceName = "Service1"; + } + + #endregion + } +} diff --git a/IOT.Services/Service1.cs b/IOT.Services/Service1.cs new file mode 100644 index 0000000..e347afc --- /dev/null +++ b/IOT.Services/Service1.cs @@ -0,0 +1,1179 @@ +using JinYuan.DataConvertLib; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using PLCCommunication.MQTT; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.ServiceProcess; +using System.Threading; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace WindowsService1 +{ + public partial class Service1 : ServiceBase + { + private readonly List _tasks = new List(); + private readonly CancellationTokenSource _cts = new CancellationTokenSource(); + + private PLCWrapper _plcWrapper; + private MqttClientWrapper mqttClient = null; + private System.Threading.Timer _periodicTimer; + + private Dictionary _collectionGroups; + private Dictionary> _plcAddresses; + + private AcquisitionType[] AcqTypes = null; + + private const int ReconnectionInterval = 5000; // 5 seconds + private const int MaxReconnectAttempts = 3; + + public string PlcIpAddress = "127.0.0.1"; + public int PlcPort = 9600; + + + public string MQTTServerAddress = "127.0.0.1"; + public int MQTTServerPort = 1883; + public string ClientId = "601UPW01"; + //PPM主题 + public string Topic = "EVE/60J/EQP/NEW_PPM/601UPW01"; + //PPM其他数据 + public string Topic1 = "eve/60J/EQP/601UPW01"; + //直角坐标机械臂 + public string LRobotTopic = "EVE/60J/LRobot/601PWM01_LUR01"; + //关节机械臂 + public string JRobotTopic = "EVE/60J/JRobot/601PWM01_STR01"; + + public MqttCredential credentials = null; + + public string BU_id = "EVE2BU"; + public string District_id = "QJ"; + public string Factory_id = "60J"; + public string Production_line_id = "MW-601"; + public string Device_name = "601UPW01"; + + public int ThreadInterval = 50; + public static bool SwitchLog = false; + + public Service1() + { + InitializeComponent(); + ServiceName = "TestMqttService"; + CanStop = true; // 服务可以被停止 + CanPauseAndContinue = false; + AutoLog = true; + + + } + + protected override void OnStart(string[] args) + { + Logger.WriteInfo($"OnStart:服务启动-{DateTime.Now}"); + InitializeConfig(); + _plcWrapper = new PLCWrapper(PlcIpAddress, PlcPort); + InitializeTask(); + InitializePLC(); + InitializeMQTT(); + + Task.Run(() => RunChangeDetectionTaskAsync(_cts.Token));// 启动变化检测任务 + + + Logger.WriteInfo($"OnStart:服务启动完毕-{DateTime.Now}"); + } + + protected override async void OnStop() + { + _cts.Cancel(); + _periodicTimer?.Dispose(); + // 停止 PLC 读取 + if (_plcWrapper != null) + { + _plcWrapper.Disconnect(); + Logger.WriteInfo("PLC 通讯停止."); + } + if (mqttClient != null) + { + await mqttClient.Disconnect(); + Logger.WriteInfo("MQTT 连接已关闭."); + } + Logger.WriteInfo("OnStop"); + } + + /// + /// 系统配置文件读取 + /// + private void InitializeConfig() + { + ReadConfigFromXml(); + PlcIpAddress = ConfigurationManager.AppSettings["PlcIpAddress"] ?? "127.0.0.1"; + PlcPort = int.Parse(ConfigurationManager.AppSettings["PlcPort"] ?? "9600"); + + MQTTServerAddress = ConfigurationManager.AppSettings["MQTTServerAddress"] ?? "127.0.0.1"; + MQTTServerPort = int.Parse(ConfigurationManager.AppSettings["MQTTServerPort"] ?? "1883"); + ClientId = ConfigurationManager.AppSettings["ClientId"] ?? "601UPW01"; + + Topic = ConfigurationManager.AppSettings["Topic"] ?? "EVE/60J/EQP/NEW_PPM/601UPW01"; + Topic1 = ConfigurationManager.AppSettings["Topic1"] ?? "eve/60J/EQP/601UPW01"; + LRobotTopic = ConfigurationManager.AppSettings["LRobotTopic"] ?? "EVE/60J/LRobot/601PWM01_LUR01"; + JRobotTopic = ConfigurationManager.AppSettings["JRobotTopic"] ?? "EVE/60J/JRobot/601PWM01_STR01"; + + BU_id = ConfigurationManager.AppSettings["BU_id"] ?? "601UPW01"; + District_id = ConfigurationManager.AppSettings["District_id"] ?? "QJ"; + Factory_id = ConfigurationManager.AppSettings["Factory_id"] ?? "60J"; + Production_line_id = ConfigurationManager.AppSettings["Production_line_id"] ?? "MW-601"; + Device_name = ConfigurationManager.AppSettings["Device_name"] ?? "601UPW01"; + ThreadInterval = int.Parse(ConfigurationManager.AppSettings["ThreadInterval"] ?? "50"); + SwitchLog = bool.Parse(ConfigurationManager.AppSettings["SwitchLog"] ?? "True"); + MqttDataService.BU_id = BU_id; + MqttDataService.District_id = District_id; + MqttDataService.Factory_id = Factory_id; + MqttDataService.Production_line_id = Production_line_id; + MqttDataService.Device_name = Device_name; + MqttDataService.Work_Center_id = "601FGE02"; + + Logger.WriteInfo("读取系统配置文件成功!"); + + + } + + private void ReadConfigFromXml() + { + try + { + var configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.xml"); + var doc = XDocument.Load(configPath); + string deviceName = ""; + _plcAddresses = new Dictionary>(); + _collectionGroups = new Dictionary(); + + foreach (var deviceElement in doc.Descendants("Device")) + { + var isEnabled = bool.Parse(deviceElement.Attribute("isEnable")?.Value ?? "false"); + + if (isEnabled) + { + deviceName = deviceElement.Attribute("name")?.Value; + + foreach (var groupElement in deviceElement.Elements("CollectionGroup")) + { + var groupName = groupElement.Attribute("name").Value; + Logger.WriteInfo($"添加寄存器组类型: {groupName}"); + + var acquisitionType = (AcquisitionType)Enum.Parse(typeof(AcquisitionType), groupName); + var groupConfig = new CollectionGroupConfig + { + Name = groupName, + StartAddress = groupElement.Attribute("StartAddress").Value, + Length = int.Parse(groupElement.Attribute("length").Value), + DefaultDataType = groupElement.Attribute("DataType")?.Value ?? "Short", + Types = new Dictionary() + }; + + var groupAddresses = new Dictionary(); + + foreach (var typeElement in groupElement.Elements("Type")) + { + var typeName = typeElement.Attribute("name").Value; + var typeAddress = typeElement.Attribute("address")?.Value ?? typeElement.Value; + var dataType = typeElement.Attribute("DataType")?.Value ?? groupConfig.DefaultDataType; + + // 创建TypeConfig对象 + var typeConfig = new TypeConfig + { + Name = typeName, + Address = typeAddress, + DataType = dataType + }; + + groupConfig.Types[typeName] = typeConfig; + groupAddresses[typeName] = typeAddress; + + Logger.WriteInfo($"添加类型: {typeName}, 地址: {typeAddress}, 数据类型: {dataType}"); + } + + _collectionGroups[acquisitionType] = groupConfig; + _plcAddresses[acquisitionType] = groupAddresses; + } + break; // 只处理第一个启用的Device + } + } + + Logger.WriteInfo($"读取 【{deviceName}】地址文件成功!!!"); + } + catch (Exception ex) + { + Logger.WriteError($"读取配置文件错误: {ex.Message}"); + } + } + + + + + private static PLCDataType DetermineDataType(string groupName, string dataTypeAttribute) + { + if (!string.IsNullOrEmpty(dataTypeAttribute)) + { + return (PLCDataType)Enum.Parse(typeof(PLCDataType), dataTypeAttribute); + } + if (!string.IsNullOrEmpty(groupName)) + { + AcquisitionType type = (AcquisitionType)Enum.Parse(typeof(AcquisitionType), groupName); + // 如果 DataType 属性为空,根据组名推断类型 + switch (type) + { + case AcquisitionType.PPM: + return PLCDataType.Short; + case AcquisitionType.Axis: + case AcquisitionType.Cylinder: + return PLCDataType.Float; + default: + throw new ArgumentException($"未知的组名: {groupName}"); + } + + } + else + { + throw new ArgumentException($"未知的组名: {groupName}"); + } + } + + + #region 初始化Task线程,PLC,MQTT + private void InitializeTask() + { + if (_collectionGroups != null && _collectionGroups.Count > 0) + { + List typesList = new List(); + foreach (var kvp in _collectionGroups) + { + switch (kvp.Key) + { + case AcquisitionType.Axis: + case AcquisitionType.Cylinder: + StartPeriodicTask(); // 启动定时读取任务 + break; + case AcquisitionType.PPM: + typesList.Add(kvp.Key); + break; + default: + break; + } + } + + // 将 List 转换为数组 + AcqTypes = typesList.ToArray(); + + // 如果需要,你可以在这里使用 types 数组 + if (AcqTypes.Length > 0) + { + Logger.WriteInfo("添加类型: " + string.Join(", ", AcqTypes)); + // 这里可以添加其他使用 types 数组的逻辑 + } + } + } + + + + + private async void InitializePLC() + { + try + { + bool connected = await _plcWrapper.ConnectAsync(); + if (connected) + { + Logger.WriteInfo("PLC初始化并连接成功."); + } + else + { + Logger.WriteInfo("无法连接 PLC."); + throw new Exception("PLC 连接失败"); + } + } + catch (Exception ex) + { + Logger.WriteError($"初始化 PLC 错误: {ex.Message}"); + } + } + + private async void InitializeMQTT() + { + try + { + mqttClient = new MqttClientWrapper(MQTTServerAddress, MQTTServerPort, ClientId, credentials); //初始化 + await mqttClient.InitializeAndConnectAsync();//连接MQTT + SubscribeTopic(Topic);//订阅主题 + SubscribeTopic(Topic1);//订阅主题1 + SubscribeTopic(LRobotTopic);//订阅直角坐标机械臂 + SubscribeTopic(JRobotTopic);//订阅关机机械臂 + } + catch (Exception ex) + { + Logger.WriteError($"连接 MQTT 代理时出错: {ex.Message}"); + } + } + + /// + /// 订阅主题 + /// + /// + private void SubscribeTopic(string topicToSubscribe) + { + mqttClient.OnMessageReceived += (timestamp, topic, message) => + { + //Console.WriteLine($"{timestamp} Topic[{topic}]: {message}"); + //Logger.WriteMqtt($"{timestamp} Topic[{topic}]"); + // 在这里更新你的 UI + }; + mqttClient.SubscribeMessage(topicToSubscribe, MqttClientWrapper.MessageFormat.Json, true); + } + + + /// + /// 类发布消息 + /// + /// + /// + /// + private async Task SendMqttAsync(string source, string publishTopic, string type, JObject messageObj) + { + try + { + if (publishTopic != null) + { + + await mqttClient.SendMessageAsync(source, publishTopic, type, messageObj); + } + } + catch (Exception ex) + { + + Console.WriteLine($"发布信息: {ex.Message}"); + } + + } + + + /// + /// 字符串发布消息 + /// + /// + /// + /// + /// + /// + private async Task SendMqttAsync(string source, string publishTopic, string type, string messageObj) + { + try + { + if (publishTopic != null) + { + + + await mqttClient.SendMessageAsync(source, publishTopic, type, messageObj); + } + } + catch (Exception ex) + { + + Console.WriteLine($"发布信息: {ex.Message}"); + } + + } + #endregion + + + #region 创建定时线程 + /// + /// 轴扭矩定时器采集线程 + /// + private void StartPeriodicTask() + { + Logger.WriteInfo("启动定期数据收集任务"); + _periodicTimer = new System.Threading.Timer(async _ => + { + try + { + Logger.WriteInfo($"定期触发任务: {DateTime.Now}"); + await CollectAndPublishData("AxisTask", new[] { AcquisitionType.Axis }); + await CollectAndPublishData("AxisTask", new[] { AcquisitionType.Cylinder }); + await CollectAndPublishData("LRobotTask", new[] { AcquisitionType.LRobot }); + Logger.WriteInfo($"定期任务完成: {DateTime.Now}"); + } + catch (Exception ex) + { + Logger.WriteError($"周期性任务执行错误: {ex.Message}"); + } + }, null, TimeSpan.Zero, TimeSpan.FromSeconds(1)); // 每秒执行一次 + } + + /// + /// 有变化数据采集线程 + /// + /// + /// + /// + + private async Task RunChangeDetectionTaskAsync(CancellationToken ct) + { + while (!ct.IsCancellationRequested) + { + if (_plcWrapper._plcIsConnected) + { + try + { + await CollectAndPublishData("ChangeTask", AcqTypes); + await Task.Delay(500, ct); + } + catch (OperationCanceledException) + { + // 正常取消,无需额外处理 + } + catch (Exception ex) + { + Logger.WriteError($"变更检测任务错误: {ex.Message}"); + await Task.Delay(1000, ct); + } + } + } + } + #endregion + + /// + /// 读取数据 + /// + /// + /// + /// + private async Task CollectAndPublishData(string source, AcquisitionType[] types) + { + const int maxRetries = 3; + for (int retry = 0; retry < maxRetries; retry++) + { + try + { + var requests = new List(); + foreach (var type in types) + { + var config = _collectionGroups[type]; + requests.Add(new PLCDataReadRequest + { + StartAddress = config.StartAddress, + Length = (ushort)config.Length, + StorageName = config.Name + }); + } + + foreach (var request in requests) + { + var result = await _plcWrapper._dataReader.ReadDataAsync(request); + if (result.IsSuccess) + { + await ProcessPLCData(source, request.StorageName, result.Data); + } + else + { + Logger.WriteInfo($"错误读取 {result.StorageName}: {result.ErrorMessage}"); + throw new Exception($"读取 PLC 数据失败: {result.ErrorMessage}"); + } + } + break; // 如果成功,退出重试循环 + } + catch (Exception ex) + { + Logger.WriteError($"Error {source}: {ex.Message}"); + if (retry < maxRetries - 1) + { + Logger.WriteInfo($"尝试重新连接到 PLC,尝试 {retry + 1}"); + bool reconnected = await AttemptReconnection(_cts.Token); + if (!reconnected) + { + Logger.WriteError("无法重新连接 PLC,放弃进一步尝试"); + break; + } + } + else + { + Logger.WriteError($"最大重试次数 ({maxRetries}) 已到达,放弃操作"); + } + } + } + } + + /// + /// 重连PLC + /// + /// + /// + private async Task AttemptReconnection(CancellationToken ct) + { + const int MaxReconnectAttempts = 3; + const int ReconnectionInterval = 5000; // 5 seconds + + for (int attempt = 1; attempt <= MaxReconnectAttempts; attempt++) + { + if (ct.IsCancellationRequested) + { + return false; + } + + Logger.WriteInfo($"尝试重新连接PLC,第 {attempt} 次尝试"); + bool reconnected = await _plcWrapper.ReconnectAsync(); + if (reconnected) + { + Logger.WriteInfo("PLC重新连接成功"); + return true; + } + + if (attempt < MaxReconnectAttempts) + { + await Task.Delay(ReconnectionInterval, ct); + } + } + Logger.WriteError($"PLC重新连接失败,已尝试 {MaxReconnectAttempts} 次"); + return false; + } + + + /// + /// 读取PLC数据 + /// + /// + /// + /// + /// + private async Task ProcessPLCData(string source, string acquisitionTypeName, byte[] data) + { + try + { + AcquisitionType type = (AcquisitionType)Enum.Parse(typeof(AcquisitionType), acquisitionTypeName); + var typeConfigs = GetTypeConfigs(type).ToList(); + bool hasChanges = false; + List processedValues = null; + + switch (type) + { + case AcquisitionType.PPM: + var ppmResult = ProcessShortData(type, data, typeConfigs); + hasChanges = ppmResult.hasChanges; + processedValues = ppmResult.values; + break; + + case AcquisitionType.Axis: + case AcquisitionType.Cylinder: + case AcquisitionType.LRobot: + var floatResult = ProcessFloatData(type, data, typeConfigs); + hasChanges = floatResult.hasChanges; + processedValues = floatResult.values; + break; + + default: + Logger.WriteError($"未知的采集类型: {type}"); + return; + } + + if (hasChanges && processedValues != null) + { + + // 上传到MQTT服务器 + await UpMQTTServerDataNew(source, type, processedValues); + } + else + { + Logger.WriteInfo($"{type} 数据未改变,未上传"); + } + } + catch (Exception ex) + { + Logger.WriteError($"处理 PLC 数据时出错(源: {source}, 类型: {acquisitionTypeName}): {ex.Message}"); + } + } + + // 相应地,ProcessFloatData方法也需要修改返回类型 + + private List _lastFloatStationData = new List(); + private (bool hasChanges, List values) ProcessFloatData(AcquisitionType type, byte[] rawData, List typeConfigs) + { + bool hasChanges = false; + var currentValues = new DataValue[typeConfigs.Count]; + + // 记录实际需要处理的数据点数量 + Logger.WriteInfo($"开始处理数据: typeConfigs.Count={typeConfigs.Count}, rawData.Length={rawData.Length}"); + var sw = new Stopwatch(); + sw.Restart(); + // 初始化数组为完整的大小 + currentValues = new DataValue[typeConfigs.Count]; + var stationDataList = new List(); + + try + { + // 第一步:处理所有Float类型数据(主数据) + var floatConfigs = typeConfigs.Where(t => t.DataType.Equals("Float", StringComparison.OrdinalIgnoreCase)).ToList(); + foreach (var config in floatConfigs) + { + // 从地址中提取偏移量 + if (int.TryParse(config.Address.Substring(1), out int address)) + { + int startAddress = int.Parse(typeConfigs[0].Address.Substring(1)); + int offset = (address - startAddress) * 2; + + if (offset >= 0 && offset + 4 <= rawData.Length) + { + byte[] valueBytes = new byte[4]; + for (int j = 0; j < 4; j++) + { + valueBytes[j] = (byte)(Convert.ToInt32(rawData[offset + j]) & 0xFF); + } + + object convertedValue = ConvertFromBytes(valueBytes, "Float"); + int index = typeConfigs.IndexOf(config); + currentValues[index] = new DataValue + { + Name = config.Name, + Value = convertedValue, + DataType = config.DataType + }; + } + } + } + + // 第二步:处理所有Short类型数据 + var shortConfigs = typeConfigs.Where(t => t.DataType.Equals("Short", StringComparison.OrdinalIgnoreCase)).ToList(); + foreach (var config in shortConfigs) + { + if (int.TryParse(config.Address.Substring(1), out int address)) + { + int startAddress = int.Parse(typeConfigs[0].Address.Substring(1)); + int offset = (address - startAddress) * 2; + + if (offset >= 0 && offset + 2 <= rawData.Length) + { + byte[] valueBytes = new byte[2]; + for (int j = 0; j < 2; j++) + { + valueBytes[j] = (byte)(Convert.ToInt32(rawData[offset + j]) & 0xFF); + } + + object convertedValue = ConvertFromBytes(valueBytes, "Short"); + int index = typeConfigs.IndexOf(config); + currentValues[index] = new DataValue + { + Name = config.Name, + Value = convertedValue, + DataType = config.DataType + }; + } + } + } + + // 第三步:组织StationData列表 + + foreach (var floatConfig in floatConfigs) + { + string baseName = floatConfig.Name; // 例如 "S_MagLev" + var mainValue = currentValues[typeConfigs.IndexOf(floatConfig)]?.Value; + // 先获取MainValue,如果为0则跳过这个工位,暂时不过滤 + //if (mainValue == null || Convert.ToDouble(mainValue) == 0) + //{ + // Logger.WriteInfo($"跳过工位 {baseName}: MainValue为0或null"); + // continue; + //} + + // 只检查MainValue是否与上一次的值相同,暂时不检查 + //var lastData = _lastStationData.FirstOrDefault(x => x.Name == baseName); + //if (lastData != null) + //{ + // bool valueEqual = Convert.ToDouble(lastData.MainValue) == Convert.ToDouble(mainValue); + + // if (valueEqual) + // { + // Logger.WriteInfo($"跳过工位 {baseName}: 值未变化 当前值:{mainValue}"); + // continue; + // } + + // Logger.WriteInfo($"工位 {baseName} 数值发生变化: {lastData.MainValue} -> {mainValue}"); + //} + + // 创建StationData对象 + var stationData = new StationData + { + Name = baseName, + MainValue = mainValue, + Timestamp = DateTime.Now, + }; + + stationDataList.Add(stationData); + Logger.WriteInfo($"添加工位数据: {stationData.Name}, 值: {stationData.MainValue}, 时间戳: {stationData.Timestamp:HH:mm:ss.fff}"); + } + + // 检查是否有新数据需要更新 + if (stationDataList.Any()) + { + hasChanges = true; // 如果有数据通过过滤,就表示有变化 + + // 创建深拷贝以避免引用问题 + _lastFloatStationData = stationDataList.Select(s => new StationData + { + Name = s.Name, + MainValue = s.MainValue, + Timestamp = s.Timestamp + }).ToList(); + + _lastFloatStationData = stationDataList;//把当前的新数据赋值到旧的集合中 + + + //// 记录变化信息 + //foreach (var newData in stationDataList) + //{ + // Logger.WriteInfo($"工位 {newData.Name} 更新: 时间戳: {newData.Timestamp:HH:mm:ss.fff}, 值: {newData.MainValue}"); + //} + } + else + { + Logger.WriteInfo("没有发现时间戳变化的数据"); + hasChanges = false; + } + + + sw.Stop(); + Logger.WriteInfo($"处理结束耗时:{sw.ElapsedMilliseconds}ms"); + return (hasChanges, stationDataList); + } + catch (Exception ex) + { + Logger.WriteError($"处理数据时出错: {ex.Message}"); + return (false, stationDataList); + } + + } + + + + + /// + /// 检测PPM数据是否有变化 + /// + /// + /// + private List _lastStationData = new List(); + + private readonly StationDataComparer2 _comparer = new StationDataComparer2(); + + private (bool hasChanges, List values) ProcessShortData(AcquisitionType type, byte[] rawData, List typeConfigs) + { + var sw = new Stopwatch(); + sw.Start(); + Logger.WriteInfo($"开始新一轮数据处理"); + + try + { + var currentStationData = new Dictionary(); + bool hasNewData = false; + + // 1. 获取所有主值配置(Float类型) + var mainValueConfigs = typeConfigs + .Where(t => string.Equals(t.DataType, "Float", StringComparison.OrdinalIgnoreCase)) + .OrderBy(t => int.Parse(t.Address.Substring(1))) + .ToList(); + + Logger.WriteInfo($"找到 {mainValueConfigs.Count} 个Float类型配置"); + foreach (var config in mainValueConfigs) + { + Logger.WriteInfo($"Float配置: {config.Name}, 地址: {config.Address}"); + } + + // 2. 获取所有时间配置(Short类型) + var timeConfigs = typeConfigs + .Where(t => string.Equals(t.DataType, "Short", StringComparison.OrdinalIgnoreCase)) + .ToList(); + + // 3. 首先读取所有工位的当前值和时间戳 + foreach (var mainConfig in mainValueConfigs) + { + string stationName = mainConfig.Name; + + // 读取主值 + double? mainValue = ReadFloatValue(mainConfig, rawData, typeConfigs[0].Address); + if (mainValue == null || mainValue <= 0) + { + Logger.WriteInfo($"工位 {stationName} 主值无效: {mainValue}"); + continue; + } + + // 读取时间组件 + DateTime timestamp = ReadTimestamp(stationName, timeConfigs, rawData, typeConfigs[0].Address); + + // 添加到当前数据集合 + currentStationData[stationName] = new StationData + { + Name = stationName, + MainValue = mainValue, + Timestamp = timestamp + }; + + Logger.WriteInfo($"读取工位数据: {stationName}, 值: {mainValue}, 时间: {timestamp:HH:mm:ss.fff}"); + } + + // 4. 比较新旧数据,确定是否有变化 + if (currentStationData.Any()) + { + if (_lastStationData == null || !_lastStationData.Any()) + { + hasNewData = true; + Logger.WriteInfo("首次数据采集,记录所有数据"); + } + else + { + // 检查每个工位的数据是否有变化 + foreach (var current in currentStationData.Values) + { + var lastData = _lastStationData.FirstOrDefault(x => x.Name == current.Name); + if (lastData == null) + { + hasNewData = true; + Logger.WriteInfo($"发现新工位数据: {current.Name}"); + break; + } + + // 检查值和时间戳是否都有变化 + bool valueChanged = Math.Abs(Convert.ToDouble(lastData.MainValue) - Convert.ToDouble(current.MainValue)) > 0.001; + bool timeChanged = Math.Abs((current.Timestamp - lastData.Timestamp).TotalMilliseconds) >= 500; + + if (valueChanged || timeChanged) + { + hasNewData = true; + Logger.WriteInfo($"工位 {current.Name} 数据发生变化 - 值变化: {valueChanged}, 时间变化: {timeChanged}"); + break; + } + } + } + } + + // 5. 如果有新数据,更新最后处理的数据 + var resultList = currentStationData.Values.ToList(); + if (hasNewData) + { + _lastStationData = new List(resultList); + Logger.WriteInfo($"更新状态数据,数量: {resultList.Count}"); + } + + sw.Stop(); + Logger.WriteInfo($"处理完成,耗时: {sw.ElapsedMilliseconds}ms, 数据点数量: {resultList.Count}, 有变化: {hasNewData}"); + + return (hasNewData, resultList); + } + catch (Exception ex) + { + Logger.WriteError($"数据处理错误: {ex.Message}\n{ex.StackTrace}"); + return (false, new List()); + } + } + + private double? ReadFloatValue(TypeConfig config, byte[] rawData, string baseAddress) + { + try + { + if (!int.TryParse(config.Address.Substring(1), out int address) || + !int.TryParse(baseAddress.Substring(1), out int startAddress)) + { + return null; + } + + int offset = (address - startAddress) * 2; + if (offset < 0 || offset + 4 > rawData.Length) + { + return null; + } + + byte[] valueBytes = new byte[4]; + Array.Copy(rawData, offset, valueBytes, 0, 4); + var value = ConvertFromBytes(valueBytes, "Float"); + return value != null ? Convert.ToDouble(value) : null; + } + catch + { + return null; + } + } + + private DateTime ReadTimestamp(string stationName, List timeConfigs, byte[] rawData, string baseAddress) + { + // 获取时间组件配置 + var hourConfig = timeConfigs.FirstOrDefault(t => t.Name == $"{stationName}_Hour"); + var minConfig = timeConfigs.FirstOrDefault(t => t.Name == $"{stationName}_Min"); + var secConfig = timeConfigs.FirstOrDefault(t => t.Name == $"{stationName}_Sec"); + var msecConfig = timeConfigs.FirstOrDefault(t => t.Name == $"{stationName}_MSec"); + + // 读取时间值 + int hour = ReadShortValue(hourConfig, rawData, baseAddress); + int minute = ReadShortValue(minConfig, rawData, baseAddress); + int second = ReadShortValue(secConfig, rawData, baseAddress); + int millisecond = ReadShortValue(msecConfig, rawData, baseAddress); + + // 验证时间值 + hour = Math.Min(Math.Max(hour, 0), 23); + minute = Math.Min(Math.Max(minute, 0), 59); + second = Math.Min(Math.Max(second, 0), 59); + millisecond = Math.Min(Math.Max(millisecond, 0), 999); + + // 获取当前时间 + var now = DateTime.Now; + + // 构建读取的时间 + var readTime = new DateTime( + now.Year, + now.Month, + now.Day, + hour, + minute, + second, + millisecond + ); + + // 如果读取的时间比当前时间大,说明应该是前一天的数据 + if (readTime > now) + { + readTime = readTime.AddDays(-1); + Logger.WriteInfo($"检测到跨天数据,调整日期为前一天: {readTime:yyyy-MM-dd HH:mm:ss.fff}"); + } + + return readTime; + } + + private int ReadShortValue(TypeConfig config, byte[] rawData, string baseAddress) + { + try + { + if (config == null || !int.TryParse(config.Address.Substring(1), out int address) || + !int.TryParse(baseAddress.Substring(1), out int startAddress)) + { + return 0; + } + + int offset = (address - startAddress) * 2; + if (offset < 0 || offset + 2 > rawData.Length) + { + return 0; + } + + byte[] valueBytes = new byte[2]; + Array.Copy(rawData, offset, valueBytes, 0, 2); + var value = ConvertFromBytes(valueBytes, "Short"); + return Convert.ToInt32(value); + } + catch + { + return 0; + } + } + + + + private object ConvertFromBytes(byte[] bytes, string dataType) + { + try + { + if (bytes == null || bytes.Length == 0) + return null; + + switch (dataType.ToLower()) + { + case "bool": + return BitConverter.ToInt16(bytes, 0) != 0; + case "short": + return ShortLib.GetShortFromByteArray(bytes, 0, DataFormat.CDAB); + case "int": + return IntLib.GetIntFromByteArray(bytes, 0, DataFormat.CDAB); + case "float": + return FloatLib.GetFloatFromByteArray(bytes, 0, DataFormat.CDAB); + default: + return ShortLib.GetShortFromByteArray(bytes, 0, DataFormat.CDAB); + } + } + catch (Exception ex) + { + Logger.WriteError($"转换数据类型失败: {BitConverter.ToString(bytes)} to {dataType}, {ex.Message}"); + return null; + } + } + + + + /// + /// 上传MQTT + /// + /// + /// + /// + /// + public async Task UpMQTTServerDataNew(string source, AcquisitionType type, List processedValues) + { + try + { + if (processedValues == null || processedValues.Count == 0) + { + return; + } + + //var addresses = _plcAddresses[type]; + //var config = _collectionGroups[type]; + + var message = MqttDataService.CreateMqttMessage(source, type, processedValues, _plcAddresses, _collectionGroups); + + if (message != null) + { + var messageJson = JsonConvert.SerializeObject(message, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + Formatting = Formatting.None + }); + if (type.ToString() == "PPM") + { + await SendMqttAsync(source, Topic, type.ToString(), messageJson); + } + else if (type.ToString() == "Axis" || type.ToString() == "Cylinder") + { + await SendMqttAsync(source, Topic1, type.ToString(), messageJson); + } + } + if (type.ToString() == "LRobot") + { + var message1 = MqttDataService.LRobotMessage(source, type, processedValues, _plcAddresses, _collectionGroups); + if (message1 != null) + { + var messageJson1 = JsonConvert.SerializeObject(message1, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + Formatting = Formatting.None + }); + if (type.ToString() == "LRobot") + { + await SendMqttAsync(source, LRobotTopic, type.ToString(), messageJson1); + } + } + } + + } + catch (Exception ex) + { + Logger.WriteError($"方法:上传MQTTServer数据,上传失败: {ex.Message}", ex); + } + } + + + + + private List ConvertToShortList(object[] data) + { + return data.Select(d => Convert.ToInt16(d)).ToList(); + } + + private List ConvertToFloatList(object[] data) + { + return data.Select(d => Convert.ToSingle(d)).ToList(); + } + + // 获取特定类型的数据类型 + public string GetDataType(AcquisitionType acquisitionType, string typeName) + { + if (_collectionGroups.TryGetValue(acquisitionType, out var groupConfig)) + { + if (groupConfig.Types.TryGetValue(typeName, out var typeConfig)) + { + return typeConfig.DataType; + } + } + return "Short"; // 默认返回Short类型 + } + + // 获取数据类型的字节大小 + public int GetTypeSize(string dataType) + { + switch (dataType.ToLower()) + { + case "bool": + return 2; // 在PLC中通常用2字节表示 + case "short": + return 2; // 2字节 + case "int": + return 4; // 4字节 + case "float": + return 4; // 4字节 + default: + return 2; // 默认2字节 + } + } + + // 获取组内所有类型配置 + public IEnumerable GetTypeConfigs(AcquisitionType acquisitionType) + { + if (_collectionGroups.TryGetValue(acquisitionType, out var groupConfig)) + { + return groupConfig.Types.Values; + } + return Enumerable.Empty(); + } + + + } + + + /// + /// 时间转化 + /// + + public static class DateTimeExtensions + { + public static long ToUnixTimeMilliseconds(this DateTime dateTime) + { + return (long)(dateTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds; + } + + public static long GetUnixTimestamp() + { + return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; + } + } + + // 辅助类 + public class DataValue + { + public string Name { get; set; } + public object Value { get; set; } + public string DataType { get; set; } + + public override bool Equals(object obj) + { + if (obj is DataValue other) + { + if (Value == null && other.Value == null) return true; + if (Value == null || other.Value == null) return false; + + switch (DataType.ToLower()) + { + case "float": + if (Value is float f1 && other.Value is float f2) + return Math.Abs(f1 - f2) < 0.000001f; + break; + case "bool": + if (Value is bool b1 && other.Value is bool b2) + return b1 == b2; + break; + } + + return Value.Equals(other.Value); + } + return false; + } + + public override int GetHashCode() + { + return Value?.GetHashCode() ?? 0; + } + } +} diff --git a/IOT.Services/StationDataComparer.cs b/IOT.Services/StationDataComparer.cs new file mode 100644 index 0000000..0963233 --- /dev/null +++ b/IOT.Services/StationDataComparer.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; + +namespace WindowsService1 +{ + /// + /// 判断工位耗时变化 + /// + public class StationDataComparer : IEqualityComparer + { + private const float FloatEpsilon = 0.000001f; // 可以调整精度 + + public bool Equals(StationData x, StationData y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null || y is null) return false; + + // 比较名称 + if (x.Name != y.Name) return false; + + // 比较主值 + if (x.MainValue is float xFloat && y.MainValue is float yFloat) + { + if (Math.Abs(xFloat - yFloat) > FloatEpsilon) return false; + } + else if (x.MainValue is double xDouble && y.MainValue is double yDouble) + { + if (Math.Abs(xDouble - yDouble) > FloatEpsilon) return false; + } + else if (!Equals(x.MainValue, y.MainValue)) + { + return false; + } + + // 比较时间戳(可以选择是否忽略毫秒) + return Math.Abs((x.Timestamp - y.Timestamp).TotalMilliseconds) < 1; + } + + public int GetHashCode(StationData obj) + { + if (obj is null) return 0; + + unchecked + { + int hash = 17; + hash = hash * 23 + (obj.Name?.GetHashCode() ?? 0); + + // 对于浮点数,可以先转换为整数再计算哈希 + if (obj.MainValue is float f) + { + hash = hash * 23 + ((int)(f * 1000000)).GetHashCode(); + } + else + { + hash = hash * 23 + (obj.MainValue?.GetHashCode() ?? 0); + } + + hash = hash * 23 + obj.Timestamp.GetHashCode(); + return hash; + } + } + } + + /// + /// 判断时间戳变化 + /// + public class StationDataComparer2 : IEqualityComparer + { + public bool Equals(StationData x, StationData y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null || y is null) return false; + + // 只比较名称和时间戳 + if (x.Name != y.Name) return false; + + // 比较时间戳,检查是否完全相同 + return x.Timestamp == y.Timestamp; + } + + public int GetHashCode(StationData obj) + { + if (obj is null) return 0; + + unchecked + { + int hash = 17; + hash = hash * 23 + (obj.Name?.GetHashCode() ?? 0); + hash = hash * 23 + obj.Timestamp.GetHashCode(); + return hash; + } + } + } +} diff --git a/IOT.Services/XmlConfigReader.cs b/IOT.Services/XmlConfigReader.cs new file mode 100644 index 0000000..4a95ee2 --- /dev/null +++ b/IOT.Services/XmlConfigReader.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Xml.Linq; + +namespace WindowsService1 +{ + public class XmlConfigReader + { + private Dictionary>> deviceData; + + public XmlConfigReader(string xmlContent) + { + XDocument doc = XDocument.Parse(xmlContent); + deviceData = ReadXmlToNestedDictionary(doc); + } + + public XmlConfigReader(XDocument doc) + { + deviceData = ReadXmlToNestedDictionary(doc); + } + + private Dictionary>> ReadXmlToNestedDictionary(XDocument doc) + { + var result = new Dictionary>>(); + var mainDevice = doc.Root.Element("Device"); + string mainDeviceName = mainDevice.Attribute("name").Value; + result[mainDeviceName] = new Dictionary>(); + + foreach (var subDevice in mainDevice.Elements("Device")) + { + string subDeviceName = subDevice.Attribute("name").Value; + result[mainDeviceName][subDeviceName] = new Dictionary(); + + foreach (var type in subDevice.Elements("Type")) + { + string typeName = type.Attribute("name").Value; + string typeValue = type.Value; + result[mainDeviceName][subDeviceName][typeName] = typeValue; + } + } + + return result; + } + + public void PrintStructure() + { + foreach (var mainDevice in deviceData) + { + Console.WriteLine($"Main Device: {mainDevice.Key}"); + foreach (var subDevice in mainDevice.Value) + { + Console.WriteLine($" Sub Device: {subDevice.Key}"); + foreach (var type in subDevice.Value) + { + Console.WriteLine($" Type: {type.Key}, Value: {type.Value}"); + } + } + } + } + + public bool TryGetValue(string mainDeviceName, string subDeviceName, string typeName, out string value) + { + value = null; + return deviceData.TryGetValue(mainDeviceName, out var mainDevice) && + mainDevice.TryGetValue(subDeviceName, out var subDevice) && + subDevice.TryGetValue(typeName, out value); + } + + public Dictionary>> GetAllData() + { + return deviceData; + } + } +} diff --git a/IOT.Services/log4net.config b/IOT.Services/log4net.config new file mode 100644 index 0000000..b177cf0 --- /dev/null +++ b/IOT.Services/log4net.config @@ -0,0 +1,62 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOT.Services/packages.config b/IOT.Services/packages.config new file mode 100644 index 0000000..92e2b4b --- /dev/null +++ b/IOT.Services/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/JinYuan.ControlCenter/ControlCenter.cs b/JinYuan.ControlCenter/ControlCenter.cs new file mode 100644 index 0000000..a1db5c1 --- /dev/null +++ b/JinYuan.ControlCenter/ControlCenter.cs @@ -0,0 +1,2039 @@ +using JinYuan.Helper; +using JinYuan.MES.Models; +using JinYuan.Models; +using JinYuan.VirtualDataLibrary; +using Language; +using MiniExcelLibs; +using PLC; +using PLC.PLCAlarm; +using PLCCommunication; +using PLCCommunication.Common; +using PLCCommunication.Common.DataConvert; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Net; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using static System.Runtime.CompilerServices.RuntimeHelpers; +using AlarmData = JinYuan.Models.AlarmData; +using DataType = PLC.DataType; + + +namespace JinYuan.ControlCenters +{ + public partial class ControlCenter : IDisposable + { + #region 1、变量定义 + private static readonly object uiLock = new object(); + private static ControlCenter _instance; + public static ControlCenter Instance + { + get + { + lock (uiLock) + { + return _instance ??= new ControlCenter(); + } + } + } + + private readonly Dictionary groups = new Dictionary(); + private Dictionary, PlcGroup, Task>> stationFunctions; + //private Dictionary, PlcGroup>> stationFunctions; + private readonly Dictionary> plcDeviceMapping = new Dictionary>(); + private readonly Dictionary groupTasks = new Dictionary(); + private readonly Dictionary plcAlarmReaders = new Dictionary(); + + public CancellationTokenSource _cts; + private Task _heartbeatTask; + private const int HeartbeatInterval = 1000; // 1 second + + private Dictionary group_status = new Dictionary(); + + /// + /// 定时器-定时刷新状态和数据 + /// + private System.Timers.Timer Timer_RefreshData; + + private readonly string configFolderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config"); + #endregion + + #region 2、初始化函数 + /// + /// 构造函数 + /// + private ControlCenter() + { + _cts = new CancellationTokenSource(); + + if (CommonMethods.plcDevices == null) + { + CommonMethods.plcDevices = new List(); + } + InitializeDevicesFromExcel(); + GetAlarmData(); + InitFunc(); + //initPrint();//打印机初始化 + Timer_RefreshData = new System.Timers.Timer(1000); + Timer_RefreshData.Elapsed += Timer_RefreshData_Elapsed; + Timer_RefreshData.Start(); + + // 轴位置监控 + //Task.Run(() => { ShowAxleEven_Run(); }); + + // 电机位置监控 + //Task.Run(() => { ShowMotorEven_Run(); }); + + //Mes心跳监控 + Task.Run(new Action(() => { UpdateMesHeartBeat(); })); + + //删除30天内日志 + //DeleteLog.Start(CommonMethods.strDeletepath);//会把整个ApiLog删除 + string[] clrPath = new string[] { CommonMethods.strAlarmLogspath, CommonMethods.strMesLogspath, CommonMethods.strWattrMeterpath, Application.StartupPath + "\\Logs\\" }; + short[] seltWay = new short[] { 0, 0, 0, 1 }; + DeleteLog.Start(clrPath, seltWay); + + if (!CommonMethods.IsRun) + { + CommonMethods.ResetEventRecv.Reset(); + } + } + + /// + /// 初始化 工位方法,添加到字典里面 + /// + private void InitFunc() + { + stationFunctions = new Dictionary, PlcGroup, Task>> + { + ["包装箱进站"] = FeedingStation, // 线头扫描,包装箱进站 + ["中部扫描"] = FeedingStationB, // 中部扫描 + ["尾部扫描"] = FeedingStationC, // 尾部扫描 + //["箱唛标签打印"] = PrintContainerStation, // 箱唛打印 + //["栈板标签打印"] = PrintPalletStation, // 栈板打印,O2不打印 + //["3S标签打印"] = Print3SStation, // 3S打印 在线网站拿数据的,贴标打印机自行打印 + //["6J标签打印"] = Print6JStation, // 6J打印 + //["绑定客户标签"] = BindingLabelStation, // 绑定客户标签 + ["包装箱出站"] = BlankingStation, // 包装箱出站 + ["中转数据"] = TransferStation, // 中转数据 + }; + } + + /// + /// 启动心跳及工位读取线程 + /// + /// + public async Task StartAsync() + { + CreatePLCThreads(); + _heartbeatTask = StartHeartbeatCheck(_cts.Token); + await Task.CompletedTask; + } + + /// + /// 加载配置文件 + /// + private void InitializeDevicesFromExcel() + { + CommonMethods.AddDataMonitorLog(1, "开始加载配置参数……".Translated()); + string deviceConfigPath = Path.Combine(configFolderPath, "Device.xlsx"); + string groupConfigPath = Path.Combine(configFolderPath, "Group.xlsx"); + string variableConfigPath = Path.Combine(configFolderPath, "Variable.xlsx"); + //string plcVariableConfigPath = Path.Combine(configFolderPath, "PLCVariable.xlsx"); + + if (!File.Exists(deviceConfigPath) || !File.Exists(groupConfigPath) || !File.Exists(variableConfigPath)) + { + LogHelper.Instance.WriteError("配置文件不存在"); + return; + } + + try + { + var deviceConfigs = MiniExcel.Query(deviceConfigPath).ToList(); + var groupConfigs = MiniExcel.Query(groupConfigPath).ToList(); + var variableConfigs = MiniExcel.Query(variableConfigPath).ToList(); + + foreach (var deviceConfig in deviceConfigs.Where(d => d.IsActive)) + { + IPEndPoint iep = new IPEndPoint(IPAddress.Parse(deviceConfig.IPAddress), deviceConfig.Port); + PlcReadWriteBase plc = PLCFactory.CreatePLC(GetPLCTypeEnum(deviceConfig.PLCType), deviceConfig.PlcNum, $"PLC_{deviceConfig.PlcNum}", iep); + + deviceConfig.Cts = new CancellationTokenSource(); + deviceConfig.GroupList = groupConfigs + .Where(g => g.IsActive && g.PlcNum == deviceConfig.PlcNum) + .ToList(); + + foreach (var group in deviceConfig.GroupList) + { + group.VarList = variableConfigs + .Where(v => v.GroupName == group.GroupName && v.PlcNum == deviceConfig.PlcNum) + .ToList(); + + group_status[group.GroupName] = 0; + } + + plcDeviceMapping[plc] = new List { deviceConfig }; + CommonMethods.plcDevices.Add(plc); + + // 初始化 PLCAlarm Reader报警读取 + var alarmReader = new PLCAlarmReader( + Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AlarmConfig.csv"), + Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AlarmRecords"), + RecordType.RecordWhenFinish, + false + ); + + //alarmReader.PLCAlarm_New += AlrmReader_PLCAlarm_New; + //alarmReader.PLCAlarm_Remove += AlrmReader_PLCAlarm_Remove; + plcAlarmReaders[plc] = alarmReader; + + CommonMethods.plcStatuses[plc] = new Dictionary + { + ["OldStatus"] = (short)0, + ["StatusCount"] = 0, + ["GuidAlarm"] = string.Empty, + ["Status"] = new List { false, false, false, false } + }; + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"加载配置失败:{ex.Message}"); + } + CommonMethods.AddDataMonitorLog(1, "配置文件加载完成".Translated()); + } + + #endregion + + #region 3、PLC读写 + + #region 创建PLC线程 几个工位就几个线程 + /// + /// 按工位读取线程 + /// + /// + private readonly Dictionary groupThreads = new Dictionary(); + private readonly object lockObject = new object(); + private void CreatePLCThreads() + { + for (int i = 0; i < CommonMethods.plcDevices.Count; i++) + { + var plc = CommonMethods.plcDevices[i]; + if (plcDeviceMapping.TryGetValue(plc, out var plcDevices)) + { + foreach (var plcDevice in plcDevices) + { + foreach (var plcGroup in plcDevice.GroupList.Where(g => g.IsActive)) + { + string threadKey = $"{plcDevice.PlcNum}-{plcGroup.GroupName}"; + + var parameter = (group: plcGroup, plcIndex: i); + + Thread thread = new Thread(new ParameterizedThreadStart(ReadPLCWorkModel)); + thread.IsBackground = true; + thread.Priority = ThreadPriority.Highest; + lock (lockObject) + { + groupThreads[threadKey] = thread; + } + thread.Start(parameter); + } + } + } + } + } + #endregion + + #region 循环读取PLC工位状态 + /// + /// 读取PLC循环工位 + /// + /// + /// + private void ReadPLCWorkModel(object parameter) + { + if (parameter is ValueTuple tuple) + { + var (group, plcIndex) = tuple; + + while (!_cts.Token.IsCancellationRequested) + { + if (CommonMethods.IsRun) + { + if (CommonMethods.plcDevices[plcIndex].IsConnected) + { + try + { + JYResult OpenValue = CommonMethods.plcDevices[plcIndex].ReadValue>(group.VarList[0].VarAddress, DataType.Short); + if (OpenValue.IsSuccess && OpenValue.Content == 1 && group_status[group.GroupName] == 0) + { + group_status[group.GroupName] = 1; + JYResult resByte = CommonMethods.plcDevices[plcIndex].ReadValue>($"{group.VarList[2].VarAddress}", + DataType.ArrByte, Convert.ToUInt16(group.VarList[2].OffsetOrLength)); + + if (resByte != null && stationFunctions.TryGetValue(group.GroupName, out var action)) + { + Task.Run(() => action(resByte, group)); + } + } + else if (OpenValue.IsSuccess && OpenValue.Content == 0) // 触发地址被PLC清0后的处理处理 + { + if(group_status[group.GroupName] != 0) + { + group_status[group.GroupName] = 0; + CommonMethods.AddDataMonitorLog(0, $"{group.GroupName} PLC设置为0,清空状态为0"); + } + JYResult checkValue = CommonMethods.plcDevices[plcIndex].ReadValue>(group.VarList[1].VarAddress, DataType.Short); + if (checkValue.IsSuccess && checkValue.Content != 0) + { + CommonMethods.plcDevices[plcIndex].WriteValue(group.VarList[1].VarAddress, 0, DataType.Short); + LogHelper.Instance.WriteLog($"记录: {group.VarList[1].VarAddress}清0"); + } + } + } + catch (Exception ex) + { + group_status[group.GroupName] = 0; + LogHelper.Instance.WriteError($"错误: {group.GroupName} - {ex.Message}"); + } + } + } + Thread.Sleep(50); + } + } + } + #endregion + + #region 开始停止联机事件 + /// + /// 开始联机 + /// + /// + + public async Task ConnectAllPlcsAsync() + { + bool allConnected = true; + if (CommonMethods.plcDevices.Count <= 0) + { + CommonMethods.AddDataMonitorLog(1, "无PLC配置信息".Translated() + "," + "请检查配置文件".Translated()); + return allConnected = false; + } + foreach (var plc in CommonMethods.plcDevices) + { + if (plcDeviceMapping.TryGetValue(plc, out var plcDevices)) + { + foreach (var deviceConfig in plcDevices) + { + string msg = ""; + try + { + // 使用 Task.Run 来在后台线程执行连接操作 + bool isConnected = await Task.Run(() => + { + // 设置一个连接超时 + using (var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10))) // 10秒超时 + { + try + { + return plc.Connect(ref msg); + } + catch (OperationCanceledException) + { + msg = "连接超时"; + return false; + } + } + }).ConfigureAwait(false); + + deviceConfig.IsConnected = isConnected; + + if (!deviceConfig.IsConnected) + { + allConnected = false; + LogHelper.Instance.WriteLog($"连接PLC失败: {deviceConfig.PlcNum}, 错误: {msg}"); + CommonMethods.AddDataMonitorLog(1, "连接PLC失败".Translated() + $": {deviceConfig.PlcNum}, " + "错误".Translated() + $": {msg}"); + } + else + { + await SendRightToPLCAsync(); + CommonMethods.AddDataMonitorLog(0, "成功连接PLC".Translated() + $": {deviceConfig.PlcNum}"); + } + } + catch (Exception ex) + { + allConnected = false; + LogHelper.Instance.WriteLog($"连接PLC时发生异常: {deviceConfig.PlcNum}, 错误: {ex.Message}"); + CommonMethods.AddDataMonitorLog(2, "连接PLC时发生异常".Translated() + $": {deviceConfig.PlcNum}" + "错误".Translated() + $": {ex.Message}"); + } + } + } + } + return allConnected; + } + + /// + /// 断开链接 + /// + public void DisconnectAllPlcs() + { + foreach (var plc in CommonMethods.plcDevices) + { + if (plcDeviceMapping.TryGetValue(plc, out var plcDevices)) + { + foreach (var deviceConfig in plcDevices) + { + plc.Disconnect(); + deviceConfig.IsConnected = false; + CommonMethods.AddDataMonitorLog(0, "已断开与PLC".Translated() + $"[{deviceConfig.PlcNum}]" + "的链接".Translated()); + } + } + } + } + #endregion + #endregion + + #region MES + /// + /// Mes心跳 + /// + private void UpdateMesHeartBeat() + { + Thread.Sleep(100); + while (true)//true + { + try + { + if (CommonMethods.mesConfig.IsLoginMesOK && CommonMethods.IsRun)//CommonMethods.mesConfig.isUpMes && + { + if (Ping() == true) + { + CommonMethods.mesConfig.isConnected = true; + } + else//Ping失败,提示检查线路。 + { + CommonMethods.mesConfig.isConnected = false; + if (DateTime.Now.Second % 10 == 0) + { + string errStr = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")},Mes心跳Ping失败,IP:{CommonMethods.mesConfig.MESURLAddressIP},端口号:{CommonMethods.mesConfig.MESURLAddressPort}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{DateTime.Now.ToString("yyyyMMdd")}\Mes心跳报警\{DateTime.Now.ToString("HH")}.txt", errStr); + } + } + } + } + catch (Exception ex) + { + string errStr = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")},Mes心跳Ping异常,IP:{CommonMethods.mesConfig.MESURLAddressIP},端口号:{CommonMethods.mesConfig.MESURLAddressPort},原因:{ex.ToString()}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{DateTime.Now.ToString("yyyyMMdd")}\Mes心跳报警\{DateTime.Now.ToString("HH")}.txt", errStr); + } + Thread.Sleep(1000); + } + } + + /// + /// Ping 检查网络线路问题 + /// + /// + public bool Ping() + { + try + { + string strIP = CommonMethods.mesConfig.MESURLAddressIP; + int port = Convert.ToInt32(CommonMethods.mesConfig.MESURLAddressPort); + IPAddress ip = IPAddress.Parse(strIP); + IPEndPoint _endPoint = new IPEndPoint(ip, port); + + if (_endPoint.Address == null) + { + return false; + } + + Ping _ping = new Ping(); + int timeout = 1000; + PingReply mPingRcv = _ping.Send(_endPoint.Address, timeout); + return (mPingRcv.Status == IPStatus.Success) ? true : false; + } + catch (Exception ex) + { + string errStr = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")},Mes心跳Ping异常,IP:{CommonMethods.mesConfig.MESURLAddressIP},端口号:{CommonMethods.mesConfig.MESURLAddressPort},原因:{ex.ToString()}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{DateTime.Now.ToString("yyyyMMdd")}\Mes心跳报警\{DateTime.Now.ToString("HH")}.txt", errStr); + return false; + } + + } + #endregion + + #region 4、心跳和状态检查 + /// + /// 心跳检测 + /// + /// + /// + private async Task StartHeartbeatCheck(CancellationToken cancellationToken) + { + while (!cancellationToken.IsCancellationRequested) + { + if (CommonMethods.IsRun) + { + foreach (var plc in CommonMethods.plcDevices) + { + if (plcDeviceMapping.TryGetValue(plc, out var plcDevices)) + { + foreach (var plcDevice in plcDevices) + { + if (plcDevice.IsActive && plcDevice.IsHeartBeat) + { + await CheckHeartbeatForDevice(plc, plcDevice); + //await ShowStateEven_RunAsync(); + } + } + } + } + } + await Task.Delay(HeartbeatInterval, cancellationToken); + } + } + + /// + /// + /// + /// + /// + /// + private async Task CheckHeartbeatForDevice(PlcReadWriteBase plc, PlcDevice plcDevice) + { + if (plcDevice.IsConnected) + { + JYResult result = await Task.Run(() => plc.ReadValue>(plcDevice.HeartBeat, DataType.Short)); + if (result.IsSuccess) + { + plcDevice.ErrorTimes = 0; + JYResult res = await Task.Run(() => plc.WriteValue(plcDevice.HeartBeat, (short)1, DataType.Short)); + if (!res.IsSuccess) + { + plcDevice.IsConnected = false; + LogHelper.Instance.WriteLog($"PLC编号:{plcDevice.PlcNum}=心跳写入异常:{res.Message}!!!"); + } + } + else + { + HandleHeartbeatFailure(plcDevice, result); + } + } + else + { + await ReconnectDevice(plc, plcDevice); + } + } + + private void HandleHeartbeatFailure(PlcDevice plcDevice, JYResult result) + { + plcDevice.ErrorTimes++; + plcDevice.IsConnected = false; + if (plcDevice.ErrorTimes >= plcDevice.AllowErrorTimes) + { + LogHelper.Instance.WriteLog($"编号:[{plcDevice.PlcNum}]的PLC链接断开:{result.Message}"); + } + } + + private async Task ReconnectDevice(PlcReadWriteBase plc, PlcDevice plcDevice) + { + if (!plcDevice.IsFirstConnect) + { + await Task.Delay(plcDevice.ReConnectTime); + plc.Disconnect(); + } + string msg = ""; + var connectResult = await Task.Run(() => plc.Connect(ref msg)); + plcDevice.IsConnected = connectResult; + LogHelper.Instance.WriteLog(connectResult + ? $"PLC编号:{plcDevice.PlcNum}{(plcDevice.IsFirstConnect ? "初次" : "重新")}连接成功{msg}!" + : $"[{plcDevice.PlcNum}]#PLC{(plcDevice.IsFirstConnect ? "初次" : "重新")}连接失败{msg}!"); + + plcDevice.IsFirstConnect = false; + } + + #endregion + + #region 5、报警处理 × + //private async Task CheckAlarmsAsync(PlcReadWriteBase plc, string guidAlarm) + //{ + // if (plc == null) + // { + // CommonMethods.AddDataMonitorLog(2, "PLC 对象为 null".Translated()); + // return; + // } + + // if (!plc.IsConnected) + // { + // CommonMethods.AddDataMonitorLog(2, "PLC 未连接".Translated()); + // return; + // } + + // if (plcAlarmReaders.TryGetValue(plc, out var alarmReader)) + // { + // try + // { + // JYResult result = null; + + // // 使用 Task.Run 和超时机制 + // var task = Task.Run(() => + // { + // try + // { + // return plc.ReadValue>("D10000", DataType.ArrUshort, 20); + // } + // catch (Exception ex) + // { + // CommonMethods.AddDataMonitorLog(2, "PLC 读取过程中发生异常".Translated() + $": {ex.Message}"); + // return null; + // } + // }); + + // // 设置5秒超时 + // if (await Task.WhenAny(task, Task.Delay(5000)) == task) + // { + // result = await task; + // } + // else + // { + // throw new TimeoutException("PLC 读取操作超时"); + // } + + // if (result == null) + // { + // throw new InvalidOperationException("PLC 读取操作返回空结果"); + // } + + // if (!result.IsSuccess) + // { + // throw new InvalidOperationException($"PLC 读取操作失败: {result.Message}"); + // } + + // if (result.Content == null) + // { + // throw new InvalidOperationException("PLC 读取操作返回空内容"); + // } + + // ushort[] alarmData = result.Content; + + // // 使用 alarmData 进行后续操作 + // bool isAlarming = alarmReader.IsPLCAlarm(10000, 20, alarmData); + + // if (isAlarming) + // { + // foreach (var alarm in alarmReader.RecordAlarms) + // { + // CommonMethods.AddDataMonitorLog(1, $"当前报警: 代码 {alarm.AlarmCode}, 内容 {alarm.AlarmInfo}, 开始时间 {alarm.StartTime}"); + // } + // } + // } + // catch (Exception ex) + // { + // CommonMethods.AddDataMonitorLog(2, $"检查报警时发生错误: {ex.Message}"); + // } + // } + // else + // { + // CommonMethods.AddDataMonitorLog(2, $"未找到 PLC 的报警读取器"); + // } + //} + + /// + /// 新增报警 + /// + /// + /// + //private void AlrmReader_PLCAlarm_New(object sender, RecordAlarmDataArgs e) + //{ + // Task.Run(() => + // { + // CommonMethods.alarmManager.AddAlarm(e); + // Debug.WriteLine($"新报警: 代码 {e.AlarmCode}, 内容 {e.AlarmInfo}, 日期 {e.AlarmDate}, 开始时间 {e.StartTime:HH:mm:ss}"); + // }); + //} + + /// + /// 报警结束移除报警 + /// + /// + /// + //private void AlrmReader_PLCAlarm_Remove(object sender, RecordAlarmDataArgs e) + //{ + // Task.Run(() => + // { + // CommonMethods.alarmManager.RemoveAlarm(e); + // Debug.WriteLine($"报警清除: 代码 {e.AlarmCode}, 内容 {e.AlarmInfo}, 日期 {e.AlarmDate}, 结束时间 {DateTime.Now:HH:mm:ss}"); + // }); + //} + + #endregion + + #region 6、设备状态检查 × + + /// + /// 设备状态 + /// + /// + //private async Task ShowStateEven_RunAsync() + //{ + // try + // { + // string Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + // foreach (var plc in CommonMethods.plcDevices) + // { + // if (plcDeviceMapping.TryGetValue(plc, out var plcDevices)) + // { + // foreach (var plcDevice in plcDevices) + // { + // if (plcDevice.IsConnected) + // { + // var plcStatus = CommonMethods.plcStatuses[plc]; + // bool isUpload = false; + // string deviceStatus = string.Empty; + // string deviceStatusDesc = string.Empty; + // short newStatus = 100; + // newStatus = await Task.Run(() => plc.ReadValue>("D10", DataType.Short).Content); + + // if (newStatus != 100) + // { + // if (newStatus != (short)plcStatus["OldStatus"]) + // { + // // 从 Alert 切换到非 Alert 状态时,上传报警信息 + // if ((short)plcStatus["OldStatus"] == 3 && newStatus != 3) + // { + // await CheckAlarmsAsync(plc, (string)plcStatus["GuidAlarm"]); + // } + + // // 只要状态变更,就生成新的 GUID + // plcStatus["GuidAlarm"] = Guid.NewGuid().ToString(); + + // isUpload = true; + // plcStatus["StatusCount"] = 0; + // plcStatus["OldStatus"] = newStatus; + // } + // else + // { + // plcStatus["StatusCount"] = (int)plcStatus["StatusCount"] + 1; + // if ((int)plcStatus["StatusCount"] >= 5 * 60) + // { + // isUpload = true; + // plcStatus["StatusCount"] = 0; + // } + // } + + // (deviceStatus, deviceStatusDesc) = newStatus switch + // { + // 1 => ("Run", "正常运行"), + // 2 => ("Maintain", "停止运行"), + // 3 => ("Alert", "故障调试"), + // 4 => ("Idle", "闲置待机"), + // _ => (string.Empty, string.Empty) + // }; + + // plcStatus["Status"] = new List { newStatus == 1, newStatus == 2, newStatus == 3, newStatus == 4 }; + // CommonMethods.Statues = new List { newStatus == 1, newStatus == 2, newStatus == 3, newStatus == 4 }; + // if (newStatus == 3) //报警状态 + // { + // await CheckAlarmsAsync(plc, (string)plcStatus["GuidAlarm"]); + // } + // else if (newStatus == 4) //闲置状态 + // { + // await ShowStuesEven_Run(Date, (string)plcStatus["GuidAlarm"], plc); + // } + + // if (isUpload) + // { + // CommonMethods.AddDataMonitorLog(1, $"PLC[{plcDevice.PlcNum}]状态: {deviceStatusDesc}"); + // } + // if (CommonMethods.sysConfig.MesModeSwitching) + // { + // // 上传设备状态信息 + // if (CommonMethods.sysConfig.MesModeSwitching && isUpload && (newStatus == 1 || newStatus == 3 || newStatus == 4)) + // { + // var (success, message) = await CommonMethods.hbgMes.UploadEquStatusAsync( + // CommonMethods.mesConfig.DeviceStatus, + // CommonMethods.mesConfig.siteCode, + // CommonMethods.mesConfig.lineCode, + // CommonMethods.mesConfig.equipNum, + // CommonMethods.mesConfig.MaterialCode, + // CommonMethods.mesConfig.mesUserName, + // strGuidAlarm, // RUN 状态时传空 + // deviceStatus, + // null + // ); + + // if (success) + // { + // StatuesCount = 0; + // } + // } + // } + // } + // } + // } + // } + // } + // } + // catch (Exception ex) + // { + // await Task.Run(() => LogHelper.Instance.WriteEX(ex)); + // } + //} + + + /// + /// HMI手动触摸屏状态 + /// + /// + /// + /// + /// + //private async Task ShowStuesEven_Run(string Date, string strGuid, PlcReadWriteBase plc) + //{ + // if (plc.IsConnected) + // { + // string strCode = ""; + // string strText = ""; + // short HMIStatus = await Task.Run(() => plc.ReadValue>("D40", DataType.Short).Content); + + // if (HMIStatus != 0) + // { + // CommonMethods.AddDataMonitorLog(1, "触发了手动HMI弹窗功能!"); + // (strCode, strText) = HMIStatus switch + // { + // 1 => ("B1", "计划维保"), + // 2 => ("B2", "无生产计划"), + // 3 => ("B3", "样品、试产"), + // 4 => ("B4", "其他计划停机"), + // 5 => ("D1", "设备故障"), + // 6 => ("D2", "设备转型"), + // 7 => ("D3", "工程变更"), + // 8 => ("D4", "MES停机"), + // 9 => ("D5", "品质异常"), + // 10 => ("D6", "配件、物料更换"), + // 11 => ("D7", "来料不良"), + // 12 => ("D8", "待料"), + // 13 => ("D9", "品质检查"), + // 14 => ("D10", "清洁点检"), + // 15 => ("D11", "环境不满足"), + // 16 => ("D12", "其它非计划停机"), + // _ => (string.Empty, string.Empty) + // }; + + // if (!string.IsNullOrEmpty(strCode)) + // { + // CommonMethods.AddDataMonitorLog(1, $"{strCode} {strText}"); + // } + + + // if (CommonMethods.sysConfig.MesModeSwitching) + // { + // List alarmObj = new List(); + // AlarmData alarmData = new AlarmData(); + // alarmData.AlarmCode = strCode; + // alarmData.StartTime = ""; + // alarmData.EndTime = ""; + // alarmData.AlarmType = "非计划损失"; + // alarmData.AlarmContent = strText; + // alarmObj.Add(alarmData); + // //上传报警 + // var (success, message) = await CommonMethods.hbgMes.UploadEquAlarmAsync(CommonMethods.mesConfig.DeviceAlarm, CommonMethods.mesConfig.siteCode, CommonMethods.mesConfig.lineCode, + // CommonMethods.mesConfig.equipNum, CommonMethods.mesConfig.MaterialCode, CommonMethods.mesConfig.mesUserName, alarmObj, strGuid); + // if (success) + // CommonMethods.AddDataMonitorLog(0, $"HMI手动弹窗状态已上传成功,代码:{strCode}"); + // } + // bool IsSuccess = CommonMethods.plcDevices[0].WriteInt16("D40", 0); + // if (IsSuccess) + // CommonMethods.AddDataMonitorLog(0, $"D40已复位0"); + + // } + // } + //} + + #endregion + + #region 定时刷新数据 + + int TotalNum = 0; + int TotalNum1 = 0; + int Regular = 0; + int JetBeat = 0; + private void Timer_RefreshData_Elapsed(object sender, System.Timers.ElapsedEventArgs e) + { + if (Regular >= 300) + { + Task.Run(() => + { + UploadEquEnergy();//能耗 + //ReUpProducResultParam();//定时补传 + }); + Regular = 0; + } + if (TotalNum > 4) + { + GetEnergyData(); + //GetEnergyDataFormPlc(); + Refresh12HourProdQty(); + GetDefectTypeQty(); + ReadPLCComm(); + + GetASqlAlarmData(DateTime.Today, CommonMethods.strClass); + TotalNum = 0; + } + else if (TotalNum == 2)//设备状态读取 + { + SetClass(); //变更班次 + } + + Task.Run(() => + { + ShowStateEven_Run(); + }); + + if (TotalNum1 >= 3600 * 24) + { + Task.Run(() => + { + DeleteFileOfLocal(); + }); + TotalNum1 = 0; + } + + //电能表心跳 + //if (jetBeat > 5) + //{ + // if (!CommonMethods.energyMeter.Connected) + // { + // CommonMethods.energyMeter.SetTCPParams(IPAddress.Parse("192.168.1.25"), 502); + // CommonMethods.energyMeter.Connect(); + // } + // jetBeat = 0; + //} + + //jetBeat++; + TotalNum++; + TotalNum1++; + Regular++; + } + #endregion + + #region 设备综合信息 + /// + /// 读取PLC通用信息 + /// + internal void ReadPLCComm() + { + if (CommonMethods.plcDevices.Count != 0 && CommonMethods.plcDevices[0].IsConnected) + { + Task.Run(() => + { + UpTotalCount(null); + }); + + CommonMethods.TotalQty = CommonMethods.plcDevices[0].ReadFloat("D15");//生产总数 + CommonMethods.ProOKQty = CommonMethods.plcDevices[0].ReadFloat("D17");//良品总数 + + CommonMethods.Ppm = CommonMethods.plcDevices[0].ReadFloat("D13"); + CommonMethods.JiaDL = Convert.ToDouble(CommonMethods.plcDevices[0].ReadFloat("D11").ToString("F2")); + + #region 开机时间/运行时间 + CommonMethods.PlcOpenAndRunTime = GetList(6, 0); + JYResult resByte = CommonMethods.plcDevices[0].ReadValue>($"D50", DataType.ArrByte, 12); + if (resByte.IsSuccess && resByte.Content.Length >= 24) + { + for (int i = 0; i < CommonMethods.PlcOpenAndRunTimeAdress.Count; i++) + { + CommonMethods.PlcOpenAndRunTime[i] = IntLib.GetIntFromByteArray(resByte.Content, i * 4, DataFormat.CDAB);//ShortLib.GetShortFromByteArray(resByte.Content, i * 4, DataFormat.CDAB); + } + } + #endregion + } + + } + #endregion + + #region 保存12小时产能数据 + public int totalNum = 0; // 总数 + public int okNum = 0; // 良品数 + + /// + /// 储存数据到数据库 + /// + /// + public void UpTotalCount(int[] DataCount) + { + + try + { + DateTime dateTime = DateTime.Now; + string strDate = dateTime.ToString("yyyy-MM-dd"); + + // 获取当前时间的小时和分钟 + int currentHour = dateTime.Hour; + int currentMinute = dateTime.Minute; + + // 根据当前分钟确定统计小时 + // 如果当前时间在 X:30 之前,则统计的是前一个小时的数据(从前一个小时的30分到这个小时的29分) + // 如果当前时间在 X:30 之后,则统计的是当前小时的数据(从当前小时的30分到下个小时的29分) + int statisticalHour; + if (currentMinute < 30) + { + statisticalHour = (currentHour + 23) % 24; // 前一个小时,处理跨天的情况 + // 如果是凌晨0点前的数据,需要使用前一天的日期 + if (currentHour == 0) + { + strDate = dateTime.AddDays(-1).ToString("yyyy-MM-dd"); + } + } + else + { + statisticalHour = currentHour; + } + + // 数据有效性验证 + if (statisticalHour < 0 || statisticalHour > 23) + { + throw new ArgumentException($"无效的小时值: {statisticalHour}"); + } + + //读取统计小时的PLC投入总数和产出数 + int ProdCurrAllQty = GetToDayHourQty(statisticalHour, true); + int ProdCurrOKQty = GetToDayHourQty(statisticalHour, false); + + // 确保数量为非负数 + if (ProdCurrAllQty < 0 || ProdCurrOKQty < 0) + { + LogHelper.Instance.WriteError($"产量不能为负数: 投入={ProdCurrAllQty}, 产出={ProdCurrOKQty}"); + //throw new ArgumentException($"产量不能为负数: 投入={ProdCurrAllQty}, 产出={ProdCurrOKQty}"); + } + + Hourprod mh = new Hourprod + { + FDate = strDate, + FHour = statisticalHour, + ProdIn = ProdCurrAllQty, + ProdOut = ProdCurrOKQty, + TestTime = dateTime, + Ppm = (int)CommonMethods.Ppm, + JiaDL = Convert.ToDecimal(CommonMethods.JiaDL) + }; + + // 尝试更新记录 + int res = CommonMethods.db.UpdateSingle( + mh, + it => new Hourprod + { + ProdIn = mh.ProdIn, + ProdOut = mh.ProdOut, + TestTime = mh.TestTime, + Ppm = mh.Ppm, + JiaDL = mh.JiaDL + }, + it => it.FDate == mh.FDate && it.FHour == mh.FHour + ); + + // 如果更新失败(记录不存在),则新增记录 + if (res <= 0) + { + bool addResult = CommonMethods.db.AddReturnBool(mh); + if (!addResult) + { + LogHelper.Instance.WriteError($"保存小时产能新增记录失败"); + } + } + + // 可以添加日志记录成功信息 + // Logger.Log($"成功更新/新增产能数据: 日期={strDate}, 小时={statisticalHour}, 时段={statisticalHour}:30~{(statisticalHour + 1) % 24}:29"); + } + catch (Exception ex) + { + // 这里应该添加错误日志记录 + LogHelper.Instance.WriteEX($"保存小时产能数据失败: ", ex); + } + } + + /// + /// 每小时产能读取处理 + /// + /// + /// + /// + private int GetToDayHourQty(int hour, bool flag) + { + try + { + string strAddr = ""; + + if (flag)//产出 + { + strAddr = "D" + (1040 + hour); + } + else//良品数 + { + strAddr = "D" + (1070 + hour); + } + int ProdNGQty = CommonMethods.plcDevices[0].ReadInt16(strAddr); + return ProdNGQty; + + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "系统异常", MessageBoxButtons.OK, MessageBoxIcon.Hand); + } + return 0; + } + + #endregion + + #region 5、设备状态 + /// + /// 定时获取设备状态 + /// + /// + /// + int OldStatues = Convert.ToInt32(IniConfigHelper.ReadIniData("上一次设备状态", "DeviceStatus", "1", CommonMethods.strDeviceStatusPath));//退出程序前设备状态 + int StatuesCount = 0; + DateTime StatuesBeginTime = DateTime.Now.AddMinutes(-6); + string strGuidAlarm = IniConfigHelper.ReadIniData("上一次Guid", "DeviceGuid", Guid.NewGuid().ToString(), CommonMethods.strDeviceStatusPath);//退出程序前Guid + bool run_AlarmMark = false;//特殊情况1标志(运行状态) + bool run_IdleMark = false;//特殊情况2标志(闲置状态) + bool isUpIdleAlarm = false;//闲置状态报警信息上传标志 + List idleAlarmData = new List();//闲置状态的报警信息 + + private async void ShowStateEven_Run() + { + try + { + if (CommonMethods.plcDevices.Count > 0 && CommonMethods.plcDevices != null) + { + if (CommonMethods.plcDevices[0] != null && CommonMethods.plcDevices[0].IsConnected) + { + DateTime Date = DateTime.Now; + bool isUpload = false; + string deviceStatus = string.Empty; + string deviceStatusDesc = string.Empty; + short NewStatus = CommonMethods.plcDevices[0].ReadInt16("D10"); + + if (NewStatus != 100) + { + //特殊情况1:运行->报警->……->运行 + if (NewStatus == 3 && OldStatues == 1) { run_AlarmMark = true; }//第一次进入报警状态 + if (NewStatus == 1) { run_AlarmMark = false; }//下一次运行状态,置位 + if (run_AlarmMark) { NewStatus = 3; }//报警状态后下一次运行状态期间一直是报警状态 + //特殊情况2:运行->闲置->……->运行 + if (NewStatus == 4 && OldStatues == 1) { run_IdleMark = true; }//第一次进入闲置状态 + if (NewStatus == 1) { run_IdleMark = false; }//下一次闲置状态,置位 + if (run_IdleMark) { NewStatus = 4; }//闲置状态后下一次运行状态期间一直是闲置状态 + + //闲置状态结束报警信息上传 + if (OldStatues == 4 && NewStatus != 4 && isUpIdleAlarm) + { + _ = UpIdleDataAsync(idleAlarmData, strGuidAlarm); + } + + //设备状态信号灯变量 + CommonMethods.Statues = new List { NewStatus == 1, NewStatus == 2, NewStatus == 3, NewStatus == 4 }; + + // 状态切换时生成新的 GUID + if (NewStatus != OldStatues) + { + // 从 Alert 切换到非 Alert 状态时,上传报警信息 + if (OldStatues == 3 && NewStatus != 3) + { + ShowAlarmEven_Run(strGuidAlarm); + } + + // 只要状态变更,就生成新的 GUID + strGuidAlarm = Guid.NewGuid().ToString(); // 强制生成新的 GUID + + isUpload = true; + //StatuesCount = 0; + OldStatues = NewStatus; + StatuesBeginTime = Convert.ToDateTime(Date); + + //记录最新设备状态和Guid + //CommonMethods.UpdateConfig("MES_CONFIG", "DeviceStatus", NewStatus.ToString());// 保存设备状态到xml文件 + //CommonMethods.UpdateConfig("MES_CONFIG", "Guid", strGuidAlarm);// 保存设备状态到xml文件 + + //CommonMethods.Configxml["MES_CONFIG"]["DeviceStatus"] = NewStatus.ToString(); // 保存设备状态到xml文件 + //CommonMethods.Configxml["MES_CONFIG"]["Guid"] = strGuidAlarm; // 保存设备状态到xml文件 + //CommonMethods.WriteXmlFile(CommonMethods.Configxml, CommonMethods.xmlFilePath); + + IniConfigHelper.WriteIniData("上一次设备状态", "DeviceStatus", NewStatus.ToString(), CommonMethods.strDeviceStatusPath); + IniConfigHelper.WriteIniData("上一次Guid", "DeviceGuid", strGuidAlarm, CommonMethods.strDeviceStatusPath); + } + else + { + // 同种状态持续 5 分钟时上传状态信息 + //StatuesCount++; + //if (StatuesCount >= 5 * 60) + //{ + // isUpload = true; + // StatuesCount = 0; + //} + if (Date.Subtract(StatuesBeginTime).TotalSeconds >= 5 * 60) + { + isUpload = true; + StatuesBeginTime = DateTime.Now; + } + } + + // 根据状态设置设备状态和描述 + switch (NewStatus) + { + case 1: + deviceStatus = "Run"; + deviceStatusDesc = "正常运行"; + break; + case 2://取消 + deviceStatus = "Maintain"; + deviceStatusDesc = "停止运行"; + break; + case 3: + deviceStatus = "Alert"; + deviceStatusDesc = "故障调试"; + // Alert 状态时上传报警信息 + ShowAlarmEven_Run(strGuidAlarm); + break; + case 4: + deviceStatus = "Idle"; + deviceStatusDesc = "闲置待机"; + ShowStuesEven_Run(strGuidAlarm); + break; + } + + // 上传设备状态信息 + if (CommonMethods.sysConfig.MesModeSwitching && CommonMethods.mesConfig.isConnected && isUpload && (NewStatus == 1 || NewStatus == 3 || NewStatus == 4)) + { + var (success, message) = await CommonMethods.hbgMes.UploadEquStatusAsync( + CommonMethods.mesConfig.DeviceStatus, + CommonMethods.mesConfig.siteCode, + CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.equipNum, + CommonMethods.mesConfig.MaterialCode, + CommonMethods.mesConfig.mesUserName, + strGuidAlarm, // RUN 状态时传空 + deviceStatus, + null + ); + + if (success) + { + StatuesCount = 0; + } + } + } + } + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + } + } + + + #region 触摸屏弹窗 + private async void ShowStuesEven_Run(string strGuid) + { + if (CommonMethods.plcDevices[0].IsConnected) + { + string strCode = ""; + string alarmName = ""; + short HMIStatus = CommonMethods.plcDevices[0].ReadInt16("D40"); + if (HMIStatus != 0) + { + CommonMethods.AddDataMonitorLog(0, "触发了手动HMI弹窗功能".Translated()); + switch (HMIStatus) //注意:B1-D12都为闲置代码,上传代码是只需上传闲置代码 + { + //case 1://取消 + // strCode = "B1"; + // alarmName = "计划维保"; + // CommonMethods.AddDataMonitorLog(0, "B1 计划维保"); + + // break; + //case 2://取消 + // strCode = "B2"; + // alarmName = "无生产计划"; + // CommonMethods.AddDataMonitorLog(0, "B2 无生产计划"); + // break; + //case 3://取消 + // strCode = "B3"; + // alarmName = "样品、试产"; + // CommonMethods.AddDataMonitorLog(0, "B3 样品、试产"); + // break; + //case 4://取消 + // strCode = "B4"; + // alarmName = "其他计划停机"; + // CommonMethods.AddDataMonitorLog(0, "B4.其他计划停机"); + // break; + case 5: + strCode = "D1"; + alarmName = "设备故障".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 6: + strCode = "D2"; + alarmName = "设备转型".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 7: + strCode = "D3"; + alarmName = "工程变更".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 8: + strCode = "D4"; + alarmName = "MES停机".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 9: + strCode = "D5"; + alarmName = "品质异常".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 10: + strCode = "D6"; + alarmName = "配件,物料更换".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 11: + strCode = "D7"; + alarmName = "来料不良".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 12: + strCode = "D8"; + alarmName = "待料".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 13: + strCode = "D9"; + alarmName = "品质检查".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 14: + strCode = "D10"; + alarmName = "清洁点检".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 15: + strCode = "D11"; + alarmName = "环境不满足".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + case 16: + strCode = "D12"; + alarmName = "其它非计划停机".Translated(); + CommonMethods.AddDataMonitorLog(0, $"{strCode} {alarmName}"); + break; + default: + break; + } + + if (CommonMethods.sysConfig.MesModeSwitching && CommonMethods.mesConfig.isConnected) + { + List alarmObj = new List(); + AlarmData alarmData = new AlarmData(); + alarmData.AlarmCode = strCode; + alarmData.StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + alarmData.EndTime = ""; + alarmData.AlarmType = "非计划损失"; + alarmData.AlarmContent = alarmName; + alarmObj.Add(alarmData); + + //闲置报警上传标志 + isUpIdleAlarm = true; + idleAlarmData.Add(alarmData); + + //上传报警 + var (success, message) = await CommonMethods.hbgMes.UploadEquAlarmAsync(CommonMethods.mesConfig.DeviceAlarm, CommonMethods.mesConfig.siteCode, CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.equipNum, CommonMethods.mesConfig.MaterialCode, CommonMethods.mesConfig.mesUserName, alarmObj, strGuid); + if (success) + CommonMethods.AddDataMonitorLog(0, "HMI手动弹窗状态已上传成功,代码".Translated() + $":{strCode}"); + } + bool IsSuccess = CommonMethods.plcDevices[0].WriteInt16("D40", 0); + if (IsSuccess) + CommonMethods.AddDataMonitorLog(0, $"D40已复位0".Translated()); + + } + } + } + + #endregion + + /// + /// HMI手动弹窗结束状态上传 + /// + /// + /// + /// + private async Task UpIdleDataAsync(List idleAlarmDate, string strGuidAlarm) + { + if (idleAlarmDate.Count == 0) { return; } + string strCode = ""; + foreach (var item in idleAlarmDate) + { + item.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + strCode = item.AlarmCode + ","; + } + if (CommonMethods.sysConfig.MesModeSwitching && CommonMethods.mesConfig.isConnected) + { + //上传报警 + var (success, message) = await CommonMethods.hbgMes.UploadEquAlarmAsync(CommonMethods.mesConfig.DeviceAlarm, CommonMethods.mesConfig.siteCode, CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.equipNum, CommonMethods.mesConfig.MaterialCode, CommonMethods.mesConfig.mesUserName, idleAlarmDate, strGuidAlarm); + if (success) + CommonMethods.AddDataMonitorLog(0, "HMI手动弹窗结束状态已上传成功,代码".Translated() + $":{strCode.TrimEnd(',')}"); + } + idleAlarmData.Clear(); + isUpIdleAlarm = false; + } + + #endregion + + #region 6、设备报警 + //报警表单数据 + List listAlarmForm = null; + public void GetAlarmData() + { + //加载PLC报警文件 + try + { + string strFileName = System.Environment.CurrentDirectory + "\\欧姆龙报警寄存器对应表.csv"; + listAlarmForm = CSVHelper.ReadCSV(strFileName); + } + catch (Exception ex) + { + MessageBox.Show("加载报警文件失败!"); + } + + } + + /// + /// 报警信息读取 + /// + /// + /// + List listOld = new List(); + List listNew = new List(); + List listAlarmStatus = null; + private async void ShowAlarmEven_Run(string strGuidAlarm) + { + if (!CommonMethods.IsRun || !CommonMethods.plcDevices[0].IsConnected) + { + return; + } + + try + { + // 1. 读取 PLC 报警信息 + var alarmStatusList = ReadAlarmStatusFromPLC(); + if (alarmStatusList == null || listAlarmForm == null)//true + { + return; + } + + // 2. 解析报警信息并生成新的报警列表 + var newAlarms = ParseAlarmStatus(alarmStatusList, strGuidAlarm); + if (newAlarms.Count > 0) + { + // 3. 检测新报警并添加到旧报警列表,上传第一次报警信息 + await DetectNewAlarmsAsync(newAlarms); + + // 4. 显示新报警信息 + DisplayAlarmInfo(newAlarms); + } + + // 5. 检测已取消的报警并处理 + var canceledAlarms = DetectCanceledAlarms(newAlarms); + if (canceledAlarms.Count > 0) + { + // 6. 记录已取消的报警信息(保存本地) + LogCanceledAlarms(canceledAlarms); + + // 7. 上传已取消的报警信息(报警结束上传一次) + await UploadCanceledAlarmsAsync(canceledAlarms, strGuidAlarm); + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + } + } + + /// + /// 从 PLC 读取报警状态 + /// + private List ReadAlarmStatusFromPLC() + { + //string Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + //JYResult resByte = CommonMethods.plcDevices[0].ReadValue>("D10150", DataType.ArrByte, 5000); + + //if (resByte.IsSuccess && resByte != null) + //{ + // int startPlcAddr = 10150; // 读取起始地址 + // return PLCAlarmParseHelper.OmronFinsByte2Status(startPlcAddr, resByte.Content); + //} + string Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + // 读取足够的字节覆盖所有可能的报警地址 + int startAddr = 10010; + int endAddr = 10519; // 根据实际最大地址调整 + int wordCount = endAddr - startAddr + 1; + int byteCount = wordCount * 2; // 每个字2字节 + + JYResult resByte = CommonMethods.plcDevices[0].ReadValue>( + $"D{startAddr}", DataType.ArrByte, (ushort)byteCount); + + if (resByte.IsSuccess && resByte.Content != null) + { + return PLCAlarmParseHelper.OmronFinsByte2Status(startAddr, resByte.Content); + } + + return null; + } + + /// + /// 解析报警状态并生成新的报警列表 + /// + private List ParseAlarmStatus(List alarmStatusList, string strGuidAlarm) + { + string Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + switch (LanguageManager.LanguageCode) + { + case "en"://英语报警信息 + return alarmStatusList + .Where(s => s.Status) + .Join(listAlarmForm, s => s.PLCAdress, f => f.PLCAdress, (s, f) => new AlarmData() + { + AlarmGuid = strGuidAlarm, + PLCAdress = s.PLCAdress, + AlarmCode = f.AlarmCode, + AlarmContent = f.EnAlarmContent == "" ? s.PLCAdress : f.EnAlarmContent, + AlarmType = "停机报警", + AlarmDesc = f.EnAlarmContent == "" ? s.PLCAdress : f.EnAlarmContent, + AlarmState = "1", + StartTime = Date, + EndTime = "",//Date + Flag = 0 + }).ToList(); + case "hu"://匈牙利语报警信息 + return alarmStatusList + .Where(s => s.Status) + .Join(listAlarmForm, s => s.PLCAdress, f => f.PLCAdress, (s, f) => new AlarmData() + { + AlarmGuid = strGuidAlarm, + PLCAdress = s.PLCAdress, + AlarmCode = f.AlarmCode, + AlarmContent = f.HuAlarmContent == "" ? s.PLCAdress : f.HuAlarmContent, + AlarmType = "停机报警", + AlarmDesc = f.HuAlarmContent == "" ? s.PLCAdress : f.HuAlarmContent, + AlarmState = "1", + StartTime = Date, + EndTime = "",//Date + Flag = 0 + }).ToList(); + case "ms"://马来语报警信息 + return alarmStatusList + .Where(s => s.Status) + .Join(listAlarmForm, s => s.PLCAdress, f => f.PLCAdress, (s, f) => new AlarmData() + { + AlarmGuid = strGuidAlarm, + PLCAdress = s.PLCAdress, + AlarmCode = f.AlarmCode, + AlarmContent = f.MsAlarmContent == "" ? s.PLCAdress : f.MsAlarmContent, + AlarmType = "停机报警", + AlarmDesc = f.MsAlarmContent == "" ? s.PLCAdress : f.MsAlarmContent, + AlarmState = "1", + StartTime = Date, + EndTime = "",//Date + Flag = 0 + }).ToList(); + case "zh"://中语报警信息 + default: + return alarmStatusList + .Where(s => s.Status) + .Join(listAlarmForm, s => s.PLCAdress, f => f.PLCAdress, (s, f) => new AlarmData() + { + AlarmGuid = strGuidAlarm, + PLCAdress = s.PLCAdress, + AlarmCode = f.AlarmCode, + AlarmContent = f.AlarmContent == "" ? s.PLCAdress : f.AlarmContent, + AlarmType = "停机报警", + AlarmDesc = f.AlarmContent == "" ? s.PLCAdress : f.AlarmContent, + AlarmState = "1", + StartTime = Date, + EndTime = "",//Date + Flag = 0 + }).ToList(); + } + } + + /// + /// 检测新报警并添加到旧报警列表 + /// + private async Task DetectNewAlarmsAsync(List newAlarms) + { + foreach (var alarm in newAlarms) + { + if (!listOld.Any(o => o.PLCAdress == alarm.PLCAdress)) + { + listOld.Add(alarm); + + // 4.5 新增逻辑(报警开始上传一次) + await UploadCanceledAlarmsAsync(newAlarms, strGuidAlarm); + } + } + } + + /// + /// 显示报警信息 + /// + private void DisplayAlarmInfo(List newAlarms) + { + StringBuilder sb = new StringBuilder(); + newAlarms.ForEach(r => sb.Append($"{r.AlarmContent} ")); + + if (sb.Length > 0) + { + CommonMethods.SlideAlarmText = sb.ToString().Substring(0, sb.Length - 10); + } + } + + /// + /// 检测已取消的报警 + /// + private List DetectCanceledAlarms(List newAlarms) + { + var canceledAlarms = new List(); + var listOldAlarm = new List(listOld); + + foreach (var item in listOldAlarm) + { + if (!newAlarms.Any(n => n.PLCAdress == item.PLCAdress)) + { + item.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + canceledAlarms.Add(item); + listOld.Remove(item); + } + } + + return canceledAlarms; + } + + /// + /// 记录已取消的报警信息 + /// + private void LogCanceledAlarms(List canceledAlarms) + { + var nowDate = DateTime.Now; + string basePath = $@"{CommonMethods.strAlarmLogspath}\{nowDate.Year}\{nowDate.Month}"; + string fileName = $@"{nowDate.Day}.csv"; + string title = "GUID,报警地址,故障代码,报警内容,开始时间,结束时间,是否停机"; + string alarmContent = string.Join("\n", canceledAlarms.Select(m1 => + $"{m1.AlarmGuid},{m1.PLCAdress},{m1.AlarmCode},{m1.AlarmContent},{m1.StartTime},{m1.EndTime},{m1.AlarmType}")); + + CSVHelper.WriterCSV(basePath, fileName, title, alarmContent); + + foreach (var m1 in canceledAlarms) + { + var alarm = new SysLog + { + InsertTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + LogType = "报警日志", + Note = m1.AlarmContent == "" ? m1.PLCAdress : m1.AlarmContent, + AlarmType = "错误", + Operater = CommonMethods.currentAdmin.LoginName, + VarName = m1.PLCAdress, + AlarmSet = "", + AlarmValue = "1", + }; + // 显示报警信息 + CommonMethods.AddAlarmLog(alarm); + // 告警TOP10保存 + SaveAlarmCount(canceledAlarms); + } + } + + /// + /// 上传已取消的报警信息 + /// + private async Task UploadCanceledAlarmsAsync(List canceledAlarms, string strGuidAlarm) + { + if (CommonMethods.sysConfig.MesModeSwitching && CommonMethods.mesConfig.isConnected) + { + await CommonMethods.hbgMes.UploadEquAlarmAsync( + CommonMethods.mesConfig.DeviceAlarm, + CommonMethods.mesConfig.siteCode, + CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.equipNum, + CommonMethods.mesConfig.MaterialCode, + CommonMethods.mesConfig.mesUserName, + canceledAlarms, + strGuidAlarm + ); + } + } + + + /// + /// 告警TOP10保存 + /// + private void SaveAlarmCount(List alarmDatas) + { + bool ISAdd = false; + var recordToUpdate = new AlarmCountEntry(); + + DateTime today = DateTime.Today; + DateTime upTime = DateTime.Now; + var listAlarmStatistics = CommonMethods.db.QueryWhereList(it => Convert.ToDateTime(it.AlarmTime.ToString("yyyy-MM-dd")) == today); + List fd = new List(); + if (listAlarmStatistics != null) + { + alarmDatas.ForEach(r => + { + recordToUpdate = listAlarmStatistics.FirstOrDefault(x => x.PLCAdress.Trim() == r.PLCAdress); + if (recordToUpdate != null) + { + CommonMethods.db.Update(it => it.AlarmCount == it.AlarmCount + 1, it => it.PLCAdress == r.PLCAdress && Convert.ToDateTime(it.AlarmTime.ToString("yyyy-MM-dd")) == today); + } + else + { + ISAdd = true; + AlarmCountEntry alarm = new AlarmCountEntry(); + alarm.PLCAdress = r.PLCAdress; + alarm.AlarmContent = r.AlarmContent; + alarm.AlarmCount = 1; + alarm.Class = CommonMethods.strClass; + alarm.AlarmTime = upTime; + fd.Add(alarm); + } + }); + if (ISAdd) + { + bool res = CommonMethods.db.AddReturnBool(fd); + ISAdd = false; + } + } + else + { + foreach (var m in listNew) + { + AlarmCountEntry alarm = new AlarmCountEntry(); + alarm.PLCAdress = m.PLCAdress; + alarm.AlarmContent = m.AlarmContent; + alarm.AlarmCount = 1; + alarm.Class = CommonMethods.strClass; + alarm.AlarmTime = today; + fd.Add(alarm); + } + CommonMethods.db.AddReturnBool(fd); + } + GetASqlAlarmData(DateTime.Today, CommonMethods.strClass); + } + + + /// + /// 读取数据库报警信息 + /// + /// + /// + public void GetASqlAlarmData(DateTime today, string strClass) + { + try + { + List chartAlarms = new List(); + List AlarmDatas = null; + List List_X = new List(); + List List_Y = new List(); + + DateTime baiClassStart = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 8:30:00")); + DateTime baiClassEnd = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 20:29:59")); + + DateTime yeClassStart = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 20:30:00")); + DateTime yeClassEnd = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 8:29:59")); + + + if (strClass == "全天".Translated()) + { + AlarmDatas = CommonMethods.db.QueryList("AlarmCount", 10, it => Convert.ToDateTime(it.AlarmTime.ToString("yyyy-MM-dd")) == today); + } + else if (strClass == "白班".Translated()) + { + AlarmDatas = CommonMethods.db.QueryList("AlarmCount", 10, it => it.AlarmTime >= baiClassStart && it.AlarmTime <= baiClassEnd && it.Class == strClass); + } + else + { + AlarmDatas = CommonMethods.db.QueryList("AlarmCount", 10, it => it.AlarmTime >= yeClassStart && it.AlarmTime <= yeClassEnd && it.Class == strClass); + } + + if (AlarmDatas != null && AlarmDatas.Count > 0) + { + + for (int i = 0; i < AlarmDatas.Count; i++) + { + chartAlarms.Add(new ChartDataType() + { + DataType = AlarmDatas[i].AlarmContent, + DataCount = (int)AlarmDatas[i].AlarmCount + }); + } + CommonMethods.Lst_AlarmTop10_Qty = chartAlarms; + } + else + { + CommonMethods.Lst_AlarmTop10_Qty = null; + } + } + catch (Exception) + { + + } + } + + #endregion + + #region 下发权限给PLC + /// + /// 下发权限到PLC + /// + /// + private async Task SendRightToPLCAsync() + { + ushort quanxian = 1; + switch (CommonMethods.currentAdmin.LoginLevel) + { + case "操作员": + quanxian = 1; + break; + case "工程师": + quanxian = 2; + break; + case "管理员": + quanxian = 3; + break; + default: + break; + } + + + foreach (var plc in CommonMethods.plcDevices) + { + if (plcDeviceMapping.TryGetValue(plc, out var plcDevices)) + { + foreach (var plcDevice in plcDevices) + { + if (plcDevice.IsConnected) + { + JYResult result = await Task.Run(() => plc.WriteValue("D21", (short)quanxian, DataType.Short)); + if (result.IsSuccess) + { + CommonMethods.AddDataMonitorLog(1, $"Write_PLC_permission_Successful"); + } + else + { + CommonMethods.AddDataMonitorLog(2, $"Write_PLC_permission(D15)_Failed"); + } + } + } + } + } + } + + #endregion + + #region 获取白夜班次 + bool qiehuan = false; + private void SetClass() + { + try + { + var nowDate = DateTime.Now; + string strClass = ""; + DateTime time1 = Convert.ToDateTime($"{nowDate.ToShortDateString()} {CommonMethods.ChangeClassTime}"); + DateTime time2 = Convert.ToDateTime($"{nowDate.ToShortDateString()} {Convert.ToDateTime(CommonMethods.ChangeClassTime).AddHours(12).ToString("HH:mm:ss")}"); + if (nowDate <= time1 && nowDate >= time2) + { + if (CommonMethods.plcDevices[0].IsConnected) + { + if (!qiehuan) + { + if (!SetPlcTime()) + { + CommonMethods.AddLog(true, $"PC写入PLC时间失败".Translated()); + } + else + { + qiehuan = true; + CommonMethods.AddLog(false, "PC写入PLC时间成功".Translated()); + } + } + } + strClass = "白班".Translated(); + } + else + { + qiehuan = false; + strClass = "夜班".Translated(); + } + CommonMethods.strClass = strClass; + } + catch (Exception ex) + { + CommonMethods.AddLog(true, "PC写入PLC时间异常".Translated() + ":" + ex.Message); + LogHelper.Instance.WriteEX(ex); + } + } + #endregion + + #region 写入PLC时间 + /// + /// 写当前时间给PLC + /// + private bool SetPlcTime() + { + var nowDate = DateTime.Now; + string yearStr = nowDate.Year.ToString(); + + + bool IsSuccess = false; + + // 为防止PLC时间出现偏差,每次自动运行的时候写PLC系统时间 + short[] writeArr = new short[] + { + Convert.ToInt16(nowDate.Year),//D70 + Convert.ToInt16(nowDate.Month),//D71 + Convert.ToInt16(nowDate.Day),//D72 + Convert.ToInt16(nowDate.Hour),//D73 + Convert.ToInt16(nowDate.Minute),//D74 + Convert.ToInt16(nowDate.Second),//D75 + (short)1 //D76 + }; + if (CommonMethods.plcDevices[0].IsConnected) + { + JYResult result = CommonMethods.plcDevices[0].WriteValue("D70", writeArr, DataType.ArrShort); + if (result.IsSuccess) + { + IsSuccess = true; + } + } + return IsSuccess; + + } + + #region 9、IDisposable 实现 + + + // 如果需要在StopAsync中也显示进度,可以添加一个进度回调 + + private Task processTask; + + public async Task StopAsync(IProgress progress = null) + { + _cts.Cancel(); + + if (_heartbeatTask != null) + { + progress?.Report("正在停止心跳任务..."); + try + { + await _heartbeatTask; + } + catch (OperationCanceledException) + { + // 忽略取消异常 + } + } + + if (processTask != null) + { + progress?.Report("正在停止处理任务..."); + try + { + await processTask; + } + catch (OperationCanceledException) + { + // 忽略取消异常 + } + } + + foreach (var pair in groupTasks) + { + progress?.Report($"正在停止组任务: {pair.Key}..."); + try + { + await pair.Value; + } + catch (OperationCanceledException) + { + // 忽略取消异常 + } + } + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + _cts?.Cancel(); + _cts?.Dispose(); + + processTask?.Wait(); + + // 断开所有设备连接 + foreach (var plc in CommonMethods.plcDevices) + { + plc.Disconnect(); + //if (plcAlarmReaders.TryGetValue(plc, out var alarmReader)) + //{ + // alarmReader.PLCAlarm_New -= AlrmReader_PLCAlarm_New; + // alarmReader.PLCAlarm_Remove -= AlrmReader_PLCAlarm_Remove; + //} + } + + CommonMethods.plcDevices.Clear(); + plcDeviceMapping.Clear(); + plcAlarmReaders.Clear(); + CommonMethods.plcStatuses.Clear(); + + DisconnectAllPlcs(); + } + } + + + + #endregion + #endregion + + #region 7、辅助方法 + + private static PLCType GetPLCTypeEnum(string plcTypeString) + { + if (Enum.TryParse(plcTypeString, out PLCType plcType)) + { + return plcType; + } + throw new ArgumentException($"PLC 类型无效: {plcTypeString}"); + } + + + + #endregion + } +} diff --git a/JinYuan.ControlCenter/ControlCenter_Ext.cs b/JinYuan.ControlCenter/ControlCenter_Ext.cs new file mode 100644 index 0000000..bd636f1 --- /dev/null +++ b/JinYuan.ControlCenter/ControlCenter_Ext.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using JinYuan.Helper; +using JinYuan.Models; +using JinYuan.VirtualDataLibrary; +using PLCCommunication.Common; +using PLCCommunication.Common.DataConvert; + +namespace JinYuan.ControlCenters +{ + public partial class ControlCenter + { + public static string GetValueFromByteArray(byte[] bArray, string PLCGroupVariablekey, int offset = 0, Group pf = null) + { + return GetValueFromByteArray(bArray, getPLCVariable(PLCGroupVariablekey), offset, pf); + } + + public static PLCGroupVariable getPLCVariable(string key) + { + PLCGroupVariable pLCGroupVariable = new PLCGroupVariable(); + CommonMethods.PLCVariable.TryGetValue(key, out pLCGroupVariable); + return pLCGroupVariable; + } + + /// + /// 获取MES返回结果 + /// + /// + /// + /// + /// + /// + public static string GetValueFromByteArray(byte[] bArray, PLCGroupVariable var, int offset = 0, Group pf = null) + { + string value = "0"; + try + { + switch (var.DataType) + { + case "Float": + value = FloatLib.GetFloatFromByteArray(bArray, var.ArrayStart * 2 + offset, DataFormat.CDAB).ToString("0.###"); + break; + case "Short": + value = ShortLib.GetShortFromByteArray(bArray, var.ArrayStart * 2 + offset).ToString(); + break; + case "Int": + value = IntLib.GetIntFromByteArray(bArray, var.ArrayStart * 2 + offset).ToString(); + break; + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"数据解析异常, 原因: {ex}", "SysErrorLog"); + } + return value; + } + } +} diff --git a/JinYuan.ControlCenter/ControlCenter_Plc.cs b/JinYuan.ControlCenter/ControlCenter_Plc.cs new file mode 100644 index 0000000..83ef067 --- /dev/null +++ b/JinYuan.ControlCenter/ControlCenter_Plc.cs @@ -0,0 +1,2078 @@ + +using JinYuan.Helper; +using JinYuan.MES.Enums; +using JinYuan.MES.Models; +using JinYuan.Models; +using JinYuan.VirtualDataLibrary; +using JinYuan.VirtualDataLibrary.Utlis; +using Language; +using Microsoft.SqlServer.Server; +using PLC; +using PLCCommunication; +using PLCCommunication.BasicFramework; +using PLCCommunication.Common; +using PLCCommunication.Common.DataConvert; +using SqlSugar; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.Diagnostics.Eventing.Reader; +using System.IO; +using System.Net; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Xml.Linq; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; + +namespace JinYuan.ControlCenters +{ + public partial class ControlCenter + { + public object FileLock = new object();//文件锁 + + + #region 保留2位小数 + private float SaveTwoNum(float TNum) + { + //1.2333 0.998 + int value = (int)(TNum * 1000) % 10; + value = value > 4 ? 10 - value : -value; + TNum += ((float)value / 1000); + //保留3位小数 + TNum = (float)(int)(TNum * 1000) / 1000; + return TNum; + } + #endregion + + + #region 包装上料工位(数据处理) + /// + /// 包装箱上料工位 + /// + private async Task FeedingStation(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + using (var timer = new TimedOperation("包装箱进站", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"包装箱进站共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + try + { + #region 数据初始化 + //解析数据 + List cartonTagInfos = new List(); + const int CODE_SIZE = 40; + #endregion + + #region 数据解析 + byte[] bytes = bArrays.Content.ByteReverse();//高低位转换 + string containerCode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, CODE_SIZE -1, System.Text.Encoding.ASCII).// 从D3100开始 + Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + #endregion + + #region 获取箱唛信息MES + if (String.IsNullOrEmpty(containerCode) || containerCode.Trim() == "ERROR" || !IsAlphaNumeric(containerCode)) + { + CommonMethods.AddDataMonitorLog(0, "PLC中读取箱唛码NG:" + containerCode); + var entity = new AGearEntity + { + ContainerCode = "NG", + PalletCode = "NG", + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "包装箱进站", + Result = "NG" + }; + + var entityList = new List { entity }; + // 线程安全调用委托 + CommonMethods.ShowFeedingDelegate.Invoke(entityList); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + return; + } + + if (CommonMethods.sysConfig.MesModeSwitching) + { + try + { + await GetCartonTagInfosAsync(pf, containerCode); + } + catch (Exception ex) + { + CommonMethods.AddDataMonitorLog(0, "保存箱唛信息失败,箱唛码:" + containerCode + ",异常信息:" + ex.Message); + } + + + + #region 箱唛数据反馈&保存 + if (cartonTagInfos.Count > 0) + { + try + { + await SaveCartonTagInfosAsync(containerCode, cartonTagInfos); + } + catch (Exception ex) + { + CommonMethods.AddDataMonitorLog(0, "保存箱唛信息失败,箱唛码:" + containerCode + ",异常信息:" + ex.Message); + } + } + else + { + CommonMethods.AddDataMonitorLog(0, "未从mes中获取到箱唛信息,箱唛码:" + containerCode); + } + #endregion + + #region 获取栈板信息 + (var palletCode, var palletTagInfos) = await GetPalletTagInfosAsync(pf, containerCode); + #endregion + + #region 栈板数据反馈&保存 + if (palletTagInfos.Count > 0) + { + try + { + await SavePalletTagInfosAsync(containerCode, palletCode, palletTagInfos); + } + catch (Exception ex) + { + CommonMethods.AddDataMonitorLog(0, "保存栈板信息失败,栈板码:" + palletCode + ",异常信息:" + ex.Message); + } + } + else + { + CommonMethods.AddDataMonitorLog(0, "未从mes中获取到栈板信息,栈板码:" + palletCode); + } + await SaveFeedingStationAsync(containerCode, palletCode); + + #endregion + //if (palletTagInfos.Count > 0 && cartonTagInfos.Count > 0) + // await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[2].VarAddress, 1)); + //else + // await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[2].VarAddress, 2)); + + + + var taginfo = cartonTagInfos.FirstOrDefault(x => x.tagCode == "model"); + int model = CommonMethods.mesConfig.GetModel(taginfo.tagValue); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[3].VarAddress, (short)model)); + } + else if (CommonMethods.sysConfig.IsDebugMode) + { + string batModel = CommonMethods.mesConfig.ModelName; + TagInfo kVDetail = new TagInfo() + { + tagCode="model", + tagValue = batModel + }; + cartonTagInfos.Add(kVDetail); + await SaveCartonTagInfosAsync(containerCode, cartonTagInfos); + string palletCode = containerCode + "_01"; + await SaveFeedingStationAsync(containerCode, palletCode); + + + int model = CommonMethods.mesConfig.GetModel(batModel); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[3].VarAddress, (short)model)); + } + else + { + CommonMethods.AddDataMonitorLog(0, "MES 功能未开启,无法获取箱唛和栈板信息"); + //await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[2].VarAddress, 2)); + } + + #endregion + + + ////O2 客户还是普通客户 + //short customertype = CommonMethods.mesConfig.customerType == "O2" ? (short)1 : (short)2; + //await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[2].VarAddress, customertype)); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"获取箱唛和栈板信息线程处理异常:{ex}", "SysErrorLog"); + // 异常时反馈PLC错误 + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); + } + finally + { + // 重置PLC信号 + await Task.Run(() => + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1) + ); + } + } + } + } + + /// + /// 保存包装箱进站数据 + /// + /// + + private async Task SaveFeedingStationAsync(string containerCode, string palletCode) + { + var entity = new AGearEntity + { + ContainerCode = containerCode, + PalletCode = palletCode, + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "包装箱进站", + Result = "成功" + }; + + if (string.IsNullOrWhiteSpace(containerCode)) + { + LogHelper.Instance.WriteError("包装箱码为空,无法保存进站信息", "SysErrorLog"); + entity.ContainerCode = "NG"; + entity.Remark = "NG"; + } + if (string.IsNullOrWhiteSpace(palletCode)) + { + LogHelper.Instance.WriteLog($"包装箱[{containerCode}]对应的栈板码码为空"); + entity.PalletCode = "NG"; + entity.Remark = "NG"; + } + + try + { + if (entity.ContainerCode != "NG") + { + bool con_success = await CommonMethods.db.AddReturnBoolAsync(entity); + + string logMsg = con_success + ? $"包装箱[{containerCode}](栈板码码[{palletCode}])进站信息存储成功" + : $"包装箱[{containerCode}](栈板码码[{palletCode}])进站信息存储失败"; + CommonMethods.AddDataMonitorLog(0, logMsg); + } + + + var entityList = new List { entity }; + // 线程安全调用委托 + CommonMethods.ShowFeedingDelegate.Invoke(entityList); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError(containerCode + $"包装箱进站信息保存处理异常:{ex}", "SysErrorLog"); + } + + } + #endregion + + + #region 获取箱唛信息 + private async Task> GetCartonTagInfosAsync(PlcGroup pf, string containerCode) + { + List cartonTagInfos = new List(); + const int maxRetry = 3; // 最大重试3次 + const int retryIntervalMs = 1000; // 重试间隔1秒 + int retryCount = 0; + //bool success = false; + while (retryCount < maxRetry) + { + if (!CommonMethods.mesConfig.isConnected) + { + CommonMethods.AddDataMonitorLog(1, "MES连接中断,停止上传"); // 1:错误级别 + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); // 反馈错误 + break; + } + + var (success, mesMessage, mesResType, cartonTags) = await CommonMethods.hbgMes.QueryCartonAsync( + CommonMethods.mesConfig.queryCartonUrl, + CommonMethods.mesConfig.siteCode, + CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.equipNum, + containerCode + ); + + if (success && cartonTags.Count > 0) + { + cartonTagInfos = cartonTags; + await WritePlcResult(pf, "D80", 0, PLC.DataType.Short); // 反馈成功 + break; + } + + // 失败处理 + retryCount++; + CommonMethods.AddDataMonitorLog(1, $"MES请求失败({retryCount}/{maxRetry}):{mesMessage}"); + if (retryCount >= maxRetry) + { + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); // 超过重试次数,反馈错误 + break; + } + else + { + await Task.Delay(retryIntervalMs); // 等待重试 + } + } + + return cartonTagInfos; + + } + + #endregion + + + #region 保存箱唛信息数据 + /// + /// 保存箱唛信息数据 + /// + /// + + private async Task SaveCartonTagInfosAsync(string containerCode, List list) + { + if (list == null || list.Count == 0) + return; + + // 明确指定为异步 lambda + try + { + ContainerEntity containerEntity = new ContainerEntity + { + container_id = containerCode, + create_time = DateTime.Now + }; + + + List containerKVList = list + .Select(tag => new ContainerKVDetail + { + container_id = containerCode, + tag_code = tag.tagCode, + tag_value = tag.tagValue, + create_time = DateTime.Now + }) + .ToList(); + + // 数据库操作 + bool con_success = await CommonMethods.db.AddReturnBoolAsync(containerEntity); + bool kv_success = await CommonMethods.db.AddReturnBoolAsync(containerKVList); + if (kv_success) + { + CommonMethods.AddDataMonitorLog(0, containerCode + "箱唛信息存储成功"); + } + else + { + CommonMethods.AddDataMonitorLog(0, containerCode + "箱唛信息存储失败"); + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError(containerCode + $"箱唛信息保存处理异常:{ex}", "SysErrorLog"); + } + + } + + #endregion + + + #region 获取栈板信息 + private async Task<(string palletCode, List palletTagInfos)> GetPalletTagInfosAsync(PlcGroup pf, string containerCode) + { + string palletCode = string.Empty; + List palletTagInfos = new List(); + const int maxRetry = 3; // 最大重试3次 + const int retryIntervalMs = 1000; // 重试间隔1秒 + int retryCount = 0; + + if (!CommonMethods.mesConfig.isConnected) + { + CommonMethods.AddDataMonitorLog(1, "MES连接中断"); + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); // 反馈错误 + return (palletCode, palletTagInfos); + } + + // 调用MES接口 + var (success, mesMessage, mesResType, retPalletCode, retPalletTags) = await CommonMethods.hbgMes.QueryPalletAsync( + CommonMethods.mesConfig.queryPalletUrl, + CommonMethods.mesConfig.siteCode, + CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.equipNum, + containerCode + ); + + if (!success || retPalletTags == null || retPalletTags.Count == 0) + { + CommonMethods.AddDataMonitorLog(1, "MES获取栈板信息失败"); + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); // 反馈错误 + return (palletCode, palletTagInfos); + } + + // 赋值有效数据 + palletCode = retPalletCode; + palletTagInfos = retPalletTags; + + return (palletCode, palletTagInfos); + } + #endregion + + + #region 保存栈板信息数据 + /// + /// 保存栈板信息数据 + /// + /// + + private async Task SavePalletTagInfosAsync(string containerCode, string pallet_id, List list) + { + if (list == null || list.Count == 0) + return; + + // 明确指定为异步 lambda + try + { + PalletEntity palletEntity = new PalletEntity + { + container_id = containerCode, + pallet_id = pallet_id, + create_time = DateTime.Now + }; + + List palletKVList = list + .Select(tag => new PalletKVDetail + { + pallet_id = pallet_id, + tag_code = tag.tagCode, + tag_value = tag.tagValue, + create_time = DateTime.Now + }) + .ToList(); + + // 数据库操作 + bool con_success = await CommonMethods.db.AddReturnBoolAsync(palletEntity); + bool kv_success = await CommonMethods.db.AddReturnBoolAsync(palletKVList); + + if (con_success && kv_success) + { + CommonMethods.AddDataMonitorLog(0, containerCode + "栈板信息存储成功"); + } + else + { + CommonMethods.AddDataMonitorLog(0, containerCode + "栈板信息存储失败"); + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError(containerCode+ "_" + $"栈板信息保存处理异常:{ex}", "SysErrorLog"); + } + + } + + #endregion + + + private async Task FeedingStationB(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + using (var timer = new TimedOperation("中部扫描", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"中部扫描共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + try + { + #region 数据初始化 + //解析数据 + List cartonTagInfos = new List(); + const int CODE_SIZE = 40; + #endregion + + #region 数据解析 + byte[] bytes = bArrays.Content.ByteReverse();//高低位转换 + string containerCode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, CODE_SIZE - 1, System.Text.Encoding.ASCII).// 从D3100开始 + Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + #endregion + + //#region 获取箱唛信息 + if (String.IsNullOrEmpty(containerCode) || containerCode.Trim() == "ERROR" || IsAlphaNumeric(containerCode)) + { + CommonMethods.AddDataMonitorLog(0, "PLC中读取箱唛码NG:" + containerCode); + var entity = new AGearEntity + { + ContainerCode = "NG", + PalletCode = "NG", + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "中部扫描包装箱", + Result = "NG" + }; + + var entityList = new List { entity }; + // 线程安全调用委托 + //CommonMethods.ShowFeedingDelegate.Invoke(entityList); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + return; + } + + ContainerKVDetail modelDetail = CommonMethods.db.Query(it => it.container_id == containerCode && it.tag_code == "model"); + //string palletCode = cartonEntity.ContainerCode; + //if (cartonEntity == null || string.IsNullOrWhiteSpace(palletCode)) + //{ + // LogHelper.Instance.WriteLog($"包装箱[{containerCode}]对应的栈板码为空"); + // await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[4].VarAddress, 1)); + // return; + //} + string batModel = modelDetail.tag_code; + int model = CommonMethods.mesConfig.GetModel(batModel); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[3].VarAddress, (short)model)); + + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"中部扫描获取箱唛信息线程处理异常:{ex}", "SysErrorLog"); + + } + finally + { + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + } + } + } + } + + + private async Task FeedingStationC(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + using (var timer = new TimedOperation("尾部扫描", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"尾部扫描共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + try + { + #region 数据初始化 + //解析数据 + List cartonTagInfos = new List(); + const int CODE_SIZE = 40; + #endregion + + #region 数据解析 + byte[] bytes = bArrays.Content.ByteReverse();//高低位转换 + string containerCode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, CODE_SIZE - 1, System.Text.Encoding.ASCII).// 从D3100开始 + Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + #endregion + + //#region 获取箱唛信息 + if (String.IsNullOrEmpty(containerCode) || containerCode.Trim() == "ERROR" || IsAlphaNumeric(containerCode)) + { + CommonMethods.AddDataMonitorLog(0, "PLC中读取箱唛码NG:" + containerCode); + var entity = new AGearEntity + { + ContainerCode = "NG", + PalletCode = "NG", + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "尾部扫描包装箱", + Result = "NG" + }; + + var entityList = new List { entity }; + // 线程安全调用委托 + //CommonMethods.ShowFeedingDelegate.Invoke(entityList); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + return; + } + ContainerKVDetail modelDetail = CommonMethods.db.Query(it => it.container_id == containerCode && it.tag_code == "model"); + string batModel = modelDetail.tag_code; + + int model = CommonMethods.mesConfig.GetModel(batModel); + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[3].VarAddress, (short)model)); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"尾部扫描获取箱唛信息线程处理异常:{ex}", "SysErrorLog"); + + } + finally + { + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + } + } + } + } + + + #region 箱唛打印 + /// + /// 箱唛打印 + /// + /// + /// + /// + private async Task PrintContainerStation(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + if (CommonMethods.mesConfig.customerType == "O2") + { + // 重置PLC信号 + await Task.Run(() => + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + ); + CommonMethods.AddDataMonitorLog(0, "上位机不打印O2客户箱唛标签."); + return; + } + + + + + using (var timer = new TimedOperation("箱唛标签打印", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"箱唛标签打印共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + List listRes = GetList(1, 2);//默认为2,判断箱唛码 + byte[] bytes = bArrays.Content.ByteReverse(); + string containercode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, 39, System.Text.Encoding.ASCII).// D4610~4629 + Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + if (String.IsNullOrEmpty(containercode) || containercode.Contains("ERROR") || containercode.Contains("NG")) + { + var entity = new DGearEntity + { + ContainerCode = "NG", + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "箱唛标签打印", + Result = "NG" + }; + + var entityList = new List { entity }; + CommonMethods.ShowPrintContainergDelegate?.Invoke(entityList); + //CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + + CommonMethods.AddDataMonitorLog(0, "获取箱唛码为空,请检查".Translated()); + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//置位0 + return; + } + else + { + listRes = await PrintContainer(containercode, listRes); + await SavePrintContainerAsync(containercode); + //CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//复位 + } + } + } + } + + private static readonly Dictionary CartonFieldMappings = new Dictionary + { + { "customer", "57" }, + { "supplier", "EVE" }, + { "orderNumber", "19999" }, + { "materialCode", "1" }, + { "productModel", "123" }, + { "productDate", "2026-01-15" }, + { "batchQuantity", "240 " }, + { "packingQuantity", "10 " }, + { "level", "A" }, + { "voltage", "100" }, + { "resistance", "1000" }, + { "capacity", "99" }, + { "boxNumber", "test111" }, + { "groupNumber", "88" }, + { "remark", "测试" } + }; + + private async Task> PrintContainer(string containercode, List listRes) + { + if (CommonMethods.containerPrint == null) + { + if (!string.IsNullOrEmpty(CommonMethods.btwConfig.printerName)) + { + CommonMethods.containerPrint = new BartenderPrinter(CommonMethods.btwConfig.printerName); + } + else + { + listRes[0] = 3; + LogHelper.Instance.WriteLog($"打印机未设置和连接", "printLog"); + return listRes; + } + } + try + { + List container_kv_data = null; + // 初始化目标字典 + Dictionary vdaPrintValues = new Dictionary(); + + if (!CommonMethods.sysConfig.IsDebugMode) + { + container_kv_data = CommonMethods.db.QueryWhereList(it => it.container_id == containercode); + if (container_kv_data == null || !container_kv_data.Any()) + { + listRes[0] = 3; + CommonMethods.AddDataMonitorLog(0, $"container:{containercode}获取参数失败".Translated()); + LogHelper.Instance.WriteLog($"container:{containercode}获取参数失败", "printLog"); + return listRes; + } + + MapCartonKvDataToPrintDict(container_kv_data, vdaPrintValues); + } + else + { + FillDebugPrintCartonData(vdaPrintValues); + } + + //使用zebra打印机 + bool b = CommonMethods.containerPrint.write(CommonMethods.btwConfig.containerBTWPath, "carton label", vdaPrintValues); + if (b) + { + listRes[0] = 1; + CommonMethods.AddDataMonitorLog(0, $"箱唛码{containercode}:打印发送成功".Translated()); + } + else + { + listRes[0] = 2; + CommonMethods.AddDataMonitorLog(0, $"箱唛码{containercode}:打印发送失败".Translated()); + LogHelper.Instance.WriteLog($"{containercode}发送失败", "printLog"); + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"箱唛打印线程异常:{ex}", "printLog"); + } + return listRes; + } + + /// + /// 将KV数据映射到打印字典(业务转换层) + /// + /// KV数据列表 + /// 打印字典 + private void MapCartonKvDataToPrintDict(List kvData, Dictionary printDict) + { + var kvDict = kvData.ToDictionary(kv => kv.tag_code, kv => kv.tag_value, StringComparer.OrdinalIgnoreCase); + foreach (var mapping in CartonFieldMappings) + { + if (kvDict.TryGetValue(mapping.Value, out var value)) + { + printDict[mapping.Key] = value ?? string.Empty; // 空值处理 + } + else + { + LogHelper.Instance.WriteLog($"托盘数据缺失字段:{mapping.Key}(对应TagCode:{mapping.Value})", "printLog"); + printDict[mapping.Key] = string.Empty; + } + } + } + + /// + /// 填充调试模式的测试数据(测试层) + /// + /// 打印字典 + private void FillDebugPrintCartonData(Dictionary printDict) + { + printDict["customer"] = "57"; + printDict["supplier"] = "EVE"; + printDict["orderNumber"] = "19999"; + printDict["materialCode"] = "1"; + //printDict["产品描述"] = "方形铁锂"; + printDict["productModel"] = "123"; + printDict["productDate"] = "2026-01-15"; + printDict["batchQuantity"] = "240 "; + printDict["packingQuantity"] = "10 "; + printDict["level"] = "A"; + printDict["voltage"] = "100"; + printDict["resistance"] = "1000"; + printDict["capacity"] = "99"; + printDict["boxNumber"] = "test111"; + printDict["groupNumber"] = "88"; + printDict["remark"] = "测试"; + } + + /// + /// 保存包装箱进站数据 + /// + /// + private async Task SavePrintContainerAsync(string containerCode) + { + var entity = new DGearEntity + { + ContainerCode = containerCode, + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "箱唛标签打印", + Result = "成功" + }; + + // 入参校验(避免空值写入数据库) + if (string.IsNullOrWhiteSpace(containerCode)) + { + LogHelper.Instance.WriteError("包装箱码为空,无法保存进站信息", "SysErrorLog"); + entity.ContainerCode = "NG"; + entity.Result = "NG"; + } + + // 明确指定为异步 lambda + try + { + + if (entity.ContainerCode != "NG") + { + // 数据库操作 + bool con_success = await CommonMethods.db.AddReturnBoolAsync(entity); + + string logMsg = con_success + ? $"包装箱[{containerCode}]箱唛打印信息存储成功" + : $"包装箱[{containerCode}]箱唛打印信息存储失败"; + CommonMethods.AddDataMonitorLog(0, logMsg); + } + + var entityList = new List { entity }; + CommonMethods.ShowPrintContainergDelegate?.Invoke(entityList); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError(containerCode + $"包装箱进站信息保存处理异常:{ex}", "SysErrorLog"); + } + + } + #endregion + + #region 栈板打印 + /// + /// 栈板打印 + /// + /// + /// + /// + private async Task PrintPalletStation(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + if (CommonMethods.mesConfig.customerType == "O2") + { + // 重置PLC信号 + await Task.Run(() => + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + ); + CommonMethods.AddDataMonitorLog(0, "上位机不打印O2客户栈板标签."); + return; + } + + + using (var timer = new TimedOperation("栈板打印", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"栈板打印共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (!CommonMethods.sysConfig.IsDebugMode) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + List listRes = GetList(1, 2);//默认为2,判断栈板码 + byte[] bytes = bArrays.Content.ByteReverse(); + string palletcode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, 39, System.Text.Encoding.ASCII).// D4610~4629 + Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + if (String.IsNullOrEmpty(palletcode) || palletcode.Contains("ERROR") || palletcode.Contains("NG")) + { + CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//置位0 + CommonMethods.AddDataMonitorLog(0, "获取栈板码为空,请检查".Translated()); + return; + } + else + { + listRes = await PrintPallet(palletcode, listRes); + await SavePrintPalletAsync(palletcode); + + CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//复位 + } + + } + } + else + { + List listRes = GetList(1, 2); + string palletcode = "222222"; + listRes = await PrintPallet(palletcode, listRes); + } + + } + } + + private static readonly Dictionary PalletFieldMappings = new Dictionary + { + { "customer", "customer" }, // 客户编码 + { "groupNumber", "groupNumber" }, // 组号 + { "orderNumber", "orderNumber" }, // 订单号 + { "packageQty", "packageQty" }, // 包装数量 + { "productCode", "productCode" }, // 产品编码 + { "palletQty", "palletQty" }, // 托盘数量 + { "palletNo", "palletNo" }, // 托盘编号 + { "remark", "remark" } // 备注 + }; + + private async Task> PrintPallet(string palletcode, List listRes) + { + if (CommonMethods.palletPrint == null) + { + if (!string.IsNullOrEmpty(CommonMethods.btwConfig.printerName)) + { + CommonMethods.palletPrint = new BartenderPrinter(CommonMethods.btwConfig.printerName); + } + else + { + listRes[0] = 3; + LogHelper.Instance.WriteLog($"打印机未设置和连接", "printLog"); + return listRes; + } + } + + try + { + List pallet_kv_data = null; + // 初始化目标字典 + Dictionary vdaPrintValues = new Dictionary(); + if (!CommonMethods.sysConfig.IsDebugMode) + { + pallet_kv_data = CommonMethods.db.QueryWhereList(it => it.pallet_id == palletcode); + if (pallet_kv_data == null || !pallet_kv_data.Any()) + { + listRes[0] = 3; + CommonMethods.AddDataMonitorLog(0, $"Pallet:{palletcode}获取参数失败".Translated()); + LogHelper.Instance.WriteLog($"Pallet:{palletcode}获取参数失败", "printLog"); + return listRes; + } + + MapPalletKvDataToPrintDict(pallet_kv_data, vdaPrintValues); + } + else + { + FillDebugPrintPalletData(vdaPrintValues); + } + + //使用zera打印机 + bool b = CommonMethods.palletPrint.write(CommonMethods.btwConfig.palletBTWPath, "pallet label", vdaPrintValues); + if (b) + { + listRes[0] = 1; + CommonMethods.AddDataMonitorLog(0, $"栈板码{palletcode}:打印VDA发送成功".Translated()); + } + else + { + listRes[0] = 2; + CommonMethods.AddDataMonitorLog(0, $"栈板码{palletcode}:打印VDA发送失败".Translated()); + LogHelper.Instance.WriteLog($"{palletcode}发送VDA失败", "printLog"); + } + + + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"栈板打印线程异常:{ex}", "printLog"); + } + return listRes; + } + + /// + /// 将KV数据映射到打印字典(业务转换层) + /// + /// KV数据列表 + /// 打印字典 + private void MapPalletKvDataToPrintDict(List kvData, Dictionary printDict) + { + var kvDict = kvData.ToDictionary(kv => kv.tag_code, kv => kv.tag_value, StringComparer.OrdinalIgnoreCase); + foreach (var mapping in PalletFieldMappings) + { + if (kvDict.TryGetValue(mapping.Value, out var value)) + { + printDict[mapping.Key] = value ?? string.Empty; // 空值处理 + } + else + { + LogHelper.Instance.WriteLog($"托盘数据缺失字段:{mapping.Key}(对应TagCode:{mapping.Value})", "printLog"); + printDict[mapping.Key] = string.Empty; + } + } + } + + /// + /// 填充调试模式的测试数据(测试层) + /// + /// 打印字典 + private void FillDebugPrintPalletData(Dictionary printDict) + { + printDict["customer"] = "57"; + printDict["groupNumber"] = "88"; + printDict["orderNumber"] = "19999"; + printDict["packageQty"] = "10"; + //printDict["产品描述"] = "方形铁锂"; + printDict["productCode"] = "123"; + printDict["palletQty"] = "2400"; + printDict["palletNo"] = "1000"; + printDict["remark"] = "测试"; + } + + /// + /// 保存栈板标签数据 + /// + /// + private async Task SavePrintPalletAsync(string palletCode) + { + // 入参校验(避免空值写入数据库) + if (string.IsNullOrWhiteSpace(palletCode)) + { + LogHelper.Instance.WriteLog($"包装箱[{palletCode}]对应的栈板码码为空"); + } + + // 明确指定为异步 lambda + try + { + var entity = new EGearEntity + { + PalletCode = palletCode, + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "栈板标签打印", + Result = "成功" + }; + + + // 数据库操作 + bool con_success = await CommonMethods.db.AddReturnBoolAsync(entity); + + string logMsg = con_success + ? $"栈板[{palletCode}]标签信息存储成功" + : $"栈板[{palletCode}]标签信息存储失败"; + CommonMethods.AddDataMonitorLog(0, logMsg); + + var entityList = new List { entity }; + + CommonMethods.ShowPrintPalletDelegate?.Invoke(entityList); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError(palletCode + $"栈板标签信息保存处理异常:{ex}", "SysErrorLog"); + } + + } + #endregion + + //#region 3S 打印 + ///// + ///// 3S打印 + ///// + ///// + ///// + ///// + //private async Task Print3SStation(JYResult bArrays, object plcModel) + //{ + // PlcGroup pf = plcModel as PlcGroup; + // if (pf == null) + // { + // LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + // return; + // } + + // if (CommonMethods.mesConfig.customerType != "O2") + // { + // // 重置PLC信号 + // await Task.Run(() => + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + // ); + // CommonMethods.AddDataMonitorLog(0, "上位机不打印普通客户的3S标签."); + // return; + // } + + + // using (var timer = new TimedOperation("3S标签打印", (elapsedMs, operationName) => + // { + // CommonMethods.AddDataMonitorLog(0, $"3S标签打印共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + // })) + // { + // if (bArrays.IsSuccess && bArrays.Content != null) + // { + // List listRes = GetList(1, 2);//默认为2,判断栈板码 + // byte[] bytes = bArrays.Content.ByteReverse(); + // string palletcode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, 39, System.Text.Encoding.ASCII).// D4610~4629 + // Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + // if (String.IsNullOrEmpty(palletcode) || palletcode.Contains("ERROR") || palletcode.Contains("NG")) + // { + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//置位0 + // CommonMethods.AddDataMonitorLog(0, "获取栈板码为空,请检查".Translated()); + // return; + // } + // else + // { + // listRes = await Print3SLabel(palletcode, listRes); + // await SavePrint3SAsync(palletcode); + + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//复位 + // } + + // } + // } + //} + + + //private async Task> Print3SLabel(string palletcode, List listRes) + //{ + + // //try + // //{ + // // List pallet_kv_data = null; + + // // pallet_kv_data = CommonMethods.db.QueryWhereList(it => it.pallet_id == palletcode); + // // if (pallet_kv_data == null || pallet_kv_data.Count == 0) + // // { + // // listRes[0] = 3; + // // CommonMethods.AddDataMonitorLog(0, $"Pallet:{palletcode}获取参数失败".Translated()); + // // LogHelper.Instance.WriteLog($"Pallet:{palletcode}获取参数失败", "printLog"); + // // return listRes; + // // } + + // // // 定义需要写入的多组数据(变量名和值的键值对) + // // var palletLabelData = new Dictionary + // // { + // // //{ "vda1", VDAdata.receiver }, + // // //{ "vda2", VDAdata.unloading }, + // // //{ "vda4", VDAdata.supplier }, + // // //{ "vda5", VDAdata.netWeight }, + // // //{ "vda6", VDAdata.groWeight }, + // // //{ "vda7", VDAdata.noBoxes }, + // // //{ "vda8", VDAdata.partNo },//8数字+条形码(格式为39码) + // // //{ "vda8-1", VDAdata.bmwDmcJYA },//8-1 二维码 + // // //{ "vda9", VDAdata.quantity },//9数字+条形码(格式为39码) + // // //{ "vda10", VDAdata.skuDescr }, + // // //{ "vda11.1", VDAdata.sku }, + + // // // 可继续添加更多数据... + // // }; + + // // 初始化目标字典 + // Dictionary vdaPrintValues = new Dictionary(); + // // //循环处理每组数据 + // // foreach (var entry in palletLabelData) + // // { + // // // 获取PLC变量信息 + // // var plcVariable = getPLCVariable(entry.Key); + // // // 将BTName与值存入字典 + // // vdaPrintValues[plcVariable.BTName] = entry.Value; // 使用索引器避免重复键异常(会覆盖旧值) + // // // 或者用 Add 方法(如果确保键不重复): + // // // vdaPrintValues.Add(plcVariable.BTName, entry.Value); + // // } + // //使用VDA打印机 + // bool b = CommonMethods._3SPrint.write(CommonMethods.btwConfig.palletBTWPath, vdaPrintValues); + // if (b) + // { + // listRes[0] = 1; + // CommonMethods.AddDataMonitorLog(0, $"栈板码{palletcode}:打印VDA发送成功".Translated()); + // } + // else + // { + // listRes[0] = 2; + // CommonMethods.AddDataMonitorLog(0, $"栈板码{palletcode}:打印VDA发送失败".Translated()); + // LogHelper.Instance.WriteLog($"{palletcode}发送VDA失败", "printLog"); + // } + + + // //} + // //catch (Exception ex) + // //{ + // // LogHelper.Instance.WriteError($"栈板打印线程异常:{ex}", "printLog"); + // //} + // return listRes; + //} + + ///// + ///// 保存3S标签数据 + ///// + ///// + //private async Task SavePrint3SAsync(string palletCode) + //{ + // // 入参校验(避免空值写入数据库) + // if (string.IsNullOrWhiteSpace(palletCode)) + // { + // LogHelper.Instance.WriteLog($"包装箱[{palletCode}]对应的栈板码码为空"); + // } + + // // 明确指定为异步 lambda + // try + // { + // var entity = new EGearEntity + // { + // PalletCode = palletCode, + // TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + // Remark = "3S标签打印", + // Result = "成功" + // }; + + + // // 数据库操作 + // bool con_success = await CommonMethods.db.AddReturnBoolAsync(entity); + + // string logMsg = con_success + // ? $"3S[{palletCode}]标签信息存储成功" + // : $"3S[{palletCode}]标签信息存储失败"; + // CommonMethods.AddDataMonitorLog(0, logMsg); + + // var entityList = new List { entity }; + + // CommonMethods.ShowPrintPalletDelegate?.Invoke(entityList); + // } + // catch (Exception ex) + // { + // LogHelper.Instance.WriteError(palletCode + $"3S标签信息保存处理异常:{ex}", "SysErrorLog"); + // } + + //} + //#endregion + + //#region 6J 打印 + ///// + ///// 6J打印 + ///// + ///// + ///// + ///// + //private async Task Print6JStation(JYResult bArrays, object plcModel) + //{ + // PlcGroup pf = plcModel as PlcGroup; + // if (pf == null) + // { + // LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + // return; + // } + + // if (CommonMethods.mesConfig.customerType != "O2") + // { + // // 重置PLC信号 + // await Task.Run(() => + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + // ); + // CommonMethods.AddDataMonitorLog(0, "上位机不打印普通客户的6J标签."); + // return; + // } + + + // using (var timer = new TimedOperation("6J标签打印", (elapsedMs, operationName) => + // { + // CommonMethods.AddDataMonitorLog(0, $"6J标签打印共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + // })) + // { + // if (bArrays.IsSuccess && bArrays.Content != null) + // { + // List listRes = GetList(1, 2);//默认为2,判断栈板码 + // byte[] bytes = bArrays.Content.ByteReverse(); + // string palletcode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, 39, System.Text.Encoding.ASCII).// D4610~4629 + // Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + // if (String.IsNullOrEmpty(palletcode) || palletcode.Contains("ERROR") || palletcode.Contains("NG")) + // { + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//置位0 + // CommonMethods.AddDataMonitorLog(0, "获取栈板码为空,请检查".Translated()); + // return; + // } + // else + // { + // listRes = await Print6JLabel(palletcode, listRes); + // await SavePrint6JAsync(palletcode); + + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(pf.VarList[2].VarAddress, listRes.ToArray(), PLC.DataType.ArrShort);//判断结果写入PLC + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, (short)0);//复位 + // } + + // } + // } + //} + + + //private async Task> Print6JLabel(string palletcode, List listRes) + //{ + + // //try + // //{ + // // List pallet_kv_data = null; + + // // pallet_kv_data = CommonMethods.db.QueryWhereList(it => it.pallet_id == palletcode); + // // if (pallet_kv_data == null || pallet_kv_data.Count == 0) + // // { + // // listRes[0] = 3; + // // CommonMethods.AddDataMonitorLog(0, $"Pallet:{palletcode}获取参数失败".Translated()); + // // LogHelper.Instance.WriteLog($"Pallet:{palletcode}获取参数失败", "printLog"); + // // return listRes; + // // } + + // // // 定义需要写入的多组数据(变量名和值的键值对) + // // var palletLabelData = new Dictionary + // // { + // // //{ "vda1", VDAdata.receiver }, + // // //{ "vda2", VDAdata.unloading }, + // // //{ "vda4", VDAdata.supplier }, + // // //{ "vda5", VDAdata.netWeight }, + // // //{ "vda6", VDAdata.groWeight }, + // // //{ "vda7", VDAdata.noBoxes }, + // // //{ "vda8", VDAdata.partNo },//8数字+条形码(格式为39码) + // // //{ "vda8-1", VDAdata.bmwDmcJYA },//8-1 二维码 + // // //{ "vda9", VDAdata.quantity },//9数字+条形码(格式为39码) + // // //{ "vda10", VDAdata.skuDescr }, + // // //{ "vda11.1", VDAdata.sku }, + + // // // 可继续添加更多数据... + // // }; + + // // 初始化目标字典 + // Dictionary vdaPrintValues = new Dictionary(); + // // //循环处理每组数据 + // // foreach (var entry in palletLabelData) + // // { + // // // 获取PLC变量信息 + // // var plcVariable = getPLCVariable(entry.Key); + // // // 将BTName与值存入字典 + // // vdaPrintValues[plcVariable.BTName] = entry.Value; // 使用索引器避免重复键异常(会覆盖旧值) + // // // 或者用 Add 方法(如果确保键不重复): + // // // vdaPrintValues.Add(plcVariable.BTName, entry.Value); + // // } + // //使用VDA打印机 + // bool b = CommonMethods._6JPrint.write(CommonMethods.btwConfig.palletBTWPath, vdaPrintValues); + // if (b) + // { + // listRes[0] = 1; + // CommonMethods.AddDataMonitorLog(0, $"栈板码{palletcode}:打印VDA发送成功".Translated()); + // } + // else + // { + // listRes[0] = 2; + // CommonMethods.AddDataMonitorLog(0, $"栈板码{palletcode}:打印VDA发送失败".Translated()); + // LogHelper.Instance.WriteLog($"{palletcode}发送VDA失败", "printLog"); + // } + + + // //} + // //catch (Exception ex) + // //{ + // // LogHelper.Instance.WriteError($"栈板打印线程异常:{ex}", "printLog"); + // //} + // return listRes; + //} + + ///// + ///// 保存6J标签数据 + ///// + ///// + //private async Task SavePrint6JAsync(string palletCode) + //{ + // // 入参校验(避免空值写入数据库) + // if (string.IsNullOrWhiteSpace(palletCode)) + // { + // LogHelper.Instance.WriteLog($"包装箱[{palletCode}]对应的栈板码码为空"); + // } + + // // 明确指定为异步 lambda + // try + // { + // var entity = new EGearEntity + // { + // PalletCode = palletCode, + // TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + // Remark = "3S标签打印", + // Result = "成功" + // }; + + + // // 数据库操作 + // bool con_success = await CommonMethods.db.AddReturnBoolAsync(entity); + + // string logMsg = con_success + // ? $"3S[{palletCode}]标签信息存储成功" + // : $"3S[{palletCode}]标签信息存储失败"; + // CommonMethods.AddDataMonitorLog(0, logMsg); + + // var entityList = new List { entity }; + + // CommonMethods.ShowPrintPalletDelegate?.Invoke(entityList); + // } + // catch (Exception ex) + // { + // LogHelper.Instance.WriteError(palletCode + $"3S标签信息保存处理异常:{ex}", "SysErrorLog"); + // } + + //} + + //#endregion + + ///// + ///// 绑定客户标签 + ///// + ///// + ///// + ///// + //private async Task BindingLabelStation(JYResult bArrays, object plcModel) + //{ + // PlcGroup pf = plcModel as PlcGroup; + // if (pf == null) + // { + // LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + // return; + // } + // if (CommonMethods.mesConfig.customerType != "O2") + // { + // // 重置PLC信号 + // await Task.Run(() => + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + // ); + // CommonMethods.AddDataMonitorLog(0, "普通客户不用上传MES绑定标签"); + // return; + // } + + // using (var timer = new TimedOperation("标签绑定", (elapsedMs, operationName) => + // { + // CommonMethods.AddDataMonitorLog(0, $"标签绑定共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + // })) + // { + // if (bArrays.IsSuccess && bArrays.Content != null) + // { + // await BindingLabelAsync(bArrays, plcModel); + // } + + // // 重置PLC信号 + // await Task.Run(() => + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + // ); + // } + //} + + //private async Task BindingLabelAsync(JYResult bArrays, object plcModel) + //{ + // PlcGroup pf = plcModel as PlcGroup; + // if (pf == null) + // { + // LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + // return; + // } + + // using (var timer = new TimedOperation("标签绑定", (elapsedMs, operationName) => + // { + // CommonMethods.AddDataMonitorLog(0, $"标签绑定共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + // })) + // { + // if (bArrays.IsSuccess && bArrays.Content != null) + // { + // try + // { + // #region 数据初始化 + // //解析数据 + // const int maxChannel = 8; // 固定8通道,改为常量便于维护 + // var listMark = Enumerable.Repeat(false, maxChannel).ToList(); // 有料标志 + + // #endregion + + // // 从D2021开始 + // #region 数据解析 + // byte[] bytes = bArrays.Content.ByteReverse();//高低位转换 + // // TODO 从PLC读取出所有的电芯条码和条码位置! + // string containerCode = ""; + // string palletCode = ""; + // string custcartonCode = ""; + // string custpalletCode = ""; + // List custcarton = new List(); + // List custpallet = new List(); + // ////有料标志 + + // #endregion + + // #region 上传MES + // //上传MES + // if (custcarton.Count > 0 && custpallet.Count > 0) + // { + // const int maxRetry = 3; // 最大重试3次 + // const int retryIntervalMs = 1000; // 重试间隔1秒 + // int retryCount = 0; + // //bool isSuccess = false; + + // while (retryCount < maxRetry) + // { + // if (!CommonMethods.mesConfig.isConnected) + // { + // CommonMethods.AddDataMonitorLog(1, "MES连接中断,停止上传"); // 1:错误级别 + // await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); // 反馈错误 + // break; + // } + + // //Task<(bool success, string mesMessage, MesResType mesResType)> + // // BindingAsync( string containerCode, string palletCode, string custcartonCode, string custpalletCode, List custcarton, List custpallet) + // // 调用MES接口 + // var (success, mesMessage, mesResType) = await CommonMethods.hbgMes.BindingAsync( + // CommonMethods.mesConfig.bindingUrl, + // CommonMethods.mesConfig.siteCode, + // CommonMethods.mesConfig.lineCode, + // CommonMethods.mesConfig.equipNum, + // containerCode, palletCode, custcartonCode, custpalletCode, custcarton, custpallet + // ); + + // if (success) + // { + // await WritePlcResult(pf, "D80", 0, PLC.DataType.Short); // 反馈成功 + // break; + // } + + // // 失败处理 + // retryCount++; + // CommonMethods.AddDataMonitorLog(1, $"MES请求失败({retryCount}/{maxRetry}):{mesMessage}"); + // if (retryCount >= maxRetry) + // { + // await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); // 超过重试次数,反馈错误 + // break; + // } + // await Task.Delay(retryIntervalMs); // 等待重试 + // } + // } + + // #endregion + + // #region 数据反馈&保存 + + + // // //读取结果显示 + // // // TODO 界面上将本次mes获得档位的电芯码状态置为红色!存储各个档位的数据,监控每个档位的电芯是不是满了,满了就调用另一个上传mes接口处理,需要另外写一个监控线程来监控吗? + + // try + // { + // //await SaveBindingDataAsync(custcarton); //是否需要存库? + // } + // catch (Exception ex) + // { + // //MessageBox.Show($"保存失败:{ex.Message}"); //TODO 是否需要弹窗提示? + // } + + + // // 重置PLC信号 + // await Task.Run(() => + // CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[0].VarAddress, 0) + // ); + + // #endregion + + // } + // catch (Exception ex) + // { + // LogHelper.Instance.WriteError($"标签绑定线程处理异常:{ex}", "SysErrorLog"); + // // 异常时反馈PLC错误 + // await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); + // } + // } + // } + //} + + #region 保存箱唛信息数据 + /// + /// 保存绑定信息数据 + /// + /// + + private async Task SaveBindingDataAsync(string containerCode, List list) + { + if (list == null || list.Count == 0) + return; + + // 明确指定为异步 lambda + await Task.Run(async () => + { + try + { + // 数据库操作 + bool success = await CommonMethods.db.AddReturnBoolAsync(list); + + if (success) + { + //// TODO 界面需要展示吗? + //await SafeInvokeOnUIThread(() => + //{ + // CommonMethods.ShowBatteryNGRsnDelegate?.Invoke(list); + //}); + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"箱唛信息保存处理异常:{ex}", "SysErrorLog"); + } + }); + } + + #endregion + + + #region 包装出站 + private async Task BlankingStation(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + using (var timer = new TimedOperation("包装箱出站", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"包装箱出站共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + try + { + #region 数据解析 + byte[] bytes = bArrays.Content.ByteReverse();//高低位转换 + // 从PLC读取出卡板码 + int containerLen = 40; + + string containerCode = StringLib.GetStringFromByteArrayByEncoding(bytes, 0, containerLen, System.Text.Encoding.ASCII).// 从D3100开始 + Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); + #endregion + + if (!String.IsNullOrEmpty(containerCode)) //(String.IsNullOrEmpty(x) || x.Trim() == "ERROR" || !IsAlphaNumeric(x)) + { + CommonMethods.AddDataMonitorLog(0, "包装箱出站,箱唛码:" + containerCode); + // 出站界面显示 + await SaveBlankingAsync(containerCode); + } + else + { + var entity = new BGearEntity + { + ContainerCode = "NG", + PalletCode = "NG", + //Weight = weight.ToString(), + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "包装箱出站", + Result = "NG" + }; + var entityList = new List { entity }; + CommonMethods.ShowBlankingDelegate?.Invoke(entityList); + CommonMethods.AddDataMonitorLog(0, "未从plc中获取到栈板码"); + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"包装箱出站线程处理异常:{ex}", "SysErrorLog"); + // 异常时反馈PLC错误 + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); + } + finally + { + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + } + } + } + } + + private async Task PreparePrintDataAsync(List cartonInfo, List palletInfo, string weight) + { + try + { + if (CommonMethods.tcpClient == null) + { + CommonMethods.tcpClient = new PrintSocket.TCPClient(); + } + if (!CommonMethods.tcpClient.IsConnected()) + { + CommonMethods.tcpClient.InitClient("127.0.0.1", 8000); + } + + Dictionary printData = new Dictionary(StringComparer.OrdinalIgnoreCase); + + printData.Add("siteCode", CommonMethods.mesConfig.siteCode); + printData.Add("lineCode", CommonMethods.mesConfig.lineCode); + printData.Add("equipName", CommonMethods.mesConfig.equipNum); + + if (cartonInfo != null && cartonInfo.Count > 0) + { + printData.Add("ContainerCode", cartonInfo[0].container_id); + foreach (var containerItem in cartonInfo) + { + // 过滤空Key/空Value,避免无效数据 + if (string.IsNullOrWhiteSpace(containerItem.tag_code) || string.IsNullOrWhiteSpace(containerItem.tag_value)) + { + LogHelper.Instance.WriteLog($"ContainerKVDetail无效数据:tag_code={containerItem.tag_code}, tag_value={containerItem.tag_value}"); + continue; + } + + // 重复Key则覆盖(后添加的覆盖先添加的) + if (printData.ContainsKey(containerItem.tag_code)) + { + printData[containerItem.tag_code] = containerItem.tag_value; + } + else + { + printData.Add(containerItem.tag_code, containerItem.tag_value); + } + } + } + + if (palletInfo != null && palletInfo.Count > 0) + { + foreach (var palletItem in palletInfo) + { + // 过滤空Key/空Value + if (string.IsNullOrWhiteSpace(palletItem.tag_code) || string.IsNullOrWhiteSpace(palletItem.tag_value)) + { + LogHelper.Instance.WriteLog($"PalletKVDetail无效数据:tag_code={palletItem.tag_code}, tag_value={palletItem.tag_value}"); + continue; + } + + // 重复Key则覆盖(Pallet覆盖Container) + if (!printData.ContainsKey(palletItem.tag_code)) + { + printData.Add(palletItem.tag_code, palletItem.tag_value); + } + } + } + + if (!string.IsNullOrWhiteSpace(weight)) + { + if (printData.ContainsKey("weight")) + { + printData["weight"] = weight; + } + else + { + printData.Add("weight", weight); + } + } + + // 如果PrintData中的containerTypeCode未从KV中获取到,设置默认空值 + var printDataFields = new List + { + "ContainerCode", "containerTypeCode", "virtualContainerCode", "groupNum", + "supplierCode", "customerCode", "customerName", "packQty", "batchQty", + "soNum", "customerOrder", "soLineNum", "materialCode", "materialName", + "model", "grade", "voltage", "inresistance", "capacity", "productDate", + "rohs", "locatorCode", "locatorName", "enableFlag", "actualLoadQty", + "palletCode", "containerCode", "poNum", "autoFlag" + }; + foreach (var field in printDataFields) + { + if (!printData.ContainsKey(field)) + { + printData.Add(field, string.Empty); // 缺失字段赋值为空字符串 + } + } + + // 发送打印任务 + CommonMethods.tcpClient.Send(printData); + } + + catch (Exception ex) + { + LogHelper.Instance.WriteLog($"发送打印数据失败{ex.Message}"); + } + } + + /// + /// 保存包装线出站数据 + /// + /// + private async Task SaveBlankingAsync(string cartonCode) + { + var entity = new BGearEntity + { + ContainerCode = cartonCode, + TestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Remark = "包装箱出站", + Weight = "", + }; + + try + { + List containerEntity = CommonMethods.db.QueryWhereList(it => it.ContainerCode == cartonCode); + if (containerEntity == null || !containerEntity.Any()) + { + LogHelper.Instance.WriteLog($"数据库中无包装箱[{cartonCode}]进站信息"); + entity.PalletCode = "NG"; + entity.Result = "NG"; + entity.Remark += ",对应的栈板码为空"; + } + else + { + entity.PalletCode = containerEntity[0].PalletCode; + entity.Result = "OK"; + } + + // 数据库操作 + bool con_success = await CommonMethods.db.AddReturnBoolAsync(entity); + + string logMsg = con_success ? $"包装箱[{cartonCode}]出站信息存储成功": $"包装箱[{cartonCode}]出站信息存储失败"; + CommonMethods.AddDataMonitorLog(0, logMsg); + var entityList = new List { entity }; + CommonMethods.ShowBlankingDelegate?.Invoke(entityList); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError(cartonCode + $"包装箱出站信息保存处理异常:{ex}", "SysErrorLog"); + } + + } + #endregion + + + #region 中转数据给博杰 + private async Task TransferStation(JYResult bArrays, object plcModel) + { + PlcGroup pf = plcModel as PlcGroup; + if (pf == null) + { + LogHelper.Instance.WriteError("PLC模型转换失败", "SysErrorLog"); + return; + } + + using (var timer = new TimedOperation("中转数据", (elapsedMs, operationName) => + { + CommonMethods.AddDataMonitorLog(0, $"【结束】中转数据共耗时:{operationName} 执行耗时:{elapsedMs}ms"); + })) + { + if (bArrays.IsSuccess && bArrays.Content != null) + { + try + { + #region 数据解析 + + byte[] bytes = bArrays.Content.ByteReverse();//高低位转换 + // 从PLC读取出卡板码 + int containerLen = 40; + short model = CommonMethods.plcDevices[0].ReadInt16(pf.VarList[2].VarAddress); //ShortLib.GetShortFromByteArray(bArrays.Content, 0); // 产品型号 + string containerCode = StringLib.GetStringFromByteArrayByEncoding(bytes, 6, containerLen, System.Text.Encoding.ASCII).// 从D3100开始 + Replace('\r', ' ').Replace(" ", "").Trim(); + #endregion + + if (String.IsNullOrEmpty(containerCode) || String.IsNullOrEmpty(containerCode) || containerCode.ToUpper().Trim() == "ERROR" || containerCode.Length < 5) + { + CommonMethods.AddDataMonitorLog(0, "中转数据,箱唛码无效" + containerCode); + return; + } + + CommonMethods.AddDataMonitorLog(0, $"【开始】中转数据,产品型号:{model}, 箱唛码:{containerCode}\n"); + + PlcReadWriteBase plc = PLCFactory.CreatePLC(PLCType.Siemens, 1, "S7_1200", new IPEndPoint(IPAddress.Parse("192.168.2.50"), 102)); + string msg = ""; + plc.Connect(ref msg); + if (plc.IsConnected) + { + plc.WriteValue("DB44.8", new short[(ushort)(containerLen + 2)], PLC.DataType.ArrShort); + //short[] value4 = plc.ReadValue("DB44.8", PLC.DataType.ArrShort, (ushort)(containerLen + 2)); + //string value5 = ShortArrayToString(value4); + //CommonMethods.AddDataMonitorLog(0, $"清空后再读取【DB44.8】:{value4}=>{value5}"); + + // 写入数据 偏移量产品类型地址是,DB44.6 条码地址是DB44.8 + plc.WriteValue("DB44.6", (short)model, PLC.DataType.Short); + plc.WriteValue("DB44.8", containerCode, PLC.DataType.String); + CommonMethods.AddDataMonitorLog(0, $"【DB44.6】写入型号:{model},【DB44.8】写入箱唛码:{containerCode}\n"); + + //object value = plc.ReadValue("DB44.6", PLC.DataType.Short); + //short[] value2 = plc.ReadValue("DB44.8", PLC.DataType.ArrShort, (ushort)(containerLen+2)); + //string value3 = ShortArrayToString(value2); + //CommonMethods.AddDataMonitorLog(0, $"读取【DB44.6】:{value}, 读取【DB44.8】:{value3}"); + } + else + { + CommonMethods.AddDataMonitorLog(0, "连接失败,请检查网络和PLC设置。"); + } + + // 关闭连接 + plc.Disconnect(); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"中转数据处理异常:{ex}", "SysErrorLog"); + // 异常时反馈PLC错误 + await WritePlcResult(pf, "D80", 1, PLC.DataType.Short); + } + finally + { + await Task.Run(() => CommonMethods.plcDevices[pf.PlcNum - 1].WriteInt16(pf.VarList[1].VarAddress, 1)); + } + } + } + } + + private string ShortArrayToString(short[] shortArray) + { + if (shortArray == null || shortArray.Length < 1) + return ""; + + // short[] 转 byte[] + byte[] byteArray = new byte[shortArray.Length * 2]; + Buffer.BlockCopy(shortArray, 0, byteArray, 0, byteArray.Length); + + // 长度 + int currentLength = byteArray[0]; + if (currentLength <= 0 || (2 + currentLength) > byteArray.Length) + return ""; + + // 从第2个字节开始,转字符串 + string result = Encoding.ASCII.GetString(byteArray.ByteReverse(), 2, currentLength); + return result; + } + + #endregion + + #region 斑马/VDA打印机 + public static void initPrint() + { + //安装驱动后初始化 + //CommonMethods.containerPrint = new BartenderPrinter(CommonMethods.containerPrintName); + //CommonMethods.palletPrint = new BartenderPrinter(CommonMethods.palletPrintName); + } + + #endregion + + #region 创建空的数组List + public List GetList(int num, T data) + { + List list = new List(); + for (int i = 0; i < num; i++) + { + list.Add(data); + } + return list; + + } + + public List GetMesType(int Num) + { + List mesResTypes = new List(); + for (int i = 0; i < Num; i++) + { + mesResTypes.Add(MesResType.UnKnow); + } + return mesResTypes; + } + + /// + /// PLC内批量写\0 + /// + /// + /// + public string GetString_0(int Num) + { + string ff = ""; + for (int i = 0; i < Num; i++) + { + ff = ff.Insert(ff.Length, "\0"); + } + return ff; + } + + public string GetBarCodeNum(int Num) + { + string CodeNo = ""; + int CodeLenth = Num.ToString().Length; + + switch (CodeLenth) + { + case 1: + return CodeNo = $"00000{Num}"; + case 2: + return CodeNo = $"0000{Num}"; + case 3: + return CodeNo = $"000{Num}"; + case 4: + return CodeNo = $"00{Num}"; + case 5: + return CodeNo = $"0{Num}"; + default: + return CodeNo = $"{Num}"; + } + } + #endregion + + + #region 辅助方法 + /// + /// 检测数据是否只包含字母加数字 + /// + /// + /// + public bool IsAlphaNumeric(string input) + { + // 使用正则表达式检查是否只包含字母和数字 + return Regex.IsMatch(input, "^[a-zA-Z0-9]+$"); + } + + ///// + ///// 解析条码(通用方法,减少冗余) + ///// + //private string ParseBarcode(byte[] bytes, int offset, int length) + //{ + // return StringLib.GetStringFromByteArrayByEncoding(bytes, offset, length * 2, System.Text.Encoding.ASCII) + // .Replace('\0', ' ') + // .Replace('\r', ' ') + // .Trim(); + //} + + /// + /// 写入PLC结果(封装重复逻辑) + /// + private async Task WritePlcResult(PlcGroup pf, string plcAddress, short result, PLC.DataType datatype) + { + await Task.Run(() => + CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue(plcAddress, result, datatype) + //CommonMethods.plcDevices[pf.PlcNum - 1].WriteValue("D80", result, PLC.DataType.Short) + ); + } + + + ///// + ///// 电池结果辅助方法 + ///// + ///// + //private string GetNGReasons(int value, string reasonCode) + //{ + // // 只有当值为2时才返回原因代码,否则返回空字符串 + // return value == 2 ? reasonCode : string.Empty; + //} + + //// 组合多个NG原因字段 + //private string CombineNGReasons(params string[] reasons) + //{ + // // 过滤空值并连接 + // var validReasons = reasons + // .Where(r => !string.IsNullOrEmpty(r)) + // .Distinct(); // 去重 + + // return string.Join(",", validReasons); + //} + + #endregion + + } +} \ No newline at end of file diff --git a/JinYuan.ControlCenter/ControlCenter_Total.cs b/JinYuan.ControlCenter/ControlCenter_Total.cs new file mode 100644 index 0000000..e4adf15 --- /dev/null +++ b/JinYuan.ControlCenter/ControlCenter_Total.cs @@ -0,0 +1,677 @@ + +using JinYuan.Helper; +using JinYuan.MES.Models; +using JinYuan.Models; +using JinYuan.VirtualDataLibrary; +using Language; +using PLCCommunication; +using PLCCommunication.Common; +using PLCCommunication.Modbus; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using static System.Windows.Forms.LinkLabel; + +namespace JinYuan.ControlCenters +{ + public partial class ControlCenter + { + #region 刷新12小时产能 + + public int GetHour() + { + DateTime now = DateTime.Now; + int nowHour = Convert.ToInt32($"{now.Hour}30"); + int hour = 0; + if (CommonMethods.LastHour != nowHour) + { + hour = Convert.ToInt32($"{now.Hour - 1}30"); + if (now.Hour == 0) + { + hour = 2330; + } + } + else + { + hour = Convert.ToInt32($"{now.Hour}30"); + } + return hour; + } + + + public void Refresh12HourProdQty() + { + List chart12Hours = new List(); + DateTime dtTime = DateTime.Now; + string strDate = dtTime.ToString("yyyy-MM-dd"); + string nextDate = dtTime.AddDays(1).ToString("yyyy-MM-dd"); + int Hour = GetHour(); + + var listTotal = CommonMethods.db.QueryWhereList(t => + t.FDate == strDate || t.FDate == nextDate);// 查询两天的数据 + + if (listTotal != null && listTotal.Count > 0) + { + for (int i = 0; i < 24; i++) // 改为24小时 + { + int currentHour = (i + 8) % 24; // 从8点开始 + int nextHour = (currentHour + 1) % 24; + string currentDate = currentHour >= 8 ? strDate : nextDate; + + var hour1 = listTotal.Where(p => + p.FDate == currentDate && + p.FHour == currentHour).FirstOrDefault(); + + int ProdALLQty = 0; + int ProdOKQty = 0; + int ProdNGQty = 0; + string strOkRatio = "0.00"; + if (hour1 != null) + { + ProdALLQty = hour1.ProdIn; + ProdOKQty = hour1.ProdOut; + } + ProdNGQty = ProdALLQty - ProdOKQty; + if (ProdOKQty >= 0 && ProdALLQty > 0) + { + strOkRatio = (Math.Round(decimal.Parse(ProdOKQty.ToString()) / decimal.Parse(ProdALLQty.ToString()), 4)).ToString(); + } + string displayTime = $"{currentHour:D2}:30~{nextHour:D2}:29"; + + chart12Hours.Add(new Chart12HourData() + { + DisplayTime = displayTime, + ProdIn = ProdALLQty, + ProdOut = ProdOKQty, + ProdNg = ProdNGQty, + OKRatio = strOkRatio + }); + } + } + else + { + for (int i = 0; i < 24; i++) + { + int currentHour = (i + 8) % 24; + int nextHour = (currentHour + 1) % 24; + + Random rand = new Random(); + int ranOK = rand.Next(1000, 3000); + int ranNG = rand.Next(400, 1200); + int total = ranOK + ranNG; + string displayTime = $"{currentHour:D2}:30~{nextHour:D2}:29"; + string strOkRatio = (Math.Round(decimal.Parse(ranOK.ToString()) / decimal.Parse(total.ToString()), 4)).ToString(); + chart12Hours.Add(new Chart12HourData() + { + DisplayTime = displayTime, + ProdIn = ranOK + ranNG, + ProdOut = ranOK, + ProdNg = ranNG, + OKRatio = strOkRatio // 保留2位小数,添加% + }); + } + } + if (chart12Hours != null) + { + CommonMethods.Lst_Prod12HourData = chart12Hours; + } + } + #endregion + + #region 检测项不良 + /// + /// 读取检测项不良 + /// + private void GetDefectTypeQty() + { + + try + { + if (CommonMethods.Lst_DefectTypeQty.Count <= 0) + { + + //CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "极性检测不良".Translated(), DataCount = 0 }); + //CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "称重不良".Translated(), DataCount = 0 }); + //CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "铜极耳剪切不良".Translated(), DataCount = 0 }); + //CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "铝极耳剪切不良".Translated(), DataCount = 0 }); + //CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "厚度不良", DataCount = 0 }); + //CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "焊前CCD正极耳顶面不良", DataCount = 0 }); + CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "扫码不良".Translated(), DataCount = 0 }); + CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "MES不良".Translated(), DataCount = 0 }); + CommonMethods.Lst_DefectTypeQty.Add(new ChartDataType { DataType = "其他不良".Translated(), DataCount = 0 }); + } + else //读取PLC数据 + { + if (CommonMethods.plcDevices[0] != null && CommonMethods.plcDevices[0].IsConnected) + { + Task.Run(() => + { + try + { + int ProdDRFIDNgQty = CommonMethods.plcDevices[0].ReadInt16("D1000");//扫码不良 + int ProdDXNgQty = CommonMethods.plcDevices[0].ReadInt16("D1001");//MES不良 + int ProdGRFIDNgQty = CommonMethods.plcDevices[0].ReadInt16("D1002");//其他不良 + //int ProdDRFIDNgQty = CommonMethods.plcDevices[0].ReadInt16("D1000");//极性检测不良 + //int ProdDXNgQty = CommonMethods.plcDevices[0].ReadInt16("D1002");//称重不良 + //int ProdGRFIDNgQty = CommonMethods.plcDevices[0].ReadInt16("D1006");//铜极耳剪切不良 + //int ProdYLZNgQty = CommonMethods.plcDevices[0].ReadInt16("D1004");//铝极耳剪切不良 + + //從PLC讀取數據賦值給到NGList + CommonMethods.Lst_DefectTypeQty.Where(p => p.DataType == "扫码不良".Translated()).FirstOrDefault().DataCount = ProdDRFIDNgQty; + CommonMethods.Lst_DefectTypeQty.Where(p => p.DataType == "MES不良".Translated()).FirstOrDefault().DataCount = ProdDXNgQty; + CommonMethods.Lst_DefectTypeQty.Where(p => p.DataType == "其他不良".Translated()).FirstOrDefault().DataCount = ProdGRFIDNgQty; + //CommonMethods.Lst_DefectTypeQty.Where(p => p.DataType == "铝极耳剪切不良".Translated()).FirstOrDefault().DataCount = ProdYLZNgQty; + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + } + }); + + } + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + } + } + #endregion + + #region 智能电表 ---默认D1100开始 + public void GetEnergyData() + { + ModbusRtu busRtuClient = new ModbusRtu(); + if (CommonMethods.plcDevices.Count > 0 && CommonMethods.plcDevices[0] != null && CommonMethods.plcDevices[0].IsConnected) + { + List listM = new List(); + List ListF = new List(); + List listAddre = new List() + { + "D1100","D1102","D1104","D1106","D1108","D1110","D1112","D1114","D1116","D1118","D1120","D1122","D1124","D1126" + }; + try + { + + ElectricEnergy m = new ElectricEnergy(); + //for (int i = 0; i < listAddre.Count; i++) + //{ + // ListF.Add(CommonMethods.plcDevices[0].ReadFloat(listAddre[i])); + //} + + //m.AccumulatedElectricity = (Decimal)ListF[0]; //有功电能(累计电能)D1100 + //m.PhaseVoltageA = (Decimal)ListF[1]; ; //A相电压 D1102 + //m.PhaseVoltageB = (Decimal)ListF[2]; ;//B相电压 D1104 + //m.PhaseVoltageC = (Decimal)ListF[3]; ;//C相电压 D1106 + //m.PhaseCurrentA = (Decimal)ListF[4]; ; //电流IA D1108 + //m.PhaseCurrentB = (Decimal)ListF[5]; ;//电流IB D1110 + //m.PhaseCurrentC = (Decimal)ListF[6]; ;//电流IC D1112 + //m.PhasePowerA = (Decimal)ListF[7]; ; //A相有功功率 D1114 + //m.PhasePowerB = (Decimal)ListF[8]; ; //B相有功功率 D1116 + //m.PhasePowerC = (Decimal)ListF[9]; ;//C相有功功率 D1118 + //m.ActivePower = (Decimal)ListF[10]; ; //总有功功率 D1120 + //m.PowerFactor = (Decimal)ListF[11]; ; //总功率因数 D1122 + //m.pt = (Decimal)ListF[12]; ; //电压变比 D1124 + //m.ct = (Decimal)ListF[13]; ; //电流变比 D1126 + + //listM.Add(m); + //CommonMethods.listElectricEnergy = listM; + //return; + + busRtuClient.SerialPortInni(sp => + { + sp.PortName = "COM3"; + sp.BaudRate = 9600; + sp.DataBits = 8; + sp.StopBits = System.IO.Ports.StopBits.One; + sp.Parity = System.IO.Ports.Parity.None; + }); + busRtuClient.DataFormat = (PLCCommunication.Common.DataFormat)DataFormat.CDAB; + busRtuClient.Open(); // 打开 + if (busRtuClient.IsOpen()) + { + // 读取数据 + JYResult readResult = busRtuClient.Read("35", 30); + JYResult readResult1 = busRtuClient.Read("3", 2); + if (readResult.IsSuccess && readResult1.IsSuccess) + { + //DPT + Byte DptH = busRtuClient.ByteTransform.TransByte(readResult.Content, 0);//高8位 + Byte DptL = busRtuClient.ByteTransform.TransByte(readResult.Content, 1);//低8位 + //DPQ + Byte DpqH = busRtuClient.ByteTransform.TransByte(readResult.Content, 2);//高8位 + Byte DpqL = busRtuClient.ByteTransform.TransByte(readResult.Content, 3);//低8位 + + //m = new ElectricEnergy(); + Decimal q = busRtuClient.ByteTransform.TransUInt16(readResult.Content, 56); + Decimal w = busRtuClient.ByteTransform.TransUInt16(readResult.Content, 58); + + m.pt = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult1.Content, 0)); //电压变比 D1124 + m.ct = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult1.Content, 2)); //电流变比 D1126 + Decimal Power = (q * 65536 + w) / 1000; + m.AccumulatedElectricity = Convert.ToDecimal(Power * m.pt * m.ct); //有功电能(累计电能)D1100 + ListF.Add((float)m.AccumulatedElectricity.Value); + //电压 + m.PhaseVoltageA = Convert.ToDecimal(busRtuClient.ByteTransform.TransUInt16(readResult.Content, 4) * Math.Pow(10, DptH - 4)); //A相电压 D1102 + m.PhaseVoltageB = Convert.ToDecimal(busRtuClient.ByteTransform.TransUInt16(readResult.Content, 6) * Math.Pow(10, DptH - 4));//B相电压 D1104 + m.PhaseVoltageC = Convert.ToDecimal(busRtuClient.ByteTransform.TransUInt16(readResult.Content, 8) * Math.Pow(10, DptH - 4));//C相电压 D1106 + ListF.Add((float)m.PhaseVoltageA.Value); + ListF.Add((float)m.PhaseVoltageB.Value); + ListF.Add((float)m.PhaseVoltageC.Value); + + //电流 + m.PhaseCurrentA = Convert.ToDecimal(busRtuClient.ByteTransform.TransUInt16(readResult.Content, 16) * Math.Pow(10, DptL - 4)); //电流IA D1108 + m.PhaseCurrentB = Convert.ToDecimal(busRtuClient.ByteTransform.TransUInt16(readResult.Content, 18) * Math.Pow(10, DptL - 4));//电流IB D1110 + m.PhaseCurrentC = Convert.ToDecimal(busRtuClient.ByteTransform.TransUInt16(readResult.Content, 20) * Math.Pow(10, DptL - 4));//电流IC D1112 + ListF.Add((float)m.PhaseCurrentA.Value); + ListF.Add((float)m.PhaseCurrentB.Value); + ListF.Add((float)m.PhaseCurrentC.Value); + + //有功功率 + m.PhasePowerA = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult.Content, 22) * Math.Pow(10, DpqH - 4)); //A相有功功率 D1114 + m.PhasePowerB = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult.Content, 24) * Math.Pow(10, DpqH - 4)); //B相有功功率 D1116 + m.PhasePowerC = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult.Content, 26) * Math.Pow(10, DpqH - 4));//C相有功功率 D1118 + m.ActivePower = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult.Content, 28) * Math.Pow(10, DpqH - 4)); //总有功功率 D1120 + ListF.Add((float)m.PhasePowerA.Value); + ListF.Add((float)m.PhasePowerB.Value); + ListF.Add((float)m.PhasePowerC.Value); + ListF.Add((float)m.ActivePower.Value); + m.PowerFactor = Convert.ToDecimal(busRtuClient.ByteTransform.TransInt16(readResult.Content, 44)) / 1000; //总功率因数 D1122 + ListF.Add((float)m.PowerFactor.Value); + ListF.Add((float)m.pt.Value); + ListF.Add((float)m.ct.Value); + + for (int i = 0; i < ListF.Count; i++) + { + CommonMethods.plcDevices[0].WriteFloat(listAddre[i], ListF[i]); + } + listM.Add(m); + CommonMethods.listElectricEnergy = listM; + + } + else + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "智能电表:读取数据失败"); + } + } + else + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "智能电表:串口打开失败"); + } + } + catch (Exception ex) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + $"智能电表:{ex}"); + } + finally + { + if (busRtuClient.IsOpen()) + { + busRtuClient.Close(); + } + } + + } + } + + public void GetEnergyDataFormPlc() + { + //if (CommonMethods.plcDevices.Count <= 0) { return; } + if (CommonMethods.plcDevices[0] != null && CommonMethods.plcDevices[0].IsConnected && CommonMethods.energyMeter.IsConnected) + { + + List listM = new List(); + List ListF = new List(); + List listAddre = new List() + { + //"D1100","D1102","D1104","D1106","D1108","D1110","D1112","D1114","D1116","D1118","D1120","D1122","D1124","D1126" + "D1300","D1302","D1304","D1306","D1308","D1310","D1312","D1314","D1316","D1318","D1320","D1322","D1324","D1326" + }; + //00 00 00 00 00 06 报文头 + //01 04 00 00 00 3E 不需要校验位 + byte[] bytes = new byte[12]; + bytes[0] = Convert.ToByte(01 >> 8); // Slave id high byte//事务元标识符,高字节在前,低字节在后 + bytes[1] = Convert.ToByte(01);// Slave id low byte + bytes[2] = 0x00;//协议标识符,高字节在前,低字节在后 (TCP 00) + bytes[3] = 0x00; + bytes[4] = 0x00;//后续字节长度,高字节在前,低字节在后 + bytes[5] = 0x06; // Message size + bytes[6] = 0x01; // Slave address + bytes[7] = 0x04;//功能码04H // Function code + bytes[8] = Convert.ToByte((00 >> 8) & 0xFF); // Start address//寄存器起始地址高字节m_unBeginWord + bytes[9] = Convert.ToByte(00 & 0xFF); // Start address//寄存器起始地址低字节m_unBeginWord + bytes[10] = Convert.ToByte((88 >> 8) & 0xFF); // Number of data to read//寄存器数量高字节m_unWordsCount + bytes[11] = Convert.ToByte(88 & 0xFF); // Number of data to read//寄存器数量低字节m_unWordsCount 0x58 + + try + { + CommonMethods.energyMeter.SendAndGetRes(bytes, ref listM); + #region 读取× + //for (int i = 0; i < listAddre.Count; i++) + //{ + // float val = CommonMethods.plcDevices[0].ReadFloat(listAddre[i]); + // ListF.Add(val); + //} + + //ElectricEnergy m = new ElectricEnergy(); + //m.AccumulatedElectricity = Convert.ToDecimal(ListF[0]); + //m.PhaseVoltageA = Convert.ToDecimal(ListF[1]); + //m.PhaseVoltageB = Convert.ToDecimal(ListF[2]); + //m.PhaseVoltageC = Convert.ToDecimal(ListF[3]); + //m.PhaseCurrentA = Convert.ToDecimal(ListF[4]); + //m.PhaseCurrentB = Convert.ToDecimal(ListF[5]); + //m.PhaseCurrentC = Convert.ToDecimal(ListF[6]); + //m.PhasePowerA = Convert.ToDecimal(ListF[7]); + //m.PhasePowerB = Convert.ToDecimal(ListF[8]); + //m.PhasePowerC = Convert.ToDecimal(ListF[9]); + //m.ActivePower = Convert.ToDecimal(ListF[10]); + //m.PowerFactor = Convert.ToDecimal(ListF[11]); + //m.pt = Convert.ToDecimal(ListF[12]); + //m.ct = Convert.ToDecimal(ListF[13]); + + //listM.Add(m); + #endregion + foreach (ElectricEnergy energy in listM) + { + CommonMethods.plcDevices[0].WriteFloat(listAddre[0], (float)energy.AccumulatedElectricity); + CommonMethods.plcDevices[0].WriteFloat(listAddre[1], (float)energy.PhaseVoltageA); + CommonMethods.plcDevices[0].WriteFloat(listAddre[2], (float)energy.PhaseVoltageB); + CommonMethods.plcDevices[0].WriteFloat(listAddre[3], (float)energy.PhaseVoltageC); + CommonMethods.plcDevices[0].WriteFloat(listAddre[4], (float)energy.PhaseCurrentA); + CommonMethods.plcDevices[0].WriteFloat(listAddre[5], (float)energy.PhaseCurrentB); + CommonMethods.plcDevices[0].WriteFloat(listAddre[6], (float)energy.PhaseCurrentC); + CommonMethods.plcDevices[0].WriteFloat(listAddre[7], (float)energy.PhasePowerA); + CommonMethods.plcDevices[0].WriteFloat(listAddre[8], (float)energy.PhasePowerB); + CommonMethods.plcDevices[0].WriteFloat(listAddre[9], (float)energy.PhasePowerC); + + CommonMethods.plcDevices[0].WriteFloat(listAddre[10], (float)energy.ActivePower); + CommonMethods.plcDevices[0].WriteFloat(listAddre[11], (float)energy.PowerFactor); + CommonMethods.plcDevices[0].WriteFloat(listAddre[12], (float)energy.pt); + CommonMethods.plcDevices[0].WriteFloat(listAddre[13], (float)energy.ct); + } + CommonMethods.listElectricEnergy = listM; + } + catch (Exception ex) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + $"智能电表:{ex}"); + } + } + } + + /// + /// 能耗上传MES + /// + public async void UploadEquEnergy() + { + if (CommonMethods.listElectricEnergy.Count > 0) + { + if (CommonMethods.mesConfig.isUpMes) + { + string msg = string.Empty; + DateTime nowDate = DateTime.Now; + string filePath = string.Empty; + string fileName = string.Empty; + string fileTitle = string.Empty; + string fileContent = string.Empty; + List listP = new List(); + int i = 0; + foreach (ElectricEnergy m in CommonMethods.listElectricEnergy) + { + WattrMeter param = new WattrMeter(); + param.siteCode = CommonMethods.mesConfig.siteCode; + param.lineCode = CommonMethods.mesConfig.lineCode; + param.equipNum = CommonMethods.mesConfig.equipNum; + param.userName = CommonMethods.mesConfig.mesUserName; + param.electricMeterNum = CommonMethods.mesConfig.electricMeterNum[i]; + param.recordDate = nowDate.ToString("yyyy-MM-dd HH:mm:ss"); + param.accumulatedElectricity = (decimal)m.AccumulatedElectricity; + param.phaseVoltageA = (decimal)m.PhaseVoltageA; + param.phaseVoltageB = (decimal)m.PhaseVoltageB; + param.phaseVoltageC = (decimal)m.PhaseVoltageC; + param.phaseCurrentA = (decimal)m.PhaseCurrentA; + param.phaseCurrentB = (decimal)m.PhaseCurrentB; + param.phaseCurrentC = (decimal)m.PhaseCurrentC; + param.phasePowerA = (decimal)m.PhasePowerA; + param.phasePowerB = (decimal)m.PhasePowerB; + param.phasePowerC = (decimal)m.PhasePowerC; + param.activePower = (decimal)m.ActivePower; + param.powerFactor = (decimal)m.PowerFactor; + param.pt = (decimal)m.pt; + param.ct = (decimal)m.ct; + + listP.Add(param); + i++; + + // 写csv文件 + string productName = string.Empty; + + filePath = $@"{CommonMethods.strWattrMeterpath}\{nowDate.Year}\{nowDate.Month}"; + fileName = $@"{nowDate.Day}.csv"; + fileTitle = "工序名称,生产机台编号,拉线,型号,物料编号,操作人员,班次,电表编号,采集时间,有功电能(累计电能)KwH,A相电压 V,B相电压 V,C相电压 V,A相电流 A,B相电流 A,C相电流 A,A相功率 Kw,B相功率 Kw,C相功率 Kw,总有功功率 Kw,总功率因数 %,电压变比,电流变比"; + fileContent = $"包装工序,{CommonMethods.mesConfig.equipNum},{CommonMethods.mesConfig.lineCode},{productName},{CommonMethods.mesConfig.MaterialCode},{CommonMethods.mesConfig.mesUserName},{CommonMethods.strClass},{param.electricMeterNum},{nowDate.ToString("yyyy-MM-dd HH:mm:ss")}," + + $"{param.accumulatedElectricity},{param.phaseVoltageA},{param.phaseVoltageB},{param.phaseVoltageC},{param.phaseCurrentA},{param.phaseCurrentB},{param.phaseCurrentC}," + + $"{param.phasePowerA},{param.phasePowerB},{param.phasePowerC},{param.activePower},{param.powerFactor},{param.pt},{param.ct}"; + CSVHelper.WriterCSV(filePath, fileName, fileTitle, fileContent); + } + //上传MES + var (success, mesg) = await CommonMethods.hbgMes.UploadEquEnergyAsync(CommonMethods.mesConfig.EnergyConsumption, CommonMethods.mesConfig.equipNum, CommonMethods.mesConfig.siteCode, CommonMethods.mesConfig.lineCode, + CommonMethods.mesConfig.mesUserName, CommonMethods.mesConfig.electricMeterNum, listP); + } + } + } + + public static byte[] CalculateCRCTemp(ref byte[] messageArray, int dataLength) + { + byte usCRCHi = 0xFF; + byte usCRCLo = 0xFF; + byte[] returnResult = { 0x00, 0x00 }; + int index = 0; + int messageIndex = 0; + while (dataLength > 0) + { + index = usCRCLo ^ messageArray[messageIndex]; + usCRCLo = Convert.ToByte(usCRCHi ^ crcHi[index]); + usCRCHi = crcLo[index]; + messageIndex++; + dataLength--; + } + //0th item is crcLo + returnResult[0] = usCRCLo; + //1st item is crcHi + returnResult[1] = usCRCHi; + //2nd item is the total CRC16. + //returnResult[2] = Convert.ToByte((usCRCHi << 8 | usCRCLo)); + return returnResult; + } + + static byte[] crcHi = + { + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40 + }; + + static byte[] crcLo = + { + 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, + 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, + 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, + 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, + 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, + 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, + 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, + 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, + 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, + 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, + 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, + 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, + 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, + 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, + 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, + 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, + 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, + 0x40 + }; + #endregion + + #region 定期清理本地保存下料数据 + /// + /// 定期清理本地保存下料数据 + /// + public void DeleteFileOfLocal() + { + try + { + //string filePath = string.Format(@"{0}\Data\{1}", Application.StartupPath, DateTime.Now.AddDays(-365).Year); + string filePath = string.Format(@"{0}\{1}", @"D:\LocalData", DateTime.Now.AddYears(-1).Year); + if (Directory.Exists(filePath)) + { + //判断是否有子文件夹,循环删除 + for (int i = 1; i <= DateTime.Now.Month; i++) + { + string tempPath = string.Format(@"{0}\{1}", filePath, i); + if (Directory.Exists(tempPath)) + { + LogCLear_DirOrFile("下料本地文件", DateTime.Now, tempPath, 365); + } + } + //没有子文件夹,删除目录 + DirectoryInfo[] DirList = GetSubcatalog(filePath);//获取文件路径 + if (DirList != null)//目录存在 + { + if (DirList.Length == 0) + { + Directory.Delete(filePath, true); + Thread.Sleep(10); + } + } + } + } + catch (Exception ex) + { + LogHelper.Instance.WriteLog($"定期清理本地保存下料数据异常:{ex.ToString()}", "Info"); + } + + } + + /// 清理指定目录下的文件夹或文件 + /// 清理文件注释 + /// 当前时间 + /// 文件目录 + /// 保留天数 + public void LogCLear_DirOrFile(string strName, DateTime CurrentTime, string FilePath, uint RtnDayNums) + { + long time = 0; + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + bool b_OK = true; + LogHelper.Instance.WriteLog($"清理{strName}开始", "Info"); + try + { + DirectoryInfo[] DirList = GetSubcatalog(FilePath);//获取文件路径 + if (DirList != null)//目录不存在 + { + if (DirList.Length != 0)//目录是否有子文件夹:如 文件夹“2021-10-31” + { + #region 删文件夹 + foreach (var dirInfo in DirList)//循环删除文件夹 + { + DateTime itemDateTime = dirInfo.CreationTime;//获取文件夹创建日期 + if (CurrentTime.AddDays(-RtnDayNums) > itemDateTime) + { + if (dirInfo.Exists) + { + dirInfo.Delete(true); + Thread.Sleep(10); + } + } + } + #endregion + } + else//目录下无子文件夹存在时,判断是否有文件 + { + string[] fileList = null; + if (Directory.Exists(FilePath)) + { + //获取文件列表 + fileList = Directory.GetFiles(FilePath); + if (fileList != null)//目录不存在 + { + if (fileList.Length != 0)//目录下是否存在文件 + { + #region 删除文件 + foreach (var filePath in fileList)//循环删除文件 + { + DateTime itemDateTime = new FileInfo(filePath).LastWriteTime;//获取文件修改日期 + if (CurrentTime.AddDays(-RtnDayNums) > itemDateTime) + { + if (File.Exists(filePath)) + { + File.Delete(filePath); + Thread.Sleep(2); + } + } + } + #endregion + } + else + { + #region 删除文件夹 + Directory.Delete(FilePath, true); + #endregion + } + } + } + } + } + b_OK = true; + } + catch (Exception) + { + b_OK = false; + } + stopWatch.Stop(); + time = stopWatch.ElapsedMilliseconds; + LogHelper.Instance.WriteLog($"{FilePath},清理结束,结果;{b_OK},耗时:{time}", "Info"); + } + + /// + /// 获取指定目录中所有文件列表 + /// + /// 指定目录的绝对路径 + public DirectoryInfo[] GetSubcatalog(string directoryPath) + { + DirectoryInfo dir = new DirectoryInfo(directoryPath); + //如果目录存在 + if (dir.Exists) + { + //获取文件列表 + DirectoryInfo[] dirs = dir.GetDirectories(); + return dirs; + } + else + return null; + } + + #endregion + } +} diff --git a/JinYuan.ControlCenter/JinYuan.ControlCenters.csproj b/JinYuan.ControlCenter/JinYuan.ControlCenters.csproj new file mode 100644 index 0000000..fee6687 --- /dev/null +++ b/JinYuan.ControlCenter/JinYuan.ControlCenters.csproj @@ -0,0 +1,114 @@ + + + + + Debug + AnyCPU + {1D0FA5A4-07F0-4621-B6BB-683AEC91E658} + Library + Properties + JinYuan.ControlCenters + JinYuan.ControlCenters + v4.8 + 512 + true + 8.0 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MiniExcel.1.36.1\lib\net45\MiniExcel.dll + + + False + ..\LargeSquareOne\Lib\PLCCommunication.dll + + + ..\Libs\SqlSugar.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + + + + + + + + + + + + + + + + + + {114aa012-29c9-418c-a2d6-3173c5341f51} + JinYuan.DAL + + + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360} + JinYuan.Helper + + + {530B6426-08E7-461C-91DC-787F876620FC} + JinYuan.MES + + + {4c0bcb84-5cd7-4846-8363-c4c10d46e391} + JinYuan.Models + + + {2ab7e380-7795-448a-933c-0f6a081b5e7e} + JinYuan.VirtualDataLibrary + + + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C} + Language + + + {486aecd0-c2bf-43c5-b7d7-88e565ade4b7} + PLC + + + + + + + + \ No newline at end of file diff --git a/JinYuan.ControlCenter/Properties/AssemblyInfo.cs b/JinYuan.ControlCenter/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a45bd93 --- /dev/null +++ b/JinYuan.ControlCenter/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.ControlCenters")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.ControlCenters")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("1d0fa5a4-07f0-4621-b6bb-683aec91e658")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.ControlCenter/app.config b/JinYuan.ControlCenter/app.config new file mode 100644 index 0000000..875387a --- /dev/null +++ b/JinYuan.ControlCenter/app.config @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.ControlCenter/iniConfigHelper/CreateIniFile.cs b/JinYuan.ControlCenter/iniConfigHelper/CreateIniFile.cs new file mode 100644 index 0000000..5440afa --- /dev/null +++ b/JinYuan.ControlCenter/iniConfigHelper/CreateIniFile.cs @@ -0,0 +1,6 @@ +namespace iniConfigHelper +{ + internal class CreateIniFile + { + } +} \ No newline at end of file diff --git a/JinYuan.ControlCenter/packages.config b/JinYuan.ControlCenter/packages.config new file mode 100644 index 0000000..2c915a5 --- /dev/null +++ b/JinYuan.ControlCenter/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/AlertManager.cs b/JinYuan.ControlLib/AlertManager.cs new file mode 100644 index 0000000..d5e0aaa --- /dev/null +++ b/JinYuan.ControlLib/AlertManager.cs @@ -0,0 +1,63 @@ +using AntdUI; +using System; +using System.Collections.Generic; + +namespace Controls +{ + public class AlertManager + { + private readonly Alert alert; + private readonly Queue<(string message, TType type)> messageQueue = new Queue<(string, TType)>(); + private readonly System.Windows.Forms.Timer throttleTimer; + private const int ThrottleInterval = 100; // 毫秒 + + public AlertManager(Alert alertControl) + { + alert = alertControl ?? throw new ArgumentNullException(nameof(alertControl)); + + throttleTimer = new System.Windows.Forms.Timer(); + throttleTimer.Interval = ThrottleInterval; + throttleTimer.Tick += ThrottleTimer_Tick; + } + + public void ShowAlert(string message, TType type = TType.Info) + { + messageQueue.Enqueue((message, type)); + if (!throttleTimer.Enabled) + { + throttleTimer.Start(); + } + } + + private void ThrottleTimer_Tick(object sender, EventArgs e) + { + if (messageQueue.Count > 0) + { + var (message, type) = messageQueue.Dequeue(); + UpdateAlertUI(message, type); + } + else + { + throttleTimer.Stop(); + } + } + + private void UpdateAlertUI(string message, TType type) + { + if (alert.InvokeRequired) + { + alert.BeginInvoke(new Action(() => UpdateAlertUI(message, type))); + return; + } + + alert.Text = message; + alert.Icon = type; + alert.Invalidate(); + } + + public void Dispose() + { + throttleTimer?.Dispose(); + } + } +} diff --git a/JinYuan.ControlLib/ArrTotalQty.Designer.cs b/JinYuan.ControlLib/ArrTotalQty.Designer.cs new file mode 100644 index 0000000..e77ad7b --- /dev/null +++ b/JinYuan.ControlLib/ArrTotalQty.Designer.cs @@ -0,0 +1,173 @@ +namespace JinYuan.ControlLib +{ + partial class ArrTotalQty + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ArrTotalQty)); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.lbl_Title6 = new JinYuan.ControlLib.TotalQty(); + this.lbl_Title5 = new JinYuan.ControlLib.TotalQty(); + this.lbl_Title4 = new JinYuan.ControlLib.TotalQty(); + this.lbl_Title3 = new JinYuan.ControlLib.TotalQty(); + this.lbl_Title2 = new JinYuan.ControlLib.TotalQty(); + this.lbl_Title1 = new JinYuan.ControlLib.TotalQty(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 6; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title6, 5, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title5, 4, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title4, 3, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title3, 2, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title2, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title1, 0, 0); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 1; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(300, 79); + this.tableLayoutPanel1.TabIndex = 1; + // + // lbl_Title6 + // + this.lbl_Title6.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title6.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("lbl_Title6.BackgroundImage"))); + this.lbl_Title6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.lbl_Title6.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title6.Location = new System.Drawing.Point(254, 5); + this.lbl_Title6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title6.Name = "lbl_Title6"; + this.lbl_Title6.Size = new System.Drawing.Size(42, 69); + this.lbl_Title6.TabIndex = 5; + this.lbl_Title6.TitleName = "0"; + // + // lbl_Title5 + // + this.lbl_Title5.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title5.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("lbl_Title5.BackgroundImage"))); + this.lbl_Title5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.lbl_Title5.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title5.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title5.Location = new System.Drawing.Point(204, 5); + this.lbl_Title5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title5.Name = "lbl_Title5"; + this.lbl_Title5.Size = new System.Drawing.Size(42, 69); + this.lbl_Title5.TabIndex = 4; + this.lbl_Title5.TitleName = "0"; + // + // lbl_Title4 + // + this.lbl_Title4.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title4.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("lbl_Title4.BackgroundImage"))); + this.lbl_Title4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.lbl_Title4.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title4.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title4.Location = new System.Drawing.Point(154, 5); + this.lbl_Title4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title4.Name = "lbl_Title4"; + this.lbl_Title4.Size = new System.Drawing.Size(42, 69); + this.lbl_Title4.TabIndex = 3; + this.lbl_Title4.TitleName = "0"; + // + // lbl_Title3 + // + this.lbl_Title3.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title3.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("lbl_Title3.BackgroundImage"))); + this.lbl_Title3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.lbl_Title3.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title3.Location = new System.Drawing.Point(104, 5); + this.lbl_Title3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title3.Name = "lbl_Title3"; + this.lbl_Title3.Size = new System.Drawing.Size(42, 69); + this.lbl_Title3.TabIndex = 2; + this.lbl_Title3.TitleName = "0"; + // + // lbl_Title2 + // + this.lbl_Title2.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("lbl_Title2.BackgroundImage"))); + this.lbl_Title2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.lbl_Title2.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title2.Location = new System.Drawing.Point(54, 5); + this.lbl_Title2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title2.Name = "lbl_Title2"; + this.lbl_Title2.Size = new System.Drawing.Size(42, 69); + this.lbl_Title2.TabIndex = 1; + this.lbl_Title2.TitleName = "0"; + // + // lbl_Title1 + // + this.lbl_Title1.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("lbl_Title1.BackgroundImage"))); + this.lbl_Title1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.lbl_Title1.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title1.ForeColor = System.Drawing.Color.White; + this.lbl_Title1.Location = new System.Drawing.Point(4, 5); + this.lbl_Title1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title1.Name = "lbl_Title1"; + this.lbl_Title1.Size = new System.Drawing.Size(42, 69); + this.lbl_Title1.TabIndex = 0; + this.lbl_Title1.TitleName = "0"; + // + // ArrTotalQty + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.Controls.Add(this.tableLayoutPanel1); + this.Name = "ArrTotalQty"; + this.Size = new System.Drawing.Size(300, 79); + this.tableLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private TotalQty lbl_Title1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private TotalQty lbl_Title6; + private TotalQty lbl_Title5; + private TotalQty lbl_Title4; + private TotalQty lbl_Title3; + private TotalQty lbl_Title2; + } +} diff --git a/JinYuan.ControlLib/ArrTotalQty.cs b/JinYuan.ControlLib/ArrTotalQty.cs new file mode 100644 index 0000000..c8ff3fc --- /dev/null +++ b/JinYuan.ControlLib/ArrTotalQty.cs @@ -0,0 +1,136 @@ +using System.Collections.Generic; +using System.ComponentModel; +using System.Text.RegularExpressions; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class ArrTotalQty : UserControl + { + public ArrTotalQty() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + // UpData(); + } + + + //#region 减少闪烁 + //protected override CreateParams CreateParams + //{ + // get + // { + // CreateParams cp = base.CreateParams; + // cp.ExStyle |= 0x02000000; + // return cp; + // } + //} + //#endregion + + private int _MaxValue = 999999; + + + private int totalValue = 0; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示数字值:(最大值999999)")] + + + public int TotalValue + { + get { return totalValue; } + set + { + if (value > _MaxValue) return; + totalValue = value; + SetElectricEnergy(totalValue); + } + } + + + private void SetElectricEnergy(int value) + { + if (totalValue.ToString().Length < 7) + { + bool isNumeric = Regex.IsMatch(totalValue.ToString(), @"^\d+$"); + if (isNumeric) + { + List numbers = new List(); + + foreach (char c in totalValue.ToString()) + { + if (char.IsDigit(c)) + { + int number = int.Parse(c.ToString()); + numbers.Add(number); + } + } + + for (int i = 1; i < numbers.Count + 1; i++) + { + switch (numbers.Count) + { + case 1: + this.lbl_Title1.TitleName = 0.ToString(); + this.lbl_Title2.TitleName = 0.ToString(); + this.lbl_Title3.TitleName = 0.ToString(); + this.lbl_Title4.TitleName = 0.ToString(); + this.lbl_Title5.TitleName = 0.ToString(); + this.lbl_Title6.TitleName = numbers[0].ToString(); + break; + case 2: + this.lbl_Title1.TitleName = 0.ToString(); + this.lbl_Title2.TitleName = 0.ToString(); + this.lbl_Title3.TitleName = 0.ToString(); + this.lbl_Title4.TitleName = 0.ToString(); + this.lbl_Title5.TitleName = numbers[0].ToString(); + this.lbl_Title6.TitleName = numbers[1].ToString(); + break; + case 3: + this.lbl_Title1.TitleName = 0.ToString(); + this.lbl_Title2.TitleName = 0.ToString(); + this.lbl_Title3.TitleName = 0.ToString(); + this.lbl_Title4.TitleName = numbers[0].ToString(); + this.lbl_Title5.TitleName = numbers[1].ToString(); + this.lbl_Title6.TitleName = numbers[2].ToString(); + break; + case 4: + this.lbl_Title1.TitleName = 0.ToString(); + this.lbl_Title2.TitleName = 0.ToString(); + this.lbl_Title3.TitleName = numbers[0].ToString(); + this.lbl_Title4.TitleName = numbers[1].ToString(); + this.lbl_Title5.TitleName = numbers[2].ToString(); + this.lbl_Title6.TitleName = numbers[3].ToString(); + break; + case 5: + this.lbl_Title1.TitleName = 0.ToString(); + this.lbl_Title2.TitleName = numbers[0].ToString(); + this.lbl_Title3.TitleName = numbers[1].ToString(); + this.lbl_Title4.TitleName = numbers[2].ToString(); + this.lbl_Title5.TitleName = numbers[3].ToString(); + this.lbl_Title6.TitleName = numbers[4].ToString(); + break; + case 6: + this.lbl_Title1.TitleName = numbers[0].ToString(); + this.lbl_Title2.TitleName = numbers[1].ToString(); + this.lbl_Title3.TitleName = numbers[2].ToString(); + this.lbl_Title4.TitleName = numbers[3].ToString(); + this.lbl_Title5.TitleName = numbers[4].ToString(); + this.lbl_Title6.TitleName = numbers[5].ToString(); + break; + default: + break; + } + } + } + } + } + } +} diff --git a/JinYuan.ControlLib/ArrTotalQty.resx b/JinYuan.ControlLib/ArrTotalQty.resx new file mode 100644 index 0000000..d4d689f --- /dev/null +++ b/JinYuan.ControlLib/ArrTotalQty.resx @@ -0,0 +1,877 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + BD5r4T4h7uvLAAAAAElFTkSuQmCC + + + + + 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 + BD5r4T4h7uvLAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAADEAAABFCAYAAADjLw7LAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH + DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKNWlDQ1BzUkdCIElFQzYxOTY2LTIuMQAA + SMedlndUVNcWh8+9d3qhzTDSGXqTLjCA9C4gHQRRGGYGGMoAwwxNbIioQEQREQFFkKCAAaOhSKyIYiEo + qGAPSBBQYjCKqKhkRtZKfHl57+Xl98e939pn73P32XuftS4AJE8fLi8FlgIgmSfgB3o401eFR9Cx/QAG + eIABpgAwWempvkHuwUAkLzcXerrICfyL3gwBSPy+ZejpT6eD/0/SrFS+AADIX8TmbE46S8T5Ik7KFKSK + 7TMipsYkihlGiZkvSlDEcmKOW+Sln30W2VHM7GQeW8TinFPZyWwx94h4e4aQI2LER8QFGVxOpohvi1gz + SZjMFfFbcWwyh5kOAIoktgs4rHgRm4iYxA8OdBHxcgBwpLgvOOYLFnCyBOJDuaSkZvO5cfECui5Lj25q + bc2ge3IykzgCgaE/k5XI5LPpLinJqUxeNgCLZ/4sGXFt6aIiW5paW1oamhmZflGo/7r4NyXu7SK9Cvjc + M4jW94ftr/xS6gBgzIpqs+sPW8x+ADq2AiB3/w+b5iEAJEV9a7/xxXlo4nmJFwhSbYyNMzMzjbgclpG4 + oL/rfzr8DX3xPSPxdr+Xh+7KiWUKkwR0cd1YKUkpQj49PZXJ4tAN/zzE/zjwr/NYGsiJ5fA5PFFEqGjK + uLw4Ubt5bK6Am8Kjc3n/qYn/MOxPWpxrkSj1nwA1yghI3aAC5Oc+gKIQARJ5UNz13/vmgw8F4psXpjqx + OPefBf37rnCJ+JHOjfsc5xIYTGcJ+RmLa+JrCdCAACQBFcgDFaABdIEhMANWwBY4AjewAviBYBAO1gIW + iAfJgA8yQS7YDApAEdgF9oJKUAPqQSNoASdABzgNLoDL4Dq4Ce6AB2AEjIPnYAa8AfMQBGEhMkSB5CFV + SAsygMwgBmQPuUE+UCAUDkVDcRAPEkK50BaoCCqFKqFaqBH6FjoFXYCuQgPQPWgUmoJ+hd7DCEyCqbAy + rA0bwwzYCfaGg+E1cBycBufA+fBOuAKug4/B7fAF+Dp8Bx6Bn8OzCECICA1RQwwRBuKC+CERSCzCRzYg + hUg5Uoe0IF1IL3ILGUGmkXcoDIqCoqMMUbYoT1QIioVKQ21AFaMqUUdR7age1C3UKGoG9QlNRiuhDdA2 + aC/0KnQcOhNdgC5HN6Db0JfQd9Dj6DcYDIaG0cFYYTwx4ZgEzDpMMeYAphVzHjOAGcPMYrFYeawB1g7r + h2ViBdgC7H7sMew57CB2HPsWR8Sp4sxw7rgIHA+XhyvHNeHO4gZxE7h5vBReC2+D98Oz8dn4Enw9vgt/ + Az+OnydIE3QIdoRgQgJhM6GC0EK4RHhIeEUkEtWJ1sQAIpe4iVhBPE68QhwlviPJkPRJLqRIkpC0k3SE + dJ50j/SKTCZrkx3JEWQBeSe5kXyR/Jj8VoIiYSThJcGW2ChRJdEuMSjxQhIvqSXpJLlWMkeyXPKk5A3J + aSm8lLaUixRTaoNUldQpqWGpWWmKtKm0n3SydLF0k/RV6UkZrIy2jJsMWyZf5rDMRZkxCkLRoLhQWJQt + lHrKJco4FUPVoXpRE6hF1G+o/dQZWRnZZbKhslmyVbJnZEdoCE2b5kVLopXQTtCGaO+XKC9xWsJZsmNJ + y5LBJXNyinKOchy5QrlWuTty7+Xp8m7yifK75TvkHymgFPQVAhQyFQ4qXFKYVqQq2iqyFAsVTyjeV4KV + 9JUCldYpHVbqU5pVVlH2UE5V3q98UXlahabiqJKgUqZyVmVKlaJqr8pVLVM9p/qMLkt3oifRK+g99Bk1 + JTVPNaFarVq/2ry6jnqIep56q/ojDYIGQyNWo0yjW2NGU1XTVzNXs1nzvhZei6EVr7VPq1drTltHO0x7 + m3aH9qSOnI6XTo5Os85DXbKug26abp3ubT2MHkMvUe+A3k19WN9CP16/Sv+GAWxgacA1OGAwsBS91Hop + b2nd0mFDkqGTYYZhs+GoEc3IxyjPqMPohbGmcYTxbuNe408mFiZJJvUmD0xlTFeY5pl2mf5qpm/GMqsy + u21ONnc332jeaf5ymcEyzrKDy+5aUCx8LbZZdFt8tLSy5Fu2WE5ZaVpFW1VbDTOoDH9GMeOKNdra2Xqj + 9WnrdzaWNgKbEza/2BraJto22U4u11nOWV6/fMxO3Y5pV2s3Yk+3j7Y/ZD/ioObAdKhzeOKo4ch2bHCc + cNJzSnA65vTC2cSZ79zmPOdi47Le5bwr4urhWuja7ybjFuJW6fbYXd09zr3ZfcbDwmOdx3lPtKe3527P + YS9lL5ZXo9fMCqsV61f0eJO8g7wrvZ/46Pvwfbp8Yd8Vvnt8H67UWslb2eEH/Lz89vg98tfxT/P/PgAT + 4B9QFfA00DQwN7A3iBIUFdQU9CbYObgk+EGIbogwpDtUMjQytDF0Lsw1rDRsZJXxqvWrrocrhHPDOyOw + EaERDRGzq91W7109HmkRWRA5tEZnTdaaq2sV1iatPRMlGcWMOhmNjg6Lbor+wPRj1jFnY7xiqmNmWC6s + faznbEd2GXuKY8cp5UzE2sWWxk7G2cXtiZuKd4gvj5/munAruS8TPBNqEuYS/RKPJC4khSW1JuOSo5NP + 8WR4ibyeFJWUrJSBVIPUgtSRNJu0vWkzfG9+QzqUvia9U0AV/Uz1CXWFW4WjGfYZVRlvM0MzT2ZJZ/Gy + +rL1s3dkT+S453y9DrWOta47Vy13c+7oeqf1tRugDTEbujdqbMzfOL7JY9PRzYTNiZt/yDPJK817vSVs + S1e+cv6m/LGtHlubCyQK+AXD22y31WxHbedu799hvmP/jk+F7MJrRSZF5UUfilnF174y/ariq4WdsTv7 + SyxLDu7C7OLtGtrtsPtoqXRpTunYHt897WX0ssKy13uj9l4tX1Zes4+wT7hvpMKnonO/5v5d+z9Uxlfe + qXKuaq1Wqt5RPXeAfWDwoOPBlhrlmqKa94e4h+7WetS212nXlR/GHM44/LQ+tL73a8bXjQ0KDUUNH4/w + jowcDTza02jV2Nik1FTSDDcLm6eORR67+Y3rN50thi21rbTWouPguPD4s2+jvx064X2i+yTjZMt3Wt9V + t1HaCtuh9uz2mY74jpHO8M6BUytOdXfZdrV9b/T9kdNqp6vOyJ4pOUs4m3924VzOudnzqeenL8RdGOuO + 6n5wcdXF2z0BPf2XvC9duex++WKvU++5K3ZXTl+1uXrqGuNax3XL6+19Fn1tP1j80NZv2d9+w+pG503r + m10DywfODjoMXrjleuvyba/b1++svDMwFDJ0dzhyeOQu++7kvaR7L+9n3J9/sOkh+mHhI6lH5Y+VHtf9 + qPdj64jlyJlR19G+J0FPHoyxxp7/lP7Th/H8p+Sn5ROqE42TZpOnp9ynbj5b/Wz8eerz+emCn6V/rn6h + ++K7Xxx/6ZtZNTP+kv9y4dfiV/Kvjrxe9rp71n/28ZvkN/NzhW/l3x59x3jX+z7s/cR85gfsh4qPeh+7 + Pnl/eriQvLDwG/eE8/s6uL5TAAAACXBIWXMAAAsMAAALDAE/QCLIAAARpklEQVRoQ9WaeVwT19rHh50k + bAmEBEjC5lp7l89t6y4ighu07rsgLiwuJIQAIYEEENms4tbba93aWtu6L9W64FK1ouLWuoIrgrWiVq2t + du/M/T2TRKPX9733837e2+AfXyfJzHme5ztzZs45g4ys8MIrYAwYCAZZwef6gTJz/Rtyc93rjgQ1vI5a + 3viX+oouDA801cdKDec9SKIPMIJpFuqnys3n0+WmcylBpjOTwUTHcnYSSJGbzqdBaIq1zumQyIZEIiQE + TGDRpShZ4UXakSQ314+Vm86MDC44PTSk4ItBIfnH31DkH3vdkYTknxhItQQXnBoCqRE4waMhkygrupgq + NV8YGmCsFzDS4ss9ITFdZq4bG1RwZkRwwReDFcZjryuNtQOUxkP9Qg01fUMNB/s4ChVqUBqPDFAYjyaE + 5J+EzOmh6CWjUXOKtPDSsICCCwImoPhKL3ShabhkI2A8WJF/NF5lQPF5n8eG5u2LCdfv7RWu3xPtGPZG + h+n39Q7NOxCLmvoq8mvjcWUG4WQPlxfWT4LE8AATSZRAwlw3lQzpCpBAmP5AbHjunugIfXVUq9zt3R3H + ju6ROdVREbm7e4bp9/cONR7sozQehcgXg4LM55MDii4N9zddhMTMht50I2PHQOpCuAJxJBCZs6NH6+yt + XdvoNndpo9vU2TFs7tI6e0uXVjnbu5NIaN7+3krj4f4K3KtB5rOJkBjhb74kZPwhga6USjvoHghDF4rI + rY7iBbI2dW6bta5ju6y1DqOtbkMniHSlk0pdm+5R9JiEIPOZxIDiSyPEhZeFjKS0MVZuPptCNw4O6BOB + ftgqZ0f3NrpPurSDQHvtqlfba1c7iFWvkghdlVbZ27pFoIeo0FOoSwWbTo/1n3FlpF/xVUiUNcZBIpWX + yDsIiT2Q2A6JTZ0R4DUK9FLmR684inba1a+1zaKrsbVbeO7uaOru9LQKNp0aA4lRfsUNXoy4vKkvJNIg + Ef9iSXw5RlJydYzvjEZvRlxxvb/cfC79xZM4NVZS0jDWd0aTN+NXeWPACylhPjVWPLMhyWdGkw9JJLyo + V0I881qSTwkkfN+8iZnquSkvmER/SIzzK2tK9i694cP4zG4eKC88N/WFkjBAwgyJ8qZJXmU3fBmfObeG + QGIaJDBa20tsxjixlh8nnhf8j4KX0G20SWDUtkmcHudb8VWKV/lNP8Z77u1h8sLz05WGZ69Ey5SwDHa1 + A4LMpxMhkcpLeFV9MwISGZAYQFNfy4jdEiQ+fIVyt8ta81ob3UaM2J9CAiO2wSphIokb6V4VzZCYd2ck + JNQKwzFMwWv6hus/64VpRw+rhEPvCZp60InkJXIggV6iQm/BtAOP2DNJPpVfTxVVNIsZ0by7YyCRqTAe + T8AMEdPwz3pF5uyExCddaPLnWAnb3OmJBLp8HN2/8sKzyd6zvs4QVtySMKL598fJCuu0kIinaW6ofn9M + RIuT2GyZjlsk+tCTlJd4s1kjnHVHwggXfDs5sLBOpzCeiFdZJHpHYCHSWrela1vd+k4tSYKm4tTlMRWP + x3pivPfsW7mQ8GcE8+4PkZQ1FCqNJ7CuPtKfloIRubt64mnAS7TLWv1a+0zHiJAE9QbqFdTFqatTlyeJ + wOJ6tWju3SxRxS13RlR620dU9Y1eXnQ2Gc9frK1JYndP9MGubbM2YsBb4xCJ9pkf8esJOpHUK6h3UC/B + wq1/SMHJIT6zbxYLK+/81avoJsMIFtxlPOd9G+1f3pCv0h+KDTUciLNIbOuG57MDJagr0RjBj9ZdqXdg + eRqryjvURzbj/GSvkjtqz8X3GOfzvzAMc4V71WPRgxH+xQ05Kv3hOIwVkNgDie3dHS+xxjblsEocgMTh + PuhKU4Rv3h3puu/ndsx9rj3DXOM2ub/zfZVkxrV0Vd6RPrhx+tANZB3wLPOnzI8dJ2F9vFpeFPASfQML + 6tI9lz2IZr7m5jBXuTcZ/LPU/Z3vKiQl1zJIghbi1gEPV6KlSND6GhLo6ioDJEwXpnou/q4v08CZQD51 + p6Vui7+fJS65lqnKq40NMx37W0R+TYc2hj1t2us/De+Qs1H5sm6N4s+61cF/JC/r1io65KxXvqTfEtbW + sDOytfFAuwjz0b+oCk50DjTVZXgu+a7/E4mr3BL3dx7OlpRez1DqjyRIpm7cK05bV+OfvubzgLRVBwLS + Pt4vTf1wn0NI+2gf5fdPX33AP33dQb/UNTXS6Z+ukBVdTvJY+n3CUxJuix/NkVQ0T1Fm7R8iaBXLuSk7 + c+7h0ZxbeAznFtGbc42IcwCxPHwNqMU9vCfnGtCB8+2YfE9ecWsYJN54SsJ1yQ9V4rIbmaqcmgHSweXL + A+NN78sTCpbL4w1LgwfkLgnpr1sM3vljyV4cPCBncXC8finVIksofFfaz7BCPurtysCSxskeSx8OflZi + vl9Jo15lOBobWlr3l8iSU23bFB0Jb2/er+hgqg76k3Gr7M/GLYF/JH8ybpO9bNoh72DeG9K2qCa0dfHJ + yIiyupfCis+9KjXVa92XPRoCAbOdxI8L/GY26fF0iqW5CYb3GHpt+HgS2JKeThgnpOaLavelj4Y9kbjC + LXZZ+tNCv7LrBkj0bnmP2A2dLOOEbbA7FBdQeFHjtuyHEfYSmyCxDBK4EodjWtxg98yIHQoJuhJu7/04 + hLnJzUNPms0wzdx41+U/5/uVXJ+BaQckDvahZaBFwvrGw2ESNHfCBNBu7hSqP9g7oPiixn3hw8lOJ3/r + j2lHAuO26hHj+o+fBvlU3lgYqq+JfjIB3O7gCeDHllnsU1Px/TGheTWx0pl1ae5zHy11n/uAcVv3kGE8 + Sr91c/37D/P9Sy/rcKlwuR5PxR0qQTwrQfcqdXel4dgA77m3Frks+NHoWXjPhXF9+6dkr6rb7ysMtDyl + vxTZLYqyaFHkWAl0Z0hswsoOTyjr8lRpONovOP/UUOGCe1udF/8Sx7gs/bVKOuNiKdbYff/n5enHz03y + 38ZOwu6VDdbY+UcTlPrj0eLypuXMCm48SVTIiuqKbRJh+n0YI6qjHo8RvMTzk/y3sUjwY4X15Rnd3Px7 + p3hl3vFefhXX32Pe48aSxCxZUX2J0nisb0t7ZUPYvYvFE6o6KgzdnSRU+qPR4oqm9yGRyDgv+202Vkol + yryjWBAdwkBHY0TLeHlGWCRsj1lI8OvsI/1V+tqe4kpIvM8lMc7Lf5tjkajFguOgVaJFvYtFl1rXsXX2 + J10jc+kxu4//MzAkoiCxAvdEMq7E73MhMVNpqI1roS+UrRJbeAk8ZjEgH+oHiR6Q+ABXYgJJzLdIHMEY + 8SJJHOkOiQ8hMQndiV0IiVIlTf6ekmg5f2Sxdqcukbn0B3ka8GwS1z9Cd0phnJazb0Gi7AWU6OZXeX0V + JFJJ4u3/H4kP/w88L87T/BuJ1TaJRZAo/88knpeYZriYrGWuopmnDXxf/RyeOuZx26fjPS34byTWQCKN + JBZDouL5Epg3QQIzSiQFGhSrwY2mWfNaO826jm3V68GGTm3VGzu1UW/q3Dpjs5VPuljY0vUJ9N2yv43a + gqXteqJjO81axEQ+jV0+AvnpAdM6e/PzJNZCYgpJLHkswf8HFZvEZozYGzq2y0Sxmes7tdFg6Nds7tJa + jaeE+tNukRnbu0dm7OgRkVEdZWFXz/Dpu+3YE/00T/ZFZBDVRBTFQCyieyv11m4Uv40GkshHedtpkT+L + ph2WcQISMfS/0SDRFRLrIDGVcXqXWwaJWZgZxvJzp7x9mADu7hmp29GjVSYCa7Z1j9Rs7xGh3hUVod4d + HZaxt1dYxmcxoRn7eodm7AdYbWXsj8OWwOfP40KnA9raY/mtj+U7HUtteKg94uyLCc/YG0PxI9R7elK+ + SM021LCteyvtju6Rup1RNAHE3AnTjiMD+Csx6/oGZiU3jXFayS2XFl2crTCcoL/AJKj0h/qGZh+MC81C + osz9vcPUSKLG2lZ9ME6VUdPXwqF+yozD4Eh/OwZYwOSMUD+D7Xce27H27Q/3o7h8fHVN31A1ZNUH4sI0 + yK890Bv1xFJdSj3/9wnMYo9F+VV+tYlZx01nnBax70pLL80NNnwZH5x3cnBIzolBCt2JgQrt8QRF5tF4 + heZogkJzDNtj2B5/3cKJN0I0JwaGaE5iexLbLwaBwRa+HByceWpIyDPwv2GfBf5YagP4GHw8imuJT7l4 + LPkz8VmL31FXSO6Jgah1iEJ/Msa36sYW5i1IOJey70tmX3lLrj83RK4/Pzoo5+xIue7syCDt6WFgaFDm + l3wBwZrT2J4eZmV4kPbsCIDjzo0K0qKd9vwYC3Vj5Vn1jwnKevx9HO0DluMy0YbQnkMMinNmOMW1xh8a + rCFxS25LLWeGy7NxXM7ZUfK8ujHBuWf6eb91c4dTNpfBOFewKySV1xYF6i+OluZeniDNvpQcqKtPlPHJ + 60bLUKAcyeRILEMRMm09kSjTXiCSZFkXxwfqLiXLdJcmyLKvTJRlX50sy25Ikeoa03y1jWlCTWOaBNtA + 3bU0/J4q012dJNNdnkjHB2YhF9pb4lC8unGW+JSLh8+PWsaAcYHZF5ICcy5NkOovT5Tn1A30nt+8y8nA + aRincm6lpLRpEYInynSNU6TaxvQAzbVUWWZDilxzNUWqaUgJwGf8lu6f2TjVP7Npur/2ukasvZ4lzvoq + R5L9dZ44p7lAom+eITHerpAWfjM/qOz+YtWCBx+9+u7DLTErH+7ssOT7jcFV364ILLv3j4Cib6ok+bfL + JcbmIrHhZr4k54ZeovsqG/G0Em2TWpzZNM1fc20qSPfXNKSCFH/U4Z95LRWk+Wc1TvHPvjZFpr002Lvq + djVj4LIYpzncLp95zYclhTf+LjY3f+BruvWBX/7tD3zzb62krbfxzseinLsbvPLvrhUZ724UGO9t9jR9 + u83T/KBaaP5ur6Dw4UHBjEfHBaU/nhOU/Xzdq+rX++Klv/+q/JTlhp/hOFMDx0Uf57jA9Sznu+j3H0VV + v9wRVP50VVj6wxnhzEe1gqLvDyDOHqHpwQ5hwf0tovx7m5BrvSj/mzVe+XdWeeXf/tCb6iAKbq30Nt1a + 6VPYvEJiapolfOfuDaaAMzEu+Vyu81x2i3P57584lbFbcY9sA9sfM5Pd6TyDq3YpZXcSHqXsLlEZR+x2 + L+P2uJVze90quM/cKrkDHpXcQY83uRrPOdxh4Tyu1nchVyteyB3xXsDVCudytZ6zucO0H8d+jjb70fYz + 1zJurwvigN0uFWy1SyW7C1s+F9jhMhOgDpcyvh6qbZsz1Vn++2bUvdUlg41l3EexjPsIjnEbyeEztqM4 + J7fRnCtwA+4eYzgPj0QwjhN4JLJCryRW5Dee9fabwPqIJrJ+whRWIkpl/UXprNRrGiv3nsYG+6hZhbea + VXllcCqhmlN5qVklviu9prMKHBMsmsLKRGmslNoJJ7FiAeJ4JrM+nojrkcR6IZ+QzzeO83RHfnfUAdyA + M9XI10n1DgdjOIZxT2SdgAsKRLGsCPgikARIPZK4QCDzGM/JCc/xXDC2IW7JrMJ9IqvwnMQqBSmsCoQK + UtkwYRpIZ8NBBAGxCBQcSVvrb5Z9dGwq2lC7yWg/mVUilgIiITzj2SCP8Syf01oDYAOwFaM+HzqZwB11 + O1P9DL7YIBE34IkGIkAyYkBCAZ6Q8kQwiBByJJN7TmDlgglcEM5ksGASZ08ICgsRTuaAZUvf+d9tx0wk + 0G4CYiEOHy+Zk1nis4GUj/Ja81Md3qiNTjKdbFfgDOgiMPYSjCesgDNwAx5AgGAi4AN8gRhIgD8IQDJC + yicFguTHyAQo6F+h3y3H2kHt6SQRFJugPJSP8or4OnDmgSvgi7fxPAkbNhkX4IZAHsCTD4g+C2xShB+w + ydlDos9iv5/aENTeFotiE3TyKB8VTieU6qCa+Prsa/7fJOyxCTkjqCsgKXdrEkJoxSZoj7cdz+6j46md + rWBL0RTfUrQlp13xNuxr/k8lnkKAoHY4Axc7XAVJnBX6zLrhM6Ct3T467kkbikE8jvu8vPbY1+yeyDL/ + BD5r4T4h7uvLAAAAAElFTkSuQmCC + + + + + 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 + BD5r4T4h7uvLAAAAAElFTkSuQmCC + + + + + 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 + BD5r4T4h7uvLAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAADEAAABFCAYAAADjLw7LAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH + DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKNWlDQ1BzUkdCIElFQzYxOTY2LTIuMQAA + SMedlndUVNcWh8+9d3qhzTDSGXqTLjCA9C4gHQRRGGYGGMoAwwxNbIioQEQREQFFkKCAAaOhSKyIYiEo + qGAPSBBQYjCKqKhkRtZKfHl57+Xl98e939pn73P32XuftS4AJE8fLi8FlgIgmSfgB3o401eFR9Cx/QAG + eIABpgAwWempvkHuwUAkLzcXerrICfyL3gwBSPy+ZejpT6eD/0/SrFS+AADIX8TmbE46S8T5Ik7KFKSK + 7TMipsYkihlGiZkvSlDEcmKOW+Sln30W2VHM7GQeW8TinFPZyWwx94h4e4aQI2LER8QFGVxOpohvi1gz + SZjMFfFbcWwyh5kOAIoktgs4rHgRm4iYxA8OdBHxcgBwpLgvOOYLFnCyBOJDuaSkZvO5cfECui5Lj25q + bc2ge3IykzgCgaE/k5XI5LPpLinJqUxeNgCLZ/4sGXFt6aIiW5paW1oamhmZflGo/7r4NyXu7SK9Cvjc + M4jW94ftr/xS6gBgzIpqs+sPW8x+ADq2AiB3/w+b5iEAJEV9a7/xxXlo4nmJFwhSbYyNMzMzjbgclpG4 + oL/rfzr8DX3xPSPxdr+Xh+7KiWUKkwR0cd1YKUkpQj49PZXJ4tAN/zzE/zjwr/NYGsiJ5fA5PFFEqGjK + uLw4Ubt5bK6Am8Kjc3n/qYn/MOxPWpxrkSj1nwA1yghI3aAC5Oc+gKIQARJ5UNz13/vmgw8F4psXpjqx + OPefBf37rnCJ+JHOjfsc5xIYTGcJ+RmLa+JrCdCAACQBFcgDFaABdIEhMANWwBY4AjewAviBYBAO1gIW + iAfJgA8yQS7YDApAEdgF9oJKUAPqQSNoASdABzgNLoDL4Dq4Ce6AB2AEjIPnYAa8AfMQBGEhMkSB5CFV + SAsygMwgBmQPuUE+UCAUDkVDcRAPEkK50BaoCCqFKqFaqBH6FjoFXYCuQgPQPWgUmoJ+hd7DCEyCqbAy + rA0bwwzYCfaGg+E1cBycBufA+fBOuAKug4/B7fAF+Dp8Bx6Bn8OzCECICA1RQwwRBuKC+CERSCzCRzYg + hUg5Uoe0IF1IL3ILGUGmkXcoDIqCoqMMUbYoT1QIioVKQ21AFaMqUUdR7age1C3UKGoG9QlNRiuhDdA2 + aC/0KnQcOhNdgC5HN6Db0JfQd9Dj6DcYDIaG0cFYYTwx4ZgEzDpMMeYAphVzHjOAGcPMYrFYeawB1g7r + h2ViBdgC7H7sMew57CB2HPsWR8Sp4sxw7rgIHA+XhyvHNeHO4gZxE7h5vBReC2+D98Oz8dn4Enw9vgt/ + Az+OnydIE3QIdoRgQgJhM6GC0EK4RHhIeEUkEtWJ1sQAIpe4iVhBPE68QhwlviPJkPRJLqRIkpC0k3SE + dJ50j/SKTCZrkx3JEWQBeSe5kXyR/Jj8VoIiYSThJcGW2ChRJdEuMSjxQhIvqSXpJLlWMkeyXPKk5A3J + aSm8lLaUixRTaoNUldQpqWGpWWmKtKm0n3SydLF0k/RV6UkZrIy2jJsMWyZf5rDMRZkxCkLRoLhQWJQt + lHrKJco4FUPVoXpRE6hF1G+o/dQZWRnZZbKhslmyVbJnZEdoCE2b5kVLopXQTtCGaO+XKC9xWsJZsmNJ + y5LBJXNyinKOchy5QrlWuTty7+Xp8m7yifK75TvkHymgFPQVAhQyFQ4qXFKYVqQq2iqyFAsVTyjeV4KV + 9JUCldYpHVbqU5pVVlH2UE5V3q98UXlahabiqJKgUqZyVmVKlaJqr8pVLVM9p/qMLkt3oifRK+g99Bk1 + JTVPNaFarVq/2ry6jnqIep56q/ojDYIGQyNWo0yjW2NGU1XTVzNXs1nzvhZei6EVr7VPq1drTltHO0x7 + m3aH9qSOnI6XTo5Os85DXbKug26abp3ubT2MHkMvUe+A3k19WN9CP16/Sv+GAWxgacA1OGAwsBS91Hop + b2nd0mFDkqGTYYZhs+GoEc3IxyjPqMPohbGmcYTxbuNe408mFiZJJvUmD0xlTFeY5pl2mf5qpm/GMqsy + u21ONnc332jeaf5ymcEyzrKDy+5aUCx8LbZZdFt8tLSy5Fu2WE5ZaVpFW1VbDTOoDH9GMeOKNdra2Xqj + 9WnrdzaWNgKbEza/2BraJto22U4u11nOWV6/fMxO3Y5pV2s3Yk+3j7Y/ZD/ioObAdKhzeOKo4ch2bHCc + cNJzSnA65vTC2cSZ79zmPOdi47Le5bwr4urhWuja7ybjFuJW6fbYXd09zr3ZfcbDwmOdx3lPtKe3527P + YS9lL5ZXo9fMCqsV61f0eJO8g7wrvZ/46Pvwfbp8Yd8Vvnt8H67UWslb2eEH/Lz89vg98tfxT/P/PgAT + 4B9QFfA00DQwN7A3iBIUFdQU9CbYObgk+EGIbogwpDtUMjQytDF0Lsw1rDRsZJXxqvWrrocrhHPDOyOw + EaERDRGzq91W7109HmkRWRA5tEZnTdaaq2sV1iatPRMlGcWMOhmNjg6Lbor+wPRj1jFnY7xiqmNmWC6s + faznbEd2GXuKY8cp5UzE2sWWxk7G2cXtiZuKd4gvj5/munAruS8TPBNqEuYS/RKPJC4khSW1JuOSo5NP + 8WR4ibyeFJWUrJSBVIPUgtSRNJu0vWkzfG9+QzqUvia9U0AV/Uz1CXWFW4WjGfYZVRlvM0MzT2ZJZ/Gy + +rL1s3dkT+S453y9DrWOta47Vy13c+7oeqf1tRugDTEbujdqbMzfOL7JY9PRzYTNiZt/yDPJK817vSVs + S1e+cv6m/LGtHlubCyQK+AXD22y31WxHbedu799hvmP/jk+F7MJrRSZF5UUfilnF174y/ariq4WdsTv7 + SyxLDu7C7OLtGtrtsPtoqXRpTunYHt897WX0ssKy13uj9l4tX1Zes4+wT7hvpMKnonO/5v5d+z9Uxlfe + qXKuaq1Wqt5RPXeAfWDwoOPBlhrlmqKa94e4h+7WetS212nXlR/GHM44/LQ+tL73a8bXjQ0KDUUNH4/w + jowcDTza02jV2Nik1FTSDDcLm6eORR67+Y3rN50thi21rbTWouPguPD4s2+jvx064X2i+yTjZMt3Wt9V + t1HaCtuh9uz2mY74jpHO8M6BUytOdXfZdrV9b/T9kdNqp6vOyJ4pOUs4m3924VzOudnzqeenL8RdGOuO + 6n5wcdXF2z0BPf2XvC9duex++WKvU++5K3ZXTl+1uXrqGuNax3XL6+19Fn1tP1j80NZv2d9+w+pG503r + m10DywfODjoMXrjleuvyba/b1++svDMwFDJ0dzhyeOQu++7kvaR7L+9n3J9/sOkh+mHhI6lH5Y+VHtf9 + qPdj64jlyJlR19G+J0FPHoyxxp7/lP7Th/H8p+Sn5ROqE42TZpOnp9ynbj5b/Wz8eerz+emCn6V/rn6h + ++K7Xxx/6ZtZNTP+kv9y4dfiV/Kvjrxe9rp71n/28ZvkN/NzhW/l3x59x3jX+z7s/cR85gfsh4qPeh+7 + Pnl/eriQvLDwG/eE8/s6uL5TAAAACXBIWXMAAAsMAAALDAE/QCLIAAARpklEQVRoQ9WaeVwT19rHh50k + bAmEBEjC5lp7l89t6y4ighu07rsgLiwuJIQAIYEEENms4tbba93aWtu6L9W64FK1ouLWuoIrgrWiVq2t + du/M/T2TRKPX9733837e2+AfXyfJzHme5ztzZs45g4ys8MIrYAwYCAZZwef6gTJz/Rtyc93rjgQ1vI5a + 3viX+oouDA801cdKDec9SKIPMIJpFuqnys3n0+WmcylBpjOTwUTHcnYSSJGbzqdBaIq1zumQyIZEIiQE + TGDRpShZ4UXakSQ314+Vm86MDC44PTSk4ItBIfnH31DkH3vdkYTknxhItQQXnBoCqRE4waMhkygrupgq + NV8YGmCsFzDS4ss9ITFdZq4bG1RwZkRwwReDFcZjryuNtQOUxkP9Qg01fUMNB/s4ChVqUBqPDFAYjyaE + 5J+EzOmh6CWjUXOKtPDSsICCCwImoPhKL3ShabhkI2A8WJF/NF5lQPF5n8eG5u2LCdfv7RWu3xPtGPZG + h+n39Q7NOxCLmvoq8mvjcWUG4WQPlxfWT4LE8AATSZRAwlw3lQzpCpBAmP5AbHjunugIfXVUq9zt3R3H + ju6ROdVREbm7e4bp9/cONR7sozQehcgXg4LM55MDii4N9zddhMTMht50I2PHQOpCuAJxJBCZs6NH6+yt + XdvoNndpo9vU2TFs7tI6e0uXVjnbu5NIaN7+3krj4f4K3KtB5rOJkBjhb74kZPwhga6USjvoHghDF4rI + rY7iBbI2dW6bta5ju6y1DqOtbkMniHSlk0pdm+5R9JiEIPOZxIDiSyPEhZeFjKS0MVZuPptCNw4O6BOB + ftgqZ0f3NrpPurSDQHvtqlfba1c7iFWvkghdlVbZ27pFoIeo0FOoSwWbTo/1n3FlpF/xVUiUNcZBIpWX + yDsIiT2Q2A6JTZ0R4DUK9FLmR684inba1a+1zaKrsbVbeO7uaOru9LQKNp0aA4lRfsUNXoy4vKkvJNIg + Ef9iSXw5RlJydYzvjEZvRlxxvb/cfC79xZM4NVZS0jDWd0aTN+NXeWPACylhPjVWPLMhyWdGkw9JJLyo + V0I881qSTwkkfN+8iZnquSkvmER/SIzzK2tK9i694cP4zG4eKC88N/WFkjBAwgyJ8qZJXmU3fBmfObeG + QGIaJDBa20tsxjixlh8nnhf8j4KX0G20SWDUtkmcHudb8VWKV/lNP8Z77u1h8sLz05WGZ69Ey5SwDHa1 + A4LMpxMhkcpLeFV9MwISGZAYQFNfy4jdEiQ+fIVyt8ta81ob3UaM2J9CAiO2wSphIokb6V4VzZCYd2ck + JNQKwzFMwWv6hus/64VpRw+rhEPvCZp60InkJXIggV6iQm/BtAOP2DNJPpVfTxVVNIsZ0by7YyCRqTAe + T8AMEdPwz3pF5uyExCddaPLnWAnb3OmJBLp8HN2/8sKzyd6zvs4QVtySMKL598fJCuu0kIinaW6ofn9M + RIuT2GyZjlsk+tCTlJd4s1kjnHVHwggXfDs5sLBOpzCeiFdZJHpHYCHSWrela1vd+k4tSYKm4tTlMRWP + x3pivPfsW7mQ8GcE8+4PkZQ1FCqNJ7CuPtKfloIRubt64mnAS7TLWv1a+0zHiJAE9QbqFdTFqatTlyeJ + wOJ6tWju3SxRxS13RlR620dU9Y1eXnQ2Gc9frK1JYndP9MGubbM2YsBb4xCJ9pkf8esJOpHUK6h3UC/B + wq1/SMHJIT6zbxYLK+/81avoJsMIFtxlPOd9G+1f3pCv0h+KDTUciLNIbOuG57MDJagr0RjBj9ZdqXdg + eRqryjvURzbj/GSvkjtqz8X3GOfzvzAMc4V71WPRgxH+xQ05Kv3hOIwVkNgDie3dHS+xxjblsEocgMTh + PuhKU4Rv3h3puu/ndsx9rj3DXOM2ub/zfZVkxrV0Vd6RPrhx+tANZB3wLPOnzI8dJ2F9vFpeFPASfQML + 6tI9lz2IZr7m5jBXuTcZ/LPU/Z3vKiQl1zJIghbi1gEPV6KlSND6GhLo6ioDJEwXpnou/q4v08CZQD51 + p6Vui7+fJS65lqnKq40NMx37W0R+TYc2hj1t2us/De+Qs1H5sm6N4s+61cF/JC/r1io65KxXvqTfEtbW + sDOytfFAuwjz0b+oCk50DjTVZXgu+a7/E4mr3BL3dx7OlpRez1DqjyRIpm7cK05bV+OfvubzgLRVBwLS + Pt4vTf1wn0NI+2gf5fdPX33AP33dQb/UNTXS6Z+ukBVdTvJY+n3CUxJuix/NkVQ0T1Fm7R8iaBXLuSk7 + c+7h0ZxbeAznFtGbc42IcwCxPHwNqMU9vCfnGtCB8+2YfE9ecWsYJN54SsJ1yQ9V4rIbmaqcmgHSweXL + A+NN78sTCpbL4w1LgwfkLgnpr1sM3vljyV4cPCBncXC8finVIksofFfaz7BCPurtysCSxskeSx8OflZi + vl9Jo15lOBobWlr3l8iSU23bFB0Jb2/er+hgqg76k3Gr7M/GLYF/JH8ybpO9bNoh72DeG9K2qCa0dfHJ + yIiyupfCis+9KjXVa92XPRoCAbOdxI8L/GY26fF0iqW5CYb3GHpt+HgS2JKeThgnpOaLavelj4Y9kbjC + LXZZ+tNCv7LrBkj0bnmP2A2dLOOEbbA7FBdQeFHjtuyHEfYSmyCxDBK4EodjWtxg98yIHQoJuhJu7/04 + hLnJzUNPms0wzdx41+U/5/uVXJ+BaQckDvahZaBFwvrGw2ESNHfCBNBu7hSqP9g7oPiixn3hw8lOJ3/r + j2lHAuO26hHj+o+fBvlU3lgYqq+JfjIB3O7gCeDHllnsU1Px/TGheTWx0pl1ae5zHy11n/uAcVv3kGE8 + Sr91c/37D/P9Sy/rcKlwuR5PxR0qQTwrQfcqdXel4dgA77m3Frks+NHoWXjPhXF9+6dkr6rb7ysMtDyl + vxTZLYqyaFHkWAl0Z0hswsoOTyjr8lRpONovOP/UUOGCe1udF/8Sx7gs/bVKOuNiKdbYff/n5enHz03y + 38ZOwu6VDdbY+UcTlPrj0eLypuXMCm48SVTIiuqKbRJh+n0YI6qjHo8RvMTzk/y3sUjwY4X15Rnd3Px7 + p3hl3vFefhXX32Pe48aSxCxZUX2J0nisb0t7ZUPYvYvFE6o6KgzdnSRU+qPR4oqm9yGRyDgv+202Vkol + yryjWBAdwkBHY0TLeHlGWCRsj1lI8OvsI/1V+tqe4kpIvM8lMc7Lf5tjkajFguOgVaJFvYtFl1rXsXX2 + J10jc+kxu4//MzAkoiCxAvdEMq7E73MhMVNpqI1roS+UrRJbeAk8ZjEgH+oHiR6Q+ABXYgJJzLdIHMEY + 8SJJHOkOiQ8hMQndiV0IiVIlTf6ekmg5f2Sxdqcukbn0B3ka8GwS1z9Cd0phnJazb0Gi7AWU6OZXeX0V + JFJJ4u3/H4kP/w88L87T/BuJ1TaJRZAo/88knpeYZriYrGWuopmnDXxf/RyeOuZx26fjPS34byTWQCKN + JBZDouL5Epg3QQIzSiQFGhSrwY2mWfNaO826jm3V68GGTm3VGzu1UW/q3Dpjs5VPuljY0vUJ9N2yv43a + gqXteqJjO81axEQ+jV0+AvnpAdM6e/PzJNZCYgpJLHkswf8HFZvEZozYGzq2y0Sxmes7tdFg6Nds7tJa + jaeE+tNukRnbu0dm7OgRkVEdZWFXz/Dpu+3YE/00T/ZFZBDVRBTFQCyieyv11m4Uv40GkshHedtpkT+L + ph2WcQISMfS/0SDRFRLrIDGVcXqXWwaJWZgZxvJzp7x9mADu7hmp29GjVSYCa7Z1j9Rs7xGh3hUVod4d + HZaxt1dYxmcxoRn7eodm7AdYbWXsj8OWwOfP40KnA9raY/mtj+U7HUtteKg94uyLCc/YG0PxI9R7elK+ + SM021LCteyvtju6Rup1RNAHE3AnTjiMD+Csx6/oGZiU3jXFayS2XFl2crTCcoL/AJKj0h/qGZh+MC81C + osz9vcPUSKLG2lZ9ME6VUdPXwqF+yozD4Eh/OwZYwOSMUD+D7Xce27H27Q/3o7h8fHVN31A1ZNUH4sI0 + yK890Bv1xFJdSj3/9wnMYo9F+VV+tYlZx01nnBax70pLL80NNnwZH5x3cnBIzolBCt2JgQrt8QRF5tF4 + heZogkJzDNtj2B5/3cKJN0I0JwaGaE5iexLbLwaBwRa+HByceWpIyDPwv2GfBf5YagP4GHw8imuJT7l4 + LPkz8VmL31FXSO6Jgah1iEJ/Msa36sYW5i1IOJey70tmX3lLrj83RK4/Pzoo5+xIue7syCDt6WFgaFDm + l3wBwZrT2J4eZmV4kPbsCIDjzo0K0qKd9vwYC3Vj5Vn1jwnKevx9HO0DluMy0YbQnkMMinNmOMW1xh8a + rCFxS25LLWeGy7NxXM7ZUfK8ujHBuWf6eb91c4dTNpfBOFewKySV1xYF6i+OluZeniDNvpQcqKtPlPHJ + 60bLUKAcyeRILEMRMm09kSjTXiCSZFkXxwfqLiXLdJcmyLKvTJRlX50sy25Ikeoa03y1jWlCTWOaBNtA + 3bU0/J4q012dJNNdnkjHB2YhF9pb4lC8unGW+JSLh8+PWsaAcYHZF5ICcy5NkOovT5Tn1A30nt+8y8nA + aRincm6lpLRpEYInynSNU6TaxvQAzbVUWWZDilxzNUWqaUgJwGf8lu6f2TjVP7Npur/2ukasvZ4lzvoq + R5L9dZ44p7lAom+eITHerpAWfjM/qOz+YtWCBx+9+u7DLTErH+7ssOT7jcFV364ILLv3j4Cib6ok+bfL + JcbmIrHhZr4k54ZeovsqG/G0Em2TWpzZNM1fc20qSPfXNKSCFH/U4Z95LRWk+Wc1TvHPvjZFpr002Lvq + djVj4LIYpzncLp95zYclhTf+LjY3f+BruvWBX/7tD3zzb62krbfxzseinLsbvPLvrhUZ724UGO9t9jR9 + u83T/KBaaP5ur6Dw4UHBjEfHBaU/nhOU/Xzdq+rX++Klv/+q/JTlhp/hOFMDx0Uf57jA9Sznu+j3H0VV + v9wRVP50VVj6wxnhzEe1gqLvDyDOHqHpwQ5hwf0tovx7m5BrvSj/mzVe+XdWeeXf/tCb6iAKbq30Nt1a + 6VPYvEJiapolfOfuDaaAMzEu+Vyu81x2i3P57584lbFbcY9sA9sfM5Pd6TyDq3YpZXcSHqXsLlEZR+x2 + L+P2uJVze90quM/cKrkDHpXcQY83uRrPOdxh4Tyu1nchVyteyB3xXsDVCudytZ6zucO0H8d+jjb70fYz + 1zJurwvigN0uFWy1SyW7C1s+F9jhMhOgDpcyvh6qbZsz1Vn++2bUvdUlg41l3EexjPsIjnEbyeEztqM4 + J7fRnCtwA+4eYzgPj0QwjhN4JLJCryRW5Dee9fabwPqIJrJ+whRWIkpl/UXprNRrGiv3nsYG+6hZhbea + VXllcCqhmlN5qVklviu9prMKHBMsmsLKRGmslNoJJ7FiAeJ4JrM+nojrkcR6IZ+QzzeO83RHfnfUAdyA + M9XI10n1DgdjOIZxT2SdgAsKRLGsCPgikARIPZK4QCDzGM/JCc/xXDC2IW7JrMJ9IqvwnMQqBSmsCoQK + UtkwYRpIZ8NBBAGxCBQcSVvrb5Z9dGwq2lC7yWg/mVUilgIiITzj2SCP8Syf01oDYAOwFaM+HzqZwB11 + O1P9DL7YIBE34IkGIkAyYkBCAZ6Q8kQwiBByJJN7TmDlgglcEM5ksGASZ08ICgsRTuaAZUvf+d9tx0wk + 0G4CYiEOHy+Zk1nis4GUj/Ja81Md3qiNTjKdbFfgDOgiMPYSjCesgDNwAx5AgGAi4AN8gRhIgD8IQDJC + yicFguTHyAQo6F+h3y3H2kHt6SQRFJugPJSP8or4OnDmgSvgi7fxPAkbNhkX4IZAHsCTD4g+C2xShB+w + ydlDos9iv5/aENTeFotiE3TyKB8VTieU6qCa+Prsa/7fJOyxCTkjqCsgKXdrEkJoxSZoj7cdz+6j46md + rWBL0RTfUrQlp13xNuxr/k8lnkKAoHY4Axc7XAVJnBX6zLrhM6Ct3T467kkbikE8jvu8vPbY1+yeyDL/ + BD5r4T4h7uvLAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/CPK.Designer.cs b/JinYuan.ControlLib/CPK.Designer.cs new file mode 100644 index 0000000..3509c37 --- /dev/null +++ b/JinYuan.ControlLib/CPK.Designer.cs @@ -0,0 +1,263 @@ +namespace JinYuan.ControlLib +{ + partial class CPK + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.listView1 = new System.Windows.Forms.ListView(); + this.项目1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.数值1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.项目2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.数值2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.项目3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.数值3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.lbl_Ca = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel(); + this.listView2 = new System.Windows.Forms.ListView(); + this.tableLayoutPanel1.SuspendLayout(); + this.tableLayoutPanel2.SuspendLayout(); + this.tableLayoutPanel3.SuspendLayout(); + this.SuspendLayout(); + // + // listView1 + // + this.listView1.Activation = System.Windows.Forms.ItemActivation.OneClick; + this.listView1.AutoArrange = false; + this.listView1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(6)))), ((int)(((byte)(30)))), ((int)(((byte)(78))))); + this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.项目1, + this.数值1, + this.项目2, + this.数值2, + this.项目3, + this.数值3}); + this.listView1.ForeColor = System.Drawing.Color.White; + this.listView1.GridLines = true; + this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.listView1.HideSelection = false; + this.listView1.LabelWrap = false; + this.listView1.Location = new System.Drawing.Point(4, 5); + this.listView1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.listView1.Name = "listView1"; + this.listView1.ShowItemToolTips = true; + this.listView1.Size = new System.Drawing.Size(518, 99); + this.listView1.TabIndex = 3; + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.View = System.Windows.Forms.View.Details; + // + // 项目1 + // + this.项目1.Text = "项目1"; + this.项目1.Width = 90; + // + // 数值1 + // + this.数值1.Text = "数值"; + this.数值1.Width = 80; + // + // 项目2 + // + this.项目2.Text = "项目2"; + this.项目2.Width = 90; + // + // 数值2 + // + this.数值2.Text = "数值"; + this.数值2.Width = 75; + // + // 项目3 + // + this.项目3.Text = "项目3"; + this.项目3.Width = 100; + // + // 数值3 + // + this.数值3.Text = "数值3"; + this.数值3.Width = 80; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.listView1, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.listView2, 0, 1); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 109F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 229F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 364F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(526, 415); + this.tableLayoutPanel1.TabIndex = 5; + // + // tableLayoutPanel2 + // + this.tableLayoutPanel2.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; + this.tableLayoutPanel2.ColumnCount = 3; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 53.63881F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 46.36119F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 195F)); + this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel5, 2, 0); + this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel3, 0, 0); + this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel4, 1, 0); + this.tableLayoutPanel2.Location = new System.Drawing.Point(4, 343); + this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel2.Name = "tableLayoutPanel2"; + this.tableLayoutPanel2.RowCount = 2; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(518, 67); + this.tableLayoutPanel2.TabIndex = 5; + // + // tableLayoutPanel5 + // + this.tableLayoutPanel5.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; + this.tableLayoutPanel5.ColumnCount = 2; + this.tableLayoutPanel5.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel5.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel5.Location = new System.Drawing.Point(325, 6); + this.tableLayoutPanel5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel5.Name = "tableLayoutPanel5"; + this.tableLayoutPanel5.RowCount = 1; + this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel5.Size = new System.Drawing.Size(185, 22); + this.tableLayoutPanel5.TabIndex = 2; + // + // tableLayoutPanel3 + // + this.tableLayoutPanel3.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; + this.tableLayoutPanel3.ColumnCount = 2; + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel3.Controls.Add(this.lbl_Ca, 1, 0); + this.tableLayoutPanel3.Controls.Add(this.label2, 0, 0); + this.tableLayoutPanel3.Location = new System.Drawing.Point(5, 6); + this.tableLayoutPanel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel3.Name = "tableLayoutPanel3"; + this.tableLayoutPanel3.RowCount = 1; + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel3.Size = new System.Drawing.Size(163, 22); + this.tableLayoutPanel3.TabIndex = 0; + // + // lbl_Ca + // + this.lbl_Ca.AutoSize = true; + this.lbl_Ca.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Ca.ForeColor = System.Drawing.Color.White; + this.lbl_Ca.Location = new System.Drawing.Point(86, 1); + this.lbl_Ca.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbl_Ca.Name = "lbl_Ca"; + this.lbl_Ca.Size = new System.Drawing.Size(72, 20); + this.lbl_Ca.TabIndex = 0; + this.lbl_Ca.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Dock = System.Windows.Forms.DockStyle.Fill; + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(4, 1); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(74, 20); + this.label2.TabIndex = 1; + this.label2.Text = "CA"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // tableLayoutPanel4 + // + this.tableLayoutPanel4.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; + this.tableLayoutPanel4.ColumnCount = 2; + this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel4.Location = new System.Drawing.Point(177, 6); + this.tableLayoutPanel4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel4.Name = "tableLayoutPanel4"; + this.tableLayoutPanel4.RowCount = 1; + this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel4.Size = new System.Drawing.Size(139, 22); + this.tableLayoutPanel4.TabIndex = 1; + // + // listView2 + // + this.listView2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(6)))), ((int)(((byte)(30)))), ((int)(((byte)(78))))); + this.listView2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.listView2.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView2.ForeColor = System.Drawing.Color.White; + this.listView2.GridLines = true; + this.listView2.HideSelection = false; + this.listView2.Location = new System.Drawing.Point(3, 112); + this.listView2.Name = "listView2"; + this.listView2.Size = new System.Drawing.Size(520, 223); + this.listView2.TabIndex = 6; + this.listView2.UseCompatibleStateImageBehavior = false; + this.listView2.View = System.Windows.Forms.View.Details; + // + // trw + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.Controls.Add(this.tableLayoutPanel1); + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "trw"; + this.Size = new System.Drawing.Size(526, 415); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel2.ResumeLayout(false); + this.tableLayoutPanel3.ResumeLayout(false); + this.tableLayoutPanel3.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ColumnHeader 项目1; + private System.Windows.Forms.ColumnHeader 数值1; + private System.Windows.Forms.ColumnHeader 项目2; + private System.Windows.Forms.ColumnHeader 数值2; + private System.Windows.Forms.ColumnHeader 项目3; + private System.Windows.Forms.ColumnHeader 数值3; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel5; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3; + private System.Windows.Forms.Label lbl_Ca; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.ListView listView2; + } +} diff --git a/JinYuan.ControlLib/CPK.cs b/JinYuan.ControlLib/CPK.cs new file mode 100644 index 0000000..86c8037 --- /dev/null +++ b/JinYuan.ControlLib/CPK.cs @@ -0,0 +1,285 @@ +using JinYuan.ControlLib.Models; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class CPK : UserControl + { + public CPK() + { + InitializeComponent(); + IntValue(); + } + + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + + private int subgroupSize = 5; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取子组大小值")] + public int SubgroupSize + { + get { return subgroupSize; } + set + { + subgroupSize = value; + listView1.Items[0].SubItems[3].Text = value.ToString(); + this.Invalidate(); + } + } + + private double _uSLs = 0; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取上规格值")] + public double USLs + { + get { return _uSLs; } + set + { + _uSLs = value; + listView1.Items[2].SubItems[1].Text = value.ToString(); + this.Invalidate(); + } + } + + private double _lSLs = 0; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取下规格值")] + public double LSLs + { + get { return _lSLs; } + set + { + _lSLs = value; + listView1.Items[2].SubItems[5].Text = value.ToString(); + this.Invalidate(); + } + } + + private double _cpkPpkAcceptanceValue = 0; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取目标值")] + public double CpkPpkAcceptanceValue + { + get { return _cpkPpkAcceptanceValue; } + set + { + _cpkPpkAcceptanceValue = value; + listView1.Items[2].SubItems[3].Text = value.ToString(); + this.Invalidate(); + } + } + + + private CPKModel _cPKData = new CPKModel(); + [Browsable(true)] + [Category("自定义属性")] + [Description("获取目标值")] + public CPKModel CPKData + { + get { return _cPKData; } + set + { + if (value != null) + { + _cPKData = value; + //总样本数 + listView1.Items[0].SubItems[1].Text = _cPKData.TotalNumber.ToString(); + //平均值 + listView1.Items[1].SubItems[1].Text = _cPKData.MeanVlaue.ToString(); + //最大值 + listView1.Items[1].SubItems[3].Text = _cPKData.MaxValue.ToString(); + //最小值 + listView1.Items[1].SubItems[5].Text = _cPKData.MinValue.ToString(); + // 正的3倍标准差线 + listView1.Items[3].SubItems[1].Text = _cPKData.Pos3Sigma.ToString(); + // 负的3倍标准差线 + listView1.Items[3].SubItems[3].Text = _cPKData.Neg3Sigma.ToString(); + + // 组内标准差值 + listView2.Items[0].SubItems[1].Text = _cPKData.GroupSTDEV.ToString(); + // 整体标准差值 + listView2.Items[0].SubItems[2].Text = _cPKData.WholeSTDEV.ToString(); + + // 组内CPK值 + listView2.Items[1].SubItems[1].Text = _cPKData.GroupCPK.ToString(); + // 整体CPK值 + listView2.Items[1].SubItems[2].Text = _cPKData.WholeCPK.ToString(); + // 组内CP值 + listView2.Items[2].SubItems[1].Text = _cPKData.GroupCP.ToString(); + // 整体CP值 + listView2.Items[2].SubItems[2].Text = _cPKData.WholeCP.ToString(); + + // 组内CPL值 + listView2.Items[3].SubItems[1].Text = _cPKData.GroupCPL.ToString(); + // 整体CPL值 + listView2.Items[3].SubItems[2].Text = _cPKData.WholeCPL.ToString(); + // 组内CPU值 + listView2.Items[4].SubItems[1].Text = _cPKData.GroupCPU.ToString(); + // 整体CPU值 + listView2.Items[4].SubItems[2].Text = _cPKData.WholeCPU.ToString(); + + // 组内PPMUSL值 + listView2.Items[6].SubItems[1].Text = _cPKData.GroupPPM_USL.ToString(); + // 整体PPM>USL值 + listView2.Items[6].SubItems[2].Text = _cPKData.WholePPM_USL.ToString(); + + // 组内PPM Total值 + listView2.Items[7].SubItems[1].Text = _cPKData.GroupPPM_Total.ToString(); + // 整体PPMN Total值 + listView2.Items[7].SubItems[2].Text = _cPKData.WholePPM_Total.ToString(); + + lbl_Ca.Text = _cPKData.CA.ToString(); + this.Invalidate(); + } + + } + } + + + + #region 初始化 + private void IntValue() + { + + //listView2.OwnerDraw = true; + //listView2.DrawColumnHeader += ListView2_DrawColumnHeader; + + listView1.Columns.Clear(); + listView2.Columns.Clear(); + + // 假设ListView控件的名称为listView1 + // 添加列头 + listView1.Columns.Add("项目1", 80); + listView1.Columns.Add("数值1", 90); + listView1.Columns.Add("项目2", 80); + listView1.Columns.Add("数值2", 90); + listView1.Columns.Add("项目3", 80); + listView1.Columns.Add("数值3", 95); + + // 创建一个ListViewItem对象,并将数据添加到指定单元格 0 + ListViewItem item1_1 = new ListViewItem("总样本数"); + item1_1.SubItems.Add("0"); + item1_1.SubItems.Add("子组大小"); + item1_1.SubItems.Add("0"); + item1_1.SubItems.Add("图标类型"); + item1_1.SubItems.Add("XR"); + listView1.Items.Add(item1_1); // 添加完整的ListViewItem对象到ListView控件中的指定行索引 + + + // 如果需要添加多行数据,可以类似地重复上述步骤 + ListViewItem item1_2 = new ListViewItem("平均值"); //1 + item1_2.SubItems.Add("0"); + item1_2.SubItems.Add("最大值"); + item1_2.SubItems.Add("0"); + item1_2.SubItems.Add("最小值"); + item1_2.SubItems.Add("0"); + listView1.Items.Add(item1_2); + + ListViewItem item1_3 = new ListViewItem("上规格"); //2 + item1_3.SubItems.Add("0"); + item1_3.SubItems.Add("目标值"); + item1_3.SubItems.Add("0"); + item1_3.SubItems.Add("下规格"); + item1_3.SubItems.Add("0"); + listView1.Items.Add(item1_3); + + ListViewItem item1_4 = new ListViewItem("+3Sigma"); //3 + item1_4.SubItems.Add("0"); + item1_4.SubItems.Add("-3Sigma"); + item1_4.SubItems.Add("0"); + listView1.Items.Add(item1_4); + + + + + // 假设ListView控件的名称为listView1 + // 添加列头 + listView2.Columns.Add("", 150); + listView2.Columns.Add("组内", 120); + listView2.Columns.Add("整体", 120); + listView2.Columns.Add("实测", 128); + + // 创建一个ListViewItem对象,并将数据添加到指定单元格 + ListViewItem item2_1 = new ListViewItem("STDEV"); //0 + item2_1.SubItems.Add("0"); + item2_1.SubItems.Add("0"); + item2_1.SubItems.Add(""); + listView2.Items.Add(item2_1); // 添加完整的ListViewItem对象到ListView控件中的指定行索引 + + ListViewItem item2_2 = new ListViewItem("CPK"); //1 + item2_2.SubItems.Add("0"); + item2_2.SubItems.Add("0"); + item2_2.SubItems.Add(""); + listView2.Items.Add(item2_2); + ListViewItem item2_3 = new ListViewItem("CP");//2 + item2_3.SubItems.Add("0"); + item2_3.SubItems.Add("0"); + item2_3.SubItems.Add(""); + listView2.Items.Add(item2_3); + ListViewItem item2_4 = new ListViewItem("CPL");//3 + item2_4.SubItems.Add("0"); + item2_4.SubItems.Add("0"); + item2_4.SubItems.Add(""); + listView2.Items.Add(item2_4); + ListViewItem item2_5 = new ListViewItem("CPU");//4 + item2_5.SubItems.Add("0"); + item2_5.SubItems.Add("0"); + item2_5.SubItems.Add(""); + listView2.Items.Add(item2_5); + ListViewItem item2_6 = new ListViewItem("PPMUSL");//6 + item2_7.SubItems.Add("0"); + item2_7.SubItems.Add("0"); + item2_7.SubItems.Add("0"); + listView2.Items.Add(item2_7); + ListViewItem item2_8 = new ListViewItem("PPM Total");//7 + item2_8.SubItems.Add("0"); + item2_8.SubItems.Add("0"); + item2_8.SubItems.Add("0"); + listView2.Items.Add(item2_8); + + lbl_Ca.Text = "0"; + } + + #endregion + + public void ListView2_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e) + { + e.DrawBackground(); + + // 设置自定义的列标题栏背景颜色 + e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds); + + // 绘制列标题栏的文本 + e.DrawText(); + } + } + +} diff --git a/JinYuan.ControlLib/CPK.resx b/JinYuan.ControlLib/CPK.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/CPK.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/CheckBoxExt.Designer.cs b/JinYuan.ControlLib/CheckBoxExt.Designer.cs new file mode 100644 index 0000000..875b6d4 --- /dev/null +++ b/JinYuan.ControlLib/CheckBoxExt.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class CheckBoxExt + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/CheckBoxExt.cs b/JinYuan.ControlLib/CheckBoxExt.cs new file mode 100644 index 0000000..84f6fae --- /dev/null +++ b/JinYuan.ControlLib/CheckBoxExt.cs @@ -0,0 +1,132 @@ +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class CheckBoxExt : CheckBox + { + public CheckBoxExt() + { + InitializeComponent(); + + _format.LineAlignment = StringAlignment.Center; + _format.Alignment = StringAlignment.Center; + + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private StringFormat _format = new StringFormat(); + + + + private int defultCheckButtonWidth = 20; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示标题名称")] + public int DefultCheckButtonWidth + { + get { return defultCheckButtonWidth; } + set { defultCheckButtonWidth = value; } + } + + private Color checkColor = Color.FromArgb(3, 25, 66); + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示选中颜色")] + public Color CheckColor + { + get { return checkColor; } + set + { + checkColor = value; + this.Invalidate(); + } + } + + private Color checkBackColor = Color.White; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示选中框背景颜色")] + public Color CheckBackColor + { + get { return checkBackColor; } + set + { + checkBackColor = value; + this.Invalidate(); + } + } + + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + base.OnPaintBackground(e); + + Graphics g = e.Graphics; + g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + + Rectangle checkRec; + Rectangle textRec; + + CalculatorRec(out checkRec, out textRec); + + SolidBrush solidBrush = new SolidBrush(CheckBackColor); + g.FillRectangle(solidBrush, checkRec); + + Pen pen = new Pen(Color.LightGray); + g.DrawRectangle(pen, checkRec); + + if (this.CheckState == CheckState.Checked) + { + //画勾选 + DrawCheckFlag(g, checkRec, checkColor); + } + + //绘制文本 + g.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), textRec, this._format); + } + + + /// + /// 计算矩形 + /// + /// + /// + private void CalculatorRec(out Rectangle checkRec, out Rectangle textRec) + { + checkRec = new Rectangle(3, (this.Height - defultCheckButtonWidth) / 2, defultCheckButtonWidth, + defultCheckButtonWidth); + + textRec = new Rectangle(checkRec.Right + 3, 0, Width - checkRec.Right - 6, this.Height); + } + + + /// + /// 画勾选 + /// + /// + /// + /// + private void DrawCheckFlag(Graphics g, Rectangle rectangle, Color color) + { + PointF[] pointFs = new PointF[3]; + + pointFs[0] = new PointF(rectangle.X + rectangle.Width / 4.5f, rectangle.Y + rectangle.Height / 2.5f); + pointFs[1] = new PointF(rectangle.X + rectangle.Width / 2.5F, rectangle.Bottom - rectangle.Height / 3.0f); + pointFs[2] = new PointF(rectangle.Right - rectangle.Width / 4.0f, rectangle.Y + rectangle.Height / 4.5f); + + Pen pen = new Pen(color, 2.0f); + g.DrawLines(pen, pointFs); + + } + } +} diff --git a/JinYuan.ControlLib/CircleProgramBar.Designer.cs b/JinYuan.ControlLib/CircleProgramBar.Designer.cs new file mode 100644 index 0000000..f86b951 --- /dev/null +++ b/JinYuan.ControlLib/CircleProgramBar.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class CircleProgramBar + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/CircleProgramBar.cs b/JinYuan.ControlLib/CircleProgramBar.cs new file mode 100644 index 0000000..2944890 --- /dev/null +++ b/JinYuan.ControlLib/CircleProgramBar.cs @@ -0,0 +1,220 @@ +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class CircleProgramBar : Control + { + public CircleProgramBar() + { + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + InitControl(); + this.SizeChanged += delegate + { + this.Invalidate(); //重绘控件 + }; + + + } + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + /// + /// 初始化控件参数 + /// + private void InitControl() + { + this.Width = 200; + this.Height = 200; + } + + private Color bgColor = Color.FromArgb(224, 224, 224); + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示背景边框颜色")] + public Color BgColor + { + get { return this.bgColor; } + set + { + this.bgColor = value; + this.Invalidate(); + } + } + + private Color sectorColor = Color.FromArgb(109, 179, 63); + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示扇形颜色")] + public Color SectorColor + { + get { return this.sectorColor; } + set + { + this.sectorColor = value; + this.Invalidate(); + } + } + + private int borderWidth = 5; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示边框宽度")] + public int BorderWidth + { + get { return this.borderWidth; } + set + { + this.borderWidth = value; + this.Invalidate(); + } + } + + private int maxValue = 100; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示进度最大值")] + public int MaxValue + { + get { return this.maxValue; } + set + { + this.maxValue = value; + this.Invalidate(); + } + } + + + private bool isShowDataType = false; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置显示数值是小数还是整数")] + public bool IsShowDataType + { + get { return this.isShowDataType; } + set + { + this.isShowDataType = value; + this.Invalidate(); + } + } + + + private int intValue = 0; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示整数进度值")] + public int IntValue + { + get { return this.intValue; } + set + { + if (value > this.maxValue) + { + return; + } + this.intValue = value; + this.Invalidate(); + } + } + + private int floatValue = 0; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示小数进度值")] + public int FloatValue + { + get { return this.floatValue; } + set + { + if (value > this.maxValue) + { + return; + } + this.floatValue = value; + this.Invalidate(); + } + } + + + private bool setShowsign = false; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示百分号,显示百分号需要设置MaxValue值为100")] + public bool SetShowsign + { + get { return this.setShowsign; } + set + { + if (this.maxValue > 100) + { + this.maxValue = 100; + } + this.setShowsign = value; + this.Invalidate(); + } + } + + //对Control进行绘制 + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + if (this.Width < borderWidth * 4 || this.Height < borderWidth * 4) + { + return; + } + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias;//消除锯齿,也就是抗锯齿什么鬼东西 + g.InterpolationMode = InterpolationMode.HighQualityBicubic; + g.CompositingQuality = CompositingQuality.HighQuality; + + + RectangleF bg_rectangle = new RectangleF(0 + borderWidth, 0 + borderWidth, Width - borderWidth * 2, Height - borderWidth * 2); //控件整体坐标 + + g.DrawEllipse(new Pen(bgColor, borderWidth), bg_rectangle); //画背景圆 + + + + Rectangle rl = new Rectangle(0 + borderWidth * 2, 0 + borderWidth * 2, this.Width - borderWidth * 4, this.Height - borderWidth * 4); + + decimal topAngle = (isShowDataType ? this.floatValue : this.intValue * 1.0M / this.maxValue) * 360M;//计算进度条划过的度数 + g.FillPie(new SolidBrush(sectorColor), rl, 0, (float)topAngle); //填充扇形 + + if (this.setShowsign) + { + SizeF proValSize = g.MeasureString(isShowDataType ? this.floatValue.ToString() : this.intValue.ToString() + "%", this.Font);//计算文字的范围 + + g.DrawString(isShowDataType ? this.floatValue.ToString() : this.intValue.ToString() + "%", this.Font, new SolidBrush(this.ForeColor), + + bg_rectangle.X + bg_rectangle.Width / 2 - proValSize.Width / 2, bg_rectangle.Y + bg_rectangle.Height / 2 - proValSize.Height / 2); + } + else + { + SizeF proValSize = g.MeasureString(isShowDataType ? this.floatValue.ToString() : this.intValue.ToString(), this.Font);//计算文字的范围 + + g.DrawString(isShowDataType ? this.floatValue.ToString() : this.intValue.ToString(), this.Font, new SolidBrush(this.ForeColor), + bg_rectangle.X + bg_rectangle.Width / 2 - proValSize.Width / 2, bg_rectangle.Y + bg_rectangle.Height / 2 - proValSize.Height / 2); + } + } + } +} diff --git a/JinYuan.ControlLib/ControlBase.Designer.cs b/JinYuan.ControlLib/ControlBase.Designer.cs new file mode 100644 index 0000000..aac3ed3 --- /dev/null +++ b/JinYuan.ControlLib/ControlBase.Designer.cs @@ -0,0 +1,37 @@ +namespace JinYuan.ControlLib +{ + partial class ControlBase + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/ControlBase.cs b/JinYuan.ControlLib/ControlBase.cs new file mode 100644 index 0000000..4a80ee4 --- /dev/null +++ b/JinYuan.ControlLib/ControlBase.cs @@ -0,0 +1,258 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class ControlBase : UserControl + { + /// + /// The is radius + /// + private bool _isRadius = false; + + /// + /// The corner radius + /// + private int _cornerRadius = 24; + + + /// + /// The is show rect + /// + private bool _isShowRect = false; + + /// + /// The rect color + /// + private Color _rectColor = Color.FromArgb(220, 220, 220); + + /// + /// The rect width + /// + private int _rectWidth = 1; + + /// + /// The fill color + /// + private Color _fillColor = Color.Transparent; + /// + /// 是否圆角 + /// + /// true if this instance is radius; otherwise, false. + [Description("是否圆角"), Category("自定义")] + public virtual bool IsRadius + { + get + { + return this._isRadius; + } + set + { + this._isRadius = value; + Refresh(); + } + } + /// + /// 圆角角度 + /// + /// The coner radius. + [Description("圆角角度"), Category("自定义")] + public virtual int ConerRadius + { + get + { + return this._cornerRadius; + } + set + { + this._cornerRadius = Math.Max(value, 1); + Refresh(); + } + } + + /// + /// 是否显示边框 + /// + /// true if this instance is show rect; otherwise, false. + [Description("是否显示边框"), Category("自定义")] + public virtual bool IsShowRect + { + get + { + return this._isShowRect; + } + set + { + this._isShowRect = value; + Refresh(); + } + } + /// + /// 边框颜色 + /// + /// The color of the rect. + [Description("边框颜色"), Category("自定义")] + public virtual Color RectColor + { + get + { + return this._rectColor; + } + set + { + this._rectColor = value; + this.Refresh(); + } + } + + /// + /// 边框宽度 + /// + /// The width of the rect. + [Description("边框宽度"), Category("自定义")] + public virtual int RectWidth + { + get + { + return this._rectWidth; + } + set + { + this._rectWidth = value; + Refresh(); + } + } + /// + /// 当使用边框时填充颜色,当值为背景色或透明色或空值则不填充 + /// + /// The color of the fill. + [Description("当使用边框时填充颜色,当值为背景色或透明色或空值则不填充"), Category("自定义")] + public virtual Color FillColor + { + get + { + return this._fillColor; + } + set + { + this._fillColor = value; + Refresh(); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ControlBase() + { + this.InitializeComponent(); + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + } + + /// + /// 引发 事件。 + /// + /// 包含事件数据的 。 + protected override void OnPaint(PaintEventArgs e) + { + if (this.Visible) + { + if (this._isRadius) + { + this.SetWindowRegion(); + } + else + { + //关闭圆角后显示为原矩形 + GraphicsPath g = new GraphicsPath(); + g.AddRectangle(base.ClientRectangle); + g.CloseFigure(); + base.Region = new Region(g); + } + + GraphicsPath graphicsPath = new GraphicsPath(); + if (this._isShowRect || (_fillColor != Color.Empty && _fillColor != Color.Transparent && _fillColor != this.BackColor)) + { + Rectangle clientRectangle = base.ClientRectangle; + if (_isRadius) + { + graphicsPath.AddArc(0, 0, _cornerRadius, _cornerRadius, 180f, 90f); + graphicsPath.AddArc(clientRectangle.Width - _cornerRadius - 1, 0, _cornerRadius, _cornerRadius, 270f, 90f); + graphicsPath.AddArc(clientRectangle.Width - _cornerRadius - 1, clientRectangle.Height - _cornerRadius - 1, _cornerRadius, _cornerRadius, 0f, 90f); + graphicsPath.AddArc(0, clientRectangle.Height - _cornerRadius - 1, _cornerRadius, _cornerRadius, 90f, 90f); + graphicsPath.CloseFigure(); + } + else + { + graphicsPath.AddRectangle(clientRectangle); + } + } + e.Graphics.SetGDIHigh(); + if (_fillColor != Color.Empty && _fillColor != Color.Transparent && _fillColor != this.BackColor) + e.Graphics.FillPath(new SolidBrush(this._fillColor), graphicsPath); + if (this._isShowRect) + { + Color rectColor = this._rectColor; + Pen pen = new Pen(rectColor, (float)this._rectWidth); + e.Graphics.DrawPath(pen, graphicsPath); + } + } + base.OnPaint(e); + } + + /// + /// Sets the window region. + /// + private void SetWindowRegion() + { + GraphicsPath path = new GraphicsPath(); + Rectangle rect = new Rectangle(-1, -1, base.Width + 1, base.Height); + path = this.GetRoundedRectPath(rect, this._cornerRadius); + base.Region = new Region(path); + } + + /// + /// Gets the rounded rect path. + /// + /// The rect. + /// The radius. + /// GraphicsPath. + private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius) + { + Rectangle rect2 = new Rectangle(rect.Location, new Size(radius, radius)); + GraphicsPath graphicsPath = new GraphicsPath(); + graphicsPath.AddArc(rect2, 180f, 90f);//左上角 + rect2.X = rect.Right - radius; + graphicsPath.AddArc(rect2, 270f, 90f);//右上角 + rect2.Y = rect.Bottom - radius; + rect2.Width += 1; + rect2.Height += 1; + graphicsPath.AddArc(rect2, 360f, 90f);//右下角 + rect2.X = rect.Left; + graphicsPath.AddArc(rect2, 90f, 90f);//左下角 + graphicsPath.CloseFigure(); + return graphicsPath; + } + + /// + /// WNDs the proc. + /// + /// 要处理的 Windows 。 + protected override void WndProc(ref Message m) + { + if (m.Msg != 20) + { + base.WndProc(ref m); + } + } + } +} diff --git a/JinYuan.ControlLib/CustomComboBox.Designer.cs b/JinYuan.ControlLib/CustomComboBox.Designer.cs new file mode 100644 index 0000000..de3f81a --- /dev/null +++ b/JinYuan.ControlLib/CustomComboBox.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class CustomComboBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/CustomComboBox.cs b/JinYuan.ControlLib/CustomComboBox.cs new file mode 100644 index 0000000..6a0d21c --- /dev/null +++ b/JinYuan.ControlLib/CustomComboBox.cs @@ -0,0 +1,280 @@ +using AntdUI; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class CustomComboBox : ComboBox + { + private Color darkBackColor = Color.FromArgb(30, 30, 30); + private Color lightBackColor = Color.White; + private Color darkForeColor = Color.White; + private Color lightForeColor = Color.Black; + private Color darkBorderColor = Color.FromArgb(64, 64, 64); + private Color lightBorderColor = Color.FromArgb(217, 217, 217); + private Color darkArrowColor = Color.White; + private Color lightArrowColor = Color.Black; + private Color darkWatermarkColor = Color.Gray; + private Color lightWatermarkColor = Color.LightGray; + + private string watermarkText = string.Empty; + [Category("行为")] + public string WatermarkText + { + get { return watermarkText; } + set + { + watermarkText = value; + Invalidate(); + } + } + + private int cornerRadius = 5; // 新增:控制圆角半径的字段 + + [Category("外观")] + [DefaultValue(5)] + public int CornerRadius + { + get { return cornerRadius; } + set + { + if (cornerRadius != value) + { + cornerRadius = value; + Invalidate(); + } + } + } + + public CustomComboBox() + { + SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true); + DrawMode = DrawMode.OwnerDrawFixed; + DropDownStyle = ComboBoxStyle.DropDownList; + UpdateTheme(Config.IsDark); + + } + + + + + public void UpdateTheme(bool isDark) + { + BackColor = isDark ? darkBackColor : lightBackColor; + ForeColor = isDark ? darkForeColor : lightForeColor; + Invalidate(); + } + + protected override void OnPaint(PaintEventArgs e) + { + using (var path = CreateRoundedRectangle(new Rectangle(0, 0, Width - 1, Height - 1), cornerRadius)) + { + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; + + var rect = new Rectangle(0, 0, Width - 1, Height - 1); + var borderColor = Config.IsDark ? darkBorderColor : lightBorderColor; + var arrowColor = Config.IsDark ? darkArrowColor : lightArrowColor; + + // Draw background + using (var brush = new SolidBrush(BackColor)) + { + g.FillPath(brush, path); + } + + // Draw border + using (var pen = new Pen(borderColor)) + { + g.DrawPath(pen, path); + } + + // Draw text or watermark + var textRect = new Rectangle(cornerRadius, 2, Width - 20 - cornerRadius, Height - 4); + var flags = TextFormatFlags.VerticalCenter | TextFormatFlags.Left; + if (SelectedItem != null) + { + string displayText = GetCustomItemText(SelectedItem); + using (var brush = new SolidBrush(ForeColor)) + { + TextRenderer.DrawText(g, displayText, Font, textRect, ForeColor, flags); + } + } + else if (!string.IsNullOrEmpty(watermarkText)) + { + var watermarkColor = Config.IsDark ? darkWatermarkColor : lightWatermarkColor; + TextRenderer.DrawText(g, watermarkText, Font, textRect, watermarkColor, flags); + } + + // Draw arrow + var arrowSize = 8; + var arrowRect = new Rectangle(Width - arrowSize - 8 - cornerRadius, (Height - arrowSize) / 2, arrowSize, arrowSize); + using (var brush = new SolidBrush(arrowColor)) + { + Point[] arrow = { + new Point(arrowRect.Left, arrowRect.Top), + new Point(arrowRect.Right, arrowRect.Top), + new Point(arrowRect.Left + arrowRect.Width / 2, arrowRect.Bottom) + }; + g.FillPolygon(brush, arrow); + } + } + } + + protected override void OnDrawItem(DrawItemEventArgs e) + { + if (e.Index < 0) return; + + // 设置下拉项的背景色 + Color backColor; + Color textColor; + + if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) + { + // 选中项的颜色 + backColor = Config.IsDark ? Color.FromArgb(45, 45, 45) : Color.FromArgb(230, 230, 230); + textColor = Config.IsDark ? darkForeColor : lightForeColor; + } + else + { + // 未选中项的颜色 + backColor = Config.IsDark ? darkBackColor : lightBackColor; + textColor = Config.IsDark ? darkForeColor : lightForeColor; + } + + // 使用新的背景色绘制背景 + using (var backBrush = new SolidBrush(backColor)) + { + e.Graphics.FillRectangle(backBrush, e.Bounds); + } + + // 绘制文本 + if (e.Index >= 0) + { + string itemText = GetCustomItemText(Items[e.Index]); + + // 设置文本边距 + Rectangle textBounds = new Rectangle( + e.Bounds.X + 5, // 左边距 + e.Bounds.Y, + e.Bounds.Width - 10, // 右边距 + e.Bounds.Height + ); + + // 使用TextRenderer绘制文本以获得更好的文本渲染效果 + TextRenderer.DrawText( + e.Graphics, + itemText, + Font, + textBounds, + textColor, + TextFormatFlags.VerticalCenter | TextFormatFlags.Left + ); + } + + // 如果有焦点,绘制焦点矩形 + if ((e.State & DrawItemState.Focus) == DrawItemState.Focus) + { + using (Pen focusPen = new Pen(Config.IsDark ? Color.FromArgb(70, 70, 70) : Color.FromArgb(180, 180, 180))) + { + e.Graphics.DrawRectangle(focusPen, new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width - 1, e.Bounds.Height - 1)); + } + } + } + + // 添加这个方法来处理下拉列表的外观 + protected override void WndProc(ref System.Windows.Forms.Message m) + { + if (m.Msg == 0x204E) // WM_CTLCOLORLISTBOX + { + // 获取下拉列表的句柄 + var hDC = m.WParam; + var hListBox = m.LParam; + + using (Graphics g = Graphics.FromHdc(hDC)) + { + // 设置下拉列表的背景色 + using (SolidBrush backBrush = new SolidBrush(Config.IsDark ? darkBackColor : lightBackColor)) + { + g.FillRectangle(backBrush, this.DropDownRectangle); + } + } + } + base.WndProc(ref m); + } + + // 获取下拉列表的矩形区域 + private Rectangle DropDownRectangle + { + get + { + return new Rectangle(0, 0, DropDownWidth, ItemHeight * Math.Max(Items.Count, 1)); + } + } + + private string GetCustomItemText(object item) + { + if (item == null) + return string.Empty; + + if (string.IsNullOrEmpty(DisplayMember)) + return item.ToString(); + + PropertyDescriptor descriptor = TypeDescriptor.GetProperties(item).Find(DisplayMember, true); + if (descriptor != null) + return descriptor.GetValue(item)?.ToString() ?? string.Empty; + + return item.ToString(); + } + + public object GetSelectedValue() + { + if (SelectedItem == null) + return null; + + if (string.IsNullOrEmpty(ValueMember)) + return SelectedItem; + + PropertyDescriptor descriptor = TypeDescriptor.GetProperties(SelectedItem).Find(ValueMember, true); + if (descriptor != null) + return descriptor.GetValue(SelectedItem); + + return null; + } + + + private GraphicsPath CreateRoundedRectangle(Rectangle bounds, int radius) + { + int diameter = radius * 2; + Size size = new Size(diameter, diameter); + Rectangle arc = new Rectangle(bounds.Location, size); + GraphicsPath path = new GraphicsPath(); + + if (radius == 0) + { + path.AddRectangle(bounds); + return path; + } + + // 左上角 + path.AddArc(arc, 180, 90); + + // 右上角 + arc.X = bounds.Right - diameter; + path.AddArc(arc, 270, 90); + + // 右下角 + arc.Y = bounds.Bottom - diameter; + path.AddArc(arc, 0, 90); + + // 左下角 + arc.X = bounds.Left; + path.AddArc(arc, 90, 90); + + path.CloseFigure(); + return path; + } + } +} diff --git a/JinYuan.ControlLib/CustomDataGridView.cs b/JinYuan.ControlLib/CustomDataGridView.cs new file mode 100644 index 0000000..3e9d8f6 --- /dev/null +++ b/JinYuan.ControlLib/CustomDataGridView.cs @@ -0,0 +1,233 @@ +using AntdUI; +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public class CustomDataGridView : DataGridView + { + private Color darkBackgroundColor = Color.FromArgb(18, 18, 18); + private Color lightBackgroundColor = Color.White; + private Color darkForeColor = Color.White; + private Color lightForeColor = Color.Black; + private Color darkHeaderBackColor = Color.FromArgb(30, 30, 30); + private Color lightHeaderBackColor = Color.FromArgb(240, 240, 240); + private Color darkSelectedCellColor = Color.FromArgb(64, 64, 64); + private Color lightSelectedCellColor = Color.FromArgb(200, 200, 200); + private Color darkSelectedColumnColor = Color.FromArgb(45, 45, 45); + private Color lightSelectedColumnColor = Color.FromArgb(220, 220, 220); + private Color darkButtonColor = Color.FromArgb(64, 64, 64); + private Color lightButtonColor = Color.FromArgb(240, 240, 240); + private Color darkComboBoxColor = Color.FromArgb(45, 45, 45); + private Color lightComboBoxColor = Color.FromArgb(250, 250, 250); + + public CustomDataGridView() + { + InitializeComponent(); + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); + UpdateTheme(Config.IsDark); + } + + private void InitializeComponent() + { + this.RowHeadersVisible = true; + this.AllowUserToAddRows = false; + this.AllowUserToDeleteRows = false; + this.AllowUserToResizeRows = false; + this.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + this.MultiSelect = false; + this.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal; + this.BorderStyle = BorderStyle.None; + this.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None; + this.EnableHeadersVisualStyles = false; + + this.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; + this.ColumnHeadersDefaultCellStyle.Font = new Font(this.Font.FontFamily, this.Font.Size, FontStyle.Bold); + this.ColumnHeadersHeight = 30; + + this.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; + this.RowHeadersWidth = 50; + + // 设置默认的行高 + this.RowTemplate.Height = 28; + } + + public void UpdateTheme(bool isDark) + { + // 基础颜色 + this.BackgroundColor = isDark ? darkBackgroundColor : lightBackgroundColor; + this.ForeColor = isDark ? darkForeColor : lightForeColor; + this.GridColor = isDark ? Color.DimGray : Color.LightGray; + + // 列头样式 + this.ColumnHeadersDefaultCellStyle.BackColor = isDark ? darkHeaderBackColor : lightHeaderBackColor; + this.ColumnHeadersDefaultCellStyle.ForeColor = isDark ? darkForeColor : lightForeColor; + this.ColumnHeadersDefaultCellStyle.SelectionBackColor = isDark ? darkSelectedColumnColor : lightSelectedColumnColor; + this.ColumnHeadersDefaultCellStyle.SelectionForeColor = isDark ? darkForeColor : lightForeColor; + + // 行头样式 + this.RowHeadersDefaultCellStyle.BackColor = isDark ? darkHeaderBackColor : lightHeaderBackColor; + this.RowHeadersDefaultCellStyle.ForeColor = isDark ? darkForeColor : lightForeColor; + this.RowHeadersDefaultCellStyle.SelectionBackColor = isDark ? darkSelectedCellColor : lightSelectedCellColor; + this.RowHeadersDefaultCellStyle.SelectionForeColor = isDark ? darkForeColor : lightForeColor; + + // 默认单元格样式 + this.DefaultCellStyle.BackColor = this.BackgroundColor; + this.DefaultCellStyle.ForeColor = this.ForeColor; + this.DefaultCellStyle.SelectionBackColor = isDark ? darkSelectedCellColor : lightSelectedCellColor; + this.DefaultCellStyle.SelectionForeColor = isDark ? darkForeColor : lightForeColor; + + // 更新所有列的样式 + foreach (DataGridViewColumn column in this.Columns) + { + if (column is DataGridViewComboBoxColumn comboBoxColumn) + { + // ComboBox列样式 + comboBoxColumn.DefaultCellStyle.BackColor = isDark ? darkComboBoxColor : lightComboBoxColor; + comboBoxColumn.DefaultCellStyle.ForeColor = isDark ? darkForeColor : lightForeColor; + comboBoxColumn.DefaultCellStyle.SelectionBackColor = isDark ? darkSelectedCellColor : lightSelectedCellColor; + comboBoxColumn.DefaultCellStyle.SelectionForeColor = isDark ? darkForeColor : lightForeColor; + comboBoxColumn.FlatStyle = FlatStyle.Flat; + } + else if (column is DataGridViewButtonColumn buttonColumn) + { + // Button列样式 + DataGridViewCellStyle buttonStyle = new DataGridViewCellStyle(); + buttonStyle.BackColor = isDark ? darkButtonColor : lightButtonColor; + buttonStyle.ForeColor = isDark ? darkForeColor : lightForeColor; + buttonStyle.SelectionBackColor = isDark ? darkSelectedCellColor : lightSelectedCellColor; + buttonStyle.SelectionForeColor = isDark ? darkForeColor : lightForeColor; + buttonStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; + buttonColumn.DefaultCellStyle = buttonStyle; + buttonColumn.FlatStyle = FlatStyle.Flat; + } + } + + this.Invalidate(); + } + + protected override void OnCellPainting(DataGridViewCellPaintingEventArgs e) + { + if (e.RowIndex == -1 && e.ColumnIndex >= 0) + { + // 绘制列头 + e.PaintBackground(e.CellBounds, true); + Rectangle newRect = new Rectangle(e.CellBounds.X + 2, e.CellBounds.Y + 2, + e.CellBounds.Width - 4, e.CellBounds.Height - 4); + + using (var brush = new SolidBrush(e.CellStyle.ForeColor)) + { + e.Graphics.DrawString(e.Value?.ToString(), this.ColumnHeadersDefaultCellStyle.Font, + brush, newRect, new StringFormat + { + Alignment = StringAlignment.Center, + LineAlignment = StringAlignment.Center + }); + } + e.Handled = true; + } + else if (e.RowIndex >= 0 && e.ColumnIndex == -1) + { + // 绘制行头(行号) + e.PaintBackground(e.CellBounds, true); + Rectangle newRect = new Rectangle(e.CellBounds.X + 2, e.CellBounds.Y + 2, + e.CellBounds.Width - 4, e.CellBounds.Height - 4); + + string rowNumber = (e.RowIndex + 1).ToString(); + + // 判断当前行是否被选中 + bool isSelected = this.Rows[e.RowIndex].Selected; + Color textColor; + + if (isSelected) + { + // 如果行被选中,使用选中状态的前景色 + textColor = this.RowHeadersDefaultCellStyle.SelectionForeColor; + } + else + { + // 如果行未被选中,使用普通状态的前景色 + textColor = Config.IsDark ? darkForeColor : lightForeColor; + } + + using (var brush = new SolidBrush(textColor)) + { + e.Graphics.DrawString(rowNumber, this.RowHeadersDefaultCellStyle.Font, + brush, newRect, new StringFormat + { + Alignment = StringAlignment.Center, + LineAlignment = StringAlignment.Center + }); + } + e.Handled = true; + } + else if (e.ColumnIndex >= 0 && e.RowIndex >= 0) + { + // 处理按钮列的绘制 + if (this.Columns[e.ColumnIndex] is DataGridViewButtonColumn) + { + e.PaintBackground(e.CellBounds, true); + Rectangle buttonBounds = new Rectangle(e.CellBounds.X + 2, e.CellBounds.Y + 2, + e.CellBounds.Width - 4, e.CellBounds.Height - 4); + + using (var buttonBrush = new SolidBrush(e.CellStyle.BackColor)) + using (var textBrush = new SolidBrush(e.CellStyle.ForeColor)) + { + // 绘制按钮背景 + e.Graphics.FillRectangle(buttonBrush, buttonBounds); + + // 绘制按钮文本 + string buttonText = e.Value?.ToString() ?? string.Empty; + e.Graphics.DrawString(buttonText, this.Font, textBrush, + buttonBounds, new StringFormat + { + Alignment = StringAlignment.Center, + LineAlignment = StringAlignment.Center + }); + } + e.Handled = true; + } + else + { + base.OnCellPainting(e); + } + } + else + { + base.OnCellPainting(e); + } + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + // 绘制列头底部边框 + using (var pen = new Pen(Config.IsDark ? Color.DimGray : Color.LightGray)) + { + e.Graphics.DrawLine(pen, 0, this.ColumnHeadersHeight, this.Width, this.ColumnHeadersHeight); + } + } + + protected override void OnColumnHeadersHeightChanged(EventArgs e) + { + base.OnColumnHeadersHeightChanged(e); + this.ColumnHeadersHeight = 30; + } + + protected override void OnDataBindingComplete(DataGridViewBindingCompleteEventArgs e) + { + base.OnDataBindingComplete(e); + + // 重新应用主题样式 + UpdateTheme(Config.IsDark); + } + } +} diff --git a/JinYuan.ControlLib/CustomGroupBox.Designer.cs b/JinYuan.ControlLib/CustomGroupBox.Designer.cs new file mode 100644 index 0000000..fce89ce --- /dev/null +++ b/JinYuan.ControlLib/CustomGroupBox.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class CustomGroupBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/CustomGroupBox.cs b/JinYuan.ControlLib/CustomGroupBox.cs new file mode 100644 index 0000000..91efe94 --- /dev/null +++ b/JinYuan.ControlLib/CustomGroupBox.cs @@ -0,0 +1,137 @@ +using AntdUI; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class CustomGroupBox : GroupBox + { + private Color darkBorderColor = Color.FromArgb(64, 64, 64); + private Color lightBorderColor = Color.FromArgb(217, 217, 217); + private Color darkForeColor = Color.White; + private Color lightForeColor = Color.Black; + private const int TextPadding = 4; + + public Color BorderColor { get; set; } = Color.Gray; + + + private float _borderWidth = 1f; + private float _cornerRadius = 5f; + + [Category("Appearance")] + [DefaultValue(1f)] + public float BorderWidth + { + get => _borderWidth; + set + { + _borderWidth = value; + Invalidate(); + } + } + + [Category("Appearance")] + [DefaultValue(5f)] + public float CornerRadius + { + get => _cornerRadius; + set + { + _cornerRadius = value; + Invalidate(); + } + } + + public CustomGroupBox() + { + SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true); + UpdateTheme(Config.IsDark); + + } + + + + public void UpdateTheme(bool isDark) + { + ForeColor = isDark ? darkForeColor : lightForeColor; + Invalidate(); + } + + protected override void OnPaint(PaintEventArgs e) + { + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; + + var borderColor = Config.IsDark ? darkBorderColor : lightBorderColor; + var textSize = g.MeasureString(Text, Font); + var textWidth = (int)Math.Ceiling(textSize.Width) + TextPadding * 2; + var textHeight = (int)Math.Ceiling(textSize.Height); + + var textRect = new Rectangle(TextPadding, 0, textWidth, textHeight); + var borderRect = new Rectangle((int)(_borderWidth / 2), textHeight / 2, + Width - 1 - (int)_borderWidth, Height - textHeight / 2 - 1 - (int)_borderWidth); + + //绘制边框颜色 + using (var pen = new Pen(BorderColor, BorderWidth)) + { + e.Graphics.DrawRectangle(pen, 0, 0, Width - BorderWidth, Height - BorderWidth); + } + + // 绘制背景 + using (var brush = new SolidBrush(BackColor)) + { + g.FillRectangle(brush, ClientRectangle); + } + + // 创建圆角矩形路径 + using (var path = GetRoundedRectanglePath(borderRect, _cornerRadius)) + { + // 绘制边框 + using (var pen = new Pen(borderColor, _borderWidth)) + { + g.DrawPath(pen, path); + } + } + + // 绘制标题文本背景 + using (var brush = new SolidBrush(BackColor)) + { + g.FillRectangle(brush, textRect); + } + + // 绘制标题文本 + using (var brush = new SolidBrush(ForeColor)) + { + g.DrawString(Text, Font, brush, textRect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center }); + } + } + + private GraphicsPath GetRoundedRectanglePath(Rectangle rect, float radius) + { + GraphicsPath path = new GraphicsPath(); + float diameter = radius * 2; + RectangleF arcRect = new RectangleF(rect.Location, new SizeF(diameter, diameter)); + + // 左上角 + path.AddArc(arcRect, 180, 90); + + // 顶边 + arcRect.X = rect.Right - diameter; + path.AddArc(arcRect, 270, 90); + + // 右边 + arcRect.Y = rect.Bottom - diameter; + path.AddArc(arcRect, 0, 90); + + // 底边 + arcRect.X = rect.Left; + path.AddArc(arcRect, 90, 90); + + path.CloseFigure(); + return path; + } + } +} diff --git a/JinYuan.ControlLib/CustomRichTextBox.Designer.cs b/JinYuan.ControlLib/CustomRichTextBox.Designer.cs new file mode 100644 index 0000000..aa3874d --- /dev/null +++ b/JinYuan.ControlLib/CustomRichTextBox.Designer.cs @@ -0,0 +1,37 @@ +namespace JinYuan.ControlLib +{ + partial class CustomRichTextBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + HandleCreated -= CustomRichTextBox_HandleCreated; + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/CustomRichTextBox.cs b/JinYuan.ControlLib/CustomRichTextBox.cs new file mode 100644 index 0000000..abc8b46 --- /dev/null +++ b/JinYuan.ControlLib/CustomRichTextBox.cs @@ -0,0 +1,442 @@ +using AntdUI; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + + public partial class CustomRichTextBox : RichTextBox + { + private Color darkBackColor = Color.Black; + private Color lightBackColor = Color.White; + private Color darkForeColor = Color.White; + private Color lightForeColor = Color.Black; + private Color darkBorderColor = Color.FromArgb(64, 64, 64); + private Color lightBorderColor = Color.FromArgb(217, 217, 217); + private bool isDarkTheme; + private const int BatchSize = 5000; + private bool isUpdatingTheme = false; + private bool isInitialized = false; + + public CustomRichTextBox() + { + BorderStyle = BorderStyle.None; + SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); + + // 在句柄创建后初始化主题 + HandleCreated += CustomRichTextBox_HandleCreated; + } + + private void CustomRichTextBox_HandleCreated(object sender, EventArgs e) + { + if (!isInitialized) + { + isInitialized = true; + InitializeThemeAsync(); + } + } + + private async void InitializeThemeAsync() + { + try + { + await UpdateThemeAsync(Config.IsDark); + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine($"Theme initialization failed: {ex.Message}"); + } + } + + public async Task UpdateThemeAsync(bool isDark) + { + if (isDarkTheme == isDark || isUpdatingTheme || !IsHandleCreated) return; + + isUpdatingTheme = true; + isDarkTheme = isDark; + + try + { + if (InvokeRequired) + { + await Task.Run(() => + { + Invoke((MethodInvoker)(() => UpdateThemeInternal())); + }); + } + else + { + UpdateThemeInternal(); + } + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine($"Theme update failed: {ex.Message}"); + } + finally + { + isUpdatingTheme = false; + } + } + + private void UpdateThemeInternal() + { + if (!IsHandleCreated) return; + + BackColor = isDarkTheme ? darkBackColor : lightBackColor; + ForeColor = isDarkTheme ? darkForeColor : lightForeColor; + + SuspendLayout(); + try + { + int visibleStart = GetCharIndexFromPosition(new Point(0, 0)); + int visibleEnd = GetCharIndexFromPosition(new Point(ClientSize.Width, ClientSize.Height)); + + // Update visible text first + UpdateTextColors(visibleStart, visibleEnd - visibleStart); + + // Then update the rest in batches + for (int i = 0; i < TextLength; i += BatchSize) + { + if (i >= visibleStart && i < visibleEnd) continue; + int length = Math.Min(BatchSize, TextLength - i); + UpdateTextColors(i, length); + if (i % (BatchSize * 10) == 0) Application.DoEvents(); + } + } + finally + { + ResumeLayout(); + } + + Invalidate(); + } + + private void UpdateTextColors(int start, int length) + { + if (start < 0 || length <= 0 || start + length > TextLength) return; + + Select(start, length); + SelectionColor = ForeColor; + SelectionBackColor = BackColor; + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + using (var pen = new Pen(isDarkTheme ? darkBorderColor : lightBorderColor)) + { + e.Graphics.DrawRectangle(pen, 0, 0, Width - 1, Height - 1); + } + } + + protected override void OnTextChanged(EventArgs e) + { + base.OnTextChanged(e); + + if (!isUpdatingTheme && TextLength > 0 && IsHandleCreated) + { + int start = TextLength - 1; + int length = 1; + if (start < 0) start = 0; + if (start + length > TextLength) length = TextLength - start; + + UpdateTextColors(start, length); + SelectionLength = 0; + SelectionStart = TextLength; + } + } + + [Browsable(true)] + [Category("Appearance")] + [DefaultValue(typeof(Color), "30, 30, 30")] + public Color DarkBackColor + { + get => darkBackColor; + set + { + if (darkBackColor != value) + { + darkBackColor = value; + if (isDarkTheme && IsHandleCreated) SafeRefreshTheme(); + } + } + } + + [Browsable(true)] + [Category("Appearance")] + [DefaultValue(typeof(Color), "White")] + public Color LightBackColor + { + get => lightBackColor; + set + { + if (lightBackColor != value) + { + lightBackColor = value; + if (!isDarkTheme && IsHandleCreated) SafeRefreshTheme(); + } + } + } + + [Browsable(true)] + [Category("Appearance")] + [DefaultValue(typeof(Color), "White")] + public Color DarkForeColor + { + get => darkForeColor; + set + { + if (darkForeColor != value) + { + darkForeColor = value; + if (isDarkTheme && IsHandleCreated) SafeRefreshTheme(); + } + } + } + + [Browsable(true)] + [Category("Appearance")] + [DefaultValue(typeof(Color), "Black")] + public Color LightForeColor + { + get => lightForeColor; + set + { + if (lightForeColor != value) + { + lightForeColor = value; + if (!isDarkTheme && IsHandleCreated) SafeRefreshTheme(); + } + } + } + + [Browsable(true)] + [Category("Appearance")] + [DefaultValue(typeof(Color), "64, 64, 64")] + public Color DarkBorderColor + { + get => darkBorderColor; + set + { + if (darkBorderColor != value) + { + darkBorderColor = value; + if (isDarkTheme && IsHandleCreated) Invalidate(); + } + } + } + + [Browsable(true)] + [Category("Appearance")] + [DefaultValue(typeof(Color), "217, 217, 217")] + public Color LightBorderColor + { + get => lightBorderColor; + set + { + if (lightBorderColor != value) + { + lightBorderColor = value; + if (!isDarkTheme && IsHandleCreated) Invalidate(); + } + } + } + + private async void SafeRefreshTheme() + { + try + { + await RefreshThemeAsync(); + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine($"Theme refresh failed: {ex.Message}"); + } + } + + public async Task RefreshThemeAsync() + { + if (!IsHandleCreated) return; + await UpdateThemeAsync(isDarkTheme); + } + + + } +} +//public partial class CustomRichTextBox : RichTextBox +//{ +// private Color darkBackColor = Color.Black; +// private Color lightBackColor = Color.White; +// private Color darkForeColor = Color.White; +// private Color lightForeColor = Color.Black; +// private Color darkBorderColor = Color.FromArgb(64, 64, 64); +// private Color lightBorderColor = Color.FromArgb(217, 217, 217); +// private bool isDarkTheme; + +// private const int BatchSize = 5000; // 每批处理的字符数 +// private bool isUpdatingTheme = false; + +// public CustomRichTextBox() +// { +// BorderStyle = BorderStyle.None; +// SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); + +// InitializeThemeAsync(); +// } + + +// private async void InitializeThemeAsync() +// { +// await UpdateThemeAsync(Config.IsDark); +// } + +// public async Task UpdateThemeAsync(bool isDark) +// { +// if (isDarkTheme == isDark || isUpdatingTheme) return; + +// isUpdatingTheme = true; +// isDarkTheme = isDark; + +// try +// { +// await Task.Run(async () => +// { +// await InvokeAsync(() => +// { +// BackColor = isDark ? darkBackColor : lightBackColor; +// ForeColor = isDark ? darkForeColor : lightForeColor; + +// SuspendLayout(); +// try +// { +// int visibleStart = GetCharIndexFromPosition(new Point(0, 0)); +// int visibleEnd = GetCharIndexFromPosition(new Point(ClientSize.Width, ClientSize.Height)); + +// // Update visible text first +// UpdateTextColors(visibleStart, visibleEnd - visibleStart); + +// // Then update the rest in batches +// for (int i = 0; i < TextLength; i += BatchSize) +// { +// if (i >= visibleStart && i < visibleEnd) continue; // Skip already updated visible part +// int length = Math.Min(BatchSize, TextLength - i); +// UpdateTextColors(i, length); +// if (i % (BatchSize * 10) == 0) Application.DoEvents(); +// } +// } +// finally +// { +// ResumeLayout(); +// } + +// Invalidate(); +// }); +// }); +// } +// finally +// { +// isUpdatingTheme = false; +// } +// } + +// private void UpdateTextColors(int start, int length) +// { +// Select(start, length); +// SelectionColor = ForeColor; +// SelectionBackColor = BackColor; +// } + +// protected override void OnPaint(PaintEventArgs e) +// { +// base.OnPaint(e); +// using (var pen = new Pen(isDarkTheme ? darkBorderColor : lightBorderColor)) +// { +// e.Graphics.DrawRectangle(pen, 0, 0, Width - 1, Height - 1); +// } +// } + +// protected override void OnTextChanged(EventArgs e) +// { +// base.OnTextChanged(e); + +// if (!isUpdatingTheme && TextLength > 0) +// { +// int start = TextLength - 1; +// int length = 1; +// if (start < 0) start = 0; +// if (start + length > TextLength) length = TextLength - start; + +// UpdateTextColors(start, length); +// SelectionLength = 0; +// SelectionStart = TextLength; +// } +// } + +// [Browsable(true)] +// [Category("Appearance")] +// [DefaultValue(typeof(Color), "30, 30, 30")] +// public Color DarkBackColor +// { +// get => darkBackColor; +// set { darkBackColor = value; if (isDarkTheme) RefreshThemeAsync(); } +// } + +// [Browsable(true)] +// [Category("Appearance")] +// [DefaultValue(typeof(Color), "White")] +// public Color LightBackColor +// { +// get => lightBackColor; +// set { lightBackColor = value; if (!isDarkTheme) RefreshThemeAsync(); } +// } + +// [Browsable(true)] +// [Category("Appearance")] +// [DefaultValue(typeof(Color), "White")] +// public Color DarkForeColor +// { +// get => darkForeColor; +// set { darkForeColor = value; if (isDarkTheme) RefreshThemeAsync(); } +// } + +// [Browsable(true)] +// [Category("Appearance")] +// [DefaultValue(typeof(Color), "Black")] +// public Color LightForeColor +// { +// get => lightForeColor; +// set { lightForeColor = value; if (!isDarkTheme) RefreshThemeAsync(); } +// } + +// [Browsable(true)] +// [Category("Appearance")] +// [DefaultValue(typeof(Color), "64, 64, 64")] +// public Color DarkBorderColor +// { +// get => darkBorderColor; +// set { darkBorderColor = value; if (isDarkTheme) Invalidate(); } +// } + +// [Browsable(true)] +// [Category("Appearance")] +// [DefaultValue(typeof(Color), "217, 217, 217")] +// public Color LightBorderColor +// { +// get => lightBorderColor; +// set { lightBorderColor = value; if (!isDarkTheme) Invalidate(); } +// } + +// public async Task RefreshThemeAsync() +// { +// await UpdateThemeAsync(isDarkTheme); +// } + +// private Task InvokeAsync(Action action) +// { +// return Task.Factory.FromAsync(BeginInvoke(action), EndInvoke); +// } +//} diff --git a/JinYuan.ControlLib/DataGridView/DataGridViewCellEntity.cs b/JinYuan.ControlLib/DataGridView/DataGridViewCellEntity.cs new file mode 100644 index 0000000..3640850 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/DataGridViewCellEntity.cs @@ -0,0 +1,40 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class DataGridViewCellEntity. + /// + public class DataGridViewCellEntity + { + /// + /// Gets or sets the title. + /// + /// The title. + public string Title { get; set; } + /// + /// Gets or sets the width. + /// + /// The width. + public int Width { get; set; } + /// + /// Gets or sets the type of the width. + /// + /// The type of the width. + public System.Windows.Forms.SizeType WidthType { get; set; } + + } +} diff --git a/JinYuan.ControlLib/DataGridView/DataGridViewCellEventArgs.cs b/JinYuan.ControlLib/DataGridView/DataGridViewCellEventArgs.cs new file mode 100644 index 0000000..5ae6b39 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/DataGridViewCellEventArgs.cs @@ -0,0 +1,45 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class DataGridViewEventArgs. + /// Implements the + /// + /// + public class DataGridViewEventArgs : EventArgs + { + /// + /// Gets or sets the cell control. + /// + /// The cell control. + public Control CellControl { get; set; } + /// + /// Gets or sets the index of the cell. + /// + /// The index of the cell. + public int CellIndex { get; set; } + /// + /// Gets or sets the index of the row. + /// + /// The index of the row. + public int RowIndex { get; set; } + + } +} diff --git a/JinYuan.ControlLib/DataGridView/DataGridViewCellEventHandler.cs b/JinYuan.ControlLib/DataGridView/DataGridViewCellEventHandler.cs new file mode 100644 index 0000000..d18702e --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/DataGridViewCellEventHandler.cs @@ -0,0 +1,38 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; +using System.Runtime.InteropServices; + +namespace JinYuan.ControlLib +{ + /// + /// Delegate DataGridViewEventHandler + /// + /// The sender. + /// The instance containing the event data. + [Serializable] + [ComVisible(true)] + public delegate void DataGridViewEventHandler(object sender, DataGridViewEventArgs e); + + /// + /// Delegate DataGridViewRowCustomEventHandler + /// + /// The sender. + /// The instance containing the event data. + [Serializable] + [ComVisible(true)] + public delegate void DataGridViewRowCustomEventHandler(object sender, DataGridViewRowCustomEventArgs e); +} diff --git a/JinYuan.ControlLib/DataGridView/DataGridViewColumnEntity.cs b/JinYuan.ControlLib/DataGridView/DataGridViewColumnEntity.cs new file mode 100644 index 0000000..2b200a4 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/DataGridViewColumnEntity.cs @@ -0,0 +1,79 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; +using System.Drawing; + +namespace JinYuan.ControlLib +{ + /// + /// Class DataGridViewColumnEntity. + /// + public class DataGridViewColumnEntity + { + /// + /// Gets or sets the head text. + /// + /// The head text. + public string HeadText { get; set; } + /// + /// Gets or sets the width. + /// + /// The width. + public int Width { get; set; } + /// + /// Gets or sets the type of the width. + /// + /// The type of the width. + public System.Windows.Forms.SizeType WidthType { get; set; } + /// + /// Gets or sets the data field. + /// + /// The data field. + public string DataField { get; set; } + /// + /// Gets or sets the format. + /// + /// The format. + public Func Format { get; set; } + /// + /// The text align + /// + private ContentAlignment _TextAlign = ContentAlignment.MiddleCenter; + /// + /// Gets or sets the text align. + /// + /// The text align. + public ContentAlignment TextAlign { get { return _TextAlign; } set { _TextAlign = value; } } + /// + /// 自定义的单元格控件,一个实现IDataGridViewCustomCell的Control + /// + /// The custom cell. + private Type customCellType = null; + public Type CustomCellType + { + get + { + return customCellType; + } + set + { + if (!typeof(IDataGridViewCustomCell).IsAssignableFrom(value) || !value.IsSubclassOf(typeof(System.Windows.Forms.Control))) + throw new Exception("行控件没有实现IDataGridViewCustomCell接口"); + customCellType = value; + } + } + } +} diff --git a/JinYuan.ControlLib/DataGridView/DataGridViewRowCustomEventArgs.cs b/JinYuan.ControlLib/DataGridView/DataGridViewRowCustomEventArgs.cs new file mode 100644 index 0000000..59fab8a --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/DataGridViewRowCustomEventArgs.cs @@ -0,0 +1,36 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-27-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; + +namespace JinYuan.ControlLib +{ + /// + /// Class DataGridViewRowCustomEventArgs. + /// Implements the + /// + /// + public class DataGridViewRowCustomEventArgs : EventArgs + { + /// + /// Gets or sets the name of the event. + /// + /// The name of the event. + public string EventName { get; set; } + + public object Data { get; set; } + + } +} diff --git a/JinYuan.ControlLib/DataGridView/IDataGridViewCustomCell.cs b/JinYuan.ControlLib/DataGridView/IDataGridViewCustomCell.cs new file mode 100644 index 0000000..5b63737 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/IDataGridViewCustomCell.cs @@ -0,0 +1,19 @@ +namespace JinYuan.ControlLib +{ + public interface IDataGridViewCustomCell + { + /// + /// 绑定行关联的数据 + /// + /// The object. + void SetBindSource(object obj); + /// + /// 自定义事件传递,用于单元格向行中传递此事件 + /// + event DataGridViewRowCustomEventHandler RowCustomEvent; + /// + /// 关联数据源 + /// + object DataSource { get; } + } +} diff --git a/JinYuan.ControlLib/DataGridView/IDataGridViewRow.cs b/JinYuan.ControlLib/DataGridView/IDataGridViewRow.cs new file mode 100644 index 0000000..d3ea3fc --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/IDataGridViewRow.cs @@ -0,0 +1,87 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System.Collections.Generic; + +namespace JinYuan.ControlLib +{ + /// + /// Interface IDataGridViewRow + /// + public interface IDataGridViewRow + { + /// + /// Occurs when [row custom event]. + /// + event DataGridViewRowCustomEventHandler RowCustomEvent; + /// + /// CheckBox选中事件 + /// + event DataGridViewEventHandler CheckBoxChangeEvent; + /// + /// 点击单元格事件 + /// + event DataGridViewEventHandler CellClick; + /// + /// 数据源改变事件 + /// + event DataGridViewEventHandler SourceChanged; + /// + /// 列参数,用于创建列数和宽度 + /// + /// The columns. + List Columns { get; set; } + /// + /// Gets or sets a value indicating whether this instance is show CheckBox. + /// + /// true if this instance is show CheckBox; otherwise, false. + bool IsShowCheckBox { get; set; } + /// + /// 是否选中 + /// + /// true if this instance is checked; otherwise, false. + bool IsChecked { get; set; } + + /// + /// 数据源 + /// + /// The data source. + object DataSource { get; set; } + /// + /// 添加单元格元素,仅做添加控件操作,不做数据绑定,数据绑定使用BindingCells + /// + void ReloadCells(); + /// + /// 绑定数据到Cell + /// + /// 返回true则表示已处理过,否则将进行默认绑定(通常只针对有Text值的控件) + void BindingCellData(); + /// + /// 设置选中状态,通常为设置颜色即可 + /// + /// 是否选中 + void SetSelect(bool blnSelected); + /// + /// 行高 + /// + /// The height of the row. + int RowHeight { get; set; } + /// + /// 行号 + /// + /// The Index of the row. + int RowIndex { get; set; } + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridView.Designer.cs b/JinYuan.ControlLib/DataGridView/UCDataGridView.Designer.cs new file mode 100644 index 0000000..1c4a93c --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridView.Designer.cs @@ -0,0 +1,147 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class UCDataGridView. + /// Implements the + /// + /// + partial class UCDataGridView + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.panHead = new System.Windows.Forms.Panel(); + this.panColumns = new System.Windows.Forms.TableLayoutPanel(); + this.panHeadLeft = new System.Windows.Forms.Panel(); + this.panRow = new System.Windows.Forms.FlowLayoutPanel(); + this.ucSplitLine_H1 = new JinYuan.ControlLib.UCSplitLine_H(); + this.panHead.SuspendLayout(); + this.SuspendLayout(); + // + // panHead + // + this.panHead.Controls.Add(this.panColumns); + this.panHead.Controls.Add(this.panHeadLeft); + this.panHead.Controls.Add(this.ucSplitLine_H1); + this.panHead.Location = new System.Drawing.Point(0, 0); + this.panHead.Name = "panHead"; + this.panHead.Size = new System.Drawing.Size(1061, 40); + this.panHead.TabIndex = 0; + // + // panColumns + // + this.panColumns.ColumnCount = 1; + this.panColumns.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.panColumns.Dock = System.Windows.Forms.DockStyle.Fill; + this.panColumns.Location = new System.Drawing.Point(0, 0); + this.panColumns.Name = "panColumns"; + this.panColumns.RowCount = 1; + this.panColumns.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.panColumns.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.panColumns.Size = new System.Drawing.Size(1061, 39); + this.panColumns.TabIndex = 1; + // + // panHeadLeft + // + this.panHeadLeft.Dock = System.Windows.Forms.DockStyle.Left; + this.panHeadLeft.Location = new System.Drawing.Point(0, 0); + this.panHeadLeft.Name = "panHeadLeft"; + this.panHeadLeft.Size = new System.Drawing.Size(0, 39); + this.panHeadLeft.TabIndex = 2; + // + // panRow + // + this.panRow.AutoScroll = true; + this.panRow.Dock = System.Windows.Forms.DockStyle.Fill; + this.panRow.Location = new System.Drawing.Point(0, 40); + this.panRow.Name = "panRow"; + this.panRow.Size = new System.Drawing.Size(317, 225); + this.panRow.TabIndex = 1; + this.panRow.Scroll += new System.Windows.Forms.ScrollEventHandler(this.panRow_Scroll); + // + // ucSplitLine_H1 + // + this.ucSplitLine_H1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232))))); + this.ucSplitLine_H1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.ucSplitLine_H1.Location = new System.Drawing.Point(0, 39); + this.ucSplitLine_H1.Name = "ucSplitLine_H1"; + this.ucSplitLine_H1.Size = new System.Drawing.Size(1061, 1); + this.ucSplitLine_H1.TabIndex = 0; + this.ucSplitLine_H1.TabStop = false; + // + // UCDataGridView + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.Controls.Add(this.panRow); + this.Controls.Add(this.panHead); + this.Name = "UCDataGridView"; + this.Padding = new System.Windows.Forms.Padding(0, 40, 0, 0); + this.Size = new System.Drawing.Size(317, 265); + this.Scroll += new System.Windows.Forms.ScrollEventHandler(this.UCDataGridView_Scroll); + this.SizeChanged += new System.EventHandler(this.UCDataGridView_SizeChanged); + this.panHead.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + /// + /// The pan head + /// + private System.Windows.Forms.Panel panHead; + /// + /// The pan columns + /// + private System.Windows.Forms.TableLayoutPanel panColumns; + /// + /// The uc split line h1 + /// + private UCSplitLine_H ucSplitLine_H1; + /// + /// The pan head left + /// + private System.Windows.Forms.Panel panHeadLeft; + private System.Windows.Forms.FlowLayoutPanel panRow; + + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridView.cs b/JinYuan.ControlLib/DataGridView/UCDataGridView.cs new file mode 100644 index 0000000..aad6a50 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridView.cs @@ -0,0 +1,815 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using JinYuan.ControlLib.UCHelper; +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCDataGridView. + /// Implements the + /// + /// + public partial class UCDataGridView : UserControl + { + #region 属性 + /// + /// The m head pading left + /// + private int m_headPadingLeft = 0; + + /// + /// Gets or sets the head pading left. + /// + /// The head pading left. + [Description("标题左侧间距"), Category("自定义")] + public int HeadPadingLeft + { + get { return m_headPadingLeft; } + set + { + m_headPadingLeft = value; + this.panHeadLeft.Width = m_headPadingLeft; + } + } + + /// + /// The m head font + /// + private Font m_headFont = new Font("微软雅黑", 12F); + /// + /// 标题字体 + /// + /// The head font. + [Description("标题字体"), Category("自定义")] + public Font HeadFont + { + get { return m_headFont; } + set { m_headFont = value; } + } + /// + /// The m head text color + /// + private Color m_headTextColor = Color.Black; + /// + /// 标题字体颜色 + /// + /// The color of the head text. + [Description("标题文字颜色"), Category("自定义")] + public Color HeadTextColor + { + get { return m_headTextColor; } + set { m_headTextColor = value; } + } + + /// + /// The m is show head + /// + private bool m_isShowHead = true; + /// + /// 是否显示标题 + /// + /// true if this instance is show head; otherwise, false. + [Description("是否显示标题"), Category("自定义")] + public bool IsShowHead + { + get { return m_isShowHead; } + set + { + if (m_isShowHead != value) + { + m_isShowHead = value; + panHead.Visible = value; + if (value) + { + this.panRow.Location = new Point(0, panHead.Height); + this.panRow.Height = this.panRow.Height - panHead.Height; + } + else + { + this.panRow.Location = new Point(0, 0); + this.panRow.Height = this.panRow.Height + panHead.Height; + } + } + } + } + /// + /// The m head height + /// + private int m_headHeight = 40; + /// + /// 标题高度 + /// + /// The height of the head. + [Description("标题高度"), Category("自定义")] + public int HeadHeight + { + get { return m_headHeight; } + set + { + m_headHeight = value; + panHead.Height = value; + this.Padding = new Padding(0, value, 0, 0); + } + } + + /// + /// The m is show CheckBox + /// + private bool m_isShowCheckBox = false; + /// + /// 是否显示复选框 + /// + /// true if this instance is show CheckBox; otherwise, false. + [Description("是否显示选择框"), Category("自定义")] + public bool IsShowCheckBox + { + get { return m_isShowCheckBox; } + set + { + if (value != m_isShowCheckBox) + { + m_isShowCheckBox = value; + LoadColumns(); + } + } + } + + /// + /// The m row height + /// + private int m_rowHeight = 40; + /// + /// 行高 + /// + /// The height of the row. + [Description("数据行高"), Category("自定义")] + public int RowHeight + { + get { return m_rowHeight; } + set { m_rowHeight = value; } + } + + + /// + /// Gets the show count. + /// + /// The show count. + [Description("当前高度可显示行个数"), Category("自定义")] + public int ShowCount + { + get + { + return this.panRow.Height / (m_rowHeight); + } + } + + /// + /// The m columns + /// + private List m_columns = null; + /// + /// 列 + /// + /// The columns. + [Description("列"), Category("自定义")] + public List Columns + { + get { return m_columns; } + set + { + m_columns = value; + LoadColumns(); + } + } + + /// + /// The m data source + /// + private object m_dataSource = null; + /// + /// 数据源,支持列表或table,如果使用翻页控件,请使用翻页控件的DataSource + /// + /// The data source. + /// 数据源不是有效的数据类型,请使用Datatable或列表 + /// 数据源不是有效的数据类型,请使用Datatable或列表 + [Description("数据源,支持列表或table,如果使用翻页控件,请使用翻页控件的DataSource"), Category("自定义")] + public object DataSource + { + get { return m_dataSource; } + set + { + if (value != null) + { + if (!(value is DataTable) && (!typeof(IList).IsAssignableFrom(value.GetType()))) + { + throw new Exception("数据源不是有效的数据类型,请使用Datatable或列表"); + } + } + m_dataSource = value; + if (m_columns != null && m_columns.Count > 0) + { + ReloadSource(); + } + if (BindingSourceEvent != null) + { + BindingSourceEvent(this, null); + } + } + } + + /// + /// Gets the rows. + /// + /// The rows. + public List Rows { get; private set; } + + /// + /// The m row type + /// + private Type m_rowType = typeof(UCDataGridViewRow); + /// + /// 行元素类型,默认UCDataGridViewItem + /// + /// The type of the row. + /// 行控件没有实现IDataGridViewRow接口 + /// 行控件没有实现IDataGridViewRow接口 + [Description("行控件类型,默认UCDataGridViewRow,如果不满足请自定义行控件实现接口IDataGridViewRow"), Category("自定义")] + public Type RowType + { + get { return m_rowType; } + set + { + if (value == null) + return; + if (!typeof(IDataGridViewRow).IsAssignableFrom(value) || !value.IsSubclassOf(typeof(Control))) + throw new Exception("行控件没有实现IDataGridViewRow接口"); + m_rowType = value; + if (m_columns != null && m_columns.Count > 0) + ReloadSource(); + } + } + + /// + /// The m select row + /// + IDataGridViewRow m_selectRow = null; + /// + /// 选中的节点 + /// + /// The select row. + [Description("选中行"), Category("自定义")] + public IDataGridViewRow SelectRow + { + get { return m_selectRow; } + private set { m_selectRow = value; } + } + + + /// + /// 选中的行,如果显示CheckBox,则以CheckBox选中为准 + /// + /// The select rows. + [Description("选中的行,如果显示CheckBox,则以CheckBox选中为准"), Category("自定义")] + public List SelectRows + { + get + { + return GetSelectRows(); + } + } + + /// + /// Gets the select rows. + /// + /// List<IDataGridViewRow>. + private List GetSelectRows() + { + List lst = new List(); + if (m_isShowCheckBox) + { + if (Rows != null && Rows.Count > 0) + lst.AddRange(Rows.FindAll(p => p.IsChecked)); + } + else + { + if (m_selectRow != null) + lst.AddRange(new List() { m_selectRow }); + } + if (Rows != null && Rows.Count > 0 && m_rowType == typeof(UCDataGridViewTreeRow)) + { + foreach (UCDataGridViewTreeRow row in Rows) + { + lst.AddRange(FindTreeRowSelected(row)); + } + } + return lst; + } + + private List FindTreeRowSelected(UCDataGridViewTreeRow row) + { + List lst = new List(); + var _lst = row.ChildrenRows.FindAll(p => p.IsChecked); + lst.AddRange(_lst); + foreach (UCDataGridViewTreeRow _row in row.ChildrenRows) + { + lst.AddRange(FindTreeRowSelected(_row)); + } + return lst; + } + + /// + /// Finds the child grid. + /// + /// The c. + /// UCDataGridView. + private UCDataGridView FindChildGrid(Control c) + { + foreach (Control item in c.Controls) + { + if (item is UCDataGridView) + return item as UCDataGridView; + else if (item.Controls.Count > 0) + { + var grid = FindChildGrid(item); + if (grid != null) + return grid; + } + } + return null; + } + [Bindable(false)] + [Browsable(false)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool AutoScroll + { + get + { + return base.AutoScroll; + } + set + { + base.AutoScroll = value; + } + } + #region 事件 + /// + /// The head CheckBox change event + /// + [Description("选中标题选择框事件"), Category("自定义")] + public EventHandler HeadCheckBoxChangeEvent; + /// + /// The head column click event + /// + [Description("标题点击事件"), Category("自定义")] + public EventHandler HeadColumnClickEvent; + /// + /// Occurs when [item click]. + /// + [Description("项点击事件"), Category("自定义")] + public event DataGridViewEventHandler ItemClick; + /// + /// Occurs when [source changed]. + /// + [Description("行数据源改变事件"), Category("自定义")] + public event DataGridViewEventHandler RowSourceChangedEvent; + /// + /// Occurs when [row custom event]. + /// + [Description("预留的自定义的事件,比如你需要在行上放置删改等按钮时,可以通过此事件传递出来"), Category("自定义")] + public event DataGridViewRowCustomEventHandler RowCustomEvent; + [Description("绑定数据源后事件"), Category("自定义")] + public event EventHandler BindingSourceEvent; + #endregion + #endregion + + + /// + /// Initializes a new instance of the class. + /// + public UCDataGridView() + { + InitializeComponent(); + } + + #region 私有方法 + #region 加载column + /// + /// 功能描述:加载column + /// 作  者:HZH + /// 创建日期:2019-08-08 17:51:50 + /// 任务编号:POS + /// + private void LoadColumns() + { + try + { + if (DesignMode) + { return; } + + ControlHelper.FreezeControl(this.panHead, true); + + this.panRow.Controls.Clear(); + this.panColumns.Controls.Clear(); + this.panColumns.ColumnStyles.Clear(); + + + if (m_columns != null && m_columns.Count() > 0) + { + int _width = 0; + m_columns.ForEach(p => + { + if (p.WidthType == SizeType.Absolute) + { + _width += p.Width; + } + else if (p.WidthType == SizeType.Percent) + { + _width += (int)((p.Width / 100f) * this.Width); + } + }); + if (m_isShowCheckBox) + _width += 30; + if (_width > this.Width) + { + //this.panRow.Width = _width; + this.panHead.Width = _width; + } + else + { + if (m_columns.Any(p => p.WidthType == SizeType.AutoSize)) + { + //this.panRow.Width = this.Width; + this.panHead.Width = this.Width; + } + else + { + //this.panRow.Width = _width; + this.panHead.Width = _width; + } + } + m_columns.FindAll(p => p.WidthType == SizeType.Absolute); + m_columns.FindAll(p => p.WidthType == SizeType.Percent); + int intColumnsCount = m_columns.Count(); + if (m_isShowCheckBox) + { + intColumnsCount++; + } + this.panColumns.ColumnCount = intColumnsCount; + for (int i = 0; i < intColumnsCount; i++) + { + Control c = null; + if (i == 0 && m_isShowCheckBox) + { + this.panColumns.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(SizeType.Absolute, 30F)); + + UCCheckBox box = new UCCheckBox(); + box.TextValue = ""; + box.Size = new Size(30, 30); + box.CheckedChangeEvent += (a, b) => + { + Rows.ForEach(p => p.IsChecked = box.Checked); + if (HeadCheckBoxChangeEvent != null) + { + HeadCheckBoxChangeEvent(a, b); + } + }; + c = box; + } + else + { + var item = m_columns[i - (m_isShowCheckBox ? 1 : 0)]; + this.panColumns.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(item.WidthType, item.Width)); + Label lbl = new Label(); + lbl.Name = "dgvColumns_" + i; + lbl.Text = item.HeadText; + lbl.Font = m_headFont; + lbl.ForeColor = m_headTextColor; + lbl.TextAlign = ContentAlignment.MiddleCenter; + lbl.AutoSize = false; + lbl.Dock = DockStyle.Fill; + lbl.MouseDown += (a, b) => + { + if (HeadColumnClickEvent != null) + { + HeadColumnClickEvent(a, b); + } + }; + c = lbl; + } + this.panColumns.Controls.Add(c, i, 0); + } + + } + } + finally + { + ControlHelper.FreezeControl(this.panHead, false); + } + } + #endregion + + #endregion + + + + #region 公共函数 + /// + /// 刷新数据 + /// + public void ReloadSource() + { + if (DesignMode) + { return; } + try + { + ControlHelper.FreezeControl(this, true); + panHead.Location = new Point(0, 0); + Rows = new List(); + if (m_columns == null || m_columns.Count <= 0) + return; + if (m_dataSource != null) + { + int intIndex = 0; + + int intSourceCount = 0; + if (m_dataSource is DataTable) + { + intSourceCount = (m_dataSource as DataTable).Rows.Count; + } + else if (typeof(IList).IsAssignableFrom(m_dataSource.GetType())) + { + intSourceCount = (m_dataSource as IList).Count; + } + + foreach (Control item in this.panRow.Controls) + { + if (intIndex >= intSourceCount) + { + item.Visible = false; + } + else + { + var row = (item as IDataGridViewRow); + row.IsShowCheckBox = m_isShowCheckBox; + if (m_dataSource is DataTable) + { + row.DataSource = (m_dataSource as DataTable).Rows[intIndex]; + } + else + { + row.DataSource = (m_dataSource as IList)[intIndex]; + } + row.BindingCellData(); + if (row.RowHeight != m_rowHeight) + row.RowHeight = m_rowHeight; + item.Visible = true; + item.Width = panHead.Width; + + Rows.Add(row); + row.RowIndex = Rows.IndexOf(row); + } + intIndex++; + } + + if (intIndex < intSourceCount) + { + for (int i = intIndex; i < intSourceCount; i++) + { + IDataGridViewRow row = (IDataGridViewRow)Activator.CreateInstance(m_rowType); + if (m_dataSource is DataTable) + { + row.DataSource = (m_dataSource as DataTable).Rows[i]; + } + else + { + row.DataSource = (m_dataSource as IList)[i]; + } + row.Columns = m_columns; + List lstCells = new List(); + row.IsShowCheckBox = m_isShowCheckBox; + row.ReloadCells(); + row.BindingCellData(); + + Control rowControl = (row as Control); + rowControl.Width = panHead.Width; + row.RowHeight = m_rowHeight; + row.CellClick += (a, b) => { this.FindForm().ActiveControl = this; rowControl.Focus(); SetSelectRow(rowControl, b); }; + row.CheckBoxChangeEvent += (a, b) => { SetSelectRow(rowControl, b); }; + row.RowCustomEvent += (a, b) => { if (RowCustomEvent != null) { RowCustomEvent(a, b); } }; + row.SourceChanged += RowSourceChanged; + Rows.Add(row); + row.RowIndex = Rows.IndexOf(row); + this.panRow.Controls.Add(rowControl); + + } + } + + //this.panRow.Height = intSourceCount * RowHeight; + } + else + { + foreach (Control item in this.panRow.Controls) + { + item.Visible = false; + } + } + } + finally + { + ControlHelper.FreezeControl(this, false); + } + } + + /// + /// 快捷键 + /// + /// 通过引用传递的 ,它表示要处理的窗口消息。 + /// 值之一,它表示要处理的键。 + /// 如果字符已由控件处理,则为 true;否则为 false。 + protected override bool ProcessCmdKey(ref Message msg, Keys keyData) + { + if (keyData == Keys.Up) + { + Previous(); + } + else if (keyData == Keys.Down) + { + Next(); + } + else if (keyData == Keys.Home) + { + First(); + } + else if (keyData == Keys.End) + { + End(); + } + return base.ProcessCmdKey(ref msg, keyData); + } + /// + /// 选中第一个 + /// + public void First() + { + if (Rows == null || Rows.Count <= 0) + return; + Control c = null; + c = (Rows[0] as Control); + SetSelectRow(c, new DataGridViewEventArgs() { RowIndex = 0 }); + } + /// + /// 选中上一个 + /// + public void Previous() + { + if (Rows == null || Rows.Count <= 0) + return; + Control c = null; + + int index = Rows.IndexOf(m_selectRow); + if (index - 1 >= 0) + { + c = (Rows[index - 1] as Control); + SetSelectRow(c, new DataGridViewEventArgs() { RowIndex = index - 1 }); + } + } + /// + /// 选中下一个 + /// + public void Next() + { + if (Rows == null || Rows.Count <= 0) + return; + Control c = null; + + int index = Rows.IndexOf(m_selectRow); + if (index + 1 < Rows.Count) + { + c = (Rows[index + 1] as Control); + SetSelectRow(c, new DataGridViewEventArgs() { RowIndex = index + 1 }); + } + } + /// + /// 选中最后一个 + /// + public void End() + { + if (Rows == null || Rows.Count <= 0) + return; + Control c = null; + c = (Rows[Rows.Count - 1] as Control); + SetSelectRow(c, new DataGridViewEventArgs() { RowIndex = Rows.Count - 1 }); + } + + #endregion + + #region 事件 + /// + /// Rows the source changed. + /// + /// The sender. + /// The instance containing the event data. + void RowSourceChanged(object sender, DataGridViewEventArgs e) + { + if (RowSourceChangedEvent != null) + RowSourceChangedEvent(sender, e); + } + /// + /// Sets the select row. + /// + /// The item. + /// The instance containing the event data. + private void SetSelectRow(Control item, DataGridViewEventArgs e) + { + try + { + ControlHelper.FreezeControl(this, true); + if (item == null) + return; + if (item.Visible == false) + return; + this.FindForm().ActiveControl = this; + this.FindForm().ActiveControl = item; + if (m_selectRow != item) + { + if (m_selectRow != null) + { + m_selectRow.SetSelect(false); + } + m_selectRow = item as IDataGridViewRow; + m_selectRow.SetSelect(true); + + if (this.panRow.Controls.Count > 0) + { + if (item.Location.Y < 0) + { + this.panRow.AutoScrollPosition = new Point(0, Math.Abs(this.panRow.Controls[this.panRow.Controls.Count - 1].Location.Y) + item.Location.Y); + } + else if (item.Location.Y + m_rowHeight > this.panRow.Height) + { + this.panRow.AutoScrollPosition = new Point(0, Math.Abs(this.panRow.AutoScrollPosition.Y) + item.Location.Y - this.panRow.Height + m_rowHeight); + } + } + } + + + if (ItemClick != null) + { + ItemClick(item, e); + } + } + finally + { + ControlHelper.FreezeControl(this, false); + } + } + + #endregion + + private void UCDataGridView_SizeChanged(object sender, EventArgs e) + { + //LoadColumns(); + //ReloadSource(); + } + + private void UCDataGridView_Scroll(object sender, ScrollEventArgs e) + { + //if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) + //{ + // panHead.Location = new Point(0, this.VerticalScroll.Value + this.panRow.Location.Y - panHead.Height - 2); + //} + } + + private void panRow_Scroll(object sender, ScrollEventArgs e) + { + if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll && this.panRow.Controls.Count > 0) + { + Console.WriteLine(this.panRow.HorizontalScroll.Value); + Console.WriteLine(this.panRow.Controls[0].Location.X); + panHead.Location = new Point(this.panRow.HorizontalScroll.Value * -1, 0); + } + } + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridView.resx b/JinYuan.ControlLib/DataGridView/UCDataGridView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridView.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.Designer.cs b/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.Designer.cs new file mode 100644 index 0000000..12646a7 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.Designer.cs @@ -0,0 +1,102 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class UCDataGridViewRow. + /// Implements the + /// + /// + partial class UCDataGridViewRow + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.ucSplitLine_H1 = new JinYuan.ControlLib.UCSplitLine_H(); + this.panCells = new System.Windows.Forms.TableLayoutPanel(); + this.SuspendLayout(); + // + // ucSplitLine_H1 + // + this.ucSplitLine_H1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232))))); + this.ucSplitLine_H1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.ucSplitLine_H1.Location = new System.Drawing.Point(0, 55); + this.ucSplitLine_H1.Name = "ucSplitLine_H1"; + this.ucSplitLine_H1.Size = new System.Drawing.Size(661, 1); + this.ucSplitLine_H1.TabIndex = 0; + this.ucSplitLine_H1.TabStop = false; + // + // panCells + // + this.panCells.ColumnCount = 1; + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.panCells.Dock = System.Windows.Forms.DockStyle.Fill; + this.panCells.Location = new System.Drawing.Point(0, 0); + this.panCells.Name = "panCells"; + this.panCells.RowCount = 1; + this.panCells.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.panCells.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.panCells.Size = new System.Drawing.Size(661, 55); + this.panCells.TabIndex = 1; + // + // UCDataGridViewItem + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.Controls.Add(this.panCells); + this.Controls.Add(this.ucSplitLine_H1); + this.Name = "UCDataGridViewItem"; + this.Size = new System.Drawing.Size(661, 56); + this.ResumeLayout(false); + + } + + #endregion + + /// + /// The uc split line h1 + /// + private UCSplitLine_H ucSplitLine_H1; + /// + /// The pan cells + /// + private System.Windows.Forms.TableLayoutPanel panCells; + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.cs b/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.cs new file mode 100644 index 0000000..a03fea8 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.cs @@ -0,0 +1,332 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-09-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using JinYuan.ControlLib.UCHelper; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCDataGridViewRow. + /// Implements the + /// Implements the + /// + /// + /// + [ToolboxItem(false)] + public partial class UCDataGridViewRow : UserControl, IDataGridViewRow + { + + #region 属性 + /// + /// CheckBox选中事件 + /// + public event DataGridViewEventHandler CheckBoxChangeEvent; + /// + /// Occurs when [row custom event]. + /// + public event DataGridViewRowCustomEventHandler RowCustomEvent; + /// + /// 点击单元格事件 + /// + public event DataGridViewEventHandler CellClick; + + /// + /// 数据源改变事件 + /// + public event DataGridViewEventHandler SourceChanged; + + /// + /// 列参数,用于创建列数和宽度 + /// + /// The columns. + public List Columns + { + get; + set; + } + + /// + /// 数据源 + /// + /// The data source. + public object DataSource + { + get; + set; + } + + /// + /// 行号 + /// + /// The Index of the row. + public int RowIndex { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is show CheckBox. + /// + /// true if this instance is show CheckBox; otherwise, false. + public bool IsShowCheckBox + { + get; + set; + } + /// + /// The m is checked + /// + private bool m_isChecked; + /// + /// 是否选中 + /// + /// true if this instance is checked; otherwise, false. + public bool IsChecked + { + get + { + return m_isChecked; + } + + set + { + if (m_isChecked != value) + { + m_isChecked = value; + (this.panCells.Controls.Find("check", false)[0] as UCCheckBox).Checked = value; + } + } + } + /// + /// The m row height + /// + int m_rowHeight = 40; + /// + /// 行高 + /// + /// The height of the row. + public int RowHeight + { + get + { + return m_rowHeight; + } + set + { + m_rowHeight = value; + this.Height = value; + } + } + + #endregion + + /// + /// Initializes a new instance of the class. + /// + public UCDataGridViewRow() + { + InitializeComponent(); + } + + /// + /// 绑定数据到Cell + /// + /// 返回true则表示已处理过,否则将进行默认绑定(通常只针对有Text值的控件) + public void BindingCellData() + { + if (DataSource != null) + { + for (int i = 0; i < Columns.Count; i++) + { + DataGridViewColumnEntity com = Columns[i]; + var cs = this.panCells.Controls.Find("lbl_" + com.DataField, false); + if (cs != null && cs.Length > 0) + { + if (DataSource is DataRow) + { + DataRow row = DataSource as DataRow; + if (com.Format != null) + { + cs[0].Text = com.Format(row[com.DataField]); + } + else + { + cs[0].Text = row[com.DataField].ToStringExt(); + } + } + else + { + var pro = DataSource.GetType().GetProperty(com.DataField); + + if (pro != null) + { + var value = pro.GetValue(DataSource, null); + if (com.Format != null) + { + cs[0].Text = com.Format(value); + } + else + { + cs[0].Text = value.ToStringExt(); + } + } + } + } + } + } + foreach (Control item in this.panCells.Controls) + { + if (item is IDataGridViewCustomCell) + { + IDataGridViewCustomCell cell = item as IDataGridViewCustomCell; + cell.RowCustomEvent += cell_RowCustomEvent; + cell.SetBindSource(DataSource); + } + } + } + + void cell_RowCustomEvent(object sender, DataGridViewRowCustomEventArgs e) + { + if (RowCustomEvent != null) + { + RowCustomEvent(sender, e); + } + } + + /// + /// Handles the MouseDown event of the Item control. + /// + /// The source of the event. + /// The instance containing the event data. + void Item_MouseDown(object sender, MouseEventArgs e) + { + if (CellClick != null) + { + CellClick(this, new DataGridViewEventArgs() + { + CellControl = this, + CellIndex = (sender as Control).Tag.ToInt(), + RowIndex = this.RowIndex + }); + } + } + + /// + /// 设置选中状态,通常为设置颜色即可 + /// + /// 是否选中 + public void SetSelect(bool blnSelected) + { + if (blnSelected) + { + this.BackColor = Color.FromArgb(255, 247, 245); + } + else + { + this.BackColor = Color.Transparent; + } + } + + /// + /// Reloads the cells. + /// + public void ReloadCells() + { + try + { + ControlHelper.FreezeControl(this, true); + this.panCells.Controls.Clear(); + this.panCells.ColumnStyles.Clear(); + + int intColumnsCount = Columns.Count(); + if (Columns != null && intColumnsCount > 0) + { + if (IsShowCheckBox) + { + intColumnsCount++; + } + this.panCells.ColumnCount = intColumnsCount; + for (int i = 0; i < intColumnsCount; i++) + { + Control c = null; + if (i == 0 && IsShowCheckBox) + { + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(SizeType.Absolute, 30F)); + + UCCheckBox box = new UCCheckBox(); + box.Name = "check"; + box.TextValue = ""; + box.Size = new Size(30, 30); + box.Dock = DockStyle.Fill; + box.CheckedChangeEvent += (a, b) => + { + IsChecked = box.Checked; + if (CheckBoxChangeEvent != null) + { + CheckBoxChangeEvent(a, new DataGridViewEventArgs() + { + RowIndex = this.RowIndex, + CellControl = box, + CellIndex = 0 + }); + } + }; + c = box; + } + else + { + var item = Columns[i - (IsShowCheckBox ? 1 : 0)]; + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(item.WidthType, item.Width)); + + if (item.CustomCellType == null) + { + Label lbl = new Label(); + lbl.Tag = i - (IsShowCheckBox ? 1 : 0); + lbl.Name = "lbl_" + item.DataField; + lbl.Font = new Font("微软雅黑", 12); + lbl.ForeColor = Color.Black; + lbl.AutoSize = false; + lbl.Dock = DockStyle.Fill; + lbl.TextAlign = item.TextAlign; + lbl.MouseDown += (a, b) => + { + Item_MouseDown(a, b); + }; + c = lbl; + } + else + { + Control cc = (Control)Activator.CreateInstance(item.CustomCellType); + cc.Dock = DockStyle.Fill; + c = cc; + } + } + this.panCells.Controls.Add(c, i, 0); + } + + } + } + finally + { + ControlHelper.FreezeControl(this, false); + } + } + + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.resx b/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridViewRow.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.Designer.cs b/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.Designer.cs new file mode 100644 index 0000000..68b4c86 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.Designer.cs @@ -0,0 +1,149 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-23-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class UCDataGridViewTreeRow. + /// Implements the + /// + /// + partial class UCDataGridViewTreeRow + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.panCells = new System.Windows.Forms.TableLayoutPanel(); + this.panLeft = new System.Windows.Forms.Panel(); + this.panMain = new System.Windows.Forms.Panel(); + this.ucSplitLine_H1 = new JinYuan.ControlLib.UCSplitLine_H(); + this.ucSplitLine_V1 = new JinYuan.ControlLib.UCSplitLine_V(); + this.panMain.SuspendLayout(); + this.SuspendLayout(); + // + // panCells + // + this.panCells.ColumnCount = 1; + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.panCells.Dock = System.Windows.Forms.DockStyle.Fill; + this.panCells.Location = new System.Drawing.Point(24, 0); + this.panCells.Name = "panCells"; + this.panCells.RowCount = 1; + this.panCells.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.panCells.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 55F)); + this.panCells.Size = new System.Drawing.Size(636, 64); + this.panCells.TabIndex = 2; + // + // panLeft + // + this.panLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.panLeft.Dock = System.Windows.Forms.DockStyle.Left; + this.panLeft.Location = new System.Drawing.Point(0, 0); + this.panLeft.Name = "panLeft"; + this.panLeft.Size = new System.Drawing.Size(24, 64); + this.panLeft.TabIndex = 0; + this.panLeft.Tag = "0"; + this.panLeft.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panLeft_MouseDown); + // + // panMain + // + this.panMain.Controls.Add(this.panCells); + this.panMain.Controls.Add(this.panLeft); + this.panMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.panMain.Location = new System.Drawing.Point(1, 0); + this.panMain.Name = "panMain"; + this.panMain.Size = new System.Drawing.Size(660, 64); + this.panMain.TabIndex = 0; + // + // ucSplitLine_H1 + // + this.ucSplitLine_H1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232))))); + this.ucSplitLine_H1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.ucSplitLine_H1.Location = new System.Drawing.Point(1, 64); + this.ucSplitLine_H1.Name = "ucSplitLine_H1"; + this.ucSplitLine_H1.Size = new System.Drawing.Size(660, 1); + this.ucSplitLine_H1.TabIndex = 1; + this.ucSplitLine_H1.TabStop = false; + // + // ucSplitLine_V1 + // + this.ucSplitLine_V1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232))))); + this.ucSplitLine_V1.Dock = System.Windows.Forms.DockStyle.Left; + this.ucSplitLine_V1.Location = new System.Drawing.Point(0, 0); + this.ucSplitLine_V1.Name = "ucSplitLine_V1"; + this.ucSplitLine_V1.Size = new System.Drawing.Size(1, 65); + this.ucSplitLine_V1.TabIndex = 0; + this.ucSplitLine_V1.TabStop = false; + this.ucSplitLine_V1.Visible = false; + // + // UCDataGridViewTreeRow + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.Controls.Add(this.panMain); + this.Controls.Add(this.ucSplitLine_H1); + this.Controls.Add(this.ucSplitLine_V1); + this.Name = "UCDataGridViewTreeRow"; + this.Size = new System.Drawing.Size(661, 65); + this.panMain.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + /// + /// The pan cells + /// + private System.Windows.Forms.TableLayoutPanel panCells; + /// + /// The uc split line h1 + /// + private UCSplitLine_H ucSplitLine_H1; + /// + /// The pan left + /// + private System.Windows.Forms.Panel panLeft; + /// + /// The pan main + /// + private System.Windows.Forms.Panel panMain; + private UCSplitLine_V ucSplitLine_V1; + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.cs b/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.cs new file mode 100644 index 0000000..8b77ef1 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.cs @@ -0,0 +1,475 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-23-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using JinYuan.ControlLib.UCHelper; +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCDataGridViewTreeRow. + /// Implements the + /// Implements the + /// + /// + /// + [ToolboxItem(false)] + public partial class UCDataGridViewTreeRow : UserControl, IDataGridViewRow + { + #region 属性 + /// + /// CheckBox选中事件 + /// + public event DataGridViewEventHandler CheckBoxChangeEvent; + + /// + /// 点击单元格事件 + /// + public event DataGridViewEventHandler CellClick; + + /// + /// 数据源改变事件 + /// + public event DataGridViewEventHandler SourceChanged; + /// + /// Occurs when [row custom event]. + /// + public event DataGridViewRowCustomEventHandler RowCustomEvent; + /// + /// 列参数,用于创建列数和宽度 + /// + /// The columns. + public List Columns + { + get; + set; + } + + /// + /// 数据源 + /// + /// The data source. + public object DataSource + { + get; + set; + } + + private int rowLevel = 0; + /// + /// 折叠的第几层,用于缩进 + /// + public int RowLevel + { + get { return rowLevel; } + set + { + rowLevel = value; + this.Padding = new Padding(this.panLeft.Width / 2 * value, this.Padding.Top, this.panLeft.Right, this.Padding.Bottom); + this.ucSplitLine_V1.Visible = value > 0; + } + } + + /// + /// 行号,树状图目前没有给予行号 + /// + /// The Index of the row. + public int RowIndex { get; set; } + + /// + /// Gets or sets a value indicating whether this instance is show CheckBox. + /// + /// true if this instance is show CheckBox; otherwise, false. + public bool IsShowCheckBox + { + get; + set; + } + /// + /// The m is checked + /// + private bool m_isChecked; + /// + /// 是否选中 + /// + /// true if this instance is checked; otherwise, false. + public bool IsChecked + { + get + { + return m_isChecked; + } + + set + { + if (m_isChecked != value) + { + m_isChecked = value; + (this.panCells.Controls.Find("check", false)[0] as UCCheckBox).Checked = value; + } + } + } + + /// + /// The m row height + /// + int m_rowHeight = 40; + /// + /// 行高 + /// + /// The height of the row. + public int RowHeight + { + get + { + return m_rowHeight; + } + set + { + m_rowHeight = value; + this.Height = value; + } + } + private List childrenRows = new List(); + + public List ChildrenRows + { + get { return childrenRows; } + set { childrenRows = value; } + } + private bool? isOpened = false; + /// + /// 是否打开状态 + /// + public bool? IsOpened + { + get { return isOpened; } + set + { + isOpened = value; + if (value.HasValue) + { + panLeft.Enabled = true; + if (value.Value) + { + panLeft.BackgroundImage = Properties.Resources.caret_down; + } + else + { + panLeft.BackgroundImage = Properties.Resources.caret_right; + } + } + else + { + panLeft.BackgroundImage = null; + panLeft.Enabled = false; + } + } + } + #endregion + + /// + /// Initializes a new instance of the class. + /// + public UCDataGridViewTreeRow() + { + InitializeComponent(); + } + + /// + /// 绑定数据到Cell + /// + public void BindingCellData() + { + for (int i = 0; i < Columns.Count; i++) + { + DataGridViewColumnEntity com = Columns[i]; + var cs = this.panCells.Controls.Find("lbl_" + com.DataField, false); + if (cs != null && cs.Length > 0) + { + var pro = DataSource.GetType().GetProperty(com.DataField); + if (pro != null) + { + var value = pro.GetValue(DataSource, null); + if (com.Format != null) + { + cs[0].Text = com.Format(value); + } + else + { + cs[0].Text = value.ToStringExt(); + } + } + } + } + foreach (Control item in this.panCells.Controls) + { + if (item is IDataGridViewCustomCell) + { + IDataGridViewCustomCell cell = item as IDataGridViewCustomCell; + cell.RowCustomEvent += cell_RowCustomEvent; + cell.SetBindSource(DataSource); + } + } + IsOpened = false; + var proChildrens = DataSource.GetType().GetProperty("Childrens"); + if (proChildrens != null) + { + var value = proChildrens.GetValue(DataSource, null); + if (value != null) + { + } + else + { + IsOpened = null; + } + } + else + { + IsOpened = null; + } + } + + void cell_RowCustomEvent(object sender, DataGridViewRowCustomEventArgs e) + { + if (RowCustomEvent != null) + RowCustomEvent(sender, e); + } + + /// + /// Handles the MouseDown event of the Item control. + /// + /// The source of the event. + /// The instance containing the event data. + void Item_MouseDown(object sender, MouseEventArgs e) + { + if (CellClick != null) + { + CellClick(this, new DataGridViewEventArgs() + { + CellControl = this, + CellIndex = (sender as Control).Tag.ToInt() + }); + } + } + + /// + /// 设置选中状态,通常为设置颜色即可 + /// + /// 是否选中 + public void SetSelect(bool blnSelected) + { + if (blnSelected) + { + this.panMain.BackColor = Color.FromArgb(255, 247, 245); + } + else + { + this.panMain.BackColor = Color.Transparent; + } + } + + /// + /// 添加单元格元素,仅做添加控件操作,不做数据绑定,数据绑定使用BindingCells + /// + public void ReloadCells() + { + try + { + ControlHelper.FreezeControl(this, true); + this.panCells.Controls.Clear(); + this.panCells.ColumnStyles.Clear(); + + int intColumnsCount = Columns.Count(); + if (Columns != null && intColumnsCount > 0) + { + if (IsShowCheckBox) + { + intColumnsCount++; + } + this.panCells.ColumnCount = intColumnsCount; + bool blnFirst = true; + for (int i = 0; i < intColumnsCount; i++) + { + Control c = null; + if (i == 0 && IsShowCheckBox) + { + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(SizeType.Absolute, 30F)); + + UCCheckBox box = new UCCheckBox(); + box.Name = "check"; + box.TextValue = ""; + box.Size = new Size(30, 30); + box.Dock = DockStyle.Fill; + box.CheckedChangeEvent += box_CheckedChangeEvent; + c = box; + } + else + { + var item = Columns[i - (IsShowCheckBox ? 1 : 0)]; + var w = item.Width - (blnFirst ? (this.panLeft.Width / 2 * rowLevel) : 0); + if (w < 5) + w = 5; + this.panCells.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(item.WidthType, w)); + blnFirst = false; + if (item.CustomCellType == null) + { + Label lbl = new Label(); + lbl.Tag = i - (IsShowCheckBox ? 1 : 0); + lbl.Name = "lbl_" + item.DataField; + lbl.Font = new Font("微软雅黑", 12); + lbl.ForeColor = Color.Black; + lbl.AutoSize = false; + lbl.Dock = DockStyle.Fill; + lbl.TextAlign = item.TextAlign; + lbl.MouseDown += (a, b) => + { + Item_MouseDown(a, b); + }; + c = lbl; + } + else + { + Control cc = (Control)Activator.CreateInstance(item.CustomCellType); + cc.Dock = DockStyle.Fill; + c = cc; + } + } + this.panCells.Controls.Add(c, i, 0); + } + + } + } + finally + { + ControlHelper.FreezeControl(this, false); + } + } + + void box_CheckedChangeEvent(object sender, EventArgs e) + { + IsChecked = ((UCCheckBox)sender).Checked; + } + + + + /// + /// Handles the MouseDown event of the panLeft control. + /// + /// The source of the event. + /// The instance containing the event data. + private void panLeft_MouseDown(object sender, MouseEventArgs e) + { + try + { + if (!IsOpened.HasValue) + return; + ControlHelper.FreezeControl(this.FindForm(), true); + if (!IsOpened.Value) + { + + IsOpened = !IsOpened; + if (childrenRows.Count > 0) + { + childrenRows.ForEach(p => + { + p.IsChecked = IsChecked; + p.Visible = true; + }); + } + else + { + var proChildrens = DataSource.GetType().GetProperty("Childrens"); + if (proChildrens != null) + { + var value = proChildrens.GetValue(DataSource, null); + int intSourceCount = 0; + if (value is DataTable) + { + intSourceCount = (value as DataTable).Rows.Count; + } + else if (typeof(IList).IsAssignableFrom(value.GetType())) + { + intSourceCount = (value as IList).Count; + } + for (int i = intSourceCount - 1; i >= 0; i--) + { + UCDataGridViewTreeRow row = new UCDataGridViewTreeRow(); + if (value is DataTable) + { + row.DataSource = (value as DataTable).Rows[i]; + } + else + { + row.DataSource = (value as IList)[i]; + } + row.RowLevel = RowLevel + 1; + row.Columns = Columns; + row.IsShowCheckBox = IsShowCheckBox; + row.ReloadCells(); + row.BindingCellData(); + + Control rowControl = (row as Control); + row.RowHeight = m_rowHeight; + rowControl.Width = this.Width; + //rowControl.Dock = DockStyle.Top; + row.CellClick += (a, b) => { CellClick(rowControl, b); }; + row.CheckBoxChangeEvent += (a, b) => { CheckBoxChangeEvent(rowControl, b); }; + row.RowCustomEvent += (a, b) => { if (RowCustomEvent != null) { RowCustomEvent(a, b); } }; + row.SourceChanged += SourceChanged; + ChildrenRows.Add(row); + row.RowIndex = ChildrenRows.IndexOf(row); + + this.Parent.Controls.Add(rowControl); + var index = this.Parent.Controls.GetChildIndex(this); + this.Parent.Controls.SetChildIndex(row, index + 1); + + } + } + } + } + else + { + HideChildrenRows(this); + this.Height = m_rowHeight; + } + } + finally + { + ControlHelper.FreezeControl(this.FindForm(), false); + } + } + + private void HideChildrenRows(UCDataGridViewTreeRow row) + { + if (row.ChildrenRows.Count > 0) + { + foreach (var item in row.ChildrenRows) + { + HideChildrenRows(item); + item.Hide(); + } + row.IsOpened = false; + } + } + } +} diff --git a/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.resx b/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/DataGridView/UCDataGridViewTreeRow.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/DialPlate.Designer.cs b/JinYuan.ControlLib/DialPlate.Designer.cs new file mode 100644 index 0000000..7ba3d27 --- /dev/null +++ b/JinYuan.ControlLib/DialPlate.Designer.cs @@ -0,0 +1,48 @@ +namespace JinYuan.ControlLib +{ + partial class DialPlate + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // DialPlate + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(28)))), ((int)(((byte)(68))))); + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "DialPlate"; + this.Size = new System.Drawing.Size(329, 202); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/DialPlate.cs b/JinYuan.ControlLib/DialPlate.cs new file mode 100644 index 0000000..21bff0c --- /dev/null +++ b/JinYuan.ControlLib/DialPlate.cs @@ -0,0 +1,341 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class DialPlate : UserControl + { + public DialPlate() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + stringFormat.Alignment = StringAlignment.Center; + stringFormat.LineAlignment = StringAlignment.Center; + } + + private StringFormat stringFormat = new StringFormat(); + + #region 外环设计 + private Color alarmColor = Color.FromArgb(36, 184, 196); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取报警颜色")] + public Color AlarmColor + { + get { return alarmColor; } + set + { + alarmColor = value; + this.Invalidate(); + } + } + + private Color rightColor = Color.FromArgb(187, 187, 187); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取圆环整体颜色")] + public Color RightColor + { + get { return rightColor; } + set + { + rightColor = value; + this.Invalidate(); + } + } + + + private float alarmAngle = 120.0f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取报警角度")] + public float AlarmAngle + { + get { return alarmAngle; } + set + { + alarmAngle = value; + this.Invalidate(); + } + } + + private int outThickness = 8; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取外环宽度")] + public int OutThickness + { + get { return outThickness; } + set + { + outThickness = value; + this.Invalidate(); + } + } + #endregion + + #region 内环设计 + private float tempScale = 0.8f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取温度环比列,默认小于1.0f")] + public float TempScale + { + get { return tempScale; } + set + { + if (value > 1.0f) return; + tempScale = value; + this.Invalidate(); + } + } + + private Color tempColor = Color.FromArgb(36, 184, 196); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取温度环颜色")] + public Color TempColor + { + get { return tempColor; } + set + { + tempColor = value; + this.Invalidate(); + } + } + + + private float humidityScale = 0.4f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取湿度环比列,默认小于1.0f")] + public float HumidityScale + { + get { return humidityScale; } + set + { + if (value > 1.0f) return; + humidityScale = value; + this.Invalidate(); + } + } + + private Color humidityColor = Color.FromArgb(36, 184, 196); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取湿度环颜色")] + public Color HumidityColor + { + get { return humidityColor; } + set + { + humidityColor = value; + this.Invalidate(); + } + } + + private int inThickness = 16; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取内环宽度")] + public int InThickness + { + get { return inThickness; } + set + { + inThickness = value; + this.Invalidate(); + } + } + #endregion + + #region 刻度环设计 + private float textScale = 0.6f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取刻度环比列,默认小于1.0f")] + public float MyProperty + { + get { return textScale; } + set + { + if (value > 1.0f) return; + textScale = value; + this.Invalidate(); + } + } + + private float rangeMin = 0.0f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取刻度量程低限")] + public float RangeMin + { + get { return rangeMin; } + set + { + if (value > rangeMax) return; + rangeMin = value; + this.Invalidate(); + } + } + + private float rangeMax = 90.0f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取刻度量程高限")] + public float RangeMax + { + get { return rangeMax; } + set + { + if (value < rangeMin) return; + rangeMax = value; + this.Invalidate(); + } + } + + #endregion + + #region 实时显示 + private float temp = 10.0f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取温度实时值")] + public float Temp + { + get { return temp; } + set + { + if (value < rangeMin) + value = rangeMin; + if (value > rangeMax) + value = rangeMax; + temp = value; + this.Invalidate(); + } + } + + private float humidity = 10.0f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取湿度实时值")] + public float Humidity + { + get { return humidity; } + set + { + if (value < rangeMin) + value = rangeMin; + if (value > rangeMax) + value = rangeMax; + humidity = value; + this.Invalidate(); + } + } + #endregion + + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + //获取画布并设置 + Graphics g = e.Graphics; + g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + + //异常情况处理 + if (this.Width <= 20 || this.Height <= 20) return; + + if (this.Height < this.Width / 2) return; + + //画外环 + Pen pen = new Pen(alarmColor, OutThickness); + + g.DrawArc(pen, new RectangleF(10, 10, this.Width - 20, this.Width - 20), 180, alarmAngle); + + pen = new Pen(rightColor, OutThickness); + + g.DrawArc(pen, new RectangleF(10, 10, this.Width - 20, this.Width - 20), 180 + alarmAngle, 180 - alarmAngle); + + //转移坐标系 + g.TranslateTransform(this.Width * 0.5f, this.Width * 0.5f); + + //旋转坐标系 + g.RotateTransform(-90); + + SolidBrush solidBrush; + for (int i = 0; i < 7; i++) + { + if (30 * i <= alarmAngle) + { + solidBrush = new SolidBrush(alarmColor); + } + else + { + solidBrush = new SolidBrush(rightColor); + } + float x = -0.3f; + float width = 6.0f; + float height = outThickness + 4; + float y = (this.Width * 0.5f - 10 + height * 0.5f) * (-1.0f); + g.FillRectangle(solidBrush, new RectangleF(x, y, width, height)); + + g.RotateTransform(30); + } + + //坐标系旋转回去 + g.RotateTransform(-210); + g.RotateTransform(90); + + ////绘制刻度 + float rangeAvg = ((rangeMax - rangeMin) % 6 == 0) ? Convert.ToSingle((rangeMax - rangeMin) / 6) : Convert.ToSingle(((rangeMax - rangeMin) / 6).ToString("f1")); + + for (int i = 0; i < 7; i++) + { + float angle = -180.0f + i * 30.0f; + + float pointX = Convert.ToSingle(this.Width * textScale * 0.5f * Math.Cos(angle * Math.PI / 180.0f)); + float pointY = Convert.ToSingle(this.Width * textScale * 0.5f * Math.Sin(angle * Math.PI / 180.0f)); + + string text = (rangeMin + rangeAvg * i).ToString(); + + SizeF size = g.MeasureString(text, this.Font); + + RectangleF rectangle = new RectangleF(pointX - size.Width * 0.5f, pointY, size.Width, size.Height); + + g.DrawString(text, this.Font, new SolidBrush(this.ForeColor), rectangle, stringFormat); + } + + ////绘制实际温度湿度环 + //pen = new Pen(tempColor, inThickness); + + //float sweepAngle = (temp - rangeMin) / (rangeMax - rangeMin) * 180.0f; + + //float xx = this.Width * tempScale * 0.5f * (-1.0f); + //float yy = this.Width * tempScale * 0.5f * (-1.0f); + + //g.DrawArc(pen, new RectangleF(xx, yy, this.Width * tempScale, this.Width * tempScale), 180.0f, sweepAngle); + + + //pen = new Pen(humidityColor, inThickness); + + //sweepAngle = (humidity - rangeMin) / (rangeMax - rangeMin) * 180.0f; + + //xx = this.Width * humidityScale * 0.5f * (-1.0f); + //yy = this.Width * humidityScale * 0.5f * (-1.0f); + + //g.DrawArc(pen, new RectangleF(xx, yy, this.Width * humidityScale, this.Width * humidityScale), 180.0f, sweepAngle); + } + } +} diff --git a/JinYuan.ControlLib/DialPlate.resx b/JinYuan.ControlLib/DialPlate.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/DialPlate.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/FanShapedSchedule.Designer.cs b/JinYuan.ControlLib/FanShapedSchedule.Designer.cs new file mode 100644 index 0000000..bbbee55 --- /dev/null +++ b/JinYuan.ControlLib/FanShapedSchedule.Designer.cs @@ -0,0 +1,37 @@ +namespace JinYuan.ControlLib +{ + partial class FanShapedSchedule + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/FanShapedSchedule.cs b/JinYuan.ControlLib/FanShapedSchedule.cs new file mode 100644 index 0000000..842e737 --- /dev/null +++ b/JinYuan.ControlLib/FanShapedSchedule.cs @@ -0,0 +1,88 @@ +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class FanShapedSchedule : UserControl + { + public FanShapedSchedule() + { + InitializeComponent(); + } + + + //最大值 + private float maxValue = 100; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置最大值")] + public float MaxValue + { + get { return maxValue; } + set + { + maxValue = value; + this.Invalidate(); + } + } + + //实际值 + private float actureValue = 60; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置实际值")] + public float ActureValue + { + get { return actureValue; } + set + { + actureValue = value; + this.Invalidate(); + } + } + + //文字显示值 + private float PercentVal = 0; + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + // 获取画布 + Graphics graphics = e.Graphics; + + //消除锯齿 + graphics.SmoothingMode = SmoothingMode.AntiAlias; + //文字显示效果 + graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + //插补模式 + graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + //图片呈现质量 + graphics.CompositingQuality = CompositingQuality.HighQuality; + + + // 绘制底圆 + SolidBrush brush1 = new SolidBrush(Color.FromArgb(93, 107, 153)); + Rectangle rectangle1 = new Rectangle(1, 1, this.Width - 2, this.Height - 2); + graphics.FillEllipse(brush1, rectangle1); + + //绘制扇形 + Rectangle rectangle2 = new Rectangle(1, 1, this.Width - 2, this.Height - 2); + LinearGradientBrush brush2 = new LinearGradientBrush(rectangle2, Color.Blue, Color.Red, 150.0f, true); + this.PercentVal = (ActureValue / MaxValue) * 100; + graphics.FillPie(brush2, rectangle2, -90, (ActureValue / MaxValue) * 360f); + + //绘制上圆 + SolidBrush solidBrushElipse = new SolidBrush(this.BackColor); + Rectangle rectangle3 = new Rectangle(15, 15, this.Width - 30, this.Height - 30); + graphics.FillEllipse(solidBrushElipse, rectangle3); + + //绘制文字 + Font font = new Font("微软雅黑", 15); + PointF point = new PointF(((float)this.Width) / 2.0f - 27, ((float)this.Height) / 2.0f - 10); + graphics.DrawString(this.PercentVal.ToString("0.0") + "%", font, Brushes.Coral, point); + } + } +} diff --git a/JinYuan.ControlLib/FlatComboBox.Designer.cs b/JinYuan.ControlLib/FlatComboBox.Designer.cs new file mode 100644 index 0000000..8fad653 --- /dev/null +++ b/JinYuan.ControlLib/FlatComboBox.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class FlatComboBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/FlatComboBox.cs b/JinYuan.ControlLib/FlatComboBox.cs new file mode 100644 index 0000000..7611b1d --- /dev/null +++ b/JinYuan.ControlLib/FlatComboBox.cs @@ -0,0 +1,171 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class FlatComboBox : ComboBox + { + private Color borderColor = Color.Gray; + [DefaultValue(typeof(Color), "Gray")] + public Color BorderColor + { + get { return borderColor; } + set + { + if (borderColor != value) + { + borderColor = value; + Invalidate(); + } + } + } + private Color buttonColor = Color.LightGray; + [DefaultValue(typeof(Color), "LightGray")] + public Color ButtonColor + { + get { return buttonColor; } + set + { + if (buttonColor != value) + { + buttonColor = value; + Invalidate(); + } + } + } + protected override void WndProc(ref Message m) + { + if (m.Msg == WM_PAINT && DropDownStyle != ComboBoxStyle.Simple) + { + var clientRect = ClientRectangle; + var dropDownButtonWidth = SystemInformation.HorizontalScrollBarArrowWidth; + var outerBorder = new Rectangle(clientRect.Location, + new Size(clientRect.Width - 1, clientRect.Height - 1)); + var innerBorder = new Rectangle(outerBorder.X + 1, outerBorder.Y + 1, + outerBorder.Width - dropDownButtonWidth - 2, outerBorder.Height - 2); + var innerInnerBorder = new Rectangle(innerBorder.X + 1, innerBorder.Y + 1, + innerBorder.Width - 2, innerBorder.Height - 2); + var dropDownRect = new Rectangle(innerBorder.Right + 1, innerBorder.Y, + dropDownButtonWidth, innerBorder.Height + 1); + if (RightToLeft == RightToLeft.Yes) + { + innerBorder.X = clientRect.Width - innerBorder.Right; + innerInnerBorder.X = clientRect.Width - innerInnerBorder.Right; + dropDownRect.X = clientRect.Width - dropDownRect.Right; + dropDownRect.Width += 1; + } + var innerBorderColor = Enabled ? BackColor : SystemColors.Control; + var outerBorderColor = Enabled ? BorderColor : SystemColors.ControlDark; + var buttonColor = Enabled ? ButtonColor : SystemColors.Control; + var middle = new Point(dropDownRect.Left + dropDownRect.Width / 2, + dropDownRect.Top + dropDownRect.Height / 2); + var arrow = new Point[] + { + new Point(middle.X - 3, middle.Y - 2), + new Point(middle.X + 4, middle.Y - 2), + new Point(middle.X, middle.Y + 2) + }; + var ps = new PAINTSTRUCT(); + bool shoulEndPaint = false; + IntPtr dc; + if (m.WParam == IntPtr.Zero) + { + dc = BeginPaint(Handle, ref ps); + m.WParam = dc; + shoulEndPaint = true; + } + else + { + dc = m.WParam; + } + var rgn = CreateRectRgn(innerInnerBorder.Left, innerInnerBorder.Top, + innerInnerBorder.Right, innerInnerBorder.Bottom); + SelectClipRgn(dc, rgn); + DefWndProc(ref m); + DeleteObject(rgn); + rgn = CreateRectRgn(clientRect.Left, clientRect.Top, + clientRect.Right, clientRect.Bottom); + SelectClipRgn(dc, rgn); + using (var g = Graphics.FromHdc(dc)) + { + using (var b = new SolidBrush(buttonColor)) + { + g.FillRectangle(b, dropDownRect); + } + using (var b = new SolidBrush(outerBorderColor)) + { + g.FillPolygon(b, arrow); + } + using (var p = new Pen(innerBorderColor)) + { + g.DrawRectangle(p, innerBorder); + g.DrawRectangle(p, innerInnerBorder); + } + using (var p = new Pen(outerBorderColor)) + { + g.DrawRectangle(p, outerBorder); + } + } + if (shoulEndPaint) + EndPaint(Handle, ref ps); + DeleteObject(rgn); + } + else + base.WndProc(ref m); + } + + private const int WM_PAINT = 0xF; + [StructLayout(LayoutKind.Sequential)] + public struct RECT + { + public int L, T, R, B; + } + [StructLayout(LayoutKind.Sequential)] + public struct PAINTSTRUCT + { + public IntPtr hdc; + public bool fErase; + public int rcPaint_left; + public int rcPaint_top; + public int rcPaint_right; + public int rcPaint_bottom; + public bool fRestore; + public bool fIncUpdate; + public int reserved1; + public int reserved2; + public int reserved3; + public int reserved4; + public int reserved5; + public int reserved6; + public int reserved7; + public int reserved8; + } + [DllImport("user32.dll")] + private static extern IntPtr BeginPaint(IntPtr hWnd, + [In, Out] ref PAINTSTRUCT lpPaint); + + [DllImport("user32.dll")] + private static extern bool EndPaint(IntPtr hWnd, ref PAINTSTRUCT lpPaint); + + [DllImport("gdi32.dll")] + public static extern int SelectClipRgn(IntPtr hDC, IntPtr hRgn); + + [DllImport("user32.dll")] + public static extern int GetUpdateRgn(IntPtr hwnd, IntPtr hrgn, bool fErase); + public enum RegionFlags + { + ERROR = 0, + NULLREGION = 1, + SIMPLEREGION = 2, + COMPLEXREGION = 3, + } + [DllImport("gdi32.dll")] + internal static extern bool DeleteObject(IntPtr hObject); + + [DllImport("gdi32.dll")] + private static extern IntPtr CreateRectRgn(int x1, int y1, int x2, int y2); + } +} diff --git a/JinYuan.ControlLib/Forms/FrmBase.Designer.cs b/JinYuan.ControlLib/Forms/FrmBase.Designer.cs new file mode 100644 index 0000000..dca7834 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmBase.Designer.cs @@ -0,0 +1,74 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib.Forms +{ + /// + /// Class FrmBase. + /// Implements the + /// + /// + partial class FrmBase + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBase)); + this.SuspendLayout(); + // + // FrmBase + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(247)))), ((int)(((byte)(247))))); + this.ClientSize = new System.Drawing.Size(331, 371); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(66)))), ((int)(((byte)(66))))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.Name = "FrmBase"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "FrmBase"; + this.Load += new System.EventHandler(this.FrmBase_Load); + this.ResumeLayout(false); + + } + + #endregion + } +} \ No newline at end of file diff --git a/JinYuan.ControlLib/Forms/FrmBase.cs b/JinYuan.ControlLib/Forms/FrmBase.cs new file mode 100644 index 0000000..5a23190 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmBase.cs @@ -0,0 +1,622 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using JinYuan.ControlLib.UCHelper; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.Forms +{ + /// + /// Class FrmBase. + /// Implements the + /// + /// + [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(System.ComponentModel.Design.IDesigner))] + public partial class FrmBase : Form + { + /// + /// Gets or sets the hot keys. + /// + /// The hot keys. + [Description("定义的热键列表"), Category("自定义")] + public Dictionary HotKeys { get; set; } + /// + /// Delegate HotKeyEventHandler + /// + /// The string hot key. + /// true if XXXX, false otherwise. + public delegate bool HotKeyEventHandler(string strHotKey); + /// + /// 热键事件 + /// + [Description("热键事件"), Category("自定义")] + public event HotKeyEventHandler HotKeyDown; + #region 字段属性 + + /// + /// 失去焦点关闭 + /// + bool _isLoseFocusClose = false; + /// + /// 是否重绘边框样式 + /// + private bool _redraw = false; + /// + /// 是否显示圆角 + /// + private bool _isShowRegion = false; + /// + /// 边圆角大小 + /// + private int _regionRadius = 10; + /// + /// 边框颜色 + /// + private Color _borderStyleColor; + /// + /// 边框宽度 + /// + private int _borderStyleSize; + /// + /// 边框样式 + /// + private ButtonBorderStyle _borderStyleType; + /// + /// 是否显示模态 + /// + private bool _isShowMaskDialog = false; + /// + /// 蒙版窗体 + /// + /// true if this instance is show mask dialog; otherwise, false. + [Description("是否显示蒙版窗体")] + public bool IsShowMaskDialog + { + get + { + return this._isShowMaskDialog; + } + set + { + this._isShowMaskDialog = value; + } + } + /// + /// 边框宽度 + /// + /// The size of the border style. + [Description("边框宽度")] + public int BorderStyleSize + { + get + { + return this._borderStyleSize; + } + set + { + this._borderStyleSize = value; + } + } + /// + /// 边框颜色 + /// + /// The color of the border style. + [Description("边框颜色")] + public Color BorderStyleColor + { + get + { + return this._borderStyleColor; + } + set + { + this._borderStyleColor = value; + } + } + /// + /// 边框样式 + /// + /// The type of the border style. + [Description("边框样式")] + public ButtonBorderStyle BorderStyleType + { + get + { + return this._borderStyleType; + } + set + { + this._borderStyleType = value; + } + } + /// + /// 边框圆角 + /// + /// The region radius. + [Description("边框圆角")] + public int RegionRadius + { + get + { + return this._regionRadius; + } + set + { + this._regionRadius = Math.Max(value, 1); + } + } + /// + /// 是否显示自定义绘制内容 + /// + /// true if this instance is show region; otherwise, false. + [Description("是否显示自定义绘制内容")] + public bool IsShowRegion + { + get + { + return this._isShowRegion; + } + set + { + this._isShowRegion = value; + } + } + /// + /// 是否显示重绘边框 + /// + /// true if redraw; otherwise, false. + [Description("是否显示重绘边框")] + public bool Redraw + { + get + { + return this._redraw; + } + set + { + this._redraw = value; + } + } + + /// + /// The is full size + /// + private bool _isFullSize = true; + /// + /// 是否全屏 + /// + /// true if this instance is full size; otherwise, false. + [Description("是否全屏")] + public virtual bool IsFullSize + { + get { return _isFullSize; } + set { _isFullSize = value; } + } + /// + /// 失去焦点自动关闭 + /// + /// true if this instance is lose focus close; otherwise, false. + [Description("失去焦点自动关闭")] + public bool IsLoseFocusClose + { + get + { + return this._isLoseFocusClose; + } + set + { + this._isLoseFocusClose = value; + } + } + #endregion + + /// + /// Gets a value indicating whether this instance is desing mode. + /// + /// true if this instance is desing mode; otherwise, false. + private bool IsDesingMode + { + get + { + bool ReturnFlag = false; + if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) + ReturnFlag = true; + else if (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv") + ReturnFlag = true; + return ReturnFlag; + } + } + + #region 初始化 + /// + /// Initializes a new instance of the class. + /// + public FrmBase() + { + InitializeComponent(); + base.SetStyle(ControlStyles.UserPaint, true); + base.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + base.SetStyle(ControlStyles.DoubleBuffer, true); + //base.HandleCreated += new EventHandler(this.FrmBase_HandleCreated); + //base.HandleDestroyed += new EventHandler(this.FrmBase_HandleDestroyed); + this.KeyDown += FrmBase_KeyDown; + this.FormClosing += FrmBase_FormClosing; + } + + /// + /// Handles the FormClosing event of the FrmBase control. + /// + /// The source of the event. + /// The instance containing the event data. + void FrmBase_FormClosing(object sender, FormClosingEventArgs e) + { + if (_isLoseFocusClose) + { + MouseHook.OnMouseActivity -= hook_OnMouseActivity; + } + } + + + /// + /// Handles the Load event of the FrmBase control. + /// + /// The source of the event. + /// The instance containing the event data. + private void FrmBase_Load(object sender, EventArgs e) + { + if (!IsDesingMode) + { + if (_isFullSize) + SetFullSize(); + } + if (_isLoseFocusClose) + { + MouseHook.OnMouseActivity += hook_OnMouseActivity; + } + } + + #endregion + + #region 方法区 + + + /// + /// Handles the OnMouseActivity event of the hook control. + /// + /// The source of the event. + /// The instance containing the event data. + void hook_OnMouseActivity(object sender, MouseEventArgs e) + { + try + { + if (this._isLoseFocusClose && e.Clicks > 0) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left || e.Button == System.Windows.Forms.MouseButtons.Right) + { + if (!this.IsDisposed) + { + if (!this.ClientRectangle.Contains(this.PointToClient(e.Location))) + { + base.Close(); + } + } + } + } + } + catch { } + } + + + /// + /// 全屏 + /// + public void SetFullSize() + { + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + } + /// + /// Does the escape. + /// + protected virtual void DoEsc() + { + base.Close(); + } + + /// + /// Does the enter. + /// + protected virtual void DoEnter() + { + } + + /// + /// 设置重绘区域 + /// + public void SetWindowRegion() + { + GraphicsPath path = new GraphicsPath(); + Rectangle rect = new Rectangle(-1, -1, base.Width + 1, base.Height); + path = this.GetRoundedRectPath(rect, this._regionRadius); + base.Region = new Region(path); + } + /// + /// 获取重绘区域 + /// + /// The rect. + /// The radius. + /// GraphicsPath. + private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius) + { + Rectangle rect2 = new Rectangle(rect.Location, new Size(radius, radius)); + GraphicsPath graphicsPath = new GraphicsPath(); + graphicsPath.AddArc(rect2, 180f, 90f); + rect2.X = rect.Right - radius; + graphicsPath.AddArc(rect2, 270f, 90f); + rect2.Y = rect.Bottom - radius; + rect2.Width += 1; + rect2.Height += 1; + graphicsPath.AddArc(rect2, 360f, 90f); + rect2.X = rect.Left; + graphicsPath.AddArc(rect2, 90f, 90f); + graphicsPath.CloseFigure(); + return graphicsPath; + } + + /// + /// 将窗体显示为具有指定所有者的模式对话框。 + /// + /// 任何实现 (表示将拥有模式对话框的顶级窗口)的对象。 + /// 值之一。 + /// + /// + /// + /// + /// + /// + /// + public new DialogResult ShowDialog(IWin32Window owner) + { + try + { + if (this._isShowMaskDialog && owner != null) + { + var frmOwner = (Control)owner; + FrmTransparent _frmTransparent = new FrmTransparent(); + _frmTransparent.Width = frmOwner.Width; + _frmTransparent.Height = frmOwner.Height; + Point location = frmOwner.PointToScreen(new Point(0, 0)); + _frmTransparent.Location = location; + _frmTransparent.frmchild = this; + _frmTransparent.IsShowMaskDialog = false; + return _frmTransparent.ShowDialog(owner); + } + else + { + return base.ShowDialog(owner); + } + } + catch (NullReferenceException) + { + return System.Windows.Forms.DialogResult.None; + } + } + + /// + /// 将窗体显示为模式对话框,并将当前活动窗口设置为它的所有者。 + /// + /// 值之一。 + /// + /// + /// + /// + /// + /// + /// + public new DialogResult ShowDialog() + { + return base.ShowDialog(); + } + #endregion + + #region 事件区 + + + /// + /// 关闭时发生 + /// + /// 一个包含事件数据的 。 + protected override void OnClosed(EventArgs e) + { + base.OnClosed(e); + if (base.Owner != null && base.Owner is FrmTransparent) + { + (base.Owner as FrmTransparent).Close(); + } + } + + /// + /// 快捷键 + /// + /// 通过引用传递的 ,它表示要处理的 Win32 消息。 + /// 值之一,它表示要处理的键。 + /// 如果控件处理并使用击键,则为 true;否则为 false,以允许进一步处理。 + protected override bool ProcessCmdKey(ref Message msg, Keys keyData) + { + int num = 256; + int num2 = 260; + bool result; + if (msg.Msg == num | msg.Msg == num2) + { + if (keyData == (Keys)262259) + { + result = true; + return result; + } + if (keyData != Keys.Enter) + { + if (keyData == Keys.Escape) + { + this.DoEsc(); + } + } + else + { + this.DoEnter(); + } + } + result = false; + if (result) + return result; + else + return base.ProcessCmdKey(ref msg, keyData); + } + + /// + /// Handles the KeyDown event of the FrmBase control. + /// + /// The source of the event. + /// The instance containing the event data. + protected void FrmBase_KeyDown(object sender, KeyEventArgs e) + { + if (HotKeyDown != null && HotKeys != null) + { + bool blnCtrl = false; + bool blnAlt = false; + bool blnShift = false; + if (e.Control) + blnCtrl = true; + if (e.Alt) + blnAlt = true; + if (e.Shift) + blnShift = true; + if (HotKeys.ContainsKey(e.KeyValue)) + { + string strKey = string.Empty; + if (blnCtrl) + { + strKey += "Ctrl+"; + } + if (blnAlt) + { + strKey += "Alt+"; + } + if (blnShift) + { + strKey += "Shift+"; + } + strKey += HotKeys[e.KeyValue]; + + if (HotKeyDown(strKey)) + { + e.Handled = true; + e.SuppressKeyPress = true; + } + } + } + } + + /// + /// 重绘事件 + /// + /// 包含事件数据的 。 + protected override void OnPaint(PaintEventArgs e) + { + if (this._isShowRegion) + { + this.SetWindowRegion(); + } + base.OnPaint(e); + if (this._redraw) + { + ControlPaint.DrawBorder(e.Graphics, base.ClientRectangle, this._borderStyleColor, this._borderStyleSize, this._borderStyleType, this._borderStyleColor, this._borderStyleSize, this._borderStyleType, this._borderStyleColor, this._borderStyleSize, this._borderStyleType, this._borderStyleColor, this._borderStyleSize, this._borderStyleType); + } + } + #endregion + + + #region 窗体拖动 English:Form drag + /// + /// Releases the capture. + /// + /// true if XXXX, false otherwise. + [DllImport("user32.dll")] + public static extern bool ReleaseCapture(); + /// + /// Sends the message. + /// + /// The HWND. + /// The w MSG. + /// The w parameter. + /// The l parameter. + /// true if XXXX, false otherwise. + [DllImport("user32.dll")] + public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); + + /// + /// The wm syscommand + /// + public const int WM_SYSCOMMAND = 0x0112; + /// + /// The sc move + /// + public const int SC_MOVE = 0xF010; + /// + /// The htcaption + /// + public const int HTCAPTION = 0x0002; + + /// + /// 通过Windows的API控制窗体的拖动 + /// + /// The HWND. + public static void MouseDown(IntPtr hwnd) + { + ReleaseCapture(); + SendMessage(hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); + } + #endregion + + /// + /// 在构造函数中调用设置窗体移动 + /// + /// The cs. + protected void InitFormMove(params Control[] cs) + { + foreach (Control c in cs) + { + if (c != null && !c.IsDisposed) + c.MouseDown += c_MouseDown; + } + } + + /// + /// Handles the MouseDown event of the c control. + /// + /// The source of the event. + /// The instance containing the event data. + void c_MouseDown(object sender, MouseEventArgs e) + { + MouseDown(this.Handle); + } + } +} diff --git a/JinYuan.ControlLib/Forms/FrmBase.resx b/JinYuan.ControlLib/Forms/FrmBase.resx new file mode 100644 index 0000000..be524d1 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmBase.resx @@ -0,0 +1,1185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAeIAAAAEAIAAo+AAAFgAAACgAAAB4AAAAAAEAAAEAIAAAAAAAAPAAAGDqAABg6gAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVAG9vbwBCQkQAPz9LADw9 + RQA7P0cAPEBHAD1ARgA9QUYAO0BGADtDRQA7QUEAO0BAADk+PgA9QkIAPkJCADtBRAA4RkgAOUZGADxA + QAA8QEAAOUZGADhGSAA7QUQAPkJCAD1CQgA5Pj4AO0BAADtAQQA7QEUAO0BGAD1BRgA9QEYAPEBHADs/ + RwA8PUUAPz9LAEJCRABvb28AVVVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUAGRksAD4+ + RAA4QUUAOEBEADk7PABBQ0MAO0NFADs/RwA6QUUAPENDADxDQwA8Q0MAPENDADtCQwA1REIASjRkADw3 + RgE6PUoBPD9JAT0/RwI9QEcCO0BGAjtDRQI7QUEDO0BABDk+PgQ+QkIEPkJCBTtBRAU4R0gFOUZGBTxA + QAY8QEAGOUZGBThHSAU7QUQFPkJCBT5CQgQ5Pj4EO0BABDtAQQM7QEUCO0BGAj1ARwI9P0cCPD9JATo9 + SgE8N0YBSjRkADVEQgA7QkMAPENDADxDQwA8Q0MAPENDADxBQwA8QUcAPUFIADdGSQA3SUkAOz9DADlC + RgBAP0UAGxsvAFVVVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tQwAkIz8APDxLADxCRAA8QkUAO0JEADtE + QwBaUDUAMztIADo8PwFBQ0MDO0NFBDtARgY4P0cIPEFDCz1BRQ08QkUPPEFDETtBRBM8Q0MVPENEFzxC + Qxk8QkQaPEJEGzxCRBw8QkQdPEJEHjxDRB88Q0MgPENDIDxDQyA8Q0MhPENDITxDQyE8Q0QhPENDITxD + QyI8Q0MiPENDITxDRCE8Q0MhPENDITxDQyE8Q0MgPENDIDxDQyA8QkQfPEJEHjxCRB08QkQcPEJEGzxC + RBo8QkMZPENEFzxDQxU7QUQTPEFDETxCRQ89QUUNPEFBCzo/QQg8QUcGPUFHBTdFSAM4R0gBNTtIAFFJ + MAA6REMAO0JEADxCRQA8QEQAPD1LACQjPwAtLUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAMzMzAERQVAA+RkgAPkNFAD1CRABETUMAPDtNATxCRAQ8QkUIO0JFDDxC + RBA7QkQVO0JEGTxCQxw8Q0MePENDIDxCRCI8Q0QkPENDJTxDQyU8Q0MmPENDJjxDQyY8Q0MnPENDJzxD + Qyc8Q0MnPENDJzxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxD + Qyc8Q0MnPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MlPENDJTxDQyQ8Q0QjPENEITtDRB88Q0QcO0JEGTtD + RBU8QkQQO0JFDDxBRQg8P0QEPDtNAURMQwA8QkQAPkNFAEBHSgBHUlYAMzMzAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPkREAEBGRwA4SlMAPUJEBTtBQgw8Q0QUPEJEGzxDQyA8Q0MjPENDJTxD + QyY8Q0MmPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MnPENDJzxD + QyY8Q0MmPENDJTxDQyM8QkMgPEJEGzxERBQ8QUIMPUJEBUJVXwBBRkcAPkREAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAP0REAEFDRAI8QkMTPENDIDxDQyU8Q0MmPENDJzxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxDQyY8Q0MlPENEIDxCRBNBQ0QCP0REAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPkNDAD9ERAY8QkMhPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MnPENDJz1CQyFAREQGPkNEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAP0BAAD86PAA7P0IIPUJEFDxCRB48Q0MjPENDJjxDQyY8Q0MnPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyc8Q0MmPENDJjxDQyM8QkMePUJDFDtAQghDP0AAQ0NEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQEBAAEE+QAA7P0IAEjkEADlDRgM5QkIIOkNEDjxCRBQ8Q0MZPEJDHjxD + QyE8Q0MjPENDJTxDQyY8Q0MmPENDJjxDQyc8Q0MnPENDJzxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJTxDQyQ8Q0MjPENDIzxDQyQ8Q0MlPENDJTxD + QyY8Q0MmPENDJTxDQyU8Q0MkPENDIzxDQyI8Q0MjPENDJTxDQyU8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxDQyc8Q0MnPENDJjxDQyY8Q0MmPENDJTxD + QyM8Q0MhPEJDHjxDQxk8QkQUO0NFDjpDQgg7PkYDE3Y6ADs/QgBFQUQAREREAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQAAADYAPUZMADhERQA7Q0MAPENCAEFJSAA8QkQBO0BEAjtB + RgU5Q0QIPUFECzxBQg49Q0IRPENEFDxBRRc8QkUaPEJDHTxDQx48Q0MgPEJDITxDRCM8Q0MkPENDJDxD + QyU8Q0MlPENDJTxDQyY8Q0MmPENDJDxDQyM8Q0MlPENDMDxCREM8QkVcPEFFdDxBRYs8QUWdPEFFqTxB + RbA8QUWyPEFFrjxBRaU8QUWXPEFFhDxCRW08QkRVPEJDPTxCQy08Q0MkPENDIzxDQyU8Q0MmPENDJTxD + QyU8Q0MlPENDJDxDQyQ8Q0QjPEJDITxDQyA8Q0MePEJDHTxCRBo8QkUYPEJFFTxDRBI9QkMPPkFECzpE + RQg7QUcFOz9EAj5ERgE+RkYAPUNDADxERAA6PkYAPTtHAAAABwBVVVUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4ADAzMgA8QkQAO0BEADtC + RgA6Q0QAPUFEAD5ERgA6REQAPkM+AAAA/wBAQ1sBOjxHAjxCRQM7QEUEOkBFBTtCRQY9Q0MIPEFECTxC + Qws9QkUMO0JEDTxBRAs9Q0QRPEFGLTxBRWA8QUWaPEFFxjxBReQ8QUX1O0BE/jtARP87QET/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/87QET/O0BE/zxBRfw8QUXwPEFF3jxBRb08QUWNPEFFUjxCRSM8QUUNO0NECztC + RQw8QkMLPEFECT1DQwg7QkUGOkBFBTtARQQ8QkUDOjxHAkRDWQFAL24AOksuADxDQAA8QkQAPUFEADpE + RQA7QkYAO0BEAD1ERQA1OTgAPz8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAARkZGAC0tLQBAQUEAO0NFAEhPOgBGR2MAOjtHAD1CRgA7QEYAOj9FADtCRQA8Q0MAPEJDADxC + RAA8QUUAO0JGDDxBRUQ8QUWUPEFF1TxBRfc7QET/Oj9D/zo/Q/88QUX/REhM/0tQU/9SV1r/Wl5i/19j + Zv9hZWj/XWFl/1dbX/9PVFf/SU1R/0FGSv87QET/Oj9D/zo/Q/87QET/PEFF8jxBRck8QUWBPEFFMztD + SAU8QUUAO0JEADxDQwA7QkUAOj9FADtARgA9QkYAOjtHAEdHYwBHUDwAPUFIADxDRwBCQkEAR0dHAEBA + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0BGADxBRQA8QEYAPEFGAD1B + RQ08QUVUPEFFtjxBRfI7QET/Oj9D/z1CRv9MUVT/aGxv/4mMjv+oqqv/vr/A/8/Q0f/b3Nz/4ODh/+Li + 4//j4+P/4eHi/97f3//X2Nn/ysvM/7i5u/+goqT/gIOG/2FlaP9HTFD/O0BE/zo/Q/87QET/PEFF6DxB + RaA8QUU+OUJGBTxCRQBCQ0UAP0NGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QUQASzZFADxBRQA8P0gDPEFFRjxB + RbM8QUX2O0BE/zo/RP9KT1P/c3d5/6aoqf/P0NH/5+fn//Dw8P/z8/P/8/Pz//Ly8v/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/y8vH/8vLy//Pz8//y8vL/7+/v/+Lj4//HyMn/m52f/2hsb/9ESU3/Oj9D/ztA + RP88QUXsPEFFljxBRSg5P0QAPEFFAD1ARQA2Q0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBM + UwAmWGIAPEFGADxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRR08QUWMPEFF7TtA + RP87QET/UlZa/42Qkv/Jy8v/6urq//Ly8v/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/y8vL/8vLy/+Xl5f+9vr//fH+C/0hN + Uf86P0P/PEFF/zxBRdc8QUVgPEBEBzxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRQA8QUUAO0FFADRL + TwA2SEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRQA7REQAPEFFADxB + RQA8QUQAPUJEADxARQI8QUUFPEFFBzxBRQg8QUUIPEFFCDxBRQg8QUUIPEFFPzxBRcU8QUX/Oj9D/0pP + U/+LjZD/0NHS//Dw8P/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/z8vL/6+zs/8HD + xP90eHr/QUZJ/zo/RP88QUX1PEFFkTxBRRo8QUUHPEFFCDxBRQg8QUUIPEFFCDxBRgY7QkYDPUBEADxB + RQA8QUUAPEFFAD1DQwA9Q0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA9QUUAPEFFADxBRQA3W0UAPEFFFDxB + RTQ8QUVdPEFFgDxBRZ08QUWxPEFFvDxBRcI8QUXDPEFFwzxBRcM8QUXEPEFF5ztARP89Qkb/bXF0/8LD + xP/u7u7/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/n5+j/qKmr/1RYXP86P0P/PEFF/TxBRdM8QUXCPEFFwzxBRcM8QUXDPEFFvjxBRbM8QUWfPEFFgzxB + RWA8QUU3PEFFFT1HPwE8QUUAPUFFAD1ARAA9QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/RUcAP0RGAD1BRQA7QUUAPEFFFDxBRUs8QUWSPEFFyzxB + Re08QUX8O0BE/zo/Q/86P0P/Oj9D/zo/Q/86P0P/Oj9D/zo/Q/86P0P/OT5C/0VKTv+SlZf/4uPj//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/x8fH/8fHx/8vMzf9rb3L/O0BE/zk+Q/86P0P/Oj9D/zo/Q/86P0P/Oj9D/zo/Q/86P0P/O0BE/zxB + Rf08QUXuPEFFzjxBRZU8QUVQPUFGFztCRgA8QUUAO0BCAD0+QAAAgIAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAOkVGAC5fRwA8QUUAOj9FAD1BRSI8QUV1PEFFyDxBRfU7QET/OT5D/ztA + RP9BRkr/TlNW/1tfYv9mam3/b3N1/3N2ef90d3r/c3d6/3N3ev9zdnn/eHx+/7O1t//t7e3/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/c3N3/j5GT/3N2ef9zd3r/c3d6/3N3ev9zd3r/cHR3/2hsbv9cYGP/T1RX/0JH + Sv87QET/OT5D/ztARP88QUX3PEFFyzxBRXc8QUUjPUNGADxBRAAoblQAOkVGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA8QEUAPUFGADxARQA8QUUZPEFFdjxBRdY8QUX+Oj9D/zxBRf9NUlX/cHN2/5ib + nf+7vb7/0dLT/+Dh4f/o6On/6urr/+vr6//r6+v/6+vr/+vr6//r6+v/7Ozt//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6uvr/+np6f/i4uL/09TU/72/ + wP+bnZ//cnZ4/05TVv88QUX/Oj9D/zxBRf88QUXYPEFFdztCRBk8QEUAPUFEAD1ARAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAOkJCAD1BRgA8QUQAPT9GBDxBRU88QUXFPEFF/jo/Q/8/REj/YmZp/5yeoP/Pz9D/6enq//Ly + 8v/z8/P/8vLy//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8vLy//Pz + 8v/y8vL/6urq/9DR0v+eoKL/Y2dq/0BFSf86P0P/PEFF/jxBRcY8QUVPPkBEBD1BRQA7QUQAP0BHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA+QUYAQEFGADxBRQA8QUQVPEFFijxBRfA7QET/PUJG/2Jmaf+qrK3/4OHh//Ly8v/y8vL/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/y8vL/4eHi/6utr/9jZ2r/PUJG/ztARP88QUXwPEFFij1BRRU8QUUAOEdJADpF + RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpE + RwA8Q0cAO0FFADxBRSo8QUW1PEFF/jo/Q/9NUlb/mJqc/97e3//y8vL/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/9PU + 1P/T1NT/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/e39//mZud/05TVv86P0P/PEFF/jxBRbQ8QUUrPj9DADtB + RAA7PkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOURIADpE + RwA9P0UAPEJGOzxBRc07QUX/PEFF/2hsb//Excb/8PDw//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/0NHS/1ld + YP9ZXWD/0NHS//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8PDw/8XGx/9pbXD/PEFF/zxBRf88QUXNPEFFOjxD + RwA9QEMAP0NGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QEMAO0JGAD1A + QwA8QUVAPEFF1ztARP8/REj/goWI/93d3v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0BF + SP9ARUj/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/d3t7/goSH/z9ESP87QET/PEFF1jxB + RT48QEQAPUFFADw/QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlCQwA6P0IAPEJGADxB + RTk8QUXXO0BE/0JHSv+TlZf/5+jo//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0FG + Sf9BRkn/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8fH/5+fn/5GUlv9BRkr/O0BE/zxB + RdU8QUU3PEJGAD09QABAQEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1ARQA8QEUAPEFFKDxB + Rcs7QET/QUZK/5eanP/r6+v/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0FG + Sf9BRkn/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+vr6/+WmZv/QUZK/ztA + RP88QUXJPEFFJzxBRQA7QUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBGADxARQA7QEQTPEFFsDxB + Rf8+Q0f/kZOV/+vr6//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/19fX/ury9/0FG + Sf9BRkn/ury9//X19f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/q6+v/kJOV/z5D + R/88QUX/PEFFrj1BRRI8QUUAPEJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PUcAPEBGADw/RwM8QUWEPEFF/TtA + RP9/goX/5ufn//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/6+vs/9LT0/+xs7T/fH+C/z5D + R/8+Q0f/fYCD/7O1tv/U1db/7e3t//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5ubm/36B + hP87QET/PEFF/TxBRYM7REQDPEJFAD09SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAA/wAAPEFFADxBRUw8QUXuOj9D/2Zq + bf/b29z/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/+vr6/+8vr//en1//09TV/8+Q0f/O0BE/zxB + Rf88QUX/O0BE/z9DR/9RVln/gIOF/8PFxv/t7e7/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9rb + 2/9laWz/Oj9D/zxBRe48QUVLPEJEADtMKQArVVUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRgA8QUUAPEFFGTxBRcU7QET/TVFV/8LD + xP/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/2NnZ/4SHif9GSk7/OT5C/zo/Q/89Qkb/QEVI/0JG + Sf9CRkn/QERI/z1CRv86P0P/OT9D/0pOUv+Mj5H/3t/f//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/BwsP/TFBU/ztARP88QUXDPEFFGDxBRQA5QUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRQA/OUIAPEFFezxBRf49Qkb/l5qc//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/KzMz/ZGdr/zo/Q/87QET/QEVI/01QUf9aW1r/YmFg/2Rj + Yf9kY2H/YWFg/1laWv9MTlD/P0RH/zpARP88QUX/bnF0/9TV1f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/v7+//lpmb/z1CRv88QUX+PEFFeEM+RQA5QkQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JEADxBRQA8QUUrPEFF3To/Q/9kaGv/39/g//Hx + 8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9DR0v9eYmb/OT9D/zxBRf9KTU//X19e/2hnZf9qaGX/aWdl/2ln + Zf9pZ2X/aWdl/2poZf9oZmT/XV1d/0hLTf88QUX/Oj9D/2lsb//Y2dr/8vHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/x8fH/3t/f/2Roa/86P0P/PEFF3DxBRSk8QUUAPEJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0FFADpCQwE8QUWJPEFF/0JHS/+xs7T/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/5OTk/3J1eP86P0P/PUJG/1BSU/9mZWP/amdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/amhl/2VjYv9NT1H/PEFF/zpARP98gIL/6Ojo//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy/7Cys/9CRkr/PEFF/zxBRYc+QEkBPEFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5RkgAPEJFADxBRSc8QUXeOj9D/25ydf/m5+f/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/y8vL/qKqr/z5DR/88QUX/TlBS/2dlZP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9mZGP/S05Q/ztARP9BRkr/sLKz//Ly8v/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx/+bm5v9tcXT/Oj9D/zxBRd08QUUmPEFFAD1ARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1SkwAPz5CADxBRXg8QUX/QUZK/7K0tf/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/m5+f/am5x/zk+Qv9ESEv/Y2Jh/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qZ2X/YWFg/0JGSf85PkL/b3J1/+jo6P/x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v+xs7T/QUZK/zxBRf88QUV1PEFGADs/QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA8QUUAPEFGFDxBRcg6P0P/ZGhr/+Li4//x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/U1NX/TlJW/zo/RP9RU1T/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1BSU/86P0P/T1NX/9XW1v/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/h4uL/YmZq/zo/Q/88QUXGPEJFEjxBRQA9PUkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFA7OQA8QUUAPEFFSjxBRfU8QUX/nJ6g//Ly8v/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/Oz9D/Sk9S/ztARP9UVVb/amhm/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amhm/1RVVv87QET/Sk9S/87P0P/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/y8fH/mpye/ztARP88QUX0PEFFSDxBRQA5L1QAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtBRAAfAAAAPEFFjztARP9MUVT/zs7P//Ly8v/w8PD/8fHw//Hx + 8P/v7/D/7/Dw//Hx8P/x8fD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/f4OD/XWFk/zk/Q/9FSUv/YWFg/2poZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qaGX/YWFg/0VIS/85P0P/XWFk/9/g4P/x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8P/x8fD/7/Dw/+/v + 8P/x8fD/8fHw//Dw8P/y8vL/zM7O/0tQVP87QET/PEFFjStPRAA+QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtBRQA7QUUTPEFFyzo/Q/9vc3b/6enp//Hx8P/w8PD/4eTy/8bO + 9/+2wvn/t8L5/8jQ9v/k5vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/nZ+h/z1CRv87QET/RUhL/1lZWf9lZGL/aWdl/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2pnZf9qaGX/aWdl/2ZkY/9ZWVr/REhL/ztARP8+Q0f/nqCi//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+Tm8v/I0Pb/t8L5/7bC + +f/Gzvf/4eTy//Dw8P/x8fD/6Onp/25xdP86P0P/PEFFyT1BRhI9QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQEBAADxBRQA8QUU5PEFF7ztARP+bnZ//8vLy/+/w8P/P1vX/obD9/5Sm + //+Spf//kqX//5Sm//+ks/z/1dr1//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/5eXm/4SHif8+Q0f/Oj9D/z1CRv9GSUz/UVNU/1pbW/9gYF//Y2Jh/2Rj + Yv9kY2L/Y2Jh/2BgX/9aW1v/UVNU/0ZJTP89Qkb/Oj9D/z5DR/+Fh4r/5ebm//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/1Nr1/6Sz/P+Upv//kqX//5Kl + //+Upv//obD9/8/W9f/w8PD/8vLy/5mcnv87QET/PEFF7jxBRTg8QUUAN0lJAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAMUVXADxBRQA8QUVpO0BE/kRJTf/BwsP/8/Py/9fc9P+crP7/k6X//5Sm + //+Upv//lKb//5Sm//+Tpf//oLD9/93h8//x8fD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+bm5/+eoKL/VFlc/zxBRf85PkL/O0BE/z1CRv8/REf/QkZJ/0NH + Sv9DR0r/QkZJ/z9ER/89Qkb/O0BE/zk+Qv87QET/VFhc/56gov/m5+f/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8P/d4fP/oLD9/5Ol//+Upv//lKb//5Sm + //+Upv//k6X//5yt/v/Y3PT/8/Py/8DCw/9ESEz/O0FF/jxBRWg8QUUATC0+AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFAD5CRQE8QUWYOj9E/1ZaXv/b29z/7u/y/7K++v+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//7nE+f/v7/D/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx + 8f/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/w8PD/1dXW/5yfoP9obG//TFBU/z5DR/87QET/OT9D/zk+ + Qv85PkL/OT9D/ztARP8+Q0f/TFBU/2hsb/+anJ7/09TV//Dw8P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx + 8f/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+/v8P+5xPn/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+yvvr/7u/y/9rb2/9VWl3/OkBE/zxBRZY+RUkBPEJGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRQw8QUW9OT5C/21xdP/r6+r/5Ofy/5+v/f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6Wz/P/p6vH/8PDw//Dw8P/w8PD/8PDw//Ly8v/x8fH/6Ojo/+Hh + 4f/g4OH/5eXm/+7u7v/y8vL/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//Hx8f/n5+f/z9DQ/7W3uP+doKH/j5GU/4eK + jP+Hioz/j5GU/52gof+2t7j/z9DQ/+fn5//x8fH/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//Ly8v/u7u7/5eXm/+Dg + 4f/h4eH/6Ojo//Hx8f/y8vL/8PDw//Dw8P/w8PD/8PDw/+jq8f+ls/z/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+fr/3/5Ofy/+rq6v9scHP/OT5C/zxBRbw8QUULPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFGADxBRho8QUXZOj9D/4aJi//x8fD/4OPz/5ys/v+Tpv//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6Gw/f/l5/L/8fHw//Dw8P/x8fH/7e3t/8bHyP+PkpT/bHBz/1xg + ZP9bX2L/Zmpt/36ChP+mqKr/0dLT/+zs7P/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8vLy//Pz8//y8vL/8vLy//Hx + 8f/x8fH/8vLy//Ly8v/z8/P/8vLy//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/s7Oz/0dLT/6aoqf9+gYT/Zmpt/1tf + Yv9cYGT/bHBz/4+SlP/Gx8j/7Ozt//Hx8f/w8PD/8fHw/+Xn8v+hsP3/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Om//+crP7/4OPz//Hx8P+FiIr/Oj9D/zxBRdk8QUUaPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRS88QUXoO0BE/52fof/z8vL/5ujy/6Kx/f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6i2/P/q6/H/8PDw//Ly8f/e3t//i46Q/0lOUv86P0P/OT5C/zk/ + Q/85P0P/OT5C/zk+Qv89Qkb/T1NX/3p9gP+3ubr/5eXl//Ly8v/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/y8vL/5eXl/7e5uv97foH/T1NX/z1BRf85PkL/OT5C/zk/ + Q/85P0P/OT5C/zo/Q/9JTlH/iYyP/97e3//y8vH/8PDw/+rr8f+ntvz/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+isf3/5ujy//Py8v+cnqD/O0BE/zxBRec8QUUuPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRUE8QUXzPEFF/66wsf/z8/P/7+/w/7nE+f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//lKb//8HK+P/w8PD/8fHx/9vb3P9xdHf/O0BE/ztARP8/REf/R0tN/01P + Uf9OUFL/Sk1P/0NHSv89Qkb/Oj9E/zk+Q/9DR0v/am1w/6+wsv/k5eX/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/+Tl5f+usLL/am1w/0JHS/85PkP/Oj9E/z1CRv9DR0r/Sk1P/05Q + Uv9NUFH/R0tN/z9DR/87QET/O0BE/3F1eP/b3Nz/8fHx//Dw8P/Byvj/k6b//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+6xPn/7+/w//Pz8/+tr7H/PEFF/zxBRfI8QUVAPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRU08QUX6QUZJ/7m6vP/z8/P/8fHw/+Dj8/+ks/z/k6X//5Sm + //+Upv//lKb//5Sm//+Tpf//qbf8/+Xn8v/x8fH/6Ojo/36Bg/87QET/PEFF/0lMTv9dXV3/Z2Vj/2ln + Zf9pZ2X/aGZk/2RjYf9bW1v/TU9R/0FFSf87QET/OT5C/0BFSf9tcXP/vL2+/+zt7f/y8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Lx8f/s7O3/u72+/21wc/9ARUn/OT5C/ztARP9BRUj/TU9R/1tbW/9kY2H/aGZk/2ln + Zf9pZ2X/Z2Vj/11dXf9ITE7/PEFF/ztARP9+goT/6Ojp//Hx8P/k5/L/qbf8/5Ol//+Upv//lKb//5Sm + //+Upv//k6X//6Sz/f/g4/P/8fHw//Pz8/+4urv/QEVJ/zxBRfo8QUVNPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVc7QET+RUlN/8DCw//z8/L/8PDw//Hw8P/c4PP/rrv7/5ip + /v+Upv//lKb//5mq/v+yvvr/4OPz//Hx8P/y8vL/rK6w/0FFSf87QET/Sk1P/2VjYv9qaGX/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/aGZl/2FgX/9SU1T/QkZJ/ztARf85PkP/R0tP/4mLjv/a2tv/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy/9ra2/+Ii47/RktP/zk+Q/87QEX/QkZJ/1JUVf9hYF//aGZl/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2poZf9lY2L/Sk1P/ztARP9BRkr/ra+w//Ly8v/x8fD/4OPz/7K++v+Zqv7/lKb//5Sm + //+Yqf7/rrv7/9zg8//w8PD/8PDw//Pz8//AwcL/RElN/ztARP48QUVWPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRV07QET/R0tP/8XHyP/y8vL/8PDw//Dw8P/x8fD/6uvx/9fc + 9P/J0fb/ytL2/9nd9P/s7PH/8fHw//Hx8f/i4uP/ZWls/zk+Q/9DR0r/YmFg/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/YmFg/1FTVP9ARUj/O0BE/ztARP9jZ2r/wcLD//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/wMLD/2Jmaf87QET/O0BE/0BFSP9RU1T/YmFg/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/YWFg/0NHSv85PkL/Zmpt/+Lj4//x8fH/8fHw/+zs8f/Z3fT/ytH2/8nR + 9v/X3PT/6uvx//Hx8P/w8PD/8PDw//Ly8v/Fxsf/RktP/ztARP88QUVcPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVw7QET/R0tP/8jJyv/z8/P/8PDw//Dw8P/w8PD/8PDw//Hx + 8P/x8fD/8fHw//Hx8P/w8PD/8PDw//Py8v+5urv/QkdK/zxBRf9UVVb/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9fXl7/SUxO/zxBRf86P0P/TlNW/6yu + sP/u7u7/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+7u + 7v+srrD/TlNW/zo/Q/88QUX/SUxO/15eXv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1NVVf87QET/QkdL/7m7vP/z8vL/8PDw//Dw8P/x8fD/8fHw//Hx + 8P/x8fD/8PDw//Dw8P/w8PD/8PDw//Pz8//Hycr/RktP/ztARP88QUVbPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVY7QET+RUlN/8fIyf/09PT/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+KjY//OT9D/0FFSP9hYF//aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qZ2X/ZmRj/1JUVf8/Q0f/Oj9D/0ZL + T/+jpaf/7u7u//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fD/7e7u/6Kk + pv9GS0//Oj9D/z9DR/9TVFX/ZmRj/2pnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2FgX/9ARUj/OT9D/4qNj//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//T09P/GyMn/RElN/ztARP48QUVVPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRUw8QUX6QEVJ/8HCw//39vb/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+bm5/9na27/OT5C/0lLTv9nZWT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9ZWVr/QUVJ/zo/ + Q/9GSk7/p6mr/+/v7//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/p6mr/0ZK + Tv86P0P/QUVJ/1laWv9oZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dlZP9IS07/OT5C/2hrbv/m5+f/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//f39v/AwsP/QEVJ/zxBRfk8QUVLPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRT88QUXxPEFF/7W3uf/6+vr/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vHx/9jZ2f9TV1v/Oj9D/1BSVP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/XFtb/0FF + Sf86P0P/S1BU/7u9vv/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Lx8f+8vb7/TFBU/zo/ + Q/9BRUn/W1tc/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9QUlP/Oj9D/1NXW//Y2dr/8vHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//r6+v+1t7j/PEFF/zxBRfE8QUU+PEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRSw8QUXmOj9D/6Kkpv/8/Pz/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8zNzv9HTE//O0BE/1ZXV/9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1pa + Wv8/REf/Oj9D/15iZf/X2Nn/8vLx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLx/9fY2P9eYWX/Oj9D/z9E + R/9aWlv/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9WV1f/O0BE/0dMUP/Mzs7/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//z8/P+hpKb/Oj9D/zxBReY8QUUsPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRBg8QUXXOT5C/4mMjv/9/f3/8/Pz//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8LDxP9ESEz/PEFF/1lZWv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9UVVb/PUJF/ztARP+Ii43/7e3t//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7e3t/4eKjf87QET/PUJG/1RV + Vv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9ZWVn/PEFF/0RITP/CxMX/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8/Pz//39/f+JjI7/OT5C/zxBRdc8QUUYPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxCRQs8QUW5OT5C/29ydf/39/f/9/f3//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/7/Awf9DSEv/PEFF/1paWv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2lnZf9pZ2X/aWdl/2ln + Zf9mZWP/Sk1P/zpARP9JTlL/xcbH//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/xMXG/0lOUf86QET/Sk1P/2Zl + Y/9pZ2X/aWdl/2lnZf9pZ2X/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9aWlr/PEFF/0NIS/+/wMH/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/9/f3//f39/9vcnX/OT5C/zxBRbk8QUUKPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAO0FEADZFOAA8QUWVOj9D/1ldYf/o6en//Pz8//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8XGx/9ESU3/PEFF/1hZWf9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ZlY/9hYF//YF9e/2NiYf9oZmT/aWdl/2ln + Zf9qaGX/Xl1d/z9ER/86P0P/gIOF/+3t7f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/t7e3/f4OF/zo/Q/8/REf/Xl1d/2po + Zf9pZ2X/aWdl/2hmZP9jYmH/YF9e/2FgX/9mZWP/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9YWFn/PEFF/0RJTf/Fx8j/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH//f38/+jp6f9YXWD/Oj9D/zxBRZVCLzwAPEBEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATE9YADxBRQA8QUVuO0BE/0dLT//S09T///////T09P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9DR0v9KTlL/O0BE/1RVVv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9nZWP/V1dY/0ZKTP9ARUj/P0RH/0JGSf9NT1H/YF9f/2ln + Zf9pZ2X/aGZk/0xPUf86P0P/TlNW/9DR0v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/S09P/T1RY/zo/Q/9MT1H/aGZk/2ln + Zf9pZ2X/YF9f/01PUf9CRkn/P0RH/0BFSP9GSkz/V1dY/2dlY/9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9UVVb/O0BE/0pPU//R0tL/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/09PT//////9HS0/9GS0//O0BE/zxBRW08QUUAR1JRAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACwwMADxBRQA8QUVCPEFF9D1CRv+wsrP///////j4+P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/9zc3f9YXF//Oj9D/09RUv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ZlY/9OUFL/PUJG/ztARf88QUX/PEFF/zxBRf87QEX/QkZJ/1xc + XP9pZ2X/amhl/1tbW/89Qkb/PEFF/6Olp//y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v+kpqj/PUJG/z1CRv9bW1v/amhl/2ln + Zf9cXFz/QkZJ/ztARf88QUX/PEFF/zxBRf87QEX/PUJG/05QUv9mZWP/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9PUVL/Oj9D/1hcYP/c3d3/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/4+Pj//////6+xs/89Qkb/PEFF9DxBRUE8QUUACwsMAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUgPEFF2zk+Qv+LjpD//v7+//39/f/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+np6f9rb3L/OT5C/0hLTf9nZWT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1RWVv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/O0BF/0RI + S/9jYmH/amhl/2VjYv9ER0r/OT5C/3p9gP/s7e3/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+zs7f95fX//OT5C/0RIS/9lY2L/amhl/2Ni + Yf9ESEv/O0BF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf9UVlb/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dlZP9IS03/OT5C/2xwc//p6en/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/9/f3//v7+/4uOkP85PkL/PEFF2jxBRR88QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRQA9QkUIPEFFtDo/Q/9laWz/8vLy///////39/f/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+JjI7/OT5D/0FGSf9jYmD/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZGNi/0RHSv87QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxB + Rf9VVlf/aWdl/2hmZf9MTlD/OT9D/11hZf/i4uP/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+Hi4v9dYWT/OT9D/0xOUP9oZ2X/aWdl/1RW + Vv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztBRf9ER0v/ZGNi/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2JiYP9BRkn/OT5D/4qNj//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//f39///////8fLy/2VpbP86P0P/PEFFsztCRQc7QkUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRwA9P0MAPEFFfTtARP9KT1P/1tfY///////8/Pz/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Pz8/+usLL/PkNH/z1CRv9aW1v/amhl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/XV1d/z5DRv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + RP9LTU//aGZk/2lnZf9TVFX/Oj9E/09UV//T09T/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9LT0/9PU1f/Oj9E/1NUVf9qZ2X/aGZk/0tN + T/87QET/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf8+Q0b/XV1d/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/amhl/1paW/89Qkb/PkNH/6+xs//z8/P/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy//z8/P//////1tfY/0pPUv87QET/PEFFfD5BRgA7QUQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEpMgA8QUUAPEFFRzxBRfU8QUX/ra+x////////////9vb2//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/S09T/T1RX/zo/Q/9PUVL/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/Wltb/z1CRv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + Rf9IS07/Z2Vk/2poZv9XWFj/O0BE/0dMUP/Iycr/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8fIyf9HS0//O0BE/1dYWP9qaGb/Z2Vj/0hL + Tf87QEX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf89Qkb/Wltb/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/05RUv86P0P/UFRY/9PU1P/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/9vb2////////////rK+w/zxBRf88QUX0PEFERjxBRQBDSlUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACtVVQA8QUUAPEFFGjxBRdQ5PkL/fICC//r6+////////Pz8//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/q6ur/c3d6/zk+Qv9DR0r/ZGNh/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/Xl5d/z5DR/88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + RP9MTlD/aGZk/2poZv9ZWVn/PEFF/0NITP/CxMX/8/Pz//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8/Pz/8LDxP9DSEz/PEFF/1lZWv9qaGb/aGZk/0tO + UP87QET/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf8+Q0f/Xl5d/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZGJh/0NHSv85PkL/dXh7/+rr6//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL//Pz8///////6+vr/fH+C/zk+Qv88QUXUPEFFGjxBRQAzMzMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkUAP0NGAjxBRZw6QET/VFlc/+Pk5P////////////f3 + 9//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/qaus/z5DR/89QUX/WFlZ/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZWRi/0VJTP87QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxB + Rf9XV1j/amdl/2poZv9ZWVn/PEFF/0RJTf/DxMX/8/Pz//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8/Pz/8LExf9DSEz/PEFF/1lZWf9qaGb/amdl/1ZX + WP88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztBRf9FSUz/ZWRi/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/WFhZ/z1BRf8+Q0f/qqyu//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/39/f////////////j4+T/VFhc/zpARP88QUWcPkJFAj1CRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkYAPEFFADxBRVk8QUX7PkNH/7W3uP////////////39 + /f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/2dra/1hcX/86P0P/SEtN/2ZlY/9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1dYWf89Qkb/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/O0BF/0dK + Tf9lY2L/aWdl/2poZv9XV1j/O0BE/0hNUP/Jysv/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8jKyv9ITVD/O0BE/1dXWP9qaGb/aWdl/2Vj + Yv9HSk3/O0BF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/z1CRv9YWFj/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9mZWP/SEtN/zo/Q/9ZXWD/2tvb//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/9/f3///////////+0trj/PkNH/zxBRfo8QUVZPEFFADxCRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAPEFFADxBRSA8QUXZOT5C/32Ag//6+/v///////// + ///5+fn/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/5OVl/87QET/PUJG/1laWv9qZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dmZP9SVFX/PkNH/ztARf88QUX/PEFF/ztARf88QUX/RklM/2Bf + Xv9pZ2X/aWdl/2lnZf9SVFX/Oj9D/1BVWP/U1dX/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9TU1f9QVFj/Oj9D/1JUVf9pZ2X/aWdl/2ln + Zf9fX17/RUlM/zxBRf87QEX/PEFF/zxBRf87QEX/PkNH/1JUVf9oZmT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2pnZf9ZWlr/PUJG/ztARP+Ulpj/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//n5 + +f////////////r6+v98f4L/OT5C/zxBRdk8QUUfPEFFAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JGADtERgM8QUWbO0BE/1BUWP/c3d7///////// + ///+/v7/9PT0//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9PU1P9UWFz/Oj9D/0ZKTP9lY2L/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9oZmT/W1tb/0tOUP9ER0r/QkZK/0ZKTP9SVFX/Y2Jh/2ln + Zf9pZ2X/aWdl/2hnZf9MTlD/OT9D/11hZf/i4+P/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+Lj4/9dYWT/OT9D/0xOUP9pZ2X/aWdl/2ln + Zf9pZ2X/Y2Jh/1JUVf9GSkz/QkZK/0RHSv9LTlD/W1tb/2hmZP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2VkYv9GSkz/Oj9D/1VZXP/T1NX/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/9PT0//7+ + /v///////////9vc3f9PVFf/O0BE/zxBRZk8Q0gCPEJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITo9ADxBRQA8QUVNPEFF9jxBRf+jpaf///////// + ////////+/v7//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+Zm53/PEFF/zxBRf9TVFX/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2hmZP9kY2L/Y2Jh/2ZlY/9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2RjYf9DR0r/OT5C/3h8f//s7Oz/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+zs7P94e37/OT5C/0RHSv9kY2L/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9mZWP/Y2Jh/2RjYv9oZmT/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/1JUVf88QUX/PEFF/5mcnv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/+/v7//// + /////////////6Kkpv88QUX/PEFF9TxBRUw8QUQASysyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUtNAD1BRQA9QUUTPEFFxjo/Q/9mam3/7/Dw//// + //////////////f39//w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/e39//ZWls/zo/Q/9AREj/XFxc/2pn + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/1ZXWP88QUX/PkNH/6epq//y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v+nqav/PUJG/zxBRf9WV1j/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9qZ2X/XFxc/0BER/86P0P/Zmpt/97f3//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/39/f///////// + ////////7+/v/2VpbP86P0P/PEFFxjxBRBI8QUQAJVtdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9BQgA7QUUAPEFFdjxBRf9BRkr/vL6///// + //////////////7+/v/09PT/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/vL6//0pOUv86P0T/REhL/2Fg + X/9qZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9qZ2X/YmFg/0NHSv86P0P/XGBk/9vc3P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/b29z/XGBj/zo/Q/9DR0r/YmFg/2pn + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2pn + Zf9gYF//REhL/zo/Q/9KT1P/vb/A//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//T09P/+/v7///////// + ////////vL2//0FGSv88QUX/PEFFdTxCRgA3NTkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtCQQA8QUUAPEFFJzxBRd45PkL/d3p9//f3 + 9//////////////////8/Pz/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/5yeoP9ARUn/O0BE/0dK + TP9hYWD/amhl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9lZGL/Sk1P/ztARP9ARUn/p6qr//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/p6mr/0BFSf87QET/Sk1P/2Vk + Yv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amhl/2Fh + YP9GSkz/O0BE/0BFSf+dn6H/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//z8/P////////////// + ///39/f/dnp8/zk+Qv88QUXdPEFFJjxBRQA4OT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBASAA9QEUAPz9GATxBRZA7QET/RktP/8fJ + yv//////////////////////+fn5//Hx8f/w8PD/8PDw//Dw8P/w8PD/8fHx/+np6f+Ii47/PUJG/ztA + RP9FSUz/Xl5d/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2Rj + Yv9MT1D/PEFF/ztARP9+gYT/5+jo//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5+jo/36Bg/87QET/PEFF/0xO + UP9kY2L/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/Xl5d/0ZJ + TP87QET/PUJG/4mMjv/p6en/8fHx//Dw8P/w8PD/8PDw//Dw8P/x8fH/+fn5//////////////////// + ///HyMn/RktP/ztARP88QUWPPkBCAT1BRAA8REQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUYAPEFFADxBRTQ8QUXnOj9D/3x/ + gv/4+Pn///////////////////////f39//w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/k5OX/hYiK/z5D + R/87QET/QUVJ/1ZWV/9mZGP/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9pZ2X/Xl5d/0hL + Tf88QUX/Oj9D/21xdP/b3Nz/8vHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vHx/9vb3P9tcHP/Oj9D/zxB + Rf9IS03/Xl5d/2lnZf9qaGX/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2ZkY/9VVlf/QUVJ/ztA + RP8+Q0f/hYiL/+Tl5f/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/39/f///////////////////////j4 + +f97f4L/Oj9D/zxBRec8QUUzPEFFADxBRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAPUFEAD5ARAM8QUWXO0BE/0ZL + T//Gx8n///////////////////////7+/v/19fX/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5ubn/5KV + l/9FSk3/Oj9D/z1BRf9HSk3/V1hY/2NiYf9nZmT/aWdl/2lnZf9oZ2X/ZmRj/15eXf9PUVL/QERI/ztA + RP88QUX/cnZ4/9fY2f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/X2Nj/cnV4/zxB + Rf87QET/QERI/09RU/9eXl3/ZmRj/2lnZf9pZ2X/aWdl/2dmZP9jYmH/V1hY/0dKTf89QkX/Oj9D/0VK + Tv+TlZf/5ufn//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//X19f/+/v7//////////////////////8bH + yP9GS0//O0BE/zxBRZY9QUYDPUFFAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0FGADxBRQA8QUU0PEFF5To/ + Q/91eHv/9PX1///////////////////////9/f3/9PT0//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+zt + 7f+xs7T/XWFk/ztBRf86P0P/PEFF/0JGSf9JTE7/TlBS/09RUv9MTlD/RklM/z9DR/87QET/OT5D/0dM + UP+NkJL/4ODg//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/4ODg/42P + kv9HTFD/OT5D/ztARP8/Q0f/RklM/0xOUP9PUVL/TlBS/0lMTv9CRkn/PEFF/zo/Q/88QUX/XWFl/7Kz + tf/t7e3/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/9PT0//39/f//////////////////////9PT1/3R4 + e/86P0P/PEFF5D1BRTQ8QUUAP0VBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRQA8QUUhPEFF1TtB + Rf9CRkr/t7m7/////////////////////////////Pz8//Pz8//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL/2dra/5aYmv9ZXWD/PkNH/zk+Qv85PkL/OT5D/zk/Q/85PkL/OT5C/zo/Q/9HTFD/dHd6/76/ + wP/t7e3/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+3t + 7f+9v8D/dHd6/0dMT/86P0P/OT5C/zk+Qv85P0P/OT5D/zk+Qv85PkL/PkNH/1ldYf+WmJv/2dra//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/z8/P//Pz8////////////////////////////t7i6/0JG + Sv88QUX/PEFF0zxBRR88QUUAPUFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQkUAPEFFADtBRQc8QUWWPEFF/zxB + Rf86P0P/YmZp/+jp6f////////////////////////////z8/P/z8/P/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx//Dw8P/a2tv/r7Cy/4KFh/9obG//XGBj/1ldYf9hZWj/dHd6/5eZm//Fxsf/6enp//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL/6Onp/8XGx/+XmZv/dHd6/2FlaP9ZXWH/XGBj/2hsb/+ChYf/r7Gy/9rb2//w8PD/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/8/Pz////////////////////////////o6en/YmZp/zo/ + Q/88QUX/PEFF/jxBRZI+QUQGPUFEAD5AQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRUYAO0FFADxBRVU8QUX0PEFF/0FF + SP89Qkb/PEFF/5mbnf/9/f3////////////////////////////8/Pz/8/Pz//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/8vLy/+/v7//m5uf/3+Dg/97e3//i4uP/6+zs//Ly8v/y8vL/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx//Ly8v/y8vL/6+zs/+Li4//e3t//3+Dg/+bm5//v7+//8vLy//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8/Pz//v7+/////////////////////////////39/f+Ym53/PEFF/z1C + Rf9BRUj/PEFF/zxBRfI8QUVSPEFFAEY8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5BRgA8QUUAPEFFGTxBRcg8QUX/QUZJ/1xc + XP9IS03/Oj9E/0xQVP/Mzc7//////////////////////////////////Pz8//Pz8//w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8fHx//Hx8f/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/x8fH/8fHx//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/z8/P//Pz8/////////////////////////////////8vMzf9LUFP/Oj9E/0hL + Tf9bW1v/QUVJ/zxBRf88QUXGPUBFGDxBRQA9QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRgA8QUYAPEFFcTxBRf08QUX/VFVW/2po + Zf9dXVz/P0RH/zk/Q/9ucXT/7e3u//////////////////////////////////z8/P/09PT/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//T09P/8/Pz/////////////////////////////////7e3t/21xdP85P0P/P0RI/11d + XP9qZ2X/U1VW/zxBRf88QUX9PEFFcDtCRgA+QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPUBFADxBRQA8QUUfPEFF0zxBRf9FSUv/ZWNi/2ln + Zf9pZ2X/UVNU/zxBRf88QUX/lpmb//z8/P/////////////////////////////////9/f3/9fX1//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/9fX1//39/f/////////////////////////////////8/Pz/lpmb/zxBRf88QUX/UVNU/2ln + Zf9pZ2X/ZGNi/0VJS/88QUX/PEFF0jxBRR48QUUAPkFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPkBGADtCRQA8QUVtPEFF/j1CRv9XWFj/aWdl/2ln + Zf9pZ2X/ZWNi/0dLTf87QET/R0xQ/72/wP///////////////////////////////////////v7+//f3 + 9//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx + 8f/39/f//v7+//////////////////////////////////////++v8D/R0xQ/ztARP9HSk3/ZWNi/2ln + Zf9pZ2X/aWdl/1dXWP89QkX/PEFF/TxBRW06QUQAP0FHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBFADxARRE8QUXBPEFF/0RIS/9lY2L/aWdl/2ln + Zf9pZ2X/aWdl/1FSVP88QUX/Oj9D/1ldYf/Z2tv///////////////////////////////////////// + ///6+vr/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//r6 + +v///////////////////////////////////////////9na2v9ZXmH/Oj9D/ztBRf9OUFL/aWdl/2ln + Zf9pZ2X/aWdl/2VjYv9FSEv/PEFF/zxBRcE8QEURPEBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkQAPEFFADxBRUU8QUX0PEFF/1NUVf9pZ2X/aWdl/2ln + Zf9pZ2X/Y2Jh/0NHSv87QEX/O0BE/zo/Q/9xdXf/6+zs//////////////////////////////////// + /////////Pz8//X19f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/19fX//Pz8//// + ////////////////////////////////////////6+zs/3B0d/86P0P/O0BE/ztBRf9BRUj/YGBf/2ln + Zf9pZ2X/aWdl/2lnZf9TVFX/PEFF/zxBRfQ8QUVGPEFFADtARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Q0QAOkBFADxBRYc8QUX/QERH/2BfXv9qZ2X/aWdl/2ln + Zf9pZ2X/VldX/zxBRf9BRkr/Wl5h/z5DR/87QUT/hYmL//X19f////////////////////////////// + //////////////7+/v/5+fn/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//n5+f/+/v7///////// + ///////////////////////////////////09fX/homL/zxBRf89Qkb/YWVp/0VKTf87QET/UlNV/2ln + Zf9pZ2X/aWdl/2pnZf9gX1//QERI/zxBRf88QUWJPURCADs/RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEFFEDxBRcQ7QEX/SEtN/2dlY/9pZ2X/aWdl/2ln + Zf9nZWP/SEtN/zo/Q/9cYGT/wMHC/21xc/86P0P/P0RI/5eanP/5+fn///////////////////////// + /////////////////////////Pz8//b29v/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/29vb//Pz8//////////////////// + //////////////////////////////n5+f+Xmpz/P0NH/zo/Q/9tcXT/x8jI/2drbv85P0P/RUhL/2Vk + Yv9pZ2X/aWdl/2lnZf9nZWT/SEtO/ztARf88QUXGPEFFETxBRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFGRgA8QUUAPEFFLjxBRek8QUX/UlRV/2lnZf9pZ2X/aWdl/2pn + Zf9gX17/QERH/zo/Q/+JjI7/4uLi/8fHyP9eYmX/OT5C/0FGSv+ipaf//Pz8//////////////////// + ///////////////////////////////////7+/v/9fX1//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/9PT0//v7+/////////////////////////////// + /////////////////////////Pz8/6Olp/9CR0r/OT5C/15iZf/Hx8j/5OPj/5eZm/88QUX/PkNG/11d + XP9qaGX/aWdl/2lnZf9pZ2X/U1RV/zxBRf88QUXqPEFFMDxBRQA7PkIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVJRwA8QUUAPEFFVzxBRfo9Qkb/W1tb/2poZf9pZ2X/aWdl/2po + Zf9XWFj/PEFF/0NHS/+ztLX/4uLi/+Li4v+8vb7/Vlte/zk+Qv9FSU3/p6mr//v7+/////////////// + /////////////////////////////////////////v7+//r6+v/19fX/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//T09P/6+vr//v7+//////////////////////////////////// + ///////////////////7+/z/p6qr/0VKTf85PkL/Vlpd/7y9vv/i4uL/4uLi/72+v/9ITVD/O0BE/1RV + Vv9pZ2X/aWdl/2lnZf9qaGX/W1xb/z1CRv88QUX7PEFFWjxBRQA6PUEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1CRAA7QEYAPEFFfTxBRf9ARUj/YWBf/2lnZf9pZ2X/aWdl/2ln + Zf9PUVL/Oj9D/1NXW//Mzc3/4eHh/+Dg4P/i4eH/tba4/1JWWf85PkL/RElN/6Wnqf/6+vr///////// + ///////////////////////////////////////////////////+/v7/+/v7//b29v/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/29vb/+/v7//7+/v////////////////////////////////////////////// + //////////////v7+/+lqKr/RElN/zk+Qv9RVln/tba3/+Hh4f/g4OD/4eHh/9PT1P9bX2L/Oj9D/0xO + UP9oZmX/aWdl/2lnZf9pZ2X/YmFg/0FFSP88QUX/PEFFgTxBRgA8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA9QkUBPEFFmjxBRf9DR0r/ZWRi/2lnZf9pZ2X/aWdl/2hm + ZP9JTE7/OT5C/2VpbP/Z2dr/4ODg/+Dg4P/g4OD/4eHh/7K0tf9SVln/OT5C/0NITP+cnqD/9/f3//// + ///////////////////////////////////////////////////////////////////9/f3/+Pj4//T0 + 9P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx + 8f/09PT/+Pj4//z8/P////////////////////////////////////////////////////////////// + ////////9/f3/52fof9DSEz/OT5C/1FVWf+xs7T/4eHh/+Dg4P/g4OD/4ODg/9zc3P9vc3b/OT5C/0ZK + TP9nZWT/aWdl/2lnZf9pZ2X/ZWRj/0RIS/88QUX/PEFFnz1ARgI8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUFPEFFsztBRf9HSk3/Z2Vk/2lnZf9pZ2X/aWdl/2Zl + Y/9GSUz/OT5C/3V4e//d3d3/4ODg/+Dg4P/g4OD/4ODg/+Hh4f+ztLX/VFhb/zk+Qv9ARUn/jpGT/+/v + 7/////////////////////////////////////////////////////////////////////////////7+ + /v/8/Pz/+Pj4//X19f/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/19fX/+Pj4//z8 + /P/+/v7///////////////////////////////////////////////////////////////////////// + ///v7/D/jZCT/0BFSf85PkL/VFhb/7O0tf/h4eH/4ODg/+Dg4P/g4OD/4ODg/9/f3/9/goT/OT5C/0RI + Sv9lY2L/aWdl/2lnZf9pZ2X/Z2Zk/0hLTf87QUX/PEFFuDpDRwY6REcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADlFRwA6Q0cIPEFFvztARf9KTU//aGZk/2lnZf9pZ2X/aWdl/2Vk + Yv9ESEv/OT5C/3t+gP/e3t7/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/ubq8/1peYf86P0P/PEFF/3h8 + fv/h4uP///////////////////////////////////////////////////////////////////////// + ///////////////////9/f3/+/v7//j4+P/29vb/9PT0//Ly8v/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx8f/y8vL/9PT0//b29v/4+Pj/+/v7//39/f////////////// + /////////////////////////////////////////////////////////////////////////////+Hi + 4v95fH//PEFF/zo/Q/9aXmH/ubq7/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P+ChYf/OT5C/0NH + Sv9kY2H/aWdl/2lnZf9pZ2X/aGZk/0tNUP87QEX/PEFFxDtCRQs7Q0UAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpCRAA7QkQLPEFFxDtARf9LTlD/aGZk/2lnZf9pZ2X/aWdl/2Zk + Y/9FSEv/OT5D/3R3ef/b29v/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4uHh/8LDw/9nam3/O0BE/zo/ + Q/9hZWn/x8nK//7+/v////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//7+/v/8/Pz/+/v7//r6+v/6+vr/+fn5//n5 + +f/5+fn/+fn5//r6+v/6+vr/+/v7//z8/P/+/v7//v7+//////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7/yMnK/2Jl + af86P0P/O0BE/2Zqbf/CwsP/4uLh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9ra2v96fH7/OT9D/0NH + Sv9kY2H/aWdl/2lnZf9pZ2X/aGZk/0xOUP87QEX/PEFFyDxBRhA7QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpCRgA7QkYLPEFFwztARf9LTU//aGZk/2lnZf9pZ2X/aWdl/2dl + ZP9GSkz/Oj9D/2dqbP/Pzs7/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Li4v/Nzs7/eHt+/z9E + R/85PkL/TVFV/6Olp//y8vP///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////Lz8/+jpaf/TFFU/zk+ + Qv8/Q0f/eHt+/83Ozv/i4uL/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/83My/9tb3L/Oj9D/0VI + S/9mZGP/aWdl/2lnZf9pZ2X/aGZk/0xOUP87QEX/PEFFyTxBRhA8QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRgA7QkYGPEFFuTtARf9JTE//aGZk/2lnZf9pZ2X/aWdl/2hm + ZP9KTU//Oj9D/1hcX/+9u7v/2tra/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/2NjY/5KU + lv9ITFD/OT5C/z5DR/93en3/1NXW//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////1NbW/3d7ff8+Q0f/OT5C/0hN + UP+SlZb/19jY/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/19fW/727u/9dYGP/Oj9D/0lM + Tv9oZmT/aWdl/2lnZf9pZ2X/aGZk/0tNT/87QEX/PEFFwTxARgk9QEYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUDPEFFqTtARf9IS07/aGZl/2lnZf9pZ2X/aWdl/2ln + Zf9RU1T/O0BE/0pOUf+qqan/ysnI/93d3P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/9/f + 3/+vsLL/XWFk/ztARP85PkL/UVVZ/6Gjpf/s7e3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+zt7f+hpKb/UVVZ/zk+Qv87QET/XWFk/66w + sf/f39//4eHh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/b29r/yMbF/62srP9MUVT/OkBE/09R + U/9pZ2X/aWdl/2lnZf9pZ2X/aGdl/0lMT/87QEX/PEFFszxBRAU8QUQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA6REkAPEFFiztARf9GSk3/amlo/2lnZf9pZ2X/aWdl/2po + Zf9aWlr/PUJG/z5DRv+QkJH/wsC//8vKyf/d3Nz/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/i4uL/y8zM/4CDhf9ESU3/OT5C/z1CRv9mam3/ury9//T19f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////09fX/uru9/2drbv89Qkb/OT5C/0RJTf9/goX/y8vM/+Li + 4v/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9vb2//Ix8b/wsC+/5OUlP8/REf/PEFF/1lZ + Wf9qaGX/aWdl/2lnZf9pZ2X/a2lo/0dLTv87QET/PEFFljpAQwE8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRwA8QUUAPEFFaTxBRf9BRUn/bm1t/2xqZ/9pZ2X/aWdl/2ln + Zf9jYmH/QkZJ/zo/Q/9oa23/vLu6/8C+vf/Ix8b/2djY/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4eHh/9zc3P+sra//YGRn/z1CRv84PkL/QkdL/3J2eP/AwcP/9PT0//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////9PX1/8HCw/9zd3n/QkdL/zg+Qv88QUX/YGRn/6utrv/c3Nz/4eHh/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/2NjY/8fGxf/Avr3/vbu7/2tucP86P0P/QkZJ/2Jh + YP9pZ2X/aWdl/2lnZf9raWf/b25t/0JHSv88QUX/PEFFczxBRQA8QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpARgA8QUUAPEFFQDxBRfE8QUX/aGhp/3VzcP9pZ2X/aWdl/2ln + Zf9pZ2X/TlBS/ztARP9GSk7/oKCg/8LAv//Avr3/w8LB/9HQz//c3Nz/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/i4uL/0NHR/5SWmP9SVln/O0BE/zk+Qv9DSEz/b3N2/7W3uP/r7Oz///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+vs7P+3ubr/cXV4/0NITP85PkL/O0BE/1FWWf+SlZb/0NDR/+Li4v/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9zc3P/R0M//w8LB/8C+vf/CwL//oqGh/0dLT/87QET/TU9R/2hm + Zf9pZ2X/aWdl/2lnZf9zcW//a2tr/z1CRv88QUX2PEFFSjxBRQAxNjoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEFFGTxBRdQ7QET/WFpc/4J/ff9samj/aWdl/2ln + Zf9qZ2X/Xl5d/z9ER/86P0T/aGtt/7q5uP/Bv77/wL69/8C+vf/GxMP/0M/P/9nY2P/d3d3/4N/f/+Dg + 4P/g4OD/4ODg/+Dg4P/e3t7/3Nvb/9TT0/+xsLD/eHp8/0tPUv86P0P/OD1B/z9ESP9fY2b/mJud/9PU + 1f/19fX///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////X1 + 9f/T1NX/mpye/2BkZ/8/REj/OD1B/zo/Q/9LT1P/eHp7/7CwsP/U09P/3Nvb/97e3v/g4OD/4ODg/+Dg + 4P/g4OD/4N/f/93d3f/Z2Nj/0M/O/8bEw//Avr3/wL69/8G/vv+6ubj/aWtu/zpARP8/Q0f/XV1d/2pn + Zf9pZ2X/aWdl/2tpZ/+Bfnz/W11f/ztARP88QUXcO0FFIDxBRQBVVVUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QkUAO0NFAzxBRaA7QET/RkpN/4B+ff97eHf/aWdl/2ln + Zf9pZ2X/aGZk/05QUv87QET/QEVI/4iJiv/Avr3/wL69/8C+vf/Avr3/wL69/8LAv//GxcT/ysnI/83M + y//Ozc3/zczM/8vKyf/HxsX/w8HA/8C+vv/Bv77/v728/6inp/96fH3/UVVY/z5DR/86P0P/O0BE/0lO + Uv9ucXX/oKOl/8zNzv/t7e7//Pz8//////////////////////////////////////////////////// + /////////////////////////////////////////////////////////Pz8/+7u7//P0NH/oKOl/21x + dP9JTlL/O0BE/zo/Q/8+Q0b/UFRX/3p8ff+op6f/v728/8G/vv/Av77/w8HA/8fGxf/Lysn/zczM/87N + zf/NzMv/ysnI/8bFxP/CwL//wL69/8C+vf/Avr3/wL69/8C+vf+HiIn/QEVI/ztARP9NUFL/aGZk/2ln + Zf9pZ2X/aWdl/3l2dP+CgH//SU1Q/ztARP88QUWsO0BEBztARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QEQAPEFFADxBRVg8QUX6PEFF/2pqa/+Kh4X/dHJw/2ln + Zf9pZ2X/aWdl/2JhYP9DR0r/O0BE/0dMT/+VlZb/wb++/8C+vf/Avr3/wL69/8C+vf/Avr3/v728/8C+ + vf/Avr3/wL69/7+9vP/Avr3/wL69/8C+vf/Avr3/wL69/8LAvv/CwL//mpqb/0pOUv87QET/PEFF/ztA + RP85PkL/Oj9D/0VKTv9fY2b/goWI/6epq//Iycr/39/g/+/v8P/5+fn//f39//////////////////// + /////////////////////////f39//n5+f/v7/D/39/g/8jJyv+nqav/goWI/2BkZ/9HTE//Oj9D/zk+ + Qv87QET/PEFF/ztARP9FSU3/kJGR/8G/vv/CwL//wL69/8C+vf/Avr3/wL69/8C+vf+/vbz/wL69/8C+ + vf/Avr3/v728/8C+vf/Avr3/wL69/8C+vf/Avr3/wL69/5KTk/9HS07/O0BE/0NHSv9iYWD/aWdl/2ln + Zf9pZ2X/cnBu/4qGhP9ubm//PUJG/zxBRf08QUVlPEFFAEFGSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRhk8QUXOO0BE/05RVP+Gg4L/iIWD/3Fv + bf9pZ2X/aWdl/2lnZf9bW1v/P0RH/zpARP9JTVH/j4+Q/768u//Bv77/wL69/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wL69/8C+vf/Avr3/wb++/7+9vP+bm5v/WFxf/zxBRf88QUX/SEtO/1FS + VP9KTVD/QUZJ/ztARP86P0P/OT5C/zxBRf9CR0r/UFRY/2BkZ/9xdHf/g4eJ/5GUlv+doKL/pKao/6iq + rP+oqqz/pKao/52gov+RlJb/g4aJ/3B0d/9gZGf/UFRY/0JHSv88QUX/OT5C/zo/Q/87QET/QUVJ/0pN + UP9RU1T/TE5Q/z1BRf88QUX/TlJV/42Ojv+7ubj/wsC//8C+vf/Avr3/wL69/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wL69/8G/vv+9u7r/i4yN/0hMUP86QET/QERI/1tbW/9pZ2X/aWdl/2ln + Zf9vbWv/hoOB/4iFhP9SVVf/O0BE/zxBRdk8QUUhPEFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JGAD5AQwA8QUV3PEFF/j1CRv9ra2v/jYqI/4aD + gf9xb23/aWdl/2lnZf9pZ2X/V1hY/z9DR/87QET/Q0hL/3Z4ev+ura3/wb++/8G/vv/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wb++/8LAv/+/vr3/qqqp/3d4ev9GSk7/OkBE/zxBRf9MTlD/ZWRj/3h1 + c/+DgX//enl4/2ZnaP9ESEv/PEFF/zxBRf88QUX9O0BE/zo/Q/85PkL/OT5C/zk/Q/86P0P/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/85P0P/OT5C/zk+Qv86P0P/O0BE/zxBRf48QUX/PEFF/0RJTP9mZ2j/eXh3/4OB + f/93dXP/aGZk/1FSVP8+Q0b/OkBE/0BFSf9pa27/oJ+g/7y6uv/CwL//wb++/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8G/vv/CwL//wL69/6qpqf9xc3X/QUZK/ztARP8/REf/WFlZ/2lnZf9pZ2X/aWdl/3Bt + a/+EgX//jYqI/3BwcP8/Q0f/PEFF/zxBRYY/UEsAPEJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT9EADxBRQA8QUYfPEFF0TtARP9JTE//f359/42K + iP+HhIL/c3Fv/2lnZf9pZ2X/aWdl/1hZWf9BRUn/O0BE/zxBRf9SVVn/gIGD/6empv+6uLf/wL69/8G/ + vv/CwL//wsC//8G/vv++vbz/tLOz/52dnf91d3n/TVFU/ztARP87QET/P0RH/1NUVf9raWf/fnx5/4uI + hv+Nioj/jYqI/25ubv9ARUn/PEFF/zxBRco8QUVoPEFFgjxBRaE8QUW8PEFFzzxBRdk8QUXiPEFF5jxB + Rek8QUXpPEFF5jxBReI8QUXZPEFFzzxBRbw8QUWhPEFFgTxBRWo8QUXOPEFF/0FGSf9wcHD/jYqI/42K + iP+LiIb/fnt5/2xqaf9YWFn/QkZJ/ztARP86P0P/RUpO/2hrbf+RkpL/rays/7u5uP+/vr3/wb++/8G/ + vv/Avr3/vry8/7a0tP+goKD/eHp7/01RVf87QET/O0BE/0JGSf9aWlr/aWdl/2lnZf9pZ2X/cnBu/4aD + gf+Nioj/g4GA/01QU/87QET/PEFF3TxBRSk8QUUAPUFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAAD9BQgA7QUYAPEFFZTxBRfk7QEX/WVtd/4iG + hP+Nioj/iYaE/3l3df9samf/aWdl/2lnZf9fXl7/SUxO/z1CRf86P0T/PEFF/0hMUP9dYGP/c3V3/4KD + hP+IiYr/hoeI/3x+f/9qbW//VVhc/0JHS/86QET/OkBE/z1CRv9IS07/X19f/3Vzcf+Gg4H/jImH/4yJ + h/+MiYf/cXFx/0NHS/87QEX/PEFF4TxBRT48QUQAPEFDADtBRQQ7QkUJPEFFEjxBRR08QkUoPEFFLTxB + RTE8QUUxPEFFLTxCRSg7QUUdPEFFEjtCRQk8Q0QEO0BGADxBRQA8QUVEPEFF5TtARP9ESEz/dHNz/42K + h/+MiYf/jImH/4aDgf92dHL/Y2Jh/01PUf8/REf/O0BE/zo/Q/8+Q0f/TFBU/19iZP9wcnT/enx+/31/ + gP93eXv/aWtu/1ZaXf9ESEz/O0BE/zpARP89Qkb/Sk1P/2BfX/9pZ2X/aWdl/2tpZ/95d3X/iIaE/42K + iP+Kh4X/X2Bi/zxBRf88QUX9PEFFdjtETgA9QEIAOkZGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1BRAA8QUYAPEJGDTxBRag8QUX/PkNG/2Zn + aP+LiIb/jImH/4yJh/+DgH7/dHFv/2tpZ/9pZ2X/ZmRj/1dYWP9HSkz/PkJG/ztARP86P0P/Oj9D/zpA + RP87QET/O0BE/zo/Q/86P0P/Oj9D/ztARP8/Q0f/SUxO/1xcXP9ycG7/goB+/4uIhv+MiYf/jImH/4yJ + h/9wb3D/REhM/ztARP88QUXsPEFFWT5CRwA7QUYAPEFHADxBRQA7QUUAPEFFADxBRQA8QkUAPEFFADxB + RQA8QUUAPEFFADxCRQA7QUUAPEFFADtCRQA8QkUAPUNEADxBRgA7P0QAPEFFXzxBRe87QET/RUpN/3Jy + cv+MiYf/jImH/4yJh/+LiIb/g4B+/3Nxb/9gYF//TVBR/0FGSf88QUX/OkBE/zk/Q/86P0P/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/87QET/P0NH/0lMTv9aWlr/ZmVj/2lnZf9raWf/dHFv/4OAfv+MiYf/jImH/4yJ + h/9sbG3/P0RI/zxBRf88QUW5PEBFFDxARQA9QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QUUAPEFGADtBRSk8QUXRPEFF/0BF + SP9ra2z/i4iG/4yJh/+MiYf/ioeF/4J/ff92dHL/bWtp/2poZv9lZGL/XFxb/1BSU/9HS03/QkZJ/0BE + SP8/REf/P0RH/0FFSP9ER0r/S01P/1ZXWP9mZWT/d3Vz/4SBf/+LiIb/jImH/4yJh/+Nioj/ioeF/2lq + a/9CRkr/O0BE/zxBRe88QUVmQUhCATxCRAA7QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRgA8QUYAPENJAjxBRW48QUXzO0BE/0NH + S/9sbW3/i4iG/42KiP+MiYf/jImH/4uIhv+EgX//eHZ0/2loZ/9aW1v/T1FS/0dKTf9DR0r/QUVJ/0FF + Sf9CRkn/RUhL/0tNT/9TVFX/Xl5d/2ZlY/9qaGb/bmtp/3Z0cv+Cf33/ioeF/4yJh/+MiYf/jImH/3Fx + cf9DR0v/O0BF/zxBRd48QUU3PUFFAEBFSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkcAPEJGADxBRAA8QUVFPEFF4jtB + Rf9BRUn/aGlp/4qHhf+Nioj/jImH/4yJh/+LiIb/h4SC/4B9e/94dnT/c3Fv/29ta/9raWf/Z2Zk/2Rj + Yv9jYmL/ZWRk/2ppaP9ycG7/enh2/4OAfv+JhoT/jImH/4yJh/+MiYf/jImH/42KiP+DgYD/XV9g/z9E + R/87QUX/PEFF6DxBRWA8PEICPEFEAD1CRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQA8QUYAPEFGADxARwQ8QUVpPEFF7DtA + Rf9AREj/YGJj/4WCgf+Nioj/jImH/4yJh/+MiYf/jImH/4mGhP+DgH7/e3l2/3Nxb/9ta2r/aGdl/2Zl + ZP9mZWT/aWdm/2xqaP9wbWv/c3Fv/3h2dP+AfXv/h4SC/4uIhv+MiYf/jImH/4yJh/+LiIb/b29v/0RI + S/87QET/PEFF7DxBRVY5QUMAPUBFADI2OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFGADxBRQA8QEcAPEFFUTxB + ReQ7QUX/P0NH/15fYf+DgX//jYqI/4yJh/+MiYf/jImH/42Jh/+MiYf/i4iG/4mGhP+HhIL/hoOB/4aD + gf+IhYL/iYaE/4qHhf+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+Nioj/ioeF/3Nycv9OUVT/PEFF/zxB + Rf88QUXaPEFFT0Y0XgA8QEQAPEBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBGADxARQA3REIBPEFFVzxB + ReA8QUX/PEFF/1FTVv92dXX/i4iG/42KiP+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+Kh4X/iYaD/4eE + gv+Gg4H/hoOB/4eEgv+JhoT/i4iG/4yJh/+MiYf/jImH/4yJh/+MiYf/jYqI/4aEgv9kZWb/QUVJ/ztA + RP88QUXuPEFFZTtGRAE9QUUAPUFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRAA8QUQAPEJGADxB + RUo8QUXYPEFF/zxBRf9NUFP/cnFx/4mGhP+Nioj/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jYqI/4qHhv95eHf/Wlxe/0BFSP87QET/PEFF/jxB + RbU8QUUyPEFGADxBRAA8QkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRAA8QkUAPUBGADxB + RTo8QUW/PEFF/ztARP9CRkr/Xl9h/317ev+LiIb/jYqI/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/42KiP+LiIb/eHd3/1NWWP89Qkb/PEFF/zxB + ReU8QUVdO0hIAjxCRgA9QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEBFADxB + RAA8QUUzPEFFtzxBRf07QET/QERI/1VYWv9zcnL/hoOC/4yJh/+Nioj/jYqI/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+Nioj/jYqI/4yJh/+Fg4H/c3Jy/1lbXf9CR0r/O0BE/zxBRf88QUXkPEFFfDxB + RRQ8QUUAPEJEADxCRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEJFADtA + RAA8QUUaPEFFiTxBReo8QUX/O0FF/0RJTP9dX2D/d3Z2/4eFg/+Niof/jYqI/42KiP+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jYmH/42KiP+Nioj/iYaE/3l4d/9cXV//QkdK/ztARP88QUX/PEFFyTxB + REQ/TEYAO0JFADtDRgBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + RdI8QUXZPEFF1zxBRc48QUW5PEFFmzxBRXM8QUVCPEFGFzA9XwA8QUUAPEFEAD5ESAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPj5EADY/QQA5PEAAO0FEADxBRQA8QUUAPEBGADxCRQU8QUULPEFFDjxB + RQ88QUUMPEFECDtAQgI8QUUAPEFFADxARQA9P0UAO0NGAEM6PwAAgIAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAyR08APEJFADxBRQA8QUUAPEFFADtBQwA8QUYHPEFFDTxB + RhI8QUUZPEFFFjxBRRA7QUUKO0BHAjxBRQA8QUUAPEFGADtBRwA9O0oAOkVGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+QkYAPEJEADxBRQA8QUUAPEFFADxB + RQA8QUUAPEFFADxBRAA/PkMAPj5EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAOkFJAD1BRgA8QUYAPEFFADxB + RgA8QUUAPEFFADxBRQA7QUUAPEFGADk9QgA6PkMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///////////////////8A////////////////////AP///////////////////wD///////////// + //////8A//////8AAAAAAP//////AP///+AAAAAAAAAAB////wD///4AAAAAAAAAAAB///8A///gAAAA + AAAAAAAAB///AP//4AAAAAAAAAAAAAf//wD//+AAAAAAAAAAAAAH//8A///gAAAAAAAAAAAAB///AP// + 4AAAAAAAAAAAAAf//wD//+AAAAAAAAAAAAAH//8A///wAAAAAAAAAAAAD///AP///4AAAAAAAAAAAf// + /wD////8AAAAAAAAAD////8A//////8AAAAAAP//////AP/////+AAAAAAA//////wD////4AAAAAAAA + AB////8A////wAAAAAAAAAAD////AP///gAAAAAAAAAAAH///wD///AAAAAAAAAAAAAP//8A///gAAAA + AAAAAAAAB///AP//wAAAAAAAAAAAAAP//wD//wAAAAAAAAAAAAAA//8A//4AAAAAAAAAAAAAAH//AP/8 + AAAAAAAAAAAAAAA//wD/+AAAAAAAAAAAAAAAH/8A//AAAAAAAAAAAAAAAA//AP/gAAAAAAAAAAAAAAAH + /wD/4AAAAAAAAAAAAAAAB/8A/8AAAAAAAAAAAAAAAAP/AP+AAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAA + AAAAAP8A/wAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAA/wD+AAAAAAAAAAAAAAAAAH8A/gAAAAAA + AAAAAAAAAAB/APwAAAAAAAAAAAAAAAAAPwD8AAAAAAAAAAAAAAAAAD8A+AAAAAAAAAAAAAAAAAAfAPgA + AAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPAAAAAAAAAAAAAAAAAA + DwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAA + AAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAA + AAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAA + AAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAA + DwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAA + AAAAAA8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAA + AAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD8AAAAAAAAAAAAAAAAAD8A/AAAAAAAAAAAAAAAAAA/APwA + AAAAAAAAAAAAAAAAPwD+AAAAAAAAAAAAAAAAAH8A/gAAAAAAAAAAAAAAAAB/AP4AAAAAAAAAAAAAAAAA + fwD/AAAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAA/wD/gAAAAAAAAAAA + AAAAAf8A/4AAAAAAAAAAAAAAAAH/AP/AAAAAAAAAAAAAAAAD/wD/wAAAAAAAAAAAAAAAA/8A/4AAAAAA + AAAAAAAAAAH/AP+AAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAD/AP4A + AAAAAAAAAAAAAAAAfwD+AAAAAAAAAAAAAAAAAH8A/gAAAAAAAAAAAAAAAAB/APwAAAAAAAAAAAAAAAAA + PwD8AAAAAAAAAAAAAAAAAD8A/AAAAAAAAAAAAAAAAAA/APgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAA + AAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAA + AAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgA + AAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAA + HwD8AAAAAAAAAAAAAAAAAB8A/AAAAAAAAAAAAAAAAAA/APwAAAAAAAAAAAAAAAAAPwD+AAAAAAAAAAAA + AAAAAD8A/gAAAAAAAAAAAAAAAAB/AP4AAAAAAAAAAAAAAAAAfwD+AAAAAAAAAAAAAAAAAH8A/wAAAAAA + AAAAAAAAAAD/AP+AAAAAAA//8AAAAAAA/wD/gAAAAAAf//AAAAAAAf8A/8AAAAAAP//8AAAAAAP/AP/g + AAAAAH///gAAAAAH/wD/8AAAAAD///8AAAAAB/8A//gAAAAB////gAAAAB//AP/8AAAAA////8AAAAA/ + /wD//wAAAA/////wAAAAf/8A///AAAA//////AAAAf//AP//4AAA//////8AAAf//wD///8AH/////// + 8AB///8A////////////////////AP///////////////////wD///////////////////8A//////// + ////////////AA== + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Forms/FrmTransparent.Designer.cs b/JinYuan.ControlLib/Forms/FrmTransparent.Designer.cs new file mode 100644 index 0000000..73670a4 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmTransparent.Designer.cs @@ -0,0 +1,73 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib.Forms +{ + /// + /// Class FrmTransparent. + /// Implements the + /// + /// + partial class FrmTransparent + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmTransparent)); + this.SuspendLayout(); + // + // FrmTransparent + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.Black; + this.ClientSize = new System.Drawing.Size(284, 262); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "FrmTransparent"; + this.Opacity = 0.5D; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FrmTransparent"; + this.Load += new System.EventHandler(this.FrmTransparent_Load); + this.ResumeLayout(false); + + } + + #endregion + } +} \ No newline at end of file diff --git a/JinYuan.ControlLib/Forms/FrmTransparent.cs b/JinYuan.ControlLib/Forms/FrmTransparent.cs new file mode 100644 index 0000000..a7689f2 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmTransparent.cs @@ -0,0 +1,169 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.Forms +{ + /// + /// Class FrmTransparent. + /// Implements the + /// + /// + public partial class FrmTransparent : FrmBase + { + /// + /// The wm activate + /// + private const int WM_ACTIVATE = 6; + + /// + /// The wm activateapp + /// + private const int WM_ACTIVATEAPP = 28; + + /// + /// The wm ncactivate + /// + private const int WM_NCACTIVATE = 134; + + /// + /// The wa inactive + /// + private const int WA_INACTIVE = 0; + + /// + /// The wm mouseactivate + /// + private const int WM_MOUSEACTIVATE = 33; + + /// + /// The ma noactivate + /// + private const int MA_NOACTIVATE = 3; + /// + /// Gets the create parameters. + /// + /// The create parameters. + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED + return cp; + } + } + /// + /// Gets or sets the frmchild. + /// + /// The frmchild. + public FrmBase frmchild + { + get; + set; + } + /// + /// Initializes a new instance of the class. + /// + public FrmTransparent() + { + InitializeComponent(); + + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + + MethodInfo method = base.GetType().GetMethod("SetStyle", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod); + method.Invoke(this, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod, null, new object[] + { + ControlStyles.Selectable, + false + }, Application.CurrentCulture); + } + + /// + /// 引发 事件。 + /// + /// 一个包含事件数据的 。 + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + base.ShowInTaskbar = false; + base.ShowIcon = true; + } + /// + /// Sets the active window. + /// + /// The handle. + /// IntPtr. + [DllImport("user32.dll")] + private static extern IntPtr SetActiveWindow(IntPtr handle); + + /// + /// WNDs the proc. + /// + /// 要处理的 Windows 。 + protected override void WndProc(ref Message m) + { + if (m.Msg == 33) + { + m.Result = new IntPtr(3); + } + else + { + if (m.Msg == 134) + { + if (((int)m.WParam & 65535) != 0) + { + if (m.LParam != IntPtr.Zero) + { + FrmTransparent.SetActiveWindow(m.LParam); + } + else + { + FrmTransparent.SetActiveWindow(IntPtr.Zero); + } + } + } + else if (m.Msg == 2000) + { + } + base.WndProc(ref m); + } + } + + /// + /// Handles the Load event of the FrmTransparent control. + /// + /// The source of the event. + /// The instance containing the event data. + private void FrmTransparent_Load(object sender, EventArgs e) + { + if (frmchild != null) + { + frmchild.IsShowMaskDialog = false; + var dia = frmchild.ShowDialog(this); + this.DialogResult = dia; + } + } + } +} diff --git a/JinYuan.ControlLib/Forms/FrmTransparent.resx b/JinYuan.ControlLib/Forms/FrmTransparent.resx new file mode 100644 index 0000000..be524d1 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmTransparent.resx @@ -0,0 +1,1185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAeIAAAAEAIAAo+AAAFgAAACgAAAB4AAAAAAEAAAEAIAAAAAAAAPAAAGDqAABg6gAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVAG9vbwBCQkQAPz9LADw9 + RQA7P0cAPEBHAD1ARgA9QUYAO0BGADtDRQA7QUEAO0BAADk+PgA9QkIAPkJCADtBRAA4RkgAOUZGADxA + QAA8QEAAOUZGADhGSAA7QUQAPkJCAD1CQgA5Pj4AO0BAADtAQQA7QEUAO0BGAD1BRgA9QEYAPEBHADs/ + RwA8PUUAPz9LAEJCRABvb28AVVVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUAGRksAD4+ + RAA4QUUAOEBEADk7PABBQ0MAO0NFADs/RwA6QUUAPENDADxDQwA8Q0MAPENDADtCQwA1REIASjRkADw3 + RgE6PUoBPD9JAT0/RwI9QEcCO0BGAjtDRQI7QUEDO0BABDk+PgQ+QkIEPkJCBTtBRAU4R0gFOUZGBTxA + QAY8QEAGOUZGBThHSAU7QUQFPkJCBT5CQgQ5Pj4EO0BABDtAQQM7QEUCO0BGAj1ARwI9P0cCPD9JATo9 + SgE8N0YBSjRkADVEQgA7QkMAPENDADxDQwA8Q0MAPENDADxBQwA8QUcAPUFIADdGSQA3SUkAOz9DADlC + RgBAP0UAGxsvAFVVVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tQwAkIz8APDxLADxCRAA8QkUAO0JEADtE + QwBaUDUAMztIADo8PwFBQ0MDO0NFBDtARgY4P0cIPEFDCz1BRQ08QkUPPEFDETtBRBM8Q0MVPENEFzxC + Qxk8QkQaPEJEGzxCRBw8QkQdPEJEHjxDRB88Q0MgPENDIDxDQyA8Q0MhPENDITxDQyE8Q0QhPENDITxD + QyI8Q0MiPENDITxDRCE8Q0MhPENDITxDQyE8Q0MgPENDIDxDQyA8QkQfPEJEHjxCRB08QkQcPEJEGzxC + RBo8QkMZPENEFzxDQxU7QUQTPEFDETxCRQ89QUUNPEFBCzo/QQg8QUcGPUFHBTdFSAM4R0gBNTtIAFFJ + MAA6REMAO0JEADxCRQA8QEQAPD1LACQjPwAtLUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAMzMzAERQVAA+RkgAPkNFAD1CRABETUMAPDtNATxCRAQ8QkUIO0JFDDxC + RBA7QkQVO0JEGTxCQxw8Q0MePENDIDxCRCI8Q0QkPENDJTxDQyU8Q0MmPENDJjxDQyY8Q0MnPENDJzxD + Qyc8Q0MnPENDJzxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxD + Qyc8Q0MnPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MlPENDJTxDQyQ8Q0QjPENEITtDRB88Q0QcO0JEGTtD + RBU8QkQQO0JFDDxBRQg8P0QEPDtNAURMQwA8QkQAPkNFAEBHSgBHUlYAMzMzAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPkREAEBGRwA4SlMAPUJEBTtBQgw8Q0QUPEJEGzxDQyA8Q0MjPENDJTxD + QyY8Q0MmPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MnPENDJzxD + QyY8Q0MmPENDJTxDQyM8QkMgPEJEGzxERBQ8QUIMPUJEBUJVXwBBRkcAPkREAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAP0REAEFDRAI8QkMTPENDIDxDQyU8Q0MmPENDJzxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxDQyY8Q0MlPENEIDxCRBNBQ0QCP0REAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPkNDAD9ERAY8QkMhPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MnPENDJz1CQyFAREQGPkNEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAP0BAAD86PAA7P0IIPUJEFDxCRB48Q0MjPENDJjxDQyY8Q0MnPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyc8Q0MmPENDJjxDQyM8QkMePUJDFDtAQghDP0AAQ0NEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQEBAAEE+QAA7P0IAEjkEADlDRgM5QkIIOkNEDjxCRBQ8Q0MZPEJDHjxD + QyE8Q0MjPENDJTxDQyY8Q0MmPENDJjxDQyc8Q0MnPENDJzxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJTxDQyQ8Q0MjPENDIzxDQyQ8Q0MlPENDJTxD + QyY8Q0MmPENDJTxDQyU8Q0MkPENDIzxDQyI8Q0MjPENDJTxDQyU8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxDQyc8Q0MnPENDJjxDQyY8Q0MmPENDJTxD + QyM8Q0MhPEJDHjxDQxk8QkQUO0NFDjpDQgg7PkYDE3Y6ADs/QgBFQUQAREREAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQAAADYAPUZMADhERQA7Q0MAPENCAEFJSAA8QkQBO0BEAjtB + RgU5Q0QIPUFECzxBQg49Q0IRPENEFDxBRRc8QkUaPEJDHTxDQx48Q0MgPEJDITxDRCM8Q0MkPENDJDxD + QyU8Q0MlPENDJTxDQyY8Q0MmPENDJDxDQyM8Q0MlPENDMDxCREM8QkVcPEFFdDxBRYs8QUWdPEFFqTxB + RbA8QUWyPEFFrjxBRaU8QUWXPEFFhDxCRW08QkRVPEJDPTxCQy08Q0MkPENDIzxDQyU8Q0MmPENDJTxD + QyU8Q0MlPENDJDxDQyQ8Q0QjPEJDITxDQyA8Q0MePEJDHTxCRBo8QkUYPEJFFTxDRBI9QkMPPkFECzpE + RQg7QUcFOz9EAj5ERgE+RkYAPUNDADxERAA6PkYAPTtHAAAABwBVVVUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4ADAzMgA8QkQAO0BEADtC + RgA6Q0QAPUFEAD5ERgA6REQAPkM+AAAA/wBAQ1sBOjxHAjxCRQM7QEUEOkBFBTtCRQY9Q0MIPEFECTxC + Qws9QkUMO0JEDTxBRAs9Q0QRPEFGLTxBRWA8QUWaPEFFxjxBReQ8QUX1O0BE/jtARP87QET/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/87QET/O0BE/zxBRfw8QUXwPEFF3jxBRb08QUWNPEFFUjxCRSM8QUUNO0NECztC + RQw8QkMLPEFECT1DQwg7QkUGOkBFBTtARQQ8QkUDOjxHAkRDWQFAL24AOksuADxDQAA8QkQAPUFEADpE + RQA7QkYAO0BEAD1ERQA1OTgAPz8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAARkZGAC0tLQBAQUEAO0NFAEhPOgBGR2MAOjtHAD1CRgA7QEYAOj9FADtCRQA8Q0MAPEJDADxC + RAA8QUUAO0JGDDxBRUQ8QUWUPEFF1TxBRfc7QET/Oj9D/zo/Q/88QUX/REhM/0tQU/9SV1r/Wl5i/19j + Zv9hZWj/XWFl/1dbX/9PVFf/SU1R/0FGSv87QET/Oj9D/zo/Q/87QET/PEFF8jxBRck8QUWBPEFFMztD + SAU8QUUAO0JEADxDQwA7QkUAOj9FADtARgA9QkYAOjtHAEdHYwBHUDwAPUFIADxDRwBCQkEAR0dHAEBA + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0BGADxBRQA8QEYAPEFGAD1B + RQ08QUVUPEFFtjxBRfI7QET/Oj9D/z1CRv9MUVT/aGxv/4mMjv+oqqv/vr/A/8/Q0f/b3Nz/4ODh/+Li + 4//j4+P/4eHi/97f3//X2Nn/ysvM/7i5u/+goqT/gIOG/2FlaP9HTFD/O0BE/zo/Q/87QET/PEFF6DxB + RaA8QUU+OUJGBTxCRQBCQ0UAP0NGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QUQASzZFADxBRQA8P0gDPEFFRjxB + RbM8QUX2O0BE/zo/RP9KT1P/c3d5/6aoqf/P0NH/5+fn//Dw8P/z8/P/8/Pz//Ly8v/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/y8vH/8vLy//Pz8//y8vL/7+/v/+Lj4//HyMn/m52f/2hsb/9ESU3/Oj9D/ztA + RP88QUXsPEFFljxBRSg5P0QAPEFFAD1ARQA2Q0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBM + UwAmWGIAPEFGADxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRR08QUWMPEFF7TtA + RP87QET/UlZa/42Qkv/Jy8v/6urq//Ly8v/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/y8vL/8vLy/+Xl5f+9vr//fH+C/0hN + Uf86P0P/PEFF/zxBRdc8QUVgPEBEBzxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRQA8QUUAO0FFADRL + TwA2SEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRQA7REQAPEFFADxB + RQA8QUQAPUJEADxARQI8QUUFPEFFBzxBRQg8QUUIPEFFCDxBRQg8QUUIPEFFPzxBRcU8QUX/Oj9D/0pP + U/+LjZD/0NHS//Dw8P/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/z8vL/6+zs/8HD + xP90eHr/QUZJ/zo/RP88QUX1PEFFkTxBRRo8QUUHPEFFCDxBRQg8QUUIPEFFCDxBRgY7QkYDPUBEADxB + RQA8QUUAPEFFAD1DQwA9Q0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA9QUUAPEFFADxBRQA3W0UAPEFFFDxB + RTQ8QUVdPEFFgDxBRZ08QUWxPEFFvDxBRcI8QUXDPEFFwzxBRcM8QUXEPEFF5ztARP89Qkb/bXF0/8LD + xP/u7u7/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/n5+j/qKmr/1RYXP86P0P/PEFF/TxBRdM8QUXCPEFFwzxBRcM8QUXDPEFFvjxBRbM8QUWfPEFFgzxB + RWA8QUU3PEFFFT1HPwE8QUUAPUFFAD1ARAA9QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/RUcAP0RGAD1BRQA7QUUAPEFFFDxBRUs8QUWSPEFFyzxB + Re08QUX8O0BE/zo/Q/86P0P/Oj9D/zo/Q/86P0P/Oj9D/zo/Q/86P0P/OT5C/0VKTv+SlZf/4uPj//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/x8fH/8fHx/8vMzf9rb3L/O0BE/zk+Q/86P0P/Oj9D/zo/Q/86P0P/Oj9D/zo/Q/86P0P/O0BE/zxB + Rf08QUXuPEFFzjxBRZU8QUVQPUFGFztCRgA8QUUAO0BCAD0+QAAAgIAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAOkVGAC5fRwA8QUUAOj9FAD1BRSI8QUV1PEFFyDxBRfU7QET/OT5D/ztA + RP9BRkr/TlNW/1tfYv9mam3/b3N1/3N2ef90d3r/c3d6/3N3ev9zdnn/eHx+/7O1t//t7e3/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/c3N3/j5GT/3N2ef9zd3r/c3d6/3N3ev9zd3r/cHR3/2hsbv9cYGP/T1RX/0JH + Sv87QET/OT5D/ztARP88QUX3PEFFyzxBRXc8QUUjPUNGADxBRAAoblQAOkVGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA8QEUAPUFGADxARQA8QUUZPEFFdjxBRdY8QUX+Oj9D/zxBRf9NUlX/cHN2/5ib + nf+7vb7/0dLT/+Dh4f/o6On/6urr/+vr6//r6+v/6+vr/+vr6//r6+v/7Ozt//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6uvr/+np6f/i4uL/09TU/72/ + wP+bnZ//cnZ4/05TVv88QUX/Oj9D/zxBRf88QUXYPEFFdztCRBk8QEUAPUFEAD1ARAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAOkJCAD1BRgA8QUQAPT9GBDxBRU88QUXFPEFF/jo/Q/8/REj/YmZp/5yeoP/Pz9D/6enq//Ly + 8v/z8/P/8vLy//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8vLy//Pz + 8v/y8vL/6urq/9DR0v+eoKL/Y2dq/0BFSf86P0P/PEFF/jxBRcY8QUVPPkBEBD1BRQA7QUQAP0BHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA+QUYAQEFGADxBRQA8QUQVPEFFijxBRfA7QET/PUJG/2Jmaf+qrK3/4OHh//Ly8v/y8vL/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/y8vL/4eHi/6utr/9jZ2r/PUJG/ztARP88QUXwPEFFij1BRRU8QUUAOEdJADpF + RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpE + RwA8Q0cAO0FFADxBRSo8QUW1PEFF/jo/Q/9NUlb/mJqc/97e3//y8vL/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/9PU + 1P/T1NT/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/e39//mZud/05TVv86P0P/PEFF/jxBRbQ8QUUrPj9DADtB + RAA7PkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOURIADpE + RwA9P0UAPEJGOzxBRc07QUX/PEFF/2hsb//Excb/8PDw//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/0NHS/1ld + YP9ZXWD/0NHS//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8PDw/8XGx/9pbXD/PEFF/zxBRf88QUXNPEFFOjxD + RwA9QEMAP0NGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QEMAO0JGAD1A + QwA8QUVAPEFF1ztARP8/REj/goWI/93d3v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0BF + SP9ARUj/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/d3t7/goSH/z9ESP87QET/PEFF1jxB + RT48QEQAPUFFADw/QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlCQwA6P0IAPEJGADxB + RTk8QUXXO0BE/0JHSv+TlZf/5+jo//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0FG + Sf9BRkn/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8fH/5+fn/5GUlv9BRkr/O0BE/zxB + RdU8QUU3PEJGAD09QABAQEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1ARQA8QEUAPEFFKDxB + Rcs7QET/QUZK/5eanP/r6+v/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0FG + Sf9BRkn/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+vr6/+WmZv/QUZK/ztA + RP88QUXJPEFFJzxBRQA7QUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBGADxARQA7QEQTPEFFsDxB + Rf8+Q0f/kZOV/+vr6//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/19fX/ury9/0FG + Sf9BRkn/ury9//X19f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/q6+v/kJOV/z5D + R/88QUX/PEFFrj1BRRI8QUUAPEJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PUcAPEBGADw/RwM8QUWEPEFF/TtA + RP9/goX/5ufn//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/6+vs/9LT0/+xs7T/fH+C/z5D + R/8+Q0f/fYCD/7O1tv/U1db/7e3t//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5ubm/36B + hP87QET/PEFF/TxBRYM7REQDPEJFAD09SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAA/wAAPEFFADxBRUw8QUXuOj9D/2Zq + bf/b29z/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/+vr6/+8vr//en1//09TV/8+Q0f/O0BE/zxB + Rf88QUX/O0BE/z9DR/9RVln/gIOF/8PFxv/t7e7/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9rb + 2/9laWz/Oj9D/zxBRe48QUVLPEJEADtMKQArVVUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRgA8QUUAPEFFGTxBRcU7QET/TVFV/8LD + xP/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/2NnZ/4SHif9GSk7/OT5C/zo/Q/89Qkb/QEVI/0JG + Sf9CRkn/QERI/z1CRv86P0P/OT9D/0pOUv+Mj5H/3t/f//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/BwsP/TFBU/ztARP88QUXDPEFFGDxBRQA5QUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRQA/OUIAPEFFezxBRf49Qkb/l5qc//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/KzMz/ZGdr/zo/Q/87QET/QEVI/01QUf9aW1r/YmFg/2Rj + Yf9kY2H/YWFg/1laWv9MTlD/P0RH/zpARP88QUX/bnF0/9TV1f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/v7+//lpmb/z1CRv88QUX+PEFFeEM+RQA5QkQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JEADxBRQA8QUUrPEFF3To/Q/9kaGv/39/g//Hx + 8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9DR0v9eYmb/OT9D/zxBRf9KTU//X19e/2hnZf9qaGX/aWdl/2ln + Zf9pZ2X/aWdl/2poZf9oZmT/XV1d/0hLTf88QUX/Oj9D/2lsb//Y2dr/8vHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/x8fH/3t/f/2Roa/86P0P/PEFF3DxBRSk8QUUAPEJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0FFADpCQwE8QUWJPEFF/0JHS/+xs7T/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/5OTk/3J1eP86P0P/PUJG/1BSU/9mZWP/amdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/amhl/2VjYv9NT1H/PEFF/zpARP98gIL/6Ojo//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy/7Cys/9CRkr/PEFF/zxBRYc+QEkBPEFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5RkgAPEJFADxBRSc8QUXeOj9D/25ydf/m5+f/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/y8vL/qKqr/z5DR/88QUX/TlBS/2dlZP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9mZGP/S05Q/ztARP9BRkr/sLKz//Ly8v/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx/+bm5v9tcXT/Oj9D/zxBRd08QUUmPEFFAD1ARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1SkwAPz5CADxBRXg8QUX/QUZK/7K0tf/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/m5+f/am5x/zk+Qv9ESEv/Y2Jh/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qZ2X/YWFg/0JGSf85PkL/b3J1/+jo6P/x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v+xs7T/QUZK/zxBRf88QUV1PEFGADs/QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA8QUUAPEFGFDxBRcg6P0P/ZGhr/+Li4//x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/U1NX/TlJW/zo/RP9RU1T/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1BSU/86P0P/T1NX/9XW1v/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/h4uL/YmZq/zo/Q/88QUXGPEJFEjxBRQA9PUkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFA7OQA8QUUAPEFFSjxBRfU8QUX/nJ6g//Ly8v/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/Oz9D/Sk9S/ztARP9UVVb/amhm/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amhm/1RVVv87QET/Sk9S/87P0P/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/y8fH/mpye/ztARP88QUX0PEFFSDxBRQA5L1QAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtBRAAfAAAAPEFFjztARP9MUVT/zs7P//Ly8v/w8PD/8fHw//Hx + 8P/v7/D/7/Dw//Hx8P/x8fD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/f4OD/XWFk/zk/Q/9FSUv/YWFg/2poZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qaGX/YWFg/0VIS/85P0P/XWFk/9/g4P/x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8P/x8fD/7/Dw/+/v + 8P/x8fD/8fHw//Dw8P/y8vL/zM7O/0tQVP87QET/PEFFjStPRAA+QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtBRQA7QUUTPEFFyzo/Q/9vc3b/6enp//Hx8P/w8PD/4eTy/8bO + 9/+2wvn/t8L5/8jQ9v/k5vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/nZ+h/z1CRv87QET/RUhL/1lZWf9lZGL/aWdl/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2pnZf9qaGX/aWdl/2ZkY/9ZWVr/REhL/ztARP8+Q0f/nqCi//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+Tm8v/I0Pb/t8L5/7bC + +f/Gzvf/4eTy//Dw8P/x8fD/6Onp/25xdP86P0P/PEFFyT1BRhI9QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQEBAADxBRQA8QUU5PEFF7ztARP+bnZ//8vLy/+/w8P/P1vX/obD9/5Sm + //+Spf//kqX//5Sm//+ks/z/1dr1//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/5eXm/4SHif8+Q0f/Oj9D/z1CRv9GSUz/UVNU/1pbW/9gYF//Y2Jh/2Rj + Yv9kY2L/Y2Jh/2BgX/9aW1v/UVNU/0ZJTP89Qkb/Oj9D/z5DR/+Fh4r/5ebm//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/1Nr1/6Sz/P+Upv//kqX//5Kl + //+Upv//obD9/8/W9f/w8PD/8vLy/5mcnv87QET/PEFF7jxBRTg8QUUAN0lJAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAMUVXADxBRQA8QUVpO0BE/kRJTf/BwsP/8/Py/9fc9P+crP7/k6X//5Sm + //+Upv//lKb//5Sm//+Tpf//oLD9/93h8//x8fD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+bm5/+eoKL/VFlc/zxBRf85PkL/O0BE/z1CRv8/REf/QkZJ/0NH + Sv9DR0r/QkZJ/z9ER/89Qkb/O0BE/zk+Qv87QET/VFhc/56gov/m5+f/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8P/d4fP/oLD9/5Ol//+Upv//lKb//5Sm + //+Upv//k6X//5yt/v/Y3PT/8/Py/8DCw/9ESEz/O0FF/jxBRWg8QUUATC0+AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFAD5CRQE8QUWYOj9E/1ZaXv/b29z/7u/y/7K++v+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//7nE+f/v7/D/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx + 8f/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/w8PD/1dXW/5yfoP9obG//TFBU/z5DR/87QET/OT9D/zk+ + Qv85PkL/OT9D/ztARP8+Q0f/TFBU/2hsb/+anJ7/09TV//Dw8P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx + 8f/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+/v8P+5xPn/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+yvvr/7u/y/9rb2/9VWl3/OkBE/zxBRZY+RUkBPEJGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRQw8QUW9OT5C/21xdP/r6+r/5Ofy/5+v/f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6Wz/P/p6vH/8PDw//Dw8P/w8PD/8PDw//Ly8v/x8fH/6Ojo/+Hh + 4f/g4OH/5eXm/+7u7v/y8vL/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//Hx8f/n5+f/z9DQ/7W3uP+doKH/j5GU/4eK + jP+Hioz/j5GU/52gof+2t7j/z9DQ/+fn5//x8fH/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//Ly8v/u7u7/5eXm/+Dg + 4f/h4eH/6Ojo//Hx8f/y8vL/8PDw//Dw8P/w8PD/8PDw/+jq8f+ls/z/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+fr/3/5Ofy/+rq6v9scHP/OT5C/zxBRbw8QUULPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFGADxBRho8QUXZOj9D/4aJi//x8fD/4OPz/5ys/v+Tpv//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6Gw/f/l5/L/8fHw//Dw8P/x8fH/7e3t/8bHyP+PkpT/bHBz/1xg + ZP9bX2L/Zmpt/36ChP+mqKr/0dLT/+zs7P/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8vLy//Pz8//y8vL/8vLy//Hx + 8f/x8fH/8vLy//Ly8v/z8/P/8vLy//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/s7Oz/0dLT/6aoqf9+gYT/Zmpt/1tf + Yv9cYGT/bHBz/4+SlP/Gx8j/7Ozt//Hx8f/w8PD/8fHw/+Xn8v+hsP3/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Om//+crP7/4OPz//Hx8P+FiIr/Oj9D/zxBRdk8QUUaPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRS88QUXoO0BE/52fof/z8vL/5ujy/6Kx/f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6i2/P/q6/H/8PDw//Ly8f/e3t//i46Q/0lOUv86P0P/OT5C/zk/ + Q/85P0P/OT5C/zk+Qv89Qkb/T1NX/3p9gP+3ubr/5eXl//Ly8v/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/y8vL/5eXl/7e5uv97foH/T1NX/z1BRf85PkL/OT5C/zk/ + Q/85P0P/OT5C/zo/Q/9JTlH/iYyP/97e3//y8vH/8PDw/+rr8f+ntvz/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+isf3/5ujy//Py8v+cnqD/O0BE/zxBRec8QUUuPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRUE8QUXzPEFF/66wsf/z8/P/7+/w/7nE+f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//lKb//8HK+P/w8PD/8fHx/9vb3P9xdHf/O0BE/ztARP8/REf/R0tN/01P + Uf9OUFL/Sk1P/0NHSv89Qkb/Oj9E/zk+Q/9DR0v/am1w/6+wsv/k5eX/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/+Tl5f+usLL/am1w/0JHS/85PkP/Oj9E/z1CRv9DR0r/Sk1P/05Q + Uv9NUFH/R0tN/z9DR/87QET/O0BE/3F1eP/b3Nz/8fHx//Dw8P/Byvj/k6b//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+6xPn/7+/w//Pz8/+tr7H/PEFF/zxBRfI8QUVAPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRU08QUX6QUZJ/7m6vP/z8/P/8fHw/+Dj8/+ks/z/k6X//5Sm + //+Upv//lKb//5Sm//+Tpf//qbf8/+Xn8v/x8fH/6Ojo/36Bg/87QET/PEFF/0lMTv9dXV3/Z2Vj/2ln + Zf9pZ2X/aGZk/2RjYf9bW1v/TU9R/0FFSf87QET/OT5C/0BFSf9tcXP/vL2+/+zt7f/y8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Lx8f/s7O3/u72+/21wc/9ARUn/OT5C/ztARP9BRUj/TU9R/1tbW/9kY2H/aGZk/2ln + Zf9pZ2X/Z2Vj/11dXf9ITE7/PEFF/ztARP9+goT/6Ojp//Hx8P/k5/L/qbf8/5Ol//+Upv//lKb//5Sm + //+Upv//k6X//6Sz/f/g4/P/8fHw//Pz8/+4urv/QEVJ/zxBRfo8QUVNPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVc7QET+RUlN/8DCw//z8/L/8PDw//Hw8P/c4PP/rrv7/5ip + /v+Upv//lKb//5mq/v+yvvr/4OPz//Hx8P/y8vL/rK6w/0FFSf87QET/Sk1P/2VjYv9qaGX/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/aGZl/2FgX/9SU1T/QkZJ/ztARf85PkP/R0tP/4mLjv/a2tv/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy/9ra2/+Ii47/RktP/zk+Q/87QEX/QkZJ/1JUVf9hYF//aGZl/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2poZf9lY2L/Sk1P/ztARP9BRkr/ra+w//Ly8v/x8fD/4OPz/7K++v+Zqv7/lKb//5Sm + //+Yqf7/rrv7/9zg8//w8PD/8PDw//Pz8//AwcL/RElN/ztARP48QUVWPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRV07QET/R0tP/8XHyP/y8vL/8PDw//Dw8P/x8fD/6uvx/9fc + 9P/J0fb/ytL2/9nd9P/s7PH/8fHw//Hx8f/i4uP/ZWls/zk+Q/9DR0r/YmFg/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/YmFg/1FTVP9ARUj/O0BE/ztARP9jZ2r/wcLD//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/wMLD/2Jmaf87QET/O0BE/0BFSP9RU1T/YmFg/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/YWFg/0NHSv85PkL/Zmpt/+Lj4//x8fH/8fHw/+zs8f/Z3fT/ytH2/8nR + 9v/X3PT/6uvx//Hx8P/w8PD/8PDw//Ly8v/Fxsf/RktP/ztARP88QUVcPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVw7QET/R0tP/8jJyv/z8/P/8PDw//Dw8P/w8PD/8PDw//Hx + 8P/x8fD/8fHw//Hx8P/w8PD/8PDw//Py8v+5urv/QkdK/zxBRf9UVVb/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9fXl7/SUxO/zxBRf86P0P/TlNW/6yu + sP/u7u7/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+7u + 7v+srrD/TlNW/zo/Q/88QUX/SUxO/15eXv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1NVVf87QET/QkdL/7m7vP/z8vL/8PDw//Dw8P/x8fD/8fHw//Hx + 8P/x8fD/8PDw//Dw8P/w8PD/8PDw//Pz8//Hycr/RktP/ztARP88QUVbPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVY7QET+RUlN/8fIyf/09PT/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+KjY//OT9D/0FFSP9hYF//aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qZ2X/ZmRj/1JUVf8/Q0f/Oj9D/0ZL + T/+jpaf/7u7u//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fD/7e7u/6Kk + pv9GS0//Oj9D/z9DR/9TVFX/ZmRj/2pnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2FgX/9ARUj/OT9D/4qNj//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//T09P/GyMn/RElN/ztARP48QUVVPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRUw8QUX6QEVJ/8HCw//39vb/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+bm5/9na27/OT5C/0lLTv9nZWT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9ZWVr/QUVJ/zo/ + Q/9GSk7/p6mr/+/v7//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/p6mr/0ZK + Tv86P0P/QUVJ/1laWv9oZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dlZP9IS07/OT5C/2hrbv/m5+f/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//f39v/AwsP/QEVJ/zxBRfk8QUVLPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRT88QUXxPEFF/7W3uf/6+vr/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vHx/9jZ2f9TV1v/Oj9D/1BSVP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/XFtb/0FF + Sf86P0P/S1BU/7u9vv/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Lx8f+8vb7/TFBU/zo/ + Q/9BRUn/W1tc/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9QUlP/Oj9D/1NXW//Y2dr/8vHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//r6+v+1t7j/PEFF/zxBRfE8QUU+PEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRSw8QUXmOj9D/6Kkpv/8/Pz/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8zNzv9HTE//O0BE/1ZXV/9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1pa + Wv8/REf/Oj9D/15iZf/X2Nn/8vLx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLx/9fY2P9eYWX/Oj9D/z9E + R/9aWlv/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9WV1f/O0BE/0dMUP/Mzs7/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//z8/P+hpKb/Oj9D/zxBReY8QUUsPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRBg8QUXXOT5C/4mMjv/9/f3/8/Pz//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8LDxP9ESEz/PEFF/1lZWv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9UVVb/PUJF/ztARP+Ii43/7e3t//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7e3t/4eKjf87QET/PUJG/1RV + Vv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9ZWVn/PEFF/0RITP/CxMX/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8/Pz//39/f+JjI7/OT5C/zxBRdc8QUUYPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxCRQs8QUW5OT5C/29ydf/39/f/9/f3//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/7/Awf9DSEv/PEFF/1paWv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2lnZf9pZ2X/aWdl/2ln + Zf9mZWP/Sk1P/zpARP9JTlL/xcbH//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/xMXG/0lOUf86QET/Sk1P/2Zl + Y/9pZ2X/aWdl/2lnZf9pZ2X/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9aWlr/PEFF/0NIS/+/wMH/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/9/f3//f39/9vcnX/OT5C/zxBRbk8QUUKPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAO0FEADZFOAA8QUWVOj9D/1ldYf/o6en//Pz8//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8XGx/9ESU3/PEFF/1hZWf9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ZlY/9hYF//YF9e/2NiYf9oZmT/aWdl/2ln + Zf9qaGX/Xl1d/z9ER/86P0P/gIOF/+3t7f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/t7e3/f4OF/zo/Q/8/REf/Xl1d/2po + Zf9pZ2X/aWdl/2hmZP9jYmH/YF9e/2FgX/9mZWP/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9YWFn/PEFF/0RJTf/Fx8j/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH//f38/+jp6f9YXWD/Oj9D/zxBRZVCLzwAPEBEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATE9YADxBRQA8QUVuO0BE/0dLT//S09T///////T09P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9DR0v9KTlL/O0BE/1RVVv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9nZWP/V1dY/0ZKTP9ARUj/P0RH/0JGSf9NT1H/YF9f/2ln + Zf9pZ2X/aGZk/0xPUf86P0P/TlNW/9DR0v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/S09P/T1RY/zo/Q/9MT1H/aGZk/2ln + Zf9pZ2X/YF9f/01PUf9CRkn/P0RH/0BFSP9GSkz/V1dY/2dlY/9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9UVVb/O0BE/0pPU//R0tL/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/09PT//////9HS0/9GS0//O0BE/zxBRW08QUUAR1JRAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACwwMADxBRQA8QUVCPEFF9D1CRv+wsrP///////j4+P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/9zc3f9YXF//Oj9D/09RUv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ZlY/9OUFL/PUJG/ztARf88QUX/PEFF/zxBRf87QEX/QkZJ/1xc + XP9pZ2X/amhl/1tbW/89Qkb/PEFF/6Olp//y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v+kpqj/PUJG/z1CRv9bW1v/amhl/2ln + Zf9cXFz/QkZJ/ztARf88QUX/PEFF/zxBRf87QEX/PUJG/05QUv9mZWP/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9PUVL/Oj9D/1hcYP/c3d3/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/4+Pj//////6+xs/89Qkb/PEFF9DxBRUE8QUUACwsMAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUgPEFF2zk+Qv+LjpD//v7+//39/f/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+np6f9rb3L/OT5C/0hLTf9nZWT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1RWVv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/O0BF/0RI + S/9jYmH/amhl/2VjYv9ER0r/OT5C/3p9gP/s7e3/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+zs7f95fX//OT5C/0RIS/9lY2L/amhl/2Ni + Yf9ESEv/O0BF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf9UVlb/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dlZP9IS03/OT5C/2xwc//p6en/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/9/f3//v7+/4uOkP85PkL/PEFF2jxBRR88QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRQA9QkUIPEFFtDo/Q/9laWz/8vLy///////39/f/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+JjI7/OT5D/0FGSf9jYmD/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZGNi/0RHSv87QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxB + Rf9VVlf/aWdl/2hmZf9MTlD/OT9D/11hZf/i4uP/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+Hi4v9dYWT/OT9D/0xOUP9oZ2X/aWdl/1RW + Vv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztBRf9ER0v/ZGNi/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2JiYP9BRkn/OT5D/4qNj//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//f39///////8fLy/2VpbP86P0P/PEFFsztCRQc7QkUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRwA9P0MAPEFFfTtARP9KT1P/1tfY///////8/Pz/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Pz8/+usLL/PkNH/z1CRv9aW1v/amhl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/XV1d/z5DRv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + RP9LTU//aGZk/2lnZf9TVFX/Oj9E/09UV//T09T/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9LT0/9PU1f/Oj9E/1NUVf9qZ2X/aGZk/0tN + T/87QET/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf8+Q0b/XV1d/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/amhl/1paW/89Qkb/PkNH/6+xs//z8/P/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy//z8/P//////1tfY/0pPUv87QET/PEFFfD5BRgA7QUQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEpMgA8QUUAPEFFRzxBRfU8QUX/ra+x////////////9vb2//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/S09T/T1RX/zo/Q/9PUVL/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/Wltb/z1CRv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + Rf9IS07/Z2Vk/2poZv9XWFj/O0BE/0dMUP/Iycr/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8fIyf9HS0//O0BE/1dYWP9qaGb/Z2Vj/0hL + Tf87QEX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf89Qkb/Wltb/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/05RUv86P0P/UFRY/9PU1P/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/9vb2////////////rK+w/zxBRf88QUX0PEFERjxBRQBDSlUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACtVVQA8QUUAPEFFGjxBRdQ5PkL/fICC//r6+////////Pz8//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/q6ur/c3d6/zk+Qv9DR0r/ZGNh/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/Xl5d/z5DR/88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + RP9MTlD/aGZk/2poZv9ZWVn/PEFF/0NITP/CxMX/8/Pz//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8/Pz/8LDxP9DSEz/PEFF/1lZWv9qaGb/aGZk/0tO + UP87QET/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf8+Q0f/Xl5d/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZGJh/0NHSv85PkL/dXh7/+rr6//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL//Pz8///////6+vr/fH+C/zk+Qv88QUXUPEFFGjxBRQAzMzMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkUAP0NGAjxBRZw6QET/VFlc/+Pk5P////////////f3 + 9//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/qaus/z5DR/89QUX/WFlZ/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZWRi/0VJTP87QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxB + Rf9XV1j/amdl/2poZv9ZWVn/PEFF/0RJTf/DxMX/8/Pz//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8/Pz/8LExf9DSEz/PEFF/1lZWf9qaGb/amdl/1ZX + WP88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztBRf9FSUz/ZWRi/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/WFhZ/z1BRf8+Q0f/qqyu//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/39/f////////////j4+T/VFhc/zpARP88QUWcPkJFAj1CRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkYAPEFFADxBRVk8QUX7PkNH/7W3uP////////////39 + /f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/2dra/1hcX/86P0P/SEtN/2ZlY/9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1dYWf89Qkb/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/O0BF/0dK + Tf9lY2L/aWdl/2poZv9XV1j/O0BE/0hNUP/Jysv/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8jKyv9ITVD/O0BE/1dXWP9qaGb/aWdl/2Vj + Yv9HSk3/O0BF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/z1CRv9YWFj/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9mZWP/SEtN/zo/Q/9ZXWD/2tvb//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/9/f3///////////+0trj/PkNH/zxBRfo8QUVZPEFFADxCRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAPEFFADxBRSA8QUXZOT5C/32Ag//6+/v///////// + ///5+fn/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/5OVl/87QET/PUJG/1laWv9qZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dmZP9SVFX/PkNH/ztARf88QUX/PEFF/ztARf88QUX/RklM/2Bf + Xv9pZ2X/aWdl/2lnZf9SVFX/Oj9D/1BVWP/U1dX/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9TU1f9QVFj/Oj9D/1JUVf9pZ2X/aWdl/2ln + Zf9fX17/RUlM/zxBRf87QEX/PEFF/zxBRf87QEX/PkNH/1JUVf9oZmT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2pnZf9ZWlr/PUJG/ztARP+Ulpj/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//n5 + +f////////////r6+v98f4L/OT5C/zxBRdk8QUUfPEFFAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JGADtERgM8QUWbO0BE/1BUWP/c3d7///////// + ///+/v7/9PT0//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9PU1P9UWFz/Oj9D/0ZKTP9lY2L/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9oZmT/W1tb/0tOUP9ER0r/QkZK/0ZKTP9SVFX/Y2Jh/2ln + Zf9pZ2X/aWdl/2hnZf9MTlD/OT9D/11hZf/i4+P/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+Lj4/9dYWT/OT9D/0xOUP9pZ2X/aWdl/2ln + Zf9pZ2X/Y2Jh/1JUVf9GSkz/QkZK/0RHSv9LTlD/W1tb/2hmZP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2VkYv9GSkz/Oj9D/1VZXP/T1NX/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/9PT0//7+ + /v///////////9vc3f9PVFf/O0BE/zxBRZk8Q0gCPEJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITo9ADxBRQA8QUVNPEFF9jxBRf+jpaf///////// + ////////+/v7//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+Zm53/PEFF/zxBRf9TVFX/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2hmZP9kY2L/Y2Jh/2ZlY/9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2RjYf9DR0r/OT5C/3h8f//s7Oz/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+zs7P94e37/OT5C/0RHSv9kY2L/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9mZWP/Y2Jh/2RjYv9oZmT/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/1JUVf88QUX/PEFF/5mcnv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/+/v7//// + /////////////6Kkpv88QUX/PEFF9TxBRUw8QUQASysyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUtNAD1BRQA9QUUTPEFFxjo/Q/9mam3/7/Dw//// + //////////////f39//w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/e39//ZWls/zo/Q/9AREj/XFxc/2pn + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/1ZXWP88QUX/PkNH/6epq//y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v+nqav/PUJG/zxBRf9WV1j/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9qZ2X/XFxc/0BER/86P0P/Zmpt/97f3//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/39/f///////// + ////////7+/v/2VpbP86P0P/PEFFxjxBRBI8QUQAJVtdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9BQgA7QUUAPEFFdjxBRf9BRkr/vL6///// + //////////////7+/v/09PT/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/vL6//0pOUv86P0T/REhL/2Fg + X/9qZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9qZ2X/YmFg/0NHSv86P0P/XGBk/9vc3P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/b29z/XGBj/zo/Q/9DR0r/YmFg/2pn + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2pn + Zf9gYF//REhL/zo/Q/9KT1P/vb/A//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//T09P/+/v7///////// + ////////vL2//0FGSv88QUX/PEFFdTxCRgA3NTkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtCQQA8QUUAPEFFJzxBRd45PkL/d3p9//f3 + 9//////////////////8/Pz/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/5yeoP9ARUn/O0BE/0dK + TP9hYWD/amhl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9lZGL/Sk1P/ztARP9ARUn/p6qr//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/p6mr/0BFSf87QET/Sk1P/2Vk + Yv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amhl/2Fh + YP9GSkz/O0BE/0BFSf+dn6H/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//z8/P////////////// + ///39/f/dnp8/zk+Qv88QUXdPEFFJjxBRQA4OT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBASAA9QEUAPz9GATxBRZA7QET/RktP/8fJ + yv//////////////////////+fn5//Hx8f/w8PD/8PDw//Dw8P/w8PD/8fHx/+np6f+Ii47/PUJG/ztA + RP9FSUz/Xl5d/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2Rj + Yv9MT1D/PEFF/ztARP9+gYT/5+jo//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5+jo/36Bg/87QET/PEFF/0xO + UP9kY2L/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/Xl5d/0ZJ + TP87QET/PUJG/4mMjv/p6en/8fHx//Dw8P/w8PD/8PDw//Dw8P/x8fH/+fn5//////////////////// + ///HyMn/RktP/ztARP88QUWPPkBCAT1BRAA8REQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUYAPEFFADxBRTQ8QUXnOj9D/3x/ + gv/4+Pn///////////////////////f39//w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/k5OX/hYiK/z5D + R/87QET/QUVJ/1ZWV/9mZGP/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9pZ2X/Xl5d/0hL + Tf88QUX/Oj9D/21xdP/b3Nz/8vHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vHx/9vb3P9tcHP/Oj9D/zxB + Rf9IS03/Xl5d/2lnZf9qaGX/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2ZkY/9VVlf/QUVJ/ztA + RP8+Q0f/hYiL/+Tl5f/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/39/f///////////////////////j4 + +f97f4L/Oj9D/zxBRec8QUUzPEFFADxBRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAPUFEAD5ARAM8QUWXO0BE/0ZL + T//Gx8n///////////////////////7+/v/19fX/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5ubn/5KV + l/9FSk3/Oj9D/z1BRf9HSk3/V1hY/2NiYf9nZmT/aWdl/2lnZf9oZ2X/ZmRj/15eXf9PUVL/QERI/ztA + RP88QUX/cnZ4/9fY2f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/X2Nj/cnV4/zxB + Rf87QET/QERI/09RU/9eXl3/ZmRj/2lnZf9pZ2X/aWdl/2dmZP9jYmH/V1hY/0dKTf89QkX/Oj9D/0VK + Tv+TlZf/5ufn//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//X19f/+/v7//////////////////////8bH + yP9GS0//O0BE/zxBRZY9QUYDPUFFAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0FGADxBRQA8QUU0PEFF5To/ + Q/91eHv/9PX1///////////////////////9/f3/9PT0//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+zt + 7f+xs7T/XWFk/ztBRf86P0P/PEFF/0JGSf9JTE7/TlBS/09RUv9MTlD/RklM/z9DR/87QET/OT5D/0dM + UP+NkJL/4ODg//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/4ODg/42P + kv9HTFD/OT5D/ztARP8/Q0f/RklM/0xOUP9PUVL/TlBS/0lMTv9CRkn/PEFF/zo/Q/88QUX/XWFl/7Kz + tf/t7e3/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/9PT0//39/f//////////////////////9PT1/3R4 + e/86P0P/PEFF5D1BRTQ8QUUAP0VBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRQA8QUUhPEFF1TtB + Rf9CRkr/t7m7/////////////////////////////Pz8//Pz8//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL/2dra/5aYmv9ZXWD/PkNH/zk+Qv85PkL/OT5D/zk/Q/85PkL/OT5C/zo/Q/9HTFD/dHd6/76/ + wP/t7e3/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+3t + 7f+9v8D/dHd6/0dMT/86P0P/OT5C/zk+Qv85P0P/OT5D/zk+Qv85PkL/PkNH/1ldYf+WmJv/2dra//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/z8/P//Pz8////////////////////////////t7i6/0JG + Sv88QUX/PEFF0zxBRR88QUUAPUFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQkUAPEFFADtBRQc8QUWWPEFF/zxB + Rf86P0P/YmZp/+jp6f////////////////////////////z8/P/z8/P/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx//Dw8P/a2tv/r7Cy/4KFh/9obG//XGBj/1ldYf9hZWj/dHd6/5eZm//Fxsf/6enp//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL/6Onp/8XGx/+XmZv/dHd6/2FlaP9ZXWH/XGBj/2hsb/+ChYf/r7Gy/9rb2//w8PD/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/8/Pz////////////////////////////o6en/YmZp/zo/ + Q/88QUX/PEFF/jxBRZI+QUQGPUFEAD5AQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRUYAO0FFADxBRVU8QUX0PEFF/0FF + SP89Qkb/PEFF/5mbnf/9/f3////////////////////////////8/Pz/8/Pz//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/8vLy/+/v7//m5uf/3+Dg/97e3//i4uP/6+zs//Ly8v/y8vL/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx//Ly8v/y8vL/6+zs/+Li4//e3t//3+Dg/+bm5//v7+//8vLy//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8/Pz//v7+/////////////////////////////39/f+Ym53/PEFF/z1C + Rf9BRUj/PEFF/zxBRfI8QUVSPEFFAEY8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5BRgA8QUUAPEFFGTxBRcg8QUX/QUZJ/1xc + XP9IS03/Oj9E/0xQVP/Mzc7//////////////////////////////////Pz8//Pz8//w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8fHx//Hx8f/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/x8fH/8fHx//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/z8/P//Pz8/////////////////////////////////8vMzf9LUFP/Oj9E/0hL + Tf9bW1v/QUVJ/zxBRf88QUXGPUBFGDxBRQA9QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRgA8QUYAPEFFcTxBRf08QUX/VFVW/2po + Zf9dXVz/P0RH/zk/Q/9ucXT/7e3u//////////////////////////////////z8/P/09PT/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//T09P/8/Pz/////////////////////////////////7e3t/21xdP85P0P/P0RI/11d + XP9qZ2X/U1VW/zxBRf88QUX9PEFFcDtCRgA+QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPUBFADxBRQA8QUUfPEFF0zxBRf9FSUv/ZWNi/2ln + Zf9pZ2X/UVNU/zxBRf88QUX/lpmb//z8/P/////////////////////////////////9/f3/9fX1//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/9fX1//39/f/////////////////////////////////8/Pz/lpmb/zxBRf88QUX/UVNU/2ln + Zf9pZ2X/ZGNi/0VJS/88QUX/PEFF0jxBRR48QUUAPkFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPkBGADtCRQA8QUVtPEFF/j1CRv9XWFj/aWdl/2ln + Zf9pZ2X/ZWNi/0dLTf87QET/R0xQ/72/wP///////////////////////////////////////v7+//f3 + 9//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx + 8f/39/f//v7+//////////////////////////////////////++v8D/R0xQ/ztARP9HSk3/ZWNi/2ln + Zf9pZ2X/aWdl/1dXWP89QkX/PEFF/TxBRW06QUQAP0FHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBFADxARRE8QUXBPEFF/0RIS/9lY2L/aWdl/2ln + Zf9pZ2X/aWdl/1FSVP88QUX/Oj9D/1ldYf/Z2tv///////////////////////////////////////// + ///6+vr/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//r6 + +v///////////////////////////////////////////9na2v9ZXmH/Oj9D/ztBRf9OUFL/aWdl/2ln + Zf9pZ2X/aWdl/2VjYv9FSEv/PEFF/zxBRcE8QEURPEBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkQAPEFFADxBRUU8QUX0PEFF/1NUVf9pZ2X/aWdl/2ln + Zf9pZ2X/Y2Jh/0NHSv87QEX/O0BE/zo/Q/9xdXf/6+zs//////////////////////////////////// + /////////Pz8//X19f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/19fX//Pz8//// + ////////////////////////////////////////6+zs/3B0d/86P0P/O0BE/ztBRf9BRUj/YGBf/2ln + Zf9pZ2X/aWdl/2lnZf9TVFX/PEFF/zxBRfQ8QUVGPEFFADtARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Q0QAOkBFADxBRYc8QUX/QERH/2BfXv9qZ2X/aWdl/2ln + Zf9pZ2X/VldX/zxBRf9BRkr/Wl5h/z5DR/87QUT/hYmL//X19f////////////////////////////// + //////////////7+/v/5+fn/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//n5+f/+/v7///////// + ///////////////////////////////////09fX/homL/zxBRf89Qkb/YWVp/0VKTf87QET/UlNV/2ln + Zf9pZ2X/aWdl/2pnZf9gX1//QERI/zxBRf88QUWJPURCADs/RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEFFEDxBRcQ7QEX/SEtN/2dlY/9pZ2X/aWdl/2ln + Zf9nZWP/SEtN/zo/Q/9cYGT/wMHC/21xc/86P0P/P0RI/5eanP/5+fn///////////////////////// + /////////////////////////Pz8//b29v/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/29vb//Pz8//////////////////// + //////////////////////////////n5+f+Xmpz/P0NH/zo/Q/9tcXT/x8jI/2drbv85P0P/RUhL/2Vk + Yv9pZ2X/aWdl/2lnZf9nZWT/SEtO/ztARf88QUXGPEFFETxBRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFGRgA8QUUAPEFFLjxBRek8QUX/UlRV/2lnZf9pZ2X/aWdl/2pn + Zf9gX17/QERH/zo/Q/+JjI7/4uLi/8fHyP9eYmX/OT5C/0FGSv+ipaf//Pz8//////////////////// + ///////////////////////////////////7+/v/9fX1//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/9PT0//v7+/////////////////////////////// + /////////////////////////Pz8/6Olp/9CR0r/OT5C/15iZf/Hx8j/5OPj/5eZm/88QUX/PkNG/11d + XP9qaGX/aWdl/2lnZf9pZ2X/U1RV/zxBRf88QUXqPEFFMDxBRQA7PkIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVJRwA8QUUAPEFFVzxBRfo9Qkb/W1tb/2poZf9pZ2X/aWdl/2po + Zf9XWFj/PEFF/0NHS/+ztLX/4uLi/+Li4v+8vb7/Vlte/zk+Qv9FSU3/p6mr//v7+/////////////// + /////////////////////////////////////////v7+//r6+v/19fX/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//T09P/6+vr//v7+//////////////////////////////////// + ///////////////////7+/z/p6qr/0VKTf85PkL/Vlpd/7y9vv/i4uL/4uLi/72+v/9ITVD/O0BE/1RV + Vv9pZ2X/aWdl/2lnZf9qaGX/W1xb/z1CRv88QUX7PEFFWjxBRQA6PUEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1CRAA7QEYAPEFFfTxBRf9ARUj/YWBf/2lnZf9pZ2X/aWdl/2ln + Zf9PUVL/Oj9D/1NXW//Mzc3/4eHh/+Dg4P/i4eH/tba4/1JWWf85PkL/RElN/6Wnqf/6+vr///////// + ///////////////////////////////////////////////////+/v7/+/v7//b29v/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/29vb/+/v7//7+/v////////////////////////////////////////////// + //////////////v7+/+lqKr/RElN/zk+Qv9RVln/tba3/+Hh4f/g4OD/4eHh/9PT1P9bX2L/Oj9D/0xO + UP9oZmX/aWdl/2lnZf9pZ2X/YmFg/0FFSP88QUX/PEFFgTxBRgA8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA9QkUBPEFFmjxBRf9DR0r/ZWRi/2lnZf9pZ2X/aWdl/2hm + ZP9JTE7/OT5C/2VpbP/Z2dr/4ODg/+Dg4P/g4OD/4eHh/7K0tf9SVln/OT5C/0NITP+cnqD/9/f3//// + ///////////////////////////////////////////////////////////////////9/f3/+Pj4//T0 + 9P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx + 8f/09PT/+Pj4//z8/P////////////////////////////////////////////////////////////// + ////////9/f3/52fof9DSEz/OT5C/1FVWf+xs7T/4eHh/+Dg4P/g4OD/4ODg/9zc3P9vc3b/OT5C/0ZK + TP9nZWT/aWdl/2lnZf9pZ2X/ZWRj/0RIS/88QUX/PEFFnz1ARgI8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUFPEFFsztBRf9HSk3/Z2Vk/2lnZf9pZ2X/aWdl/2Zl + Y/9GSUz/OT5C/3V4e//d3d3/4ODg/+Dg4P/g4OD/4ODg/+Hh4f+ztLX/VFhb/zk+Qv9ARUn/jpGT/+/v + 7/////////////////////////////////////////////////////////////////////////////7+ + /v/8/Pz/+Pj4//X19f/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/19fX/+Pj4//z8 + /P/+/v7///////////////////////////////////////////////////////////////////////// + ///v7/D/jZCT/0BFSf85PkL/VFhb/7O0tf/h4eH/4ODg/+Dg4P/g4OD/4ODg/9/f3/9/goT/OT5C/0RI + Sv9lY2L/aWdl/2lnZf9pZ2X/Z2Zk/0hLTf87QUX/PEFFuDpDRwY6REcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADlFRwA6Q0cIPEFFvztARf9KTU//aGZk/2lnZf9pZ2X/aWdl/2Vk + Yv9ESEv/OT5C/3t+gP/e3t7/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/ubq8/1peYf86P0P/PEFF/3h8 + fv/h4uP///////////////////////////////////////////////////////////////////////// + ///////////////////9/f3/+/v7//j4+P/29vb/9PT0//Ly8v/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx8f/y8vL/9PT0//b29v/4+Pj/+/v7//39/f////////////// + /////////////////////////////////////////////////////////////////////////////+Hi + 4v95fH//PEFF/zo/Q/9aXmH/ubq7/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P+ChYf/OT5C/0NH + Sv9kY2H/aWdl/2lnZf9pZ2X/aGZk/0tNUP87QEX/PEFFxDtCRQs7Q0UAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpCRAA7QkQLPEFFxDtARf9LTlD/aGZk/2lnZf9pZ2X/aWdl/2Zk + Y/9FSEv/OT5D/3R3ef/b29v/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4uHh/8LDw/9nam3/O0BE/zo/ + Q/9hZWn/x8nK//7+/v////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//7+/v/8/Pz/+/v7//r6+v/6+vr/+fn5//n5 + +f/5+fn/+fn5//r6+v/6+vr/+/v7//z8/P/+/v7//v7+//////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7/yMnK/2Jl + af86P0P/O0BE/2Zqbf/CwsP/4uLh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9ra2v96fH7/OT9D/0NH + Sv9kY2H/aWdl/2lnZf9pZ2X/aGZk/0xOUP87QEX/PEFFyDxBRhA7QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpCRgA7QkYLPEFFwztARf9LTU//aGZk/2lnZf9pZ2X/aWdl/2dl + ZP9GSkz/Oj9D/2dqbP/Pzs7/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Li4v/Nzs7/eHt+/z9E + R/85PkL/TVFV/6Olp//y8vP///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////Lz8/+jpaf/TFFU/zk+ + Qv8/Q0f/eHt+/83Ozv/i4uL/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/83My/9tb3L/Oj9D/0VI + S/9mZGP/aWdl/2lnZf9pZ2X/aGZk/0xOUP87QEX/PEFFyTxBRhA8QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRgA7QkYGPEFFuTtARf9JTE//aGZk/2lnZf9pZ2X/aWdl/2hm + ZP9KTU//Oj9D/1hcX/+9u7v/2tra/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/2NjY/5KU + lv9ITFD/OT5C/z5DR/93en3/1NXW//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////1NbW/3d7ff8+Q0f/OT5C/0hN + UP+SlZb/19jY/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/19fW/727u/9dYGP/Oj9D/0lM + Tv9oZmT/aWdl/2lnZf9pZ2X/aGZk/0tNT/87QEX/PEFFwTxARgk9QEYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUDPEFFqTtARf9IS07/aGZl/2lnZf9pZ2X/aWdl/2ln + Zf9RU1T/O0BE/0pOUf+qqan/ysnI/93d3P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/9/f + 3/+vsLL/XWFk/ztARP85PkL/UVVZ/6Gjpf/s7e3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+zt7f+hpKb/UVVZ/zk+Qv87QET/XWFk/66w + sf/f39//4eHh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/b29r/yMbF/62srP9MUVT/OkBE/09R + U/9pZ2X/aWdl/2lnZf9pZ2X/aGdl/0lMT/87QEX/PEFFszxBRAU8QUQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA6REkAPEFFiztARf9GSk3/amlo/2lnZf9pZ2X/aWdl/2po + Zf9aWlr/PUJG/z5DRv+QkJH/wsC//8vKyf/d3Nz/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/i4uL/y8zM/4CDhf9ESU3/OT5C/z1CRv9mam3/ury9//T19f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////09fX/uru9/2drbv89Qkb/OT5C/0RJTf9/goX/y8vM/+Li + 4v/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9vb2//Ix8b/wsC+/5OUlP8/REf/PEFF/1lZ + Wf9qaGX/aWdl/2lnZf9pZ2X/a2lo/0dLTv87QET/PEFFljpAQwE8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRwA8QUUAPEFFaTxBRf9BRUn/bm1t/2xqZ/9pZ2X/aWdl/2ln + Zf9jYmH/QkZJ/zo/Q/9oa23/vLu6/8C+vf/Ix8b/2djY/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4eHh/9zc3P+sra//YGRn/z1CRv84PkL/QkdL/3J2eP/AwcP/9PT0//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////9PX1/8HCw/9zd3n/QkdL/zg+Qv88QUX/YGRn/6utrv/c3Nz/4eHh/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/2NjY/8fGxf/Avr3/vbu7/2tucP86P0P/QkZJ/2Jh + YP9pZ2X/aWdl/2lnZf9raWf/b25t/0JHSv88QUX/PEFFczxBRQA8QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpARgA8QUUAPEFFQDxBRfE8QUX/aGhp/3VzcP9pZ2X/aWdl/2ln + Zf9pZ2X/TlBS/ztARP9GSk7/oKCg/8LAv//Avr3/w8LB/9HQz//c3Nz/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/i4uL/0NHR/5SWmP9SVln/O0BE/zk+Qv9DSEz/b3N2/7W3uP/r7Oz///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+vs7P+3ubr/cXV4/0NITP85PkL/O0BE/1FWWf+SlZb/0NDR/+Li4v/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9zc3P/R0M//w8LB/8C+vf/CwL//oqGh/0dLT/87QET/TU9R/2hm + Zf9pZ2X/aWdl/2lnZf9zcW//a2tr/z1CRv88QUX2PEFFSjxBRQAxNjoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEFFGTxBRdQ7QET/WFpc/4J/ff9samj/aWdl/2ln + Zf9qZ2X/Xl5d/z9ER/86P0T/aGtt/7q5uP/Bv77/wL69/8C+vf/GxMP/0M/P/9nY2P/d3d3/4N/f/+Dg + 4P/g4OD/4ODg/+Dg4P/e3t7/3Nvb/9TT0/+xsLD/eHp8/0tPUv86P0P/OD1B/z9ESP9fY2b/mJud/9PU + 1f/19fX///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////X1 + 9f/T1NX/mpye/2BkZ/8/REj/OD1B/zo/Q/9LT1P/eHp7/7CwsP/U09P/3Nvb/97e3v/g4OD/4ODg/+Dg + 4P/g4OD/4N/f/93d3f/Z2Nj/0M/O/8bEw//Avr3/wL69/8G/vv+6ubj/aWtu/zpARP8/Q0f/XV1d/2pn + Zf9pZ2X/aWdl/2tpZ/+Bfnz/W11f/ztARP88QUXcO0FFIDxBRQBVVVUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QkUAO0NFAzxBRaA7QET/RkpN/4B+ff97eHf/aWdl/2ln + Zf9pZ2X/aGZk/05QUv87QET/QEVI/4iJiv/Avr3/wL69/8C+vf/Avr3/wL69/8LAv//GxcT/ysnI/83M + y//Ozc3/zczM/8vKyf/HxsX/w8HA/8C+vv/Bv77/v728/6inp/96fH3/UVVY/z5DR/86P0P/O0BE/0lO + Uv9ucXX/oKOl/8zNzv/t7e7//Pz8//////////////////////////////////////////////////// + /////////////////////////////////////////////////////////Pz8/+7u7//P0NH/oKOl/21x + dP9JTlL/O0BE/zo/Q/8+Q0b/UFRX/3p8ff+op6f/v728/8G/vv/Av77/w8HA/8fGxf/Lysn/zczM/87N + zf/NzMv/ysnI/8bFxP/CwL//wL69/8C+vf/Avr3/wL69/8C+vf+HiIn/QEVI/ztARP9NUFL/aGZk/2ln + Zf9pZ2X/aWdl/3l2dP+CgH//SU1Q/ztARP88QUWsO0BEBztARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QEQAPEFFADxBRVg8QUX6PEFF/2pqa/+Kh4X/dHJw/2ln + Zf9pZ2X/aWdl/2JhYP9DR0r/O0BE/0dMT/+VlZb/wb++/8C+vf/Avr3/wL69/8C+vf/Avr3/v728/8C+ + vf/Avr3/wL69/7+9vP/Avr3/wL69/8C+vf/Avr3/wL69/8LAvv/CwL//mpqb/0pOUv87QET/PEFF/ztA + RP85PkL/Oj9D/0VKTv9fY2b/goWI/6epq//Iycr/39/g/+/v8P/5+fn//f39//////////////////// + /////////////////////////f39//n5+f/v7/D/39/g/8jJyv+nqav/goWI/2BkZ/9HTE//Oj9D/zk+ + Qv87QET/PEFF/ztARP9FSU3/kJGR/8G/vv/CwL//wL69/8C+vf/Avr3/wL69/8C+vf+/vbz/wL69/8C+ + vf/Avr3/v728/8C+vf/Avr3/wL69/8C+vf/Avr3/wL69/5KTk/9HS07/O0BE/0NHSv9iYWD/aWdl/2ln + Zf9pZ2X/cnBu/4qGhP9ubm//PUJG/zxBRf08QUVlPEFFAEFGSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRhk8QUXOO0BE/05RVP+Gg4L/iIWD/3Fv + bf9pZ2X/aWdl/2lnZf9bW1v/P0RH/zpARP9JTVH/j4+Q/768u//Bv77/wL69/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wL69/8C+vf/Avr3/wb++/7+9vP+bm5v/WFxf/zxBRf88QUX/SEtO/1FS + VP9KTVD/QUZJ/ztARP86P0P/OT5C/zxBRf9CR0r/UFRY/2BkZ/9xdHf/g4eJ/5GUlv+doKL/pKao/6iq + rP+oqqz/pKao/52gov+RlJb/g4aJ/3B0d/9gZGf/UFRY/0JHSv88QUX/OT5C/zo/Q/87QET/QUVJ/0pN + UP9RU1T/TE5Q/z1BRf88QUX/TlJV/42Ojv+7ubj/wsC//8C+vf/Avr3/wL69/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wL69/8G/vv+9u7r/i4yN/0hMUP86QET/QERI/1tbW/9pZ2X/aWdl/2ln + Zf9vbWv/hoOB/4iFhP9SVVf/O0BE/zxBRdk8QUUhPEFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JGAD5AQwA8QUV3PEFF/j1CRv9ra2v/jYqI/4aD + gf9xb23/aWdl/2lnZf9pZ2X/V1hY/z9DR/87QET/Q0hL/3Z4ev+ura3/wb++/8G/vv/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wb++/8LAv/+/vr3/qqqp/3d4ev9GSk7/OkBE/zxBRf9MTlD/ZWRj/3h1 + c/+DgX//enl4/2ZnaP9ESEv/PEFF/zxBRf88QUX9O0BE/zo/Q/85PkL/OT5C/zk/Q/86P0P/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/85P0P/OT5C/zk+Qv86P0P/O0BE/zxBRf48QUX/PEFF/0RJTP9mZ2j/eXh3/4OB + f/93dXP/aGZk/1FSVP8+Q0b/OkBE/0BFSf9pa27/oJ+g/7y6uv/CwL//wb++/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8G/vv/CwL//wL69/6qpqf9xc3X/QUZK/ztARP8/REf/WFlZ/2lnZf9pZ2X/aWdl/3Bt + a/+EgX//jYqI/3BwcP8/Q0f/PEFF/zxBRYY/UEsAPEJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT9EADxBRQA8QUYfPEFF0TtARP9JTE//f359/42K + iP+HhIL/c3Fv/2lnZf9pZ2X/aWdl/1hZWf9BRUn/O0BE/zxBRf9SVVn/gIGD/6empv+6uLf/wL69/8G/ + vv/CwL//wsC//8G/vv++vbz/tLOz/52dnf91d3n/TVFU/ztARP87QET/P0RH/1NUVf9raWf/fnx5/4uI + hv+Nioj/jYqI/25ubv9ARUn/PEFF/zxBRco8QUVoPEFFgjxBRaE8QUW8PEFFzzxBRdk8QUXiPEFF5jxB + Rek8QUXpPEFF5jxBReI8QUXZPEFFzzxBRbw8QUWhPEFFgTxBRWo8QUXOPEFF/0FGSf9wcHD/jYqI/42K + iP+LiIb/fnt5/2xqaf9YWFn/QkZJ/ztARP86P0P/RUpO/2hrbf+RkpL/rays/7u5uP+/vr3/wb++/8G/ + vv/Avr3/vry8/7a0tP+goKD/eHp7/01RVf87QET/O0BE/0JGSf9aWlr/aWdl/2lnZf9pZ2X/cnBu/4aD + gf+Nioj/g4GA/01QU/87QET/PEFF3TxBRSk8QUUAPUFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAAD9BQgA7QUYAPEFFZTxBRfk7QEX/WVtd/4iG + hP+Nioj/iYaE/3l3df9samf/aWdl/2lnZf9fXl7/SUxO/z1CRf86P0T/PEFF/0hMUP9dYGP/c3V3/4KD + hP+IiYr/hoeI/3x+f/9qbW//VVhc/0JHS/86QET/OkBE/z1CRv9IS07/X19f/3Vzcf+Gg4H/jImH/4yJ + h/+MiYf/cXFx/0NHS/87QEX/PEFF4TxBRT48QUQAPEFDADtBRQQ7QkUJPEFFEjxBRR08QkUoPEFFLTxB + RTE8QUUxPEFFLTxCRSg7QUUdPEFFEjtCRQk8Q0QEO0BGADxBRQA8QUVEPEFF5TtARP9ESEz/dHNz/42K + h/+MiYf/jImH/4aDgf92dHL/Y2Jh/01PUf8/REf/O0BE/zo/Q/8+Q0f/TFBU/19iZP9wcnT/enx+/31/ + gP93eXv/aWtu/1ZaXf9ESEz/O0BE/zpARP89Qkb/Sk1P/2BfX/9pZ2X/aWdl/2tpZ/95d3X/iIaE/42K + iP+Kh4X/X2Bi/zxBRf88QUX9PEFFdjtETgA9QEIAOkZGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1BRAA8QUYAPEJGDTxBRag8QUX/PkNG/2Zn + aP+LiIb/jImH/4yJh/+DgH7/dHFv/2tpZ/9pZ2X/ZmRj/1dYWP9HSkz/PkJG/ztARP86P0P/Oj9D/zpA + RP87QET/O0BE/zo/Q/86P0P/Oj9D/ztARP8/Q0f/SUxO/1xcXP9ycG7/goB+/4uIhv+MiYf/jImH/4yJ + h/9wb3D/REhM/ztARP88QUXsPEFFWT5CRwA7QUYAPEFHADxBRQA7QUUAPEFFADxBRQA8QkUAPEFFADxB + RQA8QUUAPEFFADxCRQA7QUUAPEFFADtCRQA8QkUAPUNEADxBRgA7P0QAPEFFXzxBRe87QET/RUpN/3Jy + cv+MiYf/jImH/4yJh/+LiIb/g4B+/3Nxb/9gYF//TVBR/0FGSf88QUX/OkBE/zk/Q/86P0P/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/87QET/P0NH/0lMTv9aWlr/ZmVj/2lnZf9raWf/dHFv/4OAfv+MiYf/jImH/4yJ + h/9sbG3/P0RI/zxBRf88QUW5PEBFFDxARQA9QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QUUAPEFGADtBRSk8QUXRPEFF/0BF + SP9ra2z/i4iG/4yJh/+MiYf/ioeF/4J/ff92dHL/bWtp/2poZv9lZGL/XFxb/1BSU/9HS03/QkZJ/0BE + SP8/REf/P0RH/0FFSP9ER0r/S01P/1ZXWP9mZWT/d3Vz/4SBf/+LiIb/jImH/4yJh/+Nioj/ioeF/2lq + a/9CRkr/O0BE/zxBRe88QUVmQUhCATxCRAA7QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRgA8QUYAPENJAjxBRW48QUXzO0BE/0NH + S/9sbW3/i4iG/42KiP+MiYf/jImH/4uIhv+EgX//eHZ0/2loZ/9aW1v/T1FS/0dKTf9DR0r/QUVJ/0FF + Sf9CRkn/RUhL/0tNT/9TVFX/Xl5d/2ZlY/9qaGb/bmtp/3Z0cv+Cf33/ioeF/4yJh/+MiYf/jImH/3Fx + cf9DR0v/O0BF/zxBRd48QUU3PUFFAEBFSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkcAPEJGADxBRAA8QUVFPEFF4jtB + Rf9BRUn/aGlp/4qHhf+Nioj/jImH/4yJh/+LiIb/h4SC/4B9e/94dnT/c3Fv/29ta/9raWf/Z2Zk/2Rj + Yv9jYmL/ZWRk/2ppaP9ycG7/enh2/4OAfv+JhoT/jImH/4yJh/+MiYf/jImH/42KiP+DgYD/XV9g/z9E + R/87QUX/PEFF6DxBRWA8PEICPEFEAD1CRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQA8QUYAPEFGADxARwQ8QUVpPEFF7DtA + Rf9AREj/YGJj/4WCgf+Nioj/jImH/4yJh/+MiYf/jImH/4mGhP+DgH7/e3l2/3Nxb/9ta2r/aGdl/2Zl + ZP9mZWT/aWdm/2xqaP9wbWv/c3Fv/3h2dP+AfXv/h4SC/4uIhv+MiYf/jImH/4yJh/+LiIb/b29v/0RI + S/87QET/PEFF7DxBRVY5QUMAPUBFADI2OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFGADxBRQA8QEcAPEFFUTxB + ReQ7QUX/P0NH/15fYf+DgX//jYqI/4yJh/+MiYf/jImH/42Jh/+MiYf/i4iG/4mGhP+HhIL/hoOB/4aD + gf+IhYL/iYaE/4qHhf+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+Nioj/ioeF/3Nycv9OUVT/PEFF/zxB + Rf88QUXaPEFFT0Y0XgA8QEQAPEBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBGADxARQA3REIBPEFFVzxB + ReA8QUX/PEFF/1FTVv92dXX/i4iG/42KiP+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+Kh4X/iYaD/4eE + gv+Gg4H/hoOB/4eEgv+JhoT/i4iG/4yJh/+MiYf/jImH/4yJh/+MiYf/jYqI/4aEgv9kZWb/QUVJ/ztA + RP88QUXuPEFFZTtGRAE9QUUAPUFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRAA8QUQAPEJGADxB + RUo8QUXYPEFF/zxBRf9NUFP/cnFx/4mGhP+Nioj/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jYqI/4qHhv95eHf/Wlxe/0BFSP87QET/PEFF/jxB + RbU8QUUyPEFGADxBRAA8QkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRAA8QkUAPUBGADxB + RTo8QUW/PEFF/ztARP9CRkr/Xl9h/317ev+LiIb/jYqI/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/42KiP+LiIb/eHd3/1NWWP89Qkb/PEFF/zxB + ReU8QUVdO0hIAjxCRgA9QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEBFADxB + RAA8QUUzPEFFtzxBRf07QET/QERI/1VYWv9zcnL/hoOC/4yJh/+Nioj/jYqI/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+Nioj/jYqI/4yJh/+Fg4H/c3Jy/1lbXf9CR0r/O0BE/zxBRf88QUXkPEFFfDxB + RRQ8QUUAPEJEADxCRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEJFADtA + RAA8QUUaPEFFiTxBReo8QUX/O0FF/0RJTP9dX2D/d3Z2/4eFg/+Niof/jYqI/42KiP+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jYmH/42KiP+Nioj/iYaE/3l4d/9cXV//QkdK/ztARP88QUX/PEFFyTxB + REQ/TEYAO0JFADtDRgBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + RdI8QUXZPEFF1zxBRc48QUW5PEFFmzxBRXM8QUVCPEFGFzA9XwA8QUUAPEFEAD5ESAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPj5EADY/QQA5PEAAO0FEADxBRQA8QUUAPEBGADxCRQU8QUULPEFFDjxB + RQ88QUUMPEFECDtAQgI8QUUAPEFFADxARQA9P0UAO0NGAEM6PwAAgIAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAyR08APEJFADxBRQA8QUUAPEFFADtBQwA8QUYHPEFFDTxB + RhI8QUUZPEFFFjxBRRA7QUUKO0BHAjxBRQA8QUUAPEFGADtBRwA9O0oAOkVGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+QkYAPEJEADxBRQA8QUUAPEFFADxB + RQA8QUUAPEFFADxBRAA/PkMAPj5EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAOkFJAD1BRgA8QUYAPEFFADxB + RgA8QUUAPEFFADxBRQA7QUUAPEFGADk9QgA6PkMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///////////////////8A////////////////////AP///////////////////wD///////////// + //////8A//////8AAAAAAP//////AP///+AAAAAAAAAAB////wD///4AAAAAAAAAAAB///8A///gAAAA + AAAAAAAAB///AP//4AAAAAAAAAAAAAf//wD//+AAAAAAAAAAAAAH//8A///gAAAAAAAAAAAAB///AP// + 4AAAAAAAAAAAAAf//wD//+AAAAAAAAAAAAAH//8A///wAAAAAAAAAAAAD///AP///4AAAAAAAAAAAf// + /wD////8AAAAAAAAAD////8A//////8AAAAAAP//////AP/////+AAAAAAA//////wD////4AAAAAAAA + AB////8A////wAAAAAAAAAAD////AP///gAAAAAAAAAAAH///wD///AAAAAAAAAAAAAP//8A///gAAAA + AAAAAAAAB///AP//wAAAAAAAAAAAAAP//wD//wAAAAAAAAAAAAAA//8A//4AAAAAAAAAAAAAAH//AP/8 + AAAAAAAAAAAAAAA//wD/+AAAAAAAAAAAAAAAH/8A//AAAAAAAAAAAAAAAA//AP/gAAAAAAAAAAAAAAAH + /wD/4AAAAAAAAAAAAAAAB/8A/8AAAAAAAAAAAAAAAAP/AP+AAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAA + AAAAAP8A/wAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAA/wD+AAAAAAAAAAAAAAAAAH8A/gAAAAAA + AAAAAAAAAAB/APwAAAAAAAAAAAAAAAAAPwD8AAAAAAAAAAAAAAAAAD8A+AAAAAAAAAAAAAAAAAAfAPgA + AAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPAAAAAAAAAAAAAAAAAA + DwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAA + AAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAA + AAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAA + AAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAA + DwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAA + AAAAAA8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAA + AAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD8AAAAAAAAAAAAAAAAAD8A/AAAAAAAAAAAAAAAAAA/APwA + AAAAAAAAAAAAAAAAPwD+AAAAAAAAAAAAAAAAAH8A/gAAAAAAAAAAAAAAAAB/AP4AAAAAAAAAAAAAAAAA + fwD/AAAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAA/wD/gAAAAAAAAAAA + AAAAAf8A/4AAAAAAAAAAAAAAAAH/AP/AAAAAAAAAAAAAAAAD/wD/wAAAAAAAAAAAAAAAA/8A/4AAAAAA + AAAAAAAAAAH/AP+AAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAD/AP4A + AAAAAAAAAAAAAAAAfwD+AAAAAAAAAAAAAAAAAH8A/gAAAAAAAAAAAAAAAAB/APwAAAAAAAAAAAAAAAAA + PwD8AAAAAAAAAAAAAAAAAD8A/AAAAAAAAAAAAAAAAAA/APgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAA + AAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAA + AAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgA + AAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAA + HwD8AAAAAAAAAAAAAAAAAB8A/AAAAAAAAAAAAAAAAAA/APwAAAAAAAAAAAAAAAAAPwD+AAAAAAAAAAAA + AAAAAD8A/gAAAAAAAAAAAAAAAAB/AP4AAAAAAAAAAAAAAAAAfwD+AAAAAAAAAAAAAAAAAH8A/wAAAAAA + AAAAAAAAAAD/AP+AAAAAAA//8AAAAAAA/wD/gAAAAAAf//AAAAAAAf8A/8AAAAAAP//8AAAAAAP/AP/g + AAAAAH///gAAAAAH/wD/8AAAAAD///8AAAAAB/8A//gAAAAB////gAAAAB//AP/8AAAAA////8AAAAA/ + /wD//wAAAA/////wAAAAf/8A///AAAA//////AAAAf//AP//4AAA//////8AAAf//wD///8AH/////// + 8AB///8A////////////////////AP///////////////////wD///////////////////8A//////// + ////////////AA== + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Forms/FrmWaiting.Designer.cs b/JinYuan.ControlLib/Forms/FrmWaiting.Designer.cs new file mode 100644 index 0000000..6ff2b7a --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmWaiting.Designer.cs @@ -0,0 +1,162 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib.Forms +{ + /// + /// Class FrmWaiting. + /// Implements the + /// + /// + partial class FrmWaiting + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmWaiting)); + this.imageList1 = new System.Windows.Forms.ImageList(this.components); + this.label1 = new System.Windows.Forms.Label(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.label2 = new System.Windows.Forms.Label(); + this.timer2 = new System.Windows.Forms.Timer(this.components); + this.SuspendLayout(); + // + // imageList1 + // + this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); + this.imageList1.TransparentColor = System.Drawing.Color.White; + this.imageList1.Images.SetKeyName(0, "0.png"); + this.imageList1.Images.SetKeyName(1, "1.png"); + this.imageList1.Images.SetKeyName(2, "2.png"); + this.imageList1.Images.SetKeyName(3, "3.png"); + this.imageList1.Images.SetKeyName(4, "4.png"); + this.imageList1.Images.SetKeyName(5, "5.png"); + this.imageList1.Images.SetKeyName(6, "6.png"); + this.imageList1.Images.SetKeyName(7, "7.png"); + this.imageList1.Images.SetKeyName(8, "8.png"); + this.imageList1.Images.SetKeyName(9, "9.png"); + this.imageList1.Images.SetKeyName(10, "10.png"); + this.imageList1.Images.SetKeyName(11, "11.png"); + this.imageList1.Images.SetKeyName(12, "12.png"); + this.imageList1.Images.SetKeyName(13, "13.png"); + this.imageList1.Images.SetKeyName(14, "14.png"); + this.imageList1.Images.SetKeyName(15, "15.png"); + this.imageList1.Images.SetKeyName(16, "16.png"); + this.imageList1.Images.SetKeyName(17, "17.png"); + this.imageList1.Images.SetKeyName(18, "18.png"); + this.imageList1.Images.SetKeyName(19, "19.png"); + // + // label1 + // + this.label1.Dock = System.Windows.Forms.DockStyle.Top; + this.label1.Image = global::JinYuan.ControlLib.Properties.Resources.loading; + this.label1.Location = new System.Drawing.Point(0, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(276, 196); + this.label1.TabIndex = 0; + // + // timer1 + // + this.timer1.Interval = 20; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // label2 + // + this.label2.Dock = System.Windows.Forms.DockStyle.Top; + this.label2.Font = new System.Drawing.Font("微软雅黑", 12F); + this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.label2.Location = new System.Drawing.Point(0, 196); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(276, 30); + this.label2.TabIndex = 1; + this.label2.Text = "处理正在进行中,请稍候..."; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // timer2 + // + this.timer2.Tick += new System.EventHandler(this.timer2_Tick); + // + // FrmWaiting + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(247)))), ((int)(((byte)(247))))); + this.ClientSize = new System.Drawing.Size(276, 244); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.IsFullSize = false; + this.Name = "FrmWaiting"; + this.Opacity = 0D; + this.RegionRadius = 20; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = ""; + this.TopMost = true; + this.TransparencyKey = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(247)))), ((int)(((byte)(247))))); + this.VisibleChanged += new System.EventHandler(this.FrmWaiting_VisibleChanged); + this.ResumeLayout(false); + + } + + #endregion + + /// + /// The image list1 + /// + private System.Windows.Forms.ImageList imageList1; + /// + /// The label1 + /// + private System.Windows.Forms.Label label1; + /// + /// The timer1 + /// + private System.Windows.Forms.Timer timer1; + /// + /// The label2 + /// + private System.Windows.Forms.Label label2; + /// + /// The timer2 + /// + private System.Windows.Forms.Timer timer2; + + + } +} \ No newline at end of file diff --git a/JinYuan.ControlLib/Forms/FrmWaiting.cs b/JinYuan.ControlLib/Forms/FrmWaiting.cs new file mode 100644 index 0000000..541c783 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmWaiting.cs @@ -0,0 +1,103 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.Forms +{ + /// + /// Class FrmWaiting. + /// Implements the + /// + /// + public partial class FrmWaiting : FrmBase + { + /// + /// Gets or sets the MSG. + /// + /// The MSG. + public string Msg { get { return label2.Text; } set { label2.Text = value; } } + /// + /// Initializes a new instance of the class. + /// + public FrmWaiting() + { + base.SetStyle(ControlStyles.UserPaint, true); + base.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + base.SetStyle(ControlStyles.DoubleBuffer, true); + InitializeComponent(); + } + + /// + /// Handles the Tick event of the timer1 control. + /// + /// The source of the event. + /// The instance containing the event data. + private void timer1_Tick(object sender, EventArgs e) + { + if (this.label1.ImageIndex == this.imageList1.Images.Count - 1) + this.label1.ImageIndex = 0; + else + this.label1.ImageIndex++; + + } + + /// + /// Handles the VisibleChanged event of the FrmWaiting control. + /// + /// The source of the event. + /// The instance containing the event data. + private void FrmWaiting_VisibleChanged(object sender, EventArgs e) + { + //this.timer1.Enabled = this.Visible; + } + + /// + /// Does the escape. + /// + protected override void DoEsc() + { + + } + + /// + /// Handles the Tick event of the timer2 control. + /// + /// The source of the event. + /// The instance containing the event data. + private void timer2_Tick(object sender, EventArgs e) + { + base.Opacity = 1.0; + this.timer2.Enabled = false; + } + + /// + /// Shows the form. + /// + /// The int sleep. + public void ShowForm(int intSleep = 1) + { + base.Opacity = 0.0; + if (intSleep <= 0) + { + intSleep = 1; + } + base.Show(); + this.timer2.Interval = intSleep; + this.timer2.Enabled = true; + } + } +} diff --git a/JinYuan.ControlLib/Forms/FrmWaiting.resx b/JinYuan.ControlLib/Forms/FrmWaiting.resx new file mode 100644 index 0000000..c182949 --- /dev/null +++ b/JinYuan.ControlLib/Forms/FrmWaiting.resx @@ -0,0 +1,2214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 132, 17 + + + 222, 17 + + + + + AAABAAEAeIAAAAEAIAAo+AAAFgAAACgAAAB4AAAAAAEAAAEAIAAAAAAAAPAAAGDqAABg6gAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVAG9vbwBCQkQAPz9LADw9 + RQA7P0cAPEBHAD1ARgA9QUYAO0BGADtDRQA7QUEAO0BAADk+PgA9QkIAPkJCADtBRAA4RkgAOUZGADxA + QAA8QEAAOUZGADhGSAA7QUQAPkJCAD1CQgA5Pj4AO0BAADtAQQA7QEUAO0BGAD1BRgA9QEYAPEBHADs/ + RwA8PUUAPz9LAEJCRABvb28AVVVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUAGRksAD4+ + RAA4QUUAOEBEADk7PABBQ0MAO0NFADs/RwA6QUUAPENDADxDQwA8Q0MAPENDADtCQwA1REIASjRkADw3 + RgE6PUoBPD9JAT0/RwI9QEcCO0BGAjtDRQI7QUEDO0BABDk+PgQ+QkIEPkJCBTtBRAU4R0gFOUZGBTxA + QAY8QEAGOUZGBThHSAU7QUQFPkJCBT5CQgQ5Pj4EO0BABDtAQQM7QEUCO0BGAj1ARwI9P0cCPD9JATo9 + SgE8N0YBSjRkADVEQgA7QkMAPENDADxDQwA8Q0MAPENDADxBQwA8QUcAPUFIADdGSQA3SUkAOz9DADlC + RgBAP0UAGxsvAFVVVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tQwAkIz8APDxLADxCRAA8QkUAO0JEADtE + QwBaUDUAMztIADo8PwFBQ0MDO0NFBDtARgY4P0cIPEFDCz1BRQ08QkUPPEFDETtBRBM8Q0MVPENEFzxC + Qxk8QkQaPEJEGzxCRBw8QkQdPEJEHjxDRB88Q0MgPENDIDxDQyA8Q0MhPENDITxDQyE8Q0QhPENDITxD + QyI8Q0MiPENDITxDRCE8Q0MhPENDITxDQyE8Q0MgPENDIDxDQyA8QkQfPEJEHjxCRB08QkQcPEJEGzxC + RBo8QkMZPENEFzxDQxU7QUQTPEFDETxCRQ89QUUNPEFBCzo/QQg8QUcGPUFHBTdFSAM4R0gBNTtIAFFJ + MAA6REMAO0JEADxCRQA8QEQAPD1LACQjPwAtLUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAMzMzAERQVAA+RkgAPkNFAD1CRABETUMAPDtNATxCRAQ8QkUIO0JFDDxC + RBA7QkQVO0JEGTxCQxw8Q0MePENDIDxCRCI8Q0QkPENDJTxDQyU8Q0MmPENDJjxDQyY8Q0MnPENDJzxD + Qyc8Q0MnPENDJzxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxD + Qyc8Q0MnPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MlPENDJTxDQyQ8Q0QjPENEITtDRB88Q0QcO0JEGTtD + RBU8QkQQO0JFDDxBRQg8P0QEPDtNAURMQwA8QkQAPkNFAEBHSgBHUlYAMzMzAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPkREAEBGRwA4SlMAPUJEBTtBQgw8Q0QUPEJEGzxDQyA8Q0MjPENDJTxD + QyY8Q0MmPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MnPENDJzxD + QyY8Q0MmPENDJTxDQyM8QkMgPEJEGzxERBQ8QUIMPUJEBUJVXwBBRkcAPkREAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAP0REAEFDRAI8QkMTPENDIDxDQyU8Q0MmPENDJzxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxDQyY8Q0MlPENEIDxCRBNBQ0QCP0REAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPkNDAD9ERAY8QkMhPENDJzxDQyc8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MnPENDJz1CQyFAREQGPkNEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAP0BAAD86PAA7P0IIPUJEFDxCRB48Q0MjPENDJjxDQyY8Q0MnPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyc8Q0MmPENDJjxDQyM8QkMePUJDFDtAQghDP0AAQ0NEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQEBAAEE+QAA7P0IAEjkEADlDRgM5QkIIOkNEDjxCRBQ8Q0MZPEJDHjxD + QyE8Q0MjPENDJTxDQyY8Q0MmPENDJjxDQyc8Q0MnPENDJzxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJTxDQyQ8Q0MjPENDIzxDQyQ8Q0MlPENDJTxD + QyY8Q0MmPENDJTxDQyU8Q0MkPENDIzxDQyI8Q0MjPENDJTxDQyU8Q0MmPENDJjxDQyY8Q0MmPENDJjxD + QyY8Q0MmPENDJjxDQyY8Q0MmPENDJjxDQyY8Q0MmPENDJzxDQyc8Q0MnPENDJjxDQyY8Q0MmPENDJTxD + QyM8Q0MhPEJDHjxDQxk8QkQUO0NFDjpDQgg7PkYDE3Y6ADs/QgBFQUQAREREAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQAAADYAPUZMADhERQA7Q0MAPENCAEFJSAA8QkQBO0BEAjtB + RgU5Q0QIPUFECzxBQg49Q0IRPENEFDxBRRc8QkUaPEJDHTxDQx48Q0MgPEJDITxDRCM8Q0MkPENDJDxD + QyU8Q0MlPENDJTxDQyY8Q0MmPENDJDxDQyM8Q0MlPENDMDxCREM8QkVcPEFFdDxBRYs8QUWdPEFFqTxB + RbA8QUWyPEFFrjxBRaU8QUWXPEFFhDxCRW08QkRVPEJDPTxCQy08Q0MkPENDIzxDQyU8Q0MmPENDJTxD + QyU8Q0MlPENDJDxDQyQ8Q0QjPEJDITxDQyA8Q0MePEJDHTxCRBo8QkUYPEJFFTxDRBI9QkMPPkFECzpE + RQg7QUcFOz9EAj5ERgE+RkYAPUNDADxERAA6PkYAPTtHAAAABwBVVVUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4ADAzMgA8QkQAO0BEADtC + RgA6Q0QAPUFEAD5ERgA6REQAPkM+AAAA/wBAQ1sBOjxHAjxCRQM7QEUEOkBFBTtCRQY9Q0MIPEFECTxC + Qws9QkUMO0JEDTxBRAs9Q0QRPEFGLTxBRWA8QUWaPEFFxjxBReQ8QUX1O0BE/jtARP87QET/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/87QET/O0BE/zxBRfw8QUXwPEFF3jxBRb08QUWNPEFFUjxCRSM8QUUNO0NECztC + RQw8QkMLPEFECT1DQwg7QkUGOkBFBTtARQQ8QkUDOjxHAkRDWQFAL24AOksuADxDQAA8QkQAPUFEADpE + RQA7QkYAO0BEAD1ERQA1OTgAPz8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAARkZGAC0tLQBAQUEAO0NFAEhPOgBGR2MAOjtHAD1CRgA7QEYAOj9FADtCRQA8Q0MAPEJDADxC + RAA8QUUAO0JGDDxBRUQ8QUWUPEFF1TxBRfc7QET/Oj9D/zo/Q/88QUX/REhM/0tQU/9SV1r/Wl5i/19j + Zv9hZWj/XWFl/1dbX/9PVFf/SU1R/0FGSv87QET/Oj9D/zo/Q/87QET/PEFF8jxBRck8QUWBPEFFMztD + SAU8QUUAO0JEADxDQwA7QkUAOj9FADtARgA9QkYAOjtHAEdHYwBHUDwAPUFIADxDRwBCQkEAR0dHAEBA + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0BGADxBRQA8QEYAPEFGAD1B + RQ08QUVUPEFFtjxBRfI7QET/Oj9D/z1CRv9MUVT/aGxv/4mMjv+oqqv/vr/A/8/Q0f/b3Nz/4ODh/+Li + 4//j4+P/4eHi/97f3//X2Nn/ysvM/7i5u/+goqT/gIOG/2FlaP9HTFD/O0BE/zo/Q/87QET/PEFF6DxB + RaA8QUU+OUJGBTxCRQBCQ0UAP0NGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QUQASzZFADxBRQA8P0gDPEFFRjxB + RbM8QUX2O0BE/zo/RP9KT1P/c3d5/6aoqf/P0NH/5+fn//Dw8P/z8/P/8/Pz//Ly8v/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/y8vH/8vLy//Pz8//y8vL/7+/v/+Lj4//HyMn/m52f/2hsb/9ESU3/Oj9D/ztA + RP88QUXsPEFFljxBRSg5P0QAPEFFAD1ARQA2Q0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBM + UwAmWGIAPEFGADxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRR08QUWMPEFF7TtA + RP87QET/UlZa/42Qkv/Jy8v/6urq//Ly8v/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/y8vL/8vLy/+Xl5f+9vr//fH+C/0hN + Uf86P0P/PEFF/zxBRdc8QUVgPEBEBzxBRQA8QUUAPEFFADxBRQA8QUUAPEFFADxBRQA8QUUAO0FFADRL + TwA2SEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRQA7REQAPEFFADxB + RQA8QUQAPUJEADxARQI8QUUFPEFFBzxBRQg8QUUIPEFFCDxBRQg8QUUIPEFFPzxBRcU8QUX/Oj9D/0pP + U/+LjZD/0NHS//Dw8P/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/z8vL/6+zs/8HD + xP90eHr/QUZJ/zo/RP88QUX1PEFFkTxBRRo8QUUHPEFFCDxBRQg8QUUIPEFFCDxBRgY7QkYDPUBEADxB + RQA8QUUAPEFFAD1DQwA9Q0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA9QUUAPEFFADxBRQA3W0UAPEFFFDxB + RTQ8QUVdPEFFgDxBRZ08QUWxPEFFvDxBRcI8QUXDPEFFwzxBRcM8QUXEPEFF5ztARP89Qkb/bXF0/8LD + xP/u7u7/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/n5+j/qKmr/1RYXP86P0P/PEFF/TxBRdM8QUXCPEFFwzxBRcM8QUXDPEFFvjxBRbM8QUWfPEFFgzxB + RWA8QUU3PEFFFT1HPwE8QUUAPUFFAD1ARAA9QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/RUcAP0RGAD1BRQA7QUUAPEFFFDxBRUs8QUWSPEFFyzxB + Re08QUX8O0BE/zo/Q/86P0P/Oj9D/zo/Q/86P0P/Oj9D/zo/Q/86P0P/OT5C/0VKTv+SlZf/4uPj//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/x8fH/8fHx/8vMzf9rb3L/O0BE/zk+Q/86P0P/Oj9D/zo/Q/86P0P/Oj9D/zo/Q/86P0P/O0BE/zxB + Rf08QUXuPEFFzjxBRZU8QUVQPUFGFztCRgA8QUUAO0BCAD0+QAAAgIAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAOkVGAC5fRwA8QUUAOj9FAD1BRSI8QUV1PEFFyDxBRfU7QET/OT5D/ztA + RP9BRkr/TlNW/1tfYv9mam3/b3N1/3N2ef90d3r/c3d6/3N3ev9zdnn/eHx+/7O1t//t7e3/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/c3N3/j5GT/3N2ef9zd3r/c3d6/3N3ev9zd3r/cHR3/2hsbv9cYGP/T1RX/0JH + Sv87QET/OT5D/ztARP88QUX3PEFFyzxBRXc8QUUjPUNGADxBRAAoblQAOkVGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA8QEUAPUFGADxARQA8QUUZPEFFdjxBRdY8QUX+Oj9D/zxBRf9NUlX/cHN2/5ib + nf+7vb7/0dLT/+Dh4f/o6On/6urr/+vr6//r6+v/6+vr/+vr6//r6+v/7Ozt//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/7+/v/+vr6//r6+v/6+vr/+vr6//r6+v/6uvr/+np6f/i4uL/09TU/72/ + wP+bnZ//cnZ4/05TVv88QUX/Oj9D/zxBRf88QUXYPEFFdztCRBk8QEUAPUFEAD1ARAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAOkJCAD1BRgA8QUQAPT9GBDxBRU88QUXFPEFF/jo/Q/8/REj/YmZp/5yeoP/Pz9D/6enq//Ly + 8v/z8/P/8vLy//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8vLy//Pz + 8v/y8vL/6urq/9DR0v+eoKL/Y2dq/0BFSf86P0P/PEFF/jxBRcY8QUVPPkBEBD1BRQA7QUQAP0BHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA+QUYAQEFGADxBRQA8QUQVPEFFijxBRfA7QET/PUJG/2Jmaf+qrK3/4OHh//Ly8v/y8vL/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/y8vL/4eHi/6utr/9jZ2r/PUJG/ztARP88QUXwPEFFij1BRRU8QUUAOEdJADpF + RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpE + RwA8Q0cAO0FFADxBRSo8QUW1PEFF/jo/Q/9NUlb/mJqc/97e3//y8vL/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/9PU + 1P/T1NT/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/e39//mZud/05TVv86P0P/PEFF/jxBRbQ8QUUrPj9DADtB + RAA7PkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOURIADpE + RwA9P0UAPEJGOzxBRc07QUX/PEFF/2hsb//Excb/8PDw//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/0NHS/1ld + YP9ZXWD/0NHS//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8PDw/8XGx/9pbXD/PEFF/zxBRf88QUXNPEFFOjxD + RwA9QEMAP0NGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QEMAO0JGAD1A + QwA8QUVAPEFF1ztARP8/REj/goWI/93d3v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0BF + SP9ARUj/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/d3t7/goSH/z9ESP87QET/PEFF1jxB + RT48QEQAPUFFADw/QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlCQwA6P0IAPEJGADxB + RTk8QUXXO0BE/0JHSv+TlZf/5+jo//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0FG + Sf9BRkn/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8fH/5+fn/5GUlv9BRkr/O0BE/zxB + RdU8QUU3PEJGAD09QABAQEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1ARQA8QEUAPEFFKDxB + Rcs7QET/QUZK/5eanP/r6+v/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/ubu8/0FG + Sf9BRkn/ubu8//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+vr6/+WmZv/QUZK/ztA + RP88QUXJPEFFJzxBRQA7QUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBGADxARQA7QEQTPEFFsDxB + Rf8+Q0f/kZOV/+vr6//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/19fX/ury9/0FG + Sf9BRkn/ury9//X19f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/q6+v/kJOV/z5D + R/88QUX/PEFFrj1BRRI8QUUAPEJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PUcAPEBGADw/RwM8QUWEPEFF/TtA + RP9/goX/5ufn//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/6+vs/9LT0/+xs7T/fH+C/z5D + R/8+Q0f/fYCD/7O1tv/U1db/7e3t//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5ubm/36B + hP87QET/PEFF/TxBRYM7REQDPEJFAD09SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAA/wAAPEFFADxBRUw8QUXuOj9D/2Zq + bf/b29z/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/+vr6/+8vr//en1//09TV/8+Q0f/O0BE/zxB + Rf88QUX/O0BE/z9DR/9RVln/gIOF/8PFxv/t7e7/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9rb + 2/9laWz/Oj9D/zxBRe48QUVLPEJEADtMKQArVVUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRgA8QUUAPEFFGTxBRcU7QET/TVFV/8LD + xP/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/2NnZ/4SHif9GSk7/OT5C/zo/Q/89Qkb/QEVI/0JG + Sf9CRkn/QERI/z1CRv86P0P/OT9D/0pOUv+Mj5H/3t/f//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/BwsP/TFBU/ztARP88QUXDPEFFGDxBRQA5QUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRQA/OUIAPEFFezxBRf49Qkb/l5qc//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/KzMz/ZGdr/zo/Q/87QET/QEVI/01QUf9aW1r/YmFg/2Rj + Yf9kY2H/YWFg/1laWv9MTlD/P0RH/zpARP88QUX/bnF0/9TV1f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/v7+//lpmb/z1CRv88QUX+PEFFeEM+RQA5QkQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JEADxBRQA8QUUrPEFF3To/Q/9kaGv/39/g//Hx + 8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9DR0v9eYmb/OT9D/zxBRf9KTU//X19e/2hnZf9qaGX/aWdl/2ln + Zf9pZ2X/aWdl/2poZf9oZmT/XV1d/0hLTf88QUX/Oj9D/2lsb//Y2dr/8vHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/x8fH/3t/f/2Roa/86P0P/PEFF3DxBRSk8QUUAPEJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0FFADpCQwE8QUWJPEFF/0JHS/+xs7T/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/5OTk/3J1eP86P0P/PUJG/1BSU/9mZWP/amdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/amhl/2VjYv9NT1H/PEFF/zpARP98gIL/6Ojo//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy/7Cys/9CRkr/PEFF/zxBRYc+QEkBPEFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5RkgAPEJFADxBRSc8QUXeOj9D/25ydf/m5+f/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/y8vL/qKqr/z5DR/88QUX/TlBS/2dlZP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9mZGP/S05Q/ztARP9BRkr/sLKz//Ly8v/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx/+bm5v9tcXT/Oj9D/zxBRd08QUUmPEFFAD1ARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1SkwAPz5CADxBRXg8QUX/QUZK/7K0tf/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/m5+f/am5x/zk+Qv9ESEv/Y2Jh/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qZ2X/YWFg/0JGSf85PkL/b3J1/+jo6P/x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v+xs7T/QUZK/zxBRf88QUV1PEFGADs/QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA8QUUAPEFGFDxBRcg6P0P/ZGhr/+Li4//x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/U1NX/TlJW/zo/RP9RU1T/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1BSU/86P0P/T1NX/9XW1v/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/h4uL/YmZq/zo/Q/88QUXGPEJFEjxBRQA9PUkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFA7OQA8QUUAPEFFSjxBRfU8QUX/nJ6g//Ly8v/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/Oz9D/Sk9S/ztARP9UVVb/amhm/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amhm/1RVVv87QET/Sk9S/87P0P/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/y8fH/mpye/ztARP88QUX0PEFFSDxBRQA5L1QAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtBRAAfAAAAPEFFjztARP9MUVT/zs7P//Ly8v/w8PD/8fHw//Hx + 8P/v7/D/7/Dw//Hx8P/x8fD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Hx8f/f4OD/XWFk/zk/Q/9FSUv/YWFg/2poZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qaGX/YWFg/0VIS/85P0P/XWFk/9/g4P/x8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8P/x8fD/7/Dw/+/v + 8P/x8fD/8fHw//Dw8P/y8vL/zM7O/0tQVP87QET/PEFFjStPRAA+QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtBRQA7QUUTPEFFyzo/Q/9vc3b/6enp//Hx8P/w8PD/4eTy/8bO + 9/+2wvn/t8L5/8jQ9v/k5vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/nZ+h/z1CRv87QET/RUhL/1lZWf9lZGL/aWdl/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2pnZf9qaGX/aWdl/2ZkY/9ZWVr/REhL/ztARP8+Q0f/nqCi//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+Tm8v/I0Pb/t8L5/7bC + +f/Gzvf/4eTy//Dw8P/x8fD/6Onp/25xdP86P0P/PEFFyT1BRhI9QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQEBAADxBRQA8QUU5PEFF7ztARP+bnZ//8vLy/+/w8P/P1vX/obD9/5Sm + //+Spf//kqX//5Sm//+ks/z/1dr1//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/5eXm/4SHif8+Q0f/Oj9D/z1CRv9GSUz/UVNU/1pbW/9gYF//Y2Jh/2Rj + Yv9kY2L/Y2Jh/2BgX/9aW1v/UVNU/0ZJTP89Qkb/Oj9D/z5DR/+Fh4r/5ebm//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/1Nr1/6Sz/P+Upv//kqX//5Kl + //+Upv//obD9/8/W9f/w8PD/8vLy/5mcnv87QET/PEFF7jxBRTg8QUUAN0lJAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAMUVXADxBRQA8QUVpO0BE/kRJTf/BwsP/8/Py/9fc9P+crP7/k6X//5Sm + //+Upv//lKb//5Sm//+Tpf//oLD9/93h8//x8fD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+bm5/+eoKL/VFlc/zxBRf85PkL/O0BE/z1CRv8/REf/QkZJ/0NH + Sv9DR0r/QkZJ/z9ER/89Qkb/O0BE/zk+Qv87QET/VFhc/56gov/m5+f/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8P/d4fP/oLD9/5Ol//+Upv//lKb//5Sm + //+Upv//k6X//5yt/v/Y3PT/8/Py/8DCw/9ESEz/O0FF/jxBRWg8QUUATC0+AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFAD5CRQE8QUWYOj9E/1ZaXv/b29z/7u/y/7K++v+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//7nE+f/v7/D/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx + 8f/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/w8PD/1dXW/5yfoP9obG//TFBU/z5DR/87QET/OT9D/zk+ + Qv85PkL/OT9D/ztARP8+Q0f/TFBU/2hsb/+anJ7/09TV//Dw8P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx + 8f/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+/v8P+5xPn/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+yvvr/7u/y/9rb2/9VWl3/OkBE/zxBRZY+RUkBPEJGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRQw8QUW9OT5C/21xdP/r6+r/5Ofy/5+v/f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6Wz/P/p6vH/8PDw//Dw8P/w8PD/8PDw//Ly8v/x8fH/6Ojo/+Hh + 4f/g4OH/5eXm/+7u7v/y8vL/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//Hx8f/n5+f/z9DQ/7W3uP+doKH/j5GU/4eK + jP+Hioz/j5GU/52gof+2t7j/z9DQ/+fn5//x8fH/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//Ly8v/u7u7/5eXm/+Dg + 4f/h4eH/6Ojo//Hx8f/y8vL/8PDw//Dw8P/w8PD/8PDw/+jq8f+ls/z/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+fr/3/5Ofy/+rq6v9scHP/OT5C/zxBRbw8QUULPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFGADxBRho8QUXZOj9D/4aJi//x8fD/4OPz/5ys/v+Tpv//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6Gw/f/l5/L/8fHw//Dw8P/x8fH/7e3t/8bHyP+PkpT/bHBz/1xg + ZP9bX2L/Zmpt/36ChP+mqKr/0dLT/+zs7P/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8vLy//Pz8//y8vL/8vLy//Hx + 8f/x8fH/8vLy//Ly8v/z8/P/8vLy//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/s7Oz/0dLT/6aoqf9+gYT/Zmpt/1tf + Yv9cYGT/bHBz/4+SlP/Gx8j/7Ozt//Hx8f/w8PD/8fHw/+Xn8v+hsP3/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Om//+crP7/4OPz//Hx8P+FiIr/Oj9D/zxBRdk8QUUaPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRS88QUXoO0BE/52fof/z8vL/5ujy/6Kx/f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//k6X//6i2/P/q6/H/8PDw//Ly8f/e3t//i46Q/0lOUv86P0P/OT5C/zk/ + Q/85P0P/OT5C/zk+Qv89Qkb/T1NX/3p9gP+3ubr/5eXl//Ly8v/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/y8vL/5eXl/7e5uv97foH/T1NX/z1BRf85PkL/OT5C/zk/ + Q/85P0P/OT5C/zo/Q/9JTlH/iYyP/97e3//y8vH/8PDw/+rr8f+ntvz/k6X//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+isf3/5ujy//Py8v+cnqD/O0BE/zxBRec8QUUuPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRUE8QUXzPEFF/66wsf/z8/P/7+/w/7nE+f+Tpf//lKb//5Sm + //+Upv//lKb//5Sm//+Upv//lKb//8HK+P/w8PD/8fHx/9vb3P9xdHf/O0BE/ztARP8/REf/R0tN/01P + Uf9OUFL/Sk1P/0NHSv89Qkb/Oj9E/zk+Q/9DR0v/am1w/6+wsv/k5eX/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/+Tl5f+usLL/am1w/0JHS/85PkP/Oj9E/z1CRv9DR0r/Sk1P/05Q + Uv9NUFH/R0tN/z9DR/87QET/O0BE/3F1eP/b3Nz/8fHx//Dw8P/Byvj/k6b//5Sm//+Upv//lKb//5Sm + //+Upv//lKb//5Ol//+6xPn/7+/w//Pz8/+tr7H/PEFF/zxBRfI8QUVAPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRU08QUX6QUZJ/7m6vP/z8/P/8fHw/+Dj8/+ks/z/k6X//5Sm + //+Upv//lKb//5Sm//+Tpf//qbf8/+Xn8v/x8fH/6Ojo/36Bg/87QET/PEFF/0lMTv9dXV3/Z2Vj/2ln + Zf9pZ2X/aGZk/2RjYf9bW1v/TU9R/0FFSf87QET/OT5C/0BFSf9tcXP/vL2+/+zt7f/y8fH/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Lx8f/s7O3/u72+/21wc/9ARUn/OT5C/ztARP9BRUj/TU9R/1tbW/9kY2H/aGZk/2ln + Zf9pZ2X/Z2Vj/11dXf9ITE7/PEFF/ztARP9+goT/6Ojp//Hx8P/k5/L/qbf8/5Ol//+Upv//lKb//5Sm + //+Upv//k6X//6Sz/f/g4/P/8fHw//Pz8/+4urv/QEVJ/zxBRfo8QUVNPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVc7QET+RUlN/8DCw//z8/L/8PDw//Hw8P/c4PP/rrv7/5ip + /v+Upv//lKb//5mq/v+yvvr/4OPz//Hx8P/y8vL/rK6w/0FFSf87QET/Sk1P/2VjYv9qaGX/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/aGZl/2FgX/9SU1T/QkZJ/ztARf85PkP/R0tP/4mLjv/a2tv/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy/9ra2/+Ii47/RktP/zk+Q/87QEX/QkZJ/1JUVf9hYF//aGZl/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2poZf9lY2L/Sk1P/ztARP9BRkr/ra+w//Ly8v/x8fD/4OPz/7K++v+Zqv7/lKb//5Sm + //+Yqf7/rrv7/9zg8//w8PD/8PDw//Pz8//AwcL/RElN/ztARP48QUVWPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRV07QET/R0tP/8XHyP/y8vL/8PDw//Dw8P/x8fD/6uvx/9fc + 9P/J0fb/ytL2/9nd9P/s7PH/8fHw//Hx8f/i4uP/ZWls/zk+Q/9DR0r/YmFg/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/YmFg/1FTVP9ARUj/O0BE/ztARP9jZ2r/wcLD//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/wMLD/2Jmaf87QET/O0BE/0BFSP9RU1T/YmFg/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/YWFg/0NHSv85PkL/Zmpt/+Lj4//x8fH/8fHw/+zs8f/Z3fT/ytH2/8nR + 9v/X3PT/6uvx//Hx8P/w8PD/8PDw//Ly8v/Fxsf/RktP/ztARP88QUVcPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVw7QET/R0tP/8jJyv/z8/P/8PDw//Dw8P/w8PD/8PDw//Hx + 8P/x8fD/8fHw//Hx8P/w8PD/8PDw//Py8v+5urv/QkdK/zxBRf9UVVb/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9fXl7/SUxO/zxBRf86P0P/TlNW/6yu + sP/u7u7/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+7u + 7v+srrD/TlNW/zo/Q/88QUX/SUxO/15eXv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1NVVf87QET/QkdL/7m7vP/z8vL/8PDw//Dw8P/x8fD/8fHw//Hx + 8P/x8fD/8PDw//Dw8P/w8PD/8PDw//Pz8//Hycr/RktP/ztARP88QUVbPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRVY7QET+RUlN/8fIyf/09PT/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+KjY//OT9D/0FFSP9hYF//aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9qZ2X/ZmRj/1JUVf8/Q0f/Oj9D/0ZL + T/+jpaf/7u7u//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fD/7e7u/6Kk + pv9GS0//Oj9D/z9DR/9TVFX/ZmRj/2pnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2FgX/9ARUj/OT9D/4qNj//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//T09P/GyMn/RElN/ztARP48QUVVPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRUw8QUX6QEVJ/8HCw//39vb/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+bm5/9na27/OT5C/0lLTv9nZWT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9ZWVr/QUVJ/zo/ + Q/9GSk7/p6mr/+/v7//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/p6mr/0ZK + Tv86P0P/QUVJ/1laWv9oZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dlZP9IS07/OT5C/2hrbv/m5+f/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//f39v/AwsP/QEVJ/zxBRfk8QUVLPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRT88QUXxPEFF/7W3uf/6+vr/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vHx/9jZ2f9TV1v/Oj9D/1BSVP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/XFtb/0FF + Sf86P0P/S1BU/7u9vv/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Lx8f+8vb7/TFBU/zo/ + Q/9BRUn/W1tc/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9QUlP/Oj9D/1NXW//Y2dr/8vHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//r6+v+1t7j/PEFF/zxBRfE8QUU+PEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRSw8QUXmOj9D/6Kkpv/8/Pz/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8zNzv9HTE//O0BE/1ZXV/9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1pa + Wv8/REf/Oj9D/15iZf/X2Nn/8vLx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLx/9fY2P9eYWX/Oj9D/z9E + R/9aWlv/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9WV1f/O0BE/0dMUP/Mzs7/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//z8/P+hpKb/Oj9D/zxBReY8QUUsPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRBg8QUXXOT5C/4mMjv/9/f3/8/Pz//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8LDxP9ESEz/PEFF/1lZWv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9UVVb/PUJF/ztARP+Ii43/7e3t//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/7e3t/4eKjf87QET/PUJG/1RV + Vv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9ZWVn/PEFF/0RITP/CxMX/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8/Pz//39/f+JjI7/OT5C/zxBRdc8QUUYPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPEFFADxCRQs8QUW5OT5C/29ydf/39/f/9/f3//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/7/Awf9DSEv/PEFF/1paWv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2lnZf9pZ2X/aWdl/2ln + Zf9mZWP/Sk1P/zpARP9JTlL/xcbH//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/xMXG/0lOUf86QET/Sk1P/2Zl + Y/9pZ2X/aWdl/2lnZf9pZ2X/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9aWlr/PEFF/0NIS/+/wMH/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/9/f3//f39/9vcnX/OT5C/zxBRbk8QUUKPEFFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAO0FEADZFOAA8QUWVOj9D/1ldYf/o6en//Pz8//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8XGx/9ESU3/PEFF/1hZWf9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ZlY/9hYF//YF9e/2NiYf9oZmT/aWdl/2ln + Zf9qaGX/Xl1d/z9ER/86P0P/gIOF/+3t7f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/t7e3/f4OF/zo/Q/8/REf/Xl1d/2po + Zf9pZ2X/aWdl/2hmZP9jYmH/YF9e/2FgX/9mZWP/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9YWFn/PEFF/0RJTf/Fx8j/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH//f38/+jp6f9YXWD/Oj9D/zxBRZVCLzwAPEBEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATE9YADxBRQA8QUVuO0BE/0dLT//S09T///////T09P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9DR0v9KTlL/O0BE/1RVVv9qaGX/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9nZWP/V1dY/0ZKTP9ARUj/P0RH/0JGSf9NT1H/YF9f/2ln + Zf9pZ2X/aGZk/0xPUf86P0P/TlNW/9DR0v/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/S09P/T1RY/zo/Q/9MT1H/aGZk/2ln + Zf9pZ2X/YF9f/01PUf9CRkn/P0RH/0BFSP9GSkz/V1dY/2dlY/9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9UVVb/O0BE/0pPU//R0tL/8vLy//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/09PT//////9HS0/9GS0//O0BE/zxBRW08QUUAR1JRAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACwwMADxBRQA8QUVCPEFF9D1CRv+wsrP///////j4+P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx/9zc3f9YXF//Oj9D/09RUv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ZlY/9OUFL/PUJG/ztARf88QUX/PEFF/zxBRf87QEX/QkZJ/1xc + XP9pZ2X/amhl/1tbW/89Qkb/PEFF/6Olp//y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v+kpqj/PUJG/z1CRv9bW1v/amhl/2ln + Zf9cXFz/QkZJ/ztARf88QUX/PEFF/zxBRf87QEX/PUJG/05QUv9mZWP/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9PUVL/Oj9D/1hcYP/c3d3/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/4+Pj//////6+xs/89Qkb/PEFF9DxBRUE8QUUACwsMAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUgPEFF2zk+Qv+LjpD//v7+//39/f/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+np6f9rb3L/OT5C/0hLTf9nZWT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1RWVv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/O0BF/0RI + S/9jYmH/amhl/2VjYv9ER0r/OT5C/3p9gP/s7e3/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+zs7f95fX//OT5C/0RIS/9lY2L/amhl/2Ni + Yf9ESEv/O0BF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf9UVlb/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dlZP9IS03/OT5C/2xwc//p6en/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/9/f3//v7+/4uOkP85PkL/PEFF2jxBRR88QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRQA9QkUIPEFFtDo/Q/9laWz/8vLy///////39/f/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+JjI7/OT5D/0FGSf9jYmD/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZGNi/0RHSv87QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxB + Rf9VVlf/aWdl/2hmZf9MTlD/OT9D/11hZf/i4uP/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+Hi4v9dYWT/OT9D/0xOUP9oZ2X/aWdl/1RW + Vv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztBRf9ER0v/ZGNi/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2JiYP9BRkn/OT5D/4qNj//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//f39///////8fLy/2VpbP86P0P/PEFFsztCRQc7QkUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRwA9P0MAPEFFfTtARP9KT1P/1tfY///////8/Pz/8vLy//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Pz8/+usLL/PkNH/z1CRv9aW1v/amhl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/XV1d/z5DRv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + RP9LTU//aGZk/2lnZf9TVFX/Oj9E/09UV//T09T/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9LT0/9PU1f/Oj9E/1NUVf9qZ2X/aGZk/0tN + T/87QET/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf8+Q0b/XV1d/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/amhl/1paW/89Qkb/PkNH/6+xs//z8/P/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8vLy//z8/P//////1tfY/0pPUv87QET/PEFFfD5BRgA7QUQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEpMgA8QUUAPEFFRzxBRfU8QUX/ra+x////////////9vb2//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/S09T/T1RX/zo/Q/9PUVL/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qaGX/Wltb/z1CRv88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + Rf9IS07/Z2Vk/2poZv9XWFj/O0BE/0dMUP/Iycr/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8fIyf9HS0//O0BE/1dYWP9qaGb/Z2Vj/0hL + Tf87QEX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf89Qkb/Wltb/2poZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/05RUv86P0P/UFRY/9PU1P/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/9vb2////////////rK+w/zxBRf88QUX0PEFERjxBRQBDSlUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACtVVQA8QUUAPEFFGjxBRdQ5PkL/fICC//r6+////////Pz8//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/q6ur/c3d6/zk+Qv9DR0r/ZGNh/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/Xl5d/z5DR/88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztA + RP9MTlD/aGZk/2poZv9ZWVn/PEFF/0NITP/CxMX/8/Pz//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8/Pz/8LDxP9DSEz/PEFF/1lZWv9qaGb/aGZk/0tO + UP87QET/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf8+Q0f/Xl5d/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZGJh/0NHSv85PkL/dXh7/+rr6//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL//Pz8///////6+vr/fH+C/zk+Qv88QUXUPEFFGjxBRQAzMzMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkUAP0NGAjxBRZw6QET/VFlc/+Pk5P////////////f3 + 9//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/qaus/z5DR/89QUX/WFlZ/2pnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/ZWRi/0VJTP87QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/zxB + Rf9XV1j/amdl/2poZv9ZWVn/PEFF/0RJTf/DxMX/8/Pz//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8/Pz/8LExf9DSEz/PEFF/1lZWf9qaGb/amdl/1ZX + WP88QUX/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/ztBRf9FSUz/ZWRi/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9qZ2X/WFhZ/z1BRf8+Q0f/qqyu//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/39/f////////////j4+T/VFhc/zpARP88QUWcPkJFAj1CRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkYAPEFFADxBRVk8QUX7PkNH/7W3uP////////////39 + /f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/2dra/1hcX/86P0P/SEtN/2ZlY/9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/1dYWf89Qkb/PEFF/zxBRf88QUX/PEFF/zxBRf88QUX/O0BF/0dK + Tf9lY2L/aWdl/2poZv9XV1j/O0BE/0hNUP/Jysv/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/8jKyv9ITVD/O0BE/1dXWP9qaGb/aWdl/2Vj + Yv9HSk3/O0BF/zxBRf88QUX/PEFF/zxBRf88QUX/PEFF/z1CRv9YWFj/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9mZWP/SEtN/zo/Q/9ZXWD/2tvb//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly + 8v/9/f3///////////+0trj/PkNH/zxBRfo8QUVZPEFFADxCRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAPEFFADxBRSA8QUXZOT5C/32Ag//6+/v///////// + ///5+fn/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/5OVl/87QET/PUJG/1laWv9qZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2dmZP9SVFX/PkNH/ztARf88QUX/PEFF/ztARf88QUX/RklM/2Bf + Xv9pZ2X/aWdl/2lnZf9SVFX/Oj9D/1BVWP/U1dX/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9TU1f9QVFj/Oj9D/1JUVf9pZ2X/aWdl/2ln + Zf9fX17/RUlM/zxBRf87QEX/PEFF/zxBRf87QEX/PkNH/1JUVf9oZmT/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2pnZf9ZWlr/PUJG/ztARP+Ulpj/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//n5 + +f////////////r6+v98f4L/OT5C/zxBRdk8QUUfPEFFAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JGADtERgM8QUWbO0BE/1BUWP/c3d7///////// + ///+/v7/9PT0//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy/9PU1P9UWFz/Oj9D/0ZKTP9lY2L/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9oZmT/W1tb/0tOUP9ER0r/QkZK/0ZKTP9SVFX/Y2Jh/2ln + Zf9pZ2X/aWdl/2hnZf9MTlD/OT9D/11hZf/i4+P/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+Lj4/9dYWT/OT9D/0xOUP9pZ2X/aWdl/2ln + Zf9pZ2X/Y2Jh/1JUVf9GSkz/QkZK/0RHSv9LTlD/W1tb/2hmZP9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2VkYv9GSkz/Oj9D/1VZXP/T1NX/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/9PT0//7+ + /v///////////9vc3f9PVFf/O0BE/zxBRZk8Q0gCPEJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITo9ADxBRQA8QUVNPEFF9jxBRf+jpaf///////// + ////////+/v7//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P+Zm53/PEFF/zxBRf9TVFX/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2hmZP9kY2L/Y2Jh/2ZlY/9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/2RjYf9DR0r/OT5C/3h8f//s7Oz/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+zs7P94e37/OT5C/0RHSv9kY2L/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9mZWP/Y2Jh/2RjYv9oZmT/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/1JUVf88QUX/PEFF/5mcnv/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/+/v7//// + /////////////6Kkpv88QUX/PEFF9TxBRUw8QUQASysyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUtNAD1BRQA9QUUTPEFFxjo/Q/9mam3/7/Dw//// + //////////////f39//w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/e39//ZWls/zo/Q/9AREj/XFxc/2pn + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9pZ2X/aWdl/1ZXWP88QUX/PkNH/6epq//y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v+nqav/PUJG/zxBRf9WV1j/aWdl/2ln + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9qZ2X/XFxc/0BER/86P0P/Zmpt/97f3//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/39/f///////// + ////////7+/v/2VpbP86P0P/PEFFxjxBRBI8QUQAJVtdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9BQgA7QUUAPEFFdjxBRf9BRkr/vL6///// + //////////////7+/v/09PT/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/vL6//0pOUv86P0T/REhL/2Fg + X/9qZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9qZ2X/YmFg/0NHSv86P0P/XGBk/9vc3P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/b29z/XGBj/zo/Q/9DR0r/YmFg/2pn + Zf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2pn + Zf9gYF//REhL/zo/Q/9KT1P/vb/A//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//T09P/+/v7///////// + ////////vL2//0FGSv88QUX/PEFFdTxCRgA3NTkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtCQQA8QUUAPEFFJzxBRd45PkL/d3p9//f3 + 9//////////////////8/Pz/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/7+/v/5yeoP9ARUn/O0BE/0dK + TP9hYWD/amhl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2ln + Zf9lZGL/Sk1P/ztARP9ARUn/p6qr//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/p6mr/0BFSf87QET/Sk1P/2Vk + Yv9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amhl/2Fh + YP9GSkz/O0BE/0BFSf+dn6H/7+/v//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//z8/P////////////// + ///39/f/dnp8/zk+Qv88QUXdPEFFJjxBRQA4OT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBASAA9QEUAPz9GATxBRZA7QET/RktP/8fJ + yv//////////////////////+fn5//Hx8f/w8PD/8PDw//Dw8P/w8PD/8fHx/+np6f+Ii47/PUJG/ztA + RP9FSUz/Xl5d/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2Rj + Yv9MT1D/PEFF/ztARP9+gYT/5+jo//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5+jo/36Bg/87QET/PEFF/0xO + UP9kY2L/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/Xl5d/0ZJ + TP87QET/PUJG/4mMjv/p6en/8fHx//Dw8P/w8PD/8PDw//Dw8P/x8fH/+fn5//////////////////// + ///HyMn/RktP/ztARP88QUWPPkBCAT1BRAA8REQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUYAPEFFADxBRTQ8QUXnOj9D/3x/ + gv/4+Pn///////////////////////f39//w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/k5OX/hYiK/z5D + R/87QET/QUVJ/1ZWV/9mZGP/amdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/aWdl/2poZf9pZ2X/Xl5d/0hL + Tf88QUX/Oj9D/21xdP/b3Nz/8vHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vHx/9vb3P9tcHP/Oj9D/zxB + Rf9IS03/Xl5d/2lnZf9qaGX/aWdl/2lnZf9pZ2X/aWdl/2lnZf9pZ2X/amdl/2ZkY/9VVlf/QUVJ/ztA + RP8+Q0f/hYiL/+Tl5f/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/39/f///////////////////////j4 + +f97f4L/Oj9D/zxBRec8QUUzPEFFADxBRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAPUFEAD5ARAM8QUWXO0BE/0ZL + T//Gx8n///////////////////////7+/v/19fX/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/5ubn/5KV + l/9FSk3/Oj9D/z1BRf9HSk3/V1hY/2NiYf9nZmT/aWdl/2lnZf9oZ2X/ZmRj/15eXf9PUVL/QERI/ztA + RP88QUX/cnZ4/9fY2f/y8vL/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/X2Nj/cnV4/zxB + Rf87QET/QERI/09RU/9eXl3/ZmRj/2lnZf9pZ2X/aWdl/2dmZP9jYmH/V1hY/0dKTf89QkX/Oj9D/0VK + Tv+TlZf/5ufn//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//X19f/+/v7//////////////////////8bH + yP9GS0//O0BE/zxBRZY9QUYDPUFFAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0FGADxBRQA8QUU0PEFF5To/ + Q/91eHv/9PX1///////////////////////9/f3/9PT0//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+zt + 7f+xs7T/XWFk/ztBRf86P0P/PEFF/0JGSf9JTE7/TlBS/09RUv9MTlD/RklM/z9DR/87QET/OT5D/0dM + UP+NkJL/4ODg//Ly8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/y8vL/4ODg/42P + kv9HTFD/OT5D/ztARP8/Q0f/RklM/0xOUP9PUVL/TlBS/0lMTv9CRkn/PEFF/zo/Q/88QUX/XWFl/7Kz + tf/t7e3/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/9PT0//39/f//////////////////////9PT1/3R4 + e/86P0P/PEFF5D1BRTQ8QUUAP0VBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRQA8QUUhPEFF1TtB + Rf9CRkr/t7m7/////////////////////////////Pz8//Pz8//w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL/2dra/5aYmv9ZXWD/PkNH/zk+Qv85PkL/OT5D/zk/Q/85PkL/OT5C/zo/Q/9HTFD/dHd6/76/ + wP/t7e3/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx/+3t + 7f+9v8D/dHd6/0dMT/86P0P/OT5C/zk+Qv85P0P/OT5D/zk+Qv85PkL/PkNH/1ldYf+WmJv/2dra//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/z8/P//Pz8////////////////////////////t7i6/0JG + Sv88QUX/PEFF0zxBRR88QUUAPUFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQkUAPEFFADtBRQc8QUWWPEFF/zxB + Rf86P0P/YmZp/+jp6f////////////////////////////z8/P/z8/P/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx//Dw8P/a2tv/r7Cy/4KFh/9obG//XGBj/1ldYf9hZWj/dHd6/5eZm//Fxsf/6enp//Ly + 8v/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/y8vL/6Onp/8XGx/+XmZv/dHd6/2FlaP9ZXWH/XGBj/2hsb/+ChYf/r7Gy/9rb2//w8PD/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8v/8/Pz////////////////////////////o6en/YmZp/zo/ + Q/88QUX/PEFF/jxBRZI+QUQGPUFEAD5AQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRUYAO0FFADxBRVU8QUX0PEFF/0FF + SP89Qkb/PEFF/5mbnf/9/f3////////////////////////////8/Pz/8/Pz//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/x8fH/8vLy/+/v7//m5uf/3+Dg/97e3//i4uP/6+zs//Ly8v/y8vL/8fHx//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8fHx//Ly8v/y8vL/6+zs/+Li4//e3t//3+Dg/+bm5//v7+//8vLy//Hx8f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8/Pz//v7+/////////////////////////////39/f+Ym53/PEFF/z1C + Rf9BRUj/PEFF/zxBRfI8QUVSPEFFAEY8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5BRgA8QUUAPEFFGTxBRcg8QUX/QUZJ/1xc + XP9IS03/Oj9E/0xQVP/Mzc7//////////////////////////////////Pz8//Pz8//w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/8fHx//Hx8f/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/x8fH/8fHx//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/z8/P//Pz8/////////////////////////////////8vMzf9LUFP/Oj9E/0hL + Tf9bW1v/QUVJ/zxBRf88QUXGPUBFGDxBRQA9QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRgA8QUYAPEFFcTxBRf08QUX/VFVW/2po + Zf9dXVz/P0RH/zk/Q/9ucXT/7e3u//////////////////////////////////z8/P/09PT/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//T09P/8/Pz/////////////////////////////////7e3t/21xdP85P0P/P0RI/11d + XP9qZ2X/U1VW/zxBRf88QUX9PEFFcDtCRgA+QUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPUBFADxBRQA8QUUfPEFF0zxBRf9FSUv/ZWNi/2ln + Zf9pZ2X/UVNU/zxBRf88QUX/lpmb//z8/P/////////////////////////////////9/f3/9fX1//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/9fX1//39/f/////////////////////////////////8/Pz/lpmb/zxBRf88QUX/UVNU/2ln + Zf9pZ2X/ZGNi/0VJS/88QUX/PEFF0jxBRR48QUUAPkFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPkBGADtCRQA8QUVtPEFF/j1CRv9XWFj/aWdl/2ln + Zf9pZ2X/ZWNi/0dLTf87QET/R0xQ/72/wP///////////////////////////////////////v7+//f3 + 9//x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx + 8f/39/f//v7+//////////////////////////////////////++v8D/R0xQ/ztARP9HSk3/ZWNi/2ln + Zf9pZ2X/aWdl/1dXWP89QkX/PEFF/TxBRW06QUQAP0FHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBFADxARRE8QUXBPEFF/0RIS/9lY2L/aWdl/2ln + Zf9pZ2X/aWdl/1FSVP88QUX/Oj9D/1ldYf/Z2tv///////////////////////////////////////// + ///6+vr/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//r6 + +v///////////////////////////////////////////9na2v9ZXmH/Oj9D/ztBRf9OUFL/aWdl/2ln + Zf9pZ2X/aWdl/2VjYv9FSEv/PEFF/zxBRcE8QEURPEBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkQAPEFFADxBRUU8QUX0PEFF/1NUVf9pZ2X/aWdl/2ln + Zf9pZ2X/Y2Jh/0NHSv87QEX/O0BE/zo/Q/9xdXf/6+zs//////////////////////////////////// + /////////Pz8//X19f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/19fX//Pz8//// + ////////////////////////////////////////6+zs/3B0d/86P0P/O0BE/ztBRf9BRUj/YGBf/2ln + Zf9pZ2X/aWdl/2lnZf9TVFX/PEFF/zxBRfQ8QUVGPEFFADtARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Q0QAOkBFADxBRYc8QUX/QERH/2BfXv9qZ2X/aWdl/2ln + Zf9pZ2X/VldX/zxBRf9BRkr/Wl5h/z5DR/87QUT/hYmL//X19f////////////////////////////// + //////////////7+/v/5+fn/8vLy//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8vLy//n5+f/+/v7///////// + ///////////////////////////////////09fX/homL/zxBRf89Qkb/YWVp/0VKTf87QET/UlNV/2ln + Zf9pZ2X/aWdl/2pnZf9gX1//QERI/zxBRf88QUWJPURCADs/RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEFFEDxBRcQ7QEX/SEtN/2dlY/9pZ2X/aWdl/2ln + Zf9nZWP/SEtN/zo/Q/9cYGT/wMHC/21xc/86P0P/P0RI/5eanP/5+fn///////////////////////// + /////////////////////////Pz8//b29v/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx8f/29vb//Pz8//////////////////// + //////////////////////////////n5+f+Xmpz/P0NH/zo/Q/9tcXT/x8jI/2drbv85P0P/RUhL/2Vk + Yv9pZ2X/aWdl/2lnZf9nZWT/SEtO/ztARf88QUXGPEFFETxBRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFGRgA8QUUAPEFFLjxBRek8QUX/UlRV/2lnZf9pZ2X/aWdl/2pn + Zf9gX17/QERH/zo/Q/+JjI7/4uLi/8fHyP9eYmX/OT5C/0FGSv+ipaf//Pz8//////////////////// + ///////////////////////////////////7+/v/9fX1//Hx8f/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/x8fH/9PT0//v7+/////////////////////////////// + /////////////////////////Pz8/6Olp/9CR0r/OT5C/15iZf/Hx8j/5OPj/5eZm/88QUX/PkNG/11d + XP9qaGX/aWdl/2lnZf9pZ2X/U1RV/zxBRf88QUXqPEFFMDxBRQA7PkIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVJRwA8QUUAPEFFVzxBRfo9Qkb/W1tb/2poZf9pZ2X/aWdl/2po + Zf9XWFj/PEFF/0NHS/+ztLX/4uLi/+Li4v+8vb7/Vlte/zk+Qv9FSU3/p6mr//v7+/////////////// + /////////////////////////////////////////v7+//r6+v/19fX/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//T09P/6+vr//v7+//////////////////////////////////// + ///////////////////7+/z/p6qr/0VKTf85PkL/Vlpd/7y9vv/i4uL/4uLi/72+v/9ITVD/O0BE/1RV + Vv9pZ2X/aWdl/2lnZf9qaGX/W1xb/z1CRv88QUX7PEFFWjxBRQA6PUEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1CRAA7QEYAPEFFfTxBRf9ARUj/YWBf/2lnZf9pZ2X/aWdl/2ln + Zf9PUVL/Oj9D/1NXW//Mzc3/4eHh/+Dg4P/i4eH/tba4/1JWWf85PkL/RElN/6Wnqf/6+vr///////// + ///////////////////////////////////////////////////+/v7/+/v7//b29v/y8vL/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Ly8v/29vb/+/v7//7+/v////////////////////////////////////////////// + //////////////v7+/+lqKr/RElN/zk+Qv9RVln/tba3/+Hh4f/g4OD/4eHh/9PT1P9bX2L/Oj9D/0xO + UP9oZmX/aWdl/2lnZf9pZ2X/YmFg/0FFSP88QUX/PEFFgTxBRgA8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA9QkUBPEFFmjxBRf9DR0r/ZWRi/2lnZf9pZ2X/aWdl/2hm + ZP9JTE7/OT5C/2VpbP/Z2dr/4ODg/+Dg4P/g4OD/4eHh/7K0tf9SVln/OT5C/0NITP+cnqD/9/f3//// + ///////////////////////////////////////////////////////////////////9/f3/+Pj4//T0 + 9P/x8fH/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Hx + 8f/09PT/+Pj4//z8/P////////////////////////////////////////////////////////////// + ////////9/f3/52fof9DSEz/OT5C/1FVWf+xs7T/4eHh/+Dg4P/g4OD/4ODg/9zc3P9vc3b/OT5C/0ZK + TP9nZWT/aWdl/2lnZf9pZ2X/ZWRj/0RIS/88QUX/PEFFnz1ARgI8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUFPEFFsztBRf9HSk3/Z2Vk/2lnZf9pZ2X/aWdl/2Zl + Y/9GSUz/OT5C/3V4e//d3d3/4ODg/+Dg4P/g4OD/4ODg/+Hh4f+ztLX/VFhb/zk+Qv9ARUn/jpGT/+/v + 7/////////////////////////////////////////////////////////////////////////////7+ + /v/8/Pz/+Pj4//X19f/y8vL/8fHx//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Ly8v/19fX/+Pj4//z8 + /P/+/v7///////////////////////////////////////////////////////////////////////// + ///v7/D/jZCT/0BFSf85PkL/VFhb/7O0tf/h4eH/4ODg/+Dg4P/g4OD/4ODg/9/f3/9/goT/OT5C/0RI + Sv9lY2L/aWdl/2lnZf9pZ2X/Z2Zk/0hLTf87QUX/PEFFuDpDRwY6REcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADlFRwA6Q0cIPEFFvztARf9KTU//aGZk/2lnZf9pZ2X/aWdl/2Vk + Yv9ESEv/OT5C/3t+gP/e3t7/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/ubq8/1peYf86P0P/PEFF/3h8 + fv/h4uP///////////////////////////////////////////////////////////////////////// + ///////////////////9/f3/+/v7//j4+P/29vb/9PT0//Ly8v/x8fH/8fHx//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8fHx//Hx8f/y8vL/9PT0//b29v/4+Pj/+/v7//39/f////////////// + /////////////////////////////////////////////////////////////////////////////+Hi + 4v95fH//PEFF/zo/Q/9aXmH/ubq7/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P+ChYf/OT5C/0NH + Sv9kY2H/aWdl/2lnZf9pZ2X/aGZk/0tNUP87QEX/PEFFxDtCRQs7Q0UAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpCRAA7QkQLPEFFxDtARf9LTlD/aGZk/2lnZf9pZ2X/aWdl/2Zk + Y/9FSEv/OT5D/3R3ef/b29v/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4uHh/8LDw/9nam3/O0BE/zo/ + Q/9hZWn/x8nK//7+/v////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//7+/v/8/Pz/+/v7//r6+v/6+vr/+fn5//n5 + +f/5+fn/+fn5//r6+v/6+vr/+/v7//z8/P/+/v7//v7+//////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7/yMnK/2Jl + af86P0P/O0BE/2Zqbf/CwsP/4uLh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9ra2v96fH7/OT9D/0NH + Sv9kY2H/aWdl/2lnZf9pZ2X/aGZk/0xOUP87QEX/PEFFyDxBRhA7QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpCRgA7QkYLPEFFwztARf9LTU//aGZk/2lnZf9pZ2X/aWdl/2dl + ZP9GSkz/Oj9D/2dqbP/Pzs7/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Li4v/Nzs7/eHt+/z9E + R/85PkL/TVFV/6Olp//y8vP///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////Lz8/+jpaf/TFFU/zk+ + Qv8/Q0f/eHt+/83Ozv/i4uL/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/83My/9tb3L/Oj9D/0VI + S/9mZGP/aWdl/2lnZf9pZ2X/aGZk/0xOUP87QEX/PEFFyTxBRhA8QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADtDRgA7QkYGPEFFuTtARf9JTE//aGZk/2lnZf9pZ2X/aWdl/2hm + ZP9KTU//Oj9D/1hcX/+9u7v/2tra/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/2NjY/5KU + lv9ITFD/OT5C/z5DR/93en3/1NXW//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////1NbW/3d7ff8+Q0f/OT5C/0hN + UP+SlZb/19jY/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/19fW/727u/9dYGP/Oj9D/0lM + Tv9oZmT/aWdl/2lnZf9pZ2X/aGZk/0tNT/87QEX/PEFFwTxARgk9QEYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA8QUUDPEFFqTtARf9IS07/aGZl/2lnZf9pZ2X/aWdl/2ln + Zf9RU1T/O0BE/0pOUf+qqan/ysnI/93d3P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/9/f + 3/+vsLL/XWFk/ztARP85PkL/UVVZ/6Gjpf/s7e3///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+zt7f+hpKb/UVVZ/zk+Qv87QET/XWFk/66w + sf/f39//4eHh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/b29r/yMbF/62srP9MUVT/OkBE/09R + U/9pZ2X/aWdl/2lnZf9pZ2X/aGdl/0lMT/87QEX/PEFFszxBRAU8QUQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRQA6REkAPEFFiztARf9GSk3/amlo/2lnZf9pZ2X/aWdl/2po + Zf9aWlr/PUJG/z5DRv+QkJH/wsC//8vKyf/d3Nz/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/i4uL/y8zM/4CDhf9ESU3/OT5C/z1CRv9mam3/ury9//T19f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////09fX/uru9/2drbv89Qkb/OT5C/0RJTf9/goX/y8vM/+Li + 4v/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9vb2//Ix8b/wsC+/5OUlP8/REf/PEFF/1lZ + Wf9qaGX/aWdl/2lnZf9pZ2X/a2lo/0dLTv87QET/PEFFljpAQwE8QUUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CRwA8QUUAPEFFaTxBRf9BRUn/bm1t/2xqZ/9pZ2X/aWdl/2ln + Zf9jYmH/QkZJ/zo/Q/9oa23/vLu6/8C+vf/Ix8b/2djY/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4eHh/9zc3P+sra//YGRn/z1CRv84PkL/QkdL/3J2eP/AwcP/9PT0//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////9PX1/8HCw/9zd3n/QkdL/zg+Qv88QUX/YGRn/6utrv/c3Nz/4eHh/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/2NjY/8fGxf/Avr3/vbu7/2tucP86P0P/QkZJ/2Jh + YP9pZ2X/aWdl/2lnZf9raWf/b25t/0JHSv88QUX/PEFFczxBRQA8QUYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADpARgA8QUUAPEFFQDxBRfE8QUX/aGhp/3VzcP9pZ2X/aWdl/2ln + Zf9pZ2X/TlBS/ztARP9GSk7/oKCg/8LAv//Avr3/w8LB/9HQz//c3Nz/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/i4uL/0NHR/5SWmP9SVln/O0BE/zk+Qv9DSEz/b3N2/7W3uP/r7Oz///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+vs7P+3ubr/cXV4/0NITP85PkL/O0BE/1FWWf+SlZb/0NDR/+Li4v/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/9zc3P/R0M//w8LB/8C+vf/CwL//oqGh/0dLT/87QET/TU9R/2hm + Zf9pZ2X/aWdl/2lnZf9zcW//a2tr/z1CRv88QUX2PEFFSjxBRQAxNjoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEFFGTxBRdQ7QET/WFpc/4J/ff9samj/aWdl/2ln + Zf9qZ2X/Xl5d/z9ER/86P0T/aGtt/7q5uP/Bv77/wL69/8C+vf/GxMP/0M/P/9nY2P/d3d3/4N/f/+Dg + 4P/g4OD/4ODg/+Dg4P/e3t7/3Nvb/9TT0/+xsLD/eHp8/0tPUv86P0P/OD1B/z9ESP9fY2b/mJud/9PU + 1f/19fX///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////X1 + 9f/T1NX/mpye/2BkZ/8/REj/OD1B/zo/Q/9LT1P/eHp7/7CwsP/U09P/3Nvb/97e3v/g4OD/4ODg/+Dg + 4P/g4OD/4N/f/93d3f/Z2Nj/0M/O/8bEw//Avr3/wL69/8G/vv+6ubj/aWtu/zpARP8/Q0f/XV1d/2pn + Zf9pZ2X/aWdl/2tpZ/+Bfnz/W11f/ztARP88QUXcO0FFIDxBRQBVVVUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QkUAO0NFAzxBRaA7QET/RkpN/4B+ff97eHf/aWdl/2ln + Zf9pZ2X/aGZk/05QUv87QET/QEVI/4iJiv/Avr3/wL69/8C+vf/Avr3/wL69/8LAv//GxcT/ysnI/83M + y//Ozc3/zczM/8vKyf/HxsX/w8HA/8C+vv/Bv77/v728/6inp/96fH3/UVVY/z5DR/86P0P/O0BE/0lO + Uv9ucXX/oKOl/8zNzv/t7e7//Pz8//////////////////////////////////////////////////// + /////////////////////////////////////////////////////////Pz8/+7u7//P0NH/oKOl/21x + dP9JTlL/O0BE/zo/Q/8+Q0b/UFRX/3p8ff+op6f/v728/8G/vv/Av77/w8HA/8fGxf/Lysn/zczM/87N + zf/NzMv/ysnI/8bFxP/CwL//wL69/8C+vf/Avr3/wL69/8C+vf+HiIn/QEVI/ztARP9NUFL/aGZk/2ln + Zf9pZ2X/aWdl/3l2dP+CgH//SU1Q/ztARP88QUWsO0BEBztARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QEQAPEFFADxBRVg8QUX6PEFF/2pqa/+Kh4X/dHJw/2ln + Zf9pZ2X/aWdl/2JhYP9DR0r/O0BE/0dMT/+VlZb/wb++/8C+vf/Avr3/wL69/8C+vf/Avr3/v728/8C+ + vf/Avr3/wL69/7+9vP/Avr3/wL69/8C+vf/Avr3/wL69/8LAvv/CwL//mpqb/0pOUv87QET/PEFF/ztA + RP85PkL/Oj9D/0VKTv9fY2b/goWI/6epq//Iycr/39/g/+/v8P/5+fn//f39//////////////////// + /////////////////////////f39//n5+f/v7/D/39/g/8jJyv+nqav/goWI/2BkZ/9HTE//Oj9D/zk+ + Qv87QET/PEFF/ztARP9FSU3/kJGR/8G/vv/CwL//wL69/8C+vf/Avr3/wL69/8C+vf+/vbz/wL69/8C+ + vf/Avr3/v728/8C+vf/Avr3/wL69/8C+vf/Avr3/wL69/5KTk/9HS07/O0BE/0NHSv9iYWD/aWdl/2ln + Zf9pZ2X/cnBu/4qGhP9ubm//PUJG/zxBRf08QUVlPEFFAEFGSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFFADxBRhk8QUXOO0BE/05RVP+Gg4L/iIWD/3Fv + bf9pZ2X/aWdl/2lnZf9bW1v/P0RH/zpARP9JTVH/j4+Q/768u//Bv77/wL69/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wL69/8C+vf/Avr3/wb++/7+9vP+bm5v/WFxf/zxBRf88QUX/SEtO/1FS + VP9KTVD/QUZJ/ztARP86P0P/OT5C/zxBRf9CR0r/UFRY/2BkZ/9xdHf/g4eJ/5GUlv+doKL/pKao/6iq + rP+oqqz/pKao/52gov+RlJb/g4aJ/3B0d/9gZGf/UFRY/0JHSv88QUX/OT5C/zo/Q/87QET/QUVJ/0pN + UP9RU1T/TE5Q/z1BRf88QUX/TlJV/42Ojv+7ubj/wsC//8C+vf/Avr3/wL69/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wL69/8G/vv+9u7r/i4yN/0hMUP86QET/QERI/1tbW/9pZ2X/aWdl/2ln + Zf9vbWv/hoOB/4iFhP9SVVf/O0BE/zxBRdk8QUUhPEFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0JGAD5AQwA8QUV3PEFF/j1CRv9ra2v/jYqI/4aD + gf9xb23/aWdl/2lnZf9pZ2X/V1hY/z9DR/87QET/Q0hL/3Z4ev+ura3/wb++/8G/vv/Avr3/wL69/8C+ + vf/Avr3/wL69/8C+vf/Avr3/wb++/8LAv/+/vr3/qqqp/3d4ev9GSk7/OkBE/zxBRf9MTlD/ZWRj/3h1 + c/+DgX//enl4/2ZnaP9ESEv/PEFF/zxBRf88QUX9O0BE/zo/Q/85PkL/OT5C/zk/Q/86P0P/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/85P0P/OT5C/zk+Qv86P0P/O0BE/zxBRf48QUX/PEFF/0RJTP9mZ2j/eXh3/4OB + f/93dXP/aGZk/1FSVP8+Q0b/OkBE/0BFSf9pa27/oJ+g/7y6uv/CwL//wb++/8C+vf/Avr3/wL69/8C+ + vf/Avr3/wL69/8G/vv/CwL//wL69/6qpqf9xc3X/QUZK/ztARP8/REf/WFlZ/2lnZf9pZ2X/aWdl/3Bt + a/+EgX//jYqI/3BwcP8/Q0f/PEFF/zxBRYY/UEsAPEJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT9EADxBRQA8QUYfPEFF0TtARP9JTE//f359/42K + iP+HhIL/c3Fv/2lnZf9pZ2X/aWdl/1hZWf9BRUn/O0BE/zxBRf9SVVn/gIGD/6empv+6uLf/wL69/8G/ + vv/CwL//wsC//8G/vv++vbz/tLOz/52dnf91d3n/TVFU/ztARP87QET/P0RH/1NUVf9raWf/fnx5/4uI + hv+Nioj/jYqI/25ubv9ARUn/PEFF/zxBRco8QUVoPEFFgjxBRaE8QUW8PEFFzzxBRdk8QUXiPEFF5jxB + Rek8QUXpPEFF5jxBReI8QUXZPEFFzzxBRbw8QUWhPEFFgTxBRWo8QUXOPEFF/0FGSf9wcHD/jYqI/42K + iP+LiIb/fnt5/2xqaf9YWFn/QkZJ/ztARP86P0P/RUpO/2hrbf+RkpL/rays/7u5uP+/vr3/wb++/8G/ + vv/Avr3/vry8/7a0tP+goKD/eHp7/01RVf87QET/O0BE/0JGSf9aWlr/aWdl/2lnZf9pZ2X/cnBu/4aD + gf+Nioj/g4GA/01QU/87QET/PEFF3TxBRSk8QUUAPUFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAAD9BQgA7QUYAPEFFZTxBRfk7QEX/WVtd/4iG + hP+Nioj/iYaE/3l3df9samf/aWdl/2lnZf9fXl7/SUxO/z1CRf86P0T/PEFF/0hMUP9dYGP/c3V3/4KD + hP+IiYr/hoeI/3x+f/9qbW//VVhc/0JHS/86QET/OkBE/z1CRv9IS07/X19f/3Vzcf+Gg4H/jImH/4yJ + h/+MiYf/cXFx/0NHS/87QEX/PEFF4TxBRT48QUQAPEFDADtBRQQ7QkUJPEFFEjxBRR08QkUoPEFFLTxB + RTE8QUUxPEFFLTxCRSg7QUUdPEFFEjtCRQk8Q0QEO0BGADxBRQA8QUVEPEFF5TtARP9ESEz/dHNz/42K + h/+MiYf/jImH/4aDgf92dHL/Y2Jh/01PUf8/REf/O0BE/zo/Q/8+Q0f/TFBU/19iZP9wcnT/enx+/31/ + gP93eXv/aWtu/1ZaXf9ESEz/O0BE/zpARP89Qkb/Sk1P/2BfX/9pZ2X/aWdl/2tpZ/95d3X/iIaE/42K + iP+Kh4X/X2Bi/zxBRf88QUX9PEFFdjtETgA9QEIAOkZGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1BRAA8QUYAPEJGDTxBRag8QUX/PkNG/2Zn + aP+LiIb/jImH/4yJh/+DgH7/dHFv/2tpZ/9pZ2X/ZmRj/1dYWP9HSkz/PkJG/ztARP86P0P/Oj9D/zpA + RP87QET/O0BE/zo/Q/86P0P/Oj9D/ztARP8/Q0f/SUxO/1xcXP9ycG7/goB+/4uIhv+MiYf/jImH/4yJ + h/9wb3D/REhM/ztARP88QUXsPEFFWT5CRwA7QUYAPEFHADxBRQA7QUUAPEFFADxBRQA8QkUAPEFFADxB + RQA8QUUAPEFFADxCRQA7QUUAPEFFADtCRQA8QkUAPUNEADxBRgA7P0QAPEFFXzxBRe87QET/RUpN/3Jy + cv+MiYf/jImH/4yJh/+LiIb/g4B+/3Nxb/9gYF//TVBR/0FGSf88QUX/OkBE/zk/Q/86P0P/Oj9D/zo/ + Q/86P0P/Oj9D/zo/Q/87QET/P0NH/0lMTv9aWlr/ZmVj/2lnZf9raWf/dHFv/4OAfv+MiYf/jImH/4yJ + h/9sbG3/P0RI/zxBRf88QUW5PEBFFDxARQA9QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QUUAPEFGADtBRSk8QUXRPEFF/0BF + SP9ra2z/i4iG/4yJh/+MiYf/ioeF/4J/ff92dHL/bWtp/2poZv9lZGL/XFxb/1BSU/9HS03/QkZJ/0BE + SP8/REf/P0RH/0FFSP9ER0r/S01P/1ZXWP9mZWT/d3Vz/4SBf/+LiIb/jImH/4yJh/+Nioj/ioeF/2lq + a/9CRkr/O0BE/zxBRe88QUVmQUhCATxCRAA7QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRgA8QUYAPENJAjxBRW48QUXzO0BE/0NH + S/9sbW3/i4iG/42KiP+MiYf/jImH/4uIhv+EgX//eHZ0/2loZ/9aW1v/T1FS/0dKTf9DR0r/QUVJ/0FF + Sf9CRkn/RUhL/0tNT/9TVFX/Xl5d/2ZlY/9qaGb/bmtp/3Z0cv+Cf33/ioeF/4yJh/+MiYf/jImH/3Fx + cf9DR0v/O0BF/zxBRd48QUU3PUFFAEBFSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QkcAPEJGADxBRAA8QUVFPEFF4jtB + Rf9BRUn/aGlp/4qHhf+Nioj/jImH/4yJh/+LiIb/h4SC/4B9e/94dnT/c3Fv/29ta/9raWf/Z2Zk/2Rj + Yv9jYmL/ZWRk/2ppaP9ycG7/enh2/4OAfv+JhoT/jImH/4yJh/+MiYf/jImH/42KiP+DgYD/XV9g/z9E + R/87QUX/PEFF6DxBRWA8PEICPEFEAD1CRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQA8QUYAPEFGADxARwQ8QUVpPEFF7DtA + Rf9AREj/YGJj/4WCgf+Nioj/jImH/4yJh/+MiYf/jImH/4mGhP+DgH7/e3l2/3Nxb/9ta2r/aGdl/2Zl + ZP9mZWT/aWdm/2xqaP9wbWv/c3Fv/3h2dP+AfXv/h4SC/4uIhv+MiYf/jImH/4yJh/+LiIb/b29v/0RI + S/87QET/PEFF7DxBRVY5QUMAPUBFADI2OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEFGADxBRQA8QEcAPEFFUTxB + ReQ7QUX/P0NH/15fYf+DgX//jYqI/4yJh/+MiYf/jImH/42Jh/+MiYf/i4iG/4mGhP+HhIL/hoOB/4aD + gf+IhYL/iYaE/4qHhf+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+Nioj/ioeF/3Nycv9OUVT/PEFF/zxB + Rf88QUXaPEFFT0Y0XgA8QEQAPEBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBGADxARQA3REIBPEFFVzxB + ReA8QUX/PEFF/1FTVv92dXX/i4iG/42KiP+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+Kh4X/iYaD/4eE + gv+Gg4H/hoOB/4eEgv+JhoT/i4iG/4yJh/+MiYf/jImH/4yJh/+MiYf/jYqI/4aEgv9kZWb/QUVJ/ztA + RP88QUXuPEFFZTtGRAE9QUUAPUFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRAA8QUQAPEJGADxB + RUo8QUXYPEFF/zxBRf9NUFP/cnFx/4mGhP+Nioj/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jYqI/4qHhv95eHf/Wlxe/0BFSP87QET/PEFF/jxB + RbU8QUUyPEFGADxBRAA8QkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxBRAA8QkUAPUBGADxB + RTo8QUW/PEFF/ztARP9CRkr/Xl9h/317ev+LiIb/jYqI/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jImH/4yJh/+MiYf/jImH/42KiP+LiIb/eHd3/1NWWP89Qkb/PEFF/zxB + ReU8QUVdO0hIAjxCRgA9QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEBFADxB + RAA8QUUzPEFFtzxBRf07QET/QERI/1VYWv9zcnL/hoOC/4yJh/+Nioj/jYqI/4yJh/+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+Nioj/jYqI/4yJh/+Fg4H/c3Jy/1lbXf9CR0r/O0BE/zxBRf88QUXkPEFFfDxB + RRQ8QUUAPEJEADxCRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QUUAPEJFADtA + RAA8QUUaPEFFiTxBReo8QUX/O0FF/0RJTP9dX2D/d3Z2/4eFg/+Niof/jYqI/42KiP+MiYf/jImH/4yJ + h/+MiYf/jImH/4yJh/+MiYf/jYmH/42KiP+Nioj/iYaE/3l4d/9cXV//QkdK/ztARP88QUX/PEFFyTxB + REQ/TEYAO0JFADtDRgBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + RdI8QUXZPEFF1zxBRc48QUW5PEFFmzxBRXM8QUVCPEFGFzA9XwA8QUUAPEFEAD5ESAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPj5EADY/QQA5PEAAO0FEADxBRQA8QUUAPEBGADxCRQU8QUULPEFFDjxB + RQ88QUUMPEFECDtAQgI8QUUAPEFFADxARQA9P0UAO0NGAEM6PwAAgIAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAAyR08APEJFADxBRQA8QUUAPEFFADtBQwA8QUYHPEFFDTxB + RhI8QUUZPEFFFjxBRRA7QUUKO0BHAjxBRQA8QUUAPEFGADtBRwA9O0oAOkVGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+QkYAPEJEADxBRQA8QUUAPEFFADxB + RQA8QUUAPEFFADxBRAA/PkMAPj5EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAOkFJAD1BRgA8QUYAPEFFADxB + RgA8QUUAPEFFADxBRQA7QUUAPEFGADk9QgA6PkMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///////////////////8A////////////////////AP///////////////////wD///////////// + //////8A//////8AAAAAAP//////AP///+AAAAAAAAAAB////wD///4AAAAAAAAAAAB///8A///gAAAA + AAAAAAAAB///AP//4AAAAAAAAAAAAAf//wD//+AAAAAAAAAAAAAH//8A///gAAAAAAAAAAAAB///AP// + 4AAAAAAAAAAAAAf//wD//+AAAAAAAAAAAAAH//8A///wAAAAAAAAAAAAD///AP///4AAAAAAAAAAAf// + /wD////8AAAAAAAAAD////8A//////8AAAAAAP//////AP/////+AAAAAAA//////wD////4AAAAAAAA + AB////8A////wAAAAAAAAAAD////AP///gAAAAAAAAAAAH///wD///AAAAAAAAAAAAAP//8A///gAAAA + AAAAAAAAB///AP//wAAAAAAAAAAAAAP//wD//wAAAAAAAAAAAAAA//8A//4AAAAAAAAAAAAAAH//AP/8 + AAAAAAAAAAAAAAA//wD/+AAAAAAAAAAAAAAAH/8A//AAAAAAAAAAAAAAAA//AP/gAAAAAAAAAAAAAAAH + /wD/4AAAAAAAAAAAAAAAB/8A/8AAAAAAAAAAAAAAAAP/AP+AAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAA + AAAAAP8A/wAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAA/wD+AAAAAAAAAAAAAAAAAH8A/gAAAAAA + AAAAAAAAAAB/APwAAAAAAAAAAAAAAAAAPwD8AAAAAAAAAAAAAAAAAD8A+AAAAAAAAAAAAAAAAAAfAPgA + AAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPAAAAAAAAAAAAAAAAAA + DwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAA + AAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAA + AAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAA + AAAAAAAAAAAAAAAADwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAA + DwDwAAAAAAAAAAAAAAAAAA8A8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAADwDwAAAAAAAAAAAA + AAAAAA8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAA + AAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD8AAAAAAAAAAAAAAAAAD8A/AAAAAAAAAAAAAAAAAA/APwA + AAAAAAAAAAAAAAAAPwD+AAAAAAAAAAAAAAAAAH8A/gAAAAAAAAAAAAAAAAB/AP4AAAAAAAAAAAAAAAAA + fwD/AAAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAA/wD/gAAAAAAAAAAA + AAAAAf8A/4AAAAAAAAAAAAAAAAH/AP/AAAAAAAAAAAAAAAAD/wD/wAAAAAAAAAAAAAAAA/8A/4AAAAAA + AAAAAAAAAAH/AP+AAAAAAAAAAAAAAAAB/wD/AAAAAAAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAD/AP4A + AAAAAAAAAAAAAAAAfwD+AAAAAAAAAAAAAAAAAH8A/gAAAAAAAAAAAAAAAAB/APwAAAAAAAAAAAAAAAAA + PwD8AAAAAAAAAAAAAAAAAD8A/AAAAAAAAAAAAAAAAAA/APgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAA + AAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAA + AAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgA + AAAAAAAAAAAAAAAAHwD4AAAAAAAAAAAAAAAAAB8A+AAAAAAAAAAAAAAAAAAfAPgAAAAAAAAAAAAAAAAA + HwD8AAAAAAAAAAAAAAAAAB8A/AAAAAAAAAAAAAAAAAA/APwAAAAAAAAAAAAAAAAAPwD+AAAAAAAAAAAA + AAAAAD8A/gAAAAAAAAAAAAAAAAB/AP4AAAAAAAAAAAAAAAAAfwD+AAAAAAAAAAAAAAAAAH8A/wAAAAAA + AAAAAAAAAAD/AP+AAAAAAA//8AAAAAAA/wD/gAAAAAAf//AAAAAAAf8A/8AAAAAAP//8AAAAAAP/AP/g + AAAAAH///gAAAAAH/wD/8AAAAAD///8AAAAAB/8A//gAAAAB////gAAAAB//AP/8AAAAA////8AAAAA/ + /wD//wAAAA/////wAAAAf/8A///AAAA//////AAAAf//AP//4AAA//////8AAAf//wD///8AH/////// + 8AB///8A////////////////////AP///////////////////wD///////////////////8A//////// + ////////////AA== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAs + 7QAAAk1TRnQBSQFMAgEBFAEAAaABAAGgAQABxgEAAcYBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABGAEDAgABpAEEAgABAQEAAQgFAAFgAVsBDhcAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPA + AQABwAHcAcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANN + AQADQgEAAzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGt + AgAB/wEzAwABZgMAAZkDAAHMAgABMwMAAjMCAAEzAWYCAAEzAZkCAAEzAcwCAAEzAf8CAAFmAwABZgEz + AgACZgIAAWYBmQIAAWYBzAIAAWYB/wIAAZkDAAGZATMCAAGZAWYCAAKZAgABmQHMAgABmQH/AgABzAMA + AcwBMwIAAcwBZgIAAcwBmQIAAswCAAHMAf8CAAH/AWYCAAH/AZkCAAH/AcwBAAEzAf8CAAH/AQABMwEA + ATMBAAFmAQABMwEAAZkBAAEzAQABzAEAATMBAAH/AQAB/wEzAgADMwEAAjMBZgEAAjMBmQEAAjMBzAEA + AjMB/wEAATMBZgIAATMBZgEzAQABMwJmAQABMwFmAZkBAAEzAWYBzAEAATMBZgH/AQABMwGZAgABMwGZ + ATMBAAEzAZkBZgEAATMCmQEAATMBmQHMAQABMwGZAf8BAAEzAcwCAAEzAcwBMwEAATMBzAFmAQABMwHM + AZkBAAEzAswBAAEzAcwB/wEAATMB/wEzAQABMwH/AWYBAAEzAf8BmQEAATMB/wHMAQABMwL/AQABZgMA + AWYBAAEzAQABZgEAAWYBAAFmAQABmQEAAWYBAAHMAQABZgEAAf8BAAFmATMCAAFmAjMBAAFmATMBZgEA + AWYBMwGZAQABZgEzAcwBAAFmATMB/wEAAmYCAAJmATMBAANmAQACZgGZAQACZgHMAQABZgGZAgABZgGZ + ATMBAAFmAZkBZgEAAWYCmQEAAWYBmQHMAQABZgGZAf8BAAFmAcwCAAFmAcwBMwEAAWYBzAGZAQABZgLM + AQABZgHMAf8BAAFmAf8CAAFmAf8BMwEAAWYB/wGZAQABZgH/AcwBAAHMAQAB/wEAAf8BAAHMAQACmQIA + AZkBMwGZAQABmQEAAZkBAAGZAQABzAEAAZkDAAGZAjMBAAGZAQABZgEAAZkBMwHMAQABmQEAAf8BAAGZ + AWYCAAGZAWYBMwEAAZkBMwFmAQABmQFmAZkBAAGZAWYBzAEAAZkBMwH/AQACmQEzAQACmQFmAQADmQEA + ApkBzAEAApkB/wEAAZkBzAIAAZkBzAEzAQABZgHMAWYBAAGZAcwBmQEAAZkCzAEAAZkBzAH/AQABmQH/ + AgABmQH/ATMBAAGZAcwBZgEAAZkB/wGZAQABmQH/AcwBAAGZAv8BAAHMAwABmQEAATMBAAHMAQABZgEA + AcwBAAGZAQABzAEAAcwBAAGZATMCAAHMAjMBAAHMATMBZgEAAcwBMwGZAQABzAEzAcwBAAHMATMB/wEA + AcwBZgIAAcwBZgEzAQABmQJmAQABzAFmAZkBAAHMAWYBzAEAAZkBZgH/AQABzAGZAgABzAGZATMBAAHM + AZkBZgEAAcwCmQEAAcwBmQHMAQABzAGZAf8BAALMAgACzAEzAQACzAFmAQACzAGZAQADzAEAAswB/wEA + AcwB/wIAAcwB/wEzAQABmQH/AWYBAAHMAf8BmQEAAcwB/wHMAQABzAL/AQABzAEAATMBAAH/AQABZgEA + Af8BAAGZAQABzAEzAgAB/wIzAQAB/wEzAWYBAAH/ATMBmQEAAf8BMwHMAQAB/wEzAf8BAAH/AWYCAAH/ + AWYBMwEAAcwCZgEAAf8BZgGZAQAB/wFmAcwBAAHMAWYB/wEAAf8BmQIAAf8BmQEzAQAB/wGZAWYBAAH/ + ApkBAAH/AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHM + Af8BAAL/ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFm + Af8BAAL/AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPx + AQAD+AEAAfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP//wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + 7QABTQH0LAABGwEsAXWVAAFNAfQsAAEbASwBdZUAAU0B9CwAARsBLAF1lQABTQH0LAABGwEsAXWSAAF1 + BiwB9icAARsFLAGUkAABdQYsAfYnAAEbBSwBlJAAAXUGLAH2JwABGwUsAZSQAAF1BiwB9icAARsFLAGU + jwABdQgsAfYkAAHzCSwBlI0AAXUILAH2JAAB8wksAZSNAAF1CCwB9iQAAfMJLAGUjQABdQgsAfYkAAHz + CSwBlIwAAXUKLCQAARsJLAGUjAABdQosJAABGwksAZSMAAF1CiwkAAEbCSwBlIwAAXUKLCQAARsJLAGU + jAABdQosIwAB9AssAZqLAAF1CiwjAAH0CywBmosAAXUKLCMAAfQLLAGaiwABdQosIwAB9AssAZqKAAF1 + CywjAAH0CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMA + AfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMAAfQLLAGaigABlAFNCiwjAAH0 + CywBmooAAZQBTQosIwAB9AssAZqKAAGUAU0KLCMAAfQLLAGaigABlAFNCiwjAAH0CywBmosAAXUKLCMA + AfQBTQksAU0BGosAAXUKLCMAAfQBTQksAU0BGosAAXUKLCMAAfQBTQksAU0BGosAAXUKLCMAAfQBTQks + AU0BGosAAZQBTQgsAU0kAAH0AU0HLAFNARqMAAGUAU0ILAFNJAAB9AFNBywBTQEajAABlAFNCCwBTSQA + AfQBTQcsAU0BGowAAZQBTQgsAU0kAAH0AU0HLAFNARqNAAGUAU0GLAFNJgAB9AFNBSwBTQGajgABlAFN + BiwBTSYAAfQBTQUsAU0Bmo4AAZQBTQYsAU0mAAH0AU0FLAFNAZqOAAGUAU0GLAFNJgAB9AFNBSwBTQGa + jwABlAZ1KAAB9AV1AZqQAAGUBnUoAAH0BXUBmpAAAZQGdSgAAfQFdQGakAABlAZ1KAAB9AV1AZr/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD9AAH2N/SOAAH2N/SOAAH2N/SOAAH2N/SMAAH2AfQBTTcsAXWLAAH2 + AfQBTTcsAXWLAAH2AfQBTTcsAXWLAAH2AfQBTTcsAXWJAAH2AfMBTTosAXWIAAH2AfMBTTosAXWIAAH2 + AfMBTTosAXWIAAH2AfMBTTosAXWHAAH0AXU9LAGahgAB9AF1PSwBmoYAAfQBdT0sAZqGAAH0AXU9LAGa + hQAB9AF1PSwBTQEahQAB9AF1PSwBTQEahQAB9AF1PSwBTQEahQAB9AF1PSwBTQEahAAB9AF1PSwBTQEa + hQAB9AF1PSwBTQEahQAB9AF1PSwBTQEahQAB9AF1PSwBTQEahQABdQYsOHUBGoYAAXUGLDh1ARqGAAF1 + Biw4dQEahgABdQYsOHUBGoUAAfQBdQUsAXW+AAH0AXUFLAF1vgAB9AF1BSwBdb4AAfQBdQUsAXW+AAF1 + BSwBdb8AAXUFLAF1vwABdQUsAXW/AAF1BSwBdb4AAfQBdQUsAfS+AAH0AXUFLAH0vgAB9AF1BSwB9L4A + AfQBdQUsAfS+AAF1BSwBdb8AAXUFLAF1vwABdQUsAXW/AAF1BSwBdb8AAXUFLAH0vwABdQUsAfS/AAF1 + BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0 + vwABdQUsAfS/AAF1BSwB9L8AAXUFLCMaARucAAF1BSwjGgEbnAABdQUsIxoBG5wAAXUFLCMaARubAAHz + AXUoLAFNDRoB840AAfMBdSgsAU0NGgHzjQAB8wF1KCwBTQ0aAfONAAHzAXUoLAFNDRoB840AAXU3LAF1 + AhoB84oAAXU3LAF1AhoB84oAAXU3LAF1AhoB84oAAXU3LAF1AhoB84oAAXU6LAF1ARoB84gAAXU6LAF1 + ARoB84gAAXU6LAF1ARoB84gAAXU6LAF1ARoB84gAAXU8LAF1ARoB84YAAXU8LAF1ARoB84YAAXU8LAF1 + ARoB84YAAXU8LAF1ARoB84YAAXU+LAF1AfOFAAF1PiwBdQHzhQABdT4sAXUB84UAAXU+LAF1AfOFAAF1 + PywBdQHzhAABdT8sAXUB84QAAXU/LAF1AfOEAAF1PywBdQHzhAABdUAsAZqEAAF1QCwBmoQAAXVALAGa + hAABdUAsAZqEAAF1QCwBdQHzgwABdUAsAXUB84MAAXVALAF1AfODAAF1QCwBdQHzggABGwFNQSwBmoIA + ARsBTUEsAZqCAAEbAU1BLAGaggABGwFNQSwBmoIAAXVCLAF1AfOBAAF1QiwBdQHzgQABdUIsAXUB84EA + AXVCLAF1AfOBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1 + QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBdQEbgAABdUMs + AXUBG4AAAXVDLAF1ARuAAAF1QywBdQEbgAABdUQsAZqAAAF1RCwBmoAAAXVELAGagAABdUQsAZp/AAEa + AU1ELAGafwABGgFNRCwBmn8AARoBTUQsAZp/AAEaAU1ELAGafwABlEUsAZp/AAGURSwBmn8AAZRFLAGa + fwABlEUsAZp/AAGURSwBdQEbfgABlEUsAXUBG34AAZRFLAF1ARt+AAGURSwBdQEbfgABlEYsAZp+AAGU + RiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGa + fgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAXUBG30AAZRGLAF1ARt9AAGURiwBdQEbfQABlEYs + AXUBG30AAZRHLAGafQABlEcsAZp9AAGURywBmn0AAZRHLAGafAABGgFNRywBmnwAARoBTUcsAZp8AAEa + AU1HLAGafAABGgFNRywBmnwAAZRILAGafAABlEgsAZp8AAGUSCwBmnwAAZRILAGafAABlEgsAU0BGnsA + AZRILAFNARp7AAGUSCwBTQEaewABlEgsAU0BGnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGa + ewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGU + SSwBmnsAAZRJLAFNARp6AAGUSSwBTQEaegABlEksAU0BGnoAAZRJLAFNARp6AAGUSiwBmnoAAZRKLAGa + egABlEosAZp6AAGUSiwBmnkAARoBTUosAZp5AAEaAU1KLAGaeQABGgFNSiwBmnkAARoBTUosAZp5AAGU + SywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGa + eQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGU + SywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGa + eQABlEssAZp4AAEaAU1LLAGaeAABGgFNSywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABlEssAZQB9ngA + AZRLLAGUAfZ4AAGUSywBlAH2eAABlEssAZQB9ncAARoBTUssAZp4AAEaAU1LLAGaeAABGgFNSywBmngA + ARoBTUssAZp4AAGUSywBlAH2eAABlEssAZQB9ngAAZRLLAGUAfZ4AAGUSywBlAH2dgABGgF1AU1KLAGU + eAABGgF1AU1KLAGUeAABGgF1AU1KLAGUeAABGgF1AU1KLAGUbgABGgl1AU0ULAErBCwBKwEsBk0BKwNN + ASsjLAGUcQABGgl1AU1JLAGUcQABGgl1AU1JLAGUcQABGgl1AU1JLAGUcAABGgFNDywBGrQAARoBTQ8s + ARq0AAEaAU0PLAEatAABGgFNDywBGrQAARoQLAEbtAABGhAsARu0AAEaECwBG7QAARoQLAEbtAABGg8s + ARq1AAEaDywBGrUAARoPLAEatQABGg8sARq1AAEaDSwBGrcAARoNLAEatwABGg0sARq3AAEaDSwBGrkA + AZoILAEavAABmggsARq8AAGaCCwBGrwAAZoILAEavQAI9r4ACPa+AAj2vgAI9v8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + VQABFhRN/wD/AP8ABgABFhRN/wD/AP8ABgABFhRN/wD/AP8ABgABFhRNEwAB9AGMAbX/AP8A7wABFhRN + EAAB9AHPArQBjQF1AZMBjQG1/wD/ACYAARYTTbIAARYUTQ8AAfQBzwPbAewDegGTAbX/AP8AJQABFhNN + sgABFhRNDwABrgG0A9sB7AJ6AXQBjQGuAbX/AP8AJAABFhNNEgAB9AGuAc8BrgGNAa4BtZkAARYUTQ4A + AfQDtAHPAbQBjQF6AZMBjQGTAXUBB/8A/wAkAAEWE00RAAH0AbQC2wHsAnoBkwHvmAABFhRNDgABzwTb + Aa4BjQGTAY0BdQJ6AZMBtf8A/wAjAAEWE00QAAH0AbQD2wHsA3oBkwHvlwABFhRNDgABzwPbAbQBjQGT + Aa4BkwF6AXUBkwGNAbX/AFwAARYTTbIAARYTTQ8AAfQCzwG0AdsBugGNAXoBdQGTAY0BHAHvlgABFhRN + DgABzwK0Aa4BkwF0AewBkwONAogBtv8AXAABFhNNEQAB9AGuAc8BtAGNApMBjQG1mAABFhNNDwABzwPb + AbQBzwHtAXQBkwHtAnoBkwG1lQABFhRNDgABrgKTAXoBdQKTAXUBkwGMAYgBjwGIAbb/AFwAARYTTRAA + AfQBzwHVAtsB7AJ6AXUBkwG1lwABFhNNDwABzwPbAbQBrgKNAe0CegF1AZMBtZUAARYUTQ4AAY0BdQJ6 + AZMBjQF6AZMBjQGIAYIBiAGOAQf/AFwAARYTTRAAAa4BtAPbAewCegF0AZMBrgG1lgABFhNNDwABzwLb + AbQB7AKTAY0B7QF0AZMCjQG1lQABFhRNDwABkwF6AXUB7QGTAXoBkwGIAY8BiAGCAba9AAHzAq4BjQH3 + mgABFhNNDwAB9AW0AY0BegGTAY0BkwF1AQeWAAEWE00PAAGuAc8BjQGTAXUBkwGNAXUBkwGuAYIBjwGI + AbaVAAEWFE0PAAGNApMBjQF6AXUBjgGIAY8BiAGNAQe7AAHzAc8BtAHbAewBegF1AZMB95gAARYTTQ8A + Ac8D2wG0Aa4B7AGTAY0BkwJ6AZMBtZUAARYTTQ8AAY0DegF0AY0BdAF1AY0CggGPAYgBtZUAARYUTRAA + A40CdQGOAogBjgG2lgABlBRNEAAB8wHPA9sBjQN6AZMB75cAARYTTQ8AAc8D2wG0AY0B7QGuAZMCdQGT + AY4BtZUAARYTTQ8AAa8BkwJ6ApMBegGTAYIBjwKIAY4BB5IAAfYBFgEbARYUTQEAARcPAAGvAfcBkwGZ + AZMCrwEHlwABlBRNEAABzwK0AdsBtAGNAXoBdQGTAo0B75YAARYTTQ8AAc8BugK0Ae0BkwGNAZMBjQHt + AY0CggG2lQABFhNNEAAB9wJ1AewCdQGTAYgBjwGIAY0BvJMAARYZTQEXrQABlBRNDwAB8wLbArQBzwHs + AXUBkwGNAXUBegGTAbWVAAEWE00PAAGuAY0BkwF0AXUCkwF1AZMBjAGIAY8BiAG2lQABFhNNEQACkwGN + AXoBdQGOAYgBjwGOAbyTAAEWG00BF6wAAZQUTQ8AAc8E2wGuA40CegF1AZMBtZUAARYTTQ8AAfcBdQJ6 + AZMBjQF1AXQBjQGIAYIBiAGOAQeVAAEWE00SAAH3AY0BdAGTAY4BggGOAbyTAAEWHU0BF6sAAZQUTQ8A + Ac8C2wK0ApMBjQGTAXQBkwKNAbWVAAEWE00QAAGTAXoBdQKTAXoBkwGCAY8BiAGCAbaWAAEWE00SAAH0 + AbUB9wHvAfcBtQEHkwABvQEXHU0BFwGUqgABlBRNDwABzwK0AY0CkwGNAZMB7QGNAYICiAG2lQABFhNN + EAAB9wGTAXQBjQF6AXUBkwGIAY8BiAGNAbyUAAL0ARYTTQL0AfaqAAG9AeMbTQEXAZSrAAGUFE0PAAGu + AXQBdQF6AXUB7QGTAXUBjgGCAYgBjwGIAbaVAAEWE00RAAH3AZMBjQF6AXUBkwKIAY4BB5QAARYYTQEX + AfSqAAG9ARcLTQEWApQBFwpNARcBlKwAAZQUTQ8AAbUBkwJ6AZMBjQF6AZMBjQGPAogBjgG8lQABFhNN + EgABtQH3ApMCjQG2AQeUAAEWGk0BFwH0qgABvQEXCE0BFgGUAwAClAEXB00BFwGUrQABlBRNDwAB9AGN + AnUBjQGTAXoBkwGIAY8BiAGCAbaWAAEWE00TAAH0A7UBB5UAARYcTQEXAfSqAAG9AeMHTQcAAeMHTQGU + rgABlBRNEAABtQHtAZMBjQF6AXUBkwGIAY8BiAGNAbyWAAEWE02sAAGUHk0BF6sAAb0BFwVNARYHAAGU + ARcFTQGUrwABlBRNEQABtQHvAY0BdAKTAYIBjgG2AbyVAAL0ARYTTQL0qgABvQHjHE0BFwGUrAABvQWU + CQAGlLAAAZQUTRMAAbUB7wIHAbUBvJUAAfYBFhdNARcB9KoAAb0B4xpNARcBlP8AcwABlBRNrQAB9gEW + GU0BFwHzqgABvQHjCU0GlAEXCE0BFwGU/wB0AAGUFE2sAAH0ARYbTQEXAfOqAAG9AeMHTQGUBgABlAEX + Bk0BFwGU/wB1AAGUFE2sAAGUHU0BFwHzqgABvQHjBk0IAAHjBk0BlP8AdAAB9AEAAZQUTQLzqgABGgHj + HE0BFwGUqwABvQaUCAABmgaU/wB0AAH0ARYBvQEWFU0BFwHzqgABGgHjGk0BFwGU/wD/ADYAAfQBFhlN + ARcB86oAARoB4wlNBZQBFwlNARcBlP8A/wA2AAH0ARYbTQEXAfOqAAEaAeMHTQGUBQABmgEXB00BFwGU + /wD/ADYAAfQBFh1NARerAAEaAeMGTQcAAb0BFwZNAZT/AP8ANwABGgHjHU0BF6wAARoGmggAAb0Gmv8A + /wA5AAEaAeMbTQEXAZr/AP8A/AABGgHjCk0BlASaARcJTQEXAZr/AP8A/gABGgHjCE0BlAUAAb0BFwdN + ARcBvf8A/wD/AAEAARoB4wZNAZQHAAHjB00Bvf8A/wD/AAMAARoGvQgACL3/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDQAAFNAfQsAAEbASwBdZUAAU0B9CwAARsBLAF1lQABTQH0 + LAABGwEsAXWVAAFNAfQsAAEbASwBdZIAAXUGLAH2JwABGwUsAZSQAAF1BiwB9icAARsFLAGUkAABdQYs + AfYnAAEbBSwBlJAAAXUGLAH2JwABGwUsAZSPAAF1CCwB9iQAAfMJLAGUjQABdQgsAfYkAAHzCSwBlI0A + AXUILAH2JAAB8wksAZSNAAF1CCwB9iQAAfMJLAGUjAABdQosJAABGwksAZSMAAF1CiwkAAEbCSwBlIwA + AXUKLCQAARsJLAGUjAABdQosJAABGwksAZSMAAF1CiwjAAH0CywBmosAAXUKLCMAAfQLLAGaiwABdQos + IwAB9AssAZqLAAF1CiwjAAH0CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0 + CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMAAfQLLAGa + igABdQssIwAB9AssAZqKAAGUAU0KLCMAAfQLLAGaigABlAFNCiwjAAH0CywBmooAAZQBTQosIwAB9Ass + AZqKAAGUAU0KLCMAAfQLLAGaiwABdQosIwAB9AFNCSwBTQEaiwABdQosIwAB9AFNCSwBTQEaiwABdQos + IwAB9AFNCSwBTQEaiwABdQosIwAB9AFNCSwBTQEaiwABlAFNCCwBTSQAAfQBTQcsAU0BGowAAZQBTQgs + AU0kAAH0AU0HLAFNARqMAAGUAU0ILAFNJAAB9AFNBywBTQEajAABlAFNCCwBTSQAAfQBTQcsAU0BGo0A + AZQBTQYsAU0mAAH0AU0FLAFNAZqOAAGUAU0GLAFNJgAB9AFNBSwBTQGajgABlAFNBiwBTSYAAfQBTQUs + AU0Bmo4AAZQBTQYsAU0mAAH0AU0FLAFNAZqPAAGUBnUoAAH0BXUBmpAAAZQGdSgAAfQFdQGakAABlAZ1 + KAAB9AV1AZqQAAGUBnUoAAH0BXUBmv8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP0AAfY39I4AAfY39I4A + AfY39I4AAfY39IwAAfYB9AFNNywBdYsAAfYB9AFNNywBdYsAAfYB9AFNNywBdYsAAfYB9AFNNywBdYkA + AfYB8wFNOiwBdYgAAfYB8wFNOiwBdYgAAfYB8wFNOiwBdYgAAfYB8wFNOiwBdYcAAfQBdT0sAZqGAAH0 + AXU9LAGahgAB9AF1PSwBmoYAAfQBdT0sAZqFAAH0AXU9LAFNARqFAAH0AXU9LAFNARqFAAH0AXU9LAFN + ARqFAAH0AXU9LAFNARqEAAH0AXU9LAFNARqFAAH0AXU9LAFNARqFAAH0AXU9LAFNARqFAAH0AXU9LAFN + ARqFAAF1Biw4dQEahgABdQYsOHUBGoYAAXUGLDh1ARqGAAF1Biw4dQEahQAB9AF1BSwBdb4AAfQBdQUs + AXW+AAH0AXUFLAF1vgAB9AF1BSwBdb4AAXUFLAF1vwABdQUsAXW/AAF1BSwBdb8AAXUFLAF1vgAB9AF1 + BSwB9L4AAfQBdQUsAfS+AAH0AXUFLAH0vgAB9AF1BSwB9L4AAXUFLAF1vwABdQUsAXW/AAF1BSwBdb8A + AXUFLAF1vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUs + AfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsIxoBG5wAAXUFLCMa + ARucAAF1BSwjGgEbnAABdQUsIxoBG5sAAfMBdSgsAU0NGgHzjQAB8wF1KCwBTQ0aAfONAAHzAXUoLAFN + DRoB840AAfMBdSgsAU0NGgHzjQABdTcsAXUCGgHzigABdTcsAXUCGgHzigABdTcsAXUCGgHzigABdTcs + AXUCGgHzigABdTosAXUBGgHziAABdTosAXUBGgHziAABdTosAXUBGgHziAABdTosAXUBGgHziAABdTws + AXUBGgHzhgABdTwsAXUBGgHzhgABdTwsAXUBGgHzhgABdTwsAXUBGgHzhgABdT4sAXUB84UAAXU+LAF1 + AfOFAAF1PiwBdQHzhQABdT4sAXUB84UAAXU/LAF1AfOEAAF1PywBdQHzhAABdT8sAXUB84QAAXU/LAF1 + AfOEAAF1QCwBmoQAAXVALAGahAABdUAsAZqEAAF1QCwBmoQAAXVALAF1AfODAAF1QCwBdQHzgwABdUAs + AXUB84MAAXVALAF1AfOCAAEbAU1BLAGaggABGwFNQSwBmoIAARsBTUEsAZqCAAEbAU1BLAGaggABdUIs + AXUB84EAAXVCLAF1AfOBAAF1QiwBdQHzgQABdUIsAXUB84EAAXVDLAGagQABdUMsAZqBAAF1QywBmoEA + AXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMs + AZqBAAF1QywBmoEAAXVDLAF1ARuAAAF1QywBdQEbgAABdUMsAXUBG4AAAXVDLAF1ARuAAAF1RCwBmoAA + AXVELAGagAABdUQsAZqAAAF1RCwBmn8AARoBTUQsAZp/AAEaAU1ELAGafwABGgFNRCwBmn8AARoBTUQs + AZp/AAGURSwBmn8AAZRFLAGafwABlEUsAZp/AAGURSwBmn8AAZRFLAF1ARt+AAGURSwBdQEbfgABlEUs + AXUBG34AAZRFLAF1ARt+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYs + AZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBdQEb + fQABlEYsAXUBG30AAZRGLAF1ARt9AAGURiwBdQEbfQABlEcsAZp9AAGURywBmn0AAZRHLAGafQABlEcs + AZp8AAEaAU1HLAGafAABGgFNRywBmnwAARoBTUcsAZp8AAEaAU1HLAGafAABlEgsAZp8AAGUSCwBmnwA + AZRILAGafAABlEgsAZp8AAGUSCwBTQEaewABlEgsAU0BGnsAAZRILAFNARp7AAGUSCwBTQEaewABlEks + AZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsA + AZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAU0BGnoAAZRJLAFNARp6AAGUSSwBTQEa + egABlEksAU0BGnoAAZRKLAGaegABlEosAZp6AAGUSiwBmnoAAZRKLAGaeQABGgFNSiwBmnkAARoBTUos + AZp5AAEaAU1KLAGaeQABGgFNSiwBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEss + AZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkA + AZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEss + AZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABGgFN + SywBmngAARoBTUssAZp4AAGUSywBlAH2eAABlEssAZQB9ngAAZRLLAGUAfZ4AAGUSywBlAH2dwABGgFN + SywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABGgFNSywBmngAAZRLLAGUAfZ4AAGUSywBlAH2eAABlEss + AZQB9ngAAZRLLAGUAfZ2AAEaAXUBTUosAZR4AAEaAXUBTUosAZR4AAEaAXUBTUosAZR4AAEaAXUBTUos + AZRuAAEaCXUBTTAsASUYLAGUcQABGgl1AU0tLAwlECwBlHEAARoJdQFNMywEKxIsAZRxAAEaCXUBTR0s + AyUBLAErAiUlLAGUcAABGgFNDywBGigAAfMDQwHqhwABGgFNDywBGrQAARoBTQ8sARq0AAEaAU0PLAEa + GwABSgFzAUqWAAEaECwBGygAAeoBEQESAfQB8wHshgABGhAsARu0AAEaECwBG7QAARoQLAEbGQAB7QGZ + AhwBc5YAARoPLAEaKAAB6gJFAfMB6gHsAvQB7IQAARoPLAEatQABGg8sARocAAHqARKXAAEaDywBGhcA + AewBHAGZAZgEmQHrlQABGg0sARoqAAERAUQB6gH0AhEB6gHsAfIB6gHtggABGg0sARq3AAEaDSwBGhsA + AeoBEgEAAfQBEJcAARoNLAEaFwAB7QIcAZgDmQGYApkBcpcAAZoILAEaLQABEQETAfMBEgMRAUMB7AH0 + AfIB7YMAAZoILAEavAABmggsARocAAFtAQAC9AEAARICE5gAAZoILAEaGAABkgEcAZgEmQEcAhQBEgGZ + ARyYAAj2LgAB8wESAQAB8wQRAUMB7AHzAUMB7YMACPa+AAj2GwABbQEAAfYBAAESAeoB7AEcAZgBFJkA + CPYWAAHsAZIBbQFzBpkBEgHtAQcBbQFzAZkB7M4AAfQBEgHrAfMDEQFtAfMBEwERAev/AGoAAesBFAMA + AeoBbQHrARwBmAKZAXMBFLQAAZIBHAG8ARoBbQFzAZkB9AMAAZkBEwGTAb0C69IAAfMB6wEAAfMBEQFt + AfQCRAHrqwABEwMUuAAB6wH0AwABbQHrAXMBmAaZARXBAAEUAerWAAH0AesBAAHzARQBRAFuqQABEgIU + AfQBAAIQtgAB6wH0AgABbQESAewBHAGYA5kBmAJtARwBmQHr/wCbAAHzARQBFQERAW2oAAESARUB9AIA + ARQB6gHrAXMBFbIAAesBFQH0AgABbQESARQBHAaZARMBbgHsARUBmQGYARP/AP8ARgAB6gEVAfQBAAET + ARUBbQFzAZgCmQEUsQAB6wHzAgAC6wEcAbwBFAEcBZkBmAEVARoBvQETARwBmQES/wCHAAEVAUO5AAFt + AkMB9AEAARIBFAHqARwBmASZAXMBFbEAAesBFQHsAZMBGgK9ARMBHAGZAfYCAAKZARQB7QEcAUMDAAEV + /wCDAAEUAkMCAAFDtgABbQFDAfQCAAESARMB6wGYBJkBHAGYApkBQ7AAAesB8wYAARIB9AcAAeoEAAFD + /wCCAAEUAREDAAEVARIBFbQAAesBEQH0AQAB6gERARMBcwGYBZkBSgEUAUMBcwGZAW0BQ7AAAesB9AUA + ARMB9gEAARMBEQcAARH/AIIAARMBEAIAARUBEQFtARwBmQFzARCxAAHrARAB8wEAAeoBQwFtAW4BbQGY + BZkBcwESARoBkwEVAZkBHAERsQABbQUQAQ8B9gQAARQBEAIAAUP/AIEAARICEAH0AQABFAEVAesBmASZ + ARWwAAHrAfMBAAFtARQB7AEaAb0BBwESAZgFmQFzAeoBvQEHAUMCmQFDvwABQ/8AgQABEgEPAfQCAAIU + AXMHmQHrARCvAAHrAg8B9AEaA70BGgEUAfQFAAGZARMBFQERAwABEP8A/wBAAAHqAQ8B9AEAARMBEAFK + ARwFmQFyARMBcgKZARGwAAFtAfQGAAETAfYKAAIP/wD/AD4AAW0CEAH0AQABEgEVAREBcwaZAXIBEgGT + ARIB6wGZAW2xAAFtARAB9AIAARIIEAMAAREBEP8A/wA/AAHrAfMCAAHqARMB7QEaAewB6wEcBZkBSgGT + Ab0BHAESAZkBHAEQsgABbQMQAfQHAAEVAhD/AP8AQQAB6wEPARABEgGTAxoB7QFtAZgBmQIAApkBcwES + ARwBEgHrAgABEP8A/wD/AAMAAesBDwHzBQAB6wERAfQGAAFzARUDAAERAUP/AP8A/wAEAAHrAUMB8wQA + ARMBEQRDAfQFAAJD/wD/AP8ACAAB6wVDAfQEAAETAUMBAAEUAkP/AP8A/wAXAAET/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AegAF9P8A + /wD/ABQAAfQB8wHPAbQBrgGTAY0B9wH0/wD/AP8AEQAB8wHPAbQC2wHsAnoBdQGNAbX/AP8ATQAE9L4A + Aa4BtAPbAY0CegF0AZMBjQG1/wD/AEoAAfQB8gHPAq4B9wL0lwABlBNNEAAB8wHPBLQBjQF6AZMB7QOT + AfT/AP8ASAAB8wHPArQB7AF6AXQBkwH3AfSWAAGUE00QAAHPA9sBtAGuAY0BkwGNAZMCegGTAbX/AP8A + RwAB8gHPA9sBrgJ6AXUBkwH3AfSVAAGUE00QAAHPA9sBtAHsAY0BrgGTAnUCkwHv/wCDAAb0vQABzwK0 + AdsBtAHsAXoBdQGTAo0B9wH0lAABlBNNEAABzwG6ArQB7QKTAo0BkwGNAoIBtv8AggAB8gLPAa4BkwGN + AfcC9JYAFPQQAAHyAbQB2wO0AY0BdQGTAY0BdAF6AZMBtZQAAZQTTRAAAa4BjQHtAZMBdQGTAe0BdQGT + AYwBiAGPAYgBtv8AgQAB8gG0AtsBjQJ6AXUBjQG1AfSUAAGUFE0QAAHPBNsBrgONAXUBegF1AZMBtZQA + AZQTTRAAAbUBdQJ6AXQBjQJ1AY0BiAGCAogBtb4AAfMB9L8AAfIBtAPbAa4CegF1AZMBjQG1lAABlBRN + EAABzwLbArQCkwGNA5MBjgGNAbaUAAGUE00RAAGTAXoBdQKTAXoBkwGCAY8BiAGCAY4BvLsAAfMB9AHx + Aa4B9wH0AfMB9LsAAfIBzwS0AewBegKTAe0BkwHvAfSTAAGUFE0QAAGuArQB7QKTAY0BkwKNAYICiAG2 + lAABlBNNEQAB7wGTAXQBjQJ1AZMBiAGPAYgBjQG8uwAB8QHPArQB7AF1AZMB7QH3AfS6AAHPA9sBtAHP + AY0BkwHtAZMCegGTAbWTAAGUFE0QAAGuAZMBdAF6AXUCkwF1AZMBggGIAY8BiAG2lAABlBNNEgAB7wGT + AY0BegF1AZMCiAGOAby7AAHwAc8D2wHPA3oBkwH3AfSUAAH0E/MRAAHPA9sBtASNAXoBdQKTAe+TAAGU + FE0QAAG1AZMCegGTAY0BegGTAY0DiAGOAbyUAAGUE00TAAG1Ae8CkwGOAY0BtgG8vAABzwK0AtsBrgF6 + AXUCkwGNAfcB9JMAAZQTTREAAc8DtAHtApMCjQGTAY4BjQGCAbaTAAGUFE0QAAH0AY0CdQHtAZMBegGT + AYgBjwGIAYIBtpUAAZQTTRUAAbUB7wG1Aby9AAHxAbQB1QO0AY0BdQGTAe0BkwF6AZMBtZMAAZQTTREA + Aa4C7QGTAXUBkwHtAXUBkwGMAYIBjwGIAbaTAAGUFE0RAAG1Ae0BkwGNAXoBdQGTAYgBjwGIAY0BvJUA + AZQTTdYAAc8E2wGuAY0B7QGNAXQBegF1AZMBtZMAAZQTTREAAe8BdQJ6AXQBjQF0AXUBjQGIAYICiAG1 + kwABlBRNEgACBwGNAnQBkwGCAYgBjQG8lgABlBNN1gABzwLbArQB7QGTAY0B7QOTAY0B75MAAZQTTRIA + AZMBegF1ApMBegGTAYIBjwGIAYIBjgHwkwABlBRNFAABBwO8ArYBvJcAAZQTTbEAAfQTGxEAAc8CtAHt + ApMB7QGTAe0CjQKIAbaTAAGUE00SAAEHAZMBdQGNAXUBegGTAYgBjwGIAYIBtZQAAZQUTbIAAZQTTbEA + AZQTTREAAa4CkwJ1ApMBdQGTAYIBiAGPAYgBtpMAAZQTTRMAAQcBkwGNAnoBkwGIAY8BjgG2AfCUAAGU + FE2wAAHzAQABlBNNAQABG68AAZQTTREAAe8BkwJ6AZMBjQF6AZMBjQSIAbWTAAGUE00UAAIHApMBjgGC + AY4B8JYAAZQUTa8AAfMBFgEaARYTTQEbAU0BG64AAZQTTREAAfQBjQJ1ApMBegGTAYIBjwGIAYIBjQHw + kwABlBNNFgAEBwHwlwABlBRNrgAB8wEWGE0BFwEbrQABlBNNEgABBwKTAY0CegGTAYgBjwGIAY0B8JQA + AZQTTbIAAZQUTa0AAfMBFhpNARcBG6wAAZQTTRMAAQcCjQJ1AZMBggGIAY4B8ZUAAZQTTbIAAZQUTawA + AfMBFhxNARcBGqsAAZQTTRQAAQcCvAGNAZICvAHwlgABlBNNsAAB8wEAAZQUTQEAARqqAAEaAeMcTQEX + Ab2rAAGUE00XAAEHAfCZAAGUE02vAAHzARYBvQEWFE0BGgFNARqqAAEaAeMaTQEXAb2sAAGUE02yAAGU + E02uAAHzARYZTQEXARqqAAEaAeMKTQGaA70BFwlNARcBva0AAZQTTbIAAZQTTa0AAfMBFhtNARcBGqoA + ARoB4whNAZoEAAEaARcITQG9rgABlBNNsgABlBNNrAAB8wEWHU0BFwEaqgABGgHjBk0BmgYAARoBFwZN + Ab2vAAGUE02wAAEbAQABlBNNrAABGwEWHU0BFwEaqwABGgHjBE0BmggAAeMFTQG9sAABlBNNrwABGwEW + AZoB4xNNARoCvaoAARsB4xtNARcBva0AARoEvQkAARoFvbEAAZQTTa4AARsBFhlNARqqAAEbAeMLTQO9 + ARcKTQEXARr/AHQAAZQTTa0AARsBFhpNARcBGqoAARsB4whNAb0BGgMAAhoBFwhNARr/AHUAAZQTTawA + ARsBFhxNARcBGqoAARsB4wdNBwAB4wdNARr/AHYAAZQTTawAAZQeTQEXqwABGwHjBU0BvQcAARoBFwVN + ARr/AHQAARoCvQHjE00DvakAARsBFhxNARcBGqwAARsFvQkAARoFvf8AdAABGgHjGU0BvakAAfMBFgxN + Ar0B4wtNARcBGv8A/wA2AAEaAeMaTQEXAb2pAAHzARYJTQG9ARoCAAIaARcJTQEa/wD/ADYAARoB4xxN + ARcBvakAAfMBFgdNAb0GAAEaARcHTQEa/wD/ADcAAZQeTQEXqgAB8wEWBk0IAAHjBk0BGv8A/wA4AAHz + ARYcTQEXARqrAAHzBhoIAAca/wD/ADoAAfMBFgxNAhoB4wtNARcBGv8A/wD9AAHzARYJTQIaAgABGwEa + AeMJTQEa/wD/AP8AAfMBFgdNARoGAAEbARcHTQEa/wD/AP8AAgAB8wEWBk0IAAHjBk0BGv8A/wD/AAQA + AfMGGwgABxv/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJkAAU0B9CwAARsBLAF1lQABTQH0 + LAABGwEsAXWVAAFNAfQsAAEbASwBdZUAAU0B9CwAARsBLAF1kgABdQYsAfYnAAEbBSwBlJAAAXUGLAH2 + JwABGwUsAZSQAAF1BiwB9icAARsFLAGUkAABdQYsAfYnAAEbBSwBlI8AAXUILAH2JAAB8wksAZSNAAF1 + CCwB9iQAAfMJLAGUjQABdQgsAfYkAAHzCSwBlI0AAXUILAH2JAAB8wksAZSMAAF1CiwkAAEbCSwBlIwA + AXUKLCQAARsJLAGUjAABdQosJAABGwksAZSMAAF1CiwkAAEbCSwBlIwAAXUKLCMAAfQLLAGaiwABdQos + IwAB9AssAZqLAAF1CiwjAAH0CywBmosAAXUKLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0 + CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMAAfQLLAGa + igABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAZQBTQosIwAB9AssAZqKAAGUAU0KLCMAAfQLLAGa + igABlAFNCiwjAAH0CywBmooAAZQBTQosIwAB9AssAZqLAAF1CiwjAAH0AU0JLAFNARqLAAF1CiwjAAH0 + AU0JLAFNARqLAAF1CiwjAAH0AU0JLAFNARqLAAF1CiwjAAH0AU0JLAFNARqLAAGUAU0ILAFNJAAB9AFN + BywBTQEajAABlAFNCCwBTSQAAfQBTQcsAU0BGowAAZQBTQgsAU0kAAH0AU0HLAFNARqMAAGUAU0ILAFN + JAAB9AFNBywBTQEajQABlAFNBiwBTSYAAfQBTQUsAU0Bmo4AAZQBTQYsAU0mAAH0AU0FLAFNAZqOAAGU + AU0GLAFNJgAB9AFNBSwBTQGajgABlAFNBiwBTSYAAfQBTQUsAU0Bmo8AAZQGdSgAAfQFdQGakAABlAZ1 + KAAB9AV1AZqQAAGUBnUoAAH0BXUBmpAAAZQGdSgAAfQFdQGa/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /QAB9jf0jgAB9jf0jgAB9jf0jgAB9jf0jAAB9gH0AU03LAF1iwAB9gH0AU03LAF1iwAB9gH0AU03LAF1 + iwAB9gH0AU03LAF1iQAB9gHzAU06LAF1iAAB9gHzAU06LAF1iAAB9gHzAU06LAF1iAAB9gHzAU06LAF1 + hwAB9AF1PSwBmoYAAfQBdT0sAZqGAAH0AXU9LAGahgAB9AF1PSwBmoUAAfQBdT0sAU0BGoUAAfQBdT0s + AU0BGoUAAfQBdT0sAU0BGoUAAfQBdT0sAU0BGoQAAfQBdT0sAU0BGoUAAfQBdT0sAU0BGoUAAfQBdT0s + AU0BGoUAAfQBdT0sAU0BGoUAAXUGLDh1ARqGAAF1Biw4dQEahgABdQYsOHUBGoYAAXUGLDh1ARqFAAH0 + AXUFLAF1vgAB9AF1BSwBdb4AAfQBdQUsAXW+AAH0AXUFLAF1vgABdQUsAXW/AAF1BSwBdb8AAXUFLAF1 + vwABdQUsAXW+AAH0AXUFLAH0vgAB9AF1BSwB9L4AAfQBdQUsAfS+AAH0AXUFLAH0vgABdQUsAXW/AAF1 + BSwBdb8AAXUFLAF1vwABdQUsAXW/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0 + vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1 + BSwjGgEbnAABdQUsIxoBG5wAAXUFLCMaARucAAF1BSwjGgEbmwAB8wF1KCwBTQ0aAfONAAHzAXUoLAFN + DRoB840AAfMBdSgsAU0NGgHzjQAB8wF1KCwBTQ0aAfONAAF1NywBdQIaAfOKAAF1NywBdQIaAfOKAAF1 + NywBdQIaAfOKAAF1NywBdQIaAfOKAAF1OiwBdQEaAfOIAAF1OiwBdQEaAfOIAAF1OiwBdQEaAfOIAAF1 + OiwBdQEaAfOIAAF1PCwBdQEaAfOGAAF1PCwBdQEaAfOGAAF1PCwBdQEaAfOGAAF1PCwBdQEaAfOGAAF1 + PiwBdQHzhQABdT4sAXUB84UAAXU+LAF1AfOFAAF1PiwBdQHzhQABdT8sAXUB84QAAXU/LAF1AfOEAAF1 + PywBdQHzhAABdT8sAXUB84QAAXVALAGahAABdUAsAZqEAAF1QCwBmoQAAXVALAGahAABdUAsAXUB84MA + AXVALAF1AfODAAF1QCwBdQHzgwABdUAsAXUB84IAARsBTUEsAZqCAAEbAU1BLAGaggABGwFNQSwBmoIA + ARsBTUEsAZqCAAF1QiwBdQHzgQABdUIsAXUB84EAAXVCLAF1AfOBAAF1QiwBdQHzgQABdUMsAZqBAAF1 + QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGa + gQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAXUBG4AAAXVDLAF1ARuAAAF1QywBdQEbgAABdUMs + AXUBG4AAAXVELAGagAABdUQsAZqAAAF1RCwBmoAAAXVELAGafwABGgFNRCwBmn8AARoBTUQsAZp/AAEa + AU1ELAGafwABGgFNRCwBmn8AAZRFLAGafwABlEUsAZp/AAGURSwBmn8AAZRFLAGafwABlEUsAXUBG34A + AZRFLAF1ARt+AAGURSwBdQEbfgABlEUsAXUBG34AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGa + fgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGU + RiwBmn4AAZRGLAF1ARt9AAGURiwBdQEbfQABlEYsAXUBG30AAZRGLAF1ARt9AAGURywBmn0AAZRHLAGa + fQABlEcsAZp9AAGURywBmnwAARoBTUcsAZp8AAEaAU1HLAGafAABGgFNRywBmnwAARoBTUcsAZp8AAGU + SCwBmnwAAZRILAGafAABlEgsAZp8AAGUSCwBmnwAAZRILAFNARp7AAGUSCwBTQEaewABlEgsAU0BGnsA + AZRILAFNARp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGU + SSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBTQEaegABlEks + AU0BGnoAAZRJLAFNARp6AAGUSSwBTQEaegABlEosAZp6AAGUSiwBmnoAAZRKLAGaegABlEosAZp5AAEa + AU1KLAGaeQABGgFNSiwBmnkAARoBTUosAZp5AAEaAU1KLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGa + eQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGU + SywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGa + eQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeAABGgFNSywBmngA + ARoBTUssAZp4AAEaAU1LLAGaeAABGgFNSywBmngAAZRLLAGUAfZ4AAGUSywBlAH2eAABlEssAZQB9ngA + AZRLLAGUAfZ3AAEaAU1LLAGaeAABGgFNSywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABlEssAZQB9ngA + AZRLLAGUAfZ4AAGUSywBlAH2eAABlEssAZQB9nYAARoBdQFNSiwBlHgAARoBdQFNSiwBlHgAARoBdQFN + SiwBlHgAARoBdQFNSiwBlG4AARoJdQFNSSwBlHEAARoJdQFNSSwBlHEAARoJdQFNSSwBlHEAARoJdQFN + SSwBlHAAARoBTQ8sARq0AAEaAU0PLAEatAABGgFNDywBGrQAARoBTQ8sARq0AAEaECwBG7QAARoQLAEb + tAABGhAsARu0AAEaECwBG7QAARoPLAEatQABGg8sARq1AAEaDywBGrUAARoPLAEatQABGg0sARq3AAEa + DSwBGrcAARoNLAEatwABGg0sARq5AAGaCCwBGrwAAZoILAEavAABmggsARq8AAGaCCwBGjAAAeyMAAj2 + vgAI9r4ACPa+AAj2LwABEgETARECEgHs/wD/AP8AFQACRAQRARIB7P8A/wD/ABIAARQBRAFFBhEB7P8A + /wD/ABEAChEBEwHs/wD/AEsAAhQB68AAAfQIEQFtAfMBEQHs/wD/AEgAARQBFQMRARQB678ACREBFQER + Aev/AP8ASAABQwFFBREB674AAfQIEQJDAev/AP8ASAABQwFFAUMFEQEVAey+AAH0BhECRAHr/wD/AEgA + ChEBQwHsvgAB9AURAev/AIMAAfQDQwFtwAALEQHrwAAB9AIRAW3/AIQABREBbb8AAfQLEQHs/wD/AEcA + AUQBRQFEBREBbb4AAfQHEQFDAUQBQwHsqQABQwEPAQABEf8AmQABEQJEBxEB674AAfQGEQFEAW6oAAEV + AQ8CAAERAg//AJgACxEB674AAfQEEQJDAeulAAEUAhACAAJDAW0BmAEU0gAB9AMRAW3AAAwRAey/AAH0 + AkMB66UAARIBEAH0AgABFQEUAXMDmQFzAQ/QAAH0AREBQwQRAW2/AAJDCREB7KoAARUBEQEPuQAB6gER + AfQBAAEUARABSgFzBpkBQ9AAARECRQYRAW2+AAH0AUMGEQJEAeynAAEUAhECAAERtgABbQIRAfQBAAET + AUMBbQEcBJkCHAKZAesBD88AAREBRAFDCBEB670AAfQBFQFDBBECRAHspQABEwFDAwABQwEUAeoBD7MA + AesBQwHzAgABEgERAesGmQHrARUCEwGZAZgBEc8AARULEQHsvgAB9AIVAhEBFAHspAABEgFDAfQCAAEV + ARIBcwKZARSxAAHrAUMB8wEAAeoBEAFtARwBFAEcBpkBFQEHAb0B6gFzAZkBbdAAARQKEQHsqwABFBQA + AfQBFAHsowABbQIVAfQBAAEUAUMBbQEcBJkBcwEPsAAB6wHyAesBFAHrAQcCvQHqARwGmQEUAZMBGgET + ARwBmQEAARDQAAEUCREB7KgAARMCFQEAARC3AAHrARUB9AIAARMBFAHrAZgDmQKYApkBQ7AAAesBDwH0 + AQABGwMaAeoB9AYAARwBEgETARQDAAEU0AAB9AETARQFEQJEAeymAAESARQB9AIAAkO1AAHrARQB8wIA + AhIBcwWZAXMCEgFzAZkBbbAAAewBEAHyBQABEwHzCwACFNMAAfQBEwEUAxECRAHtpAAB6gEUAfQBAAEV + AUMBSgEcAXMBD7EAAW0BFQEUAfMBAAHqAUMBEwESAZgFmQGYARUBkwHtARQBmQEcARCwAAHsAhQB8wEA + ARMBFQcUAfQCAAETARTDAAL2EwAB9AQSAeyhAAH2AesCFAH0AQACFAHrAZgDmQEVAfavAAHrAQ8B8gEA + AW0BFAHsARoBvAETARwFmQEcARMCGgFDApkBbbMAAewCFAH0BwAB6gIUwgAC9AESARMBDwH0twAB9AHr + ARMB8wH0AfYBEwESAXMGmQHrAQ+vAAHtARABFAESARwEGgEUApkDAAEIAZkBFAFuAe0BbQEAAvT/AIEA + A/QB6gETAvQBQwEPtAAC9AHrARMB8wH0ARMBQwFKAXMEmQEcAnMBmQGYARGwAAHsAfIGAAETAfME9AIA + ARwB6wEAAvQBEwES/wB/AAL0AesCEgL0ARUBFAHrARQB9LAAAfYB9AHsAhIB8gH0AeoBEQHqARwFmQEc + ARQBbQEUAXMBmQHqAfSwAAHsAfIF9AEUARMEEgL0AQAC9AIS/wB/AAL0AesBEgHzAvQBFAESAXMCmQFz + AQ+wAAHrARQB8gL0AW0B6gHtAW4B6wGYBZkBbQFuAb0BkwEUAZkBHAEPsQAB7AYSBQAB6wESAfQB6gES + /wB+AAP0AesBEgHzAfQBFAFDAeoBcwWZAUOwAAHrAfEB7AHqAesBkwEaAb0BkwHqAZkFCAFzAW0BBwLs + AQgBAAEQvwABbf8AfgAC9AHsAuoB8gH0ARIBFAHrARwDmQIcAZgBmQHrAfSvAAHtAREB8wEAARsDGgEH + ARQB9AUAAQgB7AHrAeoBAAL0Aer/AP8APQAC9AHsAeoB8gL0AhMBcwGYBJkBHAHqARIBbQGYARwBEbAA + Ae0B8Qb0ARQB8gX0AgAD9AFtAer/AP8APQAB9AHtAW0B8QH0AeoBFQFtARUBHAaZARIB7AG8ARIBcwGZ + AeoB9LAAAe0CbQERAQ8BEghtAfMB9AHrAm3/AP8APwAB6wHwAfMBbQETAewBBwG9AW0BcwGZBAgBmQEU + AZMBGgFtAXIBCAEcAQ+zAAHtAW0B9AgAAesBbf8A/wBCAAHrAQ8B6gGSARoDGwHrAZIBCAQAAQgBHAHq + AW0B6wEcAQAB8wHr/wD/AP8AAwAB9wFDAfAFAAESAfEF8wIAAe8B6wPzAev/AP8A/wAFAAH3AesB8QTz + ARQBbQXrAfID8wPr/wD/AP8ACAAB9wXrBgAB7AEQAuv/AP8A/wAYAAHs/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AEAAE8wH0/wD/AP8AFAAB8wHxAc8BrgKNAfcB9P8A/wD/ABIA + AfEBtALbAa4CegKTAfMB9P8A/wD/AA8AAfABzwPbAc8CegF1AZMBjQG1/wD/AEsAAfIF8wH0vAABzwS0 + AewBegF0A5MB7wH0/wD/AEgAAfIB8QK0Aa4CkwGNAfcB87oAAfAD2wG0Ac8BjQOTAXUBegGTAbX/AP8A + RwAB8AHPAbQC2wG0AnoBdQGTAbUB87kAAc8D2wG0BI0BegF1ApMB7/8AhAAD8QHzvgABzwK0AtsBkQJ6 + ApMBjQHvuQABzwHVArQB7QKTAY0B7QGTAo4BjQG2/wCCAAHyAfABzwGuAY0B9wLzuwAB8AW0AY0BdQOT + AXUBmQHzuAABrgLtAZMBdAGTAe0BdQGTAa4BggGPAYgBtv8AgQAB8AG0AdUB2wGuAXoBdQKTAfO6AAHP + A9sBtAGuAY0BkwGNAZMCegGTAe+4AAEHAXUCegF1AY0BkwF1AY4CggKIAbb/AIAAAbwBzwPbAbQCegF1 + AZMB9wHzuQABzwLbAdUBtAHtAZMCjQF0ApMBjgHvkgAB8xMaEwABkwJ6ApMBegGTAY0BjwGIAYIBjgHx + vQAE8QHzvQABzwS0AY0BegF1A5MB9wHzuAABzwK0AZICkwHtApMCjQKIAbaSAAGUE00TAAEHAZMBdQGN + AXQBegGTAYgBjwGIAYIBtrwAAfEBGQG0Aa4DkwHxAfO6AAG8AdUC2wG0Ac8BjQOTAXUBegGTAbW4AAGu + ApMBdAF1ApMBdQGTAoIBjwGIAbaSAAGUE00UAAG8AZMBjQJ6AZMBiAGPAYgBjQHwuwAB8AG0AtsBtAJ6 + AXUBkwGvAfO5AAHPA9sBtAGuA40CdQGTARwB77gAAQcBkwJ6AZMBjQJ1AY0EiAG1kgABlBNNFQABBwGu + A5MBggGOAbwB8LsAAbwCtALbAc8CegKTAewB77kAAc8B1QK0AZICkwGNAe0BkwKOAY0BtrgAAfQBjQJ1 + ApMBegGTAYIBjwGIAYIBjgHxkgABlBNNFgAFvAHxvQAFtAGNAXUDkwF0AZMB87gAAa4B9wGSA5MBjQKT + Aa4BggKIAbaSAAEbE70TAAEHApMBjQF1AXoBkwGIAY8BiAGNAfGTAAGUE03YAAEJA9sBtAHPAY0BkwHt + AZMCegGTAe+4AAG8AZMBdQF6AXUB7QGTAXUBjgKCAogBtpIAAZQTTRQAAQcCjQF1AXoBkwGCAYgBjgHy + lAABlBNN2AABzwPbAbQB7QGTAa4BjQF1ApMBjgHvuQABkwJ6AZMB7QF6AZMBjQGPAYgBggGOAfKSAAGU + E00VAAG8AQcEjQHwAfGVAAGUE03YAAHPArQBtQEcAZMB7QKTAo0CiAG2uQABvAGTAXUB7QGTAXoBkwGC + AY8BiAGCAbaTAAGUE00XAAO8AfGXAAGUE03YAAG8ARwCkwF1ApMBdQGTAoIBjwGIAba6AAG8AZMBjQJ6 + AZMBiAGPAYgBrwHykwABlBNNsgABlBNN2QABkwJ6AZMBjQJ1AY0DiAGxAfK7AAG8Aa4DkwGCAY4B8AHy + lAABlBNNsgABlBNN2AAB9AGNAXoBdQKTAXoBkwGCAY8BiAGCAba9AALwAvEB8AHylgABlBNNsgABlBNN + 2QABvAGTAXQBjQF1AXoBkwGIAY8BiAGvAfP/AFoAAZQTTbIAAZQTTdoAAbwCjQJ6AZMBggGIAY4B8/8A + WwABlBNNsgABlBNN2wAC8AEaAe0BjQGvAfIB8/8AXAABlBNNsgABlBNN3gAC8QHz/wBeAAGUE02yAAGU + E03/AP8AQAABlBNNsAABGgEAAZQTTQEAAr3/AP8APQABlBNNrwABGgHjAZQB4xNNAZoBFwFNAb3/AP8A + PAABlBNNrgABGgHjGk0Bvf8A/wA7AAGUE02tAAEaAeMcTQG9/wD/ADoAAZQTTa0AAZQdTQEX/wD/ADoA + AZQTTa0AAfQBFhtNARcBG/8A/wA3AAG9AZoBAAGUE00BAAKaqwAB9AEWDE0BGgHjDE0BG/8A/wA3AAG9 + AeMBTQGUAeMTTQGUARcBTQGUqwAB9AEWCE0BGgIbAQAB8wEbAeMJTQEb/wD/ADcAAb0B4xtNrAAB9AEW + Bk0BGgYAAfMB4wdNARv/AP8AOAABlBxNAZSsAAH0ARYFTQgAAfMB4wVNARv/AP8AOQAB9AEWG00B860A + AfQF8wkABvP/AP8AOwAB9AEWCk0BGgPzAeMKTQHz/wD/AP8AAfQBFgdNARoB8wQAAfQB8wHjB00B8/8A + /wD/AAIAAfQBFgZNCAAB4wZNAfP/AP8A/wAEAAH2ARYETQEaCAAB9AHjBE0B8/8A/wD/AAYAAfYE9AoA + BfT/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP4AAU0B9CwAARsBLAF1lQABTQH0LAABGwEsAXWVAAFN + AfQsAAEbASwBdZUAAU0B9CwAARsBLAF1kgABdQYsAfYnAAEbBSwBlJAAAXUGLAH2JwABGwUsAZSQAAF1 + BiwB9icAARsFLAGUkAABdQYsAfYnAAEbBSwBlI8AAXUILAH2JAAB8wksAZSNAAF1CCwB9iQAAfMJLAGU + jQABdQgsAfYkAAHzCSwBlI0AAXUILAH2JAAB8wksAZSMAAF1CiwkAAEbCSwBlIwAAXUKLCQAARsJLAGU + jAABdQosJAABGwksAZSMAAF1CiwkAAEbCSwBlIwAAXUKLCMAAfQLLAGaiwABdQosIwAB9AssAZqLAAF1 + CiwjAAH0CywBmosAAXUKLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMA + AfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9Ass + AZqKAAF1CywjAAH0CywBmooAAZQBTQosIwAB9AssAZqKAAGUAU0KLCMAAfQLLAGaigABlAFNCiwjAAH0 + CywBmooAAZQBTQosIwAB9AssAZqLAAF1CiwjAAH0AU0JLAFNARqLAAF1CiwjAAH0AU0JLAFNARqLAAF1 + CiwjAAH0AU0JLAFNARqLAAF1CiwjAAH0AU0JLAFNARqLAAGUAU0ILAFNJAAB9AFNBywBTQEajAABlAFN + CCwBTSQAAfQBTQcsAU0BGowAAZQBTQgsAU0kAAH0AU0HLAFNARqMAAGUAU0ILAFNJAAB9AFNBywBTQEa + jQABlAFNBiwBTSYAAfQBTQUsAU0Bmo4AAZQBTQYsAU0mAAH0AU0FLAFNAZqOAAGUAU0GLAFNJgAB9AFN + BSwBTQGajgABlAFNBiwBTSYAAfQBTQUsAU0Bmo8AAZQGdSgAAfQFdQGakAABlAZ1KAAB9AV1AZqQAAGU + BnUoAAH0BXUBmpAAAZQGdSgAAfQFdQGa/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/QAB9jf0jgAB9jf0 + jgAB9jf0jgAB9jf0jAAB9gH0AU03LAF1iwAB9gH0AU03LAF1iwAB9gH0AU03LAF1iwAB9gH0AU03LAF1 + iQAB9gHzAU06LAF1iAAB9gHzAU06LAF1iAAB9gHzAU06LAF1iAAB9gHzAU06LAF1hwAB9AF1PSwBmoYA + AfQBdT0sAZqGAAH0AXU9LAGahgAB9AF1PSwBmoUAAfQBdT0sAU0BGoUAAfQBdT0sAU0BGoUAAfQBdT0s + AU0BGoUAAfQBdT0sAU0BGoQAAfQBdT0sAU0BGoUAAfQBdT0sAU0BGoUAAfQBdT0sAU0BGoUAAfQBdT0s + AU0BGoUAAXUGLDh1ARqGAAF1Biw4dQEahgABdQYsOHUBGoYAAXUGLDh1ARqFAAH0AXUFLAF1vgAB9AF1 + BSwBdb4AAfQBdQUsAXW+AAH0AXUFLAF1vgABdQUsAXW/AAF1BSwBdb8AAXUFLAF1vwABdQUsAXW+AAH0 + AXUFLAH0vgAB9AF1BSwB9L4AAfQBdQUsAfS+AAH0AXUFLAH0vgABdQUsAXW/AAF1BSwBdb8AAXUFLAF1 + vwABdQUsAXW/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1 + BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwjGgEbnAABdQUs + IxoBG5wAAXUFLCMaARucAAF1BSwjGgEbmwAB8wF1KCwBTQ0aAfONAAHzAXUoLAFNDRoB840AAfMBdSgs + AU0NGgHzjQAB8wF1KCwBTQ0aAfONAAF1NywBdQIaAfOKAAF1NywBdQIaAfOKAAF1NywBdQIaAfOKAAF1 + NywBdQIaAfOKAAF1OiwBdQEaAfOIAAF1OiwBdQEaAfOIAAF1OiwBdQEaAfOIAAF1OiwBdQEaAfOIAAF1 + PCwBdQEaAfOGAAF1PCwBdQEaAfOGAAF1PCwBdQEaAfOGAAF1PCwBdQEaAfOGAAF1PiwBdQHzhQABdT4s + AXUB84UAAXU+LAF1AfOFAAF1PiwBdQHzhQABdT8sAXUB84QAAXU/LAF1AfOEAAF1PywBdQHzhAABdT8s + AXUB84QAAXVALAGahAABdUAsAZqEAAF1QCwBmoQAAXVALAGahAABdUAsAXUB84MAAXVALAF1AfODAAF1 + QCwBdQHzgwABdUAsAXUB84IAARsBTUEsAZqCAAEbAU1BLAGaggABGwFNQSwBmoIAARsBTUEsAZqCAAF1 + QiwBdQHzgQABdUIsAXUB84EAAXVCLAF1AfOBAAF1QiwBdQHzgQABdUMsAZqBAAF1QywBmoEAAXVDLAGa + gQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1 + QywBmoEAAXVDLAGagQABdUMsAXUBG4AAAXVDLAF1ARuAAAF1QywBdQEbgAABdUMsAXUBG4AAAXVELAGa + gAABdUQsAZqAAAF1RCwBmoAAAXVELAGafwABGgFNRCwBmn8AARoBTUQsAZp/AAEaAU1ELAGafwABGgFN + RCwBmn8AAZRFLAGafwABlEUsAZp/AAGURSwBmn8AAZRFLAGafwABlEUsAXUBG34AAZRFLAF1ARt+AAGU + RSwBdQEbfgABlEUsAXUBG34AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGU + RiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAF1 + ARt9AAGURiwBdQEbfQABlEYsAXUBG30AAZRGLAF1ARt9AAGURywBmn0AAZRHLAGafQABlEcsAZp9AAGU + RywBmnwAARoBTUcsAZp8AAEaAU1HLAGafAABGgFNRywBmnwAARoBTUcsAZp8AAGUSCwBmnwAAZRILAGa + fAABlEgsAZp8AAGUSCwBmnwAAZRILAFNARp7AAGUSCwBTQEaewABlEgsAU0BGnsAAZRILAFNARp7AAGU + SSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGa + ewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBTQEaegABlEksAU0BGnoAAZRJLAFN + ARp6AAGUSSwBTQEaegABlEosAZp6AAGUSiwBmnoAAZRKLAGaegABlEosAZp5AAEaAU1KLAGaeQABGgFN + SiwBmnkAARoBTUosAZp5AAEaAU1KLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGU + SywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGa + eQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGU + SywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeAABGgFNSywBmngAARoBTUssAZp4AAEa + AU1LLAGaeAABGgFNSywBmngAAZRLLAGUAfZ4AAGUSywBlAH2eAABlEssAZQB9ngAAZRLLAGUAfZ3AAEa + AU1LLAGaeAABGgFNSywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABlEssAZQB9ngAAZRLLAGUAfZ4AAGU + SywBlAH2eAABlEssAZQB9nYAARoBdQFNSiwBlHgAARoBdQFNSiwBlHgAARoBdQFNSiwBlHgAARoBdQFN + SiwBlG4AARoJdQFNECwUTSUsAZRxAAEaCXUBTUksAZRxAAEaCXUBTUksAZRxAAEaCXUBTUksAZRwAAEa + AU0PLAEaCgABFhNNlgABGgFNDywBGgoAARYTTZYAARoBTQ8sARoLAAEWEk2WAAEaAU0PLAEatAABGhAs + ARsKAAEWE02WAAEaECwBGwoAARYTTZYAARoQLAEbCwABFhJNlgABGhAsARu0AAEaDywBGgsAARYTTZYA + ARoPLAEaCwABFhNNlgABGg8sARoMAAEWEk2WAAEaDywBGrUAARoNLAEaDQABFhNNlgABGg0sARoNAAEW + E02WAAEaDSwBGg4AARYSTZYAARoNLAEauQABmggsARoQAAEWE02YAAGaCCwBGhAAARYTTZgAAZoILAEa + DgABlAIWARcSTQMWlQABmggsARq9AAj2EQABFhNNmQAI9hEAARYTTZkACPYNAAGUAeMBFxdNARcB4wEW + lAAI9tcAARYTTbIAARYTTa0AAZQBFxtNARcBFv8AcwABFhNNsgABFhNNrgABFhtNARf/AHQAARYTTbAA + AZQB4wEXE00BAALjrAABFhlNARf/AHUAARYTTa8AAZQBFxVNAeMCTQHjrAABFglNBQAB4whNARf/AHYA + ARYTTa4AAZQBFxpNAeOsAAEWBk0JAAEXBU0BF/8AdwABFhNNrQABlAEXHE0B46wAARYFTQkAARcETQEX + /wB4AAEWE02tAAGUHU0BF/8A/wA3AAGUARcBAAEWE00CFwHjqwABlBtNARf/AP8ANwABlAEXAU0CFxZN + AeOrAAGUC00B9gEAAeMLTQEX/wD/ADcAAZQBFxtNAeOrAAEWCE0GAAHjCE0BF/8A/wA3AAGUHk0B46sA + ARYGTQgAARcGTQEX/wD/ADgAAZQeTQHjrAABFgVNCQABFwRNARf/AP8AOgABlAEXG00B4/8A/wD9AAGU + ARcKTQUXCk0B4/8A/wD/AAGUARcITQEXBQAB4whNAeP/AP8A/wACAAGUARcGTQEXAfYGAAEXBk0B4/8A + /wD/AAQAAZQGFwgAAeMFFwHj/wD/AP8A/wD/AP8A/wD/AJQAAfQEEQFt/wD/AP8AFQABQwFEBREBbf8A + /wD/ABIAAfQBQwFFBxEBbf8A/wD/ABAAARMKEQFt/wD/AEoAAfMCEQHqwQALEQHs/wD/AEgAAfMFEQFt + AfS+AAESChEB6/8A/wBIAAFDAUQBQwURAW2+AAHqARIIEQEVAZL/AP8ARwABEQFFAUQGEQFtAfS9AAH0 + AeoBEgQRAUMBRAHs/wCDAAT0wAALEQFtqgAB9BMAAfQB6gESAxEBRAH3/wCCAAHyAxEB6gH0vwAB6gsR + AeymAAP0AW0B9BQAAfQDbQGS/wCCAAHyBREB6gL0vgAB6goRAeykAAL0AesC6gHzAREB9P8AmgABEQJE + BREBbQL0vQACbQYRAkQB7KIAAvQB6wHqAQAC9AEVARQBEP8AmgABEQJEBxEBbQH0vQAB9AFtBRECRAH3 + nwAD9AHrAW0B8wL0ARQB6gFzAZkBFAHz1AAD8wH0wAABbQoRAW0B9KcAAfQD8xIAAfQB6wFtAxEBRAH3 + ngAB9AHzAewCbQHyAfQCFAHrARwDmQFzAQ/TAAHyAxEB6gHzAfS+AAH0CxEB7KUAAfQB8wPrAQ8UAAH0 + A+sB950AAfQB8wHsAesBAAH0AfMBEgETAXMBmAKZApgBmQGYAUPSAAH0AREBQwQRAeoB8wH0vQAB6wFt + CREB7KMAAvMB7AHrA/MBQwHzsgAB9ALzAe0B6wHxAvMC6gFzBJkBHAHsAXMBHAGZAW0B89EAAfEBRAFF + BhEBbQHzAfS9AAFtBhECRAHsoAAD8wHsAesB8gHzAhQBbQFyARCxAAH0Ae0C6wHxAfMB6gEUARUBcwaZ + ARIBbQHrARMBmAEcARDRAAHrAUMBRAgRAW0B9KgAAvMTAAHsAesEEQJEAe+eAALzAewC6wHyAfMCEwFz + AZgCmQEUsAAB9AHtAvQB8wFtAeoB7QEHARMBHAWZARwBFAIaARQBHAEIAe0B89AAAfQLEQHspgAC8wHs + AQ8B8hMAAfQB7AHrAhEBFQHvnQAC8wHtAesB8QLzARIB6gFzBZkBcgHzrwAB7wHwAfMC7QGTARoCvQET + AZkGCAETAhwB7AEIAQAB8wHr0QAB7AoRAW0B86IAAfMC8gLsAfIBEQEPFQAB9ALsAe+bAAHzAvIB7QHs + AfEB8wESARQBbQEcA5kBHAJzAZkBmAERsAAB6wEPAfMBAAHzARsB8gEbARMB9AYAAe8C7AEAAfMB8gHs + 0wAB7AoRAeygAAHzAfIB7QLsAfIB8wEUARMBFQHysQAB8wHyAe0C7AHxAfMBEgEUAXIBHASZAZgBbQIS + AXMBmQFKAfKvAAHvAewB8AXyARQB8AXyAwAC8gLs1QAC7AURAkQBEwHvngAB8wHyAe0B7AEAAvMBEwHq + AXMBmQFzAQ+wAAHzAfcB7AHwAfIB8wRtAZgFmQFzARIBBwEcARQBmQEcARCxAAHvDOwB8QLyAuzCAAPy + FAAC7AQRAUQBB5wAAfMC8gHtAewB8QHyAfMBEgFtAXMDmQGYARWwAAHrAbwB8gESARQB7AGTARoBkwES + ARwECAGZAXMB6gKTARQCCAEQvgAB7QLswQAC8gEAAe0B7AEPAfEUAAH0AuwBEQEUAe+bAAHzAfIBkgLs + AfAB8gESARMB6wEcApkBmAEcApkB6wHxrwAB7wEVAesB7QG8AxsB8AETAZkEAAIIARIBbQL3AQAB8gEP + /wCBAAHyAfEB7QHsAQAC8gEUARAWAAH0Ae0B75oAAfMB8QH3AewB9AHyAfEC6gFzAZgDmQGYAXMB6wFz + AZgBHAERsAAB7wG8BQAB8gEUAbwE8QIAAQgB9wEAAfIB8QHtAez/AH8AAfIB8QLtAfAB8QHyARIBbQFz + ARSxAAHzAfEB9wHtAfAB8QHyAesBFQFzBpkB6wHqAe0BEgFzAZkB6gHxsAAB7wG8BPEBFAHsBe0E8QEA + Au3/AH4AAfIB8QEAAfcB7QHwAfECEwHrARwCmQFzAfGwAALrAbwB8QFtARIB7AEHAesBcwaZARIBkgG9 + AewBbQGZAQcBD7EAAe8F7QYAAfcD7f8AfwAB8gHxAfcB7QEAAfIB8QESAeoBcwGYBJkBmAFDsAAB6wEH + AvcBBwEaAr0B7AFtBggBcwHrAe0BEwHvAQgBAAEP/wD/AD8AAfIB8AH3Ae0BvAHxAfIB6gFtAXMDmQGY + AnMBHAGZAW0B8K8AAQcBFQHzAgAB8wEbAfMBbQFDAfQFAAHwAe8BkgHtA/AB7f8A/wA8AAHyAfABAAEH + AZIBvAHwAeoBEQFtARwFmQHrAm0BSgGYARwBEbAAAQcBvAXwARQBDwG8AgAB8QLwAgAB8QHwA5L/AP8A + PQAB6wHsAfQB8gHxAm0B7QEUARwGmQEVAZMBGgETAXMBmQETAfCwAAEHCJICAAHvApIC8AH3AZL/AP8A + QAAB6wHvAfAC6wGTARoBvQESAXMBvAQbAZkBFAEcAZMBFAG8ARsBBwEPvgAB7wH3/wD/AEIAAesB7AH3 + AbwBGwPzARIBBwUAAfEBBwFtAe8B9wEAAfABvAH3/wD/AP8AAwABBwK8BQABEgEHBbwCAAG8AQAB8AG8 + Avf/AP8A/wAFAAG8AfcFvAHvBvcEvAL3/wD/AP8ACQABBwTvBwAE7/8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wDYAAHxAfABGwHyAfP/AP8A/wAUAAIZAbQBrgJ1AZMB8/8A/wD/ABIAAQkD2wG0AnoBdQGT + AfL/AP8A/wAQAAEJBLQB7AF6AXUDkwHz/wD/AP8ADwABtAHbAdUBtAHPAY0DkwF0AXoBGv8A/wD/AA8A + A9sBtAGuA40BdQF6AXQBkwHy/wD/AP8ADgAB2wHVAbQB7QKTAY0B7QKTAo4Btv8A/wD/AA4AAbUB9wEc + ApMB7QKTAo0CiAG2/wD/AP8ADgABkwF1AXoBdQHtAZMBdQGOAoIBiAGxAfP/AP8A/wAOAAEbAnoBkwHt + AXoBkwGNAY8BiAGCAbb/AP8A/wAQAAF0AXUB7QGTAXoBkwGCAY8BiAGwAfP/AP8A/wAQAAHxAZMBjQJ6 + AZMBiAGPAY4B8/8A/wD/ABIAAfIB8AOTAa8B8gHz/wD/AP8AFQAE8/8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wB9AAFNAfQsAAEbASwBdZUAAU0B9CwAARsBLAF1lQABTQH0 + LAABGwEsAXWVAAFNAfQsAAEbASwBdZIAAXUGLAH2JwABGwUsAZSQAAF1BiwB9icAARsFLAGUkAABdQYs + AfYnAAEbBSwBlJAAAXUGLAH2JwABGwUsAZSPAAF1CCwB9iQAAfMJLAGUjQABdQgsAfYkAAHzCSwBlI0A + AXUILAH2JAAB8wksAZSNAAF1CCwB9iQAAfMJLAGUjAABdQosJAABGwksAZSMAAF1CiwkAAEbCSwBlIwA + AXUKLCQAARsJLAGUjAABdQosJAABGwksAZSMAAF1CiwjAAH0CywBmosAAXUKLCMAAfQLLAGaiwABdQos + IwAB9AssAZqLAAF1CiwjAAH0CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0 + CywBmooAAXULLCMAAfQLLAGaigABdQssIwAB9AssAZqKAAF1CywjAAH0CywBmooAAXULLCMAAfQLLAGa + igABdQssIwAB9AssAZqKAAGUAU0KLCMAAfQLLAGaigABlAFNCiwjAAH0CywBmooAAZQBTQosIwAB9Ass + AZqKAAGUAU0KLCMAAfQLLAGaiwABdQosIwAB9AFNCSwBTQEaiwABdQosIwAB9AFNCSwBTQEaiwABdQos + IwAB9AFNCSwBTQEaiwABdQosIwAB9AFNCSwBTQEaiwABlAFNCCwBTSQAAfQBTQcsAU0BGowAAZQBTQgs + AU0kAAH0AU0HLAFNARqMAAGUAU0ILAFNJAAB9AFNBywBTQEajAABlAFNCCwBTSQAAfQBTQcsAU0BGo0A + AZQBTQYsAU0mAAH0AU0FLAFNAZqOAAGUAU0GLAFNJgAB9AFNBSwBTQGajgABlAFNBiwBTSYAAfQBTQUs + AU0Bmo4AAZQBTQYsAU0mAAH0AU0FLAFNAZqPAAGUBnUoAAH0BXUBmpAAAZQGdSgAAfQFdQGakAABlAZ1 + KAAB9AV1AZqQAAGUBnUoAAH0BXUBmv8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP0AAfY39I4AAfY39I4A + AfY39I4AAfY39IwAAfYB9AFNNywBdYsAAfYB9AFNNywBdYsAAfYB9AFNNywBdYsAAfYB9AFNNywBdYkA + AfYB8wFNOiwBdYgAAfYB8wFNOiwBdYgAAfYB8wFNOiwBdYgAAfYB8wFNOiwBdYcAAfQBdT0sAZqGAAH0 + AXU9LAGahgAB9AF1PSwBmoYAAfQBdT0sAZqFAAH0AXU9LAFNARqFAAH0AXU9LAFNARqFAAH0AXU9LAFN + ARqFAAH0AXU9LAFNARqEAAH0AXU9LAFNARqFAAH0AXU9LAFNARqFAAH0AXU9LAFNARqFAAH0AXU9LAFN + ARqFAAF1Biw4dQEahgABdQYsOHUBGoYAAXUGLDh1ARqGAAF1Biw4dQEahQAB9AF1BSwBdb4AAfQBdQUs + AXW+AAH0AXUFLAF1vgAB9AF1BSwBdb4AAXUFLAF1vwABdQUsAXW/AAF1BSwBdb8AAXUFLAF1vgAB9AF1 + BSwB9L4AAfQBdQUsAfS+AAH0AXUFLAH0vgAB9AF1BSwB9L4AAXUFLAF1vwABdQUsAXW/AAF1BSwBdb8A + AXUFLAF1vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUs + AfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsAfS/AAF1BSwB9L8AAXUFLAH0vwABdQUsIxoBG5wAAXUFLCMa + ARucAAF1BSwjGgEbnAABdQUsIxoBG5sAAfMBdSgsAU0NGgHzjQAB8wF1KCwBTQ0aAfONAAHzAXUoLAFN + DRoB840AAfMBdSgsAU0NGgHzjQABdTcsAXUCGgHzigABdTcsAXUCGgHzigABdTcsAXUCGgHzigABdTcs + AXUCGgHzigABdTosAXUBGgHziAABdTosAXUBGgHziAABdTosAXUBGgHziAABdTosAXUBGgHziAABdTws + AXUBGgHzhgABdTwsAXUBGgHzhgABdTwsAXUBGgHzhgABdTwsAXUBGgHzhgABdT4sAXUB84UAAXU+LAF1 + AfOFAAF1PiwBdQHzhQABdT4sAXUB84UAAXU/LAF1AfOEAAF1PywBdQHzhAABdT8sAXUB84QAAXU/LAF1 + AfOEAAF1QCwBmoQAAXVALAGahAABdUAsAZqEAAF1QCwBmoQAAXVALAF1AfODAAF1QCwBdQHzgwABdUAs + AXUB84MAAXVALAF1AfOCAAEbAU1BLAGaggABGwFNQSwBmoIAARsBTUEsAZqCAAEbAU1BLAGaggABdUIs + AXUB84EAAXVCLAF1AfOBAAF1QiwBdQHzgQABdUIsAXUB84EAAXVDLAGagQABdUMsAZqBAAF1QywBmoEA + AXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMsAZqBAAF1QywBmoEAAXVDLAGagQABdUMs + AZqBAAF1QywBmoEAAXVDLAF1ARuAAAF1QywBdQEbgAABdUMsAXUBG4AAAXVDLAF1ARuAAAF1RCwBmoAA + AXVELAGagAABdUQsAZqAAAF1RCwBmn8AARoBTUQsAZp/AAEaAU1ELAGafwABGgFNRCwBmn8AARoBTUQs + AZp/AAGURSwBmn8AAZRFLAGafwABlEUsAZp/AAGURSwBmn8AAZRFLAF1ARt+AAGURSwBdQEbfgABlEUs + AXUBG34AAZRFLAF1ARt+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYs + AZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBmn4AAZRGLAGafgABlEYsAZp+AAGURiwBdQEb + fQABlEYsAXUBG30AAZRGLAF1ARt9AAGURiwBdQEbfQABlEcsAZp9AAGURywBmn0AAZRHLAGafQABlEcs + AZp8AAEaAU1HLAGafAABGgFNRywBmnwAARoBTUcsAZp8AAEaAU1HLAGafAABlEgsAZp8AAGUSCwBmnwA + AZRILAGafAABlEgsAZp8AAGUSCwBTQEaewABlEgsAU0BGnsAAZRILAFNARp7AAGUSCwBTQEaewABlEks + AZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAZp7AAGUSSwBmnsA + AZRJLAGaewABlEksAZp7AAGUSSwBmnsAAZRJLAGaewABlEksAU0BGnoAAZRJLAFNARp6AAGUSSwBTQEa + egABlEksAU0BGnoAAZRKLAGaegABlEosAZp6AAGUSiwBmnoAAZRKLAGaeQABGgFNSiwBmnkAARoBTUos + AZp5AAEaAU1KLAGaeQABGgFNSiwBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEss + AZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkA + AZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmnkAAZRLLAGaeQABlEss + AZp5AAGUSywBmnkAAZRLLAGaeQABlEssAZp5AAGUSywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABGgFN + SywBmngAARoBTUssAZp4AAGUSywBlAH2eAABlEssAZQB9ngAAZRLLAGUAfZ4AAGUSywBlAH2dwABGgFN + SywBmngAARoBTUssAZp4AAEaAU1LLAGaeAABGgFNSywBmngAAZRLLAGUAfZ4AAGUSywBlAH2eAABlEss + AZQB9ngAAZRLLAGUAfZ2AAEaAXUBTUosAZR4AAEaAXUBTUosAZR4AAEaAXUBTUosAZR4AAEaAXUBTUos + AZRuAAEaCXUBTUksAZRxAAEaCXUBTUksAZRxAAEaCXUBTUksAZRxAAEaCXUBTTQsA0wETQ4sAZRwAAEa + AU0PLAEatAABGgFNDywBGrQAARoBTQ8sARq0AAEaAU0PLAEatAABGhAsARu0AAEaECwBG7QAARoQLAEb + tAABGhAsARu0AAEaDywBGrUAARoPLAEatQABGg8sARq1AAEaDywBGgsAAZQTFpYAARoNLAEatwABGg0s + ARq3AAEaDSwBGrcAARoNLAEaDQABFhNNmAABmggsARq8AAGaCCwBGrwAAZoILAEavAABmggsARoQAAEW + E02ZAAj2vgAI9r4ACPa+AAj2EQABFhNN/wD/AGUAAfQBzwGNAe0B75wAARYTTf8A/wBAAAGUE+MQAAG0 + AtsBjQF1AZQBkwEHmgABFhNN/wD/AEAAARYTTQ8AAbQD2wGuA3oBkwEHmQABFhNN/wD/AEAAARYTTQ4A + As8BtALbAewCegGTAY0BkwEHmAABFhNN/wD/AEAAARYTTQ4AAdUC2wG0Ac8BjQF1AZMBjQF1AXoBGpgA + ARYTTf8A/wBAAAEWE00OAATbAa4DjQN6AZMBB5cAARYTTf8AeAABlBQXsgABFhNNDQABtALbAdUBzwKT + Aa4BjQF1AZMBjQGuAbWXAAEWE03/AHgAARYUTRIAAfQCrgG1nAABFhNNDQABrgHPAa4BjQF0AZMBjQF0 + AZMBrgGCAY8BiAG2lwABFhNN/wB4AAEWFE0QAAH0AbQB1QG0AZMBegGTAe+aAAEWE00OAAN6AXUBjQGT + AXUBjgKCAY8BiAG2lwABFhNN/wB4AAEWFE0PAAHPAbQC2wG0AZMCegF1Ae0BtZgAARYTTQ0AAfYBkwJ6 + AZMBjQF6AZMBjQGPAogBt5gAARYTTf8AeAABFhRNDwABzwG0AtsBtAGTAXoBdQHtAY0BB5gAARYTTQ4A + AY0BegF1AY0BdAF6AZMBiAGPAYgBggG2mAABFhNNsQABFhRNsQABFhRNDgABzwLbAbQCzwF1AXQBjQGT + AXoBkwHvlwABFhNNDgAB9AGNAXQBjQF6AXUBkwGIAY8BiAG2mQABFhNNsQABFhRNsQABFhRNDgABtAPb + AbQBrgKNAZMCegF1AQeXAAEWE00PAAH0Aa4BjQJ6AZMCiAG2lwABFgFNAfYBFhNNAQABTQEXrgABFhRN + sQABFhRNDgAD2wG0AY0BkwKNAnUBkwGNAe+XAAEWE00RAAH0Aa4CjQG1mAABlBpNARetAAEWFE0TAAH0 + AYwBtZsAARYUTQ4AAc8BtAHPAe0BdQGTAe0BkwGuAY0BiAGPAbeXAAEWE02tAAGUHE0BF6wAARYUTRAA + AfQBzwK0AY0BdQGTAY0BtZgAARYUTQ4AAZMBdAJ6AZMBjQF6AZMBjQGCAo8BtpcAARYTTawAAZQeTQHj + qwABFhRNDwAB9AHPA9sB7AN6AZMBtZcAARYUTQ4AAY0CegF1AY0BkwF1AY4CiAGCAYgBtpcAARYTTawA + AZQBFxxNARcB46sAARYUTQ8AAa4BtAPbAewCegF0AY0BrgG1lgABFhRNDgABrgF0AXoBkwHsAXoBdAGN + Ao8BiAGCAbWUAAEWAU0B9AEWE00BAAEXqwABlAEXGk0BFwHjrAABFhRNDgAB9AO0Ac8BtAGNAXoBkwGN + AZMBdQEHlgABFhRNDwABjQF0ApMBegF0AY0CjwGIAbWUAAEWGU0BF6sAAZQBFwpNBOMBFwlNARcB460A + ARYUTQ4AAc8E2wGuAY0BkwGNAXUCegGTAbWVAAEWFE0PAAH0Ao0BdAF6AZMBjQGPAYgBtpQAAZQbTQEX + qwABlAEXCE0B4wQAARYBFwhNAeOuAAEWFE0OAAHPA9sBtAGNAZMBrgGTAXoBdQGTAY0BtZUAARYUTREA + AfQBjQL3Ao0BtZQAAZQdTQEXqwABlAEXBk0B4wYAARYBFwZNAeOvAAEWFE0OAAHPArQBrgGTAXQB7AGT + A40CiAG2lQABFhRNrAABlB1NARcBFqsAAZQG4wH2BwABFgbjsAABFhRNDgABrgKTAXoBdQKTAXUBkwGM + AYgBjwGIAbaTAAEWAfMBFhRNAfYBF6oAAZQBFxtNARcBFv8AcwABFhRNDgABjQF1AnoBkwGNAXoBkwGN + AYgBggGIAY4BB5IAARYZTQEXAfapAAGUARcLTQTjARcJTQEXARb/AHQAARYUTQ8AAZMBegF1Ae0BkwF6 + AZMBiAGPAYgBggG2kgABlBtNARcB9qkAAZQBFwhNAeMBFgQAARYBFwdNARcBFv8AdQABFhRNDwABjQKT + AY0BegF1AY4BiAGPAYgBjQEHkQABlB1NAReqAAGUARcHTQcAARYBFwZNARb/AHYAARYUTRAAA40CdQGO + AogBjgG2kgABlB1NARcBFqoAAZQBFgEXBE0BFggAARcFTQEW/wB0AAH2ARYBGwEWFE0BAAEXDwABrwH3 + AZMBmQGTAq8BB5MAAZoBFxtNARcBFq0AAZQEFgH2CAAGFv8AdQABFhlNAReqAAGaARcLTQMWARcKTQEX + ARb/AP8ANwABFhtNAReqAAGaARcITQIWAwABlAEWARcHTQEXARb/AP8ANwABFh1NAReqAAGaARcHTQcA + AZQBFwZNARb/AP8ANwABvQEXHU0BFwGUqgABmgEXBU0BFggAARcFTQEW/wD/ADkAAb0B4xtNARcBlKwA + AZoFlAkABpT/AP8AOwABvQEXC00BFgKUARcKTQEXAZT/AP8A/gABvQEXCE0BFgGUAwAClAEXB00BFwGU + /wD/AP8AAQABvQHjB00HAAHjB00BlP8A/wD/AAMAAb0BFwVNARYHAAGUARcFTQGU/wD/AGAABfOfAAG9 + BZQJAAaU/wD/AGAAAfEEEQHqAfIB8/8A/wD/ABIAAfQBEQFDBREB6gHyAfP/AP8A/wAQAAH0AUMBRQFD + BhEBbQHz/wD/AEwAAfIB88AAAfQBEQFDCBEBbQHz/wD/AEkAAfIB8AERARIB8gHzvgAB9AsRAW0B8/8A + /wBHAAHwBREBEgHyAfO9AAHsCxEB7P8A/wBGAAH0ARECRAURAeoB870AAe0B7AcRAkMB7P8A/wBGAAH0 + ARECRAYRAeoB8QHzqAAB8RQAAe0B7AURAkQBB/8AgwAC8QHyvwAB9AsRAW0B86QAAvEBAAGSAfAVAAGS + AewDEQFEAez/AIIAAfEBvAIRARIB8r8AAewLEQHsogAB8QHwAfcB7QEAAfEBQxYAAfQEkgEH/wCBAAH0 + AREBQwMRARIB8AHyvgAB7QoRAeygAAHxAQAB7wGSAvAB8gESAW0B8P8AnAABvAJEBREB6gHwAfK9AAH3 + Ae0GEQJEAeydAAHxAfABAAHvAQAB8QHwARMB6gFzAZgBmQEV/wCbAAH0AREBQwFEBxEB6gHypgAD8BUA + AfcB7QQRAkQB7JsAAfEB8AL3AQAB8QHwAeoBbQFzBJkB6wHw1wAC8AHxwAABkgoRAeoB8qMAAfABAAHv + AvcBvBYAAe0EEQETAbyZAAHxAQABBwH3AbwB8AHxAW0B6wEcA5kCHAGZARwBQ9UAAfABBwIRARMB8AHx + vgAB9AsRAeyhAAHwAQAB7wEAAvAB8QEUFwAE7wG8lwAB8QG8AQABBwEAAfEB8AESAeoBcwEcBJkBcwLr + AXMBmQFtAbzTAAH0AUMBRAQRARIBvAHxvQAB7wGSCREB6gHynQAB8AG8AQAB7wEAAvABEgFtAnMBvLEA + AfEB7wH3AfQB8QHwAesB6gESARwFmQEcARMBHAHsARMBmQEcARDTAAH0AUMBRQFDBREBEgG8AfG9AAGS + BhEBQwFEARIBvJsAAfABAAEHAe8BAALwAW0B6wFzApkBmAEVsAAB8QHvAQcBvAHwAuwCkwESARwFmQFz + ARMBGgEHARUBmAEbAe/TAAH0AREBRAgRAeoB8aQAAbwYAAHvAZIFEQFEAeyaAAHwAQABBwEAAfABvAHw + AesBcwEcBZkB6wG8rwABvAEHAu8BvAHxAhoB8gESAQgF8QHwAeoB7AFtAe8BGwEAAbzTAAH0CxEB6gHx + owABBwIAArwWAAHvAZIDEQESAbyXAAHxAbwBAAG8AQAB8AG8Am0BcwGYA5kBcwHrAXMCHAERsAAB6wHv + AwAB9AHzAQABEgH0BgABvAEHAe8BAAK8Ae/UAAH3CxEB7KMAArwB8QHrARQYAAPvAfCWAAHxAQABvAHv + AQAC8AESAeoBcwWZAXMB6gFuAeoBcwGZAeqwAAG8Ae8GBwEVAfQDAAG8AQcDAAG8AQAC79YAAfcIEQFD + AREB7JwAAfAEAAK8AW0BcwEcAZkBcwEHsAAB8QHvAfQB8AG8AfAB7AHtAusBmAWZAW0B7AEaAe0BSgGZ + AbwBB7EAAbwG7wQAAQcB7wIHAQABB9oAAQcB9wYRAkQB7JwAAbwCAALwAewBcwGYA5kBmAEVsAAB6wH3 + AQcB7wHsAZMBGgG9ARwBbQG8BRsBcwFtARwB6wEHARsBAAEQvgABBwHv3gABBwH3BBEBRAHqAfCcAAK8 + AfACcwOZARwBcwGYAZkBbbAAAfABFAH3AQAB9APzAfEBvAYAAfEBBwG8AQcCAAIH/wCHAAG8AfAYAAEH + AfcBEQESAQcB8JYAAfAEAAG8AQcB6wFzARwEmQFzAW0B6wFtAZgBHAEHsAAB8AEHBQABvAYHBQABBwEA + AQf/AIUAArwB8QFzARwBvBkAAQcB8JYAAfAB9AHwAgAC8AHtARQBcwaZARIB7QGTARIBcwGZARKxAAHw + AQABvAIHAQABvAYHAQADBwEAAQf/AIUAAbwB8AJzA5kB67EAAfAB9gK8AfABHAGTARoBbQFzAZkB8QMb + AZkBFAGTARoB6gG8ARsBvAEHsgAB8AIHCQABvAIH/wCFAAG8AfABcwEcBZkBHAEHsAABvAH0AfABvAHx + AfMC9ALwARsEAAHzAbwB6wHxAbwDAAEH/wD/AEQAArwB8QIcA5kBcwJtAXMBmQFtsAAB8QHvAfQOAAHw + /wD/AEgAAfABvAHqAXMBmASZAZgBEgLsARIBmAEcsQAB8QEAAbwDAAG8Ae8JAAHv/wD/AEUAAvAB7wGT + ARMBHAGZAxsBmQEcARQCGgEVARwBG7MAAfEDAAHwAbwHAAHvAQABvP8A/wBFAAHyAfMC9AHwAfIBGwMA + AfMB8gHwAuwBvAHywQABvP8A/wBUAALw/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAvAAFCAU0BPgcA + AT4DAAEoAwABGAEDAgABpAEEAgABAQEAAQEFAAEQAdABARUAA///AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8ApgBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQAK/wHnBf8BjxL/AZ8E/wH+AT8R/wH+ + AX8E/wH4Ev8B+QX/AeMI/wEACv8BAAT/Af4BAxH/AfwBAwT/AfgBDxH/AfABDwT/AeABPxH/AcABPwT/ + AYAI/wEACf8B/gEAAX8D/wH4AQAR/wH4AQEE/wHgAQMR/wHgAQcE/wGAAQ8R/wGAAR8D/wH+AQABPwf/ + AQAJ/wH8AQABfwP/AfgBABH/AfABAQT/AeABAxH/AcABBwT/AYABDxH/AQABHwP/Af4BAAE/B/8BAAn/ + AfwBAAF/A/8B8AEAAX8Q/wHwAQEE/wHAAQER/wHAAQcE/wEAAQcR/wEAAR8D/wH8AQABHwf/AQAJ/wH4 + AQABfwP/AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/AQAJ/wH4 + AQABfwP/AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/AQAJ/wH4 + AQABfwP/AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/AQAJ/wH8 + AQABfwP/AfABAAF/EP8B8AEBBP8BwAEBEf8BwAEHBP8BAAEHEf8BAAEfA/8B/AEAAR8H/wEACf8B/AEA + AX8D/wH4AQAR/wHwAQEE/wHgAQMR/wHAAQcE/wGAAQ8R/wEAAR8D/wH+AQABPwf/AQAJ/wH+AQAE/wH8 + AQER/wH4AQME/wHwAQcR/wHgAQ8E/wHAAR8R/wGAAT8E/wEAAX8H/wEACv8BAQT/Af4BAxH/AfwBBwT/ + AfgBDxH/AfABHwT/AeABPxH/AcABfwT/AYAI/wEAY/8BAGP/AQBj/wEAY/8BAAr/AYAGAAF/EP8B/gYA + AQER/wH4BgABBxH/AeAGAAEfB/8BAAn/Af4HAAE/EP8B+AcAEf8B4AYAAQMR/wGABgABDwf/AQAJ/wH4 + BwABHxD/AeAHAAF/EP8BgAYAAQEQ/wH+BwABBwf/AQAJ/wHwBwABDxD/AcAHAAE/EP8IABD/AfwHAAED + B/8BAAn/AeAHAAEPEP8BgAcAAT8P/wH+CAAQ/wH4BwABAwf/AQAJ/wHABwABHxD/CAABfw//AfwHAAEB + EP8B8AcAAQcH/wEACf8BwAcAAT8Q/wgAEP8B/AcAAQMQ/wHwBwABDwf/AQAJ/wGAAX8W/wH+AQEX/wH4 + AQcX/wHgAR8O/wEACf8BgBf/Af4BAxf/AfgBDxf/AeABPw7/AQAJ/wEAF/8B/AEDF/8B8AEPF/8BwAE/ + Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8BARf/AfwBBxf/AfABHxf/AcABfw7/AQAJ/wEB + F/8B/AEHF/8B8AEfF/8BwAF/Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8FAAE/Ev8B/AUA + E/8B8AQAAQMT/wHABAABDwr/AQAI/wH+BwAR/wH4BgABAxH/AeAGAAEPEf8BgAYAAT8I/wEACP8B/gcA + AR8Q/wH4BwABfxD/AeAGAAEBEf8BgAYAAQcI/wEACP8B/gcAAQcQ/wH4BwABHxD/AeAHAAF/EP8BgAYA + AQEI/wEACP8B/gcAAQEQ/wH4BwABBxD/AeAHAAEfEP8BgAcAAX8H/wEACP8B/ggAEP8B+AcAAQMQ/wHg + BwABDxD/AYAHAAE/B/8BAAj/Af4IAAF/D/8B+AcAAQEQ/wHgBwABBxD/AYAHAAEfB/8BAAj/Af4IAAF/ + D/8B+AcAAQEQ/wHgBwABBxD/AYAHAAEfB/8BAAj/Af4IAAE/D/8B+AgAEP8B4AcAAQMQ/wGABwABDwf/ + AQAI/wH8CAABPw//AfAIABD/AcAHAAEDEP8IAAEPB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHABwABARD/ + CAABBwf/AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgAAQcH/wEACP8B/AgAAR8P/wHwCAABfw// + AcAHAAEBEP8IAAEHB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHABwABARD/CAABBwf/AQAI/wH8CAABDw// + AfAIAAE/D/8BwAgAEP8IAAEDB/8BAAj/AfwIAAEPD/8B8AgAAT8P/wHACAAQ/wgAAQMH/wEACP8B+AgA + AQ8P/wHgCAABPw//AYAIAA//Af4IAAEDB/8BAAj/AfgIAAEPD/8B4AgAAT8P/wGACAAP/wH+CAABAwf/ + AQAI/wH4CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABBw//AeAIAAEfD/8BgAgA + AX8O/wH+CAABAQf/AQAI/wH4CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABBw// + AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABAw//AeAIAAEPD/8BgAgAAT8O/wH+CQAH/wEA + CP8B+AgAAQMP/wHgCAABDw//AYAIAAE/Dv8B/gkAB/8BAAj/AfAIAAEDD/8BwAgAAQ8P/wkAAT8O/wH8 + CQAH/wEACP8B8AgAAQMP/wHACAABDw//CQABPw7/AfwJAAf/AQAI/wHwCAABAQ//AcAIAAEHD/8JAAEf + Dv8B/AkAAX8G/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/AfwJAAF/Bv8BAAj/AfAIAAEBD/8BwAgA + AQcP/wkAAR8O/wH8CQABfwb/AQAI/wHwCAABAQ//AcAIAAEHD/8JAAEfDv8B/AkAAX8G/wEACP8B8AkA + D/8BwAgAAQMP/wkAAQ8O/wH8CQABPwb/AQAI/wHwCQAP/wHACAABAw//CQABDw7/AfwJAAE/Bv8BAAj/ + AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkA + AT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkA + AQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8B4AkAD/8BgAgA + AQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHA + CQAP/wkAAQMO/wH8CQABDw7/AfAJAAE/Bv8BAAj/AcAJAA//CQABAw7/AfwJAAEPDv8B8AkAAT8G/wEA + CP8BgAgAAQEO/wH+CQABBw7/AfgJAAEfDv8B4AkAAX8G/wEACP8BgAgAAQEO/wH+CQABBw7/AfgJAAEf + Dv8B4AkAAX8G/wEAB/8B/gkAAQcO/wH4CQABHw7/AeAJAAF/Dv8BgAgAAQEH/wEABv8B+AoAAT8N/wHg + CgAO/wGACQABAw3/Af4KAAEPB/8BAAb/AfABAAEDFv8BwAEAAQ8W/wIAAT8V/wH8AgAQ/wEABv8B8AEA + AQMW/wHAAQABDxb/AgABPxX/AfwCABD/AQAG/wHwAQABBxb/AcABAAEfFv8CAAF/Ff8B/AEAAQEQ/wEA + Bv8B8AEAAR8W/wHAAQABfxb/AQABARb/AfwBAAEHEP8BAAb/AfwBABf/AfABAxf/AcABDxf/AQABPxD/ + AQAG/wH+AQEX/wH4AQcX/wHgAR8X/wGAAX8Q/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/ + AQBj/wEAY/8BAGP/AQBU/wGAAQABAwz/AQBU/wGAAQABAwz/AQBU/wGAAQABAwz/AQBU/wGAAQABAwL/ + AY8J/wEAVP8BgAEAAQMB/wH8AQEJ/wEAO/8B4AEAAQEW/wGAAQABAwH/AfgBAAn/AQA7/wHgAQABARb/ + AYABAAEDAf8B+AEAAX8I/wEAO/8B4AEAAQEC/wGAE/8BgAEAAQMB/wHwAQABfwj/AQA7/wHgAQABAQL/ + AQABfxL/AYABAAEDAf8B8AEAAT8I/wEAO/8B4AEAAQEB/wH+AQABPxL/AYABAAEDAf8B8AEAAT8I/wEA + Iv8B+AIAAX8V/wHgAQABAQH/AfwBAAEfEv8BgAEAAQMB/wHwAQABPwj/AQAi/wH4AgABfwH/AcABHxL/ + AeABAAEBAf8B/AEAAQ8S/wGAAQABAwH/AfABAAE/CP8BACL/AfgCAAF/Af8BgAEPEv8B4AEAAQEB/wH8 + AQABDxL/AYABAAEDAf8B8AEAAT8I/wEAIv8B+AIAAX8B/wGAAQcS/wHgAQABAQH/AfwBAAEPEv8BgAEA + AQMB/wH4AQABfwj/AQAO/wH8AR8S/wH4AgABfwH/AQABBxL/AeABAAEBAf8B/AEAAQ8S/wGAAQABAwH/ + AfgBAAF/CP8BAA7/AfABBxL/AfgCAAF/Af8BAAEDEv8B4AEAAQEB/wH8AQABDxL/AYABAAEDAf8B/AEA + Cf8BAAn/AfwCAAEfAf8B4AEDEv8B+AIAAX8B/wEAAQMS/wHgAQABAQH/AfwBAAEPEf8B/AIAAQIB/wH+ + AQEJ/wEACf8B/AIAAR8B/wHgAQES/wH4AgABfwH/AQABAxL/AeABAAEBAf8B/gEAAR8R/wH8AwABfwv/ + AQAJ/wH8AgABHwH/AcABABL/AfgCAAF/Af8BAAEDEv8B4AEAAQEC/wEAAT8R/wH4AwABPwv/AQAJ/wH8 + AgABHwH/AcABABL/AfgCAAF/Af8BAAEDEv8B4AEAAQEC/wGAAX8R/wHwAwABHwv/AQAJ/wH8AgABHwH/ + AcABABL/AfgCAAF/Af8BgAEHEv8B4AEAAQEC/wGAEv8B4AMAAQ8L/wEACf8B/AIAAR8B/wHAAQAS/wH4 + AgABfwH/AYABBxL/AYACAAE/FP8B8AMAAR8L/wEACf8B/AIAAR8B/wHAAQAS/wH4AgABfwH/AcABDxL/ + AwABHxT/AfgDAAE/C/8BAAn/AfwCAAEfAf8BwAEAEv8B+AIAAX8B/wHgAR8R/wH+AwABDxT/AfwBAAE4 + AQABfwv/AQAJ/wH8AgABHwH/AcABARL/AfgCAAF/Af8B8AF/Ef8B/AMAAQcU/wH+AQAB/gEADP8BAAn/ + AfwCAAEfAf8B4AEBEv8B+AIAAX8U/wH4AwABBxX/AQAB/gEBDP8BAAn/AfwCAAEfAf8B8AEDEv8B4AIA + AR8U/wH4AwABBxX/AYEB/wEDDP8BAAn/AfwCAAEfAf8B/AEPEv8BgAIAAQ8U/wH8AwABDyT/AQAJ/wH8 + AgABHxX/AwABBxT/Af4DAAEfJP8BAAn/AfwCAAEfFP8B/gMAAQMV/wEAAT8BAAE/JP8BAAn/AfwCAAEf + FP8B/gMAAQEV/wGAAX8BgAF/JP8BAAn/AfQCAAEHFP8B/gMAAQEV/wHAAX8BgCX/AQAJ/wHgAgABAxX/ + AwABAz3/AQAJ/wHAAgABARX/AYACAAEHPf8BAAn/AYADABX/AcABDwGAAQ89/wEACf8EABX/AeABHwHA + AR89/wEACf8EABX/AfABHwHgAT89/wEACf8BgAMAVv8BAAn/AcACAAEBVv8BAAn/AeABAwHgAQNW/wEA + Cf8B8AEHAfABB1b/AQAJ/wH4AQ8B8AEPVv8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQAK/wHnBf8BjxL/AZ8E/wH+ + AT8R/wH+AX8E/wH4Ev8B+QX/AeMI/wEACv8BAAT/Af4BAxH/AfwBAwT/AfgBDxH/AfABDwT/AeABPxH/ + AcABPwT/AYAI/wEACf8B/gEAAX8D/wH4AQAR/wH4AQEE/wHgAQMR/wHgAQcE/wGAAQ8R/wGAAR8D/wH+ + AQABPwf/AQAJ/wH8AQABfwP/AfgBABH/AfABAQT/AeABAxH/AcABBwT/AYABDxH/AQABHwP/Af4BAAE/ + B/8BAAn/AfwBAAF/A/8B8AEAAX8Q/wHwAQEE/wHAAQER/wHAAQcE/wEAAQcR/wEAAR8D/wH8AQABHwf/ + AQAJ/wH4AQABfwP/AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/ + AQAJ/wH4AQABfwP/AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/ + AQAJ/wH4AQABfwP/AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/ + AQAJ/wH8AQABfwP/AfABAAF/EP8B8AEBBP8BwAEBEf8BwAEHBP8BAAEHEf8BAAEfA/8B/AEAAR8H/wEA + Cf8B/AEAAX8D/wH4AQAR/wHwAQEE/wHgAQMR/wHAAQcE/wGAAQ8R/wEAAR8D/wH+AQABPwf/AQAJ/wH+ + AQAE/wH8AQER/wH4AQME/wHwAQcR/wHgAQ8E/wHAAR8R/wGAAT8E/wEAAX8H/wEACv8BAQT/Af4BAxH/ + AfwBBwT/AfgBDxH/AfABHwT/AeABPxH/AcABfwT/AYAI/wEAY/8BAGP/AQBj/wEAY/8BAAr/AYAGAAF/ + EP8B/gYAAQER/wH4BgABBxH/AeAGAAEfB/8BAAn/Af4HAAE/EP8B+AcAEf8B4AYAAQMR/wGABgABDwf/ + AQAJ/wH4BwABHxD/AeAHAAF/EP8BgAYAAQEQ/wH+BwABBwf/AQAJ/wHwBwABDxD/AcAHAAE/EP8IABD/ + AfwHAAEDB/8BAAn/AeAHAAEPEP8BgAcAAT8P/wH+CAAQ/wH4BwABAwf/AQAJ/wHABwABHxD/CAABfw// + AfwHAAEBEP8B8AcAAQcH/wEACf8BwAcAAT8Q/wgAEP8B/AcAAQMQ/wHwBwABDwf/AQAJ/wGAAX8W/wH+ + AQEX/wH4AQcX/wHgAR8O/wEACf8BgBf/Af4BAxf/AfgBDxf/AeABPw7/AQAJ/wEAF/8B/AEDF/8B8AEP + F/8BwAE/Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8BARf/AfwBBxf/AfABHxf/AcABfw7/ + AQAJ/wEBF/8B/AEHF/8B8AEfF/8BwAF/Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8FAAE/ + Ev8B/AUAE/8B8AQAAQMT/wHABAABDwr/AQAI/wH+BwAR/wH4BgABAxH/AeAGAAEPEf8BgAYAAT8I/wEA + CP8B/gcAAR8Q/wH4BwABfxD/AeAGAAEBEf8BgAYAAQcI/wEACP8B/gcAAQcQ/wH4BwABHxD/AeAHAAF/ + EP8BgAYAAQEI/wEACP8B/gcAAQEQ/wH4BwABBxD/AeAHAAEfEP8BgAcAAX8H/wEACP8B/ggAEP8B+AcA + AQMQ/wHgBwABDxD/AYAHAAE/B/8BAAj/Af4IAAF/D/8B+AcAAQEQ/wHgBwABBxD/AYAHAAEfB/8BAAj/ + Af4IAAF/D/8B+AcAAQEQ/wHgBwABBxD/AYAHAAEfB/8BAAj/Af4IAAE/D/8B+AgAEP8B4AcAAQMQ/wGA + BwABDwf/AQAI/wH8CAABPw//AfAIABD/AcAHAAEDEP8IAAEPB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHA + BwABARD/CAABBwf/AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgAAQcH/wEACP8B/AgAAR8P/wHw + CAABfw//AcAHAAEBEP8IAAEHB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHABwABARD/CAABBwf/AQAI/wH8 + CAABDw//AfAIAAE/D/8BwAgAEP8IAAEDB/8BAAj/AfwIAAEPD/8B8AgAAT8P/wHACAAQ/wgAAQMH/wEA + CP8B+AgAAQ8P/wHgCAABPw//AYAIAA//Af4IAAEDB/8BAAj/AfgIAAEPD/8B4AgAAT8P/wGACAAP/wH+ + CAABAwf/AQAI/wH4CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABBw//AeAIAAEf + D/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4 + CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABAw//AeAIAAEPD/8BgAgAAT8O/wH+ + CQAH/wEACP8B+AgAAQMP/wHgCAABDw//AYAIAAE/Dv8B/gkAB/8BAAj/AfAIAAEDD/8BwAgAAQ8P/wkA + AT8O/wH8CQAH/wEACP8B8AgAAQMP/wHACAABDw//CQABPw7/AfwJAAf/AQAI/wHwCAABAQ//AcAIAAEH + D/8JAAEfDv8B/AkAAX8G/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/AfwJAAF/Bv8BAAj/AfAIAAEB + D/8BwAgAAQcP/wkAAR8O/wH8CQABfwb/AQAI/wHwCAABAQ//AcAIAAEHD/8JAAEfDv8B/AkAAX8G/wEA + CP8B8AkAD/8BwAgAAQMP/wkAAQ8O/wH8CQABPwb/AQAI/wHwCQAP/wHACAABAw//CQABDw7/AfwJAAE/ + Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEP + Dv8B+AkAAT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAED + Dv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8B4AkA + D/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/ + AQAI/wHACQAP/wkAAQMO/wH8CQABDw7/AfAJAAE/Bv8BAAj/AcAJAA//CQABAw7/AfwJAAEPDv8B8AkA + AT8G/wEACP8BgAgAAQEO/wH+CQABBw7/AfgJAAEfDv8B4AkAAX8G/wEACP8BgAgAAQEO/wH+CQABBw7/ + AfgJAAEfDv8B4AkAAX8G/wEAB/8B/gkAAQcO/wH4CQABHw7/AeAJAAF/Dv8BgAgAAQEH/wEABv8B+AoA + AT8N/wHgCgAO/wGACQABAw3/Af4KAAEPB/8BAAb/AfABAAEDBP8B/AEfEP8BwAEAAQ8W/wIAAT8V/wH8 + AgAD/wHjDP8BAAb/AfABAAEDBP8B/AEPEP8BwAEAAQ8W/wIAAT8V/wH8AgAD/wGDDP8BAAb/AfABAAEH + BP8B+AEDEP8BwAEAAR8W/wIAAX8C/wH5Ev8B/AEAAQEC/wH8AQEM/wEABv8B8AEAAR8E/wH4AQAQ/wHA + AQABfxb/AQABAQP/AckS/wH8AQABBwL/AfABAQz/AQAG/wH8AQAF/wH4AQABfw//AfABAxf/AcABDwP/ + AUgT/wEAAT8C/wHAAQEM/wEABv8B/gEBBf8B+QEAAT8P/wH4AQcX/wHgAR8C/wH9AUAT/wGAAX8B/wH+ + AgAM/wEADf8B/AEAAT8s/wHnAQABfxX/AfgBBwEDDP8BAA7/ASABPxT/AfgBfxb/AZwBAAF/F/8Bzwz/ + AQAO/wHIAX8U/wHCAX8V/wH+AWABAAF/JP8BAA7/AeAV/wEYAT8V/wHxAYABAAE/JP8BACP/AfwBQAE/ + Ff8B5gIAAT8k/wEADP8BPxb/AeEBAAEfFf8B8AEBAYEB3yT/AQAL/wH4Ad8W/wGMAQABHxX/AucB9wG/ + JP8BAAv/AecBHxX/Af4BIAEAAQ8V/wHzAeQB/iX/AQAL/wGYAQ8V/wH4AYABAAEPFf8B+AEHAZsl/wEA + Cv8B/AEgAQ8V/wHyAgABDxf/Ae8l/wEACv8B8QGAAQcV/wHwAQEB8AHvPf8BAAr/AcQBAAEHFf8C+QH/ + AZ89/wEACf8B/gEQAQABBxX/AfwBYAEOAX89/wEACf8B/AHAAQABAxb/AQcB8T7/AQAJ/wH8AQABMAEb + Vv8BAAn/AfwBfAF+AXNW/wEACf8B/gE8AQcBz1b/AQAK/wGAAfIBP1b/AQAL/wH9V/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAFn/AQcJ/wEAWP8B/AEBCf8BAFj/AfgBAAn/AQBA/wHh + F/8B+AEAAX8I/wEAQP8BgAF/Ev8CAAEPAf8B8AEAAT8I/wEAQP8BAAE/Ev8CAAEPAf8B8AEAAT8I/wEA + P/8B/gEAAR8S/wIAAQ8B/wHwAQABPwj/AQAn/wHwAT8W/wH+AQABDxL/AgABDwH/AfABAAE/CP8BACf/ + AeABDxL/AcABAAEDAf8B/AEAAQ8S/wIAAQ8B/wHwAQABPwj/AQAn/wHAAQcS/wGAAQABAwH/AfwBAAEP + Ev8CAAEPAf8B8AEAAT8I/wEAD/8BPxf/AYABBxL/AYABAAEDAf8B/AEAAQ8S/wIAAQ8B/wH4AQABPwj/ + AQAO/wH4AQcX/wEAAQMS/wGAAQABAwH/AfwBAAEPEv8CAAEPAf8B+AEAAX8I/wEADv8B8AEDF/8BAAED + Ev8BgAEAAQMB/wH8AQABDxL/AgABDwH/AfwBAAn/AQAO/wHgAQES/wHgAQABAQL/AQABAxL/AYABAAED + Af8B/AEAAQ8S/wIAAQ8B/wH+AQEJ/wEADv8B4AEAEv8B4AEAAQEC/wEAAQMS/wGAAQABAwH/AfwBAAEf + Ev8CAAEPAv8Bhwn/AQAO/wHAAQAS/wHgAQABAQL/AQABAxL/AYABAAEDAf8B/gEAAR8S/wIAAQ8M/wEA + Dv8BwAEAEv8B4AEAAQEC/wEAAQMS/wGAAQABAwL/AQABPxL/AgABDwz/AQAO/wHAAQAS/wHgAQABAQL/ + AYABAxL/AYABAAEDAv8BwAF/Ev8CAAEPDP8BAAn/AfgCAAF/Af8BwAEAEv8B4AEAAQEC/wGAAQcS/wGA + AQABAxb/AgABDwz/AQAJ/wH4AgABfwH/AcABABL/AeABAAEBAv8BwAEHEv8BgAEAAQMV/wH9AgABCwz/ + AQAJ/wH4AgABfwH/AcABABL/AeABAAEBAv8B4AEfEv8BgAEAAQMV/wH4AgABAQz/AQAJ/wH4AgABfwH/ + AcABABL/AeABAAEBAv8B+AE/Ev8BgAEAAQMV/wHwAwAM/wEACf8B+AIAAX8B/wHgAQES/wHgAQABARb/ + AYABAAEDFf8B4AMAAX8L/wEACf8B+AIAAX8B/wHwAQMS/wHgAQABARb/AYABAAEDFf8BwAMAAT8L/wEA + Cf8B+AIAAX8B/wH4AQcS/wHgAQABARX/Af4BgAEAAQIV/wHAAwABPwv/AQAJ/wH4AgABfwL/AT8S/wHg + AQABARX/AfwDAAF/FP8B4AMAAX8L/wEACf8B+AIAAX8V/wHgAQABARX/AfgDAAE/FP8B8AMADP8BAAn/ + AfgCAAF/Ff8B4AEAAQEV/wHwAwABHxT/AfgBAAHwAQEM/wEACf8B+AIAAX8V/wHgAQABARX/AeADAAEP + FP8B/AEBAfgBAwz/AQAJ/wH4AgABfxX/AaABAAEBFf8B4AMAAQ8U/wH+AQMB/AEHDP8BAAn/AfgCAAF/ + Ff8DAAE/FP8B8AMAAR8V/wEHAfwBDwz/AQAJ/wH4AgABfxT/Af4DAAEfFP8B+AMAAT8k/wEACf8B+AIA + AX8U/wH8AwABDxT/AfwBAAE4AQABfyT/AQAJ/wH4AgABfxT/AfgDAAEHFP8B/gEAAf4BACX/AQAJ/wH4 + AgABfxT/AfgDAAEHFf8BAAH+AQEl/wEACf8BwAIAAQ8U/wH4AwABBxX/AYEB/wEDJf8BAAn/AYACAAEH + FP8B/AMAAQ89/wEACf8DAAEDFP8B/gEAAQwBAAEfPf8BAAj/Af4DAAEBFf8BAAE/AQABPz3/AQAI/wH+ + AwABARX/AYABfwGAAX89/wEACP8B/gMAAQEV/wHAAX8BgD7/AQAJ/wMAAQNW/wEACf8BgAEDAQABB1b/ + AQAJ/wHAAQ8BwAEPVv8BAAn/AeABHwHgAR9W/wEACf8B8AEfAeABP1b/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEACv8B5wX/AY8S/wGfBP8B/gE/Ef8B/gF/ + BP8B+BL/AfkF/wHjCP8BAAr/AQAE/wH+AQMR/wH8AQME/wH4AQ8R/wHwAQ8E/wHgAT8R/wHAAT8E/wGA + CP8BAAn/Af4BAAF/A/8B+AEAEf8B+AEBBP8B4AEDEf8B4AEHBP8BgAEPEf8BgAEfA/8B/gEAAT8H/wEA + Cf8B/AEAAX8D/wH4AQAR/wHwAQEE/wHgAQMR/wHAAQcE/wGAAQ8R/wEAAR8D/wH+AQABPwf/AQAJ/wH8 + AQABfwP/AfABAAF/EP8B8AEBBP8BwAEBEf8BwAEHBP8BAAEHEf8BAAEfA/8B/AEAAR8H/wEACf8B+AEA + AX8D/wHwAQABfxD/AeABAQT/AcABARH/AYABBwT/AQABBxD/Af4BAAEfA/8B/AEAAR8H/wEACf8B+AEA + AX8D/wHwAQABfxD/AeABAQT/AcABARH/AYABBwT/AQABBxD/Af4BAAEfA/8B/AEAAR8H/wEACf8B+AEA + AX8D/wHwAQABfxD/AeABAQT/AcABARH/AYABBwT/AQABBxD/Af4BAAEfA/8B/AEAAR8H/wEACf8B/AEA + AX8D/wHwAQABfxD/AfABAQT/AcABARH/AcABBwT/AQABBxH/AQABHwP/AfwBAAEfB/8BAAn/AfwBAAF/ + A/8B+AEAEf8B8AEBBP8B4AEDEf8BwAEHBP8BgAEPEf8BAAEfA/8B/gEAAT8H/wEACf8B/gEABP8B/AEB + Ef8B+AEDBP8B8AEHEf8B4AEPBP8BwAEfEf8BgAE/BP8BAAF/B/8BAAr/AQEE/wH+AQMR/wH8AQcE/wH4 + AQ8R/wHwAR8E/wHgAT8R/wHAAX8E/wGACP8BAGP/AQBj/wEAY/8BAGP/AQAK/wGABgABfxD/Af4GAAEB + Ef8B+AYAAQcR/wHgBgABHwf/AQAJ/wH+BwABPxD/AfgHABH/AeAGAAEDEf8BgAYAAQ8H/wEACf8B+AcA + AR8Q/wHgBwABfxD/AYAGAAEBEP8B/gcAAQcH/wEACf8B8AcAAQ8Q/wHABwABPxD/CAAQ/wH8BwABAwf/ + AQAJ/wHgBwABDxD/AYAHAAE/D/8B/ggAEP8B+AcAAQMH/wEACf8BwAcAAR8Q/wgAAX8P/wH8BwABARD/ + AfAHAAEHB/8BAAn/AcAHAAE/EP8IABD/AfwHAAEDEP8B8AcAAQ8H/wEACf8BgAF/Fv8B/gEBF/8B+AEH + F/8B4AEfDv8BAAn/AYAX/wH+AQMX/wH4AQ8X/wHgAT8O/wEACf8BABf/AfwBAxf/AfABDxf/AcABPw7/ + AQAJ/wEBF/8B/AEHF/8B8AEfF/8BwAF/Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8BARf/ + AfwBBxf/AfABHxf/AcABfw7/AQAJ/wEBF/8B/AEHF/8B8AEfF/8BwAF/Dv8BAAn/BQABPxL/AfwFABP/ + AfAEAAEDE/8BwAQAAQ8K/wEACP8B/gcAEf8B+AYAAQMR/wHgBgABDxH/AYAGAAE/CP8BAAj/Af4HAAEf + EP8B+AcAAX8Q/wHgBgABARH/AYAGAAEHCP8BAAj/Af4HAAEHEP8B+AcAAR8Q/wHgBwABfxD/AYAGAAEB + CP8BAAj/Af4HAAEBEP8B+AcAAQcQ/wHgBwABHxD/AYAHAAF/B/8BAAj/Af4IABD/AfgHAAEDEP8B4AcA + AQ8Q/wGABwABPwf/AQAI/wH+CAABfw//AfgHAAEBEP8B4AcAAQcQ/wGABwABHwf/AQAI/wH+CAABfw// + AfgHAAEBEP8B4AcAAQcQ/wGABwABHwf/AQAI/wH+CAABPw//AfgIABD/AeAHAAEDEP8BgAcAAQ8H/wEA + CP8B/AgAAT8P/wHwCAAQ/wHABwABAxD/CAABDwf/AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgA + AQcH/wEACP8B/AgAAR8P/wHwCAABfw//AcAHAAEBEP8IAAEHB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHA + BwABARD/CAABBwf/AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgAAQcH/wEACP8B/AgAAQ8P/wHw + CAABPw//AcAIABD/CAABAwf/AQAI/wH8CAABDw//AfAIAAE/D/8BwAgAEP8IAAEDB/8BAAj/AfgIAAEP + D/8B4AgAAT8P/wGACAAP/wH+CAABAwf/AQAI/wH4CAABDw//AeAIAAE/D/8BgAgAD/8B/ggAAQMH/wEA + CP8B+AgAAQcP/wHgCAABHw//AYAIAAF/Dv8B/ggAAQEH/wEACP8B+AgAAQcP/wHgCAABHw//AYAIAAF/ + Dv8B/ggAAQEH/wEACP8B+AgAAQcP/wHgCAABHw//AYAIAAF/Dv8B/ggAAQEH/wEACP8B+AgAAQcP/wHg + CAABHw//AYAIAAF/Dv8B/ggAAQEH/wEACP8B+AgAAQMP/wHgCAABDw//AYAIAAE/Dv8B/gkAB/8BAAj/ + AfgIAAEDD/8B4AgAAQ8P/wGACAABPw7/Af4JAAf/AQAI/wHwCAABAw//AcAIAAEPD/8JAAE/Dv8B/AkA + B/8BAAj/AfAIAAEDD/8BwAgAAQ8P/wkAAT8O/wH8CQAH/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/ + AfwJAAF/Bv8BAAj/AfAIAAEBD/8BwAgAAQcP/wkAAR8O/wH8CQABfwb/AQAI/wHwCAABAQ//AcAIAAEH + D/8JAAEfDv8B/AkAAX8G/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/AfwJAAF/Bv8BAAj/AfAJAA// + AcAIAAEDD/8JAAEPDv8B/AkAAT8G/wEACP8B8AkAD/8BwAgAAQMP/wkAAQ8O/wH8CQABPwb/AQAI/wHg + CQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/ + Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEP + Dv8B+AkAAT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAED + Dv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8BwAkA + D/8JAAEDDv8B/AkAAQ8O/wHwCQABPwb/AQAI/wHACQAP/wkAAQMO/wH8CQABDw7/AfAJAAE/Bv8BAAj/ + AYAIAAEBDv8B/gkAAQcO/wH4CQABHw7/AeAJAAF/Bv8BAAj/AYAIAAEBDv8B/gkAAQcO/wH4CQABHw7/ + AeAJAAF/Bv8BAAf/Af4JAAEHDv8B+AkAAR8O/wHgCQABfw7/AYAIAAEBB/8BAAb/AfgKAAE/Df8B4AoA + Dv8BgAkAAQMN/wH+CgABDwf/AQAG/wHwAQABAxb/AcABAAEPFv8CAAE/Ff8B/AIAEP8BAAb/AfABAAED + Fv8BwAEAAQ8W/wIAAT8V/wH8AgAQ/wEABv8B8AEAAQcW/wHAAQABHxb/AgABfxX/AfwBAAEBEP8BAAb/ + AfABAAEfFv8BwAEAAX8W/wEAAQEW/wH8AQABBxD/AQAG/wH8AQAX/wHwAQMX/wHAAQ8X/wEAAT8F/wHf + Cv8BAAb/Af4BARf/AfgBBxf/AeABHxf/AYABfwX/AQMK/wEAWP8BAAr/AQBX/wH+AQABfwn/AQBX/wH+ + AQABHwn/AQA//wHxF/8B/gEAAQ8J/wEAP/8BwAF/F/8BAAEPCf8BAD//AcABPxf/AQABDwn/AQA//wHA + AQ8X/wHAAQ8J/wEAP/8BwAEDF/8B8AEfCf8BACb/AfgBPxf/AcABAxf/AfwBPwn/AQAm/wH4AR8X/wHA + AQEi/wEAJv8B8AEHF/8B4AEBFf8BLwz/AQAm/wHwAQEX/wH4AQMU/wH8AccM/wEAJv8B8AEAF/8B/AED + FP8B4wEHDP8BAA3/Af4BDxf/AfABAAF/F/8BDxT/AYwBAwz/AQAN/wH8AQMX/wH4AQABfxT/AeMW/wH+ + ASABAwz/AQAN/wH8AQAX/wH8AQABfxT/ARsW/wHwAYABAQz/AQAN/wH8AQABPxb/Af4BAAF/E/8B/AHh + Fv8BxgEAAQEM/wEADf8B/AEAAR8X/wGAFP8B8QGBFv8BEAEAAQEM/wEADf8B/gEAAR8U/wH9Av8B4xT/ + AYQBABb/AgABAgz/AQAO/wEAAR8U/wHiFv8B/gEwAQAW/wEQAT8BDgz/AQAO/wEAAR8U/wGMFv8B+AHA + AQAW/wEfAT8B+Qz/AQAO/wHAAR8T/wH+ASABfxX/AcICAAF/Ff8BhAEAAc8M/wEAC/8B/gF/Af8B8AE/ + E/8B4AGAAT8V/wGIAgABfxX/AfAB/gE/DP8BAAv/AfABPxb/AYABAAE/Ff8BgAEHAQIBfyT/AQAL/wGA + AT8V/wH8AgABPxX/Ac8BwAHIAX8k/wEACv8B/gEAAR8V/wHgAgABHxX/AeABAAEhJf8BAAr/AfgBAAEf + Ff8B4AIAAR8V/wHwAR8BByX/AQAK/wHAAQABHxX/AeACAAFfF/8B3yX/AQAK/wIAAQ8V/wHiAQMB4QEf + Pf8BAAn/AfwCAAEPFf8B8AEAARgBPz3/AQAJ/wH4AgABBxX/AfgCAD7/AQAJ/wH4AgABBxb/AR8B5z7/ + AQAJ/wH4AQAB8AEnVv8BAAn/AvgBDAEPVv8BAAn/AfwCAAEfVv8BAAr/AQMB8Ff/AQAL/wH7V/8BAGP/ + AQBj/wEAY/8BAGP/AQBj/wEAWf8Bgwn/AQBY/wH+AQEJ/wEAWP8B/AEAAX8I/wEAWP8B+AEAAX8I/wEA + QP8BwAF/Fv8B+AEAAT8I/wEAQP8BAAE/Fv8B8AEAAT8I/wEAP/8B/gEAAR8W/wHwAQABPwj/AQAn/wH4 + AX8W/wH+AQABHxb/AfABAAE/CP8BACf/AeABHxb/AfwBAAEPFv8B8AEAAT8I/wEAJ/8BwAEPFv8B/AEA + AQ8W/wHwAQABPwj/AQAn/wGAAQcW/wH8AQABDxH/AfwCAAE/Af8B+AEAAT8I/wEADv8B/gEPF/8BgAED + Fv8B/AEAAQ8R/wH8AgABPwH/AfgBAAF/CP8BAA7/AfgBAxf/AQABAxb/AfwBAAEPEf8B/AIAAT8B/wH8 + AQABfwj/AQAO/wHwAQEX/wEAAQMW/wH8AQABDxH/AfwCAAE/Af8B/gEACf8BAA7/AeABARf/AQABAxb/ + AfwBAAEPEf8B/AIAAT8C/wEDCf8BAA7/AeABABf/AQABAxL/AgABDwH/Af4BAAEfEf8B/AIAAT8M/wEA + Dv8BwAEAF/8BAAEDEv8CAAEPAv8BAAE/Ef8B/AIAAT8M/wEADv8BwAEAF/8BgAEDEv8CAAEPAv8BgAF/ + Ef8B/AIAAT8M/wEADv8BwAEAF/8BgAEHEv8CAAEPAv8B4RL/AfwCAAE/DP8BAA7/AcABABf/AcABBxL/ + AgABDxX/AfwCAAE/DP8BAA7/AeABABf/AeABDxL/AgABDxX/AfwCAAE/DP8BAA7/AcABARf/AfABPxL/ + AgABDxX/AfwCAAE/DP8BAA7/AeABASv/AgABDxX/AfwCAAE/DP8BAA7/AfABAyv/AgABDxX/AfwCAAE/ + DP8BAA7/AfgBByv/AgABDxX/AfwCAAE/DP8BAA//AR8r/wIAAQ8V/wH8AgABPwz/AQA7/wIAAQ8V/wH0 + AgABJwz/AQA7/wIAAQ8V/wHgAgABAwz/AQA7/wIAAQ8V/wHAAgABAQz/AQA7/wIAAQ8V/wGAAwAM/wEA + O/8CAAEPFf8BgAMADP8BADv/AgABDxX/AYADAAz/AQA6/wH5AgABCRX/AcACAAEBDP8BADr/AfADABX/ + AeABAAGAAQMM/wEAOv8B4AMAFf8B8AEHAeABBwz/AQA6/wHgAwABfxT/AfgBDwHwAQ8M/wEAOv8B4AMA + AX8U/wH8AQ8B+AEfDP8BADr/AfADACX/AQA6/wH4AQAB8AEBJf8BADr/AfwBAwH8AQMl/wEAOv8B/gED + AfwBByX/AQA7/wEHAf4BDyX/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQAK/wHnBf8BjxL/AZ8E/wH+AT8R/wH+AX8E/wH4 + Ev8B+QX/AeMI/wEACv8BAAT/Af4BAxH/AfwBAwT/AfgBDxH/AfABDwT/AeABPxH/AcABPwT/AYAI/wEA + Cf8B/gEAAX8D/wH4AQAR/wH4AQEE/wHgAQMR/wHgAQcE/wGAAQ8R/wGAAR8D/wH+AQABPwf/AQAJ/wH8 + AQABfwP/AfgBABH/AfABAQT/AeABAxH/AcABBwT/AYABDxH/AQABHwP/Af4BAAE/B/8BAAn/AfwBAAF/ + A/8B8AEAAX8Q/wHwAQEE/wHAAQER/wHAAQcE/wEAAQcR/wEAAR8D/wH8AQABHwf/AQAJ/wH4AQABfwP/ + AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/AQAJ/wH4AQABfwP/ + AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/AQAJ/wH4AQABfwP/ + AfABAAF/EP8B4AEBBP8BwAEBEf8BgAEHBP8BAAEHEP8B/gEAAR8D/wH8AQABHwf/AQAJ/wH8AQABfwP/ + AfABAAF/EP8B8AEBBP8BwAEBEf8BwAEHBP8BAAEHEf8BAAEfA/8B/AEAAR8H/wEACf8B/AEAAX8D/wH4 + AQAR/wHwAQEE/wHgAQMR/wHAAQcE/wGAAQ8R/wEAAR8D/wH+AQABPwf/AQAJ/wH+AQAE/wH8AQER/wH4 + AQME/wHwAQcR/wHgAQ8E/wHAAR8R/wGAAT8E/wEAAX8H/wEACv8BAQT/Af4BAxH/AfwBBwT/AfgBDxH/ + AfABHwT/AeABPxH/AcABfwT/AYAI/wEAY/8BAGP/AQBj/wEAY/8BAAr/AYAGAAF/EP8B/gYAAQER/wH4 + BgABBxH/AeAGAAEfB/8BAAn/Af4HAAE/EP8B+AcAEf8B4AYAAQMR/wGABgABDwf/AQAJ/wH4BwABHxD/ + AeAHAAF/EP8BgAYAAQEQ/wH+BwABBwf/AQAJ/wHwBwABDxD/AcAHAAE/EP8IABD/AfwHAAEDB/8BAAn/ + AeAHAAEPEP8BgAcAAT8P/wH+CAAQ/wH4BwABAwf/AQAJ/wHABwABHxD/CAABfw//AfwHAAEBEP8B8AcA + AQcH/wEACf8BwAcAAT8Q/wgAEP8B/AcAAQMQ/wHwBwABDwf/AQAJ/wGAAX8W/wH+AQEX/wH4AQcX/wHg + AR8O/wEACf8BgBf/Af4BAxf/AfgBDxf/AeABPw7/AQAJ/wEAF/8B/AEDF/8B8AEPF/8BwAE/Dv8BAAn/ + AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8BARf/AfwBBxf/AfABHxf/AcABfw7/AQAJ/wEBF/8B/AEH + F/8B8AEfF/8BwAF/Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8FAAE/Ev8B/AUAE/8B8AQA + AQMT/wHABAABDwr/AQAI/wH+BwAR/wH4BgABAxH/AeAGAAEPEf8BgAYAAT8I/wEACP8B/gcAAR8Q/wH4 + BwABfxD/AeAGAAEBEf8BgAYAAQcI/wEACP8B/gcAAQcQ/wH4BwABHxD/AeAHAAF/EP8BgAYAAQEI/wEA + CP8B/gcAAQEQ/wH4BwABBxD/AeAHAAEfEP8BgAcAAX8H/wEACP8B/ggAEP8B+AcAAQMQ/wHgBwABDxD/ + AYAHAAE/B/8BAAj/Af4IAAF/D/8B+AcAAQEQ/wHgBwABBxD/AYAHAAEfB/8BAAj/Af4IAAF/D/8B+AcA + AQEQ/wHgBwABBxD/AYAHAAEfB/8BAAj/Af4IAAE/D/8B+AgAEP8B4AcAAQMQ/wGABwABDwf/AQAI/wH8 + CAABPw//AfAIABD/AcAHAAEDEP8IAAEPB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHABwABARD/CAABBwf/ + AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgAAQcH/wEACP8B/AgAAR8P/wHwCAABfw//AcAHAAEB + EP8IAAEHB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHABwABARD/CAABBwf/AQAI/wH8CAABDw//AfAIAAE/ + D/8BwAgAEP8IAAEDB/8BAAj/AfwIAAEPD/8B8AgAAT8P/wHACAAQ/wgAAQMH/wEACP8B+AgAAQ8P/wHg + CAABPw//AYAIAA//Af4IAAEDB/8BAAj/AfgIAAEPD/8B4AgAAT8P/wGACAAP/wH+CAABAwf/AQAI/wH4 + CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+ + CAABAQf/AQAI/wH4CAABBw//AeAIAAEfD/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABBw//AeAIAAEf + D/8BgAgAAX8O/wH+CAABAQf/AQAI/wH4CAABAw//AeAIAAEPD/8BgAgAAT8O/wH+CQAH/wEACP8B+AgA + AQMP/wHgCAABDw//AYAIAAE/Dv8B/gkAB/8BAAj/AfAIAAEDD/8BwAgAAQ8P/wkAAT8O/wH8CQAH/wEA + CP8B8AgAAQMP/wHACAABDw//CQABPw7/AfwJAAf/AQAI/wHwCAABAQ//AcAIAAEHD/8JAAEfDv8B/AkA + AX8G/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/AfwJAAF/Bv8BAAj/AfAIAAEBD/8BwAgAAQcP/wkA + AR8O/wH8CQABfwb/AQAI/wHwCAABAQ//AcAIAAEHD/8JAAEfDv8B/AkAAX8G/wEACP8B8AkAD/8BwAgA + AQMP/wkAAQ8O/wH8CQABPwb/AQAI/wHwCQAP/wHACAABAw//CQABDw7/AfwJAAE/Bv8BAAj/AeAJAA// + AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEA + CP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4 + CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+ + CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHACQAP/wkA + AQMO/wH8CQABDw7/AfAJAAE/Bv8BAAj/AcAJAA//CQABAw7/AfwJAAEPDv8B8AkAAT8G/wEACP8BgAgA + AQEO/wH+CQABBw7/AfgJAAEfDv8B4AkAAX8G/wEACP8BgAgAAQEO/wH+CQABBw7/AfgJAAEfDv8B4AkA + AX8G/wEAB/8B/gkAAQcO/wH4CQABHw7/AeAJAAF/Dv8BgAgAAQEH/wEABv8B+AoAAT8N/wHgCgAO/wGA + CQABAw3/Af4KAAEPB/8BAAb/AfABAAEDAf8CAAEPEv8BwAEAAQ8B/AIAAT8S/wIAAT8B+AIAEv8B/AIA + EP8BAAb/AfABAAEDAf8CAAEPEv8BwAEAAQ8B/AIAAT8S/wIAAT8B+AIAEv8B/AIAEP8BAAb/AfABAAEH + Af8CAAEPEv8BwAEAAR8B/AIAAT8S/wIAAX8B+AIAEv8B/AEAAQEQ/wEABv8B8AEAAR8B/wIAAQ8S/wHA + AQABfwH8AgABPxL/AQABAQH/AfgCABL/AfwBAAEHEP8BAAb/AfwBAAL/AgABDxL/AfABAwH/AfwCAAE/ + Ev8BwAEPAf8BwAIAAR8S/wEAAT8Q/wEABv8B/gEBAv8CAAEPEv8B+AEHAf8B/AIAAT8S/wHgAR8B/wMA + AQcS/wGAAX8Q/wEACv8CAAEPFf8B/AIAAT8U/wH+AwABAyT/AQAK/wIAAQ8V/wH8AgABPxX/AwABByT/ + AQAK/wIAAQ8V/wHwAgABJxX/AYACAAEPJP8BAAr/AgABDxX/AeACAAEDFf8BwAEPAYABHyT/AQAK/wIA + AQ8V/wHAAgABARX/AeABPwHgAT8k/wEACv8CAAEPFf8BgAMAFf8B8AE/AeABfyT/AQAK/wIAAQ8V/wGA + AwA9/wEACf8B+QIAAQEV/wHAAgABAT3/AQAJ/wHwAwAV/wHgAQABgAEDPf8BAAn/AeADAAF/FP8B8AEH + AeABBz3/AQAJ/wHAAwABPxT/AfgBDwHwAQ89/wEACf8BwAMAAT8U/wH8AQ8B+AEfPf8BAAn/AeADAAF/ + Vf8BAAn/AfADAFb/AQAJ/wH4AQAB+AEBVv8BAAn/AfwBAAH8AQNW/wEACf8B/gEDAfwBB1b/AQBj/wEA + WP8BgQr/AQBY/wGAAX8J/wEAWP8BAAEfCf8BAFj/AQABDwn/AQA//wHwGP8BgAEHCf8BAD//AeABHxf/ + AYABBwn/AQA//wHgAQ8X/wHAAQMJ/wEAP/8B4AEDF/8B4AEHCf8BACb/Af4BHxf/AeABARX/Ab8B/wH4 + AQcJ/wEAJv8B/AEPF/8B4AEAFP8B/AEfAf8B/gEPCf8BACb/AfgBAxf/AfABABT/AfABDwz/AQAm/wH4 + AQAX/wH4AQAU/wHCAQ8M/wEAJv8B+AEAAX8W/wH8AQAT/wH+AQABBwz/AQAO/wGHF/8B+AEAAT8U/wGH + Af8B/gEBE/8B+AEAAQcM/wEADv8BARf/AfgBAAE/E/8B/gEHAv8BgxP/AeEBAAEHDP8BAA3/Af4BAAF/ + Fv8B/AEAAT8T/wH4AQMW/wIAAQMM/wEADf8B/gEAAR8X/wEAAT8T/wHAAQMV/wH+AgABAwz/AQAN/wH+ + AQABDxT/AfMC/wGAAT8T/wEAAQMV/wH8AgABAQz/AQAN/wH+AQABDxT/AcEC/wHAAX8S/wH8AQABARX/ + AfwCAAEJDP8BAA7/AQABBxP/Af4BAQL/AfAT/wHgAQABARX/Af4BIAF+ASMM/wEADv8BgAEHE/8B+AEA + Fv8BgAIAFf8B/gEAAQMBhwz/AQAO/wHAAQcT/wHhAQAW/wMAFv8BgAEAAR8M/wEAC/8B+AL/AfABDxP/ + AgAW/wMAF/8B/AF/DP8BAAv/AcgBfwH/AfgBHxL/AfwCAAF/Ff8BAAEeAQQl/wEAC/8BCAF/Af8B/gE/ + Ev8B8AIAAX8V/wGfAQEBkCX/AQAK/wH8AQABfxX/AcACAAE/Ff8BwAEAARMl/wEACv8B5AEAAT8V/wHA + AgABPxX/AeABfgEfJf8BAAr/AYQBAAE/Ff8BwAIAAb89/wEACf8B/gIAAR8V/wHGAQcBwAE/Pf8BAAn/ + AfICAAEfFf8B4AEGATABfz3/AQAJ/wHwAgABDxX/AfABBgEDPv8BAAn/AfACAAEPF/8Bzz7/AQAJ/wHw + AQMB4AGPVv8BAAn/AfEB8AEaAR9W/wEACf8B+AIAAX9W/wEACf8B/gEPAeFX/wEAY/8BAGP/AQBj/wEA + Wf8Bgwn/AQBY/wH+AQEJ/wEAWP8B/AEACf8BAFj/AfgBAAF/CP8BAFj/AfgBAAF/CP8BAFj/AfgBAAE/ + CP8BAFj/AfgBAAE/CP8BAFj/AfgBAAE/CP8BAFj/AfgBAAE/CP8BAFj/AfgBAAF/CP8BAFj/AfwBAAF/ + CP8BAFj/AfwBAAn/AQBY/wH+AQEJ/wEAWf8Bhwn/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEACv8B5wX/AY8S/wGfBP8B/gE/Ef8B/gF/ + BP8B+BL/AfkF/wHjCP8BAAr/AQAE/wH+AQMR/wH8AQME/wH4AQ8R/wHwAQ8E/wHgAT8R/wHAAT8E/wGA + CP8BAAn/Af4BAAF/A/8B+AEAEf8B+AEBBP8B4AEDEf8B4AEHBP8BgAEPEf8BgAEfA/8B/gEAAT8H/wEA + Cf8B/AEAAX8D/wH4AQAR/wHwAQEE/wHgAQMR/wHAAQcE/wGAAQ8R/wEAAR8D/wH+AQABPwf/AQAJ/wH8 + AQABfwP/AfABAAF/EP8B8AEBBP8BwAEBEf8BwAEHBP8BAAEHEf8BAAEfA/8B/AEAAR8H/wEACf8B+AEA + AX8D/wHwAQABfxD/AeABAQT/AcABARH/AYABBwT/AQABBxD/Af4BAAEfA/8B/AEAAR8H/wEACf8B+AEA + AX8D/wHwAQABfxD/AeABAQT/AcABARH/AYABBwT/AQABBxD/Af4BAAEfA/8B/AEAAR8H/wEACf8B+AEA + AX8D/wHwAQABfxD/AeABAQT/AcABARH/AYABBwT/AQABBxD/Af4BAAEfA/8B/AEAAR8H/wEACf8B/AEA + AX8D/wHwAQABfxD/AfABAQT/AcABARH/AcABBwT/AQABBxH/AQABHwP/AfwBAAEfB/8BAAn/AfwBAAF/ + A/8B+AEAEf8B8AEBBP8B4AEDEf8BwAEHBP8BgAEPEf8BAAEfA/8B/gEAAT8H/wEACf8B/gEABP8B/AEB + Ef8B+AEDBP8B8AEHEf8B4AEPBP8BwAEfEf8BgAE/BP8BAAF/B/8BAAr/AQEE/wH+AQMR/wH8AQcE/wH4 + AQ8R/wHwAR8E/wHgAT8R/wHAAX8E/wGACP8BAGP/AQBj/wEAY/8BAGP/AQAK/wGABgABfxD/Af4GAAEB + Ef8B+AYAAQcR/wHgBgABHwf/AQAJ/wH+BwABPxD/AfgHABH/AeAGAAEDEf8BgAYAAQ8H/wEACf8B+AcA + AR8Q/wHgBwABfxD/AYAGAAEBEP8B/gcAAQcH/wEACf8B8AcAAQ8Q/wHABwABPxD/CAAQ/wH8BwABAwf/ + AQAJ/wHgBwABDxD/AYAHAAE/D/8B/ggAEP8B+AcAAQMH/wEACf8BwAcAAR8Q/wgAAX8P/wH8BwABARD/ + AfAHAAEHB/8BAAn/AcAHAAE/EP8IABD/AfwHAAEDEP8B8AcAAQ8H/wEACf8BgAF/Fv8B/gEBF/8B+AEH + F/8B4AEfDv8BAAn/AYAX/wH+AQMX/wH4AQ8X/wHgAT8O/wEACf8BABf/AfwBAxf/AfABDxf/AcABPw7/ + AQAJ/wEBF/8B/AEHF/8B8AEfF/8BwAF/Dv8BAAn/AQEX/wH8AQcX/wHwAR8X/wHAAX8O/wEACf8BARf/ + AfwBBxf/AfABHxf/AcABfw7/AQAJ/wEBF/8B/AEHF/8B8AEfF/8BwAF/Dv8BAAn/BQABPxL/AfwFABP/ + AfAEAAEDE/8BwAQAAQ8K/wEACP8B/gcAEf8B+AYAAQMR/wHgBgABDxH/AYAGAAE/CP8BAAj/Af4HAAEf + EP8B+AcAAX8Q/wHgBgABARH/AYAGAAEHCP8BAAj/Af4HAAEHEP8B+AcAAR8Q/wHgBwABfxD/AYAGAAEB + CP8BAAj/Af4HAAEBEP8B+AcAAQcQ/wHgBwABHxD/AYAHAAF/B/8BAAj/Af4IABD/AfgHAAEDEP8B4AcA + AQ8Q/wGABwABPwf/AQAI/wH+CAABfw//AfgHAAEBEP8B4AcAAQcQ/wGABwABHwf/AQAI/wH+CAABfw// + AfgHAAEBEP8B4AcAAQcQ/wGABwABHwf/AQAI/wH+CAABPw//AfgIABD/AeAHAAEDEP8BgAcAAQ8H/wEA + CP8B/AgAAT8P/wHwCAAQ/wHABwABAxD/CAABDwf/AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgA + AQcH/wEACP8B/AgAAR8P/wHwCAABfw//AcAHAAEBEP8IAAEHB/8BAAj/AfwIAAEfD/8B8AgAAX8P/wHA + BwABARD/CAABBwf/AQAI/wH8CAABHw//AfAIAAF/D/8BwAcAAQEQ/wgAAQcH/wEACP8B/AgAAQ8P/wHw + CAABPw//AcAIABD/CAABAwf/AQAI/wH8CAABDw//AfAIAAE/D/8BwAgAEP8IAAEDB/8BAAj/AfgIAAEP + D/8B4AgAAT8P/wGACAAP/wH+CAABAwf/AQAI/wH4CAABDw//AeAIAAE/D/8BgAgAD/8B/ggAAQMH/wEA + CP8B+AgAAQcP/wHgCAABHw//AYAIAAF/Dv8B/ggAAQEH/wEACP8B+AgAAQcP/wHgCAABHw//AYAIAAF/ + Dv8B/ggAAQEH/wEACP8B+AgAAQcP/wHgCAABHw//AYAIAAF/Dv8B/ggAAQEH/wEACP8B+AgAAQcP/wHg + CAABHw//AYAIAAF/Dv8B/ggAAQEH/wEACP8B+AgAAQMP/wHgCAABDw//AYAIAAE/Dv8B/gkAB/8BAAj/ + AfgIAAEDD/8B4AgAAQ8P/wGACAABPw7/Af4JAAf/AQAI/wHwCAABAw//AcAIAAEPD/8JAAE/Dv8B/AkA + B/8BAAj/AfAIAAEDD/8BwAgAAQ8P/wkAAT8O/wH8CQAH/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/ + AfwJAAF/Bv8BAAj/AfAIAAEBD/8BwAgAAQcP/wkAAR8O/wH8CQABfwb/AQAI/wHwCAABAQ//AcAIAAEH + D/8JAAEfDv8B/AkAAX8G/wEACP8B8AgAAQEP/wHACAABBw//CQABHw7/AfwJAAF/Bv8BAAj/AfAJAA// + AcAIAAEDD/8JAAEPDv8B/AkAAT8G/wEACP8B8AkAD/8BwAgAAQMP/wkAAQ8O/wH8CQABPwb/AQAI/wHg + CQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/ + Bv8BAAj/AeAJAA//AYAIAAEDDv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEP + Dv8B+AkAAT8G/wEACP8B4AkAD/8BgAgAAQMO/wH+CQABDw7/AfgJAAE/Bv8BAAj/AeAJAA//AYAIAAED + Dv8B/gkAAQ8O/wH4CQABPwb/AQAI/wHgCQAP/wGACAABAw7/Af4JAAEPDv8B+AkAAT8G/wEACP8BwAkA + D/8JAAEDDv8B/AkAAQ8O/wHwCQABPwb/AQAI/wHACQAP/wkAAQMO/wH8CQABDw7/AfAJAAE/Bv8BAAj/ + AYAIAAEBDv8B/gkAAQcO/wH4CQABHw7/AeAJAAF/Bv8BAAj/AYAIAAEBDv8B/gkAAQcO/wH4CQABHw7/ + AeAJAAF/Bv8BAAf/Af4JAAEHDv8B+AkAAR8O/wHgCQABfw7/AYAIAAEBB/8BAAb/AfgKAAE/Df8B4AoA + Dv8BgAkAAQMN/wH+CgABDwf/AQAG/wHwAQABAxb/AcABAAEPFv8CAAE/Ff8B/AIAEP8BAAb/AfABAAED + Fv8BwAEAAQ8W/wIAAT8V/wH8AgAQ/wEABv8B8AEAAQcW/wHAAQABHxb/AgABfxX/AfwBAAEBAf8BwAEA + AQMM/wEABv8B8AEAAR8W/wHAAQABfxb/AQABARb/AfwBAAEHAf8BwAEAAQMM/wEABv8B/AEAF/8B8AED + F/8BwAEPF/8BAAE/Af8BwAEAAQMM/wEABv8B/gEBF/8B+AEHF/8B4AEfF/8BgAF/Af8BwAEAAQMM/wEA + QP8BgxP/AcABAAEDDP8BADv/AfACAAL/AQAT/wHAAQABAwz/AQA7/wHwAgAB/wH+AQABfxL/AcABAAED + DP8BADv/AfACAAH/AfwBAAE/Ev8BwAEAAQMM/wEAO/8B8AIAAf8B/AEAAT8S/wHAAQABAwz/AQA7/wHw + AgAB/wH8AQABHxL/AcABAAEDDP8BACL/AfgCAAE/Ff8B8AIAAf8B+AEAAR8S/wHAAQABAwz/AQAi/wH4 + AgABPwH/AfAT/wHwAgAB/wH4AQABHxL/AcABAAEDDP8BACL/AfgCAAE/Af8BwAE/Ev8B8AIAAf8B/AEA + AR8S/wHAAQABAwz/AQAi/wH4AgABPwH/AYABDxL/AfACAAH/AfgBAAE/Ev8BwAEAAQMM/wEAIv8B+AIA + AT8B/wGAAQ8S/wHwAgAB/wH8AQABPxL/AcABAAEDDP8BAAn/Af4CAAEPFf8B+AIAAT8B/wEAAQcS/wHw + AgAB/wH8AQABfxL/AcABAAEDDP8BAAn/Af4CAAEPFf8B+AIAAT8B/wEAAQcS/wHwAgAB/wH+AQAS/wH+ + AgABAgF/C/8BAAn/Af4CAAEPFf8B+AIAAT8B/wEAAQcS/wHwAgAC/wGDEv8B/AMAAT8L/wEACf8B/gIA + AQ8B/wH+AT8S/wH4AgABPwH/AQABBxL/AfACABX/AfgDAAEfC/8BAAn/Af4CAAEPAf8B8AEHEv8B+AIA + AT8B/wEAAQcS/wHwAgAV/wHwAwABDwv/AQAJ/wH+AgABDwH/AeABAxL/AfgCAAE/Af8BAAEHEv8B8AIA + Ff8B8AMAAQ8L/wEACf8B/gIAAQ8B/wHgAQES/wH4AgABPwH/AQABBxL/AYACAAG/FP8B+AMAAR8L/wEA + Cf8B/gIAAQ8B/wHAAQES/wH4AgABPwH/AYABDxL/AwABHxT/AfwDAAE/C/8BAAn/Af4CAAEPAf8BwAEA + Ev8B+AIAAT8B/wGAAR8R/wH+AwABDxT/Af4BAAE8AQABfwv/AQAJ/wH+AgABDwH/AcABABL/AfgCAAE/ + Af8B4AE/Ef8B/AMAAQcV/wEAAX4BAAz/AQAJ/wH+AgABDwH/AcABABL/AfgCAAE/FP8B/AMAAQMV/wGA + AX8BAQz/AQAJ/wH+AgABDwH/AcABABL/AeACAAEPFP8B/AMAAQck/wEACf8B/gIAAQ8B/wHAAQAS/wHA + AgABAxT/Af4DAAEPJP8BAAn/Af4CAAEPAf8B4AEBEv8BgAIAAQEV/wEAAQ8BAAEfJP8BAAn/Af4CAAEP + Af8B4AEBEv8DAAEBFf8BgAE/AYABPyT/AQAJ/wH+AgABDwH/AfABAxL/BAAV/wHAAT8BwAF/JP8BAAn/ + AfACAAELAf8B+AEHEv8DAAEBFf8B8AE/AcAl/wEACf8B8AIAAQEV/wGAAgABAz3/AQAJ/wHgAwAV/wHA + AQMBgAEHPf8BAAn/AcADAAF/FP8B4AEPAeABDz3/AQAJ/wGAAwABPxT/AfABDwHwAR89/wEACf8BwAMA + AX8U/wH4AR8B8AE/Pf8BAAn/AeADAFb/AQAJ/wHwAQAB4AEBVv8BAAn/AfgBAwH4AQNW/wEACf8B/AED + AfgBB0v/AeAK/wEACf8B/gEHAfwBD0v/AcABPwn/AQBY/wGAAQ8J/wEAWP8BgAEHCf8BAD//Af4Bfxf/ + AYABAwn/AQA//wH4AR8X/wGAAQEJ/wEAP/8B8AEHF/8BwAEBCf8BAD//AeABAxf/AeABAQn/AQA//wHg + AQAV/wF/Af8B+AEBCf8BACf/AY8X/wHgAQABfxP/AfkBPwH/Af4BAwn/AQAm/wH+AQcX/wHwAQABfxP/ + AeEBPwL/AQMJ/wEAJv8B/AEBF/8B+AEAAX8T/wGgAR8M/wEAJv8B/AEAAX8W/wH8AQABfxL/AfwBoAEf + DP8BACb/AfgBAAE/FP8BHwL/AQABfxL/AfABgAEPDP8BAA7/AeMX/wH8AQABHxP/Af0BDwL/AcABfxL/ + AdABAAEPDP8BAA7/AYAX/wH8AQABHxP/AfUBDwL/AeAS/wH+AVABAAEHDP8BAA7/AQABPxb/Af4BAAEP + E/8BlAEHFf8B/AIAAQcM/wEADv8BAAEPF/8BgAEPEv8B/gGQAQcV/wH4AgABBwz/AQAO/wEAAQcU/wG/ + Av8BwAEfEv8B+gGAAQMV/wH4AgABFwz/AQAO/wEAAQMU/wGzAv8B8AEfEv8BygEAAQMV/wH8AeQB/AFH + DP8BAA7/AYABAxT/AYMC/wH8AT8S/wFIAQABAxX/AfwBAAHnAU8M/wEADv8BwAEDE/8B3gEBFf8B/gIA + AQEW/wEBAeEBfwz/AQAO/wHgAQMT/wHYAQEV/wH+AgABBRf/AfkN/wEADv8B+AEDE/8BwAEBFf8B/gEg + AX4BGSX/AQAL/wH5Av8B/gEHEv8B7wIAFv8BPgEDAesl/wEAC/8BwAP/AZ8S/wGMAgAW/wGiAQIBLyX/ + AQAL/wEAFv8BgAIAAX8V/wHjAf4BPyX/AQAK/wH8AQABfxX/AYABDwEHAX89/wEACv8B4AEAAX8V/wGP + Af8B3z7/AQAK/wGAAQABfxX/AdcBPwHvPv8BAAn/Af4CAAF/Ff8B9wE/Aa8+/wEACf8B/gEDAYAY/wG/ + Pv8BAAv/AfNX/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Y/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEAY/8BAGP/AQBj/wEA + Cw== + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/GroupBoxEX.Designer.cs b/JinYuan.ControlLib/GroupBoxEX.Designer.cs new file mode 100644 index 0000000..f3d8f9e --- /dev/null +++ b/JinYuan.ControlLib/GroupBoxEX.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class GroupBoxEX + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/GroupBoxEX.cs b/JinYuan.ControlLib/GroupBoxEX.cs new file mode 100644 index 0000000..a3c0550 --- /dev/null +++ b/JinYuan.ControlLib/GroupBoxEX.cs @@ -0,0 +1,40 @@ +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class GroupBoxEX : GroupBox + { + + private Color mBorderColor = Color.FromArgb(1, 146, 235); + + [Browsable(true), Description("边框颜色"), Category("自定义分组")] + public Color BorderColor + { + get { return mBorderColor; } + set { mBorderColor = value; } + } + + + public GroupBoxEX() + { + InitializeComponent(); + } + + // 重写 + protected override void OnPaint(PaintEventArgs e) + { + var vSize = e.Graphics.MeasureString(this.Text, this.Font); + + e.Graphics.Clear(this.BackColor); + e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), 10, 1); + Pen vPen = new Pen(this.mBorderColor); // 用属性颜色来画边框颜色 + e.Graphics.DrawLine(vPen, 1, vSize.Height / 2, 8, vSize.Height / 2); + e.Graphics.DrawLine(vPen, vSize.Width + 8, vSize.Height / 2, this.Width - 2, vSize.Height / 2); + e.Graphics.DrawLine(vPen, 1, vSize.Height / 2, 1, this.Height - 2); + e.Graphics.DrawLine(vPen, 1, this.Height - 2, this.Width - 2, this.Height - 2); + e.Graphics.DrawLine(vPen, this.Width - 2, vSize.Height / 2, this.Width - 2, this.Height - 2); + } + } +} diff --git a/JinYuan.ControlLib/JinYuan.ControlLib.csproj b/JinYuan.ControlLib/JinYuan.ControlLib.csproj new file mode 100644 index 0000000..d06ab76 --- /dev/null +++ b/JinYuan.ControlLib/JinYuan.ControlLib.csproj @@ -0,0 +1,705 @@ + + + + + Debug + AnyCPU + {1BB7ED33-D2CB-4CDD-AB39-F7F9AE948CA2} + Library + Properties + JinYuan.ControlLib + JinYuan.ControlLib + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + 7.3 + prompt + + + + ..\packages\AntdUI.1.8.4\lib\net48\AntdUI.dll + + + False + Lib\HML.dll + + + False + Lib\HML.ComplexityPropertys.dll + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + ArrTotalQty.cs + + + Component + + + CheckBoxExt.cs + + + Component + + + CircleProgramBar.cs + + + UserControl + + + ControlBase.cs + + + Component + + + CustomComboBox.cs + + + Component + + + Component + + + CustomGroupBox.cs + + + Component + + + CustomRichTextBox.cs + + + + + + + + + + UserControl + + + UCDataGridView.cs + + + UserControl + + + UCDataGridViewRow.cs + + + UserControl + + + UCDataGridViewTreeRow.cs + + + UserControl + + + DialPlate.cs + + + Component + + + FlatComboBox.cs + + + Form + + + FrmBase.cs + + + Form + + + FrmTransparent.cs + + + Form + + + FrmWaiting.cs + + + Component + + + GroupBoxEX.cs + + + Component + + + ListViewEx.cs + + + + LogListBox.cs + + + UserControl + + + LongTitle.cs + + + UserControl + + + LongTitleStyle2.cs + + + + UserControl + + + StatusExt.cs + + + UserControl + + + TButton.cs + + + UserControl + + + TitleButton.cs + + + + SidebarNavigation.cs + + + UserControl + + + UCCheckBox.cs + + + + + UserControl + + + NaviButton2.cs + + + UserControl + + + NaviButton.cs + + + UserControl + + + NumKeyboard.cs + + + Component + + + PanelEnhanced.cs + + + Component + + + PanelExt.cs + + + + True + True + Resources.resx + + + Component + + + + UserControl + + + UserControl + + + UserControl + + + SimpleLed.cs + + + UserControl + + + TextSet2.cs + + + UserControl + + + TextSet.cs + + + UserControl + + + Title.cs + + + UserControl + + + FanShapedSchedule.cs + + + UserControl + + + ProcessEllipse.cs + + + UserControl + + + TitleTime.cs + + + UserControl + + + Toggle.cs + + + UserControl + + + TotalQty.cs + + + UserControl + + + CPK.cs + + + UserControl + + + UCBlower.cs + + + UserControl + + + UCControlBase.cs + + + UserControl + + + UCElectricityMeterH.cs + + + UserControl + + + UCElectricityMeterV.cs + + + UserControl + + + UCFengSu.cs + + + + Component + + + + + Component + + + + + + UserControl + + + UCLed.cs + + + UserControl + + + UCLedAvatar.cs + + + UserControl + + + ucPanel_400_200.cs + + + UserControl + + + ucPanel_900_450.cs + + + + + UserControl + + + UCRollText.cs + + + UserControl + + + UCSplitLine_H.cs + + + UserControl + + + UCSplitLine_V.cs + + + UserControl + + + UpDownLabel.cs + + + + Component + + + Component + + + Wave.cs + + + UserControl + + + WaveProcess.cs + + + UserControl + + + WithBgBox.cs + + + + + ArrTotalQty.cs + + + UCDataGridView.cs + + + UCDataGridViewRow.cs + + + UCDataGridViewTreeRow.cs + + + DialPlate.cs + + + FrmBase.cs + + + FrmTransparent.cs + + + FrmWaiting.cs + + + LongTitle.cs + + + LongTitleStyle2.cs + + + TButton.cs + + + TitleButton.cs + + + NaviButton2.cs + + + NaviButton.cs + + + NumKeyboard.cs + + + ProcessEllipse.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + UCVScrollbar.cs + + + SidebarNavigation.cs + + + SimpleLed.cs + + + TextSet2.cs + + + TextSet.cs + + + Title.cs + + + TitleTime.cs + + + Toggle.cs + + + TotalQty.cs + + + CPK.cs + + + UCBlower.cs + + + UCCheckBox.cs + + + UCElectricityMeterH.cs + + + UCElectricityMeterV.cs + + + UCFengSu.cs + + + ucPanel_400_200.cs + + + ucPanel_900_450.cs + + + UCSplitLine_H.cs + + + UCSplitLine_V.cs + + + UpDownLabel.cs + + + WaveProcess.cs + + + WithBgBox.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {4c0bcb84-5cd7-4846-8363-c4c10d46e391} + JinYuan.Models + + + + + + + + + + + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/ListViewEx.Designer.cs b/JinYuan.ControlLib/ListViewEx.Designer.cs new file mode 100644 index 0000000..69c392a --- /dev/null +++ b/JinYuan.ControlLib/ListViewEx.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class ListViewEx + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/ListViewEx.cs b/JinYuan.ControlLib/ListViewEx.cs new file mode 100644 index 0000000..bce6cbb --- /dev/null +++ b/JinYuan.ControlLib/ListViewEx.cs @@ -0,0 +1,75 @@ +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class ListViewEx : ListView + { + + StringFormat sf = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center };//字体水平位置居左,垂直居中 + + public ListViewEx() + { + InitializeComponent(); + this.OwnerDraw = true; + } + + public ListViewEx(IContainer container) + { + container.Add(this); + + InitializeComponent(); + } + + + private Brush bgColor = Brushes.DodgerBlue; + [CategoryAttribute("自定义")] + [DescriptionAttribute("背景颜色")] + public Brush BgColor + { + set + { + bgColor = value; + } + get + { + return bgColor; + } + } + + private Brush fontColor = Brushes.White; + [CategoryAttribute("自定义")] + [DescriptionAttribute("字体颜色")] + public Brush FontColor + { + set + { + fontColor = value; + } + get + { + return fontColor; + } + } + + + protected override void OnDrawColumnHeader(DrawListViewColumnHeaderEventArgs e) + { + //e.DrawBackground(); + e.Graphics.FillRectangle(BgColor, e.Bounds); //设置背景颜色 + Font font = new Font("微软雅黑", 12, FontStyle.Bold); //设置字体大小 + e.Graphics.DrawString(e.Header.Text, font, FontColor, e.Bounds, sf); //设置字体颜色 + } + + protected override void OnDrawItem(DrawListViewItemEventArgs e) + { + e.DrawDefault = true; //采用系统默认方式绘制项 + } + + protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e) + { + e.DrawDefault = true; //采用系统默认方式绘制项 + } + } +} diff --git a/JinYuan.ControlLib/LogListBox.Designer.cs b/JinYuan.ControlLib/LogListBox.Designer.cs new file mode 100644 index 0000000..814dc44 --- /dev/null +++ b/JinYuan.ControlLib/LogListBox.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class LogListBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/LogListBox.cs b/JinYuan.ControlLib/LogListBox.cs new file mode 100644 index 0000000..624a6ec --- /dev/null +++ b/JinYuan.ControlLib/LogListBox.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + class LogItem + { + public String info; + public int index; + public Color color; + } + + public partial class LogListBox : ListBox + { + + private int m_nMaxLength = 1000; + [CategoryAttribute("自定义")] + [DescriptionAttribute("日志最大显示条数")] + public int MaxLength + { + set + { + m_nMaxLength = value; + } + get + { + return m_nMaxLength; + } + } + Dictionary m_dicItems = new Dictionary(); + + public LogListBox() + { + InitializeComponent(); + this.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable; + } + + public LogListBox(IContainer container) + { + container.Add(this); + + InitializeComponent(); + } + + protected override void OnDrawItem(DrawItemEventArgs e) + { + e.DrawBackground(); + e.DrawFocusRectangle(); + // 确保listbox中有日志且该日志被记录在字典中 + if (e.Index >= 0 && m_dicItems.Keys.Contains(e.Index)) + { + e.Graphics.DrawString(m_dicItems[e.Index].info, Font, new SolidBrush(m_dicItems[e.Index].color), e.Bounds); + } + } + + protected override void OnMeasureItem(MeasureItemEventArgs e) + { + base.OnMeasureItem(e); + e.ItemHeight = 16; + } + public void AddLog(String log, Color color) + { + ModefyItems(); + LogItem item = new LogItem(); + String showLog = String.Format("[{0}] {1}", DateTime.Now.ToString("HH:mm:ss"), log); + item.info = showLog; + item.color = color; + + item.index = Items.Add(log); + if (!m_dicItems.Keys.Contains(item.index)) + m_dicItems.Add(item.index, item); + SelectedIndex = item.index; + } + + public void Clear() + { + Items.Clear(); + m_dicItems.Clear(); + } + + private void ModefyItems() + { + if (Items.Count >= m_nMaxLength) + { + Items.RemoveAt(0); + for (int n = 0; n < m_dicItems.Count - 1; n++) + { + if (m_dicItems.Keys.Contains(n) && m_dicItems.Keys.Contains(n + 1)) + { + m_dicItems[n].info = m_dicItems[n + 1].info; + m_dicItems[n].color = m_dicItems[n + 1].color; + } + } + + m_dicItems.Remove(m_dicItems.Count - 1); + } + } + } +} diff --git a/JinYuan.ControlLib/LongTitle.Designer.cs b/JinYuan.ControlLib/LongTitle.Designer.cs new file mode 100644 index 0000000..67a60cb --- /dev/null +++ b/JinYuan.ControlLib/LongTitle.Designer.cs @@ -0,0 +1,68 @@ +namespace JinYuan.ControlLib +{ + partial class LongTitle + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 16F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic)))); + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(35, 0); + this.lbl_Title.Margin = new System.Windows.Forms.Padding(50, 0, 0, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(205, 52); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "标题名称"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // LongTitle + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 19F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.标题_03左; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "LongTitle"; + this.Size = new System.Drawing.Size(543, 52); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/LongTitle.cs b/JinYuan.ControlLib/LongTitle.cs new file mode 100644 index 0000000..413921e --- /dev/null +++ b/JinYuan.ControlLib/LongTitle.cs @@ -0,0 +1,67 @@ +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class LongTitle : UserControl + { + public LongTitle() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private bool isRight = true; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮是否为右边")] + public bool IsRight + { + get { return isRight; } + set + { + isRight = value; + UpdataImage(); + } + } + + + private string titleName = "标题名称"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示标题名称")] + + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + } + } + + /// + ///统一更新背景 + /// + private void UpdataImage() + { + if (this.isRight) + { + lbl_Title.Dock = DockStyle.Right; + this.BackgroundImage = Properties.Resources.标题_03右; + } + else + { + lbl_Title.Dock = DockStyle.Left; + this.BackgroundImage = Properties.Resources.标题_03左; + } + } + } +} diff --git a/JinYuan.ControlLib/LongTitle.resx b/JinYuan.ControlLib/LongTitle.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/LongTitle.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/LongTitleStyle2.Designer.cs b/JinYuan.ControlLib/LongTitleStyle2.Designer.cs new file mode 100644 index 0000000..8d6b6c4 --- /dev/null +++ b/JinYuan.ControlLib/LongTitleStyle2.Designer.cs @@ -0,0 +1,68 @@ +namespace JinYuan.ControlLib +{ + partial class LongTitleStyle2 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LongTitleStyle2)); + this.lbl_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(233, 41); + this.lbl_Title.TabIndex = 1; + this.lbl_Title.Text = "标题名称"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // LongTitleStyle2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Name = "LongTitleStyle2"; + this.Size = new System.Drawing.Size(233, 41); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/LongTitleStyle2.cs b/JinYuan.ControlLib/LongTitleStyle2.cs new file mode 100644 index 0000000..22f2ecf --- /dev/null +++ b/JinYuan.ControlLib/LongTitleStyle2.cs @@ -0,0 +1,38 @@ +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class LongTitleStyle2 : UserControl + { + public LongTitleStyle2() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + } + + + + private string titleName = "标题名称"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示标题名称")] + + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + } + } + } +} diff --git a/JinYuan.ControlLib/LongTitleStyle2.resx b/JinYuan.ControlLib/LongTitleStyle2.resx new file mode 100644 index 0000000..93d6c5e --- /dev/null +++ b/JinYuan.ControlLib/LongTitleStyle2.resx @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Models/CPKModel.cs b/JinYuan.ControlLib/Models/CPKModel.cs new file mode 100644 index 0000000..69ef269 --- /dev/null +++ b/JinYuan.ControlLib/Models/CPKModel.cs @@ -0,0 +1,134 @@ +namespace JinYuan.ControlLib.Models +{ + //子组大小:这个与计算内的CPK值又非常打的关系,即是分组的样本个数,数据的分组在此处需要说明的是,必须 + //是根据实际情况来填写,比如每次抽样为5个,那么子组大小为5个,我们不能随心所欲的任意填写这个值,否则 + //将没有实际意义。 + //上规格:用户录入的上规格值 + //目标值:用户输入的目标值,即期望达到的中心值 + //下规格:用户输入的下规格值 + + + public class CPKModel + { + /// + /// 总样本数 。参与分析的数据的个数 + /// + public int TotalNumber { get; set; } + /// + /// 图表类型 .说明进行分析的控制图的类型,此处为XR控制图 + /// + public string ChartType { get; set; } + /// + /// 平均值 所有样本数据的平均值 + /// + public double MeanVlaue { get; set; } + /// + /// 最大值 所有样本的最大值 + /// + public double MaxValue { get; set; } + /// + /// 最小值 + /// + public double MinValue { get; set; } + + /// + /// 正的3倍标准差线 + /// + public double Pos3Sigma { get; set; } + /// + /// 负的3倍标准差线 + /// + public double Neg3Sigma { get; set; } + /// + /// 组内标准差值 + /// + public double GroupSTDEV { get; set; } + /// + /// 整体标准差值 + /// + public double WholeSTDEV { get; set; } + + /// + /// 组内CPK值 工序能力指数,与规格值及上述标准差值相关联 + /// + public double GroupCPK { get; set; } + /// + /// 整体CPK值 工序能力指数,与规格值及上述标准差值相关联 + /// + public double WholeCPK { get; set; } + + /// + /// 组内CP值 Cp值是衡量过程满足产品品质标准的成都,也叫制程精密度,Cp值越大,表示过程变异越小,过程能力越差 + /// + public double GroupCP { get; set; } + /// + /// 整体CP值 Cp值是衡量过程满足产品品质标准的成都,也叫制程精密度,Cp值越大,表示过程变异越小,过程能力越差 + /// + public double WholeCP { get; set; } + + /// + /// 组内CPL值 相对应于下规格的工序能力值; + /// + public double GroupCPL { get; set; } + /// + /// 整体CPL值 相对应于下规格的工序能力值; + /// + public double WholeCPL { get; set; } + + /// + /// 组内CPU值 相对应于上规格的工序能力值; + /// + public double GroupCPU { get; set; } + /// + /// 整体CPU值 相对应于上规格的工序能力值; + /// + public double WholeCPU { get; set; } + + /// + /// 组内PPM + public double GroupPPM_LSL { get; set; } + /// + /// 整体PPM + public double WholePPM_LSL { get; set; } + + /// + /// 实际检测PPM + public double MeasuredPPM_LSL { get; set; } + + /// + /// 组内PPM + public double GroupPPM_USL { get; set; } + /// + /// 整体PPM + public double WholePPM_USL { get; set; } + /// + /// 实际检测PPM + public double MeasuredPPM_USL { get; set; } + /// + /// 组内PPM Total值,预测的总的不合格品数 + /// + public double GroupPPM_Total { get; set; } + /// + /// 整体PPM + public double WholePPM_Total { get; set; } + + /// + /// 实际检测PPM + public double MeasuredPPM_Total { get; set; } + + /// + /// 制程准确度,值越小越好 + /// + public double CA { get; set; } + + + } +} diff --git a/JinYuan.ControlLib/NaviButton.Designer.cs b/JinYuan.ControlLib/NaviButton.Designer.cs new file mode 100644 index 0000000..53a777c --- /dev/null +++ b/JinYuan.ControlLib/NaviButton.Designer.cs @@ -0,0 +1,66 @@ +namespace JinYuan.ControlLib +{ + partial class NaviButton + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 11F, System.Drawing.FontStyle.Bold); + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(129, 43); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "导航按钮"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_Title.Click += new System.EventHandler(this.lbl_Title_Click); + // + // NaviButton + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.LeftUnSelected; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Name = "NaviButton"; + this.Size = new System.Drawing.Size(129, 43); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/NaviButton.cs b/JinYuan.ControlLib/NaviButton.cs new file mode 100644 index 0000000..9d3b8ef --- /dev/null +++ b/JinYuan.ControlLib/NaviButton.cs @@ -0,0 +1,90 @@ +using System; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [DefaultEvent("Click")]//增加特性事件 + public partial class NaviButton : UserControl + { + public NaviButton() + { + InitializeComponent(); + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private bool isSelected = false; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮是否选中")] + public bool IsSelected + { + get { return isSelected; } + set + { + isSelected = value; + UpdataImage(); + } + } + + + private bool isLeft = true; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮是否为左边")] + public bool IsLeft + { + get { return isLeft; } + set + { + isLeft = value; + UpdataImage(); + } + } + + private string titleName = "导航按钮"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮文本内容")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + } + } + + + /// + ///统一更新背景 + /// + private void UpdataImage() + { + if (this.isLeft) + { + this.BackgroundImage = isSelected ? Properties.Resources.LeftSelected : Properties.Resources.LeftUnSelected; + } + else + { + this.BackgroundImage = isSelected ? Properties.Resources.RightSelected : Properties.Resources.RightUnSelected; + } + } + + [Browsable(true)]//是否可见 + [Category("自定义事件")] //类别 + [Description("设置或显示导航按钮文本内容")] + public new EventHandler Click; + + private void lbl_Title_Click(object sender, EventArgs e) + { + this.Click?.Invoke(this, e); + } + } +} diff --git a/JinYuan.ControlLib/NaviButton.resx b/JinYuan.ControlLib/NaviButton.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/NaviButton.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/NaviButton2.Designer.cs b/JinYuan.ControlLib/NaviButton2.Designer.cs new file mode 100644 index 0000000..2a261c7 --- /dev/null +++ b/JinYuan.ControlLib/NaviButton2.Designer.cs @@ -0,0 +1,65 @@ +namespace JinYuan.ControlLib +{ + partial class NaviButton2 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new AntdUI.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("Cambria", 10.5F); + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(129, 43); + this.lbl_Title.TabIndex = 1; + this.lbl_Title.Text = "Data Monitor"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // NaviButton2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.RightUnSelected2; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Name = "NaviButton2"; + this.Size = new System.Drawing.Size(129, 43); + this.ResumeLayout(false); + + } + + #endregion + + private AntdUI.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/NaviButton2.cs b/JinYuan.ControlLib/NaviButton2.cs new file mode 100644 index 0000000..69a565e --- /dev/null +++ b/JinYuan.ControlLib/NaviButton2.cs @@ -0,0 +1,315 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + + [DefaultEvent("Click")] // 增加特性事件 + public partial class NaviButton2 : UserControl + { + public NaviButton2() + { + InitializeComponent(); + + // 设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + // 绑定 Resize 事件 + this.Resize += NaviButton2_Resize; + + // 绑定 Label 的点击事件 + this.lbl_Title.Click += lbl_Title_Click; + + + } + + private bool isSelected = false; + [Browsable(true)] // 是否可见 + [Category("自定义属性")] // 类别 + [Description("设置或显示导航按钮是否选中")] + public bool IsSelected + { + get { return isSelected; } + set + { + isSelected = value; + UpdataImage(); + this.Invalidate(); // 刷新控件 + } + } + + private bool isLeft = true; + [Browsable(true)] // 是否可见 + [Category("自定义属性")] // 类别 + [Description("设置或显示导航按钮是否为左边")] + public bool IsLeft + { + get { return isLeft; } + set + { + isLeft = value; + UpdataImage(); + this.Invalidate(); // 刷新控件 + } + } + + private string titleName = "导航按钮"; + [Browsable(true)] // 是否可见 + [Category("自定义属性")] // 类别 + [Description("设置或显示导航按钮文本内容")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + this.lbl_Title.AutoSize = false; // 禁用 AutoSize + this.lbl_Title.Size = new Size(this.Width - 10, this.Height - 10); // 设置 Label 的大小 + this.Invalidate(); // 刷新控件 + } + } + + + + private bool titleTextMultiLine = true; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或显示导航按钮文本是否支持多行显示")] + public bool TitleTextMultiLine + { + get { return titleTextMultiLine; } + set + { + titleTextMultiLine = value; + this.lbl_Title.AutoSize = false; // 禁用 AutoSize + this.lbl_Title.TextMultiLine = titleTextMultiLine; // 设置多行显示 + this.Invalidate(); // 刷新控件 + } + } + + private Color titleForeColor = Color.Black; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或显示导航按钮文本的字体颜色")] + public Color TitleForeColor + { + get { return titleForeColor; } + set + { + titleForeColor = value; + this.lbl_Title.ForeColor = titleForeColor; + this.Invalidate(); // 刷新控件 + } + } + + + private Font titleFont = new Font("Cambria", 10.5f, FontStyle.Bold); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或显示导航按钮文本的字体样式")] + public Font TitleFont + { + get { return titleFont; } + set + { + titleFont = value; + this.lbl_Title.Font = titleFont; + this.Invalidate(); // 刷新控件 + } + } + + /// + /// 统一更新背景 + /// + private void UpdataImage() + { + if (this.isLeft) + { + this.BackgroundImage = isSelected ? Properties.Resources.LeftSelected3 : Properties.Resources.LeftUnSelected3; + } + else + { + this.BackgroundImage = isSelected ? Properties.Resources.RightSelected3 : Properties.Resources.RightUnSelected3; + } + } + + [Browsable(true)] // 是否可见 + [Category("自定义事件")] // 类别 + [Description("设置或显示导航按钮文本内容")] + public new event EventHandler Click; + + private void lbl_Title_Click(object sender, EventArgs e) + { + // 触发 Click 事件 + this.Click?.Invoke(this, e); + } + + + + private void NaviButton2_Resize(object sender, EventArgs e) + { + // 调整 Label 的大小和位置 + this.lbl_Title.Size = new Size(this.Width - 10, this.Height - 10); + this.lbl_Title.Location = new Point(5, 5); // 根据需要调整位置 + this.Invalidate(); // 刷新控件 + } + } + + //[DefaultEvent("Click")] // 增加特性事件 + //public partial class NaviButton2 : UserControl + //{ + // public NaviButton2() + // { + // InitializeComponent(); + // // 设置控件样式,去除缓冲 + // this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + // this.SetStyle(ControlStyles.DoubleBuffer, true); + // this.SetStyle(ControlStyles.ResizeRedraw, true); + // this.SetStyle(ControlStyles.Selectable, true); + // this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + // // 绑定 Resize 事件 + // this.Resize += NaviButton2_Resize; + // } + + // private bool isSelected = false; + // [Browsable(true)] // 是否可见 + // [Category("自定义属性")] // 类别 + // [Description("设置或显示导航按钮是否选中")] + // public bool IsSelected + // { + // get { return isSelected; } + // set + // { + // isSelected = value; + // UpdataImage(); + // } + // } + + // private bool isLeft = true; + // [Browsable(true)] // 是否可见 + // [Category("自定义属性")] // 类别 + // [Description("设置或显示导航按钮是否为左边")] + // public bool IsLeft + // { + // get { return isLeft; } + // set + // { + // isLeft = value; + // UpdataImage(); + // } + // } + + // private string titleName = "导航按钮"; + // [Browsable(true)] // 是否可见 + // [Category("自定义属性")] // 类别 + // [Description("设置或显示导航按钮文本内容")] + // public string TitleName + // { + // get { return titleName; } + // set + // { + // titleName = value; + // this.lbl_Title.Text = titleName; + // this.lbl_Title.AutoSize = false; // 禁用 AutoSize + // this.lbl_Title.Size = new Size(this.Width - 10, this.Height - 10); // 设置 Label 的大小 + // } + // } + + // private float titleFontSize = 12f; + // [Browsable(true)] + // [Category("自定义属性")] + // [Description("设置或显示导航按钮文本的字体大小")] + // public float TitleFontSize + // { + // get { return titleFontSize; } + // set + // { + // titleFontSize = value; + // this.lbl_Title.Font = new Font(this.lbl_Title.Font.FontFamily, titleFontSize, this.lbl_Title.Font.Style); + // } + // } + + // private bool textMultiLine = true; + // [Browsable(true)] + // [Category("自定义属性")] + // [Description("设置或显示导航按钮文本是否换行")] + // public bool TextMultiLine + // { + // get { return textMultiLine; } + // set + // { + // textMultiLine = value; + // this.lbl_Title.AutoSize = false; // 禁用 AutoSize + // this.lbl_Title.TextMultiLine = textMultiLine; + // } + // } + + // private Color titleForeColor = Color.Black; + // [Browsable(true)] + // [Category("自定义属性")] + // [Description("设置或显示导航按钮文本的字体颜色")] + // public Color TitleForeColor + // { + // get { return titleForeColor; } + // set + // { + // titleForeColor = value; + // this.lbl_Title.ForeColor = titleForeColor; + // } + // } + + // private FontStyle titleFontStyle = FontStyle.Regular; + // [Browsable(true)] + // [Category("自定义属性")] + // [Description("设置或显示导航按钮文本的字体样式")] + // public FontStyle TitleFontStyle + // { + // get { return titleFontStyle; } + // set + // { + // titleFontStyle = value; + // this.lbl_Title.Font = new Font(this.lbl_Title.Font.FontFamily, this.lbl_Title.Font.Size, titleFontStyle); + // } + // } + + // /// + // /// 统一更新背景 + // /// + // private void UpdataImage() + // { + // if (this.isLeft) + // { + // this.BackgroundImage = isSelected ? Properties.Resources.LeftSelected3 : Properties.Resources.LeftUnSelected3; + // } + // else + // { + // this.BackgroundImage = isSelected ? Properties.Resources.RightSelected3 : Properties.Resources.RightUnSelected3; + // } + // } + + // [Browsable(true)] // 是否可见 + // [Category("自定义事件")] // 类别 + // [Description("设置或显示导航按钮文本内容")] + // public new EventHandler Click; + + // private void lbl_Title_Click(object sender, EventArgs e) + // { + // this.Click?.Invoke(this, e); + // } + + // private void NaviButton2_Resize(object sender, EventArgs e) + // { + // // 调整 Label 的大小和位置 + // this.lbl_Title.Size = new Size(this.Width - 10, this.Height - 10); + // this.lbl_Title.Location = new Point(5, 5); // 根据需要调整位置 + // } + //} +} diff --git a/JinYuan.ControlLib/NaviButton2.resx b/JinYuan.ControlLib/NaviButton2.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/NaviButton2.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/NumKeyboard.Designer.cs b/JinYuan.ControlLib/NumKeyboard.Designer.cs new file mode 100644 index 0000000..a595c57 --- /dev/null +++ b/JinYuan.ControlLib/NumKeyboard.Designer.cs @@ -0,0 +1,426 @@ +namespace JinYuan.ControlLib +{ + partial class NumKeyboard + { + /// + /// ±ØÐèµÄÉè¼ÆÆ÷±äÁ¿¡£ + /// + private System.ComponentModel.IContainer components = null; + + /// + /// ÇåÀíËùÓÐÕýÔÚʹÓõÄ×ÊԴ¡£ + /// + /// Èç¹ûӦÊͷÅÍйÜ×ÊԴ£¬Ϊ true£»·ñÔòΪ false¡£ + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region ×é¼þÉè¼ÆÆ÷Éú³ɵĴúÂë + + /// + /// Éè¼ÆÆ÷֧³ÖËùÐèµķ½·¨ - ²»ҪÐ޸Ä + /// ʹÓôúÂë±༭Æ÷Ð޸Ĵ˷½·¨µÄÄÚÈݡ£ + /// + private void InitializeComponent() + { + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.btn_Enter = new System.Windows.Forms.Button(); + this.button14 = new System.Windows.Forms.Button(); + this.button13 = new System.Windows.Forms.Button(); + this.btn_Esc = new System.Windows.Forms.Button(); + this.button11 = new System.Windows.Forms.Button(); + this.button10 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.btn_Del = new System.Windows.Forms.Button(); + this.button7 = new System.Windows.Forms.Button(); + this.button6 = new System.Windows.Forms.Button(); + this.button5 = new System.Windows.Forms.Button(); + this.btn_Minus = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.lbl_Result = new System.Windows.Forms.Label(); + this.lbl_Max = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.lbl_Min = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 4; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.Controls.Add(this.btn_Enter, 2, 5); + this.tableLayoutPanel1.Controls.Add(this.button14, 1, 5); + this.tableLayoutPanel1.Controls.Add(this.button13, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.btn_Esc, 3, 4); + this.tableLayoutPanel1.Controls.Add(this.button11, 2, 4); + this.tableLayoutPanel1.Controls.Add(this.button10, 1, 4); + this.tableLayoutPanel1.Controls.Add(this.button9, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.btn_Del, 3, 3); + this.tableLayoutPanel1.Controls.Add(this.button7, 2, 3); + this.tableLayoutPanel1.Controls.Add(this.button6, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.button5, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.btn_Minus, 3, 2); + this.tableLayoutPanel1.Controls.Add(this.button3, 2, 2); + this.tableLayoutPanel1.Controls.Add(this.button2, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.lbl_Result, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.lbl_Max, 3, 0); + this.tableLayoutPanel1.Controls.Add(this.label3, 2, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Min, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.button1, 0, 2); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 6; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(320, 276); + this.tableLayoutPanel1.TabIndex = 0; + // + // btn_Enter + // + this.tableLayoutPanel1.SetColumnSpan(this.btn_Enter, 2); + this.btn_Enter.Dock = System.Windows.Forms.DockStyle.Fill; + this.btn_Enter.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_Enter.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btn_Enter.ForeColor = System.Drawing.Color.White; + this.btn_Enter.Location = new System.Drawing.Point(166, 236); + this.btn_Enter.Margin = new System.Windows.Forms.Padding(6); + this.btn_Enter.Name = "btn_Enter"; + this.btn_Enter.Size = new System.Drawing.Size(148, 34); + this.btn_Enter.TabIndex = 19; + this.btn_Enter.Text = "Enter"; + this.btn_Enter.UseVisualStyleBackColor = true; + this.btn_Enter.Click += new System.EventHandler(this.btn_Enter_Click); + // + // button14 + // + this.button14.Dock = System.Windows.Forms.DockStyle.Fill; + this.button14.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button14.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button14.ForeColor = System.Drawing.Color.White; + this.button14.Location = new System.Drawing.Point(86, 236); + this.button14.Margin = new System.Windows.Forms.Padding(6); + this.button14.Name = "button14"; + this.button14.Size = new System.Drawing.Size(68, 34); + this.button14.TabIndex = 18; + this.button14.Text = "0"; + this.button14.UseVisualStyleBackColor = true; + this.button14.Click += new System.EventHandler(this.btn_Common_Click); + // + // button13 + // + this.button13.Dock = System.Windows.Forms.DockStyle.Fill; + this.button13.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button13.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button13.ForeColor = System.Drawing.Color.White; + this.button13.Location = new System.Drawing.Point(6, 236); + this.button13.Margin = new System.Windows.Forms.Padding(6); + this.button13.Name = "button13"; + this.button13.Size = new System.Drawing.Size(68, 34); + this.button13.TabIndex = 17; + this.button13.Text = "."; + this.button13.UseVisualStyleBackColor = true; + this.button13.Click += new System.EventHandler(this.btn_Common_Click); + // + // btn_Esc + // + this.btn_Esc.Dock = System.Windows.Forms.DockStyle.Fill; + this.btn_Esc.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_Esc.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btn_Esc.ForeColor = System.Drawing.Color.White; + this.btn_Esc.Location = new System.Drawing.Point(246, 190); + this.btn_Esc.Margin = new System.Windows.Forms.Padding(6); + this.btn_Esc.Name = "btn_Esc"; + this.btn_Esc.Size = new System.Drawing.Size(68, 34); + this.btn_Esc.TabIndex = 16; + this.btn_Esc.Text = "ESC"; + this.btn_Esc.UseVisualStyleBackColor = true; + this.btn_Esc.Click += new System.EventHandler(this.btn_Esc_Click); + // + // button11 + // + this.button11.Dock = System.Windows.Forms.DockStyle.Fill; + this.button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button11.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button11.ForeColor = System.Drawing.Color.White; + this.button11.Location = new System.Drawing.Point(166, 190); + this.button11.Margin = new System.Windows.Forms.Padding(6); + this.button11.Name = "button11"; + this.button11.Size = new System.Drawing.Size(68, 34); + this.button11.TabIndex = 15; + this.button11.Text = "3"; + this.button11.UseVisualStyleBackColor = true; + this.button11.Click += new System.EventHandler(this.btn_Common_Click); + // + // button10 + // + this.button10.Dock = System.Windows.Forms.DockStyle.Fill; + this.button10.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button10.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button10.ForeColor = System.Drawing.Color.White; + this.button10.Location = new System.Drawing.Point(86, 190); + this.button10.Margin = new System.Windows.Forms.Padding(6); + this.button10.Name = "button10"; + this.button10.Size = new System.Drawing.Size(68, 34); + this.button10.TabIndex = 14; + this.button10.Text = "2"; + this.button10.UseVisualStyleBackColor = true; + this.button10.Click += new System.EventHandler(this.btn_Common_Click); + // + // button9 + // + this.button9.Dock = System.Windows.Forms.DockStyle.Fill; + this.button9.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button9.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button9.ForeColor = System.Drawing.Color.White; + this.button9.Location = new System.Drawing.Point(6, 190); + this.button9.Margin = new System.Windows.Forms.Padding(6); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(68, 34); + this.button9.TabIndex = 13; + this.button9.Text = "1"; + this.button9.UseVisualStyleBackColor = true; + this.button9.Click += new System.EventHandler(this.btn_Common_Click); + // + // btn_Del + // + this.btn_Del.Dock = System.Windows.Forms.DockStyle.Fill; + this.btn_Del.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_Del.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btn_Del.ForeColor = System.Drawing.Color.White; + this.btn_Del.Location = new System.Drawing.Point(246, 144); + this.btn_Del.Margin = new System.Windows.Forms.Padding(6); + this.btn_Del.Name = "btn_Del"; + this.btn_Del.Size = new System.Drawing.Size(68, 34); + this.btn_Del.TabIndex = 12; + this.btn_Del.Text = "DEL"; + this.btn_Del.UseVisualStyleBackColor = true; + this.btn_Del.Click += new System.EventHandler(this.btn_Del_Click); + // + // button7 + // + this.button7.Dock = System.Windows.Forms.DockStyle.Fill; + this.button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button7.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button7.ForeColor = System.Drawing.Color.White; + this.button7.Location = new System.Drawing.Point(166, 144); + this.button7.Margin = new System.Windows.Forms.Padding(6); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(68, 34); + this.button7.TabIndex = 11; + this.button7.Text = "6"; + this.button7.UseVisualStyleBackColor = true; + this.button7.Click += new System.EventHandler(this.btn_Common_Click); + // + // button6 + // + this.button6.Dock = System.Windows.Forms.DockStyle.Fill; + this.button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button6.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button6.ForeColor = System.Drawing.Color.White; + this.button6.Location = new System.Drawing.Point(86, 144); + this.button6.Margin = new System.Windows.Forms.Padding(6); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(68, 34); + this.button6.TabIndex = 10; + this.button6.Text = "5"; + this.button6.UseVisualStyleBackColor = true; + this.button6.Click += new System.EventHandler(this.btn_Common_Click); + // + // button5 + // + this.button5.Dock = System.Windows.Forms.DockStyle.Fill; + this.button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button5.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button5.ForeColor = System.Drawing.Color.White; + this.button5.Location = new System.Drawing.Point(6, 144); + this.button5.Margin = new System.Windows.Forms.Padding(6); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(68, 34); + this.button5.TabIndex = 9; + this.button5.Text = "4"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.btn_Common_Click); + // + // btn_Minus + // + this.btn_Minus.Dock = System.Windows.Forms.DockStyle.Fill; + this.btn_Minus.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_Minus.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btn_Minus.ForeColor = System.Drawing.Color.White; + this.btn_Minus.Location = new System.Drawing.Point(246, 98); + this.btn_Minus.Margin = new System.Windows.Forms.Padding(6); + this.btn_Minus.Name = "btn_Minus"; + this.btn_Minus.Size = new System.Drawing.Size(68, 34); + this.btn_Minus.TabIndex = 8; + this.btn_Minus.Text = "-"; + this.btn_Minus.UseVisualStyleBackColor = true; + this.btn_Minus.Click += new System.EventHandler(this.btn_Minus_Click); + // + // button3 + // + this.button3.Dock = System.Windows.Forms.DockStyle.Fill; + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button3.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button3.ForeColor = System.Drawing.Color.White; + this.button3.Location = new System.Drawing.Point(166, 98); + this.button3.Margin = new System.Windows.Forms.Padding(6); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(68, 34); + this.button3.TabIndex = 7; + this.button3.Text = "9"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.btn_Common_Click); + // + // button2 + // + this.button2.Dock = System.Windows.Forms.DockStyle.Fill; + this.button2.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(64))))); + this.button2.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(3)))), ((int)(((byte)(27)))), ((int)(((byte)(78))))); + this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button2.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button2.ForeColor = System.Drawing.Color.White; + this.button2.Location = new System.Drawing.Point(86, 98); + this.button2.Margin = new System.Windows.Forms.Padding(6); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(68, 34); + this.button2.TabIndex = 6; + this.button2.Text = "8"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.btn_Common_Click); + // + // lbl_Result + // + this.lbl_Result.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.tableLayoutPanel1.SetColumnSpan(this.lbl_Result, 4); + this.lbl_Result.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Result.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.5F, System.Drawing.FontStyle.Bold); + this.lbl_Result.ForeColor = System.Drawing.Color.White; + this.lbl_Result.Location = new System.Drawing.Point(3, 46); + this.lbl_Result.Name = "lbl_Result"; + this.lbl_Result.Size = new System.Drawing.Size(314, 46); + this.lbl_Result.TabIndex = 4; + this.lbl_Result.Text = "0"; + this.lbl_Result.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.lbl_Result.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lbl_Result_MouseDown); + this.lbl_Result.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lbl_Result_MouseMove); + // + // lbl_Max + // + this.lbl_Max.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Max.Font = new System.Drawing.Font("΢ÈíÑźÚ", 11.5F, System.Drawing.FontStyle.Bold); + this.lbl_Max.ForeColor = System.Drawing.Color.White; + this.lbl_Max.Location = new System.Drawing.Point(243, 0); + this.lbl_Max.Name = "lbl_Max"; + this.lbl_Max.Size = new System.Drawing.Size(74, 46); + this.lbl_Max.TabIndex = 3; + this.lbl_Max.Text = "0"; + this.lbl_Max.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label3 + // + this.label3.Dock = System.Windows.Forms.DockStyle.Fill; + this.label3.Font = new System.Drawing.Font("΢ÈíÑźÚ", 11.5F, System.Drawing.FontStyle.Bold); + this.label3.ForeColor = System.Drawing.Color.White; + this.label3.Location = new System.Drawing.Point(163, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(74, 46); + this.label3.TabIndex = 2; + this.label3.Text = "Max£º"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lbl_Min + // + this.lbl_Min.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Min.Font = new System.Drawing.Font("΢ÈíÑźÚ", 11.5F, System.Drawing.FontStyle.Bold); + this.lbl_Min.ForeColor = System.Drawing.Color.White; + this.lbl_Min.Location = new System.Drawing.Point(83, 0); + this.lbl_Min.Name = "lbl_Min"; + this.lbl_Min.Size = new System.Drawing.Size(74, 46); + this.lbl_Min.TabIndex = 1; + this.lbl_Min.Text = "0"; + this.lbl_Min.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label1 + // + this.label1.Dock = System.Windows.Forms.DockStyle.Fill; + this.label1.Font = new System.Drawing.Font("΢ÈíÑźÚ", 11.5F, System.Drawing.FontStyle.Bold); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(3, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(74, 46); + this.label1.TabIndex = 0; + this.label1.Text = "Min£º"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // button1 + // + this.button1.Dock = System.Windows.Forms.DockStyle.Fill; + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button1.Font = new System.Drawing.Font("΢ÈíÑźÚ", 12.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.button1.ForeColor = System.Drawing.Color.White; + this.button1.Location = new System.Drawing.Point(6, 98); + this.button1.Margin = new System.Windows.Forms.Padding(6); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(68, 34); + this.button1.TabIndex = 5; + this.button1.Text = "7"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.btn_Common_Click); + // + // NumKeyboard + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(3)))), ((int)(((byte)(27)))), ((int)(((byte)(78))))); + this.Controls.Add(this.tableLayoutPanel1); + this.Font = new System.Drawing.Font("΢ÈíÑźÚ", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "NumKeyboard"; + this.Size = new System.Drawing.Size(320, 276); + this.tableLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Button btn_Enter; + private System.Windows.Forms.Button button14; + private System.Windows.Forms.Button button13; + private System.Windows.Forms.Button btn_Esc; + private System.Windows.Forms.Button button11; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Button btn_Del; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button btn_Minus; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Label lbl_Result; + private System.Windows.Forms.Label lbl_Max; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label lbl_Min; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button button1; + } +} diff --git a/JinYuan.ControlLib/NumKeyboard.cs b/JinYuan.ControlLib/NumKeyboard.cs new file mode 100644 index 0000000..d9dd2ad --- /dev/null +++ b/JinYuan.ControlLib/NumKeyboard.cs @@ -0,0 +1,207 @@ + +using System; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class NumKeyboard : UserControl + { + public NumKeyboard() + { + InitializeComponent(); + } + + [Browsable(false)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("×îÖյĽá¹ûֵ")] + public string ResultValue + { + get { return this.lbl_Result.Text; } + } + + private string initialValue; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("³õʼֵ")] + public string InitialValue + { + get { return initialValue; } + set + { + initialValue = value; + this.lbl_Result.Text = value; + } + } + + private float minValue = 0.0f; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖõÄ×îСֵ")] + public float MinValue + { + get { return minValue; } + set + { + minValue = value; + this.lbl_Min.Text = value.ToString(); + } + } + + + private float maxValue = 0.0f; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖõÄ×î´óֵ")] + public float MaxValue + { + get { return maxValue; } + set + { + maxValue = value; + this.lbl_Max.Text = value.ToString(); + } + } + + [Browsable(false)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("¹ØÁª¿ؼþ")] + public Control RelateControl { get; set; } + + [Browsable(true)] + [Category("×Զ¨Òåʼþ")] + [Description("Enter°´ÏÂʼþ")] + public event EventHandler EnterClick; + + + [Browsable(true)] + [Category("×Զ¨Òåʼþ")] + [Description("ESC°´ÏÂʼþ")] + public event EventHandler ESCClick; + + private void btn_Enter_Click(object sender, EventArgs e) + { + string temp = this.lbl_Result.Text; + + if (float.TryParse(temp, out float value)) + { + if (value >= this.minValue && value <= this.maxValue) + { + EnterClick?.Invoke(this, e); + } + else + { + return; + } + } + else + { + return; + } + + } + + private void btn_Esc_Click(object sender, EventArgs e) + { + ESCClick?.Invoke(this, e); + } + + private void btn_Common_Click(object sender, EventArgs e) + { + if (sender is Button button) + { + if (button.Text == ".") + { + //´¦ÀíСÊýµã + if (this.lbl_Result.Text.Contains('.')) + { + return; + } + else + { + this.lbl_Result.Text += button.Text; + } + } + else + { + string temp = this.lbl_Result.Text + button.Text; + + if (float.TryParse(temp, out float value)) + { + if (value >= this.minValue && value <= this.maxValue) + { + this.lbl_Result.Text = temp; + } + else + { + return; + } + } + else + { + return; + } + } + } + } + + private void btn_Del_Click(object sender, EventArgs e) + { + if (this.lbl_Result.Text.Length == 0) return; + + this.lbl_Result.Text = this.lbl_Result.Text.Substring(0, this.lbl_Result.Text.Length - 1); + } + + private void btn_Minus_Click(object sender, EventArgs e) + { + string temp = this.lbl_Result.Text; + + if (temp.StartsWith("-")) + { + temp = temp.Remove(0, 1); + } + else + { + temp = temp.Insert(0, "-"); + } + + if (float.TryParse(temp, out float value)) + { + if (value >= this.minValue && value <= this.maxValue) + { + this.lbl_Result.Text = temp; + } + else + { + return; + } + } + else + { + return; + } + } + + + #region Îޱ߿òÍ϶¯ + + private Point mPoint; + private void lbl_Result_MouseDown(object sender, MouseEventArgs e) + { + mPoint = new Point(e.X, e.Y); + } + + private void lbl_Result_MouseMove(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y); + } + } + + #endregion + + } +} diff --git a/JinYuan.ControlLib/NumKeyboard.resx b/JinYuan.ControlLib/NumKeyboard.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/NumKeyboard.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/PanelEnhanced.Designer.cs b/JinYuan.ControlLib/PanelEnhanced.Designer.cs new file mode 100644 index 0000000..481de60 --- /dev/null +++ b/JinYuan.ControlLib/PanelEnhanced.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class PanelEnhanced + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/PanelEnhanced.cs b/JinYuan.ControlLib/PanelEnhanced.cs new file mode 100644 index 0000000..0227741 --- /dev/null +++ b/JinYuan.ControlLib/PanelEnhanced.cs @@ -0,0 +1,55 @@ +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class PanelEnhanced : Panel + { + public PanelEnhanced() + { + InitializeComponent(); + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + protected override void OnPaintBackground(PaintEventArgs e) + { + //重载基类得背景擦除方法 + + //解决窗体刷新,放大和闪烁 + + return; + } + + protected override void OnPaint(PaintEventArgs e) + { + //使用双缓冲 + this.DoubleBuffered = true; + + if (this.BackgroundImage != null) + { + e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; + + e.Graphics.DrawImage(this.BackgroundImage, new Rectangle + (0, 0, this.Width, this.Height), 0, 0, this.BackgroundImage.Width, this.BackgroundImage.Height, GraphicsUnit.Pixel); + } + base.OnPaint(e); + } + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + } +} diff --git a/JinYuan.ControlLib/PanelExt.Designer.cs b/JinYuan.ControlLib/PanelExt.Designer.cs new file mode 100644 index 0000000..e1b645c --- /dev/null +++ b/JinYuan.ControlLib/PanelExt.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class PanelExt + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/PanelExt.cs b/JinYuan.ControlLib/PanelExt.cs new file mode 100644 index 0000000..9184dc6 --- /dev/null +++ b/JinYuan.ControlLib/PanelExt.cs @@ -0,0 +1,134 @@ +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class PanelExt : Panel + { + public PanelExt() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private int topGap; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示上边间隔距离")] + public int TopGap + { + get { return topGap; } + set + { + topGap = value; + this.Invalidate();//点击后立即生效 + } + } + + private int bottomGap; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示下边间隔距离")] + public int BottomGap + { + get { return bottomGap; } + set + { + bottomGap = value; + this.Invalidate();//点击后立即生效 + } + } + + private int leftGap; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示左边间隔距离")] + public int LeftGap + { + get { return leftGap; } + set + { + leftGap = value; + this.Invalidate();//点击后立即生效 + } + } + + private int rightGap; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示右边间隔距离")] + public int RightGap + { + get { return rightGap; } + set + { + rightGap = value; + this.Invalidate();//点击后立即生效 + } + } + + private int bordeWidth = 2; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示边框的宽度")] + public int BordeWidth + { + get { return bordeWidth; } + set + { + bordeWidth = value; + this.Invalidate();//点击后立即生效 + } + } + + private Color bordeColor = Color.FromArgb(35, 255, 253); + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示边框的颜色")] + public Color BordeColor + { + get { return bordeColor; } + set + { + bordeColor = value; + this.Invalidate();//点击后立即生效 + } + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + //准备画布 + Graphics graphics = e.Graphics; + //准备笔 + Pen pen = new Pen(bordeColor, bordeWidth); + //准备矩形参数 + float x = leftGap + bordeWidth * 0.5f; + float y = topGap + bordeWidth * 0.5f; + float width = this.Width - leftGap - rightGap - bordeWidth; + float height = this.Height - topGap - bottomGap - bordeWidth; + + //绘制矩形 + graphics.DrawRectangle(pen, x, y, width, height); + } + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + } +} diff --git a/JinYuan.ControlLib/ProcessEllipse.Designer.cs b/JinYuan.ControlLib/ProcessEllipse.Designer.cs new file mode 100644 index 0000000..cecb354 --- /dev/null +++ b/JinYuan.ControlLib/ProcessEllipse.Designer.cs @@ -0,0 +1,45 @@ +namespace JinYuan.ControlLib +{ + partial class ProcessEllipse + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // ProcessEllipse + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(28)))), ((int)(((byte)(68))))); + this.Name = "ProcessEllipse"; + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/ProcessEllipse.cs b/JinYuan.ControlLib/ProcessEllipse.cs new file mode 100644 index 0000000..042ce57 --- /dev/null +++ b/JinYuan.ControlLib/ProcessEllipse.cs @@ -0,0 +1,456 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class ProcessEllipse : UserControl + { + + public ProcessEllipse() + { + InitializeComponent(); + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + ForeColor = Color.White; + Font = new Font("Arial Unicode MS", 20); + } + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + [Description("值改变事件"), Category("自定义")] + public event EventHandler ValueChanged; + + private Color m_backEllipseColor = Color.FromArgb(22, 160, 133); + /// + /// 圆背景色 + /// + [Description("圆背景色"), Category("自定义")] + public Color BackEllipseColor + { + get { return m_backEllipseColor; } + set + { + m_backEllipseColor = value; + Refresh(); + } + } + + private Color m_coreEllipseColor = Color.FromArgb(180, 180, 180); + /// + /// 内圆颜色,ShowType=Ring 有效 + /// + [Description("内圆颜色,ShowType=Ring 有效"), Category("自定义")] + public Color CoreEllipseColor + { + get { return m_coreEllipseColor; } + set + { + m_coreEllipseColor = value; + Refresh(); + } + } + + private Color m_valueColor = Color.FromArgb(255, 77, 59); + + [Description("值圆颜色"), Category("自定义")] + public Color ValueColor + { + get { return m_valueColor; } + set + { + m_valueColor = value; + Refresh(); + } + } + + private bool m_isShowCoreEllipseBorder = true; + /// + /// 内圆是否显示边框,ShowType=Ring 有效 + /// + [Description("内圆是否显示边框,ShowType=Ring 有效"), Category("自定义")] + public bool IsShowCoreEllipseBorder + { + get { return m_isShowCoreEllipseBorder; } + set + { + m_isShowCoreEllipseBorder = value; + Refresh(); + } + } + + + private ShowType m_showType = ShowType.PPM; + /// + /// 值文字类型 + /// + [Description("显示类型"), Category("自定义")] + public ShowType ShowType + { + get { return m_showType; } + set + { + m_showType = value; + UpdataMaxValue(); + Refresh(); + } + } + + + private ValueType m_valueType = ValueType.Percent; + /// + /// 值文字类型 + /// + [Description("值文字类型,Percent-百分比;Absolute-数值"), Category("自定义")] + public ValueType ValueType + { + get { return m_valueType; } + set + { + + m_valueType = value; + Refresh(); + } + } + + + private ValueFloatOrInt m_valueFloatOrInt = ValueFloatOrInt.Int; + /// + /// 值文字类型 + /// + [Description("值类型"), Category("自定义")] + public ValueFloatOrInt ValueFloatOrInt + { + get { return m_valueFloatOrInt; } + set + { + m_valueFloatOrInt = value; + Refresh(); + } + } + + + private int m_valueWidth = 30; + /// + /// 外圆值宽度 + /// + [Description("外圆值宽度,ShowType=Ring 有效"), Category("自定义")] + public int ValueWidth + { + get { return m_valueWidth; } + set + { + if (value <= 0 || value > Math.Min(this.Width, this.Height)) + return; + m_valueWidth = value; + Refresh(); + } + } + + private int m_valueMargin = 5; + /// + /// 外圆值间距 + /// + [Description("外圆值间距"), Category("自定义")] + public int ValueMargin + { + get { return m_valueMargin; } + set + { + if (value < 0 || m_valueMargin >= m_valueWidth) + return; + m_valueMargin = value; + Refresh(); + } + } + + private int m_maxValue = 100; + /// + /// 最大值 + /// + [Description("最大值"), Category("自定义")] + public int MaxValue + { + get { return m_maxValue; } + set + { + + //if (value > m_intValue || value > m_floatValue || value < 0) + // return; + m_maxValue = value; + Refresh(); + } + } + + private int m_intValue = 0; + /// + /// 当前值 + /// + [Description("当前值整数,ValueFloatOrInt=Int 有效"), Category("自定义")] + public int IntValue + { + get { return m_intValue; } + set + { + if (m_maxValue < value || value < 0) + return; + m_intValue = value; + if (ValueChanged != null) + { + ValueChanged(this, null); + } + Refresh(); + } + } + + private float m_floatValue = 0.00f; + /// + /// 当前值 + /// + [Description("当前值浮点数,ValueFloatOrInt=Float 有效"), Category("自定义")] + public float FloatValue + { + get { return m_floatValue; } + set + { + if (m_maxValue < value || value < 0) + return; + m_floatValue = value; + if (ValueChanged != null) + { + ValueChanged(this, null); + } + Refresh(); + } + } + + + private Font m_font = new Font("Arial Unicode MS", 20); + [Description("文字字体"), Category("自定义")] + public override Font Font + { + get + { + return m_font; + } + set + { + m_font = value; + Refresh(); + } + } + + Color m_foreColor = Color.White; + [Description("文字颜色"), Category("自定义")] + public override Color ForeColor + { + get + { + return m_foreColor; + } + set + { + m_foreColor = value; + Refresh(); + } + } + + private ShowStyleType m_showStyleType = ShowStyleType.Ring; + + [Description("显示样式"), Category("自定义")] + public ShowStyleType ShowStyleType + { + get { return m_showStyleType; } + set + { + m_showStyleType = value; + Refresh(); + } + } + + + /// + /// 更新最大值 + /// + private void UpdataMaxValue() + { + switch (m_showType) + { + case ShowType.PPM: + this.m_maxValue = 100; + break; + case ShowType.稼动率: + this.m_maxValue = 100; + break; + } + + } + + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; //使绘图质量最高,即消除锯齿 + g.InterpolationMode = InterpolationMode.HighQualityBicubic; + g.CompositingQuality = CompositingQuality.HighQuality; + + int intWidth = Math.Min(this.Size.Width, this.Size.Height); + //底圆 + g.FillEllipse(new SolidBrush(m_backEllipseColor), new Rectangle(new Point(0, 0), new Size(intWidth, intWidth))); + if (m_showStyleType == ShowStyleType.Ring) + { + //中心圆 + int intCore = intWidth - m_valueWidth * 2; + g.FillEllipse(new SolidBrush(m_coreEllipseColor), new Rectangle(new Point(m_valueWidth, m_valueWidth), new Size(intCore, intCore))); + //中心圆边框 + if (m_isShowCoreEllipseBorder) + { + g.DrawEllipse(new Pen(m_valueColor, 2), new Rectangle(new Point(m_valueWidth + 1, m_valueWidth + 1), new Size(intCore - 1, intCore - 1))); + } + if (m_valueFloatOrInt == ValueFloatOrInt.Int) + { + if (m_intValue >= 0 && m_maxValue > 0) + { + int fltPercent = (int)m_intValue / (int)m_maxValue; + if (fltPercent > 1) + { + fltPercent = 1; + } + + g.DrawArc(new Pen(m_valueColor, m_valueWidth - m_valueMargin * 2), new RectangleF(new Point(m_valueWidth / 2 + m_valueMargin / 4, m_valueWidth / 2 + m_valueMargin / 4), new SizeF(intWidth - m_valueWidth - m_valueMargin / 2 + (m_valueMargin == 0 ? 0 : 1), intWidth - m_valueWidth - m_valueMargin / 2 + (m_valueMargin == 0 ? 0 : 1))), -90, fltPercent * 360); + + string strValueText = m_valueType == ValueType.Percent ? fltPercent.ToString("0%") : m_intValue.ToString(); + System.Drawing.SizeF _txtSize = g.MeasureString(strValueText, this.Font); + g.DrawString(strValueText, this.Font, new SolidBrush(this.ForeColor), new PointF((intWidth - _txtSize.Width) / 2 + 1, (intWidth - _txtSize.Height) / 2 + 1)); + } + } + else + { + if (m_floatValue >= 0 && m_maxValue > 0) + { + float fltPercent = (float)m_floatValue / (float)m_maxValue; + if (fltPercent > 1f) + { + fltPercent = 1f; + } + + g.DrawArc(new Pen(m_valueColor, m_valueWidth - m_valueMargin * 2), new RectangleF(new Point(m_valueWidth / 2 + m_valueMargin / 4, m_valueWidth / 2 + m_valueMargin / 4), new SizeF(intWidth - m_valueWidth - m_valueMargin / 2 + (m_valueMargin == 0 ? 0 : 1), intWidth - m_valueWidth - m_valueMargin / 2 + (m_valueMargin == 0 ? 0 : 1))), -90, fltPercent * 360); + string strValueText = m_valueType == ValueType.Percent ? fltPercent.ToString("0%") : m_floatValue.ToString("f2"); + System.Drawing.SizeF _txtSize = g.MeasureString(strValueText, this.Font); + g.DrawString(strValueText, this.Font, new SolidBrush(this.ForeColor), new PointF((intWidth - _txtSize.Width) / 2 + 1, (intWidth - _txtSize.Height) / 2 + 1)); + } + } + + } + else + { + if (m_valueFloatOrInt == ValueFloatOrInt.Int) + { + if (m_intValue >= 0 && m_maxValue > 0) + { + int fltPercent = (int)m_intValue / (int)m_maxValue; + if (fltPercent > 1) + { + fltPercent = 1; + } + + g.FillPie(new SolidBrush(m_valueColor), new Rectangle(m_valueMargin, m_valueMargin, intWidth - m_valueMargin * 2, intWidth - m_valueMargin * 2), -90, fltPercent * 360); + + string strValueText = m_valueType == ValueType.Percent ? fltPercent.ToString("0%") : m_intValue.ToString(); + System.Drawing.SizeF _txtSize = g.MeasureString(strValueText, this.Font); + g.DrawString(strValueText, this.Font, new SolidBrush(this.ForeColor), new PointF((intWidth - _txtSize.Width) / 2 + 1, (intWidth - _txtSize.Height) / 2 + 1)); + } + } + else + { + if (m_floatValue >= 0 && m_maxValue > 0) + { + float fltPercent = (float)m_floatValue / (float)m_maxValue; + if (fltPercent > 1f) + { + fltPercent = 1f; + } + + g.FillPie(new SolidBrush(m_valueColor), new Rectangle(m_valueMargin, m_valueMargin, intWidth - m_valueMargin * 2, intWidth - m_valueMargin * 2), -90, fltPercent * 360); + string strValueText = m_valueType == ValueType.Percent ? fltPercent.ToString("0%") : m_floatValue.ToString("f2"); + System.Drawing.SizeF _txtSize = g.MeasureString(strValueText, this.Font); + g.DrawString(strValueText, this.Font, new SolidBrush(this.ForeColor), new PointF((intWidth - _txtSize.Width) / 2 + 1, (intWidth - _txtSize.Height) / 2 + 1)); + } + } + + } + + } + } + + public enum ShowType + { + /// + /// PPM + /// + PPM, + /// + /// 数值 + /// + 稼动率, + /// + /// + /// + 生产数 + } + + + public enum ValueType + { + /// + /// 百分比 + /// + Percent, + /// + /// 数值 + /// + Absolute + } + + public enum ValueFloatOrInt + { + /// + /// 整数 + /// + Int, + /// + /// 浮点数 + /// + Float + } + + public enum ShowStyleType + { + /// + /// 圆环 + /// + Ring, + /// + /// 扇形 + /// + Sector + } +} diff --git a/JinYuan.ControlLib/ProcessEllipse.resx b/JinYuan.ControlLib/ProcessEllipse.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/ProcessEllipse.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Properties/AssemblyInfo.cs b/JinYuan.ControlLib/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..870604b --- /dev/null +++ b/JinYuan.ControlLib/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.ControlLib")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.ControlLib")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("1bb7ed33-d2cb-4cdd-ab39-f7f9ae948ca2")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.ControlLib/Properties/Resources.Designer.cs b/JinYuan.ControlLib/Properties/Resources.Designer.cs new file mode 100644 index 0000000..9787750 --- /dev/null +++ b/JinYuan.ControlLib/Properties/Resources.Designer.cs @@ -0,0 +1,433 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace JinYuan.ControlLib.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("JinYuan.ControlLib.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap _2bg { + get { + object obj = ResourceManager.GetObject("2bg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap _4 { + get { + object obj = ResourceManager.GetObject("4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap _6 { + get { + object obj = ResourceManager.GetObject("6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap _61 { + get { + object obj = ResourceManager.GetObject("61", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap bg2 { + get { + object obj = ResourceManager.GetObject("bg2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap big_arrow { + get { + object obj = ResourceManager.GetObject("big_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap big_arrow_l { + get { + object obj = ResourceManager.GetObject("big_arrow_l", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap big_box { + get { + object obj = ResourceManager.GetObject("big_box", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap big_box_l { + get { + object obj = ResourceManager.GetObject("big_box_l", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap big_box_s { + get { + object obj = ResourceManager.GetObject("big_box_s", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap big_box_super { + get { + object obj = ResourceManager.GetObject("big_box_super", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap caret_down { + get { + object obj = ResourceManager.GetObject("caret_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap caret_right { + get { + object obj = ResourceManager.GetObject("caret_right", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap Green { + get { + object obj = ResourceManager.GetObject("Green", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap LeftSelected { + get { + object obj = ResourceManager.GetObject("LeftSelected", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap LeftSelected3 { + get { + object obj = ResourceManager.GetObject("LeftSelected3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap LeftUnSelected { + get { + object obj = ResourceManager.GetObject("LeftUnSelected", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap LeftUnSelected2 { + get { + object obj = ResourceManager.GetObject("LeftUnSelected2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap LeftUnSelected3 { + get { + object obj = ResourceManager.GetObject("LeftUnSelected3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap loading { + get { + object obj = ResourceManager.GetObject("loading", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap Red { + get { + object obj = ResourceManager.GetObject("Red", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap RightSelected { + get { + object obj = ResourceManager.GetObject("RightSelected", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap RightSelected3 { + get { + object obj = ResourceManager.GetObject("RightSelected3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap RightUnSelected { + get { + object obj = ResourceManager.GetObject("RightUnSelected", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap RightUnSelected2 { + get { + object obj = ResourceManager.GetObject("RightUnSelected2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap RightUnSelected3 { + get { + object obj = ResourceManager.GetObject("RightUnSelected3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap Title { + get { + object obj = ResourceManager.GetObject("Title", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap TotalQty { + get { + object obj = ResourceManager.GetObject("TotalQty", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 开机时间 { + get { + object obj = ResourceManager.GetObject("开机时间", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 数字指标 { + get { + object obj = ResourceManager.GetObject("数字指标", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 星球地球科技蓝色转动动图压缩86_9 { + get { + object obj = ResourceManager.GetObject("星球地球科技蓝色转动动图压缩86.9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 标题_03右 { + get { + object obj = ResourceManager.GetObject("标题_03右", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 标题_03左 { + get { + object obj = ResourceManager.GetObject("标题_03左", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 标题_04 { + get { + object obj = ResourceManager.GetObject("标题_04", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 组_178_拷贝 { + get { + object obj = ResourceManager.GetObject("组 178 拷贝", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 蓝色 { + get { + object obj = ResourceManager.GetObject("蓝色", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 运行时间 { + get { + object obj = ResourceManager.GetObject("运行时间", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/JinYuan.ControlLib/Properties/Resources.resx b/JinYuan.ControlLib/Properties/Resources.resx new file mode 100644 index 0000000..e8df2ca --- /dev/null +++ b/JinYuan.ControlLib/Properties/Resources.resx @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\2bg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\61.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\bg2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\big_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\big_arrow_l.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\big_box.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\big_box_l.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\big_box_s.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\big_box_super.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\caret-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\caret-right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\LeftSelected.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\LeftSelected3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\LeftUnSelected.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\LeftUnSelected2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\LeftUnSelected3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\loading.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RightSelected.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RightSelected3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RightUnSelected.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\常规按钮.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RightUnSelected3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Title.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\TotalQty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\开机时间.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\数字指标.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\星球地球科技蓝色转动动图压缩86.9.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\标题_03右.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\标题_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\标题_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\组 178 拷贝.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\蓝色.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\运行时间.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Resources/2bg.png b/JinYuan.ControlLib/Resources/2bg.png new file mode 100644 index 0000000000000000000000000000000000000000..56b8ae00fbbc238f90108d22f76ea005aa57d68e GIT binary patch literal 323995 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

B~O#P0k9a%k(&3uj;l7J_CAI{9J+wD zA!%?sE1S=MoHoXFF_LioXsj_>Mz7JsyE(A}z{^T9An{j4T`IgE`sTHXU8|NUY1Ujw(350(cplt8ENKZh>OB0PI$-A^FbLXOhh*eTV=D zHg}BNitQTwb)YPx{_s?}N#ITg zHp3~TwfcF;ZP{4To6eb5zEeE68g!2&aQt-xgAYzw0w?h|jmhE88}?IF`%W;v+dAej zTp=w9UyFvN*=#MIVzm3bIX@rtv_=q<(egW}_G!jG9b3OdzK?)+6%k*KKM~&(|5v+S_c_%SW7fu3Ma0|jNW2!eBjO?sM0#ZQ z`q+nD4~LH#7e`UH>5a z_-5$&X6$9aYQW3h{q+@8z2J!s~-x-|gJ*=9**YzZc(pH~xC; zykqBnb2e&scD;w|-Yr&qJKkUA1MgKPSIu+PzIQX{Rp-Au8{mDF2isM4^loC&;XLn- zuB-g>-OhOx?GK{ooyL4OI=<@oyP4&)2|EtD%P#*iBbN%zN{m1Bh z&|HVH!$&$oTRj%>5O>WfcW9~~{a}30zw%Ig-|x8=AN{aj_ifs~R`J#^-H%uP&9B8T z|J0lDWghTU^}f+Hzio5q&bw&6^ucy5-iU~Z?~I@2zUDV7W-)fC&KfGKgX^)s2DK&f zq9U;9o_)KBbr?o1-xNjem3&03`xUbvrqowdsmX};757-xS~yaaRTu8F+p*4V>nMA$ z7ryMW=1ARUxW+0ms(p)ItxJ-utq0$YRgKY-?5=C{bC}9IBa8H0_hd!fS3iJqT>opa zqjkjfqe35QNn$qNuoT|>hVf7)*vR$SbPYMESyko7dfdLICUwx2j!^;;Ran_5yHl92REo_x>zh8=w2p zPuFLD^7C#n5usI_S)j~Ronher{Gs^dtq;T}{@mB&m;Ulw@xqH0Z#l^E3O5M6H&Y$s z&KdK&GCuI%{!o1Pzy3&k|3C9keC)?A<3Bza+a2VevSjfQxE+YW%P^(Ce9?|VB!oTp z*Dt2nw#ZpU6m&KAj`;GJ4`eUs|RUh zo(YX2ZpUix{tO12bqR<$3e!;z6%YYu1Px9Ot}~ymz3T!gQ-CuJ?G{WP;kPS)S@}UC z-Hn=T3Y~id{B zfg8+6HYwMTO;X5g!vvDugyq2?Sf;diI8>#=8Iu*<0^gNG5(hQ8rx=1{1_eXqY}2Hd z@OaC>yk>sik8yWkr*doc^laFm)aBp^bKXs2X%I*=gy&HxI-n)+*KvwD6RIzHi)ytN zCcLL0H^mR%aLw|Cjw6NV`$cI8OfVa3G(Dq)B>4{HYJb_uTwIeBuY*h`;d{ z-iqg5jQB7%B<+7_tr!4;nHE zc%_aCf1?CGNlMTM*&Y>QKT&QG6-(3y*k{0KAlOxPve@Pk|4pK)Ewj9IslX`%jhwb8 zQB&cetRgzy90z2M>8V9hI0ijt(ncY8cd(?z1k4{1tjskF)>)zhet}>{cuJC8JHX0t zm&1yRYI}{8Ww!paFHi*0KhvmYf-+|?A_2vSwIp2xwA2~l?ma*RsxJSmj}Vt!KmcFO znXWdcOkQ~~?~-seU?=i5$LX`BiAg5Mqn0dX z*Y$wsgwH0C73Zj@OF2v93%%?rx*ly5PJk}Y5ak-XGP7ML)hB3_=T}_Gvp%nyv{WmF z+Sn4+vZ>9x%Vb9}OIte6bM8ce4hrmNI$#$CK?3qA$N;mF=YZ=ii9`_+NfFerFsaj?{zV zg^?m^obAG&*ZF8==QxZ_Dabl4!9TcW0{k&al{37OTBJ5Oke14YV{yr&%M3Ky-vbrx zoQ(xEy->RRRBTxjw;yZUewSr)e_$qD2R$ir?Jsw zKoHAhENidH(Da1R_A`$E&h2R7EYi|ot7^arEi04!T9baKyl4uX&8(EUhgZms%VXIEE6l8!SbP8%R6YYv1}>06sBB|(v8*dWg^f@~V%1dJmX2qvOBX&J#g zUWu-V8!$KphUhrp{$`yvUp+=8B$AngQzODEl(BBB$Pfvav{wW6L^8?SYtgJvK?>Cv+IlGZN`+q`bDLZ0oU)#a39YfFIZRnw z3$m3#kZzrWv}De*bi|$&C~j(ramCV`1DR1PF~ZW`n&vY<`FR;+yQ&#)L>zzIGu~xX z#P7Kl-}#r{ju*Cb{LCwihR5q*TnegZ86-vir8na%pZq|4^kB9*u2X@dhw4lo(I|Ov z&hB{7_s-i@8|a*r?okm|T>{Ql8%r#%jpw+$h_#pyb#^gN*2D=U>XuN2TKK^-8m-cAp^8Ks0+oWyT5$Q+^sZpdwSsnHj9nU zK^V|j0l))rM?gMHLlJ`?g{BclggogFWCtM5l;s*I_N;h~A< zDAMun6XqupGb{;Ga=mo4N<=Ylqj||HxfJu4BEg-wxTTg|SYSw;R|ajH&jdNG6dWSk_)T6W zu!tiX-c`e?3JQtg?~#slJ$RwVqMtgDGjUvhSE0o+{~}o@U0r5(an;^kV5HZahS;OU z(k_c10A*LC8snDc(tK5Dn;0Lx1hwvG#p~*c4D}T~6DDj%i~A2A1hHVXlv&MFth;f+dgDR&T*H zAlV%7n7Z^pQ!EquOhd|2iIT!#LwQ32gGUxM<^?^8);kN&rsT-@5&NzS7Uo%sma^Om zvEGCNaF19bg=@w^t-{pdEJGTMKE_;7DE$Ed>Or}r-Sh$aKL)0vqk=BQuHlCeRcnz} z5*4_wcU>keX;}d)YK=yKV|tEO<~;LZgb27{r25SUOr`x%>O4%NZk*(B;KBHhWw}PT zdoScy`b?QD^O4rbNZ%cRKDfm8;LL%xjPJlHd2Bwy**LpjY+ z<{n)QDd2fShx5-XGs^boYNU6&SNLOITfS=2)^7_eI5F3a6V+MraE&z!qEd(d1}tN| zN$$g>!rP9<6}qB8gmw-l7ij?mBmzdM#C9enTa6KPd>V9^GyRbDDNxR603|P2{U|DF~KnqLi zmeT<6XCSc!rWsn2ZIV>97B`7jk>X51S3$Eee}X(IUhpa&?EKULq?x{FxK2;cLKAdU}v_D~vuZ~h`OXf@672LVxqU#l>K zWq!5q?_d`ArbXMjVj}hLX2Wj>CBI+_TKRkg(?$tVOc&&znlIU7i-n|VQBaM%K&XOY z<|?U`&MPvq3u_+6JKhbmyyZcoA!uY+zccW4-ZU9;(T9Yw585z*{BAI>d27r}>yf=! zoat}KToorGgBfw!dtg4kOkVQW{_HV`lz{hz(Fw>c0wuKq^|`;5y~Pq{-+DU1&0&zK zH*lil;jZ{lk&~Tzq6*5b!w0FG%v9xtLQn8H1pJ1eBUe|XSk0|NRTzB?5d$#C8)=0G zH{|ERr>TnVc#N^=C=tQ$R7DU166?c65D!`|5HQ-<-W6?*i6HNWgTxnRC4o@PX_W#{ z;Q0=!!J9b3lA5q9C_ve0=_yBwACS0i*C*0izsf|3We#e)7k2QqwCRNgU7;-AzO)|> zJL)l`APgWyK_Wyz1c%i6(+UjU1YT6CuTtnPlnlt13mFI+QS$I^SvFAG>^wvclcTy} zDg}R#MD+;(G4VV1l1 zWT~Z8hlXL?Feo(7z8;RQ+KML~V0@IcQBqQzorV@+`bj>s!Y$i$>~U-jbGz1#pw(aA z?xd+0&S447&1gYPH@Aq^8EH$g44U-G~7ICO@}3z?iO@JwMiu-ObePmN=pk>3g6~W$&a<^*MD;UK!uLRJ`@WfGt7V~wD^j;SB6Ljm3O&Y$|(9+McFryod_6faXd7x zW)Q$IZ7W%F9MpQ~5TxiuNmg^_fuQL#7Oh{)R^S=ZTtl1m5!z*XR)kmkwSw0nf>VZ_ zG4aNRW|!UAJ}j`GM(o*2I@*k@7pLFn~aojsbaf$V2Dnk zoC?kNH4xKsUSi(N1uup;P{HQXf(f*#u@{K0fali~^Loe_Z)@V<9`$u9|H1u>U+a zTJs!NW(}#aw-vw}hl}VmS}i}y&3OUQ#Md%8%jyA^kUy$v*{Zq#5NN`sht>{|exJjq zM@(693;5k@l++Atr4^VUpy^5~4Qo**X%nDaR_&f-*nrtL01nX!>eew^Rak^qR06YT zanPgFGWw32mR3|--5i@=SQu@^kkgWDuB=im2p2(<03MD-!jb`H$X%&ZTgGOYNJ(Ze zXQQaXyH?TtM=C$%&;dt6>13)Phw-@|{WKi+(3#@ccWg9r`>DWP3+Gs+wP}x!ASeaB0mr6IZ3c+WLJsv&j><4saOdaHS z*XNlNqs1KE3?o$WJ5?dHi0FGvjh3_!a3H!7=GGOw-+0vZrE~hPhj$o+Y!&OGX#iV{ zDLs^FtTb|gj}WsPrVDQ5gdhq9QH}FiHn}z$iicDPYZimao}C4_BXrivDh8~(z!hi6 z3}Xxj1H-m%)4>qMLPE3w(2TXRm)%cOWQ$(O?YM-y(reYn9uJ-Qk$f<@T!= zK3pJ?bQ-@%QgDjqZp1rmps*cncn&+7UTFrh$8ascOr?N3*0zUe&$weQJUp{aU5Po3 zcUdEXFrH>dVVjXAFqOxhHKU^fK+ve~UCSc>YyKR~d+(RAV+#oB8};@sbBo{ms3fT> ziptg@WsWjn8_2}Y7|8g=QB1>CM-fQYV9h&ro@q4FBQ_%;pdD6onh5>PWlO=VjhBNv zmck|)b(5sIG~$D{k9Y;v-eA)S$TYPgd{st3%o=qws^)8}@O$)z5InxW`{UIQRlvGtL08vxCv zQ42LRJ%BN5ZoKD5>VyiBH$$VeUl%Nch@nIQvQonKPKZ>KW_7Vm1x5OjlJI|vB4j7x zSYeX~e-F0*=?CNcjvx8vw}1KJ_#ON(Q_P)?V^oc3678xyHm@kVs>Yt$&Y3P5{N#)`L? z2V4jqMQIO58IUyl=6#>Nv|46{h?X($=+%89Mg|Q^S`C(NhH`>G1vk=Nuug=?lp8hh z20g*ZR#5WQAAe3uS^LbpeFJ}kB`c4@QfpcOBXXgJ#k`$9*aTi^8z@Ox5N3&a3Oc4k zyZ$|Cv!}#UbS<#}sTe11g`onCw_>J1N|(>|!tb^&NMmy|vxrX#aF)H1HHK^alEc|q z#TJR>q+~@z^g*~F(?E{be%ExO+ZamPim0%X#?i`zQVbY3ovdDpM^{*06!+!?-9pz61Y);Z#on_O-^AS(^>fW@wg1dxg&w zhz1_IEVQ#Jr)cVuU()lXDtPl}p8C88jS>v50Uoqs!+b6HZM>$(= z2dBFn(ln{9gDZe=$46Iana+4@f$-|hN3A38^I-I@RCA|j`B?`2u`ePT(nw{k)ou{1 zmn`TW>vpvV)hLkwATCcVrNVCw#~M$NtfPzw_LPbdE=w>!1j6{?rpsp@Sa9A*N5~<5 z@Th)$!2%T_l}|0`K1|xM5Lm;uARoyYmqvKmj#f>RMDHIoi~2*^-p-gG8|+%c2Z|oz zumF(=P{nh3l3!%`Xbs6qzKPDDE{9$%W&}g5U!1K5j3o$64pzNl=!=3JFvEmW?A>ts z4!df*Sx_ww04oYKWSNGLjclOwkj9*`zcVk&)3hQ1XAcsIl`{^2F=;RgJTiSg@|7DE z4zxDVGineU^_&J1G&miW0-eIUiu##UnPXV*d*tE;L8`>jw&)n02|FliS3JdyZy5R6_N#YC49dn$+MaJQG%R@1=iYyc%#Ut#B zXQ&(C*5CkAK&`)1m&Bm4eEh`oh6b22n}DWJD-zzDs7ZZd+-o?%_V#ZZ{j;O@3cLV@sQ1!+bcfR_;k1(mM9TY0JU|n9pC3y;jA3*6inL-kBsA#`&jKH z233}#4P1&q{o&d>Qmmn&Qta8lkON3ocDlXO>S$r1h-ah{c|^298H|oSg6>lG?Kvca zgH|N&NNPhbxOP(z9Y`4@OdRlXS&hN--R4g%W5r6TRl{Ul-0}?19_?n~5OS`jL_;IRbJkA^19i3l^$yl(M4+ zLqrv&+_Q5XN4z5SavV!pWJ`N}-4tt%rFa$y0>NUk^zZ?+)+9`&acDFk%|d)MZsv7} z6V@`%?xFi4k2OUCE)iC?%XFft4feSanF|&+q+;Ym;nDK&AB>GQA4FbqU!L6z>8tN8 zesV@)#+OTo(134>s+YYSrBj5(51s9(gB z_`;q6L~NsUc~JD&JsIST;}U7JQbCj<0EL;MR&& zYi4m_Rrp$eAga3CNCq2^NmVjbaLOLnnrv7rMtoXll*x1%i0~7Aa{tB{_=UtJ1W0gw zEO%$E$X76Q@?VMokW3knyME9JCr_l&{-}7sgyjpR?@)5}iV_i9hq+a7DXLvN1Gh(J zRRcNJIwhE<9?8HqUC~L1Oz4trM!ORPxX_>Vl!HXQK?#?a!Pd!GcYAgzuVo3Ah4{np zC`eYoE`*MqURo!hMr~EOY?`$$>t7ZQawQKcgu`m+!m4T+-mH( znGtuw3Umg8lqu8glm`9GXFpw^dFu0+AFOfm2d~%+u=owxc8sj;lOxq02HgM@a~#%NdtXP%Np0lO=MT5;8mqFRnD#jAc(fL zUcHvFb_~PJe2|)#?Ev9$eHdc7e2OoU3{knCdV*{%&@x24T2~`6)8H|O0=!EmL}i4W zBKAN5i8E8{n9W@~c=5S13<*KDiAbh1+d9SgQDKa^Lf+w1mp_4Ntc^K*LjbpPBGh#gj zC}Emyg3-M_SUKb-m9dQnw4&8Q&>6_>GB*Nh$YoV^@&ZDs$VDr*?Wh1BfvTyR5Pw#l zY^LnJ08lKX7^UO@EatoXTha9({fMj=O&P-m*G;j2n3>+4RcqKV4^|jQH}CM!lqgIO z4`e!B3wl5zY?li;Jqlu=xh3f-_QzoTg}R_cU@LJcC3A-`NJAPrxWN0Em&b)&J&b_S zB9v$8vbOd8I=_1kGy}W(O`ibdqLVsHp$A)ri6~&rsz`M2g~A15bkhzjgEJ%<(ps6d z@(6O0iD*E`flc|nlFM}?k`6?8@7#y?e;9yt8G(i>=MenrOCAyg&Ivul#jRjTW*x=4 z!oVwkd<`D`1RzYCNdORNJP#Te=HPVb*~0CUfJG6qE0DmeZvTM_>qwXM>PGBQNhFm; zBOwY#@>%Rs?I8YnddPlI2_+cP?N^d9#j+75w3$B8mf%I>lZ7*Q6+02 zn+8N{NiL;FZ}@3>1eCXvO}0kqvwvGc>^3YaykoYA^a`4N0tqvN5y?Z`Vyb7aDU2!j z3ie4V7~>ZIP*t`HYBw$25DhPebh``fTWbFJ3V^^=!vP7U-$PlJcj&E#g(IQMKVO0?Mvf5)I zn@iq)5Y9#hs)txm@Z80T#Be?$zXyXlRZepwo+^r(C}LqZ7m}#QvPYEWJsrf8_px1uXccTe#a zxa?j_axpCjHO0HgY+pzr;t}HEf{+zh!S7#LHz9RWBcjzjG-ksw?*wAThT=3q(U-jImilLo4&bMlJ)1 zxq+Hj#IN55vFF(9z+zp6m@8k&eY!?t9&$409S%CUv>wDZyVF+VlgluUU7@w(wCl%$ zo23q=V_@4>P%M>4W0F!J?x)7+CPpH$pfkaQ8_aB4lt*PG0eOl$l2oZd;O&6oOqePx zGMUwOGl>P7gbwkLVh-<$*mEoSmTus+jw}Vp8i3Rc+k<3BT3s&sA}#V^1W0wxl7AFF zX%7G;iqXxeh~m6BArh#ZJ#0B~zp^KpOr9kf-z_R6Yg!@uxqtU52f^C&8o567guF9K?a|lx@ zUndYaO>se{-qx;6X%J-{Y)`YZ^=ncmr|lsH_?!x0>??8wYW2Eaw7A+f;sS-72V5qU zQ#{1=l3{7~&Q^Ms^#^1K_8WDGI1qrNFMSiKPKrE55l;_;>gcy-YN+spJvdnSGs1yT z43?CVYv|^bl$EK0>&pmirBD!!wl*}mB=78~Ra+AMQTwf;Vn-hQbE(Eed;lQuDNUPX z0<_u6feSz@FC46-<7i|~y8!#bhzY9_D5-;!OPBC(r1=SLlty<@b%P1{DczG^tejo& zlB2L9(P6{Xfj}wOM6*?)Is80WA2N4S4m#=q{dFJJ78nSZ@C+bl;`sUwA(!%jL`f(K zMC^1yQvof4x~5#yQ_^drKmUkr=;gl-06h2u)#_XGZ=Bdx;=RW&slhSw{h0UTw z+DfWR+c5|K_HE!t^NN$8Q%FBEe&EWoYv6Le2VA;}y+FU) zllquu0Z!RTvtDcleR=fMtL?R$Vck4rPD*1g#R_va#WjkFv{2R)U-c+ROXMWKOb=QS zTD5JLC+>Pv+Nza|2#qnMV}w_50XWg%fxPB|D;`xTeG1CZF^uRtV0d8xE<2qBuLMKh znQS@Iu%g`FGhL*;?$TF1Z zUo}JYLjz`b7M@<((@>n%-9jtXppdfA3BaDvT*;Lk{IzvF$6j2uvK6EUu9QgG+IY^L zFDxY!r$dFdL5E6Oby*Q^f=-{5es`==P!HDTZuZua`1o{cid3)0QOEe9^0 z7RggvhTS-BgU}j+#zl#M<}PTML4}$rq>b>gx#C3qrq^@O9r%4*5qv)j+yk?3KA*$AXM*D`aA11vuEB1{FD+ULUwgy%W)FF0wcAHXs*x* z%(EBu8!D(r>*1gR4t<||wpdnWWr)I=$HZ#A!TRVetElJPhSjl9Mbc=klx)Er&^(z+ zSrjMTFa1o=za~~rW;HlQ8S1w=ZBtz@OVC|p>y9aVYEBL^Hmu*L!1vjf&D$U?N$)*& zKuW^6vr#~zGIYW5BE^W5Rs8B616h@8B?Dog>kP?mHQx^;Za$3LDpps8G&B<)^we-j z^lujs70x6G7qNf#}F1(PD93wE0`>upslk#?2NsH_UlyTmf2I_lD$VOBF0u z;O68Y*OxP?ST!ABx!J1f+vbX6F>C}pdJ(1`D}4$&^9;LTDOKIKV&u}?Nq<~ErKSd+ z(!-&fg2mCg@e&M0&c+vv!rl01x}f>YQ$KH^W(3EBThUA#6KbWiVXoiqEw|U&j;5U< zMx0WhmLtVsiRRF#5bj+1{z={3djNG~Ziin*(L6j^U;ZkgCH+wWVO%LG^&$+tzJaHY z)^(CzXEFsL>3^k!iNg=)L*s?$Cm%ZTy_sUohZ*mjKG$^jJc&?JLj}*{Th?vzB zXh)&i0+M!QXV*Q5bs4lk=%O>x&UXl=W~uo0KCd9rvN3=$_1x7LyR_cEw}{D#sx)M2 zVlZn?j8wEuvNG`lKk~}fPIR4=zSupV5<9a;U)x*yWs8=`EKV6(kU!3g+5PtrgLh4X z`D#(pd3Xl{;iHCkEGr6&=?aw$R)L(Bz1M7J*F)wqGz#TpPYr^Z8N(xB(A5}T<@3S= zT3i#CHp3zjoo$uusVg1S#@mG4nqRhZ!M{FmhgQL6VhOSn5eG45`Od);y4oppl18+Y z0wVXMyyc=iySq0W2eol>8rc%#046sB%jlk1%6SICgaN39g?0hmJ)%fxP%zKv644AH z(v6e$q(z(b(?Njs;bL$JyXbvZ>Cp=Wp$X)JfZ$P1JKHT%`^GOx=~qJ&j?N#J^^SvV zec1ezVaXPiuDAXyu)+J)C+yxl67rQhn=qBd1J?-JM!9kk5q*p1`Y9x$*2-_R za^d>KDp>n}z?yAygSJj@On3`ppc5*SqKTu>0#Q4k{Rc!a?*+rIBH{A|=`Dyzs!zUv z004=yVN6nUC|jymS-SrCa^?a#MEcmeVaxe@bQj?|_fJ0c`HYD8+-LuYxin9Rh~p0r z@Ztflb>zHn|MqTXsqt=enchDO8JPDpvN>jLpRpI?UrpnH*X`34S0!-50mqSvLBYU% zb+?nwl14YaTRV|b)sR62?X=BXG!G#NO)KFYMROzUmW*+wC=H_|qtnH96^EEj9|dTW zw?J;me0+4%dnSv84U342P4krL5i}>7PMi~n`qwFzlR}`1E}AkJ51rUtBAyT~m|dLv z7ukEZg(h3#>&r0~T^Lxpn~%}hmrCY1qIjSlHNm|LUd2G4kN|lYGkM@-9sVL>$M=w$ zh@homL{J%h^I-F-#&|a-36zj_^7l(udTyk)+SQ3t>cy1P%(P4qx(q(XpdqtSYAmYB zh}%Zt7S01Sfx3t2Hgz!-H|Ic*N64y;E2<7u6`{k)Sjta~h*8$JlUg{b);@^UlP8YA zuAqV6C>woDXO#HJ<={1Dr7=5dOonGkLS;{&%bb*~S%b^Dz*bNM^jb<#sl6@5F%^kX z*;L6yHe?_$o3$Y`@4-6i_t%?q^O`V62^Xi?Gbc67Te4z51&T>@q|o=ZjJR!jpL zJWap!vXFX##hFK8xCGAD!Lm~ElqSWj9cuwDP;WO^XnCi6vLUbBSyCaTb3A;^$7xQ4c1L2Olk8$?owEA^0nL%SA087|2m+ma9wOn$1LSHGe{ z8BQ?Pu~X4VS!CWl(#T1rw1@u6VJTH0{c4*5mpZYnfFfNC>#1nReeo1lXCriKV@vMJWYL`*qW zvly|LoaDw81ibB3}TnL*3Rf^^C>TQpeb5j{PGT@xIN z=+vPD4X`31<}B6M6okY(8}aY}#jz}3QlWRj5T*}!AQAheXKU~zqo~!U2#7>Qr_6M? z<;57oy#=4qMxkPYDZHfkwjG5zY;j?P$@Zg2rnYIBK<6n{I;}6_DXoXrY}UXFDAaK` z=^(hjKWEV3^<~Zz*><|8=|h}tvY`fY_ga8NF*M|Wyd-7-ut?BTSR2NAAhm3v!{(t^ zTU%MK!J0EROa>OyXa+J+NPAQQgfflR*$FLPcO}IzWp&C4KWrRp*o5S1N?!3MS_EwG zv~{VLZD9!g+%hY;6bJTj9v!JWTXL6N&&kE(Ci-3*t#3*I@RXuSD51i18Tc_ySmg2`rw(!LzDRLf7f@zoAYCKQboG)_n_(+JBO}&5 zk$_=}N@vx;28reHcWjPrvtj+~za3j4+U$Xf}c7w+o4ZJm?jgW2C1g?xXflfGW z6LVYdadY|fi3Fse7>&oBq-tPD2_n!}Bhd~(qYVY1Lzc)Aq!JE1ppRZp6y7rSjMxJO zjVo=UMV&&uMFrHeX}oLd28~G)!Yz?Gth(gh#fL2wv{Q7uD{VA(%gt{(+S3*#=LDN; z354ynmL+k?g2S!v0Rl8P2e%2@Gx1+oMFjjCK@pSeyOa0xq@uN2t(g6I%uyuiY?*GuzrF?k|v>G^h|H8HDGjssnH#ad0OE+ zLQ9lm0Whpz-u#lRDzd1;jH2QfV=x>_c6MvL_TfwNT;wt)@#txfY-JAE5Bu$VMGg?% zLEHl3Dx^FOUztNoTlSL&N_~nlZl0!QY6H{`7O}N{bHaHsh!>_#qp@MSE+k=)7WDWmh zb7^U)7!-xeA**fRH>^w#8(^tyHOZO=%cAfj5DZS$bjuLn3FSlEtOlfW;VpKXUGtU@ zW-l_t=t8C%-nR6~NEa0NQ4kqaNNi{jdXTWT2dy`?Y_kFqqFL$jD6>fU`oijDt0>l{$dJ%TB=V)K^#h&9h&r}nllytw(IbKL*J0Bvru%Wk%M)q=Es-;vm8D1F z07Zhr9GKk^G}OvVD$uk%T9*f+jiOWlXlP=6X~Vu`=jMVh7DTr#BK5@Gl4cZ(l>FMb zR2j2=>7}s*1`%phiVu9Fk8#zU%om#&CnE~C*QY&OE-{HGxy|$#rp&61Oqk<}KJJKO$Eb&b>X7 zBe-iB5|PcW3)ql>?M>d;nL#^TDrCZkJtc-=4)CF&;)89=j@`}1ikKa&#=0zGXccPGICNE0CeUz;@K>9JB4p0Ws6ciHLh)}G(j7{2ii?X$m}{V zivo7=Y2F>Z;h1#=;sizEQD9j+D_?S0{7r<_p`lbKPf>6ZYJvLjL_=houDkEMpFd0@Tv0ynVMvH^)vVZ&k}!xoI_Feyu*1~11)Ys3)U zN^J!AWcDoqjX|0~66@AYbjK3}*)Mktsii}!uf)3M^li!|fxa=TaiBa1s6*mKeHtJG zU~Hjyw8eo=64ORGN;U}*EQ@#un&X-h5m8h625 z%Gj`OWv@x4#vsG!Z$%jQO|qk^MJlejH6#6Z4`w!I+8djTr7_0ZEJh|&GQS1>qi0XE zgk3>6U>$1Ww>IaM6n)p*#xDa5fATG0wl);dxPQ-6W=-Zh4`}5i)9`f3PtjF$@82Ra z{;Ji7Gy?JWfUyWY!zd!TYAE+xaR${GMmLWv3lG-IgMlx<08+qHqkX1p^QGoOvBK=d zBv6nzZ$RU(QKe&Rgs=$KR8}BjwPpxIFu{xDz5Jn@LQtm|z$nP1#!X(d3j2yxCc3=1 z&eXHWM>22qThX&8snpVXgIqbHpTLWlfrdS=I9%NF$TpixjaGn8THAuZG9_V%4jR^G zQfV5#{(~zfF{aLJ4Mciv57S=8%|((ZE^@75=vb5x&>HX#P)nT7THUEbODwfd646KT z@9s*op(t$hbocfbnKnEVA`_Z)h@&mgz>&}(Jjf&fv#FUI{9s!K3@oHl z?p+2}LZS*a>qfYs5l|e99D!dV{HqNr-q#F}O`3p})1=4D%*-84SCtoN^qJkQF{J83 zS)a{7!gz&lv@*7?BCw!I`$Y3myfe_S^SUCIXSi)cim3fs$a>Y4A86bnwQ`wQ_8C4r z;L~oMV^d)>!pQc1qSfIjzrNe?QYsJL4Olwh*4J%(Y=0e?9?thZmj3xQwT&~6%zl4h z&DWD#SRDht0B5B*M5nE?_UKmqAlM$yJS)+x5N-T+R1U1!Q*n-QL^2RDjc}HW1r{181U!LqNP^juwdU~fD*}Wg zSEjf$eD&Ys4fRH+!}$XWCiT`y8dp+~ZiNy0>Lq=eXC;ZS(;X|3eex5#T0_3doRa;B-Ku)I-=%z>(;f3aO*V5CwS@3`{6Ju-LrH)l-S%|Sr5~&ey&8cO>E1DmLdzcw*$&2FU(|(Ftc(L?E6F{pC%P&2yEgY_ChUP2E@;SqaxdR0QAa+@Q z|AvPwCIT&Qt1lQf4FxI8;fh6n(ve+#bh^x2^_Sg#XAd%P$VQnt)h-< z!7hW3O|_a*UYoP(haHqXY_)aR-c&7hC2?S`&%t1D?(`jSXh_j4ioejHhEH-Bb&3lb zFd%H{mCPXVOwHWm3frz;%rjDtmVJk;(Ds?9KF{nVw#`>;hTo2NK3+z=5%JbO(6_pM zt;U!ZKd#u8Z0iW!Z4D!0)pi};<6VwVHLlsP+me7;C*&AyZW`Z$g`6M&D$9o&CTLRf ztb&Ev@3wil6T`-_PwSz@`AJzdXajWDahYjiVgfZ|%!=y`n?OT}Fvq(xY#9Iuq}+f{ zI82y#xLjG0nz)pH zdru%WZUun!^-tf6$(Bc7R9G@Gy+zR4k`Yd+W0RsaVHU96Hs&}>)mo@f-C`OCTCq&q z15E+npq53<>YH@*N)c&x1IKB9BJ0G&Oe_%%0A8Lm4(N-#g{Ps5$*{?Wi{R@mH9WWh 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

?{WRq>B6H!|{m!_S#XhV7^PhW%WL_V<*z6 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%0A_lKnZ5soXr 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 z�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%0Av2B(_2WCz-q&H&kUFNyQEVz?@ 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≦QXMkdm9$=JN>t0JvMG(QkR7^HY6Vk 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/4.png b/JinYuan.ControlLib/Resources/4.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6c4383d689830f175f8c9c7f8d484ef1749466 GIT binary patch literal 342117 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 z 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%0AW`B|!HvSMoLWZdVAHCFl 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�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 JPDHLkV1jAgLKpx5 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/LeftSelected3.png b/JinYuan.ControlLib/Resources/LeftSelected3.png new file mode 100644 index 0000000000000000000000000000000000000000..561b10b76c0c929e2c1fca71ae1cebd940809654 GIT binary patch literal 9210 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 Q{{R3007*qoM6N<$f(q64%m4rY literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/LeftUnSelected.png b/JinYuan.ControlLib/Resources/LeftUnSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..b024137ac2974e2a0b14080ea829363ecf1abb7b GIT binary patch literal 2099 zcmV-32+a41P)Luj=?AuZ(8>xfCB)Y1aKb!k1hK3qg2!&9Bw6i5SvQSPQ*PR9w6quMB*h7 z9dibv$^6X3P3xypf^7hH*$S}!7^M>QIStYi1QC^$frL_sC=o}&d>0Xi*cGHi*NKYH(K^tot zyHbKFfVKj3H$dv!V7K*bN)dE8JZ)g51T4)qe=nq)SbmHhuK%Eu@;qZRZD;eTiL|LKt7uYv;5>wr0QLdcZX1E- zAfFtAD-f-63!;)kuq=f5hAY_l4|k~hxRxAWRiCA)=?kQZ_|KMGIIyv%vo$eFI+SpI zom(qH2Y5jlh(s7fj|Y2qzE{X3FB(Rv;c?2PYfR$|NW2Ill|b@t-sx{1^0QNLxA(x| z4b8^{;DzNNSR9s4_bGq(_DkvU_Z!Y9OELq)YN!C>6CnN^V0?9BPHXFtnY@hlfqm71 zVU-ls;( zOTK9To4Kjc<5~k7Oyt}CwR$h9hrL$*U~uzJeRJUqL=hR>zbJuJbx-tiQOi6%arVTt zVXSOVK>~Fw0ZctOPb{7V@FP1&Y!2qKNoX_I;f?fJbqAt+Rn`EeLOkH~haV62-t$a) zVt7S;mSzz{eN+PJWx#mYS~l7=0kh-(g(rL`gmhPa{qvTAh+`mnG}O22WG*o_tQT@O z?67dfb}f??GvAXWmKqTsB4Y1acB|}ma~cc-hCT;RxThQ(vXwJnYqN>Di-e;f9In6T zrblm>IFMLLa)Ias5kCZwDnnb=blBV;a)~iBf#eEyT8dS+24xpPE)YKwh;4f^6Y}}!kl{erj*INXIY1*U=A$x2N#}oIAji@{G+ByY@i+v38&}FZM}E@BJshy zbG1e)8y!9|zW^d-4IZ_eRK*5m(GZz+qfZ56+uljXFAvS-QcL>W zuo3{q1d%)r;yred*gT}hF2bvF2hQ@zfd$tX}O%tHaOhQXd!X4_egpX>EtqO>bw)gHln@=Z()j^j9C0J5Vuu@covf5=dcH0T0 z<{^3Q0=j}7zIudLIzm8O)Or5fu}b5z zYaBjV3-lKv@kJ0FSzSun=2nnST!+gWM2*Ct@)KWabQf`Xh*CuSEMT5qs<}|Lx&5fB z<8(5PK)9xXE=pRy(6lj3qhkCG#J>jcLjYl0=FNeYorT*Mg2VNZ)u1}E_E))F+0kkt z(DUk_w*Y(_K<7rE;8r1>oIUutP>?& zhnAj!ClFGH70&_qsZxYn8N5w{_!*G7?fiM`e-G5kp$mZD4jk77J(r!0J3YSFg><|K d;B5e<{{z2F0NbX-RQLb@002ovPDHLkV1oAB;nDyA literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/LeftUnSelected2.png b/JinYuan.ControlLib/Resources/LeftUnSelected2.png new file mode 100644 index 0000000000000000000000000000000000000000..e08c43d62985ce95031925e3650aedadd25ee0f9 GIT binary patch literal 9154 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/Red.png b/JinYuan.ControlLib/Resources/Red.png new file mode 100644 index 0000000000000000000000000000000000000000..6fc76cdca6dcd29541e95c46c539a22cf6b72e38 GIT binary patch literal 389 zcmV;00eb$4P)4^jfoBn%MNqCJu{1{AP34oMqO|uI1{u4iuonD5uC_amPJhkQoyQ=b7g338ci8{ z%8P&nIUeNDKeMfzeGf2IsUfa_ZTexJ%wO?>vFXS-D2R#T>`%ZfaOwev;l(l_byKbn z9PXOxykX3YX)1zLygOVJ_XR37TQZV<17t~Il=T!=>T~3@5mQ3~N^VAkcW?*nAU?3@ zM+n0bfQEo#8hG-62Cxpaf{+9=>iynM=738NxCSIU~+?p1FJXo3swh;BuV07X(da~YNImRdA9?|re6yT#0+=v=b#c&bP j!T5$Ceg&>FCX)PSNk29OUN1=fc&nC|SX>A+$jT)EtGcIlzA=+4gi z0GNkqA`WFDjvPar%LTW)@wlV0;c#H~>x(h=Rr$r+ha{Np?5r`~KpF7-h}}T4_1I zVN2hyRB08uj%UtPpRvVZiTyA7eBYp8R-DLa4@}1}(LY{|Km#R8OK^{P88e}+G<6R6 zq;~vtvjr3irPNhuJ~M0Q9Ge`@glo0m3S1fZ(&%v~~lS}xo64O`Gk%9JWC!syZoPm(w3 zsQ_l&DsBM<6POLO({c;2?>?XcX%(7A)wDN2$Zb8#BKi)?zm@NGVe>B_u7g|J0dL9L zYuKvK@fI6wD(kU=>LCL#9!{X^E|q$GuM5pyufc13*U1M~ z$adJ4bhIKD+@_BrGicIXLWmGlOdRD) zdRD{?o_O|lzOQ%9EZV)Y6|hjY!`JUb7(%U;7E#qN5qAffb8-<_{Q_Xdae(iHKhcRLRaFOuLP1 z!+ZFQEo?n$V_`79*DtJ2eiWD}Z`#Ft^AiXiMB{NtW5(6LGwxV#(vt(M306e1x4iD9 zNBo?J;03SqpBMwAE5dZ)H07*qoM6N<$g12DA`Tzg` literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/RightSelected3.png b/JinYuan.ControlLib/Resources/RightSelected3.png new file mode 100644 index 0000000000000000000000000000000000000000..5de3c7d0d5104cd6ae5f1d256ff7bee24536d994 GIT binary patch literal 9021 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/RightUnSelected.png b/JinYuan.ControlLib/Resources/RightUnSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..91962061730e12384f617ad19ca75b89ae7cb14b GIT binary patch literal 1887 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/Title.png b/JinYuan.ControlLib/Resources/Title.png new file mode 100644 index 0000000000000000000000000000000000000000..38a87f7f43037473f7ee06a05dab44e76ae97d4d GIT binary patch literal 1232 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/bg2.png b/JinYuan.ControlLib/Resources/bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..42101571a195a1ab3f522dd29a40cd233cf4cfc1 GIT binary patch literal 335436 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

XL3aQ#} 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 _ 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ν%ft(~mE%8}uQR>gC3g`8DMj?qBdH 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

T1lSk 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�Wh2kEBhqPmgUU4C8vrcgfJK1=w5_wt~vl7Eph1%wc0Hvf`&r(xozVxy@8L@I~MV)O3+BIe&aX|!9{AM{6%H^>{pfd3U z^>sQP|GvZ_T+bW+xDrSBo^xVA z6V~XHHNAgP0OVh>l5VoV>G0D$=SY{(e}FaOFptn=Y{TZfRvEoyw244cg_1cQy3!uU z_E~_R5-BZLeD;}3x*enO1xM&-x4IGjYQVbWyeBRdf z1(DPkb)WL{ya0sHl-xUgxI!Zdt;i4Q5axdEdJkJNGj$AR zQ;1{L1mHWVR#rn?xm;ulmaH__j)hz6pY6x1A;ONdU5m2w^VVw(MkfQUmfflCvqAsa zmenSfmHE^mWjM&mQGRkBOB-Gt8@q_JHzXSA*y^~1Z#(|kSr{YPh2P~mbM5O`8Uiy{ zOlBNsy=rk}yc^|~hoG2POWP8s9yyr4x1{&ev=<-19gtMQzRyU#;@fXI82i<(nOA+6 znHUDrxp@GMfaDQ6si?i7EfB%{MXqeWyz`h(j=}avOynZK$$!(uF%He4y3iMLclF$L znZqP!$+unf=;L$GH*~DvH~67<3(t&ow=B)IJ_)!Be6DSG`dDPY*ovSgdHr&oQI*fy zQvBk-2XfD$P^_x6Hny}oaX3hS#@Pb&|7R>wvh zSdQ|u;-#6BR%oQNiute)?||DrnxDHpTv~Krg_LY^<#otCWR>uyJVMPcYyI5{{p6?|Npy!X1hT&Et~*QB<3D)a5W7k?@Iwr+M#b&MyKPPLld$_8tD3Y$Tg z$tF}IkJcrn_3ce3ed@q^qs7H8Dtg?--|2}duSgtrsrPyNJ?1wkeizP z+>HtTGdO)sB2y=UN%w!F?VnbR+k`%pcxPl4e}>#SZ{xS!DN7u~DXH^XHQ1g_UL`l+ zYk_jya@bX=$jkVq_nNiu+Cm!%*mJABj=DRR5+FIcL!M`i+D8v-W7Fl#8Yx=iPhB1c|xSJGstZQPabB^Bjtb4b=<+28vao})p@4R^boKJEc zlY^9$AQC7_c~ck}f|Cf?>(S@UjoBL67WxLne*A!!t4e1AIxeT;Ru-Js=;~3it zyPfsSci!|N;F8=Oh)d}iP~PfC<0=z|bYnoO-FrzkQ~M)%tCg49UouHqadKCX`aOc_ zj~(;sYHdzrtYEVq>?Z>PIS>R)!vE}eBdBTr+c{v%QMx`Vp%Jj?8jcH;nPB5N$>b4% zqe+6FR&ojxPOMHcz|T2#V-_X)fXw_UnF%{gPAy`Kk7Hjvw&o&vE=hjYyPT8esh~}c zD(`XsN>q&Nv+csPU%P8;9otRaMd2fY_tqBizRRns8}J3`-upmsZh`mno;rU(1=|-J z7awG1n$;!i+!&3y&`t--5sdbtk%L6aTC13QoH$CgP>oes<4maTNCLji3=>ra09L!Deo zM(H5M!I_j`H_KVaS)^$Qhs$N@%N)p34=QkO(IE<7#8W&1RepR)JY4Bx1N31x83y2` z?GVCzdab^7os$J}?VK${$+fzxE#M3nmt-kBTds_GaJX97cY#bnt87cU5QYZ-ZO+=y z%;%^r&K2LO>6ImN@VTOWaBHnEg3Bry`@Q_b3DlnBP)Ll=6}tG2TYBe|*Hi<2mr@L3 zKjbs~*y4>NzA`7mu|s)0)%Ae&ihX{?Hbgx(RrNW}Yc%fFX|9I$%fEiS2N=7~F|8N? zR!RCpm|=wExi7zHpkwbP5jmC

`yn;!(#w1#d}~@3qd0aaa24Sj<>`cEk!%^*~dv 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

`;w`C}B;QC&z_+EcGDpE$l)tT4S`_SY#O% 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 OVR^&aw94dh%>Myth9PDE literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/big_arrow.png b/JinYuan.ControlLib/Resources/big_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b97d348f8febfa25f321fc89720f049d0112c859 GIT binary patch literal 379 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 JEn*n({{R@4MCbqj literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/big_box_l.png b/JinYuan.ControlLib/Resources/big_box_l.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c80979714c80d4e1e6253f23c9e9620de1ec99 GIT binary patch literal 44379 zcmV)$K#sqOP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N40Du5VL_t(|+U)&nkZf6Y zANKv%I$2fs(YIeSnA<&r*8pNbHfj1rS|mY=aLb`DG6YA+ig1|W@Iym|BGi5b;RuHn zQaFMiERrKLNHt%#{GYY<-U9km-F@E$0PejbKECWza+&v4 z_T>|oeVWI0p4+~N$A6jo@rlc>JD+&Gevuu$;C-HV9~Zs9%Q((YYkyOJ11_xnyLcIX z;1Ao>@6pTjyG2Cvvi3Ldm;d*A*?+@{_8woTcl3foU2A3?{LEd;*w^~=ZJJm~kCJU)MI0eP^3myhN8*A|eK_uIeHO&?FY&8=?xAj zeV6l`VQ)j_Mb6BRLh00VHMP%+hPGXt_xp980Jv*FJ*y(o?q}1s>-?tR2~ubP0lP{_$Jl1@flZGOj2n|*eGKQ-W{#^uipeoKL418z0X z*s%d82G=t}(b6KI9vfUn+um8^eWmHg+6nwob6q(h0sxOz>%m(9cR&R2kCtn1Tz08e z`i5K}tDU3=Fqpk7j?^LYbf8@P7a-}78A8@6%u0cIQ)&)fF4?Y44`Z2&+<70LQ} z4v;dgHkNR7q{BewfZR~XGpmmg0OWAIokNba?!P)zhiUJOht2l5eN-tuHFziM_v?VQ`{^P~dwHyzf^E620G{&moNsR@ z23rVZ<#2OYex3%$vy2<~D(_bWo+hfb<+7#2R|Y%C-~VM3SW7@|17?1{{3HUd0Pquo zALZMhT7O?{@YQ@0;n~FXj}yH7{ya(30T%!stm+$_eDTIAwC`})E?* zUHj*;hRboqR3&des<=uYXhoXmLDxex7zf-Z zLaRAEp$}c=a25D62VD`kd2H)BL|P83i!Q#-&%foLB~K0)sTE*Xz)w7arU0Jr)7!S< z5|9^yWD;Q)01gG7azI`*$G`GnrByWcrGOtwe17WiBZaR#Zr^;591&z|oARl_kuUEg z0&xER4Q|^$r?-ysvJ^zn~L3gSGd!E30p4;tmoAGwz>lJ``2hkit#i1~04WmHk z@#Eeh{*}wi-x_gw{xDg7u3U29Jp37*NJ=ge1oG(m{zdq}>o2r!Cg0D<$zv=R|?QV9^QSe#2{Wyr;S)lW1 zYaQIin`*^E>l?$iZL|%PvJhyg&Y7djfuOu8ueWc4XbqSp7`EHxz^BMTQ3ZlrIn5zY zyLQ_Mjw*3^4X`;t>LQ0-&6kS|gKP(MDuZw+D$ufz{KSX|G#{jD6N+UN;>%;xe3?hM zmb`P-;dfr^nFQ(YuiWS02Sg@+ZpyYb2+5Yvki*~PNg;RS{8+E>i7;xGFE{V+EAQ8v zs;MJFD@rKLl~Y*%q8&SoYO0seDiZg(%Ewcxu4TLANL~EA)v#;B<2G~H(&M^LqO$8A zmERnc`}+qh^`R2^I9vcf^?EiO0I-V3Y{}uvCMW~3UqM`64kbCPRNGe$JBccAUuhNi zspZ>`#xcn-gt;KvpWEY+CIlYm;CeeMw%$~19f+~nBJfA6wcxm^%@{juci!qP%1-ypT4pCK|{5_CQBQ##teK6n>%~2ap6Z&wvYW^+r z$JA_7E3B-d(sgyN3ToS8dsg^7XQlHjZAGs=3%+Yba@=ye%Q0-auDlsb&FAAc>AM8a zsgPKXQ8(OfmvDJjD4qIzd>NAW0k7Sr4W);p5O|!TRkeh{8gQiEwp1=mJ<~NchJmx2;QyKmYlwc=7*GV6sJ3*&_ngg9e7lIC`K~FV;Vr`?lJqJuhzD*9Ns&Nd`gjC62tMtbt$nCz;?*q-_=X+khI!7{N3`;V=;9 z%SxcEhfu<2-cPwc2SoGupE+_E9c|-%=uLvCfF_UNdmw#)&9}2s$#sD(^6fQ`nRS7s z5;!G?+q}JX5n3IvPT@<7(0ecn-Ukx5SAiYoinQgbYH2wxmDF6BwfysB0@$I#mIf3)DS#hDMb}F^cn+KifZxzTYjyiZ3P3)kKRkgj4xCfLb<@|oR${Vvx=x_EB30U16{wX;&3CE`?W-6nQTgzi?A7AYYCj4;Gk4xbNDR5wgyoJw9^_ib4O`ZRTnvEHlecv`bumGz4(OpovTl?5OQ7w4sMag2!yo$51@86o`umwfYu~CH zSGalIJSwA6#YBG7Zyx(|paxDW*IOSf&HH_oYOE)(fwojSEqM*0UMi}d+jZTMn)@gr zvV_%?yk_s@Ik2L??^KQbJ%Qxcm!3z zP3pK>Lv9Hcz`6*;^|}MC!87HL-T}VoqFTK27>Ap~tRpI>DYvlK{UU-f^6xt=@9!vo z|C_3Bc{2r|p0IELcBB6*?9JHOaR8kPr`rPRZsFGQ-=%2TFX3|m!J!L|#Bqdpy*L7D zP(46jMa_*8`B%WpGcj$gqd+FN8TS=z3f$7q z_T?W#DqU-PHwJZN9J-DG+y?MEfL8$AY#u`!R1KSh>n@>rYW!&VBk~l$69A9$zD_pm zb5qFNwF0`Sy1D84ZMQ2G%|2k};CUdE`;ji*v;oprLl**VmR8YHWzFL+Ymm($v&&V* ze(Yxsj6e;cBF+71R64~YxOLKp(^_fF)zvOn7)$G{=C)cb+d9y7x!PI6F>*j$2)YtF zHDBIEKp*4rg_V(q6x>U8xFI68DQ=sh9Fv8&FGV&6Ur%O%A3_ z7=`t>Deb<4pjy6069k*vm#|qvqgnsaa!{-lO#mqe&JrMNh1GJPv?idM!%DTZgxXGO zWi{pFN(Pupzds0U8R57D$W?y2Qpz30l5bbqjX)RvlD(j+yFTJ0rqqIRE>YydMZMU8Z zs8e5W3a6W@vcr!8b%jW@?74JVP0RFbuNg-$jZ)M6Ff9Y zZT#E|e`d~j6x~s56D1ndmwJ(N>~Er$Dm!emcAK*=IiF4YM*R@{I!m5kLEI|6WCv5@}ruDS1eeZIZr%RTq#cI7#d;o~m1??#_XxvWX<~~3M%rCd+CAnsjr(-spTYAN}zSXO-^Acr_$tg9B92=y)5szCN~>iU;dTL z&0~D$s@<-+u3TSAtI0O(!}^Jz%I%X4kE0x)SyR%@A6MQdxs)GxxxYxB=u>$)9`v^< z&wKsX+@^j{yx$jmcpDq-2W7kQWfL{a_WOVZ#gySY0Hvk;v5L-g(;AG|~l(l5TCrP4fZ*iV+rDxdXw$HPTBHFZG5e4w<;a|JJJ#4vF zV%nThUsm%;$!vb`+R2BC$KSBy8u!!xDbLL`qOtlQ@Q zm1%LB+e^7LF4IA0XH?ll`mIp+TNXl)s5X}SlycALqSh&@qKNl_t}0!gfkz-x_EPRa z^QF;hs?c(uqV;(4UM0qpYV1V-=~T-7tEiMJphTN(+*ecDpAtwHacp&#-Ew&s$1(`9Quc$U?2KV3)%xSugnNtvYx$|! zQ9JvQ_tnxGPObS^gK25u^*+4il4eYH6g{|JLaW7iOr)6L2;Oh!`L^C~=f28cyZ5v4 zF3mkzWV*b4{uq~+uU8H?^QfxEKF!>tS{t`VGPg3>Qi^Te%XYDirQ~&-tHb;PE#=4K7IDxGDfcGF7~H5qM|IiV%yQM)yfoLkxmyHOGkCOE zCxhj0mgmvIZp~$uns1|d&92DD2M1i*TYH|?$=$4txb;4Au#zT3=PvNRjW&05ct3fT zLu~QJe=R+H?O*xmXBHpnP5iOf{=4{hyI1NMEa~qH5QpZOdt>Y=&`GrL9w5T#4U~Wi z+(O^-+wQ6TV_*N)Z+bx(zH~I(Y!8yMbwAj8OZk*S>cx+dh%TbMw=KigN-%Zw!L|JB z0O;u{x?lS>`Ip`BzrnlwRlVl^-vIs~fWLzGiFPzURZQ;y+po zsJk7(Xe)`gy^=rrU@Kp{p}-Hn>-3{ep8R@xeEP(nE}!|zQ@lMb8%h)N>aB-g_W`jc zx;~_qAX(#W`MTdmYuyng{FR+WsH}TN6FTcY$~Ac~qn7JE-$o-wYT0KQYbq*jB-Xq) z#P#*Q#UY|ic+J7Eyh=2NY};TiRRW=6)ZFt8Ov=Hq7bR$ zM^$1BsQ`=Eqjm!6v;^Z4F5~tKjrQG6M7sQ)${|t&kOP$xv}+LU1hRhS9dl+DxJ}2&tuix(%d2|9KrG+x%io{TkKQ-{v=> zoh@gwa*DNJT4vX+U$3n0#|Kr=97^-oZg8w}@LEOXvjoc;UQ5Vy_jZXUrEo;<>@Cr^k-ha65V2R}C}!PKJ#IY-G72raT?#9<(w+}O%WL^O|p zT5jiP0&1LjD1YzVO9+iE#maSM5B(2_1O1FsD1Ty0#Ps@CH_n#kA0+Eu|3U9w|Lxu# zpu2%Te&;viFCBaa&&m!YY7eR>P+6kWQ$La=4rPTKNVp*hx8b-WhT8}KWBL8KiSOU( zm4b-qsyxQeul`N{mk>kA9szg^;26Nu<74=T_vDZJ>h!;<4?p+|zB)O^&Yd33iNt!s z%f?%6>5rk!CQk9Mtv|2h%LhfJiG8Zyy8D~_#v8vIdhi6mmjV3W@t&Mq^`reXEH0^f zx~uUS>G5^Nrfs6Dv1!P<^@FD$>47I-+6h*+I%5xleyN4N`Ax({MWn+4I$b~jd#VS= zUq5)=S2>$1{OIlF$12C)w#TPWuv|VxN=wOaJ@bB~zEd9tOw`I~xo^+G)FT598raG$ zy$PNu2@`-zbAR5%-}oVS6R3LGw#L%@hA?J$)hIO9)n=ov8F%3(@%+RCa?2soUED<= zE~;W85V#9m9O6-TtUsj zR>h^u+q7X+0a@e+x`>X}2(R#1Up2lvzKFo;Ih=Y9xutSCn6;&?ist+C5-dxwZCZQ1 zEcBS$dTY5|Cjx34Vs}2f)ND8&@ZAoQaiFf3QzuBuw@JAa z_)Ox`{`(;U?# zBAO+S36Ap8t%I!Ip`Q>5i0~*mz-qqF7)$Hc<)w6xuP@u>9JPO(1*2LEOy{nZ}02X`8 ztJfl$)=MvP{==8Q(+*dMKs4R|uaNHllIfi<8S?4 zzxml8^c$b~adbz&AMg4f0r02rp4`9cXW>QK_eqjkZ5QF-QafHgw&UfopW3OLyXg84 zjsq^@7Fj00cN7@l5!Md7h1}?l^wz;EcHG@K{`$eI`FGkx;YXi;_8s-7_w3=xsv^j3yKCev20tk zFI&w_zJv8&aw01eBGn42HJ1axD#xqR+S^uFYr8ILHP!nzU$3pWtJ1~`AXg{7w8b_p zyGXhHHaTh)GnF=CFBQ}Hd{x?g&8@7hTH1TPY4yz&S~G_y^W>%C7%jDK(T-bMUd=35 zHA@sUxEoTbn&ysXM00L#*Uc49kG&?#CCnT?U2^pnrDHb5Ed;sM*!yrPxdxi|VP?%6 zlemZ6T-+?HV(yZ+&)@V?hwU4GYkgGWyHOVP>Hkva*k8Z(5>;D)csb)>{dM^TJMKq3 zzmQA$@l$*7E3$m>HP_qUWvkEp=;NQe`OiQ31^n5YU%;Qb^BeG;_!|L-!Qjom;n5Hg z&C-MW`0fV}pu74VfTmMJA>;D>nKZ5t< z>sS3uya+X*mP%@I&Wh^z2UpIq?bP8J4}ze!>8XkcrE|FCh6R6e*Wa!lAhd4k4_%jlhdbuvRZnwgfo4=#%G>`y*A`qKY?p6W2B_AJOHC}kQGL6ww3~R2mflI9M?_GAYXs+bGuV&& zgrE<=DOz;nUUK`bsEB#QM2ASq$D&>Ay&RKuG4>NVGe*f1NPwUmQyZrhrE$161zVgl z5CD=ot7&PKmd^9uTq2xm{#^2iSQF7skvo4O7G=fU+8eFG5&T3` z--fFi*EM5Tp$pB`*BmfUMKn*g6xZiao-3GIE4G6%t9fi`*)Lq$_Tjwl&ET@qDqOAy zylw9-KUUI=F|C!>c6Q$qP}|OSX||dAeH_0;4d&bNe&aHWZ(a|kE=N;BXww#4TXjod zwLBit0AE>OIW>bXy>Hbmw{yT^lA}I&#=au3<C!B@E@Hf~?Xltx=^ zA4n}vqGV;evd*fRmvO0<$A8AyS9iaWgng!ZsV_;HO;&6oLgT{En6XvV2$UzR7<_7uGa5tX%a5`u;wQsKLPohp9{G8 z+g8rf)w!E%eO1bBArM$?=4e8zM6p*i*Wg7&9)7c1KK==GH$Gzr-}S>!KDhOzr(c(! zxbX)5#2Y_=Uqh^cYOp++h+zfKt9}|T^(j5i#+NjSl8?ULwC(t} z;wEAY>i2&8-@||6j~@OE1i10`vv1+q@x65aTBMNz0dZvyWjT&ZN zRwj=@Z9-=(Xlgl#SiH22gfo7G+CbfC_-8Ir~uy?Qg7G20s-*^>&;xk|He}IIWl5ix3+i<)B$1ON+ zBTtefF(drucU~8-xbA+ttEuYp-6qlgIzcQkbBtKd@bSkV%YWneiT{3i_VLfivyXn> zQd+v%%F}A)7JV^@m$P!tw;A$LdYjrH>chY5^>VCLQhQ9Pn{9c^GXzv^e@Ql8n%+R-JCVV&C7 z4fFx^Z}_8!KLY?a-hOt^pB{fJJvez}PnIR1Ld0{MSHE0h{%9%=EIQR2y3kjSZt81C zcWib0t!Ez|zL`&FxE^@A@z(J-aQfui_VDTB^!Vf{PF5?VG7U-d3#;w%P8@pMa@+*T z_3_gaL9_q7gw0XwZ)wrR#I{W(cQAW!zXOdLW}gzv4a+g-j|ZJdGGNg~Yj3>!To1i@ zVb6%C{hicCVnn*Efv;3|&2#FE;2HrnKhOwvT4Q+R%lN#@p|{I({dNjjbddZeHo{<+ z=LODD{;(4*LDKVOxk4IcTNPQ9(A$ULCRmn9oJ1CRlBqI@QVETk!*ZP&IH&3yBx@Bl z2VAK$2KQ^F*2-%BKGn&Y5WyQjUuCVQ43M9{{J5G*X$`D8{Ce%rtDNy?Vf?k zytXy3(H&Q4{f+d7MGT$W;n-co(_ zy5_1`-o92><5+4nGdIB|cdSyLLDVa9>7Oypw^$@OK`Pq z#e73aG!IkD%p3!F`q6jfN1i^l|E)gz&c7q44}RHJY3V7gJf)SHC0MGBKodw#SdTq z5$NLU0R8}gpTv8TFjJQqDtA(X?7ery&lzfO0C*F?_k8Ey$A4-MBcL9=b@FYTKKW+) z>xc7r2XvV*$|{i$lG0c%ysm=#|yUD_=PI_Td}IznFSts~c}U z{u-V>`PlA1eUzS@9Q(87(pR}|QlGtDX6vxGKqj*nqnZN9kONk8 zjGZD%s}V+_xz*NOa$xpSwXBcFJ*vAUc&Y&AB3&29+?8V}zx}1MD$$Nzs-FwZ^H7OM z*P$+nlT&0=Qpns&di#li?YMLv>R>P=A-!Pz>M;KXuR@}|K4hjZ* zwX!lUwjXEYc`mp1dsiksitt@8?*yKb58jkWo?N$mA5)*d2#WFCTlucFKO!Q{nAJQN zQ$B4nD4#Y3{1`_sxgkyZ7x4Jm_VUvYN1TG{L_`)Mi$lNl)^GKLJ3p+8?w4=e#GiTd zbN;s_mX^7ZtEY#EaC!jLfI1GTyLhp0+Bj~O=(=myI9&ob&HtW#_@Vrsvt&z8X=!P-algqcGZ>r1Vjtr7xzkin_C1tEWIyBaqSc zO$Aj(*O$uaFtB=^jbt2FMIoYo`|ba_-+1F4=%EAnR{;E3yeG$3{cN4rUQUuU9uEru zci$fk>aNN+DW5!A3#Tdf=qHDWL#30W#X?^_JnCLOy0d(G=L@GF9lTlwnClH&-n{$x zSM14?kL;5tkJIC)$2eKWgh5BWgKfi zk8UJa%QFd^*Za!%VF0j7aIL;3Sy=4Q$348|qMb?Qh7d19s5c2$~u zMMOP@w5Im&jF)|*fAf(mo#k7dR#v}*DFJ|9M|Nz3*nHo>s{%En&8jSe@Hq_39>+mRGZJAgwR6?TN>Uai?qT zQ7_f9o6k?0^PIIHGb}sx*N=m0R7dL9b=+xtd5ldJamg!zwgTuAH#d{ovVJDc78gq`T%xy_kBM?wD^AacmALF&+LA# zpnmS;W2~NhBi(=Y$R4kr`YJ8Q;Z($2L|hi4a`Rx(y?S`Nd;P{M%SW$%&*}Z{PHs5! z?xvmI_}qhEu}4onvIobH(!-}u{p56sRk9ehmQB3rkX^&-nC@`9sZBQB-$V$NZ6&eE zD)8pOD=Jdnth%{NmwzM6bD}vcMNq2yTPF8|ZWxrKB2<4zOQp8Cv*BYoSg0g(@47Nn zb$Gn0Ih0O342@B-WxK%}QH=qlH6WJ&T*iUsg?!4m*+GkSr$EaSen~jb33Z!c_C`Ga%SA-fgT>= z&%gPm|NDyrBmf<}U&3MH@qIc0m55$eC7>FBbb5-T?|fVSFTOf?Yw`4(|CX;#p1Rr6 z%vPS#3bsm~eC3`}%&6c7OX=)DIvnoN2hWMH$_nZ^oU4Mm9#qG#d*!+|w6?E*rCPdH zU5&wZqspr0{i`3ocGqve^&>dA^&0{C3jqGFcu#)$s-L|xpWUlIfL-N)`X(Zv{!P38 z@UH^E;dh;WEa}OwrB9wcv?r%e{B*SfJk@XtGf_YeRQ2ZKP+vQ`)xCD(mD2~We&6yz zcMJJVNOwCuz46)mAK1g=kL{DkkL}U%v7el-d>M^)^_SB&oKZTfFLKj2piDM`bB5fr zg6*!m+HjwuTYvH5ZDitF3mHO6>SaX}=saa@23c<{;FB&*|^sba37M&B)}Rij6PMeI*szEXCEI zA@t zpE$aKV{8hj43|XoVwHgEPaflqPd<@9iPh7S#qqEH6}NQi$yTtGa!YS=Tcx~USQ&qc zGUs}JpV|b{W^$xFrNeL>YJT52_)~8iUL^RpaI38ocMRWT4PNu&Lmy1r;JOxCN3VZV z-9`P3Bu!YA{<_7j*Zh^w|D%3z=O2N{e*oYQ;ywA>SN-&Dep+WD2h=wJeD`<$L;NlK zBnQ;bF7K;9{`%^Zr}ypA$+0ifva~*k7(`%lD5AFx4!T#5UXeRD@0>ok^L?v_-3{a+ zbBjCa_~_01|G@7*zMt+teq;}yKJ{m(OHU~wC9MBqU*ws-V1>0PJ+1B6&q-8d)4H*f z$6FqId6%7gY&SjL67rJm{+um3)ot5%DzfdltN~!l^K+P6l*?%1ZsPGz-MovLj@Cl) zWcZHfU~OOH&<+eMu)wfAx_>U$kEgV%E>w3OKex7@e(YjCrd{{6VSkPBzB(OVCh&gT zXWQCn!@i<%AZx>DvO3?=;QKK?mNLCjdtLjzo4QT8On|KcF|DkA{}bS8HQHdq-;A{3 zy}&Bj`MwLg{!KC;ZZG{wgRQ&Y_4oIzGsflq7rCR>+A*i7zqnpsbenOfgBR>_UEiY- z0{}Fyd#sE2I)5Ic&{b3yBBFNi>f3hXGr!CA=J$6U{`FU1^FMRv4rbH#L`2t$fAo?3 zz>_EVvwHgQ7rWzcyzgcSo{}dwcv{6GW}aYXo>r-hn90@C^-$Ud(tKSXMEfPd^4(9g z{9)O@3X+S$rO&sLsFkAIm* zv~8oaPyd@(X2)#5e%@WG#H=hA4ZF`dttYx((Ip6oVbTZL8k(wwq`-+}!)YegJ^w%F)H&$c-l`+Ay~`82&XLR6o=3 zdDTwVF54Cmr?y+=v65XEV{glIwA-V1qz(7K=|1am)fvA;236RJHqdm&pNI6k70ZjV zi~Zd?^UvM3KOpT>TSmN=6DsW}>H1^TPXv)SZUU?7^ow=$A;ipKWo2en#Mt&uBD{8a zq`5-110a6z%A0oMbN{F>Zv7@z`L}M~!XN+aXZ=@S`1gT`DEswam;c`BiT_!B_R(MM zj(_cMyLkdExuqB!Vrdog&6mZ?+}z95f4RFa=4qb@q-_{&f~bvKd`F*i*52nc`95|c zqz+#9^2ZCEtlbh;`;W2AV;fd=vG7+u|KIVWH{XFSJ_hgy0sI8sljT)Eg~0p*>gxc$ z`=h^#znwmcfO_!e@?qCK{#yFz_>=VL8TzfpK>~UWBKs#&L^}_a8s92alim$?2)DVouMx@Ws^h+%KbX#pM!0^4eYO zUJQJ3Mu9NJ;6*<=(6tKcDwQ_ji$4|JhM=FCK+$bE8Ia7pT;F~^ypLSrbFceK6P3E; zj>9~0*7*L*_Jhku)!)(r-3Gt&RM5|QjOD)D$2)n0wZXQzg}nKbcajW?POw^pS*Pkx=trm^r_s;PB;>2gs&5Pi_*lowg_&6zK5zG}DL{$0Mf^N)zie{gVsKm7SG_|LugZwL{+%)b7s@?$Ca zd)<>?`-^gX?-%-+5!~twz2)mzeY>oX=CC~Z=TsURs0t9yDrB9xGVxK&GWRISn__LE!PpeechZxR?mPX4iyrd!ZdAx{< z>n_e)IZ~YnsOF1K#pT6^mGf#VkejNJeLzJY94AVBQ!U6-_p#~mx1sbh1M0brzvty= zuf05fpVKN?8Hen7P&fdr^7GSv-^JZmX}FIUdi)!Xd-5@UiX3O0oEl7G)(x&$-=>VO zDOXPf*7Jnb97v^1FrnI&@j4=^9`ku?ogFbMy5f3t!(REGANIpne>X&bw(Ica@BKdi z*{gbviRk+Jl@H`yxAZS`4}ay4%d>C)8sHYgTim@&%ITKMYTRW-wrE4@tEZEpbTW`` z>IB?YIlcP#H}kT~3EPR2we{lhYhS)%>+9d9usRh^&l;}^@f)B0KEM6eKZeE4?+5Uw z0Q^zBC*Qh~XY(rV^dj!Q?*}LW^=I&3rth=?_2CEUy>oO+ zZr^<4*}Yf3$4;a}4yQ+-J^g5L^zqm1!IMwY$B&-)qbE=OV#3MvRbaJy}WGSPAb)I zQ}4&jSKe>8O6HRRYy4Pf{w8MyZ)WrzPYhARs|;V5$ANX1uv&s@4XctXr?~|xCsY|s zE-`9@f(W|BLAvw3zugbt{2xHO@4D)zl!&e&TYa;;{|kRap56bbnT5A3jqQE+o;y;q zeoU#^nW1zXNVjzYdg_m9!~0tnWHvk3$y#9ggzd(YwZP7=e|-g2*E)-u*S|WsQhmLg z4y%6n>Ua6=&%cAiSN_|8`~-k6<30JsPxHB*TR?pcz!yIHYxq0q+YwL~ucb!^M-M(& zeSG|}Jvn(IaPMv}4)wL8n{xBkn@@lJ))#!4!>PF4_}sJabc_36w@)5_oIZZ|#2+6& z^^=pOuU4KXSF*KW8omDcNNmg5CL*G17dRae*-?#$l z$(3?gJ-BtpU-|Ce?T4@aFhu`fh?##smCmBY6@1&C*SG~ipyJZ0=#d`i zp^CnGbQ?!EKlAjPx8C-ZC;$W8Z@l&FUWZS9%|3qoar*et6Mu62%%7bsJ*^y;5`5(~ znD#9e$iMVH{3YfuFcDpIXa1F&3b6T%e0ec0XXyI{$ouKPrOuR$Jc*IOtq-i_Mcb{Z zb~Z28W}_Et7jYYgRhYoVhcDJZ4D=DJi=dAeMz6=5uah!+g-Cz>Frd}|Ti(P@2YiN7 zqIuXD-0ISAHT;dneQpk60~Cu?1YuYDH# zbcl!xP9HyzPk!;QxE}tr-}#>3<~QE>ckr&i_|BsDMCKGwJ^!=*$HW~8B8pCrbb*5- zk(=Ei4sLzs**9;#I^7w(>fBeKBKY8jWCo5mAa@BO@;$={J zu9$kVL7#qkqs4*aL_|RQ25vk-gu@5zOz}1;Z(^Or&Mw!_(FDwk{hW4+(9T+p`A zwt+M*@>=lNxGc=37T$DrC_O8XjynN;OBHqW0AG5Sak3V`;584(uX|WOS?fUa`X_6z ze=Y)X0G2kNtd&@~y_~EaZnGX%J+}eJW%=Ml;4pDZ^5B>LBRr7*I8OW`cOYr$I?A8R z^t$5bV4wZXe-M~o1-1W0&)-o9fWz)UZynr{4rX@a&1c`d@m+3+Qvr%}b>gvHa z)BVTy?c+y}?fB^lPEXgvsU;g$Op^^lY5z;kUs@ufmiY7w^zh7cv#wQFDi6q~gYyfy z^?_B~+v=*vmtM~7-?#e4kCdm;nJ6Nnm(X~erKhzwG%lU2RUvASZC;S;zB;cj-s1g>_BgB} zhgFfd%~TuI@Wt8(FV=%L;I?Yo1Xf2s(L_9$c3dp#W%Zc)M>tsHb?td$E+yJ~lf}a( zfc6(Pfo~i}^X20}3Sdwvjm^&2!aFrrO6(VXl@_D%sO^METPFTwIDJlOJ){D)jW_F0 z*4FAMFgRJ;zW$Z&qN(cY&L?ZTwgq@Ptd?OgwX#~mDFmW8sKz zu_2uLs+}Ck#Zx~?Qu~X`Ut%J9S*)EEwllYv@!v?%8e|9IwS?C40v-V|zi2lv*i&J( zeW5O4HO}@%3zU~(J=@x#;sra7s|l>NGCB^e`Lg<4Oa@g8KLf zjztC51L>BvN-r~%ZX1@ir3+9dPB8ZSrZb&!!gl+~S`1(N0Q4P3qwb=%x>^F{c`K{h z$@sOehShc$j5eJ{qJlUntnsrYWvr@;_&BHnP=}jB)FIHRnFG%Uj2&97`+J?_v|Gu*@GhH3s7Ua)! zvbKiNR9buU4chLaHmo+4)v3;+sgt$IwoIgmnb|Q4~2%6H>DL_rT#P_v@EG48w3*tEM%W<{z%IZsSzXJ`vH&Wb*Z9^g^uTz^XEMlT&9U z%rD~kg}c6JZwss2+JLu()p$`Komq|>_AlB%ec=YshSq#d`$WiKw&KAvuqm7}v=Z&7 z$?EBb8GYLz3Jk+&xxNI_=Ic#sm2L~Bo7#7`gwnNPX=io;GJu}xGEde55V7{U;p<;L zA=_41H-y!5ovcl%p9xq7Cu{pT8&q7(>P*0K0=aGH&7YTwYHs}%?c9+D)l^sq(R7}c z-#G=;+TvSIu>%fR%+w1wx*K+K_BBkL35#Kfi=Hi?-W+Y6D+}`u0^-$#d>Y({&IVj{zV%YhSt2z;3LonSO73gRY-*im1suJ zsHB=rY&Qy{?bU-SY1#GyExfyi(y2h&hSAB{ds%?Fkn^0ZjqCC!Ha-}ocfJ;@?OY5+?=7!)hi?0JvxaW3W08kgWIXtKD0;Ap82!Wm9NrDk{c{nN!x+qb?mA2v-P^U*wSm|w1m^X zMWTdS{sI#bZBkx9r%veg<5u$5X&72dU_EzOZO80PgjE1LEnO4GI2v!7TY~GPPVM^+ zEyq4JNz#@;%CJhbpEj-kxoN4HQ4j?tDx~G}RBykwR_S%3k+SGek z7GEykrjxb6@O2MpUi*N_*T1rlv%>18&Z72Y?OBs6O|G%3SP!bMQAEuXD8Z3~YKK?^ zRsn^GX|((zSA@zZC1a=P@C zR?-eaN11B7{81>E^<)r4n{YY`rowMqhGWkp zD!iMlMTonNkHE! z$UfME`Hjv=_`7(W@1e#*5|lPB$NK~PT$eb@lB%TghBNhu3f^6UCN^z_j_N89$pXb8 z%mph?@RGvUNlp)~&=IZm_e9%+c4_rSoPyIy%R=C5{1gTmwL^%>adQ{st;#mu^2f;& z4lS>pNg|F0Uqd!$n)7t+--w!1cjl_nn_0B!q#wiP-^Em-XFs;EBs$$FV7L^mJ=uTe z;IGqP<*y4!q0~)oey^MENkWoQ4bl2pMh#Xx<-GgqoqEZ|5wfLO3b%qbs?#?=Y&TMC z2d{6ysRZERy#uDm5XZNirbc2JK|Z@odo8=ZxIc%ea*0OT>(_4w@XVQIf2|$22z2#X zD&CmTr3;d-KXF0Z1-G|(`Wc>f-JKkNyf|?(sII^#kcEiPZj;`eVaPMTH%Rc&?m)iH z%^=Ijx}I=qmJ~KDh_YZHL|vXJ<<;(3{Qf#3GAK=9Quvq(Uu2h#K$;1^7*fzZh`Lv} zdUnw8Qv;?7=+p|iM1s^okv$)j#KCjNZQAr}WyDWYhFPB;cumR~m^kBkm>tPYKDm>H zoBVVXePdfaj(Ue?66*fN^_8P?G#*WA(~1jyMSH_W=nGLC5g`y~13t}Q>}7yNJy>rL ztdXo{X6Slg1=(@EVN6z*G2`p+$6@#TM)vXGQ-CSYzkL+_R0*RG<6Dpf#;f|^etM@; z32Gn%-!8(l5|2UA`8PZjCTbKIN=1Cq`G)ex2b}SCq+4V zwrIvxKRi(EFB>_(1B$gUMRrkVC2E@JoZe!JL<#H-N$Dt#Vvi z_4iQII<-*n`a}B%=r>k+OGQ3FVc!Ctxd{vG54X{0=nj2M{b19Pqpz?5JX|t0&t$zg z$DW!kmM9ox8gt9#J6WxW zCgtd$Q%XljhP=c1%S$QqdYR-bPW@8AFBx%vO0apu^T9X?$xHhO)eXIk-WRFqAKr$q z*}l){MqQCcH|AUeMwt7uITIUFEU49U#1i-0cAR+6pYs4B@&;AhER1%_QbZdC9bAr7 zmZv|ItN_E1R9aj4j1J%S%Wep>h$yyHt$gktDN5}%}$^T;aiErRT?=9T7ne#(pFl}qF7S6)XIqz}6 zerfE>@bKY^o5>l8x3+{zOM%hBBXK93VHD`Af7S=Tz{60a+?t1T%xlv&yYwdJ{TdeuXfHM;8W}bG^_$aPj4Y%i z3HBmb-hQh}evw!^l|eW?jD`?Js_bvicgIEGjv{=*4P0M$)~p8AmQ>1y1WFOZJ%I9F zxYdpnY|>=-Zmb!?0)1HBJSgF|*ZbUt;89n-DPk+O>_Nj>FF~_^xDB5}W;C3U7{&SZ zNzQlt)XK!Z??Vu^rD!S3&YE9#kjXa&YUt4FKgyVYb9kOv zT21Oywsk%uD(T#=F-$KZuW(SaaqPXnKWb@BF!uQT!;gqqT8-mD_I5(22ZoY$x&}x& z5u-pbae3Ukcaw2OGyWm+J>~;>H*TehRkV*TF?3rp?g$XpztTBTaVH4d!*{DM%hMVOiSA z&X?buQ7o%+*D|Tfk4)Axla=C7!)5JBKKvwb9P}9i`SbGZTeb^N%)wtN4VI6_ogtjo zn@nv2a~`b`&Xf_Ap(eQB8h9fk(7RH7^YqD_7% z*un=bh*1KMN^w#0SLQeSW^Z~km1PX)9F zp@8}<9+Hz;f6*XIoXMAHx^QCi$kg3hyDfkmdLBogk~EMQ1hnwcd7H2}tu4_rDdFCk z@$O~X>zI|`o`LH4^JLSGZk#dNm^cBO@M!f?~8T3V-TZida;$W#GuU zRZ@6m?Dy+Ay0pr+8H1bLuEt~~HGv9Xktr3EviwI$!dAZ&ufJQfcWkF6fKA9srh)@S zaSnIRO|yS^wLgb4aY$EbrHC)Bk86jF zY!4K}X4YD!4vo4uUN5(E@U*j%Ys4rhD12|&%8-p=XU`w}_)|rHQ7U*cJ|zy)=^`C! zr09s!V5&dui+3oTycO~SvCeO^fwa&*PxJG2BS8Sq=8(4Mv9acFt&|VvQ|b^k3NVjo z@ntWB6iy5UYp{B04AD`i95Xj+4W(UEcxBxf5&q}mwPSoT_v~Ybt9M(wp)?XnG+6Q> zwsMe)UF4i`9!O>i>;}zHf=J4M^?@s8MEAg(L9|~8FB%wi2yIkY0iEfre=Z-=Le(=yDqLdG#}+M)KIlbw?RA8;E6Lzz%v$arW*X*wrdL<10Y|{9 z*@8v`15ss^I3aY}i_6#_^V`ba2?xecir7jar}%S?k{~&9=l#E()20`z*rC2sP%P3y z|GqK*H2tw`7Td=LQ_N5MXEZn>`kLrK>aD}OqOcu-=4AT{5vy!{HtoO0c z(O5BR1xu*u7*Zsa0mAU-LQVmXWwTv3Ft&P~q>FiO>)DG*A{Q3H@FJ2D3~;ENOHqc0dJbV<~^RBz(!^IXE;VW=HiG2NY|!w3vdF-c>16>0;hvv$m$=nYi}tXXK(6lp?s(?>iIb z*3p1eHCe~Q!J)+1@^{!}=QD9j-$<`j6_oRLr((Bd0o1Xnlt#2LKiy4+Y~$IKj30n0 zw6*W!@4&y5NZtnl<{G$cUa#rNMW6Z(TFVZtF>JR9&?Hf@VZcI;&Ei7hLJ-1(L*dtQ ze;i?`m|hEHFg8@;m*Si2-ncWSVBe_ZD?Z%p18-S%n_OCkmg&tHEtx5PjcZe_b`?8gaY!Fa{pCi^kiR2ccQ zfX8nxwkf%al=>VjI(`qa=W1vs7QA~=%t{{YGC+qR-f5beEI}VmeT-a^;A0G$D3D(> zaqZqNBZSRi`2YB-Rx~AO^E4-4J)*#yX@VpDeLQwIW^QS{`Uf5FX&?#;pp*bcyT>K} zo)M};{ZVT38j&k^Ewr|-(iAZ?tBh)M+5^NTacW*i+_67PR2zPuFsY&)1OGuS3P*&2 zPvBksO9<>Scg9I?c9M2gNMG9^L)RSaCC zKahDZC2j}K#K5)Z`8_}+|=uSaTs-z-bFObl|&?Zkkr@SK!g!jjI$}S)N8JmW3|CH(SyL*%x>C= zXHYqUJCrX(!k`g@3;!_B7lUvxakUClU-SNDoa2kjy2snRYwG2HP z*Y*Q%3iV*9ZpJWg?oq73NK64Gvs(sV81^*}!URq0)H9*d&vbjCXi&3x&SS+FttM`B zPjE|H8-nJw+&_V#+STR5?+y?E!;<< z+Z`1|?tfjwqFcI|9kH3LYWs~+s`+g=3Mr~bQ5aq5b{(-~NoW?!^;TH(Ek4D->9~Yh)5f$l?zh0oW zz08S`4_nj z1coz5>t5V-s1d*XOiR76wQLf5j8F0%rubj>wGKEq@@jlJiE;- z39b>OpX|i>V}5~a#Qs^|eAkcmd_jX}R(6DDTnB_VQL^wAy>Hr<@T&g5R*QNUkdM<3 zhkJ9;B8Z-RNCYtcw4ae)WCe3Y>K;SLSYep2L zGv`LW)WvEqM=`L5Sp9L|(doO-MnT}WizMya_$teEe&`y6c>m#fhIN$lgOh9Dh=Xt3 z!>a5QHE2VuOjhb0TP>B)T$2Op&K{C>!OFB9xGYoMNeqVyWhkx-Y@<$BgkpmC>7p=J zw(-!V#n$!5PV|8iw|!?c;-IAk@QnKF@y}?`>?R4UnOYd-A!OC zxi%}VjX|pRi%0f+E{}Yj+sf$zAv0#2%Rke~%C%Jpg6MSsbA{y1l?UDGJlM07-j`se zR#1Q`ij!hkY~63FFIl7RI0hwygy||>FV|hxROGmt{Jc42wZ|iE^eAd~n>7Dr=-pga z;v@~20-L@zj<7B*R&!QPj@LUr+HMOu)T|#c@&0XVyUWw1OYMIL7!7uJ>F|9(SnqWK z@_CrIwl2}b-Cn8{-U-g)a=$)+!a5p{Bxu!U%uMC&>dun4P-x#mvP!t$MpK)o+G{+8~QWG#R!Mn8A;Ioh5yDH3kPKl1+c{bfGa%;0AfC zC*n_p<=5bE@_XLE&t$L=zqn zbfBMJkXx1{cE$Ouyd3$g-k;e(!(JGLUS~pDY!B?X3e9fOeEGh1#<$+I>fO=2)ZX^l ziSE-!Jnh~kbldnQ0be1k@7ERJdBot=6=e+HPB-nBFwFR)8t&O=Hds8)I5Pbq<;y49 zaIBi3c=+?t#jnzwT9a(Ok=W>slwtqL-S~j zm&VZv?Z+p}4-l_lDT%NS86s=QBOl z$QQ0Z;`&0QjtqvEw&}z9eVv(g&X4AmT_}Rg&X;2ICC?;+u0;3~g6x83$-{g9(~%q4 zhG=aG%dD^5Rzs?*>#P6W&#$rj@7g>q4&9e$iZ4#a0$d9;!nWHkzWYbHa0AC4`Bru8 z&jC#prru1QGQr1eIDq~kHN4hb_|8pM5oa3;8rhgt1do+Gg-;S;^j2M!D00@g#37TB z%jsL)$=X)^7D_6bxa^3h6aE0|__6W~Idb_hU>W%hXTfvnfw$I-y6vBF;>l~F}Pjzk)%HacPG`?f!8ZQw2R^RrU&aOU~b z%x^yDfw&8S;m0c}Gu>a0gCL+44#zgr+ym)>F}YNUa{sDaT*N!u2i8tV78A*6ijpjO zmT=BaLrDw?(_Pob1T9?)_761@{;LR`1Q0*Q!JU6JLv}g7PI`4a=xV%ZIpd)$0f_M~ zKB<6GF|m6jDM-(m>TiPK;Ki=1=qvwswiZeKrbh5G;Rj9qc7ImEU z29iV>6E7SuJeW3sWh%;E{J{C8Tw@?kN<)JKAC*gp@}%!w50#IPEdRQRrQO`?Ld&zQ z^ntfQZW=L(RfA^d+ap(2GCmh#cqdF=nlX(`Q-JHe`+)+c?S_!-!P%xJr+@`BBiuP( zlG3ZR>85oz8DVUSW|A{QhL3H+f3~+n=&9IFkt2SM-`dYLaZdX8vi+9JEix5T)w~%? z``Agd&e=1|itFf*X<2ly^}PY;am~7YHY7q0qi+#kXXlNrrn7*x^z;h#9uaM~S-P^-@pQ71Z~Ta6 zKFfJXc1bv&5O^xp|KZpINY_0g5+@J8UgyRQ#er#iru527z`!ujFpU`oVJZpRZC|Ct zbp5FAykPHq*?q-EBbEa?F>{niY}qA45w#s_P}3bt=gvQPsc<{=V;<2< zr%@cpI<(h;eGL8u4`u?VWcq>;A7RJY`KS`&Ew61|NBNSTvm(bW=U4hb0q+F;`)55f z=x4W=rpAb`4G{Hc-gJFClVMGFljmPzhVsf7IM6@YjRRub>@v;Q<5RNIO6)9 zhC>v&BRk4;%{@<+GyjGhsuxu=LGu04U!<|phfjNFbVBBy{`nPW z-2q#y12#p{mor7YIpOixm#_N8(fl>jl;)xDrbH9W7mO>1ic)sqb@^(oT;sbgxuY`~ z#=wA3u6Q~z3ggt|r$j$->HE63F9>RNTvU{?s3QAV`m3>pt=4Am0rXR_EEV~(h8qEl zajJJ+7raO*gdy={(P%7S>Cf+FMA}@>1wlt+Wq44NH3&X^*~g?cjB}D*tQ;zlo6f~! zCE=0s%YpyA=Y&UFIi$Sb8d`@ITzOKGw)nPx9yRwK7fZjwqj*GSq3o3M5JCf)QOu~~ zme8KOR+2J(g)tby*7iatG|T)mX437X8T~n=rHGVgG~kJc!Q9jk(ih$Nx_8=X$`$Gy zw89MwadCQ5Nd+>{KN_j;Ao9zmo z&J3P_ANSe^St{Dk*r(A!5*~NSiD;5j(l)4Bd9&mtqQ(9G7XUlv`SUXkEwtFaESPc` zD=<p{9g0I>f0W^N@s4? zF@d^P%Lo{Hm52UvwPbFh^9c5(Bv%puT2}FCR*yqFtANH~DH#T28_^=GpL5g(_6Ck2 zTd(c52+OJhY^%4ME)vuFD|RMTTq)^GKL3vYAc(%zwDI{=H(Dd)?iyp(xHHHB`^wM(mkVtYQsWvaSmkp zF9H62N9V^^6%BXhR5{xx`svFlpgs0h-i?1-B9{t>l)9PxQ?NYQGpSNg(EEN&#>7Th zv^=`GWUkTVSy9K2Q06sLeXZTwa@hrxQY=il9ADm%8X&@(`dx)s1-h#uO9ioU8&2xA zq6|XC&7>Wt;BF7MvaJ7qLMhLjjr}@)QIRPo@j2sEo%%a&ksLw}>a2?pj&_4ZOG@PqM`uCH)A1-oG9M4k_1^E`o{TCfL7CSr{imN0bM@eHD z@%48HK}s4XWhap{lQCj^n;O#0mrl!=lZJ|&Y2|1hFZA{bm;Wu?4eA-ieSJNw zjmSndFt0*E6b0g+0vd5_ogMo5`PPeA zUlTch3mk8M9D?d~{AP0Z50Q}?EH@&qCrX6caHbcZ`{zYuWB8enmnUf3p8y2dehF=2Y4wDLlHgqp>o_JZn>SoxHM*J#X530O=gGY z*pNqj8y>aGdGDm8>i}OR|3j~5UZ=bQ>AUzyjod8P-`KQB=C-5k#U7vhPFANTNhR)v z>wTUCHYPi#-DqNaCXZ6m7;HqEp4aBMchSok$J~7LYO*-U8~RA3FK-i9ps-5*OPAs+ zlQs+!o;&SXm`$h89=(6*0~}bNb4KoQ%#UkZl3Us%C`3eWp-V>nUQ6y4dL1}O6C3LU z90}%XFctT7R8lFwk&6!WcCZ72qHvEl*g)E?E`_HZAZN#UJK4)3JXXuOapki2%;+BLynkRS8u-|NrNQ?A$uWcP!YD=9KATFR4+QrbJ_HEnqCfZ< zVzbieX>H}X%`JYX`e$(^0({Pmp9Ya{jQv_DHAEUhL;mH3)20WBOT$l6WWwXTTcQS= zua!W;X}&35=EpoF0ID&6FE`OBV!J$qg{D10ece@Z$=f&eSb7=G3=(gCmEY%X|Da=3 zT6FrK!X47^k(E7cSlQf0;_iF_&#gP5u}q`ew%+5pQh4^-Y(t?yx8V#EG9yP#34!4M z)AM(gcW_JAK9?jL`YGmuXo$Hb<_7=e3(-j4p;akjf-kFqAFpH0wUsj;prRf!H(h?= zx#s$FXjubRkki|Ep>OQ3sDRH3sl73efu66Wjl@;v^5SRUF}gFXI4(qLjT+S4I`k&L z;T$(y0I|J2H(PlofCc&Vha~|#M2bQuo2R5eM--dKLw;`ad@eY!Z7J)&RfPxo(bz`F z&Gg)UQ3WG;I@WesW%?sz?7 zd;Kr3Zq8@yH)j&C+1-AB=6dVU*QlFm&>rz4Y-k<}Sj0j(U=;Lf$C3c1@cZ~u>c_3v z;KB-`F^_gm3fWg#SmWl_n1Tc6K22Lpn8dD}hW<`tcJY(iHIvoPN0;S6S(?6k2WKD# zo_x43-OBvgR_E@8H*nB&5N!w~JdhTqHfR4dnl6xFY0YCYHW(xB!`6KF5SE1Be2af_ za`7G%xfsd#B!8}pAuSB|ut)~(!huKPIi2SCLe+S}bPsAdHLze_h-L((GuBI_Gb)3) zuLkj1pWMLa@`{dJNj90!I>8`m&udpdsk75J5&y~CrnNPub)gn_Al8*>7~&}S+VJ6R z0)nBsk#iY+VTq&^%9bicBp;Oc8bYwfcFhjB1u*6N4;%9-n}5-Irl0K2_2Z;1Stw%9#*0C)rHLcn)Nsul);^B%=t(Syv4ZimchCa$b0 z512a*{gd237@~?eGBxwQiGXj=;q+%=#cmo9yRjwTU24~7E=dL^9Gc7a1HpwjgH|MV zZ2~Fs*f6&cfZ5_+>}Ol2gTv?E@dY-AhtK&B0`?2aq%pBHt3-z(KJ<>&PvoTTz1rhS zyQr!b@!6pvN}{~~$v3Z%P|;}9J#Sk&WAD1-M^RNFZ?Rl@^~ZfP9!JmX0}+f_a0kL?zCxlq6#g+pyQO}D4;;^#Fyg z(GeW@GBR(>p{lxC<9&c-`Shf=s@(YxkyRj-y zSjhL=Qp*npPvn7mdoh=hpXQLiZOx@EP-jX5+KB#wzFi9#gcT4HP@yddh2!;4r* zW6i7_de?hAF{_%f`*~Jx&8iP(h0!!?c7Gh|0A5IOKVe6fu`gJeumG0E#?_aTu5|9q zTYy=0wB6wMSACDqwt%u#0SIyVWxE}Qa=qaU)MX|=2f@mHH}A!&mipG6nI68tdKtZd z_vct58{dszooMWr(51Hnoa>w4hEi<$Lh={X(I zdVqvJcOvw1^%T9S0C>#jt7Hqu8jG=1vmoO>dc-|Ey@6nZE8!_+ zcJ1xA0luvi~zZX=rrN*|OOiL%+bi>#bBLpK%nk z*#?4=KCpM{W+TNutZJ9)`>$Z%O9602aPtI-@U!oq8Otnhhoq;Z?5)(0ZbCj}RXWrQ z3VFt0-RSfTfUS9AEv@uqfs>FMpI0Y+C`@G=7-DpC(Ziwx_#V+;jhuS=pYumD(gmVI zqfG-Is%rIW{I8$2tao7GaQW=rY>XJKL;ett$6{NTDp*m?8K_G;ap~(IpGDA#O<`T$ zH5-5yI6=%;&-{eL#Gmf)KU9xToCOYZ)S5%yyzSV*82CTlHj{e*Z6ba`zLi(WI6zWu zVAVI&$}5mS#r;nMkZi*Vz@TXkhpme!9NMQ`owB*(YBxWr~Cr)SQCh(RV!yGX}&t|UvVStR2cVJv}_ zRO};5I_xq|M-sUKr+5oD#De|{WeekDvRzd!!{_EP^3z{i6EN3FQ;Ar_>e<)8t(WWH z&qN+;-rVSk8+sd$H!!Q?s>US`na#TKuX>LHave)O3pawr;{dyEM<^6l@ywP^=;6NA zBTSZyH9Z9&k<6jFy3d4)A9ZKKe}##hkM~nKxq6?g@K*+7k!9@LL25S$k`XA^yKca) z$;z)Lk|BZr1KT(-qZ`G1{&^~Y2?!H$7Ur-2o-n@`*3u1P^SnbhHYW9E_b`Gvin$_lZv{bQ)8SF9Hz$mMNF1h(24 zU<6tfhPvD_5Y;K^nO%&{Xbl0H|6UZ}Y~vhtyo@Bv{-{aPP#5r#&8^eIludID5bgNl z)(Mh_Sdk?GL>s69Pvm-MJ{>SGCNvh0XQ)ro5JRzVpVH)gpj??tyUzQ!U=)7Mze z(bzAFDujn=jZk57BEh?|K%!c`@1Fuu2cU7B+qk1dOcBiEMgX@|E=%H6qv2^EpaeAy z9?Uag6+$oo$u{kT()D)tR9udlS(1ev(CoW16zmQVA6VyL(zBy~_QuqB!h18B)vH-@ zfz;DeEF^=BLk;Ub(WQ5@sd%-@OHdo6SnnZqPdRR-W^f8MrAgkydT0mrjo^tXCAB6T zTu?GfP9&BdkZ9oQrW(ZFk+NX-agrN?$Po{k-C4L72AK6=1JgbvlhucsMyjX1|29^< zF-!MjUQ$rJWt$tf6mMS`2U5Ml@7Z~CO+YEWrE6$b*H!Z#ugJr{3gy@D*T%E zhFJkqDim@f4!>H8d=kW_xx@7+C%yldioX9pAABuFs%Kx28}KnCL+d8>JJ@Pzf#fFc z$=G5sAs$GLCgGSqzDXzvL!t+Kn#(u*wzpihO)XaicLQi}U?BYnq8#!Bw$ zv4>3)_%S4G4%0atPV(I}3hUqQa6{xuxDvpCir_3rNR#HqP-?FiH0+5{hVWlfjvk^K zew}$ICwmK6P6BcVm_j*{;feuWatp1tDNXG%gbUHHeZm8*l*}vqq}D{^S=Ci&3@xEe zZ|D6GB!gGsZ30K7;Ve|VqYXP_W2s;qc*ZobGJuS4p_?6ITI>6lzUJu*o@{*cIQm7R z^{eSY;|;f}KRq`~#+=oh*FBz9uPE;XamFfdI=OfXdAi;I=YLB=Rf-+T!hLi}{N$*{ zfx;>h3?;flrvHxX&D>iOmrihu)F6i6D8TkCa9xpKH|yH9JB`<1p1hXRXCx}spKV480uwt%S5IK*nn@u z0k?GR1){iShD&O-(2~T-s`}GUb*!YcxE{;hVS4kxu|Kt8a>CVnex0)HRqb^|^cZ*6 z;D9O7cJnG{m?gH63qD2krAwlu`>8}$$-a~M5K3ha9J>y&e5ns{GI>_0dq-alc4voQE&EvsUBl^L zUK&*!8a6tZ09v@1HD0q7R(Lv=q!m>(P9Ip_K4Zj%fSOdz#N@qd7Gd=u1;M^)J${-TU}1r!`lfI7g7O|)-?l(&G0&i2dp&1Fnm*37M?0Wrey zE+Yie(&?f{C4^=^A|hV3Y?nRlp)3zrn`nVEnN!8}J_(Iu8^2* z9Toc|?xIV6!BMjse^}5=DO_hn>#8iO7b6g(92r*o(f2Z*ruXM1N5p@=4;3RREq-D} zxV7D?ZEl5$aPm{e?>lJJ|0JzCK6~Ms&-V2D3q;EE7n3841U(^Qp32lZTOzEui;OB5 zZ^nL>acs5oIVqy^W?bcT9}|DDTHQtDqsv4}RW}3p{Q{=2=8WE0f6J`~K(>7j1hRvl zJQQ&Y`{3(W2h5;la$`4OVr=ToV1Pyc+&4KJ=$s>Ab!1qWL9l z;3g8P5@KmS_pi_G=|JA-@V)F=dwb^(^NgjGjvc4()atgICE2QqC>`5LJ-Hm)mtszG z7<#}iDaFkGYGmzu-+v4r|F&%1>HzN!ht~rOjUz%3N;@q}V-^ z3CLc~RFh?r3ZYPKBP+zPfpB^J%xf(ly$oj)JFD5XjPi!lwSjnYTaj3`?W*pLcbY4E zVwWTff1j`0S{&iZJzCZzN{Nw&7zbcjz-L=QrKRq)j}xh&oLpAwm{BE`z&@FmvMS2U zpR(-R!8Rftz${=pmIYKuV{j&wQdT%iq{3Wig|N7`x6g1+`*4f4{h4<7RD53|_ZT#vWSTK{=ss_f|)nb_vz~J~UF%$#Rx(Q|{&s5HQ=sCk&h#gT3`CJG zHzy>h8@c$1xE{J!ouy*1e>9v1v^DdJ3kewNm?_pH3XEKvGJZ|!m7!3?_GzyM9%uU< z$fT?;JL8_Hd7)bN=63yMnPg04vuhirvP=o{``8&nFqoL2tq5zbL3-K^qC`*>8Pai0^Xdk`!NqOIK-aKzVzXp_Hb%2WJ2)*8R2zfg#q8Eo z9BMOlE9$1q;M=e%_cQ2i|BDfvOC>;?B)i^qyMgFV^FuyR{p78VVH}Ez+Q-3%nXrky zc%jiY1`BQb(0btI4MhL(N$TQN4QzBf5A1~n5_D=V0cZa4cLWjtsyz{m!@M^ObpX{a z=1?nD8>|Dk^+m~++HlX)$9N#|_G33!;AAJzZ<(K!%)l7sGoJKh?GhTdb9r%1%(HDP zeUqaHdfLH@LmeOh=*|9g4fW)e4|pE@c{=LJ)ThEmubD4Dk32p6aT9d43H0v8UQP-i zYB(GQzF{NDqS{i#s=b4$YmxI}+xl}AcxusBH`yg+P@u=3uFKPMvM_AZK)A;713)27pn;{sJePGzPd*8$^fBb`*w$D zr$*x`ZmO9q6FuOUn5LvJ#$&6z=Eh)=jPiWk)NJmO>uEKCZyv5sJGP5t4ol|>`eE?% zAl9T5VXcw;$~?pQi3^}vra6rKFC_4xd}Qo0%?(dK|La}JD}ijaiP9Ez_*_FRhr@Ck~#5mnV0dH!p7eX(=<9nV4YuG zZnJBWt$QvccIY+qE)mdb*iA0^BRoq{*74d5)~94`hHA6(4wLZp>w?$kNEYdK-EHfuON1~!~sZ}l)>fOnp``0Ttu_=|wy8PbE^lGEl;Z zFDBhnULfqxU7V$l@}of zhY67)LcRyVuv8zcc4XX~Ib4p2CuVq~nAM!p^<8?IxHRXS7!xz4yJznqGB{M}orKfL zZQTto>aqsJh6I7~xPitrX;}D5|K`8;dXqTE>t&+1W79cRano0=$7YaI*85C>q=|)A zR&-jZL@fxbNI8ZtMx7d9+MK0DV@@(KScQc;(XBhT)X{dEzx)1DXl!>4Z1pdh*GwG} z5f2P;o}S%L&93*CDS`v7SqK*R?@n}r+_nu)?93A?hjq?>*IqP2vlHiX~AHRFZ% zWEXda|M8e+gytKSxu$JH`@GlQgiz;8O$?3nEsR@scjhV&vVkc+TGKMD`&!4W>LMbE zLaxzh5v@MOV56DMx*|-X=9PN;$HqVt-gz25{{{;!RPp__um4JY<{Llqb93GaZZbr^ zp%VA_J6$qNj&-2>@g+$*7)KV+slc3rm)7?3L909j9f;N68UuD{bTHtqi&cbt{#OuM z8~QF51r$ZF_jEQCT4s+s;Qk4KILi>AuUO+J90+*Ux~)Tm?4bJz*l2jNso>=zBVK9$ z@^>F>@Q51tJ2dmhH!*qmcjyGbLEWu2X05p{D@-~h|1={I7*G3i<=Y2ivpeBOxY&#k z#dauwJf+*dpS!S#LiI}h`=5#A|E)=j&2ZcB4e|b=>iwTs{-sYh`M3U7#Q)a+_#3aZ zd-3)aCiiL60Dy$q^19K}f48^se*=2qWw5lMS!4L$E$08br4yLv{(JfUzhEaI#Kaq{ zGdKQUkn&@bMx&N>=yx4q3M?`J835 zAaXfy4%wC_)8<f#vS?HF)@=kYdeM3{{cy1MK4T-XvBI`&QW!( zi)a9fAJkt=+_V}c**Q+k{zCg6NrZ)h~{&!`}lK})%}gFElWUgy^~+RlWJ#%10xv1pLbwkbs_kouVNxWA<&7; zgD4NUAr2P1!h!&`%ByLUb+wa8pt^l)|XO{SaK-{$|3UW{YpQy;#{)}Xo89hz((LBA*yEYV& z(0*wmaVc48NvQJ8#^_T*XfWupNNr%8O-{I%sH)+ILJ?)y3j>&a*HX z4~zs4irQ>2h3ZZO&1eQeXMBlLB1kxtDTTYBXG`W!{*yhu1^#+UIC0ja0+mBq?edV_ z*6GiCbnbLJwM<))$FZF_wCf4korX6i2;k6>xO7g9=FKpSX>%{xq#ZL-F}YDZdU+4` z!6)xB-8)r*z^8=zmo?RHxMV4m%yH~&(AS+ng4hnb?w=7E&Ul!Am~8Z>Q~<97Ujdk% zPqMNvv(SDQXcQDGkHmqeDr&9n3;ty&ccuygU658VZyi~&Wj-5)O)*Ldq8U!&sB#EL7v?QeXd*m~v z@P_<9s0*LTf3pzb1un(}s21zS zPf#%rU`%?NFneET_38q+pWVjGii(bl`;+2CP`Utz8LzhF6pG1F!Hg=%f+^ZZu{=gG zy2sX0IkctaHjv#5ngBkw`eK_NJ6v|2Yf|=$wUMDb)Cdnz9;&-Np$L9YOIk8CsTFbh8MNQx&GG9qRES%VV_Nm_wIR(M)|PX=0YZ zm^*nF*CmQcG+&SNGkT; zkYCN&Z;s`_rLy~o{Nx%$mI6OK?0%58GJMZ~c~W(&8by}vYF|}dk8yb`!{qMsgf>My zP4Bib6GsjXDcp0Z%#ZZ>wt3HfQnw_93z#J6oW-+C3^{nESP5z+9H-UW4EpYv8#7E$ zVtW|6$}|~A93Iuw{gfQmgj4-Qo5vjdvI!3(Mrm)655ZgaCnBB_Q`pcsr+2Rz-A9_K zq43Ae4<`l{RNft#K0U&Le_h+sinu`to0wg?C+^ZL_eJh)emrrAvhcy@;BMq>f~+F` zPDo^_dpMn+kTs_7KK~wvtBTt)38xA@zOHR@e1wSBJ0Bw%RORdO_ImyEJ7_)41N^!_ z>tEu4$?raqx?P^aHV@VA{cp6TJGU~3Ha!l)bcZmstIc@}9OfHuq|M{lR=Mr(hMf{j z?+^u!(KF(84zaCBUmFss%;Y~qBn z(nX|mt4Fyz4kBO}AKrtnO4&7q#1T+dfO$nm+D246U~<3tX)ZssEO}Vq{G|0v4)7CNrEJL4px-cZ2l`@ zzXB?RF5?NB1XbbBrJ*Hl?Lol`68)B35>*6Ff%#1WZqX zauSJbWt{4((N@vYC@-jP8{SYJJxsTW>?0%&?I-!C)2uRTe+jMO=V_bp_=hatZl%I< z)7)9V4sXlPgZ+Hwadv5xtKqrbv2FmbG%_cmY;DIr_E?&NCHd=oCGR~=5(~UVk|Ie^LdiXtF>UhFicX@S-DA2TMEu?>N8%4AVte>ayYA&7 z8Ee~;V3jpfX;HMQWL*)u`s(Osi%`2*vpI9A<@;Wt?AovWhGcHbdv?4UZ$f(R>#IA& z$Fi8k&IK}xStchAAFuWO`0>l)b(g5)a19R*Pw%JFigVzA$3_!$r4-5@b^6mQep1`m zm|2N|0~j)pwhm|b9k8=hE?aiUf3_{*AO^M@nb}daplzp@fb}>S`)!#ql-OrXiJCbA zUoOo)d{6(VE$6Pv9q|Guz}llAxws*EW*d?|1aXI|rN(ujl!3Pru`;HFDU7OfOiQs(qiul^WD{cGrVjekhx&Ue4-@bNX>WBqyR zL{#QYp?*ydo10e893VXj$K%}FCU}*~-WJky8V5C>6o{c*TaAw1&A{o5pH5EKp$e?u zB86p`Av(}sl6rJ9sO91cDfaZ(!dC*@ zMc-WDRGN8q{#1e|c}zr-uums~AeV?FB8j(`m+&6MHjIa#bo&$FpKdRL-+F^4Kue9>woB zZGPBV1w&11l*RRkeI9(Dwf$9hv^Ca9uD99_;_YXP($i352fp-BQLI&ID9cmP&a`k{ zq@dZT?!38I^x0m?f2F0XzY8Q4T<=F$6MJbOOvcynGQB@Xhp$^!4@O;DLM1%Qp(>4w z?S1{;eFCS3o{j9OQ!bM81r^*9em^l<2U~fgg+O`r!ow8^Acl!a+hnMu;bv&-Ic$MO@h`F&$TrpZYgXdh4F;?Bbxi11h0-xW$(CONg{7Xp!Z|eYa)@5=2HnSmTH9ax2C1g{Hpr zAngAO9wOo0+e4=eDuFV&O|z{?Q*ms=?%FZsr?&}1@hC_8tw9>nbvm(!{2)}I(!6z4 z>5HmukjrmZM1U?o`W!-$=V=@UzAn;Tu3$PM+?KQUlHc;gR2w45ufDPZKao{QWY|Z|1xYrDkveJjKrIw)sIv zs4mCdzg=``PC$scjl*PlZjo#lBb(z9NUiPyz-kbLF}QAg+rc)?oi>|#{XuIx|EKmd zvHz`=-qG_KI~Ku~7I4`yB)VKew_@A-Zs%No<7El6o4RbJe!0eb;S{)*0TmdAR1=6A+{8ryR3jlk zr>Y|EW`JmpdQz&0qRrDGee^4%kLq12`u98%k0q3BB>`dfs)X zkWTu%S@zjUeNQf(h(;q?zt<92Yq-cK0m|qp$=%H!>(~t{vawIZV;FqfN^yAb6D1|t zYWcQH^Uy{=eLJ6w*}yD!<&|R{gctYr>k>HI&>DfzOPI|MH@-B3r~Xn$E?TAtDiA4Q za(F+U@3%&@ocWU1{O9@L+zm($Q|SY71lhqDRx`M#6y3-w5klP@7Gc?KFm^PytJ8^; zknQfPnGRX7vEd)6#AiiQBPgpF8iX z!nKuKBDz@?>RrLkNwN6T9tW z`sVowX)e@VZi&mO+@9lDKV9dpp!T<^uQTOud=0FcXZzLoyR6a#Q>h>0@Bgmfh3gtn zfp|ht!zrNok402d0rz20&3`QF(lYJe>)P5oIgWsc=*sLc!A-yIS^GN2{WdQ%=bG@R zy|1aiq}%qiUcH>yX^yG+de!JEHh1Y%r0bgCD570`T=@Y2(y3?(r8&S#r)76-!&$Ts_rqz+!>XaV zKC4~-tVkE{yK+TU1|wuO0z4(XKX2x*5H{7XXa5=Z9dOMNU!hz z%QiW<)_E*jlT>I6qEv2NZ54^d3Ygu8%h! zB=V&>aC)cRyXl z`_ithraC+-w!@zY0U$nlzdE{I|1&Wh!z*n?v|QX_@V%kWZ`TBH)~n)GW{K^u+3gEh|GG2?swI@xcHg#QTK>uo z*E>CDXUH`Ur~u;cdk4wkv{X~$W!oL%<-!Q2@wcZ|QYC*4j9S|mP>JY@JZ}Z`0=Lfd z)p+?>E<4vg%bSCyH+1{<>&GzpNXFIMvu2?k1k{Pp+Jw9I>pCv7zp1Q;UMa1#!+o^% zz*?uzybOKQ*9FAPE6rl9ZHkHnJ<6wQ&F4|xg-EIR4B zzAD=9S4!xMFsOY)nJW6~@1iXK9^dNdN|xHP8~e-8a0K?K=5|`2!C1jh1R6t2MN6A< zKF+Q-v`MMD%A!<}o8ViHzx)Vj|Gggk;Fmx>u2+o5zUKd(6;RvrDQ#C~jjC2-QC}P_ z?{KUZ>QJVItaZDb3vxxV9}8u*PZpkXIP`Mg4zrvklSQCKgwN9QYbipYTMdx0-(+sh z{acDuSx1+e<-DQOf$Ds2XaNLFzWq!M88~3wp@LU z$6c$I?ha2mp1XM}k!zJ|So7LOZ4s(9zEP!F8mkl)-x{7u6prtk0e~(dXqP{WmRpG< zQ1-3Z5{iN~+O0=pbVc%napQnG^-A-+>EKfdtrr@HDx<$#Z7403Rm}y` z2&VCu^ITQa)^!i4SzAp-G@!&B-v*eL6NcpnT;Lc4RshX9s8{`9i0EZ@1pzhgGungO zw#&g;JcpxeUgX+IJf_BgZW=GyKaNod9BwCl;2U1Iwij8iy2|?gn(Jh=?_p3a zRn4i(OT81QV?srmCgYf$r?jT_lLh7bu478I9)YNeSf7uz)Q}JQcHp=Zg+fKU<`Ly! z8GF^-qa{Ub(rKwMN}2AWToPaB%m>Na)?VGHghta>F4Br<*RPD13za2&#`ZaU)m$tf z@6@DLS+Nnbnv(tJKyctYQg3!s(~YqbE?9+sZXz7 zT6bf*$XZoJ4T7$%Em{q4O5&{eLCTCSd!+qlEr-B$)r9?SnFcUY`wV@-&K zMc6cRV3otFHK8_tj@+he$@;MC?pRqAR^h+o7*@%}tT`P!S1y7ou8*0^hc9ltLgR9;1g)!Vh~HJEs`?x7Eg zgQ~4JmD*9LUVE(=2IcrgnmB;wjL!6{YSWpd&269W75EIFV#wHDL>-<;&aVMAr4QPD zwF#(@a|cuD7Jhi=E)H&g9^KJfu7_^}FHJy=ry#1Sh;SNz_Y~+#2$g(#rtf!<{!CIG zt3BDbKt%KcJ?EITT~3(BW}7!0HYTp$aHr#5dn0j1FkQc1Ce|xyDxC3G8!FPymN^K@ zBuRaI#2`$zv}TP#plxQ*(ZPL5*@xs&I;CRSM9_Xek;!TV?c;C>hA6`s1*JpR zArVOP8lL?Tor zW_3_mMIUJ6V-BK_TqP|*bWy6xXaX#N5?o6Kv|O%I-&fb^Map&gdtHKQsi^iJCw}F| zzd~z67|XvVIy4p3zJ)h`o~HwHLtX*C52gU%DOXMNng&g1mHN3md{wHeIgqA&U24Ls zyCXSlRW7r-ZL|Obc}!~5-c}CFV_x&*yb%&t<`H5MmBdx4pqiWIYHsqp08La>ljX4M z251C7b9XGFnri0xe)_ShHB_6sC4)=f-0N=cF-TkT<#DTWokoQ=@^r4=bum2FQ&c~r zI-B2iYH3UM2&*LwmU9P^uM;oZp|6Iv!Le!WO?}XfpTSYZGe0-weQvzh_2CcIVE_Fk z$lJD6+2IdmJKsS*H6S9x@vc)%!yBrpGCb~f3$K6ohrbx3UzCkwT{pg;m*yIozUl5+ z;CW)h&W+7y+3k(MVD#_clyp11M9XDuD6QxEHtu|J^EE$s;gwehx2ER+{Mugh_knra^L2r(}SE6!Ax$&$?B(&eIHX_n2i?dDe6 z@_Lu6pEbspFbL7+e)DZgM$OgT@`$>eKBGNWBK$^ME@Tn+rU1}sRAM2}E>}9sm{App z>ZazQq`B(3&_3LDQOShn+pG2!(cFfsnp>Rnrc2>}n0BZ9py6(h^Fw*`^JxXZ!}&&q{?9 zXvUkO53Fq{ZK|n*z?y?5tPiI-pgNKZa@a%yd}VdKDpC_tlZ%%LhH4lEU?!dbUs~VR zn_Oy$P3}2diaTIYO?5XDH$)}0-7c!DF=W)DW!P2`3d`75GnZ)Th1AyJg^R7s&0V0m za_hO$nsRHeN98tV?loA~l>nO~qrx;+xN(WPs4p}o5p#vPxk)VgYPr|}044_SB!6oh z@d#>kjQ{8HlQ9n0>b4P7z5n*Qq10XL^|iKXaH#dg7Sw&U<5A;1ZZigU^qH4wn(Le3 z!Em=`ylVefuxVayE-R-9)yF|{*iPJyj&H0SbNO=p*C6&buF6V()#R_wR0uq)T|vf= za|^-6W5c#%+{L;dFeN3|~dJgwj$KUEF#biyLpd9=;7d_&h`&1Ni^sfByy| zl>Yzlo}7*kgE-*4?wKt!0^!oIYjqw!?~ObHDivKTyJ8b7j95@2?x&XS{~Q$HAPl_42$Qkv2rO z4ZQU@B4kUv7tAmC*6&yQNhf0BBS2LJUXHxhxa)q^Q7e>)(Z97_Sj&;*dwLbZVDFxoYGt$ra3efDsHeR-=vW``c@&glgTNba@PH378UrPPJ(fK8S!TorrX( zV@>rShs8w>$|X#eFuTa(VM{Bo0&)P_Gi@3b0tfE67P`f^C zO0A+cLA1j#kjAe{Q(0|7>eR1D`|HuZBdIe3AJ5Yv65RRdR_*Cm~{8N=5|PV(kh+ zSo;BimMiv6ArLSKg#^NhI2REqq{l?!_$YuNF>|&hc}OSl1c-`b9+MZ)v1cJJR>f+| zx38uMo?^>c_~2QaUj+_J#R5{K#E@9B@}K~A0c>d&5*(unYnmWHt=H9V;uxN5>j;IL zd=8-Vuv)8X76!cVIoNtmmxX$^K2V3?PfpHwkn0mw&>i%i-~RZu!!fP>#<-oJisIks zPe=FeaS!$_*}n`(95!s&u)X%SzTIiQDcIBWDSbM|mySrL3#c4`tXAPELdts z9o@*ENWxph!X3p>cy!=cmbdG!FZZJ^y+hu_^YY9V+M1dl+iXI~XBA?DGb@{@m35!0 zI+U z*ekSAO3U9^U7Hf}+}HAQX?+pjw|B8NiZtKi;9c6WmC}xN3j6*lr7pvx=P6rTc4ED( zSiSYUhkRI`iluYkrb@QR)>vld6RubL7h>)^%fkYP$#!~J3}@!kZ})XC`X7;Y@ZnwV znRle0oap~(_Log9U!$p_zrh|=^b~tH0d?50VZ+`7`{XNm$anNx!og*M=ft#Q>!t%` z>4^8P)2NS?h+^ms%Qe^JRNcXoJ?K{F;)=7OKmpn6l6A>t$VW^>AVj`6ass z$;aNBpXCFtvZ7ANR3}4PY2T~bYB!gUS8e|z^vY@cb0P-Z!Gx-|UHu$HJ>4ZYS5U>n zZKc%_Cql}oVT-DWqAfXNU{|u0&6-{|QnyVlRaMfKq7f@2)=u$o+$_p~CA?cbIppU) zy=YKsnWS>2m(4|#v9lPPs{iC|NMBaRbmonyPhfQ^f}DX2OV3tj(n*qZo?e}sycA7W zh1U8l0wF>vf^5g0$@)fAm*&aE_U)VttSt%=+S&eF@UgdKeIz^ob_-OjB|z@f*Zrm4 z5-shvEy)wHw?p7oW+6TLA4M{E6$(uu&@|De$czDxeQeB_9_rNbDYDrE z*)f0`>t2Lg6W%l^j+OzH=g?UNwGtpzqyivknM19`0j91mHQzzA2&f2X#Ym-tWhShk zqs7R|%tSy5!XX4K28XdNW32=r6;a?Vf@A^CYCKW)d;@ z);@8uzA%A{!FdsbQUbGpi$Uom7Jdu^UIH6*>UdWJP|J@n>Ju*ctiBa$J)PTm^blej zc3geJBuV=2BDU|uIlk)6vExB|K?GC5s|8}tVAX{}pQYAj(XIOepN+S{sRO9NpxBZ% zk~PG)IE5aMd37uOCn-$TL58Q#j}ux0Xr0y>Z>p-NyDIX zB0aATmTX|lScK6M-ZhONB#Uq=v<#Ss0QFEl_T=xXYsvikHy$H(dB=k1uDnCPPmiJF zp6WZZ_Yp{Y8-O}&*sx*mh%NnSodB)-AhZX&CI80&&!s-?tG7=tJGS>Jt#SVp1$GHU zu_Jw-s#??U%2qve#xu1PlR;qsRGbm`PFmzH4D1p>84ZX+nOdj89~DtWvPO{x*mVWA zPC}#;FHq5nswx|!RLLWHNtH~PDoa{t5?51AC3T<`0f{NL26f5G*1n;^YYNB0qOj`< zF&BVIkFUaKHYlZ5h6_LrxJl-UDx*%o#MGtPyZ0ZVj88_@fHgpBSXPF7#$g|mO7lqR z*%CA%E#6Gj-$(~OBsJpGR^X^BSjKdZDs|PCoFGzGMZvJRsjEo+LTE2JV# z^^>TSni?vma(a}mF7?tPVzUFG1E>LHHZTCo%_fB|TRD3p?}YAU9X`V7VnvJQ)dr~#${v$uhuuFlj> zPoHEy{20(Nv)sYp&9YhwY(wMHeoWs7e7jW6Lu%<#+q?R?Pf0!W5qSulK8F964H#Xv z5#l>+*sx)Lq4vNK;ogp|>oG!$_oW|#(WUf5A;n0A%F;0lei^3sJL ze~`d;Mb|tPfHpeed=35ef@@YVTv1!5UQks}SNnKPs>XV#Zx)3rG^H?Ezu+OX6hepH zcSY*wAh*(2^65`jR6~R7jKgaKT{7_G&}OVRD4J~jPJ{rHE$rAK6PV|DD6cJ@Is?=C z?&pMC__3accAT-^s-7Z1sb2$wOow0~D5pReA{^(K-haO?+3X>=EWktnRR<%7Ajx4a z*HE@ZNOeGRSPkInP$^{_MjfnNxpY9D1SodT`cP3&TaC!5T1)zr`1)}($~4(ABVtmDIEvWj|rJQ zHiY+7--Dlnd*mV3=73H8JUL zxsf`{Z4F%xV>lU7mvf;>fO7+850mw!Xu=p*TCs-IT8MJ8{&CXqT-3ErHS`um$Bi;< z{HUw7o>tdYRp3kBrq$!)S5+xC_=T_8YD<+GxcWF&S3}uu3SUx(eTkSb)_10yI;<0B zz{xS3*EU+&xp2C@_U?{*n0CN~gb0H$CbdGThY?E%GY$T(V0w6Pg-l;o!yvbWF_R5y z8^q?^{B;PcsfiZeE2Y6DJWSYC$lTx-MUZW*rH^X`DI_ZV3S?udp{t;YfZJlBzwJIR z#lX0jQb`KvLKaFpS?IC|GLbH)0|40|crqxRbhcty>pv|Tl54ZUZVHOsqr!H)H>F)K zZ}(2-a7cjM6wNcm69DjxXA0=fYfrSD|9{g-%4gg@q;M|PwGNcu5Sa_35fmhIo^@JWDkMc=+{3`_2ZjlN1aRM zj{(x9@-yodQ0qj4RfCsrH`=$G0{rxBrjE|aUYiCa+yL{ofWTl^X#^lH7E;VMuG1mO zlvD}*-6-7fCAaWn12V~?VYL&0ONG`Ms7(Sw(fUoPrIq%q`D)lMWesBn13Vd6W~t%K zfQ1nk9S`eaxDYhhhJe=^=FC2pcVjWdkgAv>Q=Qn!$AfMGInA#d`+BFPDa#%XO#vVr zgyY303J@D%HYnwOfI2Q-CUNo!n(PmT zVjoytN~VLmjU9(?hdLI2*WCY+Ba((4uyL}74I4IW*uCwE!iW!n?Wy%WMY&Uy+J~yTOKCIS`RjEB z9m%MwpF;#&=py}OrG5pVKir`F>_UBQq9nY|kgKF=4tURa22Zno{A7i6TOelyK2O{I zKBKB~!rP5`rb1#(tzUqK8k>>{T{~0PJv}3Z#SEL|$rRcWAUIK-G1*U4tqWnBnvx1Y zXWO+gu5q#>Uw4*#HeRnMhWdIP9>cpLu#X}1{0Nz0k|pHsahW^yl(B8nz;+8zy)B1K zURdK%f*NVZC|zE(3Yrwu$WYEFP9op#>$H2!$9;mS&g$zk*Sb#yOozmJ4_KKg_~#I& z>-TYiLL}*Wr?N41^_&3-km@$!U=YWybUnv(0Y?0Z-T066B$aS9osrFsi zXFxt&%`fA3(+q(7>n{NC&E3%umPyUh7B7w z><6_c{Ac3N2{l7hL+kd)+#C-tB0rVXDT&al`f$+oCb{V&; zR40PksvpqsWB^zjs5%&Y9NL@&be(}qQD0{ps7fud%9gWb2GdqB+p@?J(*DNq!Ay z5AaKMWI$|^u37qIfO&3XF8g*pEun#CSSAG*3^)WjEUv?uQI9}NfxT)sax0Cm`~VZ(;Km-a~GZI>p~c#JxaRb6K)-JY@lK%YI+ycchd ze`x&l0{r`%-Tt3m%)@wl`sUy8ppy+xKcgp}l0#riWez-4w_LZ~J>6 z&O=@VTn8bhx#D$|=Jjlff^c8|TEmCsGA#<9i`K)iL30d^J?Wu*wFhwfx>gFZHEpe7 zu0D>^0g^7$Tp_&9^LnG=cvm2?|9(CCzT6hb8AIL#7<7n?Fga`2>N)EG@%zsAwxIYQ zC;xK?eBUXYXS{q)U*0aK|NiEvVF%HUy=FbA(vjsK3)D_+_n_??4l)39*s(SMb=a_B z!-fsJhxHF!kE8_e1Jq;7Kej!n&R>1FUH-Pr(|&d_-~Yn`5cfU+@b{PC>%82*sO(-Q z$aMyNbEo@Dup4bx{%cj-cqz+YMw%wfDSlOs%}KHeP2?ykGv| zYP;NjANWJ&H{U&2vAnO{w~a^XTR*;X0OYVAiw!^>Hf-3iVZ+{0>mMwiC|vr-@T@@p z^ik`_e|)PGzdZj8{PK3*zyG|}hxcDx-oM|UoG+J+3fnFp_w)R?9qnTS=>K{%3u)d` z>VEqg_{YBjy_!I;LMW+~DSf|UNHqZb-7|fEH9@@1SJNXXWp-TNc0Ar4=Ty4#1OUJK zu%-R`OUN%SLEla&zr5N$XTN<7`SNSXKmT-|_vP150+UY;Yr6n(sExzkcl$B?=nNY+ zY}l}2!+rq!p=PE$_2K)IuY{g|)}C3ucma9&If;nS7r&c7%Y5G3 zeXPH5;QI3GZ9wghdsiE~jz6>`ar%#G~d8Czk(rU=_?85GsmSm=C``={E z&F;Ss8uz~x|IFI5)=2ni3`35BC#If7ijY9%M>UxrojO)s%YwhHEqCw`N6J4<`8$*c=!aK&8f-(DnZ>AaS>rhEJEYAilL zEfO8L*xb4$9^W2s&K=tzw{J8RpSYMe($n9<)VKb*wyM=`B{s~sah7Bd4u$L&i`#h0af%)VU#eCkcK?~1tQ#3%?B;EkJQ7V!tD7WM0h zZb~$Ly=unRPJKBw`OJ zsbEoZnGw-w(-+zr@3#7U&ZSk57`+Ax=dQ0H-PKv`w8A~zB0!Lp6e)Ec z_z9fz3GVT1By_(nvZ|})%b?5Hd6(+Ca|*FUq3D%hKGcy?VCndt=_~B!>E8t827pa5+Az;8a10nD0UMs9RAuRE*7AY{;QSna~-;JGI zHZ6v7gLqm!Xf3(^vPE2OS+Dw z+)HO6P=zuMk?)Ug<+b_sVByG=gj;vIVWKlMW^m0h?2FLnk(6!~XkeJvk8U16C+K~m zl@R6&_cFj!TNejfG4$pDDb+VFoFoQ9d;k z?G(W4M@u@8<4cVYPslT<)@Yy{*pDPctrG}-I-d5r%W!vq%_Opu2&8|pb>3he*m6;K zA?1w`&iHV!T3c&!1>o3r&@QO;tXm{9bfen(5}VwwwZO@@htbL}ZE1^j`MsFbC;VNi@N^jB`ojyE9D5cnQ= z=ZmC>75YfyNco3BqVW;SHNftwy^7mGQyv!_r1rFT4V!i-}C<7v2e=si0z<0ss)WiRVyRT%^7 zA4>&5&$Q3N(4OzO zSg$rfvBX5IDplu{_;iC@ew*0QiFhi^lmI%!%DA;ygXYPj zkq`&i`d4)~+jwfOAZ7~Sd0`?GH?AV=hA`%GU}r%7YTJ_)gb(eZ6U*NdV?`erD(1nK zl}xUYajdr+tOL+R)QesULa@V}E9_%9Ai5WglMB!C>*uUd9ViG97pYgwdx1tIQUS<< zxNy4pxnzmBFcFJGlDW_W&j4NS6pGuTPuT_L(Z@~B_mk4k=G-kj9L5W-86s{CVb83W zNMeKE^PYL@P7-M883AdAHBU2jR($;CGf@H_vV^WI*249vd;E;ctxqx!`Jo{5&Y4}NEM+cX<;R`SIt91{wD6r z#$g*TsR*7zN*;2-2cz4yBed;HG=*}ea0r_DZs74rzW2FUb zO|Sq#rlCOkPNftjpmZ(y`wLNXG588yU(q99;bUlR??8`dO;?u8bq_r*v6khJdG0FV za4-SSIh8I#Mv>g(eOQXiB)&rI*>pLuUT)P)!(#8N%3^1K?M?BQOz~SP0?*%L{63_i zm5!~7gzoe+5|YHiMHEN8L8kliTyL*8jTj%Sxg`oJr0dG1GZ5qJkx&$ecPz#LYEzHX zitzY3`!P&|>Ax!w)899xomHz!);M$ptoyXPoDi4Jz=`F5GY;DkC z9#Y&&oClqiuQ%Kl>UcTob5Tt|E*O(yV@~a;90;B8K)unNw5KWCeNM*Ho2W zM=$LPm#Fav1Jvp1sb~%Ltt0CUgEC|^OkltX z87#QA0P1VK)HA2t>IV`Io%6@g(_zMy-r{)lc^`D%%7%U z9c5C#Ga7tQ@>M2Sq=J(*(BXlT9d45Crnmp;t88vaFjZ_&Isxmd1-_HT8dtA52Bakj zPKNco$QsQNLyXbn{wMVEw5S}8#fx6dEEH#AqW>3mw%<`N%TY(4FEUA{0T4Hwk&sjc zS^%YOu!9HuxMJ|o<*AkAx3UI2=YG<>wM(laP6a&<8+$PhKiJc|kea&Aue8=6`p9c# zezGbp=}(D*AxWOz!`=Eq>}oiNJIzVr$@DU6+77S#r9m321U8yLg<6ooM@TT*2OIHM zL?zH6IZSI3c_2F4^P{xKtK67NDXAQHG_nVbkHvHH(`y*UnsP#9;iB&q{}!QcvfMUG zKV6#?selk)@Xa}j@08TS5{&I@JjX9%-A6Sj*PD0_BHvv`^ISkidtMa46)O1>n(-Bf zKPD)$2Y*c8Co|IixL9gI>*dzAx#LeVv_j~U;92-9va7Q7Q*U;+k`l_VK=UR&nOdw< zeP^gSd@L0I7Vpm-r!Oi~qxBxeuS7{w#jFMUzNP277(Y;0x!F3+#4*JspVcpJ+kPy~ zV6dU));iN__~VNzDJj=VM<9qQ!;=5R{t2m2B_(rg#T6$I(Btx;_p_*+MU0H&l|*@h z%CaO-<4G67ejACyPoT-;Ol-w&#^2nS)mCc03Up zh$KO7pQFEz@QQAPBTN|&TU7)_ZR};Z9Q*D1_g+ad-8v$`S1W@T7Z-&qhmFZE{WGql zO|(-Uw8tsU)Cn2El9b14iYCV$PdDdD2CB)mT+#TkW_wb*diy zL)3Wdd+UL|vjQ`7TG5SDpG~+l^EkG^#%FWG*|}}C_HGQAoL1d=`4G>+xWf6Ue&D;T z|6I?sh;DhA_`Hh(*3s3Pd>7C3XJLMR;eu4K-RudqU$eSKb6f7|NHE0l)CX~GmHXQw z%pUXgVJ-0r94}0dN0twX3Gf`3`$~&N|MQf&$c)(mj;{L_hmEV)>A;%j4OUw0Qujx6 zOv?GRu+~S^)5i!MdYDGJbderoR7{!iyS@m=^w4k`B~k2ns-BQSGhDyl;))WqLb5ru z!isxe@)3X&QQ?jfO0bhu4Etp{)QGg?IkXE@6UtZ$!Usy@g=UI~$r4x+WX_afp|o4< zWK=j3xB06$U zuPOzj1ch$a<@V;+-l3Bj=p*b=i1kXQg_ydm;I9012DV|6 zAA*LvX*X~mFIom|U0m4e1)6W?9Zs#St-Vf9e9JwmEy?ic>l}L8;;K`BXpVRwAa*Q| zK%J-c8z*_$$~QFc9^vYWhKQ*|G(cIK*fm3~Ew;xsfmd7Sp4QqQ9&%592|mEw34Z7d z!fU!pYfi&Dx{#2!9RsmX6Qc5UC9G2&tBx28{d|o(mhR=5A0vC&`%(}XOXM*_Z2K;z5 zd`^9;FqnH<>#8D2WwAmH{`kSfL*8EVlJnH&BVUIY7s7Nm8DzP{Ulg`%+2E}ns7^CMb4qnO5;1gWW^?n~R0skd$48ND}EF9PJAzpp+Yo4#Bj zlid0|u6U*0w(t8?KSJGuWYJhBWVItYj922jvn%e-;?8MayzeI;?T!d8XL^gLN~XR94*7*O3jzlN)Eop;a^iu%WSg#CffiIXbKNP zTfq&=e;*G=hMUtzj2rE~y*gff%4xm(-X5v?l-W~!p}RWw^Qd$xLFKBdUI1P$ItKt!>=efRG8jh{; zZvboznA!~Ql-h{5aRu1SD6+DzQ*G3oh^GpMhhwX=G+5LW2|+0-!&^imG*KGF6_6V% z;4sJs5%hdjqZCyZ?fyneFcT*a!=g=@Af9aC7Johx4p4~05U$Ni{w=O5in`WD3teED z8$k70tmshmT_x_LB##6!}HKt#F9V- z6)s-nV-aJ4i77siY;PUa!2JE^oQC&;K0k7^O2Y`d6Wv4tdwwGS-OJcrYqIxIC-`ag zaR7XVehueI{#@btuEYEzN?mhV-}L-#j*x(~D8tX{C*xPAN5(d|wdeZPz8HQ_UGG5- z)7$Ii)#ow0^FN0fk4N179-q~COg0RLyA(_ga+{yaKBXTk;Kl?r_MToJ|Bzrby`U#y zAaEE4U)k5nj5;MuV6h^^G9ZTv-UbL7liX)#LY>7x-1bjY+Vy0Y^GL$|Mg0r%zz)Nb zOLqkGQ%u~fkJilT)4L@O`i%u4=wjHwEY zq?kp>FIt0>6{_iM3Z@zK#N+3m&BftG9Sluw`$|39day zhbEN`?`DtHeiurlAr$hj8>jUC>n{>ACRW~QSk&|wU|Jt#iFH>giLdqXWryre)D5>A z=yL&bFYl>uuLK|W`k$D(?9egAU68UYy3CT!2NRC0ge!%=d=sv40GRIXx}N=6ykNRb zeR{k)x^54?ZNJvcxa@OSZC1D8*5tw&9pW{>1Ul%iBhN&`sSZ!W^_Tki^k)7!(ogQI z!X#n!u2G5H;l?F5ViZ~!3%jdG_P#*BdyX*$yz;lu9uALv6O4$fYVOl_d#>Ja&2I^d zZd~0IYbLbks1)e7UoH7)K%wJLfz@F^Vv@gNdXSY);Y75xm66H!>SZgD?-)4P+gv`} zt65HwneNfnfN}W9JdzB&9DFQ1^2md!e!n{M(=>7eYRdV0urm8^*(09c!@;S1e^H6V zMqO>*-HKCqj<6S6J8=_lx?}&+#g~XWx+BkZm};Pt}!iJ}*9eg7Mi~Or0X}**ARg+2d(}S%cMK zMfAj)0}m*N?(V1HHbYgg1hiilJgr{`y`mdG&j_mVKRx&uJnt+q++rdodW?AmdoU)t zdb$e8_4e+We9V>~wSyYrJq%jij%pCI*8YCf)~1=8@-g^vRbZIBAQvJ2OC+{Ma0IrE z9S#-ij*X-%HoOTxJV@U^I*Nc1mngiPUKwJ;h9^`SwlXbhk81@e*qi z60$#qQm}GZ(j53wi|=L}PAvDXdK3@0Ul-qZqQ5-3v_CJkKQ2Kcn)ew%w_D_3BRg4a zAo2mFEQg}~nZx_!Ncsh5p3gId*y~cY((SHp*L&0Jgnt*+^818laB8Q$s9K_Yse)tV zhQZO_cfg~)K&#~bJf_SI8SP{3gDaayEoZ)d&om%s;m6Dujn27lSMkNKa)%vN9HQ%BPR0cNh8Xo>TCS0Br(Dk&SAK=$vhR-e2h=2P z6LLCFFLTMfYwCYipMIvbUTbevvu#BnS32QdS9cH~^6!gJpKGLV(WQ}7YjCb8uS)IXua&3Qz znf>~#QcUH310vLEGP=kAz>0){o>{F&D?rJ;#7^Jx{AKmd=H=_-o#2JdI?gM+tMZGk zYU|%a4W6Gb1{%H;8Y6HaiS{zNYrf9udDDfN0vyBj{$%*2(Vy1NU3CClf`lZ~p_tmb2 z*5{Qr*}fKjh0YsYA?R55i_U9&$?82SAQrs(B6GES8d1umm+FK`7`5iBoW2pSRC5?B zdwSoREO0_ia=)Us4)Dx1UG+lUwP_7{S;xQVZJgr)cCs`%WlXM-Tm-7iO4+QSd=Q*V zF-wl}Q#ID6WB|9xOUTb8Yr<%>n`I!T&9Y{oxzH*xR8s>vUjlROm-&-8oxlO|} zkT}5aZB%{kqda@+&ENW(*dFb9^INI*qw%?jt!Rn1u6@5`nfl+6>WKvf2IrJ8WD9x{ zW6W`+fbO2YV}!6~S{>_n?J*YoWSIj`W%9xuANzK>p~^_txnd#&2V^SnVR4)Fhtat_J|1tr*Wl%E*P9?aNv;Ka>lKb%;! zTQ9SbTt1RKJ3vr@p_3>@+audJC^Xq14pkIW5%^vf7X0^2t8{#sx7LH?S)hd26Wa;F z>2&ttOtU@ey7@H6=MEzkOn5GXKFlpC%(2r}$~2Syni1C@t<_eCx{(fV=tk@_M_zSJ zaT9iiA&#gvie{#AYXlGp6v8Pw$ca@{ZpRLZyGn0=RMoyNhpwG_ExW4Q$w>--9bs~} zdAh>voZcch+CQsPy}!9qA&Lx&jAuPY6EEfe-VbD@iwNHfU3jJn6^tY_mJd+e@xjJx zhU@3csv$0}me*~Oi8~KtrbFTIh(?`&UmU9-Xom`&ErQ~~AtAU%4X&q~ zm8VC{ZH61Ke|gcZJz;x|EYEmm1H5dp%-SsrP44HJi9AxFTEK6FU^}5^{UU0b@^C&i z6!blLLEe@+t$5KQ@w%+HJ3rywTNMQRw9RPwe<{Ydr3>Bv^YAi|o~yy2F|75tNwiUR zklIW$EG^jpdOw~N{)sOb5H-CU16u@l;>j*v|xnW-S;qVYed$T&KuASshIQr4Cp6VcMO1)4s+K2h7qU2a60boIntJL2!g z@LCtbE{7kn@Ho4&pXa*RQ0CmDQJGXPP3N}mmA_JlU=NWqg09Jwiwg~1&*RR=zWKJD zuReWyxf^>?XxV`Dv)iwZd($g{`MJtO*=Zq6Zucxb0gVkxC(G53B(G3;Q@aX2YISbE zPko+UD%@VREms7SUyejBKEQB;w+p`*)qK<@X=0*oWHr#N9m2WUw#nR@ale&VK|;ZoZf%ddCn!g3j6IP~`${9dnwx_vvXw-s)8 z;t$n7^A!~vOP+=AlYYc>1soYV{<`z*4||YAPOL!0C@o_eOC5tGCG>kKukE6bKRQdqSi$i@^7kA!f%KI8Vp;7G zr%C4?!#mly2@Pgv#K^(wX;1H>WKG_Kre@r;*Mw_)k16w8zW$cVlqR%!mvbygS^D>U z2vqCL{y_y@$px8|AhDKUoeXHxUTE`rqgw;?ITGxod%1K~_CBl{ZY;|;tP_=o{z1A9 zQcY$IbEb2=Jz0E~d%~DJc!~9kA6uQcZ9nIoYq`ZZ3^9!#n~CS-ZyC#%B<{kBHx)$6 zg*1zmi`eQ(hj;R6E?3`4?C3;)a)!ZSR#^@8*z<{7Hl`CzrFBuRwyE0CFgT~qSCo;a#!>E2>uF8NODYCIa&9!k+HRvj9_d@$U8Q329kO7J1g-Pg$ z6hUU@76PFdvv^kDXa#6&TcrVzytZ_K8Z-=hHn@)ctA7J#EKdN__ z+PqkiRa|s~o~h3iP_o+avns7Ek>dtadq%KW9r}+Pdq*gS7ulCpBBlSde{`;E9y%!F z5Q`gch+7xHq3ga8V#B*TYGSl2<|{}RawF&&mSH}f zstd*`J-*@VuQ)?-u!0jG)MJ5<@8XYWXlfAR1sJz%+$mDwl|;vLXJ~zLF%pX3(|kQE zhq~Y#TJLR!AJe~Hb2~k04?S7=_4LyJiVB#;BFY_Oj>c*uRR}6GXkUJYcRtN0@lA*` zfa-r}wK>e4Z4bVFJk9lSEqHcAPeqRA)8HnkB>U|o_yH*s^0Ld(B}qAUgueRf-)&zH zI$CF>xKhrr$(e6@zjb%Qp?vv2T5lFUL?ab-qf~t287&LJakD@2{-XVXqYsC7W6p^D z1LJ#q-V!_yxIXDXb^`+i0O*SEC6=$srpl&he?0MXhT%2-2aR-6Ds9|Pwn}RzE%z8n1BTg~aj=r7SUPa{3V97*FRXwix`1OnUffXq*ikH(~qWhnz&Ll4}2IQ`4uW_ zLpd;ESG6{9k5pj9qO;=LK`ogrHeOIj$B>fO@4|kzD*QjfBA%lAk?BjK(qMigX$u!< zZm&MMj7QPIK|25=(8fpmPur!8<%&<>Xs*NPZYmaY6FpaWgc#qVlH~|CcPY^p>j#^6 zGGO{B^cux>)z4rO5hK@Bu05F?H3@Bt(jq_C!lyRK{S=t-mN+<-7_)Z=@aq{DwBQMnwLx1o8`)_=JZkhv+7Bd3PzvE zOqUYS?RJlt+?fti^v0I*@2-;R`I2y@%>^Z*@ea8&8UY^i{3B9u=cZTx5e#B*Zk0ee zc5XJF|_pr3N>fcHm&(Lr{+q#)Q_gqj_cC%?ZV65+lurA=o!XF~_hsd>r z$yXY8PUaD$=^iYTp{rBUprb`eer9l7QDK;+#`&S^a}9nbH6cJeg-24)oG5*UZzdFG zn8gSZBnaXCx}BWD9bfO)VV69(eKw2jUv69`1o=L{o{3zDF=Y_V>}LOt+U}d2K!|qR z86xE{+a`stl(Iyb@i)mvS^X6{dRA$b(I%sH@u6}G2}=ejDsB}J^pos*Nkdq1!b)m% zi{~Ssb-L8*+OA)I8-I05AtxOfvw3~LGAj^Y6WTDQAw|&UbV!YEcHR8sb5e%kXHPY^ z;L%Lo6M^uU4UQS5Tm8kZ&l|`b_nOoU^GuA)Bun&)Ur@1XvuhrpIh8;quoDLd!uMVH zBkuejn{;aJ*B>6hrh8+5dN>GOZS)&|oAVm4k^NOFpUJQKY%5JqBsT#}Tf%a%@U69Z z*FDL~v>D?{E{cXtmi+Lw5)a)!pM80K$;-LSIFaE&weRq$LiCuQfnFWnQx5Dc(R3ga z5lNMN-6mpkS;xzisuI3=eskNNI~cvI_J~3#CQc6|>|BX;LIu$8>un?ktHy zhQkcyX;7DkR#aGGC=AxMOn-GUCI{qg~`d9lu4T5N!x z21o5rtuBp$$}EGb`nJu6tb^~F8a8hAF?v)#*B7HBY(5e`UJU5@z1(%+C?BG8_L zFh?VRq5|DNvY0g??D|)k`JBh(@7V?Rb7iQMn)B!Pf8$AVR1A2nr5%+FNb7FScik9F zSD%p>S3C$)tHA@iy9TMCb3y?m6t#17nNpCL+MRXhL@4Szk~lijPjFTT-UtrMJx22g zalM>jR8j+3G?ItIV&dO(G;ejs92-N`YZjt!8 z`iA^099KM@byKy+Doai0?w&4eUvbZ~`sC$?fs~BRq=p8WiH_Zufi4Hj7nIAJdnMg(EgC#S71zqHc-TJy zDWW?%VVtGsgk+B4$}qTnDDUkG707+nqAs-@E4BJt4MLgc?+P?t&;@h`bG&*?Z7la$c=wJQPUrum`)2}9D8r)(Z)%rllNwHETq#mLO z6)6_FvVW<6H7nDgydMq;fXZ_TlcF)Skfy4Mm+2qMEM z7^`@Ax}fFISoh2Bi~X$CQ{8Cs(MchmuP9Zl2Y&1epIvxd2S}cd7#E*SJsfO!Q_>Wj zPXRLrupR)O4&~asqFwaDUEBxFJwVTxsu9UH>a>itb>#ZkmnRxZ*hZR&d2t{KcWaoKX?AwRr{_gD9|2$XIsvQd;BFLL}Zh#(6x*Oy?5E*9cEB}%I#MR zutYwNgPmVQk{Y@d1JV03!+nH_^}3`G-B(mK9g1>~%4;}2riQNzOf51?w3|9E>f8$y zObBRSz~8+rrwiw=^)#L^Nti^O)rB{-l0*mSzvPbA_D5$a=vA_kxrNVNE;W^)^^pl@ z@-7U>4ohg)k+M1?MWTPDeodL5jyW!=u5~=E&(I&eq(j~47K1tjudg4(&6D>Q(JF56 z^4%2L@tyyu?WWI=b4rh5{6WN+bQm5@e4>8w0KIan;6XuH@-BR)pqu}qx8CnS1AmvA z)~mvP1P;FU9e1GD>i0o(_ZNybe*}D9taeHoCtfy_{S*gb#d`cX!wr-4=*8{vhLCjJ z7>Y^d+ZuiiBQ3Dr*$>Z4kiA?8BusJsY?(_qPgOjp$J0`LA21WC%0x_?qtb+9Q$lpG zZd_?Ul0zq1SjI3Lfr47bz~hS*iJ9&bO}4MEf>w97nX;93dPQw8X*T;nw-x>!o$2wN zfaZfR(~GYkoG>#EN`I5V#@*%Gc;B`EF`9n6g_-+H$&?)@R|CZgzMi|p&_PB@Bwa)# zKXgFXh6z`}YLn$zp9Ify*JW{(eJp!fxgF8x*g|?W-X)3(rQ&mgns1`P;hoAK7?U*0 zhqe2c;Z@%gl_#C+=@dfcL^T_!VCla`TP`@-WTz2v{_qdb>N{cG;|-3~d4Pi9T_rzg z+kvL!P_Odu`T6-E$TA&)DBKgzV5i3$c{J3*UicV zfk%Mn>pI`Q0j5D@`Crs(olz=(Om`^^Wu7`!{yq9@(lh}V^Vt#O;%a>dK9%|QT>+y8 ztx+Y#oB|!}+(+?X7;A=xqou+0^)-KukQPg#M0IxvU{ixHXB^u;Tw!9I@Q`&x)tLGbU z4FhA6ou=r+k^HXb&)&&C@0tMCg!E63y(z7%K@bMLK;NG67Ug!)%P^rqG~#Hy0?Q08 zA%w>*F&MF`gRI%(cX}0+dT{cf!bd?A>UBMAuG7BJHffm!w6%(xBqp<0M@|uB?X= z)i)*qFdy~A&)y^5qSaCkj9esHQ9&!@kpvFGhxaQZ2S9Ij_p+2F&FLxfJ6hahNH5Ua z1W2T!;?}_nO$ZN++Da2YpFg%87gNZ+$HvXe$05FyPBL#+Pm&^(M*6$1*5`C-NXd>* z-%-Q54-kVVi%Cr_;S(3|loyTdA0+F{o6;|f_++F=d89|fgU~2d5kMBW#6Iko|CxEe zMq5L?urw)3`vgeZrtBYyM*-%$8xIQ~uv!AS8x=ytiOMxPr`g_7zY z7waDkcxd?k5&9VUe`oUKd?v-<+B11m*Fe6Ogk#H#`nmoW0M`@kG;6{F!B|MYa6i0g(kM%ZeW+W^&5+E&Rlo_#OHlbj^^AiR@P98!1`Hk!%SZQdt z>|NFLjYj|X-hIN*{j8ZcH3`Iyz=ehakaM;==w}Xr@Dy)+!^cR`6MMrU+P0>kWuN_9 z=1SlD?dS&+GH|Cnxz&H7R;2SyHGEFey?!z0#8tWX#$L}NfPSM?{Rj7xM2(lUjW-** zxntmn^El_4n}pXSMJiO>WmN5}ViJAgSILT+!vN(3Lug=JP|gEWE4Mi&23c2syfh^U zG&fkXdJx?X?dfIz<1s@AxAeW$>PpEfF70LHOgb6fti%uHkxS!3{x{K@2U&7^heWcY zD*UAhv~{Ko58@lW#U_Qv#+TlBT>6McdsU0~q+YN4O%O;mYCk~3URU2*mLCw%iV4x1 zOPpAzU6^0ivI%ReR4lu@u?xZRs2WcSyVRS2#_T`nhWD!=UE{Y;ikLsJ-+fmfI@(ic ztV}@z$j8m!fNr87ayEL^4J9)<-b($T<6S(eiItWnIt~UHwcQove1@Wtln&WLMM3*# z2kIDlRK<`)hX=l6kT&HeM5pvOc>SY`ch!?Oc*13E4@Sh^6r{uBc@b{NH)9O z+X6Yv5ZJgsFcPU`$NU?#%m`6r4*95ScuVx0tZS(={Aiyf>YZiYbVxlU?8I&BicvU1 zE^JI(j)|Ol&C90hOY!C{7ZXF6CpbhAIa6Ez>GK^+Wo}Fcd|dE=nZJ1Iu?t*W(zPMR zzWt75bA5m-?r)1AE&C^%D z#JZxbxqqzwNR@{`hm-UV>?cSOGZ7rh&T@SHq@<3KyRqtzbUhA$S*af~wTkd?Z*k8) z0;CaCb6k#IHU_mM$_M5iI!}Hlq#7;@E0JeZ&Rq3|^hS>(htfbQL(LTF0|zapjP8ur z^)bMmHej#J{sG}v3>rmwmNGYld4$GKHw`L7BZ>;;h6fG_9g5S#8{9|tBrobdH{S&j z*MJMH#J&7t(6Q`fg(B>Q%qa7<(IPfJ`JkMn--Ou@T060jPVjs?2Qw2&gD@UL*jB|3Ryu76r*50{bA{AWeu z+a!T3?MSdPRw6k#Il5{k-$^5AXbFQ$ zW8psF^cfBy*eYj>{o;E6#0&0sRO@m04Hlb}{mvZv4=5HOyfKz4&J37Z`8kZS^%WS` z*OaeKiZ@6A<*ct!(E2(Nf&WgBwcB=$R;w_j@fZfk#&9R+!bnt8q|>TM*pmCpV#UUX zfB4@>6mA$&MPgdF8?voRqWWSc6+*E@m%b*7on90g8j7z*82JXzVftvH#RNgY0)c)U zOH{CF`I72DkeD5_vLiW$@~jt;a4JNrloImC={3;)rUPEZ_iOtt|j!jK`IaOF$i%v$)dj zew`sOPo6_}7=lWUTA0YEunz^J|6*=HJfnx&4pJG0C@pjcfRg?a+IM#sxg1-(NNDo6 z_(GUuq=nqt~Rm{q8({KXIXo?^XUzXEi=MSF4yUV?0MVr9p}^r#d_ zrAc!}v>JNI?Fl@?9Kk z@y~mB2cVYk%N*xfD=mucyiyzOKS^~fun^s1TifMf5Qisz2raH4{}<vG!zshQ{)Nwxk3$ouLobPTl_mx7< zrXk&4SeBH3BJ?kEaZFJjqjLFw4kd>w({$u{Z{Kv3H&F?0KJc}X@J;-?p-1aj_Rrsv zVBGg7n(c*}j;6P|6*Rprq0xjTLyvF};%OqyXI$}Z$97XK?q>;Ev%rE1LsSr8BKe#LB{*T1a=s<6y0=0?6pmkJ3- z63rS?FnNQa=GK7s-GBkmJMHVHE_4O7FYu*T@Ineu@lwjBF z*5+Fg9{UUX$FK3B{Ly6&KnC{?4Oo+>io!f^poH{yZrSfj$u}@vkaeN<2H8XAs1+mm z>#?$`<5hEMb5O|N%1dh!iF&Vhyxc>RPykwS4S#X|qVFQg>`o;6RQN9BeW}IFXUO{xOB7q{_Vu`jq3eep4VK_{=%*Z3o0o2h}o-t?D+9*sqWJ}Hk!FB$?vT=Y3!NGTzWAt9d!-+-qF zU?-Z6HuLVS`prPw!mv{~r&!SGf&i>dL{h_&6=K{kmCVu1ZzbUp9G_tJW&;Hu3A{tX z9v2&z!BsLPm1_^i$CmUeF1&w1tJ4Z~ZQhWhagx-EJfIhb^(i+X=uHRB5bYpjX?*$N z1P+@E@iobpPvs1eigjeDp9}{3gG^sCRX+ zy>Dffi1Qg81n1+kKOiLegMf09&+uymIP-7*aB*eVK)nlGc$@MHYOo>Xgq7WX13~N% z$(IQ{rWd-`r*>pO>a6$e7{r2qQ0)afp;AbP;-P(cm#ix|c;Dz}=sYlazm)$qf9@5$ z@qk*px_!C>M$7(iA`uOlT~c@P?d^P{*bFg(8Ood~`&>1;N2Kxivi8aTny4Ls_!AG` z48gx1Y#=10pKC2OVdBtXfcX6nHJ+t^ePC>Je6T+@Stz zF~4^_AOlF|D{npl#>Rle{A+{&Hn4LCw(U6rW&X;)C6V<|Ey|{EKxEUxWFbN_!ffCL zot&8Hd~}t%{a5u(^?qu>h8_c`^jktu>iVG* zZeYGLI7<$iZdyDFrtPf;AQ5%GI?dpOL=6+U{xGy4!Zq#^Q0jrs;EoBmh@{Qq%o~G7 zzY%r@Pv*hRQ?NOr*P07fpz@+AdezNob(3~_@^A@>dGKARE9zJ9D<0RO!D=e^fHoSR8nd6Ckm;ygf?L0gj%3f@u6bx^D>oLzMn; zG;+0Vc|$*qEkt_=jkzES_8syMBAi}r7+inQ>=X9xrfs@s|EHy^4ruc0!lQeHj2AkW^_#cS*ODfGCU(X#}J@MyDV-7)U4}CEX1YN_~Uh_xJX`x1Rf)bDwkWdHI7o zsB63jST3AXMush1uUP$Y?l*)xxA)Y>QR}K7;bD7W7-iO|UnmV!W^~)mQJLM) zbk#|CU;6+grA^=d89P68G!skI@$>nUvaC_slNIs+JFq4HqxI%zd(Z&HJCv&@;e}E` z+{|l!!*$I*mHQXQp&c+B8b9b8BV*n(F>L7siOL!K@eS_L3Cn^vl+t&Py*8lZ%gSaO zh)jdx$C`Ev0woft4#l^rJ?5~oE#CjiEtOJh8hdye*XRid#+Y#!att#R#`e753O*4| z<$b^V2{`hGO2zLv1M&E!SKCQY=KJYN5YG*>JPR)F2xB_(8;hEHx52rxm{75{2 z_0L}x5WcQHv~M*PP7+`pZ*gftx1jj&Rl)t?Wch)X+|Hc%k$8`=s2-4ikNW+>oQS$% z6hvek5h}fJZXve75Ip9es{*gQt9e5xH{V3fnTi){3W(nzs9rPiW%(w;UlAA!-29#eJWJFW2)9ZutaaA>gK4Q2-IeoQ02)*UdL z(E$d+CH*SZ`~n7oo{S&A3#%lWadfSw6OiOVjb7FnZHC^%I(L*OS=mACk9n}jg-vj? zuk}R!y+~>W{Zu16cu%tP+$>lZEG)^A@)wdtitoeAzLv>Pk|71z9Z z5{wnfD)()$e9gC*(peEN3$YYfar7!DN2~R{yZJM6w=+7lakEIgG`b23vRT{)qaMFa zB$!nqb5YF5PkvxLTE~mQAI-5gzy1}H+Onb-P+yNY)dU0RLp#@_2yQkOFXPr%_78E6 z9NzXxx9(O{S!@F$8+v*=?%@{SHe_Kmz-PEB38}Jlg+FxzPxfij0@FEP?o^!Vo8HZt zCeA z(!+P_E@-!@$B}m--WRB}eSUJaK@&92(0eQ2G|;P}!A<3Kv;{A%(+PNbkP=v0moL%3 z1oXXV=qz@*o2ve{&$|M;E8aD)+A%3j0Wy3CmB=CPNo}p_2vgHmkpPCqhcUmt++^~j z>GoSr_@-$;=j}iUC(tR5zoi@OBY!Z8%-3^v2n`t7+T*;V>YaPKhVc-B+6>Za8>Oq0utF5 zPK)OEh@czJEv*Bvl-9{*KF2YlpAJFY3TO;_XKD1nqP9>DR0_r1q%zuG+%BMscG@j# z#q0ps)_s1DeP22w3boeJKKHEVSg7t@onY0f-wdag|NWz~*}{z$(kUzA7JaftIQ@R$ zE^9aNG%5Iu8Cvi#W9579aIS_q>S=yrVen>uAaUW3kb%UGm3oi+1@wu0yyHd3Fina) zkL{_oW@<4}Q}pQW`9Hbq*&DM-tcusfsc=qK6@BarJu}Wr(-YL0f;05+^HP?4R49D`&#>{)@64Fyj=C9k}Ik zwHWb?nAsz9YW}E6z}?He_yUy0JuSgv^8=Zs)M(gGeCpohPclOEU~v zvp>JXUo;|&3f2(X*P*IN+)rFiAWupmVTw)qUOiWR{^-FkJ$v1j^c6F;2Q?>~r;+0m zef{`Eu!F=KFGmj#kn)4=P2vLqk@j_;Hd1|sDNsKU6Z$;je~2gj?SemDyUG5mFk4pm zU)0HpGPPiCC?O@>Ap*$qAm=j(WH22RBYE{0|N936c7Jn>F;T#ww<3c}+c3_5LAY#O zJqmE4?tkdOmM;vD%3XCz{n4EMcvQfJz9*uN1cgVE6X?wNv@Tpgcy8SJ^_{7(@4Wja z8T`wSqEmvI;{Ki1zatMPi=@i0?z4;kEKJM%|3N`87=yj-R+Sg2T*1zh6kLsvxnD1s z-6v3NQKZPeJK^`q)^t!Q)!tDjWmg7%WUp>In=!FpB z&)|s~_e&}>j;QxmBqTAe2`!f;SI{xQNFFU2m|!DGU0H@3%7X6`s`jD(OF^$OBMCzV z)9+SYSs}b3girpFt82X&YR%X9D6kYQ*Gag$pO=?gJ5N$QW6^mV?Nsm=_M&cSBD3BT z;R;z5_4x6Kl=Lkr4G+3TIAv5=Nw{@SR1KSM?6+BS(v;aw1lx$d+1_(wVDT0=(*<`;WNl^i2`&N|ORn(0E zh=+3CQ-fHNMJ1G+Zgwyw*%H|xK*jO z{soFkWCyd10c+l=zU?L5gZ*Gey+>+3x)g3m5j$R)r`%LQmuEmGZna@B{ww@dCGF~( zrF(VsF>OA>KxU|4nmL_`8qK8qs)F5c1vrBodyb4=XmW~(M_F`_4z+UbxN?m4pYX(+ zT*;dvnLo13)VlYws8%KO&sp0Ua?!<5w0x79aJQ(@*#G&9s07gRBKzkrAfY~&phGwY zM>hBDw%swCMLsD5kgw`~Z;Qd6s48-bGQV8l;IFRpnk^U-t^#p~-E!TDk=Kye`6$CdEQV=UM$zmTT42|SB+`n>Wgt?=E zlvZX}Go<8F-fp;e&}^Lw69yKKWC?4X&;86Bo$KPZt`D z0BD12YL=}+Sw2P)yV2_e0P4N(sUW;YM>XF-#M86%Lzf*FtwON;@C*IozUqmT0XA%$ z@ls%#4s*w#IQXS8P(vmFSHSJmwa}~{m5KqDd*=do1?ap5u+g>-w6sO9V34&kYq;LO z6la|LBJsHrOwJ0noJJ7aU%4`QrkOekm>^-8oXzcPn3&o_cU?V5-l4=_m1~B!mvC0U zOXZLsRzPAq%ar-#;}XaDlKND)G{jt@iUqdn+&d+5rLy^ISIi!TkwocuKx!;SA(k&7 z5R+7ZXO9^w0|*(m=<3D?YS!Tl7fu23q7~wY^wd!j3~bqim~%*~^}oJwIwlRjhYJFY ze6*V{Wk}wUP@f|v%9@06vOCu@(uu}WtQ#y?(EOz=R`j=}T6&B&^aJcj6KO>1OwPMq zS=JY6UgDghVP{4{4*{0jJQ|P>0BDva3jY^Jv5NY8Y2}1gT{)aQ?#}N~YDb;i2!H=m zcmgVx5j06P?i!jBOEZv*Z^iJEBY%s1B0x5Y@h`3kl9Idzz6CkYTz?kG`D+9!(XrSkxO0TZqn5#c_yYH${$e(^>lM zPub5Ojh*Yvu(3?VvRyt=;7H;kx5Fi_EW!^jX|+wIdN!q44of98KrqSx{>yB@5x|Y} zu7^5t(e_;0|1g`VgqY`F!W!9E#N^54xCTg8`Io~K2Gp^2UO3=*h9d!3sVje&~xTFz-254H@4pP|U4-(KU4L-Gy(=(&f6>(6?9>H*UPZ2?2= zl~as>#D?mhl^>bkF; z4c#$&FDZ!Ew^V~7|@$if7Q+q<30#vOd zZ;1ttqmhXKsV1!TA6Q{#RGT0g zq&#OI^3;t!-|MjvZ_LuzPt2Gds_9&R|Fr>T@tsMbj|e&-dsqx?QHGGy!Gt3}Uz@g% zQL4LVMG)msE5Qa~<ghnd#z!k!1nTmM*5q2BQTBnGhUE<5qzblfws662Nbq&V2JVeGkG^qCk95?jRv z{{@`MV8X$W)V*{GK;N_lu<4d-|KRo^vlr)egj!#?e?9vQ$AL+rVLLhXskq}keaiBf zlWmOaJ_c)9E0!yk@`+Q@PNHl6u$YsXP{jjH@lQDz zu|_qVHXl%Wki=x&XjLnjP{(SO`7Fc${xu-OUwf)=OTlsaaHbkjf4eZnl=?lF=NODc zBiyX3|GMXKe1iGDFM0ntQjYW8;ty}gszUN8)u~%R5Q!5{D}C|z-HEfIeJQMSEcobD z^S)i1XGfd&uBwf3PWFIorukXDaZ7leN0rlT2W|?{P~EO+E4arx9qe809T?6Viiedd zSp8!hMhM`S3CQda7`3AAdtuxpVpmU(%)a|$d;RU=Rx=P;2&5YZ!@NL03P?s1` zQ?eWa5shpmiDAfz?v@K%(s=g`A(VEpwSUrgE-^bI5p8}JYkAU9EP9yaUVqE4TH!l1nc@R#g4g##Ds_?h#XTlNcLnTCA)!DYZn_9dx;3{Pu)x%`%g7d2~@vZ00 zJsB|uPL{%l+RKo5$22yKCaO41Oa#S~v=PVJg`%cqu?_k_SInlreDv~;D<)Vf!qo$U zX>IB0k+7E6SEyn%atkyYCZ_vkvw-%`TE@DsIu94>P3n8<3`wP4HXVNDf@YL1KdT{4 z{>1CRX*YZG-F}wtI%#qCP&Sj}^UmLqrnxhsd|*E++|PBQj5BvN9C<% zz&hv8UoZLnmlbc>Juf=Zmo8Ry{+_Y2iLVR|@m;Vrhz;d;?`9^*J?(`}TbPG>^&n$1 zuFYzm$w@`io%GL1IR>8?iaSaRA`ABBZJ$!*_$t>+wJWgZSsL;I=3Gu80+KLHiq~mXM5|ySnn+iBrWHCcU-|#fe50&t! z>p=Z2+nD7zvbq8)7$iCUYDd# zG_<+Ywtdv)T{ll-l(hL90$$u1?i20}|xxbaMd%^I6M)7!CkBZHsvw^QS0id255W$hC~h5t70 zhD0dYJ$r1ptLU&{77l!FBJMzWwqd18BsiIg(=B$@#GR8I-pi~u)3lBAaVu4Twl!xmDWoINvsCcim=p@MLl_Md6jUH(eT+=;I+{8mo_J+s zn|Tl={Qaljh1tjO>P@tYnQSn}$eA3OQsvj`(_|w1#AbOcvsKEjV$saMHuB3^{Tt8v0ls-Kn{&kx3Pj2i}C*e}u zlFr{3ZMP}%1Fkrp0eEf`;Eea@unT^yc-azV%C*)Uqd3W;!GQA z9li-+L=`rSVcN8_?P#$*{aj~wNH5FM`#!zxf_f@*({aOw59u5TBMjz)kaxF8A4NLFlE}+dAnaVYw&;k+JuD?C*Nrc9%D|DUM%!T_ejl^kMK(O+rll zS<@S%!72nXhEEnLT^!6rN#Ek!{P~*-xK>47F7+y%;f{(u$0nrQOEVA*KTrI}LE2Eez2p;(iFtY8O z8(d@4Xnv_8ZUBI>KKA2Aa+qhSYoK=VOL$Be5}Y{!k;mcIC^ z=0f;eQM1#9?km5UmONrM__vvZM_SJm{5y|;Y+9PX%TY|r8TMS-980)$K}DUTv%~3U zqTjYnFQL-zFrtf>K+?p8a_FE~o3+R8@JOvMC3^q-ate2NN4Ig^`kU=|5?1p;zO;;V z0FOJ442Y!GVfjCIwI>6_JCCovo!OQZ}w^eFEcd&j304d~_R9=lFuDuPmKP z;LL^)bBnBBWRLS<>E*cGjYJ`%=kSijUq9TX>n9JCz4cOCp*GJ8E0b46=iq^B;qT(4 zuLezn3+_m|IwSPfJB*#Gxy1v{=HoUFZ(5{}(+=sGv|_!A_h!7AB(-?vY_=~24F}p6 zj%=7}>t0@YFx+v5!aZt7n4!7XP@v5K}P*lMz= z7R)ausk#_x$2bdAWs0qj-jg?c)Y{(ev&<1P|E<1rJD4W3_;DSb6HOQ54(TdIXT|@_ zyds7hg48#@=-0MV@p}cq*yEN%2lY=Z) z2zcQgZrwb2jtvDyy>wZJPWE&4J;Q9CMo54c{}2XO^96EqP36!mO3SbKdYr1H&i76V zA4F^mxNy^a9iv}$Yr0js+6b@v^Z%l8qI|nNy7~fh`KxiS_XY2(s$Rc$23?_Q-&%rrhznlTsH{V?Ae9#BWnUyfc4VH) zUsxl5ve$otF5*39*X%81T({#4JWf<73D1#>NIrXxFr%hpV=GWm`b$eFLyvhi^E0hj{VOO(UE^B z_%E^I({z|)*dDz>!CLDtaZBT>x%n|#6{E;pN=5H*TY{Hbvp<_D^irvj}$rfk?-E9DMyK1WpL5n{rb&i+UpeFjz~qu zX3f3hyW}uQzKsu?_BCZ*i#Rz+y^cRDr-NVDTDR@dhQC9%Yz`j2ZP=Z&7SD8UVwlY) zhcB-RJi}vR!o_%D0J4-zoS0fYm4~YcaS54x#gf^<%)-~U%me}0Ef|vl-{0_UC4Mpd z$OyHs-_@>BVWLY^p_0+WP4vv$B3I}l4`Gt=A%}T~>d46Sr3J_Gabu;rpL!f3T0D0s z(DQkB|B)T?!@{CTFvUK|tC?(F>;ckS#4U+Ng6#4MEhoOnvpmp=57(Op^z6 z`jx*RZ{7M=K4Px9=P9!dode!?s#o8-rHGBCmd{3qaP-ZL2qJ+eA*-mO^Y_X2=}Ptt zHeLoc$lX@4)QGr3?^7?2W4ME~2bus>-e%KK0r#NzxjG=9%yy5(_s`OF^(SMqv4=NClEPHJdPCwBq*w60}iM&}E(f8?3s2t^ZqxlrD%nc(w#K?^OVtu zVMpWN>nN`mwTf!C_>{m`jWetU=XjZNz29@EDF0sKtw}g6<(KCQg5ATj z5BnRj5gsuWgD)lTqRL5tIwhawKZj|DoT^3sij3*eOYnu*D)d&Uv{k8Lgr=3qT9(u$ zfK3$e0rRh!v{mBEs2Denc!sIb<&SI%4J^YP?27aRI*K$!TDL1VNfO~x4^!HJ zMx)pLO>T}Aq)g)5OXPr8L$$Npqj7NI%f4pkiRH<4TWTp&y+JA8#{)eOdU|Gr2#?v} zMGY#|hllH6Gonk{k8Ja3_pq<=H1Mt`+#jpw`U)N;R~e#blPdG2VL22J6=PvgpAA0; zaS4muIL0sD$?lz2cMx4oOA!U$KsJJ|NUs&MsWGFb*A1sV#Cd{lEL!UP|B~0%S2p`^QO=w=4y_2>Wn zaL;|7bL+#|XYaMvUN`E4x)S~~>Sq7|0RR2Fw^{%I7B&EY7K)Aecc#9=O6czi$K{`R_oPS_we>on*9lr=OL8Ka7xbtonEGn+(<}MS z{?0lpzqR+O8SHluh=D8tAapdnvVLyWCRc1r$MwtU_t(JP(E;Q8a?#y8seqjXnpI{> zu)fuT|Lw*f$Lzy2P|S1CXuw5GcOlxwN{)egu8unQ9m4#3Pn`udRhC6*_PE6&_l?Dt z(BNkKVw}0s$+FYR#*Vhf@C}F%PIMdUi|%)Y75F#+$RHKm4`Le+%)JESMT9^riJZ~E zdtk+Ebf!=uIqd(2HcijlD#BIQOqJtYIl|5U>)De_ZjA0Ek!_T=y{<~bK*xs0a9-4= zbC-Z3($zqooDdsLrZ4z{00vkWW)~aQJY2kKoZ!rEj{&w$K<-XY0$L30@JuSRABSS! z4$geXMRVEc3isGKN<#C8=^Xc>${db28+hf=pxVHeV*O>%&P==Fc~d!(Q|U!?c~Uy& z06J1xo%swMYe+1cDjmo9-S(mY7@q$?VdWYlX4*pAdUEFiwS*30#qd5r0Cl#?wxxIZIrk^|A!>o(Gpddgz z+;hjV_s$gNOEL9|-$3p=r$ve6BB`}enHn)O1eSpEXFj8WcjV_zrJ2!6+>I|9_EK&| zI}to4F-d--X=Er>lsXzl>P$*bRy!kWBdFF=l65K|lU_v^$EqgiQrqQ}u; z3uoUK)PVJ@jmOM+9<-`kUaTKX%V%%i14MmEva8K(obDd^^I>wdmQnwp^3*QN)FQxP69NA*Y_r?c+&%|#TzEGXXv>Ue$;D{vyava-!W)e)s1&p!`qWze#$=Ey3v+q%a>}V$lKjCB z#)9E+w=A`Lc{guiwAiS)JZJLab52|q$mD;4D_V9T@OXk%UA1ZUFPf_}jL22hT}Ri~ ztMlnK=0A6HwJDX6E;QvKRnV?y)}o9-rIgzj-{SqibN*1t~O1z6^FD!Hb_M6yjh2>dIHKS@F0bBJrN=01oA3d_3 zjHdF_@z;Jt#q)q=1=l})H(nv7+abE24JEM>o%}Si@;aadGU81UQ{Jd%twHi9L>1Y` z^Crj+aan-MTqjB!(9~X*UB#IevvR9{mDm%yX_yJD66kjXAVpSV&LtrEjIB!$yfZ8Y z^iPC!9lI`gBf*IS9i5ttf`CDVJy5of&WjMVb5m0>>2fTt$f5TxSC&YxZ*N!F@DX}M zzS@U>Tu|YEiVB`~_YS80MFtkue&ybo@^(7agmSf|Hf~_S-33Ch34>aRGFJ0qA+Oa> z9>}2gwFwJHsyw-VLeKtNiAcB=Aj}raLRh)LF1ZC>R9|(L5wXr$s2KfR<>%B>Uq%1NA(Bx?#BBHm;DxV&NB(<0I2ZPYGLhWPSKlWd`-(Qmr*MvqQf zfRfV4TT>L>tctOY+%fd(=PFhncT@pAfIHa5&hbO{B74RHRnP#zRi52x!Tci8Z2w~; zCODF95wJ$>XAnIrg3GOh91Oela(&EXeCJCsmBBh->gANUXvT_8^0XdeKSc!_HHA-9 zLOBj7<6p0ec%CF$%Ggt8#lFYuh5;|`IapmpTNbM$n48S_g5La@8j0emwJcJ=iYuaO&1!DW0wczy}s*J z2{&$;5=!?1JW)YvhymF32N|+|1;d#@o&&pKU!nV|g_R)wu=VtIYl`CEmCcoxIH6rP z?iu!T<;}zwiFJCDpZTL_mYI7z=c0Y;gPc|CTK{~Wj9`CvUM;^>8xV&scXUfo4rC^VDeLA44xjb+GQhIPiFo3gg)`sEOxSej|iPu2(KQ?%M~6H zBu=3fU*xGZ2Kn`=>5_d>K@*?P>P0dUWmvOQbBzBjfa(Dk)oGx@WT@%+{6EKr{7spO~+1=GHqkmjkG<$h<_R#pG4oRQ%gL7>+H#f0wkM6p|9 ze4Z1NoS60qwBQ!PWP=rQUlpGacgISv5~Is7QGkJ)G~t9-PGx?hw;l-nWQ*=FAP2gr z4#-b(iG(lrZ8;LJE)k!hXNU1j2uq0wJpQ=Zq}m`f6D818jh&mNH5I1M;r{tXt;O|F zRk`o5hrx}F+&Y-ak4Wdym!K(j?l`t826VbY39AVMZ+EX9*%N{tvyX^0=^UaBodxP~B#LE|<-T|9YU_5G1ooVB2kd8qo>)*KqVE5`bTw>hg-J_Oa(Ge`oILM^6ue`;z zk2*I_a4UPF{^^99crc?OO=vdsY?mtzt0uuk}8 z1U;7+Ks;$=y~`<)(uOS%#rFI-?m{-M_DVXYwY*XF!F*0XsIBBAGwPJc8hR3gG21FSLr zv2egy5J{Qrsaf>UNT3+VnJM#T2UuNp_8B=M)>`7>&aq=5)wEu zcB)HC_^{y~lP2~j;+w;Xn0gs9!iA`efIYGEnSqvQ&y(OxVgCSHykifMYT4yj521Ds zlP8D^&so2i<`ib`P`wyS{lkm!C7jS^71!SlLuZ$N@=g>h3*TDp%9}q@i(Yln|OD<+|P7Gkr|X~^!*z7qPsZ16N>6zq5dmwFQK&6U4! zc;Q0O)J#D0s)qF6<*4l&cJvC^0j1s#l*TD>Ze-#gu;*=S~!1`S6eA88RwS8J{ zo?f|uB-}(k$DI!!e_kUmcA(}Al$>Tz+GXy@sH?zBSwmEm98tm5Kp|xbn|9qjPyY-x z`$!|@*VJKRBA)QYY^7qFDAvL$%hX9CHF;PhP8=uQe2hSuyZcSH@8k{CxJmZyHFPtu5u+e{e5}Qz7VNRBhQtjfI~+ zOjV6wXB-mpN2T+H*>dxHa?4nE+Ay1wz~(IvG+Hww(|?Fu4g^6MXh*)~%D9iGKksAx zTFZkII?F`}ZAy&e|FaX)$bF61=7DOagIiVaB=id3*8kn}j45NE{y%veLU{2qM+yzw zIhWS9T-+*^)4mbLrdKJmgakeF3U|OG^kMQy4|I87Eau28>$AA94mKq#T-vsXHR7j! z3`mtLFZJTSn;=8Lt>&8>tRG<>1pTve;BFk@yIBYu1q%w8{^oSL*$Mxt4F|pkUssI1 z7LY7xbvvERQ7}t^aHZiotkSq(2Ny}dIQxUawjq_JRHZ@M+f<>q`%ASkp2xW$FKzCa zZ~!Ote(!g#E*7q11u@B`W5)MmJn2q*Cpm-jEUM_=x2T!olxePAGq~$7l>CnOC!{MHg@g@;En`$%{6Z!`0ClgY@oQC*oWTKxyCcYL3gWs*)H zIWS$EU@Hp9(P+0z0z>cqH7Zuq)`;bSJsn^#OkOJ;s=&k?ZNv1&@f0RcHgEb_WSg^8 zZGW-fc#=PL3eOpfz|I4F&%*mS(beY_&$iKu)n@-kQ(-5~F*MAAuYjwbCbs_`J z&$hUpeYWtb(2=Y=-=JEJ*=h+lw)~VXCV*ls29=sXX33{c@lHU#75AFl|ImQ!b#mar zR)jGLZ_*7#-*}2EgH%@StU}`^!5KU;WhOU|0@ui0H(dU0&${Q8nu~2wfB;U-+j%U2 zAifLv-m|w6KbWw;+H#5TwYnEWE{5R=wNTI z^L`$&fBqHyR=6tn-fmN@oa-OJe9KZPt6MtsQH4+mATH9?*)Qz}3Nq=VGsme&7YnE5 z-e2}uIf8V2;ZU3`l({hXzqM^j-kzW?VF}Fkd2J5(XmJ~77Jowm2z5tP;fnSI5QsYJ#yt^EN z;_PWDPh`3*?gwLI?}=$9)>TyivwL_9BkrDj_8!*Ck#z3ox>TXE6i_uU zJWCNB8L}Ne#O#)slDP{>zxz+_qW2!;Z~uU}H?U89P!i)}jtYJWN6s573w&7+J>-73 zT%^L2@r;-C#fM!%PN&~NptL8OdlQ{EgqFF=b%T2czDju>Ylt#!hc@q@SwD=Fhp&7; zJOmTX6bWtmVjXEGvbt8s!Ie+bBNRT3^>l+>;hP>31ZzHZM$jpCfZ_(P1I61aA^OaE z^3diG1x+4@)Lun2IqJ!#PN&SY3o=JHe4jKnzaw9>$p|6hxy$NYGjE=L%xqqIB?%`6 zX%GU^@~z0xvt6sR)rv#XflR2?o(N8IDBG_ej1Q4_5RV#=noV2A`m}Ibo}u_>^V}ds zxyHAWnYzFA3qSrr7Nbb}a*dF#w~et&sVIfL2ciA=cm2boH_-l)Ta7J7!^z-QfE2v8 z>W0LsumAdI`UV&)yfa)@xg?Wj{qUKHG}dCn@*5wUbplyzKmNO0?Dh{$Bj%xtz>oh6 zCj6cuZ*Tocdvw<`{wJE~5IcXYu2X2BGeXeS-@_fo@h_gF2DX{Z9oL-fRYT2ZN4u&jxd&rbL!-6dfIZ&T0n$Bk!>!;LnxFH=V21HCm`;`MVA z`A;oAx(*s!Z=c2fbnN~d&e-ui`a^0Xf1N{J2QTBq!c2>?Ro_Ye;cQe=UJ+SH)%S&| zQ53Z`C2MlgB8e;rCgu0WrsZbiZDn(P&WwS61z(e41!|1CrdV<=P@H@f4L_{Gm6xKo zov|UTLr=b{R#I$&ma{^GgfGGFqq(`J#Ho)07e{`p?Q@5BSspjtX-dy`_8VjNtSFY$ z%}r|TS{$-jas2g60?(!ka~JBP%*~Q&>ppm4ja0kX@6~s=`27&70$SNACO@wrUGvLL zn1aJ-EN@zGIa00f7W$95X1SII{Oith`yT70w)-6MMba?(T1QA1mrmQh!{43uN#xE_ zyI?m$gh67q_1NMSL~ZM-SGGvS$%D-Cp)0- z68Ea4?^6BptlE}oiM`sR_Eo;xR6e8i!gcJka)^w;k#?WHW>@vM$f()E;b~-K;$ug7L!&_Rmf>dw$-_;vOMSiXf9q4r&2g(FO_H2muFfU`Hs|gBXd>l z1Ja?GowU6L--(ap$@R4=3d8;zUXW2ng^I-$-Q|0S2Lwb4#flN64w>hpAj zy^%p^*l)Mk8;Lo(ydy=gLEjFONfq3|ZXK_81ooRQ5Vn z$fo77%+034`6==|HtGBGP5-Nvo$@68M9YrldT!PFPXTosix98)p7nfOs3@rRn@^nq zkAwZJe&e!|5*>kTAg%{C7q)l#ZT1V^XPzBzYG=LFCDPKRL3iscb?Y55C+)LX_pHNpGyid5CN zc;WsL@mG!77oI|{Mlsi~dpZ^l3j95K0>4mCtbIdytp^4Ro*TFt%4R01J3cpxW_U|r{IOr$m~-H<2>HIKUeSvQw>^f4I*M7T>oC)aD-xFMM$p9u0rLe}~UX1#AH#D~mN z?_N-rZod>T12Kfw+pbggLM9kPK2jbMW<7(}?sP@aj96Jv!y>|)CbqjoBls;zJbfli( zJs~lg6%?m&BCLd2!hr)Oz$}0ml5FFxQc2*4AV+)Vw>i|e7>sGMt(n?w`APe)M*-4d0}hf0pEn4|PmE68Y<#3y?_y8$46t&R?YqK!5vQn|swMa;a8*LPw1c!g zzsc7BxZgOS4y2{s>6qv(be%kjG2{du91Uu2OT`J?Nbb83EU?~5b#4h5->-03FiuZg z82&j~&vRj&Y;qH2NXL^}{953?@$08;7JFal^be@2bhXb~Tmxcmw4?3USVb!$%G4fH zb`*4fZh|6pU)pxJPO-26@0{gcMS9r&3nZlwX>aei1d~owZu;jXimeGU=uEtkp>t;l zD?~ZM2_ff=@lTMT7ZLAzdiL}Yo_sTRW=t`io%90;a`os_VgTbx-#uUi2sjxdwY)%2 z7EKTPYYM)PZJE4}yu6&x0)^-pfNGcjaSM>|dc%NN#HXX^aQa^^gW(hmPt4-rhu6oO zAtrIVh;b&>2P7$=<2qb!q@Z$^z$|gn^oOrGd_@3E>L+OwS9N0U@r-V-!tdj5u*-9; zpays0+?IiML7Qd&Jb#aytA|X_dhkwVNaKLgnp)Fq^NdNsvoT#mUUm<=JE28|d{)~t zOVF{MgW)&Ed3+AIl$uFZdei=_Jazw#tUmbSX@NLWJ&|yR*hMC$QLHMQCrJ5=rRRkuC~YJs@KzR4jwW%e*j^nfEI|F-DEe>m zb*Vghgp?DREJ_mY)$nCmN2je>WveJQ{aA5X_e?&EPb7+ynvo|*?>=WlITbH9O&N7x ze~LLyoyy$FQ6S6Dsl@hEP@kz;84mGVloe@Q<;63dV{p&i8EthwQo{M2zs<;3#efhZ zqna)@Yy?B!3TEXd*81RupnD|%C@Z8MiH)U^G;Q8DE1pj<-($ohn50z+3A?sO3_1H{ zgV&cj!*jha=3PWgZQ4QUS)ppT(=OpEw3#>m4`C@N0FeW(s{H^#wUE+G$qF8mGkA{l zfOAJcGxF2P8G_U>;EG}E>><rb15aq7l z-_s_7-(R0AT3LSKe&_<*`xu{~ihNn}TsWb_A6c?er}Na(-XKJo*b?(bYR1X^CH6oz zP{J9y66R}()!6#5dm_nFob&=JCE+*Q=5?K9bS!;Yxn#ctZ?9h!m=zOXwaM1oB@krU z;G`^gU@}!SVKmFpqt>jgXk#=_nHoK!2*7oc)bYXD3gGm}uT-~vtGtbKiI=ahT4rdZ`z;SBcClV=6Tyv`Tz>+J*AxzD8=>Do)!;EvHz}TC<3G#RJ zlr^>)xDlJ!Hc~}6FDJsEgvdYg?BVS7WM0WkD~g-lDWy&&P(y@@$UM;XDU45RzWvOL zXKJ>1M@gd<%U?u?;nYI*v)|~00+l^(jq7>^>F1#A7a{T!X@+sx$-E~q>02(T>P|%H z;>C=B6GIaO#MSbJTB_$q_2fr*pUzKxoCbB_;lq}DRn@Ea=yk>-EaneT^$59h0Vjs( z&>Idp`QKANrmha;LL8=3O5|HT^n1mE0&n@Oc9}#D<(^G&Kia&jrkXqFcwQoWClqbH zYM?BzNMBZ}u|Mq-!9G{N>c%vkDZHk5Kk`=}N-fq8?r^ja?WtlsOy)gpzm;ma9&ICh zL!^D*tV&sez)B%uOzYME46XQ@Jww`G0hOio%T0PdFZKgO1&X# zk4$+*tIrnRuaoUM?q*{y5v>r!D@H!xB%yM8v!h>7rN6qKl1`nRCW@R{Ygt-eIvXOD zDlXrIltxF{sS!;1x|I-KY7XvGA`k*oHa5J;+O=1I^d`)$y3FOhUZgS?oZHVC0(cF< zH_2_@=UWoKPe2%Ap|a~93)z2ty~Ti7a9)pC^X*@|T_uG_DJ7UX#teLK38j`M{+G}V zu!&jlUE-U9HfrZ8&sTEW*PZ>Y_292Tm#D3o8pzOKjgWZFSTDZ>A+uJ>^YJ499Mt{Hg&FWS6#A)JY1? z@pm(ex81{9VXy_BMkNMB=Dg$+3IO~p97)!tu{NML4xHdAd^-}>{SmztxaCbqZ+uUK zTzCrWTsB$AyM}NI5&vjr$>rO*a(6J?;$Ftcozh!^Rdg=2b%Ia0-*wSG-cu0rWU{47 z+wVq{rlvawq6CO7{& zd&@+)s^D1Nx*|uQDKa&^-=ZJ6QGUnYgrQCOGEw8Mg zJhqob{Dsa1@OXE=5)S-rrfm^?>K7ZFk)g6-Zq>_-8(C0LS}RfNf4 zPha?8nw~W!`b>bU-@xm&L79A-)PWX`I0(J^*ff2MZ&=ZBj~UN=4T2WIzVLR>jE#u( zb`{b>9iFYiJ4;(9)Pl(Gnb0Q`e+&6_o#$)a1@S^PC40dI8>p3}>}CL}oZ@=|w4Qy? zWuwKE<%&)e0j>Ekpy$oPX90KQv*8*T&Ktz0Qp!fFUzgIz%LY{K6q0ReJd+G#WYGle z7mBa0+B0?yoJ-2@o{RdhB)e0F$&OFB6EWK9ZK_^cvuxn^GiqU;&-o@yID00V&&MAmQ_bq@1w+yE9+KQc_-CsS@;=`GVR{< zR>*)D^=H`Irl*C`t%JR$vEoyfFMClT5owjzAwAn&w1zR&Y3V5fq^zQ8=#F7sk<8x@ z&SZ>$1YK3&YmXC?M`J^2-%wh0?})6Or*A>2EtZz>Y~H zm=zPTe=KaLr_&j!oh`O<-XcI`GvA32yX65h+~)d^L31Cq#F6V>>#(6pwDX>`yLLdp z1-FLpn5-`DJna;b8xN5_A7NS8f=6p(>Em~BduJWZ8nb|p8;HNP<&!3+yo|lZMV61C=4NuExwmfl>#$a~m-;kbZ5Mf1OI=6ut?L2V?^s43|Wa z!Gl!GUaNg$*?eu!p|mJ1n1blVrZfbCBG>s%O1&+i1n!U-iWOf-Hf3m+F}i!YF69l? ztQvPW%d4AU3$}UD)Tm%Jcm0-MD}C1}Wbu88&It!~1I+O-dzzxPo;4?l-70C;H;W2; zX2-R0LdeNCpS8s{2=B2z>qzhvVPn(=`*a}t$s4cfg_LO)`z>o%W2K6aS5`*t>w`zM zL6FIm<fE`>&tJ$@>6DUeBU!0!|-a^R9(m$svj7WeJcb`cAPp+Hg7R7<+ZdeISjB&cCfC+ zI7``dS0gzjIUX$+#|`Z`r~GdSm%lNJB8=g~PAk(PdeVM=1ii84EA-?fnBSc(2Rb}? z8B>{#Rv}J`gX`mUe%8CtF5U84ap(|%7nTU+M>CF?_?(P|*y1Em8mlnxpFGjFC&~yN zq+Tr?HX;JPkxY%a?L;14PlF#WzJeczED+#asrt_5C6v{z62dv_gn_^>|7&hYYzGN+ zz3GCSA$DFP4plC&oQ&7}_HTFs9$;si<9ClUjcw@yf)r+`Ipe@NJS|YHpP$h4-WxrE z&p6-!qAs3d%5vepC=ow1Q^V_hAX)70X^wD~%D)9fKww%PuP3jmPG zTj)h*G0lS4Bd7|PjjWDI*(xVjJT)qQNkuDnAXrlwv-gm(~&zFEAgjwoywoZWUN-+J6zB%$Q^fnf82!SWA*fUJ2 zP0=h0iJkf7Dhm2Nj|=bGCcnzYrtl=2PC$)BHT$)^=U=8Y9~HxQ{ZqL15e3p^%YkK0 zwAEHf?V?#%>%?_L8#>u;`<_VkIl7tVN4!Tf9skJz9cv@EF=K}-$2Q($$RbQG!@JamS$*AVnj#>MhwxeTDseAE^5;kaF)vI^j;i1-xo>p#{Yy0Njri||)k?*X zVl>C^r0X^_{Z1HYad%b`6Rbp`8yd9_^hxJS3bfrmiU>w;9?O!Dk6ZCX#Tg zxjDpN$Oik%)1o^&d+`d^^sp|7DQ+2IDwxTer{dy8dEesl-zlQqaB?yr~`DrZ;F+v$`O}`EV^a5b?@;bB_(^l;JbnQpM$YcC0RdOvQe7h2 zSpT%FkJNx4fB20CIlBg~E+z_9>eq8TGj(C~a#$`{QMiPh;AAMRc|M-^HP%;p)045> z)$$mDVaqd0$CsI@Pdj7ZSLT^U_G}c+QofVZUZ)C0o|cuWMK0r~S5$htcT_?*bew2` z7krV)TZ_O2Tk`@=r3KT-VH`y;TcVo{UiF`?xTDXPrGp~&8 z^NQ#T9Ekz*p;x()-|@1Kz69ju;i6i8yr;hT&1T9pR($mJCv!y{YqT4bcvXyo!HfGK z&K)1$9b#$A^vQnj38-m!MSg^FbNwpBg<>jFj1iHu95Q(LT(K|N32U$Hwano5oyr^h z>0?TkS$0*gDEJ`j14lY6q0_GX^V*w(^it6fXA|%8CKtHp z^+J9M7XR$?SjGBfS=%A+h;KrF#0Kb5SeFc3s6FK@RKMEAGUxp@OlXh2l_#Pc8>I~) zt0&x~$+xwY`onRxqSM1ZpH~`Y+j0G9Bd4l&SfI@#ilP1aW6Y(7Ohh%qL^IasT6-J2Vn zm&rZcJG5%Qt$b+j)6B^j+fXbAd#I+Z%>_%m7%6Aa1;}$_?iU{)Mf9nQRmhHQ8h@#M zvFagkIT@+@KK&t@Im@4G04Bh@thc_|cm>+nWtB|u%t9*ozSb@>2i4ew5MM<_#sTj? z#LO2QCaFIDf_e_4rD}Q>o0}*sY7x04Oq`fpJlyB5+?VnIavvKjZpQ;wuV-q(j}MFf z?&pI~f2MPL!IMPbYR7X000p1ayi_9dzfOd@#2Kc>=5;^O~)htAEdk7Z9&U$)*)ySkm@_orAq z^l5u#e)w!w_1FF5>Xk5(q*Z$|X>63yKY19Ex>A%bS$5Q8i^m;*>@gm_(qvgy4Hat~wrdHF)U#e%w~Xa@Z}!du zLmX0tBs0|k^45QadIWHMjjAKXj$n8}yPDarKJnY{hexi+sxpt(`88J)hFym$A*nr~ zr}(sah2y zY7*-Q7FATtx95pNj0amfGwd6MVj)9uG`-{O#u!P-E}GJ~-0$a^{xH>>)61MD!hY{Q zXHd1aT}u312ZzVZHS?&ZL4nJ!0#;k+O~&^Z;^vs&M=w}}048{sCn8SD0;S*$wBOeP za)RPI-(m%U7}=M4wVe?Q_PFEQJ9|}?b$m^87Q?e8d;QzDmnSdyU#$p{G(}?tJSP1y zu{0o-{+4VWz2kwHTCIst6co<{ro_mb$)XxxIN@0t zd#bEye{iki0k4idEqJXMcHSCPGQ5!n1;k5V|D`hmY9Vv0TmFE({oPNa=;r?;G~D5f zqoQqJ46-^weQO|Kh>2N5sZMWcu1nKB2ki}y|53ZMf%9r3`R`8OG-odIk20fU{M3x4 z1F!~TL~VUfh>)na%lSxfwki9RdQJ3y&bW9`q7$XUX3O^@=H(X3EgL% zC}$MTwW$`gsCK%G#Seiy-gLSL!%U+roG5!vdpR)fzw#M)`~0p{n8CzvsG=DSkORpD zA3V@pr7|?~I2qrkM!ar4_q|NPzwgO{7|w*>k)a`a zJq)q_Jmm;d>LygOs?G8{_juy}b7H@casNxVxq@PnE_L~H>%O1B*N9n%x$W?tjz4pG zw<}?|N5L8bNL&FleG)Z!`nEi#Ci{0ZbM)8;!rFyZu<-~MFQ(&?=0wdpBn`^}b&DTm z8xTP?_7Wx8vIm+w&vyM{B9!Hqpg>F*uF)RR-#T+ZG#yz((f4&fZ7P2EHcRE2wst4o zzp5#uK!(!oYroWwR6Y1{!FoD(D-RMqy7ZLy)w$GFL447tBFh@bwoEF8bIV=1iT7gz zAG4}svIDjqKaO!$&>%tW&zVySGyFERrr@ie>^qPtwwm)_+V9K!{E2=}7EioY)mzN) z9#Ou+pfTQ8SYpHBo_haai4_Zup~wF6W^#sDH67@m5;Bv2*9%7&n6FIb4DG0t zd6#-6jjqYRt=7k$XX7jq-|fxXN4L0tShlb3s54RZ^ro5fT<2c(jX|aq@XStf&IQ?2 z`!Z?Ij0`AdCQ?Gu5$e>! zhj6TgtU!^M^zm5{{>m-_-I*cw_`CX-E?kDw>n=O6nKd`h%V}E^zk#RSq49Q6-jyDX-lRbY8pc1c@)X?kBD`S!$V(_?s?Zv+ehV7hU zHhd{_bzMr1clgi6wMnj_>!jBVjb=^h-zlR^!0qXr;cL=^B%1vZIhroh1!2jV`8LVH z5tV0W56&Bh21o$C|3)ipGNO|d`bY;tIHMpAEH*P%!sEidw;VqxMO(Y)aT~nEpe}IQ zlre6iW5|^hgP+0PFG<}WKHc9_9E<%Na8H=X0iR#c*j9Gz`N9BT29Y@^~2>2vSG)^t1|oB(>#By;L1@1NOHUN?H~}CTapIGn7vDYNhG}K72Np z?VU$D@Gi%u&(Edw&U}4o_(uiep@VCbsf&C96lsq2l(q#iyo@*WN4iuP;i5et_r&yD##KOxVN)} zxihxQP->-;tB;o9qgDwhdGQKFFk%vn>6avC$)~H6E!fBf+>BaFEtR#5X33{$HBdAy zf=r6t(!AXioXL-HZ_>ZEE;`(&HcrGRZ2lG?Toc98{sLuWzRlqcr3>6S*KLd2@MZdD z^e`&XURfv>VSPWRb;PYQ54|Nd@TZxI&v~;U<{ffBD>2wzpLtQ(u)3aUY_H5AS=$-L z@|z#bt1IFB$nSQgC(xwcQ#msfHK;kITT_H`%Ql`c?K69}#PB*LceF&q!@1P$lu|eS zkHI&M?MahrAcf6>l#UW^ww5s|whad*Hky}4LrSOdz|f%+J5pWaq5L7mhJr2@@@ZhjFt<8(G+J@T?wv(?z0=3# zzU+k$f-U}u#IJs5_cZ!GP=HB~ch+`x2G)XNcn}iEI~62B#xAXWG|#oo#mhjGTJeiR z#Ry}s2Y()|i5^?;aJa1|KMDT0Cw?xB+mj(j(&<*C!vcBGM}d$^D_edco&^To3(T8< zOCMpo-@)~r)$MB(gw!YwxZs*p2A9aD$48p!F6 zIUvh#maikt#!n&alxPGx+={c9hOztRmBR%s@1xAh-l16Uc+py4l-&0D@Wt7DK%wGF z@-}efF^E{=Ejm)&`E20)9)xSh-@}jF%@QMZe@B&u6Y3rPPFGYLO{%mnHS>Tn;RVv- z6025d#fI0OQ0N|iGHKqXsF~BBT`LN5g|{B=oV7a#uC0?T?<~v7QIpycW6Nz!mWo+m z=;G5@hrBO$*2rZTfnnPH-C{}MUa9GR_uWOv_qe6yFvwrz* z9tVnqD1AnT@;RSXyzCwTl&kgc&GvZm?%85#fbV=ADmx*WI^em#?XQOiLLESdVgL6Rg~+vS2C%8Et-E$yY71!zwpbg_Oa(VCfG^mBZY-Pw z2t#TU`RnQvOA4=78)qB1+HO~06j3VVmKM?uP^$N5-UXOb+SKJnUYFl|Ic$wsaA@m% zdY#(YI?l$F|Rc-1WU>=KN%zg!*S=kJov z_O7<#vnCS>F@R?7%)D`HdSz>cVth^9Q0hLu$7YXVo=GGmgDn936jqvBeN>vTL?N8| zbiJ{7a}3eH{Qe`EPo`d-67O`L9fW_#yv5qlWaq&CEZ#79OV56RdBo$FnG4;8wl%7m z*JAW?JT6${%8~1YTkO;LoNUX`diF@Quz0C)!^V$JM;m`wbBW)O?cn6&I_-KE@Ht*`ADrs7myItY?B?4cBCm47i zxBE~a{T3$8Z(nKtc=7S7t+4R}7gJ=YRAh)0tLHgA9|vB)olGr{bORAu!n34#1VuqP zLC2dl2BClfk$W$a|A2+VUg-GN!`G$i@3*#xwqg@wvp^{q|pX-F*GZ%~yvx;7zv=lNZ}c*@Yat*vY-)1*V+iin53 zshIvo+a%u;vm2{1PM_@$dU8iT49(q)kFQ2xZOGpKae}UOB3g`0{Cz+jV8_(|nq%en z86xvL6H32-k*`%FxY@rD+#H3iaS=x2GC|ys8ap`+nq67FHRW`0MYa9qjif&4j_{6C_>N(c&v=S#!%~I!UZb zUV2;R8KcUXEVX&JAH*m5BK>-R>#{=J(JtwC&+X^)9OcK|y!IUgCO6>eaA)tT>{oBd8Pv|e@^#7`Zs#xkDMoxMv6wMnmJ=X9Y z^Vit4az6X`ok4*9mWI_5 z+DNqvro#}(`&xXtO6mO8KHK}NHAMFvt;Bnu(}#qn$APXHwv&e$u*C@icP^pxn8MgZ z@=>zV_*_G(rK|IH$GNfd3uf`U&VMy<6V!1ofau6Xdn)g_-azxZACq38HAYD4!WRjP zf-%o|{4nr2-V)=Ageo7Oof%c6d{F4Jw%9oI3j5L$(8*M0ykN~WD`l;#{NKxR4T{*F zGzQT0?rWWBXsq8iN^My-s*@qbH2LD{lQ>-I#RMqbs(D+U8O4T_F<@Zn5kH%B^sQOm zWdW(`Fxyj6Bw_+{tTRmM)ptr@~0`)ShXY~ET zZ>08fa3xL&eb8QecZL6B&RvD6ftQVYh(XCC|{Z* zaeHia6k{U>F55}_et;cBJt3F_MTzLq&2ZDidHL`VB$FF|JrQo@?K6AS0|LJ%bD%x2 z-#d)+7eRAzSICwRhKed;%+Q9st_Fr$b12HzjOb+?MqA&uW}h@vFkrpr7O!w!bwqUh zKCQHWx&uYywpwc(36H=(dQhk%{A1UC(c1JWh`eCrj*g%$Tf>Q9Iy++|4wIWm4uy!n zSYpHxv$0!MJd+q;`~t=|^dC7kLHe8CrrsoUJ|rwl1R!tQJGPUx!7cjyXd*jf0@SFoCs}n_+>B?m3HI}={c4;QxuEj~b20$u?DrS%l_J8ow|18$CBe&nE>Ezth2+X(6If38rm0IS zPhBN+wH1-xb9A)#RGT^Xbm0=$?u@nh;MnM(n^~ZO+c5}1tBPuc1g{_C1W8@LDA0l~aT7efq0RpcV2^)O`v3;Gn zsFGLXmts&$k_6Y_l#aXdJSIG&Y%We(u44679(b#Z5D$S|qdU(c>D5uz$BJ85+E0yn z9UnSM#$$Y+y%JLG=FOy|r7o7sb;Te^0LuAgkq}Yz^@wip>L1$4va3?5Qoa6b2|DXA zA^$&;u7V-Tu8Gp!Ei8?6N-Z4{(kapsQj$x9Ea5J>q;xlkbhpwd-QC?tH-5|e{Q%-Q zckbMC&&-)yo94Cbfd2&{`|R)L>Xyoljl@_2+p8k9QJ{wiSp$dE+v=j=?T3xqCYUp; z*^7~CB~}0L+#lHxwTs9ky~6Tg(KqpWlVmf8#1g=q;JewC$6RdP2zm_nLanlQRB2$^ zBmN=PAyZQlL=C2AM>Rp;soUS_chRiy)E$<3yN|1S|B*7DBV;)Qq%V0r6V?145MqL- z1}ix>Hns%P^#5cxRbw5}iRrtcSPm&J(`b?i+c^e6hX!m6#?WK}qw&Oq+UAbaigz{A zZbl`We4e+&@OV5m5IV%YpL?%smp4nD?>~GPeHwh){t9fG5ln%FOBy$pF(-K7&S~Z4 zOuL4Vy&stw8quNi{qPac=$D&eAk3pj{*;?PpZt?cWzZ-6#{$hvIhQl~ppn$m_?+*m zk}Y}w`Nto@w{56outYs!KeU*8i%BpwvoejRl{N|B(p>htF&E7YwA)mmj+>=vThL-& zSjxqle76*gyEfh9u@P}0Z0ampi`4kBXZ~rVo*D7QZQ@P!3!O%)F+z&A)o*!uoVx02C%JZqHTv=Vs~pq!KOHZE;ji zj1!92y~Q255a=c|PgzK7LWHF?#aa;at9Y`X zk6)QBb^rOH#s>#s=g$StviPcrF?jM<+jAMXIpDYwPk8RjFB1T#F{BVKeJ^9C@?yBZ zpY2;LCq-pJ>2!@)J*N#r`alnDYVEM#F|Jzo1tl4#0W6BygZh03lETuOzfQ# zUvw5DXV)Jr4PjQLwcn~19QL4UeXsfB;~ayHK<_h5hRbTM?rBmpt&X28ynF^fM=HR< z1ft%E><2ihI*D`l#@RNpQuK*Jn7&pd6w+F~DYn{IJd`yTN)l8RTL_1OTPD7cVZ{() zl;8FP-S=dWa7T?TV@9~WNBSguE`!rGXaefN+cXef{*A{$;cOwBZPR_=rYS-{VMgSW0$thj zNrd%p$1z3^$2DU3Xpk?xWVutPG0%tCQT3|qD5u6(e0H)3Wp&juC}qNYER+?*h{H2k zu*pKIUiS7eC(zrM)VdL+;B^Ds|0T-YFC$e0YI5ad#|i-ykPUmrMS=_Sd12e%#xUM6 z{m6DD38`*gV?COTzOKhSD_Vj!dJrU4!io3M(V5e3dvongg_O_b@pIxA5_Lh)+4iAE z`tr2!;%G&7W99V+PcU$9Wx->^jPTA#s*}4s9UG#whs+$@nH$@vL{f(NmBZw#8y@PS zzL*R=mtcCUAkWB|)rb~;;@aNTUE_~i^HY*r;-=G^c>M``=luV$)L#pQg`NRo(Ekh= zmI(dCA)Te$H4fr{c2)!!^+!dQTD^E@!WLbV_g_1j7z>jE02~N2Gp)fG!1>jDxei>U zHHG!l0=%x)1=Ify8CD!)DL4>WGq@gBmP&%fW<)rxpDp)LyIE0+u0o@`!bO7%s=xV? zJT*vah>2FH-J;2LEzZ)Z)*)mp3TmX^;8l){R{R28o5S6nlc=j(y~)l$rv)m1&Hrrj z8UHD6JU?yjTz(g|VP?ATXb7mQS_i6^0nx~VJA+t(#|(A*JjnHkN~l$`7}dTwHWw^A zSn{CHT?*MBRJTJq+nI}dwEe>m z%&^2m8z0lZq+cz3IE}Jejh7obu1 zVoFgvEPH+tV?&D7(JL_*;6Kpwq)BbFc-cXN=4{+tGA-Zz!z`s0dlKKXbHl8~U#mD) z=`mc^Jjqu8D_AK^ZkHK{!CV{TVF7x>PPBm7v1y4a8&iXp+Z*3`?R&F#Z!;qKH(8t! zQRwgP$CkUfv-AAxyJ6V%^z%Z+!eSUCKOql!HV4t4!ua8hH#H`NL%tJJrs{jfUd+Qc zI(Udqt=<+h#0SqS9-rUOB(HF-a`#r^E@x()O`-DoJaA-$cGqFb-$bjw7d@CO^VavY zPe}I=ALCyq85-GUm#OwOE#26-9r#ZZEQcJb5G}|uRcZYd)k7#N^L95JTW=ch6R$Hw zSkf+aITp2-|GA%V-q`vRjsmnPKw;CNG*7G|VixO+FY2Q?Z;>EpC~9*dg-5*Nh(aQW5iH@8iEM~#O{BY)vihcvfV5nxZwy`o;r zA5-iaIwvfCbHy4v5si01tlo^N6$Yg>8tivsJw~3VLBV@ zpDL~_LOFuF^T4H9S!}!Ox5jGI5@p62KT=xx^o@1WtLDs(6Fek3;LZDC#F5Vq0Xt5F zVR~h)Z3Di9j`jn?R}5xZgcjCq=1~~lPy`@nZq32cvd|N&P+>&-wEqi~XJ{g>69MhU z8bUiWc`4p2YAe}9IJF=5^lg=8rY=|k!98*ZX?)%F=)$RUW`OE z90ZgIqu(JR{KOiih$lW}+q#=%+se={1l6nbUozRG}7gVFJG} zkS2-JtZvT-<{5v)N+IjPhZ1oAuCANVWMw#b+QFM~d35GD|1&q>CSakeN&dFhan@E( zcZpzk^^Y*tQ}fH7^UAk!$hedeNeb>P@FXKXjxS5-Tcm(JU2WRWLpifO zIISgUzQcCv5A#Q4*t%+b@!Bn^02}eN1MoXa5f}`9)mBLqRp~_7a zGq_pCiA>sh%xQomX2n5%h=G7-@Far_9(sRJMm57=1C>2g!M$?ox)pUJzJ7>$I0v;2 zA@Y7C#60F6`R53Lav{*FxiWR`NCbeN*QbS#@6YqQSsrFReVQ8Dorlw><*N&R-kqIm z|25*lGt^S7ijjnv0d*{S>)#&A%Q*LTzG~JSA%|133HBTf)PD3_gNrFC<=z`GW(~%lS-PbKYz()Sl?*xFFO9!0DNK-+m6( z3q|kSM5<-}Ralpk*fhl6-Y63$xVQNY0T^#)`QvmjZ`D_9ozH9F>}F0vkP-fC+NS?< z(}XR}1s|yTE!e6KijI$=nZG#y3K7*T=(zxSSAsahegvrPutg&lX)>gbt~g{@m|W2T z+fH5DOenmb#C_@%^H=@0pt}+|S>!b*76M8`Zv{{l82sG1Eqruv9}h=SbHx` zY|d?9wnwWInG9*b&~hmF$GHEO$Y7aIU1l_wU#OZ0_>0%z&Y74QYaW&Z+@ z)8FZlTsp)W*17CElAyO#kP$ zIOG47&6`vmlRRuRY|1i`_!wcV|zN9osnNMF7el? zS>U(h1mDGWiasM7s)--@igVH6;a4)#aYz1hNg1_Y$Q049xuU7r-gDn?n6@;ALzx0g zQEx3=c8zIR(@r-u8$6!Z_7fpO?DufCrVi2zM-JV@Tw#{$`1~l$g-}88&%v{GKiu4U z@mdFL0ek2XA7Q8(q8aLJd)zfhDzW) zn+cJB-?fuQ-!O|KbI%9bBHv`E@@(Fa2wFRJ=i1t?+(eu~jjCv4ar4Zyid`s%itVks ze+$O{z$VmTgvnwc(hdDIXxx}#Sz8k%Up#;+=v}9e)>WW!Zx_TW5rSB&?mnB2!AWFn zgFCNT!miQia>$XGm5=qPI8ST3q*v_*y|UuwUq4WaxqF|cEzCFP{U(DtstOD=btaQU zv-!dp*=Wl>w~TbuJA-p9impEz_!qc3+(9?rX#TjVW=ArVoQka%J9(SUE->PvvB|Mz zECFwLYD)N=;IPQ? zqRzyGu(*7J)M**;G_l(DJa=@2+%RK!*nZc0iRVucFnxe`Kcho0`V5W{HK;QAqEl%7jqHjKl*5Xs(-W#`CG$Sc%aBIbpr z#G`rkJGm8{^OvaL0{nzF$EZ$zUR|yA^x<`gC)Jnu#tyl`=E#|JyRu&#`yn(Y^4dVKjKQYjUKTkyGq(>M^<(zDxOx-G%xkM};95afa@_uqw!&2yQ0_1?ar%9ePBz1*fJk=6BLUPpT?cxE40{CnK(s*N2f$J1}gL1neS-$vGR z+DIM5Jah5>yP~{KfZ%sh2ooDziuPv(D4_e(r|9*()$MsZxO5@J2kbV-0TK}m@=FoH z48%^N_?XGFT8S`TkP!xKs)>Iup0Jzgj^4Lvtz&%x9l>T*!3ukE7KiW3<*LBFAwbj8WnOO-pBN&Ymb3(K< z_3+@i(1T(!M!_qckj!SR_?r|OZANejPgXT|?x>t>0d-eej#?*6T&xU}Tvo+YsA#Ab z3htm&=I2Xb&=|rAyiaE=E!R;ZqjtMo)PoEE`7sCXmdCr76ttzsThIrnel`E#j0qna zQ@7_)k9ILtuz#?%tWSc5o@?{m+i}xx194R~X_(adgE+|Y2zT)TLzF*j@K;bMq~r|C z^#_L^T9Y9`erVcFR`ifG;jB<$hQ+fHPY{bZceTtb`LyapzjZAl$T>t$Z5cv;J8S;A zmYK%$4+3uusiCk6Ry@S-J&VP&W^WCqT@UQ+wR5K{W7EeT^8h3N=bET<2d7IJ9Rh1WVP<)urD&(eth6+wRm z?b!$=w+cpOyW}ZsqA{aPmM{KiLd<#>pWgHa576V-x30e=4Xl%Fw{=BKdQcjXz23AZ zt!UzIjM$X8D_W;%cF==LjB&59~_Y@AspT}Zx8+BtErNEG;YHg`;*W}k1V?4cH{B{cS*`b2tNjDHo zGsQ5^{G}ht)a)-jg&GIV`Ej5wzpMvG(hVcT!;dx2k`Ft@0Dy1lvdx!>Fl5uuD2fbG z$1o&J;=^^1qdzXbDA_cB*iyX=97m3(!?>vKFkf=c(uZAwhK7T(1Z+aM6YX5^LiCH} zt6uf_r&AkTj3WaVCH`F~8dspr1>hY0lkDI}NG|103?*fR&Y;hceMUE|`Esial*;h1 zPMu4x+$p!`iB<~v=W_@-WWrOp3Gq-zNhe496US?7keX*vvzQ~@Oe?}zM)3@S4I9QH-L+5#)$(cQ$g&oEh#mb*MbRN-v2N{nt`P%+7rI?*M zn)WVk%@$$LKx}kb){Rp~sVcIP*PY+G_OP6Y;#$_C0j<=gQIrH|@HzI-8BHnd&Z2*4_znZn$bPq87EK)Evl1j*S<AyhWCFYEWA>jQ*lazml))GDtyI~Wg4d)kzZ(*bXfyG1H2P26d%idW z;O+&rU{-*dpEd44a8M140X(>RncI`koRKXD^Qp0Zy%=l5 zzrtR(*dx~tHzdLA%=yHp!n07=eaRhpH*TZ;=c?<+okU=N>ukWqZ`cfiH_qC08o@6f zQT-Az+ikVA@{cScsOX3wM*}G_o=1)vx7#kOIT%E;BGpm&2VY7tVA%S4d-YXY)H2kc zJ~-q?lM=39G&Ob>b#{a<3f+FX3kz4n5v+Gi7RqV()@vX?$-r2;X`FN>Czl&=ZOz?ZljQ6bp)jgL)k27VijUmy zuf<*kJmcJHkzoNmHO;(zkrSJq1gO%Z#(zAl(^;o3pP3;ySz**D8^782-0HcN z{<+%u?69Yw@lISfvXlhfw9aN3p=Zq%Clhv8)i?0RUC3*>oy)k}f8g@7d1YFfDPQu7 z)X>aWsUptLoUA+&H9*_yy5aNju7Vu9A{KpEFrHkZ6DFYYEQMVu~DukL3lEAVWUSTNU20McHK^uf*QB)YIf5+IluMCG()@ zu`Okewos{ZaP)KzNz4_JacKu%Zb)JeM&y&jU|i?jRv)!rrP~tau}-Tc zGT*L8vF|dsDgswGzemfdfgC-E{+RAggSc44a@Psz-1L*_bdQLK`g|G9F%E@?ABs~p zzfC=(1E>3N4?$h7r(k`0^XYM)gK)#xzs??3su|`;o<(1(Z9CRl+N+kFsF->Dr0v$s zY13l)cCFRoiU)_X;Hc=%xf7WHotJ2CrO@)Emm6kEW**x$kEMk=m;`5GEC662`xVBy8hPWRg4(YGJ>$0Cno#azBsDfOGAadZcLGUm()+vlIHC z?yjGVrKQY?;XXu=RIa>md&nXhb69Fd;**=%#B?^yOA#}yo?8tg6k!bwGi4!YllM3t zf|$>?PVl{GhchbP4Jog)O!Y?8Bdt{VaLqte^oY&8+QHlJb7_eQU;V1b4aIB17bQj! ze46PGb**VGTy{vy8RT>_*fgtKDB9fIg(9R}RT|Q|uyK8-?K9i!=M{nlax!bhXk1XP zJKufP|03u2evtX~%O%H)v!SP_zzI1$oIn68K$_&Vr4ADuw9NqJN6v(u^boA^+6%<5 zSp;{;42R|!~2 zr2CYDauQKjybRQ3A-Wy}sl>&CRWooP(!zA9M0`xMW(4S)Yipk5>n9_X`qL774>>|! z_(`34YQ+^*p!99-_}D$TDS3vYqj@162C3bbQ|vPHd|S6aC@oK-`m{yoqUQqF7Vzoo zQV7qP(Y^G;Y=}1*{~q><9xw{ABBgHl2)s*=%}db=(5KB#a|g_P1{AGQA8xGw<&yxt z6Z+u;^lymw37IYlV#CwWxtq|-SlQQ+1SJZ!sKS{p258V6YFYN6GI||6gk(Kg%B+)_ z9fePB8BvX)|B>c1vYt>jA?+}8#HSA|9HSXAuMl0>+KW@Uf>jkU!OIje-}vEqkbvR9 z;(IXAUv$oLGX0l!AB!)ErA@FVg+01wc}i!$fJx-3{t-GZ&PWeDUbq<6HN|DKK9eXR z2{i3RUvTqdQ?8kOS8JM=_bz5raAc6IU}>iv)=gL8G7P8S+BUw*1X3(RQ-K~Za4 zXy|qloT&XP%sSDYhtqO0ku#}}{x1atCt4+)dgPcNnDz}@?2P(ej~;4uZnar~B8VVA zPNg9#EZa><)#mLzpjc^U_mkD#+~CCox?Z>9zolFQtbrDiqI&gf?EaRMw8P()PSg@r zFV}!Z`ng34GVfni{#aByJyPkbx#qG07gyW0^CG*p=x1Vp;Sm!d8xI~Ev z!K}-BS`iR`QvfHl^D%F>r_*2LVOxkg7JoQ8<5~L!ke;E4j~v;b@i@>;YdmeTdll4M z$sIkDeA_9^GuY}}ymd;HpWH+D^|Qk?(hqPW1qth8FcrWQcvaIq(`Ce2*t_|@bV8!A z!TGmWIWHbInwgw2QOMec+Y^}wcJgM2otAxx-0J04J*L*U!?f@Gm~uOAI;J>zv{%$$ z8{qM6sLvDEOK_ZG4GkVrpuIlUJ`$SivC37J=Pbht{;hIX#ScIs97E=w+U27K1iEYe zRbil)b_2kmk$D?cA$eT0j5ySnyl)~R%G?)_UHGW?mC19D5ye~H2Dzk|3QW_ecFh%h z8S6Xg>=X`C0`WTTKF~|6Jd}q)gov1nb)u2@5?TABJC)2`T=aj)!;8w!3}I`2TOEumJeGmlM6T0}?=#;#(L1{5SbWv-F zvg{Xhctc?nKI{GB);Lp#LUk+^_gF4tHsbs_Il_a{-b@C_rUz?=N!k}T>zekr7(!Ja z!cHW;IiT`i0~@Q~VW4R7g+n{sC1kIAowOGwf8Nt!;zKSFmcPPW)HDZM%VqS_5C;~( zlP8_#Rr*R?EhK)PJH3e;IipA)sir6e4()La6F}%)YrxFCOLFwmc0E;iGGSo}w=Yf! z>#XNb_|t2!-b{S<4iRK1j`Ip_K>irok))ld{^|}5f2+j3WM-tm$ZD>UYiiSAVpEh4 zq}KlXwK?cLf+cL$;AM4-DFmv-K6_fWas(IE50ChdX4`&(VT6UJh4I5D^H6d+B|?5Nl=JSi(9xNL z$Tg?%4mk5J77Y?}*ct)jJ$)-`+vx6l+JcsQg(taH+db2aKDg$aaWbh1!cXg+$^)$i z1H%G#D}*Z zPumO6M`RP=rH6MWW12_u=LVYpG-dpAwJBSU%X87y+)xu=Omuy@^xq~RdnUtci0THE zPQol0vKDGG)ofh9*Y);-7YUyRW-ks$#{Zb4m);lMs>0E^74Kvn;_AifR(jH#q5||# zk$zZz$69c@V78RRU37X$RugIUg>SSfJNF%hd$(O2LA@_jPf2h0yA9j3^5hYGjn6GDRhKw?w%$4@X9DLOT$-rbT z%nzB(fkB<4x0?#^cGpJ6%y1`lQqyS>3Xx2_wNV5jpRxmMTOU^7 z=~gz3k-pFJonjACx6Pv_Z&`S7vnEE2IMr-HdMw{cfu$Y~udOOJ!#ZJ!!UZMtJ-Ion z8qk%{x^wjYY#J^)_3z8K_Rga=ieK&hHT_<=186~KK{F_4zzZoIjTO62+E^>#1wLAQ z!wz{)>a2kSjokKUN;*@lT;ffRfmWlF9nx=Y(MhE<-Xg;9*D)86cf?%)mY$#cD}@N3 zuZ_71+6^ax%3UkkA5L=VWm^kB6u2jwqYOio68P?--@H=!CM%Z%iII`ceqb7Swf z@`%4yTh&XedYN?#=uT4lSG6d0F&}9eWeoY#Klkq1a72?;b-;w1q)#_g`1ZnCkxNH-JOGu zpUL_%Htdno2w2Mq2yE_oS!jydw(BL~jaN$|z&p-!9Yx1@nboojUPNstypASj?iKCEzxt5k1FRQ5 z?W~dE88hnGa^}6H$;)Zc#JUg#?Q*aH|F~ED_IHJ|=&!1!tqfD$3c}j1T$c-PgstFQ8<2uJ{EXSU>HDEEq_%4fOG~qM62AYQzlJiRx%VBrUxZh&7ux;^7Hc)F z<^BDJg=XZ?@yZ*LvE-!N(HxS!Uy_bbm^9KdVAcL_LSX-+cUrDjBC9Da7Y&xQX=X3W9VTEZ5NQ?i)tql6DW+r^+7$x6 zE?-jny>@)TwMHpNI3fzFB*475(TsrhsWwsd7+rA7;!{9ivC@VmZqlCIT_l_>D>!4X z*-f^%QM$s7$xM(w;21-Es(>y#T+Qf;tyL?Sdz0TtH_Td10DwZGOhUABW^XvyO&^^2 zz;|LeXZFQvZw=lMOTn!3iAZHlkBO|E)MT)k_;072p{y%Tlql#03^b+(T*aE zKep$VbjSha=u1_Wp#X-L{Bo!M zL>ybuwbd`Za0qrqr?_o{vPstps=-pW0MAVhd>hI{4vV7xHcXG;Z$Rbj_8>0 zGLrU&YcH)!apvVc*w=d6t|Sd*3+Hxu*{6NvoD7}(ox+_5NOrO$?{WROIUD=okTXQup`i@ z-0Jwgp%i8yzE>37D{h=RLH$z-Ij5!Q^|qH`N)hdWm5oGpEL( zPaULVwV&Fyw?0<$CE+_z2{cvKP_ZnIE+iDQxKNK^dAdcnmPoo<0EFGL}^w=UC$ z!8eTC9G89ckl%>9DDonyW1=rzF-qIiR>GvCx^w~K&ce2?;rLv0iA??<-9kHs>2L9% z6JLVE0nBgd_PEt0!C3u;gkn3dGDekOs*gPlySrfVQkHc4n1kCEOEGyh*>ti?hY?(T zVkCQpHPwNUd=zO|*J|38fx)oQk-e4iM+qczGH{4TG+q|6S!3uSs#{2A?n>AfeltQZO1nux*I4k1 z8Z8~k$pBz2RA`{OnZl(r{Pi%S4MC1%46hp5~I zt%3j@ybnK9E($HH9ya)J8u&|X#+52ZUy3vPW*sh*ulQ^Pi0z!RyL0+>AW0{)B?cPX zE$-uYGSBBVgLrda+hXHG} zk^fBAee1c&^y{sGGHH8gk8f|1>!Z2*H@%3!`s3YEXOTO{66Uq4H<6C5w0hHZKX*@G z&KoFD9>){Lm%xy34L~2POJ=LC;&~NnkrAmygOz8jmmUj}NG^PE4;0pz6@_4T853dR z7V^$DW6URu8y+%nPDFcdg8x{N_20CiXCC50pOp4(OmTx1t{pF*mf!+@=IudJeeyuc zND;CT75N$!mfQYKvvd>iqrB!ZKRurq`CHJKW&tU6IE1SuogMWFvX9{o^Z(Yhp*-t zpH{Jh$CYgO>RBi5*)qS^%9zOFPjp%cX~2b{g3!)j$03BYLWe?nu-ys!(9T^tC;?I6 z3qSY3%&WdYvL)zp72Txrq@4n;3`TjjGg8&0C`RZN`k_|A`$K|}Lh|9@R)VHHcl@-g z!`nTYx)j5yA{|)TtIsA4L9D4go$BuZFbI80!@4=#!F1Tqp#~3ip%^R&Yz84z8e=Jf z&bz?EmSr+T5GReg7(OPI2&H*EI72M!;6V?wtw{Z2goHydW4y7HiXVOAK{X;<6r~^$ zJQ`L)2ngnJ{>DQS^k@SOB4{7&P&&qMk%a*l2~;lXD0Si5EN;2iGYKUPXG^2K{?30N zApen;Z^u}<^WLt0$yyxjpeOr+>JnL2RnYtFEPkx7pb2jlqI*`NF33s{Ub_nhV}4!F zNPY5(#)2lveNDB%1wv{w2Ce{A6NZlRSi+(JO=PEZ%Sez?^45rX+Bj#D#cMK3{MeI| zXT#BHS^y_yA-Ng@9op&crnequcI}tm^JpAxm?wiNRxC_6AFQr>VbI?B3gn{v34j?* z@i`w$H<)0f6NRRp(%*RXgiOZ8?n!MUH;7S@(VVS=;@C}LDT4@~WtA3)PtI>&*a9^c z(eFM_9v)Rom-^+4_tJ6cOfDqYd24I4F0@|#aPq5H!YdL3NX|cV^Gg|}O$G5UlT&A6 zb*e1zwF^7p zl5K0R1`5q#W-u`aUIgCEAr&5~jMQTIW6-h90?%xzFu5B}!lpIbdpmic>O(0tdZ$)E z$Wxl@b)nU^uN$Gf52s0-bt^dQ{!Ogz`p1_KJ%%R!Mr`yXOXGPPU8p%;L-cyG+DzD& z@Wy-^XfHtaCNjTo|74JerMvb`T$Np0*87_eFp*MlMtX0^HpNJi>)%S?znApmO>Xh? zjoIO51&QLFW*C8$@;C_>8H4%tbH=;9c691|{#Y};only=1(tTtS>p)scUg$JGa5?y z2E!H*-ZUg{+)+)Z--PVg#D@lQBg8y8*~uI4PoPT73%vSXLAe;S@s8intA@kl(X|}J z`u$$>7hiZpNolU0nfI~f=ZQKsBJ}o~ry5njW%<=kXb@HP;0-PI+XdauzY+d+95xJC z@UjE}`d@AvttO9BALsrX7UJ9{i%r?OG=o)*1~D=`d*6?zk+kKO^%vj1=FMN!(b0|I z?raSz$e6aC>*o6(>=hxs#E@)T=A8E2d+~GO(0GvL$0&^*i@wyythG$lKU>Z zbBbcJULfxG?Ze#LOx}*hnQ0Lww3Dv3%rstoVfCb4nayOlN_`YNaxc9Zd)%9uBjJ1@ zgMAP*)Dx(=eOARuGZXw)UDD#mhPnNfhr>Zrcel5abX{j{J7CQquEJyei7nT?yrW5? z;bj7344~E1e43QO~f(hqOj{Rw=#>A>wbKn5e+& zaS}UKiLZUpg2kfGmX_;Hs6JX~xl}w#V1$?)b*7+Bd}hey_w3`D=#7j+>+qn|O#Un| z-y4}DoRSVAENV9p%3l?|;-;#jDtKjO-NWAnKg`lg-ck&Ix$|D(4N6_5`g==)WG;$+ zmawRaQn%7?06gF%9xGEFjw}AN_c8gTvyCRVkzh(snWTs&1YyC8P1;e@YpiA=)MQwO zLnjUitUPXvBe3-~KML}YOK0oRSu5rbkBX-YoJQI)gL;l%Eh^(mzqhZ-XxgTb3-+~Q z?!dTcc32!{;I(4rf;*W|`-jV82e877j<3xu@3fq8M`as@o8vI<1~v7WZCVRF34>T} z#cpZ*B7nIBGjI|7u$EBmL@4~rG)ewd>=-^2h-c9Qcd&bwCAHXUPt}pe*RfMKSan7x zGU?RX?LI9>#_*;`@dW+XX8hJcljpCH8lshTsd%8P&?_SYK_*MyZ{rvr!b2jZVJVVz zqaE9M1S$CUd^5NL{2igb&{Uc*U0gmM!Q{^Q%gav^np3oOcYz?14r}32-P}WU+rh)f*PRogQ+a62Dml0&5&pN7It-=; z&b%=Yc%L1M=e?D=i+!gvJYVcu!o==#wvw6;(I^}xZA+$ZIU2HWZ>2K5Q;t8SY`9q< zgvD3%crcVZv!H#A;I)#G%lIDCgcdNE_LT_XB|^|C|55Yhe4?7LRflQ=W+7Ra&!UJf z>@#Jjt!3oHO4VaS`J$Ka6Rc7}$lOJE)WNBn+y2~1rjnH_mE>FRR_1Sio2W9qkW#tV zp0b4jzch>hT!o`pQvc4MDdDJb{ zWjUDYR^chEqvCMd&0o@T?t?teQ~2r_4NnB4E04IE%B(KWkz+(@HeLq<3T86KTTmyJ zk!v^fe4ZpLiZ}RuY*!yPWy2!r#kF%f{S)Y2>L2&cP97Vsr}qAaL)934ivLBMB7qKm zl~|+|^O`tn2uVii^~+Onbg^QmwsBmuiucwh#bd#GjD~jK*T&W!s^RQSU5kU1Ll`!e zn$w%DVQlKoU+{l#^Sq?3#539$GAP=E$@Gw15}i@?vp!0O2)dh$<;;q^aVnBRrd4ZQkvAfOfz){UyO7}Kl0 z@}Ba?!k_kXiWl2b+adjugk<9(aq!b8g2o@2)5M_-38dA3_~P;xmN}7Dn3s1a7VXM5 z$pq0~?zCrQmc_PtSzh$LY{8m9S7K(xWoagyLHKhl1{ngNT2+84dX%`=Jmr}a%bCVo`?8}-0vVVT_CZGp z-*;*+^Mapx0?Qz~fuFK(w(EM+L8B#N-h@iURp^`LZ8S{qoG|pwJ3?*`* z+Ua(@&oAOy_9&gx19QX4ynm^ak66n;&q&xw5`$TJ>ioqgMVcE*M3>=f&tEqwZ~pHP zCZI`mb=S|svodtOAnP0Ev^rJho6u((;@2cAQFwKLi3Z}GA$1tTh7C=$wF*|#>`X@L z4IruABb@uQD4G{W-4W}5|HeXs!G+ydjJEfqzs-OeKb9^W)E3xi%A>nNnE@SK6YSU*|cRX zfLjQ5?Sw4HOHeuoX=L;(jLGnG9l_9h?`qgthzDjW?bzC*4+43sSljR5 z(HacvWTZiZ*g^Wu9aKd9VR%NTv{=h`@>#8VzkNOENoQDx>*8gg#vK zOHN;Ku235WXDUy@^tE~83!@vPokI@yI$}-;MGH42KdZQf46Xi!gnQ?!fO-7~Mbs;# zzGTQP2kTSo8etHSqjYRqpC87^y^t}2B^iZNBkVArHr^`C|^Pj3YG z65!0mI=FQty2@_oZFR~^tl#aXXiM4QB~p!sXlzP>)3m6yC;WaUUOk! z8ZdS*>Nlx%cxy9l6~>CRz)I0rwv_90$)6bl9RI#K=!p|NVy1@9(E;+fP4(;no=@cxvchEW@;SdlsQrG~s>spTa{b2BPQBg~l$BDaf>-p>#ITAD9;&IXR z=VVQknxFpgdE>?DBim-BW#(aQUAC&*KQkbZUkI-SO7x4Mfs5IK`^2Yh;hyzW*w~_N z#=xU)QAJ^X858lbLnNSp1h;zo);shHjqfBq9ec!^GKlxmL!Q30Wv{&m8vI5R6+-F7OCdw?XZm4Y*T$vyOc&i6m|0QB zZdzoPU$lR>ujr8`|NhG=8C3e)1;om_vDIG@qq?}l{y!(?mxATL1gn&;!{JFB(6<5l zbEmq#I?jhWX&aZaYmSG+>V32QmpXiDFKg@*O1$|-$bC-@GgyVeoX`f>1Zw9)1fM(5 zMdHkd>Uq+Hd`07Og26$@MND8&#AJfyG6-sDRpt{VosNDOZ^d^|3wc;HYrT+?h(ClY`3H2w__YQC)MUNe0G#9>$kzY1HTa6=A+i-X& zKeCZS6a1Z!-9zK!9)opPi&Yb(p#A>yt!5z{>$ysAvKFqqZ0pn)nr*?Zs?W$=fg@IC z5*@m;k=Z*{Yy^NRnjI@0KL6QgfiG9sVh_=@Ej#Q(B<>f9qWbZa_uNFD)jCwn&0gGH zdmDq=kzEK)4mccMgng*(=`oNi@pt5*&4ypq3h~w>EE|FAzXlHy#jq?_zpju9R5@f+ zjuxld2Me*up3v-E-7KC&>wbDOMJwly8A2?L{HQu6{yQS#O}XtcRZoY++_kXrb8Tx1 z|3;3S41Bl!9!-}a*>I{aZI&TgWVnBi?%Xu&0Ted+QjwV-tYQRjsoC{mdzuMH&tTTc zeM!U{>phOvRS(b44o_ascV-qMBh}q!nNo>!GgcBUPd?3Fh+}QfXfI#s6->$|W>-$S zY3IgZe%$_f2_1W1P68us{Hh*9M_e}aIJ&b9FIPB)D)Q~T9{D;Qj#}5|HM2S+L0<%9 zlOO(c%ALGpw@>YOIG{Zml960A+X5I*T&i^ImNaOOjCobIeGMuJVzs3gG+<4% zoS9`1-}dR%~F5LJd-F8v?gX8h02_AfQedt5` zuNNFgsjdS}%smY|o!Fv%--6r32wmv8Uv6R0Ie_V>v;n%o59`bTxD5Ye{7)DLn5%1G zD4@vIlhq`EuW)ZC{7w;7ugYcYt;wIL*-ul$_Z8}xQCxwr<$Y0oAWA5ighLEoImr&r zAxcC30xjARCpx9`HceR=gpsk}B|?BA{YAO%!^`4xyVgq1>K{Kh663{`@O!5VP1bs- zP>wF*cvm-n*;co!c==yLM@?GS?t!BxBe-5z^kdmS1Ms=YY9@^~BHMK;3 zu|dKwiQ=~g-uT7ddV6Tf?8X{a_V`ZC4(fKJBkD)o6+}UTZBA11ajfuB0m9fVa181J z)?K{?eHm&O`mPc5)b1c>Qj+zyY-jfc&D+$jeD%(E7Sx%T?Pta;P>@0GEXe;9cCb(z zZ?0uRy`za2YUZBydmc31&AmBC97ZByLb; zBx6EXB~|UXT_du)E&KU*#fr)E(^1Q`&5hKSgID-rbjVB6I^NZ>1l$(w7X#wyf5f%3 zDqdkqV{%I^R+O09`m{d~&?4%(aepp5P+jmY)}%(T1plJFl%-fuPW~G8o6kfyl==!! zp*IL7IfzkHu{2}X&$RbqR$hY9sg*=`hy*9}T3x?qQE%U^6Uj@yEVXsq{t|pcYu<18 zG}QZvFdxrR_KC)&G5AnA(ym!MIHpH*D~}_U+|b_4_!ZKLOx^chW}2A!PMXPiYLcC0 zSP@Dm=t|FS5j^}{kg{v^)dz?`J%z+nWAMjI>qpN}3vAGMr)!@1_GrFiKeA(VUs#;$ zp(>76jq}m@l-up!k*eg+;12!_DZbMn+%O2*<;HH9c;s=-tzCpSzrulSg~=e>cms~( zS9hrPBNB%K$7AmqwDwzXbv7zXRyCJLB#+Q7HnC+sv-CZA{seVW<;TguIGb$#w*RZa zHBf$|^t_ux*$VEwAeJ$KW5-CIE8L$ra}^@`djq-kF1#IB=9@paP2`jDe5Hg6ebM%E zErW^b2190HOoZ_o>FB9mkz&_4f1QHOK~36l5qbHmh2*n)z>fhwt`PcJzzydBu||6@ z^4|!wWy0aXma~N>O9$KE#YaVdlP}DIAQGOnw+oBxI_Ul0Y9th$?rLM>{bpRd6Ei-> zW2?}tt9uPY%X19%`u5jX{b5#;m#%6b=<}e{E?M$WERM*}b)S4~`+<$L(D8RyX@Kvi zhW%V2r(Sn=0j!GL#eL$4*4)wO5~x&*L?%9kE*bRYbIkTC*o=N~KIXLYfVZhSG+9(M z=`^4)_IQmj5%2PNXMA=trm8PqMC55(+Y02xhFxBs+oMrYS9$kN?*Q@WT zmNj2@sz3f7^TnUZEvVH~iqmQk!@{m1pc!6WaF9IVNn&`HwdvGycaz@5j+*M zdU(-%mP~n=uuP)PjMB)iR;Sdvg=Vk5!!J@us>27D7P`&e87GuoHod2xTF$(#`TE85s9|tFg(!#IrKg#lu{$+p zD^Mr=t#jipQ@bT$KtCGDQc$9vO)AD2Y8vrW|HBm4SHN;z)*XJvc`fv8RJ&bmLq57$ z)T;+i)EqpB==QXpK`Ra}Sg&qlZ4V*ww4w-|9qQh zlqE)4vs_HOn$y|7g6Q4m*B{#^L0X^YFnl?G7kzwF3y6P|8QGs4fro;ar%X&cj8$K| zPIO~|o}`H{d5 zSa|;HfoiKrsLFrnK8lw8CNlN$XHRbb^WPm#QGC18#6fylZ34PVep=YjUF@$%I*qNMBdXfh@|P>5ff!D6Wu|VAsw!J zzWWp%^;^u#El`(V3Y~kt7kY0L(~{UIa?vkJ?>xy}n~B3&m@t%=+$eWPyxx~J1t;-8 zN638MBth?}=51P~QC^}Ecb7j>zff{PQOPLjmOw+cvjsf z8R~l?RGO^i`B1gOOEUO_j9{tEU^0DDcCOOb$vS(V#NSlHC>bQX9)3D|&i|4Ax6Mh( ze0*jUNp^ZU42zhDlfO=X$|82NkF{EAbydvK%Usv3L$4!0u@KwCppE3W_5>^|{ z-RdU%ovX4UxVTnT>7uw|)0q;&Pr+)Fr`T;tlNK}TYGoKr&NRfjN~*aqi|R?0VKw-#yDX^N@wiZ)4|Y`tH9$7gWx>(_Ki z#Ea}+gAFs<`-PPF&>VfnFW2=-`VD}qPEhlj;3w#jus(~v^a<4)ujISRQo#cfer0+S zGB8;BD|`36(zy-PGasmQx!f2p;%_l-hIMusQ+bNiawywVEWDdyTTyVA=dWjo7R5=) zV=AFkjzjYLpx*R!;{LwU5sa6749HLeUHX>)uh8HB9TS$n&tPWMZ#W$C-kG>*!1z0Uf$TBAmIb| z1KhHxyotfaW93>|COrI0YoN3GaLeXV$0yv8T=`=05*8|a|1pT`LGx_Yl!!s=Ub8RLlJBEKU4ktzknoQnx1J}hDi@{JPi@o3ubV^|pCvhv zYQcM&jGG`w2eXSJ@CNCeOXRrgcN%$)B;d-1Kc6jd%bByLTT zRF&QxdN4`$ywU@GU_1zw&&$J;OpY+xG1YYSnxHj zsIQTXns`MFkzzw*rMoMSmZVKujYIdH%3#0-goLbY<(86Elx4h5 z`yF@1{{t6o?@VBR&aFFA=brIJ_affi$@pHCGn&U*?SMbzkT3k4gm<0fakjaQ+dXul z0sDM1^r~UXZYSpC&DXkde;F|>x}AGCR_mS6*L0{0i{tVnMb^tylHu_FDpkT6=tl*~ zn^F>6OM@~JnO`0dU(U4GIdZ?dLsZkbI%lX!>W~ioFlB2QGE?u8Kvz}6PwOar#6!06 zEonF$b-Q;Ieo4XthPy@(JK*KNFbn%Rn`-{haKBg6Pr1H7=6lM8aIu^kjXDi4IbO+R zm(7@AJ(lX0surIKxX0(ssl+n7N!}~E(DeT}>1z_+m3L!UH(y*|J%vJz0!>G?v|uo( zZJ$${xcYBHAEywBqK3H|d7Yql0 zS}4?ba*(6?ow;x9=^;-0l;K5dT}Ji?zGV929>#-Bk&@SVo|T6=Tzf-!L~-i*~<5w`EBf~GG2@SJRd%+h8Lf6%sgM03MCl2 zsE$F#a(@`{zGtf-pB7s3!mdEweBnY>v}3jI>7xg zW*@i2vU%f&<5@jWH4`?Eb)qSE@(VSsHm)B;XBzzsT#`M4lN0njtIC$u2RYf+RWaoE zT5ALTb?L6+>K^oOsTuJ+?}g`LUGU{mD{HbdyroX3AUY$WS|iEXU=Pc#S0l3>&8Oz5 zKgdyw?@TnS8W5EVcwgKI=0Gd@i&>y63!AFhk=_zR@poq4Nt(CxjE$}a6ga(_*wtt# z8C7Gb#X6Tcjdye`-8*Sd+GJ`b374MXy>5OeYy7bVSNPf@dWch*n3lRu@3vw``4P>qi4-0 zcQMY7|8>3Mo$pVfJfGk&*>`Q*iT+Q-bB$zJZ6f6%j&vtW{#2IY;54>E7MfcjA`5k2kv=S- z2=x%oFRgFQrSG!BJOzO^@5Ph3U-d<{>t^5Dwmh252wc>kSP;1IzeU|l(1N6mVn(z0 z7u&}DcP?53({m6Yo*4v@A1ByG5K=) zWDIq!DV-i!?nTB zi2VMB6qL{Ldf8iUT$6{eD2<>KDSsg-($ZYfX?}5IW4HF=crXo#13-`ff(e6M9svHO zd$V=BiHfUyDaSr$Wf5C$`adwgD%FAMgDqX}J#HPl^o2A#UX}_r5c; zs~qC+@%FBh7zLEge9J$Y^+AZG$<3ghGozhY1CBIq{~Moe;cDfhmz2uthYY3{AS@t! z_^0W@BUsWsg&cxIf$iaBeR(6y|hEv~(UbJQeqPAVU{D9!BTRH}um}8uLnXF{{ zokv|KXo+~|I5u$+t&dew?g9M4BNwlqw5T^X6<0SKqxwA=EK<|Uy} zyoH~{h*$d2_29o_7e3n2{Zx}})YA)L^)JhOx0_H@jdFl}0Yv?%w>;&}O1CTb?e1Eh zWVY#z&^e(UGg z+Kx{J0>?<&7R;mOpB1ltL34W+Di9<$D1$XQwqLaUF0oy-bN$%j*jx(d8s)#ILV$!` z01qliQe@*nMRlhu_2*e)bB|)ft>4S7+#GHHvH0W^+CH-z1VAo2xVw?;sH<^L%3wG( z|KLsEIlcMq@0kncmRnbwhXD0D*NiY1A8}JMcoH7s+?z@JojkZwFr_FYiV85?2p)JPg!h;{3ao0Ub4YOJmbS%? z6V8Hjh!blBO*(}dQjcatQ;i4Vxks*c&L56H$4W{7n4#TmruN;Y#@MtAZJza}$tTC}rAhIh~T@2Ial zoe!O9d5R{FO4ADyOe2!+vKXwg^*QDg3h&Vks=k#+N!+p}t>`dxgk`}e=9u>QpMd`C zp$d+Ol&x+3^wZiwJ!jJ|M^-m=v_?+ZOeyv_8zK{2JXcPQOXUpc@Fh=TbS_#s%D3r! zx0$h-f^G~py)i*X0|K$Kb>}5R=kVZO{`dZw`|ITDhPlOOOMQMW${9Y2eR+s(H`_b9 zx<)S5K?fbOvbSCaQImM@obA|=34}c`l*Ah+vWT7tLJpvvzt}k3R^bFn%|!kMnIB&( zzyf#pW$Poomndpeju{@o!m~Uyf)?B|^}aLPDRsA@sn2#!{2N5hGUShR)Fn(-daQHU zfqVlq_eZh{OJpMLPaEIJC8oT5%tcswNXGQF9G%6h_HP@IwtjC0@93${8yzD=T~GT| z!P4xtn^8eksa#~i*mhur0P1?R*spx&ZD&L9`_R9QR0g*gh*fLqmdvik`wZObeu&B`6qWJiNJG@BR^_d+oKIby^41Sug->peI7Sd>>DWB3;3)+ zE*UTC_;t&_Qul?kGxEJdt!^>gNQ1t7la}f?&~|3pb2r*=s8sOgU-lQ-v4T_c zPr~D{chKDi04C8To1zvt#iKO;h92J(XTvyL_%BwJ3|n;MObq4={6nZdcaOY7b9;C? zv=AR~A$B)xEM(W!3P~Nz5G8UlrtgasM?h|wBZM~|n`->)U}I9=uXoO3`F;rM?w$@) z4r=A@Q^<_rB8*QD|30Iq)Pq=dvnAx1q$97^nMzkBY3Bn{jV zKmgtd1e1C<2C7Wsm6ptS7~TIXCE67e9(g&s;t^{TZp|rc#IK}Pe+rxE%fLjV)>}EH zOOoj<#CRhyUg$CG7*SKDiD7{xwg1qvPq4E=xYf;8l^Gm$7s(s~*sPTW@1sGm1_8%3 zZg)>Z{_CC%E9(5lKc?%!!H#`T0*jk%UW~XDp(7^iE?%DOcNW=cipO6M zX;Ad|uBSjm>hUmE2<@fBr{9;ne*+TfL>-t^d$u5j__RS{ANOzQ@yk|S#xp)NH;fol zsEDv%v|8n)D37jjE-~$2i)asv-)BujU4VHn_n~Raf|{ZH{$yD3JIRN^0EP=;->ZZ$ z+g8jT3LyP4{NiFe=yCm6r+4iuhXXD58x8&u?0?TxI?=}qFDf4px31tb(EXBc88`l^ zGMR}L4gYCL!L4S9lr;O^6Fl=PPy30^-)2lzp@2JmQ|$$J$;z5hq}~jcem(Vre;h1q zv+o_bDH$1_!F_CM5!;HrdLw-|hXDRtPRH)`(~kyjtF>`Y{2eSv-1heW#@J2iY-IFt z&Sj_GJVP2&wVBW?zaHwHX}9ab7(t%*yNZ3CCW$9sy$EU7uw@HmBcE#HL)8r%Jj!=m z`lBA+U`qpb|5L^!Hhhs=1M`h)!&9x8&LEfO?IC!)9 z2K4JsZmxSk3W|7ZHyR(fw7WaE4ZVxXeZp#+YT#4WXEw{{vjVb7q|g+v{9pA(jH^`S zmXIBsJ{>Jlw1OzIE8yKOYL;vy(c6ei(-G&nsK3EBUyh#r)NEARsqFp!-!omH*~jI? z6ujI8_aMR0TZ3pSS?`G}Dw-W`-qT7?thk%j1wB0)1KrR0OV2Q$Cuf6oTI}*KFjomZ z8}AK`GFm-%t$Ks>Jm`fVUKnEIOlQl}MBeWV(2@E(v~Eza>_{EWrZSDdY~fHAT%s~% zS=zPN+%P+=nt47Y3E+E-S6$TF<#`a1Qiy%Iq;y@KG^B@OQ}?aQCI{OB@<-nrY#kJM zzQ4n`5Ct`CZ^nYJlKh}DEvA6Zr)!3(8l(DcGZ3DZ7ysw^B z{Y3wD=<$3t?ew=B%1G}Ux0|uUg)R!j(`G9!cQRdPVAfD=_FFIjC}^vYf#!zs&15#S z0rC>R1p`6QOmXm`<#h;w+w!jlq*!POa|;^#q-)S#$#F=p>q&^HIpT+a{CaC8qwEDq z2-3B>cWmIEk5B!}zeeaVZcUV}<9y1+IJOoM;Lj}$?kkgqe>r+*&Mqz?-{@?$JbzEO@ zx4LTK%Dl?}g=)u^rA#DVUPnOlDZR-Xa30-Eb}$C-MM^!1xZt014SIrNfCRpKe4e9y zzWpxbY(u)K#C}bWSb?=j-XM(y^TBs}h{)xN`*lINU@>Yfn8&`Vf1^h|i?1SSJe&UD zP}aqbJD!?<%S$y`8pD|cuCsCrwI+3U7a@0y;d^kq8FxwO#qx%rz3l?+OOJn`K3kS- zbPEyepy>n+aC7;J0dGFIi+1L?^UEA(8tc4h>;&G7gw~y8nB!I%EY3`o$Z?aKvI3;^ z88S)18Gl3J$Ci*-V|+Dtx*ddh4N&>!mEAu2+(whc#hWw(yNt1xm)mFC@WyRK(oO)n zEqo#N`wx&?FGX%H^hUVg%2x~64bmViRqLX}-2dSkwQx)GGtjwZ_q6pZwFCBS&~lys z4XV+_I&)?E)YG)8TgDR@b^9W9`F26+;C4%JZmk3d=@NMid@gc^eO0#<3-Mxfqr)A{s7nW{pBqp z48G{{bvSEvu+znNv_Em98dZNPkS{C>X!@+3b?mV13<%au{BqJ$0>_D>N z?bW7c0Rcgg2d+MA`1fU}{4Rwb{$5+?D6#Okdp5Dsy+HbzioPZ2d>Jl# z)+@h1d$LKAF<*)NNz&Hr|CA(T%JrgYiN_p!l1fId{RVPujtF^L@r`*5KSKSxhrxT* zzx$0aP=CzD-{s0D->lljX0-DFFkrFtaVq;)8;&m`06Evy3)nkPlaWKZ1DIN37$aT~ z{l$3))XG{@rapo4+cZdXB?|%PbKIPuvMfQH?hIiHM3|#DkO+2-|3d9ZH9n0Zl9BsR zy~hEVL)X%Q3TEKd`;y&}RQjvO2%7Q&ZnBqqj00`WbV0eXS_l(zz%gleHi&05C@YA9B0A`xsv))L&Fp1jAw;cLgx_ zCS{EA_fq$@u3Wypg?W$7iV_S{k9j)fy!;tNyMgcmgm4C2)S{iA&qEyV#R;E@`|Yr& zl#rVJK7@3Q5_e+>?k4APgu$wVCfV0R#+32a#&UL`iaz`a8_9OXRMcv-iwNpf>wiMX z1vS!vP^~GWu*O9u$=V;hoI?X7uQW^krmo|nGI?h2?IA*I_Uvqrw4U7SIOFNFzhv=a zCemlntOw?|*R;n(VnbQ0A@oL{lkkzTBBesOAUdb&-&2%?&?j;FtaR;m>tKNE-ht!{ z_@5pZ#f)a!J#b3rtI#cP!VCQWjw`Itau?{whSWld%akAWD(LHvNKTjed_ptbGzd$W zd4#*FtZ1Yo{ybH*Bv;{|e7m*9J*LrXipad_0qb}nO1^r02g3i95(1(FQyCrOtQOMo zosBUSdZpSI`(L_&pdQ-Xs(<08Loxg){$2AlD-d-euA`nRfIM%}^_rS~>${v(ig(pF z`_=r+M$pG4_`4;E#>}(!8N}N-YE3EeLe{@o{4wITz7}URBfaYBaYJ(MLfxdY^nct4 zs#jNFe(s!_z`n9-78}^R7ckt-_qUmKv@cK)EBr$Li{uDj4G9&{t%F|%C1>U@@HB7y z-V}3953mOur?UV@tTsx1Fd1r@!>WF$EZKsE?{6si0A&s4oz^WsmDI5jd;M_Z8)0F` zO}6>Hi{rWom_X9$=+}V%+nQ!6qAUt!)cKm_02a@h$^}OBr1U^{`W02l+}Ptn#Rs2< zdMrJy&$>p|?=Gk52S$sl^gy?Y)m0(rDn@GJZ>Uy&@B6;~OLuw+!-id8$ZSU@_Hw_X zVT;;&ED`GYv0Ix;{(rl6lpL|nqvtTjnYLaw18zOr_d)(TArXXblAP?ApJgN8|LUO* z!7~b7Zn=TXpWAv zpDUQr-dx{thJ>0!XMBRCHylhwI!8fwhM7|cBfu1%pujtlYb{)aoa#Elf7?8;bDzw2 z`>YA)E^0aoYsQvuDFrkragf-jzkK_Ta?973Ey{x_`)M9WiR;Ika>0%dOZ(CTwx`eHj%Sb8%UoYOoc78USjYtSswA3k0+_{FbBB`QY!HT$t(j#4*-@ks3jyZV3r>f;z! zI04gad>B5Y)47xHCdf$vmih@jmidQvz$Gi%@-8Bb$K&>y8uEv(9RGjN z7wosoX%oi~+z$~1ZtIjFZgJP06&wWVNYCNiPF}|$@J=SMGJY#bdLtMSfbjp= zbS$90CmiYNE1Cnm(@>TH#_|toP6+eCg+^Ev-cPc=_!>7Ka=X2c?Ttyv9) z>6r-(#!od@6DY{aYE(H?{=MK&4{u|68h{NlPuo5@^WYK`&BKQiu*oQ_zCFqL3Swxk z%+mhDyFV3zedj}%DV%htGfcdM+4DJV1X^rVjx+rfEFMP*lavD*>|wz5N0F2X&!gk*`<+C#r$kq5Q?Cj0 zsX$8>nucx3r82K+n%l`3Y#?cS{7Xhcjyt8_110hpLwKR6Nbr}JR~?-cwt8{u#_ zI!ap&?5WP9!iP{Q;I+{sCpZRTL&>y_W-KUhS#cqWbSmLj%{`6`TO3;`;a(Q5-@sFt z5m+lxW4l56;Vbw`VY*qI&nZD!N~yQijBa1a_%`!g<5%$OQjm?1Us*N%Q-uWW?uYE- zr%#EIUk0zpAC9z{tJ%l=Im96Ry20C9@5!m{-Lg1?rdKf73l4%o5o}lrpX?PbJSFiy z9@~xwksmw*)vwkf3G1+AIKu-!h18wVZX=@V{1?SiwDDEtEPfTAI0y;SpY5G} zvloTa=bPqd)-&nr=1P&{VP|t8i_(vgJM-h49;u;%ozm<|)EzFsmpL6&^qjP49I#36 zNcU^Fpg3rm&2O7U?WnS-ej*rtxp{KZO z?Tg;esd8KWV_>~GQK^%i@bh`my+{gV6gRqh{dU+}+={&ZSYa4ZKP38C$Ylacz- zvm8uS8+eoPMnt0Z5Vli69+o+Csgp)~La>b6^zbjV5lp zvqKY~eV~q357P^y;ec>*I8d-cVz|5>?{kqF;z1Suc)-;c_=%m{)`+H%zVjVfB~>P7 zk&sO&^Eue2h7VL1ji?)nGR7|8E*_FeZ!h`(^N|uu_yp5ZQ z71-J{U+MDgf$fc16E)p0-Z_fd7KtF?FO)TiTtzTTW7rj!2beu&x6^r?bE|36tEe|$ zu7v4^>*geqbYSRB)h|EjM81!qyHTi>=iEXbesdz%;;sya$B+;V+VsYu8`v!njKE z?2i;nEC?4P1t~~tJO|yb+-Q9k{^1feS?34xv+c+V>5HR=&}J+KaxikT@k|_%{^6n& zm4Ix&)3Xv=Xf;2RMy|_9_*xU<4G`hJq~hAbWYCB3;Ir2&h=0mY6w4J9>2aGEBENEh z2kc~ZkD=3z>M~NH6`gNyZ8HOqp}42!A3LAAo;Z{Seg1%u>vTDGA>(ojIMNJ}T)x=# zZPTNS;5%olH|Pg#*jvsEh6;ipF>z!%tgID>)EwR3S}|D$*RWw~Kyou}4i>E)wGb56Zy%1Vv`QUfd?!knrzWp2-sMtdc`#3sU| zs7Mz62nVh!w3%w5H|Te5;p>pReh~4^ZD$NgmnGlqy|%lyJfXa095oa!8uLO4&uULj zhs}5b{+PmY-0m8{@cj!u1X41{M2sOtJp)EM&!$h8J}gh_2a=|s9iI25(E~@F!fdeO zUrye5K1k}x!KFw+lL&i38Z`BsuoB<+cnBB&;q8(u8CKlrkkrU;Y{dz z&j!-h5aL*R$S2FQqXIA2nOsls1|~;#qW7KE$&ZQ%l&hLk)rMfA9sx-lR!%h9^EKn+ zy6Ta?D0*wj%X>CB-T&4`QG(Z*M&ds4N{+Ko4OL`v^;(N=R${0!ha~{aYj)+kZksZ8 z5O)+en%zp0uKsKf=u}4xv-ssh=|#r*__#K*6DYz_Pr~DKyd>K+*N332>b~N&nPBxJ z+A~xsV*&1pDuOc|4q3Y(Y!kk;zwzN|wdUaa^(YtUcgYFj*y3Jhbq;$W-)sc-Rm+KDB@dITkN` zcKq=SCwQ59`_rN3^B@jyf)5ud+nejToqXCq(?SISWZvjo8@f^}@h^w*agCo^aBJh| z**Z$SDYxfz0A6)|n@GKgNhYPm6wN!7{pI6B{Nv{14<$@P;jOARoN1&$&NAwq_}e*& zqguDJ*;10SVzbu6hlTnX-(q@V)#K*G!VDh;kPj2qerHMcVqn+!NY;+ySg2*sUY3X1!p@LSU%B%G-SawQ*5!MwlD0Yx#bcq!1TJU0anEZup(l&E@of$151*+z z%H^qfLQBrd;@HLuL)S5)p~-`m4tfm^?X@c?*(lklSnysG14%Q+2_gJj*Z}5i^J*3f zCu~MP#%>sfC!_qN;~BpNEtPZ!7;HV23s)-P1lv zyb%t|;!(_l1IfrX({x#Ls{A7IFk@FE`q{2b!;E*tbl~`@M2Weh=n%| zJ8G2jnlO5nPz8{nw#J1cBM-x4>LFWFZ?HH|qKmx{1eL@5TF2m8-&-@fjTp%Gv?mO2Sf?a*fI0?);#W0^h@ z!OdQb&P#+1>$VOnqgvrR4-8sT@G@T05_T%OLMheB^m<3LzZ%n#O&DPpKTH>0Xuhd(Jd4it8 zR_bB8kaZb4G!CN%9p>^sLEXXLI1P~LVCNf2VP;VJIFAyJPLy7DiW27xkRqNkQpYIC z!Z0doGYyv&Jx8f3c?fdN^(m*6Y^%XX34=SQxIZx7+hVQ-mdlS=Zh`nPc};<)VfSpitGNbC*Fz9<=iP)3wt?_&|5W{t{FL#4#wrdY9% zvIoRg4A+>vW1H&D>1HtHC>#OhquE$ew*hi+u`S-Tg7qZ5GqL$UXdo_|= zQ5aJ|1$@PTAsRa%aV3rhi&X(DZ|lwnRKb+{v%@uJu%yL7eeCfsgzrK$Aw;$uEBJjq zZo!W#aW(Mpg|=c>>bV}OWOpPJ8C@%_HOkW)$6>owJAS}BkjG-pf_A+n;F69^PRdeB zR4Ag`U}c3=WeLLcRK{)TuK??Bi(uVJ(EB-tu|4fM7!z8CIV~N9Tnic*s8jJq8zXS9 zW<$rH2ydgAe6mHc0#VZJ;T5q3Z`^Ub!Wa8(lI_{0ER@aQ1)ku>^8`+qT49%yC)z)< zE>us<;^D)M;}>?ob0C5MBOl5bd|@wt3c4kB1vCC)=9>M*z^36@5maHODKp*MioNeq zj9I3VX7W=!OKmAGtQ>-sa9wBtn7bt3o{Z0aBfNlvmCXu9 zlb=HRCd+lAx2=R+6Sz>$y#gzuRr}GnvJy2|&aCXD_NtQ2&k;IYavz(RDc*H$A!zFy z;c9nOT6=iVQj7ubXFiV~%fHcw5Z^XzY;z}LmH^E*;UIUI%JpHTE!uoESoI9}cz6(M zZAc=z4n!peX20yoVYFzeX=F>=F87BS^(o`~r2X6^!Jdsz5>8J-8=AN09xl(gvMm?o zf9ZGl3NKFW@Io7zuP$Stp=l{5qT;3X0E#l+_bCc#_3W36{Kv#ghjfK`h zSi#GKC(@m3y>;H?YQ22hmF?L;bDvXl>6V06^4O@V=LY^8`OKeYEW+GD1egu>d@7Yy zJ#96g#~Tw-2^k@u#@vhlRvrn)CH~f&{>K$~ za+A!Tjs?<+%Wn4;M9a%FReDL_3Z|BPKm5)DoW@(RY}^oFGuAc;chQ4Qwh}^WK0qtb#m2{cP2Dpe3A0{kndtbuPK?stwM z*Rn8%v|E`ZY%`wQdunpFXRb+AgO6wTOgxdPAKk@UG3&K9%PBiPpUfQ?Ka5V0r;J<) zdx#ps%?D(k3~Vb+OjeD!R$Mv2l;UE(h)!(Jj7s$hdu!7Cg+63|TY+<|>0H0v3^f(M zbmRBd6A(FL+cpe7A>U4C=;}EOr6MFYPa^X)1?~$GGKfuv4PoUGK8WDJg#by}Z!FPW zc?&5GfU2re2;ku}W%OkA<2AtXSUlG?W9=?F1$f zjJt@>GY<;H+IeKd^!h)`FNpLIfL8(b??ST8-p=Jy4&giu~v&cK1;^P)BJZ4>Qt3N@soP3Wnz%G`+aF*d2r3w|dH&t7)CX zEPy(!_M7U)lq}aJAabN1dW8Vs1jY1 z%|{qPT(3}g8)a;iJ;jmXXbX6;DbeiLgS(6{IimBypZh*;X7VT7p9-;j$D~hINd1sB zOL*eaIr1afkzAYAge6M3&=pGtsX7|zaWAD980<(PndpiYfnkXJN%e=CF-%!+rCI5B zW~;FB+bi0X5kJBD41jLw*P#Nv zaPP<$>MX`QL#06WjaS}%I@utc&04g!sFbuGYN!R0Wq8jk|U&(HrFC=OVoJH2O8R8(jq4%t}Ma3q2n=PA#T$a z_S|%dw9eyjUKrh=GQDCl+C)V=O)RbmYm4tywCevH)jZ@E_DDqSR_oK!YGOY5OhJMi z0(34>?#NNAsu3ze?{eR#hO`jE+^2kTp|}m#>V^VFDZ%4B9WE@T6niSFTU2{oF(&aW zgcf?JT!pNRiy$t0*v($i2%^f31z~~Q8YQ{L@u<_cen2VJI8UOi@dJ4BW|Fsjj6KUd zuZ7)&)h#+G+YijFgme_8I9Rdu%2DAy%N-+;Xh;}HMdLPIZEl*xQ zOM{CeC-J*pjyewy@BfTuGEpTG7VY7id*h6q+F3E%Q_*-xxSzp^`Vktd5~?;9i^#=> z{_z0Az1G(95(GcKHn@$qTXL{vIr1rXs~gY^y~ojL(Dnp-4$YFJD{IicC;MYu?2W!W zd@9d)Mk4$o`HeU%(*v2oW8l~7+$H{kQc;k$hXw|$TpV0FFfM0e%fxPw;vXNcF3^F3 zTV}8k0hSL&{7rYC*DEiFu}s&wChMaroW!Mq%L^Db@cSUztU0l`Q8l?r+#NvDcO+(i zsP!jBsjx_~eP}}aHch)2-7=o70wHCD2o;NEsx&TGfklK$|M{QU?LgQ757%SUD^TvP zaP*D@f*FBa49MpERH1>G_j&ou|1s4d*t5l- zil#R~(01r1-qd+3i#)G3J}^a{4(}Q^3{rwu(7o}eQ>trnJ}^E%t7fbs_f%X2J+$YT z#OlM}P!fzaxKHH`UbT{ZaRudJkz-Cc{|+(y=Ag5beO`DOdad0K&Yb$EV9XC+yB!%P zyb@``<+2io(OX;!=os4DgujIK+U5WZaamz7+^N_r0tPxlno)NWQ%0aMJovH9OpeM3 zrk%laIhby^c)9GYg0W>7^}{y_8Vo*KjEdC_l3fd*V@52c%|{_e7gomNQ=Y5hOC?>d z`MgKUwo|My`&J7AER7;fhO-!A4?H$hzV%-ayuI-{p)ysl0j=8gVW5T_$vNQ;5cDkm znVoCUw`R%)X?@C> z%yDGTP1#9xAWEp35U(wXibUX*QtBg^k{j`*eX`_CN?7AS$0RGW2lzh0+u}NIywg)P{6Bz?(NK3TKs&0ZIMKlcNmGqObuRwTKez|cqhSwI@ObsIa&-8UZ zgh(Bn^6$ZLr_6M>pP=Abwk+x?SG4(yU#p~MoFjVb$!LjU(FyT- zUsyu}=nF;pg?Xx_8c^rF;lFTUSATtkTN*fF_jrLo?xjC2=1=PyVjRno&nt)V zC*+x$fs3X;xUz@EXcT0*PzhY30s&S-sNtBIhGG9r-gf&AUDhvORj#eHkV9U9%^FWu zD-Rh--5zq0e-b;QayITgi|PRz8H^9NIibzl#2VN{vXfe$>4;oIdqrv6`~ZSA@c*&* zmQhi)-`}_(NJ=W5N+=zYQi6aeX;4E*4KZ{`cY2dD(j}qDEe%6A5(5KB4U$8Lbmzcx z?q{u=;rCzb`(Mv`UOg|qzLPWOT<6-?zV`m?y+8XptL^3)pTfHg(6B7ETF*!ZF2aEd zCbH#r37_roIrqklni=x*ghx=%V8OglLAEf)USy6TL?YEJ{&yJlw}cy(2FgW-$2_;% zb;+t6D}!yJ#Ka_cwc1s4IC*I||Ho|)DBKp}g*Y_^J9u+D>4FsJX*Q!Dqg;>P>pU_f zA~6$87Wk+FfOPX>BMfh72p4F6^Gkg#i!J7WMIct}bW-9McJ8}`bhx4eml);yx0D}R z$=9~NRC3ShSWO`Dn`RWxq(Vn01h-psCgv_Mv{68tauq!ApUcBpZ`7MyRdDB{Nh$D{ zgSO}*|1_xf6s0ksHwJch9Qq@;b!v7GjraU{-AkGiUNQ@RK%IbOFIY%pr~*;8!-w@M zK{fbj-AcM>8tnE63psK6e(ve=oH&-@zi!lK;I3rh+ngja#1(0UQ7655Qw^Fl@i+T22ghIl2s%QxB zQobZ+W&x8ADn1w5z=Xe*jo7=h=+DZ{x2E4|w>>*~*fJJ>D*nMeqR}wM?`Q=iE*>#G z-I%RkxINQf#`F7Cs`(GWA!->|>hmIR6Khw`cs*Re8H zqA+}(%Ekck3jqedd*Jqs*008RKEv~GILhkl*SI1xEb5L)n<&phrp4Xwy0*gwJq_7{ zc_6qCg`f8+4;E{*sZNnvmrqz5DB}1 zro4j<*4B?g=K0LHoqU$A86r=}mKUI@XeoQ)IF;PbYT!da)|*6u z0~Gt>)oEcpcyBdo;(mOYK}?W`8*zJb~)mq4VpwD?=<7)C{%m>k=x8?_b|hCQj@%^4uC!&#a$(^t%b8WD2q&9qBg z82gc2Zs2t*OM7a++FAW{#-v9M_Vftw{SUZjvl>Xk6ZX!WAlwt2wTZ_anvboBF`>C{I$+J~D0jYA zgMJK7m&#(a_2A>TLf;tG9F5hN-gmzcm768=()3O_rau+`^n+U1?8Y*4{DbzO7xm59 z{#Q(=G1BwmAGx9Uf`O_*PGly;Pm>;-@W?CB$6+u9e?|gfTe!3c``OzsX^8uXQIBo;gbLL0ksV~%LV1OUCDL>wz5jIae)ru_%o&WVIWOuF5hXRXJTikl1~vq zAqVcO?7bm5VjrR%y%xS5{2JKW7eEnYy>xoFxOU#e&fdmb^e&FW8DS+20Zg69oiKWw zIFZTfup4Gycvrbf!it^6=Qruo+cUnnB;KY}E3S9cM30#J;Pq@DBM#fI-;m8Nm+2YP z?J;o|uJ<^HyI3O=GMt~+byyM!rfoMrGhjE=)GK)Q@-3B8z^YtKX>siNs8q{IIzj{u zc%Z2XQLeWz5Y^S>{@$5oyfQNfi7a**#jY>u&YKoi@`DnTzXzJT`9PMt+MzK+|D#@4 zd-HMZ6|<+ui3jodKN)7WpY54L!++z2mj%*lc2TsHp;pY=MFAKWh^rBa!r zo=tC5p8qU$YmK9&@Rk3##M9Ox&?cJeSjMZ+VLKW^t}BbtXTu?ey)){#@DlQH=8)fd ze$+s1cirH;hkt2V%!k&sek8oNq{I)tQuubaufJZ0mM^XHD7zMMi@He3O#J=tv0`Qc zVkRDIZ>?*5v9?FCH(|For#8PUgZMDnkAF6{<+S;uDT=;%xA)5=E079A29FL@yeS^= z=|1S(Yt?5ZN`bnTaU9f2fs-Y=7e}ybi80JRHp6~~Kb!oa;m5PB1JB04ZZSJ9K$_#% zjjtdd@6OF~046h<)`A#4Q>)zQuPRf#ILe~;fgswTpCd0n)E`J%zi_sdPBqt#;31DR z2@S)fYKGX^G)r8TxSLbC9nd0+4RQOK(;D8B0OP6H(l1N{TVCV8xo{`Z&6sB%?TH`_Fqlc=2YN(=uP@%p$`cN*jWX!&6GW5ua(i!#Wd-kYWQ1=d4F$FeWqapJiQL2?0Ru zk(l_P&65wTM~Ra!BL~Np7Y|ANP){F;S^hkXS%u<9WCNI&r0OWAX!nuA*j#mxP3vDuq)xc~)4W^})2QP~KeJf~#1m! zyP)jpSo1r8ZQg#Jp6g@D!k=A&FfvLqS2mHy+YvK zz7BIKF74h1=QC=FWhMO7r4g@WwD`_q3j*8i6NKN2H~E0EX?d3G0Tzg)%3nLrO^o%< z)3H3$cS@LBl}X@yi5-CiDJsNYgY+nu34AA=WqgWNQVB8cWMI?*rzo0`)9V+CL)|S+-Hq5GD+bZwaCYisOCOu(Rf34<(=L;PUqd*|dC9R92yzBMn0LwUC&oV}L|_XQ*dbV4CLr41Mc_>wzE4@g z?RI6tby~1)aClz5ud=qpW{&^~n^MJ*)e@gLli$IX*0gzb7m}u?+qDfUFd2fT!0gz1 z_nu>xePHyZTn(!F%XXe+Tb8aF<&Cw*4K)u<*GX2aA>|LbNaCM7IGkzm`Ao1Mdjz|TJywA!Q0h#^9j-h0r#;q0L#zJei&jZjip}%9BOw0`YeY761eoaz>bpF8#4r&(>I z+ciZ1vt9jB4hRw3j5qd)T!l=caJ8V4B_n*_iA_vMJq@xU@51aXzakOY>yJdKF)VeX z2f$mqH`oaV3lzKkOo;hTpnSjh{+D-m?#LA_G6+!sI&No-WaFHC!mO$-i@~X0{Q$-? zzIy4siG759M0gOVoRIqLIT`RdiuQ)qGMH89>SRAc_3WqA4burP#0iN#H?eHlB7Q(a z@$AbxJY+y7P?#-I0m~;n&oW1WN#f18l9z8_nqG5umIetQE-c@8(&a_s-_wDFFb)`w z+r}fweB6kqar=b(R1{!4Ae0iRNMNA5hf#O_Kmb1t_>*z%^bq^4OipgJK3e372w?jz z$36+^(|#!4Pro5t;V}4Kty|{dxeTPpyvSM_V*w6={&6{fSpRoQ*WN@>PGI6ybl%Y~ zO9;FEIhz?i{z~r`f%B*i5tmla8!IV%aD{DjTXL4hqYH?cu-m4Gu-o{$V;N!Exlf-l z=-6ZtF9n;2PH>7)yi{9G86jSV!8nRwNc{rtXvK#YP)xu*&`<5)@(W1sraFFh^bY?L zP0L1WNmL~fENxE9bq6&1{;B&(rVM3wR0NCajq1d!AIfoEEh7CJleEvKWdrmlS3;aO zdtM5nIs+WFXQg$z(V0Htmg8nm;7FCqKITFdFokbC>@E``&(8Pjk@WbOt@5=}snpdl z{h8+H+>7v7;LP4oYes7XT;10E_+`c$ZB~8N=zwnB;w|wb0q8p)JkZVPUSmV%Z4|vi z8zA^ghGhbW@rVBVX$7*EcNDh9syu~ak=9SR54u#MUmn@zhD(-cLLzy?|7zFg9?`#h zGuM;+ERivXsRS>i8UNzJKR9xw-~B@LgY5Y*2^H$j)amW!{rvoPEFf4nzN|~U?Bm|h z$pKLI7Is%cx*MBWF9jzNkxSKet4Q-O+n+%u*26roOL5P0qD(%p>BKbB#myY+bg}Po2g%m^dhi z<5%uA!-4%ilhz*FjMY4s)jFLqx=*nR>Ue)Nj@>2$f()jbqY{V4CM2VfA8d&tPkIAlc7bv$kMNpC0TeGvM z&g$c#PQdd5@Q@e!q3`kBG7s+Cp#CC&*o}rDxFxiyj#QAgdM15{LfeG5n5~!PgU!NP z4e3ac!*Ru$Hb>#6D;gwM_b80sT9 zQlN=B?b_iiWyp!4pKPj_TJ6C{cG|zLGAkfEtJ~ekHMee zSJgG6xBzyI-a0xoj>y>JfRnc#o_1{w6!do61HwVJ7Lv*CCwo{ZH3^1`ZEMC%7PgkX zDDC`ZS_!a%k5byt3w@VOjZD@&!s~umh+B5xB>V*D^ z65tMQU2Hj^tANceZ~QTX(df$MiV?t!IjK(UEK=&f;o6EdpotHvKZto4;hMTN8*(rE zh1b0QNIh0yH{lDrheR}01+}S8$hu&Xo{gIDk4#;j_O8_H$_vP11Nq##N)s72BbH;;P;3Wk(j|DpkZZprvT>r4&<%%Jz;|zRx)Bc z_a4xAUM{xb8!7svxcl=PHqG6sw9^&%=V5u=nL{v*M&zlM{&*-*(arlOk>2iEzj$cx zk=&vlXZ9HIJ65l@p^_SVHSzmwD=M49kUpT|_`6f6&9>Eq;?k1mUmeJ!c8F?}`85B7 z`IZc}YYX`fD3E>~4{%R9;o3Pmgsy`@jcB$K90pD_Ps#v5L}&uGyU66#h$=uHjQ7og zY1mNk0v{#Ac!>iBa}M&XLJ^2R@kus(#lPJXYfiQnh1~`cu8{~k4^P&*;oaI)d1I`?N(cmZU=fN4;yngVnw-x z)}f&6+F){yBBoO86uYC@Uq+vYbcBSte%9DfVl*LRKE={R<4xs~ee%QPMIk2dQ($Jz zo4h;U!?V2b>v6%)?&+`pTFWY^D$3$K{4U@39Y(P)v+iVEF@TsW!{NX<-w75W;fD(y zVIgJ%h`k*9{{5y?pe7jY5QKi&P^W;PJo4V#B6&`Mr4^WJZd~B2c|P$sKBP|{`n||h zKzI!j|7?ASuClKX16VXRtovyZtSnOugB{}pV_`OJ7Vj2mmp-NSd;4ko{RxkqHPP@H zHT1ZWarzB?`Ygk3Sm{x-dRpQ@%0W`S8+_>T>VHH9|KpiXkg`50y1RH)X22&e$ zTD#!s5FYe%cR&4_%1^UU%hq4A8i|Nq&rJCTF`pCsF4=L3HKB6+5uBT+6vxQ>#N3K= zf^%QLpeQ{~azNWc*9D(EJgVy6>H_YF5@y1bT?HAE)f+=8weL>cd*B9=K2uvYD-$-Z zK<@1_wkk7s45)xzOwsR@J>2UgUhOW1QTGAfswmDkv?+dHhPJ&`A865#2cs;JskC{I zG2kGxdH8SAYKq>fyt32z^rRr^L3CCV0BV%*?$0BMo6vTSR}m+(H_?sp4Owm zdYq#{A_e#B^r21QA{F+E&Kf_w|XyBwaWfP6X z@cuY~$4Y|9c&(4QVCCB)l}+er!|U^qR6V#Tv=ngIEH2_Y*DG_j2n9X27{7B7y2hv!f^rC}bw6~X`Y1<)b-i?X0t%}_=Bk*J$Vv!TfQQDW{*YtPrN#g* z<=+hQMU?x5E)35-YS)W1DELbe_GWT4EqAxBs*Sv?#+jnrZ_A?;H<>6V zgstJ*3Xyw#-7KAw&n+=+p=%5BYMHN2K{Cf=Md@|-X0<}cV&Ux*%Ow4Qo@vs*k5y!= zXfil`Q8Qyr;EXZ-^Ot=#eHd476u04fhyHU#6Y&>3rsG8|?r(^ID3)9ixjwerShFP3xgb%`CDKsa`t0e@bakNUSRsbi+}l{+C7EDyi?lFYpa zIRnwBp;RKn>(*TtM*V2)Pbr^LD(_%Y=tE!Cu=9Op=7#kx4D1KhT+YMN1`58e(PGUV zI8jCDwMfC~%o(|HbI}{ADI$}XGF{1z0N;g2uo6=+UxR8cpPCr0gHG>l>+R#-Td_M8 z5cS`^$0tK?TXhk`!FIjn@qtx&c?l#BKGy1fr zeaxMZ8K8^-JxcZke93usnoW@=lwl&8L!^QP#G&^fOj3T~#)fPeF6NqY3};!#4Jx!! zw#OIXXAXZ)cp9P`EJFi-d_;W%z5DLoeCv-{ zPoqEKGz{qfy)1hq^>Ak@$Q@aKZWQqQ}s%Rto2;~v93kIlC5IJ{mvfJcwBasN>nF{R6Cg|ktC z)@m#_%wgaGb!b@10&!a+$5~eXb;OeS)eaN~=FpmN2o7MYV7CB;8rGUr&7Q5NtT>E8 zE3lus!)xv+E0cw8c-Mi%YWKaHKW-)Hbhq#GyZiy5?A(kKs5e1gt=sc8rA=sN-auZw zx$zog=+MndHuaZ|&_nD8LXVDUuhS1hlm#M>mz)o+^{VmlsPQVSl3JS!uu=!quc1sEjH&}0SrAgZ+ zO7;HY*3~xRQTHZ zU4tgO1fOcVrQ5F@;{F|O2$~iWWQpsVqLQAVl_6$Erc3CO#47?#+4?FrsUi7?F(HOM&ftU7Gw=MxSRE5PeyD4ju-9|WK>=O6u z70XoJqK3ZkQa`RkrwsU)IsZGYj>2na*p#Qx-G*6ED*E5Qu zXe(o2zd^o=P!s_asnj;x!;lma;dN8mYhODg?AU7JGfW8yjSy#Nj;auD5Wd}Oq7`Y@ zsYs$GQB5p)dw#GhqJ8X3eUGVh3P3EbxEk~xCHH>Ymb|YzKlMeapOd@`{q*_JJ7#=FC?rbN+3Br%kQ_~# zb1_Z;H$T9A+>o+0K}NQXcV`)2N(O`4Qb+XR`tXS@Lt){EU0E|h1Na=I%GXko9C*SR z*{A509~wY^tYJx247)S!h{XaoxJynwjtcef_0p_4p;4gl`i8x`)BdwHT>A%J+BQzp zXGE~G1!=L7$(6D{g^i&U@ZHWH`wfHhfq*VY^++xK;v~5v74`zbkl^;j_7|OWDo9`> zZ-U+oGWcr{%RZ^z%)%7?i+;Z~5VL+<7vE}UBa*7{Zk~!)8nk3uuaqY8qTZual_15( zFWxgkkdIHC*NZp;eN2AN95B9lxUvHZZ~$E*@(ji&T@$VzD#+X zj&O$4cm7Uvef>DO@=-L*GdzupntI)c`w3#I^gCzY$R*9rLJQN*ot>3{>LTVRPZzYx z=y#BY^Al0O?RYf{6zT_s7Q;lcwVmGzS8%i=<6E0J%!wG#CEC|ZmPDyBGq^t_7FJ|G zqqJiP4m1-#VUyj$3t&$5@v8(H$a07HW{-%E^u4v}1Pvdn_L zqd#W~q(9`I=9}$9JS${Gqd6l`jxE87|VYLT#LM*y1HLS$@*c0Lhvz|%) zy?9R2eeSYXDjhEwyb(nFy)~!6iUOJvoN`a-Ri$Pb_cNXDZX#*zYcJ@V)6HwSX;-A) zURz=BGt-v5=>808QdZUh%dC938u_@4+fq7|&`C4f;pv_L=x~;7e^gRUEIg-uHapcBibkIMUgc+*Y5Iwvy{)a|%tdPVgGKx$L)D1iy7cDQGmb9DM! zLU86(bw}#=fr}EyttXvUy?wzGLG2+?UzPknc+<=ga~)Nye&?(ykvYVQwD-m z#09gTr;4oaD70N6u9Fw8SZ1(kU6W)5RBwXWpJh$Eg-a>)i5t0Dy_WvdVZjCvPEh`| zd;8f~a5H>`VeIh2%PI4J_pXN;OK`lh?$ZtzYD?$bSGD07>G}2M-dSo&ZIlnCE${W# z$=j4tsUMUokzTQ`z#X9EIkVv_f%&cNQ~S=xC0X8?`%|vVxGO%Mu^3lI68Jt;AL_R% z^T)sCT9v$da@b!}$Adz`C#Ptt2oL$FKi^d#%ku5kuJSQ=Z5frnGXhZQS09FXbs-89 z^v?@nNQ8`VSO*?i6{ZR?6zOaP8q|jtDm1wTzUPLIzOJ8|Lb@*X%_qYlGD+_p-}Yas zE!wwC9!IP*e&S_75PE7B?7xhEuD&;fbGEC+RzzUkhp?+ERwjGa3RdXfh|mTk+z>2EL>e6>yf_-g}9mHE`Ca({@}t{HK}u1m6_|0x5*$NX2xC=?uk*n0m4_-mJ?`-VVd3)o6dWQh z9)Gv*v_(Wro#0(#t@tXD{>wDPEven?rEe7j?ClRn{I(#q2dosUxuHSRrmOFJbqee_Sk0aeBKh1- z`Ax0#ugw6PUHRjaw2gt(=hWt*tGWae-&&{Ow_+4alkex)iobuYSM$!kCUb2GPN^f` z-7&V_#a^^-xwj~Mei;cI%TUtsh|$se&eNg<8=1^E%*P{4Uiu)d2Nm&p6<~04Ax~aa zVlHhm@wJs)Q~gwgT{LbQHrt8L@5f!-kZ%mB`yNC;5tFHhPK*@I;SAfhqdX|8=8`Vy zTN7Ml$dum@eQNnm3%mHkqCG1!0v`M_IhHX9I7uYd@iX?Wg3a$ z;MlPXe~jAvaViSCXUL6&?4#!wYu6Qh1>e$jl1(LuqpNyd9zqT7aV+PotUC53S3d0P zkZXn|<~j-4*}_6~P%2x^vEog50IdnlID7Z~RTN$&5km}fzpWr0pk~dkFO1f|@8>CL zf&^K8(`_1&MSfXjy!?w0g_2%znvf* z?{O61L2LN@+XTKiT6_{IaC_89Ty7}U_V(J%siZB<`)49M)SF~~C|WO5JvRDjoH+vliB%+Vrp7Pk%mICo3IQ8|xoEFI=$$%2lsw)eDflQ3(;ZaFM9gsIo=f+-v7C|b0OdRKL_5+bxY^%vF5Q0d zt$a-2A)!_q*tJQB&un>l;;t=%>PbrwD8r2r9B=l^cuzi?QKP6%LN^h){B0}8)2nyT zWxp3DlHukdZ{(ja)rgD6N-BCV1-`@DMbPZ5I$g4;^_62p*Vv9i53XMU?n~&RCnpoX zaWoTksmT;7r7QDDMx)>fBHO|m4EgMdY%~>#LQL6{uudXa4GQ-!n4gAwt-tE#b_l){ zOd=qt{+nfklIiGku5B=`+1V49RSrp|A8UD-?9S5BrtJP>rC0d?FZXkm(-uS9zTeoq zoAf=OA&C&2R@NQ$+0FbJzhf#isOjUBukc7@cnAnLM36z;T3FI>m4=A#8?n->yOfw> zO`eA7sclT3r1{&!^!3H%?SV7}-HJ}Y`$${badHuiEtA9}#mAI469HVznW@sqz&hX${ zk_gmn;on`G`cX9brZkvW*?)WwAHf_hEy#WF6sS^=|?=?*|Dr`-EYg!T;Zr(?Q z{|-HEj~=iG&Yq(oe4H!&fFxcjtVzQLnJwce{*6Nmhz>>~Huir)G5lcdCEVbaie)nO zg@QLA`{gx7{}fF~w4fAX3cR~u;ZhX8dvMFCPBy>GoT5y@|3rYP;kcx8!MjBB1lp3H z)r1rFWkWozMxipt`zj|qsM z-!TSD;{g!msv}qnMIKx9O15NoSU*oU)}XFL=6*6)2^u!ouw(|!7k_nsXWtV2gu;1+;}&|d8U373ugVuWNYWo| zyhwxf4+LV2CC!Oc)4(LeC8z%|w53k!P#3=?jiJ`fP)M$ofeL6ZlNDQh;O>fEv1HtW z4Y9j6hORBY?4)$T?=s^oQtmqXs-i3{6CpNpeDyKdyM)4r+VUL*U&*hawyir7^|j>* zL}=EaC?P6J`xDRh*Ws^wwe4w1STP}A@9c;~$RQjUWus=5q3sa2xQ{)GEk|=j8R#hR zmpIyP{5Y#oruM?)FW{6*pwGJUg#QbPNScH-Zd$vOtJWhqWFbrmrSoUrogQCRS|bsq?;+ba40CeCf4a$^wG=saO4CTLo_ua?Y8ez>rMXh ztHiTe&w+oW`nrJD(LkteD(9Qbp9GKnAW4Em2}-en*iHH&4ZAbV_rgmWX-|e*O6pdP zzZ%RAC_jhr(gDn#E_hsW6;_A{#28ZK`-2wIahu+|k`8mof%PlS6*7AWkkTisQk%(= z2p1SgSEy;QU;fiLK~0^ZAnwB?t2)#w8t&-zae|_rZRVsUD>hh>ea_Nou{M*Q?2e-* z-1s-=HY4=h7sB52>-7`JYsgVb(S{&o+1b{VUHC4hiR>W0d$cxSp@}n9Avp<<)*tM3 zw)YTV!RMu3JP4W?n2$cbIu)-u2J62#(VOIRUngv1ePt+>LpfkOC2_=^RZSc-Oi`erUm;Tml`7$Us_-}oy!t>v;ny!3`_*>Wm)3#7Zp2Jx zt6*QzdvKQ%TqIIaqJqpm5)A9{F?X@XAg{eb zMo~NUE@)QYbAh@!4cI~H)D(%FenUk{rI~d*m0s7zVGXLI4#vvdLsOzmU*E6UtuM=1 zUHgQjb-{N@RuF%@|J1He1850V4`Z=URiJ^2=C%uxKR4oa@R_Zb@YviUqwu@@_Aasa zik(_98t7K!e9m)++`d>4vlBTh5`~Ml%|t?;E}^}4#P0;SNef7AdRg|dPLbg(d&F9c zCUTCs0nYR=B`9r~Y`F)RLdqho0$q4q9As&Z-_L!c`9m5)7S{(0@_5?fcH4`Hy1l3I z3|9du=}b2o@FyeFD<`EY=$xi2Q~5aowL-huq9q7^35AUZxTSP-tc@Atq?CpB33YX5R*n+X2pqEjDy5J5jr0CkZ@xM`>ODM(EE%UxDh9iX|)&taokH27k; zWyKhL$3*&YyVSWiS?0U8h1HFGfqL@Wsf-8TD)9J$IcQ1O;2!{{l4hZ77{IW_Xcb_^ zb9#2nBWltWx)lL)Emh0n%+KTt9HhTsOfY-pt1XwDZ|gQ?`slC11Q~7-NYRLXK?*qV zI!j`+7nD6iIc2%zR_AZ$iZV6)@inAfKWl)Y?M>EwsQ2Podg~fP8=Sz>P!!u)jLCns zB>wd4QoM#6?94enLMbLgy@Jp0%jS)6B2iSw!48#}GM}uHk*<);88hxW9U(edg0yvW zUO}+hZV%|rE=z>;ismZl&6~>1J-MJi9yJI_vfHHXebWV8*caa0XeuPvv@A{MJ|VtJ z)>XR}dft8p^l`=v_#i6Xeo2kQ1oVT=ppv!^j%cQwo2@)t38M|IwZip!sXW+V{)g6f z5bSEuSv5xNp^s&<{Gj%r+2A^NCr$6!b8gokIb7mYzG?Z241$CmWm-;|lFKiz*(v3B zE!zat3Wb;6=i+;sZf^tNPt8Te%r4*@^NcC;!E_NQB9%6hoijz^o&cE0DVT-M8`C%M zTi(OFylp4B8I)gGO)Kqm^`18!#6+>+8F`dJ-Cd0=sb(T9o^m}!=bZ89Q}>M4ejG;T zLOYf_&$G^3G68}z=R}5$C|d%}n6=1tx*`5se`KsE0KCr|hQO{%r3OS3qVMoBwE}6# zq1w6WUa^S7e}bBs!9!UT#lJrY_b-AR?KaL_9Vr%$r1nzQgN_3{x~ zrx*8%Z6TwO1oM=ACmSu4;tE;jo(%lW3ZRqIkEj7SSbj9@*HYku5Aq(){@_@1<>_*# zI#a=8kg#po-;?OkI$Ks$LjI?e<-e}=QSuE^Dkb00nPd*mAGY23vdydWu!|~_TCY8i zMPT4DdwSLLJ{SI`A!S#Or*BC(R{CWPD(vKFpg*)lt7!WSe1tjDu>f|!a+vVHGmJk_ zv3TS7!6|=$weSaE*KU=@WY3CHhg+;taW)$OsLu1!0d7#lVJ_`z0Mb!Mss2s%a6*)X z1-N8BRP5>;n?Gjix`1-@Jhh^==*!=+yw0=_aeniu8xx1=?^Jph4X~#B-EZe<^9uZ$ zJ}U33sZ&CovQ9nw{Fj&?jpf5)^JqZ=Y{0B)Ty*#KyzxA9)0Hpubw8uQkXo%P)a;Zr z?rv7yWq^+UXW*!gxlH~ zyi!`1msD~cUH}r1>N8o!Xb<3=?ZdsF(B|G7r?pNz8n7m+%jmw`kO)~g9(OVAN4aX7 zWC~>paHnyT@Lza~8JKO>(eF3?eu6Kk(X43igaS_n2+UpthFvf1(3`S?zSV-RBOn2- z39)~NTa&EdF~M%8Wk+N771fE%$ zuWKD2X_UYDku4?DYf26b()1j8BiR5g&RpjM>KkTeP=rO_2X2+Ll$(HKow)tr| zz7+#xykl8`eOpVpmcnY=UfFLY0$h7B5>N6uASM?-_%s;mAOk*Du_Lu{HHpF{?D zym}F$I*ySxt#5uX52UDg{2d@D7p1s6^NrX+U)saw{YjoMzFsky_kJ`C1X8%Zo$dYl zKj^AZfUh6IE197{W2Or;k{0i0jZ!&$uNq&(x>Nsl_MO<<`^CQf)<1sj`t=GmAl07a zLo{?{EzztQhSqv~S2~bhNxe5UzndSqN8#HFUuVVgEWvbCnfT1POExg0!UYTMOm+4t zs)QiUy(Y@zjKr0UGUUD?a2_sf3@)}Hpmg;VvsK?5{dB>vZq!&_tDVuc(*=1NgEN`? zm-Oj>)ft6V@8(r4Enet;mMdneT9Z5-(T~b(61}#XYhM$2+H12%t#0Whx!?m0X8g|M zgps8?_uNFLqJTrm`Mjgm^|RDp5xSh%JFWh1a`CD!!+kug7s4r}Cr86wq~!8-3A1Fb zfAbRk`a=m=o|LiUkRo}P7c1qm$1Q8U5|Db2I;x+}>T^A@lLwj_2F(V0CGV)Kjko#= zQ}jU2DJh->%-8#y&9J9(eOZ&e#-mTA9JV@Cd%;)XwhdS_C7zO6J9;fZs}F0#^Or1# zZTXX0jq4raBnWPa6|+;z+UpG+tLjI6o5lb_R|!y<>UzqAwF`d5a_yMJb~1Eq@j@_g zrTFS|oB;m;jVQ`{D9qJ@YHqE9E=!yRA!rD@p@n>=lYcivYHw%wKhrKrvYa|jce4N& z;`!w>G*pGaA5gj6?vfU?j;zbJ5fDX3EYY;PeCG79fn@D{oUFP|LaI=^f7%g1s=rKB zbfmVPB#(NbIGp7B{sTps)^(JS;;c%P(Uac8av3Yw(eyfS5o5x0Y2E8NlsDOWO_r`UiVow}vAbbPcV59?ZU-O{BOW*nv!UTdz#l10n%~Yc zEueJyP5r1>rf+7?Xsv{@CRzQfb)!~coo+rh%$M+v;wH1FaZw7vJ0~DD(g79 z-XH0Es_L&8`RT|q3n>@~>2+2+9}Y^uc1QN6}L6T;-vN7y%tsGML{3V7ULG4lJ@FwZw*ExZOBuX65|%S z0F8OWjA8p%s@u85%kI$Lo6i{9dLl+@&6DK!ywsL1RYLTh;gN*2 zAgSPR8>V|t`jgZT#udei@75ZFuiQ5n%F7YrgF&u8*b4_pqTrdjRg#7hd{q}t^!_aX zAS<=4(jPnG=LaQev3{}(z?@g_O0Ho>HCLJH*f1k{KMYF{#}B8>mwc)cwCXt;#;G4& zZuQt}xv$e~ZzDUD`&hP?3Uq@KN%@P`<<0=_-c!ze5L1%5|HP@K4kZ%kHx*AgjgHji z?T(~*>TV?YjF;LY$gF{ehyLU8e41(@^$k0_%eId*(0p>XV%;$t=iQO#Ar~n)LT^~QP_)vVZl#IvakP* zhK7gphWEb8@ED}}9$D%_=e0aRis1BDt)0nvBG%Nb8ae31gu#pl^J?HN#iLV#onUcJ zfhb;*RK$A&>8)~Me6!7W*E_+hj!(bfcw?-cvc&SMjgv3p{jyEhFPh`%;H!A(0uXn^ z?g(L-WL}yHMPtJ)6zso6p1(0801^mf zSSC@*q`PBZ#^tdWAi#>Jt8?vP^YYg#B|>2SLFQcHofQNXfT}c>Id_IygCJv;zp-`*kpQcznP5Y7+G_JiaV|5Ja;%;Cg+)qx8Il29<#hr zrvbXNr^@R}Eo|4bXKSt+T&j~r#2d+}A3aLvW8uX08P;#AIoS8y3vh&e6Hu`^HxPD- z;s{>K!C0qQ%M|{x*AvdBy@v^wOznpN>T*rML0Lxv(dJX-PNJ_Q*^_@)84@6+2#}{ zA^vUCWHDW8Qpg1t_Jgock_v(h%(*;y)a+efHsghHswMfeJU%T}vN@>zRQ#L9WzT+h z=Ej>2DNz%j>pwHJ_uhH4(d3!!mpAZ$#kNnW>m@?>g1d?agPtp(8iyw|+$1J?zBQq< zLihjjL>5Pe**YO(xv6yr&#Ka&dFbCaBfEJEWv|`xU3F54?H!`~(}t#vlX!ncDV+Bg z0u3WYtF@Vik%Rb!n8wGUNU}+szv!hqehI95;w{piizTgOq~7avoHD2ZYxCm*0w;1;spUmveET=o^K}vjkPp;nPJC{Vz?o+uG-6tQQGkcNg zLfdAQ^O@|{zyFx?g>(mCeH8}M{`E+{k%!;w6K|h2vS#;YW^f`20;|nx0iH3k>WK#M zAvv6XZ))LOe0{XS>^M0r^r_v>O#Dq2$OH1QA_+K3Dj}+PV|hG7H22@%-a1j=&;NYh zQ9c=d@|CWkEcE+15sb@i&9IUN_xd+8)C0_=wtccKcTj$5Ybna93#iI_*Oyzu7cQ;n zwX-hWAO5H>ja=ic^4gUVrX6IxzTapBuZYU$Bidg%JEywE(YtG|*;r>CwS}cwTsRwexaDCbvJ(%V4&PX}8rL{`QNVI7s#{FmZ-8T35&|-pwt7a0 zu>ZYfHuqq#@1f6CCIwk)@x9mAf4}AN_?zgT?NI6Jjz=Ov|Ni>c3C`&3rV}?o*0AY8 z6Ld*E0{{9_1Hbz>mo;25afhL(4|&&rZu!J{e^Sp{thA!_1}GlGVd{D&Ul&e zxm$8zrpgph-+Q3qK9m=P(T$UP$%P5qjkwtI*LTm>FDeDRki(2F6_*4EGXDHR_I%`N zDP|fd-nV3!|B;3S+<5F4smo(OFBgjc^aBqToRI4gTW(7xAT#t2fp!w{^)W~j5Jdo@^zivJ?2&&TKTx*beNp$_N z*@w?=s*)T&KGwh20`TPjhX_6IWJ}L|;(&*F2CLHFn4;Gkxs%w-{e0=)YUTWFjdRa2 z63q&F%yMw?Q+fEyy?>v2>m-kC_j-(5|3l{g=OX#fulav0j{mWG|3A|I?@<3P-TxzN zB@u0WV(c{$yos8_xuI$lT>nvZ|Em-KE@8{<|7!ZbvXJ_(TKp@D|Ek6RjYG}Sl(Xs_ zz6O8++f0#Ha8%d-V(Kcxnqa@aMVFumk`^e9C|wEIw-Dcb z=dT0*;Ar+F$4v$ICv!t_%~&v{&v~~ihOh)7Sq>ZBmwbAtG#mi1a>;Bgh?%o(k`^rV zQ_%TWPS;Fa@6OHBv&7yXPQ^Oii)1ymy?50dB%kg7OrtNlb!Tz4SH>Y?(eu?ttu!t) z;ebPsgEM=@FMBq{aJTNK|mwM=|GkQ!NKw-+tCGb>(*s-Dw-z5o~K{6|O?u z7kv?|@Grd|M(Yx&zD^6?@_)bH+dQwOIF^z2yZ+6_+-2=v&_4^Cro?9f_VY`DvNO~4 z8qp1_Rp9DlMp2c(ns+bw8kC!CP4!v=X4wJp>+WN|xVGq_0rU9y#G?)(X0M{ce}|Nl znD_1O{W82_FEzh%aq2|h5a4EUY1i$rx5YE1(qLMBOsXDId!qC#Jbc^V?d?(=&2CFX z2|$i4i?it;a3|Dpauzmq+v0oo`U)%Fp1ur&*d9ov7>gXa-BiBw4EwXa?abTZ1xP?* z(!Y_Xv%5>@mBfFH)RNlxVUOx}bryo^>e-Xwu_^fH%rewBw$=N3uzO4`vu$2~QNY+NX{>o_-jC%TQ>Ch0)0|y!Wt!3KlwYzseqRlHG^P z@GoCjq=UnuT4(;9{H8qj5i1jDjs%=dh4Mp7VE+|4)!&G(`Q`6t;$0n<_oWR3`%}H} zMyvpXF2%UW&V|ON6mkzI>I+aVbHm(=&KjWgdW3iMm0UooUEL7pJnb`nmExtO@$|tz zpRK3~2^(_*YMn>`H$GLdG4*WA%`(a8<0>Wp&D%O6t2=c{hX@mkw)57V*774KMaPzU z^OyG@{}&)QOHh*u39{;iVB3j!NK}7JY)fsO=gR10&w{I=>C19nU9X^Yl45qPH=>eKvJ` zv=Q=vmUT7JUD5i>e|%(_QjEQka_0A{p~)Ty1A%{auajOIAk3HTb;PM;R=!OXoPmDsRr)7l-2lPH5F^H7IDqu7R7Mv&xm2cWbA?zFv zn&dMeHo1s*IR=S~HD(%6uhrI|co_%aSPfkS_>By|MG8)G4z z*UT+-O{*IY;};JN<;msMbaK8HO^FpKYoJ%39&W(db?IZLf{`kp<9I2U9^d|(XZT1p zbZ6hCHLK=eXui=$1p4JQCC zaELA8DjmC*qFPfd>7fH=XX&tV;M>wz#Ix*!1yeUW(TLj%;h`!Gik&u;PZ#1(s8VbG z+Pt6fk_Pu@-_LY)z#>A%x!L9o=x~F@`Zr>+N)tynvV3nXi2Y$jf0>pHW~r~AOm;k? zq)YcjHwK#i!1T9k?Cm=6%F3A@iYdEc^pAfjdfJc|g3qJURa8X0n|j$4nq+La`i|1o zR*93XUil(P(>cCA?sZ-STb09#ZGksfi>7BM$Ldj&At#Mo4F8$C;#ty=@z)a1Osfww z6gtywPH_2{t=H1_&siD}xO}E{x+2pl3pxVrE-%izS(!dV9s6eebz}+*e@eZn;F$}K zbN5!jw}4Skw{^S=vi}UNG$?X4=!LF?K}sWQU?VfU6x(3YA#SF>tZy_PGTfylO9>3h z5|GfN1KGPfz)H&X>82mmBtMRs)1|qQ!^7o}Lx~pL)-fG?^vt7WH28RTbd%&}=fmZB zx;GV7bPw4=;5>b(M0e!VGcWB8sSP?~7tC?)!Y!x03&z43M=-iR0c#xxru0x;_5z^i2E zA8pQhy#$6LpT3~MbHZN2B>=tA9M1B2nwshwHoM^37{RF{Dh%qS z`^i@MD)2L9XB(4O>(>jga^;)eD|A@LXUv@yjad}m0EZsE^Cec4-uWhfj;2b~I{OixybmKJ`!*-t=)Hojxo2>IRjcDDLC<+oI)ycSO z8WA^f5QlzQLJ{tVo=5;g?eSS~H#_Y9t*L9y_AjrlNmAmC!U=c$$sV=W|X9ku?g|mt_~h1bZCgD zpXX)nB=1!Z0SL=($SgLXd*dalPd7}a;bW0+h`9z1s+d;e1K72aNa%Pf1zP+7Y5hp=(E7UE=>DfwvVZ_wqM=sDDFae_SE zGrT1>NXy1Yx@vVWbDK6jF`N;mG;tWg80mdCaKT9kQM`lqM^IosGF@AiqAOS`U~zuqyT{NRQfZ&Zz_t z4&$%qA;QxkBw5z?V#EXNzi#1&9%c?t3#ycVF44gB>$^lQ=0`qtllXkncbv+!(N`#= z%g3GI?)=cwQ4;$2i5e`$p`2S+mNU69)3|#@Ch=?Nf3D;n1~JI?X0m$*v+u&T?9IdW zvK*^aiFlf2%g&uq#u&Huz`2~P7#vNE!?K=4*z{nkhzsGcZya;f9WRvQZ0TZER$4&M zrP#lKax@*u8mVs4-RL?Gb;3j=3G3@7W(KT0V4QaQZ1M}9rokZ;%%?3Qz+Nmgyw)nY zA9=K;nw$ucqo&ZIxdSVmvZtcd$r_QsGa{br7iIn>F*oA|qV^mAr8yPp_RNVT>cmzx zo*>8OgjF1}8Ms}MMw3yKmtkkz&Igm*8pVCIbkIqUrL!`u(!GN-6$b}*T6cMEN!H}W zkNP(ZZ*zqU8NartFYzr*U3uB&r3;~0PFzChXDTAhjJT(b=w{~UD~H&0WxZJK=$qpK z&ZUVa&{*{p&FbGV5XL-Rg^uZ4lRYfz20*oJz|~wPgizflLkjHSMd{sH%Y&4q@hCG| z(vW1m`b+&!k&Jfxvti9o)9y?s3az+3>%})GQ>w24s1lW2FiT+wBN>1P#@29a@LzjpF%H|2DH9%i^{0`T9f^`UnaqXh;(v7jR% zfU%Am4$?U_f2!q%wQ0yO;g6`cuu=fV+;G*dHpv$%QCJ+9mBoyTthm=9y=;cI!?}c9z#P{dQ)iKE zSq_Y^qahgpw^-Dy$?J@zfIB-L{*b05>s7}XHWe?1Ptu~JL53IpihrKMniyPLgLVda zSl=ASC^8NeuSO(c?%r!#q3m4DJ}Mb1A?^VeHOVL=6&=0~H)~zb2%Q}qYPBvfC?mJw zdVX9BD+MH*v?Ys-0$-yWn&>DNWP??Nm=vA54IClV7!6oHp{7RjpEVR`1ZXhCydN41jKN$_30*o|ucN**?TE=v@)I4$3C_4fHJH-D?1 ztc3n8kUa?q^{B=(8~#v@P2;<*;IgIP7>bFOy!RFa^kOR`?JIp}+V4dGNiniOIgalp z`2Z7w!PUT~L|e&lPeY~ONX3)GBJ_h62@6))v~Tcm^~H~*#B;( zFtoc1rJ(~)9M+S4#00eH%Fgb>L#*yc-P>;Ny*+ADRA_poi*f#GPqsKl-8qZO`&FGq z9Gt+0-`>46oyl*C)I^ck&6|~x%ktjbZk3Npd?(0*FB^EcUrw+nP2_AQoO~J0XMUcf z2L*pk2e!;H+>K>23vCwQuSm0#B;A8${Y&VzMvS4b#0j$=-3Cb5u)e+)G)kyLmiE{4 zu<25fRT3vB*35Fnl11M!`p=Y;HC$gYku@|(M%S8vgg|0R3}uNJnB)CPX>#(5Mo>cAY8I?X0NkIQ}If(!=q2iA?9axzuWt#7yr7i`s ztiu|nTB}cr#H`${xach1-VBSAgH0kL|5}A>4d9y{UYIcvvEloZZLkey+M=e}s?d;4 zVYZ5oi<9mi7~o5q0S9>|H_&S-Y^!Qmexd&BR3uhaw1Eks&Si<2CfGlhazbyGQF~*N0ezSy)O-M5Z@2>Zkhx0Zw?{&$NLID>MYZjy8aT@fO-BvoP@$dB) zbviq&TbhE8Xm{=CVz)EOC>@h>jbd`bBiI|5u&+0~E`JhfW68591yxMB>3se@Z>!5v zMj@(8gB}HY=qMRt0(;VBmENYRuf-e3!%XzE08l&I!)|NIhM&$%4B4t&c~9_9q|5HX zxfD8QtECcZ%x=j(3?CnCvDB4=OJeILA;#YRQr&8>yO1Yl7d19fhp&z!>mh2|4Aq zlL8H6u$zh1H7Px>H-w3<32t=k-$dapq`0Sxpn;BSt*7d+a2zr!r@&(zh3z8rT%+>LiL* z=zIbZ((@OUP{)UbdU}ID3rr;!q?A!aHR_dTl72@OTC9X)sweX)Vz zd%Y|>Ma(Iuf)$p2*O776n8mUFB}5$D^~ym$iWsr_)a<;TvY;YMIgI0BQ?(I4K>DU=K*=Ngx!m{eN_pcy^cwBTyoxXKUb&nImPb`S%|Lt z+oQnIv+H)ZW5I6#Q|3EwGoH`J?Eo2<@3H_xqpZruB+g4Cg_|-4RLw^vba*(!L$UKl zaEX|E`Pkoa>sN0yH>@1TQkf;?UK5S#ybxXS-&FfsZ2@m*h?cVkC22#_M|4C;CG-F& zVK~18gzMcbvjbq;rnf!JWhH1hDms4q^E0&$P%3bG^&2zhA(}qUl#z?0B)}z)qCJU6 zn&lKeG4KM2jM$jv@v(=8R>JJ#`3W9c?0R?lO_3!?_M})|%8L!B(~gbT(kA!*3MYj< z?BjS_v#Y(b6j{i)n*{UcrI#+kyY13!{{8bEZj$VScP1O@2wNTT^yihYT(?a}9vp|% z`iTm+>MND#cMyq)1IDOM)Riq;(NO?qQ&171$&c^q(ot-iP2Cp56LEQ4K#C3}+=)oW zFxWylp6v9sqgFNH)qgGTZ}n^lR#{3COdXPf$vZDE##H|CU`9Em}Iw`S{OwoGqm6~|6PxonY~ePhdHhiM7N%Q@$J%Z$bNgUNrsh>PDs0hLPR{6+_X zhy`6G!nUDjp|&Nc?6xi)sUJq;WVGt?1&#RtDBOdY7CAHz5|FxEXCw`8-gQGR8ynE6 z?h&y@-ZNTKouOZExtEVYgT;=>O~2mg`Rv)J?ri2VA*`dRt-3lU8K4W&igsd?2KS|KxWDA_q)L?p4Hb?rEeeem9-UU8~uTb=|LO3Tc_nSNyTg z&BxbdD(iD)--6eAEul+hR{dy4#ay};HMOCm(3vV{xT~g;3?VL(?weOj9=MRpEJ^gI zq$rkEk3Z84lt`>FtKel58U^>|vR1zNud?AV)2xF=%*^Xift&##t2r}O*=@-(mS`cT zo%fRP6aPNfnuxEw%c-T-fX&KsG8lg9J^YDplP*0JPQPG4k1Ug84Q?T>ob)e>bLq*U0$kT*Z>;G@%V&4CG_W#0}uE8od~S zDeB27UV8IFs3tV%`ts=GmreXG#3ica4Pa69yYsBdHw)qq^AP<5neXLWD+?Of)R7pc zBv5oiDTCANWg>o1AI2^5{g36(hPV*2?TI3_w|}+3b%NU|V^6B&nG89JBe_J?NVr%2 z1;2R_%{TS~r@l9*H}KU+t9s1H;xDXns=Us}wzaG<7CN3_<2h3RKUIm8_vgz=n! z{`qT)OuTp;dAyxlJe@n693Hl_QBSX~BMY1{$%R^?hD^0?WVGnWMS1U0sNPQ>@-DZu zjKpxyMNV4PJ@E%lvI-FaY}&F%xD(5At%dsx&G@uXo<2xySi)fV0}bA%BPiWF$pJ0w zcc-nG&nKZA0Ex$vYF%ob%Ro%km>wqXZ+P*u%#>VW{_D$b;p85+vLy$^b|J0pHRqe( z038 zNUE%1mfSapJ#p2mLg$Z_UsdGi)>?r~A=iiAJ6pz%R)vS^PZvCV;cXJ2Nf3#~jY#*0iH=6=ApbVFJvo9&UV!rfR; z#DV9nD63T?`148(0H!H0W#1=8=G`zs2IbZRT=iEF7vD|$hF(zM<5Sb(ttI=C20s6& zHIaGFq4!BU@=GQB?un8%u0(-N=m7%D(>*sljR{Rxk;Lb^k{|FFd(pp33KL5%!cjyJ z^1tbFY!kV#u#xq5{AvG3QSAq*4RKJ$pcC`2^@+Rf`Vmr{%|$=5iG_XN zIzvHpSkYuoD}zchZ#OK|AM9+oNL}l}sjv~4I3z;u#Un$(mOkGsh#;`T@r4%V%iH9}OlzMQnRm8D&b;w1G9?!dl zM7-ndP1xo^M?ynG-8w7b%vp*GLJ*1sHM8>o=pi`;;Kue?-6VgxUff#A5yXWnN9$_| z&od_`wXK=NnQLRPZqKWRsWfzlFlW1y%(ufez9abd!5gjT{M5c^wzCt>Na6El~ zT>19xGQ1ta{yJJw0f8+4Uja2|7okxyb*(z~nun05KhJJC%6yd<{Hox>?#hmias>oB z%c2|kjCafr3lsh5;i9pdcu5m?gbWdt$VC2iRUa~(&f|Ix+{fJpM%5)G!h)>`?@odm z?uS%1yHHd4ZP@DwOE~+H6MnUi(2%L)w3l;_-EM_m6v~M{N&IaFjX=Im5RB{Za_`C4 zvTu>;UuhM;fd!ibR?Rcm8#i_Mz@447%iC~89lkN7)`XlyrvBe*{)Y_OwcAKc#N3A! zcZlDx`m>FrLow&aCvLu|_nPrD`_6aRVqcqIG?Rv`I?7YC&~?4uUd}b+XG@gJ{-6m3 zzBMESLOt$cOHE3-*#xiQaTUgc98UEQ0yd<#$Ec7&a}CnR2`5d_HS!%Txz&TbPE#Q| zt|f9-!egp`=NNxF3lLKz2HMva+xv~B%y8_@iXrw%+cYr^O{*kxb{Zd(=d)LHE-rc@ z{@LZ>V0+#g7l_ zYuQ(d)X?TQg#}k>r)@weu`Eopq0@?AEl224)=_PAq*vLMcTykM8n zFN|~kGox?d{9?L0>R=V|0qVY$Hc*XV5Dc~fj}t?P1t=2*aX=E<_4(vfgGHe;c~&JE z_b^YloI*$U4m3m4p{dZbEsMwAO39MHpiQ8@?FGa@YfoeNwp?=@qMVSNkDHA8FPH1> zx&N_+5Pq*X%T4=~%aW5WJJXLP_qN!cY ztt(kgCZG(UOah3)LnACm|R*{i7AIeso* zPCT+HGtqQF3(s*nH7MBBGLtE$Bt6Ox6A7)Erii_6MS=f?JCKqjry_K_65&wA2Bt7o z=J0npTK^vSp=Xz(pVs&bI_YHAxrt|gLhSBNT+>tLow%HkZlc>|>gtG~Cg1+7wa1>( zszx=BWJ8QI!y^KW4)3O!Iombg3NzzyoaUnqaFU0b8L9~z-t^62la^-;B)I=LU( zA|#~8v`9~lo{v4I=&<<+u?K}3Q8dqU2l7FqR;0_8nj1#8I+}*rTq*oz zq^5yQWi_&26_b9#zPUEKRK1jGd{z3tANQGN4L+bNlMA1DhkHjS&28;srrY-2t$nf- zFd}<%Z@bj^LL%aQQ39?<|_JxiCdy+WU`p;icTA=9JK% zonvpvD}OR#5ay4Uf7WhDFU%F&=+;cw8!rsWh^u zIc(Lt7YkN~NcQP3-7WNq&+ z-I~;P*R4=o;X?L}wx?u%C)h9-B*$9nX_dZ{^V$k^CJ(3%vqje6-t}))tUD#OFtZ5yGW1)Lgq{W`t zGSa0pzTcG-#i!KxDwomug(cVo zpIxTYU%S>i=xFXYy&Z{-T50eF*O|`1QtAUQrWTyjNOv)zNXRz1^kd^Co`-0)RIZ6n0j5PWnDUm zaurKUz3r_cnG(VoBoo`@Dzle@_ijNUgi`2YyPu$d)<)XHGjU51d)=9)zMcYoiE2P0 z89Pi)_SqZJ{9?XdPtipGsGn!0d4=*9c3V2-B}-+G4zrcfFQ$*Gpel%Z?7qK~k#>*8WZW@k%C$H66?wwl*@V$PwZSe`j8<$zyxV~`HXY;dR4k9`G0 z!zF(9Tj3Y%2YdyPY z6&tE9kR5Rjzf^PC+Ti_X9wL~fwhKRa)Lz7+59QTX>V!h<2KLhc5#hq&j{LN`V3BoQ zCWe0xDHNgS0qczz?~oLJVH_?$ZBj&N#k#B30cOluvWc4^Vb-=hF)kk}5bU27Yq31) zVtZD{+;chB3G7+;=BDOqtK5VtxRts9e^z^?)74C&S$uIv&69@iR##OgMyKtC+ zt-73SP?^C|<=qZT=dpx2o|D9C4!dLzRf4!zpX#-Gln6f!R;n`e#{sQo-+9W3KR9a2h~JL*XxaLCF*Ll3 z(HRA~0;ioPUt>hj~SAGr{v9OmIWP|DjoV*3R%s)4_>EiJ$jiO59P+ zFK0-KsZ8}n;7nV}3e0LT3mMWoCuUc3AQ3V0+xV4jZ|{rV7kx5w{vk0DB5XxXg0JNjKhUjmU>uNfp_+$&8YUEq)I~jvt+>OYPca+JTU1tJXPoq8|3z}#^vxx7R zFPfX@G6BlN&4KvR+n(Z&Y7uM43;-je-hJU}Q%iJQqv)fCX1d*r5$U5Z5k?fd{+>&S zeJAr4LOF!u2hh_#^!->BJf~ga86KBBxqaqlP!;3qt{?l)lnw{&6F}S9N3fvz!iC<> zaXMi{H3dHTLGZ>g7q5upi7UZP{CC`nirgP7x}5S5$l~2VWb5erxdK40Fu88`oH8(W$V>pJO0N@Y z`*nk>zVv-{MfpF^u&Qo-+NJ5y4Q|+^cCLhOpU&nH(ZPy1jSQCualzlYh743=!VA7R z;{A*BlD3`o3vdE=9AEihv<cj$E{SS=KTV@ULGshElq@Yfz)YHEb>yt01cSH0zU{ zb+xv_b_N+tlGXshB(H3(=xyz^F@qZ&k~Rn0Gt*H=zlJkcpZC}4QN@ZvVdo?6S;ks^ zh1n2X-j6AWmyJ+_sbT}PGG|76s=;=ImoOSQ-&iP$6K{i?46DY1WE(7}*EHX)!#ua{ z$|bwR&Ohq)-OVZA2?@Vf)r8{n^5wjX)|N>z-kn?S-Un4AV&H~J#Vnz3e57-7?5}4; z*!36^?Db6#v6VS9yIUZ?cMivMy?D?W7)4r=hBdXHbrR?6Wx|=#L~;rR6r(1qe(wftDOU4q8gopGkP%kga;g zR!*{h@#k4c$JTKcO07RAnSlY>aIq>-fsh9w)D2V7fXnB?J3)+1bkqYw7j7#g>oZp` zmyT)8i3;{1?hnbf&WwXb%f%to2`@Ekt>f5uz^G@sKTg)GoTo1`F{Yg8by4ee`{#lL zCpOF{v0w@pt{rKThv>}!%{c`M?2YNX-{J9Y74p*bZSaj6y~?i{(Tt9Pzd)-B6~~-R zI?Q95TV$aXvWix7h59jT7ej!hSQ^M7@TrEQpP1e}?D=M$)LBhCD{$QZkAuD5)`4d! ze_|T!rS6mTv>mviyArE%!aJTi1R5lgRQ}Y6g~3cG-pPnxrH-qwZa_zOPvD~IEl<+G z2nuoV@&$}5h9q6!2izJ#sg?b!wUB|L@Vq#*R7QZ9EX*LeG8Q?|Jm+6&Csy(W99;H* zH$aF0;;G33CLQstkyk9wPkp zIy);&a4k+q{q-sJwH?WnQ9-mHl2^{#;7OnjxG5|c*6qMCY~b*sEYtD6^RT>&FZ2{{VgLP-kOe{DT)n_`HxGxRgXW>eP8%=AsZP zM`oR+D02Hn^-Q`Z!;Hb-KT13aC&OC9x|nw8|dojV4mc)x_VfIur8|>g*sV^ z2w<4Hup|KAzIdmxu;6y=_6Fb7Cj;|B{O(Slv#dDg!$br`OD9VGbZU5W**7Y(4)@WG zg>u*lbl`9_5U@?7=$G`qGIINi`GS>HR5Qz9gS3NvSz-h z>xX=U*|b_cPE-~sL}p?0s6Ess$oUOQWDC0Y?S zp^fA2br#^3h9%x}?3Uw6itlBZX->jrmy%|HvQ$!_Jv!F$D##M0VuAgrvVW%TmGPX^ zjBo+y^?TA9bXXuGEYM_-DrQi#!f1!#1?9GI!`+paI$NIQ0=m(6h1-rQf>?3uj~!yO zjmMi>j`2%Iwhb+3&WovPF5FIyk7JiUb+Eo(U1amh5n;4%ePSl2J6BI_YIlbbP! z`JC+=g1*C8TwdKU;*AGvI)4%s9x16Gzb�Yt}r}v-xGFU5Ye@+=}An>&rg8-M_j6 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/caret-down.png b/JinYuan.ControlLib/Resources/caret-down.png new file mode 100644 index 0000000000000000000000000000000000000000..d45d9caeefcbd6d1fcd38096caaeb774b129a4f3 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gio-U3d9^P*!-xXwZ6lnRaq`;z7 zpg4!)1cTsNUl{Up41)d$t-DD7n4aH8dns_y>m>~e=s3<=i+il&&9XV)|+HW)W}Dm~#^ zFzJgA(+rhKY)N}$Tom{jQs?ei$vsc=gQu&X%Q~loCIC(1Yrp^i literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/caret-right.png b/JinYuan.ControlLib/Resources/caret-right.png new file mode 100644 index 0000000000000000000000000000000000000000..90ff769d0dc7223b802c6775d2bc57217982b475 GIT binary patch literal 249 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 W4S~@R7!85Z5Eu=C(GVCOApijG$hnaK literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/常规按钮.png b/JinYuan.ControlLib/Resources/常规按钮.png new file mode 100644 index 0000000000000000000000000000000000000000..7304ff0fb04e7b5940f13d7814030343cba84ccd GIT binary patch literal 8864 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ξjoOq#oD$u(LEK}~U?!k>5dS-q2S5S`9f2*XuD^V6Rxk9_CG{@y?F=!?qCRZ% zH{KO=qt{=?~U(Q z@80r=j0sw4EMFl|Y3(2pvI5vpr31+NRHm`PHoxO!HJ-Z&yW1&oK%R! z5o|Nw!YZDM*=NS%5uwuiDa0ciY1kBqFFe%F-dFfBJ$9A4kAy&aZ2I`p`nGM-7>)}r zhSH^Y%>ZQ>tZHr%hzrKeK&E;ybwE(7LZ=CD*@vK^Sry$WtI|aHcxUx?GunCE!1es| zLn!q`T-F?JJS2UP$;OS#4M8_+TO-+T{3aWfY*lS9-<6(;R*_$(VFa&CKd7LiT6x+h zfJj^=J2!;vz;nyXq5QvDJ(Ac~v3^|Y{n=IYVE0&0m|*Jif$R*HnB*0w?!?A=qu7Km zYMSa;IY+&vFJbuvbqm=a+D>vV7F-bAFgUVe=EntdIIKnAcS6zD5p+Nu`i;zUb#5c- zYD<;99Ce+U*Im15ux?CQ4$Mgy!`MR2H`Z{m)nq%GKKm|_SSYCmnOMLTa!L$vOaSX@ z(qVL4mPI2kWbsE&%lJsDA{>X;7bHVS3u6mzt#ze&AR4wo-u?P?q3xNV^Nrq4mWlU$ z^_q%$fZFeRVg2f*v2#ZtN068AUf}F?05+EtT2gLhPs_xxr~qC3pV2@Gr9nKWY3yCHO zNftEkl?euPywuyRyWhWtnZcys;pxfxUP%bO)eT2n%3vQpXZ7&zp;be6O{k_az%P6K z#%Xf?>H_R07DuMbud_dfhe!9Il7MNVmn%FpK`-|wicHe`OCreO4Z=Ytq;>g1IRKlj z?=J-#Pca6s{lg!P4x7|o55|p8`~cn`Ac$X|_%`0RGDLP!ElGG$k3eq5WvSGxn68cZ zz{}NS=hLu;-sMe6l2t)!dFme)Iap(Sh+y)gkpIS5SBH=18Zl?3E=dhEXwVMIvn%hNQ(7E?} z*g5Lb89`$??12k*KU7%c7A8qOkc!(EU)hQb1@Y^vtXPpSyfCTf)5@yPd)|_g-&WZ@ zs%#@H)oY)V--$6mQ*I;+#y;AV#{txDKRECQf2-)6g%R>zD-pVVtQy0-mMmmP41B-k zdRy2(UFT^>$)zEN0urneO8^=&W$Dp$`Laaq5EA$~|0xVc)OCM=(ol(+q#OTnja{luUm;J5EFUdCY z!G)MgNQS*xQvF$g29)3z%}GxrYs?5pPP!leJR|;Yo~*H&5RXy!%m4Uba7`#DT)W>u``)T#+p@sb@AA&J7vL!CmVp z$q1`h3T?|1-PJ=E2n~dx%5VWLq5>9j+$>RaLy74jW}*aFu*tai|%hgeKW5`BWTmu78 zqb6f+HrCpi?kslBPumu+tkPTg*At&S-{SOqsembl6t6#*iYdZB^0l(1>@uAO-qv1U z{T^>MgwhhnL{kbk{$073*;^@K^GKuZVMd_U^@PX!W-;No(_?lY*gQDdo+0+zEHEJd ztXp_hW+5;4EisgHFQ&39b1Hs_laxMa{W#D?#08ELB!dV`ZDyQWWDF#RpTML^VZI)r zTYta(5XS$R3%kyA+Br;+!h|uMW2F}&v~Re}%czosB5arNiea537f#w2{j+#&3FQ|n zgZeXIU0!=R({ib0DxIxZSY|={3S`9Kr(ho*hg?@Ys^c{42m$zlTFog}(eC|2h~r^D-8e3oK|-l8r0S``{5=HhTyByJ=PxPKEv7(#EFaFTPg z7_>#K3kT%XzxkFbx^wldbLV1_pu&oU5YWcj@;VfxR2HL+Nc6A5TZuD~xM-deaILjq zo4n{&PdU(r2TV5Y<~uP7o|j((n?8O{YeGM?&re-1y2(e$Qr3L*yx~~8lT~gEj{mq< zsr|NrWBLT!eN=}|S!%J(PTnqjhzi#kz}U0^f_&e2a@pq(z7W9TQ4magXL2?O)L zn3v0bE*B7bPtV~6MYjr`zfTPc-5)Z0-zrZN#CkYnB4uuI=Y6T;Y23vnTTp&E)1hII zNJ{$82*?NTD!`Fg!Lj7;cGbQ_E;87Ry|Dd&YC{rNujlY$f#QvN{K=JtC) zWRzIjSJij^pfRK3Tj^44Z`t_rRVBqY48RIpfgN{M_B0+m#Htt*fq;o_hL#wkm%mV5 zg_ft`Q>IFSfGHVY(BX}#r5B;_86v&NGND@+(wmf~pp(nv^-$u&l9^dEF;UAijHS*htdo#jzY22=#yOP6oauPJ&q$z}9u( zNN^ngb~pLYvWD_M&v~}iqj}W%X}(gbXPP`^&^93O{3tz$Dl@Klz=%` zg;;q-g=huj>}ZQD*6PL4liHSG#xpiz@LbkWI`}aeQ!{mK9vb2LKU!9e&h$udm|ab! zoaiI&`ACk|kA$d>uoVhR_Ts4Ja_(w%L?AeXGF+}cJmE)W4}F^+9aHtS;%6$4+%{ck+oUFJPZNOz>ruHr~C8-v~S+8f2+Jb{K{j9BN^2M`8BzQ(>~!e zSx4$a8xk9)be8ibnQIguuXr_OO zFx!?RriwP(k;sH6-ip1jB#e`4jBaF#otZM?YN#%_6|PNVC@NceIC{94Ui&_?V$@Ad zK8qa<7oBjS(jx^{7mhpPf7r%A)#MvK6ElZi0h5b1x~>&mlFtapQl4rGF?*;M`$WtYmSX#B5r%u5K<=N*v;Lb2l9rr z_r5_4Wcj;Bd~zvPsTQxRG?XLL=&z<*4h4Y&)057sw6m~X>YRTjxOcZ(U=u9zE5NE9 zo!|y6WC%7t!!O8hNX~$L@%xb5ylxktToq$E-cJcCed(S`FD0Ji&p0a!MO5P98WNi1at-s!w0B6T@0Ci1tZ&3z`86jSHvl z6MJE^>_S?bj0YjgvqG6lvpi@g<=6<%)n&Yo`!POpJomor z9MH|?y=*ubprhTY9U%7MV)Y#8Du%sxuWeZpMuc(3Kw1=W9pcFQ7G--eW((X^u!zaW z)SP|G+Jx-l9SXjpN>GY08i+>`!=)p7K%Dq?u_a?JN^flYcQTN!LK65)1uZ4bxg9Th z5CIL8(bVR_(?f67Nz*27fCqmp6O*4-j(DHP8`}?|)G$nbV(ggob~=sctSc9%FTm)@ zWH1-x=8HPf9HU{4elS3?SQ_j~?jc!?r1w@RxoP>#Ma!{Ol$Tl^@>VY@S@>621=Pd6AJB92C#=Y@-7_ta zXjTvo3Us5W>|oZXIb4f;lOu2DK4e|UAS8b_e|&%lyc(hFmBusoe><2j2od>Ln#;p( z4>~_QyfogRcEfqm-*Gq}oL%bteCWXr;56@Qo2lExq_+R+z%27P+kpcMLJ#R78kx_r zwVvzRm3ghqBpIlwsQ6y}2$j6Y=6-ucLJ)~yia|+M4U4sRXUjFmL4Fs0ZzqSDV_!ek z)5x-HhhZ#g?e~4+$JWm0-Tlrs*gUX6jm~WeC20Sp$NtCCh#EM6o0pAGh=YaGWBPGF z`~KL@3&VFmU8o&QJOx4`G147hhq8@|MARZ)5jYy0y{Vm&%`5B?6+3U;WzgK;Vq48- z?SMzMJb%5|@ZEQt6xtuIXRmnOjmmaAEa|+c_mYd6qp~0fERIHt45rD`hm~`UQaj2? zf!51M3m(LU+0HE2fVSd#a!?0FzHxF`7h5MseG>gcI}vV#EF2a&PUedsZuC(I$5cn; zFNL+M_m9sN^mk^`kohCOO$dIff&mKUoA_P=V*6iFRw^Y8`_88G-;a`2Ab~;k$%&OE zX=@64{sz~(O9+z z(7?;x`~7;=+k90Ui@y6h4^BBkfzZ<|Gh$0Ch0^mG#ZPUY`nq}|C1P;6+^zgA-7Wp= zgJbogD({^YgZBM5F}7)wpt{U&iHRLAA(I|YbA1mKksW3>vbQE|PVH5G$9p>eh+Re| zZieU1UuM6NXTd8sHwaT@r)d-0*3kCYo)8?`zmXPXlmy1V#+>QJSEdZdX@G|=;WS_I*R$a^gw0j7XI%}^t(u>9cQ-6luubLbG_TryCEo53 zL8z7)%zm|5v-I3~6_e3HM~jOlGh|Xe%`h`|eGs!Rc>O&EkT|c+ux-EQ96~~849=z? zI3U`HI*W<8yxfYK6nfSL+z$>e3+@H&5A117jQ9r<&6;=N03u%R7w*WL_q$HdC4?L( zp!Pb-$!*=s9<(&+F6+?Z_-*Xe787iDN*aAsy>R=Ea<-#eHMj_4;#)(DfwOSQ1vg$x>PQbN)X6HSKX@c}^A; zyWmUdq|bfiC{r`H!q2C#8vLi*_rAM7H%QyG8bq`x+c*|c)vLcMC(OX+nJpa^zF;N( zt>YSjyeSKe%Uq5-+!BwA@ok%Z`s7{xKuJk8sM3cDrd+Y=iYTG&`?ci%=;FOTrj0oV z!23{p(Yjn-K{x43*>Nu_<+4!%S5gy+ne7J^G8wn`S(j<9g0}VDATMx z#}YmSA*}Q<%zkfQO?*_GH@d@++pi&rn@dli8Z>XfOw`S?A}&-=mn8NxYYOZrpZ45r zTZ1In{%$9Nz`H)AtAN2n;|DVaq4;dqHWFrJOaj)5E6kqNa3QT>rjc)+tMVHliC>h9 z>AxTiW9$PD22xSx3FusDA*YpDP&fhsuaV@?rU_PUtF619g`C&+rT5HE`f)QLpYc2(VShXl z=)aDnAnN8ydPF0Nj@+t33F8r~V>Bb?M&;AmU`Wg_xn9cr&zMjqilJH7f3Vh%yR}hw zP;mFUYX!owk5`+E6jl62MN!uxE1z5<*)Nv+WbJ0|<5tss-S#}JCRd+@La$Ppq~;2= z)<09YQ634(*oF$8HaIzYueHyg-tvlX**YQACaRK-f#JiTitFTh zubOnA-K&17nur7s#iujQ##AuXpdt30J@(zx0;Wd)ta}OFxZQW`Hcze&{iavl zu|mc7d+9(~Q!mUld1$Lej=tw=zHD_PqCdhdr6<8iOG{-3ge_5aH%-M-F@LZS^55+7mbeoN1VqA_PiS2Y}3B>gQ#RI-$5S+}_< zMilYu;ln>fkNKAqy|Xs2=WQ_8vtKy@hg769Sij#Umm!)flBfz{=eavoc&Oqlu`t57 z)uHUp_J?L_UI@iGa0WdFvsqb83rqUjiMe(HL2|4~trK#W7JG3;lJS7-=-`0$NHkB+;E1*$ z9;AqcH6t|bXL^$#pMWS9E-kMsRewleczP-1&cy@O+7A=u{v~#g<|` zx{hi1znP*9-Y%B38Hna022aSbV1q4kn!-ZQzKmv@uZyc#TpBHT1cyGa*p#ZVBR^DI zlmVWm=e5eQwF>Zl|0;Aak_NAYaqG4-r+z~KpBkvBdcC;n9{_lfITCI{+n(Q@#nzX3 z7;W>11Ig*bsuooA!y3d-X-S~b@B3=B;Oi3=6 z?aRJyuuDDQ=B@6Q6?+T1+X=c?!I8oz-_mp3!;w0Jv6Bq(E6IDLMBb-u(-m>3W%564 zZXwbbC%=8TfXx9{dwXLv4Wng%C>R6LotLZPIi!E{W54ex1_VVnc6U#UN>etcu0EMY zo~UKVlPNR*MS6!F(In7mbB2)(DN1-v$+c)iIp54f~&fPP5ue9UhOF`3dlOK5tvU19oN_Qv&ErQ|uiab{5mtd`#HH%n1n!WFM_LE* zyBegatwYb`iZwCX2^99^&)eU0HV$7_|H=(kK0o`lG&4*z(f(>AhWMiHcP3PBW9euN z1C*CnGQma{CLiEaZvQf*LJukWwPE;oekX|JVd8K&udK4^6&3cU5#| z-B~m7tQZVuc^*MO9DR6~mSoL$L16U#+3vlQ7~%j@a#ULqsQG$=XsoSCPQPjZ1?r82_B9xdTjp~CW_vXp?G}DC}XF-Xt>)O4mp)I98 zVbggrCPdh2zI7-ynbTzCMorB7qtK(m*2ZJVI-tI9|%o?axc^{4WMqC_mhS=W=bbncJSoXzL}pvqsw96|1@@hy`AH|X(#A1 zN_bCU3hKA1bW6~q(u7g=oo+TiAtJIwg6PT%i)8@Q4e*xU{Zwd#b&QT<00ZWo?N?IH`7Kk^$Pt8B9z4ePDjgFhGg~PtYYn$Z35w5=qs+o{YbX0CL zwNzalw>DTI8Eh+NL;o}+HAx9sq#}hoG>^(=eO)ocfpIN~C3+?@mtnV`qFhHLM(Z}w zArxRyBaHF0e7a&GOkaW36F2}1s#AnOlJumEx zhqrdhZSqqQKSUj*JtPn{#;O2ji3ANn{k;X+J<50ij|kIdn%@nm6+eNxhs#}W2Hmyp zul*njp~9o)?4N+e%d3N}zB2;cyOUC?qUtkjTaRr=q+lgRq~N&{>){ksEs=|RQYv@? z4YNGk)nWXLKuKSxHzABqR%<74ebScn;n-`(Ox8cw>Q^LVpH+))!ivhuBsRkGpwqD(~)f50y&n$mDW+k4f@(TMMl@% zjx!@^JQs%yd=AW$bG$Z#dg>Q5&n7lL8}NaY3RiD@K(>LCylz)u{(^DjRI&TyLCRqWXuceR5=vC}S+bmaDT+MZ}y|w!F-YR<*pSX2Qy-w_HDQ*?jFn#ciPj|2YV?*C)yQ zYN+va>o8<0OB)%v-bDqbm;`ntBCKZ^8?dqT;jnRS=*`QHNZ?1_B6mUSnFe9!8^8C& za4kl~h>|U%gL)I)Mjr}It-t-BiUi!h$xXWk9t7L|!KgfcmVOGfkb0mVdn9Ot&969L zfy)nL%(3RTi1}88%`mI!Wad_F&5*i)HIvQ|4Yn*o;)Gz;?ez>?q`e#O2PepC@HKz0Qb_(j)K+~JI_=4oViBBHJ=R#6jWJ~zp#^FpJ;V8tBpH8SzPD& z_Z)#wFMGM3E+PT4+hcv~7%!!PK_Pc7O93 z#qqC1m3Fu34J6OE{wqR*)x>I_)4k1KB+3sm?YF`fq8g2~@lL%cHq;ZAq+t$8Y`77m z@BiT`QDnOTWthjWPaxs6_&D1l{J*sOk@>URSs*TB#U}1CJPszUhAMTY+x8U zNF?xY1=wlqKJu~%U>Sq33<)@z2|CG4m(KB6qD;B%^t(}ee?aQSModVoLe~tP!fg67 zM>b<2g#1gts$v1F<>)(3#e&F>Z;5U(1iueP4W9R6+&26y8qNm_w3r7Ly+KO+=QICp zDLcxS%-JvhrbTWpijrVRs3|wo!)elO>F1s>q?h4Ci(2WQ@jEWs_%T? zuUftSk2~^(*c;qu5iQqpE=}coFj@HE| z?vZgtv+U3~RqR}en>^MtVKYH&*Yt#?bU1mw85DNj2C95s20Xt+QyB!V8p)LW%FS{P zNOf&lLj2aDf(ncq%|vh*9S3Y{kT8-?~_HkxlggG%A^pn<0I%`KS!#3nQL{a0`0>09&CDt<(8FU+ zsM$Ec^RxGhJX{61CWSH0KDtWN^brksCH=p8y3Ncn)w-{rj55w&O;=jx7b&J-7Y^;; zqO@ltSbY>JLK}3bfOJbDd0XDQ?FpWp4e4kWKp$mnfbcsFBknDAj^EwlUuLhj*_;nw z1P2_@g3T9tE{pToMKE~21IL}GG2obV0^HO(Xq1a#rP9;(70m6$IQI|{bOHmiBE^6d z`Rv-EY*}SUOgClCTr=7j%z%!_#1gG}f)&rJ&WmM@ERQ8M=8mTK*GZwfQfBZYRYm`M zl^SS6kr{pvU+E%b;+o&VMV2|?q8m1#dp8%wMD*$UVtOa6s`GOG88#YOyCi>5QY9qg ztj={QqQh=uIzx@g)cC_Hsgx6HrI$6A#u(b(G}@&R{SY&94p3dho;L^cyNTs4i9hH zR;D*$Lb>C4qy5q#XP?Nb_F8T*MP1!7aNUwq@&hC-FW2+c8XQ1E8zhpJ zv9Cu*#My5;vQpdxX*h-{2FVL7(745STNg-^%0#%1@!Kgs!Vd8S$T5`DiW>1)Ca0M+ z>!h;uJMqN(P&v9R%sotf?3v?Do-jWjHQK(-j5lu7Y6j0;#CtHw)&?*1e}?%3VF>@( zYr(*$O|Pnm{KHxtPANJZ@L2ad$n&c7I5+Tv&Ry*p$sB$jxeb+mGXDCb_MylJP*>*YtuFlsz3{Fh7s*;OueM8PFZvK?tCn))znPD5# zsdg|d;|I`U&zDp;+ZR=&T?IR)U#;>_fIA>heew@7?eYRQ9Kj=^sDLt@$DDN5cHDbw zhq*ght}$CHW{)HcWQ&CNqZPK&Yg67FcCO2Z9rC$XLJH#`c zO71lx6qPs8QItNUjNwn6vIJ&88#&+w{!yQYsSDQyqL5MNR7~OLA2xo53lJ#0}|2nQP5%*R=d#0-5 z?+7dLtsYFbIFUFbYx4aqrz!_x5!;@hreTEV4t+A+xJfD(Yo4$Y@;nAs7qXh3H46vN zw)1#B!%b1?lmVW@mfe*y?-`lMcaymDrT+PYK&~T$NW4QM6+}r{d0>q-tLuGpIlfP0 z62xQwS}gX?j=aYZ)Ob^GDGIS@V2Jn}kw3Nj#~+KOoG2qrz?Dp8?gOWo#?`mKZf)ni z2JHR3pa>7M;Q0~x1~DKs(kmErI`F^8b+)@N%9$=M0L$#2=YplZghfTjtOGsZLT&$j z<7eZ9pxf3Ty_{7n(abN#E|7e}mYuj%rWPG99+NE(8C)L)Q_i+|uMv<8n zZOLo1%u!_xzgf_NDS|Dd80ywl4pV0uff>Gy;JhsI3|}hR{+x#xVrZ4Tp9!AIsB6b9`N%$GLh}@G zN;`o7z8K(5J=DUch0#2icC-3}s7v^fX?ic}gtdNT(nVIKPE6(`I{gY6gpOov!4t$I z<~;#Y;&c1?WEsjsNI;VpoZqbwqCbaZILMrcq&9SxFLL(Zk@ARowi)vb=Gja z4y*5B$o}batJ6_=d|{bKHcCP?sf@b${$7Sb$7RF0s;xMMKaALkgqom9_6BwvSJeM2 z;mpIK{MtDFSlYANm)i2OEMv9j4d;o2-)8v!XRWT`;vVrvNK5b zEn)22m>FY?c^~!vIoEZcbMEIn_wxN5{T)LdmLWC~UZ0_wNly-)Uw?n;LI%6(M~7t| ze5LPMzV06+j6GLRKYCC@>rc-23!c~Tvp5woSt8HwE^K=~_(nzI(Pa5Ql3^>^y7tA_ zO@?5stvQvPwH3}O@`+pfO?|LtcJg?CJ96- zA4!(n4J~JhP>(6rR8|Klq2tG&-735B>NY^uf1|(+2B9$hkM^fF^hh=eKmNoDa!fvC zS6GXaQ*ZLGh-DQw7`qT0tjl@}#?D`u&vHf%s- zjhJKs0?%HgZ=gzJ{YVd_UOq}q+Tv+^4oE>~u(P+aGBR&ll{B5B0GiWfii&{gY1_gb zY%%dnT$e-g8)UQSJO0ZE+GYiMaR^PzHi|_d;`WZU0hBZUb4~f#q^0rldq== zQBsOp8|s#)2rP{z$xOOY5T{|&^N_qFzMY)W?ZqN+$)$PQP?XY~mUKXWfK*}prW}NI zp^i8GETa*y#~uT8JwE|Y2z0Z-(7%mdN?1qC5b1{JB>cf{wY zof?IaFvGIR8N{kK*iG3!6rlB%^jh9ju4C-=Jm471r(aO?>{pi(Te;-3D{cI4?O6Ru z?yHB9pT~QSj$7k1_<3vWeR^X}IPjvT+4eTgI#PVDQ3kwgQr{kjx)wHHbz2O)hle6Z zUq$JCIaOv*z)pRxi_TIqXd1?x>%F^C8~&XadT3hk(#@kM0xcB@W_{M_0?;3JZG0Ep zlQ0I;cO~_E1obZj&%=%mKyd=Vb)+6DQCaZnYR&5&*=7E6VBnY#D%eWei^YI+U0MzX z#)O1xn(RT2!if3<#0dc+POYYv5r3N^(g1$=ZW)=LYl*w#IpT%?ED2{~C_5EL0gy15 z-7s=vl7FQ7Z55_I(PL?TV}%D4e&0HyXPkq)<{F@R>&GYX5N~cO7&W-vK7yMht-6>W z>~#x(-ZB+ZArR2U=CCrx2VJ{|$ecEHrA7 zs1c2UreRs>6QiPOp{P`qn<{U;VekwTu#&j-Ur?KRF!=h(b-W$7?#VLoux+2ym2D!} z`Xf)GHf{jv7~Y^>BnvXu!4VLLy{Yt%88G0XAL;YD67%2mr?zX#>R02pu=WdKD|eR? zx43Yn_fEuKoY5mKWFE>EMd_E_E7C=#BEta@-en;AE?gY*P4l>99<;dD%Y4#>tw;x+ zFM-l8nsCeIQdhcc<;bNR`Mo1ky-^G({pQycOMrFcVvbEGN+GUZz=fEyHyZ)TR17__ zRb-(;Y|>PRX814HGQ}5UE?j#xC~>kFF%U={FzGl;m7jnoR6e%4@$0> zP3pb9>?YaV$;zR~W7<4+G3x`cpjUjv7IEbcB&bo84G zZm*ek0iW(Yfc>VtlcEHTtbiwfdmpqB8lj&z3(SB%V11@GzA95dvL}|eJ~=|G!<)z6 z)bmx}Ec>*`+U02Or)jn3rE^umTchIZG>XdV0Xbiw@I%F5}=bSLY$Q=h3>;rm3f zAaqJ%FU((lCY`#De`!9hg?1l}%J6TxYEdDNul29w4;f8%Mc%eI5e!>VERJd2jku#IB#?hvfAgR9hOp|&Kc|X^cWx({%-EwTtRQB&G8Af z+69h`Rg6r7<2-GoBC7s7U$x&x6@6;fDRSx&;JoUJ9^_p1b?vHjP0(NBFfJ&%XhqdNqgiSwK&qSicP;af#2^8Vkp0z@);R(s5CB$wUcbdd1qF6~d7JLgde3cM z7XaNd+e>i7CCv+7&=GqOAHocU5}Ezx3d`KKnci>Xa9p)$YEph+LQ z%OGliCK&gglBZ^s2;|ePQ|s3GhzOtg)F{=TbK>CLmUc%g?^mQRl9=HV>Ue>w%-ZO* zPXFNxRDv?=^7S6g!XY8j%pzfk5;+ciXDM&h*)n!IvdJuANF(@cgkqN`rRQ8SC>;#v z@hEf*MppIjP^tBvlr1eGcZ&T_cQ6ShCwYQ*@H>X+)YIw!R3UAGWPwg8A(e_U(M)+6 zZEE8Yqctm^mQh*^;@sN&RT>#m??n!1FZ^WI9jF4RmAtU2NRSz^_qNb<*q%3(MSmv> z?a(sAvvm;sUxbYLYBWj@tfX#v>?4VRmrURX!xr8CTS9OBwz>51vr}j ztcH@j8me!AFAJPyalZZL?g-ug`F_+QLP&}b@SvXfr~8HFafJGI^?R_u5#-U*(09I|yL>5aLPU$x4S4UD z&-MoP#2oTPv~Ji^tK`Mxc+?;xLsh_UvnvHuTE4onp3;#1v!OLQU{yNL9h+}f^%s`& z-#N=;(CENt2;Jb29QR7k^hjO0Y%?#0sL9i4z0Df&wvI@ksx$x>h;#UE% zTYlbdB+l>W^Pyg?a`WmB3Y7gLD)}N}r`}IHHiKKQE>e1Xd z<$)8zAKb#orb~Qi7GYAg;c{!!U2mfm0v&X~6PalO=|h-G=#b^o8j_GFu#lp(*}dtd zJsuPAKo2m5xU^%Oyos+ev%L-zo|kOeULG2WPhB{VXE)lc@!*jg^oKV<^4Ls6(+^^8 zA;W`)w%f=@;id32^t6g(+#MAaCi*K(wk)47=@bC+E|DXYeJHRZL|bdaIJs*Sr^tGF zQw~?K;TrL<_OGp=)+H?lVgw9ppy7O2ivLe6THjTTm%ssU+O@@%zQ1E@D+mIZ5>fT6E+y(@iM0bNt=&9L1W~oSxUgL z5{B6O`#s5m8jbOu-RL-U2}EMg+H|-0k&^3{bv}l+TqV|992{oKXr#T5IJ6 z7w;Cg+@eR6H{x6HK+$+o&+ZUA;GFif&y2ioWZPqV&aZfp;WF7CLi(}R<5^q@8gd5M zE+kqxs76(g`X(_>CQcjLI)=M(AM4L99cgfyBi8G}E6(2kN9u+|n{gRP!0SB|>`Kpm zjxXdfuyt>2GUy9s?_FefPVN03Ye_&A`Z7JH!g^o6tW`8*{ej_LJ_l?QT_X1M5{Ma& z%U8A=hV(VIC;YQLQd-*fzwjj`y>^f-V*@V6jliLaCnxFaT!8^OAtElt*8V-6L)GOu z+y)16j?VDjBwc8KVMIC%_w%$NV-9N!L-729Jd;U@s&B}677f&3p4vx zY{g0D@AN9V5FrBOGn|(<6aRc2KnV3QY}IJN%zyzzL)w!HdedK^+vl0O6fIDSIwrfG zJr4=XSl7-PxqolZwiGgEt^2po=kH_5B)Dq8l!pPzTdzsCq$Nasm<0D!_)g`zs>H6u z{N}8mqig|~V(+A&M2!2|U&CJVPybfb4=m;bP475y*utHv%hW3qWC-`<5+GaSV2tdK zwqnxj9^UE`&L$asUWYDQ7`w$5`WJcXXfges*nQqF&D)7j7cv`&zO)ouCNT1n!tkBuNxiRHOuE{@G?gb*+pwG+o=?^{EJ!0+s6Zaue lVM2${0n~pft^NMXc?wx2_jbV~_<{>?!{E-f0)5+n{{yN0FM0p~ literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/数字指标.png b/JinYuan.ControlLib/Resources/数字指标.png new file mode 100644 index 0000000000000000000000000000000000000000..709505671f8a65bf2a6bec5141bef1db48f9fa34 GIT binary patch literal 5490 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/星球地球科技蓝色转动动图压缩86.9.gif b/JinYuan.ControlLib/Resources/星球地球科技蓝色转动动图压缩86.9.gif new file mode 100644 index 0000000000000000000000000000000000000000..f913149494ac9500f6433f19d3c46d7aac1d2958 GIT binary patch literal 88945 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 z z7#z7~X~_E-Ju{L!ih4C)aF|_MkNMX8tnY??`9LVX%S!sdELB)k1gn=6NyRcvCek$8^ac%z+L zUR$2Pj?5fIr z{%|HGs+Q2KroLac43up%SS4j|!NpjQ!diVSMH{GP1PsQIs{$AFOyAjp;P`BhYrdYJ zjThp{#{k&6bcjmJbjGG9;L}jK5{x#>XdUXui<@<99QCVz^azUjGVASbAD))X)%V;s zZecKA`B`zO=`=Wi3#T0lClY&wMe{WBuDgL9$o*r4eonS+*s#G;N7dS;@ zyLMkk|Ft%)M743Zd1k|b2i3%JDRy*@!1v)`#$WNRVnJ#X+0EdEPpUPiE&YteTMh=r zT;xi>k&=j0)81V{ThobLnF{^vx9xvKf1w`Ln5Pl#&AN~ETP|kT`z9rD?u_R9n1;Q%S$f&V7B`K) zN{Mti`MgDG<_)h$!*baN6^V?L>UQig_-*QoN>Ea`z$q!4HJl{Zl8P{dtg*RRBj5Gi zE=TQ*Ku=Uo+(#i*B!;?Nr-p;TR;npN zCj3%ZOM2=93pD|YW@1?wazFt`xWG!g8kH0?7xdO5Dk|0!W(W4u0vhrc3{G8 zHGlEoQyGt3%{H!1XV(>{ooCya*4NgK!Si9M(79~m9zwQKzA@#PG09JaIh9UM>ahIN zN`Kr%BQJnd1X_rP>K>_bsPQEQP#KcuzrR1g0!y>LDbBIn%#LWQ+9mD zAti3nGC~bncB#`(<^zX!^>P+n)88IhXi+=YFe&{UTz3AE9xq%hf!+OrLqbCX0?oC< zJm4T)+{C1~7*Es4z+gDn^b9AT{9U z?jvaE{&Xa6>H?Vf-0PGQw}I*zC%>yZnP@B&ar|2*mKuGd8}|F6NHA3)MR))fm?kUw zjG3w=&W&)H$^)vf6ouM6%k5-2DKN$Wkuq7i$f6{NhY709sXlRDfwkMZRYtz-A8D6p zD!p>zP$@hbGD@@v)EYEXyhj#+HIpWi!9cdMn8x-N@^EGUSmYD6s<8@0dfbz^xlv7X z-5q4+QNP&vwFYt79BvSo0geuMXFbcNHyV}JRP%^G85j~m^1WEe+o69MGu-@nBcdW{ z0VV^8ZR0IE;eDuqr#=D9u#+~Dc_2~L`_OerKl(S41;P93c(FtbRuhI0{XCmX`k>$6 zknMt5@}%;;-UIRWz&5f25GdU7^ZZNU7qrU0<HOHih$nO89tyw7l4Bz4ih*ac%1y1Nr9eH4X3;;=PPbuWU%jm|LGU0jyQT# zF&dvTQY7NwVYEm{5`)TthBgHhQqZDn?6G%aCVm_Ax+V|i#CqB-Mc9IlX%F6lh+R! ziVV?whH)~Ax@yPQ1KsQeBtVvX+Ea9!=yrSPzmjzJYebm>bg1-R1*aDbonDWUg+7 zR<3OV()+Tc)NX$pX-6R6x#-Z14uR>qAYt3f3c;lR&>dQB8&gVt9CGHFxJ<-QY*xqx z$iDw}UN^u9xIRO>zltdvf(Lh#Wz)4g?SpXF-;Rec4zSER>RbkYcoTjdbDm&Q=xu6I z3)OMypno{45ZCYhy)ngp(3LO&$!g#$bL9xg&(FH#nq~YcLT?@VgQ>7oyjuv=KK;*=jB2zJ6JE8@HC%&-a#)(*Y;d6$QV=n z4)c=zSwihJk)qb6pZKMOX>OkjMQ%+l^CbW?DX>bIG)77G@w6=YqYWi#h43UI0bHtj zX`qS~Br4aBnIRF1)g{>#WI*^c6=SBbPVG`mf^{x6)di7Qg<)Dfye{lSI{niM1Xv^w zlLHZyO{7jm5d21tBBYwwY1a-%PJhUuQLW%nPX>AZph)SBwdA_E#P|ezo0nJ{H1{0E zt?kB!W@SVnl47o;e;EW^O<9=1^(hShVGPcGgOv)J=Y@;#Nug4n-IGLNL{C&<$psx( z(%m>ky+pZ{=5>nE=~XWUoYMg~@)*|cmaucir8L!`VHJG46LXHKqXh)>lsAr43RrP) zd=RTt3$~XB-bI2!Z-TU=Yn(x+-c1Cce`35ene~63U@QLj;<#a*|s1!j`Xq z=|oPZPN$T+(xYcZdtjQ`Q~tbZ&`NEKKr3b8l85ad<>jkD0OKvw6NHl&1QietF)K$$ z@khj)@cV=j0c7IhGqLT1;qv}D!4{Vk__AhY*+Y5dRn}W23V4*ZLh^=r$!=d7I9oag zhXz9g-TFQi7{Wo%&a?s-7YFjoS=}e-+=la^t(Ji9z#`nFjZF&osm+6fR!<&}3*yT< z_F2&D>kITR(CqJD-7>FIiRAoN#T=EB4*=Z}quFf!6@7(z$Y)ZB2n9FFymB7 zqpUu0ECJJB+YM&Q2vW2KYbqKg1ITz)jLT(PIa5T3>krc6v^HDt`OLB_u!)+=YDeR5 zAT85Yy;g$@WZPqmUaYBCgSTd~_Jyph5%d9kxEJ&W|S~ z@Z)ioqt+6xiR6>pZO`dE8&`lBr07|8Q9jh~AO2EPB*mSUAK;G~2Ba?ptG^C;8i4*l z0DpjK7T1M9bV)0%p!2=wJRfTGL0zaN_n!*@%y4{)u)8c_D2Ky1r{k{z#utT=Y>3j7 z=4ok8$6<68E@km9&f$>uQl)_3gP?yv}qPV4G&K~H4D~JR?(+6F0 zpI%Qhv?aE1JqTnQsomVKn{tnR(39L5Ew&r0 zMTtssb{?WwvaC5H3@1)NIQ@`1|UtO}}$@>f(^va)LtQlHY$sDnDzb$Fb{` zeklMnb$=)nZI5#3RwqReZNqwnQRp@BslFXLd46}yqG8Ss90elx;*7)7^)^M*dgTfy zOa!>HPbsNXHtG^51ge$#7$dokb1Vor!b=@1Re^ZWUVhG3`e{@C8=H_($`(q07EE zd~r`K&*cg0yvPZ0XueNQ?Pu#Zpb+}p$&KX(>go5>MI^jgFi9(!PcXcaP*_2BRq9BwB@Ss6@im?K@QYDDP1`tVc}OW z%;C*xYTb4aTQH`TA>zY^h{&&cbA0$BSSjgY#NoTZ3@8z(u+t$T(1(aD6AGZO^k?L3 z86v_-QnVg3|d+UI0suuh<-_UbV<)g8{0mvl%6xn35F#ev`0CE>$p;lJrY22A}on zaS-!jxFl%FE^^8ghOCQ>ueLIIy#%S`9CuOy_a3?c7MczmF3p?23@wc~%&5L0%fOhN z+$TE3TvQ>W%H`|@X%Mk`^9pNTNnnZ!n||=;okUt4N}$HK_%&TJt{eO#OEmGEBWp@h zuiOgsWyb=>uqsL)og#NtjY??Jx`GScIMYzoQh2kg4A$J$xGjlJB0da&g9<3PU#Wok z+J(;~Z_No^2haQU;S0|(O%aT}1>zsxQ0-t4xcHA3jhKjVJG$1VLi{s2OZha|KwQ`o zTk-XD>Fm&iY_u{mfyvwNj=sE4e3A)lAZB`uo>mk)?D-c{XHKjl)y9n5#%P z3eGA?T^orT*PwX2MdtAQyl3Nlhowoasch^L^U%6vf|Da9 zpyrhLQ=R)-p!P}P$L@1ZhS!p_`_jqW0qxU_)x4{j6Ms^$@4Ib=hw`fJr8xShKcZTaZ>LRPC%gFF!?qIUiCHka<_wpi5w8NLM>p96VmUJ zEp=mjU@6#S9+v&?W5`*jh4*KE{M#dZVSDfP-46S|25fHtTFg7QgfC=0_4fZ7DbD6e z?nw;yProbG&oL?!C(I)iGGNnuva&)7%PT74OKd*+R5mo`dl5*()bMyWb@wC!fq=a5 z4{jM9^q#$`&@=xyrLmLxA?(EF!B}RGv2o(+thLp`!NeV?ExWz_E4ZWnJZdkBEBsu3 z5D546{r8_gGd~d7TEb<<3|ej}@kj6nwToeTag8kr!rki}OE=b9lMH*AwFqO^~uI`-_u!f^elC<#wGl{>MKf}}pXP(n~^?Ia}ztLS{ zm$z91+KZ|nPHC}rk3ZXI!{istdMv%VwvGoQJl9I3_U_I}tFj-qhy0#)F33to^7Bi& z-Pbo;zO)26;hSN@_I^b(^yqywJ_u`!@D&)lG|lBhaN-~6Yj|nSOEdu6xDll91i?$L z7C1kpq30l8pySJYM9{D@*0#}d$q!*yXg)AQ8t2q8Sw(L2Hvlt5|yQ_D%Iy1d&Y!Cpd24*x=Q(SZR=vY zZT3UhI7Q(>g}~kdMbu$gk05Z%y|Gbc12yyxa{;^) zV${cptL=h}RShQF7Q#=AClv)AJtrNJ{a5=anTWcgO5b0D(bBK>f7y3N#pUcHJa-eR z_4f#Q(hvN3yFT~Fl~--xhsCpF>)hsyH0X`zlsD^^Yd>l0vg;g- z1qYiriP#e)Qq0((S7Z+EWp+uVHvJ7MXk52@h>2i;$8Nzfl4A)I>xjH9ytpD(L=^fc z5HuOYRaajIZNfJ^4{hDoJh=KsG&0MN#KKi+l=J6&&8T6|c}FnEj&l<@Ny5J8Hp(Ol zAu9d&*vK+4EC{I7>Mkp&sJOTd)Ty0$T>ScPXhcHjrb6tDy7ORShsH4xAWGXRM7bA;_H`( zqJ^b_)UzKgB$tmF&4r;8UrCw_Ywz%S0p)1?@Sk+HIz5HPn&^Ucqe+3*Gzie3?}7M_ z5g>v|k!2uiFvV}F_rK)=0|H9^43CrWmPJ7kQ;q@b*hjE3kz7d8v=OLTN8B7nVgWdC zk&L?(DBO3$edO#>{o5nrep;<`(@Ig_Dk*UCti}?-cQfL2VuQFx%Mvhlj!_An6!W!} z!V>1?@*BD*SOBfyvD670Gi^d}Cy!KO++aL`F*0yCOpH1?0e0sCJo1$Om-1R+N#dkd*aU_#&DH1 zlHJutF7j#3XZG|iY-$BPYdNhq8_e$BAi5ZBNxgJ211_y{jpLxCh%Fzq`Wf-rADwKxmS9YRR=z-8m{yrG=&6A=g%sxwjp`Vbj z+fKQ>TX~waSxZb4kz_VxxH97@%3w~?rCu1~skOybDbMIvemwRj7(rJU>&muflPfb% zw$jMCi>l_mseKi9hgU^mlq&L3zm83<(H9JtgaEH;msP*mQs%76X zG&9^x>)$JD^hnC7`~ITPGM2>}ayQP1!*Vf%#HEk;A!7FFoR(_I?6#*TZMr<2ez*;k zG(Vxz9(PD@f!#`X7i!fWlqse(X0fxZAKqMvo2x7+TT!x?)FFLsYyX-EZ)f5QO?!_^ zn}&eKtTwa5TNm6p;4aF+m#KG6-qBUU%Es#UP*Hq2ZrRnHS>`T>UL9h)&j{`N58*997=kB4^0I{Ns64w4^%XCP>w|@j zr#l4NeWbTs5Uhp5W;I-$4%0;Kvvi+N&Q2o_+alk zVD<^7gzz<8gF>S5{4@bEi9}9NwqdDB)(+7T_N)n+qS?{F(ozRVlBlvO#oe)xqd2Cl zrmd>Y1noJPA(3zTaMp7?ZDOH5Xi&h z5ikYT7J-ba!RzkJ$`(rF($BchFv`NzBu?;(!+w=4#T;&ds3sv%MwD|F3`t?qW-b+x z;gCht{M$$Es?=8=!khguqAwrn)cuzN&$d+WHdQ|U4k(IQKG&T{poobCSpm)I3t&v2 zr;@Ov+^7(itusJZ%NvciaTc~duvcrly0n_173ntCs;J#D*K^YMwR|5u1`jwxC*D@G?A2m%sVsZ*-QJf^f98n(h7H(! zQxr7M1P8o@VUwVDtOAWb!=}FsG1{XC5{c9TJOhJ~9K;Pmh|@6#4KQS-p#biwM&#j0 z$!kZ^?`0p4W3ZD86&5hrM4M>N#zW0%x|;>9ydWE9Kn*+nE5(1Z)f>b)n$qxU74#YFyQ{( zFO~AY`oiBTJof3YDx>G=;Xvik)r>Wr!QG^_%qj#*x$wWIE~~rBwGWDVJzhbf&U%Sg zV9&7cZ>r6|SZ3@Ba9~}{n+kqJGq*K$BSf^gx#ZNio=_mxe_Zbtw~!-q8BOTwB?wHM z4_lqC-!|B5f)x;(LlhphT>`-Qxn=sE`*=TzvM3??r=4j#yNV`r_lF_S#HnP2;Ct=k zbgxQ!L%)3^e#x_@5yg2-5&_CtNQ$x&ui7NZV{q4#+D5*E-m~MF>`!+4(ouz$s@cx!;K?;+A>$LGJ`n=JgVJ&JKGyCSA6}9R+{mFd!kERDw z?zzDdhTaT6oP_RxOd7|V?y=S5iu-=54}S_*-%Xi-n=7P$o~2k9OrCy^{S|m@NpdXx zMdEUD@phANE@XG-8u_>7aHZjki2JM}EuYL(GH47FA5#hpf3FdBHEBhe(<972NkP3yRB7>;WAqC897eF{w`dVP zW7STr1Yhq2aSjYhjY;V-z*~uw(P-c*W~T&)&!WtDrsRBJSYSY0B8#0JRl_TwNN~O? zfxniDpbCctPml#BO3#%179K;Nx7iBsm5Q7Wfyr0N3{_>RlzK~ArcU})Ct);@41s!# zAw8L@8b(iEoLsg57LzPpWsg^JND8SonXS&voRuZ2Q`@23C8yV%p`=aD{c#z(Q}vXE zB$-~H)0J?t>Oj1FDp8yri*r)|g{fm|j`e&h`x4#~K}f5|CHtd8lN#OSconi|e~JfY zRTBE>{oz!ty)34VGFxA+S5>W%REZL9_f+#XJR>@|4GXVf>;dwx z7IVY=5Fj2}>x9CTgpH}$sS-uzUU#h@m#ta%^Vq89(AIFkXTt(_t8>^&sl;8K{QxM25~u3TpM4b7&AGdG$thhg@+zt+)%{9|D6MCF%e(qX19*QuF4Xh@KDtiigt-==hEg?Nn{Zuk1;`zG-F zeMWQUQsOz`w=baIfByc4-baAqVI%F4c^qv5D5H`A{bl~j+*H_a4Mu?!$=%v$3q~To zfLTq5ryQse-KTiAsV>lurC>mG?Kw2nC;%grFI}S-sOem>46D0lnJeh*>d^g=5~L%w zL@EK-(ax0hrAh_%Lfl8GwZyds;Skw1?bfS}md|wARxp9gIWQJWI{q}tl)a_c-3-_( zRm>6HS}^=+zUdA+nN4?;iy8>4qGan17?Rg5g~DT)#0i2AwdjXaVMvvo&-OHN{cX60FZW0h{RIr9el=Wle5~)^SM?>notpp)9=yMZyi_HUf&JcT zIusn>8v*(F0Y{64HZUAvdO?FvmMconKrhiydF9SLzGwz%sBnFIVPPOV*YJ^Tzjr0E zKUOUKR0v_@#7gva=W9_I<@{s@Vr9@rl=!qudJ^s~b9#})PcBZeW;}{KMM=2!B?RKK z&39(b$|?k8$=decj?%GKiQa@h}(_gEksdFxZHc`k49fVI)-F{xsx_&Q` zS&9z7-@4%NpnZ@himf%OFiMns`;t0I;A3SH+XtM>R3xRntO$1Zw$7{d&Okt{G`^#+ ztTo}RC@WzMQGv>UH5aYv?4CBRy*Gq& z@YVNatw`mMPD++>II~T9CLA^jSanaESkB*5Xb9gY$+qlZ%sjZ#Gh?B6xsX;pb}USh zSXXRJ{a-d!9-_^no$Y?_9GJlgT>-+yTI#ghNsscGGS6) z`J9W|*P{HF3=g2~gs$7=NHp^@7m=2|SD4_)kNZo5H!)wKqA!OReBGY2J@M{;6hB^f z>Z%KLQ6yyhRn5c%Y-ul``3i&;WO?&GY=orw*YDtM_8|;elJ>uzwCMZ|xNuDrf*$GE z6{5gGGmO!y3C`zVPjOa_GKJ7$W5UqEp^oy^1+a9H zpDwi*g9!Ajy!GCcSOmkYibG5FAV6QYROi=J#Zfoo=!qBm=c;Uzvr zNTT$^HNV-|pm*mH&L&0}e?j;e$dst6!s2v77}2afM}@~4C757;s4xV2X4id~$Wd0L_ z-Kpos>N}~Rl}_mbeMGj6Nvfe@jwvs-W&4a&cxDxlOr*O?Qks16!C!XSRsa&@r#z)& zxugjd#MBnyrMb7Ln&vIPBpQHD4~m_X4rCMqM%_NX`J==gq14U zTxOaqqoCi98q*gVCf{%TVTR!$b)!{|i;hFuL8T=7;I}Ccu&mMrvp#1|u7bX*bzETo zBXVPHvJhR{d_Z>#5YRR$OmImdq8x~WDobCEyPaTJ9R`kGO|&wnkDmJzI!47zZl-`d zs%$xZQLH|hQNZ&i6alS}T%%|8D9xDUdMH|=z;Jo5_XbRhR;Ylfts?NNUQ8xDEEPRN zrerc-Em?jf`$}$OcdR{i>X(Wt-Um`YBT)VNXkJAQZDYPTic|F?wz%toQMBVHEa|hn zu9H6vr6$fs_d09MNwe)2tfUXJ^j{hnNU8^Elf(wA$*EK?ulLbyH|gzW5kvl1nxgP; zP6>%L2e)OIb6*!&yWqlQj#W#4&IwukJLK%$Wnp~#QD<2v-K^f9#fGRy$2!Qey{WB+ z*L9{m;foS#_R@&<}m zdf-0pFmkQ?^J=}f7A1^bC&*xMyHfePAkg*1myl=q1y?-M{(ne%Vsv1G3cq2l_Nu=nBmp-PRB|0cI{BxUSTGEbPX01OolXNUqel(2&%j}0 z$0W-G)Ial7qh4b^Fziv|N1k($Ob4#MV#Q?5lE6XegvR2^Z_dED#wb8Ix?2 zn46bi&j`r)niZE{Q30&3u}{jjV=Yn2u54?o=>#Tp_XNi`vRO9^6q|Qe^+MkAbHiAz zSw`rsRG^{Zy1L-jH`Wt@cw2e6o`9ug_xRoG^{wig>z&>Fi3+@+rf)=JT0ic<_ooO- zVbz1>UjXojC8f9dIJO{UeC5kxnu#ssl9GkoMBigZ$`cqW9#*o zINUzO%{%2e^<-I@v!*iG8`TDmkDyVD#oBdZy`wj`cieM?ZuhXgKO-9~YFL5y==i;5 zjVFzU{7|U97ELlWXk?!QcoTCD5V*FqEQlpqtm`?qs!|V8TZA_7eqN#YWIG0Z{h{OG zz~X~{!`P;9Q9jAx=D5s|eU9?OtJ5`O%vt$0jg93e>P%KhpWuo&*IC!foh()JtRww4 zr|XNNvdJsdNsVP+yx^Y`&zn8{+9){%4(`V|BSWxj&0WR;{~-Y$l;|(m$f3YaXIG;D zy}k}|Q7b`bQXlkgP72>?0xeuW{Nbb#KXbRvy$I|d6FXt`P$47XgH@FnF)RjV6z=v~ z6Pa$gjuwr3NM`ZG6*wdl?<>wKh#QB<;pNo7s;u%u( zL=>4je@Ak%*+v{Jd{pI0n4>sh{yC36apSm{Gk;RMl>C$V*5ZYAu9eY6Kcx=#;d`v( zLfChAb2rV4WX>ff)j=dPyLQ1GOZySkc78auXs!*fiT3gxzn8i4HO!5?r*(wch?)HW zx_U49KyXav5{){MIfo;OPlGrx$~4c%B}i=zVf94f1Yx9Ho7`ib~19+0Ste zh`6fVAmu)1cW3KqYk#TFxNf2pVy$m|cj(OwuQ2txg2 z1R4?@UiyO+My^%_&$%hupS8%36Km`+tRXhA$0k?6F!a}BGJ~|e-hg*?k22BJHGt0(sgaYbPTlT+=B$>kAGCk1~trR{ptFcZ)nU78;O;!R`wrhFkt`y@ciMDCo4|nNPuN`Qs!Ha3tKlA?c)_*{QKIaH zcWpEz8TBib3Wic@(INA?T}Dlyv?PNWCqON%;`MKNQEmBCE|Q%JX+xr#ccglO86%T^ zmXum>@_db&cs20GM>F3`|4W zfL9)~z>ekLKKYy8H6I)2@XL%zp9b5uYqhQ(qyBvj$$F!0dGd#6gsmJ*EVpnaWF;k` z-hVh=Pyf+}3Ux?y@OCBMhwp{YS07{eE|lK?H_ZXbz3`xCQ&bPb&-NO+7N&YDu^ib0 zho6er5K8qG4Y!{S)LCbu!RTz;p6Dt`uIFc0QM1q25BMnVr@I34&yf=}=Hnid~wmtKSq!4*tXNds8`+S{_f= zTp;oYN;LAD=<|wH3rTY{&L=@r1W}98&^JF;KWSqfdNKab_NRwR^oy>d5kl0UX(d%sED@(pf}194&q9-d3nf%VN6y1(+}z zj=m-ao2paZA{2RmmAl|CI`D%5<_pm*8^|jhlSTKKh+5V6c@k&dwd+Ib$1-jht%e8eiR=5z&F#pZ7aAn?L z`qcqb(*fFJCrv=f8+4d?qje_!R{_Ke3dQp>t_^_BV zbL%pOzq{vTKo<1TuvGQNioosq)dVqyxxrB=_RB5n{5nWP-!j*Ov z`(LpkHImwDX#$>kS=+kyzG*c0ymmsAe4al(*3!Jzg*D)&$yJ8yh-p$n6A0GP znYCg$hV-6*&NH%auEPZu$mQys?MJ<}^VE~M2!l_JyB~T!#0Z}(Nyn5tb`TReQLNU{ zu(`J#8R!$#8bv7NPpZF&4b%5V)jezLuE;i{SY`A*@3I}uep+&>5qsHJJlb{NH+*36 z+M@*Lbu5I?2|f2Z9tcP6M@x}D4tbt@_oA_uoA(6oIB3kN!QbhXbRFmFUV5XiL<;#F z+iUppg+w+edS24@vu5u$>q_zmwI9U${;+ek@4OvcsJFZA2OIbu3{ZZsznQ`6dUv1y zis1HW^yMpw^aNpu|K>K_MBm8%S2Ww#M^v!D<2iV@_ier9AVBTgHNpVO`Q+z;FHZ*^ zV4!k|@ZZ#q&yl~YT`Y)(p^&7h&Hp5Tkj%)9i8C9CZz#TEwju+Kg9rU%q1dn&4MFyj zOo^5AE}ZB`@Dh~0RRYDq6i~+S2%W=!vluA_gJqEQ)4FiF@4P~pppc~`#1OWX^#8I& zqvvQe@#;5H2tF1Wpk|8O7NJ{w2`$DJa}kFJtFvQ&W`G6~LsCAnO);82()O6rO$dn? zfy%p-(LYCRl`^Y!DFgD~q-fugVJ%LnVxQ^d&@e@?mjp~%ow+lF6#*_& zyAvFF!67<2)Hy=PhEMW$v#6C~$tk;=FhjyfPT{UTcfF=9Hg`PsW+(*@kDCbM)~&W? z3bw0Al?bz!?5!lNZr1`Z48&70?GkPS$gm3IV&5(0weD^TxNqo*-+nbcLdli>I31P( zBS@QZB;zra#mgD`BqozSmNSYHNH`;|WOj#FXq)0IMP#QKqPrt$y`C$NC9an7Jyi)< z)2UrktW}AYRBOytYouj!);c`ZFbCmkO~`5prazH46(cJ4`K-5-uGHa#F%e@?@^^uP z96V@7J}=v3_WB^puNl=CwvhjSgq`JAoBy`$Nk|A@+}+)+(Bf{z-Q7#^0tFJ>-5r9v zODVt5dId|-H&x`v9Jnx<{)_1No=lmFS`W!Y!snuFxOfHu5`7|cQ z*V^pUtgyfxo2`*>>^h3p5kTH%?f<*P{jVU)|3hKi@Hcs^MGV z%0I|z#7v6>Anb2i>YS&yh|Hsjn&w26vuQT=LHn2LFdO(n9vD79*v zS?*X>5k}8*h7?LS2XX*XL65C5O#Cq&MkFU4{br_dFIHU-^v>q8u1tE6OQ+p_p;|19 zc0sGpyJIOS$%-)>f3GUFf;Q==rHZQ|ol@NzrhFzV=cOWZ-U!p&c}Hd$dnGt{@@Ms? zk^7;RVvN_<)m)w79l~_|w$O%#me4~gxkyat80_9rGAf(j|rh9%4pnwKZ!jo z<|&Xr+kvNHvy3A5r!PX*P4&&?zt=Kjh(8_|@4+z3nTtHt2t{bw&ArO{!%6HaG0gGO zg_EE(M6~N1v`G#*(d5NZI~JGMuonQK>osUp~ z8+6`@0x)QnjEHNLGqjeQoJVHJFcgA;VoF#Iax%@`&PY5)K$1*=8l6t5R1Z^;*#hC_ zm*#RGVnC;0&xLb566vq!_PMvOv$Rn>g$B%3os-v&OUP;E$cwrVT}s(0>Nz3##6{6e z6;4(Y`%3Hpl=Hj`>B#=gfS?w9K@dtK;q zCk;vUTNIpM9h>Sj&rH{SwC)_xO3|KClSvV~+NPNS~h-_)n7>HRV-N2kc1q*jk=#{CgQF_y*H=o5W^p3U6gPcg+dw$7#QYXo%ijF_hs!^2w|}PWT`EZC|M6ZHrumz40Pg%yfSMr8aNo*3=py@k{Agn4 ze4+}hk36mZiABZHspR^2o|h`qU05^^1Ybd?+=%|1b=U= zMGzIL4K=8rNp5CeeE6fVWB%zclFMY{Qb#Y+Ok(h4vDp)5rGz^xPB5kmH8A)`ACIgC z?EHs0fZMMZO7Tdl<6;{c=jixWx8fyTUL7kWdf$+LH}@0l^yi5sR6_QnhUWUC{U?b!_Jjs6r} zhgD@`%&V{{TgP0IeqqiO)EG`WRD?irAU6B&8dsijF$qF8_qpdW$t2U6+(d(F4=5|m|HkAw28B|_rjwv!e=V5=7 zU%k?<1>oiJa(;TE*LR|-t;e%q=h+Qi?R~s!2*Ikg7;lQH#qvQv6saZ3D_$c%Bdq+- z0)u}LV&(sHV;cEPO%p@)uM1@D%eZUQ6bsj2#hPz{-&BMQj^&@862{=ReK$i$G-Y1O zh>aJpqG3Jm@kUQjy!C~l;11bPMm z2n$Lkv5&HhnoC3!W11VIAyWSUfnIZ#rIqEMCmlx0L3xOm1=RU7p=9 z6s#QW9qhFpM+y0 zGi>SH3y|3LzWgzGEK^%R>hSn8324gzz;4i2|B!ZS<(L-NaH>Oo=>Ukce#LJ8HW{fO zh{RvD*owWwYHVxy8iZ5x-9l#n(=V+M5=)B|YM=Cqp)dly%H41huF6y=a#BGlYg}M?X!L#2 znMMd%yPj?=VIRpM;TomfVYJX=sb&H_B`F*v9y2z`ucF0cBO$j#QV>ttoh6CH6n=k5 zpsCEmn64`drwicZdQi?Z14j2}wa~ubPe$|TOah1atwYd^Rnd&Ho9Cm;Rf)1>q11SF z?mJ+Ic>~fSOmw51d=!hM3e%{B{(+K-mlK;6NhqsUZ`1rcu~M_`c*#%K*F8ZheU) z>{5R=X zf3I{;iq#`8#_j6E&+xo3A?N71*doGk3e!p1Zh1!s&~EgM=TEBeI-n3BP_f&7t@s*4u*!q(lUXuL9=NvY&pf&QMc{;mr130*JiNR1Y-U_v3>@e%ky3 zhm_P5Y+PnaFvI55*_?}E*>>=vmtt*#OC7~~B@VL8bj&cfR!+s6GljBd_EhLGVe$RFnpoq+a(x1rlJkyDGk9Y`AFnaUYPt{Mix3)s9;qWvU`aEit061P zuil8_n0{kp&$venFEEGJyNQhco4bDm86{>cu;z~?uD&)06Cdq5w?=!jqDAf-`u}#* zAcWZeo@Jb)NET-w4vB&E74`pI{{m(T&V~`!zgH$Xty*stIc{)T;8>`Sq=@U^f6uay zh~?rN96!~d>4`Hhrm7Ll4Gl>P^#(}FPeh|Y0orVeB z$pm2o1%1!~NdLlYeNvwH%Z@R&xZxz=(!k;B;mUmPm$jOWcux>WnR$oeY6i%5jDpg4 ziS#;|d=-s~68O{VUb*6JI8yNECp1*WcYCsio&sYkS(bW2Z}6Tc+WbgVt#}-sS;VVP zFbZCUQRp{LTsIa@=ZgGZ2Kl7gOQh$k*E`?xm7~WV-yfT>C09x05<|5Zx{Ei7Uj`V} zrtY=YtX67Opz!1%*Vg2iEuILF6YWuD*+e(R#^}|Vw!0!w*KZ_PU1 z-&-{*hc``iLEk)Hj#t@i48H$W{;sEgyL;?7$WVxemgOuZi=UZm@L}h4u~^O=Ly@mc zxiA8^0cFvD(0NUX_gk1>uE%CaOw;X(JCWbfl7r{R0oD&^J4d=1_6}d4b}xHUYh=Ex z&$YXWA#%}`eV;y_EgcpsGn!~URSvB&J7gZLd;QwG2HS2uyWZk569u{7>aPdyWD{Ee zkhNq-~1cpKV`t%b;qIXn$E#}Q)#DGMW zDdv9!OJ8}ejme~GnF%oZDW^EDig86tft9r)SeewXlh;Zz-mYg40;V{#tZn^KT9Hx!YOoS@#XnC_qd~j+8xY-Hd{2Uyt3sI)2_A`D zOd$Jvzt!{D>#|M#CE8?zK(AztYga0>zA!aM zC`sAYryE+y-yM#5B~WD%`DbtK>~G0%vQy}puBrtYWe1l*!0;V-#?7K?+t)XxV<+Gn z`2e;sr2b;Bz)V8~{J|4xt9*e?-B{n@Y;xe)K@{2Hp)1bX?ZqDGi)ytn9N*cWa7$fT z{vtbJYKbUW8}PB9##!?>LC2=(FJ0z1xslTXczVROto8iIwa=x{z|IML>f|#Uzt#31pc+EARTWZE!F}z7&C&JHxRG z7-5k#mS~0N;Ve&~=(|J%B-OO$3mP0{W3c~Q z>j!`niljC`m?olGx~(Z#x)gTuV_f~D=rQ4AQ001DU*G-+melY4+<}R%C{6_0*p8_@ zy&7gt57w0Sq~TgOns4+uN*TtJBr#<1RQfKJ+4dbk)&;~c9MO|`hl7IQWT(BWNG>b?_;{|GTjtZI#`MvUB#ySgN^}nBkATUoDBqTD(F(8&ODm*bXGBL_4CeAcC)e|wj@{)=Q@&MuBw2+L< zH{OZhx{`vTW=LZqzIU~GZF7A?8)AA5478T?mR5LIb+JQRdJ4k_A$_pH#=_;b@+sY! zSs3A`r6J(j$!7l18VlbxbI@VY;LxXm^ZTaNhYHZ-w|E~ZAflub;E4h~Hg=c`8MMM+ zeei_L!DvP2;qw?Ljn>i@kmt~7tb75`LI<&F5rt;AwLiG|AR>atl z1i`v%EBnheBbgJaWG`A++tcyq6-klYjb+M&8m#2Hu9P)Oh!+^Qm4#{+TN?Q=O?9-K z*E_@(-3-Y`D>iF=J4OhX!@06F9KMy1$9gwZa0d++-3`qbhpCebmm>$*zBBR1OeP!g z_5NX{UX5h@Gw+3s^hZIZ(oYPcJmW1!y8J@F4Y~L$P#ebEFL1ptwm$wy2H?=RuofhJ zTRutK@VzMO|L&;x1ZQvh*%@#hg)8)D%n%i#aI~?BB?$y0`--+@y*_>NAySHxs zYpZK&5f>=v=z)HCCGA;ls%~^v`AuV*l=1g*$ey44{))D>O_iPrDW=dp4Tsz7DDw~b z?l_Vf(%Z$ztfT2G7Cunu{dy#2msOv3N}Qq<;a{cpeId{c#99I7&Zx}vDd|2PAG59! zCszH~e%+soPG*!rUat>f-mCAl7X7u1Vw>2wM4L#ftIVSioHr~?m0E}hSTLKffaa6J zLaYvx?NN$L67bzfEi&zg(U|fNrTC!9L&w=NIb^+to2H#;7jR~{4)QpK{6Z6QY5e0j zX%QP0%{ja@i9UoQE2WYZjo7M)IwL_Gz1pCZZP=K{r~D$Zgd?iVwsvwoCb6<@<}unX z!zsnFhK%Lx;`wDf@FNAhhcK2fk_sFOh#t~}!y3pEPFa0v@a*cEhUj81nuQI@;GKt} z!dYFXRD$+^&$wQIk8E4cDJj?^HI&VFL9FOz{8u&Al-WcvertUNX zr!>&R`Gcd_UV_LtPK!de47h;A{>gH2McQvEh@Ya)b6GC{wN*>X?b9y$sxGJNnhkXM zCdKl%h>zht*>TwD^$6wVmd*0(RurEe_uI{vU#=*2iBsL@wz0^ZJN;d?nE>JU)4%41s4lpSa%)T`i7q1?o%~d;R&slhgln%dhhm{PRtW z_{cq;Mj`kS7h)c9%gJaNM0l;h_DsipT`%`HY191X>DTAZW9(NwhlGETqF!9lYM`?X z7A{lVOER!rqhW^SKO%Ybe`LK1ku_W<@}bOEBtF!#m4HNszEP}`b~g%L_e zz$oHq63kGfi7)0tUk&byIT(P*2hPJ-ZmCeLqlS3rUbriR=*Ij-WVuMb+m9I||K__M zWPC=!<&sV_M2j*AL+d^Eo8w0&jdYjeXjX7AG?5{8b{MJigT00M)77;034PjX3b)NV z{B?20zc;Lj0V6n~c|S%qIOdLF43fe8agcqwuI3?{Wp(TaQdBKbv*4*-p?&=x8Rf5H znxhHwx$^t&j(d#w%pqxp~7rnRq-QM0#k0 zHTg}MrBBj4rI8=eEs--#vY1Hbd?)beJh|K|?RI;zm3c%aG1q?2n>D`wWVdaRCCZb} zY5jegGcPrx`BBU5qH8LEs!o*KikbeYD#GA3U*;L6gTP0rIYE&N8Ps9GE6=|2PI0OGzraZ>>+daaCxuO|s#>?)=MK;04;z{g zFhMr(wmJ*5#$Xj4$M!(7&fma^x%3FCE$I>I)r^eQkj3XJgbd zz{Id|ZK(YX8&RH&9;FJDM3xAbugKJzb#mRr0Usg4{wEZ#;(sm|7w;|pm7zb24jB|c z;+dM^zNU4o{}%XmvCpCraT(JV%>Lqu2mn^XFY$BvivQ^e|L>8OJL|wtGwsG)?cDK1 zk(+7cV|C{x0s?;c5F8p75)>WNd zW!J>ySwuoZE6PjTTFRgu<+b6U+l!{;GXE=5mOr3_SV+S_1>RW6r`@qX?GiGlI)iUdcUf=2NdP-WKOh=(=o4{)!hvo2CK`6NFLii_ z#^|Qql4De?=`RY6C2E?8$USF9JKY!nZd152Eotk(U?ig0buDUS7=o8XS#_w&Lgdwn zoT&01MCn~METXTrtjnjUjK`LZoT@T?3pX!iMP-tK)Rw!iXDWYl zo&BDPR-~$Gkk*wA-@Z_ziqSThFejU-0CZM`oGbVTY!&S~gQgold1;pq`o!RWTmneS z%1iucnzf(TW1Egwk`Q%`QA*ryfS%{AT&?R|u7%hz<}R$BRd7lRT4gs+_+l6-{l$$h zVe)#MuL<5jaeNNyFImpkdx`B)OGkOY3u~rMKV`F^#U{JT;$Mz|wyipKafXrzw8q!a zjttdy9!B`1H`-I;$2Oh+1?+b%engyxg09Nj4^hZ%Y{jTZv#%$jA!;6@f8o!H!no*%ZpymZeKSbu^~JvBe%LP# zMG$!@IqCGLb0})yCovC`E<#S1VE)8~ZzyS!SGSAimL}igPMB0+D?1*P@FlW?%_VH= z4&(11B_*!B=lKKXk3&~qI)c#%gr2j%Q_7k~%) z_`4q;b1faRfNcE2m=c%etmITz4yuxb^jiY~@bjx@!;9L(5Ew(oju;7LQANsW+>hCpp03KiJ$W<%k;4RdbJ)Cpf@~cIakN#?^jPdw|s- zBDeW0l^kgTH-8aiz{MWX1iVuLkkWPx^GjRCms^yOW317|9?u|oGFVcc;|;xH`)0fV zG$xmbgdQiyO5eteq5VM>m2@kMv#>cr+4E~P%y&sj;egjHl#}x>lmly2tnPaK6czQ< zx!Y>`e)=?yteAoWAS%|%-PbbjG^h5%HG--Y0Ot@Zxoh(ENggm9*#7>kZsS3!m~N2#zm53Rzz!0 zw$T;tdxDXxVHx)Flf|r8w@iTc4~?lYxFNoUe>G|GD2_Hgh^kRoY!p~HcD`OCP}&aJ3L zo;=P%ebBJ-yd*ropsB)&Bw2GXY6-rBQmzIXkr9L}sh&WqH(L>c46$7FzpJq*io9C$v^udu5!Y7d;Ky!q8Y8GQkzVgNU1Rp^QTG*DSi_%GMvGB|+k*_xHC)cw zD%sNjEXYOb`Qg&q{9vsZORqY1`im*Iar%_U3O464o8WBY`fSe6R((v@mj+UjODB@d zIVAhG$p=wtW9@AJd*;Fa>5cjC2twrZUdVsRxK*ScchnIY=Uu z-bJV*!$i0NVeF730HQZ0IV~k7n*9ByN3P8gd8cW~+mCmPg%0RNGD`pfT3zz0MAffI z#0)*t#SkEA(Fg|+j|kGO&Qr=bF+6DI38j!I^Rvn2-!p6GL$k1%u|H-jNuos2r2;v} z3E*-i1c)#L4oALdp^}2K%fvFP4t5&RU;Y@Ys=5YY2~!nIAEFJkH`63rdybr&^?un@ zi#Wds&}$SMY$rhj(c)cO`suT059TEgTF z$Xa5U(>!Ohm6bAQXwX8k?IW!j!zqp1$riJU6t7Uqd?m-jX(PBaP&%*kK&6UiZk+6D zQ5$ZHK`MZkce7({W|X^+*W(y%=}lBuNsR%&c2#mla40dBw@TKjsVV+`kbN44xT&2!|*4&!hvNwX~USpCt=U&-|{hva7TRRKf( z7*^)yTRNpy1RIDWE91}@(byM_qRCeVT#t3ymrz(%r-a1o(VW6ozygjD+EgMoHUZ5x zO8#t^iUSqQK~-3}r8y#T`Epil(fq0Rey|#{z8G3q`x4u6UFt~G|S^{T(2Y4c_bvTI~M6Vlg42}9%h;48&!!iGtv4Gt&r zp$9i5Cz$A4t+H+_?*1(83oHtVr#mQ3at&=vX_p)A{&!tE!s`PVRNyDVk5I)YEBXChTeiI_VCx;?J0^ zmW(PCH32fWecu;(@uq3&bRm7nuH4q~nJY5#ocs{+8$Y8pt5qeR=wwP)*an)&wvaaA zXUg*Rr|CbiF!-yb+3oc+wZ?*xlrq31kHK70RT3_C*S^0@2|!*?!C3#f@)%eB;Z#7& z9SIDwn7IW%u`<6LFHDU$K`MQN^AS`goDf7^h5@aGrM1`PUerbFD+Rd05(u5XtgS$`}ptbCYDOahNWlF>xOU z5-$tmO$lY^8MWZeag>}$X=V4Bd_vtMibtG6#Dz#AUE}xHftR?rH>fY1!5&y)URabb z3?pQT+>+zAVD!6K)qI@U}o*IZgs$SGS@ z3Md@Q6K865@n&hZtZL_lW$+u$?ya&`oODi;-eGhZB>fyVZ6ymKJAIC^?J;SzF@t)( zICU%Sew*);4K$vpMRCT(1G>{4ID0wFYj6aQfP@&ZmzSVak;gZtS)%ba^htbN<29}q4+||d zgOD-`|6Q}$NKZ88k9EaC8`QGn9yFzw8;r4pEvd4GRnm)*K!N!bZ&tZ+Rb!+1kZAt$ zXPYWA3KAWy6}1v)R66y1f3ixhbXMyna%ub=$d=%8s%X5mp&!3)Mg3A7V+o5`i?r?n z0x0CkQDcaI2Dxyrt3x}^q{{Hr?_nzP@|A_tZJz6s{#3@1M9Vh$qnrlkAqqP1`=H4AOQTcdH zjC)uOe&+i!Uvqx-d`{;AE5@2(=vdOAySydZbw=d|>Gj@&?HK;^s`pPuz5?k#BLg3x z&oU59o3VVvUeskW!_2W85gG7fKMnl$%(?&(Kt^QbH!To*(L#+k9?EqG;wv0H69^Hh zRp-ZnojQvT>V_D6+|}<4tk+(AtKx1k`|bAwBp4PNWT7GFD`*-7fyT#&CPKr~(p{r% z?Z{G6z`@`|a7ih=08p+MmBpf(p4U)TRNU0s6rfODLq?qrX!zU&0S>kew|xo%5rE!w zb>kxesDhI|G=I)(9RxyJwLyDSd$YBROUu2Dr3m~~o6g?%!z0oj0O5JT#mENA-=Uqo zaqE+?yw{RzcHh68&YJVGBcl-w+0?&icgBcEb8y(R%z(-~|FkF`#29Xq2goh>cQ#FBm%Xg+t&38dldiP-!&G#{ z^?XcKX_np?n}^!8KKrYfd`Z2H?3@Zbt-YwF>g|vEkTy>Gs|BzU_vwOeOh@CswZD|! zt+5cC{{bOBnGas=WLj^LDmNBCYmnJ@)a~3(C zBN*63c~nN?Nl;Yp1#hys4eSaoXnf9-#xBv2*L_D1D9rRg^@4VB6|OnXBzt<;2(U3YKd)!2MuX5KL>za;S6 z`y2l*8^&?2xk=+{Jjo;UaxP8{Rcktk_B!1$pRwPNh~7=|x7c!y3beG5ehLWH(@*%b0>3lBsF(izR6CCL?itGQ1 zphSeGxcu6dK^WWCj|mJ@-Idie`*T#rNJk-|Yoz)5K%hd}YF>JDd|r#nn+m~_lO5I3 zsd!CT&b$W)lT@<45+Y3F9==ez8qnHIDk-+=sxGdV74%P8sz%P%L;Gx`jy<%DV)SXz zgj;_VOW>g1IUbuKwPQSSqAe19<=l!%ZZO%S+tem=fg4d>Jt|G)5=SUgju)`*x2;gC zS;t{7CPs8%8jsl_MeZnUzp*n_V;SA*BH}8?p<2PQyX> zy5^FG#U(3tQbg>9hI3Et+sc!q{->zL``?(W|BCJ9$QS`6Mf3gvKBhI-AzY#j!EHtE zS(aTJ9kIKe=i8{=r;9 zk=}bdSV5zL!(#cPLm)}exKtARAP8djmYAGSP?!J$rKySl)G~9bbE|5jz(q~ak`lF2 zIBj`gKwV8v;|FjxcxV{Wq3PEVwaRlprGI08kI22yEI&i+W zx%>6oSkd9MOZ7&hFGZ=vDm`(t8w@~{X<#=+!2px!<!J5d4TJu8VUxnSh%0D9x4SHToY3&0tiTR31Ltu|5j<_huKXoG!aD;?uAyx{H70_uO?gQLXLPO zVW8U*9rC5lU~ljWS@~TOMhTF)a(|XwSdBOKp5x4FM|;(n4z0ex>3@+=LNd56PJu>A zG#c^+#D(|GaEsv)z3@Q z6|mn41%^y9b169SL_$d}z)CNSF&DH}P|*567_hd@fsQ(2!AK0T-YciWYj?53Q=H~P zKc)rm27@_PeJCs@C*%7)zn#CZxxdql)+7va{neAWIoSYO2Y(U*Z*i{qJtrmqAQK5u z<&Sg)ez;{?B`##1o}LcFs3ba<&+Hv&H}VqS3#-`_-w7E;cYR-15is9<(T(xWpNM6?3raaB=7T<0tzVyc@>xUZ>9(RTO3?6%BA{4D zgt9Bl6$&)&pzMAN6vFUmMJ)SZ!v$&v2VcNYlzUhVa70K%gpRz54*#!Hv6&gFjQAbE zQfz*~I%OE3&Kn;2I&hKcf{#O%#yy;drzA1OPh1a)B?^0Sh-xSV!1_D`iq`R39vvb= zU5pB)H^xN1av>UF`-|g`fiHRRxB}Z#>WkfRDt*FaspNlcC3_Fe!e0>~;z3xg1N~-^ z#crC!w2nzXj6nxCMMS7%g^x?3n@8C%4R%KGyllQsEVFI@tZ5Il72sqV>4(# z&T6(lhN}*h{BoVJ`p^w%`q7w*D>NYn+acb32Z46b5NN%zMFV-g5cmZ~L zMQ@&=C#c9IY+{x)>BN0ZuUeJl=0((kbrhAg10N>kqCDkp9GU4e1Zm%M!7|!fD{$H~ zkXjqBxo!!P#G~DNc-{B%|2*ivhWG=4OY;fSUMGnn%o-6Heb2>CI`)#ha`S;kX~-g8 zl_vL@NMTF_nma$v6!aH}L!TCT$aRgj*SfT@rjSea@_7LzHswIIS^f zD+;AHMckdB#Z1<^V>A_4PsK}Rh{lZ(8vMY(a2<@xcp{o%Bt0=BozjKY8efJ;v=L=t z_x!dRbHNR?yo;I(mp9c11G4-!JWKAnkcPz40;31fDm$fX@MpSiSpEoUVnQ* z+ESo3>}nPxF-f!SA>z;9lV^fV z(M+!Y5cg#hUWYL1Et6Aap&D*q!5(Usu9Jx{{zjdKmHH9rY83U5n+@&N0(Nm4ZhM(V zyA?<~;m6|IEu&7trd7++4kIU$nbfaZZb1_YF?Db(z$=>`CtOcZtJO1tfV7(sA z6&4<5j12e-O827(zZt$ycnG64y0#}tOQ;H0zeSOJJ305CiT;1vmi|ZO4(`FfK_o{! zI!Hym?oY)Cd2auu{vV8&ri&sX{n!t``DuiZ=L>F?H3-|%#Xs^~rl-MgN;i2nho>8E z_HnmdC{TU0(*916MgmHE6ew+|3lIfFMn%WO#v#;sl2Hg$C=v;gB+1Fj%g+KO8zOV2 ziR9-NM1cV{RrMf}B7HV^8GTp`BsK?9QwK)amIjB0#6e?vtpV+1;i7~+JzYJ+2o`i- zEz1~j>D)A72Ita3W>Z#g{?J@O?x$_9*J)d?;t7JtFcNt-iLN5{ITpzezIOhB1Yw zYF!!&MBkjN*kpi&9m90XejGC>iReiO=};))SrkVGit05IX)=sw5&#xHW<{QatA48P z-x^;mQI++kSf5;Nsnkrp;h44*NUNN$5PMlH`tloIPBsnpBRw<~pR9{vk4Lgkn3daE-LA!6rYyZzaAdIRo>N-36vBK;S9Nu*0-2{yG-QGL&Q zIMRKCnVJ>vVU?N3Nj>~3JvlcqrGd6wwXykZUb+k`XaQ$Xa`=OO0QP#baQ`a4(qz2W z=Fd~_kE!gx^2kKm*G}vptOET`3A}XnFK++UYaO zwZ|5Gw`l_Q{Ccd5s13W>j0R~vzlmBeQv`6HHy4O8osHm!Oh$WA$w2~F%;W%QgE_J? zF9+h#7NQ$B)NxQm_GOW~Ebx>HDu$ zdh}uhHGIdI$s194gA=G|~P z;KHVP3yhv)9h0u_Up}Mowmo_}%lPZvF;Ca4DvO{eT`S~N^`A=cKYr+d)cot7)gQ#+s%|u>SSMMx^`^_|?owU9!$k}pr7doi2=;6X} zQQSs(S=(_;Xv3!c15IPLe!ZaSYxi3rVW;;8O!BV9vLzp#8A0vj=RBos!gE<*Mmo0a zpXE*!U_YkfJOmZZ#hm9U=c2K)J0v%M?D(R(s=Ju>>|GesXP2sC!kqBEVTwMw8FM~v zi0bTo(1YP?kTG_o7-!UNjSH-lr$n zokZ-9PLK%;k}h&GCDew?8r@YOw2TnDZ9HhZ;>S4+&Gh8C`OCuo3(q>vpZgE5~HkvAi_bOeF#-T6ZP;8dd75U6{|ukRsa95y;>vLWGS zqp&coek`eU53d4}&_|RvgV60F+Ri9{ut@ikKi1i>&=bd@~-6N=X?F={imSDeh8-6-F%CoK_yj$Tqx8b!@YjP&afO=T-IkyU9f= z5$cJuhtd@J2oDyi-*H~MbaaGbOZJUSIsO}(aYwCGOxvX~ej}b}Hn-DU`w%OFbGT%mI?CN`kgdezAfWW}GRKVSgu@p!Mh%LevHlK?#Q$lSfBxJAxWz@x1tUfrTvJ z9RMLHtj}IpSSzm{90yeC1d6!bb(P5^C;?#L z-!(A@o$55~7wXu40L=y8s0=$HK+x$m^aiPg0*LLlzgG0u+&-OoQQSt@l&s4q^BQUQ z6$d?UYkjQRwrjRM*>^p-s9wEOOs&oIA}WgokxI_C3kHN8_HnpPMdPu? zq2-W}xwFcw-{8vO4N17ba^>4*xjn;IxmX`j+FQ)dT-_*-Q5VIFH3#n&-~^T?tI}*; z6VGLr#040pth^=UiR2?Ln+jxe!O}aY~f<2?%ZUnYbrl%1^pR}!&z380G z#QS~yKROhOj=Jw6Io7kuPJ-xqxZ;9_nw6xoWS~UuetXx9Uv@T zjW&F;{~!O?znc*XR*R}7YyN?h3AC*sEX_U9w|z8cjEJ{E)pB*Xi|D)1jDH7msysdh z`hVu-!a(B6RWLb!xHrsA>oNd zEM5ncm#62G#2dnyRaRaB1rg-e7H9zyiy1N@kjjqE?7ELRDb17(t!?Gtf7S-$UEMwP zL7zzji9_1jVdHD-8*8&X(55-$#)ieEw#~Eii_y;7kU3(c%4NuxpT9P;2J>%Vd&Pfv z2y2*-3j0GZLG$E4v3J5kGU6z4B%7!PVo{I@4IHKm2QdN9DQc}zP4L&@7~uX;k|JyB zR30_6L&d$#yx?Q$ku5_$9EJbG)muNb0l!PSNeIE+o#O6p#ogT{xEA+P+}+*X-J!U< zd-3Al7N~Ifp0m4m&;AAZDam~1otftg@WbNca0{KZ8@-Ge)3OYVT8SzeXzLkEMI%w5 z#I7%b<0Q8R-`I)7Z^>Gn-{{hkdKx!RI=+3aw5=@;y50Wi0K!MfmIHtZMB1aa_bkdX z6+x<1`pJ7|Iu!O}iN6D-(bC+L3{Q&=aKpyGy1?zZqsysjha*hJ7u+I#)?LEM-hxmmWFw>OgLVMryx4N{%4O5{CUamT4E--Subigal_wQ zB}}{is0_H~5=9c{6WMLnB~Ep*L@W z#c*84Y7(fUIWYgB+1U7^o8=EbWt~TY51WS`Q@(-~RHiz;i2=DJSO6$rCy^p-!h;mp5{*u`S6W#IDk2-pXk=eVy5A_H zH#^oQ8{7n*ZV^{^qfKisVzt0}n@tR1&Q{Gb&q-q^5}(-td-)O-9fW0x^2)juJgGQ6 z$wESbE0}j%rK=3d%*?)nqZckSIDCIw2k_+_om&T&W@(*4&x7s=rt_vh{fh|=Ju;^A zkr_rD63E*Htcc_~-K}#VCGWqq!!&?mFv3Yd=Q9*)v`e!ofeM`Vl9(t%<6DDrAtZG)oLGwn)|?XF{At z=&n9~lkV!eQ5zmMAmE)gh^i8Z7(E(FD`^^VhKunKgwBSAKPhS04kThh<>WsmMsi#m z7=E`I?=E40p=V^s_%4caBZXwxYvTEDRm{S%h@wia5Naet7gIe=ipt_;$%T6dmEnnO zAij4XyImY8neL!^sdB^v2PqN(J=8K?y7Nh~DLz*f5jamrC{phfBQm0|Kn$O`*u@@M z!l*-`hk>4Z#!eJ(Xaw2h;#xm(l$$z7mMYzd4)DhOGK^Su;UGo(L}w+M=^(XXtT!M$ zr5?r2X&K9~Ag`N=k&gSDdh@A*1&yOgDd?CAaD^VDGNzu@thhd3yoq2JJe)l_LIc^9 zswJ?M$!;4qhy6^iYzk%8#Tulf9ZyQ3Y{&AgV$v&LYe8fmV$8efHM6|&8K7<}4Is1` z;VWH$;Mb?*fwior_nzSFc(~pi&^%VzJ_f_JD?Or83KYXrzAC6$V5d@z(oD5#pe&zU zl&;91vpNnUa6n=;9YfB!Ge#A&OxSdLXjzq=Hypi zEFgDf!Qh#Olz_UHQd+fk%c{D)ew?IdNxpf>eBpo{Pev=q-BOEAIVM}XK|8um8)k&% zta7gIRHg1yo;}qM4ThVeq(@J5o7eM) zF$|@1Z_O&#wd8X%+Q8^jS5YjsEvcWo`AlkxtiAx_#x^ zZ6pilYLuFd2UF$#m2blJpT6|yBKLXn5pFmT#rf^z1dF!L;NV*2*>h;Puh)L)yb5$x z*n7%7>^)Pubqv|oC~)HKuDXtZAMo3q`PtFeEC%cUxyeMH*{c^2U{1eJ)TpP*pkV^b zhJ+`yzs9Ac`eXI_^Zm9#alo%Zgwtg|Mt=}Y#D)S^|45*);eK8|z6|9}J-ZtD)^VSA z;%ORt3=VBF5heXNNBJOh;{51bRd)=RB?u~S(Lr&fJ1Q_Xh!T-$Hl9vVpOoi9MO92h zOZ4*PLQW~&O9+NRC#%k}7Nf)iEq89|q;QcOt$l<>M- zR{vC`Gkc-k^Sau|GF)bUo%r)H+avQ8e7e-lo zcO$Cixu@YQ`~U6-|Ie&J9uR+j;J@~R-?Ijn@6fmT|6~p7Z%Zc30}Grpkq8nKXfL&d+-L*Zy zJvzQyy?A-uu)Dcgc%+l6K5}{&EFG^1==&=9ncN9KcjzMOqG~1o z0;!GUSE1PzB7#;gnr)2Y-jHakx}Wg5kOrHypwHFpmuYEK9Px?@yn0=YQYW?U2ukIF z-GK@8T!9(1ne6!4TMUGqP4$DJNMxB7%1w2#p>K%rmznk16NPG4QJh81>@!)sZ`X!t z>6b8t5-JevTl|ZSPO+AMz8vlrU#-HG_}ck9?k8%zN>WBK_#GA!-oLbgGr#UPrdGR9 zRd)v1hB_Xt1~Y1VPA`kze=lCEdw}|5C<$ccXrGVu2^d9qMITE2?qG@GAa7C^fACBK zC(ByMJR$d*aY0`RWW;4z6eUeW&`-4ugU>`K5=A;rco0mE%Tf+J+&nr>onAJ+Lmfb- zYQ;RX#g*|f^j0ATajfBOz%VZ4;UW$pQeG+!M&k(OWI00KJObj$6|)3EJBczc&&{Qs zv>eAMA{>1FOr<0qsDzd8HU3dHi&8PIC?V*kP!>0bBY`l&qM}L5Gr|wq(ncxAb<1Tlyz>ss z;53nITTod&C2*EO4Vau{u6=mD2paoSO~fm#FJTockQ-uRg$Ivh|JLZuQfijkTJLgN zrY8R!(j4PLV_z}OMp*3hbr+*BW@D&|87_RNP(S?J7B5xF_n`@No7L)=`Zks^(`CZd zqB938zonW3uenv1>xjR#e!=w!e;8xf@Bc+lmylA#vJ&}+GdNnh>F)ShU?h$)*Tp>8DamL=_mUd#Z zP(xD$Bqg`=r+LDVb+#f+htGx!n)1KxQ%sKRg6lCauPQf~l6OlsoyNRA**Jt=iEnER z%@%(?Dg%87U7Te!CO*DP&K}5T@4;D1<{^uK6_TARB``1W>9nPo3h0YuEbtL1I)cBG6 z@0>fRY)KPtv(-KeBQmodJkDxE_p2q|T)xsBA8zmHygvqC9mohO=w@;2Rk7VO-x^t& zCKQUmT@S}GJ4{C_vGW|E#-T$*UN{H;aRK`OMKw5sm`2>T)Z-@36zs5VbXH@(i+&}j z)AV7GbfJkLipOtsB@~^32*`G~hRFy2WHfY(g%BZ-)4C9;nn4IB#Hl}z$(=SA&ICvd zX!yW!KTLjr^P}TQ{Od#^?tuEalT(~b4uA`mO?4hQ07Kq57C#}=6Wd913o44y0rdRQ z=q(=5NN_(zn1D+Nc|r;OHOu+RFm^u8ES7yD9>89q2q*ex)66&INMMnp;AI01L~dRb z+&dfnNGB=lbia_eZaY=d4WzTkf(C%7>91uZ2aYuG2clHE^TRYf!aX+ZQj8>4|zalrS!H)VyKI9t-&KQ zU39q{BKI99ywOv!Xr2!raxYA3NFeQvXZr#w&&nIv;CO(WURBMy*zF@>(LSWYj3Cf+ zB@r1&%?_beXK?};(|VY)%3%N&{7cG2H_mW`xo0v7HIlzQ$su~!4KvWsSC~qc)0bwA zR%#X^|8pmbu?y0iNps3B>zw7vlLxvqqv|8;YigBDh8uTUX9tDi%MHU)ro^wNJK9)! z`A)9pDzDTLL%$iANY<#7V?^kLN}+zeSo?_M*-!}DBm6^H#@#PLH=s%9svowIvU)%i zFbmZtt5Ni|8K{h?V=7@Gnw&X(Bq8jR1`O-R|&Vqc%KFdEol znu{NgINEsli5Ne5wgjUS^vc$gS!YwY@9&+|hS6 zx_bn#z4y1@8V|0WRkr*)Lju2d-rqP!t8My&-#;w}@mLO6xR|!*L}G`?QC+aJ#Gqpo zy1mPfG0|=srZ63yX{_4yRG8f6_+p){MDHh$TeSnyhG(oy;rb}80d`WNEVdJvQTL3Q z;{bSsMhQK!xV~)z2AwW?v~HVp6?98UI=uqq4Y+;Ty`o`oMme~}c`8DWm3<~1F>=O67C%7$ z1sEn$b}?5mr2Rh$j(5@!)_aQbe~ncBFVc__5dZy5L-pS&%FF&G!2eP_4AU)9G3+zI`!tOHBs{d^8)XC}hvuQZc z)h=-N4(=OX8Sdid`OE9e)!%Elt^HYprn>q55cuhr$91NBAzv7J?B2A-VkyJRHFp2+ z&O59$nQyN`CC*J2qc9L;CWo`T6|m4JNNO|gM5$6Joksc9FI6bO7~51Gs`Xf|_8H{P z;P|VdWI;$0NRpS$TA>a@D@__5olvdgrkx>T&-+PP5?8LFe5Jamf}q7(r&P;6(9sZ~ zt^Y!*BFV`}CmL|NtI)Z_`IUYLV)oDqY8^^Uo7JijZ$jh6>z3LR@^02e0tsyO4WVp> z&W73htYwLb5_Eb?#goM7f2z|DST}b5dpf@n;L*cg>v;dOXR>DXVT@+m#3^qC?RAa5 zP}E8OC=y5anb`NqEyN90bxZLVc*gU6Ai4*(lhgXYyJ1G@$n5#^E<5y zr8ha-#Rzn%c8BllW|3KgF|t?mSm`FWA5wFJ;IB*7TvyIJLJ^B1Q%HiR26S}f36_3* z6T`}`#H2=xwn;Q&@zueJpu1Uy#tE^kCZPWbS}h4Yzw*XOI;#ygPnf5_CySb7iz?+; zNX|%z<|d3vBUH)Ppf=K=DWT3huN*6tNAcMRwq)s)ILX3~o}`kVLgqPjv*pnZw>rrs zAd8dew+>{7{P@0}e6$}a73+29Gb0f2FKQ;QtEmJlJg9X8Ilf(WiwZT?6`NK%NnHn8 zmBGVdW;1_(UxisDppRV5^D1+xpXHrx2Z+{QTOw-W-YWvbv$1*4wchs-2dyCI;W$=U-_VJcFyuU5x+d>ZCx zl6*`;83T#~Mbdb3M`6;PP=|ioVP7{)*A~?%Dl7q7w8H#dTQ6=8Rg8Uz9zZA=XF;T9 zhAWfMn0m@bhdMmG5yNSwby?-Rc3stBs=kExnCEqKGu<*_{nt3{KcFSLOh>!)SqO_}&%m^8cP27U;2iMlMoD?0nmtlW_3d|gm;VK_?pS{_l%ER8QpnAUQ(o3 zdwHU%W*YA3=+lKzd=~%pug_0mZD+E#ZXQbpmQ9Np|ATA2+PIaCqf?bGY@!D5ORG4O zhri)>lDl{-+Ql?Zc|%SJtc&Q4IU}dm`6`*^G3CfD3UO9*)l6WLy><>u{jn$pnhyZH0MnuH^*&y++z+m_MPLSzPGG`$hm!)ei zQ8a^(<_4VtAaJB0_?CZnufPFH=XD>4$%?od~2bcqm`)X)l-5?O8 z%?6FVdodVXlR@$KTXJBdq+fZe6NTT=c>Ktu^37dYQ}2n(YbHZB3oA^QAHFg_zVa7_ z6Iw1yG1UfcO~^m06dfN)_3e(Ka_%=auOTF|)zre49OSBc#Ljkpq!jy}GOd8p zpcIM(S&I|mQ1$aHXBzByk`2H^E3Qsq6m8Zal?rWSXA4rUJBUuf$fOQu?4zbz4TQ~Z zDjg0_+Dx%2#_i63wE+Y&77!^O^5q#=_m7TGTql&zmd1F6!OI18!rD+yC^{MLCHr; zeh=fFD^m6v%BFg{@1_e2;;cyp(cW5oM(?bP3VXMo>Q1mu$3fn{4U>1!!$YaVned7) z!J@IDFHHaJE_xu0(16)~M;}N}L&$n`A95Lt2YVwKiZLVeMYVIN)73fLz|S;T^yn*^ zMPmq15Ne;EIZS(s@Y$^!iksj)OhY3Lco)-|Wy@N_M=YrxF7#Zr{1 zi`3k^L$-bpH^uNkpn| zWYaT)72GZr76#l(S=rAC60??$CajNJGp(eMVwN%J?TCU5?R4LUCS2No2)V~t_N?fy zS2~YF0#L46a=SMkow=Kj)YUCn1u0naC(H_zqSzm;w^mRkV7D=mXH=ovoBzx^hDkE6 zO#QI;X}k=V>TW!}f_4Y?5?M`BudLsx!?v~AJ?qX6S66~Cccc?tZzv%Rn1A*sc=(3! z;sIftLdbsuI-3aQ6rv3N9OAQb3R_ZUTfSSM>Jy!?q7PtE$-`q(^7aWeHh7lWKPPMn zgU$c5M1uMM&YWWXH+Ld`jjixM#*Siu>wg(LLTG>b3KNSN2ooksAD&@Q3z{vPNhPsG1- zCt^P)#RKr7qKyG*dHDs&E(OZiS=s!#h3}w6FhOlb1v^l)85i8yRh8Jzqtsg3*8n$? zFvRv%t9E*3Hg9BMu{CL&a-eF^J|7M?ZSmXUDs5^6MLg{LCF&itcykf|pJZ#|{;!2Y z%CEhB508LzSU%OD!hXWSJ$l25#5@2D1T+_dduQAgLLJ$>}*!&@IsmB{B6=lmkU#*+)>Xamx z(`h+h~JBvqRfMhFg%_8|(`X%U|Nll`EZxMy}`l`1N_mtPj}Wy#v;_6=n@h z%8gLhPrPpUVJif^Jokr>CJg*%n{rEi3PQexgqQwuystBt0>!<3UY1JNkzM%Pp#|t- zE|(V|OB;;?synV|1W{0rVhiJ+LUNEFo6x7h@fNBiCM0q^>dF|t&-!|YS4#=7cWI+) z5m6qRCEo8jl#tjw(KBc`N*+9h%pE~jcmg#bEBmvAwB~W*w$h7sDjPQ)GK;Jjfo0gu zl?|mtJbqV(C{&+zSc=y996^8?6@f-YmsCz&!s9h`JE9pK9ZlI7TBVxJL&3AdpO|WC z!3)gYh$(>i4AIGl^h(%DCTcw+__OD|L}q0aTZRe2a_qtIlS%#+Mzv%jE1Kyf7tzcoQ^3&k1wXakK2zhB8 z^=a#<{vyh@t)1$h3v9_pZg>{@GZuCkE&igFD$aLiD&r2uQ}6L$_zmAsvxYvaxX$Bo z+wnpw!|3QkXqV7w_g>iTH7)N+>o;OXW{zMJM*d{MD8^9?c~UoZ3ImwfJN4rJlKmE{gKZbiuo#eMZFlnG1gd}d32#@UwDc>pu!~7U)ZCakXz9C zY$Fu^@e@le|Lsj(E}p9qsPx2Er75_5tTZ|k*0cNOjBUaG-%G96)@5^K&~WYF*c??> z_=g;mdYX(JOUZf06pF=-P*K)FggeisYK#)mrlNnjDDJ-Z@*au92{UX-*sZaURq-S<4C( z#{*10NJAbLnwMlvJzd3%NYHfTSkz=Vae!j9L`MT1Phi3#_gP{Ef+~KFNb$D?eFEXh z;CbQWbT)cR7U#{hfmLLf*kfu<9x(5~x(u3kRH_@ksYe@VS>P^ONsW@>!&=k~L6JZHY40NPcBU+EqrmJcHjPnjC zH&BpeJ`EkB1lOcDock{K_X zk4cZ5!?{68KVIg(nQy*`nkt-09Fe=j5UH2MzA6gfZ7njH;`y+8B+EZ;g2KnR5c&LR z1nJo5)C1udUxKQVf4i6d)_zK348PT8KOEtTZ6| zVj0slIOHTHbido&>4h+XXuq^iPW3R@F|c}VTFoc8%aIg0gg18=MzpgJ{F01|xzy5odn^ zZ$xDNuUyW5>O4j7pv?b&qoNP)?Y}d-WWoRY%yqr$T^}R*?RKD$?EnTjL3Xlm!vGhK zx6+-#Qa^93)H9|^zd*U(+u?<0(#HLLmq`J1_q=7q`Hr3L%^J9cISzEiXK)uV35twz z@$rw2!sQKPm5NVGkNlh!l+5LwQBW8i_f9Nv&gHNws;LbsYjCNg(T%8UFKXy2buKGx zmIPLJxcpZxXTr6ozI(3A?JNG5!PJ`n;m z^y%qChSTL*+Wp%d7$0BO*|f?JezvSN z0VpSZfvB3QUCtoEFXZO^M0(Dqz-&r1>`Un&O9jtdn>B2{rS0C3UmV3H63j_66?f!o zx$^2%VJ_!({9#jCISbjlm1~BTIBM%HoBi6z3T@OFjLfUa*!Iw>bTZ~qqh1;G49*5x@CSA%-LFf(t(>9NC+@M~Y=gW8q+AIA); z&w5arLG3TS!?ZCTz3Qjc<63r;^)B*caB+R-9Hm(b!M}A_zAs1j5jbzX!GdMO;RCQj zVH5RlKVui__F1OE2S{x`B^d9GKJMESdrlk(bI?6Z@o89A&f234acYHzZNLV9b~Uv~ z;Kj>~REnUtOpnh=8qY_7*L{cXpwpC1M++DHa8<_we*ta{L6J-H2tM+0ED<{jvz?OVwnV#~$ zwlG+fDXEA#wuT3jJUwl4oG8+t^@$^r571#_^3TsoCjSt;zp0g_Y)fUSvbPdvf}E)` zGe4_Wdqaop7!z4_^~3^AhN{z*_xXm(9Y-v(!xJ$R)j`RP&9Lcjk|U&Nj7c5ZIYB;@ zsZj9-QW`l#xisaT*wpcA>(Ypcjf?B}MZ&FGv1xokn08`7VI8cgFE3-D;XioG-k0Xp z`ray6-v)%e&8fna{SAo?or5+77J^e{(GvLEDE;exQzb8=LH73-T$&#=%*A`Pe21wg zP_Z_QhT5DSG|o`-=en|ONr#jiVIcMtflvd7D??l+<^nhSkN?mtHw;77LgVC&t^BBn z5DiKec4aFKA&&SS1MrC4AeoXQ;0J`haT(<89#;&)?#-D2iN8f2@!jp$a$eTml9 zE|@{jo*!x5L`}L44*uR)aa=bJcjC_-M6v3tNNfBXiQ?;h--`Lf!6xlO`eSq;3yCn8 zHTlow*7;qvq{9w&XBUa3&!9Q*k6|*V@`Q?9IzGAN1vvdhGA7Wo8u&&fR?GZXSs8;~ zS$S?e_7h1UfJ%NJu{0#wC2AC7Gvym^=6zP>Yzfro5C*WmB#b@+!r3#`RC`aLbOV`G zaex`9W+`orKN$ImpNp92@RK%X8hvGQVN%<5_yXTf67BRZC4jV;futPA*kA9y^|J*x z|H3y#^@=9u-?xlr3vcq0cU8yMl7eF>p9xiaKyP)mkzuc&U;%HM8)m}E3hh%Ss9rdS=NKl@vqwcQkf2Hl zQk0TR)8T@y&Y;$%mT%>cJR|HgX$D)xK7o2b`r?Ox$lu|{gh@O!uj;H9UHJULQSvCA z*8bI0GcU-tiE48abg333{AVXKPCqB@xEW#PM&Oeg;0r~CF*YH)2rx?djcE7}2=_bd zA_3*+>F&iAq8&by!G!L%?X?z#6k0QUPNr`KXpTUtRSA-6J`5+U`-5MS!3)XRtrC{S zr`!gU3Y(3h!ix*Xa@JEtU$&YglNC2Xye&vEi%%7tt7SCh$rb5)b`{v(#)_7RD=F!v z0<_rGtZ@Q~#D|PYjH-4(D%HhuUmU4lFVHpP4Y+FDP?)yG39xt*>gimb)5{mLbn??_@vj@^|1g-jQW)#gcgVtw(7NFtmBnI z9h{y{0A;K%)nNHj%51&e&k7eDDT{0TEzFsqR!-MTTWV^=!FnF7y0$A8w&cytC9bxh zPDd&dew{D#5(Z9+>q zHoHIPk`^ClP^nb5#BJM5%3a>nVRtJ~?Pdau_Sgdx8Q`VAh<43haJVRWswtoime=OB z(nlPhtKhi`{qUAn`)p`OJN)dfahjTy7-$uM8D=cagI;5R5^|;F8~)t}u_1-6I5Kva zIE~b^+TEtfL%@7(N?Ba(@yNjjUT~}R)V`$v=;%NTobf3R?^pyl=teEk>!3-`0!j+U}OGX*zSJz~e)|Udyn}uQF z+8RoVJ6l*x!L{kI?`5W;n$C#{%Bb(u=dxQm80X$?UB=+ zi?Tho8H(fk6*$O`pFi4vT>Nf_`|$6Yr`O!Ip%7pILL}VpVBL=jQfy{c^lm5^3NHC+ zt8hAX0G5`1n^Dz_yxWs?Y!)F z|2rgyeZny>vLDH;G*RO4^pa*ml80NP!vxJ_RstJNf zsK>$Lcv0#7tFsYHq1;+Fp!Lzp)Fjp62`Pb~u)Gw;7(pwdQ_Q!t-z(=fK4RRC-RB6o z9~WiIj7?T2k6L;G*YKsEgvO<@dd1nQ1e?aqPzR`EE; zdi^-UEx9A;I!NFQehX8GqWr7epT&viC&tj4>#%NM(yXVVnJJgJPhP>kuUp6*cBi6U z2ay|MiyVY@Eq)5{TI=4#HIJP`uC|SjKG&W^Bw_e-|KM(|xQzEc&QFpN5o2sE`ntW{ zZmU`Rnw)tg>{YhcQ4>RO>wKM7#koxm+t%JGsS;O7n^ZD3wQan@7-Z35O%~tr*1-8m zO+#1pK24!KLM{w0s#1^$-USCutVFS(2GL4fOA+KZXnAG!=~3Jx1xY zk(UMHIG9CGq>B?o@B8cXDOdD&3_mfI(ufmN{ECGS{+&hPHj4S}_!WDE?rn(b!ziZ$ zoNzMJ_gw~}tqUlUM^J<+RXn5llQJmMrieD1Dw-(T*!a(B8-Z^KcJ>j4^qtM1$f}%O zz*BhDk`{d#I51IBBO1W5F`nKyf&(rY-<|r2gj~#yeU5>h8!wAn8i>L3b7_te$!AbP zz*$~Mk_s-7ZXB7Z&awtfr9&!LNV(LUZpyz-MR1&}^op7Jx=aj1$xoBr$q4=mK1I3> zuk(#lhg}3)5jjfqeRNC`Ri+sH>PtO~V9FrXMK#Hao(a;CyY$^tqYQyU5NBU70l<`U zAp$Uts+H?Uf9KUAAZ{M#*7gPrTzYrBE(Zu z2nP(3Lh2^?b`A`g>5ah7(h|j$V=(6LIn!b2h=^-vW3`JtOD#`9`uLYY{jS$yUs+yO z>2MhI-It!)fqZIq;R!Rewn9jwn;l730S(tCK`{=hE+)BJP7k$4qG-!1LOrZ8{&OY~ zD3DRVhFvGVLNDzq4r-@CDT4E0R3k#vN#H;QDfFY!@z0e~)kJW4J7sgNDzl9xLhw@b zT)P1uvz;)b!LP>l+!XOT9lsuRR1h9GcbD1av%)sYemZsc+b*+2hTzxJ;DIo=sCxG* z1;8a~hs+QO3-qJHYE(c6Oe5@=>oieTq#=8+HMJAp{BN}9{ZS>a;q;kQB{KRE+$$5b0|?Fw70ibTjsb?8fz|% z4fJOFjX^x7gGq+q-;r_8L*V$v74va&s=4@f4RPVz|66@vyxTG*|8p+;f7>$ur9Pm0 zjPvfoKt8ssrt3FRc~o>J!nomM=L|uCg48`xFExFS85;L#DW$gEMqNz092lKL?>=ET zRrvSgU_imjV=vV#+{(3YkTei3EbL2URB#MMcsyfZY%dxg# zL(%Z(tAA}sXUc#NL6D2js(h$h!wINwn`X7EHwB|H_}otW69}c#0r*vNxt@&Wh@ru_ z6uy&K(3t`rt@wqPiV8J1&XXu?I&9cQSD82vETq*=EKX%tGA>)wc%hu4Ie*jl9b}Yh zDiQfZYK^Y3?0%{Kth2>&v%pmiP-w8iqT+5ex)K3+MN~sI~wrq1Y#`WrC?=Sz%A^uL90$(j!PY$YGQ1pDIH9 zSaR+g8vjZ@?A#d{cvyGK1Gct8ds_e3s+ zA4O%^((3+HAAN*@}G;ElZnt0Zv@)WJ@v@%whzVew%o$TYTpn*0T+| zOagu~t#k8%%8Nr666x9j74S2X)#NFS z$(T7LLf@EDHaMLLze4nr6O=0Fml%9H0X~4xI2{)@6FyHS-P%exz{Zp=(H}K+B0p|U z@4LR49#FLHyPRm4FNBvuz5BrfOOo zkqJ+jRS`9mzE<&j>v+|hU?=8pI*VI?eMuV(#`o|#hAKI+#GG(H!-n*920ErBC(-&& zk9vdp+VB0%$7r$2TB-$A`En5D$J{Wwh?_KQruwg|I^}(N%?AY?UCrB0fO=^Ii|8HF zQ-dPhm6#LA`5+^p6JnTkNB3#QFKA3#FZ6-S+_A&K_a$6okCIateD$$3TBupodO`Fg znww= zmmU_Yi2ED%`c~SuB1KJ&R19Xsx3BPTFG_lnpM&nL#^Z~`6IbJRywsa8k^we~6<2@P z7)Z)VbdD%;SF+!7^WkwZYSs(mw zrnkrG9Ezxa9p~9S%xGL`M>eu8pUCu2+@IJb2BtHtRS7M~-Xq|9w;*P zhKaq%V$O(^F9?eq5VzOZ-X(_8+l2=$J@i4sr~S|QDS(ELP3OXq`l=)9 zEYfahuy3#EQ6KpSu#0p_INY{eyJ6$?p<-40PyXjl*t!-FD_kdYhsWIQm` zVwWCO@z=+TV}D48={M_h2CnprI}JFPvWE{mk5sbG)+JDO761gpF~}bf6`hBvV5?B-lQUBUfHHE4TdGd*`B?hFdWbpLM_NuKa6si zI=^Mz6Ay}-s4WN(KLsE8L#0=n7uELXO2{m~lOZidZ)g^lCRcu^0c9=4P)sH5_*arQ z9>r#pE-RICS}S{mqQ$&E1(Q$}e&lrpX4V&ZALEa!4OTJzeRurR8)2p6z^lc|KZ1FL zf+Z6cv>F1mf)s>;l}A-ILkNG=n*O1t5!^!RWMQjwE45d-wOvo_hhYBTqZcW)Ti2*} z74nUK&%3323fER|+0FOcr9;e_LDp)BIwH}{o+aGFP#CwZ z;Ij6{a+DG6isUVifV4JR-5OP2a$)p@}$tIS`x6IDz1IzT7OVd#(XtVZ~u#4@~Yl8!xV!JxbSt}t5QxEr6 zr++`{MDneFty4wZQy@JME;RHr@0TD&egC+Su*4*|=u`or_)L%FoScX>F}IIdC2_e0 z6$pUR8vESDgrrJ~>e{vhP-j;sR!Xx^YrB7VcK2u}+*o&i%wQbs1PE^4W?`~>b!}>z zcVO0T0djCSe|T~LIywHnxz45@1eM+!Iz3r}`|)G(<#1c<(I2sJ8m|uU(Pi=O*tY-ESNNf60sZ(gi zXiS1sQd>c+xXy4PMNJCmFq)@{>q&G>Y*q+8Ouh7iHT__dUxuRdT%|^_GT`YDOF_Ec z>nm5zzTv`dK1F{Aonvxo(Hbh$yX%aNa+g#($3A>?Am@%IsWnJJy=zSC1Mo5;xAhIx zUV^@{pk^x?sxpg@V-?hoXPLO+*>YK|Fit-H$S*}KN;%bHTXmbE?+`n{%8+k3|N2dr zTX<(L=I?Qi?$>V`qS5E%9vE+qKQn2y&Hsd@j>&t#ALsKQ|8*x7W7M+F3&5`w2ePAO zm*{<(R_g`zBX%5rlg6=VxHoN>t3}nG!A;OA@Uy`i8m6&FSOTK9)gDe0&@IlVT{+24! ze0;(m#s6TLoz#b54T>_dP0)w%HB*PO1<+FjNyJX(!?Fe+Ee5*3(m@$RZlWl;t^etf zi?h%G<>xOrL?a_#FIlyqR> z65$Fg8mbl%f^ijydv?a26J7O+)IN2-l4Lg|GK@+!cAK*chNwr-WR$5sXNMegZs5ci zYb7(-S0SQDY&eYtMt9%Csw~;=b!8*l-A+)|V&{mUw_mVl!YAMi2(ln+HcQ#0C*RJC z!hPPyMBb))3`RL>adpGa*>`R2LQO`<{x%0`8>5uzO0GJ9MUWFeJf`QE#%Z0LUo65* zR{d}i8OOaz^y=4~ZswOa@4BF8^f&>B6&)q6cZhisi8%O^ZGegL(oV`Q;F3t1Xp%>8xj7o$yu|e}u9-qc!MphxXa6b*|j=uRPJ>-zg6MtyM>_OW$-Yiikwu z7Ak=OCH4hAh^MHnhIGPhzc5jU{`vgMRn$HoKx~7p^#LjL_A%xrI6Y=`cb4u_Q2HFg zJruWa%lS)xoRUem(b>Y8agGzQW{E=_p|+8gGKMTYajl(zP*HBe?ZfFlPmto@s|Zmr z*-N-~aQWMdM3lIKEW*cfdMYPTHJ*oQ_8AE#tw~gcu4H_imlyPm1`IY7Q|KiyV?%&}P%z!=;@R zQWTf^cKlM5E4@{z>6-$tIKNK;lNm{5AlE>3_gYhG~_Bm@pHm1i;ZVX0P#B#PoN zK|(=x?~*|q61&pLlU%}3k?q8vH9hk#%8(+I`CMK(hczU6rjA;U0BAr(=}kY%2VKEf zsP_gMGj16){{_#)K`z0GPl-}=MB@?PMHQjCX1GP7-UH*eZZbt7RHLE40Z2zt`aNiE z^Pw`;B~6!S$QMLX4;x(tRCX#*1X3ZR8qF#9h^oB(jSQgxQ7BR2nZlg$PN_p>>LPDh zf{|7tsJ77RR)x7SsG4-9C>>G^ym|_yE>)~*l?7W{09IB=m8Nlpn^_|oMXh?rs%pgQ zT_s9Y90mfZHrQ)eb(&VLVw5O#aOEjvr^_|i0hn3v z0oz0X03rDV1q1*H04xvy5&)+FqW}N|{}9PZtGzhu&GYDBD2`-lo@lDBZ0n9d{LXZ3 zBXO?Fcklm|oe(h40guSpa5!ihlh7z>$#g!Y*j|y!1q8m}fLA=sn$MW9dc8)wH`}h9 z%C6hPfVaNa_I>t%AP0klg$DszfqDcI1OWt)V1|>FgLju=idh5zj+kMUp`wSMYI&L_ zab1z6b(E;E9gwW8YNG*_v8c1Pt_K3Z!NLLuy2iY{q_)G%zsv&0i^#Qu#9F5Oq>gXfT;3q=jW%Z4ubsbh0sQlOqcN-sh0a(gcON^WSEmUC8lKA zkV4N1?`R&G<>^k&oIB42nn{x=i;n&L2@N=_1x$Cuu6o?c^`JJPkYsk$s&45nMlF)! z>zL)IE?RYt$~6gWp-4n~;KrRRH)_|vfCDR)r*{qCxoTYsUd-6-SxkrJk_|f5O<}{4 zPX;J3mThGqHo;`h>2dPl&ps|=9u1~0#&oEus$P9~GcI)b5E?LjI(7}B5hL5ajSyGH z3hrX#tIi3L+9fZ<6Y8Ng@DU#)r6 zq>M8@Nsen6-65iwqV1_A36J2yCN@f1!$w!|g}IoSW}pd!nu1n?%~h^Z3C3UBO-SLN zvPA041RN2A+ZuZ!)DC=datZ>M0}jbjMLbHv)r7HD_oAv6j1lO7j!B^DZnEy9RaB^^ zdR?y}JffjbA7NE0|3;d=c`L3KMheUfFr`GL1<6r+-?BA``jL@-dfNfA5-57muP%{m zthpP6N#A4{?Q{s0Ad;!?zVEW2u2%#FK>3PAD z`LYQU-aIO){3fmR(g^jCk+{39YX_pIZZ$LqDf_e09bUDR5NEC_dNl?weQfb125FdE z$ei^%_I)fPc}Yvvbd11eR=@4>7kGwjhd~0gy^@j&A*qkpdRMUIutpUpx6FmZ*G|?h z$71pe@$KVg|D2D95w%Nc13ld#6y-hi!&=n}%F(wGVk_MS;Z^S!kw6@tmLcL6yLrV0 zE#>FvJmN^bMAcsAfNsZzrAx5i7%Y#07hWIG#2r9m@x>c`w&~-kXt1E8<~|~?fUAl9 z`2>_2H*9-IOahOKDYWEY^&WzL@#`b$2=~V_wtL0=5Z?VDkvjd+DtXizo%Y0pBqa@y z6(O2M%n*14_elYO2&o@S9!Qj5yu?Zr{LBKE#xCn|P+%TWRtTr!wV9C#YWoo2088}? zE-{Kdgh*ODQ0R|9$$Z48;Oob zGEE(%T+}8va0*4#$`ZT)&Oyd_%HK&PVr=jP_SEvjFb*+)oZ4KV(8sb}*3y8px~1Y$ zz{wg2lXee0)zgewOUhl50Fz;XqcTY*OmL8ZSuEZ$8#Wea_~3sUZ-@p9j`o5TA4MNGfmJnS`sSIfNGUNdnx*liGomuRpBsmE z(^}{D7sXm1JTaD_gON(X(QKUvo_;TT{utyJ&!4 zc~z$M<#PF9ybNmey5l8pBdrUN^B#dC>CKAS%==vqcq(ZL zNnfbkdj>D)LK(|7VM_S>T>$UPgsD?weFag((pV3C81cq}e_+CZHf_QcEH6ez@L3GE z$!GS7D>%sFVaS4DXC?k_hc)rE6ubDvFpg3;hEd-c+t`RPMg@U$438bZO~gE&0g!`C z00jRq z$w{ldIP1+5`os5iWNDsgs+!2)zHltdYi-{++Rl6*1HhbcNGy_o$fPnEGCH5o%W~;T zMz7fHlv=fBzu?<;`%;F_(Vee51_s{n_#1$(LqW2(-YxI@{d9JM9V10^e~5{5djJT7 zk2ig2g^-mP1egQ?2b`UrpPo;YmS>r!r<$OutExkeq)@1tikqyqx1q3SW3sezt-8TB zsJ?Io$E&rU!ps_&Dyst00-V#<&DazKE1TBd)Cb=J+2kgjan<6};p*+~)8&<&;0N8` z2Ke{_1qb>52CxRiE0NAxJ$C>8aY~49V6bBBydB`j(BDFaPYyUt0iakng!%t8QV@_& zTD=PXHd^ZFF#ySb`(Ek`*{!0=N-RCf^d~K0&z=cyLIOY_C&Y>~c_LlPv}r|eLMyb4 zgOnQ5s1K*Ysajy?Kdhv*#__7uCfG`1;q*hg7Gp4x@zTC2V1TUCyLj_n-6&VBUA=$< zHyt;y@0+$h_nsAGcvIEI!WtvS3z@Ou$rhJZ4ntJa<(+>4ZXP6AA7-)g7r%sM>v@9BoYznD_1C|q5^$dgCOG=WodveHw43P9wU zgiZwzoz9-)%>?c%mVf#ay5jNZL1#)$>>SZEQ1{>-%@hc_%pTXlcjr6F`owfCBA zseEXGcus9~B8t_aP~(acAR;3^;T_f*&+Rkl}c_W0>XunZQK`H2E7_J*n9rn;TrI44Ed$l;Mjo@wAqm2;!MR zjTl_$+>?XGL1Ju%c3>k1GQPBEU2-rLDG6@Ya49}pYPx9+LnZ_#O;Hv)Y6ev%091hq zow-!0Qr2o~Nl%1kSB5)P6J!8PeYt851{_ope<2DxECqo`ir4?2ju{JTS8GN(9|fRX zFegKn%Hi6b%i3_Ndm=t1YPcL6I8mS${qo+pkRs`3vl?79u1w+lGAp_rT$^RF`aIfN zxvKJeLO&N7=ZCH-;VnJ(2nEqpW@M!`H zs_{!>(`mhw^!HmPf9bg=7}g7+Ycrx4Q5d>Qz$W-YmK#z2gZYc~D@W zl)#~iRSI`bu}VoSh@wB$XnGUN9;m9KtZcLj3>usTCdk4)6lUj# zU#Oofh)6&h`m6)C!yH4nr^DT8?>H&|;TJ?FxB36c&w(MCfCvGTKv;RO8BMaz7f~0# z4O%fXGHYBSPT{>EqVJ7IdxI0pLkgC`K@*3Q81R;ZM|}+OE}_9e$KI3$ImuymA2Hu4 z3MscC6|Rb3$&(#|=7;kED~hMUWPvPM#yy^Af3!HC9Zf+=xGiOG1&c%${P+gXoNsob z+})ADq6qoj@^HDl%a_&{6>2!L55D{*Fbk=l)R1s0$_!)%O}Q9a_7afM%p8nB=E_*! zq;y)bWj1AzL5VdJ5_>8L8Rarg%$0Ih=S)pnu-VQfQgaY0d_rI7Sx*6;j7{uJWrc{7mRVN0Uzw?K7dFjANLr*%FX8QKET4 zqAm^^PLm3ef;htbWw;ml3rXOzU;T z(%mwcIh?Dt&KFm5VR2??rQ;iI_tNTxONqn)qphN-$1{>crBOIX{ST(@aU_2}eiBJI$e1;|Mc~T3Q!WEV$6`<&7P+Aho>V+Dq z2+fM<0Sws^M1FcTt_mnf0J|tR3Z+l8+jEsSnCYScOeN5wb+;=B=W_SE;0-Tk#fky! ziq{h4J?~G|OI7x|_q}$|E_|P06ym6*6Ox**mExe^+Q6Z|78n2{#_(SNuOJAJi2wjQ D4#z+P literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/标题_03.png b/JinYuan.ControlLib/Resources/标题_03.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ec44242b617cec5e98a1313b026ce1ebca5894 GIT binary patch literal 4375 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 Rc<=xK002ovPDHLkV1fh7F)IK7 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/标题_03右.png b/JinYuan.ControlLib/Resources/标题_03右.png new file mode 100644 index 0000000000000000000000000000000000000000..487bff724401c4a60d3fe54c18be8a0392d2f9c8 GIT binary patch literal 4486 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 JR>|ts{{W_2k+T2* literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/标题_04.png b/JinYuan.ControlLib/Resources/标题_04.png new file mode 100644 index 0000000000000000000000000000000000000000..1da05f144e31771193455779263c5aa97877b06a GIT binary patch literal 6263 zcmb_<_dlG^*Y~AGixMO{K@brHA$pD2B)Vu3JqT8>tCwgIEqeD+g6M5mUx^xv%@TF> zwh=a~MA_AD`9A-`^TV8(*PJ=;nN#M>nRq=NO&TgTDgXdzo`aqm006P(^;n4F#x+&u zP5gV^kvghss{%k{GWEF)830f{cT!i^^ES{_yZc;2U0PgLT3SRxR2%?6@dbwdrfDa4 zl$KBI>5SE8_ZqXn5dbe=4aG3MSqc3oz~((YgUUd39F;NC?OXXEqyES#Do{b(TJilh zN7WB;uM>>k$o%16sAvrd#9^^#GiP0xe9ZYc1W6Zui$NfDtHc?QHHcP_o8?Z{1@(XL z4kx}1S|PnlzlHebNHzcfdnAy6P@e|nbE0~8fEe(Y61~STw0afQp(kJh+)V{mco{I% zL@5Tqu;{B{CSaHaXfSMkO9i9@02mUi#tVF*0e1gBS0V#utI`&jf!Pv{DheQx2*|mw zd5>776RIS>svz25wZdVHToypxofi z&&uOt1Yt{tlE}y6n00D)Hvx9Ra}4?)@uQlIjC&sbyF4wKmD&b**Z^QQr7Vsv|TpyaIxaBt`zBH{#E z(+NL7CG=3_BO7%pK=1fi0&)TXX>fe9iZBr{mQ}V60A0UW-c+VDYYkEWz|-Q02Mwy^ zH@`B~^wQ>km1TeeBFyyFziIZ33vHlW9!!prV%$1&;i z4h(yh5m%`>r&@sc4n(||WE0=05K_>?cO^cYf9TQ_PmgHQC;3V2tI}S{&Guoi*c;{Z zn9d?Rv&03(*21M24lSubz5M0t1B84?vI|Fv(>i>dvw8C|R>L~plucmhj@_oIlyS0@ z9jECNzuWA+g*G^fd&CLhjJp(;@9DpRBU4f|O|?wbEBSZ%S{OPgOemw?i+>a3O{>&x z;SXfM_XpU@HKv$8s}cCa!^Km`Zz)L2Xq5)KNBjNLh7J`Ee~QF&>gO&XG)Sb(uuN%! z-YH*8U?;`(`_cwQQ+UnYtW;PEU5f6fv+sQyFebTyxHT=xl6wYa=?pKV?3Fi3%Znt` za*Ds`k5v`^r1%miSM>V1Yq6i6m|<)c<73}k{;|9}>WDIt(y1T0PL56|@5Hu!Iw%*T zxHPhUWKFpIBHzYrNB#A`NfSd8H3YJ~&+5V F}uV-?HM`b;*Nl{5V6(ToIpj$<}m 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 W#jh6(?$;kT;JJp*(>gWl$o~V5r&dP* literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/组 178 拷贝.png b/JinYuan.ControlLib/Resources/组 178 拷贝.png new file mode 100644 index 0000000000000000000000000000000000000000..08ce6606cfa41d8ef17dc24a5577adcb7ba758f9 GIT binary patch literal 689290 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

_8K{g(Nd%sK(3?ry6bWFE1z|YzH|eB$sZUA9-C7 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 z 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 z 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%0Ab$Pv$`;22+mt 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

y11ETeTAp9QZZWugQ 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�V#9Lho~VEBF|2;20T8cs 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

(XS%Vm-iqvyH8Fsw@G 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≪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

{;@;HpIk-8gpF3lv00+ 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 P0Dlx^KfJG!HVyuNj()Yd literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/蓝色.png b/JinYuan.ControlLib/Resources/蓝色.png new file mode 100644 index 0000000000000000000000000000000000000000..17a67a47e221ded3e38b4c558c9a48d938facb0e GIT binary patch literal 496780 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Ð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

_Mn*Or z1zD~G8pKemOlFR%fH^{4O#eR0|QgIf&_N1DfYjFsY&7I+of@fGRZ|0 z#i+rA@eJdwR|n9i9>K}Byb)wYMq`T7lx&x9mqbkh9^^tths)K`D76k-1uEQ=J!E(^v0M7f06j2!r)t+bJN>i45o zb<96vNguR-;l&9Q`Hmt&XPNikMOy`j-+DEQY?XE#5sOZWXGYF8*%0tGTpXDK?91DF zil@lmMIHu1+4U`jw2GSdn+^KbJIsUs+Gn!?)MNB3)GV|=36iaWA{>&7Z>OTSR+)a1 z^9qxO%3q7U+BbRWIms>SnAWGVA%2of49zXmY267)O_x*V723!V1ADY5B4D1GmeGpb zv$P7!PB21_yItVNk4SRedo*})2%)M*<3}p8(AZ-@gbr9JUhE9#TiM$5*_^Z$iLfv=MtI*rd$ z8bwcWymtQ)X88Q(-^XQFqc?TE!zk9G>$P`0!=aNqXu%GRZDUM1aNJq(h@gyI;+x-F z!#QVCIjaf^>R6@^Ow`%O<<6lO1njKNXGvbde&KWX5$lrE-cokH)Yr|*l(LU7Ku2+W zgA_RiG2g9``uAIc8Uy~*=_|I6vopAmOPoe24JL#Bn@_|6*vWX@2GC9j>&Ukt?MKFx z6l=vPgeex3#JL9&>`!`(1441Mjmv+ltW%nF=ym1Jl5k!|p38I;&`@LOe-G79v~NL3 zw5a(oqoUS78NkVC?e)~Pgr+U=5)h)hn(Gt6mRK==a3zLisZ=goVn20b6wkZrs($y% z@|n8SQ&c+&ywGt1-$n>Tr4rG7wR8^I?;t$erjr7#tvPh1sP>Wj?mqI z+}D~WH)CJk z6Z&KM6d&E{``vng=y8F+u!;5v)iR+IgS!H=7DA7V&p&?BI3I3yaZX%U)L|fC4nIp+=n4M zM8&y@CX|J?ofKjj;&2Npnc1OdK7p;k&Bu>#&M*f)r3nPVxdcratYmmT$M?O%j#YHh zmP2OsR|CzdFQ%4=u&TCvg#oarV937-~Ly@>hoHZO1lKvzJo+4IAU~lB*JzKH~le0EG8IiHUt1MOiGx23O3p|Up zB&NFR8{ITS$74+VhlcC8HIwCI-m^%JHG%UWM%c)945a-lU3D44}eSng2LGTE3x>oDz0>ZKK7kpJquu_q%YeMW2=HNgM= zJ-0F_Vxi3+W=WcxaDt~jLC|8H$V822S$VCO{`nHEg2V%oC5*tXtUnD(jMooMNi% zB*+8Ynis{TM1ot;!A?=r8h2-OX-M9cMhj>Zb-#ZPTWIpQB=%%y@x7bMS)G?Noz~dJ3Q^r2xFE$0H zIPu<{ztF4rHL`X(zM@4>&GWB?Sa47|C%^y>2U|XKr{1eymCbD2ta(XTOs$pAp547TyY)POR&Av-__N|K|D@F9hL`hJHUuA{a zF}-T`IpWVZdtAkE!{A$ek(FpKLEL85Y4N{aViea#pQ)KrQLqB3NDhFaJzH@#pG`kD zs+wU@vc|_f8%p=i{DfL8<$V_3DW@tH4x~XDZ`T6~krk4k$6NT#s+#c*s%U5gjdgM* z9N;w>DkU1XWZIFF*h077PTE2lM1x91)Mxbp}RV`z*IrB)@Dna`i=36 zIpU8StUodhPg4Tv=%CPb`EFISTdH2Dn^CBmLj?nM*7g|yFz*?WE+2(ls-T7R#)eO| z!-eBS9l>yYKVp&)Pen(v+Y4HJ=KKGyx_s0S{L1#kVtwd6rqAS0>;6E2(aFHJ{ z&PyIhx3(^t9~-`%1xv0P7;pL7g}B^G8Htpl| zE3z25M&*>94dIR69>X+4<&cpty?qW8SOV{R*AM5C5?h#7exFLrMaau)+&zW5X3Etb zPtUMwUB&)rl1U zEhxs1Q6G&Z9gfu*kkW4PdE#CP4$6h{kX8LFnhqagp%jDz6r_0(w)4^m0br$nHMr~Y z%HUIr!RV*Lb{S5iSV@4IM8oPGjoQQOQgGMnm1w0L3{d45*f*E~)>6rYmHri;KBv^1 z|Mp3VF_LuL-e&B$q#)uK$sQO*9ss*g#psgQ+U)A`8Dw^-SR?YOmMP>W1({5cJ4$|} zEw+xQzRah7GkU3~Lqm6UCe-$M2H|YkzE9-86cYE)iCcJXsOM>X^JV;W9la(8U;I=`~NsP3#h2tuZv&0OS%yxMM1g*q`ON%Lb_8z8bs+D zKx)V#2I-Ink(ch47U}M0nD72S7K_DNcMW&q^4#;Bv-fY0;Kr|RE~?J6H%Wz*YGKE% z-X4|R1W7&d5`pVOg8|oeF8kqI_rRmArhZ|mHrqV&DA$hE&mCLCg$8&>7uhDFq7KE= z(6)KSd8wfKB&pV**EkwE3daGRg8rnQebJ%PPMOZDoo`w$B9}t(&nMa9R*lueAyQAN zJIuN<99U}Y6Uh`w@O4_A5AkzdKh5xOZ%26s{>p}&p8XOgT9bB;9>3fWK&YK17j2>c( zlznGpn$!F=!j}*LrVt0bpAQZU4MYA$B;qFICJJ?sltm14~kp@i0T zyJRf4e-5(Qg2#5o5;_3gay0j9EvQruT2AJHTehtabD>Ib>yt_jV-pkepm7_L&n4}j zq?x)&Hgf9X+k{Wp+S~{LYW3s5=ipVa*5JA@slc7zcso4A zbl-;1u%yy88G9;TXK+R3nYs4u_I*@@AIDs1{%EJy-guB%D!JowtCudtPwXmh3d4lV-&K?I`t0tMAF&-2U z=Z2G#Bw1JKPbD_0ag}8Vz;iNAF_@k+KXXuy!WPqPP$6W0F}=)dPF%1jT+}TyCcQJ1 zr2^=cZ~6JE`R9DkX5(Al9uQGvYsTRE5?ZETzUgOYZO>Ui_mW9{1cx47PDhkn+bfm5 zh0aaQTWshMGaesXjog=(fsE{%^{WW~7of5MQP^RWG5;yutBE9oDYdSih%h!6AzBiBDr=bpF~~XfRAgMN!?qTrP-{qv$+#RFlSL za>eZstgPR4o0fX2^XY07Q38B034PlS(i4Lm(eqs`R*+#d;Mt&D1oN}Tgl{suaoanIp%(vg0c1Zd2U=BynrmNZvzqT8vm&A^XI7Ra@f~?vkm>C=AJK+knPab^rg ztW|>kua~RJckcY8>zvy@pVf;#)PUM{l^de#8!2R>+pYu`IiY7mrr0Q!h})}~#;L`_ zIch^1?>gV+CgdIRs$`69>vP7@S`=c7U7|t|O%BLhTp>lpZz62E={n_^*IVQnd^Xi_ zklgh6Wt=vihFK>oMGk$G_|NL%)7;YzvNuZwtK5$V79jl5?oN5!ZO&=&)Rxmmz^ zf8VJm?VvH`kwhA{Xv%nU{5U7o{KLkyQ*$GJp44MqHjGh35=AFPw~spCB1+he&h;qh zn$e{^<@YnDl@^ALy_>ty5>jGdYiOH9-dV03 zS6a%)68C~~fFEbS&$yxOY&az7 zN1#5FOluI!B&FFUSl&7iq$&@PgrS88BNqLf9_EqXI~>incE?O=AO6N#vRLG@O~~aZ zp*&{}+}OAFdYFHbYHR%+mvMCbVzv0@7D|jzi};BBqWKIPIkmJmchB<}|6xk>%{nTa z&Kp+u_c6k?sn0P*8tPKt6N1!yI?Lac%0OdFvtn@8PdphK`e4Ag%W&Wl7w##}g`KB~#{Nthp`ImC;c`lLEqV zsvTo6>*!|shj>iG`YO!72B)MC@m__#KG7cF3GDu27(a(KrE=h$6G1&(D1nlZyv+ye+znC2TG=SzyFcjNT5z24=&L zsuQEtoD)ER6*;c%st1t0-gVA_`z4LEmMTU5wql!|Fl}X{F7>R-OLaxXJR}A3?JF?* z@>;CJro^(9$Qk>1WuH3+Q^u#!Y%ol7>C3MwlHc&BU0Ri4x;tQ~`KisM2X22+`=Q6O z5y}CsR34J68eA3cYOL^r&L?*~mpzvBJ8S+xo}#C8a33S2osJ z1g?t34}0Qp z@100RSBGMv4hz45QnS_Hy~HgUe0DgD^%2?Hl8Z`8JGjYcOtLzh9$hTqv;DF~Goin; z6c*N@A_r?~NusmZ{2w*cXT~H9St?1qtF-;%8cGiT+U5|r_UnU@opLoy;iQ^hY-P!u zyiw5sCEvAN>j-gbntNTYeP0^(w;^{0Knnn6{f~}FtC@?OGB$_-dC&07!=op+qLisr37H zWx}xLFMiXH>3t7xa!>wNnn$1vdS#;h1z{4PY4qTK&)0Af52gcZYP}J&-`>h4h{fX2 zQxc2Dtv+3WCrvS6;JEMd*%uu*@6a(a67VGCkf3V6W@Nv!*9A>aUS-hWJlfo##d!zo zT;Xa=K(44Mm_@~BEoH=om#t)w6?|_+u7*#llXXsiD^@up5AvQY))Oms#;gQ9`-6#Y zIPm%(%@D5JCu^|{O8j_bg7BiDzW;J+$k^tSC{R$@-cI1xlKG)g$ zWVK*Y^B&_0EO+zgtNhSQ87j}xAs9#!7o^PK<>W8%c7@sGK+}vdJUaR ztAPGW*u|jUMfw&n0Dj6du~Bvh59P`)Qy|dVNlbP9nE^WYtkUeXU#v@*g`me$XV3lX zPcTcouycxAhg@GeI%RU~PkLUff(VLlR%zDA89ML-m{;2=8ZC$;QW;Ib8Suz#a(5_D zDXy_obV7L9r~WmUO5?ZKnh|9UYBsID zN7BRALm53(;NpZnocKE5T^%46#%s}F_iqh3lD5Ty5ANCR?*!|DSGAd?t4LbEJUd`gbh!W4auLJUq6sN0{A zCO^n#0l;;~`H$Zz%lC|fI!9h8-H~FCFmf8&@-+GMFU{bfmQixl)G%pE51qv3fi_}t zsjIVK)V5;R4%C^zeRJOK)dIFW4J-{Ze*C#y$Sa+T0(K3xmM(R@NATcErTK%&^tpjY?Rjli!(yvnt)X%@o^kSV7sz)4pUcRY zDRLs3@$N*E+f?Gi3tJvft*NJjYBv`on9cf|%$ykbwa@-Eq;k@Y_W{U=7Xn zJbvzu3Y2*Z6p>H)!|<5iVC~pG)dP@(J68&4hS>!A+1t?zhjEN2qa+Ar3GucCp=9Ezmpr2P)p03hN3e|b*K_nhkH_HEIje!8JJZYJ?a zrGB8GswEW~AZWFSY4MwqBd}k=@jFmtpG{z$>4=$=HQe#lOK(F10CH6nJsLYk;4RCQ z0R~q5cms{h>SCE^>Ytnv&StF*zT7#Tmt~#AKe!~e5cuBr>ZSdch8p9eD36H3Z<)u< zSUTO|1Be|k3g?Ofo6WXx6pou@j|Ct3t~BHs3cOhR#jOhYiix6)t6w|f3Cej`?4-!214-9Ej)E(l^Sq&uDmpB6?3*vq@O`FqY3(9$V`NQXZ8z@sc9olIbxKaQ2^Xkq zlrc}n{7;q*hCw~sh^3&ZISf>4P*>(s+PGNLZEJ1LorRV^W|c`acMpr@>>qH+bBo>9 zDT-4PtRudm4NI?`d6@h%M+%<58Odz<8iF@hhp(huAHEgH*dGJjcI)ykK8l}F}~ zPyRy(b_FP%#Heis$4mk&R-Cl_Mx@Sm3qg_mBKEN-lm8#WMzwlB1nrh;LJI-A$l0Hi z>Guw!V;Go)lkfwHp+a$UPV?50%GmqJ8>stYtoj4DPQiP!c-JB!f63_MK%4myR{0SE zdBi^~4e_I5Ha-QL*YD)W;x+ggB?S}ayJ|I!9i~#`n*Yu)_?_UCwtX~kk@QQd9>C5;%=x~D1lQ_-$`&p1SCroJ8P-p-^nFI}JPHT30G?^2jIl3B|fZvtw00SdzKG_T1D`#MPo(zGr`n%Y8W0G>*AF9!a1oMB6+MAxUKTMvEnlHQ- z$m~A1YP^Opb}|`{QWUP3@&m3F%OtOG-un!gC0G#ZfFE3GrA89 z_xG+D#SXikRJQ^N4H$^p#)EG?E7xbaL@}|cwI=*vna+<&A*XZ5V67Q*@hj8HtJ``? zV*-PXs9%4`GG=Ksh0l8!<6RKwz(n(Hvh783>DcQ}ev?vLeeJWKB}N|pcjia8Ydmwr zoUGK8anNxGk$^14VkixZcsPx~>xaR)#CWXgr{4ufA&#c^_K4++lNLRq33dWKiE}y< z%p)wP$;!m5Z*C!u)>tW7-=*e69%dqTvY&e$p6j4KxL(v62i|-uTwltgq4f00y*-<| z>mSd>eS29+C-1-CesadN@+9kkyfUYu@O&-tP`X5!+v-=oUZk501%Q1`sofVQQWQ7l zcfM)oA>~)Q53iv&=usaT$j%#bTXyA|LcIC>Hl)(Yit)yu;M)+*JPG>Gie_^&!Ryc6 z0*`tiXYrcfQ|nY2@9~b<8C{`e0k*z+?c}C}e}mRo#wdk@Ur@K7F%IACfp-nxl^aP@ zbLemz=pkGGR&_dl_*8p&N-JeJ4%JNB)GkNJ9)Fqk&NT@yC}5g{JfIQCr|S{Snk1J>SsZ~GIE#akb~;g zvk8N(mufi}WjToB)gZ^<9|AGtp>y^>wl&dA{fi}-eM`gS=9-8OWurzcy=?t#0fYzh z8|ih=K2-&B2wHeRf}m8o%TKb;17G^zvpNXzb!*)ot9|!y)kIPIf=OpM#J?^+&GFGd z6s6hFt5zr1Baxq^`RjjQme9|PazXtMrdswjKMD4B7HsM3e1MQ0?3MYVP*On7!;yc@ z`vz*zSUcjXj+;)gvxZmW^WPX-l$ifbjs_g^92cbdP=ROhv#smZ3R$^& z!L4{ZZ6lRS-wDEwgbKjQDJoy$KpxYKSWBH-N-DJFvw&)6Qoinq6CMbjq;V0 zp@Qb14}hSwLub-QZ=T}o>c7aUvMULb+~woQ5|mP-&-EFd0`KABkVJ0&rsJe^TFJCjEkxBkA z5A*<6rX`?P=Y2RJJ?6JDglE?>PbUAldafu>V(aHpyaS^~M@t5AyT?`}zs7|%wa9$n zrWN~&fs?|LUK~H)>;3PmZTmiB7`9Myt**y^b@nqRQNOrxN<9dyLPtE7!AYt{^N|;L zwqswvi}gfqlNuasR-Tt=fcpn;6V1R=x*KDK?te2z4{#~>*16Mt-MiBGQ#vxJUGQm+ zt~u8)(od@oSmO;e6_`L-l$MjU%Z1^5(4{f>NZ5Rb#hlc(^aDIG_ps4_ny(~1k;f{k zV7z^wsP}0G59$& zjDE`VxuKla#l%6!E!H^G4KWZUDmWK#rl=_#xV><0vjT)(h5F;2Ad~e=J?akgK=Y7k z_-J8bs(R|`=^J~g3$$3*g9-qYSljs@ob9B`5CtXta>lgKvmP@Ta9pvIY9HxfLj`VC z6Pu6N*Sg5WSVf>7w9b*-yWsf@V%~X}*!4zJcDl`yd^OO?_EgJ;k1wKp9cH{6B;TGR zP70fr7##09fs=N|{vOhzH{YFoUvv7%{@L|_8w)rM_}&{aE>WWwI?B9e>v2g_u^Mzj z_t);)*f&d^6=Q6RhBwjJ&Sa(vSMSNXp#zsDQM#>-O5K=EvMyCkEd~SFqcJ zJGvsq$1Vp|!iAYC+i0`yu4}d3fUr)qgWhu)9);tL>0mH*|9FqTC!6+iLB5= zDHFkST%hY23_9q4uh`&_850nO;fJq;w&9vq^tnX6_b7QuZXEa}r*+G;xNjRq#TPb$ zvs_4^hCb#|f~b?&`L%4^%}Fp)*)nqGhZAEgEkh<*Z&B%usL%T^C)BHpzR+EiNp@T4H^r_eYQ(q&-o zZ`30O0lgRsX=5)Y0N{R)?o;X6UaH8dE~S;O?vq~un62@1?mZzbx(P?mGRVdw-RVm^ z7p1p7tqHxv?P%2e$SD{J^od87vkn9dvU~e_Ktu3)L;IfWrV)S(YAu@rIx&D>9a$T% zO*uFox8LVEBf>UbnH|&Qfg{9NO3IN(c7V%oKlYmWv}W&f?DsbL6p!i~>F+HJ^^59U z=N}hWpELXnay!$B6=m26Uh<+GYg9)>it7~{Mp_is5`R`D`iTPimI&K>v0Bqf+xRf2 z*S9TMur(wbm5fn{7R}txlbO5B3swZY!UdjF{)#Xr&J8-@;|l}VFK{I>#3ejpjw+)Q z28bJN-~P`AL@Mb^GaMH3Z%T(V)G{2UzJ)iAw{X_wYiS%7ktZXVnQk!e|^9pl^X5{Zoq_GYMSz5f;qyBeajXYr0*!*Kug?Jp95iYa{Q zNQl-j*c~IOpvfI>CLUr#{yxnh1M#X0+~A+@#Y4{U>0gFk6Yi@3NU?lRchHty-@B5H$fn>p0@S-;uiA zsQqxdOib=y?7*)DNVm*MWZph1(2)1IK36=w8qQ4G?i_75L`w1}l2oG!+?i5dHSusq zzn0$n{>zg#&)#cjLw2XV7epW!U;#$=Pf|_pj$y(D&!}FJzd;4E@lf+V^P0N8y&j|i zehsld9rWscSk;Lcy5|Z(L;GdN6EFcNwCW0iJ=?g)=8Nh-7eHI6$u;ra1L1S@iH9(bE~x%01NF@7bCCni@;7 zYJ*J(m({BZ(ZJ)y1*Myf?(NBk_oC52^7D-g4E$e>+DAq$O>g4ImoJpWxjsc`^E}sJ z*&IxNxk^2v7BuZ+y==)wyh9ZyoQBq|;8m|G zN}II{o?B{+S}j{zz*pi1_;cFOL)nzDsA)nC)p;e?2+?pkHDB<3^JqGL?nN~Q%-p@% zj?*h4Cia^k$jDH)NKj)k{*En>_13oVGquQ7Z!5}3VDyS ziDpDefhtFq+Ry1F({IxLN6_obQp<3{2LYJ;5iXDui;Ov_+IzapM1Ea(C`6Bl4CvB!lng?0U++-ld#k>6=rGP{@w5n zMf_Om8w(%NTC#6Z6b4}ypZQ`QNr`+PXT4O7s9x9xto_X9-~OWUvuU;3JkWB%T(kol z+lZvdh-x_2uY>l5Z}ss{2ITtm)AS4gd zKQF@P%-uW)z6|jHHW}~8ti#0HYQ4tBBnA{~Db9@A@U-6DyPlv)T}%I<_2zOTC+p+Y zt|HBOUT&Od7w}Lt#?L6)*i6O!r&F$YG#9l5k4}V6o+~S#pQ4EY`ODF*+l>X4B_mpd zKVCt)JBjrPb=c?nD;`ha`G`)x%P7hrwFDDYp>v*hzp&Yw`O|==sj1@yri1i@K@HKp z8q$KUqQ=|Hs^-2xGxtEiuj9}yi!&CG?v$4F49L>SZOjW?Q>pGfuwY!Ns6$%$47yXr zJU>x_TC_eMJ{W#CZr1=JZ?sUHN9#t2O%o&>D(VIoS0>XK@BeFQ9hYFX7zwwvJ&d;h zMogE$eUxLnvE-|$8F-F0E`&zGA)oKyNX!HY#H2#?qN*$Cf?3m8Cw83f?#n ze$jx4?5RkMY$*idW&HLo*Xt#e1`k74!Mb7cs|b#^gUr{cT#a&KBAyR(cTb^#d=@@kcMh*U3>BOy)q6BM&L*aSIDDPTh5lbTr~agT_iUQ z|Nc1+Ihl3gdF1$E4%FWv-S_WwJehF>)KZoNbK*^R`QqBYdYJ?**S?C`f*5+WfOtlZ zXUYUo7Sq4^_&9&Y4NggvZY5w-Z@|2OO{M9FY(C6Q$gCQvy-QFQ3BeH5u`Oo$zWBT3 zfq{V>89r6rl)Aj`84hb#i%Z1So2u)zj-3zD-gbX_4u{Rh6VRAFEuSSAa+6M9r{|@y zcDKqsCvE?iuGKO2I9kz0DyzW9V$CluYTYO0N_a;*;q2KNbLSs%QOY}HwNbr^{rZaR zk(%1lR)UNqW5$8*mDe*dx=FF$OwxCL8TX1}l$-r*e;|lp@f3BR>1i|xF@H^X)XW4jXU{qtoY+x)1}10BD}*taa*|)w z8!M-2klD=!ziiBkRHnyWNa8P<#yMMf;`jv??k~I9QE`b;N$cp#ATN-^0DAtxX$angBJyIsrU=rzHAa$@ho)WXw1PdV) zse2O?^i)OPFL`kzqjD2e8(dAqhN_2N&YMZ8c;=hNAA|{vVLgs8lCP-%yfL?K1WG&p z!HF4tFRzy54UNZ){GGRK^cs@;XWY(NR}C}5Ys;ETCb(B`XrNA0I@y82Eo?!F*iRqB zhvl3ym8NtKB+|(>&Qzc=C3YIdeY59^DDbm9FtK2&WsXZ9#wRZZN&9}E!!2YX5c^`! zG&y}}K#<7P?hWrC2wdi`)Pbi2ixGLp9;k-{kz$EnP))v9R>l8|eL+bIKd?^rt#L&Pp|$ zw&@L8afrytw%WJ~QoLv?!=$3{!EQNLgq(&CGx<%CN(VYVj$JiI zn#MEHg;+h$q_Q$bG$y@3ub0w2_HLVgzB!3MK?8!<3y|D66JG-KffYcvI3VrQEIF~j zq3XLPqBqFIDu`4{S0)Ti{o;HwSCDg93_>{Ht*!~4JAo7GXRkiclT9vxgiWOcp`t){ zJ8s2q+S=ctPWBosc%1Nyr#TMBWvKOo@K-Uxy)ySPUkX6w$h9@dNwXL6V%5*VoE6f* ztp$wksXhZhyb3uZ8_1nn)b~iGh?(0Env24pJ~9covlmYgHhZfD(MAUVd=gw;A2^QC ztaZRagf|kZ+Q|q3~O&Ty@;Rybs3A+7bIN zIv@JNRHo2@P|fbKI5h_azExB4jAg_*N9)~a2e&pH8a2|I#1cBWj1!iz4PzIsb}9MR zRKNZs@4aEU>06S_*{X#eR290;yCJA^O*(-Y;`fTFjBBgwB75)JoVUh?Zr_RjCZezN!7d^#K`v5*9KKX^C?9)oOHwv(x5byv`h+(o zXXk(FDAV9;y*v=~AwW-v^4Dm%85;Jj?>6qd8Fj1L5!GM&Vbft9Dx8A(*6*me((hsR z@bCWBk%X|gZ0P&UiV!vy0#DC}zV%(`T9ktC+yfj2Dt`w(w#A}6Rr-ZpFZ+dq*;hmC zj-*LQgcZ_so<2$dfUdIR!)%jJ3RL*Qq`J}tf)YK_`LV{RJd*dy?%B*rbzqSAYA|cS zK_e7u8a8)hhJ2n5^DzrJu(+M8W}82eLvXOjq8G$3bnu-3KnckA*NZdI&SrMYzrse$uAqYc%(5Tvdg@5%~Y={rC|n{<$#|4rnH2CYfrvj`aGAe zI}x#S_!a>N#uU17xU!|d^eQz0ngfnlVm-5`*|10ibGDFl_n{0-&wt-J#TdXJdJ)+4 zD+H5j@kuwo-lIgnL`ik(?gdNcGHEI#9aiU2u3w_8I<+9ukr$JlI)j;Ni>m}t`BpnN zT{ISo8OR)pNqwZDq{=+?qNrogM~uH{m%5i|5`7i3H0g7)hq2rI%s z=NzdMY2i*$8(Ino35Hj636<51({;$%a)I1whfJee7) z2Rx9LP#5U#YrhbfK#dBd;oGzZRBDP%b3v^^vR%)|z@6JEm+#wL3&CFFsf=5Dx$#jv z0&O-g+EFIO;`QpTw!@O`m@gt4Wy_d?fj+LRms*n?sy?e?Gkp4di<_yU(6&;5P7f5pK%T z6HsAq>TIaAkpWi#4WZS=*I|n@U|lLmo(S2!HuPil6Oen6~^{^Mi7R2@HC7JZtC){F&xl6s{`-Mu5Jmw;7Fk#R9AtDJKwe*=wv57 zL*JjcG&)h#W5yR)SmsZ6udGoYc#!{&$3BP5r}G@317yo{UD#l9Lj)%BJsZR&{)2XcNpoZBvx8!ey1qjCi}rQUO8{3-*d?nS&DQ(wGjf!oX^7T67emI4Ujfx!v3~Gdz|Aa^n z%juurqBy`C)#~m{Bd$Mc?Y)?HY^9y%8*Gg8%>Lf!7%p&SXXU^tuI`_<9hrVn_C7CE zFXxB19;}k-)yDFRJIoAv+lwX@MYxLM`?Hk!g@IHl1w4Ep|6g!Ly|!_)^lo6vdr4Oj zLhthCyfW{M#m?tY^^YK8jOjPmac!9Liz0*`YlMz!QJqH?kudwLlDqC|Tz$@ApJyE- z`Ie10)$nBBpE1`032}aZ$HM3uuRo<3^E9Zq1hTw^jW($F;A?Wqb8+PP*h#NkM$0Fywr)PlVA~V@SrwI17nW7a@*D zeUy%X5X~vvS$IiQdW$hCaVq&%pZxgGK1f+LrpZiv;F~xJXFN;*)xLa0e}wS(aCp!R z&Z==!b!_)7+v>u+Ho9RD-uTt~=Kh_K5zpo~?~_F)sXufSS(h?SxIkPg%=-a~2y7sK zzL9UEGI*VhXzvnlSg{F%eF}R{FgUj)&bJti*X9Faf$7N!V$QN05zZEB-Va;qq6_hO z2amUXc0V`$h*79Me*29xa@qCu7W7^$Sh###k_G?$SJHcWlrsq(%2(tnQ)A{=mq#&u zSwMAFzoX|tY}>;6(`j>ytjhjirJ>OI`Un2C1{kOUY0RW&NSM6;Wk9cr0`wVnd9yQC zQ7VrVAg6e$2RX{e#)lpa1wanI`1_F2I7)}Nep`lfo7OrBdF%dlKXOv zb+?cWk{GansRg;4uKVGpZ>02SRQWM+hr9 z0SFaA6-y)jqo%Wn+}@ePy}Ou9m$)4&ohwT9e6s`ZA>o8D-E`f;O}?&UODhC8BJsLB z+0*9oicvFA02s4BNU^WnDSCwiq!P{BAZhbV#=Xk71xtR*NvLq_g9PBLq8=Ev9v!WtP$CF;^zKV{16L=K!Q`f7y-pl zOBe)Pzxp&J7iR!qa$C4g*xYzYnS4`zzfz`08JJ1Dvc6C?|1*3qOb-0I-9CX;gK@{XI`; zmiT?r*E9>JaEHGHdfQCW)Wm2M&1qi!ef7zi^4ky0I+(+J@^@B^ndHJ|x+R`O6JDyS zwSntu3sb38WOVOi1|0WsDz>Y65fF^;^`s^CS*iO{ z)P7eG)Gks=8>fhRsdEYb_0X_VF?OuCnzj&G_fi*|2NnHe{T{6B#iHI-0C>IOG_dK2 zCJznRXJSUHn@XhRHDJmT*`H^Wt0fO9?bPb*G5sXcE3jmnXi;EmenaxoW#mG1k9$a; zFRDRJ@7<&lEJ=?m8IKTs5!ly5aVWOQ89p1cH!G^RP-5P}7a)PFLDX0W^^(;*MHlHb zImL0LRhb-&J}B+T@oD$Mr#;dWg%n>vQt*G(`6&Sw(kkG#PApOV&N*YdXw)*YZu;`u znAh-~+6yaXK7$vea7d2;Z3U51@#2IhANo}Og&Z>}NIYm%OC4i|Pe<$R@eUHYT`CtZ zO4#8?ztGOz42`1}8xSa!NKfr=iFt4UQKHY`?J@rZ;Bw3~G1|~lQMdqmCWoMC+!Vs; z8-|o<1_6HZh-V)jx9C@|gEkW=&~emXp?@PSz3S`xc>NEZ?KY4lym&PN%Q9+PHFaUV3_SJ}kHA zox)$*t!%4P3O?SU93nD&J&!pF<#C~=QA4$+14|h$23BTM_fP5DV)1;?41V$ECB_a! z_5nE_VX|670vjjMqKutG3526aLirO7>)se>6Sx|8&NypS@yc`@n#y^2Rb}(~6L^rW z_(eVUN_(w%%UPy66y$-!>Z8Ay+Ah0!K#O(QwT*N3<|?6+vzjZcX|$52Okjv;;E9kcBYpCbL7+bl*Q)B7Y&JDY6G#N zOG`c#0!*^dc+ZK1f5D2o+~YQM@?y%m)QZZ1JAK>hs>o~CPeHnqW`suHM_jO>s_=g= zv^`SFMWTyL=7qr8=Rr`XWzakZ8}tfds}DO@ePuuZAYt3aTvGNwjk3&Y7Hvj z(pl&0EBM|lHdpdIs`@GN{wb{f;7@_~Z5_2YcU>U?tz)R0J#C`C>0Y?4%%hyqESWHP zOp!7JqghvD=gnP64W`g9GJxY?ZP3U)*Rv_oqp+SM#e)oP{S1D43O(?>>AdZ7{c{7x zQN!BY*r{?1Gv{qL(Cg0R*fx}Ui!%O2{FpyJ4nAgd{o@;<(D!D+pMUPyKke>=Z>knw z#;!Hpfj2LBF*!8}`AR+92w9dN<$K>amOB!`XWU}D$`aKi|pQPp6=3U*uzhfs{ zS~VpH>WbjblFFI$q1v!|Z5RanwuFHx5-ZJZH+RUBsvu2LK)U@&C&f1}as+Ofsw1Sq z!N8h|-zT=Dv~tcC1_(e_TPFub={;WiZ8h4^1hTXyeP2 zhl~Swz9*m# zY&hk`7V1icCh)kYXiKVaW?H8*D2RRDQ*D}S3c0YuOuK*Hd0`vad>ia;+E*BN?xCQZ z^R82BZc^0^U&tq9Cyy{=Ll!X=P>A3`&MQo)l_uYMx`>$h zW&efb1+ZkZ*P}PW2nG~M$nFeX?&J#GQ8Hg9UC1m|Dce0$3PXXXJB%y~ zZw0HWq4}w$cE&tJTk3npei|Cci|5~-YcANF&1#UbCM=tAk1@Po2z4O08wj${5J`i0 z%u;&$?^o!Ag2MGp7ZuB+b+p7u|MGO zb!U?DPKlE1<#5q&eRbrwFnWJ+er6j!BEOAZm@@d`$0n1F>xa|)gQTG&{sC=;fauI` z1sReGao!BYBWD;l;yFs>dTA;NzFx9Rlxh$sCsxpA1`_Zsnal1obikO1B=O}jECH)B zrCzLPUGu9IAvKMzn4OLlVZ9hC}~dAM|Q3|aXrg5BWf~yVAoCf9f>>J z<8Nq~k}4>e%$#rAEpU&0Qk+UjIcoYy@>*o%$D6io(m^%5h_>ji%l!WK#mkmCnt!A7 zY~WoWW6hh3jSfmAtkdK*xAU&eZyaSWC#6#O8G|&b zO93mWdD7!1^b5!3sk?A6M}xhsrR%&V@wcoj5C+>w20aIA&~4@Z5luiEQ;hycU~}fz z(%efmUNemW`WKnIyT_`vOK(qj=k0nGbavolSiXEATO^4O>Ix+vSkqujl3VBbqp@eR z?+f(Eh6g_60XSx z^)N~qZg45-yiHRg=t0m$lIu+zC?1l4puX22B(te4{}A}|YusKU^6%YI7n0o^40?i} zD{HlvCgxtO^}HSGZaTXQ7#8sEV)3qVQ5&qgoQ7?@GrX$NZ1vX~?%D~dX3)J@nF(vT z6crb8Xxn?-XvnKqUOy`Ai^*qt%N~nDQXjap6)sRZC;-Wc_QzFaF7i+1?I%VbNWw9v zO4ZeIW(JbdqtRdO-2Lv}tn@B7-3MUGKLps*;HZHqC=nw%X6e6hsI9x8x#~(X@X{^j|Yo zk@z%1FQ+)`k}!|aW_E9eEie#@Vn0zM0bh=v>Y%FDL{knizcLyda=Wk0j4fQ50O{nRXq-g2cM9uL^~r#J z^^l*uMo=+D?q^SuX5}J%UY0$Hp(1f}v+@2V`A{kpprumx>hFJ~u_FY{8vUXd`(LpH z>31OF=I_V*O``W06kvjPv4)FJ`?7D3XEWk3sYw~Es(7pgl-Pv3nv)YjN3%^R5s1Rg z?vC!K$fU$g$wXQIP06+24>rr&vlE3>LtX(BAPv*j?|6aqYsyp{K9EF5uTbRF^+{1d zNP1)}&*JXP=P2wZSMIfzT_*Q=ad{czjrmhA?VaC`jJ(h|?W04y*!9eQ1FdGTnv7fi zq=o%j5pnjn(Y!O4!8Hw^6BJR!f{Lx2VCP8D*V7KED5L{)Rv(1wuqKN|u8proSgtrn~)x}ON% zhV9mvGe>xv8yS&OIruyh!QnXH;36@ZC*lL5+us6;R@UyY+={X0?dF<}r$hdE`>jvv zAGfOYdHgp0&OavK+7!@?j0_2U^|qPe-4=b#>0zGabo2Qo&Su;J_ppnGPOfwH$^RUb zA2e^OcV>OHK~`pP;oU%h28*3^7PdNBy~fXqzgCv%f6t zD4|Mw_@cfj*i#WF2i3@LU6-HbL5zaY-5>K#E%5+X94ad@b*pWW*Svix(3=yN$McYo zG(DBHPq_vmyIlcH5?($FpGfNEYzC;k=&XB|#$DZz_egKuKCI%Gc*!NCd5=yzOO)f4 z*a;Pm3G~Y=t1Gv~UDq0e3<_CV=*{N!vd{PZ(XS78vMHFK{N`QfN*-b<^fH_ zdY9+^=E5ARY?2O%KdOJ#yOoYle(n$Eh~CC>?&XuenNrtMIg-9&he{Y?kW@k0Z54U< zi~EbVrl+kC-QrtxAU`(bn9*FMYhOSKOOL_8$UlqsYbjD`9oLckSSUAc? zZgwro9KYH88o^@ZuO@NdAACPjY%`gRzW*>T{&<3>caYP%^vJ-tHUxWGu^0J2iq1ML ziY^M{LkrT<-Q6JFAl;21Asy0g*2olnr3rI^hE3xp+_t!rA+?}1fGtZno z_n!0q-rn34iOb@keXOqg<6a*eR_IR}*0Y+ggEuejPib>6ukB*kZ1!F>+`eQ)!g5!> zj0;W}>Idqn-Ys+_x$eeC)5#%lIX+8zAr{bBjF9W`jnMsI$~~O$>L@CJXCNCQj~{1F zHvg7_Dl5y^*&WlbBp7wm-03fg{Y2<*`Q@wFq{&it zb%JqWWNhJgjefHGE|%~~ujhFt#vb5;{Z;cpL1hvzgK>m$<{Jzfl*;xir-3(tb22z! z$yMfzhXG!8h?qu3%g)@7L0R$eYr#(TV<*3A+;CDSIu3CqAE#ha5-MI``B2yo=Uo>f z0R9b!{F%!xruHFI^X zlrt^0ThZi-rtO=#Cc2Kh6`Bw~oP=r#Asj~)L{q1Fqhga1+pNPdmN2}&_&XhxSB+y3 zyJhg6@$4gGUT0&%7pg^Yr@l9h^v`YjP~L#c!-x&4%iQ$21hB_Z$rwI=FM>tS>{3y? zXZHG(f^=dMcbQ2tQ?6le4Z)oD!m#mo#HTBS1UOuiAXS?1T{j`m@IfDug~^0f|G{{5 zrz8N5g`l=J&2s%hf%h?hX6j$dE@LV% z(+{t`X`-B`3q`7X?t4^kf6bUZ{@QpyJoNr;#^YP{c_Zo~nZxG^sfMR$mlt6Sw1!XtYQEo??=|#alH>bL9wZ<|RW`nB1Kk(fuV|$*%rcA2NhKJMnx<_cMGEXYHg;Kijj{iLiI%}D zanVNkP_$49CuG>@?rFOucY4dQWRwteQnX}f>$2(HPU!=|`h4d5ea)nT*5R+u&R!S| z8^oy1;J6DaU)NTv7lsltEVhYbPUNx)&C%=pX`nnrT1Q4OmEP*o@Z;hsL422w6yvO& z;tghuUoG?JP50~x21NlS@47f_Nm`y)`uX-=o6z4VxpLh<5jL&j2V}A5GtW_+%I9bf z2Y)Y;A|TSqBHvz9I(p~BM)2#-mdH0<+YkKuy#oY10%nf*fi+)nv1-l{J~W8sO|Su- ziL_U(+rRIJe%@-&yD(P&r&hgy*pnmY-NPffPjzT4K=IGT|1g~LbIpo}eIOM)MvlO@ zqJ5P9I`8AtoOA{d>VUVeWovRT`?&j>Q+(C#;{6|9PR5Atc-uwz{Z_v?uT;Ls-;2i< z_4{{|+7dG&w;k%*F8Ok=BkGp$L zVGGh&-F|&fetlhfBe41pb>$~2JngVO%}dN<@!MeniqDsathK@6af!ZpW3s%Kf$KJb z{?v{tHCgalK&2sY4A#Dc7F>CbJSg^6>+B3aqkfDdf1%?As* z@p9mo&~tt@m>p^UxA0gvDlT{dp0GQ-)XxIDMgD)O@1^K>&=`hY;%WZy`ZN)#@ay;U zqNSTG{p-w4lbR*@qhFS8$7A8noa_PrIBzHd9&YZ-rk+tcVzu)~_#It9=NFO>wFZ)Borln)5%WJrrQnuUN14=rGjIH)`VS3#CBBpFZ zO5x{8888HhP``Gd@as0w*d+fEdHJARD!p@}{*<6RB|a;YVC}X(Uso;3c z_)xs6l5^h;Le6kmRbKLId*Kyal_U)1;MT&nxc5}wel#(P36FMV80~qbY+00SM-C)% z4}FLj581(d{orF4VH3LclEBQ`7fPiGnbXih?k~Bm-bi1&;;`uFR1Jwj&(f~GDos&c zl0mNMfTXvsAEJS+cv9}DX|I#qL4BPHV$olep$|jr+1l}8Z|RAUDI>;fg~l^AKDi@A zKC0F=E-_P54LIo#g1X>$ro83*F1@o1i6mOtysTqlul7L;_?xXUJf?AKXt}u!nJd6 z=V0)#y-4Ar79Cck>Fn6^COH7v>D+kuG{=ENA1VHMROZvnU%q|l`C@(W#wfyTr(=%^ zWCl%_tINC!@1qeSY6}evM|j{yUA$|XPjB>bi9@t^)M3I!*rY_tf#n%%O5CsCE*I_V z-6G|`zQziHFrLyR#fFj)YA#EnoVKoQPVr@6He0B$!qjK8an4a~%^|5Z7Ymg3^)}#NdzH*or;><`umdXml!#u|ZCBbrgH* zX)-x*G&?|O&U-3sf}12 zG>|>qHIyc={-B%y8XiIJd|N@PHlvt16JaS0yKYutFlzkdsDGZ&&W|b5nDKqZhJQU+ zc{0{D<)E3Ol|Jj7{Kwn&gGu3u6!^rXInfFIeE)Oe_&%ZRSMHU;cp(I2(^h}j#2=qf zd%ahXEb(f@4>`o#To>MGaP1cANNQ#M{WmS;y>-c`_p~=`EGgGAH}$BTU~FVDTLx8*tfH=i0>PK<*NpF$Wh9ZeqM>bA zy$Aiw@qKh~O7OX(c2yaD?+*GS#oM-jOyS>lVu^LtAGyAftm7+~FQ`o?w&!>#&kOjx za{d8aSJXxZ{R;XgU3<{^7s!0d*ZAE$eUasVe?Oc7=01WvYPpOrwin}JE%+I<+K7qF zO{|eGD)F1neW)%v%4i@{0y<84e|FTB&rCtAlA-~&X8x>xWd{Gr+LmwZhK1K79oiP2 zna;g;P9EYcNyRC7gr3>u4J%3vv1;h%Bbw=Lo zL=sxwml9BWlfs5Qr}fB6=!2`+7m%A;Mv3&syiTu!2k*S!o`rfy^Gi3$PM)OYxQ2mW zjr5p7Ai?d|)sImi_6(7*#Uz-2#uKOT15(8ZIbKV6VsxK54Yugt`9xG}7<)C&3Bg|> zm3jRmCitH@l2H%#)i;$a4`t}G+QI!hPLH3*9A!m^KjqpR8KM=4Hc1w`%zVl}r6CM$ ze>-fKYnQ?4UiE8Y<<%!pv$9tHp6T->q+_R9{cVUy*Za~_T3$+sWE*IOv5zQ?$i8XR zF)y`S(@31(P{g(MI_R*F;|&F&`4Tjv?uKPOqy#TH*`Teh@WK}i99G~F^L{;`Go3(f zd|7}Fdflqy z8YHFAyTSQv?v|CgV5$Aw^7C^cK|Epu`KlgogTE*}X&d&V%tw3jp&pjG;XF2LqrUL=K;pOD5|L69z;e`C_fOOqF_wI0B?Qz#3$tAxt zu731P{mZU)f9p(LYp+i|CzE+O5!_sNg;)4IttV;v6j?I+E}aeUnc4GmQGy3{+-nj} zJJNR4*=XG}=L~Ao^(NUZC(U5y76aHgZTgK4Hh~|b4e8HRax45^m+u1r<37)j$0HNG z$@lcp>V!$xR%>5(r~u@C$KBS5Krzdz)<#3l4?(9^x2jyczVD<__xIvDM$ zs)WOtVSoE5(bB(8QkVPu*U`?-mtbhQ^xm5v!Dr%qap0zW`t+5-X>L~yv5_GM!GC-y^+`l?WE?d_29qTC4D=WS*8$?6NIqkAUNRPZ&1_}j>>2aDGKQhmjDqEzA!g{74GT8KAtU?ZEkdmDHT-7g2$ z`tQ3?3x3YWQDoYCz{3NA?PjVI0XLLW%L_vM&`Zuqc0L2$WPc)m2}Nm>BHF)S0I6cDf0$H*{%j22gjnDDhLpy{TJHqKppO!NJa!IVHLS?hBz@n8avzV z2=4~{v!O-4tCYM}nZ`jR?|y$^CnMXt*R$hc3Y_9Z)WA#u<0w;4~&HId$% zU-3fm1?f_j3afM3Gp5#i3GB(}ggT_A+2NrpAO*V&e?kWgxmtP3rDC}RBeDg1E?Uxu zB}v?)GemzW6xVj*!%Iq{5p;&GrFRy8=SuI7Y;FUIGm+T_@42{llBeB<@)X9bMjXe8 zmi5X)zgy%fs%SJ(u`4>DnK0 z;HWgdcKga({xL;K$n9$iZcLv~cB&2{YSCUSN~pGHq6mMJGC$8SO>&GZCYkz(p!IL! zjvjguWx*|{0q!sqMY?3mswg^55~Y#Qk@kUFw`y4$JxJ{;owgNQ+Lk=B zP7TMIg{ZVknHCk z;f;+Y8W9brK-Jm!VfNhnYVKiI*&2%)Ri5z6#cyxW*QBdgD}0)4NH_Yk7`QA`OHi!_ zRO3xmWaavZRwvra)(zP8<0Tp;we~2K$dRh>%4nq2gi8&Xnb_;5u4do4w~uJ-4yWfgNz-52hh)vI?X{%L#Zv#{9z=d0U6lDH zkt!S!6Zl0`&{{uTvw0mIAS%&Ro9IRL=5MhOnv`R7J-AxmC~D7KnM4Z zyHxXsUYq1==yx@!i4kdzut`3}V5+sh6E*4=MEoJ&$6yP%iG0IPNCM(yWTtM%4Twtg z(eU>9N=*Mdi9 z!_|mqH?Uk3dLot%Q)eNw(4W=T0Two4s<^97<)qwp2E?F=Yq_)F*#f8XiR5co$Yrej|-C%Vx>Wx4v9?7JkLbS187qKaY)0C_9NtAj*?qg;@x zL!wMo%HzzW8j*#a`HM2`3$q4G%U0%Sjf>W*0sqEyECz}~S!n9?Y1S7z*PMj4bPp!D zM4B|EG&y*ks?;bXfH{DV15eRToLH9VuUCfjZ%evygx@2FFZd1cxE-5{i7_zQYEmUC zYBbflgC}lxoFpAd8UmI$`e@k-I$S`BSg!DrW6{jtUXY7gSC}X9y)<5?=h=}70Hpnr zrti^F%nU_MnjU_rx`=W_D2tNCtLD?=`8(Lr`DMdQlUhH4$=L`WC0fa%@}mTtZ)Qe% zjC=CkLzHZV51kG!+UPF+VX=pdx1yiZtez6d>tyENwp2GGv#>fhT=b$G8f|6`*UZGI z5_DuualH~AzFb5q{19Xz2Fq9dP>W>g-)49zIzo8(Kz%5oIOPrvI&M~MNer!&mLl)- za0I*MHK#YaVh(cyGcOFCe*NyN5gd#Hd08JZm} zGd;7^ESB~#q>aF2?|^^xm4LxkCUFkcj#z%p=l_mLu|T6A{IFmZB}Jw5A10_Y=B$%+4y z$uZP|H?_eNL1x7>*;4h+qUoRLsTx34hKZz{T{o^-&dnJoibGuV@pK_a)M;Xe>}>~k zMQSjJ@^&Q3$XFmxGFxyOh)zuOYfDx650<^hao#93QFOSk0XM1HP3XKmHEL#P-P#x zs#raWMMXo=PskW0A0@PYb5U!}YAMFVX5g>`n38nZuCW}!5O|zcgn1u?otl0&~Yi@fO=$;vK(=Wj)b~HY+I2RYQZ9w5FX)WRuiNJn^L6Iu9S`aK*Wiv9WK@lM4R3 z<4UbM)Un7#hB>$OW9p>wG-6=6YGScj{__)yLzUMj|EN1T3G&kjBC=l_5HWU>?-?_* zt{+$^nD_NQ4P>YR!82zq@v$AKzqxd;p(;jB3%mi9)R}FAnLAe3jB+C9CtuAtY3Nf) zbK*}HKdxK0A-GX1unZbcEk4sx&p!Xizj02mJSpGUUKw$kTpZuktUySj$d8#l+vg&8 zx@W=IzFI}N9=Fq(sAnV&2WzLZtuz1*BB?V3M@j^S)-v_auI(p9Hm-D~uR;?`TX?Q{VpC)jiA(}NF|PJvV{irpdEYHh zvFRz-)QllemC{T}o!Mhie_V(TI;Dw5$kp(pvqy1p;mUvgh0+r!_TMk&;)+2qH4m ztx4zQRv|No!vsu4iPk?ekQjeH>3bhwx%iel-&ILTp(G}9#T9>$IXpL`x0{mE_>I4_ z=|=B?1yt32@`~1#IJC<5ubahT1ZsFLVebO5$-Q5*|9#jx@7Lk7Dh}a&+x#zd9&aT{ z;emV9a9FF!X>0yVi{{=h7);xpw-#64=r9hB8t}u!g$HaDP0UCpiNP z{9M{UErF@^=C5=#rCJidS7nC=1XDQqDR=XfwRn!?vm)OOg=Jz6DBz3Q&>=<7Y%mqG z;F~j2`IdCq<)!|z9iD>FAG)mRM|1wUuu8VoAsO*#K4u+wNW^TFXTd;|uXts!d{e=f zO0#_Zw%$h?e6eyAb&veG2LQSxWr{)W3M8{ir31N|aC$?wVDURz-tMzYZQUBXt|HXh zbjPMYleg~Asg5F3^4WycKDD}^fFE5ln-|>Gg+cB@pUyVp$7V5jdY+hZxM;F^aU-uQ zlnNg_#%|I8ZSN!xCv=_U1oipHMDEBA^hnLFpe-OV1Xq*9sdquBsMjr1niyl-=cPa7 zdtKtzBI#pFYWCnilZcPY7&~_&d%ev z5BbwHkHsImF!57LbQtO8COv)0D`8icoiz5Hmigrn;V$8P)0D7vHJ8T){$O~VlXqLW zuRFmk#b?qI2T!W8ckZ@MVhI_D5)lZ!STr)y%1n$M7;!@+^1gcbqHxAp@PfC{p)aa$MUOsOFC+2t+Khh86) zSm<hYD3CYLa-L1k}dpi(-KbwB$TpbUS zpO~ZDtWzmP1SA=|(V-ouXVtykapOaOCY8fBzzugyN-F%kaM=2@6Etpfoi?ri?~wQ7 z=@@A%*6(1Jdh%084*`^noB0iIx}I(~YFQt@t!!d0gun%_E~9&4nLM?A zl8k`0zSMi~_(3u8)RK7aW6Ph8;%2PRpMs83ln(z41}(J*GA=8haftMOH$HT{+k7Y% z2P7XKdslk`8J&)QfWdE#`PvO0_|VS3EabDb)Cr1K2%lx3tF?bPVhm`g_)e6UoRCh# z2wy%?0tL{Apd-^R;&bcDp~1k>vu+o$<>Q`*Z?sy>r$JED+l>{1_muJ8xsR@hKCq8L z{w{~Ca6sRk{C6Jq|j0P`G`AU0TK^ zXSrxSNb8oUDUpses+=4>-4=HbNka0VWsYVcmgBi)WDXnf=|`RKZqt!m zC3+{0=A!9PuqK*98PyZaEHsq&_6;#~pvKuVR7I}`*gB7MBU84d+A*hj>ZWFnmPAW* z#Za|c)sDRjK#)`;iCR{l`?*L(sWk$q&SEm79-8@Eb~QaPv78Otz1%7I_s^+NPP@i2 z)8!tE&Ei$~xk0f)J?h11(n8}=TC$>FBPW7Gqyak^NPucmmIr@?W%8%Q6$l+pAujh| z?l%M+4|g&JoMu>we|33EP|5y++$68F6{Kg8&|Jb<9j7_0q-kd9QzktTj^*ae-QbT` z7~h$hl^(n!?3`^f<4~H(tYZ}c4eU>*%Na9NoD$+~tLmNK!cJb`*qv72D59aYZfpn$ z=4U-o*=_P5cf*^d$3Yrze6(3sd+PJIK7(qW_2V#~pkn1nwZj(WlA5 z!Q1{oxB3NQ{iPo>KO6yoSqlf^XCXlD6mCtc{#=_O^80yFD$mh^pF%R2CtCaEfz_yg z^Xp9}?yhs!bUf5sq`><AtIB9A+@f}vt8wIi#6*5aAT0D z3zmz4bN6ns7uNc0%PaoZ0}d#Kmz;FmeTbrod&dJF={@_?TFrG$;)T)3wRLI2!-XtP z3k|^gM?>-9>A8&P^e-)UR>jXX)3r-1h#R=rWehvOjF?o8pTe{796nLbrZTN6P|%n4<3wAy-*7w7+Id z^6UCN4V7A^@IXni*i68^`j6EBA;~iNz;td5V4AeD0M@;^HsXe1Ij?=A1xglAz7A?;4Gjor&ir@u zr@ijeo%B`Q&nV0=$hS@jjj*$?rfXxP;Gd-|bnpBOlLp^KwvmWuZFc@vR`N9IYHjMX zFXJ5j;W{?TRKO>1B9IvHXLaP0kqs9QAV^d(bG8&1Aacw~?73Gf0UOM1V$Pmu^bZ<&!=@c1aENQHGqTD!}4h1mC zI6Xr{qpY44WvElkdCbimay^F-HDy>RI_pnqExET}`u7n&-bh?X|Wmr{nccG+VSEEBh$AY1SpHLF(S4ebvA91LV zz$mL>M-?2U@I^WTCOcUC#WEGG_f1Kd$dJ$M4j!E3P#7Yyyej@-Im;0}3+k7fwZPfV z83d|+vgvfm!2#?f-qR1KzgQ?rLEY1=#H-}VTg)U$K+Ev1A@(uaX;EXOfVA2t6-=+n z!*Vqt?KA9-ZBYtLN&|?g@VH6XQjE#woO+6hWw2T)NYBSzj39nRtxGCvh*Vlc<%NF| zx_^>VDBa-(g`7X(-E~7HVhFBM#CoQo)%R_4nt?#Jfxwy~%~UUEto~YkDAiZ_cd}IP zJ~mVGRR7Wu#r;@+TrH?zIsG*`Y^}R*gw~>hI^;{TxdgmfNitVj;BbaHXVMH)Jk;4^ z;8fu5>rSL)kq%!h&L^ED%CF`kiN#?W5yeca?T|a?-g*mMpI10ZmNa`6Z+KdVN;ea9 z_+qTMUJVw!q03!EDL&p@mm7L@i$oW$^e7^8rn>TR{`K6?4TXmR1>`WQ)%I124=-n! zu~H8qsdU_s*O|KSh+~VITSZcTQl*Aae)&e|Ehmt-!s_=?kwFQ0fXEO@M-Xjx<4gnH zuLnKSyxuj?!Dmn1J0{O7Ew+T{_Vd1q;YU97!TRH`=FW5x2ohZZcK$Ax>OW%6zvC9F zh^)y}ci5J~zUSWwBWyhu65Yvd<+84UX^jhOeh_wuY{l&J&%_Mttcx(J)3aMEBIH9e zuB*DdUS6LARuStBYRL!|j8wFp;1$ngDI&UDn29ja!^hpnfw4Nr8_uVnY6O@_09Aij zDh+Xn$Uw5@?(q6E)ftxjCDTPDq3O!s-rIbySdP_^SDn)6GWk`kq9>2V1;$R7^Tk~eTd>CSJZr+VRUXW*#_cJu2>^mTd zecF>7tAtgWq+Q${f+he>mXZi<*@p}uAAd3Wu;l=Pp_AM0)gx-u?^d+&rTatFCV&!B<$^#oqB53pRS!> z=FXqJgC3oCf8%%$yFGK+E32mY=${lh(`dZ9een-xDa5 z*-sm%_q5xo*^A!Hnutf|CZgQ2@%!taXk~V~GgN|3dQox3o_lZd%aHEf8xpV3;B#b2btCnL+*v+e#z7nB^1SEaPVlCXW zz7R(o36W)!T}CxmX|ngiR5ILK!F^9b+GLWX70oH@!=)J*QDmljAZm$8>3o8%Ku<&N zgu=ie6y(e|dEn-&!d>Z5GfPDv#Rz|z$%*K~TkoK3Wlcz&L{!12F!yu+*DuU*8jaAL zN{bdY3c*et5{5&UF%*C+K+({v2W&Mc+Oz6pL;{!wOmgDA;EASWIyl=0a)<2SX`4uU z)x?6aw0wa5MT03p`m8`CplXz@4tp++?g_?pxS3^O>)}cKf8zn)FT(QiM7-j4!80ek zV}~IE8L-%d3_UV{youh@Bk~q_f?ORnTrw;E>5;NqIO3n7Bgk9Q9{c+0m zy@tNc(xzx-q@hDuigZ1Y?kzz18HwhIirWI#6V@_#VNKlf<5%^5PY82d z@e&MRDZ6P)zSB7Y&C2HCV)U}SOoP@UbC*7RW->ew(q1NzHjnifxSbZiGph{`G&;Q2I~^Z38o#6}7N%$Zz3Ed)d78(0Bm)2&C*4ka|57l- z#N9{r$v)hB39R<={UksFb|)nM=&A=6{3JtBtYTwBj5zJnK8wp|=u>zf zLxY-My_N+4m_V=at5#EGGdGU%*=<_2ouBH9yh6JK6@o=ugU(ps$=+mkRW#nE8c9HB z+|CT);FG02O`m6}#M`t)i>QF$hwgk1T{Y2t?lriSFA;#`sm=2TiNkfKMmrop@)~lW zoW`5rFmA}~nHihvaq;8~EndH-ahR&1n0ORF0NeT!2i%)JseptA-G3Tej~53Q=NBAq7YF~I8x%-{YeX&O(8&2Q$KOi%S9Zr_x$^NR zGZ0=4=;LT#C)#LMDJsTml+?3vP@&;LJTZs3%j?oiTnb4Gppzjw0WQ`&IMlx{(}XSR`6HX3Ns)%yzGc$PHtk{3 zy_R8ursvTpBul{<*te-oB^0D$Rn)8fbLTXD$`3rq$d;nVbVZinj=8|xR=P6*JQASs z-pBSw^VM`wVT|ltgq)Q(IguNCz(f#SRD5%V z4skgk>=LBwZ;0rN!G56uJ39f)$>zl*R+15*BsF{NA;JmUDE;^6h-s~v zYs@OnJ^w>>ZothyL@Z<)`rOGse^xeqc+Z@6<*<0<=FT4-7^}-CDW+Bd^eky%qPx52 z8`JK*8z*%l-8uEZOP$-@thay}5-oo6MhePf(1U~XP_6?Kay71+#Ql;QpIWXU2t(ov zPy_f@{cE~kPG9ancLgyAZMH9&@lyUXDz`op3hWBTRRMr?7~`sl>3zOQg2+<8qo~0i zvp96C*W2%G{>t_1&M)CvCy9-Xr-a8ka3$axq4hI|B>!bsLP*5h(QBf`gBUg7-4x91Y>>uwsAxC41HaeUc_>q~*5rt=w9Pr?l&Lv%QA}DUI)J)a7?LyC09e)U_7Fl{sWpTNr?Ck(+ET1M>r(YF+I_TqDQ(I(p4qm2(Cllh`e0SDeMk7JiV z(?sWozjaRu-8BWh%)_ehjJe zYjyz?UCsyFz0VRK2z~~h;j^)epNReo@AW_0&3T)4$b=e2J537BU1`7IeEIE3?0Fps z-KVUlfZg|g-d;v`1|%tZ0pQ~3@Wt`pTDRjJ%x zZHZ?x4a=fT9whU=s_#N3&7Vfe!ien*hHOQ4m#&J~isnR$kC0a=kf73Nf?ggpmKNumLs{@Tgv$!mb6VgT>qj^KA$a;SvXo_ zfWX1&t3)AP!glRc8%S;Ec%_?Vwlp5kq~<`SHrYJv?gVAcC6_uAPb|qSTkyz z=DOrVPYf<2PluGqPm>D`-Uf`bo2jidR(-|LTejt@wp@v8VQBgwUS`mOo%MgU)cau` z&z+^caO@;`k5B(wRzp^TjWt4(*qGgSb*l%5h?0)e=6C_H>x(y?=7Z_$Oe4>n%3Ee@ zeb6t%pwwJp&TS8VAxed+`7a4ZL)R@BSPMi=8ued zP8qd1m;KFZu6|ALe0hStns;V;4PuS#C$#MD3sHT`|8GX!lt_SVXK_4yFgMdJ9|dDJ zVJ3g<1bnv+IMf>j;c=f9+6BAzOIzH(+OCmEg_%D$R8835?xGMR z3KbB?u(_10>ngKC*<6MjhRq2SlN+yxocHN3-moSwoZTkS57d^Qs`@{a~y4IlJkvo3T_vbpUtRa zF{3+t@$q>Smq*0=pGr5BkRZM`ov`KU7fJ$W`&<*{edpMY_v&CJ^yz6l8sD2ag}IrT z+_d??TH*$pf#$$HE(-G|i051;{tZXcok-i?U417Fo+4ZB%vu%Qof3xfb@-r0FTxwG zKx#?|MYPkJQ$^xFoOsu1L%fOd`P*wof||pRoA7`(;9@_Mmj#>N%$^vvR>J`MTKi+U z`F{coyNvaW2epe&!!KA(hHG5qp}dq2)x5_|zW0N#r)pQ-njCJ+QJ8d`5SuP>Js94So=%86vb_UIlwUku$-;uwj!)B{scy~6O9TuNRX{<%m75d!9xfyxv9RY!&{)DgjJI{f!Si zfbFRA7>jB~V}6@}?nkec`Ij^AOrf_+EG|QAapbPW(;=?*m=pGwkWx9%qp) z+zSsUazDWX++#Z%Pb+p{lZYA3z31nZ+Ce|Ntq|sQQ4ZERasIKfw^Ih}J3GuxhAsz- z>GL+q)WQe=B`TzQN96^ zkjnRa773GU3-9+5YtDe7zFea$=DHql&}M+8^<)&3`PV85IZ(1}gyl3`jb652U0G<$ zZB(s8-yDzs7r_^QFspcdAyE)8^gMb+v&E z1nXusR71skj?zzYf#B@eJZZ#&(aV&vg&oRFcuUKrjMJkmD4Twjo}$F2LEli{wejv= zi-q#Sj=BH(_4h9f>^zg_!!E2L_@dXnBu&!skh5Y)NC(&MSEOh4)u2aS0aL&pu z;kU_cyI_&m+{$ERg%g3IBm z8nHcciOzaUBinCe$Fb&-ij{UMdQ;>^Rk;re#6W@TU3s+w*jg@Bq+3sQ(}B<@N_d*q z#QOUGWh%%%cnqxaJ32YhVn~r9agDD43U&+J_qP`4o$tiKKBmC^H+zrg`5z)0Y`8eGj=j*+%;|l9Kj(X&L zc+h0T*h9FnRIx zO^w7{fdVI*)I!!*0!`#o7|5eH0&AWnY<6&oI9y{N$NOnLxRBBQw-DdQKyClTeWpe- zZV2N&hoiDyS&Ic*&BeUtd!%ii5&nh|WB5#*#*BG5PPZ{*u6!C{D=Ude-E!(K*-QBG z`>heifiQJca3@BBP+I6)&kWUyEG5gDC_Dp`rdY^M%Bh5qaS}BxPB{>)XV+2GK*BgW zq0W=YE$hUa_JB&mQ{AXx<;A>{ImJ)A6aIBA3ew1oN+T=V`NP=8sqAIT{1?VhlvSlq zDnKJRvB2PMZ=v*STQw^ZM@T<9pQ_?v2lE`>a?#45pQm4po$J4BVuDTZU0@dD@kp3Wzu8Mo)kO3jQ~lA1wtC)8 zSs81bw)K97lm^j~EKB>xyC4U%v@+$r7J0(VQvyN{*-4xzK1D*foze*Q2P2tk9&MId z(XN79&T+y-N>3h3^sEp2U=R zAl*`fN_UBLcS93w@7z)efL{y{<|=D)~q@E?sN9@{GO(9XZ8AX z)e^VolGLFJHeJp|YJc0K{>XvH$2=txu#Mn*O1t_sk&7O zjKk)3#jZ;|aj*>#?@Nh$&tt?Xtj<^A(%8iAzjNy-gzxg<01O3mp))da;dGd7$Z>*Q z-71%-q>+idWnAePcagkJ)l}wN;(Pp9z`_>dz9?RO)=N>#Ev>Oy z%;l_V+{xh(wZ(|3v-jNWS@~1)H2%xt)g~JMU51Mw--~{tvVXOjqXu!^MlJ*?QulFc zl_R2cxCvHN*a)Qz=Yotrl|X-%*hUxhbGqk>S0#E&evFb~n0)AEqpg+y_-*vXzlS&R z+=D$+QIWqc+z+KX_ZuQTiiw|jR?&aXSN&Fag`7KR>$ob*xW4401jEMa;8fdQew|A; ztlNkz^n2$CL0r{)2W-{om|YgD{EwL|x(i_qyelm)vmYOLsw$~mtb}mQIHO=lpv(F& z7{5;=lFIm!wKSHlHj zFPxDrd#%@KA8~X1&R7QrFZxHEF9axdrcW{Y7StG5XCs%dL zic_znp1;;y0`y~V!5Z(DwnV*(s&m#Ka^V*QVak>PTT4z!u77-`4cS12sI?zy-4MP{ zxsM+Y>r)JFnn`Vy`_QIp&z9-3tTT+&=a7MqRaT{WR*uG>_eO zt=Tl#OyAq^1=zo4ZUjs&RV0r==5?)Fv;2cE`M9?vmH<(gRVuiCG|tQ_AAktegQDNzX@>Z+y``1=SGV?W8gxJi(@9yn%4DXrQHEh= zCRg6Q)oJF7OIdVBzXqXW!PhAnE~Cv2Ck%{MkF-^)lpGv{(^q_s}Kbke+E6a&$` zAz)35V)r!*WoFy{a`5z8r^LwAo4;V20w>KX#;*_QLL;C~r(8D{Uehk}!9H#K2ft#$ z?a2MemMvG!RL07Z!S+Qh2v6kgJ9?2qMcUrwz-ChnZ}HE1;h`(w@CLa*JqiGdc5y}$ zxM(u%b=BajnN@XBcD7)^Jc}%ZW8HQ3@z3XBL{j;sM{X%+gRl1lpc(T93HS6R3b5r~ zug0?wQ^fJK9$$e1NJ}a0QEFeAkd8bLhnMue;yh3bzM(;PIL8=rc=vvAgI_W@q{H@z ziHkML?LX-q(Igvm(i{`Vnr`+tW;+4|C6*NkBGo$lUZirjDeI* zP#isr0`=Gth0N)giO2Xs(lcy2d0*8*WNSfz27m~Ip+L)& zz{Z}Co#$SpGFH)qdbyyoGRemK9lN6rUUZ28?L?JA;)JnxDlZ_L(I2l|lEXC>;o6bv zwhIbg`rewsL{N%LVv2i?NPXJI#Zz?zf24f5Wm>5vIpyGpgtyk}Z?>GG33dh|EDC~k z#N>l>E0~t!3*tJHN(CeAke6uq&9485%gR96Etld1VLC!m=l|+XzZ$@biGRgwun~6! zm6k!`oGG0O`L$2k8IvRGJ2xws$0N{v)S_EeRX&q@qfp#K#pbYdh+o#dt2@S8m+z6~ z>~`ktHkE@Ev}LK6H+Pvqu)cdXA4YeXDywwd-;64wnM)_SNvpQ{puc#bX1&B`X+SLs z^hsnAhi2!!u7roCxRYJH z{iU?g==?Iy0rs~VJNLr5R4k#NKa|p?i)eW7q?fP8DUBcX*fvWaFi=fOs~`*ZAr!hv zn|!)+Fc;iygbzqV)(NOO{W=eiWAEJV?H7&;JJjXFg8*3?oqORuONnHUc~-@3jQ4dxLh$)!>AqIdd)>V;)FhQRHY}gT;DXd0 zk0r9JCHkpvlmT|HFB)zVT8z-;Bg|lzlkVA;&eHw9p1-IJQ2V$cf}ea*dAnh&PsXzZ z-#arkc1*l}P;0OJ%%A>?{SoAOUf!c;{D`YsL@b?;wP4;asWab%#ed|9Kjqbk%#9j<8oM|)!4c$-rPyi56i+}8U8R1a&&*Yp zn^@kd_)krKE^?ylYDZZ%+m1knIB_H<2ZjMkgTi)QXN4~%TLU=Qcb91gOUX*Q59xQE zu5gC>7>?-~p-`xc2m6CJ^OyhszIS5!M!$ZGuRU9bSI`h$fs2ZUd3hKlnW+N*wv4`& z?&_(BHb&=t?_H(}3(7NA@AWT zCChzNYtKLY*|Fa1g+3PK$IhPTPp=usiytrLQi}&WPZv@!#q63d4TX0P z@T2bb2nljr!l5dgAN=hEXbyXyhL4Y0dhm^tQ99Wj5I_n8KTW*x%U@5vMcZxBH4}_pi76$$^V=Jw{8rU*Bb? zD5I;*GlV1{F#Y4esX8=ia(Sw{1fS-*s{E!;UO+ zX;u{RbFp=L^`Pw{mu2W((|=u{9B}$_fM@4>T%bk7KlVbiW1~(Ff!$>iP+7R*BwbA2 zM}O-hYJ{GEP0;a-kqJF67P)!KU7`&m(bwg+h-Kk-k^I{w6Vu8QXu%`ZoOosW{A4<+ zCn~349bgSrln2@ZMGrbaDzWXe=7j&{Jp7~lM^=;t+sv^NN%g0drXYWDsb+{z&f}FT zBmJiFHzWY|B1Tj+|4q9D`goAXbS;b8uV*pIq@V{>Fex3{bOaDO zcd}N)1MGYV%SF~zwjZ2bZgti0@l9_Oh37tr!fzI;;2MSIQbD<_Ti{Rhu!C~x(^VM! zaCrQA_3y*;z-uhK3unD?0g(Y-&(sYDc9z78YV-~AXARO#Jhr>GWa-GjGEJ-Y=odJ; zDT1hlKoX(F;E;CWyCXIZ252lCj_`vzuU8k@dto zMwHSNl0GjABjm!NojAI16e?;|lCDi7rNaQ^vm z_=ULaLZ^Trp3JUU9Z!L*#K;`C1PZ3*7~a3DWNv_dK)yFSQxf!-{x(tip{)6Zys^7E zu%#ec53(fIS@TcEc3l%`fO9~dF0UwbS!1bVVswFXNvgBrpT?QFl(?ec$Da2u z$$EoHZNqV8h~zVcul^hg`-k8vjH!N!5%#tsVTq?JRJ%Zu_cw9^*U&ux?Ao&7I(M`x zlo1x5JwfnsVcx<7pxdaWWU(Y0fA#hWz3epLlW!gM(#jl`b7xXR3Aw4Scc}bbwYX*Q z`dzl`{sRDN!j@GP^;Vj{%kvj~IepClUf4R>Ygz;Y+()Pi#*>AGnBMpqEUnr+lRF(9 zT=6^&bX4Dm`XyyN0PAO&HF|=iDqP zQ}QavyoLN-9-jc<@BdvCaKD1i)Pa-JuJ;{Jt1WInR|6lL(80O%Y_N~(?x2}bj8($< zuk1WvXHXoY4HQ^{?KkL{TkCWy>tykI_(QH6=TO3kRC-?Hq$-Bl27s8R z`<(x&XcERa4q!nA=580B;XZb6Jw=te)iYBG0H6%@a;9g*6qFZY)jvFs`JbyUq(mKM z;9`Y*`MQy*_xL#8U_)Rb{H$C<=QW|;;V%Xj$e@$0>!-g71EOZ;QuO3(wxmyrd3cTg z%2IBduB2!ib=8M51EJh%-{6@Bew0ZfqY-T2eDmx@Ux(%3w2L-h%K$Gr5>3~5Rj4GJ z7t%y;!N*dLQZ+GNlD?_TEm0Lzj(+7>JU8SC3gV?Hswld|1bPZGR!2rg1%!KLqyR5t zKL;lc$@gN@Cbns-2uh$o<@emNR@AG z9WV?mOQc5?LJlb6idqI;K2Zka=tZP_QTJg!4C5QPB-%FU^HgJ|>FCpC7CI+W$I~Vf zlEyBl)9*4iS&u8^v4UN|R)N#&Pv^V zDJM_4_YIK~{MRe&yHdgU2qD91-TC?=3P<@Q#fi?-2WuqiTuTX(B`5v%DRv}6duuL* zJm%7Vvaa5@pdVofKE}V-gQ#B6ZP7tj#|(i``9Ln#|ISn_LXR7BSttg7e&=l)Jh*eD zz$7Q!J$)n3Paam_u)2!q+C-A+2~84zZ9Q%C3Q(4jk5DcoDHn-AC+qany1CCkdW%d{ zZ_!q}qd#3%tBTERqQ?S7590T|-=CfA^5)LP7kX3DV)}1WkwSSkErNtY;SZfccl2sU z`h{~0_St6>19xAqa`P==ImsS%u^obMWSwn9KEl1GterIHXFsfjiz`}AOEY69R?MdS z594Zzx|jKicFovo_xnuRR!Zr+D{GRRb9p6h>Q>v+G%S&U{|;Xy)MZqQ{YE z?zWxsdwP2eYKdf1^eGNas6U+(==e403hlAKAS?YLJGT$NW77j45CIa**+%)2ft^DR z4cI^;<8oUW{p$ntralNd{Lqn%fAnAa(^~fIw}%a-4AX(LLS#947SEVz zYa`F=&hyOF?;{Nlk1^LmiuHH$EylHjg-XSV#1Vu$Td{MJzFR)kY;dF72i9=7GN**L z{nSC!564r05%~2hlh!eCQ*V{1zyv9S(triSM^5DS$*{+Q#iOzk2tob4usg8Qd;EAF z&A+$D#LGgz(6N_#{A@N}-0OEpS|;W9<2Q z49$9k(#uMGdG%?_#j!AS7$Gaiul&MLO3ywi&7pZ43(>K8=H1$MtMt5=a&j%`+xku! z47Z|@*5ejOFd-Kq41Q?JP&v7|9tuBaQb8zo`4fp)?)^XRf9|8oi6OOn`#A(a{oFd8 z0w3x;{jdsZ(I$!3tE$ZIme#!%k?}2}Loj7b7F4fY9@n1hx&Fi=catZ7bvBj^YBhEn zQ!SzuZq1d2dnp|(-<)->5Esx`Z5bv{WThE?c%>)lNi6$yo}5Kp&s*Vs!sU6;NnWwR ze}#%#;yKf~gZmL++LvCxetth2mtn_#f0FwU9CY7#HxlfS7Op&wy6PJa*FD)#Pxxq! z8|T^NaB3U3)jZPAM)mCM2VbXR`(~+xl+H<$h!*JWqxUrc{Vu3U%4aBZKzFy`&Mhlj zD#}JkoDu1pZ9rko`o}t<3H{t2lTv337Wt>jQ;*kK6U;%@ivAn`>%ZdOGYbjC1BHq_ zA2sbp;csA^&iX2$*Z)(0$n4((ThYc|F&k_kzL3zKQ+m7@Q7zI>Q=uQe1xhC;Bc*I8 z-+CfTebI(kO%cS!V;sHrL%VGcptwY4RPgOTAAuM5WkumpM3cI!L*oaVb2VHc7QDpt z7E4aPOAaCixODtD+Wb>V*%@3v^rh-5JZR4nwH~s;IF;^0B71B*(CT$7TnF)Z`5lfo zUm?REGr4vpPn~+p+t#T4(K|n&7ur*xkLu5q_``QXrk}jdA^PQ(HjQQ?%qQJ)E>8ZZ z9zZkuh~P{$NKS|FG*GLnppY|S5Y=~kHoxW^+-v-q4h~hV|2AH@farj$f1sMrAp;fG z1~LH<*`kw{sya>5?m!~*7u9%A7kpgn7ir!KmZTmws%maEQs~u6igw4bx%f?ryw*NQ znu*Ouzp}SZ#cJNQ_#NOe7Cu&Kfd1LkY3XCm5^H~tYeA4PB*TH+OPHWBu}H1pPu4cS zqQ3g3Ka27ekFyziDmz_LlI^`yZcso#`qF{Ied^sO z_>jy1Rs1h!-S)QB8el@OhrMh6?I+W(fKoLGYa z`j^h8A`#vz)M>Tnq7kXZSqqYM*%qn;Xh38Z1GMOikxP9+w(xy%b$FLj$g=(=q;FN& zW;%l#D}R-xm$&(Lp`-J335h?t_wwb=a5k5o8az0sg_dp>hrRt$*WdS0+^N`29I7^p z44wg-f-+eyhNd)C^>q-W)HOW2_|$uD67w1Hxlp~3xw-25<{gT3OFx`gSWy&-<8|xV zpX$!j06HKkzn@u?_-!;nii3@`$Y^^l-hA7C{3|x)2xubPmq_bYWe2VbUP}y3rA8!y+ssS&_@#}a!9CM9y#*cR z^`myx>EC;!kX}$G!yIN%j$Mkg~a=w~D@1qY)gCWPq6`5(Hb$Czy<>o&j^MO}se>f_#8ZpF-~ zuF286c zaeehuv#hoG9_@TnfIEvTBQ?op%x;oHEZu<88? z!`VdHfzr0j@{+{#xG89&9**@pi0Kr>>DVWyAG#&>s&7#1P~uQrTj1dp4GB5L>6Yop zRoMCp&=Wz4Xi>M)0v~?x<5W#}Mv8*aFm|9{nZ-_QX(aX(Cp@?3V8MN!JVjoU(H$QW zQ$&7TnUCGhYEtC=H={S2We`^K{7qiGFCYFrDv>I`$$*2Z4B|<@3y178i5u=>8v@?{#e$ zFVNF#2L)8^PK~4IE%JOB(I$>>x@Ib9H0|H5VgtHd~q8Da60zr_7Gs z{0r!u;R`x;A{rf&#^;0k$JyYtYeaZ}S!Zd5JjPkV=_G=vCCkxnS&=IVJqOali=)^*o)s?YBm?ymHHfhW3aAm_4n7_;FDC9llP_4*e?vL;lcz z^lEjVw*6rrX`Oo#lNQ#j*Edh_l->Jh{*ptJzVpP_Zl5mrtc)-S7k7j%)zk07xbib} zOf=D82ZQa!$F8|d_G`>7`on1nN5WVR&c5rtw^TAp8v6FJ?uW5sZL$Slez*Bfz7AvI zAVFdAf+L5{Cf)UY9 zpO@AUWqt;?gW2 z=7^R@4uK6cOLukuU-<$rE=iZ-$Nvymg1PV+b}#ETVd>rT|L)3?l*tO0JcZ(IWA2^* zi}oq7@~K)BeTJcMlqqBPIHo%AWUZGx9l6TU)vSR8Y;;~KylEDO_0l)q2^6>OqhM9* zNjI!vGK48(%12ub&_K68@myYqD?EZ%rtPYQ6Bge^vdeBnq*x#keO$GG1{b6?;CMUz z+G|v;51E%|Oq3}cX9z{&a3rB0xYjpv}-k!2#u~7G@5;06>$K z{h*PAcxbHLhZf^~{L|H;WaW8Y&e~aAm_o-rG zcjlmoPS@@-Kg>KEh=;L7f=PEhcji`)fgVRoWuhCfGUnL$#m3?xZS0kN2T~9Id3V)Y-1wEeTqC=i&FM%Uni7g#$Uyih-^wmpq=tCAK>7o_?RFq-Ad; zXb0ySQKia7X|HJKA=%XsmrFU|dQ%I&iBwS5R)+9%WT)Hngt?!pa-!@z4LD*DJPp(8 zd#rD|HU4?IN0|OT1oz;s_Vx9z51-7Ye=ZzcTDeqrIrN7#sB!YFVt(R@b(Ru9z{E@Z zmJA+tKD4?xt>mBqQN-9>_$fW(3&yv*C@lYk(T@WfaEx{KlyL^4{*^5x&CLReo(7Tq7 zs>IGEv9Wxvl`Gyf_V+cAccqMH?NEsi{0u%T!Kk5G3Sa<_;-#I=w&+ek3~=93ZgpL2 z5)dR;5EY8Q{kut5S~^f_2mZSCbeXe0yqrx+Q}liyF2^8y>phUCoj9m?H(aDfXM85^ zLQoSVKoDaqb>h)*FMT;aiGw!-(8zJn#F8q7Q0+_4`+42}SzNo?_v7>iX~Gq8PgCDU z5wrR_g#9@+f6^fp0N_M>zuQ&U^ubSZce$UPH6MHk!AqnbZ_=$PB+Eh+`OspBQvg6X zCAjfc&Su@b`SBC2;f%!f?HPvD?a6>OG!BV_V~x6H7^$WjJh5nBZ4qjHsxr=s!3`tMz`&OrMcZY98V?ayG}b#BY~-E?!Hf%UI#(7E&LDj_aMOw{D#OK4u~bUJEC zCa-C3G+$(J{%o9>9sBha6f5IZa|na5ER%tm1_)#1>s%cc^ArxWVwJx7+0oXX@EUy{ zw6UIQlX7qf(BN${&=waW*f~Ayq1JXTZ2V?-BCX{ArPDYt@lz4`c~fKeJ32Mf{z$XD z6Gn)n#&Bc)23m%2ln{nK7KlB9Z@84&{`hZa82owx~h1 zLVYADzn3#SBK{DkYk7^G;o1f@5_-s3Bl(nb*R}s4D(`MF@(?(7R7D!#GHb*EYyHv) zpJ=4pH=|A6vJe(~;!MFJ*6WO-FJLM{3$~#t?UUG3rW>L>?vi zN}3WK_zCgQvDR}(ys_4!uHZM49U3S3+>a#4E=k`MpPFHHG{c`~`pjasuMS1 zkrFM(LFIjgn9-W^@PLr?l2bD%c=-(L7U{~hy5=ou(X_F698lL3Y8YXq&|Ysr213OB zTL+duRZCxI#0oSRDh*lnaDLn%%{vSc_h=n}7spb_q3e3(Z`9A&N2Jhh**0s4U~Ks= zrAz56-2PWBb^moh#6B8*2dA>&p^{8P{crrYAWobUV$<@6>`F(lCm)~!7n%qGQ zdf){DGvu?lN3pJAb!OiU_Y-Hd^U-E+Aq0mWJ@48>!8%f^g8@L2X zm9R`54gf^)^NmKqf7kme2j2xHP6V9Tq%N10ag4Y}EaM83!fUlEmhV4XRq%IrsbdS# z-95PbdD}MvRih$Ge=*0h+$llWc>Q1&M8JZ2|2ojUqhZR}@|~6dLC5l2fDJrIYZwkQ8$4-Hbb@zorI{b7XoNFGPrd-~URUyFS(ZDF?&~sC(IRe@^|YDr1upcVOoMJtW&w zXQ_Im8I@Rh6klq?|5BgMapvX(J&$r)ZVHrqsbZ57>RkG#6=s>$9+Q$$*>O_V*_2dO zvy}N~mreS$_=m|mWhg}jAu=!`?CZ7b@od#gqo(VJt|xWsF*MAdGM2T1oz46WGh|;N z!2XEs>CTgNGz)tLtlUN;u;EH$>khTy^WAiUhl8a2c2v-a5qaHd6I47{{t(eU?!Q$v zGokie05&w1SqBTqIYGzi^Se>pxlFt|}F}`(-tKP zRa1u>t~^*9AgWyj*63nsrp>k&WG12u(OF0F2Hni1(u;rgMsfqc52FOo!=$kf=U+!M zatg#tY$b73sS(}v%Y=#OIQz~M#UuGRRyUzwvuL3**tQrk z&*H4J4WUq%zAhd-R-BLQN2(%jD)(sMZ2w(7q6327(Xihl?(h>(JSsr8KZi|y3D^Su zfrm#cA&oGhR4koUo*BQM?1PLZSGha9)9~q!9)0_M)~<4fNR;>Jhlx??nPzv6t;+hP zqBF|5edDCQ6QlbSu2O|oMn2XFA=jFALsZZbArm@t|{vn0xWJ5sFv>J-7TB~sI zF)a2rQ(yhvI&VFss#ZAo8Rl#n4L;`6Y+`NHjZB2Ck+GmYdXnYBPE#H&^eP3 z^8uyzclrC-ayIEw(Q0_BiR9%5wiy0s$jbSgbd{9I*lf)a<8#VouM`Um$OfL(JK*}&38hYV)KekN`wH|X^c&M`)Zps zeLq(A#Ep0gWM*WQuU?n2fF1QO!|I%%fXgvdlZ$3EP{&y8eP?l=C;S3*MBJ+Z{$w2{ z0B22AjqVI>uB`QE6BAc^8(PyQN8Q58VO#(JDl2Phbkzb}NkOj!yh&5k?YMTGcZmE0 zWocW;xW0+0zOB^Ftpbn-nnD^DB)4ZcW8b|z;f%(f-YT}vBnSwi1@dao^c#Y%y0mz& zIN$G#5Y8RkUDzL9C>e#oRB#BAw~wT~CPEr*^j37KiDpI-xs|K;10YN9@;{}$b2hRW zTy_a$fSq#P0~s(9m4YvPI>7M=fn^Xp89N;Px5Q6wB!R)iL!KBtG#v(7$Gk{E3&fSc zu*G#vrOh2xT4?}Ry@+8+?5rN>IdeowkGT|}t622_&+l-_1n;?jQ*^;g_WSm(1Ac_- zVr6bit%`WHxBl_N7m^;A0z$4=gxkPO1s*}r1CetlUiICfNHioXmLErX#sN!7BCxiD z_wnX~3o?L^db}B6~Z>h8O{||`=_%g^ImyM#q^A!*jQ z-s4}(%$5-WA3MVCznz3`8ua-!*392-P#>TLc|rd0$JB+!v=74^2=KJxHGHVWtv^HssGY9K^wR7uFS=+B@ykfqA!(fz8jI&4Yu&<3(EICvzn<+kC;nT zoq2v9HQ3!&#sZ>hZ{Ap^Qd{d8Z^T;Z6u&L*5S&+(m;VApG%uc{nfyxEsZG;5zc|-o zOeao2J%5j0^SyG=GfecQk-*cGr)4L}UB8~qn^%ctjOh^iBHyxIx0+r4k}bo{UF@B& zdQLo;_gz_KY_8n0pWO3b+_HW-*d-2>ze~-YQ8C$9RY@)B``Plr zpTkD2zS4cj3xpe2NPS@7P-ej@W7aSvDB^#FLe5A>5C)qRvtZziVY2SL3=t95$A8O7 zyEu=T;&m(FiCvC(V5^<*_MX^*wzAd-{^uGH%bbTvzg+HKdI{Q5;Zk4GHUC774E++%xixd1G5rNA$_?S>qYhyBpk`u zEDGfV$Rr7giAi?36ALY9V3L6jSYYa?v|g)&1Zb zom_eNCkX0oRiK*C^Qw!^WVz_YqD}wps~v?OcxINDc5p=JJ zPMg^A%xI8fq@GH$#K-@BvnCKGVv-QC%jfOQv&~kW!6w0c7Ke6Y$Xhf`h`OChVj-it zO2(ebNQjQAbnT8{%JN+xoe}5jK`psNVr*t2Ocp2+(8IyOAlu4aH^g@I;ip5i>gLqF zH5Fb{nGJg4ud!Th;v&r^%^nL7|8ZS4*T7QZy{g8kI_;}K#LfW4#?n+lF6w`fhR({Z zeEMg>cCZJ66K}R>9ay#~v~AKc)XYX3FeMfL6 ztGA_OE0d)XQ#2(KtxO-pn9U4%{I-*PO0e(_?6HG`3XHc5@lld!c zPZ=sPGCNV;JGy>rtcuHf+8noxzQcv|duw~zPa1OkDiN@D73PF^`Cs(YoF9uWZ6x!4@*A;ykNO^zb%G<-{xg?=V7v4q+;F1 zSZL)2axQmeYNMa(t_}O>;5Jq(@sfnw6d7CSq6?eqJatJ-+Jtb@;NNImppm zWX)tOB~F>}?%Yozm|Q(ze5W1fo7QF@qtcF-4`OFI^6fmg;+u2wGPy0u5HL~bk!t9l zJGK|sfd)Cl*?~($|JgE8{DdFlvRUvXT zP3aYui6I9Po+(L!R4CP(MTB8L4bf!sCgyw}J?SOt-lnJ^c}}RwnYAKBB#*E^ee@n+ zWDx}tR8X+eUnoKqU`!;_Hq`awE*|QMg2viHUke!te* zGV!O2giv$UVFn_oW+FY_B(iTFZSa@$Qv{JV1l-PgF7|06MMSz8G}i`Ms`ktb;C~@O zjigWl0F@$*EnU7Gq3{sztuPdoKS|0+{8WPCB=H&V9+0ft@WJOKc9A?Mzl)m`Jwn)? zFrepc6-Xi|V^(2^#O#%)>Nz2icSeFTv@E(-?Nz>IB$eT(A$x_{Qp9Q}AnOsAnu!lB z1NkRjlLk@poJcZdrD<5d6Xsc{4vA5K#4dKZ5g1?T#XZC2kXbAu+2ljz50hG*jQ`^E zKc*qP&Rx)83B@tmptV=mw@4=?fo^x*>oA$6D5kx#1}~8HM6-L%bXg0URBnkI42G{j zIl?0Gp&D7QHd4ZLBMY=@la<4wn1D-sG-%sj zH}cpR5wVepQiOCBT%SM45gF zPg`9fBnucr_u1V#*HKE=$2`VF(e)nR%3X_~pH3TvB;dTb@>HctFiN|$zCsO(CZjnJ z%WQ=&f_X`8E711efqj)Au8w@6&$1>lGuD7qY5X~^3jwC6Pxg!(nWznTcm_$PKXlWP z`>diV_W`B-`!G?O(>w@E%9LB&l6~ivs9F9&%M4vk83{0;{{62XiE!UWdS!!Ult!Ke z+o_QWP=`RVBmaCYebt8?n`NN7-@KkeQ$nX+ikZ~)qDVWD(l*`;KEElSoUzVd(rb)S zr7x3JtU`WFj|na7(a_H#1R|Ke94->rHHKjlY-jZvZSMm|!H(?22k z;n%86*BXHw11})tqZ}0SI#DM4EhTdyzjP9EJKQ zgWl2Ezu(vOS5V1~*Ui#hFI+6d6nAxaE+Dmszq8~fdm!$kJ#Q-7Z@DXW%lV+KiS)&O z_R*P{%|t%(K3bz>zg%V{KICBosi3R5{iMfY*)=GHvFE~VFQ4h{iw$SbsTDRB<{eAs za0-;j!GrhVtO-a^)`hqE92`)8vX*pS79{o}yx)lbr*>e!JJfwPwH=p~kcy$2WKBW;%2n96p7b6R* zmQGLFrsWA~dUp5{t<4Q2KafC$Ju$&jb$9^jFAnt0Z_sC(mY<}-Gl4EeWXR%AT_Gl9 zT5DKp$!sanZOvWlSz|VbYO-(Xp7CN)ToJDwqxEwssu1$L&Z3s~bkyGD0T)SftT&2v z3#MMB?BAtgQ}&>u0@Ggd)HFA1+bhTpT$^5v4C&g8QGOnlb8UgpbcoB z4#G+#<1isu%)G_TM&mi&9I~)0r9aY`X<7{pdavF5An5g z;*t*283xKI0|1Da@omYFRruK6=>{T{3CV3B&?Fs)luJ9h&rt;=KtxN<_v{~$YqI2r zCOcxFPqv@jMwR3I&pxH)fKkMP0TphyD=5Jw)-W{e@EKsnLQ2qtV81XepHmMpg!H=40t(*AM6G$Z%s)G&Amw!eRydGm`BxB=Z?B#Oenthr>^W&@t04`7N8ln+_(2P)0ln^g-%(}rkMZZTElUD#f6}@+G;RNAfC1XYoLW5WFQX<+U&HbmZGG;GVfS|J{&jk$l8srX z#V9}#u9Cq-e9PxAi%r)LG23?|Qz|cGb88_lE5Nw~b0jg0iIP_|5!LnQ;V~|Ekkx8= zeb%l2jHD&ZP2MUoyq_6w*T)12uPM~hcQezZ?U%lxgjAFB?wmX^v362z>0W*xtfz{k ztjpTvts)HtNJ=#@4fdV4{vAX2#rxi!*JN8K8f86#K60w7;c*ybrOPhe{_Yo@aow}h z6&j+7k$Y)GoxW{GyWKudwl>PTcFmZTZU3+(IST{98fCR03&CaDF<+nYVjnX5t>q@Q^jGf=@hQTA%% zIe7M!OUYB0*$#L8)+_v1Zq7SwZ#MOeJ#kZ86N#s6{ax1o-hSAhKJs%dHgz}V=-Ld= zhGN1Sge&Evkkt9fzuu2NRH*tr=FVpJWwFpOeon$vWE0Vz-!@HAT;SyAFHBLL#r1lq5G&R~RuIPSsGH_M z0a1J98d?CgG@TJ+7`(RwDW3AKPQ2=O3LQL~2~DY~3%NIYflT$}MXN`ixma_l+Ek zGAW3iVhc|H`tl~fhvth{+5>HB4fb<~QP7#+I^yb&h6QWlz}j3M*I>mPUJ9RAl`+Fh zn>zi1bZi1v&jf(V*9jRMijbQEAwFFGf*4CqfxY)E-#roQrZE2@iyHN!{QgZXX_{-o zfASNAP4R`O$*>7rN=25SA8|sjInFnf`Z~)5m3z+$P}#%eaM@xn$31?$Q~X7&QQk5b zI=2)0Nu%41F70lxG*!zoDvxT9+u9&=1Nvs3rNFe*l2I8e9V|C^hB;w{2E|*tIhf23 z-ey0cMJJ0=3F_a3F(b10d9qKg1FhIatfq#{l50^p;VtYi8VZ6p$#-S>{TH8^LHo3p z*p4f9tW4B@wySJlP*ivs`61rB^sq)mFS`=`mqH&K8U7T=slr6dxInZhV;$e~$RAbQ zup$-3GVlfd?Q3gRQelPlZH^y>{&h7I^e<(FRqq#>EF8^AyUVQVI#^Xc`G8KmuP4`k zKo&ZIOuQtWC|!Yr8$Po+5glj&AbLeaEk8aYjxoP_Awa(KHNO(B9Jc6kIPf3YuB~ts zNb|*mBqhiq#z_F&u+6YQipxaL=Jk@ts;)J%R|Wm3X3BE?zQ^`@kuv{Bo)>yll)y8J zmj&Wj=ou|aCqyE>xoP56ICh<3KfrW=)?ou(z4yUU{ULlw8fkaJrc3DRNuDmT|CXul zxAAk@&(U`cp;J{;L9QTh4qt+)y*WApih z?85x60TuNnaY~7v6S{AiYR^w5AVxUl)b1Jp~C-EETav(y?R}iBQ*e262oE zQNxV3{ksk`7h5^IHJ$fz8d72Fmab1!!pRXupsVR=#bu>Y)4a5W1_t4tYvyVK7I zm4>hRVtToGa+fc*A2G&vc56w77Af6&wnRE0kH;P8#J20X7!lHlhG-1o`;PWCT){># z0wWY>b&)Z>bWMD9$;HLHQIwGvecob>8HE8bv!Q=n843;vEmZIJd8%JtA-DqQ_cjm3@>b6|~SdVCZJ1lQ?@JfWdT;n;W#;MGbeKGjz*x7|H zqB`g8J7nxPg6Q1Hz@lUH$lnJaZ{@G$=l_nKR_9cG7=qgX8X@l%09f1`JOWKhzDh;; zlz*!dJARF-trdA?}mA2{74`jc~9 zvGd~YnF46@q9jCRV4t2IqC_#=>H?{wI&Cd*%O? zRJlAnc}o}KjDHHHeDt=Ji-Yc(<)PI$_=*ad;yUTrmNE<6O0oB{>C&O90gpi zQnM3{_c|Qc69l~6JN zV{EDGQRQZIvlrT%@5(eBYAWmy%CNB3go$ywc!~~)jtXm3uUM?)&%zKvmSXZDoHEP* zQFN7IQFLv1=#cL22BjNmB&1VX8bmr)x}-z8yLsvEmhNs=x|uv_ z&J%a|GB|ZSHLGFr?bqj1W}XK(Kb|5kpD@@f&z73^Tp!~te_d*CA%>}$g5mZFk8wad zth+pd+N2zzoKIQqM?CL87-e{(jaubWW|&ln=e&gH6gdM*cm9*-yi67^3Ymn4EBU7` zT$JaCNPZ0}!4IhaP|QR&$p8RPQAu8up7de&I|gwAT_8ho$W{XC!_7k^cFlb#I1#BJ<%A<0p9f9@bm;Ir%EsOPyeoy#)luy9GapOok9ScF(0saoR+1XJPYgtHeCk zQWw99`ltRSa_nhmMkXD^m#N0H(64g&KM~Ts=26*;;KIl@dM7Baa)u;$Y=EhRM!0PY z8#GM~z{+CnrdwS@o7w$t`Bi{9sv&kbIVH? zZEh-B`D_(1gruMRvw!k}(Kj{0iNiVPz1>ncFBCuy+DzQKu+uj)Qu6SdTXGOP;AlKI z;H(`B2vqjP-SqX~Ji)$^!zCpWUZ7p?YQF+|UjmXajjU}iYb{1Q#Eb;vKYAztx_P|8;qU-U&{~7V7It8pz@B7nSx-$J&Gpi9nmn;dyGK^hgLT8^>IxwiQsnK7Nmt69 zBPsyAExXN~IkgC49+dNp9JePhqb_cM{q9?WGQ2T@gs}x zc5l-_@`63&2*A0-EqlmHt*pa>UOZ_DqGUF03>~4d@5Qo76G#dG&ix>I$TOyKpa$sv zdAQFJl&+Q<<=bZf@O)Eyja4&#UU+j?;!IS~uN!AbVWh-eu;by)PDkDn_rs5cSnUGIvuwzuo-&LB?p0lm z*w&o_fczdMG9as|i54KCZpTHd#-=k_BNEsLGk9V}!yze2P?i^kB9<`W1Su1`jn`oP z(MIH9ghyh)S3(9MhwUc0dL>5bTcO-VM$C)g{Xf;%qJjm#5Hp6QSL~mgE~Q(`iW z?6mgoL{slt+8CFOG2OgA@@7q21S*4;A{&ydEFpyM#PJUEEb%)2Ga8Rh7oRaKO-xiM zMkkd|`N^{#a3om*tHFBHUti3g)BX7NxJuNf7}as;XCr>ybdz(sz6 zhf7d^LE0Erf4D6C#6G5<=ffGLsQYh$5SSGzEH#P=Z7O_@`SyJ>fl{GKUJ_$4Jd}dAb2UD9oA7Z9pXi-wh z?>Q#t;)LqoP6(25tn)$vp%G{1zKM z{xb=H*}CNXuBmY=Tl)r^8n{ry!MnFf?Db?1EOpN71w6w~TMge8L8_-76UXHzlQIpy> zKmPrDpLUqS%CRif)C~h;`DG7y`*pb2cVo5=9#CHgD>K*7Y?WSLtM=1o4_Uni~}*<7aIPn^F^YzBPNPc%LXI^G`n z*$FM3sp30u05!{lipW_+(iPI^kdjr9o10mwoVL)|`4_Q(N2qQ}O-3PXvmJ z1hJn8P=gsH2XG`qZ1c%4Dm(w1u-4J_cDtIgAINP4|H8)=bkrqc>DH&9S&ka7%7Wys zj>!HN-|)?=y$KeTz10O`z5v#UZ{O-^rlsag2PH+lExi-Xkd;5*#e zzZk#%mgrJZlw50+Snr_x9evd_%vMFf9RE8CPgb&8%Ge}U(CIb2x5voW14aSkmU#H7 z<1rVDr%;GUHzGiwpLY4%u+{(G2|NvcFA~(B(~7)=l2@HVIV%P%Qx+g^cIMYT`>u<7g>GLFDxYnwP-O;pD}Id;^g?u ze(cga^TtUD{#IImF)rnMoELC?6#%7vDUncW)rP+-p)G(&z|;8>;==jsI8@;wt(&czHm`8`_6ArG6{j4`;cx06kuOq;k&yO zGS`_nihg;yVLrwLCQ4@gnk$8Rl2+c|fnr@XN$O=U506!%`zeRdC^`^`%jj>kN)Z$D ztKZb)%jp=CC4~Y~{dHJl$RoXL8C!xrURXSmq)3!b9W_-v5+Jz~JC+R3BbppHD2sGa z_g5cExf3fIHiziu96*VZ5Z95wjSTnhIf*5qS*=s;*+GoW8LFL;lv<#YgG;TZI zO8-R*PsPM#vUW+D>cJfH*QVaD6z0~ZaRY~*x9KD2JTol1ibEpb-eV_19g{V`ly(*) zwrSz(TFhB_Dq6lWR=YQW8lCprsUCuWQ1 z+^63ORix8Q-D3%ClQF#JaQW4gzQ#%=4~O#l_59BHZ#15dN;qC+w_7-tm~LN+)(lc1iz zi$h2YkxmdTtqeNcuze<7g(_re)5?=1F&%qXwfxzmp@jQ3??IP^7Q;zEd!Xg4VsP^c ziVKL>dS1Z7!u3UQIZnamFni50Ev`%nOUte7I_70~Kh2-|9O^w4Co>>p(bnyq%X7PECF)ONXVv#Q>Ly+q~x zEz*~Tinp|~Ontdx?>~=F-N$qLK6HQ1>itIyp6b)yJ{eF9%|n?P+%5kk;5aq^l| zhe~S84%>1YodR6JXz61_>>a!o=rs2oTNZZ|!z`BK@-$XPnWOSvBiIYq&W`R1(ZNwl znc$4c_{G~a=JYLf-*WD8hq#Pun`g6RMR+7+;?nYW#rYSH$3;5soK_4C%HnF@)ZU3U zsRp-6N~O2V)b)AfHcRE>SMU0}_a!L?VzldwIX2yK>0F4MK3j@q#Q#FVAHB#-f^R=7 zz^raU7wxIorfT`6%yr2phLDro*_hy-U7mkYmOJTdM&FwLcer~en!IVO@ixh_j#phq z++%^?v4CSnTOW>u0_N;qyLUOV45I532 zvfun*g~XIWoAw(5dQ>^~XPNoQesNfj+&In?QpuA$=19iX6NqrNHaHDO;i22HgAF%%6iuzsK6;(&>8R7adwi zXEFA)C3Ur|x2*6>Gk<(MMoZ**F|i+RidB|&8+`m+$?5c8okW9p^}11o?|FvsWvT<9 z9$$Jml+*m$pHo{~acK~s?O$&se1ATc%r3Ts54&pfs^@jBlaCEs*I};mT>3JKQn-objOu{j*=js3AV1+2JEV?_nZ*o z?@x(qllwf&&lDuD-QwV8U@fPC9(%5@oZ`Mlz^mKsR1E*~fzF5WjSvLV#%qdfepy?4 zedYvp4;vpH~_GJGOk??fk{_nIP|Iw%5bK;Vk;?G%SHkMC=>vx~}Vg5H%j! zhS&hI)ZX^`r}h9(%um?g#O^|pV&%aeMhe68%-poWmnOX(E%)IPpd`EiOFz}FGv>qp zY&buB!Adj8z@a`u?MwrkY(Ee5wtZ%!@Df++esiKG6%FuA$l8?7DXDSj_PSplzIvO? z>AKK<8+&}&pS+{Trc#^AQ4VPK^04x_0QsNl);q{zC0)IdH@acx=qFQ1*(aIf3>6D} z02>&;bqCbND7#imJM5EA`W^>liMsCmt71&BSNTmMU8n%|Ke*T+5BS@7MtX{r9*X1! ze&fBBSDjKegx41^1p-%0x?Jt|9s{iLqdEZ~6S69iDe7@Osx0!JLC8EkzT^6|dZ`)w zR1v$oF6Fp){`k^ep+)>_vIOaCA8tMM>Hb5BXr(=jH)J?8CcU$paP@X_!b{9Fq7oId z7Q+;kIAPk^(Q*xWvuzd91AxzOTfHK#H$R#+5Wi|8p57mAcXd9kd^-hg_LQ^=kn3_Dw#G}sumzPO4=LYCH^kU@nKGhI-x&r!pj+q!E$*^33B zhUo+H=uz&8q!maf*#kEwLmmT{+%%Y@qBCrpZu;{I06ZT9{U@%Zm{?5{cshAHq`vnw zgma_(>3@{lNGsK)h%tu|S2X4(qLonx4R}wVWVyUJM5zAJ--O-Fvyn9kcj5AAo7u?b zD$XcgdG864Klaed!XV-B@GR5Uu@rCeNg;? zfOGp0y*~2>2ITc(9R}pTUc)&?{_h!MsztQpUin`WpeGD}0KXkWB zF(q*>O=hUSMNq&Zh1@dnf2@ns&c-Rj6hL)IPNgs>Kb?H1OOxZ$5j*Q=m0X|6&ngoH zdq(75w(C>)n3eVF?+-KRh<|T&R9Z+x83-C?l)(d|R1(70Y817U>72VJTXTx}i_3wsp_0 zQq)=PZrEyTTAwWd3{4V-qJR>ULWU^s)}F-P{WdMa?SUe#hy4K(8gh|0Tt#g%Dmnkf z?(0yGqRQpX3d4h>tK7!n(vh3%F^qfHqT=UjsdaGx;5NHGZGYs{x8PM7ei~gTSo*|& za(M@7%>$2%+YIa+@Lrj?+Z<+{aKRV1M>Ocx{wF2M^<3=mBT4sZaY25w9SNb>p&<&0 zkktLJ2Hj@|dZ1Qob))MrU6JkcP|nLQEPlFU$uM5xI{#J&_PW)w&k%1Ab6BE&tx57M znnN7siD2Pz(5al;hIBxj-ue&K{b3^IuYX9(OzgO{T(S*o3vbl<*E<(D$2X>m9RDB9 z^qAQ80H#j5yop=vv^|&&&dQ3SnYk!uZsL%>`9{b}vNS+6Iw=)NNQ zC~ij33qNez8^&4{^Bj&cq<#dM{wulQ2-XVttHw{1*Y?BvziG0e=0RMKHRGn>X6kLQ z&y(KGk<9&h__w26aZu@D1JBV(rqa|^{Ww}}z^zOt#3`V3Y#z#Fc!h6*O5N1-27t&UVP_DmPWtn?k@<$=fW|_}iD)Yi8oOGzWJf1a)L8 zbV6=pA9KZr8o%;Z*ax^OO&!t)w7g6+m;Dl@5IRbSo54RqU3$!Qk$8LP?C3r?LQhVX z(C~SYcBr}J5v5dHERCY-dNhtVHG&);OdIBn?-W`~ygUx)3hCuia&oUMQXF0pGi`fO z^mIKO1uswZiU5G5B_HHtfYZxbINLj&cNgh^CMxovYXlsm} z1d_!_ObL@sxfz}&`ULIAVl$GCkyXAM4D~j6ecIxP819`Y0&`TXT;&dmc7Dr6GrFQW ziUdJVVH74~jpB4fCZQz8j5#bSv5dbA?CK_T_%Jr>JM}m$H*d;IZ3k<~!-Yf2vFZk6 zE)#U^aEf-VRe{F&nW6Ah0|(J1UlO`%ObR-_$g?zt4iN08!CE;>NNQ|cFN~4 zty3jU6xp2;2-LSS)IDNDviLnpM)DCSWi8P;OL!9t^sNOJf2`a?hkV{;ST3(>=7GaKgB;uGkv$_Cq6CY%jm_hv}&Qt zy5$EZF{fU92Bg=7G*b@jI4?NI#*=N-a&4`bj@P#5jO3ktZhoh8s2w=J*LCRm&VO{4 zQ7_D6oH~>Z6NVcgpZM51y}uS#rKXD&^AR2>#5tbK&Ph%=(R@I$IrUv26P;IxohlTf zNwZa>qHg@=Ci67bi0N~B{KN5krjk2CnC;p?t_U}4mm)F1#}oPR?E$+HwIz98 z%3v>f>da=c5v7xlvIl!J%AyNyNrUZH={jY+BMn_oZoIke`$J8uylK6&_FKVeV3^nun!^Xvi1^Ve>eJH6C9vK)yQ6!CuA=8D+_`|sy)*i z(86t!$wCt1)uC84FtPOR>I*@MA{_9$IDF}rIz1<|E^AFYLzDY!3~lmv_pD#NR}8I{ z6v_;Nf_cyVC5nTB;;zoJ&Kyl6xzDq#`Z>J0UQAziKL%X>)6UU@i+RLCpUIC3F?me@ zajsf0UnsvF;)C0THb!Ho7JVG1JEBw8L)4}xPALR$H7sJ~w|yA+1>8EOCvg`!>J4rq zA1PE=X~zD0KVDzf<5O^2r-W|vbG+|?22ij5d64n=*2lUp00*FfVpMvsEJi9nqyjO_ zA1KulDe5oH?Orl|efV-;;_lC=+P!#wP$Vg zzY4J{YF$@b3oy%{f32bQXn(5(g&GHy9|YmNW-x@<4qf6Lv*ZmYKc>;gNTVw6ery=J zqG9iOX~-UhP%9HiGLpzJ{q_Ik`px|&xNGM#XV3TOPkpmARxk&7G;X}po-#k{n8g^Q z3`2_0A#B|O>;p!go$;z)F^0it5b+z<&=Q>n&2j0$4-7q#;ser`eA&v>mx~lH);G#9 zJ1x)Q#_6i4k7TFfG&4who&9NHS41Xeq9e3>FyaUDjhQD6CF0LHXwcN!swMou%DARSd`SVSeqXdD|@sBhYP2wpEW5%J-|M>Xj$Z{9!0%dM&I)5 zu$REq6kpC#yMa`*@5a*OV($8UOhsyUwP%+JLzJVGB?$76(_6s%rI5J zfoesc8+ZJ67M$PMrjjt3j7}I9>4*sqXw$*F+#FI&DiWs4%Ef3iY{)rr+Z*MW{yDJ) zi#MU_?$AUtY#oO|Y>AMOS0;115X_{x;m0i{>Y_Scz9-bJ0q;9E^&&|H< zFlp`yCh(P}lq5o_$jHFkm5fwggACLa8tuliUob;0i(F{*sPtKFnr@G!i+e-#c^222 zvLzQTkk+8tdMGQvcf6_@ZRMk@ccvkcTI{4xjm0lD{%(3~QuNWWMje}neF9f4!7t?; z)MQ@xNmDmtkFXp4Q8g}4jWZQX6jxUHp-!yG1XLL`>vsN4@B$<&T^1{|z4pKKC&him zfP+aOV$A-hd$z<&oi4*POC@@cqL!UQ?E4Rk9w^>vGxzEc))9ZYbb;}Z=0(Y2G=dnM z^iZ~2dR|pB`C;q-jwHA+NAta(LoBvm<|!Hy41Qvi5|Sd=#-uT2{(8$mk_`R}X1-|`_wl~SEfAyoX=J>S**cC&L=PCnHFKHHsDM?_Xp&*gw_sj@ zkEVH3ccWjU01QfIpf9pyUiu;kTLs`D2{^4)o|#Uy?vrhB9haLA%Y!5ByG8;zo>x%k z$nDSizJxQYQM{iiTbW*GlKZWRK$%v$|9cVi5-Thlx8w%akpN8^{+_HH4&N&#;3@%B zr^hNHZJ^@>faKmBHHD}!vkfW9x_ZfRJ}x$P?q8yB*uKSa%Damw(B->&JMM&*j4iIJ zx{2Q?al&p>pciNSjGrf0FIfvCOhcB>AcfIvI}ThlU}kb6vI6_1+Qkwt>*^oxRP;O7 zQm(@xFPKwoP=MZor(!ev$W=55g3yHWuUbHev(*$1DL>XN5iUWk=Mc7 z>i-n85wde|EiBaD)ZeRI0VL}qU><}!L*tU%ob$zS=m5m=Wrz8LHAu_lI}W$aX8#@U zE&aO^>KkP$I4`xB9kgWc-OH4b^UMg;V$4wy9?xIb9)YJD9AXHzu|^HJ{^x^t@H{%F z!}++ZQHIx7p;ve`_zEJllE|zc4ALg;0i!`MtqxWA4l4Rx}_7W3v=Bl zbabwk14JU1;mRG-uw$d|t)U|3mixqJ11W5q*y+wN5}uB7!TgR}bVT3JDfdOSc(g<1 zT)WI&G%|gA(jFMzXjEvWK99@H#b@{Tm*o|ongqv|^b5rU5Iig-!fH4fGfX=pxBUpS zyCB6CCGU-oI|5>r?b`DGZ%@+0fr@JXNo^ddE_s&D#M#8srP*Hg?ylgb*R^3i&@)Y> ziu#z%|EQergFiS~IM&ncd7jtr@%!xB z;twf&Q-I!#VeKqs+d5f+sU%E1tW{M@3;ZZDmMPXzBNf#cAR7peR*(H{;2s<={f|3Y_1=>YQzGnBJdkUh4)bG-nsfDVcGq%|wAi!h3UW#~|+=*3M%na%L8 zn3+PfG3)r6bX7PqFUy1~^Ud`uZR#IaFN?|^<6V_8T}(iA_(C5^!ziU2a%-()ti)}Z zT1;%GMO7bnE@j41486H}=H35)qaqFoDJ#ud79#p99&Ide)93ww7~RrhXrbnRG`Hqr zkN5RUtZb;3t0ih*XQAqPxXEil8L{>7J_+X}b`ZBJDIG1mLLA)J zVoU_5%xNw-yr4shcvMOB{SI+fLnqU1F=&B=hiBoiJ!%-XBrd@D-5{M5l}Nj^9t7(4 z*cI)$-IonrBH=BtFHFGThcRFgqgrgs+h$%fMyNhEa1E1tuYxDJCPzkzSWr}Do_wU< z{&j-e>wVzi%VDY2mG)17lM8t+YRtjwnU){L(AYtfbref&&NhK=J(YQIjh} z>|rr716I}_D;7rLnzz*8qRyt+)+?c%>ePE(@b+dW06>iR!ljKbG?JtQtb}b-FY{QR z3+1GsC&_*ENW@H0bd$qwxiR%=eluu>et9y-IxQD}b66RT35NU-3^zw|x(v8TI9jvj zT!j?EQIPojgqXPz-Hja!zMYM1(^%8T)Eq(d_tSgKT{$MCu~-Sx7^&{u8=d~cKWOl( z;(H|6RHH_el^xDNI{{mqZ$c=UNL>?7a`kB+7ly>@(=Ab|s+~OZS;-F1X~d5U28R3i z$gAJbpC}gQ7>F=~rsbm{p9G3a9mEq6l1liK$SOAI35e*DCQ0f}20Lhc{*bXUF`5UJ zoYoP07nn{?rX+CIv=_`Jd2>%S5MYGnz)x)RYM^x2+Qt7i`zogOs3tt#Gm3i8@D;a!d{qEbC?dd-PrT0wJ%9UljE1nEO`C?%9`yGE$=Am! zhp>FiLzcmq0e*U!`LL>L!0OwBOloMb3weeWA?W19?ReX<4GZ6{&MU3T=6o)gRrdUPh!cWBE5rk-!1(G?;jS5LlKSzloTE_BLJ8VA_gF^|2mD; z&3dlTm=KOfT+RK4O&L_+k3w=_M5^p`tj45}{GYHSo}`IxZ_RvQIQ@ORP3|_qPfE;A z97|Co23};0cG>=fTLizoqBC;1K#oXw91Ujz#P$(Ne9Zi&r+~S>dkQ81_j`~SFOS{7 zdF~a(mG4!6Ly%Z?z*j^jLniXi_`!nPyOTn#NIV1r=-j?5a#61Ih6(yJ>yt>XhzWFD z{)QCb540XMnB&@N_CQCkhAYc4#Oy`}W9se=>3m9N|5myfLwrViD{UonC40`9Za;kYkGyKnw-->sxw z^~s%ftrcgB(^*ApLdPd;@(Y|i?s?2*(99n+DJ*hSh@}4YRl^#^g3B@yPTh=oR)bSh zihXvD_67wD0UaEP7r+S=55xUG9m1=%p9 zxOa;)xSv?l^b-@^$<_0xw3fU(5abizmNMxlT9O7R@H^+;f7AF(E(dml^Uxw!l$D=h zwl?i0FSt5>9~mwPMw8z$t2~{`&f$&Yrt$4-ie9S+jx5(V<^G_v zpa96Y_dFO2GQsIM-0dg;4R>+`xHj9mDKEEjnxwjj-Uf9zDsvpjXu|)(P$($)q)Ms9&1o8^m03M%=|LzVSZ3ou;~#{o`90p}Bz?2_SP18MX=tAcIWrT0a=KXE6+^JbWZ4QovK6sNMR4 z1*-kjYU1xBtVn|d68wko+(%&xeDS(i-|Amy@4sLtC-0V&Pi`SEgSl_PA2Szw)@*NY z_r9EL59e%kD`;TYO&nMaR3pBC$V(Y^j`HZRM_fvcWb>p zEJN1Q-Sw=JB#co>g)#txY>V&Q+dTcc7rajdy`8FmJN&bVOI3qr={>eOR)>NGj84G< z$jkuX+c?V^=tZ{~P5v}OSv0Hg$Sv?LfLgaAY2H0h!&W;7@oNMtT7||B(;Nlnug4Tx ze(r?|%(CHLs9Jk^l`O0zO;H%XfBUVkNU|wu+A_?uDJjT-WldnfheWa_%W@j}kKc-S zBf8?Ak-a1N%FD?E8lmt*`N68PZ1a+t+N)?RXvhAaxa^SFjuA<5I?x{xG@*VR)`*&D z70wb2gm&|275Vt5LfSH%r~OY+?mVlQ3UZm+#YxZ_Y~d>9>$QwA=41>{Z_7i)k?z@3F@dO-%asc^mpNhWTJXyzvnOa zD#cK?6Nfv6p{IXG$H*Dq6w3>zbNuG(m+NZ_AF4eypns&;=61HHQseyO*kDkDYNC^W z`QkE9qk22ruJR-Pg%+lAKCKVYbwViEIfyPzAp1P+LY+2h`RbIGxJ%C3U{w-FQ~Qke zt>}U3N*~hBMVMP!+yD$B=a%KJ44baMHVd|541K#Mas1>?zyt#&Y=~Spqp!Qvd0B)f z9*aM7X@{7QeD7-hEHXFtl|91Ksr8RZbT$yEV6Pn#cU5b;PMf0+d&dW>&qRyyME>HC zlaWYC9D|>qOI4*QK`Y)N8?_GVL@Hm`qD>JhkyoN&a1J3NvM9{R`e2R#xwpN)+7GHA<=eAAC0?y7hit%p*KX?Q;pBVyy#V3CZ zB!R&4r8QVTARMH#xDwLI+5FsEQ$;!KpXw)nkJ3GT*6U-)9CWi{dUfYyqAx7Ow8rO# zoR93^dOLho6(4u^=Q8@De>^8vh{`Mf7s)i##HkkYKrHBvcY4{(dH(P0%ux36S5>p; z^G42!L}Te*(51;!$osd;@lV#yl&+ZHS_h`LR{|XLM-Y~}Z`QV|$?e&J;Vk{{f>}}3 zsi&9z_Y#}1huEnn(b?(=<9|q>;qXWfii$5fS+TD<^u9!5QbN41$lqMt{1(87dv2r| z^^*}@UV=tWy*Cw@l=t`3)UN}lr(wO-Sa*Umc8fsk^4?Sq=j*O9q37M@ZEu6i{lnL4 zn$IX*S#@)oK8AS^J&^n6%0*g$8)Qm!j!p7Zaj$Q_z63*ZcUrZf^)|(HlO|>M|0_OQ z_H5ANgW%$OAz2%$=@ItUz1Xc8JU1=x*(0 z#UH4^;M>+nYg#{A(Xi>^dk$|*?0Xu2Ue2Q+HBGXKgsWorP8UNAqJ`wo&L z3uib%>d+a+K{OFMX(}yddx84w=SpY3iEVWQs_`sU0|dsNLb{q#)uuQI+KCTk8tXv` zRe$$lBpZ*frA%thv&oZeD1??VTr|v`f`M&XYB)$cxxAcsJMX4}yd*}#G820jK`4;k z`=p$lkcCrm==BRybstF+*{9kfsS*FG;M6>?c#qu?#ek8rY{6Gah?yW?{@TDzH zOIdRsjJZ2)AaUzTbWf+r%6PaOPvh3BR*wWjl>(b;cE7Nj`pF?xFD>)xs7=GG+SthT#> zytNf2oLrF%wwrfq*f1{T^?yAe7j>~OlK+P251SF-{@j@Gaj{`6N-zF;t0d}JeT6{j z{MjBR0FGq8;#oAUB$x(n+l+b?5c$OP7Uu(vZ zvekaKbkNpGlzy$~4mnWU)RYnu%70h#rhZgiy9L{-AE*8?EPCB9OuRa-PQ}ES2P;4UpCAH1ta1m`wwgp~eXpIuKb&w2U*v#chhcpT|E-B zA;Gi?U$;e)S(HSay6VnrVKXwWzpfX0(BlWFB&gA!4q;Si8HM|4tI}x;6I6=?04^Z@ z?SR{ol*X!LRegHR0THD5R16z#Tkgwf_^gliYcYb0L!*0fry944>8~ z4D}&7f)Xdap6!iq7I5g#~m=2k|#}w@3O|6nWwxECheSnTZ`xn4AJ4ibZn#L9F_E3z-Q$ zv&0AVtQJ;&y6CckXt7ywyL_>!pD{b{WQ*|&Cp*yqrtc~hLn^4U>E6n;CF+X?p^DGQ zACL)ABW6b#l5_Gcs_`X)=eR!Nu{uPR0$NZIT~53zUCEw5hRiR$^^WPFTg4$+Hd;;Y zlT~KQO9(61y*hP{EijCWs-;Gs5T!8EqbapPZS_h^SItM(Vuh#_p%10EHXB zhM_t#QQ<^LTLdfRM%1j$$3c(TA0GHRZ-|$_s;0~+3@6u9$e^7pt91YP;{3Rt8|N0K zCPSL}6OCsK4viHpCGPdhNRR4+AVlMAITy=E_@G>WuiktBS2ojqRZj$sfH5Iz!@m3L z*|?(%f-KuI0TNnkC0-L<6hcXnzqCei;-xOw)Xyp;ib_{gDZD# zRYf#RDdn~hRr|V|`7nXLJ!=F)Y`mzwpPiUl5lt{W?g;E!)q&Up&#OZ{T@}6%9v7IJ+ScB@D;3OuM?k0u6o=5vn~|Ie#f2;#RBtbF)@XiuQbJ_=E*}wR?K#DyqJ$(> zRV1`*MgXat$bvZeKdYu9hm1--`EaukMXxuN6|xkt#JLj;i9`;5weaYC9e?xs%v|tk zm=C7_eVvyU{1(r zhUbyyv~|%16=fGWJvfuNbogncijzE&Bg8})7D*i{5+_aQ;q(FQ(EXCt>ajU<^$3f< zJi-+fJSWd^atNj<{)lrl`E@>L4_jMD0Vhl)NSOejapVa2(&;v5xZ<4H;v5S_uwLG| z&-Qfpz~)GKy&AsMLphxZc<&->Vnn6j$7qV3aWogPS-*6*_}jo3mcF7TLJTnR{Kv3b zwj*xWZ#+?~q(2ETq@$2&L)rBNoi2P2h_8s~+4>I;f@(fSs8@(+z+claNJOxl$`f#y zt{H8=oJ*K85#kol%0r(GrHsUDWvg|`WC@;e<@{w6s6zrE&)Zw~GcV^C!BB$BP1M(Q z`t|>kvuO(3$Te|3CEvl5ZMJoQZ1x)8+>zpOd4lrsFPx0f2gX3$mHVSCK|&F<=!8FC z;|C_vTAUnTcV?;yM{Jyr4y5=VtDMCqZY-jZaYI8Q3Z*3b4buct1ts1%1){EM`^W7= zoS%(hiW9Cl8WapT_w?ux+)!9Yv%3?Tk!Q>)k{o=`E)}q=$fCz#kE6jC!Gdlc_2@@t zr6vbcl?LbFx|w(oe4y`=x44f)Gzl(Srh@Auw3UydIhy*+&(*!F%p z6pk4y4rQ8a*jl)Uq!8x>P1cRpUN$Ab2)D38aR54%hP+e%IF>l^L!x-~7Yi2Qka6BX znkg8z79WX5J?Fx?KMx0eroLf1AFUr{qUP;?Z%LwXnw-=+_(8!<=?BsWcY7gQwXgpf z&t81>9yJ@uizs-mE^V1qg?39k4&^~#d*Afl#42XHNTLZ+<#cHS>AD#YcuttT)IRlZ zMCVb){P9+SobjXm?$v@=NQ;o{Q-VkW-&D3X1<-svi3aw~>THlb$F##+H zhB{n<9>tnQx|3lTK)ib*U~4|`UiT?P)i+dmH^_zFf(2EY=?mP?99Yge`jgdM13lg? ziGUIX9SG9jwuQ{mNDY&s`z%_d%0?EPS6XSuurmARW2j_{)#2>H{FYtAu_3Ts!X$X$ z5UB~F5no3NBmMDRyqk(rL7aC&(Cz?&_XC}EN;+#|;fuezzkGqS^UtwpH(37*IXRO& ztjOri-S>+DL(-IJLKOadRGYC8rZ*+%TfqgA1qLRvK(gr@zt9pgzGdqZB7gm2)r77XzJ=QUhs6ksRgRSl z3)a>e6?X2-)%cjGTd-^7>Ij(#P6W9(M{=_6`atAWk&uu7(C@pAK zMegJV*^h29eYT4ZGS4fV-cnC3`%XYFYe;Za8(JtfCTGXd+wRUcdky{ed#lt^Hv@rH zg^kJ5NdBTT=*if3YZ0_Wx51{-aJvCNqQK;}fB} zboTEAc*2U!B|ii;=_-QWxT&x4@DGh$ zCPa!!eWWK!6hv=-o^Clm!PcvQxh}HVliJ2h9EM~RgUgtJB~UASxfy~?_{l()4UXUT z>_>p{+7u(!cSIApP(vsA`;H+cUH}%Rl$0=)xg2$};fruG&KWS-U{I@fpLlqJ z1}JZ_cHI+oi-VVG?z>J3M1tQrb^R_L#Bjr;bB!y;Q+nw(Q8E*z@ZNFWiS>cK5BY@g z@PiAKXT`mHWyuNg-l&0S;S;C6@ApiYb8K%#Pksb6m+`8_3G=x|8{QXTYE_SWSntE( z$mJ|~jx*=fVl#c#)V0o1?tqtM2g3S<0^?Y}Z#kZseG3x!Twt!>{6vPHMs9%}?~-Ll zcv{}PskAY36fNp8@r@&vcZWx_9v+Z3L!*SaEE+gg)@c==GdSwKx7j_HHF*CWLl;4~ zB)GcOQ@c$9@08e4OGN94d4U+tO6M;uuj_pn??4wZt5+~eW-_+9xg%-(EG_RJY{a#X z2g|hjhtIOc^7#iqAJ`iiZJy7ClBkLpwEIYClcYyNW=(x8L`lzM)Sbs~nvSLR z=}IK+r#SS=ze-S4b#z3F?T}T;IgtqZxoDn*|Ew;B{ zkL${D-pKA)j(6S8`;P(>9MLB%nte z#=OI$XqrDH4E@1vh6{)nd{k)kJw1`z4?f{S&A3nkB>9iA{*U3`s5laKDr>sClRa6r zkdJ>?K;Ju4>_AH_26OXVuZ1ozwRI-`lHjRfXU@%ePZ{7&6)Jo1D6AdfXQ?UU0#ifO{r{yj$Lpsx@bZ~98wV5xfA@Vp+=?qOJyJ|h+9~6*nYkT~b z|D54Ozcn;E_j;!pcwl}1yVZLe-Tf_w8fsL|kcpd}-CnD4JKl|QxyU8^2jNTI^kKU3 zF)Fj1hUjUR^_Pc-*_(`)E+=rk(bDoVkpD1(HgoxgWXv6hxMfPbXZ-Z$Fz|lOh^;*V zIq}c7Z{X(s{Qczs5Y#JvUsCrkIkdd1t;=_B?)8)jVFd=T-j#Z-(cGfj+k;0scK=eN z|CyC@z0EH7dIofP9br8FF8K?0?73S^P^6XHC6r3zttRz*_MRjs=Ci6F&o^Q|1_&(L z?a(B$y9MkRt5SS|?7v?>!g0X+??G1=PmCXrGGgim9kL%^@mB6jtuIEapQpCJ*^o}jD z8z(R(!I=&Q2#I{K(H1glTQq8YJ_@`ojeoq?2LS#Tv)6%&Ewt6tegIr7RV$Z`=-!;J zz9hU(j}_&1pAfP>?~950cnp2hfsdjjHvs4`4lgcDE_d0UZu!v6-YnbH7L&cw$xX0* z+yWii-l}U|X2Jni&^U0Q#&>5<8pEG6r%0#!0xvUE*i<430dXkHj%%mcDhj>w(Z%T~WzeI1HPbe~3p zq0edD>SA2rrS5E&^SjoC1~0dS!HCx<<4?k(J>Q}bA5JyXAM*hnv`e>q>TI$5ttG^W z%Z-HR{)CQuqdAc%*;yRT!ojJ|j=QLuq##kK9#S zUTQ7upD?Nc=YhgDY?6{VYZA&*>TWWW`$|gc%cq{Iy8f21L77F*C}>DXta~y#2_mAC zI{z26tp3<$ajm^}zp^?9sm-P~l;?@xB_)&dZUn%a=b(6wVy|Y#OqtR% zL;2-Wf0(2XBpG~)c$CO%>VY2~){;qul5F#uEt@Ly=b&6-C%KWFMr0LY4t9TM`D??QcpP;4* zT?>mvsRL(Phxp~s%d9A;TFlbpe@&bc&Uya@ws3I`!f zSvxL{8O&-B?a3RiRXbXd4V8Sd=EHi6>8AcnXL!$%WIY-proy8dI1gZtdLT3_@otgE z2zmP6L!9_44Vt4p3=Xpv%!?%yQ1nn?ba>S4~IM7g< zL0D!HT0Un!)e!--hFtrf)Bpbf8_&4TO z`|D-ZRqly7YiSYUS_&oWHElOBsq1U#5R!5t73C5+kW-rHgbG>Cu?E~hs(6$}U8zwS zyesUvmfjV8x)xtzTyFiDFH#F4Z{J1!<(5^+*7rIXP^KvBd?#&oFwh~Q$u)U@vV2Tg zBx`QYlRgaUfQ1}+2(?f7llAbhOOpEx=aQ~v!?4~V5IHr*{v7Hi5Ywy{xiF-w(yxXx z+qjI>wK^<~CQp5zV^WS~2)u68`ThpHq3!2oU1wj*Q<+8w^+xOLX-il}(l{@E{x9*SvU<|`Uu`R5lCct93&D^q&~#y(!fL8YWfF9G*toei%I;EGJ?@*?6%uuB`sBu# z&H{lQ&q>yH{j||Crq2?;+}ZV@j|AYjVy11KIn0vz%w_#7HEguE6#C&ztlL79vE)&# zuRD2##Kd-H@t~_3Am_F@bSuhlw6~KylA{eXjK7xmf7d{-DLg&W5 zVZc_$pDo)7Ore~&T9%!R%JaE#QWm-S-J6v?B0M2!;A;LMAu7_MFWw?}1-eBd0td4<>srl$mzB@T0lRIl85N$Q9R8)71)4wq zeCM~$U~W+2U2Oc$+_*1Y6L?g)5FS%1cGpao=kI!GzF^v9RfrHY|F3piv7rpg;#4d& zbAHyjO+`tO!hicGKhJNj*la);&0#`P$@%v=CsQj{|6ho~!aUjkV?yEbPY<};E6o=) zHli1j?X)i}7a09QqhFumVbLfyN3iToF}m6jBX*%$y7p>fQ}MZQOW!(8InZKA(yoYN z<%8h#(VCy=@TBo>=b4jo=UI+t!*PLO(;q<{s}AGmFyp~Fr;SkcV$1D2Y!3OZ85yaM zcQk0{*2~y!dJ|&4Q|Zuzuh+Eh8yTfh+4e=rJIrZ4n^)=jlgEd zMXI_Ur=!{MNBE!|)ThH@L8}MnZzXwxZtOi624nQZYIyplb-#a#bD$_Y8VZ@M$a2mQ%T% z1dx`J8CGIdno?ujy$BOl0%Hjb?Bz`r!joM`Lt?*cG7Uo!fnWtyylt3PmR7!vY=5K( zVd3=NIp^k62)ZI@542ngx}vA-IA#ma;~0c0tvgO{sZ@)bE?k9z7|0Y;r2B4~B{|b{ z-akSCnc{zh@${-`00AYwygpHa5aBaeOw!V_h~YnaeUQ_!8V;)^ErEj0XOY99bi)EN zR6`e93R<+T!wQqd+FW(KhVNFTRg!FGb}NfGPj|Jd7->!92L)is38F`HzNS<`Khu=7 z!*3H$jU~fw2lc`(WLAD`Y;~n&vy&UvG5e8R&7%=jN?qhWhg>IU_>)MkGSO$j!l97y zXgbZlI<9UEH8G9~LoaLm+S7{Ee(*tyA%%`-)K?ZdnI*u*polFHRxb3|4bR4>=`Bqn zlbtMWHRoEY8auM+=RN-tR$3mbUH6!tssrc~(Xva-{+6635Hpm5MxhX`WFbMNOY}Gz z3c-f0f~G0*_|>^frAx!-%wg(FJhJ@MMp;CC44cOH!3*An&F-c;v+>(UWqwa9a$t?k zk&6d6#<41yQw;@QCf~Jr3(s}=ZDtWv{$aLCU?-u=PNx2_BJRF7q1>j4Z;QC8T+n=V z7ph%38_oo!ZYd*w9u;!+gXaEHg8|k(qI6ZdeA9g$84T^B-3w8ZIdnu_Ohro|@aA~4 zq)-2nck~w?s5SHtaO9I+ejkR>#p}h<(DjRkJ@k$rCq0)81eWX=^m|5;LoKulhH-Fz6unbv!M1h|dRpffOoXq7t3#Ox`=`HweO396|y5Yd|3;I921#HOUgT|1^L~Ul`=K(<3$No5% zOjNrrD+L#cCK|^^et_)mcV9w|JFUvnAhl~5^yrOsN~AhY7et2?-X>ct{3EB)KR_S3X#egnKbtcl{gB*Zk+&%bytuqT9ldcU(cYZNBW z2)H~|#0(gsUGA9`DU`kau#TE~sVeewe_Yre4rt|iV<5*yn(Kz3uL!3}NKP@y&;*~( z(y&V^$aOR(Y6%BusRlOtJ{1<%;~~MAbiYug_5F|>lX;xS-b;YsWNC>$klv1N(d{D0 zmEr_*UZ%+jlVFaA-HNq#SE0fJ{F-|^eX64qeQ(WDKg-}qLtuh3Slm@QZ*%3U9@H@b zt?a;IpM6O)9oKc2=r`{e)ItWU3bRLY!0`+2j0-aZ1l+7I1-F9>7dUe3ga9R1b7~J= zTt=4X#W`0>9p?xD5Wab~IV0H{=32&ykf;*36Hyj;)FE5LMBFRS;O1fG%D7gmGx1uT z9u`^Yes>?Tx8EqY^Ja#VixLedeJ%6?D=tY8(ym+q`(_vyEgF5tBHF(fe&F-?bPuDS zd3Pw&l&~08AhLz&IAfm|?L;>_9*PIK)%bR7i6;wocU7{qBZmoWma|2Aj7^Rs60g`` zu$~1|vHP}1^?RSLvLzt4#n5F+G^7yXe)?xki^@u+^Lq%xG?u6BI81>x@uB$z2MDGS zH1lua@x{tiydcQaUJ4Pco(`u*D6^Y?9U4}qK?61CC5|Ymz-lo`))^kV>9JC{g9feolO6UVR(9n`!5DUX8w~9Ju~ZY3hp+q z)f6t66Oq0{OInJJ8nZN3LdzMY{HxcN)DBc}I#;d5grR(Lt@N%kZ4drYn=N+~cF!Y* zrY0~*(>##C*J7B|YsatS-)Skik~m>?P6#3$!}OA4N+C7UwnnPP4M zat-l3A66|KC-HijfYBR!tKDP%W~E+R=CqRvv#mjakR0-!oYs(ehSt+0Byd4zej-1V zCB%i1C`D>vBc(SO@6vpn7B4D*1kl^Lc3FVl^ zlTtMG#HRNc>yEvDzek>MQyR$6vD8s$nSR54d=RD}ZW0Fk9`w_T({FTt8UllpoL6^B&eATs%Cv!FEJV=@f>va@~q6Hvf}mm_WJ53zgm$zVV*}8Jw+iF%dU=opDRzgN64n0K{a|-CaXDzT+`s7X~ggXoZ1EiY&$&l234it}i|<>~yqNosTtf6k84det3Qu z&$^+oQ%#sM4p2&P(#G5qSsj!H;oK|s2se7M&pWY_zm_#WarqGU{&Cc2Y5x?nZfRqk z0I*N=b13{l9z+=p@r93N9b19C6N!xx56N;CjMR(Lb5Yp!9{hxAL&|W_GUx$^bgA`@ z01KNKqtwjDA$KI}q3DS)(gsnKbBKO|fJeZV01X*82V*c4$fc%dHUe^0BfzkbLUum; z57%y0%9JfdzLUcMIyA(F1l&J%)_kkp?K`^s+`orhP@9ON3)o1Tx@kz=m5mBnv-5MU z2yj-Kt7G*K8WwJ`!yvo$_3!Ut<6bv2Vphmg;8%S-QSO$7irD2Z@elt_|W<& zw~&X}KVXH8WnEEovIZ;s{Yi#TPRzrOD0o~(;iHKTIwrzk{}}wcoX(J_}wT8?1``^dO{Z+2%yA)ce-{S`*2H@h9EuYB&lR=sc+^sL%t=YNG<#1T) zl2z<`^u(4t>9!Sx3AU3MNp8c?;@Whe`+Z{(rzW1!G?=VTC8ivc9h9tA(WxPG)Ct+VzXlN-hts=%lTVN}Ylvf7~I`K`feLj=5;q z8W&~9RIGrkO}KG?!GWSA$x;v`A#UfGJG9d(V#o7%G$4X<+IBAZ=q+hFj?XwWk;+`- z1h}&o) z^YtSje1b6%D@zALAeRW6rCq7bNVm4;j6b1r1B(hnpE9Qo(Jm@POWfir65`^bVB})j zG21JBD8ziEFu!>FJN5Wln+#ARti)YeXhm^4{mJ9$_>+LPR6~%dFmBqjVjHnbl2hE* zuYK031?H)IyKHkO1@fZ$Z%bi4Tq0biCg#vCUS3F^m6( zpaF^W(S7h(z-OSq0p_DY4hdS`omVrbdWAcZprS|%JW!5Y{(;sI>jeiNpWsq~XV{wG$l zzi5IiRmXS?*qEErcROU4=0fO)+$rR7%4Y#TfRX}Wj%W9`>?Ejqwq~Eh*>Myv%+C~1 zjJuO|HCcyqi8psM!B$F{*$xTh%lhutOte4fr4NH8(>>-G#t-X)xUN5F%XO`Bmq%8^ z5*y<>LTAiCIi5rl-H<;i5{kO^eQT-Edhj?KGpHe;eyg)3^Oj5SO>xZA*8AXa((u1r z9tE;{M*1zwYN6_IS(r(D`EN8~Mm;$l>xFaI$rBzao{0#5d*g@|*D1axAZ*Gr>WLT4areS)&sJG zHiIciG@Fv>@e(K&f(9$Z=}t8*u4=qEFqgM%3Vl)ARto9aj96Xlqo zV_yc2ijtGuV6hlthR*d2%LKiHCAlqsmBM%D7)=a^l-4?r!1RdTVuU=*Y zOFOhiT9Pmn{U!y`3Eo2v(8vywLXJ2tfX!JGT}G{uf?fH4kb8Acb)2NLGCqfu_)kkz0({9jzYj8y zFH>tDfFR}=6iaIy9vGzD@HGLxlx~5|m(EgaCmLsbR%^MUx5RqG^(xZhkwKpbb3}XI zwMAwgJIUY-L{X_TQYI5KL@O}GuPZAXdz|%2FTNi zN6;yn0`P-nWfcEWTz_8=(tk%CB7!Rmv4_!Hi=@&>ofLO|%YaCa9F9Ymy5AzFAW4mY zD$xyteoALU9Rq_;ECC5OeV>Hd>=X{1Ax_8=Fv%P9A4Dt7HN8cw=TaB%fiA)Pq1ygP zFEG(J3=)YBr_!6mJlRCJ$>ToB^lCriG)io+BFi78!R8SE0D7Q05{C`R8*+8=uf?M` z-xXodxozfTlRD-dFt;Nhpy;$Hax$GB2x5ZWq(s`XA|Bfs*hH34UhI0*L3YMtj{oGg zuK2DLJ%6-*G+f1%yeAPG27!o=QpT#WU!s(}eh}b!pS|o9vt>Y{G4X~QMdJST&HFSY z5#QVHOJe@hbNMVb(!2Pczr@hsI**w9;;><9pa3UCbMK^Nuwya2#u83f_cZ#C#&pmz)CNMn<$`$G#xSb@bAS<6f~svhTIk*MZ7)zK z2R;adTph#@7_L_-Qg}ISta8?%+L2sSRfCR=j-krrTfCf(RIX?Q%>=GYEY``&0|Ag?M@X+DWQ$yul>jxS zu-5BA$ZCqGthN<(sSx#+3b#Q@@##I-U;ni$?HD~aB}szAt1H1YrOpPn_d(7`68he? zCv(Rchj*lg!an|!Gs&X@C=J$XA!7=30-@OHucYz4Sc3?vG2h``hd}p7+Ky^+f@65W z{qRAExaqePg}hf*dzjdBQ2DFdW0Z;B^e}t|rDqurr2<>_lxFlSnyKcC_(Lx`#t4s~ zqVGm~{!Nln53?Nm$UDmwWb-Dv%o7yLg--~E#t1B82Tq`)V*DF=uv=d$=xn(_+`2tj zB0jD+wRXLA`YZp67c^>|uuAXGval*!|3Q~&fo2&?P1?-o0~$$!yu%Mn-*<{~>;ozE zBvGGAfANFe_^gw`mM_i4PbxU4E6Zinky$75U>jb+0G3?N5rx*lMny^1m+2AoEsVTz z{GuJWHW3|`xub}aE=~dO`Dut*j?ll!N8PR!|77KuwnK$1EOpd_rrxl}o^NI)ebj?_ zJx8vM>7=}V6UjhVaF{G~w2s+QFIgbIA3_s)q-ZLXEYxJ4PV+VHXh|WE>HTtmOT;F> zr3SL29$reXB!z&deXz#x6;2QIIv3JKgn8QDQtU4#O<~^v86#ejWC*P#8M0scoL;Nu zOmMR70D?mjwE?ZUR}XMtvC2p ztV>p*=u^bP4>QH&L>E(m(%2!lOb0#XJI^0ZVQspP&qQpFm=6l;@(oIuZo`;v%rOch zpLK>zRfbG?fuJrQ&?3&Kp0DNkLB+E`YC^Uw8E-t5q=AXmO*mp9ua8(JG-Qd7?|F<5 zvBQqdJ{+YYdCXq7$j~FpObO?Q^gx=mF7YmMd>x2K34yX~+m0tBCVlKw!(A_4McpDC zSiK?3bhAPhnnjJG{my5oZLL4ea^U5WU4XK}jD(zX12LL|Zqd$y^#ZJeK@bM;w+rN_ z0{1GPR~waGuJu1BM0&+{|FFprE%lhroF zuK1+nB0%2d3_7!N+9>w^ctzi?KiYjkasb!bfcT`Yk6E{1N6%V-*j|jX@$tdV05n1R z+Lqzyhz76oC2LF1S^;zFbGHZ@%eN2<7c=FW=Ra;lrbjxiTQdekyh!St4tg|b4n0ZW z@e??A9}8g@1J3VHPOm2r=GdH^;DA(;R0}TMsa^6Byy3c#sYbO2j(%S!BS+8GCrF@w z>lzH;PNN^6^wW-YxQ>Ch&OTnpx1g_DNmu_dLyV;T%e0doaaNzYATf(UQU3zF*40>S z>8nt@6Hy5EDM_q)@lQ1lkQW`#`{!?J(EH@JqpwGv|+~?OCD!?`GzGeg~8!5H-%Px%V2Sr#AO7hKu zA-ipQ5Ij7PVvvIYbx10R1|9BZ;x110m8ih9Ui|_a<8ehx+X7XtHRT78!_*CG4Gs~o z5j>`I@vJY?E^kErvb=J9Pzwa*ofuE;MPmN1Z#jL-KuJ9fg?72vk%1%`-0PAGM zR&zKOx6!GQp5fmKDY;Sswese8ZamDjD*0mDLQ#2bKw`pRWdXKyt`G@Ga)9(#$2SKa zct4~;5!2`(9GVc7_ottn4ydVduam8BEi32OB*~QXrVFqUiJTnZ*tJZJ5$tN54(Nwp z;-$PpGQRg2aewsx5(Cn%@I&jTl|(plj0wo)@bYh_wUZs~)nqGmi#FbS)88wYQ)EiC3PIuct)cY&NDu zkdhE**3NF7M7!c+H9?Z|fv+=wucVeZJ`Tl<%KB?dnYovO0?5O#&;S`6$bDrdDNA=6iD%z_l0#M+4 zf>vG4SF<+wszP;@mPudKW*2gOQ`yxD!g?!5#@02TR@&3v`^!b%0_dTCu6JG(!K+w6 zocil?B6jxUhr6z(b%AgKcM1Z~;$l_%>-O5%5Du{Jcp_RFX%_S}y%LYl-21cIe&lp2 ze2WHtE7chRW_ycq&lW+#M2xqzr5h~%_bTn3&&v}|$?>NDQ)IVsM9&uNt5TN;A`hQ^ zu4Ual!8n=*DTvA5z43f&19A1Ao($c>i5g?F0q4v3J_t}W1UkZBAsx;y0UeF^R$cH0Zk!qB}neM1FXbMY($I)}aa}}Sg7pw{mW=Yue z*4;9T@=scB-1-v4#9FyPRwSohJ6duD)guUc5WD#aOKPcQK(+sY*L+v6XCtZ{1G7RI zx-ivby10JU^dLTgmB#SM6BRr#x|1Sq5lafX#L7Kqy2BEDFtKb;(kQ?d`-2c(@K+oi zAt{hkh~*SRIsdF*@frBYo7`TfjwA~ye&Ynp-TEA2I?s^m({V0Vtv$? zTkDMn-^ujVJI-1ycP@Q+TA@I&3gnAj^z<#5Vm*f~|26yeblILRfUXarq@`IPQiy1! zm*w|cfsyF;A~0wQ_c%iD-6s%Er+)mlVtJgIct*^W4&$Mb{2pi8K29YiVdv zDi84+DAX+~UfJ;gFV4;X*S8Q56N}MGUh^PWp=S8d^N>cewWG3hR&`Z0dnihSLT=X0 z98(BmDGO$WoE{l4TJLQUoPM&CtG;#&{*A`fuB;LLHLg-fVQu{@<<@)q&Y5_RQxE#F zN%3(4*B*JhNf$`(*ta%to>yY6g=25%81ZeS4KlTtO(?oXAAb$z0vrvQ(9Ma>xBo?L z*12)l`Dmk|@Rl3Qk9hvZ_TxMGfP{=xPwO-y`vm>=SB~*kg4a;QW+OcoH9w8l-Akg4 zRUILo-XxdtBs5Ivf@13Pv-Y1!SIw8_XJC2bnqQtrDEPYJNV+ZFGPXM7yf8l(HY92BhrMgOGhez^|yCWYC_@AblJ4rwV@q#9X+TVQ+&r;47k@fDik zga?iIU%jU|e=T&siT_m(Z%Z05EiXRZsj2?m5$E^ZZ2a;&*J#O!iE=%Xp1)wd+f2r% ztLACkU}En=5asU+QNH2Q3YtelA(2dYcO&g&b^%%PTEKk_Uy8(t8ni;b+4%Wn=6VI< z;E1#S^^IFeZ)nj8bw-SLKk& z(mvO`4pHD$#7K1~sX1aPOClP#;K|k13kb+|WutpwfsAlRj(ykNlg|=gYAzlU>)ZFL zeAv~Ur!|2ue7f=k%X8%&RkJVqtuy|{ps0MlH?_&KZQfD*W!UL;O7YhX#i=8;uGs62 z5cv79p!LdGl{$RB5+Pbnup};Glr6Cgo zI8NlIwdgg!jfZeDO=N(apS>s8!n@K_=)2qPbXRA^77PqZMxJwhl*{#j4^M2-={|8$skW|{FR?w~g3l@+_i~A)cCQHa;H!mW`%%NtlXp<+eXdQ>aC{$=YjK99EE)F zsrImy=v2Vw*#iR{CfPj^1Fk1utY|y@?EO!}M{OI0|)I0URdMj*)DiHd^s#7ZL$X*4y8LvzR5E=KZ zL?}iAS2MRjWTJsE5Bw)&59tcNuz zY7s(CXX;osmKoBRpYp?R`f@?P+0a;m`;+Dyym41<=BR0UCz!HQugh+;--pY&4#bk>D*EfFnyyI`Zv{)&H4 z0Ov%Nf+!kCU7klwOZ_k33vf@m&KE3ryr%fN?<_Bem}4S@ zn82CN9&bS{RC^NjcJ1!?1CJM{2^dmbN6Ay#cd~SH+Bgw6II!}e>$;cjht9aD5c_2b zHqiGQw|Q1*#m;zscovoubI3$!+5e@hU0d||)SH$@vycp-i3uP8K8@>vZc=+rk~_<@#5T;Mo6UI-^+gEK`O;pdvJg zL(=?x)!O30r-yA?^o71|a5W0@>}#DkBL7ysN8kTeMx;kL8WGBE7Hv!u+k+urZe3h^ z*>vi_6T9jJ*;ZVcDEc(!Nqvk{P_}FI=vT=v3fjxRoUjFKG|nyzSgE1rT_J7c9m$)c z`^>E^&Uam8>HK(Ov(k0h_$*{B;AV67x8H^q;gDW^kN}p_qo%!c*5_WgIp%Ekxmj$b z^QNR<>DwM@HUf|*xPT03z0Nj{%~p0bWi+V*063%hTEtjdQEx#m;qFHb6;>^A4 zyd+|cnM{bchrk5u=%YL|74h(s&zHt)sFMe0IXlq3;`G#ZQ@JI_I;WEJ-io-D7l9Lk zbI>totmo8qo*y$Iwdnn_cI;m)7*OK!unm#l2^CMLhIp`bbu|8O)QheTPVMjmeqN@X zQ|Z!<6O+)v5?*0zS0lfJLOj>n+h+^{97DOyZo`b110BytXNF3m1Ob!4g5u->YMX*K zw)TeAju(NhNl{1tbK|Bi?t9fAs?6~-0+fuDECS%9CL{k9D!VtPig|G_iFnj?`{w4Q z;6b&9Oh9lJV0V(!rM%~;*vVjZ`cm^Ok+`W12hRAc0v*q|c3$tHQN=T*lv9^qnlRRA z2b!}NIh9E9*IsM7?xwqLHN{?}1aDwW8uSH4%J&txyKu@`;`n3|2xF-;;C?KB5mG z06{3y*hhpmOlT-%`$RBxNjFI-gP@HDqTjDR6*pozg0R?N5p*fbeijJNR=PX`dCcj@ zsi^#OSNul=W`wV7`^e(@M-*>v*yU#5=k>C`pc@~8JStrPJmM7NQ9X(P`w)l!pKq4R z8_B3`Jv}Z|Q`w*`upXuzB+2D()X?+j+(xZ&wjQpXyq-1GU_c`E!XAz|6W=n8y53b$ z8Zap@Hmd4X2~}R*8nT+IZ_%s=>J(MEFC>;C)D;!sr}RO+u#^RVj?$C@Xi)MMw!aL; z;4swOd)Rd9U6_YFcs_KGVpEE=Ke-K*V8{zd0v_xU0-2a?!KjO-9%JZm=?zmw+?HIG zlrWKR5wI90)%jxEzQNHR$1ZY`(Wz&7V*7W!EYrW6GA~|6Olbb77Qf;xj z6WiD@nmH%0V1MbLfa z_GHf^WmN|`C{|%f`Z`r(x%zzg;Ff#rVaP3{{BaiF6ZDZu)WcO_{4*$UFh6%QkJ9YE zImF0?;E3{m3VYw^zL+HNBuyOT*wQfzi;X_>BR+j=Y<6*Ig6-E zXJfh=Np5+uX>(&2Fx-jheV-uOBCo50_4awysv0Pb#t*qG&bL0lS9}7xsGl8n#zpLP z$-J6|Lx0;pAJP8>f#V7i`%VIvwsay(&?(Esif#CTYHena7rpzfc1`6Cn|~*6;~A~; zFZ3`3aARpJxG8%;dMoP9-21)E>Q`#?zpIyBf2PzE67@2NLr~j>bN$76NngYfScb$2 zd}U;kR=rPkK~F6T%Zv|!DUn*WWsGH_>pBx%#i11zu{ma(@Aq$%y4FydYiN3j%=E*$ zTRx~idVCUjGz4K=&slWSbOH^MP=&|18uu^r(}OeyPvZ#=fm?xrUEkvKS#z}Ry#EQ` z2`tNDz7PcjJbLlNi0`}$nBw1D;m%*NL&x+?I`}LG!FpO1ZZC8ZKE&6L6jwmJ)Ind5P>V@HzHG>I*Ttv?8!4w%RGZuFXbb!oHYN;=78KXHVm^>k$q{m2fb z#dn-05uJ~i@Wcg^Zol+3z;GV&e-*-*X#W_2C_n=v0r=y7iD{GjJXLS*U1!c;2Q%tO z9OPb<@-kcSRuNHL_ES2fYFv9XhLqwG{eb`PkV$3D*LdSmIkVoKIv>b5#Mi{{Ge&JN z*veO9CvVlPx3DOMRt-nOC@Yk2o$3pn-+nD>cOLkpC#12{ho6NAP~%pD!3-*3XYk21 zxkOt+BE4`fML;W#kb@;%dQqeA-sSadcb&P%DsFa!_^<{#bqop-|-O9ymh)ueyI!#c*&6x zd0LJubBy3JbS9t>-*wb_o+veQsk+U^^1c3sH2>@7MrGRbLoz8qEDKq^u3?U7n`@J~ zzxZQC+ffp+8@tDA(X{!_qc<xj+56Uv~absF%7%)L{Iw z-PqEW9@m8ke9w7V2V;0++(w5*NaZ0zN5)qMY%hC!;Fq7cA_a(pe!TVTByH>?)u#O- zlp*E*KbCwBQk>+f4YFR~0jzK+_pN_elQ3> z!|FF6dH=V+1YH6a!=pT2AOF^~^MWa3b38iVx0YaFcT3C_l(jx-gok`HpZ5-f3~wyj2YNXtWO%0Jea>9-`#sTsZ>AO?T#&rVpk6Q=akFB!aAlDMLhkO z>h}9N413AI_|7wCGr5kQtW|`EHA%i6dBI^2Y}u%F?L@v)~Nb&IoI1^05vO?WNCNdI6ux8Y2rQ` zLy7O-BU%xztNry56{iF`!UgOW)Y`_l9)^&K1w2^WL{SA5wbvOK3i;TZ?aT!}G&-Nj z{z#}A{nwiC{2R_{cL$x%dp{I8)%xpFS%PEdea-7)40mWa6%J8 z`a0r#@y`iFx-TcM53;qF9xqP~-|L^|2LiVL{#4*#5Fp)k*3%KG!C1zK*iN?`7 z56dFc_Xo{xdUAUf`COy77w;1URsGkH;z@JgekoxHL6R*QIozQlTlCx6dwt=oA8F~D zAt`Bm!6RMc{hN+2dU0-56L9WHMx9nR+YLjgL?{R!?Iy?IZ-Loks#2g;OOKXF7#hB} zI7y24ef8k2ce?t=QthKsf8tvVx%7rgi`1U%;ODAdH z5JjsxQc${Lk58b!g$Jv#nNB|^yO=jZXBIYVYy87cg)1(T$6g{fmonR|8v$5sXt`Am zMROMBZLz%{m_7eV+Y2LWIwBi8(I6Iu0o>umxsuQm(7-QoVLGDQ!lT3<4DACs(U518 zK?}A_u-u_Jjq+|;7ZT8g(=%f#JL7uvF&n23CD$Itd{HN?$4IM?rnT?;N@E`%>xS$8 zgmadb=^iE$U>oa;5#bV3*ii3cI_ip0w5||XmTzXJn9&L%yP*d4)AyeTF>)DDzi~N6 zL7LNsuw7%?>hbBkD@>{OVo@{;oq#Qp;AJd@z$LzOO?bz&5+Pp~jnsi09NH)glZVj@ zcycS-+M|?c9!|twlKSNZG*B~rV0jd#@U1X0RzbI@*1N82b*l4&{U`IwNd{C8g#_&MCaPLa=KB4 zU~OaOG*yv$`e7cVRukpL9EF(T)YvwQ2$Tc_q6~vw4ygF-uF{O#1nHj95XT8xyap%E zSGPI0mKBqiMIyam;A32g>q+mUN~Fe+g`_jIRUl0KlpnJWOS-Lj5uz+nBoa`k(eW>D zD@)kbQKhH#pCW5eWp6G~YrD{+eEmyzo65iBqpWtV@vKzhw^{UQ!rjT3v#ci;4F#C(}sY>_y4PO(N&X1`l>^P{|L|#f$1A$y#Ztv$_##Wl- zltp823p!t;w1kc_y{@|}y&7s_rR-Ujs87h-9zzTa_R<^Bo%Eq3x^m;YdH2g6Ih71U zaR2txa20;{O0s7B&v)RScAZtUB+txvpqK4tq1<>nv84f47L6J^S6?sF($0ML2cNmF z!xQx)8d;zEX;%pDSxzOTE=a4vFYu_-fi87(e1~8&B2g2D*4yM4Pk!_KEh^EB_?Ql zTdWBYopfCbXmfNPJp{<(;vW%Hf)mp8N=}5?_l=%ih5W6iMm?W% zsS(08hARi@bzh#b1SmVlQ0jCmgsLMwTG}yIw)9@HSJgq`Bnw>PIQl zAuiN`kViOLduXU8q;?x*t~dkUgweRdv5r?q=X$4Om?cqdkQ-V5NEpjx2F=w!rBgR6 z)$#xC57D#eF&`T4{RJLUKRjE`x`5-#?zhvJ^Er7axql_wf4@#;CyejZVr!%-d2Hof z^eEheR;crU>#!V{w@CFSaaz!lh*)}Er4OrwgRk#XS{gxu5XR%b`yKM-UsUZbY?qj5 zPRrOv(?eHGoH8&#nhiz^YlJyiLnAaIBAc4jCUtUq7Jh^eYo|Vo&VG)bYYDRL@GphgQvpT`JN)CiV8ymsR`;mB1@j=zUQs-k1~HA=Aw$~uXF=*hV7M^~DuPg&!GEVNOjD)kFeniR4xe7wC3Dxl85{BN+iP6ktMgtN%YZ z5ePbl78$nPUHwcRW9GdIjOG7asxrowhL=|b0LV^Lw!#miHa)>sso4nrZvpF#o-MkS z1v$ka@K&|+y!@l0)106M&?_hF&zOb1j=gLSDi~=xJ*-%NVehH1m}h2IAaMrXDFt5) zR%G2TE}T`s0IB$EdU*nY_6n$QQt&1p?Neb(VbqY{%BiZdXvKHcp#RSv^@`lzRiunU z`d8fg+~U2!FfQ!XV=7D_QONC&!0YdyDLGW=XumEyIe{QF)ja+U6)_VyKs&x`LdebW zbI&G&Xc-v84Im?uzujJlz{g{x>nw%`)P!FD3=e5u3q*vdMRUfWrctUzcW;nS2(xqP z3fxOj1#T3V#Ox7W{zuVS2SwR%QT(C1K~m{PVnIT>^Cgy0q{9WJL%LgXmtGoa5fCY9 zq+h=rA;ulGMim98vFn=*rx8 z&BqISj4Avgq03kWx$HE>MNjYdanbX z(MpYk{pUM=j3vMciZbo~g>&+komBr(1mK|An53zX4j5>w{|tZrn#`S>wrN57$ITNS z6i>uC5S_y;6bbPum#JWeB-c){U=6GrRnX9N?nn;O2xAH2B6&=Zr<1zp%mSbE2S-3j z4BmVEO~^aCO@O-<27*d*q?&JE3I9W!zcn2QLXTlX)+V1kuAE7!t(;r#%a zS^p5p;s8&Ny26B?Unt7i{s6sspFVO_M#6%#sZe@qKa)6}X}ErKF)Gj}00=T0%oD-z zAg`Y7!|%)W@~WvfyD~RX2#i6jx_!-0kc?izhA^ru?SzlcLR(FN9FERnNw1m>*RRa- zV?vNr!!AUbo)N;IoTYFqWebA$+Etz36z?4qX1e|q4)h9Bzk(8JYrImA(eeWmd0`{I z;(G5PFzYm`4^YibFJq3oY_qjlv#UYHDXqo(jw?xANO{t_Q?lcV)ii0MNEvBK7H`$i7N^Xf!Q*H)G3EL( zW64RHoDWcCj~2z$vB#rrJ-$_9#=PoR{_gi4mB6y8ba5We88Jvy1Z&0uNRtUXIhup7 zCcQ4samx0}#u!p2H{X`Y9UC09q-uSXQ2Di&*1m|rm{-YY@{STI7?L>6S33LIrYPQ5 z5y!ix{v%0{t=IkLy528niL1Qv;42H7yq<5px$nazU5;iMAO9ZQ?>1A!mjq-+Zc~MB z<8omQ7yHFuxCGf$-XzM(2H#IlyZr)3O@2FJu8~+IFL4>)e>~-FMK!;gaj28H3{ZKg zmQ%=@OmF(%^KT3Gu6Luey{%8(6GfUczQ00*lyo_yYX$p&>PYQz6Rms6H}5u%Z(x1G zs=TU^fGvW?G9Hbb=n6kksq&3<#huuyJ&Lh$(l@25shPuCiV?mo*%Oz_SHINYq5jnG zP_=vfcv4jM42i|Xmt&32UBfc?XIoP|^{yWv-ocrz(W-43hJQ%BE+qDMdVS$!bE7rz>}-qH^}A;>cNTe4 z4VI&{gg*_ktdr~JNsZohoeSAd(*n<>>n!;#@4YhUeq+3q%EJT_BaJFu zK@3R0BC)H_7E%F6PzjP+J&oe4z@c+1LT;DBg>R83_J2c?GydyGw z)=c1gj?Ja{3}4hR5JPq^4fu>gqqEMz|DT@-_h(RA^6`SE4DLt zGo{|t5}!II*1IfXdw=y6aepR!&@{~m!w^1uR;SUZm&q?E{4{%-gE5lEuqiRcrS%MM z=C^brgiqmnWbm9-7QWNGZn7c(U_vBNKg{FWYAw`i*=crXFD^PhbE@)zdEDa$V}P@D zj3#ZDMffaT+O59(0OL;b$AajvFjZdVYlu^Auj39=;Ez+=)UQ}|A{k<_`o54Yz7Xbo z-{d9&fM&xUeLUmL=+JfO8-H5nE3eM}$$46k;0Og(k>HlNhxdQ3Jt9|Cu!UD?LY}4D zrSa?ahlt!f6;v@~G^3{=2otL3gnWd2;J5qld9~ou7_ugOj-nFGyEx^YhS&>$(e~>; zVa$3d$<=|mO&WS4k?XtMJ+^#Nk{a=sfziT}k`9!mxk#9Yhg1}`2B88V$MW#G6UPn$ z>E|2Y$+;=gZ~V+HIUzXp!N*mpo|A*a{cI<0yH{&L^tUCSVW34MV1uht@pgDLUqIX= znuB(!Gjkwkm9Nw=V$t!#>^FwSxB>04fjLIEMO)f*Gyp<8^KA6=i@tPYeawNJi?tuW zYRKp2VNd5Z1=JDWE2|G&?9lpSb7q*f$XD%64t!O{icQYShTi#6OC^O%gR#(YZON1| zWHS;8TjZOo7kjO060A$SZ;uE3>s`AK)5{UkdBH2tHDAZZ{XD;(aUd}blG_~DyrFrC zI-|x!9j?+?e8rhk;Y9y~H0>~I*;g!4oKjh^RP^VFlGaF&2jt?yg=F_r<2Y9`WIHTp zJuQUCxL)RSh|@D9Y-rwmu-pFjY23|$1NK=xQ%|Ft=7?Kjz9MDoga2OfC-m-hvE@ z`MUi3uJ$P@b!?m29i4~4oA?K;Mb45*{3~Xk0I!F!QWpT4jQ57DBkO2yqf}x^EoM;%wP4Ul6__WwNxD|D26{|}e^+WdKip{~ z#GxW&0T-s454@p$ypeo9Ifc*y{f*!` zS3TF^iQ0H#213b0q2`jhFkbc8rehaAfp&--crctWmn;z5%tARY{Ralk1f(G%%FShc3u0>Z@ zyBt$2QunE5{3IH<+ZbM~%QCLCv3#~Lj6-xm?n(u1#;>rOSu)MWn^ zjTuok(gl{-2k1bhlVIovo?(rDkJW?i%CK+{87F6S|8;WT`mb5mOvR#2AKS-c0G_Yq z#r7PdVSBG0YvB&satSQT>-b-*F} zeSV%{UjP7B-jTFeIj}Dt4OXKwVRsdm+FJ3vC_B)vZ(+s$b(B#4ssQsfUNK8*?Ay|l z^LH1Gxc8&HR_!&(*3_lv5&+bwl4U2P1E^g#dPuB%4C@~ce%u)7>%oKiM6UMZE;SW& zq!FdiWGnKx-9RNM#7=iiN6NYtuxofP>jF@HDt| zVW_Fvzh{K10Kg{YgoJ_J?rcsMUPVSR9cyq=U4F^zy!+Ew0Arz6~NE%6w8nVFx`l!Q;mE6b+G7%T= zh&jAo%elDMCJ%g!57+*Q#SsNTmFy4Blow5A6U)0vw@Ur3yj+gRBV6xs>Tqc>N2lUj zOTyxe1|Kziss_=P?y5WM@B7&PO^X{$cxfVvgPqRNk_+51MewO6T14W*woh3(SHLAk~M4LdS00Q2uyP zlU{zKWhrn&(j-^=cf8{KpeqgkEM_+ln16pnKVI$A>O$C((b3+#6mz*OkO&ApNf4vs zXN?DJs7x;rW{*D%eQdAv11fOb^T~FxDMj)g7e~vRXb+`N?waVN;mU+G&2NAZrzGSo z!K%fDw}5{_*;7Engnn*qatv(W({#qA^M2az>5}5%GH%s)b-%(ZU5h`PdQif0m9y#O zyvgOJ)#W;&tg~_U!XCK0001-Q6_2#0hj!UcvQKk;D_0#pbvs{W2;p+%1v==zU66hj z7yCMazB5ZfGZs&eP0kJ2AEC(U_!B~KU%!pcr)+@$@5;{mK=1tpJFz{Cw2)O+#tU-_ zv_IN97hd^~V-VC^`E^Mk;M^enDy&SMcHEchRyg&yn^QV0)P z%%eL9xVvf!>;H6fyD?sat>}7XV2<|vrvhWs>#uKu*T=p6#X3-SGGszkUOpWx^KXu{ zcL}$oq)w1c%~^lGuS>^|+6{Gl@+7>~9U5SMcldGUSf;L_-GkGpgYn^H!`7AMg(Vl; zz;nWhCLefZxb0CygM^eF=AU;QE8UVYWt8c)ssmQeHRv-)7O6pUzQP{PZ3SbGNal zye`kcNpZeyru26lG3dLx25ESU06A#@fJ@i(&iZ%T#&wMOa-84dUv{dB@6AZEa0q_g ztGzWg((qD75$F2zd2G;p>x$7YCaFv;9eprI$VqX;Y13-CW({LPl1?{3`KswwenZ7X z_FK$Ke~B5@wRh$drk(?;Ni=uDAgvgDv$DNUMCG&g>l8q}x{qp!(1Fw-$@8Xak&=w= zSa#-558Yr)E040B>UIMh02(Ao$0yrVh5poaVo=QF=-9A4vxB-+;5mK&bgREVNut!E zu5Idp3220Nwi;hG@;99KR|+7P1e}JMV)`#}-!ZcMYnt*hs{c;G!u`aiO!2nXFf(k=k}k45%Xe?Lu)l6zfkHMzf;WyyJ~1B=GFZChv>Mcm25YS7Arr9G%Zy z_ITWbuM*6U_xAVA)nH(`c;>InM_gR!_AVlgOBs)zs7#|J->TL2`@NSX{f+U^sDzoL zcMe4!H1iMISp;EfOO zoR{;JOHdQW;CJtb?88xd69+4;1-JzGW@#k1VU{=eI}Y&M_iW@ajdzK+cu9vjHQ6$X zw7|KVSoB@Zqdba#;r(#3vh}9Pxh+j{JHcUjX?eur5Ou;;6V(26yS42!y|#+zox@QL z5nGvWooRjaVFU_p);nD+Iu4yR(=OkP)QWQ^%e4nJH!lVq5|{xYw4mR^^d+A18a%S16lB>+I5j`9l@~@H=QL$$#AJq<>4b z|2#5duM&d@U&mkP{^QQfjQv#=(n_G?N9#)a?SCYI<=y_%7vJ}qB1-o>QEMV9W2D6_ zC&SsfhnJPXf6;*h=|}p*3{-TTXzweWkV1JeT=h23<<;HQfXT8ZV#f!yB$Skv666zn zp`gRfM{+Gq7XEFH&mr@LmajzWP<_n@Jd%R%2C&#*$-i}sO)05h5JS|6a0}O(W(r(itUbe)2qF``aby9{fKvCPZXctQqu0a3shLG2#_(S9Ushy#4d~W>wji-a ze&;=*FWrb{A(6^x2xbVOS`?VjE0D^UXOss_E;sclnPxgLc@4J&GQE0~@=x{rv-AWP z_9rn6ev;w{%5XoFDrQMuoKnY>!(>y4c}*`(o~QP8S{)mVN~q*Ho$m0b_ocj;y#xI% z#*QQOE2KHNRL3k9W59b=0g#8rx0qnidg>!3Xgzxhd|NA(@h2M@6D_bFW^An}H)<#edbAzfiSdeC7$krJavV+!69-0`-D?iQKL&1fZuitm>Ofu*fDd<*L zuZt99Pelc0>KIO~b-lxv_lc6NJp)qFw^}Ec+Ui*!oTElRY`(YqYepDZjhfW2~O_|2iT8 zU=&;z0YJ5LTzmWRJw$qzQBB$N!6eDW(c2)S&M~X3WBg5H-^$TOXNn48*z8N+Gn{c} zmn*~Q=aw7D`IL+HCHwjrY91q8W z_fZKXio-u82lt;pOAOToexse9fch66DLsB0F{{(r(4kvG8ku59 zjqkfj-4O*dbL*l54|p}Hg>4KCD)3)$eoOTZRj>kk;nm6IE0%@tf7matD`?IG5jNkT z#>%4%B8zX>i{us5B|xP}9^)3jk4obaEFPwen?^%QJwgXst z3s&0q9`J|6W2jpwJuLUON=)a|BKXEOp*sf$SH<0G=iWFX^)g%?V&$Pnqp5IQ_-7vX zo=h2!RgR^v&nv#bYzl@dK1D||Mjg&*Lmbb;q6rTdVIVpQVUPd7F#4$6G=A=qWGD|v zWl#%ZM4Z-aSZ^&QhZV!sUP|pH>IdH=D{0N%fV{8h&W%OGYv*w%4VRX6T-G+nP7SGJ z6(+RXcBHDiBA`{PIlODlps(fY|FaQ+upC47aYGidx$*GGLOhqMJH4B+pwpDSx0#|I zkZ~PQt7SiSHaakRFx57bC_k*f5pL`|0&j2aKMbSVaiyRWRjInjLlqQZ=ln_4xr(gj zKL1iUe5ZCN6G~6o(1f$Ht?A!$GN;W4N%L77Y_*%HPwowl9Aw@*I$v(sA-_4NwJ{pv zWAOJ$U+S}cWCe8R-yMIvsjmS5OG=KadssB&r+#BH3aW+cRnvsLpr!-Ff5?k!)@iTJ zv(_Q_Gug1Lw8CE;tk@G8<&FKVDNEDK^c>!i>7c>r9Kb2EJT|HfKD+x|n>=B+SYdj- z$-Jo&c8E&DxIc8LTDchTUcbvW@8Ns7IqV(m2wO;mA(R2YduwL-vFdov%JFdrB9I>I z-R>fTF-rf?I1Bb3JQ!0DeQx4ZQ$ysXZD zo$R+yiva~U^ST@~SUjy?&fi9%BJ%Eg6=ef4i99k(~{vx~r6$|UJ`+!ptP z=0Ix=!#HsgpmP#65qRTQl-kojcAM>EI^@KuAdn<4YZx(*;E!MDBJ*Rb%LqS9bo$ z^i~0*fBtgVPSzOi^Vh~>ke0K8&And@_EG9$r*he0^)IXNXIrL}s~uDhk^9!wWcS6v_*_0ZT1M-L0YJR^)Zgc{I2=U9uq485K_l@ z6HU=aVaJ2V;}7zZT)lm$T1jweh0CA;T?aOuAR)I)PbbIw4`-6WjWfO*<3EZSV%64= zs=*~cT#uVS6nZMe|3YgI>0KchKm4?MA2s4Zm3h~@T5a(#m(SC8l@AK0FbO5Tjt?gB zhK4^ybjr$L@2uWdG2Sn&-ncxDl^K+?I@8_`v(0|bUj*F*(qNC%C6Usj3%d6je1f}x zj-~=B({X{l#HdOL^YC89dysiFEF7+WU`snt#bZyoam| zy4MV-TE9h)*H%LnDTJ;N3+Ng33}Ls3A+rPytvxn-G)V$YDba*IDcfnL@xPz?wKf_W z8ZMdSAmY2SexJ!z8rBqcYz%kB9je41C&gz2e27g7?R_Q20yUL(r;Pq>E*1<{+1xnp zSNf$?U|9TuKbJovnFLKATtQ1+9Z(u1D*eJl{@^6m!AaYb9d2yS!zAXT@IEHKC>EXU zlW=p+&@~flt#{kCLJ*HtKBO3M+ zVw5h@S4{kxXOkl(h!aHeCC?-Otd6GfW{ zYr_gl(*7uR4s2NfXd8|+zMBA<-+R>A=HHAs5B)) zqPWjT)jP*#+M84Uh;QWMqxm&`QU876O9?OCce41{{r9yZvf>oEEj2$nN)SH{7Cw`mv0U}}gS&qp)3fc9& zVZwVZuO>;l!!~{U;C>CK48CP)dVtz-qDHv6zlNtqC+;HcDN7OSpH=NLbL~>OABeJf zbAKI{(F5v7^yC0{k>L9@ZCO!9dI-A24jX&KXoK?;;I2J183OV9W z)eg4ACL-9lhyX%-_g!ZF=Q@`)Ft!#mS?zAMI^0h-JO=+`pu1FB+1no-OREvbxl;dK=#a(8;?GwIdn#R6>t%3M`p7qVWDg^3Lsvv8d9<{n>5$xRLzqNm8 zkny%7U{1#%){YSliTcb#i0O_ILwQ*vqkn9E(=zus572eSEXc*;m>nXVXX8kyR+^*dGde{A;gG3tx zz#S(_2v|X{C=c8nS{^GAs8?4Gfv@i_2IkkKj?0Rm0r3&I6N2J^?tY|;QEtkpUinMzaf8zKRKWlso**wno9chV%doUu$EDrMlZByX*>N?~ zM!^>@>(U{0?sD0azIN0H`g7ydL-u6VD30@pXMpAh>^(Dq;+OX0havNw(~Ne6&&Qjj zM~xD{Z7m6TH$kEZCSCWd3Ky|#fhU|dDF&MW5JD@F`S@qG0+B0iu8jTfjAUE%@p0gV z+uA_apL@50MwGDq(!&D?lJ6H3*5Vl-L(;dR&t3e4#?Zg@#n3{PF=;-y@Oh%{<+VCL z*Yv63(UC-=rbCF3X&;TQJv7qkw|$-pRzsjfINKZDC^c)o+6;I++?S$R8gvpuS#BRv zT$vCRXol4k)` zD+aYp{2fX#A6)RPzYj#3jDtzhQL9Ts2?I0;I+r^1&u>BEFHJK^w@aS`9D(UmqeFW` z$tL0ZEe$llT4a7`INUh%kMz{1pQSy|dnpXB{@-Tcvm zqvr>Uuph$SK`P;c1J*rDidJ^*IB=}qug|kRx5u?v+?lv-5ry(>SifFJqiR?7%dXlo z?HPB1oidn*u2lh)J|b#V{hEC4+hKuQU0VGpVYY;@9jANr5nQu6-&FBT$%J&ehW!*b z+>Znk2-99D;AW2rWKNsN+@u;c1c zugXg_;2E*3$PQm#w&Iu?R!~TkRqrkC&-jtYqwFf%04Q8n{PLgacE5KeKDt&h&+P)>4ul6YBbI;8^`+3KlKt zJe(kCs11-Qz<%AUvJ*Y23Nn96><^Om44$Z5iJoD5^lrkuYoB*WR&+2 zLr|fAa8QSKDk^GG^?8k%mTvk1NWW=HgyGVw3=MgZa-!g&4!3_4lzBVT*ovz1g#{W&sUriTe+DHIhmu7LfBj(5OU&H#lx0X5#b;QBS=Dxv>oBpuif+mX`gn!a^q_G(>n#l&x|Sm! zQu@4uk2bu=(~L(qTll$Z(VZCszdcURZp|S_sVC9D3@^(X`>gKB1YBu-PD2Cyn48%N zo&zCEs;GDL>sC_$D}jFZt|j1>Vhl(2?)SnF%LoQ=5qPRe{2B$i&XBS2-xF&zziKr9 zY+XidAaL(_q?rHH)$eN;J^(Ptb6iK(2;4hvRiN;Q>&_j}QZFsp+bhld>jUXB2Z@&? zKv#1R%-s0C_h_SauEtL?1N`w{g=%oc{jN@)gxQc48Suv^k{K`!Un_lO!+LL@~Ccl^64O#o^UF4LMhmp1IirF9DzjYPr#Oah2J^hOKy^#thW?y{_ z^x}Z1J&9Y9sDDMpmV-&yXYXP9wASt8`aC;YGa6#hZO~5!#yrLLk!E%Bx{q?oflk5( zlOmZm1_^>0X9_{VzK~~Hn~KiwM{CS~oF{tz#Z(zX{UVb8y$~lJ9Q9q&UOaOT8pQVp zmAM7KgwYP>eoa}knY;BE_36$1Iyy>2`ka=zDHB$+fSB(0IndJs2%+$<+^kVgT=Chd zb(J8Vq^P1bn5SCe@87V%yvi-ObN>2evvJnT-hK#rxDp-i3TBa@8KQCgrxQ)&uJyhyo72l@7^4-1-6}{h-TENvvemzG+6up!(@Rip0 zPxDus|6WwS-_DwRVTO(Pktyxr&hkQMImn7<2a%Vl;4I%#EcDQZqU4~U2d}aI%&oNM zy!zznZqLB}n=p%rugTMmqu-PrVDevAn#hxuDHMJ$4sa=J4AJ1s4!&HG9?i|d5{l24 z_Wf~y$jww5(^FJ~v2n9AvD7h4!DS^!b2Z2(*(?2u?Z;naPxSi5bcuZ8XTg9-s;u=Y z5+H`_Y^4q=^xxa9ZSrY)M3!i1lr_Jn?VCz^v90~;gT>afDx5+1 zPooo+w$#tAZ{#|86ZeJQ|4E{pC}=jK=G^S0xVCCiJDaDf$GJP&?CKMR-D}?eZ9O9% zg>1ij&G^%4C$?-QP>n(+M4`XJ_1diAesb;RCr_9hH;ghovvC(C$*$cX;(Y1RlV*&$ zL!)Defp3aR8u&2@giCAMTkAHe&H6KN_X2~hZi{z=I!0xJ)x?|?#i^9E3=&(k4yZK}sflea8DfR*zTa|CuWn%V8_{&)8Ld6TLao zVHDN$$T47p8-}3%rymE`xMeVGvURZm;rHg*kN?J>E3)E*#Q)UqS@f4_^6^O?2Lb;S zlNFNX4xK`VK$VEVdukoF7M3Qf(}#SEtjZJhKo5EKFg0lPY(9V8B0@E2O_!mc6Aa6_ z+Z1@7|FZT6#}&%HI;b0_1ibxPTTyZKG=o)#ig=V@61Kdw>2&oJ6~&%%=>7a%we0%* zJUYlLbctQAN;cc?xQzOlLtDQ@81~YuB?X)-|(&@r3rM+u?d zIV;|zV&o12uz^B1O2&;BZ%0YsZI-kfMhq>pS9xlsYd)yD*A)LY&vUFK&<>js!n83f zgFg};iI!=_>OKz$XWop3Y zicn=&e76A^Kng3|b`i)Lyx=~O)*QF;f@PQ7D11rM%i(n|v;Jsy({b5sCK7+I73!9a z2GHEVt#gFMW^LMG>&;)^Q;(-g2(?zFS8Aq_Gatf`G7WQ7ZqdscUZNO4J){w?nbM!W4xepFhPBa04&?}Yc;N#f zaAJ?`vHyhp2~%YWj?A-o#8I+R-XCYe_^0^DS>MSGbkAlMGIDutW(Zk~H}=glX%QSb zXrqcNcmYm_HM(Bm&A6Uu)7ReXvr-xt zSDG1Mi4SZr{Jz_UJ4wDKf|4hBzg8JTu6wRsv(}-mML(?Y=lEEnNi>06^)vr7^xWR& z&?u7;M@9V`rRPjGU%kLe=O<=uL6Q7~h3o#`3bSn3r$5UX?z_qp93>kpg&9D%GZrIX~vP?^b)L+Qh0)H&GhXAyq6>G-q!1`o>51YTG*nKb>@Q14Mk|WN)J& zcR29k>FDIll$|ES~pe2Rf0`i*W-oZ&wG*iUzyy$ zF5lhkMN-`KvT*~o{tRbURiXxDun9VlOPH2KxLU#3U^Aqz>5 zMT^bK9$5pHE#Q)zZ{_E2PrNO-1ZIyO;8INCkvb1WL#^BKwr7PxnjbQ&|I%1W2Z)Nj zX}z*L1ptqvhsj>w(U??emDyp24M&s*%UF~B^dOAM7i zIN?LP8=@Gr?f`T!J~K#n_jzE;ylU-S6oz|t5g{$J{-XadnsvE=*{^C%g{dR=IN=_l zR6=%Pg7jI|W@S)O1~$4~l#`${ZE=LH5wrPy^2haW!s!^?c!k!xaRX^v_OE!)O3GVj>`F)D1K7)YhJ_R;@tBxn-s6Mg*9}$%brw*6 zj*44Lx%`ZcVsr!>w|d{{phRZc4NJ|OBZT_DIw}3>7gIuVS*b#ip(wRSH|^5sTm3P6 z3oiAUISWI*LM=j1^rNK?V?J(nQ;SN_qP5qAy3`N49Jw8_N)fS?P-7Fmv*mYFd;*&Z z!=5l(wiJo1oXYMHW}65kP}gW6im#t&Cu8WvwD>}@@1l3la&>=-UmIfD;;ww=<5Jx9_k zg801uBI28TEAmW!3VukBqatU~IulNf#iU`KDDAHGf7aHJk=3VvoWGrzOQJZ*t)zjb zUeXQyf{T}OFf_RvP3*fb@QR08rn$>;=`&_zD4Qk2=hRgBK?QVO+^ii`l-m8b)?4c$ z&r3xD?G>IIG^}obX|ezfW$O5CuDqng>%EDHuXArSY}<#y-G{jDm?Pbs3dXKpSVxnq zZk7m>@DUlA+h>fmc~^riBjt1{?f0;@REslf&{;3%d6aei|0oV1({@@LaAaC-;r1$I zC0JPsVfdKJ3Smmvmh^)>)QskI$e_|!C)GL(?tGr;XzI8|zGTYJ&{B$7m9glnCU@h` zR&FttQI&l3jmO*b=tI`Il5Zc(&42Zq-W++q^xLnw8nI){;hoPsV?i}>k(k_UYGMVt zt>y#^evg&w1` zx8*B$|Fq^!FF3XHvxaExNfhueaxlsAGq$;&In{GAKF%wA_jmH$TaPrx2=y028ZoJ9 zuxx!0f4NRLxNZ4g=TqI;<0U=sz>3FeSgI0O0T_Y?;|{mhlmn3UH&NxOzL3DIWvJ zNI3|;37-7MDJx!Dk@)oHQ!=Zd#W)T>)sUROILVLZpv{3KMPj>_Gl_rmC`KUF#_y#a z4qKRO^i%)D{a8HW@p9nPh`9>`*9+miDZSEyO-UNREqmB*K@VS~xyOdLbUZso5; zyHZOTbh@f-zG~Y-5aW3fxF{l#hHb4b9#lxFl$@1}n8Bo7VgE~Fu_XpfNv(&vK#MSd zi586sXOjU2CxqD?SdFsLR8q2FGN}^@QnY9j+kf2m!{m>Wqeq7`Z>P(H3B$C4n{@M{~J1J?%f3^uTZj4k(JX3f%z!&!c!;lPMZ9k#F&t#V4M(>9j zOJpxmWiMb6(AuymTLZuU!Q)wy33a(G)8A*NDfVTKQ5sSvZo6`B3=%2ylM;nzZ}qk5 zr+U>LAPGI2Ah7yZ%xWeb@Q%4LRQBuK50jVV!1;X}A+JQF^vf~_2f z>LAr2%eWz-zu(s{lo!4Du1Sk7 z*A|=#mmH==D^tSuh3nGXo!HiGGmX6N9Ram_-K)GSO!f;hHcVZn5UJc*IY3SV<3rFS zmopV4eiy`xNge_15esIEks_Yl^b6;sn&^%FQ3(2`2bs3XCbMZG^y#6B8uJn6)%v0Fw&#?XFHlQvI_zJY(f z7w?THwqyS(8G(0oODdTvr>r!H3oBWv72*4Ov&h^~T~AgRL#f%_fD<{hv3Hocg^Gn! z9;BJVF4lfE>E6SjTT=VH0nEb!*`EL1JOZO66;>(AERJ9U#~LUh289NFzN_KI5~L=( z$l>YOkE8-bam>Q1$EfU;zk|%`Nov?(sZ7Lag<`t&Nthv-x?IVrs8Bt%Wb&|x8Xqe# zy^N4HJ3ub%AyrkK9$4{39utTyhN3pH_Pu(V>|_STzg;JV3clAAui|;iu#nL;!Xl=b zZTdK_bfW^fd*m@S)QUtbtRabI=WsCBCN|_a7atppr=wdw$Tdbrmk1LdHvCHtO0?g$ z_U6TzSR!~Y7*k&>Ksj#6CpQgMV$o%bw7wK1l5aUwyG0EmLyL70!|(9ZH0c{6M1maAqmNY@{9l3A2ZsY?liw?k0gKCRm9!%Wwc#N4ZYR(yi?0rz=twqw< zu0fsmiv45&I9<}*vq^FHRUl+rTwPwuqA_Y8ZTIor2dvi>mP}tB$3ozVctHFPzEpzs zVc8)2#DYg(!5Zveq_DSN)K1*)d_@+l#5q{5ei_!Od zNkvgrMU6YQk$wqeud3%zL^3cI0vn+c=_P`l29Uf=5uS=+eJ&>-SaaxPz6a_NMdKHQ zzulrR3BB#;B z&l?fNS@>Pv@(aGa(QbbuJR-JFkG`J2*8A?!YAn%MZ%Y@2wg@Y1k!D(2YqTl)MJ7-F zYs|=DU@4%%PA9*drk~8*HFMM&*-xYOf=@qu0T=K0-c`>^gUih5p4OP?v#PKJ#2>X- zId0|Df93m2SksGmO*kVu4Y|!J3G20su%ErD=<;8WxxIh%#tpqi2OMh}#Ck0S+~B%!3+r>o^Qsv8q#P3$Er$y&q`pP%E(>6?L07hGy$G1?JN(e@1g;!D z5YD!T#^qNmBP}E9IE*&Gl1_%kxi7iWogUVu z;sdmcLQd=#0d$*=^@Nztg3lZ6j|g9nQU}+VHSb72HY@iGn^^AehC@SoJaW}4aple> zJKj94J6DNKk_ zcu}CMa@$j$6yQn;f4Ax>Y32W4^}*1X|M9viD_rHGmU*VYw$P?O<`EmGp>fdx72y13 z>7mR2A!RB6^xq#8t;X8k{f|o9wmW8X>wdHU>Yc^X^4*hc-9Rba=1bz6Ve!tDb=<{D z0!nqL|3#OJ^iy>EZTM4_zipUKZxX%=Ii;OF`%^Tc^&nR~h{0VP4G1~YD=lm)PDQk- z9Yeh(j?@`mA=TKOlYMl!uKXzmwi*atVk2Zi>U>Pm!1&}fWEIR?>}<@QGVVm9T&ZAl zd@$K_TgSa^18XFz;%P)#%XTUonSUJCq~*~KQ;X7jMnSH^Q8>0^0OPd&<2#v}YNLE> za{~u4M9}q`+jm`A^&T)KfT7+f!`q)Dfb`7M&guDs%dS`;)mi9B0e$i5hVK^*^m5$d zRbsU$vLRi3@A3aWzO&pcr1$G7o;ywbSATC=-yN8L$tI8T(6UJtTDy9K!$9;|6CEjG z<()J7YjV)iL573yhT+(em5);4@hmc5d1=+ zUKqB#??ij9uqJw6UbpZ(pQI;@4qz(mzEn{a=6-emy%sqM8oJjBf&P!BvkZ!=ZNTuM zLpmg-8+TfaM&}$@bJWS-8Vjh zi1zc;LL|DMr0-j?r5=sNJS_gvCB#_C3tr<*9aA;wo;PB3m3M`YkI?tuGTWaY3a?f* z{xf^7TUBQ_!>|Zt`ZvF8>Y1{mlk)jK-%MK7OuIPX`Jtts$$so*|8iP!8mGdA1uZN&o-+cy9}7?G(X1Woc~}IyIRl4YS&&OI(=YO@d~h1nn)~vKZIO~ z0pA`3TYgXYecUjpeAltTdEJ%`4){WKA;ca8%Z&A(f!wc)1hp52#xWYn(`zNsbRcYb z89h!p9=3m(Ix=2yyA}K#O#OlXATR5|M^I$<=ABsQJDAgaz@@!GLBW)h6}i?=Pmw2J zvf=o~D9B6(P3<$gSZ{m#`le#wL}JjznU&g2?sU*eCI(6kXaTkHwe_&^3&H{Nikv4U z0?A5l@Fq(gjK5#b2hSQDcr4AeX{JQtAG?-Q zuYX-`e$Yx`G?)&u1%cN!G#qlUGePLOd+o!-b9e zVdqUeBdODXm)l>r-)nN>>G%1c?JV=&EUet`IX6TE*+^7^&|U zDjZJzx7+#3H#M&rA#M6+)fTWtiqWmoB;dy{gRd?3)-Q9i^M?4W#*d}fZE_7`a3lb} z+oqsIE#~st^RV-LL|0`)0F3OYo|>KszO4KB(8t*+&KDNL&J)okr&r`}+rp_1quWz_ z#FXv+PD|RA^dcd0>@Yep{b||OCpSxEOd@zWG$dP={{i-gDq8r)4F46q3P@*0@~6m2HxV$#LUHaw*+xoGO-rk z9J};DGDb9r-xr6|ZH=*E&{_HS+iEmcJG1reIxzE112=<91*C9wo z_cQ&{7`rBqrWa3EedrSY-;{@iy;P!#?#gv$+_~4lf zi;EcbgoN(0kRs6)Uk$`5MDD z^O|BzVj{_xQyHHb&nbZF;ri-n31>#eSuup1C#3JOk7j|AusDeQzjB(!;Si5?qEfxYr}&R(A%1rd)NdwLmtPcV|)`V%q5 zH6@z5)?!VI0pQ1`zoXiBLp5Wyp$ks(a7~=!H9O?V)%A`SmZhFwIIzULrK(YWsltvH z!pQ4{w)T5F1VB6@V9U{{MyXK@o;6bgGpr{e69W4vl$iy~Q*(SZt#V4lAS31bmhK;4 zrdQZrz4psUhT4Rcc;0#T|H1sEfcUI)6wF?&F)g~^o1x4+hx~M9 zJQE}oPylh6-h=Lk`rRK{)S(RwaN@(<{ztI9MJE(L=bP5&6gyBMTt(1}AdyNSBgeGJ zZSM|(ji2<5bAu=JRqgm5>|*UJw>q%_HZCSHd>UZO_pSk1PhL_xz$0UIn_#Vn5`xvt zb<(NqWf%(xw(BnX@j(`m0o0GIfkzQ%o6+v@eZ0xE2*bGglD3`K!}VkvQ}*wGVB-1G zb?d@zQW*k<2<|Zf5I_mmHR|=9Gz==i25@+sk-HjuK>TnEF^tv?(*r0IckK4@YxRSz zf=~5)aoaUnyQoJifl}_0j6?OS(Xsw>qrc9?X5bgd&EEwB$%B6#VfkjW zZx+hYG_XiM1p97x8Z3fTh@tva+#;?K~I6%-j(DvW#git#*XEq53E&d4_O{|gc!_5ie z>*}B*w6kTUbsgr`_L&OV`=2RyKU!p7?d-~kslY1*4)6xN<7j8&Fvn z1I1+wa?;DQtG<)*wLq^~cwL&lhZw4%+K)!(7A z9YMCt#r>l;{PBsp&kE;Okh%BVh8sr-A z@S4%_a5V5}1!;0Cz{1n+az2-)xF$7s!d3?p4Sk9QvDOFV(syr2m@SY|=r#5oY1DTR z#&F6uT{A}Abn%1n@N%kI&vc5vZPfzu$;9&_DyA{b9AKli+Z^zvY_L!sjgExna6yF7 zlE2||2o~o+b1+>BMvQb>FkLD}2Jtaw`hPzr1p|rOL1{lnK?bd$9JTD=?8@RNW{UuX zE&}A=6ws*Xqou{EkeIi$=Jk&Tw_x7?TFZaL=c6go#E7TH6C@)NcCy$tdRqQe=(|#o zK`*1Sdd-%Ae>g!mq7l)6VKDJ#7kgI%O@@x3eIjux1z$R4uUoH#4Cy-WZAMA<{CtU| zTi3y$yK+iAL5#Qtfqc;Zq#@yTX^E(03Tm{FWt==*jCg1~0Z#H&R|+Jcle$&ZmqVsF z7_~#oRa`-n2Io5@eD)~3Z(||y-^c2{DjGF-T-UBY08aH!B7%E7@er5Q5QvYhUXt3= zU5t3mPa;`YK{XBe;&9E7Mke&Ki|-{}4^NpGz5|$9{|NDztg_w!<=Pz4S0Y53zCAw; zeLS^%(aLF)K_l#(+^zB$2u^omM^u+aq+2fp^~VnSo{FOQq^pm(+gQXy3Q^(eis7Ns zbn=SHVY)#sN6ViHJv0Nfe_~2-S`sk6qAI7sWmZ?LW=j9EczWI7Z><9^d;bUv5qi*4 zg~iW$7@?JD|BgTeSTG`7{G9d|#31GUf!V~}v-S~dHLgbaqbbQ{-654_h%_`awzqF3%7`5~?bGlx^DwFXN zC{D-0MPm+@N51y0gb9?Y|MhxzgxQdp z^gXXvL)h-C89gH{y$-RDCLFp1*TL25HDl1eqOyh}0GQejwKAx#{!VvLppwDymHdK^ zqz>7r=PP=gBLn{%PAh>M%O={>A3xOW^hbvuY2kzuC?M7JENs|{KFaZxEt0owemXDq zhEK3-C6*?*rhCSMP;$pp@_j06j*cu-Bng;A>Y?B%h z)#P|Hmx4Y>RV>bwtQq>f^R)gX;AL|&);AB1Nn+IT>X*?;R9sT-(3cE+M6OgE89Zq! zs_yTk4o(60#>OcUdKC|gi^4(A>#`*#ul?b+sEPr!(O1mf&Gep`FR;e$lwL}O)b>DI zoHsA>z1h~fO!8O47sLn{NHIqSW{)?N&$oJ?5wX$Wn!Qe98hlRi=_jP6n3BVS*W^>t z>7$icw;p~iK0{c!4hAt4qfaj;41NAcscu;5N*AvIl49_9O5ReS6AR)Tx8e{1`T=oDqJeEi}9m=(ol{`R3plo3r)L!(RY}@Lp1;FxvG#a=SF$ zEYgvy)&wIbU4?E-j_X+NoIeRl>qNv~jEtye(k&m6vd5^VxtF>|OJhaIX7PG@X9}-c zz3OMeJ+!5rQ**6ae>4H3oB@Rd10JvX`8)P#inKVCMIZVum(-h*fFqIR0EOjPrs^_E zZjX`My&@8#*fJ>|0aK32+YQYUay^d=D z)0&^}GvcdQMv8iBK4Jwln-AhN+8Yn{Z%Mu(k#>5wFr_(}fcBTA)jlR392_{m-Ps5% zp$|(m(dC>omViRf*ZS|dru8~1$QRBA`X={RW}RhhcFcS<=_ElmFh$HQNWjz~lz(yE zuxFmIXA%blWdUlp3L3pHrp*_fN%Md52_**r!VWW+qx(b*-_Uc@XGkg>r&G)9I%PGL zd470t2jr{QeU~E*t}XPy;$74as4#1xuQMTL+z7Q2BCr64XQ&YR#O8bql1^0g9%oX{ zxi`lq$jSLFMw=XO@v?&5HG38gm2aU_hz#IBpX>JiyPiSEPDvtlh}qwF5f`xQW%(om z2Pi^H<7dfr-}!gce50kvwhg&L`Et8=`(0Yo677?G_~50Et{@m3KYp4gc2M2an4J?A&aCn9<||`T&d}T$b8uuX6%Quf zx+l1(2(6XWv&}c6vOumGrM3T)tRecM9uclxE&+B(7J>aCV0v?1mEf ze|PHa!%Q;oDS+BJBp>-h09Bm(oQoln-pUeAlh%4kHMH7C{Jr1D8KFRob08|Nj+Y!e zwGyFoChg)(qv3LAs6UOSjLw+l-9H84gwj)k$%Mq5HfF5J3C>8`S;CD>PFWu`KwR<8 zb;I(LU^R8Vcvv?X+D}&+m9lUulEk)Y43kK6OxCIGGX>k&v3N!f&p9~0S8Ya2U&oos z`wJ^+__}K0#Us}m_;bIypcYlQ3mAY?OnBpxt{)hn#4r&5Nmx$<&gR|c!**d3k0)pV z<1i>U*d^v94!=i|1y)`$f_XgsMt@^w{}S8mRHAcoT)W_Er{KZXd*hMyeI%`l^>f*W zA}#GKs+e#!@3je zjPh$g&;iz+@u-+qF3#aj;Z)?GE8oN%*sE{DE97%1g7X@$0MW42Wtq5ix*cR{H-fN8 z$~LFg0bLQadR73S6|)s^C#v*ru&}z4K5T;(yOvTTe`ep3K>>cNE{ubg0bhSP7BGAE z00R778qW5~wz6P|IuRDc-bkxh^5a5DXz#vL_qSR}zML0yarcP*z3FN0E(In9nc&^&x9KjjZ2&ZZbyIJ&|wl{sW8h>CIrN>)&NlH=ANRYWC@6?NE>do)rxY!BQ!n8&qL*`1 ziVo+)M?nLy$?Vsk6V9BgT&SoEN6HX)_ui$yVhl9H#T+3`X>4o*x%qZNzrVBh$p#&b z+Fg&dl^t45rX8F^CSI*GJr@ZHP;YoZ-RarP@*<^3EMbi&QlP6WwCCFMF+Kz0dici#0HB4LNedt84cjF)}c2-s-6h%jlo4 z6ptEq_O5#GdFjeWq{DjMZnU)KDDR$Z_dX1KBdAXA@^!bqeT1}OnA-=P6hgSPdd^a$ zM)@apw&qOkhktG0L)ucukQe|EaSgQX^?2xqCyk7$VkX52@m*|i0LAyCBRZ+~EHCYQ zirF5MWcVB zVYlhuVGwW7&ePU1afPBQA}Zq8ZdQY{V*sqkd1O%F*?m9XCBy08OkMT3*zG^{U!4Cf#2Xg36LY9+*v;Sd{m3s(WN?!`(Mr@i= zOuv?dTp!s-rsw%;H(`?fr9}h)W|2n1p@XzRFyram8j?N&p05F$aV2uDR~j^8h0;~bZ2F#2so&HT zn>fSpgLA+DS^WFDu0#t|X~lTrR_Km$3%Vtym18<8`;9snD>)UPUm_56OWE9)8GwrE zq*u4pM9isa`BO%d<_IofcjA{#Pzn%@z{LRjMJ0p|b#VZ59(jgc8wllx#UBdj7I6U{ z`tp>bQRhnOtk^FaIiQ{OBu_o>lof|F|ejItGhxps0ua_RfJyvrvzl8+ffsUYO~wJ}@1 zT9^Y%0=Cjr43OkzNLl**wE%N03{3F%K~Kx;b9mHhp|JiOo5V7W4bZ}cO-D<} zlUbg4=J+{d`JL`sxz{7aK3DRwc*&Zl4{<^YWYBN=&p#2kZ=lUF2(d9NVA2t&#(ZAq zmD@qy!4~6pR(ZP+xgk+d`QIDu12pIDT|@a-6&RTyJv&?|!W9u;iHjKDw=Tgf@WIDd zXv}g?HDVuo9rBwkKYQGlGK4y3;gBmv94oVEMbZjjR#>b4Sl%V-J*qD(C_=EX*i^C4 zsLg@;$QP8{O%S6mQ|iCfTzWHqyyGH#y#;00 zQiXC0iB*RN&O@#Tb%iOT_33N5aRU zbtN3Y?Vf&oSdGSM26l;Uy-NJUPrSdw_ZQkgQSnN~>QK z4@)_-(j}Pyyvw|d*v#6X^8ClMTPJ@n#uATjEON&yVUz-fc^(V`G=uN803bcD1H!PL zxY>I(p{FBw0-6?M7&6rs1hst5>jmU6pR z5VQvVat5vWBRT}M(PH1{N;|Kf7sLI%8i!EJU%*t#U;Ik@zKvzAB>tj&E!*AM=DV2;5q9H|!54x=RZ-u*VvtYlJAd9NKd4ZdodEGBt zrCyU+KDZv+gMT3S5pxlgr?76a34GwkRVhUHeAExSXiB?S%5CG%VDs$uqUg+#5$t2G zpXhl5#OV3p@%7YRU4W_j$9#Unhl^e8>jzNYiaL3LjYm=B3hH=#_)d}<8_gX)E;qf~ z+j8E?x6&BYCo}mS@v`U%qUyiX2l|f@v=0EFE#^B67J5$`JN8`pIr&aPu7dI&Vo(%E z%vL5nLbfqX+PpgFe_Wlo6s1?hondcWJ28nwC! zQFJ9MJ9H)5k|uIkaSHbz9G6)vbF2P4?%d^IC}8!v!-`+=VT!n2sp9nP*#XUpKc6Hq z$FXSD(ht&%R@`H#!&)&KZ~XK1zUNqC!eju7SIrHRWtk;uXKaSItVeX=2v0tPOQjvA z#9>IXLB7y?GP79G09DB|Tk00Y*X>H4g1uIK;9MOof}V!&S}BE7+6iQj+@YjgKR8-U zE}lG$$dVoiiH^cXF*)K|kgV*gC~1(^8a~Jdausp%g62VI%qTI*(4nvwOZBs?Q$MGY zyUz{-JPkEBYEDW811MFId)3(1jgBsow|vzee;o{nV>DO?gG)Zr`;Tt!qoXg5uXc_&& z`{xG$rToTC4A?p?!wg)Rfo^g8R*@I-H#^le`UT9Vi*hfkIYJ_!7U6#QVm+<)K`TyB zIcmTY4#?hh`H!sC$elj&8|}*xF=(+)QZ3u&uG4|v8%qb{< z8&=;o4wb!;6z5Uy^0---GmBLN0H#9!Gv!}P&?%}_$x`3*Fvbq>bE8%e#6B;*+Z)f( zv{VM5DhNKi{f|kxw#X>v+BmAM=+y8Od1ToeJB>wFkQIzYiTPydfBZR&&Xs-tk3FAdUq6NR$4?5BooMwj^9Iis@NtF& zz_JMgqm-#d{rB&nimS4SRj)s^`kv9sbzn{6x3kvW{FciEN3qldv3P(($7;9p zHsGo(CC>zuFkFX0MiyVLBDRkFD6DFP5&#r^GL8L@-7B+mz~oS;ESIh3>4F-&*kOkq zJlx=gix2sMFV;yPGNh2X5OQ=(&Ynl%z3fndakk0k z@~BheT$ZN6G!zH#Hy^4lV!+S#V6I>Sruo-`jdl%TWmCw#ZV&0A{SFy--%L|KN(J z1sxSI(Mh^^q!j4=@U00bCW)g;3-ku@4Yq*a&HAUH`ST;E$7I9(4C*k`zvk_4!1SY& zi?!f62AkbN>rEheqSwlAW$Zy*!Q2_jk)^0%;^>Vp8m~7uJdl(`@=%U&_PMe6I3AhV zMpmt5BQH`phvh_)mdCG_4#*h>nmZ`Y-mX}$ap4(xT11AdiK_d+W;s0`&kfYbT7LE2 zReTqT7Z_|E8F0a{_;q*smK7VyvK%AK_v+^PQ$t;MwZMW_>{u#(R0ABAx}tlH9#8)p zE(_f;E8Ur&_Om~2g&a2a*52*^;p@R#$P+OC5P<~@Sf~7S$xbPnDn;Iwqcxteyi%~Z zE+OFL9s$)Q&J@1578$Dwf}+FFoTnmv0Ujmr%bgCap6Sf&_pwRYC-1z*k*62XN0k$y z(*IeTs$=oS5Bl~XH|O1Jmz$BzmAbmdG)36*A%D5;`i?(RU*J>197_lIB4M7*!kL&0 zZg;fXjo4R-JlLp^=b3nhB#?%VwS@n;)R|yoPdE3mQX#LsSR)>?UYl(nMb zCU;UJPjJ8BnwGbd=K6gfdjieRiQbQ}R4d3g$t-l<4goDHtKGV_KSQ=6YH_koTm2Yr zVf3=UnH;bY3fToZhvL$p&tr)+B?VTX|{UExOqOggWojt@!QR7h;6^K&gK98c|q zkh6JM)5_PL?wNPU6Z(~>3IzlrDmu^Z71{8On25m4?LriB4s`C$rt;L5`pzJY=4v`&w<1B5G#epRUIBkBd{Y|LOMJ=v%g;=a>~xmco-W zq<+VY_Q!UKA`z7lYae@o;;x#+0$KMAc9?U&yhaX~z-Mys%DVWE6&5}JW~Y?g;lJK6 z&KL6e=E8r2%D{yIs4K!V$0RC~wP+Z1(ixR#EBGSh7a~C_?q#K*?6_QPL3mxQHnR8qjo&D`HEwNn9S_AkiWy5f4S+?4mU~MC zMN~j~tT>BgiOpbg(5C+5PjHU)N!Dp#R_$fGQ>xYDGGy!v8Rpp=QJ4AroaY~#)l}`K z=Zr6X$JNZ{EIH+2-xgkoN8YJha$0;kUuov_@74H3FCxxqV$pC_G?s!R|^6J%HqC&gOF`5^y}n_ z-LcA>QjJM+E1!~L%ZWsA5Bz)V+`o^rqBL@ac`l%QnP?z0!8T1aVj(wzFF+ijFv2$V zxHZLz^3)F|m0j@fy>P!K@qOn9#lR8VE|wI&pLJ~M z3H=^@H54r1n#+vW$@k|Lv><=abI8+5RqdZ7eb$xh0W~FQ?I{1!rI!lHP-i!{pH+XI zDq-5DJTtKb($31hxe8^&e;3~Se6vuQ(n)irICB^7h2{!sx75hR-axBk^$Y6OG+Y6b z{Fb$nId@sp6=w2)>3IE`olQjw9FCx;{#1>8ck~g89KMN+!PW3>j#4yKxznGA`k*GB zEaw06O{ZR0?j)jlk7WM_TEcAq$GcCzqsuO1VuADQar70o0QajA)#2sGQLz?v-DYd#da)3Rd3LCOy+C_{-j&RZ0ZP{ID4Ol$+%sNLihg=Wviq%` z4!JR9I+znkqn)M{<#Yx|9w=p(vz1-H@-Ss9TZ*Ps{Am7AU4P2`Nsd*PsIx)_$- zjk)rFP{Q8u0D$$IRfV-U=M^*(;3A126dlfio72c7+5klaLexTez{+s9m5tPQhROnHjx()mlnr` zljh+OEJw^``TD1SsEdJRUo@@jHl2H{Q#B^t%_1#1QG-5esO1*QPOcAyw5FWX3J0=b zsFK`d^!-aL?0|B9iV5^z$_0S0GV+h{P=sB$jj0X_bbDH|w5IhpyLjfVAAABw;NA?3 zDjR)u_Cxq4ns3`G+dY!}URMrdap}jD(JNU@7IIFj|B1e0dHeZDXQL0;K-5S?+J z$E%RBXQywAa>azLwX(o2LlC;x`cI?>g=Gbu5j$Tw?CAecT5rm|#FlD%*UWRDsmSz9T{t_Oc}$nMA1;E^;!F9AYIjB7tX9w zGv(ZkY&u-RIfy5V_os0kVD>?lvqK7JRc|8x<@REH?*$t*+JL{sQobkhkzw-Qn0iRC z@Fzb=*4w~RCCE1GmMqr+^6VKR$x?R8KcV0o#c>I4@ZdKikPoj%g#GccH;j%6LKIn$ z(0gSN;;|Z-8FD~Xs`aog{_vLXuj6gT<|}+ZpYGiqwfS{0n-gEQ;JTNXCm_`ga+@f< zB0ax;7$-51W;B7nUcf^wc4J4Q5JC6889@PQ*3n19x}GttjonwOZVCZ=SR5nQX{mP| z)1cPy&=Vne-h})Wk1FQJ{O-Y{?il2a;hZ*Cuvv#)l$z&rqi@a z;pWvd!f$6728M{WZ2~#&9a;O41nlGV zX737KgAjl5`tco8kXOsHap2ceXJhATri&J_q?bI@ADbIC-g%AR9v6$&8LB0Ng?#x# zfKkJ)9*XNi^vV=SU1jCY9w`QA7AB7Z2aD1U0n}R?7ODNWqJQ8%B(c4dop4D zdGd^}J7eNAUoj#^;9%{j8I?=9ypMrF!p61pqTiy?#*I{LIO3mefwYw)v=FLgBO_xk zK4Xe+#?M=BRI)|{f+vhENXdxbKrGR~^vLt4|H((7Iq$z*R-T(Wc7uv-sp_B0&~*_);IRE$hdaTI!za zZV{6*E>KLQ;c=hQIteCDJ=f|99%;hMJZ@GIpN;D?NpwG7EhO~)o$HI!TYt+ep@5bi z-j&vzes08*T-MO*?Oypj-{{5ODDzg~abNX95AHWrnajzrli$9<%h!Ole!XHn~mW!7P)}|ICYC6q$m_(+< z@gx@FVjuyJ-q;^l{6#!rtP&Z4Sph_1S8#~vz;Eo=%5iy!HlmZHhh>s!xhQfjUCZC{ z9WBgXD8h}&$4K<3ai!Bq#rhh68RZ>)`J^j!NHKj*MLZ`=(S1&8G8+Yq-%#bR+QBGt z8qE{}*a?W@F?8GjI0z3TB3J<=*IvkU2q0?>HkCYZTJD5^IalIfvB|q+8bTi$hx#`B zY&;q?>C#By2nr;>#XLnsu!RWun#_^V*F*h| eMm<^dFkmgT}0)Ijf0V<1V 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 z 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 z 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

    iSJnP8~Z{ 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 literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/Resources/运行时间.png b/JinYuan.ControlLib/Resources/运行时间.png new file mode 100644 index 0000000000000000000000000000000000000000..630649a5f9eb455384ed6c609f3c67e164713285 GIT binary patch literal 20961 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 PA_q`|Yb$?Hv<&+nQ^_Q# literal 0 HcmV?d00001 diff --git a/JinYuan.ControlLib/ScrollBar/ScrollbarComponent.cs b/JinYuan.ControlLib/ScrollBar/ScrollbarComponent.cs new file mode 100644 index 0000000..494b82e --- /dev/null +++ b/JinYuan.ControlLib/ScrollBar/ScrollbarComponent.cs @@ -0,0 +1,829 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.ScrollBar +{ + [ProvideProperty("UserCustomScrollbar", typeof(Control))] + public class ScrollbarComponent : Component, IExtenderProvider + { + public ScrollbarComponent() + { + + } + + public ScrollbarComponent(IContainer container) + { + container.Add(this); + } + + Dictionary m_controlCache = new Dictionary(); + public bool CanExtend(object extendee) + { + if (extendee is ScrollableControl) + { + ScrollableControl control = (ScrollableControl)extendee; + if (control.AutoScroll == true) + { + return true; + } + } + else if (extendee is TreeView) + { + TreeView control = (TreeView)extendee; + if (control.Scrollable) + { + return true; + } + } + else if (extendee is TextBox) + { + TextBox control = (TextBox)extendee; + if (control.Multiline && control.ScrollBars != ScrollBars.None) + { + return true; + } + } + else if (extendee is RichTextBox) + { + return true; + } + else if (extendee is ListBox) + { + return true; + } + //else if (extendee is ListView) + //{ + // return true; + //} + else if (extendee is DataGridView) + { + return true; + } + return false; + } + + [Browsable(true), Category("自定义属性"), Description("是否使用自定义滚动条"), DisplayName("UserCustomScrollbar"), Localizable(true)] + public bool GetUserCustomScrollbar(Control control) + { + if (m_controlCache.ContainsKey(control)) + return m_controlCache[control]; + return true; + } + + public void SetUserCustomScrollbar(Control control, bool blnUserCustomScrollbar) + { + m_controlCache[control] = blnUserCustomScrollbar; + if (!blnUserCustomScrollbar) + return; + + if (control is TreeView) + { + TreeView tv = (TreeView)control; + //tv.MouseWheel += tv_MouseWheel; + //tv.AfterSelect += tv_AfterSelect; + tv.AfterExpand += tv_AfterExpand; + tv.AfterCollapse += tv_AfterCollapse; + } + else if (control is TextBox) + { + TextBox txt = (TextBox)control; + //txt.MouseWheel += txt_MouseWheel; + txt.TextChanged += txt_TextChanged; + txt.KeyDown += txt_KeyDown; + } + else if (control is RichTextBox) + { + RichTextBox txt = (RichTextBox)control; + //txt.MouseWheel += txt_MouseWheel; + txt.TextChanged += txt_TextChanged; + txt.KeyDown += txt_KeyDown; + } + else if (control is ListBox) + { + ListBox lb = (ListBox)control; + lb.DataSourceChanged += Lb_DataSourceChanged; + lb.SelectedIndexChanged += Lb_SelectedIndexChanged; + } + //else if (control is ListView) + //{ + // ListView lv = (ListView)control; + + //} + else if (control is DataGridView) + { + DataGridView dgv = (DataGridView)control; + dgv.DataSourceChanged += dgv_DataSourceChanged; + dgv.RowsAdded += dgv_RowsAdded; + dgv.RowsRemoved += dgv_RowsRemoved; + dgv.Scroll += dgv_Scroll; + } + + control.VisibleChanged += control_VisibleChanged; + control.SizeChanged += control_SizeChanged; + control.LocationChanged += control_LocationChanged; + control.Disposed += control_Disposed; + control.MouseWheel += Control_MouseWheel; + control_SizeChanged(control, null); + } + + void dgv_Scroll(object sender, ScrollEventArgs e) + { + if (e.NewValue == e.OldValue) + return; + DataGridView dgv = (DataGridView)sender; + if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll) + { + if (m_lstHCache.ContainsKey(dgv)) + { + m_lstHCache[dgv].Value = e.NewValue; + } + } + else if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) + { + if (m_lstVCache.ContainsKey(dgv)) + { + m_lstVCache[dgv].Value = e.NewValue; + } + } + } + + void dgv_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) + { + Control control = sender as Control; + control_SizeChanged(control, null); + } + + void dgv_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) + { + Control control = sender as Control; + control_SizeChanged(control, null); + } + + void dgv_DataSourceChanged(object sender, EventArgs e) + { + Control control = sender as Control; + control_SizeChanged(control, null); + } + + private void Lb_SelectedIndexChanged(object sender, EventArgs e) + { + Control c = sender as Control; + SetVMaxNum(c); + } + + private void Lb_DataSourceChanged(object sender, EventArgs e) + { + Control c = sender as Control; + control_SizeChanged(c, null); + } + + private void Control_MouseWheel(object sender, MouseEventArgs e) + { + Control c = (Control)sender; + if (m_lstVCache.ContainsKey(c)) + { + if (e.Delta > 5) + { + ControlHelper.ScrollUp(c.Handle); + } + else if (e.Delta < -5) + { + ControlHelper.ScrollDown(c.Handle); + } + + SetVMaxNum(c); + } + else if (m_lstHCache.ContainsKey(c)) + { + if (e.Delta > 5) + { + ControlHelper.ScrollLeft(c.Handle); + } + else if (e.Delta < -5) + { + ControlHelper.ScrollRight(c.Handle); + } + + SetHMaxNum(c); + } + } + + void control_Disposed(object sender, EventArgs e) + { + Control control = (Control)sender; + if (m_lstVCache.ContainsKey(control) && m_lstVCache[control].Parent != null) + { + m_lstVCache[control].Parent.Controls.Remove(m_lstVCache[control]); + m_lstVCache.Remove(control); + } + } + + void control_LocationChanged(object sender, EventArgs e) + { + ResetScrollLocation(sender); + } + + void control_SizeChanged(object sender, EventArgs e) + { + if (ControlHelper.IsDesignMode()) + { + return; + } + else + { + var control = sender as Control; + + bool blnHasVScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & VSCROLL) != 0; + bool blnHasHScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & HSCROLL) != 0; + if (control is TextBox) + { + var txt = (TextBox)control; + if (txt.ScrollBars == ScrollBars.Both) + { + blnHasVScrollbar = true; + blnHasHScrollbar = true; + } + else if (txt.ScrollBars == ScrollBars.Vertical) + { + blnHasVScrollbar = true; + blnHasHScrollbar = false; + } + else if (txt.ScrollBars == ScrollBars.Horizontal) + { + blnHasVScrollbar = false; + blnHasHScrollbar = true; + } + else + { + blnHasVScrollbar = false; + blnHasHScrollbar = false; + } + } + else if (control is DataGridView) + { + var dgv = (DataGridView)control; + if (dgv.ScrollBars == ScrollBars.Both || dgv.ScrollBars == ScrollBars.Vertical) + { + int _height = dgv.RowTemplate.Height * dgv.Rows.Count; + if (dgv.ColumnHeadersVisible) + { + _height += dgv.ColumnHeadersHeight; + } + blnHasVScrollbar = _height > dgv.Height; + } + if (dgv.ScrollBars == ScrollBars.Both || dgv.ScrollBars == ScrollBars.Horizontal) + { + int _width = 0; + foreach (DataGridViewColumn com in dgv.Columns) + { + _width += com.Width; + } + if (dgv.RowHeadersVisible) + { + _width += dgv.RowHeadersWidth; + } + blnHasHScrollbar = _width > dgv.Width; + } + } + else if (control is ListView) + { + if (!((ListView)control).Scrollable) + { + blnHasVScrollbar = false; + blnHasHScrollbar = false; + } + } + if (blnHasVScrollbar) + { + if (!m_lstVCache.ContainsKey(control)) + { + if (control.Parent != null) + { + UCVScrollbar barV = new UCVScrollbar(); + barV.SmallChange = 5; + barV.Width = SystemInformation.VerticalScrollBarWidth + 1; + barV.Scroll += barV_Scroll; + m_lstVCache[control] = barV; + if (blnHasHScrollbar) + { + barV.Height = control.Height - barV.Width; + } + else + { + barV.Height = control.Height; + } + SetVMaxNum(control); + barV.Location = new System.Drawing.Point(control.Right - barV.Width, control.Top); + control.Parent.Controls.Add(barV); + int intControlIndex = control.Parent.Controls.GetChildIndex(control); + control.Parent.Controls.SetChildIndex(barV, intControlIndex); + } + } + else + { + if (blnHasHScrollbar) + { + m_lstVCache[control].Height = control.Height - m_lstVCache[control].Width; + } + else + { + m_lstVCache[control].Height = control.Height; + } + SetVMaxNum(control); + } + } + else + { + if (m_lstVCache.ContainsKey(control) && m_lstVCache[control].Parent != null) + { + m_lstVCache[control].Visible = false; + } + } + + if (blnHasHScrollbar) + { + if (!m_lstHCache.ContainsKey(control)) + { + if (control.Parent != null) + { + UCHScrollbar barH = new UCHScrollbar(); + barH.Height = SystemInformation.HorizontalScrollBarHeight + 1; + barH.SmallChange = 5; + + barH.Scroll += barH_Scroll; + m_lstHCache[control] = barH; + if (blnHasHScrollbar) + { + barH.Width = control.Width - barH.Height; + } + else + { + barH.Width = control.Width; + } + SetHMaxNum(control); + barH.Location = new System.Drawing.Point(control.Left, control.Bottom - barH.Height); + control.Parent.Controls.Add(barH); + int intControlIndex = control.Parent.Controls.GetChildIndex(control); + control.Parent.Controls.SetChildIndex(barH, intControlIndex); + } + } + else + { + if (blnHasHScrollbar) + { + m_lstHCache[control].Width = control.Width - m_lstHCache[control].Height; + } + else + { + m_lstHCache[control].Width = control.Width; + } + SetHMaxNum(control); + } + } + else + { + if (m_lstHCache.ContainsKey(control)) + { + if (m_lstHCache[control].Visible && m_lstHCache[control].Parent != null) + { + m_lstHCache[control].Visible = false; + } + } + } + } + ResetScrollLocation(sender); + } + + + private void SetVMaxNum(Control control) + { + if (!m_lstVCache.ContainsKey(control)) + return; + var intoV = ControlHelper.GetVScrollBarInfo(control.Handle); + UCVScrollbar barV = m_lstVCache[control]; + if (control is ScrollableControl) + { + barV.Maximum = intoV.ScrollMax; + barV.Visible = intoV.ScrollMax > 0 && intoV.nMax > 0 && intoV.nPage > 0; + barV.Value = intoV.nPos; + barV.BringToFront(); + // barV.Maximum = (control as ScrollableControl).VerticalScroll.Maximum; + // barV.Value = (control as ScrollableControl).VerticalScroll.Value; + } + else if (control is TreeView) + { + var tv = control as TreeView; + barV.Maximum = intoV.ScrollMax * tv.ItemHeight; + barV.Visible = intoV.ScrollMax > 0 && intoV.nMax > 0 && intoV.nPage > 0; + barV.Value = intoV.nPos * tv.ItemHeight; + barV.BringToFront(); + + //barV.Maximum = GetTreeNodeMaxY(control as TreeView) - control.Height; + //barV.Value = (control as TreeView).AutoScrollOffset.Y; + } + else if (control is TextBox) + { + TextBox txt = (TextBox)control; + barV.Maximum = intoV.ScrollMax * txt.PreferredHeight; + if (txt.ScrollBars == ScrollBars.Both || txt.ScrollBars == ScrollBars.Vertical) + { + barV.Visible = true; + } + else + { + barV.Visible = false; + } + barV.Value = intoV.nPos * txt.PreferredHeight; + barV.BringToFront(); + } + else if (control is RichTextBox) + { + bool blnHasVScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & VSCROLL) != 0; + barV.Maximum = intoV.ScrollMax; + barV.Visible = blnHasVScrollbar; + barV.Value = intoV.nPos; + barV.BringToFront(); + } + else if (control is ListBox) + { + var lb = control as ListBox; + if (intoV.ScrollMax <= 1) + { + var v = lb.ItemHeight * lb.Items.Count - lb.Height; + if (v > 0) + barV.Maximum = v; + else + barV.Maximum = intoV.ScrollMax * lb.ItemHeight; + } + else + { + barV.Maximum = intoV.ScrollMax * lb.ItemHeight; + } + barV.Visible = intoV.ScrollMax > 0 && intoV.nMax > 0 && intoV.nPage > 0; + barV.Value = intoV.nPos * lb.ItemHeight; + barV.BringToFront(); + } + else if (control is ListView) + { + barV.Maximum = intoV.ScrollMax; + barV.Visible = intoV.ScrollMax > 0 && intoV.nMax > 0 && intoV.nPage > 0; + barV.Value = intoV.nPos; + barV.BringToFront(); + } + else if (control is DataGridView) + { + bool blnHasVScrollbar = false; + var dgv = (DataGridView)control; + if (dgv.ScrollBars == ScrollBars.Both || dgv.ScrollBars == ScrollBars.Vertical) + { + int _height = dgv.RowTemplate.Height * dgv.Rows.Count; + if (dgv.ColumnHeadersVisible) + { + _height += dgv.ColumnHeadersHeight; + } + blnHasVScrollbar = _height > dgv.Height; + } + barV.Maximum = dgv.Rows.Count; + barV.Visible = blnHasVScrollbar; + barV.Value = dgv.FirstDisplayedScrollingRowIndex; ; + barV.BringToFront(); + } + } + private void SetHMaxNum(Control control) + { + if (!m_lstHCache.ContainsKey(control)) + return; + var intoH = ControlHelper.GetHScrollBarInfo(control.Handle); + UCHScrollbar barH = m_lstHCache[control]; + if (control is ScrollableControl) + { + barH.Maximum = intoH.ScrollMax; + barH.Visible = intoH.ScrollMax > 0 && intoH.nMax > 0 && intoH.nPage > 0; + barH.Value = intoH.nPos; + barH.BringToFront(); + + //barH.Maximum = (control as ScrollableControl).HorizontalScroll.Maximum; + //barH.Value = (control as ScrollableControl).HorizontalScroll.Value; + } + else if (control is TreeView) + { + var tv = control as TreeView; + barH.Maximum = intoH.ScrollMax; + barH.Visible = intoH.ScrollMax > 0 && intoH.nMax > 0 && intoH.nPage > 0; + barH.Value = intoH.nPos; + barH.BringToFront(); + //barH.Maximum = GetTreeNodeMaxX(control as TreeView); + //barH.Value = (control as TreeView).AutoScrollOffset.X; + } + else if (control is TextBox) + { + TextBox txt = (TextBox)control; + barH.Maximum = intoH.ScrollMax; + + if (txt.ScrollBars == ScrollBars.Both || txt.ScrollBars == ScrollBars.Horizontal) + { + barH.Visible = true; + } + else + { + barH.Visible = false; + } + + barH.Value = intoH.nPos; + barH.BringToFront(); + } + else if (control is RichTextBox) + { + bool blnHasHScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & HSCROLL) != 0; + + barH.Maximum = intoH.ScrollMax; + barH.Visible = blnHasHScrollbar; + barH.Value = intoH.nPos; + barH.BringToFront(); + } + else if (control is ListBox) + { + var lb = control as ListBox; + barH.Maximum = intoH.ScrollMax * lb.ItemHeight; + barH.Visible = intoH.ScrollMax > 0 && intoH.nMax > 0 && intoH.nPage > 0; + barH.Value = intoH.nPos * lb.ItemHeight; + barH.BringToFront(); + } + else if (control is ListView) + { + barH.Maximum = intoH.ScrollMax; + barH.Visible = intoH.ScrollMax > 0 && intoH.nMax > 0 && intoH.nPage > 0; + barH.Value = intoH.nPos; + barH.BringToFront(); + } + else if (control is DataGridView) + { + bool blnHasHScrollbar = false; + var dgv = (DataGridView)control; + int _width = 0; + if (dgv.ScrollBars == ScrollBars.Both || dgv.ScrollBars == ScrollBars.Horizontal) + { + foreach (DataGridViewColumn com in dgv.Columns) + { + _width += com.Width; + } + if (dgv.RowHeadersVisible) + { + _width += dgv.RowHeadersWidth; + } + blnHasHScrollbar = _width > dgv.Width; + } + if (blnHasHScrollbar) + barH.Maximum = _width - dgv.Width; + barH.Visible = blnHasHScrollbar; + barH.Value = dgv.FirstDisplayedScrollingColumnHiddenWidth; + barH.BringToFront(); + } + } + /// + /// Resets the v scroll location. + /// + /// The sender. + private void ResetScrollLocation(object sender) + { + Control control = (Control)sender; + bool blnHasVScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & VSCROLL) != 0; + bool blnHasHScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & HSCROLL) != 0; + if (control is TextBox) + { + var txt = (TextBox)control; + if (txt.ScrollBars == ScrollBars.Both) + { + blnHasVScrollbar = true; + blnHasHScrollbar = true; + } + else if (txt.ScrollBars == ScrollBars.Vertical) + { + blnHasVScrollbar = true; + blnHasHScrollbar = false; + } + else if (txt.ScrollBars == ScrollBars.Horizontal) + { + blnHasVScrollbar = false; + blnHasHScrollbar = true; + } + else + { + blnHasVScrollbar = false; + blnHasHScrollbar = false; + } + } + else if (control is DataGridView) + { + var dgv = (DataGridView)control; + if (dgv.ScrollBars == ScrollBars.Both || dgv.ScrollBars == ScrollBars.Vertical) + { + int _height = dgv.RowTemplate.Height * dgv.Rows.Count; + if (dgv.ColumnHeadersVisible) + { + _height += dgv.ColumnHeadersHeight; + } + blnHasVScrollbar = _height > dgv.Height; + } + if (dgv.ScrollBars == ScrollBars.Both || dgv.ScrollBars == ScrollBars.Horizontal) + { + int _width = 0; + foreach (DataGridViewColumn com in dgv.Columns) + { + _width += com.Width; + } + if (dgv.RowHeadersVisible) + { + _width += dgv.RowHeadersWidth; + } + blnHasHScrollbar = _width > dgv.Width; + } + } + else if (control is ListView) + { + if (!((ListView)control).Scrollable) + { + blnHasVScrollbar = false; + blnHasHScrollbar = false; + } + } + if (control.Visible) + { + if (m_lstVCache.ContainsKey(control)) + { + m_lstVCache[control].Location = new System.Drawing.Point(control.Right - m_lstVCache[control].Width, control.Top); + if (blnHasHScrollbar) + { + m_lstVCache[control].Height = control.Height - m_lstHCache[control].Height; + } + else + { + m_lstVCache[control].Height = control.Height; + } + SetVMaxNum(control); + } + + if (m_lstHCache.ContainsKey(control)) + { + m_lstHCache[control].Location = new System.Drawing.Point(control.Left, control.Bottom - m_lstHCache[control].Height); + //if (blnHasVScrollbar) + //{ + // m_lstHCache[control].Width = control.Width - m_lstVCache[control].Width; + //} + //else + //{ + m_lstHCache[control].Width = control.Width; + //} + SetHMaxNum(control); + } + } + } + + /// + /// Handles the VisibleChanged event of the control control. + /// + /// The source of the event. + /// The instance containing the event data. + void control_VisibleChanged(object sender, EventArgs e) + { + Control control = (Control)sender; + + if (m_lstVCache.ContainsKey(control) && m_lstVCache[control].Parent != null) + { + m_lstVCache[control].Visible = control.Visible; + } + + if (m_lstHCache.ContainsKey(control) && m_lstHCache[control].Parent != null) + { + m_lstHCache[control].Visible = control.Visible; + } + if (control.Visible) + { + control_SizeChanged(control, null); + } + } + + private const int HSCROLL = 0x100000; + private const int VSCROLL = 0x200000; + private const int STYLE = -16; + + private Dictionary m_lstVCache = new Dictionary(); + private Dictionary m_lstHCache = new Dictionary(); + + void barV_Scroll(object sender, EventArgs e) + { + UCVScrollbar bar = (UCVScrollbar)sender; + if (m_lstVCache.ContainsValue(bar)) + { + Control c = m_lstVCache.FirstOrDefault(p => p.Value == bar).Key; + + //ControlHelper.SetVScrollValue(c.Handle, bar.Value); + if (c is ScrollableControl) + { + (c as ScrollableControl).AutoScrollPosition = new Point((c as ScrollableControl).AutoScrollPosition.X, bar.Value); + } + else if (c is TreeView) + { + ControlHelper.SetVScrollValue(c.Handle, bar.Value / ((c as TreeView).ItemHeight)); + } + else if (c is TextBox) + { + ControlHelper.SetVScrollValue(c.Handle, bar.Value / ((c as TextBox).PreferredHeight)); + } + else if (c is RichTextBox) + { + ControlHelper.SetVScrollValue(c.Handle, bar.Value); + } + else if (c is ListBox) + { + ControlHelper.SetVScrollValue(c.Handle, bar.Value / ((c as ListBox).ItemHeight)); + } + else if (c is ListView) + { + ControlHelper.SetVScrollValue(c.Handle, bar.Value); + } + else if (c is DataGridView) + { + var dgv = (DataGridView)c; + if (bar.Value > 0) + dgv.FirstDisplayedScrollingRowIndex = bar.Value - 1; + } + } + } + + void barH_Scroll(object sender, EventArgs e) + { + UCHScrollbar bar = (UCHScrollbar)sender; + if (m_lstHCache.ContainsValue(bar)) + { + Control c = m_lstHCache.FirstOrDefault(p => p.Value == bar).Key; + if (c is ScrollableControl) + { + (c as ScrollableControl).AutoScrollPosition = new Point(bar.Value, (c as ScrollableControl).AutoScrollPosition.Y); + } + else if (c is TreeView) + { + ControlHelper.SetHScrollValue(c.Handle, bar.Value); + //TreeView tv = (c as TreeView); + //SetTreeViewVScrollLocation(tv, tv.Nodes, bar.Value); + } + else if (c is TextBox) + { + ControlHelper.SetHScrollValue(c.Handle, bar.Value); + //TextBox txt = (c as TextBox); + //SetTextBoxVScrollLocation(txt, bar.Value); + } + else if (c is RichTextBox) + { + ControlHelper.SetHScrollValue(c.Handle, bar.Value); + } + else if (c is ListBox) + { + ControlHelper.SetHScrollValue(c.Handle, bar.Value); + } + else if (c is ListView) + { + ControlHelper.SetHScrollValue(c.Handle, bar.Value); + } + else if (c is DataGridView) + { + var dgv = (DataGridView)c; + dgv.HorizontalScrollingOffset = bar.Value; + } + } + } + + #region Treeview处理 English:Treeview\u5904\u7406 + void tv_AfterCollapse(object sender, TreeViewEventArgs e) + { + control_SizeChanged(sender as Control, null); + } + + void tv_AfterExpand(object sender, TreeViewEventArgs e) + { + control_SizeChanged(sender as Control, null); + } + + #endregion + + #region TextBox处理 English:TextBox Processing + + void txt_TextChanged(object sender, EventArgs e) + { + Control txt = sender as Control; + control_SizeChanged(txt, null); + } + + void txt_KeyDown(object sender, KeyEventArgs e) + { + Control txt = sender as Control; + control_SizeChanged(txt, null); + } + #endregion + } +} diff --git a/JinYuan.ControlLib/ScrollBar/ScrollbarControlDesigner.cs b/JinYuan.ControlLib/ScrollBar/ScrollbarControlDesigner.cs new file mode 100644 index 0000000..cb4e1af --- /dev/null +++ b/JinYuan.ControlLib/ScrollBar/ScrollbarControlDesigner.cs @@ -0,0 +1,39 @@ +using System.ComponentModel; +using System.Windows.Forms.Design; + +namespace JinYuan.ControlLib.ScrollBar +{ + /// + /// Class ScrollbarControlDesigner. + /// Implements the + /// + /// + internal class ScrollbarControlDesigner : System.Windows.Forms.Design.ControlDesigner + { + /// + /// 获取指示组件的移动功能的选择规则。 + /// + /// The selection rules. + public override SelectionRules SelectionRules + { + get + { + SelectionRules selectionRules = base.SelectionRules; + PropertyDescriptor propDescriptor = TypeDescriptor.GetProperties(this.Component)["AutoSize"]; + if (propDescriptor != null) + { + bool autoSize = (bool)propDescriptor.GetValue(this.Component); + if (autoSize) + { + selectionRules = SelectionRules.Visible | SelectionRules.Moveable | SelectionRules.BottomSizeable | SelectionRules.TopSizeable; + } + else + { + selectionRules = SelectionRules.Visible | SelectionRules.AllSizeable | SelectionRules.Moveable; + } + } + return selectionRules; + } + } + } +} diff --git a/JinYuan.ControlLib/ScrollBar/UCHScrollbar.cs b/JinYuan.ControlLib/ScrollBar/UCHScrollbar.cs new file mode 100644 index 0000000..0b37e4b --- /dev/null +++ b/JinYuan.ControlLib/ScrollBar/UCHScrollbar.cs @@ -0,0 +1,519 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.ScrollBar +{ + [Designer(typeof(ScrollbarControlDesigner))] + [DefaultEvent("Scroll")] + public class UCHScrollbar : UCControlBase + { + #region 属性 English:attribute + /// + /// The mo large change + /// + protected int moLargeChange = 10; + /// + /// The mo small change + /// + protected int moSmallChange = 1; + /// + /// The mo minimum + /// + protected int moMinimum = 0; + /// + /// The mo maximum + /// + protected int moMaximum = 100; + /// + /// The mo value + /// + protected int moValue = 0; + /// + /// The n click point + /// + private int nClickPoint; + /// + /// The mo thumb top + /// + protected int moThumbLeft = 0; + /// + /// The mo automatic size + /// + protected bool moAutoSize = false; + /// + /// The mo thumb down + /// + private bool moThumbMouseDown = false; + /// + /// The mo thumb dragging + /// + private bool moThumbMouseDragging = false; + /// + /// Occurs when [scroll]. + /// + public new event EventHandler Scroll = null; + /// + /// Occurs when [value changed]. + /// + public event EventHandler ValueChanged = null; + + /// + /// The BTN height + /// + private int btnWidth = 18; + /// + /// The m int thumb minimum height + /// + private int m_intThumbMinWidth = 15; + + /// + /// Gets or sets the height of the BTN. + /// + /// The height of the BTN. + public int BtnWidth + { + get { return btnWidth; } + set { btnWidth = value; } + } + /// + /// Gets or sets the large change. + /// + /// The large change. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("LargeChange")] + public int LargeChange + { + get { return moLargeChange; } + set + { + moLargeChange = value; + Invalidate(); + } + } + + /// + /// Gets or sets the small change. + /// + /// The small change. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("SmallChange")] + public int SmallChange + { + get { return moSmallChange; } + set + { + moSmallChange = value; + Invalidate(); + } + } + + /// + /// Gets or sets the minimum. + /// + /// The minimum. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Minimum")] + public int Minimum + { + get { return moMinimum; } + set + { + moMinimum = value; + Invalidate(); + } + } + + /// + /// Gets or sets the maximum. + /// + /// The maximum. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Maximum")] + public int Maximum + { + get { return moMaximum; } + set + { + moMaximum = value; + Invalidate(); + } + } + + /// + /// Gets or sets the value. + /// + /// The value. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Value")] + public int Value + { + get { return moValue; } + set + { + moValue = value; + if (moValue > moMaximum) + moValue = moMaximum; + int nTrackWidth = (this.Width - btnWidth * 2); + float fThumbWidth = nTrackWidth - Maximum; + //float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth; + int nThumbWidth = (int)fThumbWidth; + + if (nThumbWidth > nTrackWidth) + { + nThumbWidth = nTrackWidth; + fThumbWidth = nTrackWidth; + } + if (nThumbWidth < m_intThumbMinWidth) + { + nThumbWidth = m_intThumbMinWidth; + fThumbWidth = m_intThumbMinWidth; + } + + //figure out value + int nPixelRange = nTrackWidth - nThumbWidth; + int nRealRange = (Maximum - Minimum) - LargeChange; + float fPerc = 0.0f; + if (nRealRange != 0) + { + fPerc = (float)moValue / (float)nRealRange; + + } + + float fLeft = fPerc * nPixelRange; + moThumbLeft = (int)fLeft; + + + Invalidate(); + } + } + + /// + /// Gets or sets a value indicating whether [automatic size]. + /// + /// true if [automatic size]; otherwise, false. + public override bool AutoSize + { + get + { + return base.AutoSize; + } + set + { + base.AutoSize = value; + if (base.AutoSize) + { + this.Width = 15; + } + } + } + + /// + /// The thumb color + /// + private Color thumbColor = Color.FromArgb(1, 146, 235); + + /// + /// Gets or sets the color of the thumb. + /// + /// The color of the thumb. + public Color ThumbColor + { + get { return thumbColor; } + set { thumbColor = value; } + } + #endregion + + public UCHScrollbar() + { + InitializeComponent(); + ConerRadius = 2; + FillColor = Color.FromArgb(6, 30, 78); + IsShowRect = false; + IsRadius = true; + + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + + + + } + + + #region 静止闪烁 + protected override void WndProc(ref Message m) + { + if (m.Msg == 0x0014) // 禁掉清除背景消息 + return; + base.WndProc(ref m); + } + #endregion + + /// + /// Initializes the component. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + + this.MinimumSize = new System.Drawing.Size(0, 10); + this.Name = "UCHScrollbar"; + this.Size = new System.Drawing.Size(150, 18); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseMove); + this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseUp); + this.ResumeLayout(false); + + } + + #region 鼠标事件 English:Mouse event + /// + /// Handles the MouseDown event of the CustomScrollbar control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CustomScrollbar_MouseDown(object sender, MouseEventArgs e) + { + if (Maximum <= 0) + { + return; + } + Point ptPoint = this.PointToClient(Cursor.Position); + int nTrackWidth = (this.Width - btnWidth * 2); + float fThumbWidth = nTrackWidth - Maximum; + //float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth; + int nThumbWidth = (int)fThumbWidth; + + if (nThumbWidth > nTrackWidth) + { + nThumbWidth = nTrackWidth; + fThumbWidth = nTrackWidth; + } + if (nThumbWidth < m_intThumbMinWidth) + { + nThumbWidth = m_intThumbMinWidth; + fThumbWidth = m_intThumbMinWidth; + } + + int nLeft = moThumbLeft; + nLeft += btnWidth; + + + Rectangle thumbrect = new Rectangle(new Point(nLeft, 1), new Size(nThumbWidth, this.Height - 2)); + //滑块 + if (thumbrect.Contains(ptPoint)) + { + //hit the thumb + nClickPoint = (ptPoint.X - nLeft); + this.moThumbMouseDown = true; + } + else + { + //左按钮 + Rectangle leftarrowrect = new Rectangle(new Point(0, 1), new Size(btnWidth, this.Height)); + if (leftarrowrect.Contains(ptPoint)) + { + int nRealRange = (Maximum - Minimum) - LargeChange; + int nPixelRange = (nTrackWidth - nThumbWidth); + if (nRealRange > 0) + { + if (nPixelRange > 0) + { + if ((moThumbLeft - SmallChange) < 0) + moThumbLeft = 0; + else + moThumbLeft -= SmallChange; + + //figure out value + float fPerc = (float)moThumbLeft / (float)nPixelRange; + float fValue = fPerc * (Maximum - LargeChange); + + moValue = (int)fValue; + + if (ValueChanged != null) + ValueChanged(this, new EventArgs()); + + if (Scroll != null) + Scroll(this, new EventArgs()); + + Invalidate(); + } + } + } + else + { + Rectangle rightarrowrect = new Rectangle(new Point(btnWidth + nTrackWidth, 1), new Size(btnWidth, this.Height)); + if (rightarrowrect.Contains(ptPoint)) + { + int nRealRange = (Maximum - Minimum) - LargeChange; + int nPixelRange = (nTrackWidth - nThumbWidth); + if (nRealRange > 0) + { + if (nPixelRange > 0) + { + if ((moThumbLeft + SmallChange) > nPixelRange) + moThumbLeft = nPixelRange; + else + moThumbLeft += SmallChange; + + //figure out value + float fPerc = (float)moThumbLeft / (float)nPixelRange; + float fValue = fPerc * (Maximum - LargeChange); + + moValue = (int)fValue; + + if (ValueChanged != null) + ValueChanged(this, new EventArgs()); + + if (Scroll != null) + Scroll(this, new EventArgs()); + + Invalidate(); + } + } + } + } + } + } + + /// + /// Handles the MouseUp event of the CustomScrollbar control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CustomScrollbar_MouseUp(object sender, MouseEventArgs e) + { + this.moThumbMouseDown = false; + this.moThumbMouseDragging = false; + Application.DoEvents(); + } + + /// + /// Moves the thumb. + /// + /// The y. + private void MoveThumb(int x) + { + int nRealRange = Maximum - Minimum; + int nTrackWidth = (this.Width - btnWidth * 2); + // float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth; + float fThumbWidth = nTrackWidth - Maximum; + int nThumbWidth = (int)fThumbWidth; + + if (nThumbWidth > nTrackWidth) + { + nThumbWidth = nTrackWidth; + fThumbWidth = nTrackWidth; + } + if (nThumbWidth < m_intThumbMinWidth) + { + nThumbWidth = m_intThumbMinWidth; + fThumbWidth = m_intThumbMinWidth; + } + + int nSpot = nClickPoint; + + int nPixelRange = (nTrackWidth - nThumbWidth); + if (moThumbMouseDown && nRealRange > 0) + { + if (nPixelRange > 0) + { + int nNewThumbLeft = x - (btnWidth + nSpot); + + if (nNewThumbLeft < 0) + { + moThumbLeft = nNewThumbLeft = 0; + } + else if (nNewThumbLeft > nPixelRange) + { + moThumbLeft = nNewThumbLeft = nPixelRange; + } + else + { + moThumbLeft = x - (btnWidth + nSpot); + } + + + float fPerc = (float)moThumbLeft / (float)nPixelRange; + float fValue = fPerc * (Maximum - (nNewThumbLeft == nPixelRange ? 0 : LargeChange)); + //float fValue = fPerc * (Maximum - LargeChange); + if (Math.Abs(moValue - fValue) < 1) + { + return; + } + moValue = (int)fValue; + Invalidate(); + + try + { + Application.DoEvents(); + } + catch { } + } + } + } + + /// + /// Handles the MouseMove event of the CustomScrollbar control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CustomScrollbar_MouseMove(object sender, MouseEventArgs e) + { + if (!moThumbMouseDown) + return; + + if (moThumbMouseDown == true) + { + this.moThumbMouseDragging = true; + } + + if (this.moThumbMouseDragging) + { + MoveThumb(e.X); + } + + if (ValueChanged != null) + ValueChanged(this, new EventArgs()); + + if (Scroll != null) + Scroll(this, new EventArgs()); + } + #endregion + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + e.Graphics.SetGDIHigh(); + if (Maximum > 0) + { + //draw thumb + int nTrackWidth = (this.Width - btnWidth * 2); + //float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth; + float fThumbWidth = nTrackWidth - Maximum; + int nThumbWidth = (int)fThumbWidth; + + if (nThumbWidth > nTrackWidth) + { + nThumbWidth = nTrackWidth; + fThumbWidth = nTrackWidth; + } + if (nThumbWidth < m_intThumbMinWidth) + { + nThumbWidth = m_intThumbMinWidth; + fThumbWidth = m_intThumbMinWidth; + } + int nLeft = moThumbLeft; + nLeft += btnWidth; + if (nLeft + nThumbWidth > this.Width - btnWidth) + nLeft = this.Width - btnWidth - nThumbWidth; + e.Graphics.FillPath(new SolidBrush(thumbColor), new Rectangle(nLeft, 1, nThumbWidth, this.Height - 3).CreateRoundedRectanglePath(this.ConerRadius)); + } + ControlHelper.PaintTriangle(e.Graphics, new SolidBrush(thumbColor), new Point(btnWidth - Math.Min(5, this.Height / 2), this.Height / 2), Math.Min(5, this.Height / 2), GraphDirection.Leftward); + ControlHelper.PaintTriangle(e.Graphics, new SolidBrush(thumbColor), new Point(this.Width - (btnWidth - Math.Min(5, this.Height / 2)), this.Height / 2), Math.Min(5, this.Height / 2), GraphDirection.Rightward); + + } + } + +} diff --git a/JinYuan.ControlLib/ScrollBar/UCVScrollbar.cs b/JinYuan.ControlLib/ScrollBar/UCVScrollbar.cs new file mode 100644 index 0000000..f3950c4 --- /dev/null +++ b/JinYuan.ControlLib/ScrollBar/UCVScrollbar.cs @@ -0,0 +1,539 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 2019-09-19 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(»ÆÕý»Ô) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub£ºhttps://github.com/kwwwvagaa/NetWinformControl +// gitee£ºhttps://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.ScrollBar +{ + + /// + /// Class UCVScrollbar. + /// Implements the + /// + /// + [Designer(typeof(ScrollbarControlDesigner))] + [DefaultEvent("Scroll")] + public class UCVScrollbar : UCControlBase + { + /// + /// The mo large change + /// + protected int moLargeChange = 10; + /// + /// The mo small change + /// + protected int moSmallChange = 5; + /// + /// The mo minimum + /// + protected int moMinimum = 0; + /// + /// The mo maximum + /// + protected int moMaximum = 100; + /// + /// The mo value + /// + protected int moValue = 0; + /// + /// The n click point + /// + private int nClickPoint; + /// + /// The mo thumb top + /// + protected int moThumbTop = 0; + /// + /// The mo automatic size + /// + protected bool moAutoSize = false; + /// + /// The mo thumb down + /// + private bool moThumbMouseDown = false; + /// + /// The mo thumb dragging + /// + private bool moThumbMouseDragging = false; + /// + /// Occurs when [scroll]. + /// + public new event EventHandler Scroll = null; + /// + /// Occurs when [value changed]. + /// + public event EventHandler ValueChanged = null; + + /// + /// The BTN height + /// + private int btnHeight = 18; + /// + /// The m int thumb minimum height + /// + private int m_intThumbMinHeight = 30; + + /// + /// Gets or sets the height of the BTN. + /// + /// The height of the BTN. + public int BtnHeight + { + get { return btnHeight; } + set { btnHeight = value; } + } + /// + /// Gets or sets the large change. + /// + /// The large change. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("×Զ¨Òå"), Description("LargeChange")] + public int LargeChange + { + get { return moLargeChange; } + set + { + moLargeChange = value; + Invalidate(); + } + } + + /// + /// Gets or sets the small change. + /// + /// The small change. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("×Զ¨Òå"), Description("SmallChange")] + public int SmallChange + { + get { return moSmallChange; } + set + { + moSmallChange = value; + Invalidate(); + } + } + + /// + /// Gets or sets the minimum. + /// + /// The minimum. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("×Զ¨Òå"), Description("Minimum")] + public int Minimum + { + get { return moMinimum; } + set + { + moMinimum = value; + Invalidate(); + } + } + + /// + /// Gets or sets the maximum. + /// + /// The maximum. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("×Զ¨Òå"), Description("Maximum")] + public int Maximum + { + get { return moMaximum; } + set + { + moMaximum = value; + Invalidate(); + } + } + + /// + /// Gets or sets the value. + /// + /// The value. + [EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("×Զ¨Òå"), Description("Value")] + public int Value + { + get { return moValue; } + set + { + moValue = value; + + int nTrackHeight = (this.Height - btnHeight * 2); + //float fThumbHeight = ((float)LargeChange / (float)Maximum) * nTrackHeight; + float fThumbHeight = nTrackHeight - Maximum; + int nThumbHeight = (int)fThumbHeight; + + if (nThumbHeight > nTrackHeight) + { + nThumbHeight = nTrackHeight; + fThumbHeight = nTrackHeight; + } + if (nThumbHeight < m_intThumbMinHeight) + { + nThumbHeight = m_intThumbMinHeight; + fThumbHeight = m_intThumbMinHeight; + } + + //figure out value + int nPixelRange = nTrackHeight - nThumbHeight; + int nRealRange = (Maximum - Minimum) - LargeChange; + float fPerc = 0.0f; + if (nRealRange != 0) + { + fPerc = (float)moValue / (float)nRealRange; + + } + + float fTop = fPerc * nPixelRange; + moThumbTop = (int)fTop; + + + Invalidate(); + } + } + + /// + /// Gets or sets a value indicating whether [automatic size]. + /// + /// true if [automatic size]; otherwise, false. + public override bool AutoSize + { + get + { + return base.AutoSize; + } + set + { + base.AutoSize = value; + if (base.AutoSize) + { + this.Width = 15; + } + } + } + + /// + /// The thumb color + /// + private Color thumbColor = Color.FromArgb(1, 146, 235); + + /// + /// Gets or sets the color of the thumb. + /// + /// The color of the thumb. + public Color ThumbColor + { + get { return thumbColor; } + set { thumbColor = value; } + } + + /// + /// Initializes a new instance of the class. + /// + public UCVScrollbar() + { + InitializeComponent(); + ConerRadius = 2; + FillColor = Color.FromArgb(6, 30, 78); + IsShowRect = false; + IsRadius = true; + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + } + + + #region ¾²ֹÉÁ˸ + protected override void WndProc(ref Message m) + { + if (m.Msg == 0x0014) // ½ûµôÇå³ý±³¾°ÏûϢ + return; + base.WndProc(ref m); + } + #endregion + + /// + /// Initializes the component. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // UCVScrollbar + // + this.MinimumSize = new System.Drawing.Size(10, 0); + this.Name = "UCVScrollbar"; + this.Size = new System.Drawing.Size(18, 150); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseMove); + this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseUp); + this.ResumeLayout(false); + + } + + + /// + /// Òý·¢ ʼþ¡£ + /// + /// °üº¬Ê¼þÊý¾ݵÄ ¡£ + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + e.Graphics.SetGDIHigh(); + if (Maximum > 0) + { + //draw thumb + int nTrackHeight = (this.Height - btnHeight * 2); + //float fThumbHeight = ((float)LargeChange / (float)Maximum) * nTrackHeight; + float fThumbHeight = nTrackHeight - Maximum; + int nThumbHeight = (int)fThumbHeight; + + if (nThumbHeight > nTrackHeight) + { + nThumbHeight = nTrackHeight; + fThumbHeight = nTrackHeight; + } + if (nThumbHeight < m_intThumbMinHeight) + { + nThumbHeight = m_intThumbMinHeight; + fThumbHeight = m_intThumbMinHeight; + } + int nTop = moThumbTop; + nTop += btnHeight; + if (nTop + nThumbHeight > this.Height - btnHeight) + nTop = this.Height - btnHeight - nThumbHeight; + e.Graphics.FillPath(new SolidBrush(thumbColor), new Rectangle(1, nTop, this.Width - 3, nThumbHeight).CreateRoundedRectanglePath(this.ConerRadius)); + } + ControlHelper.PaintTriangle(e.Graphics, new SolidBrush(thumbColor), new Point(this.Width / 2, btnHeight - Math.Min(5, this.Width / 2)), Math.Min(5, this.Width / 2), GraphDirection.Upward); + ControlHelper.PaintTriangle(e.Graphics, new SolidBrush(thumbColor), new Point(this.Width / 2, this.Height - (btnHeight - Math.Min(5, this.Width / 2))), Math.Min(5, this.Width / 2), GraphDirection.Downward); + + } + + /// + /// Handles the MouseDown event of the CustomScrollbar control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CustomScrollbar_MouseDown(object sender, MouseEventArgs e) + { + if (Maximum <= 0) + return; + Point ptPoint = this.PointToClient(Cursor.Position); + int nTrackHeight = (this.Height - btnHeight * 2); + //float fThumbHeight = ((float)LargeChange / (float)Maximum) * nTrackHeight; + float fThumbHeight = nTrackHeight - Maximum; + int nThumbHeight = (int)fThumbHeight; + + if (nThumbHeight > nTrackHeight) + { + nThumbHeight = nTrackHeight; + fThumbHeight = nTrackHeight; + } + if (nThumbHeight < m_intThumbMinHeight) + { + nThumbHeight = m_intThumbMinHeight; + fThumbHeight = m_intThumbMinHeight; + } + + int nTop = moThumbTop; + nTop += btnHeight; + + + Rectangle thumbrect = new Rectangle(new Point(1, nTop), new Size(this.Width - 2, nThumbHeight)); + if (thumbrect.Contains(ptPoint)) + { + + //hit the thumb + nClickPoint = (ptPoint.Y - nTop); + //MessageBox.Show(Convert.ToString((ptPoint.Y - nTop))); + this.moThumbMouseDown = true; + } + else + { + Rectangle uparrowrect = new Rectangle(new Point(1, 0), new Size(this.Width, btnHeight)); + if (uparrowrect.Contains(ptPoint)) + { + + int nRealRange = (Maximum - Minimum) - LargeChange; + int nPixelRange = (nTrackHeight - nThumbHeight); + if (nRealRange > 0) + { + if (nPixelRange > 0) + { + if ((moThumbTop - SmallChange) < 0) + moThumbTop = 0; + else + moThumbTop -= SmallChange; + + //figure out value + float fPerc = (float)moThumbTop / (float)nPixelRange; + float fValue = fPerc * (Maximum - LargeChange); + + moValue = (int)fValue; + + if (ValueChanged != null) + ValueChanged(this, new EventArgs()); + + if (Scroll != null) + Scroll(this, new EventArgs()); + + Invalidate(); + } + } + } + else + { + Rectangle downarrowrect = new Rectangle(new Point(1, btnHeight + nTrackHeight), new Size(this.Width, btnHeight)); + if (downarrowrect.Contains(ptPoint)) + { + int nRealRange = (Maximum - Minimum) - LargeChange; + int nPixelRange = (nTrackHeight - nThumbHeight); + if (nRealRange > 0) + { + if (nPixelRange > 0) + { + if ((moThumbTop + SmallChange) > nPixelRange) + moThumbTop = nPixelRange; + else + moThumbTop += SmallChange; + + //figure out value + float fPerc = (float)moThumbTop / (float)nPixelRange; + float fValue = fPerc * (Maximum - LargeChange); + + moValue = (int)fValue; + + if (ValueChanged != null) + ValueChanged(this, new EventArgs()); + + if (Scroll != null) + Scroll(this, new EventArgs()); + + Invalidate(); + } + } + } + } + } + + } + + /// + /// Handles the MouseUp event of the CustomScrollbar control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CustomScrollbar_MouseUp(object sender, MouseEventArgs e) + { + this.moThumbMouseDown = false; + this.moThumbMouseDragging = false; + } + + /// + /// Moves the thumb. + /// + /// The y. + private void MoveThumb(int y) + { + int nRealRange = Maximum - Minimum; + int nTrackHeight = (this.Height - btnHeight * 2); + //float fThumbHeight = ((float)LargeChange / (float)Maximum) * nTrackHeight; + float fThumbHeight = nTrackHeight - Maximum; + int nThumbHeight = (int)fThumbHeight; + + if (nThumbHeight > nTrackHeight) + { + nThumbHeight = nTrackHeight; + fThumbHeight = nTrackHeight; + } + if (nThumbHeight < m_intThumbMinHeight) + { + nThumbHeight = m_intThumbMinHeight; + fThumbHeight = m_intThumbMinHeight; + } + + int nSpot = nClickPoint; + + int nPixelRange = (nTrackHeight - nThumbHeight); + if (moThumbMouseDown && nRealRange > 0) + { + if (nPixelRange > 0) + { + int nNewThumbTop = y - (btnHeight + nSpot); + + if (nNewThumbTop < 0) + { + moThumbTop = nNewThumbTop = 0; + } + else if (nNewThumbTop > nPixelRange) + { + moThumbTop = nNewThumbTop = nPixelRange; + } + else + { + moThumbTop = y - (btnHeight + nSpot); + } + + + float fPerc = (float)moThumbTop / (float)nPixelRange; + float fValue = fPerc * (Maximum - (nNewThumbTop == nPixelRange ? 0 : LargeChange)); + if (Math.Abs(moValue - fValue) < 1) + { + return; + } + moValue = (int)fValue; + Invalidate(); + + try + { + Application.DoEvents(); + } + catch { } + } + } + } + + /// + /// Handles the MouseMove event of the CustomScrollbar control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CustomScrollbar_MouseMove(object sender, MouseEventArgs e) + { + if (!moThumbMouseDown) + return; + + if (moThumbMouseDown == true) + { + this.moThumbMouseDragging = true; + } + + if (this.moThumbMouseDragging) + { + MoveThumb(e.Y); + } + + if (ValueChanged != null) + ValueChanged(this, new EventArgs()); + + if (Scroll != null) + Scroll(this, new EventArgs()); + } + + } +} \ No newline at end of file diff --git a/JinYuan.ControlLib/ScrollBar/UCVScrollbar.resx b/JinYuan.ControlLib/ScrollBar/UCVScrollbar.resx new file mode 100644 index 0000000..d58980a --- /dev/null +++ b/JinYuan.ControlLib/ScrollBar/UCVScrollbar.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/SidebarNavigation.Designer.cs b/JinYuan.ControlLib/SidebarNavigation.Designer.cs new file mode 100644 index 0000000..55fe051 --- /dev/null +++ b/JinYuan.ControlLib/SidebarNavigation.Designer.cs @@ -0,0 +1,48 @@ +namespace JinYuan.ControlLib +{ + partial class SidebarNavigation + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + + if (disposing&& (components != null)) + { + toolTip.Dispose(); + if (components != null) + { + components.Dispose(); + } + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // SidebarNavigation + // + this.Name = "SidebarNavigation"; + this.Size = new System.Drawing.Size(51, 823); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/SidebarNavigation.cs b/JinYuan.ControlLib/SidebarNavigation.cs new file mode 100644 index 0000000..bada6f2 --- /dev/null +++ b/JinYuan.ControlLib/SidebarNavigation.cs @@ -0,0 +1,1133 @@ +using AntdUI; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using System.Xml.Linq; + +namespace JinYuan.ControlLib +{ + + public enum NavigationItemType + { + Normal, // 普通项 + Settings, // 设置项 + UserManagement // 用户管理项 + } + + public enum Position + { + Top, + Bottom + } + + public class SidebarNavigationItem + { + public string Text { get; set; } + public string Tag { get; set; } + public string IconSvg { get; set; } + public Func CreatePageControl { get; set; } + public NavigationItemType ItemType { get; set; } = NavigationItemType.Normal; + public Position Position { get; set; } = Position.Top; + public bool IsSettings { get; set; } + } + + public partial class SidebarNavigation : UserControl + { + private List items = new List(); + private Dictionary buttonCache = new Dictionary(); + private Color lightBackgroundColor = Color.FromArgb(240, 240, 240); + private Color darkBackgroundColor = Color.FromArgb(33, 33, 33); + private Color lightSelectedColor = Color.FromArgb(0, 122, 204); + private Color darkSelectedColor = Color.FromArgb(0, 122, 204); + private AntdUI.Button selectedButton; + private bool isReordering = false; + private Font buttonFont = new Font("Microsoft YaHei UI", 10F); + private ToolTip toolTip = new ToolTip(); // 添加 ToolTip 控件 + + public Size IconSize { get; set; } = new Size(42, 42); + public event EventHandler ItemSelected; + + public class ButtonInfo + { + public SidebarNavigationItem Item { get; set; } + public AntdUI.Button Button { get; set; } + } + + private bool showText = false; + public bool ShowText + { + get => showText; + set + { + if (showText != value) + { + showText = value; + UpdateButtonsLayout(); + } + } + } + + public SidebarNavigation() + { + InitializeComponent(); + + SetStyle(ControlStyles.OptimizedDoubleBuffer | + ControlStyles.AllPaintingInWmPaint | + ControlStyles.UserPaint, true); + + this.BackColor = AntdUI.Config.IsDark ? darkBackgroundColor : lightBackgroundColor; + this.Width = 50; + this.Padding = new Padding(0); + this.Margin = new Padding(0); + this.AutoScroll = false; + + // 配置 ToolTip + toolTip.AutoPopDelay = 5000; + toolTip.InitialDelay = 500; + toolTip.ReshowDelay = 500; + toolTip.ShowAlways = true; + } + + public void UpdateVisibility(Func visibilityPredicate) + { + this.SuspendLayout(); + try + { + // 保存当前选中按钮的Tag + string selectedTag = null; + if (selectedButton?.Tag is ButtonInfo selectedInfo) + { + selectedTag = selectedInfo.Item.Tag; + } + + // 缓存现有按钮的状态 + foreach (Control control in this.Controls) + { + if (control is AntdUI.Button button && button.Tag is ButtonInfo info) + { + buttonCache[info.Item.Tag] = info; + } + } + + // 清除现有控件 + this.Controls.Clear(); + + // 重新添加符合条件的按钮 + var topButtons = items.Where(i => i.Position == Position.Top && visibilityPredicate(i)) + .OrderBy(i => items.IndexOf(i)); + + var bottomButtons = items.Where(i => i.Position == Position.Bottom && visibilityPredicate(i)) + .OrderBy(i => items.IndexOf(i)); + + // 添加顶部按钮 + foreach (var item in topButtons.Reverse()) + { + CreateOrRestoreButton(item); + } + + // 添加底部按钮 + foreach (var item in bottomButtons) + { + CreateOrRestoreButton(item); + } + + // 恢复选中状态 + if (selectedTag != null) + { + foreach (Control control in this.Controls) + { + if (control is AntdUI.Button button && + button.Tag is ButtonInfo info && + info.Item.Tag == selectedTag) + { + SetSelectedButton(button); + break; + } + } + } + } + finally + { + this.ResumeLayout(); + } + } + + private void CreateOrRestoreButton(SidebarNavigationItem item) + { + if (buttonCache.TryGetValue(item.Tag, out ButtonInfo cachedInfo)) + { + AntdUI.Button btn = new AntdUI.Button + { + Text = showText ? item.Text : "", + TextMultiLine = true, + AutoEllipsis = true, + BackColor = cachedInfo.Button.BackColor, + ForeColor = AntdUI.Config.IsDark ? Color.White : Color.Black, + Width = this.Width, + Height = this.Width + 5, + Dock = item.Position == Position.Bottom ? DockStyle.Bottom : DockStyle.Top, + Font = buttonFont, + IconPosition = TAlignMini.Top, + Radius = 3, + BorderWidth = 1, + WaveSize = 1, + IconSvg = item.IconSvg, + IconRatio = 0.8f, + Margin = new Padding(0), + Padding = new Padding(0), + RespondRealAreas = true, + Type = cachedInfo.Button.Type, + Ghost = false + }; + + // 设置工具提示 + toolTip.SetToolTip(btn, item.Text); + + btn.Click += NavigationButton_Click; + + var buttonInfo = new ButtonInfo + { + Item = item, + Button = btn + }; + btn.Tag = buttonInfo; + + this.Controls.Add(btn); + } + else + { + CreateNavigationButton(item); + } + } + + private void CreateNavigationButton(SidebarNavigationItem item) + { + AntdUI.Button btn = new AntdUI.Button + { + Text = showText ? item.Text : "", + TextMultiLine = true, + AutoEllipsis = true, + BackColor = Color.Transparent, + ForeColor = AntdUI.Config.IsDark ? Color.White : Color.Black, + Width = this.Width, + Height = this.Width + 5, + Dock = item.Position == Position.Bottom ? DockStyle.Bottom : DockStyle.Top, + Font = buttonFont, + IconPosition = TAlignMini.Top, + Radius = 3, + BorderWidth = 1, + WaveSize = 1, + IconSvg = item.IconSvg, + IconRatio = 0.8f, + Margin = new Padding(0), + Padding = new Padding(0), + RespondRealAreas = true, + Type = TTypeMini.Primary, + Ghost = false + }; + + // 设置工具提示 + toolTip.SetToolTip(btn, item.Text); + + btn.Click += NavigationButton_Click; + + var buttonInfo = new ButtonInfo + { + Item = item, + Button = btn + }; + btn.Tag = buttonInfo; + + this.Controls.Add(btn); + + if (selectedButton != null && + selectedButton.Tag is ButtonInfo selectedInfo && + selectedInfo.Item.Tag == item.Tag) + { + SetSelectedButton(btn); + } + } + + private void UpdateButtonsLayout() + { + this.SuspendLayout(); + foreach (Control control in this.Controls) + { + if (control is AntdUI.Button button) + { + button.Height = this.Width; + if (button.Tag is ButtonInfo buttonInfo) + { + button.Text = showText ? buttonInfo.Item.Text : ""; + } + } + } + this.PerformLayout(); + this.ResumeLayout(); + } + + private void SetSelectedButton(AntdUI.Button button) + { + if (selectedButton != null) + { + selectedButton.BackColor = Color.Transparent; + selectedButton.Type = TTypeMini.Default; + selectedButton.Invalidate(); + } + selectedButton = button; + if (button != null) + { + button.BackColor = AntdUI.Config.IsDark ? darkSelectedColor : lightSelectedColor; + button.Type = TTypeMini.Primary; + button.Invalidate(); + } + } + + public void UpdateTheme(bool isDark) + { + this.SuspendLayout(); + this.BackColor = isDark ? darkBackgroundColor : lightBackgroundColor; + + foreach (Control control in this.Controls) + { + if (control is AntdUI.Button button) + { + if (button == selectedButton) + { + button.BackColor = isDark ? darkSelectedColor : lightSelectedColor; + button.Type = TTypeMini.Primary; + } + else + { + button.BackColor = Color.Transparent; + button.Type = TTypeMini.Default; + } + button.ForeColor = isDark ? Color.White : Color.Black; + } + } + + this.ResumeLayout(); + } + + public void AddItem(SidebarNavigationItem item) + { + this.SuspendLayout(); + items.Add(item); + CreateNavigationButton(item); + ReorderButtons(); + this.ResumeLayout(); + } + + protected override void OnResize(EventArgs e) + { + base.OnResize(e); + foreach (Control control in this.Controls) + { + if (control is AntdUI.Button button) + { + button.Width = this.Width; + button.Height = this.Width; + } + } + } + + private void ReorderButtons() + { + if (isReordering) return; + + try + { + isReordering = true; + this.SuspendLayout(); + + var visibleTopItems = items.Where(i => i.Position == Position.Top && + this.Controls.Cast() + .Any(c => c is AntdUI.Button b && + b.Tag is ButtonInfo bi && + bi.Item == i)) + .OrderBy(i => items.IndexOf(i)); + + var visibleBottomItems = items.Where(i => i.Position == Position.Bottom && + this.Controls.Cast() + .Any(c => c is AntdUI.Button b && + b.Tag is ButtonInfo bi && + bi.Item == i)) + .OrderBy(i => items.IndexOf(i)); + + this.Controls.Clear(); + + foreach (var item in visibleTopItems.Reverse()) + { + CreateOrRestoreButton(item); + } + + foreach (var item in visibleBottomItems) + { + CreateOrRestoreButton(item); + } + } + finally + { + this.ResumeLayout(); + isReordering = false; + } + } + + private string ResizeSvgIcon(string svgContent, Size targetSize) + { + try + { + XDocument doc = XDocument.Parse(svgContent); + XElement svg = doc.Root; + + if (svg.Attribute("width") != null && svg.Attribute("height") != null) + { + svg.SetAttributeValue("width", targetSize.Width); + svg.SetAttributeValue("height", targetSize.Height); + } + + if (svg.Attribute("viewBox") == null) + { + svg.SetAttributeValue("viewBox", $"0 0 {targetSize.Width} {targetSize.Height}"); + } + + return doc.ToString(); + } + catch (Exception) + { + return svgContent; + } + } + + private void NavigationButton_Click(object sender, EventArgs e) + { + if (sender is AntdUI.Button clickedButton && clickedButton.Tag is ButtonInfo info) + { + SetSelectedButton(clickedButton); + ItemSelected?.Invoke(this, info.Item); + } + } + + public void UpdateButtonText(string tag, string text) + { + foreach (Control control in this.Controls) + { + if (control is AntdUI.Button button && + button.Tag is ButtonInfo buttonInfo && + buttonInfo.Item.Tag == tag) + { + buttonInfo.Item.Text = text; + button.Text = showText ? text : ""; + toolTip.SetToolTip(button, text); // 更新工具提示 + break; + } + } + } + + public void ClearItems() + { + this.SuspendLayout(); + try + { + items.Clear(); + buttonCache.Clear(); // 清除按钮缓存 + this.Controls.Clear(); + selectedButton = null; + } + finally + { + this.ResumeLayout(); + } + this.Invalidate(); + } + + public IEnumerable GetItems() + { + return items; + } + + + } + //// 1. 首先定义导航项类型的枚举 + //public enum NavigationItemType + //{ + // Normal, // 普通项 + // Settings, // 设置项 + // UserManagement // 用户管理项 + //} + + //public enum Position + //{ + // Top, + // Bottom + //} + + //public class SidebarNavigationItem + //{ + // public string Text { get; set; } + // public string Tag { get; set; } + // public string IconSvg { get; set; } + // public Func CreatePageControl { get; set; } + // public NavigationItemType ItemType { get; set; } = NavigationItemType.Normal; // 默认为普通项 + // public Position Position { get; set; } = Position.Top; + + // public bool IsSettings { get; set; } // 保留原有属性以保持兼容性 + + //} + + //public partial class SidebarNavigation : UserControl + //{ + // private List items = new List(); + // private Color lightBackgroundColor = Color.FromArgb(240, 240, 240); + // private Color darkBackgroundColor = Color.FromArgb(33, 33, 33); + // private Color lightSelectedColor = Color.FromArgb(0, 122, 204); + // private Color darkSelectedColor = Color.FromArgb(0, 122, 204); + // private AntdUI.Button selectedButton; + // private bool isReordering = false; + // private Font buttonFont = new Font("Microsoft YaHei UI", 10F); + + // public Size IconSize { get; set; } = new Size(42,42); + + // public event EventHandler ItemSelected; + + // public class ButtonInfo + // { + // public SidebarNavigationItem Item { get; set; } + // public AntdUI.Button Button { get; set; } + // } + + // private bool showText = false; + // public bool ShowText + // { + // get => showText; + // set + // { + // if (showText != value) + // { + // showText = value; + // UpdateButtonsLayout(); + // } + // } + // } + + // public SidebarNavigation() + // { + // InitializeComponent(); + + // SetStyle(ControlStyles.OptimizedDoubleBuffer | + // ControlStyles.AllPaintingInWmPaint | + // ControlStyles.UserPaint, true); + + // this.BackColor = AntdUI.Config.IsDark ? darkBackgroundColor : lightBackgroundColor; + // this.Width = 50; + // this.Padding = new Padding(0);// 移除控件的内边距 + // this.Margin = new Padding(0);// 移除控件的外边距 + // this.AutoScroll = false;// 禁用自动滚动以避免出现滚动条 + // } + + // public void UpdateVisibility(Func visibilityPredicate) + // { + // this.SuspendLayout(); + // try + // { + // // 先从 Controls 集合中移除所有按钮 + // this.Controls.Clear(); + + // // 重新添加符合条件的按钮 + // var topButtons = items.Where(i => i.Position == Position.Top && visibilityPredicate(i)) + // .OrderBy(i => items.IndexOf(i)); + + // var bottomButtons = items.Where(i => i.Position == Position.Bottom && visibilityPredicate(i)) + // .OrderBy(i => items.IndexOf(i)); + + // // 添加顶部按钮 + // foreach (var item in topButtons.Reverse()) + // { + // CreateNavigationButton(item); + // } + + // // 添加底部按钮 + // foreach (var item in bottomButtons) + // { + // CreateNavigationButton(item); + // } + // } + // finally + // { + // this.ResumeLayout(); + // } + // } + + + // private void CreateNavigationButton(SidebarNavigationItem item) + // { + // AntdUI.Button btn = new AntdUI.Button + // { + // Text = showText ? item.Text : "", + // // 启用多行文本 + // TextMultiLine = true, + // // 允许文本超出时自动处理 + // AutoEllipsis = true, + // BackColor = Color.Transparent, + // ForeColor = AntdUI.Config.IsDark ? Color.White : Color.Black, + // Width = this.Width, + // Height = this.Width + 5, + // Dock = item.Position == Position.Bottom ? DockStyle.Bottom : DockStyle.Top, + // Font = buttonFont, + // IconPosition = TAlignMini.Top, + // Radius = 3, + // BorderWidth = 1, + // WaveSize = 1, + // IconSvg = item.IconSvg, + // // Increase icon ratio to make icons larger relative to button size + // IconRatio = 0.8f, + // Margin = new Padding(0), + // Padding = new Padding(0), + // RespondRealAreas = true, + // Type = TTypeMini.Primary, + // Ghost = false + // }; + + // btn.Click += NavigationButton_Click; + + // var buttonInfo = new ButtonInfo + // { + // Item = item, + // Button = btn + // }; + // btn.Tag = buttonInfo; + + // this.Controls.Add(btn); + + // // 如果是当前选中的按钮,恢复选中状态 + // if (selectedButton != null && + // selectedButton.Tag is ButtonInfo selectedInfo && + // selectedInfo.Item.Tag == item.Tag) + // { + // SetSelectedButton(btn); + // } + // } + + // private void UpdateButtonsLayout() + // { + // this.SuspendLayout(); + // foreach (Control control in this.Controls) + // { + // if (control is AntdUI.Button button) + // { + // button.Height = this.Width; + // if (button.Tag is ButtonInfo buttonInfo) + // { + // button.Text = showText ? buttonInfo.Item.Text : ""; + // } + // } + // } + // this.PerformLayout(); + // this.ResumeLayout(); + // } + + // private void SetSelectedButton(AntdUI.Button button) + // { + // if (selectedButton != null) + // { + // selectedButton.BackColor = Color.Transparent; + // selectedButton.Type = TTypeMini.Default; + // selectedButton.Invalidate(); + // } + // selectedButton = button; + // if (button != null) + // { + // button.BackColor = AntdUI.Config.IsDark ? darkSelectedColor : lightSelectedColor; + // button.Type = TTypeMini.Primary; + // button.Invalidate(); + // } + // } + + + + // public void UpdateTheme(bool isDark) + // { + // this.SuspendLayout(); + // this.BackColor = isDark ? darkBackgroundColor : lightBackgroundColor; + + // foreach (Control control in this.Controls) + // { + // if (control is AntdUI.Button button) + // { + // if (button == selectedButton) + // { + // button.BackColor = isDark ? darkSelectedColor : lightSelectedColor; + // button.Type = TTypeMini.Primary; + // } + // else + // { + // button.BackColor = Color.Transparent; + // button.Type = TTypeMini.Default; + // } + // button.ForeColor = isDark ? Color.White : Color.Black; + // } + // } + + // this.ResumeLayout(); + // } + + + + // public void AddItem(SidebarNavigationItem item) + // { + // this.SuspendLayout(); + // items.Add(item); + // CreateNavigationButton(item); + // ReorderButtons(); + // this.ResumeLayout(); + // } + + + // protected override void OnResize(EventArgs e) + // { + // base.OnResize(e); + // foreach (Control control in this.Controls) + // { + // if (control is AntdUI.Button button) + // { + // button.Width = this.Width; + // button.Height = this.Width; + // } + // } + // } + + // private void ReorderButtons() + // { + // if (isReordering) return; + + // try + // { + // isReordering = true; + // this.SuspendLayout(); + + // // 获取当前所有可见的按钮 + // var visibleTopItems = items.Where(i => i.Position == Position.Top && + // this.Controls.Cast() + // .Any(c => c is AntdUI.Button b && + // b.Tag is ButtonInfo bi && + // bi.Item == i)) + // .OrderBy(i => items.IndexOf(i)); + + // var visibleBottomItems = items.Where(i => i.Position == Position.Bottom && + // this.Controls.Cast() + // .Any(c => c is AntdUI.Button b && + // b.Tag is ButtonInfo bi && + // bi.Item == i)) + // .OrderBy(i => items.IndexOf(i)); + + // this.Controls.Clear(); + + // // 重新添加顶部按钮 + // foreach (var item in visibleTopItems.Reverse()) + // { + // CreateNavigationButton(item); + // } + + // // 重新添加底部按钮 + // foreach (var item in visibleBottomItems) + // { + // CreateNavigationButton(item); + // } + // } + // finally + // { + // this.ResumeLayout(); + // isReordering = false; + // } + // } + + // private string ResizeSvgIcon(string svgContent, Size targetSize) + // { + // try + // { + // XDocument doc = XDocument.Parse(svgContent); + // XElement svg = doc.Root; + + // if (svg.Attribute("width") != null && svg.Attribute("height") != null) + // { + // svg.SetAttributeValue("width", targetSize.Width); + // svg.SetAttributeValue("height", targetSize.Height); + // } + + // if (svg.Attribute("viewBox") == null) + // { + // svg.SetAttributeValue("viewBox", $"0 0 {targetSize.Width} {targetSize.Height}"); + // } + + // return doc.ToString(); + // } + // catch (Exception) + // { + // return svgContent; + // } + // } + + // private void NavigationButton_Click(object sender, EventArgs e) + // { + // if (sender is AntdUI.Button clickedButton && clickedButton.Tag is ButtonInfo info) + // { + // SetSelectedButton(clickedButton); + // ItemSelected?.Invoke(this, info.Item); + // } + // } + + // // 更新按钮文本的方法 + // public void UpdateButtonText(string tag, string text) + // { + // foreach (Control control in this.Controls) + // { + // if (control is AntdUI.Button button && + // button.Tag is ButtonInfo buttonInfo && + // buttonInfo.Item.Tag == tag) + // { + // buttonInfo.Item.Text = text; + // button.Text = showText ? text : ""; + // break; + // } + // } + // } + + + + + // public void ClearItems() + // { + // this.SuspendLayout(); + // try + // { + // items.Clear(); + // this.Controls.Clear(); + // selectedButton = null; + // } + // finally + // { + // this.ResumeLayout(); + // } + // this.Invalidate(); + // } + + // public IEnumerable GetItems() + // { + // return items; + // } + + + + //} +} + +#region 最早期的 +//public enum Position +//{ +// Top, +// Bottom +//} + +//public class SidebarNavigationItem +//{ +// public string Text { get; set; } +// public string Tag { get; set; } +// public string IconSvg { get; set; } +// public Func CreatePageControl { get; set; } +// public bool IsSettings { get; set; } +// public Position Position { get; set; } = Position.Top; +//} + +//public partial class SidebarNavigation : UserControl +//{ +// private List items = new List(); +// private Color lightBackgroundColor = Color.FromArgb(240, 240, 240); +// private Color darkBackgroundColor = Color.FromArgb(33, 33, 33); +// private Color lightSelectedColor = Color.FromArgb(0, 150, 136); +// private Color darkSelectedColor = Color.FromArgb(0, 200, 186); +// private int buttonHeight = 40; +// private AntdUI.Button selectedButton; +// private ToolTip toolTip; +// private bool isReordering = false; + +// public Size IconSize { get; set; } = new Size(200, 200); + +// public event EventHandler ItemSelected; + +// public SidebarNavigation() +// { +// InitializeComponent(); + +// SetStyle(ControlStyles.OptimizedDoubleBuffer | +// ControlStyles.AllPaintingInWmPaint | +// ControlStyles.UserPaint, true); + +// this.BackColor = AntdUI.Config.IsDark ? darkBackgroundColor : lightBackgroundColor; +// this.Width = 50; +// this.AutoScroll = true; + +// toolTip = new ToolTip +// { +// AutoPopDelay = 5000, +// InitialDelay = 500, +// ReshowDelay = 500, +// ShowAlways = true +// }; +// } + +// public void AddItem(SidebarNavigationItem item) +// { +// this.SuspendLayout(); +// items.Add(item); +// CreateNavigationButton(item); +// ReorderButtons(); +// this.ResumeLayout(); +// } + +// public void ClearItems() +// { +// this.SuspendLayout(); +// try +// { +// items.Clear(); +// for (int i = this.Controls.Count - 1; i >= 0; i--) +// { +// if (this.Controls[i] is AntdUI.Button button) +// { +// button.Click -= NavigationButton_Click; +// this.Controls.RemoveAt(i); +// button.Dispose(); +// } +// } +// selectedButton = null; +// ReorderButtons(); +// } +// finally +// { +// this.ResumeLayout(); +// } +// this.Invalidate(); +// } + +// private void CreateNavigationButton(SidebarNavigationItem item) +// { +// string resizedSvg = ResizeSvgIcon(item.IconSvg, IconSize); + +// AntdUI.Button btn = new AntdUI.Button +// { +// Text = "", +// Tag = item, +// Dock = item.Position == Position.Bottom ? DockStyle.Bottom : DockStyle.Top, +// Height = buttonHeight, +// IconSvg = resizedSvg, +// BackColor = this.BackColor, +// ForeColor = AntdUI.Config.IsDark ? Color.White : Color.Black, +// Radius = 0, +// BorderWidth = 0 +// }; +// btn.Click += NavigationButton_Click; + +// toolTip.SetToolTip(btn, item.Text); + +// this.Controls.Add(btn); +// } + +// private string ResizeSvgIcon(string svgContent, Size targetSize) +// { +// try +// { +// XDocument doc = XDocument.Parse(svgContent); +// XElement svg = doc.Root; + +// if (svg.Attribute("width") != null && svg.Attribute("height") != null) +// { +// svg.SetAttributeValue("width", targetSize.Width); +// svg.SetAttributeValue("height", targetSize.Height); +// } + +// if (svg.Attribute("viewBox") == null) +// { +// svg.SetAttributeValue("viewBox", $"0 0 {targetSize.Width} {targetSize.Height}"); +// } + +// return doc.ToString(); +// } +// catch (Exception) +// { +// return svgContent; +// } +// } + + +// /// +// /// 图标按钮排序 +// /// +// private void ReorderButtons() +// { +// if (isReordering) return; + +// try +// { +// isReordering = true; +// this.SuspendLayout(); + +// var buttonDict = this.Controls.OfType() +// .Where(b => b.Tag is SidebarNavigationItem) +// .ToDictionary(b => ((SidebarNavigationItem)b.Tag).Tag); + +// this.Controls.Clear(); + +// // 分别获取顶部和底部的项目 +// var topItems = items.Where(i => i.Position == Position.Top) +// .OrderBy(i => items.IndexOf(i)); +// var bottomItems = items.Where(i => i.Position == Position.Bottom) +// .OrderBy(i => items.IndexOf(i)); + +// // 添加顶部按钮(反序添加以保证正确顺序) +// foreach (var item in topItems.Reverse()) +// { +// if (buttonDict.TryGetValue(item.Tag, out var button)) +// { +// button.Dock = DockStyle.Top; +// this.Controls.Add(button); +// } +// } + +// // 添加底部按钮(正序添加以保证正确顺序) +// foreach (var item in bottomItems) +// { +// if (buttonDict.TryGetValue(item.Tag, out var button)) +// { +// button.Dock = DockStyle.Bottom; +// this.Controls.Add(button); +// } +// } +// } +// finally +// { +// this.ResumeLayout(); +// isReordering = false; +// } +// } + + +// public void UpdateIconSize(Size newSize) +// { +// this.IconSize = newSize; +// foreach (Control control in this.Controls) +// { +// if (control is AntdUI.Button button && button.Tag is SidebarNavigationItem item) +// { +// string resizedSvg = ResizeSvgIcon(item.IconSvg, newSize); +// button.IconSvg = resizedSvg; +// } +// } +// this.Invalidate(); +// } + +// private void NavigationButton_Click(object sender, EventArgs e) +// { +// if (sender is AntdUI.Button clickedButton && clickedButton.Tag is SidebarNavigationItem item) +// { +// SetSelectedButton(clickedButton); +// ItemSelected?.Invoke(this, item); +// } +// } + +// private void SetSelectedButton(AntdUI.Button button) +// { +// if (selectedButton != null) +// { +// selectedButton.BackColor = this.BackColor; +// } +// selectedButton = button; +// selectedButton.BackColor = AntdUI.Config.IsDark ? darkSelectedColor : lightSelectedColor; +// } + +// public void UpdateTheme(bool isDark) +// { +// this.SuspendLayout(); +// this.BackColor = isDark ? darkBackgroundColor : lightBackgroundColor; +// foreach (Control control in this.Controls) +// { +// if (control is AntdUI.Button button) +// { +// button.BackColor = this.BackColor; +// button.ForeColor = isDark ? Color.White : Color.Black; +// } +// } +// if (selectedButton != null) +// { +// selectedButton.BackColor = isDark ? darkSelectedColor : lightSelectedColor; +// } +// toolTip.BackColor = isDark ? Color.FromArgb(64, 64, 64) : Color.White; +// toolTip.ForeColor = isDark ? Color.White : Color.Black; +// this.ResumeLayout(); +// } + +// public void UpdateItemToolTip(AntdUI.Button button, string translatedText) +// { +// if (button.InvokeRequired) +// { +// button.Invoke(new Action(() => toolTip.SetToolTip(button, translatedText))); +// } +// else +// { +// toolTip.SetToolTip(button, translatedText); +// } +// } + +// protected override void OnControlAdded(ControlEventArgs e) +// { +// base.OnControlAdded(e); +// ReorderButtons(); +// } + +// protected override void OnResize(EventArgs e) +// { +// base.OnResize(e); +// this.SuspendLayout(); +// foreach (Control control in this.Controls) +// { +// if (control is AntdUI.Button button) +// { +// button.Width = this.Width; +// } +// } +// this.ResumeLayout(); +// } + +// public void SelectFirstItem() +// { +// if (this.Controls.Count > 0 && this.Controls[0] is AntdUI.Button firstButton) +// { +// SetSelectedButton(firstButton); +// if (firstButton.Tag is SidebarNavigationItem item) +// { +// ItemSelected?.Invoke(this, item); +// } +// } +// } + +// public IEnumerable GetItems() +// { +// return items; +// } + +// public void UpdateVisibility(Func visibilityPredicate) +// { +// this.SuspendLayout(); +// foreach (Control control in this.Controls) +// { +// if (control is AntdUI.Button button && button.Tag is SidebarNavigationItem item) +// { +// button.Visible = visibilityPredicate(item); +// } +// } +// this.ResumeLayout(); +// } +//} +#endregion + diff --git a/JinYuan.ControlLib/SidebarNavigation.resx b/JinYuan.ControlLib/SidebarNavigation.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/SidebarNavigation.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/SimpleLed.Designer.cs b/JinYuan.ControlLib/SimpleLed.Designer.cs new file mode 100644 index 0000000..e3a4464 --- /dev/null +++ b/JinYuan.ControlLib/SimpleLed.Designer.cs @@ -0,0 +1,50 @@ +namespace JinYuan.ControlLib +{ + partial class SimpleLed + { + /// + /// ±ØÐèµÄÉè¼ÆÆ÷±äÁ¿¡£ + /// + private System.ComponentModel.IContainer components = null; + + /// + /// ÇåÀíËùÓÐÕýÔÚʹÓõÄ×ÊԴ¡£ + /// + /// Èç¹ûӦÊͷÅÍйÜ×ÊԴ£¬Ϊ true£»·ñÔòΪ false¡£ + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region ×é¼þÉè¼ÆÆ÷Éú³ɵĴúÂë + + /// + /// Éè¼ÆÆ÷֧³ÖËùÐèµķ½·¨ - ²»ҪÐ޸Ä + /// ʹÓôúÂë±༭Æ÷Ð޸Ĵ˷½·¨µÄÄÚÈݡ£ + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // SimpleLed + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.Green; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("΢ÈíÑźÚ", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.Name = "SimpleLed"; + this.Size = new System.Drawing.Size(18, 17); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/SimpleLed.cs b/JinYuan.ControlLib/SimpleLed.cs new file mode 100644 index 0000000..166dc4d --- /dev/null +++ b/JinYuan.ControlLib/SimpleLed.cs @@ -0,0 +1,40 @@ +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class SimpleLed : UserControl + { + public SimpleLed() + { + InitializeComponent(); + + //ÉèÖÿؼþÑùʽ + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private bool state = true; + + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡָʾµƵÄ״̬")] + public bool State + { + get { return state; } + set + { + state = value; + this.BackgroundImage = state ? Properties.Resources.Green : Properties.Resources.Red; + } + } + + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡָʾµư󶨵ıäÁ¿Ãû³Æ")] + public string BindVarName { get; set; } + } +} diff --git a/JinYuan.ControlLib/SimpleLed.resx b/JinYuan.ControlLib/SimpleLed.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/SimpleLed.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/StatusExt.Designer.cs b/JinYuan.ControlLib/StatusExt.Designer.cs new file mode 100644 index 0000000..bf173af --- /dev/null +++ b/JinYuan.ControlLib/StatusExt.Designer.cs @@ -0,0 +1,40 @@ +namespace JinYuan.ControlLib +{ + partial class StatusExt + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + if (disposing) + { + _cachedPath?.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/StatusExt.cs b/JinYuan.ControlLib/StatusExt.cs new file mode 100644 index 0000000..8fbec66 --- /dev/null +++ b/JinYuan.ControlLib/StatusExt.cs @@ -0,0 +1,521 @@ +using Controls; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Threading.Tasks; +using System.Windows.Forms; + + + +namespace JinYuan.ControlLib +{ + #region 枚举定义 + public enum StatusEnum + { + Init, //初始化状态 - 空白,无填充 + GradeNG, // 等级查询OK状态 - 白底:黑色系渐变; 黑底:黄色系渐变? + PackNG, // 上传NG状态 - 红色系渐变 + Normal // 正常状态 - 绿色系渐变 + } + #endregion + + public partial class StatusExt : UserControl + { + // 公开属性,电芯条码用于绑定唯一标识 + public string ItemId { get; set; } + // 电芯位置 + public string RowId { get; set; } + + + #region 私有字段 + private StatusEnum _currentStatus = StatusEnum.Init; + private Color _borderColor = Color.DarkGray; + private int _borderWidth = 1; + private bool _showHighlight = false; + private const int padding = 2; // 外部留白 + private static readonly Color _backBlackColor = Color.FromArgb(11, 20, 36); + //private static readonly Color _backWhiteColor = Color.FromArgb(255, 255, 255); + //private Color _backColor = _backBlackColor; + #endregion + + #region 颜色配置 + private readonly Color _whiteEdge = Color.FromArgb(200, 200, 200); // 白色边缘 + private readonly Color _greenEdge = Color.FromArgb(50, 150, 50); // 绿色边缘 + private readonly Color _greenMid = Color.FromArgb(140, 180, 130); // 绿色过渡 + private readonly Color _grayEdge = Color.FromArgb(0, 0, 0); // 黑色边缘 + private readonly Color _grayMid = Color.FromArgb(135, 135, 135); // 灰色过渡 + private readonly Color _redEdge = Color.FromArgb(150, 60, 60); // 红色边缘 + private readonly Color _redMid = Color.FromArgb(170, 140, 130); // 红色过渡 + private readonly Color _center = Color.FromArgb(245, 245, 245); // 中心色(稍暗避免过曝) + private readonly Color _highlightStart = Color.FromArgb(120, Color.White); // 高光起始色 + private readonly Color _highlightEnd = Color.FromArgb(0, Color.White); // 高光结束色 + #endregion + + + private bool _isClicking = false; + private DateTime _lastClickTime; + + // 缓存渐变画刷,避免重复创建 + private GraphicsPath _cachedPath; + private Rectangle _lastDrawRect; + private bool _clickHandled = false; + + #region 构造函数 + public StatusExt() + { + this.Text = string.Empty; // 清空文本 + //SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer, true); + SetStyle(ControlStyles.AllPaintingInWmPaint | + ControlStyles.UserPaint | + ControlStyles.ResizeRedraw | + ControlStyles.OptimizedDoubleBuffer | + //ControlStyles.Opaque | // 避免背景重绘干扰 + ControlStyles.SupportsTransparentBackColor, true); + this.DoubleBuffered = true; + this.Size = new Size(40, 40); // 确保正方形 + this.MinimumSize = new Size(20, 20); + this.MaximumSize = new Size(60, 60); // 设置最大尺寸 + this.BackColor = _backBlackColor; + } + + //private void InitializeBrushCache() + //{ + // _brushCache[StatusEnum.Init] = new SolidBrush(Color.Transparent); + // _brushCache[StatusEnum.Normal] = new LinearGradientBrush( + // new Rectangle(0, 0, 100, 100), + // Color.FromArgb(50, 150, 50), + // Color.FromArgb(140, 180, 130), + // 45f); + // _brushCache[StatusEnum.GradeNG] = new LinearGradientBrush( + // new Rectangle(0, 0, 100, 100), + // Color.FromArgb(0, 0, 0), + // Color.FromArgb(135, 135, 135), + // 45f); + // _brushCache[StatusEnum.PackNG] = new LinearGradientBrush( + // new Rectangle(0, 0, 100, 100), + // Color.FromArgb(150, 60, 60), + // Color.FromArgb(170, 140, 130), + // 45f); + //} + #endregion + + #region 处理外部数据的方法 + /// + /// 绑定数据,设置 UI 内容 + /// + public void BindData(string id, string rowId, string title, StatusEnum status) + { + this.ItemId = id; + this.RowId = rowId; + this.CurrentStatus = status; + } + + public void SetStatus(StatusEnum status) + { + if (_currentStatus != status) + { + _currentStatus = status; + Invalidate(); // 状态变化时重绘 + } + } + + #endregion + + #region 属性 + [Category("工业风"), Description("当前状态")] + public StatusEnum CurrentStatus + { + get => _currentStatus; + set + { + if (_currentStatus != value) + { + _currentStatus = value; + Invalidate(); // 只有变化时才重绘 + } + } + } + + [Category("工业风"), Description("边框宽度")] + public int BorderWidth + { + get => _borderWidth; + set + { + _borderWidth = value; + Invalidate(); + } + } + + [Category("工业风"), Description("边框颜色")] + public Color BorderColor + { + get { return _borderColor; } + set + { + _borderColor = value; + Invalidate(); + } + } + + [Category("工业风"), Description("是否显示高光效果")] + public bool ShowHighlight + { + get { return _showHighlight; } + set + { + _showHighlight = value; + Invalidate(); + } + } + #endregion + + #region 重写方法 + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; // 抗锯齿,圆形更平滑 + g.PixelOffsetMode = PixelOffsetMode.HighQuality; // 减少模糊 + g.InterpolationMode = InterpolationMode.HighQualityBicubic; + //g.SmoothingMode = SmoothingMode.HighSpeed; // 改用高速渲染 + //g.CompositingQuality = CompositingQuality.HighSpeed; + + + // === 关键:有效直径要扣除两边的边框宽度 === + int availableSize = Math.Min(Width, Height); + int drawDiameter = availableSize - _borderWidth - padding * 2; // 确保左右各留出 1~2 像素给边框 + if (drawDiameter <= 0) drawDiameter = 1; // 防止负数 + + // 居中定位 + int x = (Width - drawDiameter) / 2; + int y = (Height - drawDiameter) / 2; + var drawRect = new Rectangle(x, y, drawDiameter, drawDiameter); + + //// 绘制背景圆形 + //DrawBackgroundCircle(g, drawRect); + + //// 绘制边框 + //DrawBorder(g, drawRect); + + // 只在尺寸变化时重建路径 + if (_cachedPath == null || _lastDrawRect != drawRect) + { + _cachedPath?.Dispose(); + _cachedPath = new GraphicsPath(); + _cachedPath.AddEllipse(drawRect); + _lastDrawRect = drawRect; + } + + // 根据状态绘制渐变背景 + DrawStatusBackground(g, drawRect); + // 绘制高光效果 + if (_showHighlight && _currentStatus != StatusEnum.Init) + { + DrawHighlightEffect(g, drawRect); + } + + // 绘制边框 + DrawBorder(g, drawRect); + + //// 使用缓存画刷 + //if (_brushCache.TryGetValue(_currentStatus, out var brush)) + //{ + // g.FillPath(brush, _cachedPath); + //} + + //// 绘制边框 + //using (Pen borderPen = new Pen(GetBorderColor(), _borderWidth)) + //{ + // borderPen.Alignment = PenAlignment.Center; + // g.DrawEllipse(borderPen, drawRect); + //} + } + + // 确保控件保持正方形 + protected override void OnResize(EventArgs e) + { + base.OnResize(e); + // 强制保持正方形 + int size = Math.Min(Width, Height); + this.Size = new Size(size, size); + Invalidate(); + } + + protected override void OnClick(EventArgs e) + { + // 防重复触发 + if (_isClicking || (DateTime.Now - _lastClickTime).TotalMilliseconds < 300) + { + return; + } + + _isClicking = true; + _lastClickTime = DateTime.Now; + + try + { + StatusExtClicked?.Invoke(this, new StatusItemClickEventArgs(this.ItemId, this.CurrentStatus, this.RowId, this.Name)); + base.OnClick(e); + } + finally + { + // 使用异步延迟重置,避免阻塞UI + Task.Delay(300).ContinueWith(_ => + { + if (!IsDisposed) + { + SafeInvoke(() => _isClicking = false); + } + }); + } + } + #endregion + + #region 私有绘制方法 + //private void DrawBackgroundCircle(Graphics g, Rectangle rect) + //{ + // var (edgeColor, midColor) = GetStatusColor(); + + // using (GraphicsPath path = CreateCirclePath(rect)) + // { + // using (PathGradientBrush brush = new PathGradientBrush(path)) + // { + // brush.CenterColor = _center; + // brush.SurroundColors = new Color[] { edgeColor }; + // brush.FocusScales = new PointF(0.1f, 0.1f); + // g.FillPath(brush, path); + // } + // } + //} + + //// 绘制高光效果 + //private void DrawHighlightEffect(Graphics g, Rectangle rect) + //{ + // // 高光区域(右上角的椭圆) + // int highlightSize = rect.Width / 3; + // Rectangle highlightRect = new Rectangle( + // rect.X + rect.Width / 6, + // rect.Y + rect.Height / 6, + // highlightSize, + // highlightSize + // ); + + // // 创建半透明高光渐变 + // using (LinearGradientBrush highlightBrush = new LinearGradientBrush( + // highlightRect, + // Color.FromArgb(120, Color.White), + // Color.FromArgb(0, Color.White), + // 45f)) + // { + // g.FillEllipse(highlightBrush, highlightRect); + // } + + // // 中心小圆高光(增强中心亮度) + // int centerHighlightSize = rect.Width / 5; + // Rectangle centerRect = new Rectangle( + // rect.X + (rect.Width - centerHighlightSize) / 2, + // rect.Y + (rect.Height - centerHighlightSize) / 2, + // centerHighlightSize, + // centerHighlightSize + // ); + + // using (SolidBrush centerBrush = new SolidBrush(Color.FromArgb(80, Color.White))) + // { + // g.FillEllipse(centerBrush, centerRect); + // } + //} + + //private void DrawBorder(Graphics g, Rectangle rect) + //{ + // var (edgeColor, _) = GetStatusColor(); + // using (Pen borderPen = new Pen(edgeColor, _borderWidth)) + // { + // borderPen.Alignment = PenAlignment.Center; // 明确居中 + // g.DrawEllipse(borderPen, rect); + // } + //} + + private void DrawStatusBackground(Graphics g, Rectangle rect) + { + var (edgeColor, midColor) = GetStatusColor(); + + // 绘制渐变背景 + using (PathGradientBrush brush = new PathGradientBrush(_cachedPath)) + { + brush.CenterColor = _center; + brush.SurroundColors = new Color[] { edgeColor }; + brush.FocusScales = new PointF(0.1f, 0.1f); + g.FillPath(brush, _cachedPath); + + // 添加中间渐变层增强效果 + if (_currentStatus != StatusEnum.Init) + { + using (SolidBrush midBrush = new SolidBrush(Color.FromArgb(50, midColor))) + { + int innerSize = rect.Width / 2; + Rectangle innerRect = new Rectangle( + rect.X + (rect.Width - innerSize) / 2, + rect.Y + (rect.Height - innerSize) / 2, + innerSize, + innerSize); + g.FillEllipse(midBrush, innerRect); + } + } + } + } + + private void DrawHighlightEffect(Graphics g, Rectangle rect) + { + // 主高光区域(右上角) + int highlightSize = rect.Width / 3; + Rectangle highlightRect = new Rectangle( + rect.X + rect.Width / 6, + rect.Y + rect.Height / 6, + highlightSize, + highlightSize); + + using (LinearGradientBrush highlightBrush = new LinearGradientBrush( + highlightRect, + _highlightStart, + _highlightEnd, + 45f)) + { + g.FillEllipse(highlightBrush, highlightRect); + } + + // 中心高光点 + int centerHighlightSize = rect.Width / 5; + Rectangle centerRect = new Rectangle( + rect.X + (rect.Width - centerHighlightSize) / 2, + rect.Y + (rect.Height - centerHighlightSize) / 2, + centerHighlightSize, + centerHighlightSize); + + using (SolidBrush centerBrush = new SolidBrush(Color.FromArgb(80, Color.White))) + { + g.FillEllipse(centerBrush, centerRect); + } + + // 边缘光泽效果 + using (Pen glowPen = new Pen(Color.FromArgb(30, Color.White), 1)) + { + g.DrawEllipse(glowPen, rect); + } + } + + private void DrawBorder(Graphics g, Rectangle rect) + { + var (edgeColor, _) = GetStatusColor(); + + // 外边框 + using (Pen outerPen = new Pen(Color.FromArgb(80, edgeColor), _borderWidth + 1)) + { + outerPen.Alignment = PenAlignment.Inset; + g.DrawEllipse(outerPen, rect); + } + + // 内边框 + using (Pen innerPen = new Pen(Color.FromArgb(150, edgeColor), _borderWidth)) + { + innerPen.Alignment = PenAlignment.Inset; + Rectangle innerRect = new Rectangle( + rect.X + 1, rect.Y + 1, + rect.Width - 2, rect.Height - 2); + g.DrawEllipse(innerPen, innerRect); + } + } + + private (Color, Color) GetStatusColor() + { + switch (_currentStatus) + { + case StatusEnum.PackNG: + return (_redEdge, _redMid); + case StatusEnum.GradeNG: + return (_grayEdge, _grayMid); + case StatusEnum.Normal: + return (_greenEdge, _greenMid); + default: // Init + return (_whiteEdge, Color.FromArgb(50, 50, 50)); + } + } + + private void SafeInvoke(Action action) + { + if (IsHandleCreated && !IsDisposed) + { + if (InvokeRequired) + { + try { Invoke(action); } catch { } + } + else + { + action(); + } + } + } + + //private Color GetBorderColor() + //{ + // var (edgeColor, midColor) = GetStatusColor(); + + // return edgeColor; + //} + + //private GraphicsPath CreateCirclePath(Rectangle rect) + //{ + // GraphicsPath path = new GraphicsPath(); + // path.AddEllipse(rect); + // return path; + //} + + + //private (Color, Color) GetStatusColor() + //{ + // switch (_currentStatus) + // { + // case StatusEnum.PackNG: + // return (_redEdge, _redMid); + // case StatusEnum.GradeNG: + // return (_grayEdge, _grayMid); + // case StatusEnum.Normal: + // return (_greenEdge, _greenMid); + // default: + // return (_whiteEdge, _whiteEdge); + // } + //} + + #endregion + + #region 事件 + public event EventHandler StatusExtClicked; + + // 自定义事件参数,用于传递点击的 ID 和状态 + public class StatusItemClickEventArgs : EventArgs + { + public string ItemId { get; } + + public string RowId { get; } + + public string Name { get; } + public StatusEnum Status { get; } + + public StatusItemClickEventArgs(string itemId, StatusEnum status, string rowId, string name) + { + ItemId = itemId; + Status = status; + RowId = rowId; + Name = Name; + } + } + #endregion + } + + +} + diff --git a/JinYuan.ControlLib/TButton.Designer.cs b/JinYuan.ControlLib/TButton.Designer.cs new file mode 100644 index 0000000..bf6696a --- /dev/null +++ b/JinYuan.ControlLib/TButton.Designer.cs @@ -0,0 +1,67 @@ +namespace JinYuan.ControlLib +{ + partial class TButton + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold); + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(118, 36); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "标题按钮"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_Title.Click += new System.EventHandler(this.lbl_Title_Click); + // + // TButton + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(28)))), ((int)(((byte)(68))))); + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.Title; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Name = "TButton"; + this.Size = new System.Drawing.Size(207, 41); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/TButton.cs b/JinYuan.ControlLib/TButton.cs new file mode 100644 index 0000000..6c4f860 --- /dev/null +++ b/JinYuan.ControlLib/TButton.cs @@ -0,0 +1,47 @@ +using System; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class TButton : UserControl + { + public TButton() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private string titleName = "标题名称"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示标题名称")] + + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + } + } + + [Browsable(true)]//是否可见 + [Category("自定义事件")] //类别 + [Description("设置或显示按钮文本内容")] + public new EventHandler Click; + + private void lbl_Title_Click(object sender, EventArgs e) + { + this.Click?.Invoke(this, e); + } + + } +} diff --git a/JinYuan.ControlLib/TButton.resx b/JinYuan.ControlLib/TButton.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/TButton.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/TextSet.Designer.cs b/JinYuan.ControlLib/TextSet.Designer.cs new file mode 100644 index 0000000..859a443 --- /dev/null +++ b/JinYuan.ControlLib/TextSet.Designer.cs @@ -0,0 +1,108 @@ +namespace JinYuan.ControlLib +{ + partial class TextSet + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.MainTableLayoutControl = new System.Windows.Forms.TableLayoutPanel(); + this.lbl_Unit = new System.Windows.Forms.Label(); + this.lbl_Value = new System.Windows.Forms.Label(); + this.MainTableLayoutControl.SuspendLayout(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Location = new System.Drawing.Point(4, 5); + this.lbl_Title.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(94, 20); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "参数名称设置"; + // + // MainTableLayoutControl + // + this.MainTableLayoutControl.ColumnCount = 3; + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 30F)); + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F)); + this.MainTableLayoutControl.Controls.Add(this.lbl_Unit, 2, 0); + this.MainTableLayoutControl.Controls.Add(this.lbl_Value, 1, 0); + this.MainTableLayoutControl.Controls.Add(this.lbl_Title, 0, 0); + this.MainTableLayoutControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.MainTableLayoutControl.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.MainTableLayoutControl.Location = new System.Drawing.Point(0, 0); + this.MainTableLayoutControl.Margin = new System.Windows.Forms.Padding(1); + this.MainTableLayoutControl.Name = "MainTableLayoutControl"; + this.MainTableLayoutControl.RowCount = 1; + this.MainTableLayoutControl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.MainTableLayoutControl.Size = new System.Drawing.Size(204, 30); + this.MainTableLayoutControl.TabIndex = 1; + // + // lbl_Unit + // + this.lbl_Unit.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Unit.Location = new System.Drawing.Point(167, 5); + this.lbl_Unit.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Unit.Name = "lbl_Unit"; + this.lbl_Unit.Size = new System.Drawing.Size(33, 20); + this.lbl_Unit.TabIndex = 2; + this.lbl_Unit.Text = "℃"; + // + // lbl_Value + // + this.lbl_Value.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Value.Location = new System.Drawing.Point(106, 5); + this.lbl_Value.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Value.Name = "lbl_Value"; + this.lbl_Value.Size = new System.Drawing.Size(53, 20); + this.lbl_Value.TabIndex = 1; + this.lbl_Value.Text = "0.0"; + // + // TextSet + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.MainTableLayoutControl); + this.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "TextSet"; + this.Size = new System.Drawing.Size(204, 30); + this.MainTableLayoutControl.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + private System.Windows.Forms.TableLayoutPanel MainTableLayoutControl; + private System.Windows.Forms.Label lbl_Unit; + private System.Windows.Forms.Label lbl_Value; + } +} diff --git a/JinYuan.ControlLib/TextSet.cs b/JinYuan.ControlLib/TextSet.cs new file mode 100644 index 0000000..000fc2c --- /dev/null +++ b/JinYuan.ControlLib/TextSet.cs @@ -0,0 +1,112 @@ +using System; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [DefaultEvent("ControlDoubleClick")] + public partial class TextSet : UserControl + { + public TextSet() + { + InitializeComponent(); + } + + + //private int titleScale = 50; + //[Browsable(true)] + //[Category("自定义属性")] + //[Description("设置或获取标题所占比例")] + //public int TitleScale + //{ + // get { return titleScale; } + // set + // { + // titleScale = value; + + // this.MainTableLayoutControl.ColumnStyles[0] = new ColumnStyle(SizeType.Percent, titleScale); + // } + //} + + + //private int valueScale = 30; + //[Browsable(true)] + //[Category("自定义属性")] + //[Description("设置或获取数据所占比例")] + //public int ValueScale + //{ + // get { return valueScale; } + // set + // { + // valueScale = value; + + // this.MainTableLayoutControl.ColumnStyles[1] = new ColumnStyle(SizeType.Percent, valueScale); + // } + //} + + private string titleName = "参数名称设置"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取参数名称")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + + this.lbl_Title.Text = titleName; + } + } + + + private string currentValue = "0.0"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取当前数值")] + public string CurrentValue + { + get { return currentValue; } + set + { + currentValue = value; + + this.lbl_Value.Text = currentValue; + } + } + + + private string unit = "℃"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取当前单位")] + public string Unit + { + get { return unit; } + set + { + unit = value; + + this.lbl_Unit.Text = unit; + } + } + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取绑定变量名称")] + public string BindVarName { get; set; } + + [Browsable(true)] + [Category("自定义事件")] + [Description("控件双击事件")] + public event EventHandler ControlDoubleClick; + + private void lbl_Value_DoubleClick(object sender, EventArgs e) + { + if (ControlDoubleClick != null) + { + ControlDoubleClick(this, e); + } + } + } +} diff --git a/JinYuan.ControlLib/TextSet.resx b/JinYuan.ControlLib/TextSet.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/TextSet.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/TextSet2.Designer.cs b/JinYuan.ControlLib/TextSet2.Designer.cs new file mode 100644 index 0000000..2580a7f --- /dev/null +++ b/JinYuan.ControlLib/TextSet2.Designer.cs @@ -0,0 +1,95 @@ +namespace JinYuan.ControlLib +{ + partial class TextSet2 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.MainTableLayoutControl = new System.Windows.Forms.TableLayoutPanel(); + this.lbl_Value = new System.Windows.Forms.Label(); + this.MainTableLayoutControl.SuspendLayout(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Location = new System.Drawing.Point(4, 5); + this.lbl_Title.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(107, 20); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "参数名称设置"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // MainTableLayoutControl + // + this.MainTableLayoutControl.ColumnCount = 2; + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60.73298F)); + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 39.26702F)); + this.MainTableLayoutControl.Controls.Add(this.lbl_Value, 1, 0); + this.MainTableLayoutControl.Controls.Add(this.lbl_Title, 0, 0); + this.MainTableLayoutControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.MainTableLayoutControl.Location = new System.Drawing.Point(0, 0); + this.MainTableLayoutControl.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.MainTableLayoutControl.Name = "MainTableLayoutControl"; + this.MainTableLayoutControl.RowCount = 1; + this.MainTableLayoutControl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.MainTableLayoutControl.Size = new System.Drawing.Size(191, 30); + this.MainTableLayoutControl.TabIndex = 1; + // + // lbl_Value + // + this.lbl_Value.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Value.Location = new System.Drawing.Point(119, 5); + this.lbl_Value.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.lbl_Value.Name = "lbl_Value"; + this.lbl_Value.Size = new System.Drawing.Size(68, 20); + this.lbl_Value.TabIndex = 1; + this.lbl_Value.Text = "0.0"; + this.lbl_Value.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // TextSet2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.MainTableLayoutControl); + this.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "TextSet2"; + this.Size = new System.Drawing.Size(191, 30); + this.MainTableLayoutControl.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + private System.Windows.Forms.TableLayoutPanel MainTableLayoutControl; + private System.Windows.Forms.Label lbl_Value; + } +} diff --git a/JinYuan.ControlLib/TextSet2.cs b/JinYuan.ControlLib/TextSet2.cs new file mode 100644 index 0000000..dee5637 --- /dev/null +++ b/JinYuan.ControlLib/TextSet2.cs @@ -0,0 +1,99 @@ +using System; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [DefaultEvent("ControlDoubleClick")] + public partial class TextSet2 : UserControl + { + public TextSet2() + { + InitializeComponent(); + } + + + //private int titleScale = 50; + //[Browsable(true)] + //[Category("自定义属性")] + //[Description("设置或获取标题所占比例")] + //public int TitleScale + //{ + // get { return titleScale; } + // set + // { + // titleScale = value; + + // this.MainTableLayoutControl.ColumnStyles[0] = new ColumnStyle(SizeType.Percent, titleScale); + // } + //} + + + //private int valueScale = 30; + //[Browsable(true)] + //[Category("自定义属性")] + //[Description("设置或获取数据所占比例")] + //public int ValueScale + //{ + // get { return valueScale; } + // set + // { + // valueScale = value; + + // this.MainTableLayoutControl.ColumnStyles[1] = new ColumnStyle(SizeType.Percent, valueScale); + // } + //} + + private string titleName = "参数名称设置"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取参数名称")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + + this.lbl_Title.Text = titleName; + } + } + + + private string currentValue = "0.0"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取当前数值")] + public string CurrentValue + { + get { return currentValue; } + set + { + currentValue = value; + + this.lbl_Value.Text = currentValue; + } + } + + + + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取绑定变量名称")] + public string BindVarName { get; set; } + + [Browsable(true)] + [Category("自定义事件")] + [Description("控件双击事件")] + public event EventHandler ControlDoubleClick; + + private void lbl_Value_DoubleClick(object sender, EventArgs e) + { + if (ControlDoubleClick != null) + { + ControlDoubleClick(this, e); + } + } + } +} diff --git a/JinYuan.ControlLib/TextSet2.resx b/JinYuan.ControlLib/TextSet2.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/TextSet2.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Title.Designer.cs b/JinYuan.ControlLib/Title.Designer.cs new file mode 100644 index 0000000..58f20bd --- /dev/null +++ b/JinYuan.ControlLib/Title.Designer.cs @@ -0,0 +1,66 @@ +namespace JinYuan.ControlLib +{ + partial class Title + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold); + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(118, 36); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "标题名称"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Title + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(28)))), ((int)(((byte)(68))))); + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.Title; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Name = "Title"; + this.Size = new System.Drawing.Size(118, 36); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/Title.cs b/JinYuan.ControlLib/Title.cs new file mode 100644 index 0000000..a4145c3 --- /dev/null +++ b/JinYuan.ControlLib/Title.cs @@ -0,0 +1,36 @@ +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class Title : UserControl + { + public Title() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private string titleName = "标题名称"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示标题名称")] + + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + } + } + + } +} diff --git a/JinYuan.ControlLib/Title.resx b/JinYuan.ControlLib/Title.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/Title.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/TitleButton.Designer.cs b/JinYuan.ControlLib/TitleButton.Designer.cs new file mode 100644 index 0000000..b01fa81 --- /dev/null +++ b/JinYuan.ControlLib/TitleButton.Designer.cs @@ -0,0 +1,66 @@ +namespace JinYuan.ControlLib +{ + partial class TitleButton + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.btn_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // btn_Title + // + this.btn_Title.BackColor = System.Drawing.Color.Transparent; + this.btn_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.btn_Title.Font = new System.Drawing.Font("微软雅黑", 11F, System.Drawing.FontStyle.Bold); + this.btn_Title.ForeColor = System.Drawing.Color.White; + this.btn_Title.Location = new System.Drawing.Point(0, 0); + this.btn_Title.Name = "btn_Title"; + this.btn_Title.Size = new System.Drawing.Size(129, 43); + this.btn_Title.TabIndex = 0; + this.btn_Title.Text = "菜单按钮"; + this.btn_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.btn_Title.Click += new System.EventHandler(this.lbl_Title_Click); + // + // TitleButton + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.Title; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.btn_Title); + this.DoubleBuffered = true; + this.Name = "TitleButton"; + this.Size = new System.Drawing.Size(129, 43); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label btn_Title; + } +} diff --git a/JinYuan.ControlLib/TitleButton.cs b/JinYuan.ControlLib/TitleButton.cs new file mode 100644 index 0000000..dc70f82 --- /dev/null +++ b/JinYuan.ControlLib/TitleButton.cs @@ -0,0 +1,90 @@ +using System; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [DefaultEvent("Click")]//增加特性事件 + public partial class TitleButton : UserControl + { + public TitleButton() + { + InitializeComponent(); + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private bool isSelected = false; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮是否选中")] + public bool IsSelected + { + get { return isSelected; } + set + { + isSelected = value; + UpdataImage(); + } + } + + + private bool isLeft = true; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮是否为左边")] + public bool IsLeft + { + get { return isLeft; } + set + { + isLeft = value; + UpdataImage(); + } + } + + private string titleName = "导航按钮"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示导航按钮文本内容")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.btn_Title.Text = titleName; + } + } + + + /// + ///统一更新背景 + /// + private void UpdataImage() + { + if (this.isLeft) + { + this.BackgroundImage = isSelected ? Properties.Resources.LeftSelected : Properties.Resources.LeftUnSelected; + } + else + { + this.BackgroundImage = isSelected ? Properties.Resources.RightSelected : Properties.Resources.RightUnSelected; + } + } + + [Browsable(true)]//是否可见 + [Category("自定义事件")] //类别 + [Description("设置或显示导航按钮文本内容")] + public new EventHandler Click; + + private void lbl_Title_Click(object sender, EventArgs e) + { + this.Click?.Invoke(this, e); + } + } +} diff --git a/JinYuan.ControlLib/TitleButton.resx b/JinYuan.ControlLib/TitleButton.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/TitleButton.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/TitleTime.Designer.cs b/JinYuan.ControlLib/TitleTime.Designer.cs new file mode 100644 index 0000000..18125f9 --- /dev/null +++ b/JinYuan.ControlLib/TitleTime.Designer.cs @@ -0,0 +1,98 @@ +namespace JinYuan.ControlLib +{ + partial class TitleTime + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lb_TitleName = new System.Windows.Forms.Label(); + this.lbl_Title = new System.Windows.Forms.Label(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // lb_TitleName + // + this.lb_TitleName.Dock = System.Windows.Forms.DockStyle.Fill; + this.lb_TitleName.ForeColor = System.Drawing.Color.White; + this.lb_TitleName.Location = new System.Drawing.Point(22, 0); + this.lb_TitleName.Name = "lb_TitleName"; + this.lb_TitleName.Size = new System.Drawing.Size(108, 30); + this.lb_TitleName.TabIndex = 0; + this.lb_TitleName.Text = "label1"; + this.lb_TitleName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lbl_Title + // + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(136, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(169, 30); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "label1"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 3; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 19F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 39.44637F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60.55363F)); + this.tableLayoutPanel1.Controls.Add(this.lb_TitleName, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.lbl_Title, 2, 0); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 1; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(308, 30); + this.tableLayoutPanel1.TabIndex = 1; + // + // TitleTime + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources._61; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.tableLayoutPanel1); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "TitleTime"; + this.Size = new System.Drawing.Size(308, 30); + this.tableLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Label lb_TitleName; + private System.Windows.Forms.Label lbl_Title; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + } +} diff --git a/JinYuan.ControlLib/TitleTime.cs b/JinYuan.ControlLib/TitleTime.cs new file mode 100644 index 0000000..54aaab4 --- /dev/null +++ b/JinYuan.ControlLib/TitleTime.cs @@ -0,0 +1,246 @@ +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Text; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + //public partial class TitleTime : UserControl + //{ + // public TitleTime() + // { + // InitializeComponent(); + // //设置控件样式,去除缓冲 + // this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + // this.SetStyle(ControlStyles.DoubleBuffer, true); + // this.SetStyle(ControlStyles.ResizeRedraw, true); + // this.SetStyle(ControlStyles.Selectable, true); + // this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + // } + + // private string ttfFelePath = ""; + + // private string ttfPath = ""; + // [Browsable(true)]//是否可见 + // [Category("自定义属性")] //类别/Assts/Fonts/zaozigongfangjinzhuti.ttf + // [Description("设置字体路径")] + // public string TtfPath + // { + // get { return ttfPath; } + // set + // { + // ttfPath = value; + // if (ttfPath != "") + // { + // ttfFelePath = System.Windows.Forms.Application.StartupPath + $"{ttfPath}"; + // this.Invalidate(); + // } + + // } + // } + + // private string titleName = "标题名称"; + // [Browsable(true)]//是否可见 + // [Category("自定义属性")] //类别 + // [Description("设置或显示标题名称")] + // public string TitleName + // { + // get { return titleName; } + // set + // { + // titleName = value; + // if (ttfFelePath != "") + // { + // string fontPath = ttfFelePath; + // LoadFont(fontPath, 24); + // } + // this.lb_TitleName.Text = titleName; + // } + // } + + + // private Color titleNameForColor = Color.FromArgb(255, 77, 59); + // [Browsable(true)] + // [Category("自定义属性")] + // [Description("设置或获取标题名称字体颜色")] + // public Color TitleNameForColor + // { + // get { return titleNameForColor; } + // set + // { + // titleNameForColor = value; + // this.lb_TitleName.ForeColor = titleNameForColor; + // } + // } + + // private string title = "控件内容"; + // [Browsable(true)]//是否可见 + // [Category("自定义属性")] //类别 + // [Description("设置或显示内容")] + // public string Title + // { + // get { return title; } + // set + // { + // title = value; + // if (ttfFelePath != "") + // { + // string fontPath = ttfFelePath; + // LoadFont(fontPath, 24); + // } + // this.lbl_Title.Text = title; + // } + // } + + + + + // public void LoadFont(string path, float size) + // { + // //int fontId = AddFontResource(path); + // PrivateFontCollection fontCollection = new PrivateFontCollection(); + // fontCollection.AddFontFile(path); + // Font myFont = new Font(fontCollection.Families[0].Name, 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))); + // //Font font = new Font(fontCollection.Families[0], size); + // this.lbl_Title.Font = myFont; + // //RemoveFontResource(path); + // //return font; + // } + + // // 辅助方法 + // private class FontLoader + // { + // //[DllImport("gdi32.dll", EntryPoint = "AddFontResourceW", SetLastError = true)] + // //public static extern int AddFontResource([In][MarshalAs(UnmanagedType.LPWStr)] string lpFileName); + + // //[DllImport("gdi32.dll", EntryPoint = "RemoveFontResourceW", SetLastError = true)] + // //public static extern int RemoveFontResource([In][MarshalAs(UnmanagedType.LPWStr)] string lpFileName); + + // public Font LoadFont(string path, float size) + // { + // //int fontId = AddFontResource(path); + // PrivateFontCollection fontCollection = new PrivateFontCollection(); + // fontCollection.AddFontFile(path); + // //Font myFont = new Font(font.Families[0].Name, 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))); + // Font font = new Font(fontCollection.Families[0], size); + // //RemoveFontResource(path); + // return font; + // } + // } + + + + //} + + + public partial class TitleTime : UserControl + { + public TitleTime() + { + InitializeComponent(); + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + private string ttfFelePath = ""; + + private string ttfPath = ""; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置字体路径")] + public string TtfPath + { + get { return ttfPath; } + set + { + ttfPath = value; + if (ttfPath != "") + { + ttfFelePath = System.Windows.Forms.Application.StartupPath + $"{ttfPath}"; + this.Invalidate(); + } + } + } + + private float titleFontSize = 24f; // 默认字体大小 + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取标题字体大小")] + public float TitleFontSize + { + get { return titleFontSize; } + set + { + titleFontSize = value; + if (ttfFelePath != "") + { + LoadFont(ttfFelePath, titleFontSize); + } + this.Invalidate(); // 强制重绘控件 + } + } + + private string titleName = "标题名称"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或显示标题名称")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + if (ttfFelePath != "") + { + LoadFont(ttfFelePath, TitleFontSize); + } + this.lb_TitleName.Text = titleName; + } + } + + private Color titleNameForColor = Color.FromArgb(255, 77, 59); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取标题名称字体颜色")] + public Color TitleNameForColor + { + get { return titleNameForColor; } + set + { + titleNameForColor = value; + this.lb_TitleName.ForeColor = titleNameForColor; + } + } + + private string title = "控件内容"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或显示内容")] + public string Title + { + get { return title; } + set + { + title = value; + if (ttfFelePath != "") + { + LoadFont(ttfFelePath, TitleFontSize); + } + this.lbl_Title.Text = title; + } + } + + public void LoadFont(string path, float size) + { + PrivateFontCollection fontCollection = new PrivateFontCollection(); + fontCollection.AddFontFile(path); + Font myFont = new Font(fontCollection.Families[0].Name, size, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))); + this.lbl_Title.Font = myFont; + this.lb_TitleName.Font = myFont; // 如果需要标题名称也使用相同的字体 + } + } +} diff --git a/JinYuan.ControlLib/TitleTime.resx b/JinYuan.ControlLib/TitleTime.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/TitleTime.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/Toggle.Designer.cs b/JinYuan.ControlLib/Toggle.Designer.cs new file mode 100644 index 0000000..1d47d30 --- /dev/null +++ b/JinYuan.ControlLib/Toggle.Designer.cs @@ -0,0 +1,45 @@ +namespace JinYuan.ControlLib +{ + partial class Toggle + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // Toggle + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Name = "Toggle"; + this.Size = new System.Drawing.Size(95, 42); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/Toggle.cs b/JinYuan.ControlLib/Toggle.cs new file mode 100644 index 0000000..484eef4 --- /dev/null +++ b/JinYuan.ControlLib/Toggle.cs @@ -0,0 +1,338 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public enum ControlType + { + /// + /// 椭圆 + /// + Ellipse, + /// + /// 矩形 + /// + Rectangle, + /// + /// 直线 + /// + Line + + } + + [DefaultEvent("CheckedChanged")] + public partial class Toggle : UserControl + { + public Toggle() + { + InitializeComponent(); + + //设置控件样式 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + this.MouseDown += Toggle_MouseDown; + } + + private void Toggle_MouseDown(object sender, MouseEventArgs e) + { + IsChecked = !IsChecked; + + CheckedChanged?.Invoke(this, e); + } + + private ControlType controlType = ControlType.Ellipse; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件的样式")] + public ControlType ControlType + { + get { return controlType; } + set + { + controlType = value; + + this.Invalidate(); + } + } + + + private Color trueColor = Color.FromArgb(73, 119, 232); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件选中的颜色")] + public Color TrueColor + { + get { return trueColor; } + set + { + trueColor = value; + + this.Invalidate(); + } + } + + + private Color falseColor = Color.FromArgb(180, 180, 180); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件未选中的颜色")] + public Color FalseColor + { + get { return falseColor; } + set + { + falseColor = value; + + this.Invalidate(); + } + } + + + private bool isChecked = false; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件是否选中")] + public bool IsChecked + { + get { return isChecked; } + set + { + isChecked = value; + this.Invalidate(); + } + } + + + + + private string trueText = string.Empty; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件选中的文本")] + public string TrueText + { + get { return trueText; } + set + { + trueText = value; + this.Invalidate(); + } + } + + private string falseText = string.Empty; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件未选中的文本")] + public string FalseText + { + get { return falseText; } + set + { + falseText = value; + this.Invalidate(); + } + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + Graphics graphics = e.Graphics; + + graphics.SmoothingMode = SmoothingMode.AntiAlias; + graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + + + //获取填充颜色 + Color fillColor = isChecked ? trueColor : falseColor; + + //创建路径 + GraphicsPath path = new GraphicsPath(); + + //文本 + string text = isChecked ? trueText : falseText; + + //文件尺寸 + SizeF size = graphics.MeasureString(text, this.Font); + + //间隙 + int gap = 2; + + //小圆宽度 + int border = 2; + + switch (controlType) + { + case ControlType.Ellipse: + + float r = (this.Height - 2) * 0.5f; + + //添加直线 + path.AddLine(new Point(this.Height / 2, 1), new Point(this.Width - this.Height / 2, 1)); + //添加圆弧 + path.AddArc(new RectangleF(this.Width - 2 * r - 1, 1, 2 * r, 2 * r), -90, 180); + //添加直线 + path.AddLine(new PointF(this.Width - r - 1, this.Height - 1), new Point(this.Height / 2, this.Height - 1)); + //添加圆弧 + path.AddArc(new RectangleF(1, 1, 2 * r, 2 * r), 90, 180); + + graphics.FillPath(new SolidBrush(fillColor), path); + + //大圆半径 + float radius = (this.Height - 2 * (1 + gap)) * 0.5f; + + //如果选中如何绘制 + if (isChecked) + { + graphics.FillEllipse(Brushes.White, new RectangleF(this.Width - 2 * radius - gap - 1, gap + 1, 2 * radius, 2 * radius)); + + //如果文本为空,则画小圆,否则,写文字 + if (string.IsNullOrEmpty(text)) + { + graphics.DrawEllipse(new Pen(Color.White, border), new RectangleF(this.Height * 0.5f - radius * 0.5f, this.Height * 0.5f - radius * 0.5f, radius, radius)); + } + else + { + graphics.DrawString(text, this.Font, Brushes.White, new PointF(this.Height * 0.5f - size.Height * 0.5f, this.Height * 0.5f - size.Height * 0.5f)); + } + } + else + { + graphics.FillEllipse(Brushes.White, new RectangleF(gap + 1, gap + 1, 2 * radius, 2 * radius)); + + //如果文本为空,则画小圆,否则,写文字 + if (string.IsNullOrEmpty(text)) + { + graphics.DrawEllipse(new Pen(Color.White, border), new RectangleF(this.Width - (1.5f * radius + 1), this.Height * 0.5f - radius * 0.5f, radius, radius)); + } + else + { + graphics.DrawString(text, this.Font, Brushes.White, new PointF(this.Width - (this.Height * 0.5f - size.Height * 0.5f) - size.Width, this.Height * 0.5f - size.Height * 0.5f)); + } + } + break; + case ControlType.Rectangle: + + int intRadius = 3; + + //添加圆弧1 + path.AddArc(new RectangleF(1, 1, intRadius * 2, intRadius * 2), 180, 90); + //添加圆弧2 + path.AddArc(new RectangleF(this.Width - 2 * intRadius - 1, 1, intRadius * 2, intRadius * 2), 270, 90); + //添加圆弧3 + path.AddArc(new RectangleF(this.Width - 2 * intRadius - 1, this.Height - 2 * intRadius - 1, intRadius * 2, intRadius * 2), 0, 90); + //添加圆弧4 + path.AddArc(new RectangleF(1, this.Height - 2 * intRadius - 1, intRadius * 2, intRadius * 2), 90, 90); + + graphics.FillPath(new SolidBrush(fillColor), path); + + if (isChecked) + { + path = new GraphicsPath(); + + int inwidth = this.Height - 2 * (gap + 1); + + //添加圆弧1 + path.AddArc(new RectangleF(this.Width - inwidth - gap - 1, 1 + gap, intRadius * 2, intRadius * 2), 180, 90); + //添加圆弧2 + path.AddArc(new RectangleF(this.Width - 1 - gap - 2 * intRadius, 1 + gap, intRadius * 2, intRadius * 2), 270, 90); + //添加圆弧3 + path.AddArc(new RectangleF(this.Width - 1 - gap - 2 * intRadius, this.Height - 2 * intRadius - 1 - gap, intRadius * 2, intRadius * 2), 0, 90); + //添加圆弧4 + path.AddArc(new RectangleF(this.Width - inwidth - gap - 1, this.Height - 2 * intRadius - 1 - gap, intRadius * 2, intRadius * 2), 90, 90); + + graphics.FillPath(Brushes.White, path); + + radius = inwidth * 0.5f; + + //如果文本为空,则画小圆,否则,写文字 + if (string.IsNullOrEmpty(text)) + { + graphics.DrawEllipse(new Pen(Color.White, border), new RectangleF(this.Height * 0.5f - radius * 0.5f, this.Height * 0.5f - radius * 0.5f, radius, radius)); + } + else + { + graphics.DrawString(text, this.Font, Brushes.White, new PointF(this.Height * 0.5f - size.Height * 0.5f, this.Height * 0.5f - size.Height * 0.5f)); + } + } + else + { + path = new GraphicsPath(); + + int inwidth = this.Height - 2 * (gap + 1); + + //添加圆弧1 + path.AddArc(new RectangleF(1 + gap, 1 + gap, intRadius * 2, intRadius * 2), 180, 90); + //添加圆弧2 + path.AddArc(new RectangleF(inwidth + 1 + gap - 2 * intRadius, 1 + gap, intRadius * 2, intRadius * 2), 270, 90); + //添加圆弧3 + path.AddArc(new RectangleF(inwidth + 1 + gap - 2 * intRadius, this.Height - 2 * intRadius - 1 - gap, intRadius * 2, intRadius * 2), 0, 90); + //添加圆弧4 + path.AddArc(new RectangleF(1 + gap, this.Height - 2 * intRadius - 1 - gap, intRadius * 2, intRadius * 2), 90, 90); + + graphics.FillPath(Brushes.White, path); + + radius = inwidth * 0.5f; + + //如果文本为空,则画小圆,否则,写文字 + if (string.IsNullOrEmpty(text)) + { + graphics.DrawEllipse(new Pen(Color.White, border), new RectangleF(this.Width - (1.5f * radius + 1), this.Height * 0.5f - radius * 0.5f, radius, radius)); + } + else + { + graphics.DrawString(text, this.Font, Brushes.White, new PointF(this.Width - (this.Height * 0.5f - size.Height * 0.5f) - size.Width, this.Height * 0.5f - size.Height * 0.5f)); + } + } + + break; + case ControlType.Line: + + float bigRadius = (this.Height - 2) * 0.5f; + float smallRadius = bigRadius * 0.5f; + + path = new GraphicsPath(); + //添加直线1 + path.AddLine(new PointF(1 + bigRadius + smallRadius, 1 + smallRadius), new PointF(this.Width - (1 + bigRadius + smallRadius), 1 + smallRadius)); + //添加圆弧1 + path.AddArc(new RectangleF(this.Width - (1 + bigRadius + smallRadius * 2), 1 + smallRadius, smallRadius * 2, smallRadius * 2), -90, 180); + //添加直线2 + path.AddLine(new PointF(this.Width - (1 + bigRadius + smallRadius), 1 + smallRadius + bigRadius), new PointF(1 + bigRadius + smallRadius, 1 + smallRadius + bigRadius)); + //添加圆弧2 + path.AddArc(new RectangleF(1 + bigRadius, 1 + smallRadius, smallRadius * 2, smallRadius * 2), 90, 180); + + graphics.FillPath(new SolidBrush(fillColor), path); + + if (isChecked) + { + graphics.FillEllipse(new SolidBrush(fillColor), new RectangleF(this.Width - (1 + bigRadius * 2), 1, bigRadius * 2, bigRadius * 2)); + + graphics.FillEllipse(Brushes.White, new RectangleF(this.Width - (1 + bigRadius + smallRadius), 1 + smallRadius, smallRadius * 2, smallRadius * 2)); + } + else + { + graphics.FillEllipse(new SolidBrush(fillColor), new RectangleF(1, 1, bigRadius * 2, bigRadius * 2)); + + graphics.FillEllipse(Brushes.White, new RectangleF(1 + smallRadius, 1 + smallRadius, smallRadius * 2, smallRadius * 2)); + } + + break; + default: + break; + } + } + + [Browsable(true)] + [Category("自定义事件")] + [Description("选中发生变化触发")] + public event EventHandler CheckedChanged; + + } +} diff --git a/JinYuan.ControlLib/Toggle.resx b/JinYuan.ControlLib/Toggle.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/Toggle.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/TotalQty.Designer.cs b/JinYuan.ControlLib/TotalQty.Designer.cs new file mode 100644 index 0000000..5aa9ff3 --- /dev/null +++ b/JinYuan.ControlLib/TotalQty.Designer.cs @@ -0,0 +1,69 @@ +namespace JinYuan.ControlLib +{ + partial class TotalQty + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 20F, System.Drawing.FontStyle.Bold); + this.lbl_Title.ForeColor = System.Drawing.Color.White; + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(41, 60); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = "1"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // TotalQty + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.数字指标; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.Controls.Add(this.lbl_Title); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "TotalQty"; + this.Size = new System.Drawing.Size(41, 60); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/TotalQty.cs b/JinYuan.ControlLib/TotalQty.cs new file mode 100644 index 0000000..09dad7e --- /dev/null +++ b/JinYuan.ControlLib/TotalQty.cs @@ -0,0 +1,49 @@ +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class TotalQty : UserControl + { + public TotalQty() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + private string titleName = "1"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示数字值")] + + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + this.Invalidate(); + } + } + } +} diff --git a/JinYuan.ControlLib/TotalQty.resx b/JinYuan.ControlLib/TotalQty.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/TotalQty.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCBlower.Designer.cs b/JinYuan.ControlLib/UCBlower.Designer.cs new file mode 100644 index 0000000..c63f409 --- /dev/null +++ b/JinYuan.ControlLib/UCBlower.Designer.cs @@ -0,0 +1,46 @@ +namespace JinYuan.ControlLib +{ + partial class UCBlower + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // UCBlower + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Name = "UCBlower"; + this.Size = new System.Drawing.Size(67, 63); + this.VisibleChanged += new System.EventHandler(this.UCBlower_VisibleChanged); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCBlower.cs b/JinYuan.ControlLib/UCBlower.cs new file mode 100644 index 0000000..be3e98f --- /dev/null +++ b/JinYuan.ControlLib/UCBlower.cs @@ -0,0 +1,473 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class UCBlower : UserControl + { + /// + /// The entrance direction + /// + private BlowerEntranceDirection entranceDirection = BlowerEntranceDirection.None; + + /// + /// Gets or sets the entrance direction. + /// + /// The entrance direction. + [Description("入口方向"), Category("自定义")] + public BlowerEntranceDirection EntranceDirection + { + get { return entranceDirection; } + set + { + entranceDirection = value; + Refresh(); + } + } + + /// + /// The exit direction + /// + private BlowerExitDirection exitDirection = BlowerExitDirection.Right; + + /// + /// Gets or sets the exit direction. + /// + /// The exit direction. + [Description("出口方向"), Category("自定义")] + public BlowerExitDirection ExitDirection + { + get { return exitDirection; } + set + { + exitDirection = value; + Refresh(); + } + } + + /// + /// The blower color + /// + private Color blowerColor = Color.FromArgb(255, 77, 59); + + /// + /// Gets or sets the color of the blower. + /// + /// The color of the blower. + [Description("风机颜色"), Category("自定义")] + public Color BlowerColor + { + get { return blowerColor; } + set + { + blowerColor = value; + Refresh(); + } + } + + /// + /// The fan color + /// + private Color fanColor = Color.FromArgb(3, 169, 243); + + /// + /// Gets or sets the color of the fan. + /// + /// The color of the fan. + [Description("风叶颜色"), Category("自定义")] + public Color FanColor + { + get { return fanColor; } + set + { + fanColor = value; + Refresh(); + } + } + TurnAround turnAround = JinYuan.ControlLib.TurnAround.None; + [Description("风叶旋转方向,None表示不旋转"), Category("自定义")] + public TurnAround TurnAround + { + get { return turnAround; } + set + { + turnAround = value; + if (value == JinYuan.ControlLib.TurnAround.None) + { + updateTimer.Enabled = false; + jiaodu = 0; + Refresh(); + } + else + updateTimer.Enabled = true; + } + } + + + //[Description("风叶旋转速度,100-1000,值越小 速度越快"), Category("自定义")] + //public int TurnSpeed + //{ + // get { return turnSpeed; } + // set + // { + // if (value < 0 || value > 1000) + // { + // return; + // } + + // turnSpeed = value; + // } + //} + + private int turnSpeed = 100; + private int jiaodu = 0; + + + [Description("风叶旋转速度,100-1000,值越小 速度越快"), Category("自定义")] + public int TurnSpeed + { + get { return turnSpeed; } + set + { + if (value <= 0 || value > 1000) + return; + turnSpeed = value; + updateTimer.Interval = value; + + + } + } + + /// + /// 是否显示底座 + /// + private bool isDZ = false; + + /// + /// 是否显示底座 + /// + /// 是否显示底座 + [Description("是否显示底座"), Category("自定义")] + public bool IsDZ + { + get { return isDZ; } + set + { + isDZ = value; + Refresh(); + } + } + + private bool isExit; + [Description("是否退出"), Category("自定义")] + public bool IsExit + { + get { return isExit; } + set { isExit = value; } + } + + + /// + /// The m rect working + /// + Rectangle m_rectWorking; + //实时更新的定时器 + private System.Windows.Forms.Timer updateTimer; + /// + /// Initializes a new instance of the class. + /// + public UCBlower() + { + InitializeComponent(); + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.SizeChanged += UCBlower_SizeChanged; + this.Size = new Size(120, 120); + + updateTimer = new System.Windows.Forms.Timer(); + updateTimer.Interval = 200; + updateTimer.Tick += timer1_Tick; + updateTimer.Start(); + + //Task.Run(() => + //{ + // Timer_Thread(); + //}); + + } + + /// + /// Handles the SizeChanged event of the UCBlower control. + /// + /// The source of the event. + /// The instance containing the event data. + void UCBlower_SizeChanged(object sender, EventArgs e) + { + int intMin = Math.Min(this.Width, this.Height); + m_rectWorking = new Rectangle((this.Width - (intMin / 2 * 2)) / 2, (this.Height - (intMin / 2 * 2)) / 2, (intMin / 2 * 2), (intMin / 2 * 2)); + } + + /// + /// 引发 事件。 + /// + /// 包含事件数据的 。 + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + var g = e.Graphics; + g.SetGDIHigh(); + GraphicsPath pathLineIn = new GraphicsPath(); + GraphicsPath pathLineOut = new GraphicsPath(); + int intLinePenWidth = 0; + + switch (exitDirection) + { + case BlowerExitDirection.Left: + g.FillRectangle(new SolidBrush(blowerColor), new Rectangle(0, m_rectWorking.Top, this.Width / 2, m_rectWorking.Height / 2 - 5)); + intLinePenWidth = m_rectWorking.Height / 2 - 5; + pathLineOut.AddLine(new Point(-10, m_rectWorking.Top + (m_rectWorking.Height / 2 - 5) / 2), new Point(m_rectWorking.Left + m_rectWorking.Width / 2, m_rectWorking.Top + (m_rectWorking.Height / 2 - 5) / 2)); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(1, m_rectWorking.Top - 2), new Point(1, m_rectWorking.Top + (m_rectWorking.Height / 2 - 5) + 2)); + break; + case BlowerExitDirection.Right: + g.FillRectangle(new SolidBrush(blowerColor), new Rectangle(this.Width / 2, m_rectWorking.Top, this.Width / 2, m_rectWorking.Height / 2 - 5)); + intLinePenWidth = m_rectWorking.Height / 2 - 5; + pathLineOut.AddLine(new Point(this.Width + 10, m_rectWorking.Top + (m_rectWorking.Height / 2 - 5) / 2), new Point(m_rectWorking.Left + m_rectWorking.Width / 2, m_rectWorking.Top + (m_rectWorking.Height / 2 - 5) / 2)); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(this.Width - 2, m_rectWorking.Top - 2), new Point(this.Width - 2, m_rectWorking.Top + (m_rectWorking.Height / 2 - 5) + 2)); + break; + case BlowerExitDirection.Up: + g.FillRectangle(new SolidBrush(blowerColor), new Rectangle(m_rectWorking.Right - (m_rectWorking.Width / 2 - 5), 0, m_rectWorking.Width / 2 - 5, this.Height / 2)); + intLinePenWidth = m_rectWorking.Width / 2 - 5; + pathLineOut.AddLine(new Point(m_rectWorking.Right - (m_rectWorking.Width / 2 - 5) / 2, -10), new Point(m_rectWorking.Right - (m_rectWorking.Width / 2 - 5) / 2, m_rectWorking.Top + m_rectWorking.Height / 2)); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(m_rectWorking.Right + 2, 1), new Point(m_rectWorking.Right - (m_rectWorking.Width / 2 - 5) - 2, 1)); + break; + } + + switch (entranceDirection) + { + case BlowerEntranceDirection.Left: + g.FillRectangle(new SolidBrush(blowerColor), new Rectangle(0, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5, this.Width / 2, m_rectWorking.Height / 2 - 5)); + pathLineIn.AddLine(new Point(-10, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 + (m_rectWorking.Height / 2 - 5) / 2), new Point(m_rectWorking.Left + m_rectWorking.Width / 2, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 + (m_rectWorking.Height / 2 - 5) / 2)); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(1, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 - 2), new Point(1, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 + (m_rectWorking.Height / 2 - 5) + 2)); + break; + case BlowerEntranceDirection.Right: + g.FillRectangle(new SolidBrush(blowerColor), new Rectangle(this.Width / 2, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5, this.Width / 2, m_rectWorking.Height / 2 - 5)); + pathLineIn.AddLine(new Point(this.Width + 10, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 + (m_rectWorking.Height / 2 - 5) / 2), new Point(m_rectWorking.Left + m_rectWorking.Width / 2, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 + (m_rectWorking.Height / 2 - 5) / 2)); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(this.Width - 2, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 - 2), new Point(this.Width - 2, m_rectWorking.Bottom - m_rectWorking.Height / 2 + 5 + (m_rectWorking.Height / 2 - 5) + 2)); + break; + case BlowerEntranceDirection.Up: + g.FillRectangle(new SolidBrush(blowerColor), new Rectangle(m_rectWorking.Left, 0, m_rectWorking.Width / 2 - 5, this.Height / 2)); + pathLineIn.AddLine(new Point(m_rectWorking.Left + (m_rectWorking.Width / 2 - 5) / 2, -10), new Point(m_rectWorking.Left + (m_rectWorking.Width / 2 - 5) / 2, m_rectWorking.Top + m_rectWorking.Height / 2)); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(m_rectWorking.Left - 2, 1), new Point(m_rectWorking.Left + (m_rectWorking.Width / 2 - 5) + 2, 1)); + break; + } + + //渐变色 + int _intPenWidth = intLinePenWidth; + int intCount = _intPenWidth / 2 / 4; + for (int i = 0; i < intCount; i++) + { + int _penWidth = _intPenWidth / 2 - 4 * i; + if (_penWidth <= 0) + _penWidth = 1; + if (entranceDirection != BlowerEntranceDirection.None) + g.DrawPath(new Pen(new SolidBrush(Color.FromArgb(40, Color.White.R, Color.White.G, Color.White.B)), _penWidth), pathLineIn); + g.DrawPath(new Pen(new SolidBrush(Color.FromArgb(40, Color.White.R, Color.White.G, Color.White.B)), _penWidth), pathLineOut); + if (_penWidth == 1) + break; + } + + //底座 + if (isDZ) + { + GraphicsPath gpDZ = new GraphicsPath(); + gpDZ.AddLines(new Point[] + { + new Point( m_rectWorking.Left+m_rectWorking.Width/2,m_rectWorking.Top+m_rectWorking.Height/2), + new Point(m_rectWorking.Left+2,this.Height), + new Point(m_rectWorking.Right-2,this.Height) + }); + gpDZ.CloseAllFigures(); + g.FillPath(new SolidBrush(blowerColor), gpDZ); + g.FillPath(new SolidBrush(Color.FromArgb(50, Color.White)), gpDZ); + g.DrawLine(new Pen(new SolidBrush(blowerColor), 3), new Point(m_rectWorking.Left, this.Height - 2), new Point(m_rectWorking.Right, this.Height - 2)); + } + + + //中心 + g.FillEllipse(new SolidBrush(blowerColor), m_rectWorking); + g.FillEllipse(new SolidBrush(Color.FromArgb(20, Color.White)), m_rectWorking); + + + //扇叶 + Rectangle _rect = new Rectangle(m_rectWorking.Left + (m_rectWorking.Width - (m_rectWorking.Width / 3 * 2)) / 2, m_rectWorking.Top + (m_rectWorking.Height - (m_rectWorking.Width / 3 * 2)) / 2, (m_rectWorking.Width / 3 * 2), (m_rectWorking.Width / 3 * 2)); + + int _splitCount = 8; + float fltSplitValue = 360F / (float)_splitCount; + for (int i = 0; i <= _splitCount; i++) + { + float fltAngle = (fltSplitValue * i - 180) % 360 + jiaodu; + float fltY1 = (float)(_rect.Top + _rect.Width / 2 - ((_rect.Width / 2) * Math.Sin(Math.PI * (fltAngle / 180.00F)))); + float fltX1 = (float)(_rect.Left + (_rect.Width / 2 - ((_rect.Width / 2) * Math.Cos(Math.PI * (fltAngle / 180.00F))))); + float fltY2 = 0; + float fltX2 = 0; + + fltY2 = (float)(_rect.Top + _rect.Width / 2 - ((_rect.Width / 4) * Math.Sin(Math.PI * (fltAngle / 180.00F)))); + fltX2 = (float)(_rect.Left + (_rect.Width / 2 - ((_rect.Width / 4) * Math.Cos(Math.PI * (fltAngle / 180.00F))))); + + g.DrawLine(new Pen(new SolidBrush(fanColor), 2), new PointF(fltX1, fltY1), new PointF(fltX2, fltY2)); + } + + g.FillEllipse(new SolidBrush(fanColor), new Rectangle(_rect.Left + _rect.Width / 2 - _rect.Width / 4 + 2, _rect.Top + _rect.Width / 2 - _rect.Width / 4 + 2, _rect.Width / 2 - 4, _rect.Width / 2 - 4)); + g.FillEllipse(new SolidBrush(Color.FromArgb(50, Color.White)), new Rectangle(_rect.Left - 5, _rect.Top - 5, _rect.Width + 10, _rect.Height + 10)); + } + + public delegate void ShowStateHandler(); + + private void timer1_Tick(object sender, EventArgs e) + { + + ShowStateHandler stateHandler = ShowButtonEven_Run; + IAsyncResult result1 = stateHandler.BeginInvoke(null, stateHandler); + + + } + + private void ShowButtonEven_Run() + { + + if (turnAround == JinYuan.ControlLib.TurnAround.Clockwise) + { + jiaodu += 15; + if (jiaodu == 45) + jiaodu = 0; + } + else if (turnAround == JinYuan.ControlLib.TurnAround.Counterclockwise) + { + jiaodu -= 15; + if (jiaodu == -45) + jiaodu = 0; + } + this.BeginInvoke((Action)delegate + { + Refresh(); + }); + } + + + bool IsStop = true; + + //private void Timer_Thread() + //{ + // while (true) + // { + + // if (IsStop) + // { + // continue; + // } + // if (isExit) + // { + // break; + // } + // if (turnAround == JinYuan.ControlLib.TurnAround.Clockwise) + // { + // jiaodu += 15; + // if (jiaodu == 45) + // jiaodu = 0; + // } + // else if (turnAround == JinYuan.ControlLib.TurnAround.Counterclockwise) + // { + // jiaodu -= 15; + // if (jiaodu == -45) + // jiaodu = 0; + // } + // this.Invoke((EventHandler)delegate + // { + // Refresh(); + // }); + // Thread.Sleep(turnSpeed); + // } + //} + + + + private void UCBlower_VisibleChanged(object sender, EventArgs e) + { + //IsStop = !this.Visible; + } + } + + /// + /// Enum BlowerEntranceDirection + /// + public enum BlowerEntranceDirection + { + /// + /// The none + /// + None, + /// + /// The left + /// + Left, + /// + /// The right + /// + Right, + /// + /// Up + /// + Up + } + + /// + /// Enum BlowerExitDirection + /// + public enum BlowerExitDirection + { + /// + /// The none + /// + None, + /// + /// The left + /// + Left, + /// + /// The right + /// + Right, + /// + /// Up + /// + Up + } + /// + /// 旋转方向 + /// + public enum TurnAround + { + /// + /// 不旋转 + /// + None, + /// + /// 顺时针 + /// + Clockwise, + /// + /// 逆时针 + /// + Counterclockwise + } + +} diff --git a/JinYuan.ControlLib/UCBlower.resx b/JinYuan.ControlLib/UCBlower.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/UCBlower.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCCheckBox.Designer.cs b/JinYuan.ControlLib/UCCheckBox.Designer.cs new file mode 100644 index 0000000..d24fd29 --- /dev/null +++ b/JinYuan.ControlLib/UCCheckBox.Designer.cs @@ -0,0 +1,105 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class UCCheckBox. + /// Implements the + /// + /// + partial class UCCheckBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.panel1 = new System.Windows.Forms.Panel(); + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.panel1.Dock = System.Windows.Forms.DockStyle.Left; + this.panel1.Location = new System.Drawing.Point(1, 1); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(18, 28); + this.panel1.TabIndex = 0; + this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint); + this.panel1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CheckBox_MouseDown); + // + // label1 + // + this.label1.Dock = System.Windows.Forms.DockStyle.Fill; + this.label1.Font = new System.Drawing.Font("微软雅黑", 12F); + this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(62)))), ((int)(((byte)(62))))); + this.label1.Location = new System.Drawing.Point(19, 1); + this.label1.Name = "label1"; + this.label1.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.label1.Size = new System.Drawing.Size(213, 28); + this.label1.TabIndex = 1; + this.label1.Text = "复选框"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CheckBox_MouseDown); + // + // UCCheckBox + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.SystemColors.Control; + this.Controls.Add(this.label1); + this.Controls.Add(this.panel1); + this.Name = "UCCheckBox"; + this.Padding = new System.Windows.Forms.Padding(1); + this.Size = new System.Drawing.Size(233, 30); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CheckBox_MouseDown); + this.ResumeLayout(false); + + } + + #endregion + + /// + /// The panel1 + /// + private System.Windows.Forms.Panel panel1; + /// + /// The label1 + /// + private System.Windows.Forms.Label label1; + } +} diff --git a/JinYuan.ControlLib/UCCheckBox.cs b/JinYuan.ControlLib/UCCheckBox.cs new file mode 100644 index 0000000..863d251 --- /dev/null +++ b/JinYuan.ControlLib/UCCheckBox.cs @@ -0,0 +1,225 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCCheckBox. + /// Implements the + /// + /// + [DefaultEvent("CheckedChangeEvent")] + public partial class UCCheckBox : UserControl + { + /// + /// 选中改变事件 + /// + [Description("选中改变事件"), Category("自定义")] + public event EventHandler CheckedChangeEvent; + /// + /// 字体 + /// + /// The font. + /// + /// + /// + /// + /// + /// + [Description("字体"), Category("自定义")] + public override Font Font + { + get + { + return base.Font; + } + set + { + base.Font = value; + label1.Font = value; + } + } + private Color _boxColor = Color.FromArgb(64, 158, 255); + [Description("颜色"), Category("自定义")] + public Color BoxColor + { + get { return _boxColor; } + set + { + _boxColor = value; + panel1.Refresh(); + } + } + /// + /// The fore color + /// + private Color _ForeColor = Color.FromArgb(62, 62, 62); + /// + /// 字体颜色 + /// + /// The color of the fore. + /// + /// + /// + [Description("字体颜色"), Category("自定义")] + public new Color ForeColor + { + get { return _ForeColor; } + set + { + base.ForeColor = value; + label1.ForeColor = value; + _ForeColor = value; + } + } + /// + /// The text + /// + private string _Text = "复选框"; + /// + /// 文本 + /// + /// The text value. + [Description("文本"), Category("自定义")] + public string TextValue + { + get { return _Text; } + set + { + label1.Text = value; + _Text = value; + } + } + /// + /// The checked + /// + private bool _checked = false; + /// + /// 是否选中 + /// + /// true if checked; otherwise, false. + [Description("是否选中"), Category("自定义")] + public bool Checked + { + get + { + return _checked; + } + set + { + if (_checked != value) + { + _checked = value; + Refresh(); + if (CheckedChangeEvent != null) + { + CheckedChangeEvent(this, null); + } + } + } + } + + /// + /// 获取或设置一个值,该值指示控件是否可以对用户交互作出响应。 + /// + /// true if enabled; otherwise, false. + /// + /// + /// + /// + /// + /// + public new bool Enabled + { + get + { + return base.Enabled; + } + set + { + base.Enabled = value; + Refresh(); + + } + } + /// + /// Initializes a new instance of the class. + /// + public UCCheckBox() + { + InitializeComponent(); + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + } + + /// + /// Handles the MouseDown event of the CheckBox control. + /// + /// The source of the event. + /// The instance containing the event data. + private void CheckBox_MouseDown(object sender, MouseEventArgs e) + { + Checked = !Checked; + } + + private void panel1_Paint(object sender, PaintEventArgs e) + { + e.Graphics.Clear(panel1.BackColor); + + Rectangle rect = new Rectangle(new Point(2, (this.panel1.Height - 14) / 2), new Size(14, 14)); + e.Graphics.SetGDIHigh(); + if (this.Enabled) + { + if (_checked) + { + e.Graphics.DrawRectangle(new Pen(_boxColor, 2), rect); + e.Graphics.FillRectangle(new SolidBrush(_boxColor), new Rectangle(rect.Left + 3, rect.Top + 3, 8, 8)); + } + else + { + e.Graphics.DrawRectangle(new Pen(_boxColor, 2), rect); + } + } + else + { + if (_checked) + { + e.Graphics.DrawRectangle(new Pen(Color.FromArgb(189, 189, 189), 2), rect); + e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(189, 189, 189)), new Rectangle(rect.Left + 3, rect.Top + 3, 8, 8)); + } + else + { + e.Graphics.DrawRectangle(new Pen(Color.FromArgb(189, 189, 189), 2), rect); + + } + } + } + + private void UCCheckBox_EnabledChanged(object sender, EventArgs e) + { + panel1.Refresh(); + } + } +} diff --git a/JinYuan.ControlLib/UCCheckBox.resx b/JinYuan.ControlLib/UCCheckBox.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/UCCheckBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCControlBase.Designer.cs b/JinYuan.ControlLib/UCControlBase.Designer.cs new file mode 100644 index 0000000..ff23ff7 --- /dev/null +++ b/JinYuan.ControlLib/UCControlBase.Designer.cs @@ -0,0 +1,37 @@ +namespace JinYuan.ControlLib +{ + partial class UCControlBase + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCControlBase.cs b/JinYuan.ControlLib/UCControlBase.cs new file mode 100644 index 0000000..4f27c09 --- /dev/null +++ b/JinYuan.ControlLib/UCControlBase.cs @@ -0,0 +1,265 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCControlBase. + /// Implements the + /// Implements the + /// + /// + /// + [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(System.ComponentModel.Design.IDesigner))] + public partial class UCControlBase : UserControl, IContainerControl + { + /// + /// The is radius + /// + private bool _isRadius = false; + + /// + /// The corner radius + /// + private int _cornerRadius = 24; + + + /// + /// The is show rect + /// + private bool _isShowRect = false; + + /// + /// The rect color + /// + private Color _rectColor = Color.FromArgb(220, 220, 220); + + /// + /// The rect width + /// + private int _rectWidth = 1; + + /// + /// The fill color + /// + private Color _fillColor = Color.Transparent; + /// + /// 是否圆角 + /// + /// true if this instance is radius; otherwise, false. + [Description("是否圆角"), Category("自定义")] + public virtual bool IsRadius + { + get + { + return this._isRadius; + } + set + { + this._isRadius = value; + Refresh(); + } + } + /// + /// 圆角角度 + /// + /// The coner radius. + [Description("圆角角度"), Category("自定义")] + public virtual int ConerRadius + { + get + { + return this._cornerRadius; + } + set + { + this._cornerRadius = Math.Max(value, 1); + Refresh(); + } + } + + /// + /// 是否显示边框 + /// + /// true if this instance is show rect; otherwise, false. + [Description("是否显示边框"), Category("自定义")] + public virtual bool IsShowRect + { + get + { + return this._isShowRect; + } + set + { + this._isShowRect = value; + Refresh(); + } + } + /// + /// 边框颜色 + /// + /// The color of the rect. + [Description("边框颜色"), Category("自定义")] + public virtual Color RectColor + { + get + { + return this._rectColor; + } + set + { + this._rectColor = value; + this.Refresh(); + } + } + /// + /// 边框宽度 + /// + /// The width of the rect. + [Description("边框宽度"), Category("自定义")] + public virtual int RectWidth + { + get + { + return this._rectWidth; + } + set + { + this._rectWidth = value; + Refresh(); + } + } + /// + /// 当使用边框时填充颜色,当值为背景色或透明色或空值则不填充 + /// + /// The color of the fill. + [Description("当使用边框时填充颜色,当值为背景色或透明色或空值则不填充"), Category("自定义")] + public virtual Color FillColor + { + get + { + return this._fillColor; + } + set + { + this._fillColor = value; + Refresh(); + } + } + + /// + /// Initializes a new instance of the class. + /// + public UCControlBase() + { + this.InitializeComponent(); + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.SetStyle(ControlStyles.UserPaint, true); + } + + /// + /// 引发 事件。 + /// + /// 包含事件数据的 。 + protected override void OnPaint(PaintEventArgs e) + { + if (this.Visible) + { + if (this._isRadius) + { + this.SetWindowRegion(); + } + else + { + //关闭圆角后显示为原矩形 + GraphicsPath g = new GraphicsPath(); + g.AddRectangle(base.ClientRectangle); + g.CloseFigure(); + base.Region = new Region(g); + } + + GraphicsPath graphicsPath = new GraphicsPath(); + if (this._isShowRect || (_fillColor != Color.Empty && _fillColor != Color.Transparent && _fillColor != this.BackColor)) + { + Rectangle clientRectangle = base.ClientRectangle; + if (_isRadius) + { + graphicsPath.AddArc(0, 0, _cornerRadius, _cornerRadius, 180f, 90f); + graphicsPath.AddArc(clientRectangle.Width - _cornerRadius - 1, 0, _cornerRadius, _cornerRadius, 270f, 90f); + graphicsPath.AddArc(clientRectangle.Width - _cornerRadius - 1, clientRectangle.Height - _cornerRadius - 1, _cornerRadius, _cornerRadius, 0f, 90f); + graphicsPath.AddArc(0, clientRectangle.Height - _cornerRadius - 1, _cornerRadius, _cornerRadius, 90f, 90f); + graphicsPath.CloseFigure(); + } + else + { + graphicsPath.AddRectangle(clientRectangle); + } + } + e.Graphics.SetGDIHigh(); + if (_fillColor != Color.Empty && _fillColor != Color.Transparent && _fillColor != this.BackColor) + e.Graphics.FillPath(new SolidBrush(this._fillColor), graphicsPath); + if (this._isShowRect) + { + Color rectColor = this._rectColor; + Pen pen = new Pen(rectColor, (float)this._rectWidth); + e.Graphics.DrawPath(pen, graphicsPath); + } + } + base.OnPaint(e); + } + + /// + /// Sets the window region. + /// + private void SetWindowRegion() + { + GraphicsPath path = new GraphicsPath(); + Rectangle rect = new Rectangle(-1, -1, base.Width + 1, base.Height); + path = this.GetRoundedRectPath(rect, this._cornerRadius); + base.Region = new Region(path); + } + + /// + /// Gets the rounded rect path. + /// + /// The rect. + /// The radius. + /// GraphicsPath. + private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius) + { + Rectangle rect2 = new Rectangle(rect.Location, new Size(radius, radius)); + GraphicsPath graphicsPath = new GraphicsPath(); + graphicsPath.AddArc(rect2, 180f, 90f);//左上角 + rect2.X = rect.Right - radius; + graphicsPath.AddArc(rect2, 270f, 90f);//右上角 + rect2.Y = rect.Bottom - radius; + rect2.Width += 1; + rect2.Height += 1; + graphicsPath.AddArc(rect2, 360f, 90f);//右下角 + rect2.X = rect.Left; + graphicsPath.AddArc(rect2, 90f, 90f);//左下角 + graphicsPath.CloseFigure(); + return graphicsPath; + } + + /// + /// WNDs the proc. + /// + /// 要处理的 Windows 。 + protected override void WndProc(ref Message m) + { + if (m.Msg != 20) + { + base.WndProc(ref m); + } + } + } +} diff --git a/JinYuan.ControlLib/UCElectricityMeterH.Designer.cs b/JinYuan.ControlLib/UCElectricityMeterH.Designer.cs new file mode 100644 index 0000000..f5f837d --- /dev/null +++ b/JinYuan.ControlLib/UCElectricityMeterH.Designer.cs @@ -0,0 +1,340 @@ +namespace JinYuan.ControlLib +{ + partial class UCElectricityMeterH + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UCElectricityMeterV)); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.txtAccumulatedElectricity = new JinYuan.ControlLib.TextSet(); + this.txtPhaseVoltageA = new JinYuan.ControlLib.TextSet(); + this.txtPhaseVoltageB = new JinYuan.ControlLib.TextSet(); + this.txtPhaseVoltageC = new JinYuan.ControlLib.TextSet(); + this.txtPhaseCurrentA = new JinYuan.ControlLib.TextSet(); + this.txtPhaseCurrentB = new JinYuan.ControlLib.TextSet(); + this.txtPhaseCurrentC = new JinYuan.ControlLib.TextSet(); + this.txtPhasePowerA = new JinYuan.ControlLib.TextSet(); + this.txtPhasePowerB = new JinYuan.ControlLib.TextSet(); + this.txtPowerFactor = new JinYuan.ControlLib.TextSet2(); + this.txtPhasePowerC = new JinYuan.ControlLib.TextSet(); + this.txtCt = new JinYuan.ControlLib.TextSet2(); + this.txtPt = new JinYuan.ControlLib.TextSet2(); + this.txtActivePower = new JinYuan.ControlLib.TextSet2(); + this.UCtitleName = new JinYuan.ControlLib.LongTitleStyle2(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 49.50495F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.49505F)); + this.tableLayoutPanel1.Controls.Add(this.txtAccumulatedElectricity, 0, 7); + this.tableLayoutPanel1.Controls.Add(this.txtPhaseVoltageA, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.txtPhaseVoltageB, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.txtPhaseVoltageC, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.txtPhaseCurrentA, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.txtPhaseCurrentB, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.txtPhaseCurrentC, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.txtPhasePowerA, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.txtPhasePowerB, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.txtPowerFactor, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.txtPhasePowerC, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.txtCt, 1, 6); + this.tableLayoutPanel1.Controls.Add(this.txtPt, 1, 5); + this.tableLayoutPanel1.Controls.Add(this.txtActivePower, 1, 4); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 28); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 8; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(361, 303); + this.tableLayoutPanel1.TabIndex = 17; + // + // txtAccumulatedElectricity + // + this.txtAccumulatedElectricity.BindVarName = null; + this.tableLayoutPanel1.SetColumnSpan(this.txtAccumulatedElectricity, 2); + this.txtAccumulatedElectricity.CurrentValue = "0.0"; + this.txtAccumulatedElectricity.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtAccumulatedElectricity.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtAccumulatedElectricity.ForeColor = System.Drawing.Color.White; + this.txtAccumulatedElectricity.Location = new System.Drawing.Point(4, 271); + this.txtAccumulatedElectricity.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtAccumulatedElectricity.Name = "txtAccumulatedElectricity"; + this.txtAccumulatedElectricity.Size = new System.Drawing.Size(353, 28); + this.txtAccumulatedElectricity.TabIndex = 14; + this.txtAccumulatedElectricity.TitleName = "累计有功电能"; + this.txtAccumulatedElectricity.Unit = "kW·h"; + // + // txtPhaseVoltageA + // + this.txtPhaseVoltageA.BindVarName = null; + this.txtPhaseVoltageA.CurrentValue = "123.5"; + this.txtPhaseVoltageA.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseVoltageA.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhaseVoltageA.ForeColor = System.Drawing.Color.White; + this.txtPhaseVoltageA.Location = new System.Drawing.Point(1, 1); + this.txtPhaseVoltageA.Margin = new System.Windows.Forms.Padding(1); + this.txtPhaseVoltageA.Name = "txtPhaseVoltageA"; + this.txtPhaseVoltageA.Size = new System.Drawing.Size(176, 36); + this.txtPhaseVoltageA.TabIndex = 2; + this.txtPhaseVoltageA.TitleName = "A相电压"; + this.txtPhaseVoltageA.Unit = "V"; + // + // txtPhaseVoltageB + // + this.txtPhaseVoltageB.BindVarName = null; + this.txtPhaseVoltageB.CurrentValue = "0.0"; + this.txtPhaseVoltageB.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseVoltageB.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhaseVoltageB.ForeColor = System.Drawing.Color.White; + this.txtPhaseVoltageB.Location = new System.Drawing.Point(4, 43); + this.txtPhaseVoltageB.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhaseVoltageB.Name = "txtPhaseVoltageB"; + this.txtPhaseVoltageB.Size = new System.Drawing.Size(170, 28); + this.txtPhaseVoltageB.TabIndex = 3; + this.txtPhaseVoltageB.TitleName = "B相电压"; + this.txtPhaseVoltageB.Unit = "V"; + // + // txtPhaseVoltageC + // + this.txtPhaseVoltageC.BindVarName = null; + this.txtPhaseVoltageC.CurrentValue = "0.0"; + this.txtPhaseVoltageC.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseVoltageC.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhaseVoltageC.ForeColor = System.Drawing.Color.White; + this.txtPhaseVoltageC.Location = new System.Drawing.Point(4, 81); + this.txtPhaseVoltageC.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhaseVoltageC.Name = "txtPhaseVoltageC"; + this.txtPhaseVoltageC.Size = new System.Drawing.Size(170, 28); + this.txtPhaseVoltageC.TabIndex = 4; + this.txtPhaseVoltageC.TitleName = "C相电压"; + this.txtPhaseVoltageC.Unit = "V"; + // + // txtPhaseCurrentA + // + this.txtPhaseCurrentA.BindVarName = null; + this.txtPhaseCurrentA.CurrentValue = "0.0"; + this.txtPhaseCurrentA.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseCurrentA.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhaseCurrentA.ForeColor = System.Drawing.Color.White; + this.txtPhaseCurrentA.Location = new System.Drawing.Point(182, 5); + this.txtPhaseCurrentA.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhaseCurrentA.Name = "txtPhaseCurrentA"; + this.txtPhaseCurrentA.Size = new System.Drawing.Size(175, 28); + this.txtPhaseCurrentA.TabIndex = 5; + this.txtPhaseCurrentA.TitleName = "A相电流"; + this.txtPhaseCurrentA.Unit = "A"; + // + // txtPhaseCurrentB + // + this.txtPhaseCurrentB.BindVarName = null; + this.txtPhaseCurrentB.CurrentValue = "0.0"; + this.txtPhaseCurrentB.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseCurrentB.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhaseCurrentB.ForeColor = System.Drawing.Color.White; + this.txtPhaseCurrentB.Location = new System.Drawing.Point(182, 43); + this.txtPhaseCurrentB.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhaseCurrentB.Name = "txtPhaseCurrentB"; + this.txtPhaseCurrentB.Size = new System.Drawing.Size(175, 28); + this.txtPhaseCurrentB.TabIndex = 6; + this.txtPhaseCurrentB.TitleName = "B相电流"; + this.txtPhaseCurrentB.Unit = "A"; + // + // txtPhaseCurrentC + // + this.txtPhaseCurrentC.BindVarName = null; + this.txtPhaseCurrentC.CurrentValue = "0.0"; + this.txtPhaseCurrentC.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseCurrentC.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhaseCurrentC.ForeColor = System.Drawing.Color.White; + this.txtPhaseCurrentC.Location = new System.Drawing.Point(182, 81); + this.txtPhaseCurrentC.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhaseCurrentC.Name = "txtPhaseCurrentC"; + this.txtPhaseCurrentC.Size = new System.Drawing.Size(175, 28); + this.txtPhaseCurrentC.TabIndex = 7; + this.txtPhaseCurrentC.TitleName = "C相电流"; + this.txtPhaseCurrentC.Unit = "A"; + // + // txtPhasePowerA + // + this.txtPhasePowerA.BindVarName = null; + this.txtPhasePowerA.CurrentValue = "0.0"; + this.txtPhasePowerA.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhasePowerA.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhasePowerA.ForeColor = System.Drawing.Color.White; + this.txtPhasePowerA.Location = new System.Drawing.Point(4, 119); + this.txtPhasePowerA.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhasePowerA.Name = "txtPhasePowerA"; + this.txtPhasePowerA.Size = new System.Drawing.Size(170, 28); + this.txtPhasePowerA.TabIndex = 8; + this.txtPhasePowerA.TitleName = "A相功率"; + this.txtPhasePowerA.Unit = "W"; + // + // txtPhasePowerB + // + this.txtPhasePowerB.BindVarName = null; + this.txtPhasePowerB.CurrentValue = "0.0"; + this.txtPhasePowerB.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhasePowerB.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhasePowerB.ForeColor = System.Drawing.Color.White; + this.txtPhasePowerB.Location = new System.Drawing.Point(4, 157); + this.txtPhasePowerB.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhasePowerB.Name = "txtPhasePowerB"; + this.txtPhasePowerB.Size = new System.Drawing.Size(170, 28); + this.txtPhasePowerB.TabIndex = 9; + this.txtPhasePowerB.TitleName = "B相功率"; + this.txtPhasePowerB.Unit = "W"; + // + // txtPowerFactor + // + this.txtPowerFactor.BindVarName = null; + this.txtPowerFactor.CurrentValue = "0.0"; + this.txtPowerFactor.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPowerFactor.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPowerFactor.ForeColor = System.Drawing.Color.White; + this.txtPowerFactor.Location = new System.Drawing.Point(182, 119); + this.txtPowerFactor.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPowerFactor.Name = "txtPowerFactor"; + this.txtPowerFactor.Size = new System.Drawing.Size(175, 28); + this.txtPowerFactor.TabIndex = 19; + this.txtPowerFactor.TitleName = "总功率因素"; + // + // txtPhasePowerC + // + this.txtPhasePowerC.BindVarName = null; + this.txtPhasePowerC.CurrentValue = "0.0"; + this.txtPhasePowerC.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhasePowerC.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPhasePowerC.ForeColor = System.Drawing.Color.White; + this.txtPhasePowerC.Location = new System.Drawing.Point(4, 195); + this.txtPhasePowerC.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPhasePowerC.Name = "txtPhasePowerC"; + this.txtPhasePowerC.Size = new System.Drawing.Size(170, 28); + this.txtPhasePowerC.TabIndex = 10; + this.txtPhasePowerC.TitleName = "C相功率"; + this.txtPhasePowerC.Unit = "W"; + // + // txtCt + // + this.txtCt.BindVarName = null; + this.txtCt.CurrentValue = "0.0"; + this.txtCt.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtCt.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtCt.ForeColor = System.Drawing.Color.White; + this.txtCt.Location = new System.Drawing.Point(182, 233); + this.txtCt.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtCt.Name = "txtCt"; + this.txtCt.Size = new System.Drawing.Size(175, 28); + this.txtCt.TabIndex = 18; + this.txtCt.TitleName = "电流变比"; + // + // txtPt + // + this.txtPt.BindVarName = null; + this.txtPt.CurrentValue = "0.0"; + this.txtPt.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPt.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtPt.ForeColor = System.Drawing.Color.White; + this.txtPt.Location = new System.Drawing.Point(182, 195); + this.txtPt.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtPt.Name = "txtPt"; + this.txtPt.Size = new System.Drawing.Size(175, 28); + this.txtPt.TabIndex = 18; + this.txtPt.TitleName = "电压变比"; + // + // txtActivePower + // + this.txtActivePower.BindVarName = null; + this.txtActivePower.CurrentValue = "0.0"; + this.txtActivePower.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtActivePower.Font = new System.Drawing.Font("微软雅黑", 10.5F); + this.txtActivePower.ForeColor = System.Drawing.Color.White; + this.txtActivePower.Location = new System.Drawing.Point(182, 157); + this.txtActivePower.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtActivePower.Name = "txtActivePower"; + this.txtActivePower.Size = new System.Drawing.Size(175, 28); + this.txtActivePower.TabIndex = 20; + this.txtActivePower.TitleName = "总有功功率"; + // + // UCtitleName + // + this.UCtitleName.BackColor = System.Drawing.Color.Transparent; + this.UCtitleName.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("UCtitleName.BackgroundImage"))); + this.UCtitleName.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.UCtitleName.Dock = System.Windows.Forms.DockStyle.Top; + this.UCtitleName.Location = new System.Drawing.Point(0, 0); + this.UCtitleName.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.UCtitleName.Name = "UCtitleName"; + this.UCtitleName.Size = new System.Drawing.Size(361, 28); + this.UCtitleName.TabIndex = 1; + this.UCtitleName.TitleName = "智能电表"; + // + // UCElectricityMeter + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(39)))), ((int)(((byte)(104))))); + this.Controls.Add(this.tableLayoutPanel1); + this.Controls.Add(this.UCtitleName); + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "UCElectricityMeter"; + this.Size = new System.Drawing.Size(361, 331); + this.tableLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private LongTitleStyle2 UCtitleName; + private TextSet txtPhaseVoltageA; + private TextSet txtPhaseVoltageB; + private TextSet txtPhaseVoltageC; + private TextSet txtPhaseCurrentA; + private TextSet txtPhaseCurrentB; + private TextSet txtPhaseCurrentC; + private TextSet txtPhasePowerA; + private TextSet txtPhasePowerB; + private TextSet txtPhasePowerC; + private TextSet txtAccumulatedElectricity; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private TextSet2 txtActivePower; + private TextSet2 txtCt; + private TextSet2 txtPowerFactor; + private TextSet2 txtPt; + } +} diff --git a/JinYuan.ControlLib/UCElectricityMeterH.cs b/JinYuan.ControlLib/UCElectricityMeterH.cs new file mode 100644 index 0000000..e80d325 --- /dev/null +++ b/JinYuan.ControlLib/UCElectricityMeterH.cs @@ -0,0 +1,335 @@ +using JinYuan.Models; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class UCElectricityMeterH : UserControl + { + public UCElectricityMeterH() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + //#region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + //#endregion + + + + private string smartMeter = "智能电表"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相电压")] + public override string Text + { + get { return smartMeter; } + set + { + smartMeter = value; + this.UCtitleName.Text = smartMeter; + } + } + + + #region 相电压 + private string phaseVoltageA = "A相电压"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相电压")] + public string Text1 + { + get { return phaseVoltageA; } + set + { + phaseVoltageA = value; + this.txtPhaseVoltageA.TitleName = phaseVoltageA; + } + } + + + private string phaseVoltageB = "B相电压"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件B相电压")] + public string Text2 + { + get { return phaseVoltageB; } + set + { + phaseVoltageB = value; + this.txtPhaseVoltageB.Text = phaseVoltageB; + } + } + + + private string phaseVoltageC = "C相电压"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件C相电压")] + public string Text3 + { + get { return phaseVoltageC; } + set + { + phaseVoltageC = value; + this.txtPhaseVoltageC.Text = phaseVoltageC; + } + } + #endregion + + #region 相电流 + private string phaseCurrentA = "A相电流"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相电流")] + public string Text4 + { + get { return phaseCurrentA; } + set + { + phaseCurrentA = value; + this.txtPhaseCurrentA.Text = phaseCurrentA; + } + } + + private string phaseCurrentB = "B相电流"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件B相电流")] + public string Text5 + { + get { return phaseCurrentB; } + set + { + phaseCurrentB = value; + this.txtPhaseCurrentB.Text = phaseCurrentB; + } + } + + + + private string phaseCurrentC = "C相电流"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件C相电流")] + public string Text6 + { + get { return phaseCurrentC; } + set + { + phaseCurrentC = value; + this.txtPhaseCurrentC.Text = phaseCurrentC; + } + } + #endregion + + #region 相功率 + private string phasePowerA = "A相功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相功率")] + public string Text7 + { + get { return phasePowerA; } + set + { + phasePowerA = value; + this.txtPhasePowerA.Text = phasePowerA; + } + } + + private string phasePowerB = "B相功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件B相功率")] + public string Text8 + { + get { return phasePowerB; } + set + { + phasePowerB = value; + this.txtPhasePowerB.Text = phasePowerB; + } + } + + + + private string phasePowerC = "C相功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件C相功率")] + public string Text9 + { + get { return phasePowerC; } + set + { + phasePowerC = value; + this.txtPhasePowerC.Text = phasePowerC; + } + } + #endregion + + private string activePower = "总有功功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件总有功功率")] + public string Text10 + { + get { return activePower; } + set + { + activePower = value; + this.txtActivePower.TitleName = activePower; + + } + } + + private string powerFactor = "总功率因数"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件总功率因数")] + public string Text11 + { + get { return powerFactor; } + set + { + powerFactor = value; + this.txtPowerFactor.TitleName = powerFactor; + + } + } + + private string pt = "电压变比"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件电压变比")] + public string Text12 + { + get { return pt; } + set + { + pt = value; + this.txtPt.TitleName = pt; + + } + } + + private string ct = "电流变比"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件电流变比")] + public string Text13 + { + get { return ct; } + set + { + ct = value; + this.txtCt.TitleName = ct; + + } + } + + private string accumulatedElectricity = "累计电能"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件累计电能")] + public string Text14 + { + get { return accumulatedElectricity; } + set + { + accumulatedElectricity = value; + this.txtAccumulatedElectricity.TitleName = accumulatedElectricity; + + } + } + + + private JinYuan.Models.ElectricEnergy _electricEnergy = new JinYuan.Models.ElectricEnergy(); + [Browsable(false)] + [Category("自定义属性")] + [Description("设置或获取实体类值")] + public ElectricEnergy ElectricEnergy + { + get + { + return _electricEnergy; + } + set + { + if (value != null) + { + _electricEnergy = value; + SetElectricEnergy(_electricEnergy); + } + + } + } + + + + + private void SetElectricEnergy(ElectricEnergy m) + { + //累计电能 + this.txtAccumulatedElectricity.CurrentValue = m.AccumulatedElectricity.ToString(); + //A相电压 V + this.txtPhaseVoltageA.CurrentValue = m.PhaseVoltageA.ToString(); + //B相电压 + this.txtPhaseVoltageB.CurrentValue = m.PhaseVoltageB.ToString(); + //C相电压 + this.txtPhaseVoltageC.CurrentValue = m.PhaseVoltageC.ToString(); + // A相电流 + this.txtPhaseCurrentA.CurrentValue = m.PhaseCurrentA.ToString(); + // B相电流 + this.txtPhaseCurrentB.CurrentValue = m.PhaseCurrentB.ToString(); + // C相电流 + this.txtPhaseCurrentC.CurrentValue = m.PhaseCurrentC.ToString(); + // A相功率 + this.txtPhasePowerA.CurrentValue = m.PhasePowerA.ToString(); + // B相功率 + this.txtPhasePowerB.CurrentValue = m.PhasePowerB.ToString(); + // C相功率 + this.txtPhasePowerC.CurrentValue = m.PhasePowerC.ToString(); + // 总有功功率 + this.txtActivePower.CurrentValue = m.ActivePower.ToString(); + // 总功率因数 + this.txtPowerFactor.CurrentValue = m.PowerFactor.ToString(); + // 电压变比 + this.txtPt.CurrentValue = m.pt.ToString(); + // 电流变比 + this.txtCt.CurrentValue = m.ct.ToString(); + } + } +} diff --git a/JinYuan.ControlLib/UCElectricityMeterH.resx b/JinYuan.ControlLib/UCElectricityMeterH.resx new file mode 100644 index 0000000..337f422 --- /dev/null +++ b/JinYuan.ControlLib/UCElectricityMeterH.resx @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCElectricityMeterV.Designer.cs b/JinYuan.ControlLib/UCElectricityMeterV.Designer.cs new file mode 100644 index 0000000..59ec74a --- /dev/null +++ b/JinYuan.ControlLib/UCElectricityMeterV.Designer.cs @@ -0,0 +1,768 @@ +namespace JinYuan.ControlLib +{ + partial class UCElectricityMeterV + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UCElectricityMeterV)); + this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.lblAccumulatedElectricityUint = new System.Windows.Forms.Label(); + this.txtAccumulatedElectricity = new System.Windows.Forms.Label(); + this.lblActivePowerUint = new System.Windows.Forms.Label(); + this.lblActivePower = new System.Windows.Forms.Label(); + this.txtTotalPower = new System.Windows.Forms.Label(); + this.lblPowerFactor = new System.Windows.Forms.Label(); + this.txtPowerFactor = new System.Windows.Forms.Label(); + this.lblPhasePowerCUint = new System.Windows.Forms.Label(); + this.lblPhasePowerC = new System.Windows.Forms.Label(); + this.txtPhasePowerC = new System.Windows.Forms.Label(); + this.lblPhasePowerBUint = new System.Windows.Forms.Label(); + this.lblPhasePowerB = new System.Windows.Forms.Label(); + this.txtPhasePowerB = new System.Windows.Forms.Label(); + this.lblPhasePowerAUint = new System.Windows.Forms.Label(); + this.lblPhasePowerA = new System.Windows.Forms.Label(); + this.txtPhasePowerA = new System.Windows.Forms.Label(); + this.lblCt = new System.Windows.Forms.Label(); + this.txtCt = new System.Windows.Forms.Label(); + this.lblPhaseCurrentCUint = new System.Windows.Forms.Label(); + this.lblPhaseCurrentC = new System.Windows.Forms.Label(); + this.txtPhaseCurrentC = new System.Windows.Forms.Label(); + this.lblPhaseCurrentBUint = new System.Windows.Forms.Label(); + this.lblPhaseCurrentB = new System.Windows.Forms.Label(); + this.txtPhaseCurrentB = new System.Windows.Forms.Label(); + this.lblPhaseCurrentAUint = new System.Windows.Forms.Label(); + this.lblPhaseCurrentA = new System.Windows.Forms.Label(); + this.txtPhaseCurrentA = new System.Windows.Forms.Label(); + this.lblPt = new System.Windows.Forms.Label(); + this.txtPt = new System.Windows.Forms.Label(); + this.lblPhaseVoltageCUint = new System.Windows.Forms.Label(); + this.lblPhaseVoltageC = new System.Windows.Forms.Label(); + this.txtPhaseVoltageC = new System.Windows.Forms.Label(); + this.lblPhaseVoltageBUint = new System.Windows.Forms.Label(); + this.lblPhaseVoltageB = new System.Windows.Forms.Label(); + this.txtPhaseVoltageB = new System.Windows.Forms.Label(); + this.lblPhaseVoltageAUint = new System.Windows.Forms.Label(); + this.lblPhaseVoltageA = new System.Windows.Forms.Label(); + this.txtPhaseVoltageA = new System.Windows.Forms.Label(); + this.lblAccumulatedElectricity = new System.Windows.Forms.Label(); + this.UCtitleName = new JinYuan.ControlLib.LongTitleStyle2(); + this.tableLayoutPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel2 + // + this.tableLayoutPanel2.ColumnCount = 12; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 63F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 51F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 24F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 64F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 54F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 29F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 65F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 55F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 35F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 81F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 45F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel2.Controls.Add(this.lblAccumulatedElectricityUint, 10, 3); + this.tableLayoutPanel2.Controls.Add(this.txtAccumulatedElectricity, 5, 3); + this.tableLayoutPanel2.Controls.Add(this.lblActivePowerUint, 4, 3); + this.tableLayoutPanel2.Controls.Add(this.lblActivePower, 2, 3); + this.tableLayoutPanel2.Controls.Add(this.txtTotalPower, 0, 3); + this.tableLayoutPanel2.Controls.Add(this.lblPowerFactor, 10, 2); + this.tableLayoutPanel2.Controls.Add(this.txtPowerFactor, 9, 2); + this.tableLayoutPanel2.Controls.Add(this.lblPhasePowerCUint, 8, 2); + this.tableLayoutPanel2.Controls.Add(this.lblPhasePowerC, 7, 2); + this.tableLayoutPanel2.Controls.Add(this.txtPhasePowerC, 6, 2); + this.tableLayoutPanel2.Controls.Add(this.lblPhasePowerBUint, 5, 2); + this.tableLayoutPanel2.Controls.Add(this.lblPhasePowerB, 4, 2); + this.tableLayoutPanel2.Controls.Add(this.txtPhasePowerB, 3, 2); + this.tableLayoutPanel2.Controls.Add(this.lblPhasePowerAUint, 2, 2); + this.tableLayoutPanel2.Controls.Add(this.lblPhasePowerA, 1, 2); + this.tableLayoutPanel2.Controls.Add(this.txtPhasePowerA, 0, 2); + this.tableLayoutPanel2.Controls.Add(this.lblCt, 10, 1); + this.tableLayoutPanel2.Controls.Add(this.txtCt, 9, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseCurrentCUint, 8, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseCurrentC, 7, 1); + this.tableLayoutPanel2.Controls.Add(this.txtPhaseCurrentC, 6, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseCurrentBUint, 5, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseCurrentB, 4, 1); + this.tableLayoutPanel2.Controls.Add(this.txtPhaseCurrentB, 3, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseCurrentAUint, 2, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseCurrentA, 1, 1); + this.tableLayoutPanel2.Controls.Add(this.txtPhaseCurrentA, 0, 1); + this.tableLayoutPanel2.Controls.Add(this.lblPt, 10, 0); + this.tableLayoutPanel2.Controls.Add(this.txtPt, 9, 0); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseVoltageCUint, 8, 0); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseVoltageC, 7, 0); + this.tableLayoutPanel2.Controls.Add(this.txtPhaseVoltageC, 6, 0); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseVoltageBUint, 5, 0); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseVoltageB, 4, 0); + this.tableLayoutPanel2.Controls.Add(this.txtPhaseVoltageB, 3, 0); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseVoltageAUint, 2, 0); + this.tableLayoutPanel2.Controls.Add(this.lblPhaseVoltageA, 1, 0); + this.tableLayoutPanel2.Controls.Add(this.txtPhaseVoltageA, 0, 0); + this.tableLayoutPanel2.Controls.Add(this.lblAccumulatedElectricity, 8, 3); + this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 32); + this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel2.Name = "tableLayoutPanel2"; + this.tableLayoutPanel2.RowCount = 5; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F)); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F)); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F)); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(569, 95); + this.tableLayoutPanel2.TabIndex = 18; + // + // lblAccumulatedElectricityUint + // + this.lblAccumulatedElectricityUint.AutoSize = true; + this.lblAccumulatedElectricityUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblAccumulatedElectricityUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblAccumulatedElectricityUint.ForeColor = System.Drawing.Color.White; + this.lblAccumulatedElectricityUint.Location = new System.Drawing.Point(525, 69); + this.lblAccumulatedElectricityUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblAccumulatedElectricityUint.Name = "lblAccumulatedElectricityUint"; + this.lblAccumulatedElectricityUint.Size = new System.Drawing.Size(37, 25); + this.lblAccumulatedElectricityUint.TabIndex = 38; + this.lblAccumulatedElectricityUint.Text = "kW·h"; + this.lblAccumulatedElectricityUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtAccumulatedElectricity + // + this.txtAccumulatedElectricity.AutoSize = true; + this.tableLayoutPanel2.SetColumnSpan(this.txtAccumulatedElectricity, 3); + this.txtAccumulatedElectricity.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtAccumulatedElectricity.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtAccumulatedElectricity.ForeColor = System.Drawing.Color.White; + this.txtAccumulatedElectricity.Location = new System.Drawing.Point(260, 69); + this.txtAccumulatedElectricity.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtAccumulatedElectricity.Name = "txtAccumulatedElectricity"; + this.txtAccumulatedElectricity.Size = new System.Drawing.Size(141, 25); + this.txtAccumulatedElectricity.TabIndex = 36; + this.txtAccumulatedElectricity.Text = "累计电能"; + this.txtAccumulatedElectricity.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblActivePowerUint + // + this.lblActivePowerUint.AutoSize = true; + this.lblActivePowerUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblActivePowerUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblActivePowerUint.ForeColor = System.Drawing.Color.White; + this.lblActivePowerUint.Location = new System.Drawing.Point(206, 69); + this.lblActivePowerUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblActivePowerUint.Name = "lblActivePowerUint"; + this.lblActivePowerUint.Size = new System.Drawing.Size(46, 25); + this.lblActivePowerUint.TabIndex = 35; + this.lblActivePowerUint.Text = "W"; + this.lblActivePowerUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblActivePower + // + this.lblActivePower.AutoSize = true; + this.tableLayoutPanel2.SetColumnSpan(this.lblActivePower, 2); + this.lblActivePower.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblActivePower.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblActivePower.ForeColor = System.Drawing.Color.White; + this.lblActivePower.Location = new System.Drawing.Point(118, 69); + this.lblActivePower.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblActivePower.Name = "lblActivePower"; + this.lblActivePower.Size = new System.Drawing.Size(80, 25); + this.lblActivePower.TabIndex = 34; + this.lblActivePower.Text = "232.5"; + this.lblActivePower.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtTotalPower + // + this.txtTotalPower.AutoSize = true; + this.tableLayoutPanel2.SetColumnSpan(this.txtTotalPower, 2); + this.txtTotalPower.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtTotalPower.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtTotalPower.ForeColor = System.Drawing.Color.White; + this.txtTotalPower.Location = new System.Drawing.Point(4, 69); + this.txtTotalPower.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtTotalPower.Name = "txtTotalPower"; + this.txtTotalPower.Size = new System.Drawing.Size(106, 25); + this.txtTotalPower.TabIndex = 33; + this.txtTotalPower.Text = "总功率"; + this.txtTotalPower.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPowerFactor + // + this.lblPowerFactor.AutoSize = true; + this.lblPowerFactor.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPowerFactor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPowerFactor.ForeColor = System.Drawing.Color.White; + this.lblPowerFactor.Location = new System.Drawing.Point(525, 44); + this.lblPowerFactor.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPowerFactor.Name = "lblPowerFactor"; + this.lblPowerFactor.Size = new System.Drawing.Size(37, 25); + this.lblPowerFactor.TabIndex = 32; + this.lblPowerFactor.Text = "1"; + this.lblPowerFactor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPowerFactor + // + this.txtPowerFactor.AutoSize = true; + this.txtPowerFactor.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPowerFactor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPowerFactor.ForeColor = System.Drawing.Color.White; + this.txtPowerFactor.Location = new System.Drawing.Point(444, 44); + this.txtPowerFactor.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPowerFactor.Name = "txtPowerFactor"; + this.txtPowerFactor.Size = new System.Drawing.Size(73, 25); + this.txtPowerFactor.TabIndex = 31; + this.txtPowerFactor.Text = "总功率因素"; + this.txtPowerFactor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhasePowerCUint + // + this.lblPhasePowerCUint.AutoSize = true; + this.lblPhasePowerCUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhasePowerCUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhasePowerCUint.ForeColor = System.Drawing.Color.White; + this.lblPhasePowerCUint.Location = new System.Drawing.Point(409, 44); + this.lblPhasePowerCUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhasePowerCUint.Name = "lblPhasePowerCUint"; + this.lblPhasePowerCUint.Size = new System.Drawing.Size(27, 25); + this.lblPhasePowerCUint.TabIndex = 30; + this.lblPhasePowerCUint.Text = "W"; + this.lblPhasePowerCUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhasePowerC + // + this.lblPhasePowerC.AutoSize = true; + this.lblPhasePowerC.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhasePowerC.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhasePowerC.ForeColor = System.Drawing.Color.White; + this.lblPhasePowerC.Location = new System.Drawing.Point(354, 44); + this.lblPhasePowerC.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhasePowerC.Name = "lblPhasePowerC"; + this.lblPhasePowerC.Size = new System.Drawing.Size(47, 25); + this.lblPhasePowerC.TabIndex = 29; + this.lblPhasePowerC.Text = "0"; + this.lblPhasePowerC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhasePowerC + // + this.txtPhasePowerC.AutoSize = true; + this.txtPhasePowerC.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhasePowerC.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhasePowerC.ForeColor = System.Drawing.Color.White; + this.txtPhasePowerC.Location = new System.Drawing.Point(289, 44); + this.txtPhasePowerC.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhasePowerC.Name = "txtPhasePowerC"; + this.txtPhasePowerC.Size = new System.Drawing.Size(57, 25); + this.txtPhasePowerC.TabIndex = 28; + this.txtPhasePowerC.Text = "C相功率"; + this.txtPhasePowerC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhasePowerBUint + // + this.lblPhasePowerBUint.AutoSize = true; + this.lblPhasePowerBUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhasePowerBUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhasePowerBUint.ForeColor = System.Drawing.Color.White; + this.lblPhasePowerBUint.Location = new System.Drawing.Point(260, 44); + this.lblPhasePowerBUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhasePowerBUint.Name = "lblPhasePowerBUint"; + this.lblPhasePowerBUint.Size = new System.Drawing.Size(21, 25); + this.lblPhasePowerBUint.TabIndex = 27; + this.lblPhasePowerBUint.Text = "W"; + this.lblPhasePowerBUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhasePowerB + // + this.lblPhasePowerB.AutoSize = true; + this.lblPhasePowerB.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhasePowerB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhasePowerB.ForeColor = System.Drawing.Color.White; + this.lblPhasePowerB.Location = new System.Drawing.Point(206, 44); + this.lblPhasePowerB.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhasePowerB.Name = "lblPhasePowerB"; + this.lblPhasePowerB.Size = new System.Drawing.Size(46, 25); + this.lblPhasePowerB.TabIndex = 26; + this.lblPhasePowerB.Text = "232.5"; + this.lblPhasePowerB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhasePowerB + // + this.txtPhasePowerB.AutoSize = true; + this.txtPhasePowerB.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhasePowerB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhasePowerB.ForeColor = System.Drawing.Color.White; + this.txtPhasePowerB.Location = new System.Drawing.Point(142, 44); + this.txtPhasePowerB.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhasePowerB.Name = "txtPhasePowerB"; + this.txtPhasePowerB.Size = new System.Drawing.Size(56, 25); + this.txtPhasePowerB.TabIndex = 25; + this.txtPhasePowerB.Text = "B相功率"; + this.txtPhasePowerB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhasePowerAUint + // + this.lblPhasePowerAUint.AutoSize = true; + this.lblPhasePowerAUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhasePowerAUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhasePowerAUint.ForeColor = System.Drawing.Color.White; + this.lblPhasePowerAUint.Location = new System.Drawing.Point(118, 44); + this.lblPhasePowerAUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhasePowerAUint.Name = "lblPhasePowerAUint"; + this.lblPhasePowerAUint.Size = new System.Drawing.Size(16, 25); + this.lblPhasePowerAUint.TabIndex = 24; + this.lblPhasePowerAUint.Text = "W"; + this.lblPhasePowerAUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhasePowerA + // + this.lblPhasePowerA.AutoSize = true; + this.lblPhasePowerA.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhasePowerA.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhasePowerA.ForeColor = System.Drawing.Color.White; + this.lblPhasePowerA.Location = new System.Drawing.Point(67, 44); + this.lblPhasePowerA.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhasePowerA.Name = "lblPhasePowerA"; + this.lblPhasePowerA.Size = new System.Drawing.Size(43, 25); + this.lblPhasePowerA.TabIndex = 23; + this.lblPhasePowerA.Text = "232.5"; + this.lblPhasePowerA.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhasePowerA + // + this.txtPhasePowerA.AutoSize = true; + this.txtPhasePowerA.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhasePowerA.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhasePowerA.ForeColor = System.Drawing.Color.White; + this.txtPhasePowerA.Location = new System.Drawing.Point(4, 44); + this.txtPhasePowerA.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhasePowerA.Name = "txtPhasePowerA"; + this.txtPhasePowerA.Size = new System.Drawing.Size(55, 25); + this.txtPhasePowerA.TabIndex = 22; + this.txtPhasePowerA.Text = "A相功率"; + this.txtPhasePowerA.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblCt + // + this.lblCt.AutoSize = true; + this.lblCt.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblCt.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblCt.ForeColor = System.Drawing.Color.White; + this.lblCt.Location = new System.Drawing.Point(525, 24); + this.lblCt.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblCt.Name = "lblCt"; + this.lblCt.Size = new System.Drawing.Size(37, 20); + this.lblCt.TabIndex = 21; + this.lblCt.Text = "1"; + this.lblCt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtCt + // + this.txtCt.AutoSize = true; + this.txtCt.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtCt.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtCt.ForeColor = System.Drawing.Color.White; + this.txtCt.Location = new System.Drawing.Point(444, 24); + this.txtCt.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtCt.Name = "txtCt"; + this.txtCt.Size = new System.Drawing.Size(73, 20); + this.txtCt.TabIndex = 20; + this.txtCt.Text = "电流变比"; + this.txtCt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseCurrentCUint + // + this.lblPhaseCurrentCUint.AutoSize = true; + this.lblPhaseCurrentCUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseCurrentCUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseCurrentCUint.ForeColor = System.Drawing.Color.White; + this.lblPhaseCurrentCUint.Location = new System.Drawing.Point(409, 24); + this.lblPhaseCurrentCUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseCurrentCUint.Name = "lblPhaseCurrentCUint"; + this.lblPhaseCurrentCUint.Size = new System.Drawing.Size(27, 20); + this.lblPhaseCurrentCUint.TabIndex = 19; + this.lblPhaseCurrentCUint.Text = "A"; + this.lblPhaseCurrentCUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseCurrentC + // + this.lblPhaseCurrentC.AutoSize = true; + this.lblPhaseCurrentC.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseCurrentC.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseCurrentC.ForeColor = System.Drawing.Color.White; + this.lblPhaseCurrentC.Location = new System.Drawing.Point(354, 24); + this.lblPhaseCurrentC.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseCurrentC.Name = "lblPhaseCurrentC"; + this.lblPhaseCurrentC.Size = new System.Drawing.Size(47, 20); + this.lblPhaseCurrentC.TabIndex = 18; + this.lblPhaseCurrentC.Text = "232.5"; + this.lblPhaseCurrentC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhaseCurrentC + // + this.txtPhaseCurrentC.AutoSize = true; + this.txtPhaseCurrentC.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseCurrentC.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhaseCurrentC.ForeColor = System.Drawing.Color.White; + this.txtPhaseCurrentC.Location = new System.Drawing.Point(289, 24); + this.txtPhaseCurrentC.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhaseCurrentC.Name = "txtPhaseCurrentC"; + this.txtPhaseCurrentC.Size = new System.Drawing.Size(57, 20); + this.txtPhaseCurrentC.TabIndex = 17; + this.txtPhaseCurrentC.Text = "C相电流"; + this.txtPhaseCurrentC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseCurrentBUint + // + this.lblPhaseCurrentBUint.AutoSize = true; + this.lblPhaseCurrentBUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseCurrentBUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseCurrentBUint.ForeColor = System.Drawing.Color.White; + this.lblPhaseCurrentBUint.Location = new System.Drawing.Point(260, 24); + this.lblPhaseCurrentBUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseCurrentBUint.Name = "lblPhaseCurrentBUint"; + this.lblPhaseCurrentBUint.Size = new System.Drawing.Size(21, 20); + this.lblPhaseCurrentBUint.TabIndex = 16; + this.lblPhaseCurrentBUint.Text = "A"; + this.lblPhaseCurrentBUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseCurrentB + // + this.lblPhaseCurrentB.AutoSize = true; + this.lblPhaseCurrentB.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseCurrentB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseCurrentB.ForeColor = System.Drawing.Color.White; + this.lblPhaseCurrentB.Location = new System.Drawing.Point(206, 24); + this.lblPhaseCurrentB.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseCurrentB.Name = "lblPhaseCurrentB"; + this.lblPhaseCurrentB.Size = new System.Drawing.Size(46, 20); + this.lblPhaseCurrentB.TabIndex = 15; + this.lblPhaseCurrentB.Text = "232.5"; + this.lblPhaseCurrentB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhaseCurrentB + // + this.txtPhaseCurrentB.AutoSize = true; + this.txtPhaseCurrentB.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseCurrentB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhaseCurrentB.ForeColor = System.Drawing.Color.White; + this.txtPhaseCurrentB.Location = new System.Drawing.Point(142, 24); + this.txtPhaseCurrentB.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhaseCurrentB.Name = "txtPhaseCurrentB"; + this.txtPhaseCurrentB.Size = new System.Drawing.Size(56, 20); + this.txtPhaseCurrentB.TabIndex = 14; + this.txtPhaseCurrentB.Text = "B相电流"; + this.txtPhaseCurrentB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseCurrentAUint + // + this.lblPhaseCurrentAUint.AutoSize = true; + this.lblPhaseCurrentAUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseCurrentAUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseCurrentAUint.ForeColor = System.Drawing.Color.White; + this.lblPhaseCurrentAUint.Location = new System.Drawing.Point(118, 24); + this.lblPhaseCurrentAUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseCurrentAUint.Name = "lblPhaseCurrentAUint"; + this.lblPhaseCurrentAUint.Size = new System.Drawing.Size(16, 20); + this.lblPhaseCurrentAUint.TabIndex = 13; + this.lblPhaseCurrentAUint.Text = "A"; + this.lblPhaseCurrentAUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseCurrentA + // + this.lblPhaseCurrentA.AutoSize = true; + this.lblPhaseCurrentA.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseCurrentA.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseCurrentA.ForeColor = System.Drawing.Color.White; + this.lblPhaseCurrentA.Location = new System.Drawing.Point(67, 24); + this.lblPhaseCurrentA.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseCurrentA.Name = "lblPhaseCurrentA"; + this.lblPhaseCurrentA.Size = new System.Drawing.Size(43, 20); + this.lblPhaseCurrentA.TabIndex = 12; + this.lblPhaseCurrentA.Text = "232.5"; + this.lblPhaseCurrentA.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhaseCurrentA + // + this.txtPhaseCurrentA.AutoSize = true; + this.txtPhaseCurrentA.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseCurrentA.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhaseCurrentA.ForeColor = System.Drawing.Color.White; + this.txtPhaseCurrentA.Location = new System.Drawing.Point(4, 24); + this.txtPhaseCurrentA.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhaseCurrentA.Name = "txtPhaseCurrentA"; + this.txtPhaseCurrentA.Size = new System.Drawing.Size(55, 20); + this.txtPhaseCurrentA.TabIndex = 11; + this.txtPhaseCurrentA.Text = "A相电流"; + this.txtPhaseCurrentA.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPt + // + this.lblPt.AutoSize = true; + this.lblPt.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPt.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPt.ForeColor = System.Drawing.Color.White; + this.lblPt.Location = new System.Drawing.Point(525, 0); + this.lblPt.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPt.Name = "lblPt"; + this.lblPt.Size = new System.Drawing.Size(37, 24); + this.lblPt.TabIndex = 10; + this.lblPt.Text = "1"; + this.lblPt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPt + // + this.txtPt.AutoSize = true; + this.txtPt.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPt.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPt.ForeColor = System.Drawing.Color.White; + this.txtPt.Location = new System.Drawing.Point(444, 0); + this.txtPt.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPt.Name = "txtPt"; + this.txtPt.Size = new System.Drawing.Size(73, 24); + this.txtPt.TabIndex = 9; + this.txtPt.Text = "电压变比"; + this.txtPt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseVoltageCUint + // + this.lblPhaseVoltageCUint.AutoSize = true; + this.lblPhaseVoltageCUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseVoltageCUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseVoltageCUint.ForeColor = System.Drawing.Color.White; + this.lblPhaseVoltageCUint.Location = new System.Drawing.Point(409, 0); + this.lblPhaseVoltageCUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseVoltageCUint.Name = "lblPhaseVoltageCUint"; + this.lblPhaseVoltageCUint.Size = new System.Drawing.Size(27, 24); + this.lblPhaseVoltageCUint.TabIndex = 8; + this.lblPhaseVoltageCUint.Text = "V"; + this.lblPhaseVoltageCUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseVoltageC + // + this.lblPhaseVoltageC.AutoSize = true; + this.lblPhaseVoltageC.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseVoltageC.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseVoltageC.ForeColor = System.Drawing.Color.White; + this.lblPhaseVoltageC.Location = new System.Drawing.Point(354, 0); + this.lblPhaseVoltageC.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseVoltageC.Name = "lblPhaseVoltageC"; + this.lblPhaseVoltageC.Size = new System.Drawing.Size(47, 24); + this.lblPhaseVoltageC.TabIndex = 7; + this.lblPhaseVoltageC.Text = "232.5"; + this.lblPhaseVoltageC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhaseVoltageC + // + this.txtPhaseVoltageC.AutoSize = true; + this.txtPhaseVoltageC.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseVoltageC.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhaseVoltageC.ForeColor = System.Drawing.Color.White; + this.txtPhaseVoltageC.Location = new System.Drawing.Point(289, 0); + this.txtPhaseVoltageC.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhaseVoltageC.Name = "txtPhaseVoltageC"; + this.txtPhaseVoltageC.Size = new System.Drawing.Size(57, 24); + this.txtPhaseVoltageC.TabIndex = 6; + this.txtPhaseVoltageC.Text = "C相电压"; + this.txtPhaseVoltageC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseVoltageBUint + // + this.lblPhaseVoltageBUint.AutoSize = true; + this.lblPhaseVoltageBUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseVoltageBUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseVoltageBUint.ForeColor = System.Drawing.Color.White; + this.lblPhaseVoltageBUint.Location = new System.Drawing.Point(260, 0); + this.lblPhaseVoltageBUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseVoltageBUint.Name = "lblPhaseVoltageBUint"; + this.lblPhaseVoltageBUint.Size = new System.Drawing.Size(21, 24); + this.lblPhaseVoltageBUint.TabIndex = 5; + this.lblPhaseVoltageBUint.Text = "V"; + this.lblPhaseVoltageBUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseVoltageB + // + this.lblPhaseVoltageB.AutoSize = true; + this.lblPhaseVoltageB.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseVoltageB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseVoltageB.ForeColor = System.Drawing.Color.White; + this.lblPhaseVoltageB.Location = new System.Drawing.Point(206, 0); + this.lblPhaseVoltageB.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseVoltageB.Name = "lblPhaseVoltageB"; + this.lblPhaseVoltageB.Size = new System.Drawing.Size(46, 24); + this.lblPhaseVoltageB.TabIndex = 4; + this.lblPhaseVoltageB.Text = "232.5"; + this.lblPhaseVoltageB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhaseVoltageB + // + this.txtPhaseVoltageB.AutoSize = true; + this.txtPhaseVoltageB.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseVoltageB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhaseVoltageB.ForeColor = System.Drawing.Color.White; + this.txtPhaseVoltageB.Location = new System.Drawing.Point(142, 0); + this.txtPhaseVoltageB.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhaseVoltageB.Name = "txtPhaseVoltageB"; + this.txtPhaseVoltageB.Size = new System.Drawing.Size(56, 24); + this.txtPhaseVoltageB.TabIndex = 3; + this.txtPhaseVoltageB.Text = "B相电压"; + this.txtPhaseVoltageB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseVoltageAUint + // + this.lblPhaseVoltageAUint.AutoSize = true; + this.lblPhaseVoltageAUint.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseVoltageAUint.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseVoltageAUint.ForeColor = System.Drawing.Color.White; + this.lblPhaseVoltageAUint.Location = new System.Drawing.Point(118, 0); + this.lblPhaseVoltageAUint.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseVoltageAUint.Name = "lblPhaseVoltageAUint"; + this.lblPhaseVoltageAUint.Size = new System.Drawing.Size(16, 24); + this.lblPhaseVoltageAUint.TabIndex = 2; + this.lblPhaseVoltageAUint.Text = "V"; + this.lblPhaseVoltageAUint.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblPhaseVoltageA + // + this.lblPhaseVoltageA.AutoSize = true; + this.lblPhaseVoltageA.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblPhaseVoltageA.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblPhaseVoltageA.ForeColor = System.Drawing.Color.White; + this.lblPhaseVoltageA.Location = new System.Drawing.Point(67, 0); + this.lblPhaseVoltageA.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblPhaseVoltageA.Name = "lblPhaseVoltageA"; + this.lblPhaseVoltageA.Size = new System.Drawing.Size(43, 24); + this.lblPhaseVoltageA.TabIndex = 1; + this.lblPhaseVoltageA.Text = "232.5"; + this.lblPhaseVoltageA.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // txtPhaseVoltageA + // + this.txtPhaseVoltageA.AutoSize = true; + this.txtPhaseVoltageA.Dock = System.Windows.Forms.DockStyle.Fill; + this.txtPhaseVoltageA.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtPhaseVoltageA.ForeColor = System.Drawing.Color.White; + this.txtPhaseVoltageA.Location = new System.Drawing.Point(4, 0); + this.txtPhaseVoltageA.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.txtPhaseVoltageA.Name = "txtPhaseVoltageA"; + this.txtPhaseVoltageA.Size = new System.Drawing.Size(55, 24); + this.txtPhaseVoltageA.TabIndex = 0; + this.txtPhaseVoltageA.Text = "A相电压"; + this.txtPhaseVoltageA.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblAccumulatedElectricity + // + this.lblAccumulatedElectricity.AutoSize = true; + this.tableLayoutPanel2.SetColumnSpan(this.lblAccumulatedElectricity, 2); + this.lblAccumulatedElectricity.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblAccumulatedElectricity.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblAccumulatedElectricity.ForeColor = System.Drawing.Color.White; + this.lblAccumulatedElectricity.Location = new System.Drawing.Point(409, 69); + this.lblAccumulatedElectricity.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lblAccumulatedElectricity.Name = "lblAccumulatedElectricity"; + this.lblAccumulatedElectricity.Size = new System.Drawing.Size(108, 25); + this.lblAccumulatedElectricity.TabIndex = 37; + this.lblAccumulatedElectricity.Text = "232.5"; + this.lblAccumulatedElectricity.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // UCtitleName + // + this.UCtitleName.BackColor = System.Drawing.Color.Transparent; + this.UCtitleName.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("UCtitleName.BackgroundImage"))); + this.UCtitleName.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.UCtitleName.Dock = System.Windows.Forms.DockStyle.Top; + this.UCtitleName.Location = new System.Drawing.Point(0, 0); + this.UCtitleName.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3); + this.UCtitleName.Name = "UCtitleName"; + this.UCtitleName.Size = new System.Drawing.Size(569, 32); + this.UCtitleName.TabIndex = 1; + this.UCtitleName.TitleName = "智能电表"; + // + // UCElectricityMeterV + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(39)))), ((int)(((byte)(104))))); + this.Controls.Add(this.tableLayoutPanel2); + this.Controls.Add(this.UCtitleName); + this.Font = new System.Drawing.Font("微软雅黑", 7.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3); + this.Name = "UCElectricityMeterV"; + this.Size = new System.Drawing.Size(569, 127); + this.tableLayoutPanel2.ResumeLayout(false); + this.tableLayoutPanel2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private LongTitleStyle2 UCtitleName; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; + private System.Windows.Forms.Label lblPhaseVoltageBUint; + private System.Windows.Forms.Label lblPhaseVoltageB; + private System.Windows.Forms.Label txtPhaseVoltageB; + private System.Windows.Forms.Label lblPhaseVoltageAUint; + private System.Windows.Forms.Label lblPhaseVoltageA; + private System.Windows.Forms.Label txtPhaseVoltageA; + private System.Windows.Forms.Label txtPowerFactor; + private System.Windows.Forms.Label lblPhasePowerCUint; + private System.Windows.Forms.Label lblPhasePowerC; + private System.Windows.Forms.Label txtPhasePowerC; + private System.Windows.Forms.Label lblPhasePowerBUint; + private System.Windows.Forms.Label lblPhasePowerB; + private System.Windows.Forms.Label txtPhasePowerB; + private System.Windows.Forms.Label lblPhasePowerAUint; + private System.Windows.Forms.Label lblPhasePowerA; + private System.Windows.Forms.Label txtPhasePowerA; + private System.Windows.Forms.Label lblCt; + private System.Windows.Forms.Label txtCt; + private System.Windows.Forms.Label lblPhaseCurrentCUint; + private System.Windows.Forms.Label lblPhaseCurrentC; + private System.Windows.Forms.Label txtPhaseCurrentC; + private System.Windows.Forms.Label lblPhaseCurrentBUint; + private System.Windows.Forms.Label lblPhaseCurrentB; + private System.Windows.Forms.Label txtPhaseCurrentB; + private System.Windows.Forms.Label lblPhaseCurrentAUint; + private System.Windows.Forms.Label lblPhaseCurrentA; + private System.Windows.Forms.Label txtPhaseCurrentA; + private System.Windows.Forms.Label lblPt; + private System.Windows.Forms.Label txtPt; + private System.Windows.Forms.Label lblPhaseVoltageCUint; + private System.Windows.Forms.Label lblPhaseVoltageC; + private System.Windows.Forms.Label txtPhaseVoltageC; + private System.Windows.Forms.Label lblAccumulatedElectricityUint; + private System.Windows.Forms.Label txtAccumulatedElectricity; + private System.Windows.Forms.Label lblActivePowerUint; + private System.Windows.Forms.Label lblActivePower; + private System.Windows.Forms.Label txtTotalPower; + private System.Windows.Forms.Label lblPowerFactor; + private System.Windows.Forms.Label lblAccumulatedElectricity; + } +} diff --git a/JinYuan.ControlLib/UCElectricityMeterV.cs b/JinYuan.ControlLib/UCElectricityMeterV.cs new file mode 100644 index 0000000..951abe3 --- /dev/null +++ b/JinYuan.ControlLib/UCElectricityMeterV.cs @@ -0,0 +1,341 @@ +using JinYuan.Models; +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class UCElectricityMeterV : UserControl + { + public UCElectricityMeterV() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + //#region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + //#endregion + + + + private string smartMeter = "智能电表"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相电压")] + public override string Text + { + get { return smartMeter; } + set + { + smartMeter = value; + this.UCtitleName.TitleName = smartMeter; + } + } + + + #region 相电压 + private string phaseVoltageA = "A相电压"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相电压")] + public string Text1 + { + get { return phaseVoltageA; } + set + { + phaseVoltageA = value; + this.txtPhaseVoltageA.Text = phaseVoltageA; + } + } + + + private string phaseVoltageB = "B相电压"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件B相电压")] + public string Text2 + { + get { return phaseVoltageB; } + set + { + phaseVoltageB = value; + this.txtPhaseVoltageB.Text = phaseVoltageB; + } + } + + + private string phaseVoltageC = "C相电压"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件C相电压")] + public string Text3 + { + get { return phaseVoltageC; } + set + { + phaseVoltageC = value; + this.txtPhaseVoltageC.Text = phaseVoltageC; + } + } + #endregion + + #region 相电流 + private string phaseCurrentA = "A相电流"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相电流")] + public string Text4 + { + get { return phaseCurrentA; } + set + { + phaseCurrentA = value; + this.txtPhaseCurrentA.Text = phaseCurrentA; + } + } + + private string phaseCurrentB = "B相电流"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件B相电流")] + public string Text5 + { + get { return phaseCurrentB; } + set + { + phaseCurrentB = value; + this.txtPhaseCurrentB.Text = phaseCurrentB; + } + } + + + + private string phaseCurrentC = "C相电流"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件C相电流")] + public string Text6 + { + get { return phaseCurrentC; } + set + { + phaseCurrentC = value; + this.txtPhaseCurrentC.Text = phaseCurrentC; + } + } + #endregion + + #region 相功率 + private string phasePowerA = "A相功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件A相功率")] + public string Text7 + { + get { return phasePowerA; } + set + { + phasePowerA = value; + this.txtPhasePowerA.Text = phasePowerA; + } + } + + private string phasePowerB = "B相功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件B相功率")] + public string Text8 + { + get { return phasePowerB; } + set + { + phasePowerB = value; + this.txtPhasePowerB.Text = phasePowerB; + } + } + + + + private string phasePowerC = "C相功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件C相功率")] + public string Text9 + { + get { return phasePowerC; } + set + { + phasePowerC = value; + this.txtPhasePowerC.Text = phasePowerC; + } + } + #endregion + + private string activePower = "总有功功率"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件总有功功率")] + public string Text10 + { + get { return activePower; } + set + { + activePower = value; + this.txtTotalPower.Text = activePower; + + } + } + + private string powerFactor = "总功率因素"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件总功率因素")] + public string Text11 + { + get { return powerFactor; } + set + { + powerFactor = value; + this.txtPowerFactor.Text = powerFactor; + + } + } + + + + + private string pt = "电压变比"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件电压变比")] + public string Text12 + { + get { return pt; } + set + { + pt = value; + this.txtPt.Text = pt; + + } + } + + private string ct = "电流变比"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件电流变比")] + public string Text13 + { + get { return ct; } + set + { + ct = value; + this.txtCt.Text = ct; + + } + } + + + + private string accumulatedElectricity = "累计电能"; + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取控件累计电能")] + public string Text14 + { + get { return accumulatedElectricity; } + set + { + accumulatedElectricity = value; + this.txtAccumulatedElectricity.Text = accumulatedElectricity; + + } + } + + + + private JinYuan.Models.ElectricEnergy _electricEnergy = new JinYuan.Models.ElectricEnergy(); + [Browsable(false)] + [Category("自定义属性")] + [Description("设置或获取实体类值")] + public ElectricEnergy ElectricEnergy + { + get + { + return _electricEnergy; + } + set + { + if (value != null) + { + _electricEnergy = value; + SetElectricEnergy(_electricEnergy); + } + + } + } + + + + + private void SetElectricEnergy(ElectricEnergy m) + { + //累计电能 + this.lblAccumulatedElectricity.Text = m.AccumulatedElectricity.ToString(); + //A相电压 V + this.lblPhaseVoltageA.Text = m.PhaseVoltageA.ToString(); + //B相电压 + this.lblPhaseVoltageB.Text = m.PhaseVoltageB.ToString(); + //C相电压 + this.lblPhaseVoltageC.Text = m.PhaseVoltageC.ToString(); + // A相电流 + this.lblPhaseCurrentA.Text = m.PhaseCurrentA.ToString(); + // B相电流 + this.lblPhaseCurrentB.Text = m.PhaseCurrentB.ToString(); + // C相电流 + this.lblPhaseCurrentC.Text = m.PhaseCurrentC.ToString(); + // A相功率 + this.lblPhasePowerA.Text = m.PhasePowerA.ToString(); + // B相功率 + this.lblPhasePowerB.Text = m.PhasePowerB.ToString(); + // C相功率 + this.lblPhasePowerC.Text = m.PhasePowerC.ToString(); + // 总有功功率 + this.lblActivePower.Text = m.ActivePower.ToString(); + // 总功率因数 + this.lblPowerFactor.Text = m.PowerFactor.ToString(); + // 电压变比 + this.lblPt.Text = m.pt.ToString(); + // 电流变比 + this.lblCt.Text = m.ct.ToString(); + } + } +} diff --git a/JinYuan.ControlLib/UCElectricityMeterV.resx b/JinYuan.ControlLib/UCElectricityMeterV.resx new file mode 100644 index 0000000..032a807 --- /dev/null +++ b/JinYuan.ControlLib/UCElectricityMeterV.resx @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + ATf+uVn+L91+H9j2IH7hAAAAAElFTkSuQmCC + + + + True + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCFengSu.Designer.cs b/JinYuan.ControlLib/UCFengSu.Designer.cs new file mode 100644 index 0000000..b73a03a --- /dev/null +++ b/JinYuan.ControlLib/UCFengSu.Designer.cs @@ -0,0 +1,120 @@ +namespace JinYuan.ControlLib +{ + partial class UCFengSu + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.MainTableLayoutControl = new System.Windows.Forms.TableLayoutPanel(); + this.ucbFengSu = new JinYuan.ControlLib.UCBlower(); + this.lbl_Value = new System.Windows.Forms.Label(); + this.lbl_Title = new System.Windows.Forms.Label(); + this.MainTableLayoutControl.SuspendLayout(); + this.SuspendLayout(); + // + // MainTableLayoutControl + // + this.MainTableLayoutControl.ColumnCount = 3; + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 19.83594F)); + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 44.35146F)); + this.MainTableLayoutControl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 35.98326F)); + this.MainTableLayoutControl.Controls.Add(this.ucbFengSu, 0, 0); + this.MainTableLayoutControl.Controls.Add(this.lbl_Value, 2, 0); + this.MainTableLayoutControl.Controls.Add(this.lbl_Title, 1, 0); + this.MainTableLayoutControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.MainTableLayoutControl.Location = new System.Drawing.Point(0, 0); + this.MainTableLayoutControl.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.MainTableLayoutControl.Name = "MainTableLayoutControl"; + this.MainTableLayoutControl.RowCount = 1; + this.MainTableLayoutControl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.MainTableLayoutControl.Size = new System.Drawing.Size(239, 33); + this.MainTableLayoutControl.TabIndex = 0; + // + // ucbFengSu + // + this.ucbFengSu.BlowerColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(77)))), ((int)(((byte)(59))))); + this.ucbFengSu.Dock = System.Windows.Forms.DockStyle.Fill; + this.ucbFengSu.EntranceDirection = JinYuan.ControlLib.BlowerEntranceDirection.None; + this.ucbFengSu.ExitDirection = JinYuan.ControlLib.BlowerExitDirection.None; + this.ucbFengSu.FanColor = System.Drawing.Color.FromArgb(((int)(((byte)(3)))), ((int)(((byte)(169)))), ((int)(((byte)(243))))); + this.ucbFengSu.IsDZ = true; + this.ucbFengSu.IsExit = false; + this.ucbFengSu.Location = new System.Drawing.Point(1, 1); + this.ucbFengSu.Margin = new System.Windows.Forms.Padding(1); + this.ucbFengSu.Name = "ucbFengSu"; + this.ucbFengSu.Size = new System.Drawing.Size(45, 31); + this.ucbFengSu.TabIndex = 0; + this.ucbFengSu.TurnAround = JinYuan.ControlLib.TurnAround.None; + this.ucbFengSu.TurnSpeed = 100; + // + // lbl_Value + // + this.lbl_Value.AutoSize = true; + this.lbl_Value.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Value.Location = new System.Drawing.Point(156, 0); + this.lbl_Value.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbl_Value.Name = "lbl_Value"; + this.lbl_Value.Size = new System.Drawing.Size(79, 33); + this.lbl_Value.TabIndex = 1; + this.lbl_Value.Text = "0"; + this.lbl_Value.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lbl_Title + // + this.lbl_Title.AutoSize = true; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Location = new System.Drawing.Point(50, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(99, 33); + this.lbl_Title.TabIndex = 2; + this.lbl_Title.Text = "参数项名称"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // UCFengSu + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 19F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.MainTableLayoutControl); + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ForeColor = System.Drawing.Color.White; + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "UCFengSu"; + this.Size = new System.Drawing.Size(239, 33); + this.MainTableLayoutControl.ResumeLayout(false); + this.MainTableLayoutControl.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel MainTableLayoutControl; + private UCBlower ucbFengSu; + private System.Windows.Forms.Label lbl_Value; + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/UCFengSu.cs b/JinYuan.ControlLib/UCFengSu.cs new file mode 100644 index 0000000..d681906 --- /dev/null +++ b/JinYuan.ControlLib/UCFengSu.cs @@ -0,0 +1,147 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + + [DefaultEvent("ControlDoubleClick")] + public partial class UCFengSu : UserControl + { + public UCFengSu() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.Size = new System.Drawing.Size(232, 43); + } + + + //private int titleScale = 50; + //[Browsable(true)] + //[Category("自定义属性")] + //[Description("设置或获取标题所占比例")] + //public int TitleScale + //{ + // get { return titleScale; } + // set + // { + // titleScale = value; + + // this.MainTableLayoutControl.ColumnStyles[0] = new ColumnStyle(SizeType.Percent, titleScale); + // } + //} + + + //private int valueScale = 30; + //[Browsable(true)] + //[Category("自定义属性")] + //[Description("设置或获取数据所占比例")] + //public int ValueScale + //{ + // get { return valueScale; } + // set + // { + // valueScale = value; + + // this.MainTableLayoutControl.ColumnStyles[1] = new ColumnStyle(SizeType.Percent, valueScale); + // } + //} + + private string titleName = "参数名称设置"; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取参数名称")] + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + + this.lbl_Title.Text = titleName; + } + } + + private Color ucFengSuBG = Color.FromArgb(255, 77, 59); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取风扇控件背景颜色")] + public Color UcFengSuBG + { + get { return ucFengSuBG; } + set + { + ucFengSuBG = value; + this.ucbFengSu.BlowerColor = ucFengSuBG; + } + } + + private Color ucFengSuFan = Color.FromArgb(3, 169, 243); + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取风扇叶子颜色")] + public Color UcFengSuFan + { + get { return ucFengSuFan; } + set + { + ucFengSuFan = value; + this.ucbFengSu.FanColor = ucFengSuFan; + } + } + + + private float currentValue = 0.0f; + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取当前数值")] + public float CurrentValue + { + get { return currentValue; } + set + { + currentValue = value; + + this.lbl_Value.Text = currentValue.ToString(); + this.ucbFengSu.TurnSpeed = 100; + if (value > 0.0f) + { + this.ucbFengSu.TurnAround = TurnAround.Clockwise; + this.ucbFengSu.TurnSpeed = (int)value; + } + else + { + this.ucbFengSu.TurnAround = TurnAround.None; + } + + } + } + + [Browsable(true)] + [Category("自定义属性")] + [Description("设置或获取绑定变量名称")] + public string BindVarName { get; set; } + + + + [Browsable(true)] + [Category("自定义事件")] + [Description("控件双击事件")] + public event EventHandler ControlDoubleClick; + + private void lbl_Value_DoubleClick(object sender, EventArgs e) + { + if (ControlDoubleClick != null) + { + ControlDoubleClick(this, e); + } + } + } +} \ No newline at end of file diff --git a/JinYuan.ControlLib/UCFengSu.resx b/JinYuan.ControlLib/UCFengSu.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/UCFengSu.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCHelper/ControlHelper.cs b/JinYuan.ControlLib/UCHelper/ControlHelper.cs new file mode 100644 index 0000000..7be583a --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/ControlHelper.cs @@ -0,0 +1,2464 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Drawing.Imaging; +using System.Linq; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Text.RegularExpressions; +using System.Threading; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 控件工具类 + /// + public static class ControlHelper + { + #region Graphics + + /// + /// 获取指定窗口(包括非工作区)的Graphics + /// + /// 指定窗口的handle + /// 返回g + /// 返回hDC + public static void GetWindowGraphics(IntPtr handle, out Graphics g, out IntPtr hDC) + { + hDC = NativeMethods.GetWindowDC(handle); + g = Graphics.FromHdc(hDC); + } + + /// + /// 获取指定窗口(只包括工作区)的Graphics + /// + /// 指定窗口的handle + /// 返回g + /// 返回hDC + public static void GetWindowClientGraphics(IntPtr handle, out Graphics g, out IntPtr hDC) + { + hDC = NativeMethods.GetDC(handle); + g = Graphics.FromHdc(hDC); + } + + #endregion + + #region 圆角、边框 + + /// + /// 绘制Rectangle 1个像素边框(圆角边框半径为3个像素) + /// + /// 要绘制边框的控件 + /// 要绘制边框的控件画布 + /// 是否为圆角边框(圆角边框半径为3个像素) + /// 边框颜色 + /// 父控件背景色(圆角边框平滑过度颜色) + /// 控件背景色(圆角边框平滑过度颜色) + public static void DrawControlBorder(Control control, Graphics g, bool roundCorner, Color borderColor, Color borderOutOverColor, Color borderInOverColor) + { + Rectangle rect = control.ClientRectangle; + + SmoothingMode smoothingMode = g.SmoothingMode; + CompositingMode compositingMode = g.CompositingMode; + CompositingQuality compositingQuality = g.CompositingQuality; + InterpolationMode interpolationMode = g.InterpolationMode; + + g.SmoothingMode = SmoothingMode.None; + g.CompositingMode = CompositingMode.SourceCopy; + g.CompositingQuality = CompositingQuality.Default; + g.InterpolationMode = InterpolationMode.Default; + + if (roundCorner) + { + Pen border_pen = new Pen(borderColor); + + //边框 + g.DrawPolygon(border_pen, new Point[] { + new Point(rect.Left,rect.Top+1), + new Point(rect.Left+1,rect.Top+1), + new Point(rect.Left+1,rect.Top), + + new Point(rect.Right-1-1,rect.Top), + new Point(rect.Right-1-1,rect.Top+1), + new Point(rect.Right-1,rect.Top+1), + + new Point(rect.Right-1,rect.Bottom-1-1), + new Point(rect.Right-1-1,rect.Bottom-1-1), + new Point(rect.Right-1-1,rect.Bottom-1), + + new Point(rect.Left+1,rect.Bottom-1), + new Point(rect.Left+1,rect.Bottom-1-1), + new Point(rect.Left,rect.Bottom-1-1), + }); + + //边框圆角外平滑过度 + border_pen.Color = Color.FromArgb(borderColor.R + (borderOutOverColor.R - borderColor.R) / 4, borderColor.G + (borderOutOverColor.G - borderColor.G) / 4, borderColor.B + (borderOutOverColor.B - borderColor.B) / 4); + g.DrawLine(border_pen, new Point(rect.Left, rect.Top + 1), new Point(rect.Left + 1, rect.Top)); + g.DrawLine(border_pen, new Point(rect.Right - 2, rect.Top), new Point(rect.Right - 1, rect.Top + 1)); + g.DrawLine(border_pen, new Point(rect.Right - 1, rect.Bottom - 2), new Point(rect.Right - 2, rect.Bottom - 1)); + g.DrawLine(border_pen, new Point(rect.Left + 1, rect.Bottom - 1), new Point(rect.Left, rect.Bottom - 2)); + + //边框圆角内平滑过度 + SolidBrush sb = new SolidBrush(Color.FromArgb((borderColor.R + borderInOverColor.R) / 2, (borderColor.G + borderInOverColor.G) / 2, (borderColor.B + borderInOverColor.B) / 2)); + g.FillRectangle(sb, new Rectangle(rect.Left + 1, rect.Top + 1, 1, 1)); + g.FillRectangle(sb, new Rectangle(rect.Right - 2, rect.Top + 1, 1, 1)); + g.FillRectangle(sb, new Rectangle(rect.Right - 2, rect.Bottom - 2, 1, 1)); + g.FillRectangle(sb, new Rectangle(rect.Left + 1, rect.Bottom - 2, 1, 1)); + + sb.Dispose(); + border_pen.Dispose(); + } + else + { + Pen border_pen = new Pen(borderColor); + g.DrawRectangle(border_pen, new Rectangle(rect.X, rect.Y, rect.Width - 1, rect.Height - 1)); + border_pen.Dispose(); + } + + g.SmoothingMode = smoothingMode; + g.CompositingMode = compositingMode; + g.CompositingQuality = compositingQuality; + g.InterpolationMode = interpolationMode; + } + + /// + /// 计算Rectangle 1个像素圆角形状路径(圆角边框半径为3个像素) + /// + /// rect + /// + public static GraphicsPath AdjustRectangleShapePath(Rectangle rect) + { + GraphicsPath gp = new GraphicsPath(); + gp.AddPolygon(new Point[] { + + new Point(rect.Left,rect.Top+1), + new Point(rect.Left+1,rect.Top+1), + new Point(rect.Left+1,rect.Top), + + new Point(rect.Right-1,rect.Top), + new Point(rect.Right-1,rect.Top+1), + new Point(rect.Right,rect.Top+1), + + new Point(rect.Right,rect.Bottom-1), + new Point(rect.Right-1,rect.Bottom-1), + new Point(rect.Right-1,rect.Bottom), + + new Point(rect.Left+1,rect.Bottom), + new Point(rect.Left+1,rect.Bottom-1), + new Point(rect.Left,rect.Bottom-1), + + }); + + return gp; + } + + /// + /// 计算点到矩形的最大圆形最大半径 + /// + /// 矩形 + /// 点 + /// + public static int AdjustRectangleMaxRadiusForPoint(Rectangle rect, Point point) + { + int radius = 0; + + radius = Math.Max(radius, (int)Math.Ceiling(Math.Sqrt(Math.Pow(Math.Abs(point.X - rect.X), 2) + Math.Pow(Math.Abs(point.Y - rect.Y), 2)))); + radius = Math.Max(radius, (int)Math.Ceiling(Math.Sqrt(Math.Pow(Math.Abs(point.X - rect.Right), 2) + Math.Pow(Math.Abs(point.Y - rect.Y), 2)))); + radius = Math.Max(radius, (int)Math.Ceiling(Math.Sqrt(Math.Pow(Math.Abs(point.X - rect.Right), 2) + Math.Pow(Math.Abs(point.Y - rect.Bottom), 2)))); + radius = Math.Max(radius, (int)Math.Ceiling(Math.Sqrt(Math.Pow(Math.Abs(point.X - rect.X), 2) + Math.Pow(Math.Abs(point.Y - rect.Bottom), 2)))); + + return radius; + } + + /// + /// 转换成圆角 + /// + /// 要转换的rect + /// 圆角半径的大小 + /// + public static GraphicsPath AdjustCircularPath(Rectangle rect, int radius) + { + return AdjustCircularPath(rect, radius, radius, radius, radius); + } + + /// + /// 转换成圆角 + /// + /// 要转换的rect + /// 左上角 + /// 右上角 + /// 右下角 + /// 左下角 + /// + public static GraphicsPath AdjustCircularPath(Rectangle rect, int leftTopRadius, int rightTopRadius, int rightBottomRadius, int leftBottomRadius) + { + leftTopRadius = Math.Abs(leftTopRadius); + int leftTopDiameter = leftTopRadius * 2; + rightTopRadius = Math.Abs(rightTopRadius); + int rightTopDiameter = rightTopRadius * 2; + rightBottomRadius = Math.Abs(rightBottomRadius); + int rightBottomDiameter = rightBottomRadius * 2; + leftBottomRadius = Math.Abs(leftBottomRadius); + int leftBottomDiameter = leftBottomRadius * 2; + + PointF leftTop_x = new PointF(rect.Left, rect.Top); + PointF leftTop_y = new PointF(rect.Left, rect.Top); + if (leftTopRadius > 0) + { + leftTop_x = new PointF(rect.Left + leftTopRadius, rect.Top); + leftTop_y = new PointF(rect.Left, rect.Top + leftTopRadius); + } + + PointF rightTop_x = new PointF(rect.Right, rect.Top); + PointF rightTop_y = new PointF(rect.Right, rect.Top); + if (rightTopRadius > 0) + { + rightTop_x = new PointF(rect.Right - rightTopRadius, rect.Top); + rightTop_y = new PointF(rect.Right, rect.Top + rightTopRadius); + } + + PointF rightBottom_x = new PointF(rect.Right, rect.Bottom); + PointF rightBottom_y = new PointF(rect.Right, rect.Bottom); + if (rightBottomRadius > 0) + { + rightBottom_x = new PointF(rect.Right - rightBottomRadius, rect.Bottom); + rightBottom_y = new PointF(rect.Right, rect.Bottom - rightBottomRadius); + } + + PointF leftBottom_x = new PointF(rect.Left, rect.Bottom); + PointF leftBottom_y = new PointF(rect.Left, rect.Bottom); + if (leftBottomRadius > 0) + { + leftBottom_x = new PointF(rect.Left + leftBottomRadius, rect.Bottom); + leftBottom_y = new PointF(rect.Left, rect.Bottom - leftBottomRadius); + } + + GraphicsPath gp = new GraphicsPath(); + + if (leftTopRadius > 0) + { + RectangleF lefttop_rect = new RectangleF(rect.Left, rect.Top, leftTopDiameter, leftTopDiameter); + gp.AddArc(lefttop_rect, 180, 90); + } + gp.AddLine(leftTop_x, rightTop_x); + + if (rightTopRadius > 0) + { + RectangleF righttop_rect = new RectangleF(rect.Right - rightTopDiameter, rect.Top, rightTopDiameter, rightTopDiameter); + gp.AddArc(righttop_rect, 270, 90); + } + gp.AddLine(rightTop_y, rightBottom_y); + + if (rightBottomRadius > 0) + { + RectangleF rightbottom_rect = new RectangleF(rect.Right - rightBottomDiameter, rect.Bottom - rightBottomDiameter, rightBottomDiameter, rightBottomDiameter); + gp.AddArc(rightbottom_rect, 0, 90); + } + gp.AddLine(rightBottom_x, leftBottom_x); + + if (leftBottomRadius > 0) + { + RectangleF leftbottom_rect = new RectangleF(rect.Left, rect.Bottom - leftBottomDiameter, leftBottomDiameter, leftBottomDiameter); + gp.AddArc(leftbottom_rect, 90, 90); + } + gp.AddLine(leftBottom_y, leftTop_y); + + gp.CloseAllFigures(); + return gp; + } + + /// + /// 转换成圆角 + /// + /// 要转换的rect + /// 左上角 + /// 右上角 + /// 右下角 + /// 左下角 + /// + public static Region AdjustCircularRegion(Rectangle rect, int leftTopRadius, int rightTopRadius, int rightBottomRadius, int leftBottomRadius) + { + Region r = new Region(rect); + GraphicsPath gp = new GraphicsPath(); + + leftTopRadius = Math.Abs(leftTopRadius); + int leftTopDiameter = leftTopRadius * 2; + rightTopRadius = Math.Abs(rightTopRadius); + int rightTopDiameter = rightTopRadius * 2; + rightBottomRadius = Math.Abs(rightBottomRadius); + int rightBottomDiameter = rightBottomRadius * 2; + leftBottomRadius = Math.Abs(leftBottomRadius); + int leftBottomDiameter = leftBottomRadius * 2; + + if (leftTopRadius > 0) + { + Region lefttop_r = new Region(new Rectangle(rect.Left, rect.Top, leftTopRadius, leftTopRadius)); + gp.Reset(); + gp.AddPie(new Rectangle(rect.Left, rect.Top, leftTopDiameter, leftTopDiameter), 180, 90); + lefttop_r.Exclude(gp); + r.Exclude(lefttop_r); + lefttop_r.Dispose(); + } + + if (rightTopRadius > 0) + { + Region righttop_r = new Region(new Rectangle(rect.Right - rightTopRadius, rect.Top, rightTopRadius, rightTopRadius)); + gp.Reset(); + gp.AddPie(new Rectangle(rect.Right - rightTopDiameter, rect.Top, rightTopDiameter, rightTopDiameter), 270, 90); + righttop_r.Exclude(gp); + r.Exclude(righttop_r); + righttop_r.Dispose(); + } + + if (rightBottomRadius > 0) + { + Region rightbottom_r = new Region(new Rectangle(rect.Right - rightBottomRadius, rect.Bottom - rightBottomRadius, rightBottomRadius, rightBottomRadius)); + gp.Reset(); + gp.AddPie(new Rectangle(rect.Right - rightBottomDiameter, rect.Bottom - rightBottomDiameter, rightBottomDiameter, rightBottomDiameter), 0, 90); + rightbottom_r.Exclude(gp); + r.Exclude(rightbottom_r); + rightbottom_r.Dispose(); + } + + if (leftBottomRadius > 0) + { + Region leftbottom_r = new Region(new Rectangle(rect.Left, rect.Bottom - leftBottomRadius, leftBottomRadius, leftBottomRadius)); + gp.Reset(); + gp.AddPie(new Rectangle(rect.Left, rect.Bottom - leftBottomDiameter, leftBottomDiameter, leftBottomDiameter), 90, 90); + leftbottom_r.Exclude(gp); + r.Exclude(leftbottom_r); + leftbottom_r.Dispose(); + } + + gp.Dispose(); + return r; + } + + /// + /// 根据画笔大小计算出真是rectf + /// + /// 要转换的rectf + /// 画笔大小大小 + /// 画笔对齐方式 + /// + public static RectangleF TransformRectangleF(RectangleF rectf, float pen, PenAlignment alignment = PenAlignment.Center) + { + if (pen <= 0) + { + return rectf; + } + + RectangleF result = new RectangleF(); + if (alignment == PenAlignment.Center || alignment == PenAlignment.Left || alignment == PenAlignment.Right || alignment == PenAlignment.Outset) + { + result.Width = rectf.Width - pen; + result.Height = rectf.Height - pen; + result.X = rectf.X + ((int)pen) / 2; + result.Y = rectf.Y + ((int)pen) / 2; + } + else if (alignment == PenAlignment.Inset) + { + + if (pen > 0 && pen < 2) + { + result.Width = rectf.Width - 1; + result.Height = rectf.Height - 1; + } + else + { + result.Width = rectf.Width; + result.Height = rectf.Height; + } + + result.X = rectf.X; + result.Y = rectf.Y; + } + + return result; + } + + /// + /// 根据画笔大小计算出真是rectf + /// + /// 要转换的rect + /// 画笔大小大小 + /// 画笔对齐方式 + /// + public static Rectangle TransformRectangle(Rectangle rect, int pen, PenAlignment alignment = PenAlignment.Center) + { + if (pen <= 0) + { + return rect; + } + + Rectangle result = new Rectangle(); + if (alignment == PenAlignment.Center || alignment == PenAlignment.Left || alignment == PenAlignment.Right || alignment == PenAlignment.Outset) + { + result.Width = rect.Width - pen; + result.Height = rect.Height - pen; + result.X = rect.X + ((int)pen) / 2; + result.Y = rect.Y + ((int)pen) / 2; + } + else if (alignment == PenAlignment.Inset) + { + + if (pen > 0 && pen < 2) + { + result.Width = rect.Width - 1; + result.Height = rect.Height - 1; + } + else + { + result.Width = rect.Width; + result.Height = rect.Height; + } + + result.X = rect.X; + result.Y = rect.Y; + } + + return result; + } + + #endregion + + #region 字体 + + /// + /// 获取字体顶部空格 + /// + /// + public static int GetFontTopHiatus(Font font) + { + return Math.Max(1, font.Height * 2 / 10); + } + + /// + /// 获取字体真实高度 + /// + /// + public static int GetFontRealHeight(Font font) + { + return Math.Max(1, font.Height * 8 / 10); + } + + #endregion + + #region (Size、Point)角度 + + /// + /// 计算指定角度的坐标 + /// + /// 圆心坐标 + /// 圆半径 + /// 角度 + /// + public static PointF CalculatePointForAngle(PointF center, float radius, float angle) + { + if (radius == 0) + return center; + + float w = 0; + float h = 0; + if (angle <= 90) + { + w = radius * (float)Math.Cos(Math.PI / 180 * angle); + h = radius * (float)Math.Sin(Math.PI / 180 * angle); + } + else if (angle <= 180) + { + w = -radius * (float)Math.Sin(Math.PI / 180 * (angle - 90)); + h = radius * (float)Math.Cos(Math.PI / 180 * (angle - 90)); + + } + else if (angle <= 270) + { + w = -radius * (float)Math.Cos(Math.PI / 180 * (angle - 180)); + h = -radius * (float)Math.Sin(Math.PI / 180 * (angle - 180)); + } + else + { + w = radius * (float)Math.Sin(Math.PI / 180 * (angle - 270)); + h = -radius * (float)Math.Cos(Math.PI / 180 * (angle - 270)); + + } + return new PointF(center.X + w, center.Y + h); + } + + /// + /// 计算两个坐标的夹角 + /// + /// 坐标1 + /// 坐标2 + /// + public static double CalculateAngleForPoint(PointF point1, PointF point2) + { + double tmp = Math.Atan2((point2.Y - point1.Y), (point2.X - point1.X)) * 180 / Math.PI; + if (tmp < 0) + { + tmp = 180 + 180 - Math.Abs(tmp); + } + return tmp; + } + + /// + /// 获取Size旋转指定角度后新的Size + /// + /// 源Size + /// 指定角度 + /// 新的Size + public static SizeF ConvertToAngleSize(SizeF size, float angle) + { + PointF angle_point = ControlHelper.CalculatePointForAngle(new PointF(0, 0), size.Width / 2, (angle + 360) % 360); + PointF righttop_point = ControlHelper.CalculatePointForAngle(angle_point, size.Height / 2, (angle - 90 + 360) % 360); + PointF rightbottom_point = ControlHelper.CalculatePointForAngle(angle_point, size.Height / 2, (angle + 90 + 360) % 360); + + float w = Math.Max(Math.Abs(righttop_point.X), Math.Abs(rightbottom_point.X)) * 2; + float h = Math.Max(Math.Abs(righttop_point.Y), Math.Abs(rightbottom_point.Y)) * 2; + + return new SizeF(w, h); + } + + #endregion + + #region 画笔Rectangle转换 + + /// + /// 根据画笔大小转换rectf + /// + /// 要转换的rectf + /// 画笔大小大小 + /// + public static RectangleF TransformRectangleByPen(RectangleF rectf, float pen) + { + RectangleF result = new RectangleF(); + result.Width = rectf.Width - (pen < 1 ? 0 : pen); + result.Height = rectf.Height - (pen < 1 ? 0 : pen); + result.X = rectf.X + (float)(pen / 2); + result.Y = rectf.Y + (float)(pen / 2); + return result; + } + + #endregion + + #region 颜色 + + /// + /// 转换成灰色颜色值 + /// + /// 要转换的颜色 + /// + public static Color ConvertToDisableColor(Color color) + { + int tmp = (color.R + color.G + color.B) / 3; + return Color.FromArgb(color.A, tmp, tmp, tmp); + } + + /// + /// 根据控件Enabled状态转换成对应颜色值 + /// + /// 颜色所属的控件 + /// 要转换的颜色 + /// + public static Color ConvertToAutoColor(Control control, Color color) + { + if (control == null || control.Enabled) + { + return color; + } + return ConvertToDisableColor(color); + } + + /// + /// 根据状态转换成对应颜色值 + /// + /// 是否为禁用状态 + /// 要转换的颜色 + /// + public static Color ConvertToAutoColor(bool disable, Color color) + { + if (!disable) + { + return color; + } + return ConvertToDisableColor(color); + } + + /// + /// 转换成动画效果颜色值 + /// + /// 要转换的颜色 + /// + public static Color ConvertToAnimationColor(Color color) + { + if (color.GetBrightness() >= 0.5) + { + Color tmp = ControlPaint.Dark(color); + return Color.FromArgb(15, tmp.R, tmp.G, tmp.B); + } + else + { + Color tmp = ControlPaint.Light(color); + return Color.FromArgb(80, tmp.R, tmp.G, tmp.B); + } + } + + /// + /// 根据控件Enabled状态和背景色转换文本字体对应颜色值 + /// + /// 颜色所属的控件 + /// 背景色 + /// 前景色 + /// + public static Color ConvertToForeColorByBackColor(Control control, Color backColor, Color foreColor) + { + if (control == null || control.Enabled) + { + return foreColor; + } + + Color tmp = ConvertToAutoColor(control, backColor); + if (Math.Abs(tmp.GetBrightness() - foreColor.GetBrightness()) < 0.2) + { + return tmp.GetBrightness() >= 0.5 ? ControlPaint.Dark(backColor) : ControlPaint.Light(backColor); + } + else + { + return ConvertToDisableColor(foreColor); + } + + } + + /// + /// 根据状态和背景色转换文本字体对应颜色值 + /// + /// 是否为禁用状态 + /// 背景色 + /// 前景色 + /// + public static Color ConvertToForeColorByBackColor(bool disable, Color backColor, Color foreColor) + { + if (!disable) + { + return foreColor; + } + + Color tmp = ConvertToAutoColor(disable, backColor); + if (Math.Abs(tmp.GetBrightness() - foreColor.GetBrightness()) < 0.2) + { + return tmp.GetBrightness() >= 0.5 ? ControlPaint.Dark(backColor) : ControlPaint.Light(backColor); + } + else + { + return ConvertToDisableColor(foreColor); + } + + } + + /// + /// 根据指定颜色Brightness转换成有对比颜色 + /// + /// 指定颜色 + /// + public static Color ConvertToDarkOrLightColor(Color color) + { + return ((double)color.GetBrightness() >= 0.5) ? ControlPaint.Dark(color) : ControlPaint.Light(color); + } + + /// + /// 检查RGB值ed有效范围 + /// + /// + /// + public static int VerifyRGB(int rgb) + { + if (rgb < 0) + return 0; + if (rgb > 255) + return 255; + return rgb; + } + + #endregion + + #region 图片 + + private static ColorMatrix disabledImageColorMatrix; + /// + /// 用于创建禁用状态灰色图片(NET源码拷贝) + /// + private static ColorMatrix DisabledImageColorMatrix + { + get + { + if (disabledImageColorMatrix == null) + { + float[][] greyscale = new float[5][]; + greyscale[0] = new float[5] { 0.2125f, 0.2125f, 0.2125f, 0, 0 }; + greyscale[1] = new float[5] { 0.2577f, 0.2577f, 0.2577f, 0, 0 }; + greyscale[2] = new float[5] { 0.0361f, 0.0361f, 0.0361f, 0, 0 }; + greyscale[3] = new float[5] { 0, 0, 0, 1, 0 }; + greyscale[4] = new float[5] { 0.38f, 0.38f, 0.38f, 0, 1 }; + + float[][] transparency = new float[5][]; + transparency[0] = new float[5] { 1, 0, 0, 0, 0 }; + transparency[1] = new float[5] { 0, 1, 0, 0, 0 }; + transparency[2] = new float[5] { 0, 0, 1, 0, 0 }; + transparency[3] = new float[5] { 0, 0, 0, .7F, 0 }; + transparency[4] = new float[5] { 0, 0, 0, 0, 0 }; + + + int size = 5; + float[][] result = new float[size][]; + for (int row = 0; row < size; row++) + { + result[row] = new float[size]; + } + + float[] column = new float[size]; + for (int j = 0; j < size; j++) + { + for (int k = 0; k < size; k++) + { + column[k] = transparency[k][j]; + } + for (int i = 0; i < size; i++) + { + float[] row = greyscale[i]; + float s = 0; + for (int k = 0; k < size; k++) + { + s += row[k] * column[k]; + } + result[i][j] = s; + } + } + + disabledImageColorMatrix = new ColorMatrix(result); + + } + + return disabledImageColorMatrix; + } + } + + /// + /// 创建禁用状态灰色图片(NET源码拷贝) + /// + /// 要处理的图片 + /// + public static Image CreateDisabledImage(Image normalImage) + { + ImageAttributes imgAttrib = new ImageAttributes(); + imgAttrib.ClearColorKey(); + imgAttrib.SetColorMatrix(DisabledImageColorMatrix); + + Size size = normalImage.Size; + Bitmap disabledBitmap = new Bitmap(size.Width, size.Height); + Graphics graphics = Graphics.FromImage(disabledBitmap); + + graphics.DrawImage(normalImage, new Rectangle(0, 0, size.Width, size.Height), 0, 0, size.Width, size.Height, GraphicsUnit.Pixel, imgAttrib); + graphics.Dispose(); + + return disabledBitmap; + } + + /// + /// 缩放图片 + /// + /// 源图片 + /// 目标Size + /// + public static Image ScaleImage(Image sourceImage, Size targetSize) + { + if (sourceImage == null) + return null; + + Bitmap bmp = new Bitmap(targetSize.Width, targetSize.Height); + Graphics g = Graphics.FromImage(bmp); + g.DrawImage(sourceImage, new Rectangle(0, 0, targetSize.Width, targetSize.Height), 0, 0, sourceImage.Width, sourceImage.Height, GraphicsUnit.Pixel); + + g.Dispose(); + + return bmp; + } + + #endregion + + #region 小数位数截取 + + /// + /// 保留指定位数小数 + /// + /// 要处理数 + /// 要保留小数位数 + public static float ReserveDecimals(float value, int places) + { + return (float)ReserveDecimals(value, places); + } + + /// + /// 保留指定位数小数 + /// + /// 要处理数 + /// 要保留小数位数 + public static double ReserveDecimals(double value, int places) + { + return (double)ReserveDecimals(value, places); + } + + /// + /// 保留指定位数小数 + /// + /// 要处理数 + /// 要保留小数位数 + public static string ReserveDecimals(string value, int places) + { + if (places < 0) + return value; + + value = value.Trim(); + int index = value.IndexOf('.'); + + if (places == 0 && index > -1) + { + return value.Substring(0, index); + } + + if (index > -1) + { + value = value.Substring(0, Math.Min(index + places + 1, value.Length)); + value = value.PadRight(value.IndexOf('.') + places + 1, '0'); + } + else if (places > 0) + { + value = (value + ".").PadRight(value.Length + 1 + places, '0'); + } + + return value; + } + + #endregion + + + /// + /// 设置GDI高质量模式抗锯齿 + /// + /// + public static void SetGDIHigh(this Graphics g) + { + //消除锯齿 + g.SmoothingMode = SmoothingMode.AntiAlias; + //文字显示效果 + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + //插补模式 + g.InterpolationMode = InterpolationMode.HighQualityBicubic; + //图片呈现质量 + g.CompositingQuality = CompositingQuality.HighQuality; + + + + } + + + + #region 设置控件Enabled,切不改变控件颜色 + /// + /// 功能描述:设置控件Enabled,切不改变控件颜色 + /// 作  者:HZH + /// 创建日期:2019-03-04 13:43:32 + /// 任务编号:POS + /// + /// c + /// enabled + public static void SetControlEnabled(this Control c, bool enabled) + { + if (!c.IsDisposed) + { + if (enabled) + { + ControlHelper.SetWindowLong(c.Handle, -16, -134217729 & ControlHelper.GetWindowLong(c.Handle, -16)); + } + else + { + ControlHelper.SetWindowLong(c.Handle, -16, 134217728 + ControlHelper.GetWindowLong(c.Handle, -16)); + } + } + } + + /// + /// 功能描述:设置控件Enabled,切不改变控件颜色 + /// 作  者:HZH + /// 创建日期:2019-03-04 13:43:32 + /// 任务编号:POS + /// + /// cs + /// enabled + public static void SetControlEnableds(Control[] cs, bool enabled) + { + for (int i = 0; i < cs.Length; i++) + { + Control c = cs[i]; + SetControlEnabled(c, enabled); + } + } + #endregion + /// + /// Sets the window long. + /// + /// The h WND. + /// Index of the n. + /// The wndproc. + /// System.Int32. + [DllImport("user32.dll ")] + public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int wndproc); + + /// + /// Gets the window long. + /// + /// The h WND. + /// Index of the n. + /// System.Int32. + [DllImport("user32.dll ")] + public static extern int GetWindowLong(IntPtr hWnd, int nIndex); + + /// + /// Gets the foreground window. + /// + /// IntPtr. + [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] + public static extern IntPtr GetForegroundWindow(); + + /// + /// Threads the base call back. + /// + /// The parent. + /// The object. + private static void ThreadBaseCallBack(Control parent, object obj) + { + if (obj is Exception) + { + if (parent != null) + { + ThreadInvokerControl(parent, delegate + { + Exception ex = obj as Exception; + }); + } + } + } + /// + /// 委托调用主线程控件 + /// + /// 主线程控件 + /// 修改控件方法 + public static void ThreadInvokerControl(Control parent, Action action) + { + if (parent != null) + { + if (parent.InvokeRequired) + { + parent.BeginInvoke(action); + } + else + { + action(); + SetForegroundWindow(parent.Handle); + } + } + } + /// + /// 使用一个线程执行一个操作 + /// + /// 父控件 + /// 执行内容 + /// 执行后回调 + /// 执行期间禁用控件列表 + /// 执行期间是否显示等待提示 + /// 执行期间等待提示内容,默认为“正在处理,请稍候...” + /// 延迟显示等待提示时间 + public static void ThreadRunExt( + Control parent, + Action func, + Action callback, + Control enableControl = null, + bool blnShowSplashScreen = true, + string strMsg = null, + int intSplashScreenDelayTime = 200) + { + ThreadRunExt(parent, func, callback, new Control[] { enableControl }, blnShowSplashScreen, strMsg, intSplashScreenDelayTime); + } + /// + /// 使用一个线程执行一个操作 + /// + /// 父控件 + /// 执行内容 + /// 执行后回调 + /// 执行期间禁用控件列表 + /// 执行期间是否显示等待提示 + /// 执行期间等待提示内容,默认为“正在处理,请稍候...” + /// 延迟显示等待提示时间 + public static void ThreadRunExt( + Control parent, + Action func, + Action callback, + Control[] enableControl = null, + bool blnShowSplashScreen = true, + string strMsg = null, + int intSplashScreenDelayTime = 200) + { + if (blnShowSplashScreen) + { + if (string.IsNullOrEmpty(strMsg)) + { + strMsg = "正在处理,请稍候..."; + } + if (parent != null) + { + ShowProcessPanel(parent, strMsg, intSplashScreenDelayTime); + } + } + if (enableControl != null) + { + List lstCs = new List(); + foreach (var c in enableControl) + { + if (c == null) + continue; + if (c is Form) + { + lstCs.AddRange(c.Controls.ToArray()); + } + else + { + lstCs.Add(c); + } + } + SetControlEnableds(lstCs.ToArray(), false); + } + ThreadPool.QueueUserWorkItem(delegate (object a) + { + try + { + func(); + if (callback != null) + { + callback(null); + } + } + catch (Exception obj) + { + if (callback != null) + { + callback(obj); + } + else + { + ThreadBaseCallBack(parent, obj); + } + } + finally + { + if (parent != null) + { + ThreadInvokerControl(parent, delegate + { + CloseProcessPanel(parent); + SetForegroundWindow(parent.Handle); + }); + } + if (enableControl != null) + { + if (parent != null) + { + ThreadInvokerControl(parent, delegate + { + List lstCs = new List(); + foreach (var c in enableControl) + { + if (c == null) + continue; + if (c is Form) + { + lstCs.AddRange(c.Controls.ToArray()); + } + else + { + lstCs.Add(c); + } + } + SetControlEnableds(lstCs.ToArray(), true); + }); + } + } + } + }); + } + + /// + /// Sets the foreground window. + /// + /// The h WND. + /// true if XXXX, false otherwise. + [DllImport("user32.dll")] + public static extern bool SetForegroundWindow(IntPtr hWnd); + /// + /// Shows the process panel. + /// + /// The parent. + /// The string message. + /// The int splash screen delay time. + public static void ShowProcessPanel(Control parent, string strMessage, int intSplashScreenDelayTime = 0) + { + if (parent.InvokeRequired) + { + parent.BeginInvoke(new MethodInvoker(delegate + { + ShowProcessPanel(parent, strMessage, intSplashScreenDelayTime); + })); + } + else + { + parent.VisibleChanged -= new EventHandler(parent_VisibleChanged); + parent.VisibleChanged += new EventHandler(parent_VisibleChanged); + parent.FindForm().FormClosing -= ControlHelper_FormClosing; + parent.FindForm().FormClosing += ControlHelper_FormClosing; + Control control = null; + lock (parent) + { + control = HaveProcessPanelControl(parent); + if (control == null) + { + control = CreateProgressPanel(); + parent.Controls.Add(control); + } + } + Forms.FrmWaiting frmWaitingEx = control.Tag as Forms.FrmWaiting; + frmWaitingEx.Msg = strMessage; + frmWaitingEx.ShowForm(intSplashScreenDelayTime); + } + } + + /// + /// Handles the FormClosing event of the ControlHelper control. + /// + /// The source of the event. + /// The instance containing the event data. + static void ControlHelper_FormClosing(object sender, FormClosingEventArgs e) + { + Control control = sender as Control; + control.FindForm().FormClosing -= ControlHelper_FormClosing; + CloseWaiting(control); + } + + /// + /// Handles the VisibleChanged event of the parent control. + /// + /// The source of the event. + /// The instance containing the event data. + private static void parent_VisibleChanged(object sender, EventArgs e) + { + Control control = sender as Control; + control.VisibleChanged -= new EventHandler(parent_VisibleChanged); + if (!control.Visible) + { + CloseWaiting(control); + } + } + + /// + /// Closes the waiting. + /// + /// The control. + private static void CloseWaiting(Control control) + { + Control[] array = control.Controls.Find("myprogressPanelext", false); + if (array.Length > 0) + { + Control control2 = array[0]; + if (control2.Tag != null && control2.Tag is Forms.FrmWaiting) + { + Forms.FrmWaiting frmWaitingEx = control2.Tag as Forms.FrmWaiting; + if (frmWaitingEx != null && !frmWaitingEx.IsDisposed && frmWaitingEx.Visible) + { + frmWaitingEx.Hide(); + } + } + } + } + + /// + /// Closes the process panel. + /// + /// The parent. + public static void CloseProcessPanel(Control parent) + { + if (parent.InvokeRequired) + { + parent.BeginInvoke(new MethodInvoker(delegate + { + CloseProcessPanel(parent); + })); + } + else if (parent != null) + { + Control control = HaveProcessPanelControl(parent); + if (control != null) + { + Form frm = control.Tag as Form; + if (frm != null && !frm.IsDisposed && frm.Visible) + { + if (frm.InvokeRequired) + { + frm.BeginInvoke(new MethodInvoker(delegate + { + frm.Hide(); + })); + } + else + { + frm.Hide(); + } + } + } + } + } + + /// + /// Haves the process panel control. + /// + /// The parent. + /// Control. + public static Control HaveProcessPanelControl(Control parent) + { + Control[] array = parent.Controls.Find("myprogressPanelext", false); + Control result; + if (array.Length > 0) + { + result = array[0]; + } + else + { + result = null; + } + return result; + } + + /// + /// Creates the progress panel. + /// + /// Control. + public static Control CreateProgressPanel() + { + return new Label + { + Name = "myprogressPanelext", + Visible = false, + Tag = new Forms.FrmWaiting + { + TopMost = true, + Opacity = 0.0 + } + }; + } + + /// + /// Converts to array. + /// + /// The controls. + /// Control[]. + public static Control[] ToArray(this System.Windows.Forms.Control.ControlCollection controls) + { + if (controls == null || controls.Count <= 0) + return new Control[0]; + List lst = new List(); + foreach (Control item in controls) + { + lst.Add(item); + } + return lst.ToArray(); + } + + + #region 根据控件宽度截取字符串 + /// + /// 功能描述:根据控件宽度截取字符串 + /// 作  者:HZH + /// 创建日期:2019-06-27 10:49:10 + /// 任务编号:POS + /// + /// 字符串 + /// 控件宽度 + /// Graphics + /// 字体 + /// 截取后的字符串 + public static string GetSubString( + string strSource, + float fltControlWidth, + System.Drawing.Graphics g, + System.Drawing.Font font) + { + try + { + fltControlWidth = fltControlWidth - 20; + strSource = strSource.Trim(); + while (true) + { + + System.Drawing.SizeF sizeF = g.MeasureString(strSource.Replace(" ", "A"), font); + if (sizeF.Width > fltControlWidth) + { + strSource = strSource.TrimEnd('…'); + if (strSource.Length <= 1) + return ""; + strSource = strSource.Substring(0, strSource.Length - 1).Trim() + "…"; + } + else + { + return strSource; + } + } + } + finally + { + g.Dispose(); + } + } + #endregion + + #region 获取字符串宽度 + /// + /// 功能描述:获取字符串宽度 + /// 作  者:HZH + /// 创建日期:2019-06-27 11:54:50 + /// 任务编号:POS + /// + /// strSource + /// g + /// font + /// 返回值 + public static int GetStringWidth( + string strSource, + System.Drawing.Graphics g, + System.Drawing.Font font) + { + string[] strs = strSource.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); + float fltWidth = 0; + foreach (var item in strs) + { + System.Drawing.SizeF sizeF = g.MeasureString(strSource.Replace(" ", "A"), font); + if (sizeF.Width > fltWidth) + fltWidth = sizeF.Width; + } + + return (int)fltWidth; + } + #endregion + + #region 动画特效 + /// + /// Animates the window. + /// + /// The WHND. + /// The dwtime. + /// The dwflag. + /// true if XXXX, false otherwise. + [DllImport("user32.dll")] + public static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag); + //dwflag的取值如下 + /// + /// The aw hor positive + /// + public const Int32 AW_HOR_POSITIVE = 0x00000001; + //从左到右显示 + /// + /// The aw hor negative + /// + public const Int32 AW_HOR_NEGATIVE = 0x00000002; + //从右到左显示 + /// + /// The aw ver positive + /// + public const Int32 AW_VER_POSITIVE = 0x00000004; + //从上到下显示 + /// + /// The aw ver negative + /// + public const Int32 AW_VER_NEGATIVE = 0x00000008; + //从下到上显示 + /// + /// The aw center + /// + public const Int32 AW_CENTER = 0x00000010; + //若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口 + /// + /// The aw hide + /// + public const Int32 AW_HIDE = 0x00010000; + //隐藏窗口,缺省则显示窗口 + /// + /// The aw activate + /// + public const Int32 AW_ACTIVATE = 0x00020000; + //激活窗口。在使用了AW_HIDE标志后不能使用这个标志 + /// + /// The aw slide + /// + public const Int32 AW_SLIDE = 0x00040000; + //使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略 + /// + /// The aw blend + /// + public const Int32 AW_BLEND = 0x00080000; + //透明度从高到低 + #endregion + + #region 检查文本控件输入类型是否有效 + /// + /// 功能描述:检查文本控件输入类型是否有效 + /// 作  者:HZH + /// 创建日期:2019-02-28 10:23:34 + /// 任务编号:POS + /// + /// 值 + /// 控制类型 + /// 最大值 + /// 最小值 + /// 小数位长度 + /// 正则 + /// 返回值 + public static bool CheckInputType( + string strValue, + TextInputType inputType, + decimal decMaxValue = default(decimal), + decimal decMinValue = default(decimal), + int intLength = 2, + string strRegexPattern = null) + { + bool result; + switch (inputType) + { + case TextInputType.NotControl: + result = true; + return result; + case TextInputType.UnsignNumber: + if (string.IsNullOrEmpty(strValue)) + { + result = true; + return result; + } + else + { + if (strValue.IndexOf("-") >= 0) + { + result = false; + return result; + } + } + break; + case TextInputType.Number: + if (string.IsNullOrEmpty(strValue)) + { + result = true; + return result; + } + else + { + if (!Regex.IsMatch(strValue, "^-?\\d*(\\.?\\d*)?$")) + { + result = false; + return result; + } + } + break; + case TextInputType.Integer: + if (string.IsNullOrEmpty(strValue)) + { + result = true; + return result; + } + else + { + if (!Regex.IsMatch(strValue, "^-?\\d*$")) + { + result = false; + return result; + } + } + break; + case TextInputType.PositiveInteger: + if (string.IsNullOrEmpty(strValue)) + { + result = true; + return result; + } + else + { + if (!Regex.IsMatch(strValue, "^\\d+$")) + { + result = false; + return result; + } + } + break; + case TextInputType.Regex: + result = (string.IsNullOrEmpty(strRegexPattern) || Regex.IsMatch(strValue, strRegexPattern)); + return result; + } + if (strValue == "-") + { + return true; + } + decimal d; + if (!decimal.TryParse(strValue, out d)) + { + result = false; + } + else if (d < decMinValue || d > decMaxValue) + { + result = false; + } + else + { + if (inputType == TextInputType.Number || inputType == TextInputType.UnsignNumber || inputType == TextInputType.PositiveNumber) + { + if (strValue.IndexOf(".") >= 0) + { + string text = strValue.Substring(strValue.IndexOf(".")); + if (text.Length > intLength + 1) + { + result = false; + return result; + } + } + } + result = true; + } + return result; + } + #endregion + + #region 冻结控件 + /// + /// The m LST freeze control + /// + static Dictionary m_lstFreezeControl = new Dictionary(); + /// + /// 功能描述:停止更新控件 + /// 作  者:HZH + /// 创建日期:2019-07-13 11:11:32 + /// 任务编号:POS + /// + /// control + /// 是否停止更新 + public static void FreezeControl(Control control, bool blnToFreeze) + { + if (blnToFreeze && control.IsHandleCreated && control.Visible && !control.IsDisposed && (!m_lstFreezeControl.ContainsKey(control) || (m_lstFreezeControl.ContainsKey(control) && m_lstFreezeControl[control] == false))) + { + m_lstFreezeControl[control] = true; + control.Disposed += control_Disposed; + NativeMethods.SendMessage(control.Handle, 11, 0, 0); + } + else if (!blnToFreeze && !control.IsDisposed && m_lstFreezeControl.ContainsKey(control) && m_lstFreezeControl[control] == true) + { + m_lstFreezeControl.Remove(control); + NativeMethods.SendMessage(control.Handle, 11, 1, 0); + control.Invalidate(true); + } + } + + /// + /// Handles the Disposed event of the control control. + /// + /// The source of the event. + /// The instance containing the event data. + static void control_Disposed(object sender, EventArgs e) + { + try + { + if (m_lstFreezeControl.ContainsKey((Control)sender)) + m_lstFreezeControl.Remove((Control)sender); + } + catch { } + } + #endregion + + + /// + /// 根据矩形和圆得到一个圆角矩形Path + /// + /// The rect. + /// The corner radius. + /// GraphicsPath. + public static GraphicsPath CreateRoundedRectanglePath(this Rectangle rect, int cornerRadius) + { + GraphicsPath roundedRect = new GraphicsPath(); + roundedRect.AddArc(rect.X, rect.Y, cornerRadius * 2, cornerRadius * 2, 180, 90); + roundedRect.AddLine(rect.X + cornerRadius, rect.Y, rect.Right - cornerRadius * 2, rect.Y); + roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y, cornerRadius * 2, cornerRadius * 2, 270, 90); + roundedRect.AddLine(rect.Right, rect.Y + cornerRadius * 2, rect.Right, rect.Y + rect.Height - cornerRadius * 2); + roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y + rect.Height - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 0, 90); + roundedRect.AddLine(rect.Right - cornerRadius * 2, rect.Bottom, rect.X + cornerRadius * 2, rect.Bottom); + roundedRect.AddArc(rect.X, rect.Bottom - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 90, 90); + roundedRect.AddLine(rect.X, rect.Bottom - cornerRadius * 2, rect.X, rect.Y + cornerRadius * 2); + roundedRect.CloseFigure(); + return roundedRect; + } + + /// + /// Creates the rounded rectangle path. + /// + /// The rect. + /// The corner radius. + /// GraphicsPath. + public static GraphicsPath CreateRoundedRectanglePath(this RectangleF rect, int cornerRadius) + { + GraphicsPath roundedRect = new GraphicsPath(); + roundedRect.AddArc(rect.X, rect.Y, cornerRadius * 2, cornerRadius * 2, 180, 90); + roundedRect.AddLine(rect.X + cornerRadius, rect.Y, rect.Right - cornerRadius * 2, rect.Y); + roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y, cornerRadius * 2, cornerRadius * 2, 270, 90); + roundedRect.AddLine(rect.Right, rect.Y + cornerRadius * 2, rect.Right, rect.Y + rect.Height - cornerRadius * 2); + roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y + rect.Height - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 0, 90); + roundedRect.AddLine(rect.Right - cornerRadius * 2, rect.Bottom, rect.X + cornerRadius * 2, rect.Bottom); + roundedRect.AddArc(rect.X, rect.Bottom - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 90, 90); + roundedRect.AddLine(rect.X, rect.Bottom - cornerRadius * 2, rect.X, rect.Y + cornerRadius * 2); + roundedRect.CloseFigure(); + return roundedRect; + } + /// + /// Gets the colors. + /// + /// The colors. + public static Color[] Colors { get; private set; } + + static ControlHelper() + { + List list = new List(); + list.Add(Color.FromArgb(55, 162, 218)); + list.Add(Color.FromArgb(50, 197, 233)); + list.Add(Color.FromArgb(103, 224, 227)); + list.Add(Color.FromArgb(159, 230, 184)); + list.Add(Color.FromArgb(255, 219, 92)); + list.Add(Color.FromArgb(255, 159, 127)); + list.Add(Color.FromArgb(251, 114, 147)); + list.Add(Color.FromArgb(224, 98, 174)); + list.Add(Color.FromArgb(230, 144, 209)); + list.Add(Color.FromArgb(231, 188, 243)); + list.Add(Color.FromArgb(157, 150, 245)); + list.Add(Color.FromArgb(131, 120, 234)); + list.Add(Color.FromArgb(150, 191, 255)); + + list.Add(Color.FromArgb(243, 67, 54)); + list.Add(Color.FromArgb(156, 39, 176)); + list.Add(Color.FromArgb(103, 58, 183)); + list.Add(Color.FromArgb(63, 81, 181)); + list.Add(Color.FromArgb(33, 150, 243)); + list.Add(Color.FromArgb(0, 188, 211)); + list.Add(Color.FromArgb(3, 169, 244)); + list.Add(Color.FromArgb(0, 150, 136)); + list.Add(Color.FromArgb(139, 195, 74)); + list.Add(Color.FromArgb(76, 175, 80)); + list.Add(Color.FromArgb(204, 219, 57)); + list.Add(Color.FromArgb(233, 30, 99)); + list.Add(Color.FromArgb(254, 234, 59)); + list.Add(Color.FromArgb(254, 192, 7)); + list.Add(Color.FromArgb(254, 152, 0)); + list.Add(Color.FromArgb(255, 87, 34)); + list.Add(Color.FromArgb(121, 85, 72)); + list.Add(Color.FromArgb(158, 158, 158)); + list.Add(Color.FromArgb(96, 125, 139)); + list.Add(Color.FromArgb(252, 117, 85)); + list.Add(Color.FromArgb(172, 113, 191)); + list.Add(Color.FromArgb(115, 131, 253)); + list.Add(Color.FromArgb(78, 206, 255)); + list.Add(Color.FromArgb(121, 195, 82)); + list.Add(Color.FromArgb(255, 163, 28)); + list.Add(Color.FromArgb(255, 185, 15)); + list.Add(Color.FromArgb(255, 181, 197)); + list.Add(Color.FromArgb(255, 110, 180)); + list.Add(Color.FromArgb(255, 69, 0)); + list.Add(Color.FromArgb(255, 48, 48)); + list.Add(Color.FromArgb(154, 205, 50)); + list.Add(Color.FromArgb(155, 205, 155)); + list.Add(Color.FromArgb(154, 50, 205)); + list.Add(Color.FromArgb(131, 111, 255)); + list.Add(Color.FromArgb(124, 205, 124)); + list.Add(Color.FromArgb(0, 206, 209)); + list.Add(Color.FromArgb(0, 178, 238)); + list.Add(Color.FromArgb(56, 142, 142)); + + Type typeFromHandle = typeof(Color); + PropertyInfo[] properties = typeFromHandle.GetProperties(); + PropertyInfo[] array = properties; + for (int i = 0; i < array.Length; i++) + { + PropertyInfo propertyInfo = array[i]; + if (propertyInfo.PropertyType == typeof(Color) && (propertyInfo.Name.StartsWith("Dark") || propertyInfo.Name.StartsWith("Medium"))) + { + object value = propertyInfo.GetValue(null, null); + list.Add((Color)value); + } + } + Colors = list.ToArray(); + } + /// + /// Draws the string. + /// + /// The g. + /// The s. + /// The font. + /// The brush. + /// The point. + /// The format. + /// The angle. + public static void DrawString(Graphics g, string s, Font font, Brush brush, PointF point, StringFormat format, float angle) + { + Matrix transform = g.Transform; + Matrix transform2 = g.Transform; + transform2.RotateAt(angle, point); + g.Transform = transform2; + g.DrawString(s, font, brush, point, format); + g.Transform = transform; + } + + /// + /// Gets the rhombus from rectangle. + /// + /// The rect. + /// Point[]. + public static Point[] GetRhombusFromRectangle(Rectangle rect) + { + return new Point[5] + { + new Point(rect.X, rect.Y + rect.Height / 2), + new Point(rect.X + rect.Width / 2, rect.Y + rect.Height - 1), + new Point(rect.X + rect.Width - 1, rect.Y + rect.Height / 2), + new Point(rect.X + rect.Width / 2, rect.Y), + new Point(rect.X, rect.Y + rect.Height / 2) + }; + } + + /// + /// Computes the paint location y. + /// + /// The maximum. + /// The minimum. + /// The height. + /// The value. + /// System.Single. + public static float ComputePaintLocationY(int max, int min, int height, int value) + { + if ((float)(max - min) == 0f) + { + return height; + } + return (float)height - (float)(value - min) * 1f / (float)(max - min) * (float)height; + } + + /// + /// Computes the paint location y. + /// + /// The maximum. + /// The minimum. + /// The height. + /// The value. + /// System.Single. + public static float ComputePaintLocationY(float max, float min, float height, float value) + { + if (max - min == 0f) + { + return height; + } + return height - (value - min) / (max - min) * height; + } + + + /// + /// Paints the coordinate divide. + /// + /// The g. + /// The pen line. + /// The pen dash. + /// The font. + /// The brush. + /// The sf. + /// The degree. + /// The maximum. + /// The minimum. + /// The width. + /// The height. + /// The left. + /// The right. + /// Up. + /// Down. + public static void PaintCoordinateDivide(Graphics g, System.Drawing.Pen penLine, System.Drawing.Pen penDash, Font font, System.Drawing.Brush brush, StringFormat sf, int degree, int max, int min, int width, int height, int left = 60, int right = 8, int up = 8, int down = 8) + { + for (int i = 0; i <= degree; i++) + { + int value = (max - min) * i / degree + min; + int num = (int)ComputePaintLocationY(max, min, height - up - down, value) + up + 1; + g.DrawLine(penLine, left - 1, num, left - 4, num); + if (i != 0) + { + g.DrawLine(penDash, left, num, width - right, num); + } + g.DrawString(value.ToString(), font, brush, new Rectangle(-5, num - font.Height / 2, left, font.Height), sf); + } + } + + /// + /// Paints the triangle. + /// + /// The g. + /// The brush. + /// The point. + /// The size. + /// The direction. + public static void PaintTriangle(Graphics g, System.Drawing.Brush brush, Point point, int size, GraphDirection direction) + { + Point[] array = new Point[4]; + switch (direction) + { + case GraphDirection.Leftward: + array[0] = new Point(point.X, point.Y - size); + array[1] = new Point(point.X, point.Y + size); + array[2] = new Point(point.X - 2 * size, point.Y); + break; + case GraphDirection.Rightward: + array[0] = new Point(point.X, point.Y - size); + array[1] = new Point(point.X, point.Y + size); + array[2] = new Point(point.X + 2 * size, point.Y); + break; + case GraphDirection.Upward: + array[0] = new Point(point.X - size, point.Y); + array[1] = new Point(point.X + size, point.Y); + array[2] = new Point(point.X, point.Y - 2 * size); + break; + default: + array[0] = new Point(point.X - size, point.Y); + array[1] = new Point(point.X + size, point.Y); + array[2] = new Point(point.X, point.Y + 2 * size); + break; + } + array[3] = array[0]; + g.FillPolygon(brush, array); + } + + /// + /// Paints the triangle. + /// + /// The g. + /// The brush. + /// The point. + /// The size. + /// The direction. + public static void PaintTriangle(Graphics g, System.Drawing.Brush brush, PointF point, int size, GraphDirection direction) + { + PointF[] array = new PointF[4]; + switch (direction) + { + case GraphDirection.Leftward: + array[0] = new PointF(point.X, point.Y - (float)size); + array[1] = new PointF(point.X, point.Y + (float)size); + array[2] = new PointF(point.X - (float)(2 * size), point.Y); + break; + case GraphDirection.Rightward: + array[0] = new PointF(point.X, point.Y - (float)size); + array[1] = new PointF(point.X, point.Y + (float)size); + array[2] = new PointF(point.X + (float)(2 * size), point.Y); + break; + case GraphDirection.Upward: + array[0] = new PointF(point.X - (float)size, point.Y); + array[1] = new PointF(point.X + (float)size, point.Y); + array[2] = new PointF(point.X, point.Y - (float)(2 * size)); + break; + default: + array[0] = new PointF(point.X - (float)size, point.Y); + array[1] = new PointF(point.X + (float)size, point.Y); + array[2] = new PointF(point.X, point.Y + (float)(2 * size)); + break; + } + array[3] = array[0]; + g.FillPolygon(brush, array); + } + + /// + /// Adds the array data. + /// + /// + /// The array. + /// The data. + /// The maximum. + public static void AddArrayData(ref T[] array, T[] data, int max) + { + if (data == null || data.Length == 0) + { + return; + } + if (array.Length == max) + { + Array.Copy(array, data.Length, array, 0, array.Length - data.Length); + Array.Copy(data, 0, array, array.Length - data.Length, data.Length); + } + else if (array.Length + data.Length > max) + { + T[] array2 = new T[max]; + for (int i = 0; i < max - data.Length; i++) + { + array2[i] = array[i + (array.Length - max + data.Length)]; + } + for (int j = 0; j < data.Length; j++) + { + array2[array2.Length - data.Length + j] = data[j]; + } + array = array2; + } + else + { + T[] array3 = new T[array.Length + data.Length]; + for (int k = 0; k < array.Length; k++) + { + array3[k] = array[k]; + } + for (int l = 0; l < data.Length; l++) + { + array3[array3.Length - data.Length + l] = data[l]; + } + array = array3; + } + } + + /// + /// Converts the size. + /// + /// The size. + /// The angle. + /// SizeF. + public static SizeF ConvertSize(SizeF size, float angle) + { + System.Drawing.Drawing2D.Matrix matrix = new System.Drawing.Drawing2D.Matrix(); + matrix.Rotate(angle); + PointF[] array = new PointF[4]; + array[0].X = (0f - size.Width) / 2f; + array[0].Y = (0f - size.Height) / 2f; + array[1].X = (0f - size.Width) / 2f; + array[1].Y = size.Height / 2f; + array[2].X = size.Width / 2f; + array[2].Y = size.Height / 2f; + array[3].X = size.Width / 2f; + array[3].Y = (0f - size.Height) / 2f; + matrix.TransformPoints(array); + float num = float.MaxValue; + float num2 = float.MinValue; + float num3 = float.MaxValue; + float num4 = float.MinValue; + PointF[] array2 = array; + for (int i = 0; i < array2.Length; i++) + { + PointF pointF = array2[i]; + if (pointF.X < num) + { + num = pointF.X; + } + if (pointF.X > num2) + { + num2 = pointF.X; + } + if (pointF.Y < num3) + { + num3 = pointF.Y; + } + if (pointF.Y > num4) + { + num4 = pointF.Y; + } + } + return new SizeF(num2 - num, num4 - num3); + } + + + + /// + /// Gets the pow. + /// + /// The digit. + /// System.Int32. + private static int GetPow(int digit) + { + int num = 1; + for (int i = 0; i < digit; i++) + { + num *= 10; + } + return num; + } + + /// + /// Calculates the maximum section from. + /// + /// The values. + /// System.Int32. + public static double CalculateMaxSectionFrom(double[] values) + { + double num = values.Max(); + return CalculateMaxSection(num); + } + + public static double CalculateMaxSectionFrom(double[][] values) + { + double num = values.Max(p => p.Max()); + return CalculateMaxSection(num); + } + + private static double CalculateMaxSection(double num) + { + if (num <= 5) + { + return 5; + } + if (num <= 10) + { + return 10; + } + int digit = num.ToString().Length - 2; + int num2 = int.Parse(num.ToString().Substring(0, 2)); + if (num2 < 12) + { + return 12 * GetPow(digit); + } + if (num2 < 14) + { + return 14 * GetPow(digit); + } + if (num2 < 16) + { + return 16 * GetPow(digit); + } + if (num2 < 18) + { + return 18 * GetPow(digit); + } + if (num2 < 20) + { + return 20 * GetPow(digit); + } + if (num2 < 22) + { + return 22 * GetPow(digit); + } + if (num2 < 24) + { + return 24 * GetPow(digit); + } + if (num2 < 26) + { + return 26 * GetPow(digit); + } + if (num2 < 28) + { + return 28 * GetPow(digit); + } + if (num2 < 30) + { + return 30 * GetPow(digit); + } + if (num2 < 40) + { + return 40 * GetPow(digit); + } + if (num2 < 50) + { + return 50 * GetPow(digit); + } + if (num2 < 60) + { + return 60 * GetPow(digit); + } + if (num2 < 80) + { + return 80 * GetPow(digit); + } + return 100 * GetPow(digit); + } + + /// + /// Gets the color light. + /// + /// The color. + /// System.Drawing.Color. + public static System.Drawing.Color GetColorLight(System.Drawing.Color color) + { + return System.Drawing.Color.FromArgb(color.R + (255 - color.R) * 40 / 100, color.G + (255 - color.G) * 40 / 100, color.B + (255 - color.B) * 40 / 100); + } + + /// + /// Gets the color light five. + /// + /// The color. + /// System.Drawing.Color. + public static System.Drawing.Color GetColorLightFive(System.Drawing.Color color) + { + return System.Drawing.Color.FromArgb(color.R + (255 - color.R) * 50 / 100, color.G + (255 - color.G) * 50 / 100, color.B + (255 - color.B) * 50 / 100); + } + + /// + /// Gets the points from. + /// + /// The points. + /// Width of the soure. + /// Height of the source. + /// The width. + /// The height. + /// The dx. + /// The dy. + /// PointF[]. + public static PointF[] GetPointsFrom(string points, float soureWidth, float sourceHeight, float width, float height, float dx = 0f, float dy = 0f) + { + string[] array = points.Split(new char[1] + { + ' ' + }, StringSplitOptions.RemoveEmptyEntries); + PointF[] array2 = new PointF[array.Length]; + for (int i = 0; i < array.Length; i++) + { + int num = array[i].IndexOf(','); + float num2 = Convert.ToSingle(array[i].Substring(0, num)); + float num3 = Convert.ToSingle(array[i].Substring(num + 1)); + array2[i] = new PointF(width * (num2 + dx) / soureWidth, height * (num3 + dy) / sourceHeight); + } + return array2; + } + + public static bool IsDesignMode() + { + bool returnFlag = false; + + if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) + { + returnFlag = true; + } + else if (Process.GetCurrentProcess().ProcessName == "devenv") + { + returnFlag = true; + } + + return returnFlag; + } + + #region 滚动条 English:scroll bar + static uint SB_HORZ = 0x0; + static uint SB_VERT = 0x1; + static uint SB_CTL = 0x2; + static uint SB_BOTH = 0x3; + [DllImport("user32.dll", SetLastError = true, EntryPoint = "GetScrollInfo")] + private static extern int GetScrollInfo(IntPtr hWnd, uint fnBar, ref SCROLLINFO psbi); + [DllImport("user32.dll")]//[return: MarshalAs(UnmanagedType.Bool)] + private static extern int SetScrollInfo(IntPtr handle, uint fnBar, ref SCROLLINFO si, bool fRedraw); + + [DllImport("user32.dll", EntryPoint = "PostMessage")] + private static extern bool PostMessage(IntPtr handle, int msg, uint wParam, uint lParam); + [DllImport("User32.dll", EntryPoint = "SendMessage")] + private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + /// + /// ShowScrollBar + /// + /// hWnd + /// 0:horizontal,1:vertical,3:both + /// bShow + /// + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow); + /// + ///获取水平滚动条信息 + /// + /// The h WND. + /// Scrollbarinfo. + public static SCROLLINFO GetHScrollBarInfo(IntPtr hWnd) + { + SCROLLINFO info = new SCROLLINFO(); + info.cbSize = (int)Marshal.SizeOf(info); + info.fMask = (int)ScrollInfoMask.SIF_DISABLENOSCROLL | (int)ScrollInfoMask.SIF_ALL; + int intRef = GetScrollInfo(hWnd, SB_HORZ, ref info); + return info; + } + /// + /// 获取垂直滚动条信息 + /// + /// The h WND. + /// Scrollbarinfo. + public static SCROLLINFO GetVScrollBarInfo(IntPtr hWnd) + { + SCROLLINFO info = new SCROLLINFO(); + info.cbSize = (int)Marshal.SizeOf(info); + info.fMask = (int)ScrollInfoMask.SIF_DISABLENOSCROLL | (int)ScrollInfoMask.SIF_ALL; + int intRef = GetScrollInfo(hWnd, SB_VERT, ref info); + return info; + } + public struct SCROLLINFO + { + public int cbSize; + public int fMask; + public int nMin; + public int nMax; + public int nPage; + public int nPos; + public int nTrackPos; + public int ScrollMax { get { return nMax + 1 - nPage; } } + } + public enum ScrollInfoMask : uint + { + SIF_RANGE = 0x1, + SIF_PAGE = 0x2, + SIF_POS = 0x4, + SIF_DISABLENOSCROLL = 0x8, + SIF_TRACKPOS = 0x10, + SIF_ALL = (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS), + SB_THUMBTRACK = 5, + WM_HSCROLL = 0x0114, + WM_VSCROLL = 0x0115, + SB_LINEUP = 0, + SB_LINEDOWN = 1, + SB_LINELEFT = 0, + SB_LINERIGHT = 1, + } + + public static void SetVScrollValue(IntPtr handle, int value) + { + var info = GetVScrollBarInfo(handle); + info.nPos = value; + SetScrollInfo(handle, SB_VERT, ref info, true); + PostMessage(handle, (int)ScrollInfoMask.WM_VSCROLL, MakeLong((short)ScrollInfoMask.SB_THUMBTRACK, highPart: (short)info.nPos), 0); + } + public static void SetHScrollValue(IntPtr handle, int value) + { + var info = GetHScrollBarInfo(handle); + info.nPos = value; + SetScrollInfo(handle, SB_HORZ, ref info, true); + PostMessage(handle, (int)ScrollInfoMask.WM_HSCROLL, MakeLong((short)ScrollInfoMask.SB_THUMBTRACK, highPart: (short)info.nPos), 0); + } + private static uint MakeLong(short lowPart, short highPart) + { + return (ushort)lowPart | (uint)(highPart << 16); + } + /// + /// 控件向上滚动一个单位 + /// + /// 控件句柄 + public static void ScrollUp(IntPtr handle) + { + SendMessage(handle, (int)ScrollInfoMask.WM_VSCROLL, (int)ScrollInfoMask.SB_LINEUP, 0); + } + + /// + /// 控件向下滚动一个单位 + /// + /// 控件句柄 + public static void ScrollDown(IntPtr handle) + { + SendMessage(handle, (int)ScrollInfoMask.WM_VSCROLL, (int)ScrollInfoMask.SB_LINEDOWN, 0); + } + /// + /// 控件向左滚动一个单位 + /// + /// 控件句柄 + public static void ScrollLeft(IntPtr handle) + { + SendMessage(handle, (int)ScrollInfoMask.WM_HSCROLL, (int)ScrollInfoMask.SB_LINELEFT, 0); + } + + /// + /// 控件向右滚动一个单位 + /// + /// 控件句柄 + public static void ScrollRight(IntPtr handle) + { + SendMessage(handle, (int)ScrollInfoMask.WM_VSCROLL, (int)ScrollInfoMask.SB_LINERIGHT, 0); + } + #endregion + + + /// + /// 返回指定图片中的非透明区域; + /// + /// 位图 + /// + public static GraphicsPath CalculateControlGraphicsPath(Bitmap bitmap, Color? colorTransparent = null) + { + // Create GraphicsPath for our bitmap calculation + //创建 GraphicsPath + GraphicsPath graphicsPath = new GraphicsPath(); + // Use the top left pixel as our transparent color + //使用左上角的一点的颜色作为我们透明色 + + Color _colorTransparent = bitmap.GetPixel(0, 0); + if (colorTransparent != null && colorTransparent != Color.Transparent && colorTransparent != Color.Empty) + _colorTransparent = colorTransparent.Value; + // This is to store the column value where an opaque pixel is first found. + // This value will determine where we start scanning for trailing opaque pixels. + //第一个找到点的X + int colOpaquePixel = 0; + // Go through all rows (Y axis) + // 偏历所有行(Y方向) + for (int row = 0; row < bitmap.Height; row++) + { + // Reset value + //重设 + colOpaquePixel = 0; + // Go through all columns (X axis) + //偏历所有列(X方向) + for (int col = 0; col < bitmap.Width; col++) + { + // If this is an opaque pixel, mark it and search for anymore trailing behind + //如果是不需要透明处理的点则标记,然后继续偏历 + if (bitmap.GetPixel(col, row) != _colorTransparent) + { + // Opaque pixel found, mark current position + //记录当前 + colOpaquePixel = col; + // Create another variable to set the current pixel position + //建立新变量来记录当前点 + int colNext = col; + // Starting from current found opaque pixel, search for anymore opaque pixels + // trailing behind, until a transparent pixel is found or minimum width is reached + ///从找到的不透明点开始,继续寻找不透明点,一直到找到或则达到图片宽度 + for (colNext = colOpaquePixel; colNext < bitmap.Width; colNext++) + if (bitmap.GetPixel(colNext, row) == _colorTransparent) + break; + // Form a rectangle for line of opaque pixels found and add it to our graphics path + //将不透明点加到graphics path + graphicsPath.AddRectangle(new Rectangle(colOpaquePixel, row, colNext - colOpaquePixel, 1)); + // No need to scan the line of opaque pixels just found + col = colNext; + } + } + } + // Return calculated graphics path + return graphicsPath; + } + + /// + /// 颜色加深 + /// + /// + /// -1.0f <= correctionFactor <= 1.0f + /// + public static Color ChangeColor(this Color color, float correctionFactor) + { + float red = (float)color.R; + float green = (float)color.G; + float blue = (float)color.B; + + if (correctionFactor < 0) + { + correctionFactor = 1 + correctionFactor; + red *= correctionFactor; + green *= correctionFactor; + blue *= correctionFactor; + } + else + { + red = (255 - red) * correctionFactor + red; + green = (255 - green) * correctionFactor + green; + blue = (255 - blue) * correctionFactor + blue; + } + + if (red < 0) red = 0; + + if (red > 255) red = 255; + + if (green < 0) green = 0; + + if (green > 255) green = 255; + + if (blue < 0) blue = 0; + + if (blue > 255) blue = 255; + + + + return Color.FromArgb(color.A, (int)red, (int)green, (int)blue); + } + + + /// + /// 相对于屏幕显示的位置 + /// + /// 窗体需要显示的屏幕 + /// left + /// top + /// + public static Point GetScreenLocation(Screen screen, int left, int top) + { + return new Point(screen.Bounds.Left + left, screen.Bounds.Top + top); + } + } + + public enum GraphDirection + { + /// + /// The upward + /// + Upward = 1, + /// + /// The downward + /// + Downward, + /// + /// The leftward + /// + Leftward, + /// + /// The rightward + /// + Rightward + } + + /// + /// 功能描述:文本控件输入类型 + /// 作  者:HZH + /// 创建日期:2019-02-28 10:09:00 + /// + public enum TextInputType + { + /// + /// 不控制输入 + /// + [Description("不控制输入")] + NotControl = 1, + /// + /// 任意数字 + /// + [Description("任意数字")] + Number = 2, + /// + /// 非负数 + /// + [Description("非负数")] + UnsignNumber = 4, + /// + /// 正数 + /// + [Description("正数")] + PositiveNumber = 8, + /// + /// 整数 + /// + [Description("整数")] + Integer = 16, + /// + /// 非负整数 + /// + [Description("非负整数")] + PositiveInteger = 32, + /// + /// 正则验证 + /// + [Description("正则验证")] + Regex = 64 + } +} \ No newline at end of file diff --git a/JinYuan.ControlLib/UCHelper/DpiControl.cs b/JinYuan.ControlLib/UCHelper/DpiControl.cs new file mode 100644 index 0000000..de780c6 --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/DpiControl.cs @@ -0,0 +1,65 @@ +using System.ComponentModel; +using System.Drawing.Design; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 缩放控件基类 + /// + [Description("缩放控件基类")] + [ToolboxItem(true)] + public abstract class DpiControl : Control, IDpiControl + { + #region 新增属性 + + private float scaleDpi = 1.0f; + /// + /// 控件当前缩放Dpi + /// + [Description("控件当前缩放Dpi")] + [Browsable(false)] + [Localizable(false)] + [EditorBrowsable(EditorBrowsableState.Never)] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public virtual float ScaleDpi + { + get { return this.scaleDpi; } + set + { + if (value <= 0) + return; + + this.scaleDpi = value; + this.OnScaleDpiChangedInitialize(); + } + } + + #endregion + + public DpiControl() + { + + } + + #region 重写 + + protected override void CreateHandle() + { + base.CreateHandle(); + + this.ScaleDpi = DpiHelper.GetControlDpi(this); + } + + #endregion + + #region 要实现 + + /// + /// 控件DPI更改后重新初始化控件Rectangle信息 + /// + protected abstract void OnScaleDpiChangedInitialize(); + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCHelper/DpiHelper.cs b/JinYuan.ControlLib/UCHelper/DpiHelper.cs new file mode 100644 index 0000000..19a23fe --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/DpiHelper.cs @@ -0,0 +1,53 @@ +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 系统缩放比例 + /// + public class DpiHelper + { + #region 公开方法 + + /// + /// 获取控件对应的系统缩放比例 + /// + /// + /// + public static float GetControlDpi(Control control) + { + IntPtr hDC = IntPtr.Zero; + Graphics g = null; + ControlHelper.GetWindowClientGraphics(control.Handle, out g, out hDC); + + float dpi = g.DpiX / 96f; + + g.Dispose(); + NativeMethods.ReleaseDC(control.Handle, hDC); + + return dpi; + } + + /// + /// 获取控件对应的系统缩放比例 + /// + /// + /// + public static float GetControlDpi(IntPtr hWnd) + { + IntPtr hDC = IntPtr.Zero; + Graphics g = null; + ControlHelper.GetWindowClientGraphics(hWnd, out g, out hDC); + + float dpi = g.DpiX / 96f; + + g.Dispose(); + NativeMethods.ReleaseDC(hWnd, hDC); + + return dpi; + } + #endregion + } +} diff --git a/JinYuan.ControlLib/UCHelper/Ext.cs b/JinYuan.ControlLib/UCHelper/Ext.cs new file mode 100644 index 0000000..2dbceda --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/Ext.cs @@ -0,0 +1,474 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System; +using System.Reflection; +using System.Text; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// Class Ext. + /// + public static partial class Ext + { + /// + /// Clones the model. + /// + /// + /// The class object. + /// T. + public static T CloneModel(this T classObject) where T : class + { + T result; + if (classObject == null) + { + result = default(T); + } + else + { + object obj = Activator.CreateInstance(typeof(T)); + PropertyInfo[] properties = typeof(T).GetProperties(); + PropertyInfo[] array = properties; + for (int i = 0; i < array.Length; i++) + { + PropertyInfo propertyInfo = array[i]; + if (propertyInfo.CanWrite) + propertyInfo.SetValue(obj, propertyInfo.GetValue(classObject, null), null); + } + result = (obj as T); + } + return result; + } + /// + /// ASCII编码的数组转换为英文字符串 + /// + /// 字符串 + /// 结果 + public static string ToEnString(this byte[] s) + { + return ToEncodeString(s, Encoding.ASCII).Trim('\0').Trim(); + } + + /// + /// 数组按指定编码转换为字符串 + /// + /// 数组 + /// 编码 + /// 结果 + public static string ToEncodeString(this byte[] dealBytes, Encoding encode) + { + return encode.GetString(dealBytes); + } + #region 转换为base64字符串 + /// + /// 功能描述:转换为base64字符串 + /// 作  者:HZH + /// 创建日期:2019-03-29 10:12:38 + /// 任务编号:POS + /// + /// data + /// 返回值 + public static string ToBase64Str(this string data) + { + if (data.IsEmpty()) + return string.Empty; + byte[] buffer = Encoding.Default.GetBytes(data); + return Convert.ToBase64String(buffer); + } + #endregion + /// + /// 转换为坐标 + /// + /// The data. + /// System.Drawing.Point. + public static System.Drawing.Point ToPoint(this string data) + { + if (!System.Text.RegularExpressions.Regex.IsMatch(data, @"^\s*\d+(\.\d+)?\s*\,\s*\d+(\.\d+)?\s*$")) + { + return System.Drawing.Point.Empty; + } + else + { + string[] strs = data.Split(','); + return new System.Drawing.Point(strs[0].ToInt(), strs[1].ToInt()); + } + } + + #region 数值转换 + /// + /// 转换为整型 + /// + /// 数据 + /// System.Int32. + public static int ToInt(this object data) + { + if (data == null) + return 0; + if (data is bool) + { + return (bool)data ? 1 : 0; + } + int result; + var success = int.TryParse(data.ToString(), out result); + if (success) + return result; + try + { + return Convert.ToInt32(ToDouble(data, 0)); + } + catch (Exception) + { + return 0; + } + } + + /// + /// 转换为可空整型 + /// + /// 数据 + /// System.Nullable<System.Int32>. + public static int? ToIntOrNull(this object data) + { + if (data == null) + return null; + int result; + bool isValid = int.TryParse(data.ToString(), out result); + if (isValid) + return result; + return null; + } + + /// + /// 转换为双精度浮点数 + /// + /// 数据 + /// System.Double. + public static double ToDouble(this object data) + { + if (data == null) + return 0; + double result; + return double.TryParse(data.ToString(), out result) ? result : 0; + } + + /// + /// 转换为双精度浮点数,并按指定的小数位4舍5入 + /// + /// 数据 + /// 小数位数 + /// System.Double. + public static double ToDouble(this object data, int digits) + { + return Math.Round(ToDouble(data), digits, System.MidpointRounding.AwayFromZero); + } + + /// + /// 转换为可空双精度浮点数 + /// + /// 数据 + /// System.Nullable<System.Double>. + public static double? ToDoubleOrNull(this object data) + { + if (data == null) + return null; + double result; + bool isValid = double.TryParse(data.ToString(), out result); + if (isValid) + return result; + return null; + } + + /// + /// 转换为高精度浮点数 + /// + /// 数据 + /// System.Decimal. + public static decimal ToDecimal(this object data) + { + if (data == null) + return 0; + decimal result; + return decimal.TryParse(data.ToString(), out result) ? result : 0; + } + + /// + /// 转换为高精度浮点数,并按指定的小数位4舍5入 + /// + /// 数据 + /// 小数位数 + /// System.Decimal. + public static decimal ToDecimal(this object data, int digits) + { + return Math.Round(ToDecimal(data), digits, System.MidpointRounding.AwayFromZero); + } + + /// + /// 转换为可空高精度浮点数 + /// + /// 数据 + /// System.Nullable<System.Decimal>. + public static decimal? ToDecimalOrNull(this object data) + { + if (data == null) + return null; + decimal result; + bool isValid = decimal.TryParse(data.ToString(), out result); + if (isValid) + return result; + return null; + } + + /// + /// 转换为可空高精度浮点数,并按指定的小数位4舍5入 + /// + /// 数据 + /// 小数位数 + /// System.Nullable<System.Decimal>. + public static decimal? ToDecimalOrNull(this object data, int digits) + { + var result = ToDecimalOrNull(data); + if (result == null) + return null; + return Math.Round(result.Value, digits, System.MidpointRounding.AwayFromZero); + } + + #endregion + + #region 日期转换 + /// + /// 转换为日期 + /// + /// 数据 + /// DateTime. + public static DateTime ToDate(this object data) + { + try + { + if (data == null) + return DateTime.MinValue; + if (System.Text.RegularExpressions.Regex.IsMatch(data.ToStringExt(), @"^\d{8}$")) + { + string strValue = data.ToStringExt(); + return new DateTime(strValue.Substring(0, 4).ToInt(), strValue.Substring(4, 2).ToInt(), strValue.Substring(6, 2).ToInt()); + } + DateTime result; + return DateTime.TryParse(data.ToString(), out result) ? result : DateTime.MinValue; + } + catch + { + return DateTime.MinValue; + } + } + + /// + /// 转换为可空日期 + /// + /// 数据 + /// System.Nullable<DateTime>. + public static DateTime? ToDateOrNull(this object data) + { + try + { + if (data == null) + return null; + if (System.Text.RegularExpressions.Regex.IsMatch(data.ToStringExt(), @"^\d{8}$")) + { + string strValue = data.ToStringExt(); + return new DateTime(strValue.Substring(0, 4).ToInt(), strValue.Substring(4, 2).ToInt(), strValue.Substring(6, 2).ToInt()); + } + DateTime result; + bool isValid = DateTime.TryParse(data.ToString(), out result); + if (isValid) + return result; + return null; + } + catch + { + return null; + } + } + + #endregion + + #region 布尔转换 + /// + /// 转换为布尔值 + /// + /// 数据 + /// true if XXXX, false otherwise. + public static bool ToBool(this object data) + { + if (data == null) + return false; + bool? value = GetBool(data); + if (value != null) + return value.Value; + bool result; + return bool.TryParse(data.ToString(), out result) && result; + } + + /// + /// 获取布尔值 + /// + /// The data. + /// true if XXXX, false otherwise. + private static bool? GetBool(this object data) + { + switch (data.ToString().Trim().ToLower()) + { + case "0": + return false; + case "1": + return true; + case "是": + return true; + case "否": + return false; + case "yes": + return true; + case "no": + return false; + default: + return null; + } + } + + /// + /// 转换为可空布尔值 + /// + /// 数据 + /// true if XXXX, false otherwise. + public static bool? ToBoolOrNull(this object data) + { + if (data == null) + return null; + bool? value = GetBool(data); + if (value != null) + return value.Value; + bool result; + bool isValid = bool.TryParse(data.ToString(), out result); + if (isValid) + return result; + return null; + } + + #endregion + + #region 字符串转换 + /// + /// 字符串转换为byte[] + /// + /// The data. + /// System.Byte[]. + public static byte[] ToBytes(this string data) + { + return System.Text.Encoding.GetEncoding("GBK").GetBytes(data); + } + /// + /// Converts to bytesdefault. + /// + /// The data. + /// System.Byte[]. + public static byte[] ToBytesDefault(this string data) + { + return System.Text.Encoding.Default.GetBytes(data); + } + /// + /// 转换为字符串 + /// + /// 数据 + /// System.String. + public static string ToStringExt(this object data) + { + return data == null ? string.Empty : data.ToString(); + } + #endregion + + /// + /// 安全返回值 + /// + /// + /// 可空值 + /// T. + public static T SafeValue(this T? value) where T : struct + { + return value ?? default(T); + } + /// + /// 是否为空 + /// + /// 值 + /// true if the specified value is empty; otherwise, false. + public static bool IsEmpty(this string value) + { + return string.IsNullOrWhiteSpace(value); + } + /// + /// 是否为空 + /// + /// 值 + /// true if the specified value is empty; otherwise, false. + public static bool IsEmpty(this Guid? value) + { + if (value == null) + return true; + return IsEmpty(value.Value); + } + /// + /// 是否为空 + /// + /// 值 + /// true if the specified value is empty; otherwise, false. + public static bool IsEmpty(this Guid value) + { + if (value == Guid.Empty) + return true; + return false; + } + /// + /// 是否为空 + /// + /// 值 + /// true if the specified value is empty; otherwise, false. + public static bool IsEmpty(this object value) + { + if (value != null && !string.IsNullOrEmpty(value.ToString())) + { + return false; + } + else + { + return true; + } + } + + #region 是否数字 + /// + /// 功能描述:是否数字 + /// 作  者:HZH + /// 创建日期:2019-03-06 09:03:05 + /// 任务编号:POS + /// + /// value + /// 返回值 + public static bool IsNum(this string value) + { + return System.Text.RegularExpressions.Regex.IsMatch(value, @"^\d+(\.\d*)?$"); + } + #endregion + + } +} diff --git a/JinYuan.ControlLib/UCHelper/IDpiControl.cs b/JinYuan.ControlLib/UCHelper/IDpiControl.cs new file mode 100644 index 0000000..3984bd3 --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/IDpiControl.cs @@ -0,0 +1,13 @@ +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 缩放控件接口 + /// + public interface IDpiControl + { + /// + /// Dpi + /// + float ScaleDpi { get; set; } + } +} diff --git a/JinYuan.ControlLib/UCHelper/MainThreadAnimationControl.cs b/JinYuan.ControlLib/UCHelper/MainThreadAnimationControl.cs new file mode 100644 index 0000000..6138296 --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/MainThreadAnimationControl.cs @@ -0,0 +1,159 @@ +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Threading; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 主线程动画控件基类,不能时耗时操作,该定时器时UI线程计时器。耗时长对导致画面卡顿。 + /// + [ToolboxItem(false)] + [Description("动画控件基类")] + public abstract class MainThreadAnimationControl : DpiControl + { + #region 字段 + + /// + /// 动画控件集合锁 + /// + private static object animationcontrols_lock = new object(); + /// + /// 动画控件集合 + /// + private static List animationcontrols = new List(); + /// + /// 动画定时器锁 + /// + private static object timer_lock = new object(); + + /// + /// 定时器间隔 + /// + private static Thread thread = null; + /// + /// 线程间隔 + /// + private static int threadInterval = 100; + + + private static CancellationTokenSource cts = new CancellationTokenSource(); + /// + /// 停止线程 + /// + private static ManualResetEvent stopEvent = new ManualResetEvent(false); + + //private static Timer timer = null; + + #endregion + + public MainThreadAnimationControl() + { + if (thread == null) + { + lock (timer_lock) + { + thread = new Thread(() => ThreadFunction()); + thread.IsBackground = true; + thread.Start(); + } + } + } + + #region 虚方法 + + /// + /// 动画控件动画中要处理的内容(不能时耗时操作,该定时器为UI线程计时器。耗时长对导致画面卡顿) + /// + /// 动画定时器间隔时间 + protected virtual void Animationing(int interval) + { + + } + + #endregion + + #region 私有方法 + + /// + /// 定时器事件 + /// + /// + /// + internal static void ThreadFunction() + { + ArrayList indexArr = new ArrayList(); + while (true) + { + if (cts.Token.IsCancellationRequested) + { + return; + } + // stopEvent.WaitOne(); + + for (int i = 0; i < animationcontrols.Count; i++) + { + if (animationcontrols[i] != null) + { + animationcontrols[i].Animationing(threadInterval); + } + else + { + indexArr.Add(i); + } + } + + if (indexArr.Count > 0) + { + for (int i = 0; i < indexArr.Count; i++) + { + animationcontrols.RemoveAt((int)indexArr[i] - i); + } + } + if (animationcontrols.Count < 1) + { + stopEvent.Set(); + } + + Thread.Sleep(threadInterval); + } + } + + /// + /// 开始指定控件动画 + /// + /// + internal static void AnimationStart(MainThreadAnimationControl control) + { + if (control == null) + return; + + lock (animationcontrols_lock) + { + if (animationcontrols.IndexOf(control) < 0) + { + animationcontrols.Add(control); + } + } + stopEvent.Reset(); + } + + /// + /// 停止指定控件动画 + /// + /// + internal static void AnimationStop(MainThreadAnimationControl control) + { + if (control == null) + return; + + lock (animationcontrols_lock) + { + animationcontrols.Remove(control); + } + } + + #endregion + + } +} diff --git a/JinYuan.ControlLib/UCHelper/MouseHook.cs b/JinYuan.ControlLib/UCHelper/MouseHook.cs new file mode 100644 index 0000000..e6cf444 --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/MouseHook.cs @@ -0,0 +1,195 @@ +using System; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 鼠标全局钩子 + /// + public static class MouseHook + { + /// + /// The wm mousemove + /// + private const int WM_MOUSEMOVE = 0x200; + /// + /// The wm lbuttondown + /// + private const int WM_LBUTTONDOWN = 0x201; + /// + /// The wm rbuttondown + /// + private const int WM_RBUTTONDOWN = 0x204; + /// + /// The wm mbuttondown + /// + private const int WM_MBUTTONDOWN = 0x207; + /// + /// The wm lbuttonup + /// + private const int WM_LBUTTONUP = 0x202; + /// + /// The wm rbuttonup + /// + private const int WM_RBUTTONUP = 0x205; + /// + /// The wm mbuttonup + /// + private const int WM_MBUTTONUP = 0x208; + /// + /// The wm lbuttondblclk + /// + private const int WM_LBUTTONDBLCLK = 0x203; + /// + /// The wm rbuttondblclk + /// + private const int WM_RBUTTONDBLCLK = 0x206; + /// + /// The wm mbuttondblclk + /// + private const int WM_MBUTTONDBLCLK = 0x209; + + /// + /// 点 + /// + [StructLayout(LayoutKind.Sequential)] + public class POINT + { + /// + /// The x + /// + public int x; + /// + /// The y + /// + public int y; + } + + /// + /// 钩子结构体 + /// + [StructLayout(LayoutKind.Sequential)] + public class MouseHookStruct + { + /// + /// The pt + /// + public POINT pt; + /// + /// The h WND + /// + public int hWnd; + /// + /// The w hit test code + /// + public int wHitTestCode; + /// + /// The dw extra information + /// + public int dwExtraInfo; + } + + + // 全局的鼠标事件 + /// + /// Occurs when [on mouse activity]. + /// + public static event MouseEventHandler OnMouseActivity; + + + /// + /// The h mouse hook + /// + private static int _hMouseHook = 0; // 鼠标钩子句柄 + /// + /// 启动全局钩子 + /// + /// SetWindowsHookEx failed. + /// SetWindowsHookEx failed. + public static void Start() + { + // 安装鼠标钩子 + if (_hMouseHook != 0) + { + Stop(); + } + // 生成一个HookProc的实例. + WindowsHook.HookMsgChanged += WindowsHook_HookMsgChanged; + _hMouseHook = WindowsHook.StartHook(HookType.WH_MOUSE_LL); + + //假设装置失败停止钩子 + if (_hMouseHook == 0) + { + Stop(); + } + } + + static void WindowsHook_HookMsgChanged(string strHookName, int nCode, IntPtr msg, IntPtr lParam) + { + // 假设正常执行而且用户要监听鼠标的消息 + if (nCode >= 0 && OnMouseActivity != null) + { + MouseButtons button = MouseButtons.None; + int clickCount = 0; + + switch ((int)msg) + { + case WM_LBUTTONDOWN: + button = MouseButtons.Left; + clickCount = 1; + break; + case WM_LBUTTONUP: + button = MouseButtons.Left; + clickCount = 1; + break; + case WM_LBUTTONDBLCLK: + button = MouseButtons.Left; + clickCount = 2; + break; + case WM_RBUTTONDOWN: + button = MouseButtons.Right; + clickCount = 1; + break; + case WM_RBUTTONUP: + button = MouseButtons.Right; + clickCount = 1; + break; + case WM_RBUTTONDBLCLK: + button = MouseButtons.Right; + clickCount = 2; + break; + } + if (button != MouseButtons.None && clickCount > 0) + { + // 从回调函数中得到鼠标的信息 + MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct)); + MouseEventArgs e = new MouseEventArgs(button, clickCount, MyMouseHookStruct.pt.x, MyMouseHookStruct.pt.y, 0); + OnMouseActivity(null, e); + } + } + } + + /// + /// 停止全局钩子 + /// + /// UnhookWindowsHookEx failed. + /// UnhookWindowsHookEx failed. + public static void Stop() + { + bool retMouse = true; + + if (_hMouseHook != 0) + { + retMouse = WindowsHook.StopHook(_hMouseHook); + _hMouseHook = 0; + } + + // 假设卸下钩子失败 + if (!(retMouse)) + throw new Exception("UnhookWindowsHookEx failed."); + } + + + } +} diff --git a/JinYuan.ControlLib/UCHelper/NativeMethods.cs b/JinYuan.ControlLib/UCHelper/NativeMethods.cs new file mode 100644 index 0000000..7a8848f --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/NativeMethods.cs @@ -0,0 +1,312 @@ +using System; +using System.Runtime.InteropServices; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// Win32 + /// + public static class NativeMethods + { + #region 消息 + + public const int WM_USER = 0x0400;//用户自定义消息 + public const int WM_USER_DROPDROWLISTPLUS_MOUSEENTER = NativeMethods.WM_USER + 10;// DropDrowListPlus MouseEnter消息 + public const int WM_USER_DROPDROWLISTPLUS_MOUSELEAVE = NativeMethods.WM_USER + 11;// DropDrowListPlus MouseLeave消息 + public const int WM_USER_DROPDROWLISTPLUS_MOUSEDOWN = NativeMethods.WM_USER + 12;// DropDrowListPlus MouseDown消息 + public const int WM_USER_DROPDROWLISTPLUS_MOUSEUP = NativeMethods.WM_USER + 13;// DropDrowListPlus MouseUp消息 + public const int WM_USER_DROPDROWLISTPLUS_MOUSEMOVE = NativeMethods.WM_USER + 14;// DropDrowListPlus MouseMove消息 + public const int WM_USER_DROPDROWLISTPLUS_CLOSED = NativeMethods.WM_USER + 15;// DropDrowListPlus 下拉面板Closed消息 + public const int WM_USER_DROPDROWLISTPLUS_MOUSEWHEEL = NativeMethods.WM_USER + 16;// DropDrowListPlus 下拉面板MouseWheel消息 + public const int WM_USER_DROPDROWLISTPLUS_PAINT = NativeMethods.WM_USER + 17;// DropDrowListPlus 下拉面板Paint消息 + + + public const int LOGPIXELSX = 88; + public const int LOGPIXELSY = 90; + + #endregion + + #region 结构 + + [StructLayout(LayoutKind.Sequential)] + public struct RECT + { + public int left; + public int top; + public int right; + public int bottom; + + public RECT(int left, int top, int right, int bottom) + { + this.left = left; + this.top = top; + this.right = right; + this.bottom = bottom; + } + + public RECT(System.Drawing.Rectangle r) + { + this.left = r.Left; + this.top = r.Top; + this.right = r.Right; + this.bottom = r.Bottom; + } + + public static RECT FromXYWH(int x, int y, int width, int height) + { + return new RECT(x, y, x + width, y + height); + } + + public System.Drawing.Size Size + { + get + { + return new System.Drawing.Size(this.right - this.left, this.bottom - this.top); + } + } + } + + [StructLayout(LayoutKind.Sequential)] + public class POINT + { + public int x; + public int y; + + public POINT() + { + } + + public POINT(int x, int y) + { + this.x = x; + this.y = y; + } + + } + + #endregion + + #region 扩展 + + [DllImport("User32.dll", EntryPoint = "GetWindowLong", CharSet = CharSet.Auto)] + public static extern IntPtr GetWindowLong32(IntPtr hWnd, int nIndex); + + [DllImport("User32.dll", EntryPoint = "GetWindowLongPtr", CharSet = CharSet.Auto)] + public static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex); + + public static IntPtr GetWindowLong(IntPtr hWnd, int nIndex) + { + if (IntPtr.Size == 4) + { + return GetWindowLong32(hWnd, nIndex); + } + return GetWindowLongPtr64(hWnd, nIndex); + } + + [DllImport("User32.dll", EntryPoint = "SetWindowLong", CharSet = CharSet.Auto)] + public static extern IntPtr SetWindowLongPtr32(IntPtr hWnd, int nIndex, IntPtr dwNewLong); + + [DllImport("User32.dll", EntryPoint = "SetWindowLongPtr", CharSet = CharSet.Auto)] + public static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, int nIndex, IntPtr dwNewLong); + + public static IntPtr SetWindowLong(IntPtr hWnd, int nIndex, IntPtr dwNewLong) + { + if (IntPtr.Size == 4) + { + return SetWindowLongPtr32(hWnd, nIndex, dwNewLong); + } + return SetWindowLongPtr64(hWnd, nIndex, dwNewLong); + } + + [DllImport("User32.dll", ExactSpelling = true, CharSet = CharSet.Auto)] + public static extern IntPtr PostMessage(IntPtr hWnd, int msg, int wParam, int lParam); + + [DllImport("User32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr PostMessage(IntPtr hWnd, int msg, int wParam, IntPtr lParam); + + [DllImport("User32.dll", EntryPoint = "SendMessage")] + public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam); + + [DllImport("User32.dll", EntryPoint = "SendMessage")] + public static extern int SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); + + [DllImport("User32.dll", ExactSpelling = true, SetLastError = true)] + public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); + + /// + /// 检索指定窗口的边界矩形的尺寸。 尺寸以相对于屏幕左上角的屏幕坐标提供。 + /// + /// 窗口的句柄 + /// 指向 RECT 结构的指针,用于接收窗口左上角和右下角的屏幕坐标 + /// + [DllImport("User32.dll", ExactSpelling = true, CharSet = CharSet.Auto)] + public static extern bool GetWindowRect(IntPtr hWnd, [In, Out] ref RECT rect); + + /// + /// 激活指定窗口 + /// + /// 窗口的句柄 + /// + [DllImport("User32.dll", ExactSpelling = true, CharSet = CharSet.Auto)] + public static extern IntPtr SetActiveWindow(IntPtr hWnd); + + [DllImport("User32.dll", ExactSpelling = true, CharSet = CharSet.Auto)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + + + /// + /// 获得的设备环境覆盖了整个窗口(包括非客户区) + /// + /// + /// + [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] + public static extern IntPtr GetWindowDC(IntPtr hwnd); + + /// + /// 用于获得hWnd参数所指定窗口的客户区域的一个设备环境 + /// + /// + /// + [DllImport("user32.dll")] + public static extern IntPtr GetDC(IntPtr ptr); + + [DllImport("User32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] + public static extern int ReleaseDC(IntPtr hWnd, IntPtr hdc); + + + + /// + /// DPI的缩放由程序自己处理 + /// + /// + [DllImport("user32.dll")] + public static extern bool SetProcessDPIAware(); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("gdi32.dll")] + public static extern int GetDeviceCaps(IntPtr hdc, int nIndex); + + + + public static int MAKELONG(int low, int high) + { + return (high << 16) | (low & 0xffff); + } + + public static IntPtr MAKELPARAM(int low, int high) + { + return (IntPtr)((high << 16) | (low & 0xffff)); + } + + /// + /// 高16位(无符号) + /// + /// + /// + public static int HIWORD(IntPtr n) + { + return HIWORD(unchecked((int)(long)n)); + } + /// + /// 高16位(无符号) + /// + /// + /// + public static int HIWORD(int n) + { + return (n >> 16) & 0xffff; + } + + /// + /// 低16位(无符号) + /// + /// + /// + public static int LOWORD(IntPtr n) + { + return LOWORD(unchecked((int)(long)n)); + } + /// + /// 低16位(无符号) + /// + /// + /// + public static int LOWORD(int n) + { + return n & 0xffff; + } + + /// + /// 高16位(有符号) + /// + /// + /// + public static int SignedHIWORD(IntPtr n) + { + return SignedHIWORD(unchecked((int)(long)n)); + } + /// + /// 高16位(有符号) + /// + /// + /// + public static int SignedHIWORD(int n) + { + return (int)(short)((n >> 16) & 0xffff); + } + + /// + /// 低16位(有符号) + /// + /// + /// + public static int SignedLOWORD(IntPtr n) + { + return SignedLOWORD(unchecked((int)(long)n)); + } + /// + /// 低16位(有符号) + /// + /// + /// + public static int SignedLOWORD(int n) + { + return (int)(short)(n & 0xFFFF); + } + + + + + /// + /// 结构转指针 + /// + /// 结构类型 + /// + /// + public static IntPtr StructToIntPtr(T info) + { + int size = Marshal.SizeOf(info); + IntPtr intPtr = Marshal.AllocHGlobal(size); + Marshal.StructureToPtr(info, intPtr, true); + return intPtr; + } + + /// + /// 指针转结构 + /// + /// 结构类型 + /// + /// + public static T IntPtrToStruct(IntPtr info) + { + return (T)Marshal.PtrToStructure(info, typeof(T)); + } + + + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCHelper/PropertyOrderAttribute.cs b/JinYuan.ControlLib/UCHelper/PropertyOrderAttribute.cs new file mode 100644 index 0000000..98eb9b9 --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/PropertyOrderAttribute.cs @@ -0,0 +1,27 @@ +using System; + +namespace JinYuan.ControlLib.UCHelper +{ + // + // 摘要: + // 属性排序(升序) + [AttributeUsage(AttributeTargets.Property)] + public class PropertyOrderAttribute : Attribute + { + private float order; + + // + // 摘要: + // 序号 + public float Order => order; + + // + // 参数: + // order: + // 序号 + public PropertyOrderAttribute(float order) + { + this.order = order; + } + } +} diff --git a/JinYuan.ControlLib/UCHelper/PropertyOrderConverter.cs b/JinYuan.ControlLib/UCHelper/PropertyOrderConverter.cs new file mode 100644 index 0000000..5801608 --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/PropertyOrderConverter.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections; +using System.ComponentModel; +using System.Globalization; + +namespace JinYuan.ControlLib.UCHelper +{ + // + // 摘要: + // 对属性进行排序 + public class PropertyOrderConverter : TypeConverter + { + // + // 摘要: + // 当该属性为展开属性选型时,属性编辑器删除该属性的描述 + // + // 参数: + // context: + // + // culture: + // + // value: + // + // destinationType: + public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) + { + if (destinationType == typeof(string)) + { + return string.Empty; + } + + return base.ConvertTo(context, culture, value, destinationType); + } + + public override bool GetPropertiesSupported(ITypeDescriptorContext context) + { + return true; + } + + public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) + { + PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(value, attributes); + ArrayList arrayList = new ArrayList(); + foreach (PropertyDescriptor item in properties) + { + Attribute attribute = item.Attributes[typeof(PropertyOrderAttribute)]; + arrayList.Add(new PropertyOrderPair(item.Name, (attribute == null) ? 0f : ((PropertyOrderAttribute)attribute).Order)); + } + + arrayList.Sort(); + ArrayList arrayList2 = new ArrayList(); + foreach (PropertyOrderPair item2 in arrayList) + { + arrayList2.Add(item2.CategoryName); + } + + return properties.Sort((string[])arrayList2.ToArray(typeof(string))); + } + } +} diff --git a/JinYuan.ControlLib/UCHelper/PropertyOrderPair.cs b/JinYuan.ControlLib/UCHelper/PropertyOrderPair.cs new file mode 100644 index 0000000..11f6bad --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/PropertyOrderPair.cs @@ -0,0 +1,49 @@ +using System; + +namespace JinYuan.ControlLib.UCHelper +{ + + // + // 摘要: + // 属性排序 序号比较器 + public class PropertyOrderPair : IComparable + { + private float order; + + private string categoryName; + + // + // 摘要: + // 类别名称 + public string CategoryName => categoryName; + + // + // 参数: + // categoryName: + // 类别名称 + // + // order: + // 序号 + public PropertyOrderPair(string categoryName, float order) + { + this.order = order; + this.categoryName = categoryName; + } + + public int CompareTo(object obj) + { + PropertyOrderPair propertyOrderPair = (PropertyOrderPair)obj; + if (propertyOrderPair.order == order) + { + return string.Compare(categoryName, propertyOrderPair.categoryName); + } + + if (propertyOrderPair.order > order) + { + return -1; + } + + return 1; + } + } +} diff --git a/JinYuan.ControlLib/UCHelper/WindowsHook.cs b/JinYuan.ControlLib/UCHelper/WindowsHook.cs new file mode 100644 index 0000000..349861f --- /dev/null +++ b/JinYuan.ControlLib/UCHelper/WindowsHook.cs @@ -0,0 +1,177 @@ +using System; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; + +namespace JinYuan.ControlLib.UCHelper +{ + /// + /// 钩子类型 + /// + public enum HookType : int + { + /// + /// 安装一个钩子过程,该过程监视由于对话框,消息框,菜单或滚动条中的输入事件而生成的消息。 + /// 有关更多信息,请参阅MessageProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644987(v=vs.85))挂接过程。 + /// + WH_MSGFILTER = -1, + /// + /// 安装一个钩子过程,记录发布到系统消息队列的输入消息。 此挂钩对于录制宏非常有用。 + /// 有关更多信息,请参阅JournalRecordProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644983(v=vs.85))挂钩过程。 + /// + WH_JOURNALRECORD = 0, + /// + /// 安装一个挂钩过程,该过程发布先前由WH_JOURNALRECORD挂钩过程记录的消息。 + /// 有关更多信息,请参阅JournalPlaybackProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644982(v=vs.85))挂钩过程。 + /// + WH_JOURNALPLAYBACK = 1, + /// + /// 安装一个监视击键消息的钩子程序。 + /// 有关更多信息,请参阅KeyboardProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644984(v=vs.85))挂钩过程。 + /// + WH_KEYBOARD = 2, + /// + /// 安装一个钩子过程来监视发布到消息队列的消息。 + /// 有关更多信息,请参阅GetMsgProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644981(v=vs.85))挂接过程。 + /// + WH_GETMESSAGE = 3, + /// + /// 安装一个钩子过程,在系统将消息发送到目标窗口过程之前监视消息。 + /// 有关更多信息,请参阅CallWndProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644975(v=vs.85))挂接过程。 + /// + WH_CALLWNDPROC = 4, + /// + /// 安装一个钩子程序,接收对CBT应用程序有用的通知。 + /// 有关更多信息,请参阅CBTProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644977(v=vs.85))挂钩过程。 + /// + WH_CBT = 5, + /// + /// 安装一个钩子过程,该过程监视由于对话框,消息框,菜单或滚动条中的输入事件而生成的消息。 + /// 钩子过程监视与调用线程在同一桌面中的所有应用程序的这些消息。 + /// 有关更多信息,请参阅SysMsgProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644992(v=vs.85))挂接过程。 + /// + WH_SYSMSGFILTER = 6, + /// + /// 安装监视鼠标消息的钩子过程。 + /// 有关更多信息,请参阅MouseProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644988(v=vs.85))挂钩过程。 + /// + WH_MOUSE = 7, + /// + /// 安装一个用于调试其他钩子过程的钩子过程。 + /// 有关更多信息,请参阅DebugProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644978(v=vs.85))挂接过程。 + /// + WH_DEBUG = 9, + /// + /// 安装一个钩子过程,接收对shell应用程序有用的通知。 + /// 有关更多信息,请参阅ShellProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644991(v=vs.85))挂钩过程。 + /// + WH_SHELL = 10, + /// + /// 安装一个钩子过程,当应用程序的前台线程即将变为空闲时将调用该过程。 + /// 此挂钩对于在空闲时执行低优先级任务非常有用。 + /// 有关更多信息,请参阅ForegroundIdleProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644980(v=vs.85))挂钩过程。 + /// + WH_FOREGROUNDIDLE = 11, + /// + /// 安装一个钩子过程,该过程在目标窗口过程处理完消息后对其进行监视。 + /// 有关更多信息,请参阅CallWndRetProc(https://docs.microsoft.com/windows/desktop/api/winuser/nc-winuser-hookproc)挂接过程。 + /// + WH_CALLWNDPROCRET = 12, + /// + /// 安装一个监视低级键盘输入事件的钩子过程。 有关更多信息, + /// 请参阅LowLevelKeyboardProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644985(v=vs.85))挂接过程。 + /// + WH_KEYBOARD_LL = 13, + /// + /// 安装一个监视低级鼠标输入事件的钩子过程。 有关更多信息, + /// 请参阅LowLevelMouseProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644986(v=vs.85))挂接过程。 + /// + WH_MOUSE_LL = 14, + } + public class WindowsHook + { + public delegate int HookProc(int nCode, IntPtr wParam, IntPtr lParam); + // 装置钩子的函数 + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, int hInstance, int threadId); + + // 卸下钩子的函数 + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + public static extern bool UnhookWindowsHookEx(int idHook); + + // 下一个钩挂的函数 + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + public static extern int CallNextHookEx(int idHook, int nCode, IntPtr wParam, IntPtr lParam); + [DllImport("User32.dll", CharSet = CharSet.Auto)] + public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount); + /// + /// Delegate HookMsgHandler + /// + /// 钩子名称 + /// 消息值 + public delegate void HookMsgHandler(string strHookName, int nCode, IntPtr msg, IntPtr lParam); + /// + /// 钩子消息事件 + /// + public static event HookMsgHandler HookMsgChanged; + /// + /// 启动一个钩子 + /// + /// 钩子类型 + /// 模块句柄,为空则为当前模块 + /// 进程句柄,默认为0则表示当前进程 + /// 钩子名称 + /// 钩子句柄(消耗钩子时需要使用) + /// SetWindowsHookEx failed. + public static int StartHook(HookType hookType, int wParam = 0, int pid = 0, string strHookName = "") + { + int _hHook = 0; + // 生成一个HookProc的实例. + var _hookProcedure = new HookProc((nCode, msg, lParam) => + { + + if (HookMsgChanged != null) + { + try + { + HookMsgChanged(strHookName, nCode, msg, lParam); + } + catch { } + } + + int inext = CallNextHookEx(_hHook, nCode, msg, lParam); + return inext; + }); + if (pid == 0) + pid = Thread.CurrentThread.ManagedThreadId; + _hHook = SetWindowsHookEx((int)hookType, _hookProcedure, wParam, pid); + + //假设装置失败停止钩子 + if (_hHook == 0) + { + StopHook(_hHook); + } + return _hHook; + } + + /// + /// 停止钩子 + /// + /// StartHook函数返回的钩子句柄 + /// true if 停止成功, false 否则. + public static bool StopHook(int _hHook) + { + bool ret = true; + + if (_hHook != 0) + { + ret = UnhookWindowsHookEx(_hHook); + } + + // 假设卸下钩子失败 + if (!ret) + return false; + return true; + } + } +} diff --git a/JinYuan.ControlLib/UCLed.Designer.cs b/JinYuan.ControlLib/UCLed.Designer.cs new file mode 100644 index 0000000..ee295d3 --- /dev/null +++ b/JinYuan.ControlLib/UCLed.Designer.cs @@ -0,0 +1,42 @@ +namespace Controls +{ + partial class UCLed + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (_blinkTimer != null) + { + _blinkTimer.Stop(); + _blinkTimer.Dispose(); + _blinkTimer = null; + } + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCLed.cs b/JinYuan.ControlLib/UCLed.cs new file mode 100644 index 0000000..b0375dd --- /dev/null +++ b/JinYuan.ControlLib/UCLed.cs @@ -0,0 +1,277 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace Controls +{ + [ToolboxItem(true)] + [Description("一个用于显示通信状态的LED指示器控件")] + public partial class UCLed : UserControl + { + private Color _onColor = Color.Green; + private Color _offColor = Color.Red; + private Color _blinkColor = Color.Yellow; + private Color _textColor = Color.White; + private string _statusText = "NG"; + private bool _isOn = false; + private bool _isBlinking = false; + private bool _blinkState = false; + private int _blinkInterval = 500; // 默认闪烁间隔(毫秒) + private Timer _blinkTimer; + + private int _cornerRadius = 10; // 新增:控制圆角半径的字段 + + public UCLed() + { + InitializeComponent(); + SetStyle(ControlStyles.SupportsTransparentBackColor | + ControlStyles.OptimizedDoubleBuffer | + ControlStyles.AllPaintingInWmPaint | + ControlStyles.UserPaint, true); + this.BackColor = Color.Transparent; + } + + protected override void OnHandleCreated(EventArgs e) + { + base.OnHandleCreated(e); + InitializeTimer(); + } + + private void InitializeTimer() + { + if (_blinkTimer == null) + { + _blinkTimer = new Timer(); + _blinkTimer.Tick += BlinkTimer_Tick; + _blinkTimer.Interval = _blinkInterval; + } + } + + [Category("外观")] + [DefaultValue(typeof(Color), "Green")] + public Color OnColor + { + get => _onColor; + set + { + if (_onColor != value) + { + _onColor = value; + Invalidate(); + } + } + } + + [Category("外观")] + [DefaultValue(typeof(Color), "Red")] + public Color OffColor + { + get => _offColor; + set + { + if (_offColor != value) + { + _offColor = value; + Invalidate(); + } + } + } + + [Category("外观")] + [DefaultValue(typeof(Color), "Yellow")] + public Color BlinkColor + { + get => _blinkColor; + set + { + if (_blinkColor != value) + { + _blinkColor = value; + Invalidate(); + } + } + } + + [Category("外观")] + [DefaultValue(typeof(Color), "White")] + public Color TextColor + { + get => _textColor; + set + { + if (_textColor != value) + { + _textColor = value; + Invalidate(); + } + } + } + + [Category("外观")] + [DefaultValue(10)] + public int CornerRadius + { + get => _cornerRadius; + set + { + if (_cornerRadius != value) + { + _cornerRadius = value; + Invalidate(); + } + } + } + + + [Category("外观")] + [DefaultValue("NG")] + public string StatusText + { + get => _statusText; + set + { + if (_statusText != value) + { + _statusText = value; + Invalidate(); + } + } + } + + [Category("行为")] + [DefaultValue(false)] + public bool IsOn + { + get => _isOn; + set + { + if (_isOn != value) + { + _isOn = value; + if (!_isBlinking) + { + Invalidate(); + } + } + } + } + + [Category("行为")] + [DefaultValue(false)] + public bool IsBlinking + { + get => _isBlinking; + set + { + if (_isBlinking != value) + { + _isBlinking = value; + if (_isBlinking) + _blinkTimer?.Start(); + else + { + _blinkTimer?.Stop(); + _blinkState = false; + } + Invalidate(); + } + } + } + + [Category("行为")] + [DefaultValue(500)] + public int BlinkInterval + { + get => _blinkInterval; + set + { + if (_blinkInterval != value) + { + _blinkInterval = value; + if (_blinkTimer != null && !DesignMode) + { + _blinkTimer.Interval = _blinkInterval; + } + } + } + } + + + + + private void BlinkTimer_Tick(object sender, EventArgs e) + { + _blinkState = !_blinkState; + this.BeginInvoke(new Action(() => this.Invalidate())); + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + Graphics g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; + + Color currentColor; + + if (_isBlinking) + { + currentColor = _blinkState ? _blinkColor : (_isOn ? _onColor : _offColor); + } + else + { + currentColor = _isOn ? _onColor : _offColor; + } + + using (GraphicsPath path = CreateRoundedRectangle(ClientRectangle, _cornerRadius)) + using (SolidBrush backBrush = new SolidBrush(currentColor)) + { + g.FillPath(backBrush, path); + } + + using (Brush textBrush = new SolidBrush(_textColor)) + { + StringFormat sf = new StringFormat(); + sf.Alignment = StringAlignment.Center; + sf.LineAlignment = StringAlignment.Center; + g.DrawString(_statusText, Font, textBrush, ClientRectangle, sf); + } + } + + private GraphicsPath CreateRoundedRectangle(Rectangle bounds, int radius) + { + int diameter = radius * 2; + Size size = new Size(diameter, diameter); + Rectangle arc = new Rectangle(bounds.Location, size); + GraphicsPath path = new GraphicsPath(); + + if (radius == 0) + { + path.AddRectangle(bounds); + return path; + } + + // 左上角 + path.AddArc(arc, 180, 90); + + // 右上角 + arc.X = bounds.Right - diameter; + path.AddArc(arc, 270, 90); + + // 右下角 + arc.Y = bounds.Bottom - diameter; + path.AddArc(arc, 0, 90); + + // 左下角 + arc.X = bounds.Left; + path.AddArc(arc, 90, 90); + + path.CloseFigure(); + return path; + } + + + } +} + diff --git a/JinYuan.ControlLib/UCLedAvatar.Designer.cs b/JinYuan.ControlLib/UCLedAvatar.Designer.cs new file mode 100644 index 0000000..6f3ca30 --- /dev/null +++ b/JinYuan.ControlLib/UCLedAvatar.Designer.cs @@ -0,0 +1,49 @@ +using System.Drawing; + +namespace Controls +{ + partial class UCLedAvatar + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (_blinkTimer != null) + { + _blinkTimer.Stop(); + _blinkTimer.Dispose(); + _blinkTimer = null; + } + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Size = new Size(32, 32); + this.ResumeLayout(false); + } + + + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCLedAvatar.cs b/JinYuan.ControlLib/UCLedAvatar.cs new file mode 100644 index 0000000..b3e0f27 --- /dev/null +++ b/JinYuan.ControlLib/UCLedAvatar.cs @@ -0,0 +1,149 @@ +using AntdUI; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace Controls +{ + public enum LedStatus + { + Default, // 默认状态(灰色) + Running, // 运行状态(绿色) + Idle, // 闲置状态(橙色) + Alarm // 报警状态(红色) + } + + + [ToolboxItem(true)] + [Description("一个用于显示通信状态的LED指示器控件")] + public partial class UCLedAvatar : UserControl + { + private Avatar avatar; + private LedStatus _status = LedStatus.Default; + private bool _isBlinking = false; + private bool _blinkState = false; + private System.Windows.Forms.Timer _blinkTimer; + + // 定义状态对应的颜色 + private static readonly Dictionary StatusColors = new Dictionary + { + { LedStatus.Default, Color.FromArgb(128, 128, 128) }, // 灰色 + { LedStatus.Running, Color.FromArgb(16, 192, 101) }, // 绿色 #10c065 + { LedStatus.Idle, Color.FromArgb(255, 147, 0) }, // 橙色 #ff9300 + { LedStatus.Alarm, Color.FromArgb(241, 11, 18) } // 红色 #f10b12 + }; + + // SVG 模板 + private const string SVG_TEMPLATE = @" + + "; + + public UCLedAvatar() + { + InitializeComponent(); + InitializeAvatar(); + SetStyle(ControlStyles.SupportsTransparentBackColor, true); + this.BackColor = Color.Transparent; + } + + + private void InitializeAvatar() + { + avatar = new Avatar + { + Dock = DockStyle.Fill, + Round = false, + ImageSvg = string.Format(SVG_TEMPLATE, ColorTranslator.ToHtml(StatusColors[LedStatus.Default])) + }; + + this.Controls.Add(avatar); + InitializeTimer(); + } + + private void InitializeTimer() + { + _blinkTimer = new System.Windows.Forms.Timer(); + _blinkTimer.Tick += BlinkTimer_Tick; + _blinkTimer.Interval = 500; // 默认闪烁间隔 + } + + [Category("行为")] + [DefaultValue(LedStatus.Default)] + public LedStatus Status + { + get => _status; + set + { + if (_status != value) + { + _status = value; + UpdateLedState(); + } + } + } + + [Category("行为")] + [DefaultValue(false)] + public bool IsBlinking + { + get => _isBlinking; + set + { + if (_isBlinking != value) + { + _isBlinking = value; + if (_isBlinking) + { + _blinkTimer.Start(); + } + else + { + _blinkTimer.Stop(); + _blinkState = false; + UpdateLedState(); + } + } + } + } + + [Category("行为")] + [DefaultValue(500)] + public int BlinkInterval + { + get => _blinkTimer.Interval; + set + { + if (value > 0 && _blinkTimer.Interval != value) + { + _blinkTimer.Interval = value; + } + } + } + + private void BlinkTimer_Tick(object sender, EventArgs e) + { + _blinkState = !_blinkState; + UpdateLedState(); + } + + private void UpdateLedState() + { + Color currentColor; + if (_status == LedStatus.Alarm && _isBlinking) + { + // 报警状态下的闪烁在灰色和红色之间切换 + currentColor = _blinkState ? StatusColors[LedStatus.Alarm] : StatusColors[LedStatus.Default]; + } + else + { + // 非报警状态不闪烁 + currentColor = StatusColors[_status]; + } + + avatar.ImageSvg = string.Format(SVG_TEMPLATE, ColorTranslator.ToHtml(currentColor)); + } + + } +} diff --git a/JinYuan.ControlLib/UCRollText.Designer.cs b/JinYuan.ControlLib/UCRollText.Designer.cs new file mode 100644 index 0000000..1c7854d --- /dev/null +++ b/JinYuan.ControlLib/UCRollText.Designer.cs @@ -0,0 +1,39 @@ +namespace JinYuan.ControlLib +{ + partial class UCRollText + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + StopAnimation(); + _updateLock?.Dispose(); + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCRollText.cs b/JinYuan.ControlLib/UCRollText.cs new file mode 100644 index 0000000..0345a0e --- /dev/null +++ b/JinYuan.ControlLib/UCRollText.cs @@ -0,0 +1,291 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Diagnostics; +using System.Drawing; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class UCRollText : UserControl + { + private Rectangle _rectText; + private int _moveDirection = 1; + private const int DEFAULT_MOVE_STEP = 2; // 减小步长,使滚动更平滑 + private const int DEFAULT_SLEEP_TIME = 20; // 减小刷新间隔,提高流畅度 + + private readonly SemaphoreSlim _updateLock = new SemaphoreSlim(1, 1); + private CancellationTokenSource _cts; + private volatile bool _isStop = true; + + #region Properties + + public override Font Font + { + get => base.Font; + set + { + base.Font = value; + UpdateTextRectangle(); + } + } + + public override string Text + { + get => base.Text; + set + { + base.Text = value; + UpdateTextRectangle(); + } + } + + private RollStyle _rollStyle = RollStyle.LeftToRight; + public RollStyle RollStyle + { + get => _rollStyle; + set + { + _rollStyle = value; + _moveDirection = value == RollStyle.RightToLeft ? -1 : 1; + ResetTextPosition(); + } + } + + private bool _isChangeReset; + [Description("文本改变是否重新从边缘运动"), Category("自定义")] + public bool IsChangeReset + { + get => _isChangeReset; + set => _isChangeReset = value; + } + + private bool _isExit; + [Description("是否退出"), Category("自定义")] + public bool IsExit + { + get => _isExit; + set + { + _isExit = value; + if (value) StopAnimation(); + } + } + + private int _moveSleepTime = DEFAULT_SLEEP_TIME; + [Description("每次滚动间隔时间,越小速度越快"), Category("自定义")] + public int MoveSleepTime + { + get => _moveSleepTime; + set => _moveSleepTime = value > 0 ? value : DEFAULT_SLEEP_TIME; + } + + #endregion + + public UCRollText() + { + InitializeControl(); + InitializeEvents(); + StartAnimation(); + } + + private void InitializeControl() + { + SetStyle(ControlStyles.AllPaintingInWmPaint | + ControlStyles.DoubleBuffer | + ControlStyles.ResizeRedraw | + ControlStyles.Selectable | + ControlStyles.SupportsTransparentBackColor | + ControlStyles.UserPaint, true); + + DoubleBuffered = true; // 启用双缓冲,减少闪烁 + Size = new Size(450, 30); + Text = "滚动文字"; + ForeColor = Color.FromArgb(255, 77, 59); + } + + private void InitializeEvents() + { + Load += UCRollText_Load; + SizeChanged += UCRollText_SizeChanged; + VisibleChanged += (s, e) => + { + _isStop = !Visible; + if (Visible) StartAnimation(); + }; + } + + private void UCRollText_SizeChanged(object sender, EventArgs e) + { + if (_rectText != Rectangle.Empty) + { + _rectText.Y = (Height - _rectText.Height) / 2 + 1; + } + } + + private void UCRollText_Load(object sender, EventArgs e) + { + ResetTextPosition(); + } + + private async void StartAnimation() + { + if (!_isStop) return; + + _isStop = false; + _cts = new CancellationTokenSource(); + + try + { + await Task.Run(async () => + { + var stopwatch = new Stopwatch(); + stopwatch.Start(); + + while (!_isStop && !_isExit) + { + try + { + var elapsed = stopwatch.ElapsedMilliseconds; + stopwatch.Restart(); + + await Task.Delay(MoveSleepTime, _cts.Token); + if (!IsHandleCreated || IsDisposed) continue; + + await UpdateTextPositionAsync(elapsed); + } + catch (OperationCanceledException) + { + break; + } + catch (Exception ex) + { + Debug.WriteLine($"Animation error: {ex.Message}"); + } + } + }, _cts.Token); + } + catch (OperationCanceledException) { } + } + + private void StopAnimation() + { + _isStop = true; + _cts?.Cancel(); + _cts?.Dispose(); + _cts = null; + } + + private async Task UpdateTextPositionAsync(long elapsedMilliseconds) + { + if (_rectText == Rectangle.Empty) return; + if (_rollStyle == RollStyle.BackAndForth && _rectText.Width >= Width) return; + + await _updateLock.WaitAsync(); + try + { + await Task.Run(() => + { + if (InvokeRequired) + { + BeginInvoke((MethodInvoker)(() => UpdateTextPosition(elapsedMilliseconds))); + } + else + { + UpdateTextPosition(elapsedMilliseconds); + } + }); + } + finally + { + _updateLock.Release(); + } + } + + private void UpdateTextPosition(long elapsedMilliseconds) + { + // 根据时间调整滚动步长,确保动画平滑 + int step = (int)(DEFAULT_MOVE_STEP * (elapsedMilliseconds / (double)MoveSleepTime)); + _rectText.X += step * _moveDirection; + + switch (_rollStyle) + { + case RollStyle.BackAndForth: + if (_rectText.X <= 0) + _moveDirection = 1; + else if (_rectText.Right >= Width) + _moveDirection = -1; + break; + + case RollStyle.LeftToRight: + if (_rectText.X > Width) + _rectText.X = -_rectText.Width - 1; + break; + + case RollStyle.RightToLeft: + if (_rectText.Right < 0) + _rectText.X = Width + _rectText.Width + 1; + break; + } + + Invalidate(); + } + + private void UpdateTextRectangle() + { + if (string.IsNullOrEmpty(Text)) return; + + using (var g = CreateGraphics()) + { + var size = g.MeasureString(Text, Font); + _rectText = new Rectangle( + _isChangeReset ? 0 : _rectText.X, + (Height - (int)size.Height) / 2 + 1, + (int)size.Width, + (int)size.Height + ); + } + } + + private void ResetTextPosition() + { + if (_rectText == Rectangle.Empty) return; + + switch (_rollStyle) + { + case RollStyle.LeftToRight: + _rectText.X = -_rectText.Width - 1; + break; + case RollStyle.RightToLeft: + _rectText.X = Width + _rectText.Width + 1; + break; + default: + _rectText.X = 0; + break; + } + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + if (_rectText != Rectangle.Empty) + { + e.Graphics.SetGDIHigh(); + using (var brush = new SolidBrush(ForeColor)) + { + e.Graphics.DrawString(Text, Font, brush, _rectText.Location); + } + } + } + } + + public enum RollStyle + { + LeftToRight, + RightToLeft, + BackAndForth + } + +} diff --git a/JinYuan.ControlLib/UCSplitLine_H.Designer.cs b/JinYuan.ControlLib/UCSplitLine_H.Designer.cs new file mode 100644 index 0000000..9a51258 --- /dev/null +++ b/JinYuan.ControlLib/UCSplitLine_H.Designer.cs @@ -0,0 +1,65 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class UCSplitLine_H. + /// Implements the + /// + /// + partial class UCSplitLine_H + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // UCSplitLine_H + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232))))); + this.Name = "UCSplitLine_H"; + this.Size = new System.Drawing.Size(100, 1); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCSplitLine_H.cs b/JinYuan.ControlLib/UCSplitLine_H.cs new file mode 100644 index 0000000..b6f0b31 --- /dev/null +++ b/JinYuan.ControlLib/UCSplitLine_H.cs @@ -0,0 +1,36 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCSplitLine_H. + /// Implements the + /// + /// + public partial class UCSplitLine_H : UserControl + { + /// + /// Initializes a new instance of the class. + /// + public UCSplitLine_H() + { + InitializeComponent(); + this.TabStop = false; + } + } +} diff --git a/JinYuan.ControlLib/UCSplitLine_H.resx b/JinYuan.ControlLib/UCSplitLine_H.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/UCSplitLine_H.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UCSplitLine_V.Designer.cs b/JinYuan.ControlLib/UCSplitLine_V.Designer.cs new file mode 100644 index 0000000..ddad8f5 --- /dev/null +++ b/JinYuan.ControlLib/UCSplitLine_V.Designer.cs @@ -0,0 +1,65 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +namespace JinYuan.ControlLib +{ + /// + /// Class UCSplitLine_V. + /// Implements the + /// + /// + partial class UCSplitLine_V + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // UCSplitLine_V + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232))))); + this.Name = "UCSplitLine_V"; + this.Size = new System.Drawing.Size(1, 100); + this.ResumeLayout(false); + + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/UCSplitLine_V.cs b/JinYuan.ControlLib/UCSplitLine_V.cs new file mode 100644 index 0000000..bdcb6b1 --- /dev/null +++ b/JinYuan.ControlLib/UCSplitLine_V.cs @@ -0,0 +1,36 @@ +// *********************************************************************** +// Assembly : JinYuan.ControlLib +// Created : 08-08-2019 +// +// *********************************************************************** +// +// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com +// +// +// Blog: https://www.cnblogs.com/bfyx +// GitHub:https://github.com/kwwwvagaa/NetWinformControl +// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git +// +// If you use this code, please keep this note. +// *********************************************************************** +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + /// + /// Class UCSplitLine_V. + /// Implements the + /// + /// + public partial class UCSplitLine_V : UserControl + { + /// + /// Initializes a new instance of the class. + /// + public UCSplitLine_V() + { + InitializeComponent(); + this.TabStop = false; + } + } +} diff --git a/JinYuan.ControlLib/UCSplitLine_V.resx b/JinYuan.ControlLib/UCSplitLine_V.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/UCSplitLine_V.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UpDownLabel.Designer.cs b/JinYuan.ControlLib/UpDownLabel.Designer.cs new file mode 100644 index 0000000..84d33cd --- /dev/null +++ b/JinYuan.ControlLib/UpDownLabel.Designer.cs @@ -0,0 +1,101 @@ +namespace JinYuan.ControlLib +{ + partial class UpDownLabel + { + /// + /// ±ØÐèµÄÉè¼ÆÆ÷±äÁ¿¡£ + /// + private System.ComponentModel.IContainer components = null; + + /// + /// ÇåÀíËùÓÐÕýÔÚʹÓõÄ×ÊԴ¡£ + /// + /// Èç¹ûӦÊͷÅÍйÜ×ÊԴ£¬Ϊ true£»·ñÔòΪ false¡£ + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region ×é¼þÉè¼ÆÆ÷Éú³ɵĴúÂë + + /// + /// Éè¼ÆÆ÷֧³ÖËùÐèµķ½·¨ - ²»ҪÐ޸Ä + /// ʹÓôúÂë±༭Æ÷Ð޸Ĵ˷½·¨µÄÄÚÈݡ£ + /// + private void InitializeComponent() + { + this.btn_Dec = new System.Windows.Forms.Button(); + this.btn_Add = new System.Windows.Forms.Button(); + this.lbl_Data = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // btn_Dec + // + this.btn_Dec.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(161)))), ((int)(((byte)(226))))); + this.btn_Dec.Dock = System.Windows.Forms.DockStyle.Left; + this.btn_Dec.FlatAppearance.BorderSize = 0; + this.btn_Dec.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_Dec.Font = new System.Drawing.Font("΢ÈíÑźÚ", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btn_Dec.ForeColor = System.Drawing.Color.White; + this.btn_Dec.Location = new System.Drawing.Point(0, 0); + this.btn_Dec.Name = "btn_Dec"; + this.btn_Dec.Size = new System.Drawing.Size(37, 37); + this.btn_Dec.TabIndex = 0; + this.btn_Dec.Text = "-"; + this.btn_Dec.UseVisualStyleBackColor = false; + this.btn_Dec.Click += new System.EventHandler(this.btn_Dec_Click); + // + // btn_Add + // + this.btn_Add.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(161)))), ((int)(((byte)(226))))); + this.btn_Add.Dock = System.Windows.Forms.DockStyle.Right; + this.btn_Add.FlatAppearance.BorderSize = 0; + this.btn_Add.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btn_Add.Font = new System.Drawing.Font("΢ÈíÑźÚ", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btn_Add.ForeColor = System.Drawing.Color.White; + this.btn_Add.Location = new System.Drawing.Point(89, 0); + this.btn_Add.Name = "btn_Add"; + this.btn_Add.Size = new System.Drawing.Size(37, 37); + this.btn_Add.TabIndex = 1; + this.btn_Add.Text = "+"; + this.btn_Add.UseVisualStyleBackColor = false; + this.btn_Add.Click += new System.EventHandler(this.btn_Add_Click); + // + // lbl_Data + // + this.lbl_Data.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Data.Location = new System.Drawing.Point(37, 0); + this.lbl_Data.Margin = new System.Windows.Forms.Padding(3); + this.lbl_Data.Name = "lbl_Data"; + this.lbl_Data.Size = new System.Drawing.Size(52, 37); + this.lbl_Data.TabIndex = 2; + this.lbl_Data.Text = "0"; + this.lbl_Data.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // UpDownLabel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); + this.Controls.Add(this.lbl_Data); + this.Controls.Add(this.btn_Add); + this.Controls.Add(this.btn_Dec); + this.Font = new System.Drawing.Font("΢ÈíÑźÚ", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(0); + this.Name = "UpDownLabel"; + this.Size = new System.Drawing.Size(126, 37); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btn_Dec; + private System.Windows.Forms.Button btn_Add; + private System.Windows.Forms.Label lbl_Data; + } +} diff --git a/JinYuan.ControlLib/UpDownLabel.cs b/JinYuan.ControlLib/UpDownLabel.cs new file mode 100644 index 0000000..00eebd0 --- /dev/null +++ b/JinYuan.ControlLib/UpDownLabel.cs @@ -0,0 +1,157 @@ + +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [DefaultEvent("ValueChanged")] + public partial class UpDownLabel : UserControl + { + public UpDownLabel() + { + InitializeComponent(); + } + + private Color themeColor = Color.FromArgb(27, 161, 226); + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡÖ÷ÌâÑÕɫ")] + public Color ThemeColor + { + get { return themeColor; } + set + { + themeColor = value; + + this.btn_Add.BackColor = themeColor; + this.btn_Dec.BackColor = themeColor; + } + } + + + + private Color themeForeColor = Color.White; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡÖ÷Ìâǰ¾°ɫ")] + public Color ThemeForeColor + { + get { return themeForeColor; } + set + { + themeForeColor = value; + + this.btn_Add.ForeColor = themeForeColor; + this.btn_Dec.ForeColor = themeForeColor; + } + } + + + + private int textWidth = 52; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡÎı¾¿òµĿí¶È")] + public int TextWidth + { + get { return textWidth; } + set + { + textWidth = value; + + this.btn_Add.Width = (this.Width - this.textWidth) / 2; + this.btn_Dec.Width = (this.Width - this.textWidth) / 2; + } + } + + + private float maxValue = 1000.0f; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡ×î´óֵ")] + public float MaxValue + { + get { return maxValue; } + set + { + maxValue = value; + } + } + + + private float minValue = -1000.0f; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡ×îСֵ")] + public float MinValue + { + get { return minValue; } + set + { + minValue = value; + } + } + + private float stepValue = 1.0f; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡ²½½øֵ")] + public float StepValue + { + get { return stepValue; } + set + { + stepValue = value; + } + } + + + private float currentValue = 0.0f; + [Browsable(true)] + [Category("×Զ¨ÒåÊôÐÔ")] + [Description("ÉèÖûò»ñȡµ±ǰֵ")] + public float CurrentValue + { + get { return currentValue; } + set + { + if (value > maxValue) + { + return; + } + + if (value < minValue) + { + return; + } + + if (currentValue == value) + { + return; + } + + currentValue = value; + + ValueChanged?.Invoke(this, null); + + this.lbl_Data.Text = currentValue.ToString(); + } + } + + private void btn_Dec_Click(object sender, EventArgs e) + { + CurrentValue -= stepValue; + } + + private void btn_Add_Click(object sender, EventArgs e) + { + CurrentValue += stepValue; + } + [Browsable(true)] + [Category("×Զ¨Òåʼþ")] + [Description("µ±ǰÊýֵ·¢Éú±仯´¥·¢")] + public event EventHandler ValueChanged; + } +} diff --git a/JinYuan.ControlLib/UpDownLabel.resx b/JinYuan.ControlLib/UpDownLabel.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/UpDownLabel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/UserStateChangedEvent.cs b/JinYuan.ControlLib/UserStateChangedEvent.cs new file mode 100644 index 0000000..c2e49f6 --- /dev/null +++ b/JinYuan.ControlLib/UserStateChangedEvent.cs @@ -0,0 +1,24 @@ +using System; + +namespace JinYuan.ControlLib +{ + public delegate void UserStateChangedEventHandler( + object sender, + UserStateChangedEventArgs e); + + public class UserStateChangedEventArgs : EventArgs + { + private bool _active; + + public UserStateChangedEventArgs(bool active) + : base() + { + _active = active; + } + + public bool Active + { + get { return _active; } + } + } +} diff --git a/JinYuan.ControlLib/UserStateMonitor.cs b/JinYuan.ControlLib/UserStateMonitor.cs new file mode 100644 index 0000000..99bcca2 --- /dev/null +++ b/JinYuan.ControlLib/UserStateMonitor.cs @@ -0,0 +1,174 @@ +using System; +using System.ComponentModel; +using System.Runtime.InteropServices; +using System.Threading; + +namespace JinYuan.ControlLib +{ + /// + /// 监视鼠标键盘操作。 + /// + public class UserStateMonitor : Component + { + //通过 Interval 属性调节扫描键盘鼠标状态的间隔时间,通过 Timeout 属性(无键盘操作时间间隔)控制判断是否离开 + + /// + /// 离开时间,单位:秒 + /// + private int _timeout = 5000; + private int _lastActiveTick; + private Timer _timer; + private int _interval = 1000; + private bool _started; + private bool _active = true; + + private static readonly object EventUseStateChanged = new object(); + + public UserStateMonitor() + : base() + { + } + + public UserStateMonitor(IContainer container) + : base() + { + container.Add(this); + } + + public event UserStateChangedEventHandler UserStateChanged + { + add { base.Events.AddHandler(EventUseStateChanged, value); } + remove { base.Events.RemoveHandler(EventUseStateChanged, value); } + } + + /// + /// 默认值:30分钟 + /// + [DefaultValue(1800000)] + public int Timeout + { + get { return _timeout; } + set + { + _timeout = Math.Max(5000, value); + } + } + + [DefaultValue(1000)] + public int Interval + { + get { return _interval; } + set + { + _interval = Math.Max(500, value); + if (_started) + { + Timer.Change(0, _interval); + } + else + { + Timer.Change(System.Threading.Timeout.Infinite, _interval); + } + } + } + + private Timer Timer + { + get + { + if (_timer == null) + { + _timer = new Timer( + new TimerCallback(delegate (object obj) + { + LASTINPUTINFO lii = new LASTINPUTINFO(); + lii.size = 8; + + if (GetLastInputInfo(ref lii)) + { + _lastActiveTick = Math.Max(lii.lastTick, _lastActiveTick); + bool active = Environment.TickCount - _lastActiveTick < _timeout; + if (_active != active) + { + _active = active; + OnUserStateChanged(new UserStateChangedEventArgs(active)); + } + } + }), + null, + System.Threading.Timeout.Infinite, + _interval); + } + return _timer; + } + } + + public void Start() + { + if (!_started) + { + Timer.Change(_interval, _interval); + _started = true; + } + } + + /// + /// 开始监控 + /// + /// 监控时间间隔,单位:分钟 + public void Start(int timeOut) + { + if (!_started) + { + + _timeout = timeOut * 1000;//转换成秒 + + Timer.Change(_interval, _interval); + _started = true; + } + } + + public void Stop() + { + if (_started) + { + Timer.Change(System.Threading.Timeout.Infinite, _interval); + _started = false; + } + } + + [StructLayout(LayoutKind.Sequential)] + private struct LASTINPUTINFO + { + public int size; + public int lastTick; + } + + [DllImport("user32.dll")] + private static extern bool GetLastInputInfo(ref LASTINPUTINFO lii); + + protected virtual void OnUserStateChanged(UserStateChangedEventArgs e) + { + UserStateChangedEventHandler handler = + base.Events[EventUseStateChanged] as UserStateChangedEventHandler; + if (handler != null) + { + handler(this, e); + } + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + if (disposing) + { + Stop(); + if (_timer != null) + { + _timer.Dispose(); + _timer = null; + } + } + } + } +} diff --git a/JinYuan.ControlLib/Wave.Designer.cs b/JinYuan.ControlLib/Wave.Designer.cs new file mode 100644 index 0000000..06bdcf1 --- /dev/null +++ b/JinYuan.ControlLib/Wave.Designer.cs @@ -0,0 +1,36 @@ +namespace JinYuan.ControlLib +{ + partial class Wave + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} diff --git a/JinYuan.ControlLib/Wave.cs b/JinYuan.ControlLib/Wave.cs new file mode 100644 index 0000000..d5f7a7a --- /dev/null +++ b/JinYuan.ControlLib/Wave.cs @@ -0,0 +1,294 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class Wave : Control + { + /// + /// Occurs when [on painted]. + /// + public event PaintEventHandler OnPainted; + + /// + /// The m wave color + /// + private Color m_waveColor = Color.FromArgb(255, 77, 59); + + /// + /// Gets or sets the color of the wave. + /// + /// The color of the wave. + [Description("波纹颜色"), Category("自定义")] + public Color WaveColor + { + get { return m_waveColor; } + set + { + m_waveColor = value; + this.Invalidate(); + } + } + + /// + /// The m wave width + /// + private int m_waveWidth = 200; + /// + /// 为方便计算,强制使用10的倍数 + /// + /// The width of the wave. + [Description("波纹宽度(为方便计算,强制使用10的倍数)"), Category("自定义")] + public int WaveWidth + { + get { return m_waveWidth; } + set + { + m_waveWidth = value; + m_waveWidth = m_waveWidth / 10 * 10; + intLeftX = value * -1; + this.Invalidate(); + } + } + + /// + /// The m wave height + /// + private int m_waveHeight = 30; + /// + /// 波高 + /// + /// The height of the wave. + [Description("波高"), Category("自定义")] + public int WaveHeight + { + get { return m_waveHeight; } + set + { + m_waveHeight = value; + this.Invalidate(); + } + } + + /// + /// The m wave sleep + /// + private int m_waveSleep = 50; + /// + /// 波运行速度(运行时间间隔,毫秒) + /// + /// The wave sleep. + [Description("波运行速度(运行时间间隔,毫秒)"), Category("自定义")] + public int WaveSleep + { + get { return m_waveSleep; } + set + { + if (value <= 0) + return; + m_waveSleep = value; + if (timer != null) + { + timer.Enabled = false; + timer.Interval = value; + timer.Enabled = true; + } + } + } + private int m_bubbleSpeed = 0; + /// + /// 气泡速度(0表示不启用) + /// + /// The wave sleep. + [Description("气泡速度(0表示不启用)"), Category("自定义")] + public int BubbleSpeed + { + get { return m_bubbleSpeed; } + set + { + m_bubbleSpeed = value; + this.Invalidate(); + } + } + + private int m_bubbleIntervalTime = 500; + /// + /// 气泡生成间隔时间(毫秒,不准确,根据波运行速度判断) + /// + /// The wave sleep. + [Description("气泡生成间隔时间(毫秒,不准确,根据波运行速度判断)"), Category("自定义")] + public int BubbleIntervalTime + { + get { return m_bubbleIntervalTime; } + set + { + m_bubbleIntervalTime = value; + this.Invalidate(); + } + } + /// + /// 上次生成气泡的时间 + /// + private int lastBubbleTime = 0; + /// + /// 气泡列表 + /// + private List m_lstBubble = new List(); + /// + /// The timer + /// + Timer timer = new Timer(); + /// + /// The int left x + /// + int intLeftX = -200; + /// + /// Initializes a new instance of the class. + /// + public Wave() + { + this.Size = new Size(600, 100); + ////设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + timer.Interval = m_waveSleep; + timer.Tick += timer_Tick; + this.VisibleChanged += UCWave_VisibleChanged; + } + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + /// + /// Handles the VisibleChanged event of the UCWave control. + /// + /// The source of the event. + /// The instance containing the event data. + void UCWave_VisibleChanged(object sender, EventArgs e) + { + timer.Enabled = this.Visible; + } + + /// + /// Handles the Tick event of the timer control. + /// + /// The source of the event. + /// The instance containing the event data. + void timer_Tick(object sender, EventArgs e) + { + intLeftX -= 10; + if (intLeftX == m_waveWidth * -2) + intLeftX = m_waveWidth * -1; + + if (m_bubbleSpeed > 0) + { + lastBubbleTime += m_waveSleep; + if (lastBubbleTime >= m_bubbleIntervalTime) + { + lastBubbleTime = 0; + var r = new Random(DateTime.Now.Millisecond); + var b_x = r.Next(0, this.Width); + var b = new Bubble(); + b.Key = Guid.NewGuid().ToString(); + b.BubblePoint = new Point(b_x, 0); + b.BubbleWidth = 5; + m_lstBubble.Add(b); + } + } + else + { + m_lstBubble.Clear(); + } + this.Invalidate(); + } + /// + /// Handles the event. + /// + /// The instance containing the event data. + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + var g = e.Graphics; + g.SetGDIHigh(); + List lst1 = new List(); + List lst2 = new List(); + int m_intX = intLeftX; + while (true) + { + lst1.Add(new Point(m_intX, 1)); + lst1.Add(new Point(m_intX + m_waveWidth / 2, m_waveHeight)); + + lst2.Add(new Point(m_intX + m_waveWidth / 2, 1)); + lst2.Add(new Point(m_intX + m_waveWidth / 2 + m_waveWidth / 2, m_waveHeight)); + m_intX += m_waveWidth; + if (m_intX > this.Width + m_waveWidth) + break; + } + + GraphicsPath path1 = new GraphicsPath(); + path1.AddCurve(lst1.ToArray(), 0.5F); + path1.AddLine(this.Width + 1, -1, this.Width + 1, this.Height); + path1.AddLine(this.Width + 1, this.Height, -1, this.Height); + path1.AddLine(-1, this.Height, -1, -1); + + GraphicsPath path2 = new GraphicsPath(); + path2.AddCurve(lst2.ToArray(), 0.5F); + path2.AddLine(this.Width + 1, -1, this.Width + 1, this.Height); + path2.AddLine(this.Width + 1, this.Height, -1, this.Height); + path2.AddLine(-1, this.Height, -1, -1); + + g.FillPath(new SolidBrush(Color.FromArgb(220, m_waveColor.R, m_waveColor.G, m_waveColor.B)), path1); + g.FillPath(new SolidBrush(Color.FromArgb(220, m_waveColor.R, m_waveColor.G, m_waveColor.B)), path2); + //气泡 + foreach (var item in m_lstBubble) + { + GraphicsPath gp = new GraphicsPath(); + Rectangle rec = new Rectangle(item.BubblePoint.X - item.BubbleWidth / 2, this.Height - (item.BubblePoint.Y - item.BubbleWidth / 2), item.BubbleWidth / 3 * 2, item.BubbleWidth / 3 * 2); + gp.AddEllipse(rec); + + Color[] surroundColor = new Color[] { Color.FromArgb(50, Color.White) }; + PathGradientBrush pb = new PathGradientBrush(gp); + pb.CenterColor = Color.FromArgb(150, Color.White); + pb.SurroundColors = surroundColor; + g.FillPath(pb, gp); + + item.BubblePoint = new Point(item.BubblePoint.X, item.BubblePoint.Y + m_bubbleSpeed); + item.BubbleWidth += 1; + } + + if (OnPainted != null) + { + OnPainted(this, e); + } + } + internal class Bubble + { + internal string Key { get; set; } + /// + /// 坐标 + /// + internal Point BubblePoint { get; set; } + /// + /// 宽度 + /// + internal int BubbleWidth { get; set; } + } + } +} diff --git a/JinYuan.ControlLib/WaveProcess.Designer.cs b/JinYuan.ControlLib/WaveProcess.Designer.cs new file mode 100644 index 0000000..9e9fdf0 --- /dev/null +++ b/JinYuan.ControlLib/WaveProcess.Designer.cs @@ -0,0 +1,65 @@ +namespace JinYuan.ControlLib +{ + partial class WaveProcess + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.wave1 = new JinYuan.ControlLib.Wave(); + this.SuspendLayout(); + // + // wave1 + // + this.wave1.BubbleIntervalTime = 500; + this.wave1.BubbleSpeed = 0; + this.wave1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.wave1.Location = new System.Drawing.Point(0, 84); + this.wave1.Name = "wave1"; + this.wave1.Size = new System.Drawing.Size(116, 22); + this.wave1.TabIndex = 0; + this.wave1.Text = "wave1"; + this.wave1.WaveColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); + this.wave1.WaveHeight = 30; + this.wave1.WaveSleep = 50; + this.wave1.WaveWidth = 200; + // + // WaveProcess + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Gainsboro; + this.Controls.Add(this.wave1); + this.Name = "WaveProcess"; + this.Size = new System.Drawing.Size(116, 106); + this.ResumeLayout(false); + + } + + #endregion + + private Wave wave1; + } +} diff --git a/JinYuan.ControlLib/WaveProcess.cs b/JinYuan.ControlLib/WaveProcess.cs new file mode 100644 index 0000000..9177454 --- /dev/null +++ b/JinYuan.ControlLib/WaveProcess.cs @@ -0,0 +1,346 @@ +using JinYuan.ControlLib.UCHelper; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class WaveProcess : ControlBase + { + /// + /// The m is rectangle + /// + private bool m_isRectangle = false; + /// + /// Gets or sets a value indicating whether this instance is rectangle. + /// + /// true if this instance is rectangle; otherwise, false. + [Description("是否矩形"), Category("自定义")] + public bool IsRectangle + { + get { return m_isRectangle; } + set + { + m_isRectangle = value; + if (value) + { + base.ConerRadius = 10; + } + else + { + base.ConerRadius = Math.Min(this.Width, this.Height); + } + this.Invalidate(); + } + } + + #region 不再使用的父类属性 English:Parent class attributes that are no longer used + /// + /// 圆角角度 + /// + /// The coner radius. + [Browsable(false)] + public new int ConerRadius + { + get; + set; + } + /// + /// 是否圆角 + /// + /// true if this instance is radius; otherwise, false. + [Browsable(false)] + public new bool IsRadius + { + get; + set; + } + + /// + /// 当使用边框时填充颜色,当值为背景色或透明色或空值则不填充 + /// + /// The color of the fill. + [Browsable(false)] + public new Color FillColor + { + get; + set; + } + #endregion + + + /// + /// Occurs when [value changed]. + /// + [Description("值变更事件"), Category("自定义")] + public event EventHandler ValueChanged; + /// + /// The m value + /// + int m_value = 0; + /// + /// Gets or sets the value. + /// + /// The value. + [Description("当前属性"), Category("自定义")] + public int Value + { + set + { + if (value > m_maxValue) + m_value = m_maxValue; + else if (value < 0) + m_value = 0; + else + m_value = value; + if (ValueChanged != null) + ValueChanged(this, null); + wave1.Height = (int)((double)m_value / (double)m_maxValue * this.Height) + wave1.WaveHeight; + this.Invalidate(); + } + get + { + return m_value; + } + } + + /// + /// The m maximum value + /// + private int m_maxValue = 100; + + /// + /// Gets or sets the maximum value. + /// + /// The maximum value. + [Description("最大值"), Category("自定义")] + public int MaxValue + { + get { return m_maxValue; } + set + { + if (value < m_value) + m_maxValue = m_value; + else + m_maxValue = value; + this.Invalidate(); + } + } + + /// + /// 获取或设置控件显示的文字的字体。 + /// + public override Font Font + { + get + { + return base.Font; + } + set + { + base.Font = value; + this.Invalidate(); + } + } + + /// + /// 获取或设置控件的前景色。 + /// + + public override Color ForeColor + { + get + { + return base.ForeColor; + } + set + { + base.ForeColor = value; + this.Invalidate(); + } + } + + /// + /// Gets or sets the color of the value. + /// + + [Description("值颜色"), Category("自定义")] + public Color WaveColor + { + get { return this.wave1.WaveColor; } + set + { + this.wave1.WaveColor = value; + //this.Refresh(); + } + } + + /// + /// 边框宽度 + /// + + [Description("边框宽度"), Category("自定义")] + public override int RectWidth + { + get + { + return base.RectWidth; + } + set + { + if (value < 4) + base.RectWidth = 4; + else + base.RectWidth = value; + this.Invalidate(); + } + } + /// + /// 气泡速度(0表示不启用) + /// + + [Description("气泡速度(0表示不启用)"), Category("自定义")] + public int BubbleSpeed + { + get { return this.wave1.BubbleSpeed; } + set + { + this.wave1.BubbleSpeed = value; + //this.Invalidate(); + } + } + + /// + /// 气泡生成间隔时间(毫秒,不准确,根据波运行速度判断) + /// + + [Description("气泡生成间隔时间(毫秒,不准确,根据波运行速度判断)"), Category("自定义")] + public int BubbleIntervalTime + { + get { return this.wave1.BubbleIntervalTime; } + set + { + this.wave1.BubbleIntervalTime = value; + this.Invalidate(); + } + } + + + /// + /// Initializes a new instance of the class. + /// + public WaveProcess() + { + InitializeComponent(); + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + + base.IsRadius = true; + base.IsShowRect = false; + RectWidth = 4; + RectColor = Color.White; + ForeColor = Color.White; + wave1.Height = (int)((double)m_value / (double)m_maxValue * this.Height) + wave1.WaveHeight; + this.SizeChanged += ProcessWave_SizeChanged; + this.wave1.OnPainted += wave1_Painted; + base.ConerRadius = Math.Min(this.Width, this.Height); + } + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + + /// + /// Handles the Painted event of the wave1 control. + /// + /// The source of the event. + /// The instance containing the event data. + private void wave1_Painted(object sender, PaintEventArgs e) + { + e.Graphics.SetGDIHigh(); + if (IsShowRect) + { + if (m_isRectangle) + { + Color rectColor = RectColor; + Pen pen = new Pen(rectColor, (float)RectWidth); + Rectangle clientRectangle = new Rectangle(0, this.wave1.Height - this.Height, this.Width, this.Height); + GraphicsPath graphicsPath = new GraphicsPath(); + graphicsPath.AddArc(clientRectangle.X, clientRectangle.Y, 10, 10, 180f, 90f); + graphicsPath.AddArc(clientRectangle.Width - 10 - 1, clientRectangle.Y, 10, 10, 270f, 90f); + graphicsPath.AddArc(clientRectangle.Width - 10 - 1, clientRectangle.Bottom - 10 - 1, 10, 10, 0f, 90f); + graphicsPath.AddArc(clientRectangle.X, clientRectangle.Bottom - 10 - 1, 10, 10, 90f, 90f); + graphicsPath.CloseFigure(); + e.Graphics.DrawPath(pen, graphicsPath); + } + else + { + SolidBrush solidBrush = new SolidBrush(RectColor); + e.Graphics.DrawEllipse(new Pen(solidBrush, RectWidth), new Rectangle(0, this.wave1.Height - this.Height, this.Width, this.Height)); + } + } + + if (!m_isRectangle) + { + //这里曲线救国,因为设置了控件区域导致的毛边,通过画一个没有毛边的圆遮挡 + SolidBrush solidBrush1 = new SolidBrush(RectColor); + e.Graphics.DrawEllipse(new Pen(solidBrush1, 2), new Rectangle(-1, this.wave1.Height - this.Height - 1, this.Width + 2, this.Height + 2)); + } + string strValue = ((double)m_value / (double)m_maxValue).ToString("0.%"); + SizeF sizeF = e.Graphics.MeasureString(strValue, Font); + e.Graphics.DrawString(strValue, Font, new SolidBrush(ForeColor), new PointF((this.Width - sizeF.Width) / 2, (this.wave1.Height - this.Height) + (this.Height - sizeF.Height) / 2)); + } + + /// + /// Handles the SizeChanged event of the UCProcessWave control. + /// + /// The source of the event. + /// The instance containing the event data. + private void ProcessWave_SizeChanged(object sender, EventArgs e) + { + if (!m_isRectangle) + { + base.ConerRadius = Math.Min(this.Width, this.Height); + if (this.Width != this.Height) + { + this.Size = new Size(Math.Min(this.Width, this.Height), Math.Min(this.Width, this.Height)); + } + } + } + + /// + /// Handles the event. + /// + /// The instance containing the event data. + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + e.Graphics.SetGDIHigh(); + if (!m_isRectangle) + { + //这里曲线救国,因为设置了控件区域导致的毛边,通过画一个没有毛边的圆遮挡 + SolidBrush solidBrush = new SolidBrush(RectColor); + e.Graphics.DrawEllipse(new Pen(solidBrush, 2), new Rectangle(-1, -1, this.Width + 2, this.Height + 2)); + } + string strValue = ((double)m_value / (double)m_maxValue).ToString("0.%"); + SizeF sizeF = e.Graphics.MeasureString(strValue, Font); + e.Graphics.DrawString(strValue, Font, new SolidBrush(ForeColor), new PointF((this.Width - sizeF.Width) / 2, (this.Height - sizeF.Height) / 2 + 1)); + + } + } +} diff --git a/JinYuan.ControlLib/WaveProcess.resx b/JinYuan.ControlLib/WaveProcess.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/WaveProcess.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/WithBgBox.Designer.cs b/JinYuan.ControlLib/WithBgBox.Designer.cs new file mode 100644 index 0000000..c0b2ca1 --- /dev/null +++ b/JinYuan.ControlLib/WithBgBox.Designer.cs @@ -0,0 +1,82 @@ +namespace JinYuan.ControlLib +{ + partial class WithBgBox + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbl_Title = new System.Windows.Forms.Label(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // lbl_Title + // + this.lbl_Title.BackColor = System.Drawing.Color.Transparent; + this.lbl_Title.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbl_Title.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold); + this.lbl_Title.ForeColor = System.Drawing.Color.Transparent; + this.lbl_Title.Location = new System.Drawing.Point(0, 0); + this.lbl_Title.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.lbl_Title.Name = "lbl_Title"; + this.lbl_Title.Size = new System.Drawing.Size(827, 66); + this.lbl_Title.TabIndex = 0; + this.lbl_Title.Text = " 标题展示"; + this.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.Transparent; + this.panel1.Controls.Add(this.lbl_Title); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(827, 66); + this.panel1.TabIndex = 1; + // + // WithBgBox + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 19F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(28)))), ((int)(((byte)(68))))); + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources._4; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "WithBgBox"; + this.Size = new System.Drawing.Size(827, 433); + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label lbl_Title; + } +} diff --git a/JinYuan.ControlLib/WithBgBox.cs b/JinYuan.ControlLib/WithBgBox.cs new file mode 100644 index 0000000..06f835e --- /dev/null +++ b/JinYuan.ControlLib/WithBgBox.cs @@ -0,0 +1,54 @@ +using System.ComponentModel; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + public partial class WithBgBox : UserControl + { + public WithBgBox() + { + InitializeComponent(); + + //设置控件样式,去除缓冲 + this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.SetStyle(ControlStyles.DoubleBuffer, true); + this.SetStyle(ControlStyles.ResizeRedraw, true); + this.SetStyle(ControlStyles.Selectable, true); + this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); + } + + + #region 减少闪烁 + protected override CreateParams CreateParams + { + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; + return cp; + } + } + #endregion + + private string titleName = "标题名称"; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示标题名称")] + + public string TitleName + { + get { return titleName; } + set + { + titleName = value; + this.lbl_Title.Text = titleName; + } + } + + //private void WithBgBox_Resize(object sender, EventArgs e) + //{ + // lbl_Title.Left = (ClientSize.Width - lbl_Title.Width) / 2; + // lbl_Title.Top = (ClientSize.Height - lbl_Title.Height) / 2; + //} + } +} diff --git a/JinYuan.ControlLib/WithBgBox.resx b/JinYuan.ControlLib/WithBgBox.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/WithBgBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/app.config b/JinYuan.ControlLib/app.config new file mode 100644 index 0000000..6b39d48 --- /dev/null +++ b/JinYuan.ControlLib/app.config @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.ControlLib/packages.config b/JinYuan.ControlLib/packages.config new file mode 100644 index 0000000..3f63466 --- /dev/null +++ b/JinYuan.ControlLib/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/JinYuan.ControlLib/ucPanel_400_200.Designer.cs b/JinYuan.ControlLib/ucPanel_400_200.Designer.cs new file mode 100644 index 0000000..8b7df8b --- /dev/null +++ b/JinYuan.ControlLib/ucPanel_400_200.Designer.cs @@ -0,0 +1,82 @@ +namespace JinYuan.ControlLib +{ + partial class ucPanel_400_200 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbTitle = new System.Windows.Forms.Label(); + this.pbArrow = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pbArrow)).BeginInit(); + this.SuspendLayout(); + // + // lbTitle + // + this.lbTitle.AutoSize = true; + this.lbTitle.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbTitle.ForeColor = System.Drawing.Color.White; + this.lbTitle.Location = new System.Drawing.Point(25, 16); + this.lbTitle.Name = "lbTitle"; + this.lbTitle.Size = new System.Drawing.Size(65, 19); + this.lbTitle.TabIndex = 3; + this.lbTitle.Text = "信息标题"; + // + // pbArrow + // + this.pbArrow.Image = global::JinYuan.ControlLib.Properties.Resources.big_arrow_l; + this.pbArrow.Location = new System.Drawing.Point(98, 17); + this.pbArrow.Name = "pbArrow"; + this.pbArrow.Size = new System.Drawing.Size(21, 19); + this.pbArrow.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pbArrow.TabIndex = 2; + this.pbArrow.TabStop = false; + // + // ucPanel_400_200 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.big_box; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbTitle); + this.Controls.Add(this.pbArrow); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "ucPanel_400_200"; + this.Size = new System.Drawing.Size(400, 200); + ((System.ComponentModel.ISupportInitialize)(this.pbArrow)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lbTitle; + private System.Windows.Forms.PictureBox pbArrow; + } +} diff --git a/JinYuan.ControlLib/ucPanel_400_200.cs b/JinYuan.ControlLib/ucPanel_400_200.cs new file mode 100644 index 0000000..6993a22 --- /dev/null +++ b/JinYuan.ControlLib/ucPanel_400_200.cs @@ -0,0 +1,33 @@ +using System.ComponentModel; +using System.ComponentModel.Design; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] + public partial class ucPanel_400_200 : UserControl + { + public ucPanel_400_200() + { + InitializeComponent(); + } + + [Category("自定义参数")] + [DefaultValue("标题文字")] + [Description("标题文字")] + [Browsable(true)] + public string Title + { + set + { + lbTitle.Text = value; + lbTitle.Invalidate(); + pbArrow.Left = lbTitle.Right + 3; + } + get + { + return lbTitle.Text; + } + } + } +} diff --git a/JinYuan.ControlLib/ucPanel_400_200.resx b/JinYuan.ControlLib/ucPanel_400_200.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/ucPanel_400_200.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.ControlLib/ucPanel_900_450.Designer.cs b/JinYuan.ControlLib/ucPanel_900_450.Designer.cs new file mode 100644 index 0000000..f19c0f7 --- /dev/null +++ b/JinYuan.ControlLib/ucPanel_900_450.Designer.cs @@ -0,0 +1,82 @@ +namespace JinYuan.ControlLib +{ + partial class ucPanel_900_450 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.lbTitle = new System.Windows.Forms.Label(); + this.pbArrow = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pbArrow)).BeginInit(); + this.SuspendLayout(); + // + // lbTitle + // + this.lbTitle.AutoSize = true; + this.lbTitle.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lbTitle.ForeColor = System.Drawing.Color.White; + this.lbTitle.Location = new System.Drawing.Point(15, 12); + this.lbTitle.Name = "lbTitle"; + this.lbTitle.Size = new System.Drawing.Size(65, 19); + this.lbTitle.TabIndex = 3; + this.lbTitle.Text = "信息标题"; + // + // pbArrow + // + this.pbArrow.Image = global::JinYuan.ControlLib.Properties.Resources.big_arrow; + this.pbArrow.Location = new System.Drawing.Point(85, 13); + this.pbArrow.Name = "pbArrow"; + this.pbArrow.Size = new System.Drawing.Size(21, 19); + this.pbArrow.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pbArrow.TabIndex = 2; + this.pbArrow.TabStop = false; + // + // ucPanel_900_450 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.BackgroundImage = global::JinYuan.ControlLib.Properties.Resources.big_box_super; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.lbTitle); + this.Controls.Add(this.pbArrow); + this.DoubleBuffered = true; + this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "ucPanel_900_450"; + this.Size = new System.Drawing.Size(400, 200); + ((System.ComponentModel.ISupportInitialize)(this.pbArrow)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lbTitle; + private System.Windows.Forms.PictureBox pbArrow; + } +} diff --git a/JinYuan.ControlLib/ucPanel_900_450.cs b/JinYuan.ControlLib/ucPanel_900_450.cs new file mode 100644 index 0000000..f06a10b --- /dev/null +++ b/JinYuan.ControlLib/ucPanel_900_450.cs @@ -0,0 +1,51 @@ +using System.ComponentModel; +using System.ComponentModel.Design; +using System.Windows.Forms; + +namespace JinYuan.ControlLib +{ + [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] + public partial class ucPanel_900_450 : UserControl + { + public ucPanel_900_450() + { + InitializeComponent(); + } + + [Category("自定义参数")] + [DefaultValue("标题文字")] + [Description("标题文字")] + [Browsable(true)] + public string Title + { + set + { + lbTitle.Text = value; + lbTitle.Invalidate(); + pbArrow.Left = lbTitle.Right + 3; + } + get + { + return lbTitle.Text; + } + } + + + + private bool titleVisible = true; + [Browsable(true)]//是否可见 + [Category("自定义属性")] //类别 + [Description("设置或显示上边箭头是否隐藏")] + public bool TitleVisible + { + get { return titleVisible; } + set + { + titleVisible = value; + pbArrow.Visible = titleVisible; + this.Invalidate();//点击后立即生效 + } + } + + } +} diff --git a/JinYuan.ControlLib/ucPanel_900_450.resx b/JinYuan.ControlLib/ucPanel_900_450.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/JinYuan.ControlLib/ucPanel_900_450.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/JinYuan.DAL/Enums/Enums.cs b/JinYuan.DAL/Enums/Enums.cs new file mode 100644 index 0000000..daa4c71 --- /dev/null +++ b/JinYuan.DAL/Enums/Enums.cs @@ -0,0 +1,100 @@ +namespace JinYuan.DAL.Enums +{ + /// + /// 查询条件枚举 + /// + public enum QueryOperator + { + /// + /// 相等 + /// + Equal, + /// + /// 匹配 + /// + Like, + /// + /// 大于 + /// + GreaterThan, + /// + /// 大于或等于 + /// + GreaterThanOrEqual, + /// + /// 小于 + /// + LessThan, + /// + /// 小于或等于 + /// + LessThanOrEqual, + /// + /// 等于集合 + /// + In, + /// + /// 不等于集合 + /// + NotIn, + /// + /// 左边匹配 + /// + LikeLeft, + /// + /// 右边匹配 + /// + LikeRight, + /// + /// 不相等 + /// + NoEqual, + /// + /// 为空或空 + /// + IsNullOrEmpty, + /// + /// 不为空 + /// + IsNot, + /// + /// 不匹配 + /// + NoLike, + /// + /// 时间段 值用 "|" 隔开 + /// + DateRange + } + + + /// + /// 查询条件运算符 + /// + public enum QueryCharacter + { + /// + /// 且 + /// + And, + /// + /// 或 + /// + Or, + } + + /// + /// 排序枚举 + /// + public enum OrderSequence + { + /// + /// 正序 + /// + Asc, + /// + /// 倒序 + /// + Desc + } +} diff --git a/JinYuan.DAL/ISugarHepler.cs b/JinYuan.DAL/ISugarHepler.cs new file mode 100644 index 0000000..059694f --- /dev/null +++ b/JinYuan.DAL/ISugarHepler.cs @@ -0,0 +1,576 @@ +using JinYuan.DAL.Models; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq.Expressions; +using System.Threading.Tasks; + +namespace JinYuan.DAL +{ + public interface ISugarHepler : IDisposable + { + /// + /// 初始化数据库连接 + /// + /// + void SetConnectionStr(string connectionStr, SqlSugar.DbType dbType); + + #region 数据库管理 + /// + /// 添加列 + /// + /// 表名 + /// 列信息 + /// + bool AddColumn(string tableName, DbColumnInfo column); + /// + /// 添加主键 + /// + /// 表名 + /// 列名 + /// + bool AddPrimaryKey(string tableName, string columnName); + /// + /// 备份数据库 + /// + /// 数据库名 + /// 文件名 + /// + bool BackupDataBase(string databaseName, string fullFileName); + /// + /// 备份表 + /// + /// 旧表名 + /// 行表名 + /// 行数 + /// + bool BackupTable(string oldTableName, string newTableName, int maxBackupDataRows = int.MaxValue); + /// + /// 创建表 + /// + /// 表名 + /// 列集合 + /// 是否创建主键 + /// + bool CreateTable(string tableName, List columns, bool isCreatePrimaryKey = true); + /// + /// 删除列 + /// + /// 表名 + /// 列名 + /// + bool DropColumn(string tableName, string columnName); + /// + /// 删除约束 + /// + /// 表名 + /// 约束名 + /// + bool DropConstraint(string tableName, string constraintName); + /// + /// 删除表 + /// + /// + /// + bool DropTable(string tableName); + /// + /// 获取列信息 + /// + /// 表名 + /// 是否缓存 + /// + List GetColumnInfosByTableName(string tableName, bool isCache = true); + /// + /// 获取自增列 + /// + /// 表名 + /// + List GetIsIdentities(string tableName); + /// + /// 获取主键 + /// + /// 表名 + /// + List GetPrimaries(string tableName); + /// + /// 获取表集合 + /// + /// 是否缓存 + /// + List GetTableInfoList(bool isCache = true); + /// + /// 获取视图集合 + /// + /// 是否缓存 + /// + List GetViewInfoList(bool isCache = true); + /// + /// 检测列是否存在 + /// + /// 表名 + /// 列名 + /// + bool IsAnyColumn(string tableName, string column); + /// + /// 检测约束 + /// + /// 约束名称 + /// + bool IsAnyConstraint(string constraintName); + /// + /// 检测是否有任何系统表权限 + /// + /// + bool IsAnySystemTablePermissions(); + /// + /// 检测表是否存在 + /// + /// 表名 + /// 是否缓存 + /// + bool IsAnyTable(string tableName, bool isCache = true); + /// + /// 检测列是否自增列 + /// + /// 表名 + /// 列名 + /// + bool IsIdentity(string tableName, string column); + /// + /// 检测列是否主键 + /// + /// 表名 + /// 列名 + /// + bool IsPrimaryKey(string tableName, string column); + /// + /// 重置列名 + /// + /// 表名 + /// 旧列名 + /// 新列名 + /// + bool RenameColumn(string tableName, string oldColumnName, string newColumnName); + /// + /// 重置表数据 + /// + /// 表名 + /// + bool TruncateTable(string tableName); + /// + /// 修改列信息 + /// + /// 表名 + /// 列信息 + /// + bool UpdateColumn(string tableName, DbColumnInfo column); + + /// + /// 获取数据库时间 + /// + /// 返回值 + DateTime GetDataBaseTime(); + #endregion + + #region 查询 + + + /// + /// 查询所有 + /// + /// + /// + List QueryAll() where T : class, new(); + /// + /// 查询-返回自定义数据 + /// + /// 泛型参数(集合成员的类型) + /// 返回值类型 + /// 返回值表达式 + /// 查询表达式 + /// 值 + TResult QuerySelect(Expression> expression, Expression> whereLambda = null) where T : class, new(); + + /// + /// 查询-返回自定义数据 + /// + /// 泛型参数(集合成员的类型) + /// 返回值类型 + /// 返回值表达式 + /// 查询表达式 + /// 值 + List QuerySelectList(Expression> expression, Expression> whereLambda = null) where T : class, new(); + + /// + /// 根据条件查询单条数据 + /// + /// 泛型参数(集合成员的类型) + /// 查询表达式 + /// + T Query(Expression> whereLambda = null) where T : class, new(); + + /// + /// 根据条件异步查询单条数据 + /// + /// + /// + /// + Task QueryAsync(Expression> whereLambda = null) where T : class, new(); + + /// + /// 根据条件查询排序数据 + /// + /// + /// + /// + /// + T Query(Expression> whereLambda = null, Expression> whereLambda2 = null, OrderByType byType = OrderByType.Desc) where T : class, new(); + /// + /// 根据条件查询集合 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 实体 + List QueryWhereList(Expression> whereLambda = null) where T : class, new(); + /// + /// 查询排序数据 + /// + /// + /// + /// + List QueryList(QueryDescriptor query = null) where T : class, new(); + /// + /// 查询前N条数据 + /// + /// + /// 排序列名 + /// 前N条数据 + /// 条件 + /// 升序/降序 + /// + List QueryList(string sort, int Take, Expression> whereLambda = null, OrderByType byType = OrderByType.Desc) where T : class, new(); + /// + /// 根据字段查询排列 + /// + /// + /// + /// + /// + /// + List QueryList(string sort, Expression> whereLambda = null, OrderByType byType = OrderByType.Asc) where T : class, new(); + /// + /// 查询集合 + /// + /// 泛型参数(集合成员的类型) + /// sql + /// 实体 + List QuerySqlList(string sql) where T : class, new(); + + /// + /// 分页查询 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 总行数 + /// 实体 + List QueryPageList(QueryDescriptor query, out int totalCount) where T : class, new(); + + /// + /// 通过多值查询数据集 + /// + /// 泛型参数(集合成员的类型) + /// 字段名 + /// 数据集合 + /// + List In(string inFieldName, List inValues) where T : class, new(); + + /// + /// 通过多值(主键)查询数据集 + /// + /// 泛型参数(集合成员的类型) + /// 主键数据集合 + /// + List In(List values) where T : class, new(); + + /// + /// 条件查询DataTable + /// + /// 泛型参数(集合成员的类型) + /// 查询表达式 + /// 实体 + DataTable QueryDataTable(Expression> whereLambda = null) where T : class, new(); + + /// + /// 查询DataTable + /// + /// sql + /// 实体 + DataTable QueryDataTable(string sql); + /// + /// 查询单个值 + /// + /// sql + /// 单个值 + object QuerySqlScalar(string sql); + + /// + /// 分页查询 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 总行数 + /// DataTable + DataTable QueryDataTablePageList(QueryDescriptor query, out int totalCount) where T : class, new(); + + #endregion + + #region 新增 + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 操作影响的行数 + int Add(T entity) where T : class, new(); + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 泛型集合 + /// 操作影响的行数 + int Add(List entitys) where T : class, new(); + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 字典集合(Key:列名 Value:值) + /// 操作影响的行数 + int Add(Dictionary keyValues) where T : class, new(); + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 返回实体 + T AddReturnEntity(T entity) where T : class, new(); + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 返回自增列 + int AddReturnIdentity(T entity) where T : class, new(); + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 返回bool + bool AddReturnBool(T entity) where T : class, new(); + Task AddReturnBoolAsync(T entity) where T : class, new(); + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 泛型集合 + /// 返回bool + bool AddReturnBool(List entitys) where T : class, new(); + /// + /// 异步增加 + /// + /// + /// + /// + Task AddReturnBoolAsync(List entitys) where T : class, new(); + #endregion + + #region 修改 + /// + /// 修改(主键是更新条件) + /// + /// 泛型参数(集合成员的类型) + /// 实体对象(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + int Update(T entity, List lstIgnoreColumns = null, bool isLock = true) where T : class, new(); + + /// + /// 修改(主键是更新条件) + /// + /// 泛型参数(集合成员的类型) + /// 实体对象集合(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + int Update(List entitys, List lstIgnoreColumns = null, bool isLock = true) where T : class, new(); + + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 条件 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + int Update(T entity, Expression> where, List lstIgnoreColumns = null, + bool isLock = true) where T : class, new(); + + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + int Update(Expression> update, Expression> where = null, bool isLock = true) where T : class, new(); + /// + /// 修改+1 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + int Update(Expression> update, Expression> where = null, bool isLock = true) where T : class, new(); + /// + /// 修改单条数据 + /// + /// + /// + /// + /// + int UpdateSingle(T entity, Expression> where = null, Expression> where2 = null, bool isLock = true) where T : class, new(); + /// + /// 异步修改 + /// + /// + /// + /// + /// + /// + /// + Task UpdateSingleAsync(T entity, Expression> where = null, Expression> where2 = null, bool isLock = true) where T : class, new(); + + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 字典集合(Key:列名 Value:值) + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + int Update(Dictionary keyValues, Expression> where = null, bool isLock = true) + where T : class, new(); + + /// + /// 批量修改需要更新的列 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 更新指定列 + /// 条件(为空则以主键更新,反之需要把wherecolumns中的列加到UpdateColumns中) + /// 是否加锁 + /// 操作影响的行数 + int UpdateColumns(List entitys, Expression> updateColumns, + Expression> wherecolumns = null, bool isLock = true) where T : class, new(); + + /// + /// 修改 通过RowVer及主键Code 更新 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + int UpdateRowVer(T entity, List lstIgnoreColumns = null, bool isLock = true) where T : class, new(); + + /// + /// 修改 通过RowVer及主键Code 更新 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 更新条件 + /// 是否加锁 + /// 操作影响的行数 + int UpdateRowVer(Expression> update, Dictionary where, bool isLock = true) where T : class, new(); + #endregion + + + #region 删除 + + /// + /// 删除 通过主键数据 + /// + /// 泛型参数(集合成员的类型) + /// 主键值 + /// 是否加锁 + /// 操作影响的行数 + int DeleteByPrimary(List primaryKeyValues, bool isLock = true) where T : class, new(); + + /// + /// 根据实体类删除 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 是否加锁 + /// 操作影响的行数 + int Delete(T entity, bool isLock = true) where T : class, new(); + + /// + /// 初始化表 + /// + /// + void Delete() where T : class, new(); + + /// + /// 根据实体类集合删除 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 (必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 是否加锁 + /// 操作影响的行数 + int Delete(List entity, bool isLock = true) where T : class, new(); + + /// + /// 删除 + /// + /// 泛型参数(集合成员的类型) + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + int Delete(Expression> where, bool isLock = true) where T : class, new(); + /// + /// 异步删除 + /// + /// + /// + /// + /// + Task DeleteAsync(Expression> where, bool isLock = true) where T : class, new(); + /// + /// 通过多值(主键)删除数据集 + /// + /// 泛型参数(集合成员的类型) + /// 数据集合 + /// + int DeleteIn(List inValues) where T : class, new(); + + #endregion + + /// + /// 是否存在 + /// + /// 泛型参数(集合成员的类型 + /// 查询表达式 + /// + bool IsExist(Expression> whereLambda) where T : class, new(); + } +} diff --git a/JinYuan.DAL/JinYuan.DAL.csproj b/JinYuan.DAL/JinYuan.DAL.csproj new file mode 100644 index 0000000..98bd66c --- /dev/null +++ b/JinYuan.DAL/JinYuan.DAL.csproj @@ -0,0 +1,137 @@ + + + + + Debug + AnyCPU + {114AA012-29C9-418C-A2D6-3173C5341F51} + Library + Properties + JinYuan.DAL + JinYuan.DAL + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll + + + ..\packages\BouncyCastle.Cryptography.2.3.1\lib\net461\BouncyCastle.Cryptography.dll + + + ..\packages\Google.Protobuf.3.26.1\lib\net45\Google.Protobuf.dll + + + ..\packages\K4os.Compression.LZ4.1.3.8\lib\net462\K4os.Compression.LZ4.dll + + + ..\packages\K4os.Compression.LZ4.Streams.1.3.8\lib\net462\K4os.Compression.LZ4.Streams.dll + + + ..\packages\K4os.Hash.xxHash.1.0.8\lib\net462\K4os.Hash.xxHash.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\MySql.Data.9.1.0\lib\net48\MySql.Data.dll + + + ..\packages\SqlSugar.5.1.4.175\lib\SqlSugar.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + ..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll + + + + + ..\packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.IO.Pipelines.7.0.0\lib\net462\System.IO.Pipelines.dll + + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + + ..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll + + + ..\packages\System.Security.Permissions.7.0.0\lib\net462\System.Security.Permissions.dll + + + ..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll + + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + ..\packages\ZstdSharp.Port.0.8.0\lib\net462\ZstdSharp.dll + + + + + + + + + + + + + + + + + + + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360} + JinYuan.Helper + + + + \ No newline at end of file diff --git a/JinYuan.DAL/Models/OrderSortEntity.cs b/JinYuan.DAL/Models/OrderSortEntity.cs new file mode 100644 index 0000000..591ea62 --- /dev/null +++ b/JinYuan.DAL/Models/OrderSortEntity.cs @@ -0,0 +1,19 @@ +using JinYuan.DAL.Enums; + +namespace JinYuan.DAL.Models +{ + /// + /// 排序实体 + /// + public class OrderSortEntity + { + /// + /// 排序字段 + /// + public string Sort { get; set; } + /// + /// 排序类型 + /// + public OrderSequence Order { get; set; } + } +} diff --git a/JinYuan.DAL/Models/QueryCondition.cs b/JinYuan.DAL/Models/QueryCondition.cs new file mode 100644 index 0000000..d5b1716 --- /dev/null +++ b/JinYuan.DAL/Models/QueryCondition.cs @@ -0,0 +1,24 @@ +using JinYuan.DAL.Enums; + +namespace JinYuan.DAL.Models +{ + public class QueryCondition + { + /// + /// 字段名称 + /// + public string Key { get; set; } + /// + /// 查询操作 + /// + public QueryOperator Operator { get; set; } + /// + /// 值 + /// + public object Value { get; set; } + /// + /// 运算符 + /// + public QueryCharacter Character { get; set; } + } +} diff --git a/JinYuan.DAL/Models/QueryDescriptor.cs b/JinYuan.DAL/Models/QueryDescriptor.cs new file mode 100644 index 0000000..b8f04ee --- /dev/null +++ b/JinYuan.DAL/Models/QueryDescriptor.cs @@ -0,0 +1,27 @@ +using System.Collections.Generic; + +namespace JinYuan.DAL.Models +{ + /// + /// 查询集合 + /// + public class QueryDescriptor + { + /// + /// 行数 + /// + public int PageSize { get; set; } + /// + /// 页码 + /// + public int PageIndex { get; set; } + /// + /// 排序 + /// + public List OrderBys { get; set; } + /// + /// 条件 + /// + public List Conditions { get; set; } + } +} diff --git a/JinYuan.DAL/Properties/AssemblyInfo.cs b/JinYuan.DAL/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9741fe1 --- /dev/null +++ b/JinYuan.DAL/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.DAL")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.DAL")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("114aa012-29c9-418c-a2d6-3173c5341f51")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.DAL/SQLSugarHelper.cs b/JinYuan.DAL/SQLSugarHelper.cs new file mode 100644 index 0000000..b601a4b --- /dev/null +++ b/JinYuan.DAL/SQLSugarHelper.cs @@ -0,0 +1,83 @@ + +using JinYuan.Helper; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace JinYuan.DAL +{ + public class SQLSugarHelper + { + /// + /// 数据库连接字符串 + /// + public static string connString = string.Empty; + + /// + /// 数据库类型 + /// + public static SqlSugar.DbType dbType = SqlSugar.DbType.SqlServer; + + public static SqlSugarScope SqlSugarClient + { + get + { + //如果配置了 SlaveConnectionConfigs那就是主从模式,所有的写入删除更新都走主库,查询走从库, + var db = new SqlSugarScope(new ConnectionConfig() + { + ConnectionString = connString, + DbType = dbType, //数据库类型 + IsAutoCloseConnection = true, //默认false,自动释放和关闭数据库连接,设置为true无需使用using或者close操作 + InitKeyType = InitKeyType.Attribute //默认SystemTable,该属性是不是主键,是不是标识列等等信息 + + }); + db.Ado.CommandTimeOut = 3000;//设置执行语法超时时间 + db.Aop.OnLogExecuted = (sql, pars) => //SQL执行完事件 + { + LogHelper.Instance.WriteLog($"执行时间:{db.Ado.SqlExecutionTime.TotalMilliseconds}毫秒 \r\nSQL如下:{sql} \r\n参数:{GetParams(pars)} ", "SQL执行"); + }; + db.Aop.OnLogExecuting = (sql, pars) => //SQL执行前事件 + { + if (db.TempItems == null) db.TempItems = new Dictionary(); + }; + db.Aop.OnError = (exp) =>//执行SQL 错误事件 + { + LogHelper.Instance.WriteError($"SQL错误:{exp.Message}\r\nSQL如下:{exp.Sql}", "SQL执行"); + throw new Exception(exp.Message); + }; + db.Aop.OnDiffLogEvent = (it) => //可以方便拿到 数据库操作前和操作后的数据变化。 + { + var editBeforeData = it.BeforeData; //变化前数据 + var editAfterData = it.AfterData; //变化后数据 + var sql = it.Sql; //SQL + var parameter = it.Parameters; //参数 + var data = it.BusinessData; //业务数据 + var time = it.Time ?? new TimeSpan(); //时间 + var diffType = it.DiffType; //枚举值 insert 、update 和 delete 用来作业务区分 + + //你可以在这里面写日志方法 + var log = $"时间:{time.TotalMilliseconds}\r\n"; + log += $"类型:{diffType.ToString()}\r\n"; + log += $"SQL:{sql}\r\n"; + log += $"参数:{GetParams(parameter)}\r\n"; + log += $"业务数据:{JsonHelper.EntityToJson(data)}\r\n"; + log += $"变化前数据:{JsonHelper.EntityToJson(editBeforeData)}\r\n"; + log += $"变化后数据:{JsonHelper.EntityToJson(editAfterData)}\r\n"; + //SqlLogHelper.WriteLog(log, "数据变化前后"); + }; + return db; + } + } + + /// + /// 获取参数信息 + /// + /// + /// + private static string GetParams(SugarParameter[] pars) + { + return pars.Aggregate("", (current, p) => current + $"{p.ParameterName}:{p.Value}, "); + } + } +} diff --git a/JinYuan.DAL/SQLSugarService.cs b/JinYuan.DAL/SQLSugarService.cs new file mode 100644 index 0000000..9572094 --- /dev/null +++ b/JinYuan.DAL/SQLSugarService.cs @@ -0,0 +1,1739 @@ +using JinYuan.DAL.Enums; +using JinYuan.DAL.Models; +using JinYuan.Helper; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; + +namespace JinYuan.DAL +{ + + public class SQLSugarService : ISugarHepler + { + public void SetConnectionStr(string connectionStr, SqlSugar.DbType dbType) + { + SQLSugarHelper.connString = connectionStr; + SQLSugarHelper.dbType = dbType; + SqlSugarDb = SQLSugarHelper.SqlSugarClient; + + } + + /// + /// 数据库连接对象 + /// + public SqlSugarScope SqlSugarDb { get; set; } + + + + #region 数据库管理 + /// + /// 添加列 + /// + /// 表名 + /// 列信息 + /// 值 + public bool AddColumn(string tableName, DbColumnInfo column) + { + return SqlSugarDb.DbMaintenance.AddColumn(tableName, column); + } + /// + /// 添加主键 + /// + /// 表名 + /// 列名 + /// 值 + public bool AddPrimaryKey(string tableName, string columnName) + { + return SqlSugarDb.DbMaintenance.AddPrimaryKey(tableName, columnName); + } + /// + /// 备份数据库 + /// + /// 数据库名 + /// 文件名 + /// 值 + public bool BackupDataBase(string databaseName, string fullFileName) + { + return SqlSugarDb.DbMaintenance.BackupDataBase(databaseName, fullFileName); + } + /// + /// 备份表 + /// + /// 旧表名 + /// 行表名 + /// 行数 + /// 值 + public bool BackupTable(string oldTableName, string newTableName, int maxBackupDataRows = int.MaxValue) + { + return SqlSugarDb.DbMaintenance.BackupTable(oldTableName, newTableName, maxBackupDataRows); + } + /// + /// 创建表 + /// + /// 表名 + /// 列集合 + /// 是否创建主键 + /// 值 + public bool CreateTable(string tableName, List columns, bool isCreatePrimaryKey = true) + { + return SqlSugarDb.DbMaintenance.CreateTable(tableName, columns, isCreatePrimaryKey); + } + /// + /// 删除列 + /// + /// 表名 + /// 列名 + /// 值 + public bool DropColumn(string tableName, string columnName) + { + return SqlSugarDb.DbMaintenance.DropColumn(tableName, columnName); + } + /// + /// 删除约束 + /// + /// 表名 + /// 约束名 + /// 值 + public bool DropConstraint(string tableName, string constraintName) + { + return SqlSugarDb.DbMaintenance.DropConstraint(tableName, constraintName); + } + /// + /// 删除表 + /// + /// + /// 值 + public bool DropTable(string tableName) + { + return SqlSugarDb.DbMaintenance.DropTable(tableName); + } + /// + /// 获取列信息 + /// + /// 表名 + /// 是否缓存 + /// 值 + public List GetColumnInfosByTableName(string tableName, bool isCache = true) + { + return SqlSugarDb.DbMaintenance.GetColumnInfosByTableName(tableName, isCache); + } + /// + /// 获取自增列 + /// + /// 表名 + /// 值 + public List GetIsIdentities(string tableName) + { + return SqlSugarDb.DbMaintenance.GetIsIdentities(tableName); + } + /// + /// 获取主键 + /// + /// 表名 + /// 值 + public List GetPrimaries(string tableName) + { + return SqlSugarDb.DbMaintenance.GetPrimaries(tableName); + } + /// + /// 获取表集合 + /// + /// 是否缓存 + /// 值 + public List GetTableInfoList(bool isCache = true) + { + return SqlSugarDb.DbMaintenance.GetTableInfoList(isCache); + } + /// + /// 获取视图集合 + /// + /// 是否缓存 + /// 值 + public List GetViewInfoList(bool isCache = true) + { + return SqlSugarDb.DbMaintenance.GetViewInfoList(isCache); + } + /// + /// 检测列是否存在 + /// + /// 表名 + /// 列名 + /// 值 + public bool IsAnyColumn(string tableName, string column) + { + return SqlSugarDb.DbMaintenance.IsAnyColumn(tableName, column); + } + /// + /// 检测约束 + /// + /// 约束名称 + /// 值 + public bool IsAnyConstraint(string constraintName) + { + return SqlSugarDb.DbMaintenance.IsAnyConstraint(constraintName); + } + /// + /// 检测是否有任何系统表权限 + /// + /// 值 + public bool IsAnySystemTablePermissions() + { + return SqlSugarDb.DbMaintenance.IsAnySystemTablePermissions(); + } + /// + /// 检测表是否存在 + /// + /// 表名 + /// 是否缓存 + /// 值 + public bool IsAnyTable(string tableName, bool isCache = true) + { + return SqlSugarDb.DbMaintenance.IsAnyTable(tableName, isCache); + } + /// + /// 检测列是否自增列 + /// + /// 表名 + /// 列名 + /// 值 + public bool IsIdentity(string tableName, string column) + { + return SqlSugarDb.DbMaintenance.IsIdentity(tableName, column); + } + /// + /// 检测列是否主键 + /// + /// 表名 + /// 列名 + /// 值 + public bool IsPrimaryKey(string tableName, string column) + { + return SqlSugarDb.DbMaintenance.IsPrimaryKey(tableName, column); + } + /// + /// 重置列名 + /// + /// 表名 + /// 旧列名 + /// 新列名 + /// 值 + public bool RenameColumn(string tableName, string oldColumnName, string newColumnName) + { + return SqlSugarDb.DbMaintenance.RenameColumn(tableName, oldColumnName, newColumnName); + } + /// + /// 重置表数据 + /// + /// 表名 + /// 值 + public bool TruncateTable(string tableName) + { + return SqlSugarDb.DbMaintenance.TruncateTable(tableName); + } + /// + /// 修改列信息 + /// + /// 表名 + /// 列信息 + /// 值 + public bool UpdateColumn(string tableName, DbColumnInfo column) + { + return SqlSugarDb.DbMaintenance.UpdateColumn(tableName, column); + } + + /// + /// 获取数据库时间 + /// + /// 返回值 + public DateTime GetDataBaseTime() + { + return SqlSugarDb.GetDate(); + } + #endregion + + #region 查询 + + /// + /// 查询所有 + /// + /// + /// + /// + public List QueryAll() where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.UpdLock); + return up.ToList(); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + /// + /// 查询-返回自定义数据 + /// + /// 泛型参数(集合成员的类型) + /// 返回值类型 + /// 返回值表达式 + /// 查询表达式 + /// 值 + public TResult QuerySelect(Expression> expression, Expression> whereLambda = null) where T : class, new() + { + try + { + var datas = SqlSugarDb.Queryable().With(SqlWith.NoLock).Where(whereLambda).Select(expression).First(); + return datas; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + /// + /// 查询-返回自定义数据 + /// + /// 泛型参数(集合成员的类型) + /// 返回值类型 + /// 返回值表达式 + /// 查询表达式 + /// 值 + public List QuerySelectList(Expression> expression, Expression> whereLambda = null) where T : class, new() + { + try + { + var datas = SqlSugarDb.Queryable().With(SqlWith.NoLock).Where(whereLambda).Select(expression).ToList(); + return datas; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + } + /// + /// 查询单条数据 + /// + /// 泛型参数(集合成员的类型) + /// 查询表达式 + /// 值 + public T Query(Expression> whereLambda = null) where T : class, new() + { + + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (whereLambda != null) + { + up = up.Where(whereLambda); + } + return up.First(); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + } + + /// + /// 异步查询单条数据 + /// + /// 泛型参数(集合成员的类型) + /// 查询表达式 + /// + /// + public Task QueryAsync(Expression> whereLambda = null) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (whereLambda != null) + { + up = up.Where(whereLambda); + } + return up.FirstAsync(); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + } + + /// + /// 根据条件查询排序数据 + /// + /// + /// + /// + /// + public T Query(Expression> whereLambda2 = null, Expression> whereLambda = null, OrderByType byType = OrderByType.Desc) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + + if (whereLambda2 != null) + { + up = up.Where(whereLambda2); + } + if (whereLambda != null) + { + up = up.OrderBy(whereLambda, byType); + } + return up.First(); + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + public T Query(QueryDescriptor query = null) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (query != null) + { + if (query.Conditions != null) + { + var conds = ParseCondition(query.Conditions); + up = up.Where(conds); + } + + if (query.OrderBys != null) + { + var orderBys = ParseOrderBy(query.OrderBys); + up = up.OrderBy(orderBys); + } + } + return up.First(); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + /// + /// 查询集合 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 实体 + public List QueryWhereList(Expression> whereLambda = null) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.UpdLock); + if (whereLambda != null) + { + up = up.Where(whereLambda); + } + return up.ToList(); + } + catch (Exception ex) + { + LogHelper.Instance.WriteError($"查询集合异常:{ex}", "SysErrorLog"); + return null; + //throw new Exception(ex.Message); + } + + } + + /// + /// 查询集合 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 实体 + public List QueryList(QueryDescriptor query = null) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (query != null) + { + if (query.Conditions != null) + { + var conds = ParseCondition(query.Conditions); + up = up.Where(conds); + } + + if (query.OrderBys != null) + { + var orderBys = ParseOrderBy(query.OrderBys); + up = up.OrderBy(orderBys); + } + } + return up.ToList(); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + /// + /// 查询前N条数据 + /// + /// + /// + /// + /// + /// + /// + public List QueryList(string sort, int Take, Expression> whereLambda = null, OrderByType byType = OrderByType.Desc) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (whereLambda != null) + { + up = up.Where(whereLambda); + } + if (sort != "") + { + var orderBys = ParseOrderBy(sort, byType); + up = up.OrderBy(orderBys).Take(Take); + } + return up.ToList(); + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 根据字段查询排列 + /// + /// + /// + /// + /// + /// + public List QueryList(string sort = "", Expression> whereLambda = null, OrderByType byType = OrderByType.Desc) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (whereLambda != null) + { + up = up.Where(whereLambda); + } + if (sort != "") + { + var orderBys = ParseOrderBy(sort, byType); + up = up.OrderBy(orderBys); + } + return up.ToList(); + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + } + + + /// + /// 排序转换 + /// + /// + /// + /// + private string ParseOrderBy(string sort, OrderByType order) + { + var conds = ""; + + switch (order) + { + case OrderByType.Asc: + conds += $"{sort} asc,"; + break; + case OrderByType.Desc: + conds += $"{sort} desc,"; + break; + default: + throw new ArgumentOutOfRangeException(); + } + return conds.TrimEnd(','); + } + + + /// + /// 查询集合 + /// + /// 泛型参数(集合成员的类型) + /// sql + /// 实体 + public List QuerySqlList(string sql) where T : class, new() + { + try + { + return SqlSugarDb.SqlQueryable(sql).ToList(); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + /// + /// 分页查询 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 总行数 + /// 实体 + public List QueryPageList(QueryDescriptor query, out int totalCount) where T : class, new() + { + if (query == null) + { + throw new ArgumentNullException(nameof(query)); + } + var listDatas = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (query.Conditions != null) + { + var conds = ParseCondition(query.Conditions); + listDatas = listDatas.Where(conds); + } + + if (query.OrderBys != null) + { + var orderBys = ParseOrderBy(query.OrderBys); + listDatas = listDatas.OrderBy(orderBys); + } + + totalCount = 0; + if (query.PageSize == 0) + { + var datas = listDatas.ToList(); + totalCount = datas.Count; + return datas; + } + else + { + var datas = listDatas.ToPageList(query.PageIndex, query.PageSize, ref totalCount); + return datas; + } + + } + /// + /// 查询集合-多值 + /// + /// 泛型参数(集合成员的类型) + /// 字段名 + /// 数据集合 + /// 值 + public List In(string inFieldName, List inValues) where T : class, new() + { + try + { + return SqlSugarDb.Queryable().With(SqlWith.NoLock).In(inFieldName, inValues).ToList(); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + + /// + /// 查询集合-通过多值(主键) + /// + /// 泛型参数(集合成员的类型) + /// 主键数据集合 + /// 值 + public List In(List values) where T : class, new() + { + return SqlSugarDb.Queryable().With(SqlWith.NoLock).In(values).ToList(); + } + + /// + /// 查询集合 + /// + /// 泛型参数(集合成员的类型) + /// 查询表达式 + /// 实体 + public DataTable QueryDataTable(Expression> whereLambda = null) where T : class, new() + { + try + { + ISugarQueryable up = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (whereLambda != null) + { + up = up.Where(whereLambda); + } + return up.ToDataTable(); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + /// + /// 查询集合 + /// + /// sql + /// 实体 + public DataTable QueryDataTable(string sql) + { + try + { + return SqlSugarDb.Ado.GetDataTable(sql); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + + + + /// + /// 查询单个值 + /// + /// sql + /// 单个值 + public object QuerySqlScalar(string sql) + { + try + { + return SqlSugarDb.Ado.GetScalar(sql); + } + catch (Exception ex) { throw new Exception(ex.Message); } + + } + /// + /// 分页查询 + /// + /// 泛型参数(集合成员的类型) + /// 过滤条件 + /// 总行数 + /// DataTable + public DataTable QueryDataTablePageList(QueryDescriptor query, out int totalCount) where T : class, new() + { + if (query == null) + { + throw new ArgumentNullException(nameof(query)); + } + var listDatas = SqlSugarDb.Queryable().With(SqlWith.NoLock); + if (query.Conditions != null) + { + var conds = ParseCondition(query.Conditions); + listDatas = listDatas.Where(conds); + } + + if (query.OrderBys != null) + { + var orderBys = ParseOrderBy(query.OrderBys); + listDatas = listDatas.OrderBy(orderBys); + } + + totalCount = 0; + var datas = listDatas.ToDataTablePage(query.PageIndex, query.PageSize, ref totalCount); + return datas; + } + #endregion + + #region 新增 + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 操作影响的行数 + public int Add(T entity) where T : class, new() + { + try + { + var result = SqlSugarDb.Insertable(entity).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + } + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 泛型集合 + /// 操作影响的行数 + public int Add(List entitys) where T : class, new() + { + try + { + if (entitys.Count == 0) return 1; + var result = SqlSugarDb.Insertable(entitys).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + } + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 字典集合(Key:列名 Value:值) + /// 操作影响的行数 + public int Add(Dictionary keyValues) where T : class, new() + { + try + { + var result = SqlSugarDb.Insertable(keyValues).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + } + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 返回实体 + public T AddReturnEntity(T entity) where T : class, new() + { + try + { + var result = SqlSugarDb.Insertable(entity).ExecuteReturnEntity(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 返回自增列 + public int AddReturnIdentity(T entity) where T : class, new() + { + try + { + var result = SqlSugarDb.Insertable(entity).ExecuteReturnIdentity(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 返回bool + public bool AddReturnBool(T entity) where T : class, new() + { + try + { + var result = SqlSugarDb.Insertable(entity).With(SqlWith.UpdLock).ExecuteCommand() > 0; + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + public async Task AddReturnBoolAsync(T entity) where T : class, new() + { + try + { + var result = await SqlSugarDb.Insertable(entity).With(SqlWith.UpdLock).ExecuteCommandAsync() > 0; + return result; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + } + + /// + /// 新增 + /// + /// 泛型参数(集合成员的类型) + /// 泛型集合 + /// 返回bool + public bool AddReturnBool(List entitys) where T : class, new() + { + try + { + if (entitys.Count == 0) return true; + var result = SqlSugarDb.Insertable(entitys).ExecuteCommand() > 0; + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + public async Task AddReturnBoolAsync(List entitys) where T : class, new() + { + try + { + var result = await SqlSugarDb.Insertable(entitys).With(SqlWith.UpdLock).ExecuteCommandAsync() > 0; + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + #endregion + + #region 修改 + + /// + /// 修改(主键是更新条件) + /// + /// 泛型参数(集合成员的类型) + /// 实体对象(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + /// + public int Update(T entity, List lstIgnoreColumns = null, bool isLock = true) where T : class, new() + { + try + { + IUpdateable up = SqlSugarDb.Updateable(entity); + if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0) + { + up = up.IgnoreColumns(false); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + /// + /// 修改(主键是更新条件) + /// + /// 泛型参数(集合成员的类型) + /// 实体对象集合(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + public int Update(List entitys, List lstIgnoreColumns = null, bool isLock = true) where T : class, new() + { + try + { + if (entitys.Count == 0) return 1; + IUpdateable up = SqlSugarDb.Updateable(entitys); + if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0) + { + up = up.IgnoreColumns(lstIgnoreColumns.Contains(lstIgnoreColumns.First())); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 条件 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + public int Update(T entity, Expression> where, List lstIgnoreColumns = null, bool isLock = true) where T : class, new() + { + try + { + IUpdateable up = SqlSugarDb.Updateable(entity); + if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0) + { + up = up.IgnoreColumns(lstIgnoreColumns.Contains(lstIgnoreColumns.First())); + } + up = up.Where(where); + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + public int Update(Expression> update, Expression> where = null, bool isLock = true) where T : class, new() + { + try + { + IUpdateable up = SqlSugarDb.Updateable().UpdateColumns(update); + if (where != null) + { + up = up.Where(where); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 修改加1 + /// + /// + /// + /// + /// + /// + public int Update(Expression> update, Expression> where = null, bool isLock = true) where T : class, new() + { + try + { + IUpdateable up = SqlSugarDb.Updateable().SetColumns(update); + if (where != null) + { + up = up.Where(where); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + /// + /// 修改单条数据 + /// + /// + /// 实体类 + /// 指定更新行 + /// 更新表达式 + /// 是否加锁 + /// + /// + public int UpdateSingle(T entity, Expression> IgnoreColumns = null, Expression> where = null, bool isLock = true) where T : class, new() + { + try + { + + IUpdateable up = SqlSugarDb.Updateable(entity); + if (IgnoreColumns != null) + { + up.UpdateColumns(IgnoreColumns); + } + if (where != null) + { + up.Where(where); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + + //SqlSugarDb.Updateable(new T () + //{ + // Id = entity.Id, + // EmailArr = "test@test.com", + // EmailContent = "测试邮件,请忽略111" + //}).UpdateColumns(it => new { it.EmailArr, it.EmailContent }).ExecuteCommandAsync(); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + } + + /// + /// 异步更新 + /// + /// + /// + /// + /// + /// + /// + /// + public Task UpdateSingleAsync(T entity, Expression> IgnoreColumns = null, Expression> where = null, bool isLock = true) where T : class, new() + { + try + { + + IUpdateable up = SqlSugarDb.Updateable(entity); + if (IgnoreColumns != null) + { + up.UpdateColumns(IgnoreColumns); + } + if (where != null) + { + up.Where(where); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommandAsync(); + return result; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + } + + + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 字典集合(Key:列名 Value:值) + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + public int Update(Dictionary keyValues, Expression> where = null, bool isLock = true) where T : class, new() + { + try + { + IUpdateable up = SqlSugarDb.Updateable(keyValues); + if (where != null) + { + up = up.Where(where); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + + /// + /// 批量修改需要更新的列 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 更新指定列 + /// 条件(为空则以主键更新,反之需要把wherecolumns中的列加到UpdateColumns中) + /// 是否加锁 + /// 操作影响的行数 + public int UpdateColumns(List entitys, Expression> updateColumns, Expression> wherecolumns = null, bool isLock = true) where T : class, new() + { + try + { + if (entitys.Count == 0) return 1; + IUpdateable up = SqlSugarDb.Updateable(entitys).UpdateColumns(updateColumns); + if (wherecolumns != null) + { + up = up.WhereColumns(wherecolumns); + } + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + /// + /// 修改 通过RowVer及主键Code 更新 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 不更新的列 + /// 是否加锁 + /// 操作影响的行数 + public int UpdateRowVer(T entity, List lstIgnoreColumns = null, bool isLock = true) where T : class, new() + { + try + { + Type ts = entity.GetType(); + var rowVerProperty = ts.GetProperty("RowVer"); + if (rowVerProperty == null) + { + throw new Exception("Column RowVer Not Exist"); + } + if (rowVerProperty.GetValue(entity, null) == null) + { + throw new Exception("RowVer Value Is Null"); + } + var codeProperty = ts.GetProperty("Code"); + if (codeProperty == null) + { + throw new Exception("Column Code Not Exist"); + } + if (codeProperty.GetValue(entity, null) == null) + { + throw new Exception("Code Value Is Null"); + } + var rowVerValue = int.Parse(rowVerProperty.GetValue(entity, null).ToString()); + var codeValue = codeProperty.GetValue(entity, null).ToString(); + var sqlWhere = $" RowVer={rowVerValue} AND Code='{codeValue}'"; + rowVerProperty.SetValue(entity, rowVerValue + 1, null); + IUpdateable up = SqlSugarDb.Updateable(entity); + if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0) + { + up = up.IgnoreColumns(lstIgnoreColumns.Contains(lstIgnoreColumns.First())); + } + up = up.Where(sqlWhere); + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + + + //表达式写2列更新2列,其他不会更新 + /// + /// 修改 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 + /// 更新条件 + /// 是否加锁 + /// 操作影响的行数 + public int UpdateRowVer(Expression> update, Dictionary where, bool isLock = true) where T : class, new() + { + try + { + if (!where.ContainsKey("RowVer")) + { + throw new Exception("Column RowVer Not Exist"); + } + if (where["RowVer"] == null) + { + throw new Exception("RowVer Value Is Null"); + } + if (update.Body.ToString().IndexOf("RowVer", StringComparison.Ordinal) == -1) + { + throw new Exception("Column RowVer Update Is Null"); + } + var sqlWhere = ""; + foreach (var item in where) + { + sqlWhere += string.IsNullOrWhiteSpace(sqlWhere) ? $" {item.Key}='{item.Value}'" : $" and {item.Key}='{item.Value}'"; + } + IUpdateable up = SqlSugarDb.Updateable().UpdateColumns(update).Where(sqlWhere); + if (isLock) + { + up = up.With(SqlWith.UpdLock); + } + var result = up.ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + #endregion + + #region 删除 + /// + /// 初始化表 + /// + /// + /// + public void Delete() where T : class, new() + { + try + { + SqlSugarDb.DbMaintenance.TruncateTable(); + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + /// + /// 删除 + /// + /// 泛型参数(集合成员的类型) + /// 主键值 + /// 是否加锁 + /// 操作影响的行数 + public int DeleteByPrimary(List primaryKeyValues, bool isLock = true) where T : class, new() + { + try + { + var result = isLock ? + SqlSugarDb.Deleteable().In(primaryKeyValues).With(SqlWith.RowLock).ExecuteCommand() + : SqlSugarDb.Deleteable().In(primaryKeyValues).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + /// + /// 删除 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 (必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 是否加锁 + /// 操作影响的行数 + public int Delete(T entity, bool isLock = true) where T : class, new() + { + try + { + var result = isLock ? + SqlSugarDb.Deleteable(entity).With(SqlWith.RowLock).ExecuteCommand() + : SqlSugarDb.Deleteable(entity).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + /// + /// 删除 + /// + /// 泛型参数(集合成员的类型) + /// 实体对象 (必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 + /// 是否加锁 + /// 操作影响的行数 + public int Delete(List entity, bool isLock = true) where T : class, new() + { + try + { + var result = isLock ? + SqlSugarDb.Deleteable(entity).With(SqlWith.RowLock).ExecuteCommand() + : SqlSugarDb.Deleteable(entity).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + /// + /// 删除 + /// + /// 泛型参数(集合成员的类型) + /// 条件 + /// 是否加锁 + /// 操作影响的行数 + public int Delete(Expression> where, bool isLock = true) where T : class, new() + { + try + { + var result = isLock ? + SqlSugarDb.Deleteable().Where(where).With(SqlWith.RowLock).ExecuteCommand() + : SqlSugarDb.Deleteable().Where(where).ExecuteCommand(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 异步删除 + /// + /// + /// + /// + /// + /// + public Task DeleteAsync(Expression> where, bool isLock = true) where T : class, new() + { + try + { + var result = isLock ? + SqlSugarDb.Deleteable().Where(where).With(SqlWith.RowLock).ExecuteCommandAsync() + : SqlSugarDb.Deleteable().Where(where).ExecuteCommandAsync(); + return result; + } + catch (Exception ex) + { + + throw new Exception(ex.Message); + } + + } + + /// + /// 通过多值(主键)删除数据集 + /// + /// 泛型参数(集合成员的类型) + /// 数据集合 + /// 值 + public int DeleteIn(List inValues) where T : class, new() + { + return SqlSugarDb.Deleteable().With(SqlWith.RowLock).In(inValues).ExecuteCommand(); + } + + #endregion + + /// + /// 是否存在 + /// + /// 泛型参数(集合成员的类型 + /// 查询表达式 + /// 值 + public bool IsExist(Expression> whereLambda) where T : class, new() + { + var datas = SqlSugarDb.Queryable().With(SqlWith.UpdLock).Any(whereLambda); + return datas; + } + + #region 私有方法 + + /// + /// SqlParameter转换SugarParameter + /// + /// 参数 + /// + private List ConvetParameter(List parameters) + { + var listParams = new List(); + foreach (var p in parameters) + { + var par = new SugarParameter(p.ParameterName, p.Value) + { + DbType = p.DbType, + Direction = p.Direction + }; + if (!string.IsNullOrWhiteSpace(p.TypeName)) + { + par.TypeName = p.TypeName; + } + listParams.Add(par); + } + + return listParams; + } + + /// + /// 过滤条件转换 + /// + /// 过滤条件 + /// 值 + private List ParseCondition(List contitons) + { + var conds = new List(); + contitons.Insert(0, new QueryCondition + { + Operator = QueryOperator.Equal, + Key = "1", + Value = "1" + }); + + #region Or条件组装 + var orConditional = new ConditionalCollections { ConditionalList = new List>() }; + foreach (var con in contitons.Where(m => m.Character == QueryCharacter.Or)) + { + if (orConditional.ConditionalList.Count == 0) + { + var cond = new KeyValuePair + (WhereType.And, new ConditionalModel() + { + FieldName = con.Key, + ConditionalType = (ConditionalType)(int)con.Operator, + FieldValue = con.Value.ToString() + }); + orConditional.ConditionalList.Add(cond); + } + else + { + var cond = new KeyValuePair + (WhereType.Or, new ConditionalModel() + { + FieldName = con.Key, + ConditionalType = (ConditionalType)(int)con.Operator, + FieldValue = con.Value.ToString() + }); + orConditional.ConditionalList.Add(cond); + } + } + #endregion + + #region And条件组装 + foreach (var con in contitons.Where(m => m.Character == QueryCharacter.And)) + { + if (con.Key.Contains(",")) + { + ParseKeyOr(con, orConditional); + } + else if (con.Operator == QueryOperator.DateRange) + { + conds.AddRange(ParseRange(con, con.Operator)); + } + else + { + conds.Add(new ConditionalModel() + { + FieldName = con.Key, + ConditionalType = (ConditionalType)(int)con.Operator, + FieldValue = con.Value.ToString() + }); + } + } + + #endregion + + //Or条件是否存在 + if (orConditional.ConditionalList.Count > 0) + { + conds.Add(orConditional); + } + + return conds; + } + + /// + /// Key逗号隔开转换Or条件 + /// + /// 过滤条件 + /// 条件集合 + /// 值 + private void ParseKeyOr(QueryCondition condition, ConditionalCollections conditionalCollections) + { + var objectKeys = condition.Key.Split(','); + foreach (var objKey in objectKeys) + { + if (conditionalCollections.ConditionalList.Count == 0) + { + var cond = new KeyValuePair + (WhereType.And, new ConditionalModel() + { + FieldName = objKey, + ConditionalType = (ConditionalType)(int)condition.Operator, + FieldValue = condition.Value.ToString() + }); + conditionalCollections.ConditionalList.Add(cond); + } + else + { + var cond = new KeyValuePair + (WhereType.Or, new ConditionalModel() + { + FieldName = objKey, + ConditionalType = (ConditionalType)(int)condition.Operator, + FieldValue = condition.Value.ToString() + }); + conditionalCollections.ConditionalList.Add(cond); + } + } + } + + /// + /// 转换区域 + /// + /// 过滤条件 + /// 条件类型 + /// 值 + private List ParseRange(QueryCondition condition, QueryOperator queryOperator) + { + var objectValue = condition.Value.ToString().Split('|'); + + var conditionalList = new List(); + if (objectValue.Length == 2) + { + var startValue = objectValue[0]; + var endValue = objectValue[1]; + if (queryOperator == QueryOperator.DateRange) + { + if (startValue.IndexOf(":", StringComparison.Ordinal) == -1) + { + startValue = startValue + " 00:00:00"; + } + if (endValue.IndexOf(":", StringComparison.Ordinal) == -1) + { + endValue = endValue + " 23:59:59"; + } + } + if (!string.IsNullOrWhiteSpace(objectValue[0])) + { + conditionalList.Add(new ConditionalModel() + { + FieldName = condition.Key, + ConditionalType = ConditionalType.GreaterThanOrEqual, + FieldValue = startValue + }); + } + if (!string.IsNullOrWhiteSpace(objectValue[1])) + { + conditionalList.Add(new ConditionalModel() + { + FieldName = condition.Key, + ConditionalType = ConditionalType.LessThanOrEqual, + FieldValue = endValue + }); + } + } + return conditionalList; + } + + /// + /// 排序转换 + /// + /// 排序 + /// 值 + private string ParseOrderBy(List orderBys) + { + var conds = ""; + foreach (var con in orderBys) + { + switch (con.Order) + { + case OrderSequence.Asc: + conds += $"{con.Sort} asc,"; + break; + case OrderSequence.Desc: + conds += $"{con.Sort} desc,"; + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + return conds.TrimEnd(','); + } + + #endregion + + public void Dispose() + { + SqlSugarDb.Ado.Dispose(); + SqlSugarDb.Dispose(); + + } + + + } +} diff --git a/JinYuan.DAL/app.config b/JinYuan.DAL/app.config new file mode 100644 index 0000000..01c6fee --- /dev/null +++ b/JinYuan.DAL/app.config @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.DAL/packages.config b/JinYuan.DAL/packages.config new file mode 100644 index 0000000..c74b161 --- /dev/null +++ b/JinYuan.DAL/packages.config @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JinYuan.Helper/ArrayHelper.cs b/JinYuan.Helper/ArrayHelper.cs new file mode 100644 index 0000000..b57c9b0 --- /dev/null +++ b/JinYuan.Helper/ArrayHelper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace JinYuan.Helper +{ + public class ArrayHelper + { + /// + /// 判断两个数组的元素是否相等 + /// + /// + /// + /// + public static bool Equal(T[] arr1, T[] arr2) + { + bool res = false; + if (arr1 == null || arr2 == null) + { + return res; + } + if (arr1.Length == arr2.Length) + { + res = true; + for (int index = 0; index < arr1.Length; ++index) + { + if (!arr1[index].Equals(arr2[index])) + { + res = false; + break; + } + } + } + return res; + } + + /// + /// 获取数组的子数组 + /// + /// 类型 + /// 数组 + /// 起始索引 + /// 长度 + /// + public static T[] GetSubArray(T[] arr, int startIndex, int length) + { + T[] res = new T[length]; + for (int index = 0; index < length; ++index) + { + res[index] = arr[startIndex + index]; + } + return res; + } + + /// + /// 数组合并 + /// + /// + /// + /// + /// + public static byte[] Combine(IEnumerable tList) + { + int allLength = 0; + foreach (byte[] t in tList) + { + allLength += t.Length; + } + byte[] res = new byte[allLength]; + int lenIndex = 0; + foreach (byte[] t in tList) + { + Array.Copy(t, 0, res, lenIndex, t.Length); + lenIndex += t.Length; + } + return res; + } + + /// + /// 数组格式化输出字符串 + /// + /// 待处理数据 + /// + public static string ArrayFormatOutput(T[] arr) + { + StringBuilder res = new StringBuilder(); + for (int index = 0; index < arr.Count() - 1; ++index) + { + res.Append(string.Format("{0}-", arr[index].ToString())); + } + if (arr.Count() - 1 > 0) + { + res.Append(arr[arr.Count() - 1]); + } + return res.ToString(); + } + + /// + /// 数组格式化输出字符串 + /// + /// + /// 待处理数据 + /// buffer 参数中开始发送数据的位置,该位置从零开始计数。 + /// 要发送的字节数。 + /// + public static string ArrayFormatOutput(T[] arr, int offset, int size) + { + StringBuilder res = new StringBuilder(); + for (int index = offset; index < size; ++index) + { + res.Append(string.Format("{0}-", arr[index].ToString())); + } + if (size - 1 > 0) + { + res.Append(arr[size]); + } + return res.ToString(); + } + + } +} diff --git a/JinYuan.Helper/CSVHelper.cs b/JinYuan.Helper/CSVHelper.cs new file mode 100644 index 0000000..7c5f2f9 --- /dev/null +++ b/JinYuan.Helper/CSVHelper.cs @@ -0,0 +1,346 @@ +using CsvHelper; +using CsvHelper.Configuration; +using System; +using System.Collections.Generic; +using System.Data; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; + +namespace JinYuan.Helper +{ + public class CSVHelper + { + /// + /// 读取CSV文件 + /// + /// csv文件名 + /// + public static List ReadCSV(string fileName, string strSeparator = "\t") + { + if (!File.Exists(fileName)) return null; + + using (var reader = new StreamReader(fileName, Encoding.Default)) + { + var cfg = new CsvConfiguration(CultureInfo.InvariantCulture) + { + Mode = CsvMode.Escape, + Escape = '\\', + Delimiter = strSeparator, // 设置分隔符号 + HeaderValidated = null, // 跳过表头验证 + MissingFieldFound = null // 忽略缺失字段 + }; + + using (var csv = new CsvReader(reader, cfg)) + { + var list = csv.GetRecords().ToList(); + return list; + } + } + } + + + /// + /// 写入CSV文件 + /// + /// csv文件名 + /// + public static bool WriterCSV(string fileName, List records) + { + try + { + FileStream Log = null; + if (!Directory.Exists(fileName)) + Directory.CreateDirectory(fileName); + string file = (fileName + DateTime.Now.ToString("yyyyMMdd")) + ".csv"; + var cfg = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture); + if (!File.Exists(file)) + { + Log = new FileStream(file, FileMode.Create); + } + else + { + cfg.HasHeaderRecord = false;//是否将第一行作为标题 + } + if (Log != null) + { + Log.Close(); + } + //Nuget获取CsvHelper + using (var writer = new StreamWriter(file, true, Encoding.Default)) + { + using (var csv = new CsvWriter(writer, cfg)) + { + csv.WriteRecords(records); + writer.Flush(); + return true; + } + } + } + catch (Exception ex) + { + + throw ex; + } + } + + + /// + /// 写入指定列表CSV文件 + /// + /// + /// + /// + /// + /// + public static bool WriterCSV(string directory, string fileName, string title, string content) + { + FileStream fs = null; + StreamWriter sw = null; + + try + { + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + + string fullFileName = $@"{directory}\{fileName}"; + if (!File.Exists(fullFileName)) + { + fs = new FileStream(fullFileName, FileMode.Create, FileAccess.Write); + sw = new StreamWriter(fs, Encoding.UTF8); + sw.WriteLine(title); + } + else + { + fs = new FileStream(fullFileName, FileMode.Append, FileAccess.Write); + sw = new StreamWriter(fs, Encoding.UTF8); + } + + sw.WriteLine(content); + + sw.Close(); + fs.Close(); + + return true; + } + catch (Exception ex) + { + sw?.Close(); + fs?.Close(); + } + + return false; + } + + + /// + /// 获取当天的日期的文件 + /// + /// + /// + public static List FindTodayFile(string CurrPath) + { + try + { + if (!Directory.Exists(CurrPath)) + { + return null; + } + DirectoryInfo di = new DirectoryInfo(CurrPath); + FileInfo[] ffis = di.GetFiles(); + string today = DateTime.Now.Year.ToString().Substring(0, 4) + DateTime.Now.Month.ToString("0#") + DateTime.Now.Day.ToString("0#"); + List listFilePath = new List(); + + for (int i = 0; i < ffis.Length; i++) + { + FileInfo tmp = ffis[i]; + if (tmp.Name.Substring(0, 8) == today) + { + listFilePath.Add(tmp.FullName); + } + } + return (listFilePath.Count > 0) ? listFilePath : null; + } + catch (Exception ex) + { + + throw ex; + } + + } + + /// + /// + /// + /// + /// + public static List FindHostFile(string CurrPath, DateTime date) + { + try + { + if (!Directory.Exists(CurrPath)) + { + return null; + } + DirectoryInfo di = new DirectoryInfo(CurrPath); + FileInfo[] ffis = di.GetFiles(); + string today = date.ToString().Substring(0, 4) + date.Month.ToString("0#") + date.Day.ToString("0#"); + //var result1 = Regex.Replace(date, @"[^0-9]+", ""); + //string today = result1.Substring(0,8); + List listFilePath = new List(); + + for (int i = 0; i < ffis.Length; i++) + { + FileInfo tmp = ffis[i]; + if (tmp.Name.Substring(0, 8) == today) + { + listFilePath.Add(tmp.FullName); + } + } + return (listFilePath.Count > 0) ? listFilePath : null; + } + catch (Exception ex) + { + + throw ex; + } + + } + + + /// + /// 导出到CSV文件 + /// + /// 报表DataTable + /// 导出路径 + /// 输出信息 + /// 自定义的列名称,以','英文逗号分隔 + /// 表名,一般为空 + /// 是否导出成功 + public static bool ExportDataTableToCSV(DataTable table, string filePath, out string msg, string columnName = null, string tableHeader = null) + { + try + { + string dirPath = Path.GetDirectoryName(filePath); + if (!Directory.Exists(dirPath)) + { + Directory.CreateDirectory(dirPath);//文件的父目录不存在就创建新目录 + } + bool IsAppend = false; //false为创建 true为追加 + if (File.Exists(filePath)) + { + IsAppend = true;//如果文件存在就不写入表头 + } + using (FileStream _stream = new FileStream(filePath, FileMode.Create | FileMode.Append, FileAccess.Write)) + { + StreamWriter _writer = new StreamWriter(_stream, Encoding.UTF8); + if (tableHeader != null) + { + _writer.WriteLine(tableHeader); + } + + if (columnName != null && !IsAppend) + { + _writer.WriteLine(columnName); + } + else if (columnName == null && !IsAppend) + { + List columnNameList = new List(); + foreach (DataColumn dc in table.Columns) + { + columnNameList.Add(dc.ColumnName); + } + _writer.WriteLine(string.Join(",", columnNameList)); + } + + for (int i = 0; i < table.Rows.Count; i++) + { + for (int j = 0; j < table.Columns.Count; j++) + { + _writer.Write(table.Rows[i][j].ToString()); + _writer.Write(","); + } + _writer.WriteLine(); + } + _writer.Close(); + msg = "导出CSV文件成功"; + return true; + } + } + catch (Exception ex) + { + msg = string.Format("导出CSV文件失败,原因:{0}", ex.Message); + return false; + } + } + + + /// + /// 导出报表为Csv + /// + /// DataTable + /// 物理路径 + /// 表头 + /// 字段标题,逗号分隔 + public static bool dt2csv(DataTable dt, string strFilePath, string tableheader, string columname) + { + try + { + string strBufferLine = ""; + StreamWriter strmWriterObj = new StreamWriter(strFilePath, false, System.Text.Encoding.UTF8); + strmWriterObj.WriteLine(tableheader); + strmWriterObj.WriteLine(columname); + for (int i = 0; i < dt.Rows.Count; i++) + { + strBufferLine = ""; + for (int j = 0; j < dt.Columns.Count; j++) + { + if (j > 0) + strBufferLine += ","; + strBufferLine += dt.Rows[i][j].ToString(); + } + strmWriterObj.WriteLine(strBufferLine); + } + strmWriterObj.Close(); + return true; + } + catch + { + return false; + } + } + + /// + /// 将Csv读入DataTable + /// + /// csv文件路径 + /// 表示第n行是字段title,第n+1行是记录开始 + public static DataTable csv2dt(string filePath, int n, DataTable dt) + { + StreamReader reader = new StreamReader(filePath, System.Text.Encoding.UTF8, false); + int i = 0, m = 0; + reader.Peek(); + while (reader.Peek() > 0) + { + m = m + 1; + string str = reader.ReadLine(); + if (m >= n + 1) + { + string[] split = str.Split(','); + + System.Data.DataRow dr = dt.NewRow(); + for (i = 0; i < split.Length; i++) + { + dr[i] = split[i]; + } + dt.Rows.Add(dr); + } + } + return dt; + } + + } +} diff --git a/JinYuan.Helper/ChartHelper.cs b/JinYuan.Helper/ChartHelper.cs new file mode 100644 index 0000000..79583c7 --- /dev/null +++ b/JinYuan.Helper/ChartHelper.cs @@ -0,0 +1,213 @@ +using System; +using System.Drawing; +using System.Drawing.Text; +using System.Windows.Forms.DataVisualization.Charting; + +namespace JinYuan.Helper +{ + public class ChartHelper + { + static PrivateFontCollection font = new PrivateFontCollection(); + /// + /// Name:添加序列 + /// + /// + /// 图表对象 + /// 序列名称 + /// 图表类型 + /// 颜色 + /// 标记点颜色 + /// 是否显示数值 + public static void AddSeries(Chart chart, string seriesName, SeriesChartType chartType, ChartValueType chartValueType, MarkerStyle markerStyle, int markerSize, Color seriesColor, Color markColor, string LabelStyle, bool isShowBFH, bool showValue = false) + { + // 加载字体文件 Zen圓体-Regular + font.AddFontFile(Environment.CurrentDirectory + "\\Assts\\Fonts\\Zen圓体-Regular.ttf"); + //定义成新的字体对象 + FontFamily myFontFamily = new FontFamily(font.Families[0].Name, font); + Font myFont = new Font(myFontFamily, 9.0f, FontStyle.Bold); + + chart.Series.Add(seriesName); + chart.Series[seriesName].ChartType = chartType; + chart.Series[seriesName].Color = seriesColor; + if (showValue) + { + chart.Series[seriesName].IsValueShownAsLabel = showValue; + chart.Series[seriesName].XValueType = chartValueType; + chart.Series[seriesName].Label = LabelStyle; + chart.Series[seriesName].Font = myFont; + chart.Series[seriesName].MarkerStyle = markerStyle; + chart.Series[seriesName].MarkerColor = markColor; + chart.Series[seriesName].MarkerStyle = MarkerStyle.Circle; //线条上的数据点标志类型 + chart.Series[seriesName].MarkerSize = markerSize; //标志大小 + chart.Series[seriesName].LabelToolTip = "#VALX: #VALY"; + chart.Series[seriesName].LabelForeColor = markColor; + chart.Series[seriesName].LabelAngle = -75; + chart.Series[seriesName].BorderWidth = 3; + chart.Series[seriesName].LabelBorderWidth = 5; + + if (isShowBFH) + { + chart.Series[seriesName].YAxisType = AxisType.Secondary; + } + + } + } + + /// + /// Name:设置标题 + /// + /// + /// 图表对象 + /// 图表名称 + public static void SetTitle(Chart chart, string chartName, Font font, Docking docking, Color foreColor) + { + chart.Titles.Add(chartName); + chart.Titles[0].Font = font; + chart.Titles[0].Docking = docking; + chart.Titles[0].ForeColor = foreColor; + } + + /// + /// Name:设置样式 + /// 2019-04-23 14:04 + /// + /// 图表对象 + /// 背景颜色 + /// 字体颜色 + public static void SetStyle(Chart chart, Color backColor, Color foreColor) + { + chart.BackColor = backColor; + chart.ChartAreas[0].BackColor = backColor; + chart.ForeColor = Color.Red; + } + + /// + /// Name:设置图例 + /// Author: + /// + /// 图表对象 + /// 停靠位置 + /// 对齐方式 + /// 背景颜色 + /// 字体颜色 + public static void SetLegend(Chart chart, Docking docking, StringAlignment align, Color backColor, Color foreColor) + { + // 加载字体文件 + font.AddFontFile(Environment.CurrentDirectory + "\\Assts\\Fonts\\Zen圓体-Regular.ttf"); + //定义成新的字体对象 + FontFamily myFontFamily = new FontFamily(font.Families[0].Name, font); + Font myFont = new Font(myFontFamily, 9.0f, FontStyle.Regular); + + chart.Legends[0].Docking = docking; + chart.Legends[0].Alignment = align; + chart.Legends[0].BackColor = backColor; + chart.Legends[0].ForeColor = foreColor; + chart.Legends[0].Font = myFont; + + } + + /// + /// Name:设置XY轴 + /// Author: + /// + /// 图表对象 + /// X轴标题 + /// Y轴标题 + /// 坐标轴标题对齐方式 + /// 坐标轴字体颜色 + /// 坐标轴颜色 + /// 坐标轴箭头样式 + /// X轴的间距 + /// Y轴的间距 + public static void SetXY(Chart chart, string xTitle, string yTitle, int Angle, StringAlignment align, Color foreColor, Color lineColor, AxisArrowStyle arrowStyle, double xInterval, bool isShowBFH, bool isShowTime = false) + { + // 加载字体文件 + font.AddFontFile(Environment.CurrentDirectory + "\\Assts\\Fonts\\Zen圓体-Regular.ttf"); + //定义成新的字体对象 + FontFamily myFontFamily = new FontFamily(font.Families[0].Name, font); + Font myFont = new Font(myFontFamily, 15f, FontStyle.Regular); + + + chart.ChartAreas[0].AxisX.TitleForeColor = foreColor; + chart.ChartAreas[0].AxisX.LabelStyle = new LabelStyle() { ForeColor = foreColor }; + chart.ChartAreas[0].AxisX.LabelStyle.Angle = Angle; + chart.ChartAreas[0].AxisX.LineColor = lineColor; + chart.ChartAreas[0].AxisX.LabelStyle.ForeColor = lineColor; + chart.ChartAreas[0].AxisX.ArrowStyle = arrowStyle; + chart.ChartAreas[0].AxisX.Interval = xInterval; + chart.ChartAreas[0].AxisX.Title = xTitle; + chart.ChartAreas[0].AxisX.TitleAlignment = align; + + chart.ChartAreas[0].AxisY.TitleForeColor = foreColor; + chart.ChartAreas[0].AxisY.LabelStyle = new LabelStyle() { ForeColor = foreColor }; + chart.ChartAreas[0].AxisY.LineColor = lineColor; + chart.ChartAreas[0].AxisY.LabelStyle.ForeColor = lineColor; + chart.ChartAreas[0].AxisY.ArrowStyle = arrowStyle; + chart.ChartAreas[0].AxisY.Title = yTitle; + chart.ChartAreas[0].AxisY.TitleAlignment = align; + + if (isShowBFH) + { + chart.ChartAreas[0].AxisY2.Minimum = 0; + chart.ChartAreas[0].AxisY2.Maximum = 1.2; + chart.ChartAreas[0].AxisY2.Interval = 0.2; + chart.ChartAreas[0].AxisY2.LabelStyle = new LabelStyle() { ForeColor = foreColor }; + chart.ChartAreas[0].AxisY2.LineColor = lineColor; + chart.ChartAreas[0].AxisY2.LabelStyle.ForeColor = lineColor; + chart.ChartAreas[0].AxisY2.LabelStyle.Format = "0.00%"; + } + + ////设置图表显示样式 + if (isShowTime) + { + chart.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss"; //毫秒格式: hh:mm:ss.fff ,后面几个f则保留几位毫秒小数,此时要注意轴的最大值和最小值不要差太大 + chart.ChartAreas[0].AxisX.LabelStyle.IntervalType = DateTimeIntervalType.Seconds; + chart.ChartAreas[0].AxisX.Interval = xInterval; //坐标值间隔1S + chart.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = false; //防止X轴坐标跳跃 + chart.ChartAreas[0].AxisX.MajorGrid.IntervalType = DateTimeIntervalType.Seconds; + + //chart.ChartAreas[0].AxisY.L = 1; //网格间隔 + + chart.ChartAreas[0].AxisX.Minimum = DateTime.Now.ToOADate(); //当前时间 + chart.ChartAreas[0].AxisX.Maximum = DateTime.Now.ToOADate(); + } + + + + } + + /// + /// Name:设置网格 + /// Author: + /// + /// 图表对象 + /// 网格线颜色 + /// X轴网格的间距 + /// Y轴网格的间距 + public static void SetMajorGrid(Chart chart, Color lineColor, double xInterval, double yInterval, bool isMajorGridX = false, bool isMajorGridY = false) + { + chart.ChartAreas[0].AxisX.MajorGrid.Enabled = isMajorGridX; + chart.ChartAreas[0].AxisY.MajorGrid.Enabled = isMajorGridY; + chart.ChartAreas[0].AxisY2.MajorGrid.Enabled = isMajorGridY; + if (isMajorGridX) + { + chart.ChartAreas[0].AxisX.MajorGrid.LineColor = lineColor; + + chart.ChartAreas[0].AxisX.MajorGrid.Interval = xInterval; + + chart.ChartAreas[0].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash; + + } + + if (isMajorGridY) + { + chart.ChartAreas[0].AxisY.MajorGrid.LineColor = lineColor; + chart.ChartAreas[0].AxisY.MajorGrid.Interval = yInterval; + chart.ChartAreas[0].AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash; + } + + } + + + } +} diff --git a/JinYuan.Helper/ClearMemoryHelper.cs b/JinYuan.Helper/ClearMemoryHelper.cs new file mode 100644 index 0000000..736a551 --- /dev/null +++ b/JinYuan.Helper/ClearMemoryHelper.cs @@ -0,0 +1,31 @@ +using System; +using System.Runtime.InteropServices; +using System.Threading.Tasks; + +namespace JinYuan.Helper +{ + public class ClearMemoryHelper + { + [DllImport("kernel32.dll")] + private static extern bool SetProcessWorkingSetSize(IntPtr proc, int min, int max); + /// + /// 释放内存 + /// + public static void ClearMemory() + { + Task.Run(async () => + { + while (true) + { + await Task.Delay(4000); + GC.Collect(); + GC.WaitForPendingFinalizers(); + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1); + } + } + }); + } + } +} diff --git a/JinYuan.Helper/ConvertHelper.cs b/JinYuan.Helper/ConvertHelper.cs new file mode 100644 index 0000000..62a1371 --- /dev/null +++ b/JinYuan.Helper/ConvertHelper.cs @@ -0,0 +1,18 @@ +using System.Linq; + +namespace JinYuan.Helper +{ + public static class ConvertHelper + { + /// + /// 字节数组高低位转换 + /// + /// + /// + public static byte[] ByteReverse(this byte[] Arrbyte) + { + byte[] ArrByte = Arrbyte.Select((x, i) => new { x, i }).GroupBy(x => x.i / 2).SelectMany(x => new byte[] { x.Last().x, x.First().x }).ToArray(); + return ArrByte; + } + } +} diff --git a/JinYuan.Helper/DataGridViewHelper.cs b/JinYuan.Helper/DataGridViewHelper.cs new file mode 100644 index 0000000..3030637 --- /dev/null +++ b/JinYuan.Helper/DataGridViewHelper.cs @@ -0,0 +1,136 @@ +using System; +using System.Drawing; +using System.Reflection; +using System.Windows.Forms; + +namespace JinYuan.Helper +{ + public static class DataGridViewHelper + { + /// + /// 给DataGridView添加行号 + /// + /// dgv控件 + /// dgv参数 + public static void DgvRowPostPaint(DataGridView dgv, DataGridViewRowPostPaintEventArgs e) + { + try + { + //添加行号 + SolidBrush solidBrush = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor); + string lineNo = (e.RowIndex + 1).ToString(); + e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + + StringFormat sf = new StringFormat(); + sf.LineAlignment = StringAlignment.Center; + sf.Alignment = StringAlignment.Center; + e.Graphics.DrawString(lineNo, e.InheritedRowStyle.Font, solidBrush, new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dgv.RowHeadersWidth, dgv.RowTemplate.Height), sf); + } + catch (Exception ex) + { + MessageBox.Show("添加行号时发生错误,错误信息:" + ex.Message, "操作失败"); + } + } + + /// + /// 给DataGridView指定列改变前景色 + /// + /// + /// + public static void DgvRowPrePaint(DataGridView dgv, string Column, object sender, DataGridViewRowPrePaintEventArgs e) + { + + if (e.RowIndex >= dgv.Rows.Count - 1) + return; + DataGridViewRow dr = (sender as DataGridView).Rows[e.RowIndex]; + + try + { + if (dr.Cells[Column].Value != null && dr.Cells[Column].Value.Equals("OK")) + { + // 设置单元格的背景色 + //dr.Cells[Column].Style.BackColor = Color.LightGreen; + + // 设置单元格的前景色 + dr.Cells[Column].Style.ForeColor = Color.LightGreen; + } + else + { + //dr.Cells[Column].Style.BackColor = Color.Red; + dr.Cells[Column].Style.ForeColor = Color.Red; + } + } + catch (Exception ex) + { + MessageBox.Show("更改状态时发生错误,错误信息:" + ex.Message, "操作失败"); + + } + } + + /// + /// 给DataGridView绘制边框 + /// + /// dgv控件 + /// dgv参数 + public static void DgvRowPaint(DataGridView dgv, PaintEventArgs e, Color borderColor) + { + e.Graphics.DrawRectangle(new Pen(borderColor), new Rectangle(0, 0, dgv.Width - 1, dgv.Height - 1)); + } + + /// + /// 奇偶换色 + /// + public static void DgvStyle(DataGridView dgv, Color defaultBackColor, Color alternatingBackColor, Color gridColor) + { + //奇数行的背景色 + dgv.AlternatingRowsDefaultCellStyle.BackColor = alternatingBackColor; + dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = alternatingBackColor; + + //默认的行样式 + dgv.RowsDefaultCellStyle.BackColor = defaultBackColor; + dgv.RowsDefaultCellStyle.SelectionBackColor = defaultBackColor; + + + dgv.RowHeadersDefaultCellStyle.BackColor = defaultBackColor; + dgv.RowHeadersDefaultCellStyle.SelectionBackColor = defaultBackColor; + + //数据网格颜色 + dgv.GridColor = gridColor; + } + + + + + /// + /// 双缓冲,解决闪烁问题 + /// + /// + /// + public static void DoubleBufferedDataGirdView(this DataGridView dgv, bool flag) + { + Type dgvType = dgv.GetType(); + PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic); + pi.SetValue(dgv, flag, null); + } + + + /// + /// 双缓冲,解决闪烁问题 + /// + /// + /// + public static void DoubleBufferedListView(this ListView lv, bool flag) + { + Type lvType = lv.GetType(); + PropertyInfo pi = lvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic); + pi.SetValue(lv, flag, null); + } + + public static void DoubleBufferedListBox(this ListBox lb, bool flag) + { + Type lvType = lb.GetType(); + PropertyInfo pi = lvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic); + pi.SetValue(lb, flag, null); + } + } +} diff --git a/JinYuan.Helper/DataTableExtend.cs b/JinYuan.Helper/DataTableExtend.cs new file mode 100644 index 0000000..b1cb9ee --- /dev/null +++ b/JinYuan.Helper/DataTableExtend.cs @@ -0,0 +1,165 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Reflection; + +namespace JinYuan.Helper +{ + /// + /// DataTable扩展方法类 + /// + public static class DataTableExtend + { + /// + /// DataTable转成List + /// + public static List ToDataList(this DataTable dt) + { + var list = new List(); + var plist = new List(typeof(T).GetProperties()); + + if (dt == null || dt.Rows.Count == 0) + { + return null; + } + + foreach (DataRow item in dt.Rows) + { + T s = Activator.CreateInstance(); + for (int i = 0; i < dt.Columns.Count; i++) + { + PropertyInfo info = plist.Find(p => p.Name == dt.Columns[i].ColumnName); + if (info != null) + { + try + { + if (!Convert.IsDBNull(item[i])) + { + object v = null; + if (info.PropertyType.ToString().Contains("System.Nullable")) + { + v = Convert.ChangeType(item[i], Nullable.GetUnderlyingType(info.PropertyType)); + } + else + { + v = Convert.ChangeType(item[i], info.PropertyType); + } + info.SetValue(s, v, null); + } + } + catch (Exception ex) + { + throw new Exception("字段[" + info.Name + "]转换出错," + ex.Message); + } + } + } + list.Add(s); + } + return list; + } + + + /// + /// DataTable转成实体对象 + /// + /// + /// + /// + public static T ToDataEntity(this DataTable dt) + { + T s = Activator.CreateInstance(); + if (dt == null || dt.Rows.Count == 0) + { + return default(T); + } + var plist = new List(typeof(T).GetProperties()); + for (int i = 0; i < dt.Columns.Count; i++) + { + PropertyInfo info = plist.Find(p => p.Name == dt.Columns[i].ColumnName); + if (info != null) + { + try + { + if (!Convert.IsDBNull(dt.Rows[0][i])) + { + object v = null; + if (info.PropertyType.ToString().Contains("System.Nullable")) + { + v = Convert.ChangeType(dt.Rows[0][i], Nullable.GetUnderlyingType(info.PropertyType)); + } + else + { + v = Convert.ChangeType(dt.Rows[0][i], info.PropertyType); + } + info.SetValue(s, v, null); + } + } + catch (Exception ex) + { + throw new Exception("字段[" + info.Name + "]转换出错," + ex.Message); + } + } + } + return s; + } + + /// + /// List转成DataTable + /// + /// 实体类型 + /// 实体集合 + public static DataTable ToDataTable(List entities) + { + if (entities == null || entities.Count == 0) + { + return null; + } + + var result = CreateTable(); + FillData(result, entities); + return result; + } + + /// + /// 创建表 + /// + private static DataTable CreateTable() + { + var result = new DataTable(); + var type = typeof(T); + foreach (var property in type.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)) + { + var propertyType = property.PropertyType; + if ((propertyType.IsGenericType) && (propertyType.GetGenericTypeDefinition() == typeof(Nullable<>))) + propertyType = propertyType.GetGenericArguments()[0]; + result.Columns.Add(property.Name, propertyType); + } + return result; + } + + /// + /// 填充数据 + /// + private static void FillData(DataTable dt, IEnumerable entities) + { + foreach (var entity in entities) + { + dt.Rows.Add(CreateRow(dt, entity)); + } + } + + /// + /// 创建行 + /// + private static DataRow CreateRow(DataTable dt, T entity) + { + DataRow row = dt.NewRow(); + var type = typeof(T); + foreach (var property in type.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)) + { + row[property.Name] = property.GetValue(entity) ?? DBNull.Value; + } + return row; + } + } +} diff --git a/JinYuan.Helper/DeleteLog.cs b/JinYuan.Helper/DeleteLog.cs new file mode 100644 index 0000000..d71c767 --- /dev/null +++ b/JinYuan.Helper/DeleteLog.cs @@ -0,0 +1,206 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; + +namespace JinYuan.Helper +{ + public class DeleteLog + { + public static void Start(string[] strPata, short[] methodSelect) + { + Init(strPata, methodSelect); + } + + private static void Init(string[] strPata, short[] methodSelect) + { + Task.Run(() => + { + try + { + while (true) + { + for (int i = 0; i < strPata.Length; i++) + { + switch (methodSelect[i]) + { + case 0: + bool b = DeleteDirectory(strPata[i], 30); //删除该目录下 超过 30天的文件 + if (b) + { + LogHelper.Instance.WriteLog($"已清除路径:{strPata[i]},30天内过期日志"); + } + break; + case 1: + bool c = DeleteFile(strPata[i], 30); + if (c) + { + LogHelper.Instance.WriteLog($"已清除路径:{strPata[i]},30天内过期日志"); + } + break; + default: + break; + } + } + //24小时清一次 + Thread.Sleep(1000 * 60 * 60 * 24); + } + } + catch (Exception e) + { + Thread.Sleep(1000 * 60 * 60 * 28); + } + }); + } + + public static void DeleteDirectory(string target_dir) + { + string[] files = Directory.GetFiles(target_dir); + string[] dirs = Directory.GetDirectories(target_dir); + foreach (string file in files) + { + File.SetAttributes(file, FileAttributes.Normal); + File.Delete(file); + } + foreach (string dir in dirs) + { + DeleteDirectory(dir); + } + Directory.Delete(target_dir, false); + } + + private static bool DeleteDirectory(string fileDirect, int saveDay) + { + try + { + if (!Directory.Exists(fileDirect)) + { + LogHelper.Instance.WriteLog($"{fileDirect},文件夹不存在"); + return false; + } + DateTime nowTime = DateTime.Now; + string[] files = Directory.GetFiles(fileDirect, "*.*", SearchOption.AllDirectories); //获取该目录下所有 .txt文件 + foreach (string file in files) + { + FileInfo fileInfo = new FileInfo(file); + TimeSpan t = DateTime.Now - fileInfo.CreationTime; //当前时间 减去 文件创建时间 + int day = t.Days; + if (day > saveDay) //保存的时间,单位:天 + { + if (IsOccupy(fileInfo.FullName)) //判断文件是否被占用 + { + if (fileDirect.Contains("Mes"))//MesLogs + { + Directory.Delete(fileInfo.Directory.Parent.FullName, true); + return true; + } + else//其它 + { + Directory.Delete(fileInfo.Directory.FullName, true); + return true; + } + } + else + { + LogHelper.Instance.WriteLog($"{fileInfo.FullName},文件被占用,无法操作!"); + } + } + } + } + catch (Exception err) + { + LogHelper.Instance.WriteLog($"APILog日志删除异常,异常原因:{err}"); + } + return false; + } + + public static bool DeleteFile(string fileDirect, int saveDay) + { + try + { + if (!Directory.Exists(fileDirect)) + { + LogHelper.Instance.WriteLog($"{fileDirect},文件夹不存在"); + return false; + } + DateTime nowTime = DateTime.Now; + string[] files = Directory.GetFiles(fileDirect, "*.*", SearchOption.AllDirectories); //获取该目录下所有 .txt文件 + foreach (string file in files) + { + FileInfo fileInfo = new FileInfo(file); + + TimeSpan t = DateTime.Now - fileInfo.LastWriteTime;// fileInfo.CreationTime; //当前时间 减去 文件创建时间 + int day = t.Days; + if (day > saveDay) //保存的时间,单位:天 + { + if (IsOccupy(fileInfo.FullName)) //判断文件是否被占用 + { + System.IO.File.Delete(fileInfo.FullName); //删除文件 + } + else + { + LogHelper.Instance.WriteLog($"{fileInfo.FullName},文件被占用,无法操作!"); + } + } + } + return true; + } + catch (Exception err) + { + LogHelper.Instance.WriteLog($"Logs日志删除异常,异常原因:{err}"); + } + return false; + } + + [DllImport("kernel32.dll")] + public static extern IntPtr _lopen(string lpPathName, int iReadWrite); + + [DllImport("kernel32.dll")] + public static extern bool CloseHandle(IntPtr hObject); + + public const int OF_READWRITE = 2; + public const int OF_SHARE_DENY_NONE = 0x40; + public static readonly IntPtr HFILE_ERROR = new IntPtr(-1); + + /// + /// 判断文件是否被占用 + /// + /// + /// + private static bool IsOccupy(string file) + { + bool result = true; //默认状态此文件未被占用 + try + { + //string vFileName = @"c:\temp\temp.bmp"; + string vFileName = file; + if (!System.IO.File.Exists(vFileName)) + { + //Logger.Info("文件都不存在!"); + result = false; + } + IntPtr vHandle = _lopen(vFileName, OF_READWRITE | OF_SHARE_DENY_NONE); + if (vHandle == HFILE_ERROR) + { + + //Log4Helper.WriteLog("文件被占用!", "错误提示"); + result = false; + } + CloseHandle(vHandle); + // Log4Helper.WriteLog("没有被占用!", "错误提示"); + + + } + catch (Exception err) + { + result = false; + //Log4Helper.WriteLog("判断文件是否被占用", err); + + + } + return result; + } + + } +} diff --git a/JinYuan.Helper/EnergyMeterHelper.cs b/JinYuan.Helper/EnergyMeterHelper.cs new file mode 100644 index 0000000..8858656 --- /dev/null +++ b/JinYuan.Helper/EnergyMeterHelper.cs @@ -0,0 +1,443 @@ +using JinYuan.Models; +using Org.BouncyCastle.Ocsp; +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Net; +using System.Net.NetworkInformation; +using System.Net.Sockets; + +namespace JinYuan.Helper +{ + public class EnergyMeterHelper + { + public const int BufferSize = 1024;//1kb + private readonly object _lockObj = new object(); // 线程安全锁 + + private int _timeout = 2000; + private Ping _ping = null; + private IPEndPoint _endPoint = null; + private Socket _energyMeterSocket = null; + private PingReply _pingReply = null; + private string _lastError = ""; + + public enum ModBusExceptionCode //错误代码 + { + IllegalFunction = 01, + IllegalDataAddress, + IllegalDataValue, + SlaveDeviceFailure, + Acknowledge, + SlaveDeviceBusy, + GatewayPathUnavailable, + GatewayTargetDeviceFailed2Respond, + } + + /// + /// 构造函数 + /// + public EnergyMeterHelper() + { + // used to ping the PLC + // + this._ping = new Ping(); + + // EndPoint parametres + // + this._endPoint = new IPEndPoint(0, 0); + } + + /// + /// set ip and port + /// + public void SetTCPParams(IPAddress ip, int port) + { + if (ip == null) throw new ArgumentNullException(nameof(ip), "IP地址不能为空"); + if (port < 1 || port > 65535) throw new ArgumentOutOfRangeException(nameof(port), "端口号必须在1-65535之间"); + + // 禁止本地回环地址 + if (ip == IPAddress.Loopback || ip == IPAddress.IPv6Loopback) + { + throw new ArgumentException("禁止使用本地回环地址(127.0.0.1),请配置智能电表的真实IP地址", nameof(ip)); + } + + lock (_lockObj) + { + _endPoint = new IPEndPoint(ip, port); // 重新创建实例,避免修改原有对象 + } + } + + /// + /// returns the connection status + /// + public bool IsConnected + { + get + { + lock (_lockObj) + { + if (_energyMeterSocket == null) return false; + + try + { + bool part1 = _energyMeterSocket.Poll(100, SelectMode.SelectRead); + bool part2 = (_energyMeterSocket.Available == 0); + if (part1 && part2) + { + // 连接已断开,释放Socket + Close(); + return false; + } + return _energyMeterSocket.Connected; + } + catch (SocketException) + { + Close(); + return false; + } + catch (Exception) + { + return false; + } + } + } + } + + /// + /// close the socket + /// + /// + public void Close() + { + lock (_lockObj) + { + if (_energyMeterSocket == null) return; + try + { + // 优雅关闭:先关闭发送/接收,再释放 + if (_energyMeterSocket.Connected) + { + _energyMeterSocket.Shutdown(SocketShutdown.Both); + } + } + catch { } + finally + { + _energyMeterSocket.Close(); + _energyMeterSocket.Dispose(); + _energyMeterSocket = null; // 关键:置空,避免后续操作无效套接字 + } + } + } + + public bool Connect() + { + lock (_lockObj) + { + // 已连接则直接返回 + if (IsConnected) return true; + + // 先释放旧连接 + Close(); + + try + { + return TCPConnect(); + } + catch (Exception ex) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:连接异常 {ex.Message}"); + Close(); + return false; + } + } + } + + private bool TCPConnect() + { + // 若目标是本地回环地址,直接提示错误(关键!) + if (_endPoint.Address == IPAddress.Loopback || _endPoint.Address == IPAddress.IPv6Loopback) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:连接地址为本地回环(127.0.0.1),请配置电表真实IP!"); + return false; + } + + try + { + if (_endPoint.Address == IPAddress.None) + { + throw new InvalidOperationException("未设置有效的IP和端口"); + } + + // 重新创建Socket实例 + _energyMeterSocket = new Socket(_endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp) + { + SendTimeout = _timeout, + ReceiveTimeout = _timeout + }; + + // 异步连接(避免阻塞,可选) + IAsyncResult result = _energyMeterSocket.BeginConnect(_endPoint, null, null); + bool connectSuccess = result.AsyncWaitHandle.WaitOne(_timeout); + + if (connectSuccess && _energyMeterSocket.Connected) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:连接成功"); + return true; + } + + // 连接超时,释放当前Socket + _energyMeterSocket.Close(); + _energyMeterSocket.Dispose(); + _energyMeterSocket = null; + + return true; + } + catch (SocketException ex) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:网口连接失败 {ex.SocketErrorCode} - {ex.Message}"); + Close(); + return false; + } + catch (Exception ex) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:连接失败 {ex.Message}"); + Close(); + return false; + } + } + + public bool Ping() + { + if (_endPoint.Address == IPAddress.None) return false; + + try + { + var reply = _ping.Send(_endPoint.Address, _timeout); + return reply.Status == IPStatus.Success; + } + catch (Exception) + { + return false; + } + } + + public bool SendAndGetRes(byte[] bytes, ref List listM)//, ref JetReturnResult jet + { + // 参数校验 + if (bytes == null || bytes.Length == 0) + { + _lastError = "发送指令为空"; + return false; + } + if (listM == null) listM = new List(); + + var arrayPool = ArrayPool.Shared; + byte[] buffer = arrayPool.Rent(BufferSize);//new byte[1024]; + byte[] recvData = new byte[88 * 4 + 9];//0x58 + int size = recvData.Length; //0x58 + + + try + { + if (!Ping()) + { + _lastError = "Ping设备失败,网络不可达"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:{_lastError}"); + return false; + } + if (!IsConnected && !Connect()) + { + _lastError = "重连设备失败"; + return false; + } + + // 发送 + Send(bytes); + // 接收 + int recvLen = Receive(ref recvData, size); + if (recvLen <= 0) + { + _lastError = "未接收到设备响应"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now:yyyy-MM-dd}.txt", + $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 智能电表:{_lastError}"); + return false; + } + + // 解析 + if ((recvData[0] == Convert.ToByte(01 >> 8) && recvData[1] == Convert.ToByte(01)))//pTask.id + { + if (recvData[7] == 0x04)//读线圈寄存器功能码 + { + //数据赋值 + Array.Copy(recvData, 0, buffer, 0, recvData.Length); + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + $"电能表读取原始数据:{string.Join(" ", recvData)}"); + + decimal PhaseVoltageA = Convert.ToDecimal(HextoFloat(buffer[9], buffer[10], buffer[11], buffer[12])); + decimal PhaseVoltageB = Convert.ToDecimal(HextoFloat(buffer[13], buffer[14], buffer[15], buffer[16])); + decimal PhaseVoltageC = Convert.ToDecimal(HextoFloat(buffer[17], buffer[18], buffer[19], buffer[20])); + decimal PhaseCurrentA = Convert.ToDecimal(HextoFloat(buffer[21], buffer[22], buffer[23], buffer[24])); + decimal PhaseCurrentB = Convert.ToDecimal(HextoFloat(buffer[25], buffer[26], buffer[27], buffer[28])); + decimal PhaseCurrentC = Convert.ToDecimal(HextoFloat(buffer[29], buffer[30], buffer[31], buffer[32])); + decimal PhasePowerA = Convert.ToDecimal(HextoFloat(buffer[33], buffer[34], buffer[35], buffer[36])); + decimal PhasePowerB = Convert.ToDecimal(HextoFloat(buffer[37], buffer[38], buffer[39], buffer[40])); + decimal PhasePowerC = Convert.ToDecimal(HextoFloat(buffer[41], buffer[42], buffer[43], buffer[44])); + decimal ActivePower = Convert.ToDecimal(HextoFloat(buffer[121], buffer[122], buffer[123], buffer[124])); + decimal PowerFactor = Convert.ToDecimal(HextoFloat(buffer[133], buffer[134], buffer[135], buffer[136])); + decimal pt = 1; + decimal ct = 150 / 5; + decimal AccumulatedElectricity = Convert.ToDecimal(HextoFloat(buffer[181], buffer[182], buffer[183], buffer[184])); + + ElectricEnergy m = new ElectricEnergy(); + m.PhaseVoltageA = PhaseVoltageA; + m.PhaseVoltageB = PhaseVoltageB; + m.PhaseVoltageC = PhaseVoltageC; + m.PhaseCurrentA = PhaseCurrentA * ct; + m.PhaseCurrentB = PhaseCurrentB * ct; + m.PhaseCurrentC = PhaseCurrentC * ct; + m.PhasePowerA = PhaseVoltageA * PhaseCurrentA * ct; + m.PhasePowerB = PhaseVoltageB * PhaseCurrentB * ct; + m.PhasePowerC = PhaseVoltageC * PhaseCurrentC * ct; + m.ActivePower = ActivePower * ct; + m.PowerFactor = PowerFactor * ct; + m.pt = pt;//Convert.ToDecimal(HextoFloat(buffer[0], buffer[0], buffer[0], buffer[0])); + m.ct = ct;//Convert.ToDecimal(HextoFloat(buffer[0], buffer[0], buffer[0], buffer[0])); + m.AccumulatedElectricity = AccumulatedElectricity; + listM.Add(m); + } + else + { + switch (recvData[8]) + { + case (byte)ModBusExceptionCode.IllegalDataAddress: + _lastError = string.Format("SendAndGetRes():ReadInputRegister [IllegalDataAddress]"); + break; + case (byte)ModBusExceptionCode.IllegalDataValue: + _lastError = string.Format("SendAndGetRes():ReadInputRegister [IllegalDataValue]"); + break; + case (byte)ModBusExceptionCode.IllegalFunction: + _lastError = string.Format("SendAndGetRes():ReadInputRegister [IllegalFunction]"); + break; + default: + _lastError = string.Format("SendAndGetRes():ReadInputRegister [FunctionException]"); + break; + } + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + $"电能表读取数据异常,原因:{_lastError}"); + } + } + } + catch (Exception ex) + { + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + $"电能表读取原始数据:{string.Join(" ", recvData)}"); + TxtHelper.WriteTxt($@"D:\APILog\Logs\智能电表信息\{DateTime.Now.ToString("yyyy-MM-dd")}.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + $"电能表读取数据异常,原因:{ex}"); + Close(); + return false; + } + finally + { + arrayPool.Return(buffer); + } + return true; + } + + /// + /// send a command to energy meter device + /// + /// + /// + private int Send(Byte[] command) + { + lock (_lockObj) + { + // 核心校验:Socket不为null且连接有效 + if (_energyMeterSocket == null || !IsConnected) + { + throw new SocketException((int)SocketError.NotConnected); + } + + int bytesSent = _energyMeterSocket.Send(command, 0, command.Length, SocketFlags.None); + return bytesSent; + } + } + + /// + /// receives a response from the plc + /// + /// + /// + /// + private int Receive(ref Byte[] response, int expectLen) + { + lock (_lockObj) + { + if (_energyMeterSocket == null || !IsConnected) + { + throw new SocketException((int)SocketError.NotConnected); + } + + int totalRecv = 0; + while (totalRecv < expectLen) + { + // 分段接收,避免单次接收不足 + int recvLen = _energyMeterSocket.Receive(response, totalRecv, expectLen - totalRecv, SocketFlags.None); + if (recvLen == 0) + { + throw new SocketException((int)SocketError.ConnectionReset); + } + totalRecv += recvLen; + } + + return totalRecv; + } + } + + + /// + /// HexToFloat + /// + /// 高字高字节 + /// 高字低字节 + /// 低字高字节 + /// 低字低字节 + /// float + public static float HextoFloat(byte H1, byte H2, byte D1, byte D2) + { + try + { + //byte-->short + int s1, s2; + s1 = Convert.ToInt32(H1 * 256) + Convert.ToInt32(H2); + s2 = Convert.ToInt32(D1 * 256) + Convert.ToInt32(D2); + + //将输入数值short转化为无符号unsigned short + int us1 = s1, us2 = s2; + if (s1 < 0) us1 += 65536; + if (s2 < 0) us2 += 65536; + //sign: 符号位, exponent: 阶码, mantissa:尾数 + int sign, exponent; + float mantissa; + //计算符号位 + sign = us1 / 32768; + //去掉符号位 + int emCode = us1 % 32768; + //计算阶码 + exponent = emCode / 128; + //计算尾数 + mantissa = (float)(emCode % 128 * 65536 + us2) / 8388608; + //代入公式 fValue = (-1) ^ S x 2 ^ (E - 127) x (1 + M) + return (float)Math.Pow(-1, sign) * (float)Math.Pow(2, exponent - 127) * (1 + mantissa); + } + catch (Exception ex) + { + return 0; + } + } + } +} + diff --git a/JinYuan.Helper/FileHelper.cs b/JinYuan.Helper/FileHelper.cs new file mode 100644 index 0000000..e7eea94 --- /dev/null +++ b/JinYuan.Helper/FileHelper.cs @@ -0,0 +1,267 @@ +using System; +using System.IO; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Formatters.Binary; + +namespace JinYuan.Helper +{ + public class FileHelper + { + #region 1.文本文件读写 + + + public static void WriteToTxt(string path, string content, bool isAppend = false) + { + //【1】创建文件流 + FileStream fileStream = new FileStream(path, isAppend ? FileMode.Append : FileMode.Create); + + //【2】创建写入器 + StreamWriter streamWriter = new StreamWriter(fileStream); + + //【3】以流的形式写入数据 + streamWriter.Write(content); + + //【4】关闭写入器 + streamWriter.Close(); + + //【5】关闭文件流 + fileStream.Close(); + } + + + public static string ReadFromTxt(string path) + { + //判断文件是否存在 + if (!File.Exists(path)) + { + return string.Empty; + } + + //【1】创建文件流 + FileStream fileStream = new FileStream(path, FileMode.Open); + + //【2】创建读取器 + StreamReader streamReader = new StreamReader(fileStream); + + //【3】以流的方式读取 + string content = streamReader.ReadToEnd(); + + //【4】关闭读取器 + streamReader.Close(); + + //【5】关闭文件流 + fileStream.Close(); + + return content; + + } + + #endregion + + #region 2.对象序列化文件 + + /// + /// 序列化一个对象到一个文件中 + /// + /// + /// + public static void SerializeObject(object obj, string path) + { + FileStream fileStream = null; + + try + { + fileStream = new FileStream(path, FileMode.Create); + + BinaryFormatter binaryFormatter = new BinaryFormatter(); + + binaryFormatter.Serialize(fileStream, obj); + + } + catch (Exception ex) + { + throw new Exception("序列化对象出错:" + ex.Message); + } + finally + { + fileStream.Close(); + } + } + + + public static T DeSerializeObject(string path) + { + FileStream fileStream = null; + + try + { + fileStream = new FileStream(path, FileMode.Open); + + BinaryFormatter binaryFormatter = new BinaryFormatter(); + + return (T)binaryFormatter.Deserialize(fileStream); + + } + catch (Exception ex) + { + throw new Exception("反序列化对象出错:" + ex.Message); + } + finally + { + fileStream.Close(); + } + } + + + #endregion + + #region 3.对象序列化字符串 + + /// + /// 将对象序列化成字符串 + /// + /// + /// + public static string SerializeObjToString(object obj) + { + IFormatter formatter = new BinaryFormatter(); + + string result = string.Empty; + + using (MemoryStream stream = new MemoryStream()) + { + formatter.Serialize(stream, obj); + + byte[] bytes = stream.ToArray(); + + result = Convert.ToBase64String(bytes); + + stream.Flush(); + + } + return result; + } + + /// + /// 将字符串反序列化成对象 + /// + /// + /// + /// + public static T DeSerializeObjFromString(string str) where T : class + { + IFormatter formatter = new BinaryFormatter(); + + byte[] bytes = Convert.FromBase64String(str); + + T obj = null; + + using (MemoryStream stream = new MemoryStream(bytes, 0, bytes.Length)) + { + obj = (T)formatter.Deserialize(stream); + } + + return obj; + } + + #endregion + + #region 4.文件的基本操作 + + /// + /// 文件复制 + /// + /// + /// + public static void CopyFile(string srcFileName, string desFileName) + { + if (File.Exists(desFileName)) + { + File.Delete(desFileName); + } + + File.Copy(srcFileName, desFileName); + + } + + + /// + /// 文件移动 + /// + /// + /// + public static void MoveFile(string srcFileName, string desFileName) + { + if (File.Exists(srcFileName)) + { + if (File.Exists(desFileName)) + { + File.Delete(desFileName); + } + + File.Move(srcFileName, desFileName); + } + } + + /// + /// 文件删除 + /// + /// + public static void DeleteFile(string fileName) + { + if (File.Exists(fileName)) + { + File.Delete(fileName); + } + } + + #endregion + + + #region 5.文件夹的相关操作 + + /// + /// 获取指定目录下的所有文件 + /// + /// + /// + public static string[] GetFiles(string path) + { + return Directory.GetFiles(path); + } + + /// + /// 获取指定目录下的所有子目录 + /// + /// + /// + public static string[] GetDirectories(string path) + { + return Directory.GetDirectories(path); + } + + /// + /// 创建文件夹 + /// + /// + public static void CreateDirectory(string path) + { + Directory.CreateDirectory(path); + } + + /// + /// 删除指定目录下的所有子目录和文件 + /// + /// + public static void DeleteFiles(string path) + { + DirectoryInfo directory = new DirectoryInfo(path); + + directory.Delete(true); + } + + + #endregion + + } +} diff --git a/JinYuan.Helper/IniConfigHelper.cs b/JinYuan.Helper/IniConfigHelper.cs new file mode 100644 index 0000000..4d4c0e6 --- /dev/null +++ b/JinYuan.Helper/IniConfigHelper.cs @@ -0,0 +1,253 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Runtime.InteropServices; +using System.Text; + +namespace JinYuan.Helper +{ + public class IniConfigHelper + { + /// + /// 文件路径 + /// + public static string iniFilePath = string.Empty; + + + #region API函数声明 + + [DllImport("kernel32")] + private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); + + //需要调用GetPrivateProfileString的重载 + [DllImport("kernel32", EntryPoint = "GetPrivateProfileString")] + private static extern long GetPrivateProfileString(string section, string key, + string def, StringBuilder retVal, int size, string filePath); + + [DllImport("kernel32", EntryPoint = "GetPrivateProfileString")] + private static extern uint GetPrivateProfileStringA(string section, string key, + string def, Byte[] retVal, int size, string filePath); + + #endregion + + /// + /// + /// + /// + /// + public static void CreateIniFile(string StartupPath, string AppName) + { + iniFilePath = StartupPath + AppName; + if (!Directory.Exists(StartupPath)) + { + Directory.CreateDirectory(StartupPath); + } + if (!File.Exists(iniFilePath)) + { + File.Create(iniFilePath).Close(); + } + } + + + #region 读取INI文件 + /// + /// 根据节点及Key的值返回数据 + /// + /// 节点 + /// 键 + /// 默认值 + /// 路径 + /// 返回值 + public static string ReadIniData(string Section, string Key, string NoText, string iniFilePath) + { + if (File.Exists(iniFilePath)) + { + StringBuilder stringBuilder = new StringBuilder(10240); + + GetPrivateProfileString(Section, Key, NoText, stringBuilder, 10240, iniFilePath); + + return stringBuilder.ToString(); + } + else + { + return string.Empty; + } + } + + + /// + /// 根据节点及Key的值返回数据 + /// + /// 节点 + /// 键 + /// 默认值 + /// 返回值 + public static string ReadIniData(string Section, string Key, string NoText) + { + return ReadIniData(Section, Key, NoText, iniFilePath); + } + + #endregion + + #region 写入Ini文件 + + /// + /// 根据节点及Key的值写入数据 + /// + /// 节点 + /// 键 + /// 值 + /// 路径 + /// 操作结果 + public static bool WriteIniData(string Section, string Key, string Value, string path) + { + long result = WritePrivateProfileString(Section, Key, Value, path); + + if (result == 0) + { + return false; + } + else + { + return true; + } + } + + /// + /// 根据节点及Key的值写入数据 + /// + /// 节点 + /// 键 + /// 值 + /// 操作结果 + public static bool WriteIniData(string Section, string Key, string Value) + { + return WriteIniData(Section, Key, Value, iniFilePath); + } + + #endregion + + #region 读取所有的Sections + + /// + /// 读取所有的Section + /// + /// 路径 + /// Section集合 + public static List ReadSections(string path) + { + byte[] buffer = new byte[65536]; + + uint length = GetPrivateProfileStringA(null, null, null, buffer, buffer.Length, path); + + int startIndex = 0; + + List sections = new List(); + + for (int i = 0; i < length; i++) + { + if (buffer[i] == 0) + { + sections.Add(Encoding.Default.GetString(buffer, startIndex, i - startIndex)); + startIndex = i + 1; + } + } + + return sections; + } + + /// + /// 读取所有的Section + /// + /// 路径 + /// Section集合 + public static List ReadSections() + { + byte[] buffer = new byte[65536]; + + uint length = GetPrivateProfileStringA(null, null, null, buffer, buffer.Length, iniFilePath); + + int startIndex = 0; + + List sections = new List(); + + for (int i = 0; i < length; i++) + { + if (buffer[i] == 0) + { + sections.Add(Encoding.Default.GetString(buffer, startIndex, i - startIndex)); + startIndex = i + 1; + } + } + + return sections; + } + + + + #endregion + + #region 根据某个Section读取所有的Keys + + /// + /// 根据某个Section读取所有的Keys + /// + /// 某个section + /// 路径 + /// key的集合 + public static List ReadKeys(string section, string path) + { + byte[] buffer = new byte[65536]; + + uint length = GetPrivateProfileStringA(section, null, null, buffer, buffer.Length, path); + + int startIndex = 0; + + List keys = new List(); + + for (int i = 0; i < length; i++) + { + if (buffer[i] == 0) + { + keys.Add(Encoding.Default.GetString(buffer, startIndex, i - startIndex)); + startIndex = i + 1; + } + } + + return keys; + + } + + /// + /// 根据某个Section读取所有的Keys + /// + /// 某个section + /// 路径 + /// key的集合 + public static List ReadKeys(string section) + { + byte[] buffer = new byte[65536]; + + uint length = GetPrivateProfileStringA(section, null, null, buffer, buffer.Length, iniFilePath); + + int startIndex = 0; + + List keys = new List(); + + for (int i = 0; i < length; i++) + { + if (buffer[i] == 0) + { + keys.Add(Encoding.Default.GetString(buffer, startIndex, i - startIndex)); + startIndex = i + 1; + } + } + + return keys; + + } + + #endregion + + } +} diff --git a/JinYuan.Helper/IniFileHelper.cs b/JinYuan.Helper/IniFileHelper.cs new file mode 100644 index 0000000..67298d2 --- /dev/null +++ b/JinYuan.Helper/IniFileHelper.cs @@ -0,0 +1,75 @@ +using System.IO; +using System.Runtime.InteropServices; +using System.Text; +using System.Windows.Forms; + +namespace JinYuan.Helper +{ + public class IniFileHelper + { + private static string iniFilePath = "Configure.ini"; + + [DllImport("kernel32")] + private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); + + [DllImport("kernel32")] + private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); + + public static string ReadIniData(string Section, string Key) + { + try + { + if (File.Exists(iniFilePath)) + { + StringBuilder temp = new StringBuilder(1024); + GetPrivateProfileString(Section, Key, "", temp, 1024, iniFilePath); + return temp.ToString(); + } + MessageBox.Show("节点:" + Section + ",键名:" + Key + ":读取配置文件错误!"); + return null; + } + catch + { + throw; + } + } + + public static bool WriteIniData(string Section, string Key, string Value) + { + try + { + if (File.Exists(iniFilePath)) + { + if (WritePrivateProfileString(Section, Key, Value, iniFilePath) == 0L) + { + return false; + } + return true; + } + File.Create(iniFilePath).Close(); + if (WritePrivateProfileString(Section, Key, Value, iniFilePath) == 0L) + { + return false; + } + return true; + } + catch + { + throw; + } + } + + public static void CreateIniFile(string StartupPath, string AppName) + { + iniFilePath = StartupPath + AppName; + if (!Directory.Exists(StartupPath)) + { + Directory.CreateDirectory(StartupPath); + } + if (!File.Exists(iniFilePath)) + { + File.Create(iniFilePath).Close(); + } + } + } +} diff --git a/JinYuan.Helper/JinYuan.Helper.csproj b/JinYuan.Helper/JinYuan.Helper.csproj new file mode 100644 index 0000000..32b0bcd --- /dev/null +++ b/JinYuan.Helper/JinYuan.Helper.csproj @@ -0,0 +1,176 @@ + + + + + + Debug + AnyCPU + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360} + Library + Properties + JinYuan.Helper + JinYuan.Helper + v4.8 + 512 + true + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\BouncyCastle.Cryptography.2.2.1\lib\net461\BouncyCastle.Cryptography.dll + + + ..\packages\CsvHelper.33.0.1\lib\net48\CsvHelper.dll + + + ..\packages\Enums.NET.4.0.1\lib\net45\Enums.NET.dll + + + ..\packages\SharpZipLib.1.3.3\lib\net45\ICSharpCode.SharpZipLib.dll + + + ..\packages\MathNet.Numerics.Signed.4.15.0\lib\net461\MathNet.Numerics.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll + + + ..\packages\Microsoft.IO.RecyclableMemoryStream.2.3.2\lib\net462\Microsoft.IO.RecyclableMemoryStream.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\NLog.6.0.2\lib\net46\NLog.dll + + + False + bin\Debug\PLCCommunication.dll + + + ..\packages\SixLabors.Fonts.1.0.0\lib\netstandard2.0\SixLabors.Fonts.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + ..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll + + + + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + + + ..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll + + + ..\packages\System.Security.Cryptography.Xml.6.0.1\lib\net461\System.Security.Cryptography.Xml.dll + + + ..\packages\System.Security.Permissions.6.0.0\lib\net461\System.Security.Permissions.dll + + + ..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll + + + + ..\packages\System.Text.Encoding.CodePages.6.0.0\lib\net461\System.Text.Encoding.CodePages.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {4C0BCB84-5CD7-4846-8363-C4C10D46E391} + JinYuan.Models + + + + + + 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + + + + \ No newline at end of file diff --git a/JinYuan.Helper/JsonHelper.cs b/JinYuan.Helper/JsonHelper.cs new file mode 100644 index 0000000..a22bc4a --- /dev/null +++ b/JinYuan.Helper/JsonHelper.cs @@ -0,0 +1,90 @@ +using Newtonsoft.Json; +using System; +using System.IO; +using System.Runtime.Serialization.Json; +using System.Text; + +namespace JinYuan.Helper +{ + public class JsonHelper + { + /// + /// 使用Newtonsoft.json.dll对象序列化成Json字符串 + /// + /// + /// + /// + public static string EntityToJson(T t) + { + try + { + return JsonConvert.SerializeObject(t); + } + catch (Exception) + { + return string.Empty; + } + } + + /// + /// 使用Newtonsoft.json.dll 将Json字符串反序列化成对象 + /// + /// + /// + /// + public static T JsonToEntity(string json) + { + try + { + return (T)JsonConvert.DeserializeObject(json, typeof(T)); + } + catch (Exception) + { + return default(T); + } + } + + /// + /// 实体类转换成JSON字符串 + /// + /// + /// + /// + public static string EntityToJson2(T obj) + { + //序列化 + DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(T)); + MemoryStream msObj = new MemoryStream(); + //将序列化之后的Json格式数据写入流中 + js.WriteObject(msObj, obj); + msObj.Position = 0; + //从0这个位置开始读取流中的数据 + StreamReader sr = new StreamReader(msObj, Encoding.Default); + string json = sr.ReadToEnd(); + sr.Close(); + msObj.Close(); + return json; + } + + + /// + /// JSON字符串转换成实体类 + /// + /// + /// + /// + public static T JsonToEntity2(string json) where T : class + { + //反序列化 + using (var ms = new MemoryStream(Encoding.Default.GetBytes(json))) + { + DataContractJsonSerializer deseralizer = new DataContractJsonSerializer(typeof(T)); + T model = (T)deseralizer.ReadObject(ms);// //反序列化ReadObject + return model; + } + } + + + + } +} diff --git a/JinYuan.Helper/LogHelper.cs b/JinYuan.Helper/LogHelper.cs new file mode 100644 index 0000000..9b67930 --- /dev/null +++ b/JinYuan.Helper/LogHelper.cs @@ -0,0 +1,310 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Threading; + +namespace JinYuan.Helper +{ + /// + /// 日志操作类 + /// + public class LogHelper + { + private static object singleLock = new object(); + + /// + /// log日志文件路径 + /// + public static string logFilePath = string.Empty; + + + public static LogHelper _instance = null; + public static LogHelper Instance + { + + get + { + if (_instance == null) + { + lock (singleLock) + { + if (_instance == null) + { + _instance = new LogHelper(); + } + } + } + return _instance; + } + + } + + + + + /// + /// 初始化 + /// + /// + public void InitLog(string configPath) + { + logFilePath = configPath; + if (!Directory.Exists(logFilePath)) + { + Directory.CreateDirectory(logFilePath); + } + //if (!File.Exists(logFilePath)) + //{ + // File.Create(logFilePath).Close(); + //} + } + + + /// + /// 写日志文件数据库日志文件 + /// + /// 消息 + public void WriteError(string message) + { + + AddLog(message, "Error"); + } + + public void WriteEX(Exception ex) + { + AddLog(ex.Message + "\r\n" + ex.InnerException + "\r\n" + ex.StackTrace + "\r\n" + ex.Source, "SysErrorLog"); + } + + public void WriteEX(string ErrorName, Exception ex) + { + AddLog(ErrorName + "\r\n" + ex.Message + "\r\n" + ex.InnerException + "\r\n" + ex.StackTrace + "\r\n" + ex.Source, "SysErrorLog"); + } + /// + /// 写日志文件数据库日志文件 + /// + /// 消息 + /// 日志存储目录名称 + public void WriteError(Exception ex, string direName) + { + AddLog(ex.Message + "\r\n" + ex.InnerException + "\r\n" + ex.StackTrace + "\r\n" + ex.Source, direName); + } + + /// + /// / + /// + /// + /// + public void WriteError(string message, string direName) + { + AddLog(message, direName); + } + /// + /// 写日志文件数据库日志文件 + /// + /// 消息 + public void WriteLog(string message) + { + + AddLog(message, "Info"); + } + /// + /// 写日志文件数据库日志文件 + /// + /// 消息 + /// 日志存储目录名称 + public void WriteLog(string message, string direName) + { + + AddLog(message, direName); + } + + /// + /// 写日志文件数据库日志文件 + /// + /// 消息 + /// 日志存储目录名称 + private void AddLog(string message, string direName) + { + string fileLog = logFilePath; + if (fileLog == "") + { + return; + } + try + { + var applicationName = direName; + //从宿主配置文件中获取日志文件全路径 + //所有的接口日志文件放在一个目录下面,跟web站点的目录分开 + //日志文件一天放一个,按日期分开 + + if (string.IsNullOrEmpty(applicationName)) + { + applicationName = "Log"; + } + string logFullPath = fileLog + applicationName; + + if (!Directory.Exists(logFullPath)) + { + Directory.CreateDirectory(logFullPath); + } + //只保留30天的日志 + var deletePath = $@"{logFullPath}\{DateTime.Now.AddDays(-30):yyyyMMddHH}.txt"; + + if (File.Exists(deletePath)) + { + File.Delete(deletePath); + } + + logFullPath = $@"{logFullPath}\{DateTime.Now:yyyyMMddHH}.txt"; + if (!File.Exists(logFullPath)) + { + using (var fs = new FileStream(logFullPath, FileMode.Create, FileAccess.Write)) + { + StreamWriter sw = new StreamWriter(fs); + sw.Close(); + fs.Close(); + } + } + + using (StreamWriter writer = new StreamWriter(logFullPath, true)) + { + writer.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); + writer.WriteLine(message); + writer.WriteLine(Environment.NewLine); + + } + + } + catch + { + // ignored + } + } + + /// + /// 轴位置日志类 + /// + public class PrintMotorLog + { + private static readonly Thread WriteThread; + private static readonly Queue MsgQueue;//先进先出集合 + public static readonly object FileLock; + private static readonly string FilePath = "D:\\LOCAL\\轴位置修改记录(查看文件就复制到副本到桌面!!!)\\"; + static PrintMotorLog() + { + FileLock = new object();//文件锁 + + WriteThread = new Thread(WriteMsg); + MsgQueue = new Queue(); + WriteThread.Start(); + } + + public static void LogInfo(string BegionTime, string MotorDescribe, string IndxDescribe, string FrontIndx, string NewIndx) + { + Monitor.Enter(MsgQueue); + string strData = BegionTime + "," + + MotorDescribe + "," + + IndxDescribe + "," + + FrontIndx + "," + + NewIndx + ","; + MsgQueue.Enqueue(strData); + Monitor.Exit(MsgQueue); + } + private static void WriteMsg() + { + while (true) + { + Thread.Sleep(10); + if (MsgQueue.Count > 0) + { + Monitor.Enter(MsgQueue); + string msg = MsgQueue.Dequeue(); + Monitor.Exit(MsgQueue); + Monitor.Enter(FileLock); + if (!Directory.Exists(FilePath)) + { + Directory.CreateDirectory(FilePath); + } + string strFilename = FilePath + "轴位置修改_" + System.DateTime.Now.ToString("yyyyMMdd") + ".csv"; + //用默认编码和缓冲区大小,为指定的文件初始化 StreamWriter 类的一个新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,则此构造函数将创建一个新文件。 + try + { + if (!File.Exists(strFilename)) + { + //文件标头 19 + string strProInfoFileHead = @"日期时间,轴描述,位置描述,位置修改前,当前位置"; + StreamWriter sw = new StreamWriter(strFilename, true, UnicodeEncoding.GetEncoding("GB2312")); + sw.WriteLine(strProInfoFileHead); + sw.Flush(); + sw.Close(); + sw.Dispose(); + } + StreamWriter se = new StreamWriter(strFilename, true, UnicodeEncoding.GetEncoding("GB2312")); + se.WriteLine(msg); + se.Flush(); + se.Close(); + se.Dispose(); + } + catch (Exception) + { + + + } + Monitor.Exit(FileLock); + if (GetFileSize(strFilename) > 1024 * 5) + { + CopyToBak(strFilename); + } + } + } + } + private static long GetFileSize(string fileName) + { + long strRe = 0; + if (File.Exists(fileName)) + { + Monitor.Enter(FileLock); + try + { + var myFs = new FileStream(fileName, FileMode.Open); + strRe = myFs.Length / 1024; + myFs.Close(); + myFs.Dispose(); + } + catch (Exception) + { + + + } + Monitor.Exit(FileLock); + } + return strRe; + } + + private static void CopyToBak(string sFileName) + { + int fileCount = 0; + string sBakName = ""; + Monitor.Enter(FileLock); + try + { + do + { + fileCount++; + sBakName = sFileName + "." + fileCount + ".BAK"; + } + while (File.Exists(sBakName)); + File.Copy(sFileName, sBakName); + File.Delete(sFileName); + } + catch (Exception) + { + + + } + Monitor.Exit(FileLock); + } + } + } +} diff --git a/JinYuan.Helper/Logger.cs b/JinYuan.Helper/Logger.cs new file mode 100644 index 0000000..b77da55 --- /dev/null +++ b/JinYuan.Helper/Logger.cs @@ -0,0 +1,63 @@ +using NLog; +using System; + + + +public class Logger +{ + + private static readonly NLog.Logger loginfo = LogManager.GetLogger("loginfo"); + private static readonly NLog.Logger logerror = LogManager.GetLogger("logerror"); + private static readonly NLog.Logger logmqtt = LogManager.GetLogger("logmqtt"); + private static readonly NLog.Logger logWHX = LogManager.GetLogger("logWHX"); + + private static readonly NLog.Logger logsInfo = LogManager.GetLogger("logsInfo"); + private static readonly NLog.Logger logsMEStIME = LogManager.GetLogger("logsMEStIME"); + private static readonly NLog.Logger logsSql = LogManager.GetLogger("logsSql"); + private static readonly NLog.Logger logsSysErrorLog = LogManager.GetLogger("logsSysErrorLog"); + private static readonly NLog.Logger logsSysErrorLogcn = LogManager.GetLogger("logsSysErrorLogcn"); + public static void WriteInfo(string info) + { + Console.WriteLine(info); + if (loginfo.IsInfoEnabled) + { + loginfo.Info(info); + } + } + + public static void WriteMqtt(string info) + { + Console.WriteLine(info); + if (logmqtt.IsInfoEnabled) + { + logmqtt.Info(info); + } + } + + public static void WriteError(string error) + { + Console.WriteLine(error); + if (logerror.IsErrorEnabled) + { + logerror.Error(error); + } + } + + public static void WriteError(string info, Exception ex) + { + Console.WriteLine(info); + if (logerror.IsErrorEnabled) + { + logerror.Error(info, ex); + } + } + public static void WriteWHX(string info) + { + Console.WriteLine(info); + if (logWHX.IsErrorEnabled) + { + logWHX.Error(info); + } + } +} + diff --git a/JinYuan.Helper/MockDataGenerator.cs b/JinYuan.Helper/MockDataGenerator.cs new file mode 100644 index 0000000..f578a69 --- /dev/null +++ b/JinYuan.Helper/MockDataGenerator.cs @@ -0,0 +1,101 @@ +using JinYuan.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace JinYuan.Helper +{ + public static class MockDataGenerator + { + public static readonly Random _random = new Random(); + + // 修改为与实际数据结构匹配的类 + public class ProdData + { + public string DisplayTime { get; set; } + public int ProdIn { get; set; } + public int ProdOut { get; set; } + public double OKRatio { get; set; } + } + + public class AlarmData + { + public string DataType { get; set; } + public int DataCount { get; set; } + } + + public class NGData + { + public string DataType { get; set; } + public int DataCount { get; set; } + } + + public static List Generate12HourData() + { + var result = new List(); + var random = new Random(); + + // 方法1:使用数组预定义顺序 + var timeSlots = new[] + { + "08:30", "09:30", "10:30", "11:30", "12:30", "13:30", "14:30", "15:30", "16:30", "17:30", + "18:30", "19:30", "20:30", "21:30", "22:30", "23:30", "00:30", "01:30", "02:30", "03:30", + "04:30", "05:30", "06:30", "07:30" + }; + + foreach (var timeSlot in timeSlots) + { + var prodIn = random.Next(800, 2000); + var prodOut = random.Next(700, prodIn); + var okRatio = Math.Round((double)prodOut / prodIn * 100, 2); + + result.Add(new Chart12HourData + { + DisplayTime = timeSlot, + ProdIn = prodIn, + ProdOut = prodOut, + OKRatio = okRatio.ToString("F2") + "%" + }); + } + + return result; // 不需要额外排序,因为已经按照需要的顺序生成 + } + + public static List GenerateAlarmTop10Data() + { + var alarmTypes = new[] + { + "设备故障", "原料异常", "温度超限", "压力异常", + "速度偏差", "位置错误", "通信中断", "电源故障", + "气压不足", "传感器异常" + }; + + return alarmTypes + .Select(type => new ChartDataType + { + DataType = type, + DataCount = _random.Next(5, 50) + }) + .OrderByDescending(x => x.DataCount) + .ToList(); + } + + public static List GenerateNGData() + { + var ngTypes = new[] + { + "尺寸超差", "表面划伤", "变形", "异物", + "色差", "气泡", "裂纹", "焊接不良" + }; + + return ngTypes + .Select(type => new ChartDataType + { + DataType = type, + DataCount = _random.Next(10, 100) + }) + .OrderByDescending(x => x.DataCount) + .ToList(); + } + } +} diff --git a/JinYuan.Helper/PLCAlarmParseHelper.cs b/JinYuan.Helper/PLCAlarmParseHelper.cs new file mode 100644 index 0000000..8458f58 --- /dev/null +++ b/JinYuan.Helper/PLCAlarmParseHelper.cs @@ -0,0 +1,232 @@ +using JinYuan.Models; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace JinYuan.Helper +{ + public static class PLCAlarmParseHelper + { + /// + /// 三菱将报警地址值转成报警List + /// + /// PLC地址值,如100 + /// PLC读取出来的值 + /// PLC地址类型,默认值R + /// + public static List MelsecByte2Status(int plcAddrSuffix, byte[] byteData, char plcAddrPrefix = 'R') + { + var listAlarmStatus = new List(); + // byte[]转为二进制字符串表示 + string strResult = ""; + for (int i = 0; i < byteData.Length; i++) + { + string strTemp = System.Convert.ToString(byteData[i], 2); + strTemp = strTemp.PadLeft(8, '0').StrReverse(); + strResult += strTemp; + } + + for (int i = 0; i < strResult.Length; i++) + { + var plcByte = i % 16; + //如果是16的倍数地址+1 + if (plcByte % 16 == 0 && i != 0) + { + plcAddrSuffix++; + } + //将地址和状态添加到结果集 + listAlarmStatus.Add(new AlarmStatus() + { + PLCAdress = $"{plcAddrPrefix}{plcAddrSuffix}.{plcByte.ToString("X")}", + Status = strResult[i] == '1' + }); + //if (strResult[i] == '1') + // Console.WriteLine($"{plcAddrPrefix}{plcAddrSuffix}.{plcByte.ToString("X")}:{strResult[i]}"); + } + + return listAlarmStatus; + } + + + /// + /// 欧姆龙NX系列Ethernet/IP通讯时将报警地址值转成报警List {直接读取标签地址/无需高低位互换} + /// + /// PLC地址值,如100 + /// PLC读取出来的值 + /// PLC地址类型,默认值R + /// + public static List OmronEIPByte2Status(int plcAddrSuffix, List byteData, char plcAddrPrefix = 'W') + { + var listAlarmStatus = new List(); + // byte[]转为二进制字符串表示 + string strResult = ""; + for (int i = 0; i < byteData.Count; i++) + { + string strTemp = System.Convert.ToString(byteData[i], 2); + strTemp = strTemp.PadLeft(8, '0').StrReverse(); + strResult += strTemp; + } + + for (int i = 0; i < strResult.Length; i++) + { + var plcByte = i % 16; + //如果是16的倍数地址+1 + if (plcByte % 16 == 0 && i != 0) + { + plcAddrSuffix++; + } + //将地址和状态添加到结果集 + listAlarmStatus.Add(new AlarmStatus() + { + PLCAdress = $"{plcAddrPrefix}6100[{plcAddrSuffix}].B[{plcByte.ToString()}]", + Status = strResult[i] == '1' + }); + } + + return listAlarmStatus; + } + + + /// + /// 欧姆龙FINS通讯读取EM数据寄存器是时将报警地址值转成报警List + /// + /// PLC地址值,如100 + /// PLC读取出来的值 + /// PLC地址类型,默认值W + /// + public static List OmronFinsByte2Status(int plcAddrSuffix, byte[] byteData, char plcAddrPrefix = 'D') + { + var listAlarmStatus = new List(); + #region 取消 + // byte[]转为二进制字符串表示 + //byte[] revBytes = SWAPbyte(byteData); //字节高低位互换 + //string strResult = ""; + //for (int i = 0; i < revBytes.Length; i++) + //{ + // string strTemp = System.Convert.ToString(revBytes[i], 2); + // strTemp = strTemp.PadLeft(8, '0').StrReverse(); + // strResult += strTemp; + //} + + //for (int i = 0; i < strResult.Length; i++) + //{ + // var plcByte = i % 500; + // //如果是16的倍数地址+1 + // if (plcByte % 500 == 0 && i != 0) + // { + // plcAddrSuffix++; + // } + // //将地址和状态添加到结果集 + // listAlarmStatus.Add(new AlarmStatus() + // { + // PLCAdress = $"{plcAddrPrefix}{plcAddrSuffix}.{plcByte.ToString()}", + // Status = strResult[i] == '1' + // }); + // //if (strResult[i] == '1') + // // Console.WriteLine($"{plcAddrPrefix}{plcAddrSuffix}.{plcByte.ToString("X")}:{strResult[i]}"); + //} + + //将地址和状态添加到结果集 + //for (int i = 0; i < byteData.Length / 2; i++) + //{ + // listAlarmStatus.Add(new AlarmStatus() + // { + // PLCAdress = $"{plcAddrPrefix}{plcAddrSuffix + i}", + // Status = ShortLib.GetShortFromByteArray(byteData, (i * 2)) == 1, + // //Status = strResult[i] == '1' + // }); + //} + #endregion + int wordCount = byteData.Length / 2; // 16位整数数量 + + for (int i = 0; i < wordCount; i++) + { + int currentAddr = plcAddrSuffix + i; + int byteOffset = i * 2; + + // 组合字节为16位整数(大端序) + ushort wordValue = (ushort)( + (byteData[byteOffset] << 8) | + byteData[byteOffset + 1] + ); + + // 跳过0值(无报警) + if (wordValue == 0) continue; + + // 计算位地址(从1开始) + int bitPosition = wordValue; + string address = $"{plcAddrPrefix}{currentAddr}.{bitPosition}"; + + // 添加到报警列表(只添加实际触发的位) + listAlarmStatus.Add(new AlarmStatus() + { + PLCAdress = address, + Status = true // 只有触发的位才会被添加 + }); + } + return listAlarmStatus; + + } + + + /// + /// 欧姆龙FINS通讯读取W数据寄存器是时将报警地址值转成报警List + /// + /// PLC地址值,如100 + /// PLC读取出来的值 + /// PLC地址类型,默认值W + /// + //public static List OmronByte2Status(int plcAddrSuffix, byte[] byteData, char plcAddrPrefix = 'W') + //{ + // var listAlarmStatus = new List(); + + // var addrCount = byteData.Length / 2; + // // byte[]每个地址保存的都是bool值,只取双数index位 + // for (int i = 0; i < addrCount; i++) + // { + // //将地址和状态添加到结果集 + // listAlarmStatus.Add(new AlarmStatus() + // { + // PLCAdress = $"{plcAddrPrefix}{plcAddrSuffix + i}", + // Status = byteData[i * 2 + 1] == 1 + + // }); + // //if (byteData[i * 2 + 1] == 1) + // // Console.WriteLine($"原始数据 PLC地址:{plcAddrPrefix}{plcAddrSuffix + i} 报警值:{byteData[i * 2 + 1]}"); + // } + + // return listAlarmStatus; + //} + + + + + /// + /// 字符串反转 + /// + /// 需要反转字符串.Reverse() + /// + public static string StrReverse(this string str) + { + return new string(str.Reverse().ToArray()); + } + + + /// + ///byte字节高低位互换 + /// + /// + /// + public static byte[] SWAPbyte(byte[] data) + { + byte[] data2 = new byte[data.Length]; + for (int i = 0; i < data.Length; i += 2) + { + data2[i] = data[i + 1]; + data2[i + 1] = data[i]; + } + return data2; + } + } +} + diff --git a/JinYuan.Helper/Properties/AssemblyInfo.cs b/JinYuan.Helper/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6d47b23 --- /dev/null +++ b/JinYuan.Helper/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.Helper")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.Helper")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("258d0ab7-2b4f-4d8f-a3cd-7a8cb4a85360")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.Helper/ScanerHook.cs b/JinYuan.Helper/ScanerHook.cs new file mode 100644 index 0000000..a7cc54c --- /dev/null +++ b/JinYuan.Helper/ScanerHook.cs @@ -0,0 +1,291 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Text; + +namespace JinYuan.Helper +{ + public class ScanerHook + { + public delegate void ScanerDelegate(ScanerCodes codes); + public event ScanerDelegate ScanerEvent; + + //private const int WM_KEYDOWN = 0x100;//KEYDOWN + //private const int WM_KEYUP = 0x101;//KEYUP + //private const int WM_SYSKEYDOWN = 0x104;//SYSKEYDOWN + //private const int WM_SYSKEYUP = 0x105;//SYSKEYUP + //private static int HookProc(int nCode, Int32 wParam, IntPtr lParam); + private int hKeyboardHook = 0;//声明键盘钩子处理的初始值 + private ScanerCodes codes = new ScanerCodes();//13为键盘钩子 + //定义成静态,这样不会抛出回收异常 + private static HookProc hookproc; + delegate int HookProc(int nCode, Int32 wParam, IntPtr lParam); + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + //设置钩子 + private static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId); + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + //卸载钩子 + private static extern bool UnhookWindowsHookEx(int idHook); + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + //继续下个钩子 + private static extern int CallNextHookEx(int idHook, int nCode, Int32 wParam, IntPtr lParam); + + [DllImport("user32", EntryPoint = "GetKeyNameText")] + private static extern int GetKeyNameText(int IParam, StringBuilder lpBuffer, int nSize); + [DllImport("user32", EntryPoint = "GetKeyboardState")] + //获取按键的状态 + private static extern int GetKeyboardState(byte[] pbKeyState); + [DllImport("user32", EntryPoint = "ToAscii")] + //ToAscii职能的转换指定的虚拟键码和键盘状态的相应字符或字符 + private static extern bool ToAscii(int VirtualKey, int ScanCode, byte[] lpKeySate, ref uint lpChar, int uFlags); + + //int VirtualKey //[in] 指定虚拟关键代码进行翻译。 + //int uScanCode, // [in] 指定的硬件扫描码的关键须翻译成英文。高阶位的这个值设定的关键,如果是(不压) + //byte[] lpbKeyState, // [in] 指针,以256字节数组,包含当前键盘的状态。每个元素(字节)的数组包含状态的一个关键。如果高阶位的字节是一套,关键是下跌(按下)。在低比特,如/果设置表明,关键是对切换。在此功能,只有肘位的CAPS LOCK键是相关的。在切换状态的NUM个锁和滚动锁定键被忽略。 + //byte[] lpwTransKey, // [out] 指针的缓冲区收到翻译字符或字符。 + //uint fuState); // [in] Specifies whether a menu is active. This parameter must be 1 if a menu is active, or 0 otherwise. + + + + [DllImport("kernel32.dll")] + //使用WINDOWS API函数代替获取当前实例的函数,防止钩子失效 + public static extern IntPtr GetModuleHandle(string name); + public ScanerHook() + { + } + public bool Start() + { + if (hKeyboardHook == 0) + { + hookproc = new HookProc(KeyboardHookProc); + //GetModuleHandle 函数 替代 Marshal.GetHINSTANCE + //防止在 framework4.0中 注册钩子不成功 + IntPtr modulePtr = GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName); + //WH_KEYBOARD_LL=13 + //全局钩子 WH_KEYBOARD_LL + // hKeyboardHook = SetWindowsHookEx(13, hookproc, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]), 0); + hKeyboardHook = SetWindowsHookEx(13, hookproc, modulePtr, 0); + } + return (hKeyboardHook != 0); + } + public bool Stop() + { + if (hKeyboardHook != 0) + { + bool retKeyboard = UnhookWindowsHookEx(hKeyboardHook); + hKeyboardHook = 0; + return retKeyboard; + + } + return true; + } + private int KeyboardHookProc(int nCode, Int32 wParam, IntPtr lParam) + { + + + EventMsg msg = (EventMsg)Marshal.PtrToStructure(lParam, typeof(EventMsg)); + codes.Add(msg); + if (ScanerEvent != null && msg.message == 13 && msg.paramH > 0 && !string.IsNullOrEmpty(codes.Result)) + { + ScanerEvent(codes); + } + return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam); + } + public class ScanerCodes + { + private int ts = 100; // 指定输入间隔为300毫秒以内时为连续输入 + private List> _keys = new List>(); + private List _keydown = new List(); // 保存组合键状态 + private List _result = new List(); // 返回结果集 + private DateTime _last = DateTime.Now; + private byte[] _state = new byte[256]; + private string _key = string.Empty; + private string _cur = string.Empty; + public EventMsg Event + { + get + { + if (_keys.Count == 0) + { + return new EventMsg(); + } + else + { + return _keys[_keys.Count - 1][_keys[_keys.Count - 1].Count - 1]; + } + } + } + public List KeyDowns + { + get + { + return _keydown; + } + } + public DateTime LastInput + { + get + { + return _last; + } + } + public byte[] KeyboardState + { + get + { + return _state; + } + } + public int KeyDownCount + { + get + { + return _keydown.Count; + } + } + public string Result + { + get + { + if (_result.Count > 0) + { + return _result[_result.Count - 1].Trim(); + } + else + { + return null; + } + } + } + public string CurrentKey + { + get + { + return _key; + } + } + public string CurrentChar + { + get + { + return _cur; + } + } + public bool isShift + { + get + { + return _keydown.Contains(160); + } + } + public void Add(EventMsg msg) + { + #region 记录按键信息 + + // 首次按下按键 + if (_keys.Count == 0) + { + _keys.Add(new List()); + _keys[0].Add(msg); + _result.Add(string.Empty); + } + // 未释放其他按键时按下按键 + else if (_keydown.Count > 0) + { + _keys[_keys.Count - 1].Add(msg); + } + // 单位时间内按下按键 + else if (((TimeSpan)(DateTime.Now - _last)).TotalMilliseconds < ts) + { + _keys[_keys.Count - 1].Add(msg); + } + // 从新记录输入内容 + else + { + _keys.Add(new List()); + _keys[_keys.Count - 1].Add(msg); + _result.Add(string.Empty); + } + #endregion + _last = DateTime.Now; + #region 获取键盘状态 + // 记录正在按下的按键 + if (msg.paramH == 0 && !_keydown.Contains(msg.message)) + { + _keydown.Add(msg.message); + } + // 清除已松开的按键 + if (msg.paramH > 0 && _keydown.Contains(msg.message)) + { + _keydown.Remove(msg.message); + } + #endregion + #region 计算按键信息 + + int v = msg.message & 0xff; + int c = msg.paramL & 0xff; + StringBuilder strKeyName = new StringBuilder(500); + if (GetKeyNameText(c * 65536, strKeyName, 255) > 0) + { + _key = strKeyName.ToString().Trim(new char[] { ' ', '\0' }); + GetKeyboardState(_state); + if (_key.Length == 1 && msg.paramH == 0)// && msg.paramH == 0 + { + // 根据键盘状态和shift缓存判断输出字符 + _cur = ShiftChar(_key, isShift, _state).ToString(); + _result[_result.Count - 1] += _cur; + } + // 备选 + else + { + _cur = string.Empty; + } + } + #endregion + } + private char ShiftChar(string k, bool isShiftDown, byte[] state) + { + bool capslock = state[0x14] == 1; + bool numlock = state[0x90] == 1; + bool scrolllock = state[0x91] == 1; + bool shiftdown = state[0xa0] == 1; + char chr = (capslock ? k.ToUpper() : k.ToLower()).ToCharArray()[0]; + if (isShiftDown) + { + if (chr >= 'a' && chr <= 'z') + { + chr = (char)((int)chr - 32); + } + else if (chr >= 'A' && chr <= 'Z') + { + if (chr == 'Z') + { + string s = ""; + } + chr = (char)((int)chr + 32); + } + else + { + string s = "`1234567890-=[];',./"; + string u = "~!@#$%^&*()_+{}:\"<>?"; + if (s.IndexOf(chr) >= 0) + { + return (u.ToCharArray())[s.IndexOf(chr)]; + } + } + } + return chr; + } + } + + public struct EventMsg + { + public int message; + public int paramL; + public int paramH; + public int Time; + public int hwnd; + } + } +} diff --git a/JinYuan.Helper/SendDateMQTT.cs b/JinYuan.Helper/SendDateMQTT.cs new file mode 100644 index 0000000..0e0ec41 --- /dev/null +++ b/JinYuan.Helper/SendDateMQTT.cs @@ -0,0 +1,856 @@ +using JinYuan.Models; +using Newtonsoft.Json; +using PLCCommunication.MQTT; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading; + + +namespace JinYuan.Helper +{ + public class MqttService : IDisposable + { + private readonly MqttClient _mqttClient; + private readonly object _syncLock = new object(); + private readonly MqttConfig _config; + public class MqttConfig + { + public string ServerAddress { get; set; } = "10.22.161.1"; + public int ServerPort { get; set; } = 2883; + public string ClientId { get; set; } = "601PWM01"; + //进出站主题 + public string TopicInOut { get; set; } = "EVE/60J/TrackInOut/601PWM01"; + //预测性维护数据主题 + public string TopicForecast { get; set; } = "EVE/60J/EQP/601PWM01"; + // 其他配置项... + } + + public MqttService(MqttConfig config) + { + _config = config; + _mqttClient = new MqttClient(new MqttConnectionOptions + { + ClientId = _config.ClientId, + IpAddress = _config.ServerAddress, + Port = _config.ServerPort, + Credentials = new MqttCredential("", "") // 无用户名密码 + }); + InitializeConnection(); + StartHeartbeat();//心跳检测 + } + + #region 长连接 + /// + /// 初始化长连接 + /// + private void InitializeConnection() + { + lock (_syncLock) + { + if (_mqttClient.IsConnected) return; + var result = _mqttClient.ConnectServer(); + if (result.IsSuccess) + { + Logger.WriteMqtt("MQTT 长连接建立成功"); + // 订阅需要的主题 + SubscribeTopics(); + } + else + { + Logger.WriteMqtt($"MQTT 长连接建立失败: {result.Message}"); + } + } + } + /// + /// 订阅主题 + /// + private void SubscribeTopics() + { + //_mqttClient.OnMqttMessageReceived += MqttMessageReceived; + + var topics = new[] { _config.TopicInOut, _config.TopicForecast }; + foreach (var topic in topics) + { + var result = _mqttClient.SubscribeMessage(topic); + if (result.IsSuccess) + { + Logger.WriteMqtt($"订阅主题成功: {topic}"); + } + else + { + Logger.WriteMqtt($"订阅主题失败: {topic}, 错误: {result.Message}"); + } + } + } + + /// + /// 消息接收处理 + /// + /// + /// + private void MqttMessageReceived(MqttClient client, MqttApplicationMessage message) + { + Logger.WriteMqtt($"收到消息: 主题[{message.Topic}], 内容[{Encoding.UTF8.GetString(message.Payload)}]"); + } + #endregion + + #region 发送消息 + /// + /// 发送进出站消息 + /// + /// + public void SendInOutMessage(string action) + { + try + { + lock (_syncLock) + { + if (!_mqttClient.IsConnected) + Reconnect(); + + var message = BuildInOutMessage(action); + var result = _mqttClient.PublishMessage(new MqttApplicationMessage + { + Topic = _config.TopicInOut, + Payload = Encoding.UTF8.GetBytes(message), + QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce, + Retain = false + }); + + if (result.IsSuccess) + { + Logger.WriteMqtt($"进出站消息发送成功 主题:{_config.TopicInOut}: {message}"); + } + else + { + Logger.WriteError($"进出站消息发送失败: {result.Message}"); + } + } + } + catch (Exception ex) + { + Logger.WriteError($"发送进出站消息异常: {ex.Message}", ex); + } + } + + /// + /// 发送预测数据 + /// + /// + public void SendForecastMessage(Predictability_BM data) + { + try + { + lock (_syncLock) + { + if (!_mqttClient.IsConnected) + { + Reconnect(); + } + + var message = BuildForecastMessage(data); + var result = _mqttClient.PublishMessage(new MqttApplicationMessage + { + Topic = _config.TopicForecast, + Payload = Encoding.UTF8.GetBytes(message), + QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce, + Retain = false + }); + + if (result.IsSuccess) + { + Logger.WriteInfo($"预测数据发送成功 主题:{_config.TopicForecast}: {message}"); + } + else + { + Logger.WriteError($"预测数据发送失败: {result.Message}"); + } + } + } + catch (Exception ex) + { + Logger.WriteError($"发送预测数据异常: {ex.Message}", ex); + } + } + + + #endregion + + #region 构建消息 + /// + /// 构建进出站消息 + /// + /// + /// + private string BuildInOutMessage(string action) + { + try + { + var message = new EnterandExit + { + bu_id = "EVE8BU", + district_id = "JM", + factory_id = "60J", + production_line_id = "601L", + work_center_id = "601PWE01", + device_name = "601PWM01", + action = action, + action_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + }; + + return JsonConvert.SerializeObject(message, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + Formatting = Formatting.None + }); + } + catch (Exception ex) + { + Logger.WriteError($"构建进出站消息失败: {ex.Message}", ex); + return string.Empty; + } + } + + /// + /// 构建预测数据消息 + /// + /// + /// + public string BuildForecastMessage(Predictability_BM predictability) + { + try + { + CollectionUpload collectionUpload = new CollectionUpload() + { + bu_id = "EVE8BU", + district_id = "JM", + factory_id = "60J", + production_line_id = "601L", + production_processes_id = "", + work_center_id = "601PWE01", + station_id = "", + device_name = "601PWM01", + taglist = new List + { + new Collection + { + device_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + collection_items = new Dictionary + { + //扭矩 + {"Coating1_Torque1", predictability.Coating1_Torque1}, + {"Coating1_Torque2", predictability.Coating1_Torque2}, + {"Coating1_Torque3", predictability.Coating1_Torque3}, + {"Coating1_Torque4", predictability.Coating1_Torque4}, + {"Coating1_Torque5", predictability.Coating1_Torque5}, + {"Coating1_Torque6", predictability.Coating1_Torque6}, + {"Coating1_Torque7", predictability.Coating1_Torque7}, + {"Coating1_Torque8", predictability.Coating1_Torque8}, + {"Coating2_Torque1", predictability.Coating2_Torque1}, + {"Coating2_Torque2", predictability.Coating2_Torque2}, + {"Coating2_Torque3", predictability.Coating2_Torque3}, + {"Coating2_Torque4", predictability.Coating2_Torque4}, + {"Coating2_Torque5", predictability.Coating2_Torque5}, + {"Coating2_Torque6", predictability.Coating2_Torque6}, + {"Coating2_Torque7", predictability.Coating2_Torque7}, + {"Coating2_Torque8", predictability.Coating2_Torque8}, + {"Folding1_Torque1", predictability.Folding1_Torque1}, + {"Folding1_Torque2", predictability.Folding1_Torque2}, + {"Folding1_Torque3", predictability.Folding1_Torque3}, + {"Folding2_Torque1", predictability.Folding2_Torque1}, + {"Folding2_Torque2", predictability.Folding2_Torque2}, + {"Folding2_Torque3", predictability.Folding2_Torque3}, + //轴速度 + {"Coating1_AxisSpeed1", predictability.Coating1_AxisSpeed1}, + {"Coating1_AxisSpeed2", predictability.Coating1_AxisSpeed2}, + {"Coating1_AxisSpeed3", predictability.Coating1_AxisSpeed3}, + {"Coating1_AxisSpeed4", predictability.Coating1_AxisSpeed4}, + {"Coating1_AxisSpeed5", predictability.Coating1_AxisSpeed5}, + {"Coating1_AxisSpeed6", predictability.Coating1_AxisSpeed6}, + {"Coating1_AxisSpeed7", predictability.Coating1_AxisSpeed7}, + {"Coating1_AxisSpeed8", predictability.Coating1_AxisSpeed8}, + {"Coating2_AxisSpeed1", predictability.Coating2_AxisSpeed1}, + {"Coating2_AxisSpeed2", predictability.Coating2_AxisSpeed2}, + {"Coating2_AxisSpeed3", predictability.Coating2_AxisSpeed3}, + {"Coating2_AxisSpeed4", predictability.Coating2_AxisSpeed4}, + {"Coating2_AxisSpeed5", predictability.Coating2_AxisSpeed5}, + {"Coating2_AxisSpeed6", predictability.Coating2_AxisSpeed6}, + {"Coating2_AxisSpeed7", predictability.Coating2_AxisSpeed7}, + {"Coating2_AxisSpeed8", predictability.Coating2_AxisSpeed8}, + {"Folding1_AxisSpeed1", predictability.Folding1_AxisSpeed1}, + {"Folding1_AxisSpeed2", predictability.Folding1_AxisSpeed2}, + {"Folding1_AxisSpeed3", predictability.Folding1_AxisSpeed3}, + {"Folding2_AxisSpeed1", predictability.Folding2_AxisSpeed1}, + {"Folding2_AxisSpeed2", predictability.Folding2_AxisSpeed2}, + {"Folding2_AxisSpeed3", predictability.Folding2_AxisSpeed3}, + //轴位置 + {"Coating1_AxisPosition1", predictability.Coating1_AxisPosition1}, + {"Coating1_AxisPosition2", predictability.Coating1_AxisPosition2}, + {"Coating1_AxisPosition3", predictability.Coating1_AxisPosition3}, + {"Coating1_AxisPosition4", predictability.Coating1_AxisPosition4}, + {"Coating1_AxisPosition5", predictability.Coating1_AxisPosition5}, + {"Coating1_AxisPosition6", predictability.Coating1_AxisPosition6}, + {"Coating1_AxisPosition7", predictability.Coating1_AxisPosition7}, + {"Coating1_AxisPosition8", predictability.Coating1_AxisPosition8}, + {"Coating2_AxisPosition1", predictability.Coating2_AxisPosition1}, + {"Coating2_AxisPosition2", predictability.Coating2_AxisPosition2}, + {"Coating2_AxisPosition3", predictability.Coating2_AxisPosition3}, + {"Coating2_AxisPosition4", predictability.Coating2_AxisPosition4}, + {"Coating2_AxisPosition5", predictability.Coating2_AxisPosition5}, + {"Coating2_AxisPosition6", predictability.Coating2_AxisPosition6}, + {"Coating2_AxisPosition7", predictability.Coating2_AxisPosition7}, + {"Coating2_AxisPosition8", predictability.Coating2_AxisPosition8}, + {"Folding1_AxisPosition1", predictability.Folding1_AxisPosition1}, + {"Folding1_AxisPosition2", predictability.Folding1_AxisPosition2}, + {"Folding1_AxisPosition3", predictability.Folding1_AxisPosition3}, + {"Folding2_AxisPosition1", predictability.Folding2_AxisPosition1}, + {"Folding2_AxisPosition2", predictability.Folding2_AxisPosition2}, + {"Folding2_AxisPosition3", predictability.Folding2_AxisPosition3}, + //行程时间 + {"Coating1_Cylinder_TravelTime1", predictability.Coating1_Cylinder_TravelTime1}, + {"Coating1_Cylinder_TravelTime2", predictability.Coating1_Cylinder_TravelTime2}, + {"Coating1_Cylinder_TravelTime3", predictability.Coating1_Cylinder_TravelTime3}, + {"Coating1_Cylinder_TravelTime4", predictability.Coating1_Cylinder_TravelTime4}, + {"Coating1_Cylinder_TravelTime5", predictability.Coating1_Cylinder_TravelTime5}, + {"Coating1_Cylinder_TravelTime6", predictability.Coating1_Cylinder_TravelTime6}, + {"Coating1_Cylinder_TravelTime7", predictability.Coating1_Cylinder_TravelTime7}, + {"Coating1_Cylinder_TravelTime8", predictability.Coating1_Cylinder_TravelTime8}, + {"Coating1_Cylinder_TravelTime9", predictability.Coating1_Cylinder_TravelTime9}, + {"Coating1_Cylinder_TravelTime10", predictability.Coating1_Cylinder_TravelTime10}, + {"Coating1_Cylinder_TravelTime11", predictability.Coating1_Cylinder_TravelTime11}, + {"Coating1_Cylinder_TravelTime12", predictability.Coating1_Cylinder_TravelTime12}, + {"Coating1_Cylinder_TravelTime13", predictability.Coating1_Cylinder_TravelTime13}, + {"Coating1_Cylinder_TravelTime14", predictability.Coating1_Cylinder_TravelTime14}, + {"Coating2_Cylinder_TravelTime1", predictability.Coating2_Cylinder_TravelTime1}, + {"Coating2_Cylinder_TravelTime2", predictability.Coating2_Cylinder_TravelTime2}, + {"Coating2_Cylinder_TravelTime3", predictability.Coating2_Cylinder_TravelTime3}, + {"Coating2_Cylinder_TravelTime4", predictability.Coating2_Cylinder_TravelTime4}, + {"Coating2_Cylinder_TravelTime5", predictability.Coating2_Cylinder_TravelTime5}, + {"Coating2_Cylinder_TravelTime6", predictability.Coating2_Cylinder_TravelTime6}, + {"Coating2_Cylinder_TravelTime7", predictability.Coating2_Cylinder_TravelTime7}, + {"Coating2_Cylinder_TravelTime8", predictability.Coating2_Cylinder_TravelTime8}, + {"Coating2_Cylinder_TravelTime9", predictability.Coating2_Cylinder_TravelTime9}, + {"Coating2_Cylinder_TravelTime10", predictability.Coating2_Cylinder_TravelTime10}, + {"Coating2_Cylinder_TravelTime11", predictability.Coating2_Cylinder_TravelTime11}, + {"Coating2_Cylinder_TravelTime12", predictability.Coating2_Cylinder_TravelTime12}, + {"Coating2_Cylinder_TravelTime13", predictability.Coating2_Cylinder_TravelTime13}, + {"Coating2_Cylinder_TravelTime14", predictability.Coating2_Cylinder_TravelTime14}, + {"CornerCutting1_Cylinder_TravelTime1", predictability.CornerCutting1_Cylinder_TravelTime1}, + {"CornerCutting1_Cylinder_TravelTime2", predictability.CornerCutting1_Cylinder_TravelTime2}, + {"CornerCutting1_Cylinder_TravelTime3", predictability.CornerCutting1_Cylinder_TravelTime3}, + {"CornerCutting1_Cylinder_TravelTime4", predictability.CornerCutting1_Cylinder_TravelTime4}, + {"CornerCutting1_Cylinder_TravelTime5", predictability.CornerCutting1_Cylinder_TravelTime5}, + {"CornerCutting1_Cylinder_TravelTime6", predictability.CornerCutting1_Cylinder_TravelTime6}, + {"CornerCutting1_Cylinder_TravelTime7", predictability.CornerCutting1_Cylinder_TravelTime7}, + {"CornerCutting1_Cylinder_TravelTime8", predictability.CornerCutting1_Cylinder_TravelTime8}, + {"CornerCutting2_Cylinder_TravelTime1", predictability.CornerCutting2_Cylinder_TravelTime1}, + {"CornerCutting2_Cylinder_TravelTime2", predictability.CornerCutting2_Cylinder_TravelTime2}, + {"CornerCutting2_Cylinder_TravelTime3", predictability.CornerCutting2_Cylinder_TravelTime3}, + {"CornerCutting2_Cylinder_TravelTime4", predictability.CornerCutting2_Cylinder_TravelTime4}, + {"CornerCutting2_Cylinder_TravelTime5", predictability.CornerCutting2_Cylinder_TravelTime5}, + {"CornerCutting2_Cylinder_TravelTime6", predictability.CornerCutting2_Cylinder_TravelTime6}, + {"CornerCutting2_Cylinder_TravelTime7", predictability.CornerCutting2_Cylinder_TravelTime7}, + {"CornerCutting2_Cylinder_TravelTime8", predictability.CornerCutting2_Cylinder_TravelTime8}, + } + } + } + }; + // 根据实际数据结构调整 + return JsonConvert.SerializeObject(collectionUpload, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + Formatting = Formatting.None + }); + } + catch (Exception ex) + { + Logger.WriteError($"构建预测数据消息失败: {ex.Message}", ex); + return string.Empty; + } + } + #endregion + + /// + /// 重新连接 + /// + private void Reconnect() + { + try + { + _mqttClient.ConnectClose(); + InitializeConnection(); + } + catch (Exception ex) + { + Logger.WriteError($"MQTT重连失败: {ex.Message}", ex); + } + } + #region 资源释放跟心跳检测 + private Timer _heartbeatTimer; + private bool _disposed = false; + + + // 心跳检测 + private void StartHeartbeat() + { + _heartbeatTimer = new Timer(state => + { + try + { + if (!_mqttClient.IsConnected) + { + Logger.WriteMqtt("检测到MQTT连接断开,尝试重连..."); + Reconnect(); + } + } + catch (Exception ex) + { + Logger.WriteError($"心跳检测异常: {ex.Message}", ex); + } + }, null, TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1)); // 每分钟检查一次 + } + + protected virtual void Dispose(bool disposing) + { + if (_disposed) return; + + if (disposing) + { + _heartbeatTimer?.Dispose(); + _mqttClient?.ConnectClose(); + _mqttClient?.Dispose(); + } + + _disposed = true; + } + + ~MqttService() + { + Dispose(false); + } + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + #endregion + } + /*public class SendDateMQTT + { + HslCommunication.MQTT.MqttClient mqttClientIN = null; + HslCommunication.MQTT.MqttClient mqttClientOUT = null; + HslCommunication.MQTT.MqttClient mqttClientForecast = null; + private static readonly object ObjectIN = new object(); + private static readonly object ObjectOUT = new object(); + private static readonly object ObjectForecast = new object(); + //10.22.160.144 + public string MQTTServerAddress = "10.22.161.1";//"10.22.161.1"; + public int MQTTServerPort = 2883;//2883 + public string ClientId = "601PWM01"; + + /// 进出站主题 + public string Topic = "EVE/60J/TrackInOut/601PWM01"; + /// CTPCTQ主题 + public string Topic1 = "EVE/60J/CTPCTQ/601PWM01"; + // 预测性维护数据主题 + public string Topic2 = "EVE/60J/EQP/601PWM01"; + + /// BU编码 + public string BU_id = "EVE8BU"; + /// 区域简称 + public string District_id = "JM"; + /// 工厂编码 + public string Factory_id = "60J"; + /// 工序编码 + public string Production_line_id = "601L"; + /// 工作中心编码 + public string Work_center_id = "601PWE01"; + /// 设备编码 + public string Device_name = "601PWM01"; + + /// + /// 发送Mqtt进站数据 + /// + /// + /// + /// + /// + public void EnterandExitSendMessgeIN() + { + try + { + + lock (ObjectIN) + { + if (mqttClientIN != null) { mqttClientIN.ConnectClose(); } + Connect(mqttClientIN, MQTTServerAddress, MQTTServerPort, "", ""); + SubscribeMessage(mqttClientIN, Topic); + PublishMessage(mqttClientIN, Topic, EnterandExitMessge("0")); + } + + + + } + catch (Exception ex) + { + Logger.WriteError($"发送进出站数据错误,{ex.Message}", ex); + //CommonMethods.AddLog(true, $"发送进出站数据错误,{ex.Message}"); + } + } + /// + /// 发送Mqtt出站数据 + /// + /// + /// + /// + /// + public void EnterandExitSendMessgeOUT() + { + try + { + + lock (ObjectOUT) + { + if (mqttClientOUT != null) { mqttClientOUT.ConnectClose(); } + Connect(mqttClientOUT, MQTTServerAddress, MQTTServerPort, "", ""); + SubscribeMessage(mqttClientOUT, Topic); + PublishMessage(mqttClientOUT, Topic, EnterandExitMessge("1")); + } + } + catch (Exception ex) + { + Logger.WriteError($"发送进出站数据错误,{ex.Message}", ex); + //CommonMethods.AddLog(true, $"发送进出站数据错误,{ex.Message}"); + } + } + /// + /// 发送采集项数据 + /// + /// + /// + /// + /// + public void CollectionSendMessgeForecast(Predictability_BM predictability) + { + try + { + + lock (ObjectForecast) + { + if (mqttClientForecast != null) { mqttClientForecast.ConnectClose(); } + Connect(mqttClientForecast, MQTTServerAddress, MQTTServerPort, "", ""); + SubscribeMessage(mqttClientForecast, Topic2); + PublishMessage(mqttClientForecast, Topic2, CollectionMessge(predictability)); + } + } + catch (Exception ex) + { + Logger.WriteError($"发送采集项数据错误,{ex.Message}", ex); + //CommonMethods.AddLog(false, $"发送采集项数据错误,{ex.Message}"); + } + } + + /// + /// 连接 + /// + /// + /// + /// + /// + /// + public void Connect(MqttClient mqttClient, string ip, int port, string name, string pwd, string clientId = "ClientId") + { + try + { + if (mqttClient != null) mqttClient.ConnectClose(); + + mqttClient = new MqttClient(new MqttConnectionOptions() + { + ClientId = clientId, + IpAddress = ip, + Port = port, + Credentials = new MqttCredential(name, pwd), // 设置了用户名和密码 + }); + + OperateResult connect = mqttClient.ConnectServer(); + if (connect.IsSuccess) + { + Logger.WriteMqtt("MQTT 连接服务器成功"); + } + else + { + Logger.WriteMqtt("MQTT 无法连接到服务器"); + } + + } + catch (Exception ex) + { + Logger.WriteError($"MQTT 无法连接到服务器: {ex.Message}"); + } + + + } + + /// + /// 发布信息 + /// + /// + public void PublishMessage(MqttClient mqttClient, string topic, string Message) + { + try + { + + OperateResult result = mqttClient.PublishMessage(new MqttApplicationMessage() + { + Topic = topic, // 主题 + QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce, // 消息等级 + Payload = Encoding.UTF8.GetBytes(Message), // 数据 + Retain = false, // 是否保留 + }); + if (result.IsSuccess) + { + Logger.WriteMqtt($"发送消息到主题 [{topic}]: {Message}"); + } + else + { + Logger.WriteMqtt($"发送消息到主题 [{topic}] 失败: {result.Message}"); + } + + } + catch (Exception ex) + { + Logger.WriteError($"MQTT 无法连接到服务器: {ex.Message}"); + } + } + + /// + /// 订阅主题 + /// + /// + public void SubscribeMessage(MqttClient mqttClient, string Topic) + { + try + { + + mqttClient.OnMqttMessageReceived += MqttClient_OnMqttMessageReceived; // 调用一次即可 + OperateResult Result = mqttClient.SubscribeMessage(Topic); // 订阅A的主题 + if (Result.IsSuccess) + { + Logger.WriteMqtt($"订阅成功[{Topic}]"); + } + else + { + Logger.WriteMqtt($"订阅失败[{Topic}]"); + } + + } + catch (Exception ex) + { + Logger.WriteError($"订阅失败[{ex.Message}]"); + } + } + + private static void MqttClient_OnMqttMessageReceived(MqttClient client, MqttApplicationMessage message) + { + Logger.WriteMqtt($"收到服务器信息[{message.ToString()}]"); + } + + /// + /// 拼接进出站json + /// + /// + /// + public string EnterandExitMessge(string action) + { + string messgeJson = string.Empty; + try + { + EnterandExit enterandExit = new EnterandExit() + { + bu_id = BU_id, + district_id = District_id, + factory_id = Factory_id, + production_line_id = Production_line_id, + production_processes_id = "", + work_center_id = Work_center_id, + station_id = "", + device_name = Device_name, + action = action, + action_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + + }; + var messageJson = JsonConvert.SerializeObject(enterandExit, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + Formatting = Formatting.None + }); + messgeJson = messageJson; + } + catch (Exception ex) + { + Logger.WriteError($"方法:上传MQTTServer数据,上传失败: {ex.Message}", ex); + } + return messgeJson; + } + + /// + /// 拼接采集项数据 + /// + /// + /// + public string CollectionMessge(Predictability_BM predictability) + { + string messgejson = string.Empty; + try + { + CollectionUpload collectionUpload = new CollectionUpload() + { + bu_id = BU_id, + district_id = District_id, + factory_id = Factory_id, + production_line_id = Production_line_id, + production_processes_id = "", + work_center_id = Work_center_id, + station_id = "", + device_name = Device_name, + taglist = new List + { + new Collection + { + device_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + collection_items = new Dictionary + { + //扭矩 + {"Coating1_Torque1", predictability.Coating1_Torque1}, + {"Coating1_Torque2", predictability.Coating1_Torque2}, + {"Coating1_Torque3", predictability.Coating1_Torque3}, + {"Coating1_Torque4", predictability.Coating1_Torque4}, + {"Coating1_Torque5", predictability.Coating1_Torque5}, + {"Coating1_Torque6", predictability.Coating1_Torque6}, + {"Coating1_Torque7", predictability.Coating1_Torque7}, + {"Coating1_Torque8", predictability.Coating1_Torque8}, + {"Coating2_Torque1", predictability.Coating2_Torque1}, + {"Coating2_Torque2", predictability.Coating2_Torque2}, + {"Coating2_Torque3", predictability.Coating2_Torque3}, + {"Coating2_Torque4", predictability.Coating2_Torque4}, + {"Coating2_Torque5", predictability.Coating2_Torque5}, + {"Coating2_Torque6", predictability.Coating2_Torque6}, + {"Coating2_Torque7", predictability.Coating2_Torque7}, + {"Coating2_Torque8", predictability.Coating2_Torque8}, + {"Folding1_Torque1", predictability.Folding1_Torque1}, + {"Folding1_Torque2", predictability.Folding1_Torque2}, + {"Folding1_Torque3", predictability.Folding1_Torque3}, + {"Folding2_Torque1", predictability.Folding2_Torque1}, + {"Folding2_Torque2", predictability.Folding2_Torque2}, + {"Folding2_Torque3", predictability.Folding2_Torque3}, + //轴速度 + {"Coating1_AxisSpeed1", predictability.Coating1_AxisSpeed1}, + {"Coating1_AxisSpeed2", predictability.Coating1_AxisSpeed2}, + {"Coating1_AxisSpeed3", predictability.Coating1_AxisSpeed3}, + {"Coating1_AxisSpeed4", predictability.Coating1_AxisSpeed4}, + {"Coating1_AxisSpeed5", predictability.Coating1_AxisSpeed5}, + {"Coating1_AxisSpeed6", predictability.Coating1_AxisSpeed6}, + {"Coating1_AxisSpeed7", predictability.Coating1_AxisSpeed7}, + {"Coating1_AxisSpeed8", predictability.Coating1_AxisSpeed8}, + {"Coating2_AxisSpeed1", predictability.Coating2_AxisSpeed1}, + {"Coating2_AxisSpeed2", predictability.Coating2_AxisSpeed2}, + {"Coating2_AxisSpeed3", predictability.Coating2_AxisSpeed3}, + {"Coating2_AxisSpeed4", predictability.Coating2_AxisSpeed4}, + {"Coating2_AxisSpeed5", predictability.Coating2_AxisSpeed5}, + {"Coating2_AxisSpeed6", predictability.Coating2_AxisSpeed6}, + {"Coating2_AxisSpeed7", predictability.Coating2_AxisSpeed7}, + {"Coating2_AxisSpeed8", predictability.Coating2_AxisSpeed8}, + {"Folding1_AxisSpeed1", predictability.Folding1_AxisSpeed1}, + {"Folding1_AxisSpeed2", predictability.Folding1_AxisSpeed2}, + {"Folding1_AxisSpeed3", predictability.Folding1_AxisSpeed3}, + {"Folding2_AxisSpeed1", predictability.Folding2_AxisSpeed1}, + {"Folding2_AxisSpeed2", predictability.Folding2_AxisSpeed2}, + {"Folding2_AxisSpeed3", predictability.Folding2_AxisSpeed3}, + //轴位置 + {"Coating1_AxisPosition1", predictability.Coating1_AxisPosition1}, + {"Coating1_AxisPosition2", predictability.Coating1_AxisPosition2}, + {"Coating1_AxisPosition3", predictability.Coating1_AxisPosition3}, + {"Coating1_AxisPosition4", predictability.Coating1_AxisPosition4}, + {"Coating1_AxisPosition5", predictability.Coating1_AxisPosition5}, + {"Coating1_AxisPosition6", predictability.Coating1_AxisPosition6}, + {"Coating1_AxisPosition7", predictability.Coating1_AxisPosition7}, + {"Coating1_AxisPosition8", predictability.Coating1_AxisPosition8}, + {"Coating2_AxisPosition1", predictability.Coating2_AxisPosition1}, + {"Coating2_AxisPosition2", predictability.Coating2_AxisPosition2}, + {"Coating2_AxisPosition3", predictability.Coating2_AxisPosition3}, + {"Coating2_AxisPosition4", predictability.Coating2_AxisPosition4}, + {"Coating2_AxisPosition5", predictability.Coating2_AxisPosition5}, + {"Coating2_AxisPosition6", predictability.Coating2_AxisPosition6}, + {"Coating2_AxisPosition7", predictability.Coating2_AxisPosition7}, + {"Coating2_AxisPosition8", predictability.Coating2_AxisPosition8}, + {"Folding1_AxisPosition1", predictability.Folding1_AxisPosition1}, + {"Folding1_AxisPosition2", predictability.Folding1_AxisPosition2}, + {"Folding1_AxisPosition3", predictability.Folding1_AxisPosition3}, + {"Folding2_AxisPosition1", predictability.Folding2_AxisPosition1}, + {"Folding2_AxisPosition2", predictability.Folding2_AxisPosition2}, + {"Folding2_AxisPosition3", predictability.Folding2_AxisPosition3}, + //行程时间 + {"Coating1_Cylinder_TravelTime1", predictability.Coating1_Cylinder_TravelTime1}, + {"Coating1_Cylinder_TravelTime2", predictability.Coating1_Cylinder_TravelTime2}, + {"Coating1_Cylinder_TravelTime3", predictability.Coating1_Cylinder_TravelTime3}, + {"Coating1_Cylinder_TravelTime4", predictability.Coating1_Cylinder_TravelTime4}, + {"Coating1_Cylinder_TravelTime5", predictability.Coating1_Cylinder_TravelTime5}, + {"Coating1_Cylinder_TravelTime6", predictability.Coating1_Cylinder_TravelTime6}, + {"Coating1_Cylinder_TravelTime7", predictability.Coating1_Cylinder_TravelTime7}, + {"Coating1_Cylinder_TravelTime8", predictability.Coating1_Cylinder_TravelTime8}, + {"Coating1_Cylinder_TravelTime9", predictability.Coating1_Cylinder_TravelTime9}, + {"Coating1_Cylinder_TravelTime10", predictability.Coating1_Cylinder_TravelTime10}, + {"Coating1_Cylinder_TravelTime11", predictability.Coating1_Cylinder_TravelTime11}, + {"Coating1_Cylinder_TravelTime12", predictability.Coating1_Cylinder_TravelTime12}, + {"Coating1_Cylinder_TravelTime13", predictability.Coating1_Cylinder_TravelTime13}, + {"Coating1_Cylinder_TravelTime14", predictability.Coating1_Cylinder_TravelTime14}, + {"Coating2_Cylinder_TravelTime1", predictability.Coating2_Cylinder_TravelTime1}, + {"Coating2_Cylinder_TravelTime2", predictability.Coating2_Cylinder_TravelTime2}, + {"Coating2_Cylinder_TravelTime3", predictability.Coating2_Cylinder_TravelTime3}, + {"Coating2_Cylinder_TravelTime4", predictability.Coating2_Cylinder_TravelTime4}, + {"Coating2_Cylinder_TravelTime5", predictability.Coating2_Cylinder_TravelTime5}, + {"Coating2_Cylinder_TravelTime6", predictability.Coating2_Cylinder_TravelTime6}, + {"Coating2_Cylinder_TravelTime7", predictability.Coating2_Cylinder_TravelTime7}, + {"Coating2_Cylinder_TravelTime8", predictability.Coating2_Cylinder_TravelTime8}, + {"Coating2_Cylinder_TravelTime9", predictability.Coating2_Cylinder_TravelTime9}, + {"Coating2_Cylinder_TravelTime10", predictability.Coating2_Cylinder_TravelTime10}, + {"Coating2_Cylinder_TravelTime11", predictability.Coating2_Cylinder_TravelTime11}, + {"Coating2_Cylinder_TravelTime12", predictability.Coating2_Cylinder_TravelTime12}, + {"Coating2_Cylinder_TravelTime13", predictability.Coating2_Cylinder_TravelTime13}, + {"Coating2_Cylinder_TravelTime14", predictability.Coating2_Cylinder_TravelTime14}, + {"CornerCutting1_Cylinder_TravelTime1", predictability.CornerCutting1_Cylinder_TravelTime1}, + {"CornerCutting1_Cylinder_TravelTime2", predictability.CornerCutting1_Cylinder_TravelTime2}, + {"CornerCutting1_Cylinder_TravelTime3", predictability.CornerCutting1_Cylinder_TravelTime3}, + {"CornerCutting1_Cylinder_TravelTime4", predictability.CornerCutting1_Cylinder_TravelTime4}, + {"CornerCutting1_Cylinder_TravelTime5", predictability.CornerCutting1_Cylinder_TravelTime5}, + {"CornerCutting1_Cylinder_TravelTime6", predictability.CornerCutting1_Cylinder_TravelTime6}, + {"CornerCutting1_Cylinder_TravelTime7", predictability.CornerCutting1_Cylinder_TravelTime7}, + {"CornerCutting1_Cylinder_TravelTime8", predictability.CornerCutting1_Cylinder_TravelTime8}, + {"CornerCutting2_Cylinder_TravelTime1", predictability.CornerCutting2_Cylinder_TravelTime1}, + {"CornerCutting2_Cylinder_TravelTime2", predictability.CornerCutting2_Cylinder_TravelTime2}, + {"CornerCutting2_Cylinder_TravelTime3", predictability.CornerCutting2_Cylinder_TravelTime3}, + {"CornerCutting2_Cylinder_TravelTime4", predictability.CornerCutting2_Cylinder_TravelTime4}, + {"CornerCutting2_Cylinder_TravelTime5", predictability.CornerCutting2_Cylinder_TravelTime5}, + {"CornerCutting2_Cylinder_TravelTime6", predictability.CornerCutting2_Cylinder_TravelTime6}, + {"CornerCutting2_Cylinder_TravelTime7", predictability.CornerCutting2_Cylinder_TravelTime7}, + {"CornerCutting2_Cylinder_TravelTime8", predictability.CornerCutting2_Cylinder_TravelTime8}, + } + } + } + }; + var messageJson = JsonConvert.SerializeObject(collectionUpload, new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + Formatting = Formatting.None + }); + messgejson = messageJson; + } + catch (Exception ex) + { + Logger.WriteError($"生成Json数据失败: {ex.Message}", ex); + } + return messgejson; + } + }*/ +} diff --git a/JinYuan.Helper/StreamIOHelper.cs b/JinYuan.Helper/StreamIOHelper.cs new file mode 100644 index 0000000..a6a4df8 --- /dev/null +++ b/JinYuan.Helper/StreamIOHelper.cs @@ -0,0 +1,127 @@ +using System; +using System.IO; + +namespace JinYuan.Helper +{ + /// + /// 流读写IO辅助类 + /// + public class StreamIOHelper + { + /// + /// 写入文件字节流 + /// + /// 待写入的流 + /// 写入的文件流 + /// 是否在操作后关闭流 + /// 是否写入成功:true:成功;false:失败 + public static bool WriteStreamBytes(Stream stream, byte[] bys, bool isCloseStream = false) + { + //确保文件支持写入 + if (stream == null || !stream.CanWrite) + { + return false; + } + + try + { + //单次写入的长度 + int perWriteByteLen = 1024 * 1024; + //单次读取的索引下标 + int startIndex = 0; + //写入的总长度 + int allLen = bys.Length; + while (startIndex < allLen && startIndex >= 0) + { + stream.Write(bys, startIndex, (startIndex > allLen - perWriteByteLen) ? allLen - startIndex : perWriteByteLen); + startIndex += perWriteByteLen; + } + stream.Flush(); + return true; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message + "\t" + ex.StackTrace); + return false; + } + finally + { + if (isCloseStream) + { + CloseStream(stream); + } + } + } + + /// + /// 读取文件字节流 + /// 读取异常或者文件不存在时返回null; + /// + /// 读取的字节流 + /// 是否在操作后关闭流 + /// 读取到的文件字节流 + public static byte[] ReadStreamBytes(Stream stream, bool isCloseStream = false) + { + //检测是否支持读操作 + if (stream == null || !stream.CanRead || stream.Length == 0) + { + return null; + } + + try + { + byte[] resBytes = new byte[stream.Length]; + int allLen = (int)stream.Length; + //单次读取的长度,1024字节即1kb,1024*1024=1M + int perReadByteLen = 1024 * 1024; + //单次读取的索引下标 + int startIndex = 0; + //单次读取到的长度 + int readLen = 0; + while ((readLen = stream.Read(resBytes, startIndex, (startIndex > allLen - perReadByteLen) ? allLen - startIndex : perReadByteLen)) > 0) + { + startIndex += readLen; + } + if (startIndex == allLen) + { + return resBytes; + } + else + { + return ArrayHelper.GetSubArray(resBytes, 0, startIndex); + } + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message + "\t" + ex.StackTrace); + return null; + } + finally + { + if (isCloseStream) + { + CloseStream(stream); + } + } + } + + /// + /// 关闭流 + /// + /// + public static void CloseStream(Stream fileInfo) + { + try + { + if (fileInfo != null) + fileInfo.Dispose(); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message + "\t" + ex.StackTrace); + } + } + + } +} diff --git a/JinYuan.Helper/StringSecurityHelper.cs b/JinYuan.Helper/StringSecurityHelper.cs new file mode 100644 index 0000000..7071792 --- /dev/null +++ b/JinYuan.Helper/StringSecurityHelper.cs @@ -0,0 +1,123 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace JinYuan.Helper +{ + /// + /// 字符串加密解密类 + /// + public class StringSecurityHelper + { + private static string md5Begin = "Hello"; + private static string md5End = "World"; + + #region SHA1 加密 + + /// + /// 使用SHA1加密字符串。 + /// + /// 输入字符串。 + /// 加密后的字符串。(40个字符) + public static string SHA1Encrypt(string inputString) + { + SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider(); + byte[] encryptedBytes = sha1.ComputeHash(Encoding.ASCII.GetBytes(inputString)); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < encryptedBytes.Length; i++) + { + sb.AppendFormat("{0:x2}", encryptedBytes[i]); + } + return sb.ToString(); + } + + #endregion + + #region DES 加密/解密 + + private static byte[] key = Encoding.ASCII.GetBytes("uiertysd"); + private static byte[] iv = Encoding.ASCII.GetBytes("99008855"); + + /// + /// DES加密。 + /// + /// 输入字符串。 + /// 加密后的字符串。 + public static string DESEncrypt(string inputString) + { + MemoryStream ms = null; + CryptoStream cs = null; + StreamWriter sw = null; + + DESCryptoServiceProvider des = new DESCryptoServiceProvider(); + try + { + ms = new MemoryStream(); + cs = new CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write); + sw = new StreamWriter(cs); + sw.Write(inputString); + sw.Flush(); + cs.FlushFinalBlock(); + return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); + } + finally + { + if (sw != null) sw.Close(); + if (cs != null) cs.Close(); + if (ms != null) ms.Close(); + } + } + + /// + /// DES解密。 + /// + /// 输入字符串。 + /// 解密后的字符串。 + public static string DESDecrypt(string inputString) + { + MemoryStream ms = null; + CryptoStream cs = null; + StreamReader sr = null; + + DESCryptoServiceProvider des = new DESCryptoServiceProvider(); + try + { + ms = new MemoryStream(Convert.FromBase64String(inputString)); + cs = new CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read); + sr = new StreamReader(cs); + return sr.ReadToEnd(); + } + catch + { + return string.Empty; + } + finally + { + if (sr != null) sr.Close(); + if (cs != null) cs.Close(); + if (ms != null) ms.Close(); + } + } + + #endregion + + + /// + /// MD5加密 + /// + /// MD5加密前字符串 + /// MD5加密后字符串 + public static string MD5Encrypt(string str) + { + str = string.Concat(md5Begin, str, md5End); + MD5 md5 = new MD5CryptoServiceProvider(); + byte[] fromData = Encoding.Unicode.GetBytes(str); + byte[] targetData = md5.ComputeHash(fromData); + string md5String = string.Empty; + foreach (var b in targetData) + md5String += b.ToString("x2"); + return md5String; + } + } +} diff --git a/JinYuan.Helper/TimedOperation.cs b/JinYuan.Helper/TimedOperation.cs new file mode 100644 index 0000000..e554558 --- /dev/null +++ b/JinYuan.Helper/TimedOperation.cs @@ -0,0 +1,36 @@ +using System; +using System.Diagnostics; +using System.Threading; + +namespace JinYuan.Helper +{ + /// + /// 操作计时功能 + /// + public class TimedOperation : IDisposable + { + private readonly Stopwatch _stopwatch; + private readonly string _operationName; + private readonly Action _onCompleted; + private bool _disposed = false; + + public TimedOperation(string operationName, Action onCompleted = null) + { + _stopwatch = Stopwatch.StartNew(); + _operationName = operationName; + _onCompleted = onCompleted; + } + + public long ElapsedMilliseconds => _stopwatch.ElapsedMilliseconds; + + public void Dispose() + { + if (!_disposed) + { + _stopwatch.Stop(); + _onCompleted?.Invoke(_stopwatch.ElapsedMilliseconds, _operationName); + _disposed = true; + } + } + } +} diff --git a/JinYuan.Helper/TimerReset.cs b/JinYuan.Helper/TimerReset.cs new file mode 100644 index 0000000..93b89ec --- /dev/null +++ b/JinYuan.Helper/TimerReset.cs @@ -0,0 +1,37 @@ +using System; +using System.Threading; + +namespace JinYuan.Helper +{ + /// + /// 定时器重置时间间隔,定时器执行未超间隔则设置剩余时间后再次触发,超时则立即触发 + /// + public class TimerReset : IDisposable + { + private Timer timer; + private DateTime nextTime; + + /// + /// 使用using语句,在定时器TimerCallback中使用 + /// using语句块内为时间到时的执行代码,dispose计算使用的时间,来重设下次触发时间 + /// + /// 定时器 + /// 时间间隔 + public TimerReset(Timer tim, int ep) + { + timer = tim; + nextTime = DateTime.Now.AddMilliseconds(ep);//设置下次执行时间 + } + public void Dispose() + { + //执行完后,重新设置定时器下次执行时间. + TimeSpan timeout = nextTime.Subtract(DateTime.Now); + if (timeout < TimeSpan.Zero) + { + timeout = TimeSpan.Zero; + } + + timer.Change(timeout, Timeout.InfiniteTimeSpan); + } + } +} diff --git a/JinYuan.Helper/TxtHelper.cs b/JinYuan.Helper/TxtHelper.cs new file mode 100644 index 0000000..c77733b --- /dev/null +++ b/JinYuan.Helper/TxtHelper.cs @@ -0,0 +1,65 @@ +using System; +using System.IO; +using System.Text; +using System.Threading; + +namespace JinYuan.Helper +{ + public class TxtHelper + { + static ReaderWriterLockSlim sucessLogWriteLockSlim = new ReaderWriterLockSlim(); + + /// + /// 写入TEXT文本 + /// + /// 文件名 + /// 内容 + /// 保存结果 + public static bool WriteTxt(string fullName, string content) + { + FileStream fs = null; + StreamWriter sw = null; + + try + { + string directory = fullName.Substring(0, fullName.LastIndexOf('\\')); + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + + sucessLogWriteLockSlim.EnterWriteLock();//加锁防止抢占 + if (!File.Exists(fullName)) + { + fs = new FileStream(fullName, FileMode.Create, FileAccess.Write); + sw = new StreamWriter(fs, Encoding.UTF8); + } + else + { + fs = new FileStream(fullName, FileMode.Append, FileAccess.Write); + sw = new StreamWriter(fs, Encoding.UTF8); + } + + sw.WriteLine(content); + + sw.Close(); + fs.Close(); + + return true; + } + catch (Exception ex) + { + sw?.Close(); + fs?.Close(); + + } + finally + { + sucessLogWriteLockSlim.ExitWriteLock(); + } + + return false; + } + + } +} diff --git a/JinYuan.Helper/TypeParse.cs b/JinYuan.Helper/TypeParse.cs new file mode 100644 index 0000000..55d98d3 --- /dev/null +++ b/JinYuan.Helper/TypeParse.cs @@ -0,0 +1,386 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace JinYuan.Helper +{ + public class TypeParse + { + /// + /// 将数据库内取的值转成字符串 + /// + /// + /// + public static string Obj2Str(object obj) + { + return (obj != null) ? obj.ToString().Trim() : ""; + } + + /// + /// 判断对象是否为Int32类型的数字 + /// + /// + /// + public static bool IsNumeric(object expression) + { + if (expression != null) + { + return IsNumeric(expression.ToString()); + } + return false; + + } + + /// + /// 判断对象是否为Int32类型的数字 + /// + /// + /// + public static bool IsNumeric(string expression) + { + if (expression != null) + { + string str = expression; + if (str.Length > 0 && str.Length <= 11 && Regex.IsMatch(str, @"^[-]?[0-9]*[.]?[0-9]*$")) + { + if ((str.Length < 10) || (str.Length == 10 && str[0] == '1') || (str.Length == 11 && str[0] == '-' && str[1] == '1')) + { + return true; + } + } + } + return false; + + } + + /// + /// 是否为Double类型 + /// + /// + /// + public static bool IsDouble(object expression) + { + if (expression != null) + { + return Regex.IsMatch(expression.ToString(), @"^([0-9])[0-9]*(\.\w*)?$"); + } + return false; + } + + /// + /// string型转换为bool型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的bool类型结果 + public static bool StrToBool(object expression, bool defValue) + { + if (expression != null) + { + return StrToBool(expression.ToString(), defValue); + } + return defValue; + } + + /// + /// string型转换为bool型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的bool类型结果 + public static bool StrToBool(string expression, bool defValue) + { + try + { + if (expression != null) + { + if (string.Compare(expression, "true", true) == 0) + { + return true; + } + else if (string.Compare(expression, "false", true) == 0) + { + return false; + } + } + } + catch (Exception) + { + return defValue; + } + return defValue; + } + + /// + /// 将对象转换为Int32类型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的int类型结果 + public static int StrToInt(object expression, int defValue) + { + if (expression != null) + { + return StrToInt(expression.ToString(), defValue); + } + return defValue; + } + + /// + /// 将对象转换为Int32类型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的int类型结果 + public static int StrToInt(string str, int defValue) + { + try + { + if (str == null) + return defValue; + str = str.Trim(); + if (str.Length > 0 && str.Length <= 11 && Regex.IsMatch(str, @"^[-]?[0-9]*$")) + { + if ((str.Length < 10) || (str.Length == 10 && str[0] == '1') || (str.Length == 11 && str[0] == '-' && str[1] == '1')) + { + return Convert.ToInt32(str); + } + } + } + catch (Exception) + { + return defValue; + } + return defValue; + } + + /// + /// string型转换为float型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的int类型结果 + public static float StrToFloat(object strValue, float defValue) + { + if ((strValue == null)) + { + return defValue; + } + return StrToFloat(strValue.ToString(), defValue); + } + + /// + /// string型转换为float型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的int类型结果 + public static float StrToFloat(string strValue, float defValue = 0) + { + + if (strValue == null) + { + return defValue; + } + else if (strValue.IndexOf(".") > 10) + { + return defValue; + } + float intValue = defValue; + try + { + if (strValue != null) + { + bool IsFloat = Regex.IsMatch(strValue, @"^([-]|[0-9])[0-9]*(\.\w*)?$"); + if (IsFloat) + { + intValue = Convert.ToSingle(strValue); + } + } + } + catch (Exception) + { + return defValue; + } + return intValue; + } + + /// + /// object型转换为decimal型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的decimal类型结果 + public static decimal StrToDecimal(object strValue, decimal defValue = 0) + { + if ((strValue == null)) + { + return defValue; + } + + return StrToDecimal(strValue.ToString(), defValue); + } + + /// + /// string型转换为decimal型 + /// + /// 要转换的字符串 + /// 缺省值 + /// 转换后的decimal类型结果 + public static decimal StrToDecimal(string strValue, decimal defValue) + { + if (strValue == null || strValue == "") + { + return defValue; + } + + decimal intValue = defValue; + try + { + if (strValue != null) + { + bool IsDecimal = Regex.IsMatch(strValue, @"^([-]|[0-9])[0-9]*(\.\w*)?$"); + if (IsDecimal) + { + intValue = Convert.ToDecimal(strValue); + //int precision = 15; // 假设数据库中的精度为15 + //int scale = 3; // 假设数据库中的小数位数为3 + // 检查valueToInsert是否超出精确度和小数位数 + if (Math.Floor(intValue * (decimal)Math.Pow(18, 3)) > (decimal)Math.Pow(18, 15 - 3)) + { + intValue = -9999; + } + } + } + } + catch (Exception) + { + return defValue; + } + return intValue; + } + + + /// + /// 判断给定的字符串数组(strNumber)中的数据是不是都为数值型 + /// + /// 要确认的字符串数组 + /// 是则返加true 不是则返回 false + public static bool IsNumericArray(string[] strNumber) + { + if (strNumber == null) + { + return false; + } + if (strNumber.Length < 1) + { + return false; + } + foreach (string id in strNumber) + { + if (!IsNumeric(id)) + { + return false; + } + } + return true; + + } + + /// + /// 将数据库内取的值转成日期 + /// + /// + /// + public static DateTime Obj2DateTime(object obj) + { + try + { + if (obj != null) + { + return DateTime.Parse(obj.ToString()); + } + else + { + return Convert.ToDateTime("1900-1-1 00:00:00"); + } + } + catch + { + return Convert.ToDateTime("1900-1-1 00:00:00"); + } + } + + /// + /// 判断字符串是否是yyyy-mm-dd字符串 + /// + /// 待判断字符串 + /// 判断结果 + public static bool IsDateString(string str) + { + bool formatPassed = Regex.IsMatch(str, @"(\d{4})-(\d{1,2})-(\d{1,2})"); + + if (!formatPassed) + return false; + + DateTime date; + + return DateTime.TryParse(str, out date); + } + + /// + /// 判断字符串是否是 HH:mm 或者 HH:mm:ss 格式 + /// + /// 待判断字符串 + /// 是否包含秒 + /// 判断结果 + public static bool IsTimeString(string str, bool includeSecond) + { + string patten = @"([0-1][0-9]|2[0-3]):([0-5][0-9])"; + + if (includeSecond) + patten = @"([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])"; + + bool formatPassed = Regex.IsMatch(str, patten); + + return formatPassed; + } + + /// + /// 日期转换成unix时间戳 + /// + /// + /// + public static long DateTimeToUnixTimestamp(DateTime dateTime) + { + DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, dateTime.Kind); + return Convert.ToInt64((dateTime - start).TotalSeconds); + } + + /// + /// unix时间戳转换成日期 + /// + /// 时间戳(秒) + /// + public static DateTime UnixTimestampToDateTime(DateTime target, long timeStamp) + { + DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, target.Kind); + return start.AddSeconds(timeStamp); + } + + /// + /// 日期转换成unix时间戳(13位精确到毫秒) + /// + /// + /// + public static long DateTimeToUnixTimestamp_Ms(DateTime dateTime) + { + DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + return Convert.ToInt64(dateTime.Subtract(start).TotalMilliseconds); + } + } +} diff --git a/JinYuan.Helper/XmlHelper.cs b/JinYuan.Helper/XmlHelper.cs new file mode 100644 index 0000000..f2d012e --- /dev/null +++ b/JinYuan.Helper/XmlHelper.cs @@ -0,0 +1,230 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Formatters.Binary; +using System.Xml.Serialization; + +namespace JinYuan.Helper +{ + /// + /// 序列化辅助类 + /// + public class XmlHelper + { + + /// + /// 二进制方式的序列化 + /// + /// 类型 + /// 序列化对象 + /// 序列化后的内存 + public static Stream BinarySerialize(T obj) + { + MemoryStream serMs = new MemoryStream(); + IFormatter iBinaryFormatter = new BinaryFormatter(); + iBinaryFormatter.Serialize(serMs, obj); + if (serMs.Length > 0) + serMs.Position = 0; + return serMs; + } + + /// + /// 二进制方式的反序列化 + /// + /// 类型 + /// 待序列化的内存 + /// 反序列化后的对象 + public static T BinaryDeserializer(Stream ms) where T : class + { + T res = default(T); + if (ms.Length > 0) + ms.Position = 0; + IFormatter iBinaryFormatter = new BinaryFormatter(); + res = iBinaryFormatter.Deserialize(ms) as T; + return res; + } + + /// + /// Xml方式的序列化 + /// + /// 类型 + /// 序列化对象 + /// 序列化后的内存 + public static Stream XmlSerialize(T obj) + { + MemoryStream serMs = new MemoryStream(); + XmlSerializer ser = new XmlSerializer(obj.GetType()); + try + { + ser.Serialize(serMs, obj); + if (serMs.Length > 0) + serMs.Position = 0; + } + catch (Exception ex) + { + //LogHelper.Current.WriteEx(string.Format("序列化对象异常:{0}", obj.ToString()), ex); + return null; + } + + return serMs; + } + + /// + /// Xml方式的序列化 + /// + /// + /// + public static Stream XmlSerializeObj(object obj) + { + MemoryStream serMs = new MemoryStream(); + XmlSerializer ser = new XmlSerializer(obj.GetType()); + ser.Serialize(serMs, obj); + if (serMs.Length > 0) + serMs.Position = 0; + return serMs; + } + + /// + /// Xml方式的反序列化 + /// + /// 类型 + /// 待序列化的内存 + /// 反序列化后的对象 + public static T XmlDeserializer(Stream ms) where T : class + { + T res = default(T); + if (ms.Length > 0) + ms.Position = 0; + XmlSerializer ser = new XmlSerializer(typeof(T)); + res = ser.Deserialize(ms) as T; + return res; + } + + /// + /// 将List集合保存成XML文档 + /// + /// + /// + /// + public static bool SaveListToXML(List lstT, string filePath) + { + try + { + FileInfo fInfo = new FileInfo(filePath); + if (!fInfo.Directory.Exists) + { + fInfo.Directory.Create(); + } + Stream stream = XmlSerialize(lstT); + if (stream != null) + { + byte[] bs = StreamIOHelper.ReadStreamBytes(stream); + using (FileStream fs = new FileStream(filePath, FileMode.Create)) + { + fs.Write(bs, 0, bs.Length); + } + stream.Close(); + return true; + } + else + { + return false; + } + + } + catch (Exception ex) + { + //LogHelper.Current.WriteEx("将List保存成XML文档发生异常", ex, EnumLogType.Error); + return false; + } + } + + + /// + /// 读取XML信息成List集合 + /// + public static List ReadXMLToList(string filePath) + { + try + { + FileInfo fInfo = new FileInfo(filePath); + if (!fInfo.Directory.Exists) + { + fInfo.Directory.Create(); + } + using (FileStream fs = new FileStream(filePath, FileMode.Open)) + { + var crList = XmlDeserializer>(fs); + return crList; + } + } + catch (Exception ex) + { + //LogHelper.Current.WriteEx("读取XML转换成List异常", ex, EnumLogType.Error); + return null; + } + } + + /// + /// 将类的实例保存成XML文档 + /// + /// + /// + /// + /// + public static bool SaveModelToXML(T t, string filePath) where T : class + { + try + { + FileInfo fInfo = new FileInfo(filePath); + if (!fInfo.Directory.Exists) + { + fInfo.Directory.Create(); + } + using (FileStream fs = new FileStream(filePath, FileMode.Create)) + { + using (Stream stream = XmlSerialize(t)) + { + byte[] bs = StreamIOHelper.ReadStreamBytes(stream); + fs.Write(bs, 0, bs.Length); + } + } + return true; + } + catch (Exception ex) + { + //LogHelper.Current.WriteEx("将Class保存成XML文档发生异常", ex, EnumLogType.Error); + return false; + } + } + + /// + /// 将XML文档中数据读取到类的实例中 + /// + /// + /// + /// + public static T ReadXMLToModel(string filePath) where T : class + { + try + { + FileInfo fInfo = new FileInfo(filePath); + if (!fInfo.Directory.Exists) + { + fInfo.Directory.Create(); + } + using (FileStream fs = new FileStream(filePath, FileMode.Open)) + { + T model = XmlDeserializer(fs); + return model; + } + } + catch (Exception ex) + { + //LogHelper.Current.WriteEx("读取XML转换成实例异常", ex, EnumLogType.Error); + return default(T); + } + } + } +} diff --git a/JinYuan.Helper/app.config b/JinYuan.Helper/app.config new file mode 100644 index 0000000..a2625f6 --- /dev/null +++ b/JinYuan.Helper/app.config @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.Helper/packages.config b/JinYuan.Helper/packages.config new file mode 100644 index 0000000..daf59d1 --- /dev/null +++ b/JinYuan.Helper/packages.config @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JinYuan.MES/Enums/MesResType.cs b/JinYuan.MES/Enums/MesResType.cs new file mode 100644 index 0000000..9ce04d8 --- /dev/null +++ b/JinYuan.MES/Enums/MesResType.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Enums +{ + /// + /// + /// + public enum MesResType + { + [Description("停线")] + A = 1, + [Description("排出")] + B = 2, + [Description("警示")] + C = 3, + [Description("OK值")] + D = 4, + [Description("未知的结果")] + UnKnow = 99999 + } +} diff --git a/JinYuan.MES/Enums/MesUploadType.cs b/JinYuan.MES/Enums/MesUploadType.cs new file mode 100644 index 0000000..643b470 --- /dev/null +++ b/JinYuan.MES/Enums/MesUploadType.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Enums +{ + /// + /// MES上传的三种类型 + /// + public enum MesUploadType + { + /// + /// 单进整出 + /// + [Description("DZ")] + DZ = 1, + /// + /// 整进整出 + /// + [Description("ZZ")] + ZZ = 2, + /// + /// 单进单出 + /// + [Description("DD")] + DD = 3, + + } +} + diff --git a/JinYuan.MES/IMes.cs b/JinYuan.MES/IMes.cs new file mode 100644 index 0000000..10c6eaf --- /dev/null +++ b/JinYuan.MES/IMes.cs @@ -0,0 +1,164 @@ +using JinYuan.MES.Enums; +using JinYuan.MES.Models; +using JinYuan.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES +{ + /// + /// MES接口 + /// + public interface IMes + { + /// + /// 登录接口 + /// + Task<(bool Success, string Message, string MesUserLevel)> LoginAsync(string url, string siteCode, string lineCode, string equipNum, string userName, string passWord); + + Task<(bool Success, string Message)> LoginAsync(string url, string siteCode, string lineCode, string equipNum, string UserCardID); + + /// + /// 设备参数设定值请求接口 + /// + Task<(ParamReturnData Data, string Mesage)> GetParamSetRequestAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName); + + /// + /// 参数设定值变更接口 + /// + Task<(bool Success, string ResJson)> ParamChangeAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List paramChangeItems); + + /// + /// 箱唛信息获取 + /// + Task<(bool success, string mesMessage, MesResType mesResType, List cartonTagInfos)> QueryCartonAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode); + + /// + /// 栈板信息获取 + /// + Task<(bool success, string mesMessage, MesResType mesResType, string palletCode, List palletTagInfos)> QueryPalletAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode); + + /// + /// 客户标签与系统标签绑定 + /// + Task<(bool success, string mesMessage, MesResType mesResType)> BindingAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode, string palletCode, string custcartonCode, string custpalletCode, List custcarton, List custpallet); + + ///// + ///// 复投单个上传(只上传条码,不上传卷芯码) + ///// + //Task<(bool Success, string MesMessage, MesResType MesResType)> SingleFTCellInStationAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, string BarCode); + + ///// + ///// 电芯进站接口(多个) + ///// + //Task<(bool Success, List MesMessage, List MesResType)> ManyCellInStationAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List listBar); + + //Task<(bool Success, List MesMessage, List MesResType, List CellCode)> ManyCellInStationAsync1(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List listBar); + + ///// + ///// 电芯出站接口(多个) + ///// + //Task<(bool Success, List MesMessage, List MesResType)> OutboundInformationsAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List listBar); + + ///// + ///// 组装出站(单电池) + ///// + ///// + ///// + ///// + ///// + ///// + ///// + ///// + ///// + ///// + ///// + //Task<(bool Success, string Mesage, MesResType MesResType)> SingleCellInAndOutStationAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, BGearEntity m, int type, string materialLotCodeLocator); + + + ///// + ///// 原材料上传 + ///// + ///// + ///// + ///// + ///// + ///// + ///// + ///// + //Task<(bool Success, string MesMessage, MesResType MesResType)> RawMaterialStationAsync(string url, string MaterialCode, string equipNum, string BarCode); + ///// + ///// 产品过程加工参数接口 + ///// + //Task<(bool Success, string ResJson)> ProductProcessParamAsync(string url, string siteCode, string userName, string equipNum, string lineCode, string materialCode, MesUploadType unloadType, List productProcessParam); + + ///// + ///// 产品结果加工参数接口 + ///// + //Task<(bool Success, string ResJson)> ProducResultParamAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, BGearEntity m, MesUploadType unloadType, string insertTime); + + ///// + ///// 单电芯出站 + ///// + //Task<(bool Success, string Mesage, MesResType MesResType)> SingleCellOutStationAsync(string url, string siteCode, string lineCode, string equipNum, string modelName, string materialCode, string userName, BGearEntity m, int type, string materialLotCodeLocator); + + ///// + ///// 多电芯出站接口 + ///// + //Task<(bool Success, List MesMessage, List MesResType)> ManyCellOutStationAsync(string url, string siteCode, string lineCode, string equipNum, string modelName, string materialCode, string userName, List m, int type, string materialLotCodeLocator,List listNGCode,List listNGMessage); + + /// + /// 设备运行状态接口 + /// + Task<(bool Success, string ResJson)> UploadEquStatusAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, string guid, string statusCode, List faultCodes); + + /// + /// 设备报警接口 + /// + Task<(bool Success, string Mesage)> UploadEquAlarmAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List alarmObj, string guid); + + /// + /// 能耗数据上传 + /// + Task<(bool Success, string Mesage)> UploadEquEnergyAsync(string url, string siteCode, string lineCode, string equipNum, string userName, List electricMeterNum, List wattrs); + + /// + /// 风速仪数据上传 + /// + Task<(bool Success, string Mesage)> UploadDeviceCollectDataAsync(string url, string equipNum, List antiDustAirSpeedNum, List collectData); + /// + /// 自动分档--获取OCV挡位 + /// + Task<(bool Success, List MesLevel, List MesPassage, List MesMessage)> GetOCVShiftAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode, string materialCode, string userName, List barCodeList); + + /// + /// 获取国内OCV数据 + /// + Task<(bool Success, string Mesage, MesData data)> GetOcvListAsync(string url, string warehouseCode, string customerCode, List barCodeList); + + + /// + /// 翻包设备上传绑定信息接口-内箱翻内箱(适用于G11仓) + /// + /// + /// + /// + /// + /// + /// + //Task<(bool Success, string MesMessage, MesResType MesResType)> GetAroundBagListAsync(string url, string warehouseCode, string customerCode, string CardBarcode, List InnerBoxLabelList); + + /// + /// 翻包设备拉取不完整VDA数据 + /// + /// + /// + /// + /// + /// + //Task<(bool Success, string Mesage, DataItem data)> GetVDAListAsync(string url, string warehouseCode, string customerCode, string CardBarcode); + } +} diff --git a/JinYuan.MES/JinYuan.MES.csproj b/JinYuan.MES/JinYuan.MES.csproj new file mode 100644 index 0000000..ab32da6 --- /dev/null +++ b/JinYuan.MES/JinYuan.MES.csproj @@ -0,0 +1,93 @@ + + + + + Debug + AnyCPU + {530B6426-08E7-461C-91DC-787F876620FC} + Library + Properties + JinYuan.MES + JinYuan.MES + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\JinYuan.VirtualDataLibrary\bin\Debug\JinYuan.VirtualDataLibrary.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {258D0AB7-2B4F-4D8F-A3CD-7A8CB4A85360} + JinYuan.Helper + + + {4C0BCB84-5CD7-4846-8363-C4C10D46E391} + JinYuan.Models + + + + + + + + \ No newline at end of file diff --git a/JinYuan.MES/MESApiHelper.cs b/JinYuan.MES/MESApiHelper.cs new file mode 100644 index 0000000..198080e --- /dev/null +++ b/JinYuan.MES/MESApiHelper.cs @@ -0,0 +1,164 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES +{ + public static class MESApiHelper + { + private static readonly HttpClient _httpClient; + private static string _appId; + private static string _appKey; + private static string _token; + private static DateTime _tokenExpireTime; + + private const string TOKEN_URL = "https://example.com/api/oauth/token"; // Token 获取地址 + + static MESApiHelper() + { + _httpClient = new HttpClient(); + _httpClient.Timeout = TimeSpan.FromSeconds(10); // 设置默认超时 + } + + /// + /// 初始化 AppId 和 AppKey + /// + /// + /// + public static void Initialize(string appId, string appKey) + { + _appId = appId; + _appKey = appKey; + } + + /// + /// 确保 Token 有效 + /// + private static async Task EnsureTokenValidAsync() + { + if (string.IsNullOrEmpty(_token) || DateTime.Now >= _tokenExpireTime) + { + await RefreshTokenAsync(); + } + } + + /// + /// 刷新 Token + /// + private static async Task RefreshTokenAsync() + { + var tokenRequest = new + { + appId = _appId, + appKey = _appKey + }; + + var response = await SendRequestAsync(TOKEN_URL, HttpMethod.Post, tokenRequest, false); + + if (response != null && response.Success) + { + _token = response.Token; + _tokenExpireTime = DateTime.Now.AddSeconds(response.Expire); + } + else + { + throw new Exception("获取 Token 失败"); + } + } + + /// + /// 发送 HTTP 请求 + /// + /// 返回类型 + /// 请求地址 + /// HTTP 方法 + /// 请求数据 + /// 是否需要认证 + /// + public static async Task SendRequestAsync(string url, HttpMethod method, object data = null, bool requiresAuth = true) + { + if (requiresAuth) + { + await EnsureTokenValidAsync(); + } + + using (var request = new HttpRequestMessage(method, url)) + { + if (requiresAuth) + { + request.Headers.Add("Authorization", $"Bearer {_token}"); + } + + if (data != null) + { + var json = JsonConvert.SerializeObject(data); + request.Content = new StringContent(json, Encoding.UTF8, "application/json"); + } + + var response = await _httpClient.SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); + + if (!response.IsSuccessStatusCode) + { + throw new HttpRequestException($"请求失败: {response.StatusCode}, {content}"); + } + + return JsonConvert.DeserializeObject(content); + } + } + + /// + /// 发送 HTTP 请求并返回字符串 + /// + /// 请求地址 + /// HTTP 方法 + /// 请求数据 + /// 是否需要认证 + /// + public static async Task SendRequestStringAsync(string url, HttpMethod method, object data = null, bool requiresAuth = true) + { + if (requiresAuth) + { + await EnsureTokenValidAsync(); + } + + using (var request = new HttpRequestMessage(method, url)) + { + if (requiresAuth) + { + request.Headers.Add("Authorization", $"Bearer {_token}"); + } + + if (data != null) + { + //var json = JsonConvert.SerializeObject(data); + request.Content = new StringContent(data.ToString(), Encoding.UTF8, "application/json"); + } + + var response = await _httpClient.SendAsync(request); + var content = await response.Content.ReadAsStringAsync(); + + if (!response.IsSuccessStatusCode) + { + throw new HttpRequestException($"请求失败: {response.StatusCode}, {content}"); + } + + return content; + } + } + } + + /// + /// Token 响应模型 + /// + public class TokenResponse + { + public bool Success { get; set; } + public string Token { get; set; } + public int Expire { get; set; } + } + +} diff --git a/JinYuan.MES/MesDataProcess.cs b/JinYuan.MES/MesDataProcess.cs new file mode 100644 index 0000000..d2b09f5 --- /dev/null +++ b/JinYuan.MES/MesDataProcess.cs @@ -0,0 +1,1726 @@ +using JinYuan.Helper; +using JinYuan.MES.Enums; +using JinYuan.MES.Models; +using JinYuan.Models; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Threading.Tasks; +using static System.Runtime.CompilerServices.RuntimeHelpers; + +namespace JinYuan.MES +{ + public class MesDataProcess : IMes + { + + #region 1、登录验证 √ + + /// 账号密码登录(异步方法) + /// + /// API地址 + /// 站点代码 + /// 线体代码 + /// 设备编号 + /// 用户名 + /// 密码 + /// 用户卡ID + /// 返回结果(是否成功、消息) userCardID = UserCardID + public async Task<(bool Success, string Message, string MesUserLevel)> LoginAsync(string url, string siteCode, string lineCode, string equipNum, string userName, string passWord) + { + bool res = false; // 操作结果 + string resJson = ""; // 日志信息 + string message = ""; // 消息 + string mesUserName = "";//mes返回登陆权限 + + try + { + // 创建请求模型 + var model = new LoginEntity + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + userName = userName, + passWord = passWord, + + }; + + // 序列化请求数据 + var nowDate = DateTime.Now; + var postData = JsonConvert.SerializeObject(model); + + // 记录请求开始时间 + var sw = Stopwatch.StartNew(); + + // 调用异步API + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postData, false); + + // 记录请求结束时间 + sw.Stop(); + + // 如果返回结果为空,记录日志并返回 + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{url},请求数据为:{postData},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\员工权限校验\{nowDate.ToString("HH")}.txt", resJson); + return (res, message, mesUserName); + } + + // 解析返回结果 + var res1 = JsonConvert.DeserializeObject(result); + + // 如果操作成功 + if (res1 != null && res1.success && string.IsNullOrEmpty(res1.code) && string.IsNullOrEmpty(res1.message)) + { + //mes登陆权限赋值 + //if (res1.rows[0].username == userName) { mesUserName = res1.rows[0].permissionLevel; } + if (res1.rows[0] == userName) { mesUserName = res1.rows[0]; } + res = true; + message = res1.message; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{url},请求数据为:{postData}\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\员工权限校验\{nowDate.ToString("HH")}.txt", resJson); + } + else + { + // 如果操作失败,记录日志 + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + message = res1?.message ?? "未知错误"; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{url},请求数据为:{postData}\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\员工权限校验\{nowDate.ToString("HH")}.txt", resJson); + } + } + catch (Exception ex) + { + // 捕获异常并记录日志 + message = "调用员工权限校验接口发生异常"; + resJson = $"调用员工权限校验接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("调用员工权限校验接口", ex); + } + + // 返回结果 + return (res, message, mesUserName); + } + + /// + /// 刷卡登录 + /// + /// + /// + /// + /// + /// + /// + public async Task<(bool Success, string Message)> LoginAsync(string url, string siteCode, string lineCode, string equipNum, string UserCardID) + { + bool res = false; // 操作结果 + string resJson = ""; // 日志信息 + string message = ""; // 消息 + + try + { + // 创建请求模型 + var model = new LoginEntity + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + userCardID = UserCardID, + + }; + + // 序列化请求数据 + var nowDate = DateTime.Now; + var postData = JsonConvert.SerializeObject(model); + + // 记录请求开始时间 + var sw = Stopwatch.StartNew(); + + // 调用异步API + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postData, false); + + // 记录请求结束时间 + sw.Stop(); + + // 如果返回结果为空,记录日志并返回 + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{url},请求数据为:{postData},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\员工权限校验\{nowDate.ToString("HH")}.txt", resJson); + return (res, message); + } + + // 解析返回结果 + var res1 = JsonConvert.DeserializeObject(result); + + // 如果操作成功 + if (res1 != null && res1.success && string.IsNullOrEmpty(res1.code) && string.IsNullOrEmpty(res1.message)) + { + res = true; + message = res1.message; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{url},请求数据为:{postData}\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\员工权限校验\{nowDate.ToString("HH")}.txt", resJson); + } + else + { + // 如果操作失败,记录日志 + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + message = res1?.message ?? "未知错误"; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用员工权限校验接口:{url},请求数据为:{postData}\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\员工权限校验\{nowDate.ToString("HH")}.txt", resJson); + } + } + catch (Exception ex) + { + // 捕获异常并记录日志 + message = "调用员工权限校验接口发生异常"; + resJson = $"调用员工权限校验接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("调用员工权限校验接口", ex); + } + + // 返回结果 + return (res, message); + } + #endregion + + #region 2、获取MES参数请求 + /// + /// 获取MES参数请求 + /// + /// + /// + /// + /// + /// + /// + /// + /// + public async Task<(ParamReturnData Data, string Mesage)> GetParamSetRequestAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName) + { + string resJson = ""; + string mesage = ""; // 用于存储消息 + + try + { + var model = new + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + materialCode = materialCode, + userName = userName + }; + + var nowDate = DateTime.Now; + var postcontent = JsonConvert.SerializeObject(model); + + var sw = new Stopwatch(); + sw.Start(); + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + + sw.Stop(); + + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备参数设定值请求接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备参数设定值请求\{nowDate.ToString("HH")}.txt", resJson); + return (null, mesage); + } + + var res1 = ReturnMesMsg(result); + if (res1.success) + { + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备参数设定值请求接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备参数设定值请求\{nowDate.ToString("HH")}.txt", resJson); + } + else + { + var resData = res1 == null ? "" : result; + mesage = "MES返回结果为空"; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备参数设定值请求接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备参数设定值请求\{nowDate.ToString("HH")}.txt", resJson); + } + return (res1, mesage); + } + catch (Exception ex) + { + mesage = $"设备参数设定值请求接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("设备参数设定值请求接口", ex); + return (null, mesage); + } + } + #endregion + + #region 3、参数变更请求 + /// + /// 参数变更请求 + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + public async Task ParamChange(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List paramChangeItems) + { + bool res = false; + string resJson = ""; + try + { + var model = new ParamChange + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + materialCode = materialCode, + userName = userName, + }; + + var nowDate = DateTime.Now; + var postcontent = JsonConvert.SerializeObject(model); + + var sw = new Stopwatch(); + sw.Start(); + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + sw.Stop(); + + + var resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用参数设定值变更接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\MesLogs\{nowDate.ToString("yyyyMMdd")}\参数设定值变更\{nowDate.ToString("HH")}.txt", resJson); + + } + catch (Exception ex) + { + resJson = $"参数设定值变更接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("参数设定值变更接口", ex); + } + + return res; + + } + #endregion + + + + /// + /// 将MES返回的category转换为MesResType + /// + private MesResType GetMesResType(string category) + { + if (string.IsNullOrEmpty(category)) + return MesResType.B; + + switch (category.ToUpper()) + { + case "A": + return MesResType.A; // 停线 + case "B": + return MesResType.B; // 排出 + case "C": + return MesResType.C; // 忽略(需警示) + case "D": + return MesResType.D; // 成功 + default: + return MesResType.B; // 默认排出 + } + } + + #region 箱唛信息获取 + /// + /// 箱唛信息获取 + /// + /// API地址 /api/public/equip/auto/cartonquery + /// 工厂代码 + /// 产线编号 + /// 设备编号 + /// 卡板码(箱唛号) + /// 返回结果(是否成功、消息列表、响应类型列表) + public async Task<(bool success, string mesMessage, MesResType mesResType, List cartonTagInfos)> QueryCartonAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode) + { + bool success = false; // 操作结果 + string rawJson = ""; // + string message = ""; // 消息列表 + MesResType mesResType = MesResType.C; + List cartonTagInfos = new List(); + + try + { + // 参数验证 + if (string.IsNullOrEmpty(containerCode)) + { + message = "容器码为空"; + return (success, message, mesResType, cartonTagInfos); + } + + // 创建请求模型 + var model = new QueryCartonPalletParam + { + siteCode = siteCode, + equipNum = equipNum, + lineCode = lineCode, + containerCode = containerCode + }; + + + // 序列化请求数据 + var nowDate = DateTime.Now; + var postcontent = JsonConvert.SerializeObject(model); + + // 记录请求开始时间 + var sw = Stopwatch.StartNew(); + + // 调用异步API + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + // 记录请求结束时间 + sw.Stop(); + rawJson = result; + + // 如果请求耗时超过1秒,记录日志 + long outTime = sw.ElapsedMilliseconds; + if (outTime > 1000) + { + //LogHelper.Instance.WriteLog($"进站PC<=>MES上传耗时:{outTime}ms,电芯码:{listBar[0]},{listBar[1]},{listBar[2]},{listBar[3]}", "MESTime"); + LogHelper.Instance.WriteLog($"箱唛信息获取PC<=>MES耗时:{outTime}ms", "MESTime"); + } + + // 记录请求日志 + string requestLog = $"{nowDate:yyyy-MM-dd HH:mm:ss.fff}:调用箱唛信息获取接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds):yyyy-MM-dd HH:mm:ss.fff}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate:yyyyMMdd}\箱唛信息获取\{nowDate:HH}.txt", requestLog); + + // 如果返回结果为空,记录日志并返回 + if (string.IsNullOrEmpty(result)) + { + //string resData = result == "" ? "" : result; + //resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用箱唛信息获取接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + //TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\箱唛信息获取\{nowDate.ToString("HH")}.txt", resJson); + //return (success, mesMessage, mesResType, cartonTagInfos); + message = "MES接口返回空结果"; + return (success, message, mesResType, cartonTagInfos); + } + + // 解析返回结果 + var response = JsonConvert.DeserializeObject(result); + + // 如果操作成功 + if (response != null && response.success) + { + success = true; + ProcessCartonResponse(response, ref message, ref mesResType, ref cartonTagInfos); // 处理返回结果 + //resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用箱唛信息获取接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + //TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\箱唛信息获取\{nowDate.ToString("HH")}.txt", resJson); + if (success && mesResType == MesResType.D) + { + message = $"箱唛信息获取成功,共获取 {cartonTagInfos?.Count ?? 0} 个标签信息"; + return (success, message, mesResType, cartonTagInfos); + } + else + { + return (success, message, mesResType, cartonTagInfos); + } + } + else + { + //// 如果操作失败,记录日志 + //var resData = response == null ? "" : result; + //resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用箱唛信息获取接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + //TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\箱唛信息获取\{nowDate.ToString("HH")}.txt", resJson); + // 如果操作失败 + message = response?.message ?? "MES接口返回失败状态"; + mesResType = GetMesResType(response?.category); + return (success, message, mesResType, cartonTagInfos);//MesResult>.Fail(message, mesResType, rawJson); + } + } + catch (Exception ex) + { + // 捕获异常并记录日志 + message = $"箱唛信息获取接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("箱唛信息获取接口", ex); + } + + // 返回结果 + return (success, message, mesResType, cartonTagInfos); + } + + /// + /// 箱唛信息获取返回数据处理 + /// + /// + /// + /// + /// + private void ProcessCartonResponse(MesResponseCarton response, ref string message, ref MesResType mesResType, ref List cartonTagInfos) + { + if (response != null) + { + cartonTagInfos = response.rows ?? new List(); + message = response.message; + if (response.success) + { + mesResType = MesResType.D; + message = "MES箱唛信息获取成功 "; + // 检查数据完整性 + if (cartonTagInfos.Count == 0) + { + message = "未获取到箱唛标签信息"; + mesResType = MesResType.B; + } + } + else + { + mesResType = GetMesResType(response.category); + } + } + else + { + message = "响应数据为空"; + mesResType = MesResType.B; + } + } + #endregion + + #region 栈板获取 + /// + /// 栈板信息获取 + /// + /// API地址 /api/public/equip/auto/palletquery + /// 工厂代码 + /// 产线编号 + /// 设备编号 + /// 卡板码(箱唛号) + /// 返回结果(是否成功、消息列表、响应类型列表) + public async Task<(bool success, string mesMessage, MesResType mesResType, string palletCode, List palletTagInfos)> QueryPalletAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode) + { + bool success = false; // 操作结果 + string rawJson = ""; // 日志信息 + string message = ""; // 消息列表 + string palletCode = ""; // 栈板编码 + MesResType mesResType = MesResType.C; + List palletTagInfos = new List(); + + try + { + if (string.IsNullOrEmpty(containerCode)) + { + message = "容器码为空"; + return (success, message, mesResType, palletCode, palletTagInfos); + } + var model = new QueryCartonPalletParam + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + containerCode = containerCode + }; + + var nowDate = DateTime.Now; + var postcontent = JsonConvert.SerializeObject(model); + + + var sw = Stopwatch.StartNew(); + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + sw.Stop(); + + rawJson = result; + + // 如果请求耗时超过1秒,记录日志 + long outTime = sw.ElapsedMilliseconds; + if (outTime > 1000) + { + LogHelper.Instance.WriteLog($"栈板信息获取PC<=>MES耗时:{outTime}ms", "MESTime"); + } + + // 记录请求日志 + string requestLog = $"{nowDate:yyyy-MM-dd HH:mm:ss.fff}:调用栈板信息获取接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds):yyyy-MM-dd HH:mm:ss.fff}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate:yyyyMMdd}\栈板信息获取\{nowDate:HH}.txt", requestLog); + + // 如果返回结果为空,记录日志并返回 + if (string.IsNullOrEmpty(result)) + { + message = "MES接口返回空结果"; + return (success, message, mesResType, palletCode, palletTagInfos); + } + + // 解析返回结果 + var response = JsonConvert.DeserializeObject(result); + if (response != null && response.success) + { + success = true; + ProcessPalletResponse(response, ref message, ref mesResType, ref palletCode, ref palletTagInfos); // 处理返回结果 + if (success && mesResType == MesResType.D) + { + message = $"栈板信息获取成功,共获取 {palletTagInfos?.Count ?? 0} 个标签信息"; + } + + } + else + { + message = response?.message ?? "MES接口返回失败状态"; + mesResType = GetMesResType(response?.category); + } + } + catch (Exception ex) + { + message = $"栈板信息获取接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("栈板信息获取接口", ex); + } + + // 返回结果 + return (success, message, mesResType, palletCode, palletTagInfos); + } + + /// + /// 栈板信息获取返回数据处理 + /// + /// + /// + /// + /// + private void ProcessPalletResponse(MesResponsePallet response, ref string message, ref MesResType mesResType, ref string palletCode, ref List palletTagInfos) + { + if (response == null || response.rows == null || response.rows.Count == 0) + { + message = "响应数据为空或无有效行数据"; + mesResType = MesResType.B; + return; + } + + PalletRow firstRow = response.rows[0]; + palletCode = firstRow?.palletCode ?? string.Empty; + palletTagInfos = firstRow?.tagList ?? new List(); + + if (response.success) + { + mesResType = MesResType.D; + message = "MES栈板信息获取成功 "; + + // 检查数据完整性 + if (palletTagInfos.Count == 0) + { + message = "未获取到栈板标签信息"; + mesResType = MesResType.B; + } + else + { + message = "栈板信息获取成功"; + } + } + else + { + mesResType = GetMesResType(response.category); + message = response.message ?? "MES接口返回失败"; + } + + + } + #endregion + + #region 客户标签与系统标签绑定 + /// + /// 客户标签与系统标签绑定 + /// + /// API地址 /api/public/equip/auto/ //TODO 待补充! + /// 工厂代码 + /// 产线编号 + /// 设备编号 + /// 卡板码(箱唛号) + /// 栈板码 + /// 客户箱唛码 + /// 客户栈板码 + /// 客户箱唛信息 + /// 客户栈板信息 + /// 返回结果(是否成功、消息列表、响应类型列表) + public async Task<(bool success, string mesMessage, MesResType mesResType)> BindingAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode, string palletCode, string custcartonCode, string custpalletCode, List custcarton, List custpallet) + { + bool success = false; // 操作结果 + string rawJson = ""; // 日志信息 + string message = ""; // 消息列表 + MesResType mesResType = MesResType.C; + + try + { + // 参数验证 + if (string.IsNullOrEmpty(containerCode)) + { + message = "容器码为空"; + return (success, message, mesResType); + } + + // 创建请求模型 + var model = new BindingParam + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + containerCode = containerCode, + palletCode = palletCode, + custcartonCode = custcartonCode, + custpalletCode = custpalletCode, + custcarton = custcarton, + custpallet = custpallet + }; + + // 序列化请求数据 + var nowDate = DateTime.Now; + var postcontent = JsonConvert.SerializeObject(model); + + // 记录请求开始时间 + var sw = Stopwatch.StartNew(); + + // 调用异步API + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + // 记录请求结束时间 + sw.Stop(); + rawJson = result; + + // 如果请求耗时超过1秒,记录日志 + long outTime = sw.ElapsedMilliseconds; + if (outTime > 1000) + { + //LogHelper.Instance.WriteLog($"进站PC<=>MES上传耗时:{outTime}ms,电芯码:{listBar[0]},{listBar[1]},{listBar[2]},{listBar[3]}", "MESTime"); + LogHelper.Instance.WriteLog($"客户标签与系统标签绑定PC<=>MES耗时:{outTime}ms", "MESTime"); + } + + // 记录请求日志 + string requestLog = $"{nowDate:yyyy-MM-dd HH:mm:ss.fff}:调用客户标签与系统标签绑定接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds):yyyy-MM-dd HH:mm:ss.fff}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate:yyyyMMdd}\客户标签与系统标签绑定\{nowDate:HH}.txt", requestLog); + + // 如果返回结果为空,记录日志并返回 + if (string.IsNullOrEmpty(result)) + { + //string resData = result == "" ? "" : result; + //resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用客户标签与系统标签绑定接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + //TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\客户标签与系统标签绑定\{nowDate.ToString("HH")}.txt", resJson); + //return (res, mesMessage, mesResType); + message = "MES接口返回空结果"; + //return MesResult.Fail(message, MesResType.B, rawJson); + return (success, message, mesResType); + } + + // 解析返回结果 + var response = JsonConvert.DeserializeObject(result); + + // 如果操作成功 + if (response != null && response.success) + { + success = true; + ProcessBindingResponse(response, ref message, ref mesResType); // 处理返回结果 + //resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用客户标签与系统标签绑定接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + //TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\卡板电芯信息上传(装箱)\{nowDate.ToString("HH")}.txt", resJson); + if (success && mesResType == MesResType.D) + { + message = "客户标签与系统标签绑定成功"; + //return MesResult.Ok(true, message, rawJson); + return (success, message, mesResType); + } + else + { + //return MesResult.Fail(message, mesResType, rawJson); + return (success, message, mesResType); + } + } + else + { + //// 如果操作失败,记录日志 + //var resData = res1 == null ? "" : result; + //resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用客户标签与系统标签绑定接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + //TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\客户标签与系统标签绑定\{nowDate.ToString("HH")}.txt", resJson); + // 如果操作失败 + message = response?.message ?? "MES接口返回失败状态"; + //mesResType = GetMesResType(response?.category); + //return MesResult.Fail(message, mesResType, rawJson); + return (success, message, mesResType); + } + } + catch (Exception ex) + { + //// 捕获异常并记录日志 + //resJson = $"客户标签与系统标签绑定接口发生异常:{ex.Message}"; + //LoggerHelp.WriteLog($"客户标签与系统标签绑定接口{ex}"); + // 捕获异常并记录日志 + message = $"客户标签与系统标签绑定接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("客户标签与系统标签绑定接口", ex); + //return MesResult.Fail(message, MesResType.B, rawJson); + return (success, message, mesResType); + } + + // 返回结果 + //return (res, mesMessage, mesResType); + } + + /// + /// 客户标签与系统标签绑定返回数据处理 + /// + /// + /// + /// + /// + private void ProcessBindingResponse(MesResponse response, ref string message, ref MesResType mesResType) + { + if (response != null) + { + message = response.message; + if (response.success) + { + mesResType = MesResType.D; + message = "MES客户标签与系统标签绑定成功"; + } + else + { + //mesResType = GetMesResType(response.category); + } + } + else + { + message = "响应数据为空"; + mesResType = MesResType.B; + } + } + #endregion + + private List GetTagDataVOList(BGearEntity m, string insertTime, string equipNum,Payload1 payload1) + { + //var AGearList = + + List datavolist = new List(); + + string strFileName = System.Environment.CurrentDirectory + "\\采集项目表.csv"; + + FileStream fileStream = new FileStream(strFileName, FileMode.Open, FileAccess.Read, FileShare.Read); + StreamReader streamReader = new StreamReader(fileStream); + _ = streamReader.ReadLine(); + while (!streamReader.EndOfStream) + { + string line = streamReader.ReadLine(); + string[] keys = line.Split(new string[] { "," },StringSplitOptions.RemoveEmptyEntries); + if (keys.Length == 3) + { + var temp = m.GetType().GetProperty(keys[1]).GetValue(m, null); + if (keys[1] == "TestTime" && string.IsNullOrEmpty(insertTime)) + { + datavolist.Add(new TagDataVOListItem() + { + tagCode = keys[0], + tagValue = insertTime,//m + tagTime = DateTime.Now.ToString(), + tagCalculateResult = "Y", + tagRemark = keys[2] + }); + } + else + { + datavolist.Add(new TagDataVOListItem() + { + tagCode = keys[0], + tagValue = temp == null ? "0" : temp.ToString(),//m + tagTime = DateTime.Now.ToString(), + tagCalculateResult = "Y", + tagRemark = keys[2] + }); + } + } + } + + //return datavolist; + //} + + //#region 本地字段没有,手动赋值 + + //{//非Y项//工序名称 + // // 产线名称 + // // 设备编号 + // //操作员 + // //班次 + // //生产型号 + + // // 工厂名称 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "factory_name", + // tagValue = payload1.siteCode, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "工厂名称" + // }); + // // 工序名称 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "process_name", + // tagValue = m.CSBYHPROCESSNAME, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "工序名称" + // }); + // // 产线名称 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "production_line_name", + // tagValue = payload1.lineCode, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "产线名称" + // }); + // // 设备编码 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "equipment_id", + // tagValue = equipNum, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "设备编码" + // }); + // // 操作员 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "operator", + // tagValue = payload1.userName, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "操作员" + // }); + // // 班次 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "work_shift", + // tagValue = m.CSBYHSCHEDULE, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "班次" + // }); + // // 生产型号 + // datavolist.Add(new TagDataVOListItem() + // { + // tagCode = "product_model", + // tagValue = payload1.materialCode, + // tagTime = DateTime.Now.ToString(), + // tagCalculateResult = "", + // tagRemark = "生产型号" + // }); + //} + + //#endregion + + return datavolist; + } + + + #region 12、设备状态 + /// + /// 设备状态 + /// + /// API URL + /// 站点代码 + /// 生产线代码 + /// 设备编号 + /// 物料代码 + /// 用户名 + /// 唯一标识 + /// 状态代码 + /// 故障代码列表 + /// 返回操作结果和消息 + public async Task<(bool Success, string ResJson)> UploadEquStatusAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, string guid, string statusCode, List faultCodes) + { + bool res = false; + string resJson = ""; + + try + { + DateTime nowDate = DateTime.Now; + string sNowDate = nowDate.ToString("yyyy-MM-dd HH:mm:ss"); + + var parameters = new EqpStatusParam + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + materialCode = materialCode, + userName = userName, + seatId = "", + recordDate = sNowDate, + statusCode = statusCode.ToString(), + uploadTime = sNowDate, + guid = guid + }; + + // 设置故障代码列表 + parameters.faultCodeList = faultCodes; + + var postcontent = JsonConvert.SerializeObject(parameters); + var sw = Stopwatch.StartNew(); + + // 异步调用 + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + sw.Stop(); + + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{sNowDate}:调用设备运行状态接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备运行状态\{nowDate.ToString("HH")}.txt", resJson); + return (res, resJson); + } + + var res1 = ReturnMesMsg(result); + if (!res1.success) + { + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + resJson = $"{sNowDate}:调用设备运行状态接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备运行状态\{nowDate.ToString("HH")}.txt", resJson); + } + else + { + res = true; + resJson = $"{sNowDate}:调用设备运行状态接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备运行状态\{nowDate.ToString("HH")}.txt", resJson); + } + } + catch (Exception ex) + { + resJson = $"设备运行状态接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("设备运行状态接口", ex); + } + + return (res, resJson); + } + #endregion + + #region 13、设备报警上传接口 + /// + /// 设备报警上传接口 + /// + /// API URL + /// 站点代码 + /// 生产线代码 + /// 设备编号 + /// 物料代码 + /// 用户名 + /// 报警数据列表 + /// 唯一标识 + /// 返回操作结果和消息 + public async Task<(bool Success, string Mesage)> UploadEquAlarmAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List alarmObj, string guid) + { + bool res = false; + string resJson = ""; + string mesage = ""; // 用于存储消息 + + try + { + var nowDate = DateTime.Now; + + if (alarmObj.Count > 0) + { + Console.WriteLine($"{nowDate}: 开始处理报警数据,数量:{alarmObj.Count}"); + + var model = new UploadAlarmParam + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + materialCode = materialCode, + userName = userName, + recordDate = nowDate.ToString("yyyy-MM-dd HH:mm:ss"), + guid = guid, + seatId = "" + }; + + model.alarmLineList = new List(); + for (int j = 0; j < alarmObj.Count; j++) + { + AlarmLineListItem alarmList = new AlarmLineListItem + { + alarmEndTime = System.Convert.ToString(alarmObj[j].EndTime), + alarmType = alarmObj[j].AlarmType, + alarmName = alarmObj[j].AlarmContent, + alarmStartTime = System.Convert.ToString(alarmObj[j].StartTime), + faultCode = alarmObj[j].AlarmCode + }; + model.alarmLineList.Add(alarmList); + + Console.WriteLine($"{nowDate}: 添加报警数据 - 报警类型:{alarmObj[j].AlarmType}, 报警内容:{alarmObj[j].AlarmContent}"); + } + + var postcontent = JsonConvert.SerializeObject(model); + Console.WriteLine($"{nowDate}: 请求数据已序列化:{postcontent}"); + + var sw = Stopwatch.StartNew(); + Console.WriteLine($"{nowDate}: 开始调用设备报警信息接口"); + + // 异步调用 + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + sw.Stop(); + Console.WriteLine($"{nowDate}: 接口调用完成,耗时:{sw.ElapsedMilliseconds}ms"); + + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备报警信息接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\报警信息\{nowDate.ToString("HH")}.txt", resJson); + Console.WriteLine($"{nowDate}: 接口返回结果为空"); + return (res, mesage); + } + + var res1 = ReturnMesMsg(result); + if (!res1.success) + { + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + mesage = res1.message; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备报警信息接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\报警信息\{nowDate.ToString("HH")}.txt", resJson); + Console.WriteLine($"{nowDate}: 接口调用失败,消息:{mesage}"); + } + else + { + res = true; + mesage = res1.message; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备报警信息接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\报警信息\{nowDate.ToString("HH")}.txt", resJson); + Console.WriteLine($"{nowDate}: 接口调用成功,消息:{mesage}"); + } + } + else + { + Console.WriteLine($"{nowDate}: 报警数据为空,无需处理"); + } + } + catch (Exception ex) + { + resJson = $"调用设备报警信息接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("调用设备报警信息接口", ex); + Console.WriteLine($"{DateTime.Now}: 发生异常:{ex.Message}"); + } + + return (res, mesage); + } + #endregion + + #region 14、上传设备能耗数据 + /// + /// 上传设备能耗数据 + /// + /// API URL + /// 站点代码 + /// 生产线代码 + /// 设备编号 + /// 用户名 + /// 电表编号列表 + /// 能耗数据列表 + /// 返回操作结果和日志信息 + public async Task<(bool Success, string Mesage)> UploadEquEnergyAsync(string url, string siteCode, string lineCode, string equipNum, string userName, List electricMeterNum, List wattrs) + { + bool res = false; + string mesage = ""; + + try + { + var nowDate = DateTime.Now; + Console.WriteLine($"{nowDate}: 开始处理设备能耗数据"); + + // 序列化请求数据 + var postcontent = JsonConvert.SerializeObject(wattrs); + Console.WriteLine($"{nowDate}: 请求数据已序列化:{postcontent}"); + + var sw = Stopwatch.StartNew(); + Console.WriteLine($"{nowDate}: 开始调用设备能耗信息接口"); + + // 异步调用 + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + sw.Stop(); + Console.WriteLine($"{nowDate}: 接口调用完成,耗时:{sw.ElapsedMilliseconds}ms"); + + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + mesage = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备能耗信息接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备能耗信息\{nowDate.ToString("HH")}.txt", mesage); + Console.WriteLine($"{nowDate}: 接口返回结果为空"); + return (res, mesage); + } + + var res1 = ReturnMesMsg(result); + if (!res1.success) + { + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + mesage = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备能耗信息接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备能耗信息\{nowDate.ToString("HH")}.txt", mesage); + Console.WriteLine($"{nowDate}: 接口调用失败,返回结果:{resData}"); + } + else + { + res = true; + mesage = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用设备能耗信息接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\设备能耗信息\{nowDate.ToString("HH")}.txt", mesage); + Console.WriteLine($"{nowDate}: 接口调用成功,返回结果:{result}"); + } + } + catch (Exception ex) + { + mesage = $"调用设备能耗信息接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("调用设备能耗信息接口", ex); + Console.WriteLine($"{DateTime.Now}: 发生异常:{ex.Message}"); + } + + return (res, mesage); + } + #endregion + + #region 15、风速仪数据上传至MES + /// + /// 风速仪数据上传至MES + /// + /// API URL + /// 设备编号 + /// 风速仪编号列表 + /// 采集数据列表 + /// 返回操作结果和消息 + public async Task<(bool Success, string Mesage)> UploadDeviceCollectDataAsync(string url, string equipNum, List antiDustAirSpeedNum, List collectData) + { + bool res = false; + string resJson = ""; + string mesage = ""; // 用于存储消息 + + try + { + if (collectData == null || collectData.Count == 0) + { + mesage = "采集数据为空,无需处理"; + Console.WriteLine($"{DateTime.Now}: {mesage}"); + return (res, mesage); + } + + var nowDate = DateTime.Now; + Console.WriteLine($"{nowDate}: 开始处理风速仪数据"); + + // 创建请求模型 + UploadDeviceCollectData uploadDevice = new UploadDeviceCollectData + { + appid = "e1012966a936170c6fcab98e24042d10", + device_code = equipNum, + collect_time = GetUnixTimestamp() + }; + + // 填充采集数据 + List list = new List(); + for (int i = 0; i < collectData.Count; i++) + { + Collect_code_value_list _Value_List = new Collect_code_value_list + { + target_code = 5, + target_value = collectData[i].ToString(), + target_value_tag = antiDustAirSpeedNum[i] + }; + list.Add(_Value_List); + + Console.WriteLine($"{nowDate}: 添加采集数据 - 风速仪编号:{antiDustAirSpeedNum[i]}, 采集值:{collectData[i]}"); + } + uploadDevice.collect_code_value_list = list; + + // 序列化请求数据 + string postcontent = JsonConvert.SerializeObject(uploadDevice); + Console.WriteLine($"{nowDate}: 请求数据已序列化:{postcontent}"); + + var sw = Stopwatch.StartNew(); + Console.WriteLine($"{nowDate}: 开始调用风速接口"); + + // 异步调用 + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + sw.Stop(); + Console.WriteLine($"{nowDate}: 接口调用完成,耗时:{sw.ElapsedMilliseconds}ms"); + + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用风速接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\风速信息\{nowDate.ToString("HH")}.txt", resJson); + mesage = "接口返回结果为空"; + Console.WriteLine($"{nowDate}: {mesage}"); + return (res, mesage); + } + + var res1 = ReturnMesMsg(result); + if (!res1.success) + { + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + mesage = res1.message; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用风速接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\风速信息\{nowDate.ToString("HH")}.txt", resJson); + Console.WriteLine($"{nowDate}: 接口调用失败,消息:{mesage}"); + } + else + { + res = true; + mesage = res1.message; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用风速接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\风速信息\{nowDate.ToString("HH")}.txt", resJson); + Console.WriteLine($"{nowDate}: 接口调用成功,消息:{mesage}"); + } + } + catch (Exception ex) + { + resJson = $"调用风速接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("调用风速接口", ex); + Console.WriteLine($"{DateTime.Now}: 发生异常:{ex.Message}"); + } + + return (res, mesage); + } + #endregion + + + /// + /// 序列化各类返回 + /// + /// + /// + /// + private T ReturnMesMsg(string ret) + { + + try + { + return JsonConvert.DeserializeObject(ret); + } + catch (System.Exception ex) + { + return default(T); + } + } + + public List GetMesType(int Num) + { + List mesResTypes = new List(); + for (int i = 0; i < Num; i++) + { + mesResTypes.Add(MesResType.B); + } + return mesResTypes; + } + + + public List GetListString(int Num, string str) + { + List mesResTypes = new List(); + for (int i = 0; i < Num; i++) + { + mesResTypes.Add(str); + } + return mesResTypes; + } + + + /// + ///本地时间为Unix时间戳 + /// + /// + public static long GetUnixTimestamp() + { + return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; + } + + public Task<(bool Success, string ResJson)> ParamChangeAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List paramChangeItems) + { + throw new NotImplementedException(); + } + + + //public Task<(bool Success, string ResJson)> ProductProcessParamAsync(string url, string siteCode, string userName, string equipNum, string lineCode, string materialCode, MesUploadType unloadType, List productProcessParam) + //{ + // throw new NotImplementedException(); + //} + + + //#endregion + + + #region 17、自动分档接口 + public async Task<(bool Success, List MesLevel, List MesPassage, List MesMessage)> GetOCVShiftAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode, string materialCode, string userName, List barCodeList) + { + bool res = false; + string resJson = ""; + List mesLevel = GetListString(barCodeList.Count, "1"); + List mesPassage = GetListString(barCodeList.Count, ""); // 通道 + List mesMessage = GetListString(barCodeList.Count, "");// 信息 + //List mesPassagewayNum = GetListString(barCodeList.Count, ""); // + + try + { + DateTime nowDate = DateTime.Now; + string sNowDate = nowDate.ToString("yyyy/MM/dd HH:mm:ss"); + + var parameters = new GetOCVShift + { + siteCode = siteCode, + lineCode = lineCode, + equipNum = equipNum, + recordDate = sNowDate, + qty = barCodeList.Count.ToString(), + containerCode = containerCode, + materialCode = materialCode, + userName = userName, + materiallotCodeList = barCodeList, + }; + + var postcontent = JsonConvert.SerializeObject(parameters); + var sw = Stopwatch.StartNew(); + + // 异步调用 + string result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, postcontent, false); + + sw.Stop(); + + if (string.IsNullOrEmpty(result)) + { + string resData = result == "" ? "" : result; + resJson = $"{sNowDate}:调用自动分档接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\自动分档\{nowDate.ToString("HH")}.txt", resJson); + return (res, mesLevel, mesPassage, mesMessage); + } + + var res1 = ReturnMesMsg(result); + if (!res1.success) + { + var resData = res1 == null ? "" : JsonConvert.SerializeObject(res1); + resJson = $"{sNowDate}:调用自动分档接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\自动分档\{nowDate.ToString("HH")}.txt", resJson); + } + else + { + res = true; + //GetDMCMesResData(res1, barCodeList, ref mesLevel, ref mesPassage, ref mesMessage); + resJson = $"{sNowDate}:调用自动分档接口:{url},请求数据为:{postcontent},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{JsonConvert.SerializeObject(result)}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\自动分档\{nowDate.ToString("HH")}.txt", resJson); + } + } + catch (Exception ex) + { + resJson = $"自动分档接口发生异常:{ex.Message}"; + LogHelper.Instance.WriteEX("自动分档接口", ex); + } + + return (res, mesLevel, mesPassage, mesMessage); + } + + #endregion + + #region 18、获取OCV数据 + public async Task<(bool Success, string Mesage, MesData data)> GetOcvListAsync(string url, string warehouseCode, string customerCode, List barCodeList) + { + bool res = false; // 操作结果 + string mesage = ""; // 消息 + string result = string.Empty; + var nowDate = DateTime.Now; + MesData mesData = new MesData(); + string resJson = ""; + try + { + var request = new + { + warehouseCode = warehouseCode, + customerCode = customerCode, + stdSnList = barCodeList + }; + + var sw = Stopwatch.StartNew(); + // 异步调用 + result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, request, true); + sw.Stop(); + + if (string.IsNullOrEmpty(result)) + { + var resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用获取OCV信息接口:{url},请求数据为:{JsonConvert.SerializeObject(request)},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\获取OCV信息\{nowDate.ToString("HH")}.txt", resJson); + mesage = "MES未返回数据"; + return (res, mesage, null); + } + + res = true; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用获取OCV信息接口:{url},请求数据为:{JsonConvert.SerializeObject(request)},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\获取OCV信息\{nowDate.ToString("HH")}.txt", resJson); + + // 处理MES响应数据 + + //var data = ProcessMESResponse(result); + //if (data == null) + //{ + // mesage = $"条码{barCodeList[0]}的MES数据处理失败"; + // return (res, mesage, data); + //} + //else + //{ + + // //处理成功 + // return (res, mesage, data); + //} + + } + catch (Exception ex) + { + resJson = $"获取OCV信息异常:{ex.Message}"; + mesage = $"获取OCV信息异常:{ex.Message}"; + LogHelper.Instance.WriteEX("获取OCV接口", ex); + } + + return (res, mesage, mesData); + } + #endregion + + #region 19、翻包设备上传绑定信息接口-内箱翻内箱(适用于G11仓) + public async Task<(bool Success, string MesMessage, MesResType MesResType)> GetAroundBagListAsync(string url, string warehouseCode, string customerCode, string CardBarcode, List InnerBoxLabelLists) + { + bool res = false; // 操作结果 + string mesage = ""; // 用于存储消息 + MesResType mesResType = MesResType.A; // 默认为 NG + + string result = string.Empty; + var nowDate = DateTime.Now; + string resJson = ""; + try + { + var model = new WmsUpload + { + warehouseCode = warehouseCode, + customerCode = customerCode, + equipmentCode = "0019", + equipmentName = "19号翻包机", + trayLabel = CardBarcode, + }; + //托盘详细信息 + model.innerBoxLabelList = InnerBoxLabelLists; + + var sw = Stopwatch.StartNew(); + // 异步调用 + result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, model, true); + sw.Stop(); + + if (string.IsNullOrEmpty(result)) + { + var resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:翻包设备上传绑定信息接口(内箱翻内箱):{url},请求数据为:{JsonConvert.SerializeObject(model)},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\翻包上传绑定信息\{nowDate.ToString("HH")}.txt", resJson); + mesage = "WMS返回数据为空"; + return (res, mesage, mesResType); + } + + // 处理MES响应数据 + var res1 = ReturnMesMsg(result); + res = true; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:翻包设备上传绑定信息接口(内箱翻内箱):{url},请求数据为:{JsonConvert.SerializeObject(model)},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\翻包上传绑定信息\{nowDate.ToString("HH")}.txt", resJson); + + mesage = res1.message; + + if (res1.result) + { + mesResType = MesResType.D; //MES OK + + } + + } + catch (Exception ex) + { + resJson = $"翻包上传绑定信息异常:{ex.Message}"; + LogHelper.Instance.WriteEX("翻包上传绑定信息", ex); + } + + return (res, mesage, mesResType); + } + + + #endregion + + #region 18、获取VDA数据 + public async Task<(bool Success, string Mesage, DataItem data)> GetVDAListAsync(string url, string warehouseCode, string customerCode, string CardBarcode) + { + bool res = false; // 操作结果 + string mesage = ""; // 消息 + string result = string.Empty; + var nowDate = DateTime.Now; + DataItem mesData = new DataItem(); + string resJson = ""; + try + { + var request = new VdaGetData + { + warehouseCode = warehouseCode, + customerCode = customerCode, + labelTemplateCode = "VDA-C", + codeDataList = new List + { + new CodeData { trayLabel = CardBarcode } + } + }; + + var sw = Stopwatch.StartNew(); + // 异步调用 + result = await MESApiHelper.SendRequestStringAsync(url, HttpMethod.Post, request, true); + sw.Stop(); + + if (string.IsNullOrEmpty(result)) + { + var resData = result == "" ? "" : result; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用翻包拉取不完整VDA信息接口:{url},请求数据为:{JsonConvert.SerializeObject(request)},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resData}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\拉取不完整VDA信息\{nowDate.ToString("HH")}.txt", resJson); + mesage = "MES未返回数据"; + return (res, mesage, null); + } + + res = true; + resJson = $"{nowDate.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用翻包拉取不完整VDA信息接口:{url},请求数据为:{JsonConvert.SerializeObject(request)},\n{nowDate.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{result}"; + TxtHelper.WriteTxt($@"D:\APILog\Logs\MesLogs\{nowDate.ToString("yyyyMMdd")}\拉取不完整VDA信息\{nowDate.ToString("HH")}.txt", resJson); + + // 处理MES响应数据 + + var data = ProcessMESResponse(result); + if (data == null) + { + mesage = $"底托卡板条码{CardBarcode}获取VDA接口dataList失败"; + return (res, mesage, mesData); + } + else + { + + //处理成功 + return (res, mesage, data); + } + + } + catch (Exception ex) + { + resJson = $"拉取不完整VDA信息异常:{ex.Message}"; + mesage = $"拉取不完整VDA信息异常:{ex.Message}"; + LogHelper.Instance.WriteEX("拉取不完整VDA接口", ex); + } + + return (res, mesage, mesData); + } + + /// + /// 处理MES系统返回的数据 + /// + /// + /// + private DataItem ProcessMESResponse(string response) + { + if (string.IsNullOrEmpty(response)) + { + return null; + } + + try + { + var (success, data) = ParseMESData(response); + return success ? data : null; + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX("处理MES响应时发生错误", ex); + return null; + } + } + + private (bool success, DataItem data) ParseMESData(in string jsonResponse) + { + // 使用 JObject 动态解析 JSON 数据 + var jsonObject = JObject.Parse(jsonResponse); + + // 使用模式匹配和空值检查 + if (!(jsonObject["result"] is JToken resultToken) || + //!resultToken.ToObject() || + !(jsonObject["dataList"] is JArray dataList) || + dataList.Count == 0) + { + return (false, null); + } + + var dataObject = dataList[0] as JObject; + if (dataObject == null) + { + return (false, null); + } + + return (true, new DataItem + { + receiver = GetStringValue(dataObject, "receiver"),//1 + unloading = GetStringValue(dataObject, "unloading"),//2 + adciveNo = GetStringValue(dataObject, "adciveNo"),//3 暂时不使用 数字+条形码(格式为39码) + supplier = GetStringValue(dataObject, "supplier"),//4 + netWeight = GetStringValue(dataObject, "netWeight"),//5 + groWeight = GetStringValue(dataObject, "groWeight"),//6 + noBoxes = GetStringValue(dataObject, "noBoxes"),//7 + partNo = GetStringValue(dataObject, "partNo"),//8 数字+条形码(格式为39码) + bmwDmc = GetStringValue(dataObject, "bmwDmc"),//8-1 二维码 + bmwDmcJYA = GetStringValue(dataObject, "bmwDmcJYA"),//8-1 二维码(解析后) + + quantity = GetStringValue(dataObject, "quantity"),//9 数字+条形码(格式为39码) + skuDescr = GetStringValue(dataObject, "skuDescr"),//10 + sku = GetStringValue(dataObject, "sku"),//11.1 + packageNo = GetStringValue(dataObject, "packageNo"),//11.2 + spid = GetStringValue(dataObject, "spid"),//12 数字+条形码(格式为39码) + date = GetStringValue(dataObject, "date"),//13 + drawNo = GetStringValue(dataObject, "drawNo"),//14 + serialNo = GetStringValue(dataObject, "serialNo"),//15 数字+条形码(格式为39码) + batchNo = GetStringValue(dataObject, "batchNo"),//16 数字+条形码(格式为39码) + + //TestTime = GetDateTimeValue(dataObject, "TestTime"), + //OCV5 = GetDoubleValue(dataObject, "OCV5"), + //OCVTIME1 = GetDateTimeValue(dataObject, "OCVTIME1"), + }); + } + + // 辅助方法,使用 C# 7.3 的 in 参数 + private string GetStringValue(in JObject obj, in string propertyName) + => obj[propertyName]?.ToString(); + + private double? GetDoubleValue(in JObject obj, in string propertyName) + { + if (obj[propertyName] is JToken token && token.Type != JTokenType.Null) + { + try + { + return token.ToObject(); + } + catch + { + //LogError($"转换属性 {propertyName} 到 double 类型失败"); + return null; + } + } + return null; + } + + private DateTime? GetDateTimeValue(in JObject obj, in string propertyName) + { + if (obj[propertyName] is JToken token && token.Type != JTokenType.Null) + { + try + { + return token.ToObject(); + } + catch + { + //LogError($"转换属性 {propertyName} 到 DateTime 类型失败"); + return null; + } + } + return null; + } + #endregion + } +} diff --git a/JinYuan.MES/Models/BatteryInfo.cs b/JinYuan.MES/Models/BatteryInfo.cs new file mode 100644 index 0000000..cc19902 --- /dev/null +++ b/JinYuan.MES/Models/BatteryInfo.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; + +namespace JinYuan.MES.Models +{ + + /// + /// 卡板电芯信息上传(装箱)接口参数类 + /// + public class PackParam + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 卡板码(箱唛号) + /// + public string ContainerCode { get; set; } + public int capacity { get; set; } + /// + /// 档位 + /// + public string grade { get; set; } + public string materialCode { get; set; } + /// + /// 电芯信息列表 + /// + public List cellDataVOList { get; set; } + }; + + + public class BatteryInfo + { + //电芯条码 + public string identification { get; set; } + + //电芯条码位置 + public string locationBat { get; set; } + } +} diff --git a/JinYuan.MES/Models/BindingParam.cs b/JinYuan.MES/Models/BindingParam.cs new file mode 100644 index 0000000..563c968 --- /dev/null +++ b/JinYuan.MES/Models/BindingParam.cs @@ -0,0 +1,49 @@ +using System.Collections.Generic; + +namespace JinYuan.MES.Models +{ + + /// + /// 客户标签与系统标签绑定 + /// + public class BindingParam + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 卡板码 + /// + public string containerCode { get; set; } + /// + /// 栈板码 + /// + public string palletCode { get; set; } + /// + /// 客户箱唛码 + /// + public string custcartonCode { get; set; } + /// + /// 客户栈板码 + /// + public string custpalletCode { get; set; } + /// + /// 客户箱唛信息 + /// + public List custcarton { get; set; } + /// + /// 客户栈板信息 + /// + public List custpallet { get; set; } + }; + +} diff --git a/JinYuan.MES/Models/CartonParam.cs b/JinYuan.MES/Models/CartonParam.cs new file mode 100644 index 0000000..fbf868a --- /dev/null +++ b/JinYuan.MES/Models/CartonParam.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; + +namespace JinYuan.MES.Models +{ + + /// + /// 箱唛/栈板信息获取接口参数类 + /// + public class QueryCartonPalletParam + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 卡板码 + /// + public string containerCode { get; set; } + }; + +} diff --git a/JinYuan.MES/Models/EqpStatusParam.cs b/JinYuan.MES/Models/EqpStatusParam.cs new file mode 100644 index 0000000..f74c546 --- /dev/null +++ b/JinYuan.MES/Models/EqpStatusParam.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 设备状态上传接口参数类 + /// + public class EqpStatusParam + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 物料编码 + /// + public string materialCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// 库位ID + /// + public string seatId { get; set; } + /// + /// 采集时间 + /// + public string recordDate { get; set; } + /// + /// 设备状态 。Run:(正常运行)、Alert:(故障调试)、Idle:(闲置待机)、Maintain(停止运行) + /// + public string statusCode { get; set; } + /// + /// 状态变更时间 + /// + public string uploadTime { get; set; } + /// + /// 唯一标识符号 + /// + public string guid { get; set; } + /// + /// 故障代码数组 + /// + public List faultCodeList { get; set; } + } + + public class FaultCodeList + { + /// + /// 故障代码 + /// + public string faultCode { get; set; } + } +} diff --git a/JinYuan.MES/Models/GetOCVShift.cs b/JinYuan.MES/Models/GetOCVShift.cs new file mode 100644 index 0000000..bd4d51b --- /dev/null +++ b/JinYuan.MES/Models/GetOCVShift.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + internal class GetOCVShift + { + /// + /// 站点编码 + /// + public string siteCode { get; set; } + /// + /// 产线编码 + /// + public string lineCode { get; set; } + /// + /// 设备编码 + /// + public string equipNum { get; set; } + /// + /// 采集时间 + /// + public string recordDate { get; set; } + /// + /// 传入条码的个数 + /// + public string qty { get; set; } + /// + /// 托盘码 + /// + public string containerCode { get; set; } + /// + /// 物料编码 + /// + public string materialCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// 条码数组 + /// + public List materiallotCodeList { get; set; } + } +} diff --git a/JinYuan.MES/Models/LoginEnyity.cs b/JinYuan.MES/Models/LoginEnyity.cs new file mode 100644 index 0000000..e1a6b71 --- /dev/null +++ b/JinYuan.MES/Models/LoginEnyity.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 登录 + /// + public class LoginEntity + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// 员工密码 + /// + public string passWord { get; set; } + /// + /// 刷卡员工账号 + /// + public string userCardID { get; set; } + } +} diff --git a/JinYuan.MES/Models/ManyCellInStation.cs b/JinYuan.MES/Models/ManyCellInStation.cs new file mode 100644 index 0000000..942667b --- /dev/null +++ b/JinYuan.MES/Models/ManyCellInStation.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + + /// + /// 多个电池进站 + /// + public class ManyCellInStation + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 物料编码 + /// + public string materialCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + + /// + /// 产品类型 + /// + public string productType { get; set; } + /// + /// 电芯条码 + /// + // public List identificationList { get; set; } + public string identification { get; set; } + /// + /// 容器条码 + /// + public List containerCodeList { get; set; } + } + +} diff --git a/JinYuan.MES/Models/ManyCellOutStation.cs b/JinYuan.MES/Models/ManyCellOutStation.cs new file mode 100644 index 0000000..f24f94e --- /dev/null +++ b/JinYuan.MES/Models/ManyCellOutStation.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + + /// + /// 多个电池出站 × + /// + public class ManyCellOutStation + { + /// + /// + /// + public string siteCode { get; set; } + /// + /// + /// + public string lineCode { get; set; } + /// + /// + /// + public string equipNum { get; set; } + /// + /// + /// + public string materialCode { get; set; } + /// + /// + /// + public string userName { get; set; } + /// + /// 产品类型 + /// + public string productType { get; set; } + /// + /// 完工数 + /// + public string completeQty { get; set; } + /// + /// 托盘码 + /// + public string containerCode { get; set; } + /// + /// 1:通用出站;2:合芯出站;3:虚拟码替换出站;4:追溯标识替换出站;5:合芯有顶盖出站 + /// + public int type { get; set; } + + /// + /// 条码数组 + /// + public List identiftyList { get; set; } + + } + + + public class identiftyList + { + + /// + /// 产品条码 + /// + public string identification { get; set; } + /// + /// 原材料信息 + /// + public List materialLotList = new List(); + /// + /// 原材料条码 + /// + public string materialLotCode { get; set; } + /// + /// 原材料上料位置 + /// + public string materialLotCodeLocator { get; set; } + /// + /// 质量状态 + /// + public string qualityStatus { get; set; } + /// + /// 关联条码 + /// + public string qrCode { get; set; } + /// + /// NG编码 + /// + public List ngCode = new List(); + /// + /// NG错误信息 + /// + public string ngMessage = ""; + + } + + +} diff --git a/JinYuan.MES/Models/MesResponse.cs b/JinYuan.MES/Models/MesResponse.cs new file mode 100644 index 0000000..250147f --- /dev/null +++ b/JinYuan.MES/Models/MesResponse.cs @@ -0,0 +1,390 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 执行结果 + /// + public class MesResponse + { + /// + /// 错误代码 错误代码,成功不返回 + /// + public string code { get; set; } + /// + /// 数据处理消息 成功不返回 + /// + public string message { get; set; } + /// + /// 成功标识 false失败 true 成功 + /// + public bool success { get; set; } + } + + + + + + #region 获取箱唛信息 + public class MesResponseCarton + { + /// + /// 返回箱唛信息参数 + /// + public List rows { get; set; } + /// + /// MES信息返回成功标识 false失败 true 成功,整盘绑定无问题允许放行:true;箱唛还没完全绑定成功:false + /// + public bool success { get; set; } + /// + /// 返回错误代码:成功200,错误204 + /// + public string code { get; set; } + /// + /// 返回报错消息类型:A:停线、B:排出、C:忽略(需警示) + /// + public string category { get; set; } + /// + /// 返回失败原因 + /// + public string message { get; set; } + } + + public class TagInfo + { + /// + /// 箱唛信息参数代码 + /// + public string tagCode { get; set; } + /// + /// 箱唛信息参数值 + /// + public string tagValue { get; set; } + } + + #endregion + + + #region 获取栈板信息 + + public class PalletRow + { + /// + /// 栈板编码 + /// + public string palletCode { get; set; } + /// + /// 标签信息列表 + /// + public List tagList { get; set; } + } + + public class MesResponsePallet + { + /// + /// 返回栈板信息参数 + /// + public List rows { get; set; } + /// + /// MES信息返回成功标识 false失败 true 成功,整盘绑定无问题允许放行:true;箱唛还没完全绑定成功:false + /// + public bool success { get; set; } + /// + /// 返回错误代码:成功200,错误204 + /// + public string code { get; set; } + /// + /// 返回报错消息类型:A:停线、B:排出、C:忽略(需警示) + /// + public string category { get; set; } + /// + /// 返回失败原因 + /// + public string message { get; set; } + } + #endregion + + + #region 员工校验反馈 + public class MesResponseLogin + { + /// + /// 返回参数 + /// + // public List rows { get; set; } + public List rows { get; set; } + /// + /// 错误代码 错误代码,成功不返回 + /// + public string code { get; set; } + /// + /// MES信息返回成功标识 false失败 true 成功 + /// + public bool success { get; set; } + /// + /// 数据处理消息 成功不返回 + /// + public string message { get; set; } + /// + /// 报错消息类型 A=停线,B=排出,C=忽略(需警示) + /// + public string category { get; set; } + /// + /// 返回参数条数 + /// + public int total { get; set; } + } + public class RowsItemLogin + { + /// + /// 用户名 + /// + public string username { get; set; } + /// + /// 用户名权限 + /// + public string permissionLevel { get; set; } + } + #endregion + + #region 自动分档返回接口 + public class MesResponseGrad + { + /// + /// 返回参数 + /// + public List rows { get; set; } + /// + /// MES信息返回成功标识 false失败 true 成功 + /// + public bool success { get; set; } + /// + /// 返回参数条数 + /// + public int total { get; set; } + } + + public class RowsItemGrad + { + /// + /// 返回成品条码 + /// + public string identification { get; set; } + /// + /// 返回等级 + /// + public string level { get; set; } + /// + /// + /// + public string rank { get; set; } + /// + /// 返回通道 + /// + public string passage { get; set; } + /// + /// 返回信息 + /// + public string message { get; set; } + /// + /// + /// + public string ngType { get; set; } + /// + /// + /// + //public string passagewayNum { get; set; } + } + #endregion + + #region 获取OCV返回接口 + public class MESOCVResponse + { + public bool result { get; set; } + public string code { get; set; } + public string message { get; set; } + public List dataList { get; set; } + } + public class MesData + { + public string factoryCode { get; set; } + public string factoryDescription { get; set; } + public string sku { get; set; } + public string cellModel { get; set; } + public int warehouseId { get; set; } + public int customerId { get; set; } + public string TransNo { get; set; } + public string Employee { get; set; } + public DateTime? Optime { get; set; } + public DateTime? TestTime { get; set; } + public string CardID { get; set; } + public string StdSN { get; set; } + public string Thickness1 { get; set; } + public string Thickness2 { get; set; } + public string Thickness3 { get; set; } + public string Thickness4 { get; set; } + public string Thickness5 { get; set; } + public string Weighing { get; set; } + public string Resistance { get; set; } + public string CellResistance { get; set; } + public string CellVoltage { get; set; } + public string CellCapacity { get; set; } + public string insulationCurrent { get; set; } + public string OVCResistance1 { get; set; } + public string OVCResistance2 { get; set; } + public string OVCResistance3 { get; set; } + public double? OCV1 { get; set; } + public double? OCV2 { get; set; } + public double? OCV3 { get; set; } + public double? OCV4 { get; set; } + public double? OCV5 { get; set; } + public DateTime? OCVTIME1 { get; set; } + public DateTime? OCVTIME2 { get; set; } + public DateTime? OCVTIME3 { get; set; } + public DateTime? OCVTIME4 { get; set; } + public DateTime? OCVTIME5 { get; set; } + public string K1 { get; set; } + public string K2 { get; set; } + public string warehouseCodeRot { get; set; } + public string customerCodeRot { get; set; } + } + #endregion + + #region 获取VDA信息 + public class VDAResponse + { + public string result { get; set; } + public string code { get; set; } + public string message { get; set; } + public List dataList { get; set; } + } + public class DataItem + { + + public string trayLabel { get; set; } + /// + /// 1 + /// + public string receiver { get; set; } + /// + /// 2 + /// + public string unloading { get; set; } + /// + /// 3暂时不使用 数字+条形码(格式为39码) + /// + public string adciveNo { get; set; } + /// + /// 4 + /// + public string supplier { get; set; } + /// + /// 5 + /// + public string netWeight { get; set; } + /// + /// 6 + /// + public string groWeight { get; set; } + /// + /// 7 + /// + public string noBoxes { get; set; } + /// + /// 8数字+条形码(格式为39码) + /// + public string partNo { get; set; } + /// + /// 8-1 二维码 + /// + public string bmwDmc { get; set; } + /// + /// 8-1 二维码(解析后) + /// + public string bmwDmcJYA { get; set; } + /// + /// 9数字+条形码(格式为39码) + /// + public string quantity { get; set; } + /// + /// 10 + /// + public string skuDescr { get; set; } + /// + /// 11.1 + /// + public string sku { get; set; } + /// + /// 11.2 + /// + public string packageNo { get; set; } + /// + /// 12 数字+条形码(格式为39码) + /// + public string spid { get; set; } + /// + /// 13 + /// + public string date { get; set; } + /// + /// 14 + /// + public string drawNo { get; set; } + /// + /// 15 数字+条形码(格式为39码) + /// + public string serialNo { get; set; } + /// + /// 16 数字+条形码(格式为39码) + /// + public string batchNo { get; set; } + + } + + #endregion + + #region WMS上传反馈 + public class WMSResponse + { + /// + /// 结果 + /// + public bool result { get; set; } + /// + /// 错误码 + /// + public string code { get; set; } + /// + /// 信息 + /// + public string message { get; set; } + } + #endregion + + + /// + /// 执行结果Entity,带返回值 + /// + /// + public class RequestResult : MesResponse + { + public T Result { get; set; } + } + + + /// + /// 执行结果List,带返回值 + /// + /// + public class RequestResultList : MesResponse + { + public List Result { get; set; } + } + +} diff --git a/JinYuan.MES/Models/ParamChange.cs b/JinYuan.MES/Models/ParamChange.cs new file mode 100644 index 0000000..bf7146b --- /dev/null +++ b/JinYuan.MES/Models/ParamChange.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 设备参数设定值变更 + /// + public class ParamChange + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 物料编码 + /// + public string materialCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// 变更时间 + /// + public string changeTime { get; set; } + /// + /// 数据组编码 + /// + public string tagGroupCode { get; set; } + /// + /// 数据组描述 + /// + public string tagGroupDescription { get; set; } + /// + /// 数据项数组 + /// + public List tagList { get; set; } + } + public class TagListItem + { + /// + /// 数据项编码 + /// + public string tagCode { get; set; } + /// + /// 变更前计量单位 + /// + public string unitBefore { get; set; } + /// + /// 变更前标准值 + /// + public string standardValueBefore { get; set; } + /// + /// 变更前符合值 + /// + public string trueValueBefore { get; set; } + /// + /// 变更前不符合值 + /// + public string falseValueBefore { get; set; } + /// + /// 变更前最小值 + /// + public int minValueBefore { get; set; } + /// + /// 变更前最大值 + /// + public int maxValueBefore { get; set; } + /// + /// 变更后计量单位 + /// + public string unitAfter { get; set; } + /// + /// 变更后标准值 + /// + public string standardValueAfter { get; set; } + /// + /// 变更后符合值 + /// + public string trueValueAfter { get; set; } + /// + /// 变更后不符合值 + /// + public string falseValueAfter { get; set; } + /// + /// 变更后最小值 + /// + public int minValueAfter { get; set; } + /// + /// 变更后最大值 + /// + public int maxValueAfter { get; set; } + } +} diff --git a/JinYuan.MES/Models/ParamReturnData.cs b/JinYuan.MES/Models/ParamReturnData.cs new file mode 100644 index 0000000..0e4a60e --- /dev/null +++ b/JinYuan.MES/Models/ParamReturnData.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 设备参数设定值返回 + /// + public class ParamReturnData + { + /// + /// 返回参数 + /// + public List rows { get; set; } + /// + /// 成功标识 + /// + public bool success { get; set; } + /// + /// 返回参数条数 + /// + public int total { get; set; } + } + + + /// + /// 返回参数项 + /// + public class RowsItem + { + /// + /// 数据组编码 + /// + public string tagGroupCode { get; set; } + /// + /// 配方0002 + /// + public string tagGroupDescription { get; set; } + /// + /// 数据组描述 + /// + public List tagList { get; set; } + } + + /// + /// 数据组描述 + /// + public class ReturnDataTagListItem + { + /// + /// + /// + public string tagCode { get; set; } + /// + /// 真空度设定值 + /// + public string tagDescription { get; set; } + /// + /// + /// + public string valueType { get; set; } + /// + /// + /// + public string unit { get; set; } + /// + /// + /// + public string standardValue { get; set; } + /// + /// + /// + public string trueValue { get; set; } + /// + /// + /// + public string falseValue { get; set; } + /// + /// + /// + public string minValue { get; set; } + /// + /// + /// + public string maxValue { get; set; } + /// + /// + /// + public string tagRemark { get; set; } + } +} diff --git a/JinYuan.MES/Models/ProductProcessParam.cs b/JinYuan.MES/Models/ProductProcessParam.cs new file mode 100644 index 0000000..8c11595 --- /dev/null +++ b/JinYuan.MES/Models/ProductProcessParam.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 产品过程加工参数 + /// + public class ProductProcessParam + { + } +} diff --git a/JinYuan.MES/Models/ProductResultParameters.cs b/JinYuan.MES/Models/ProductResultParameters.cs new file mode 100644 index 0000000..040945d --- /dev/null +++ b/JinYuan.MES/Models/ProductResultParameters.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 结果加工参数 + /// + public class ProductResultParameters + { + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 类型单进整出:DZ 整进整出:ZZ 单进单出:DD 未传时默认按照ZZ进行数据解析 + /// + public string type { get; set; } + /// + /// 设备数据 + /// + public string payload { get; set; } + } + + /// + /// 单进整出 + /// + public class Payload1 + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// 物料编码 工单产成品物料号 + /// + public string materialCode { get; set; } + /// + /// 小车号 装载电池的小车编号 + /// + public string carCode { get; set; } + /// + /// 补录 是否属于补录数据(BL=补录,JS=及时上传) + /// + public string collection { get; set; } + /// + /// 采集时间 数据的采集时间 + /// + public string recordDate { get; set; } + /// + /// 条码数量 传入条码的个数 + /// + public int qty { get; set; } + /// + /// RFID托杯码 + /// + public string containerCode { get; set; } + /// + /// 条码数组 + /// + + public IdentificationListItem identification { get; set; } + public List tagDataVOList { get; set; } + } + + public class IdentificationListItem + { + /// /// + /// 条码 + /// + public string identification { get; set; } + /// + /// 质量状态 各产品所有参数的整体判断结果(Y/N) + /// + public string qualityStatus { get; set; } + /// + /// 采集数组 + /// + + } + + + + public class TagDataVOListItem + { + /// + /// 设备每个采集项规定的编号 + /// + public string tagCode { get; set; } + /// + /// 采集值 + /// + public string tagValue { get; set; } + /// + /// 采集项采集时间 + /// + public string tagTime { get; set; } + /// + /// 各产品所有参数的整体判断结果(Y/N) + /// + public string tagCalculateResult { get; set; } + /// + /// 采集项描述 + /// + public string tagRemark { get; set; } + } +} diff --git a/JinYuan.MES/Models/SingleCellInStation.cs b/JinYuan.MES/Models/SingleCellInStation.cs new file mode 100644 index 0000000..8728277 --- /dev/null +++ b/JinYuan.MES/Models/SingleCellInStation.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 单个电池进站 + /// + public class SingleCellInStation + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 物料编码 + /// + public string materialCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// + /// + public string identification { get; set; } + /// + /// + /// + public string productType { get; set; } + } + +} diff --git a/JinYuan.MES/Models/SingleCellOutStation.cs b/JinYuan.MES/Models/SingleCellOutStation.cs new file mode 100644 index 0000000..35c27d2 --- /dev/null +++ b/JinYuan.MES/Models/SingleCellOutStation.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + + + public class MaterialLotListItem + { + /// + /// + /// + public string materialLotCode { get; set; } + /// + /// + /// + public string materialLotCodeLocator { get; set; } + } + + public class IdentiftyListItem + { + /// + /// 条码 + /// + public string identification { get; set; } + /// + /// 质量状态 + /// + public string qualityStatus { get; set; } + /// + /// 关联条码 + /// + public string qrCode { get; set; } + /// + /// NG2信息,NG1信息 + /// + public string ngMessage { get; set; } + /// + /// + /// + public List ngCode { get; set; } + /// + /// + /// + public List materialLotList { get; set; } + } + + public class SingleCellOutStation + { + /// + /// + /// + public string siteCode { get; set; } + /// + /// + /// + public string lineCode { get; set; } + /// + /// + /// + public string equipNum { get; set; } + /// + /// + /// + public string userName { get; set; } + /// + /// + /// + public string productType { get; set; } + + public string completeQty { get; set; } + + public string materialCode { get; set; } + + /// + /// + /// + public string containerCode { get; set; } + + public string type { get; set; } + + + + public List identiftyList { get; set; } = new List(); + } + + //public class AssembleLineList + //{ + // public string identification { get; set; } + + // public string qualityStatus{ get; set; } + + // public string qrCode { get; set; } + + // public List ngCode { get; set;} = new List(); + + // public string ngMessage { get; set; } + //} + +} diff --git a/JinYuan.MES/Models/UploadAlarmParam.cs b/JinYuan.MES/Models/UploadAlarmParam.cs new file mode 100644 index 0000000..b75362b --- /dev/null +++ b/JinYuan.MES/Models/UploadAlarmParam.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + /// + /// 报警数据上传接口参数类 + /// + public class UploadAlarmParam + { + /// + /// 工厂代码 + /// + public string siteCode { get; set; } + /// + /// 产线编号 + /// + public string lineCode { get; set; } + /// + /// 设备编号 + /// + public string equipNum { get; set; } + /// + /// 物料编码 + /// + public string materialCode { get; set; } + /// + /// 员工账号 + /// + public string userName { get; set; } + /// + /// 采集时间 + /// + public string recordDate { get; set; } + /// + /// 唯一标识符号 + /// + public string guid { get; set; } + /// + /// 库位ID 库位ID,化成段用 + /// + public string seatId { get; set; } + /// + /// 报警数组 + /// + public List alarmLineList { get; set; } + } + + + /// + /// 报警数组 + /// + public class AlarmLineListItem + { + /// + /// 报警消除时间 + /// + public string alarmEndTime { get; set; } + /// + /// 报警类型 + /// + public string alarmType { get; set; } + /// + /// 报警名称 + /// + public string alarmName { get; set; } + /// + /// 报警开始时间 + /// + public string alarmStartTime { get; set; } + /// + /// 故障代码 + /// + public string faultCode { get; set; } + } +} diff --git a/JinYuan.MES/Models/UploadDeviceCollectData.cs b/JinYuan.MES/Models/UploadDeviceCollectData.cs new file mode 100644 index 0000000..3e5c756 --- /dev/null +++ b/JinYuan.MES/Models/UploadDeviceCollectData.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + internal class UploadDeviceCollectData + { + /// + /// 应用id,对应不同系统对接 + /// + public string appid { get; set; } + /// + /// 采集指标类型和具体值的集合 + /// + public List collect_code_value_list { get; set; } + /// + /// 采集时间,unix时间戳,整数类型 + /// + public long collect_time { get; set; } + /// + /// 设备编号 + /// + public string device_code { get; set; } + } + public class Collect_code_value_list + { + /// + /// 指标类型,1 温度 2湿度 3露点 4粉尘 5风速,整数类型 + /// + public int target_code { get; set; } + /// + /// 指标对应采集值,若是某个指标或某个指标的某个值未采集到,则传N + /// + public string target_value { get; set; } + /// + /// 风速仪标签,风速仪值对应target_value + /// + public string target_value_tag { get; set; } + } + + + public class UploadDeviceCollectDataResult + { + /// + /// + /// + public int status { get; set; } + /// + /// + /// + public Data data { get; set; } + /// + /// + /// + public string message { get; set; } + } + + public class Data + { + } +} diff --git a/JinYuan.MES/Models/VdaGetData.cs b/JinYuan.MES/Models/VdaGetData.cs new file mode 100644 index 0000000..a7ed3c3 --- /dev/null +++ b/JinYuan.MES/Models/VdaGetData.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + public class VdaGetData + { + /// + /// 所属仓库 + /// + public string warehouseCode { get; set; } + /// + /// 货主 + /// + public string customerCode { get; set; } + public string labelTemplateCode { get; set; } + public List codeDataList { get; set; } + } + + public class CodeData + { + public string trayLabel { get; set; } + } +} diff --git a/JinYuan.MES/Models/WattrMeter.cs b/JinYuan.MES/Models/WattrMeter.cs new file mode 100644 index 0000000..efc08a0 --- /dev/null +++ b/JinYuan.MES/Models/WattrMeter.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + public class WattrMeter + { + + /// + /// 工厂代码 + /// + public System.String siteCode { get; set; } + + /// + /// 产线编号 + /// + public System.String lineCode { get; set; } + + /// + /// 设备编号 + /// + public System.String equipNum { get; set; } + + /// + /// 电表编号 + /// + public System.String electricMeterNum { get; set; } + + /// + /// 员工账号 + /// + public System.String userName { get; set; } + + /// + /// 工序编号 + /// + public System.String specName { get; set; } + + /// + /// 采集时间 + /// + public System.String recordDate { get; set; } + + /// + /// 有功电能(累计电能)KWH + /// + public System.Decimal? accumulatedElectricity { get; set; } + + /// + /// A相电压 V + /// + public System.Decimal? phaseVoltageA { get; set; } + + /// + /// B相电压 V + /// + public System.Decimal? phaseVoltageB { get; set; } + + /// + /// C相电压 V + /// + public System.Decimal? phaseVoltageC { get; set; } + + /// + /// A相电流 + /// + public System.Decimal? phaseCurrentA { get; set; } + + /// + /// B相电流 + /// + public System.Decimal? phaseCurrentB { get; set; } + + /// + /// C相电流 + /// + public System.Decimal? phaseCurrentC { get; set; } + + /// + /// A相功率 + /// + public System.Decimal? phasePowerA { get; set; } + + /// + /// B相功率 + /// + public System.Decimal? phasePowerB { get; set; } + + /// + /// C相功率 + /// + public System.Decimal? phasePowerC { get; set; } + + /// + /// 总有功功率 + /// + public System.Decimal? activePower { get; set; } + + /// + /// 总功率因数 + /// + public System.Decimal? powerFactor { get; set; } + + /// + /// 电流变比 + /// + public System.Decimal? pt { get; set; } + + /// + /// 电压变比 + /// + public System.Decimal? ct { get; set; } + } +} diff --git a/JinYuan.MES/Models/WmsUpload.cs b/JinYuan.MES/Models/WmsUpload.cs new file mode 100644 index 0000000..a1301ea --- /dev/null +++ b/JinYuan.MES/Models/WmsUpload.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.MES.Models +{ + public class WmsUpload + { + /// + /// 所属仓库 + /// + public string warehouseCode { get; set; } + /// + /// 货主 + /// + public string customerCode { get; set; } + /// + /// 设备编码 + /// + public string equipmentCode { get; set; } + /// + /// 设备名称 + /// + public string equipmentName { get; set; } + /// + /// 底托(卡板) + /// + public string trayLabel { get; set; } + /// + /// 详细信息 + /// + public List innerBoxLabelList { get; set; } + } + + public class InnerBoxLabelInfo + { + /// + /// 外箱标签(宝马层托)托盘码 + /// + public string outerBoxLabel { get; set; } + /// + /// 内箱标签,电芯码 + /// + public string innerBoxLabel { get; set; } + /// + /// 质检结果,N-良品 Y-不良品 + /// + public string iqcState { get; set; } + /// + /// 电芯位置,G11需传该字段 + /// + public string batteriesLocation { get; set; } + } +} diff --git a/JinYuan.MES/Properties/AssemblyInfo.cs b/JinYuan.MES/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..01e120f --- /dev/null +++ b/JinYuan.MES/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.MES")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.MES")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("530b6426-08e7-461c-91dc-787f876620fc")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.MES/app.config b/JinYuan.MES/app.config new file mode 100644 index 0000000..b20d2b2 --- /dev/null +++ b/JinYuan.MES/app.config @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.MES/packages.config b/JinYuan.MES/packages.config new file mode 100644 index 0000000..e46d5a8 --- /dev/null +++ b/JinYuan.MES/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/JinYuan.Models/AGearEntity.cs b/JinYuan.Models/AGearEntity.cs new file mode 100644 index 0000000..113d2d9 --- /dev/null +++ b/JinYuan.Models/AGearEntity.cs @@ -0,0 +1,48 @@ +using JinYuan.Models.HelperAttribute; +using PLCCommunication; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace JinYuan.Models +{ + /// + /// 打标工位 + /// + public class AGearEntity + { + /// + /// 时间 + /// + [SugarColumn(IsPrimaryKey = true)] + [DataGridViewColumn(Name = "InTestTime")] + public string TestTime { get; set; } + + /// + /// 箱唛码 + /// + [DataGridViewColumn(Name = "InContainerCode")] + public string ContainerCode { get; set; } + + /// + /// 栈板码 + /// + [DataGridViewColumn(Name = "InPalletCode")] + public string PalletCode { get; set; } + + /// + /// 结果 + /// + [DataGridViewColumn(Name = "InResult")] + public string Result { get; set; } + /// + /// 备注 + /// + [DataGridViewColumn(Name = "InRemark")] + public string Remark { get; set; } + } +} diff --git a/JinYuan.Models/Alarm/AlarmData.cs b/JinYuan.Models/Alarm/AlarmData.cs new file mode 100644 index 0000000..a7af2e3 --- /dev/null +++ b/JinYuan.Models/Alarm/AlarmData.cs @@ -0,0 +1,78 @@ +using CsvHelper.Configuration.Attributes; + +namespace JinYuan.Models +{ + /// + /// 工位报警数据 + /// + public class AlarmData + { + /// + /// 报警唯一标识符 + /// + public string AlarmGuid { get; set; } + + /// + /// 报警地址 + /// + public string PLCAdress { get; set; } + + /// + /// 报警内容 + /// + public string AlarmContent { get; set; } + + /// + /// 报警代码 + /// + public string AlarmCode { get; set; } + + /// + /// 报警类型 停机报警/非停机报警 + /// + public string AlarmType { get; set; } + + /// + /// 报警开始时间 + /// + public System.String StartTime { get; set; } + + /// + /// 报警消除时间 + /// + public System.String EndTime { get; set; } + + /// + /// 报警描述 + /// + public string AlarmDesc { get; set; } + + /// + /// 报警状态 传1或0,1是开始报警,0结束报警 + /// + public string AlarmState { get; set; } + + /// + /// 更新状态 + /// + public int Flag { get; set; } + } + + public class AlarmCSVData + { + + /// + /// 报警开始时间 + /// + [Name("报警时间")] + public string StartTime { get; set; } + + /// + /// 报警内容 + /// + /// + [Name("报警内容")] + public string AlarmContent { get; set; } + + } +} diff --git a/JinYuan.Models/Alarm/AlarmStatus.cs b/JinYuan.Models/Alarm/AlarmStatus.cs new file mode 100644 index 0000000..7ea9546 --- /dev/null +++ b/JinYuan.Models/Alarm/AlarmStatus.cs @@ -0,0 +1,15 @@ +namespace JinYuan.Models +{ + public class AlarmStatus + { + /// + /// 报警地址 + /// + public string PLCAdress { get; set; } + + /// + /// 报警状态 + /// + public bool Status { get; set; } + } +} diff --git a/JinYuan.Models/AlarmCountEntry.cs b/JinYuan.Models/AlarmCountEntry.cs new file mode 100644 index 0000000..58a4e79 --- /dev/null +++ b/JinYuan.Models/AlarmCountEntry.cs @@ -0,0 +1,30 @@ +using System; + +namespace JinYuan.Models +{ + public class AlarmCountEntry + { + /// + /// PLC地址 + /// + public string PLCAdress { get; set; } + + /// + /// 报警内容 + /// + public string AlarmContent { get; set; } + + /// + /// 报警次数 + /// + public int AlarmCount { get; set; } + /// + /// 班次 + /// + public string Class { get; set; } + /// + /// 更新时间 + /// + public DateTime AlarmTime { get; set; } + } +} diff --git a/JinYuan.Models/AlarmForm.cs b/JinYuan.Models/AlarmForm.cs new file mode 100644 index 0000000..fab63c2 --- /dev/null +++ b/JinYuan.Models/AlarmForm.cs @@ -0,0 +1,42 @@ +using CsvHelper.Configuration.Attributes; + +namespace JinYuan.Models +{ + /// + /// 报警表单数据 + /// + public class AlarmForm + { + /// + /// 报警地址 + /// + [Name("寄存器地址")] + public string PLCAdress { get; set; } + /// + /// 中语报警内容 + /// + [Name("中语报警信息")] + public string AlarmContent { get; set; } + /// + /// 报警代码 + /// + [Name("故障代码")] + public string AlarmCode { get; set; } + /// + /// 英语报警内容 + /// + [Name("英语报警信息")] + public string EnAlarmContent { get; set; } + /// + /// 匈牙利语报警内容 + /// + [Name("匈牙利语报警信息")] + public string HuAlarmContent { get; set; } + /// + /// 马来语报警内容 + /// + [Name("马来语报警信息")] + public string MsAlarmContent { get; set; } + } + +} diff --git a/JinYuan.Models/AxleLog.cs b/JinYuan.Models/AxleLog.cs new file mode 100644 index 0000000..ed125da --- /dev/null +++ b/JinYuan.Models/AxleLog.cs @@ -0,0 +1,38 @@ +namespace JinYuan.Models +{ + /// + /// 电机位置记录 + /// + public class AxleLog + { + private string _m_AxleDscribe;//轴描述 + private string _m_AxleLocation;//位置描述 + private string _m_AxleAddress;//PLC地址 + + /// + /// 描述 + /// + public string m_AxleDscribe + { + get { return _m_AxleDscribe; } + set { _m_AxleDscribe = value; } + } + + /// + /// 位置描述 + /// + public string m_AxleLocation + { + get { return _m_AxleLocation; } + set { _m_AxleLocation = value; } + } + /// + /// 地址 + /// + public string m_AxleAddress + { + get { return _m_AxleAddress; } + set { _m_AxleAddress = value; } + } + } +} diff --git a/JinYuan.Models/BGearEntity.cs b/JinYuan.Models/BGearEntity.cs new file mode 100644 index 0000000..3b419e7 --- /dev/null +++ b/JinYuan.Models/BGearEntity.cs @@ -0,0 +1,51 @@ +using JinYuan.Models.HelperAttribute; +using SqlSugar; +using System.Collections.Generic; +using System.Xml.Linq; +using static System.Net.Mime.MediaTypeNames; + +namespace JinYuan.Models +{ + /// + /// 包装出站工位 + /// + public class BGearEntity + { + /// + /// 测试时间 + /// + [DataGridViewColumn(Name = "OutTestTime")] + public string TestTime { get; set; } + + /// + /// 箱唛码 + /// + [DataGridViewColumn(Name = "OutContainerCode")] + public string ContainerCode { get; set; } + + /// + /// 栈板码 + /// + [DataGridViewColumn(Name = "OutPalletCode")] + public string PalletCode { get; set; } + + /// + /// 重量 + /// + [DataGridViewColumn(Name = "OutWeight")] + public string Weight { get; set; } + /// + /// 综合结果 + /// + [DataGridViewColumn(Name = "OutResult")] + public string Result { get; set; } + + /// + /// 备注 + /// + [DataGridViewColumn(Name = "OutRemark")] + public string Remark { get; set; } + + + } +} diff --git a/JinYuan.Models/BGearEntity2.cs b/JinYuan.Models/BGearEntity2.cs new file mode 100644 index 0000000..9641f19 --- /dev/null +++ b/JinYuan.Models/BGearEntity2.cs @@ -0,0 +1,306 @@ +using JinYuan.Models.HelperAttribute; + +namespace JinYuan.Models +{ + /// + /// + /// + public class BGearEntity2 + { + /// + /// + /// + //public BGearEntity() + //{ + //} + + /// + /// 通道号 + /// + [DataGridViewColumn(Name = "OutChannelNo")] + [DataGridColumnAttribute("ChannelNo")] + + public string ChannelNo { get; set; } + /// + /// 时间 + /// + [DataGridViewColumn(Name = "OutTestTime")] + [DataGridColumnAttribute("TestTime")] + + public string TestTime { get; set; } + /// + /// 物料编码 + /// + [DataGridColumnAttribute("FrmHistory_dgv_Main_MaterialCode")] + + public string MaterialCode { get; set; } + /// + /// RFID托杯码 + /// + //[DataGridViewColumn(Name = "OutRFID")] + + public string RFID { get; set; } + /// + /// 电芯码 + /// + [DataGridViewColumn(Name = "OutBarCode")] + [DataGridColumnAttribute("BarCode")] + + public string BarCode { get; set; } + + /// + /// 离子风速 + /// + [DataGridViewColumn(Name = "OutWindSpeed")] + [DataGridColumnAttribute("WindSpeed")] + + public string WindSpeed { get; set; } + /// + /// 离子风清洁设备号 + /// + [DataGridViewColumn(Name = "OutWindDeviceNum")] + [DataGridColumnAttribute("WindDeviceNum")] + public string WindDeviceNum { get; set; } + + /// + /// 端面检测设备号1 + /// + [DataGridViewColumn(Name = "OutCCDFaceTestDeviceNum1")] + public string CCDFaceTestDeviceNum1 { get; set; } + /// + /// 端面检测设备号2 + /// + [DataGridViewColumn(Name = "OutCCDFaceTestDeviceNum2")] + public string CCDFaceTestDeviceNum2 { get; set; } + /// + /// 端面检测设备号3 + /// + [DataGridViewColumn(Name = "OutCCDFaceTestDeviceNum3")] + public string CCDFaceTestDeviceNum3 { get; set; } + /// + /// 端面检测设备号4 + /// + [DataGridViewColumn(Name = "OutCCDFaceTestDeviceNum4")] + public string CCDFaceTestDeviceNum4 { get; set; } + + /// + /// 柱面检测设备号1 + /// + [DataGridViewColumn(Name = "OutCCDCylinderTestDeviceNum1")] + public string CCDCylinderTestDeviceNum1 { get; set; } + /// + /// 柱面检测设备号2 + /// + [DataGridViewColumn(Name = "OutCCDCylinderTestDeviceNum2")] + public string CCDCylinderTestDeviceNum2 { get; set; } + /// + /// 柱面检测设备号3 + /// + [DataGridViewColumn(Name = "OutCCDCylinderTestDeviceNum3")] + public string CCDCylinderTestDeviceNum3 { get; set; } + + /// + /// 负极焊接区2D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDNegativeTerminalWeldingZone2DInspectionResult")] + public string CCDNegativeTerminalWeldingZone2DInspectionResult { get; set; } + + + /// + /// 负极焊接区2D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDNegativeTerminalWeldingZone2DInspectionNGReasons")] + public string CCDNegativeTerminalWeldingZone2DInspectionNGReasons { get; set; } + + + /// + /// 盖板2D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDCoverPlate2DInspectionResult")] + public string CCDCoverPlate2DInspectionResult { get; set; } + ///// + ///// 正极柱检测结果 + ///// + //[DataGridViewColumn(Name = "OutCCDPosCylinderTestResult")] + //public string CCDPosCylinderTestResult { get; set; } + ///// + ///// 负极柱检测结果 + ///// + //[DataGridViewColumn(Name = "OutCCDNegCylinderTestResult")] + //public string CCDNegCylinderTestResult { get; set; } + + + /// + /// 盖板2D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDCoverPlate2DInspectionNGReasons")] + public string CCDCoverPlate2DInspectionNGReasons { get; set; } + + /// + /// 负极焊接区2.5D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDNegativeTerminalWeldingZone25DInspectionResult")] + public string CCDNegativeTerminalWeldingZone25DInspectionResult { get; set; } + + + /// + /// 负极焊接区2.5D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDNegativeTerminalWeldingZone25DInspectionNGReasons")] + public string CCDNegativeTerminalWeldingZone25DInspectionNGReasons { get; set; } + + + /// + /// 盖板2.5D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDCoverPlate25DInspectionResult")] + public string CCDCoverPlate25DInspectionResult { get; set; } + + + /// + /// 盖板2.5D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDCoverPlate25DInspectionNGReasons")] + public string CCDCoverPlate25DInspectionNGReasons { get; set; } + + + /// + /// 极柱2D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDTerminalPost2DInspectionResult")] + public string CCDTerminalPost2DInspectionResult { get; set; } + + + /// + /// 极柱2D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDTerminalPost2DInspectionNGReasons")] + public string CCDTerminalPost2DInspectionNGReasons { get; set; } + + + /// + /// 极柱3D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDTerminalPost3DInspectionResult")] + public string CCDTerminalPost3DInspectionResult { get; set; } + + + /// + /// 极柱3D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDTerminalPost3DInspectionNGReasons")] + public string CCDTerminalPost3DInspectionNGReasons { get; set; } + + + + /// + /// 密封钉2D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDSealingNail2DInspectionResult")] + public string CCDSealingNail2DInspectionResult { get; set; } + + + /// + /// 密封钉2D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDSealingNail2DInspectionNGReasons")] + public string CCDSealingNail2DInspectionNGReasons { get; set; } + + + /// + /// 密封钉3D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDSealingNail3DInspectionResult")] + public string CCDSealingNail3DInspectionResult { get; set; } + + + /// + /// 密封钉3D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDSealingNail3DInspectionNGReasons")] + public string CCDSealingNail3DInspectionNGReasons { get; set; } + + + /// + /// 上部R角2.5D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDTopFillet25DInspectionResult")] + public string CCDTopFillet25DInspectionResult { get; set; } + + + /// + /// 上部R角2.5D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDTopFillet25DInspectionNGReasons")] + public string CCDTopFillet25DInspectionNGReasons { get; set; } + + + /// + /// 底部R角2.5D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDBottomFillet25DInspectionResult")] + public string CCDBottomFillet25DInspectionResult { get; set; } + + + /// + /// 底部R角2.5D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDBottomFillet25DInspectionNGReasons")] + public string CCDBottomFillet25DInspectionNGReasons { get; set; } + + + /// + /// 柱面2.5D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDCylindricalSurface25DInspectionResult")] + public string CCDCylindricalSurface25DInspectionResult { get; set; } + + + /// + /// 柱面2.5D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDCylindricalSurface25DInspectionNGReasons")] + public string CCDCylindricalSurface25DInspectionNGReasons { get; set; } + + + /// + /// 柱面3D检测结果 + /// + [DataGridViewColumn(Name = "OutCCDCylindricalSurface3DInspectionResult")] + public string CCDCylindricalSurface3DInspectionResult { get; set; } + + + /// + /// 柱面3D检测NG原因 + /// + [DataGridViewColumn(Name = "OutCCDCylindricalSurface3DInspectionNGReasons")] + public string CCDCylindricalSurface3DInspectionNGReasons { get; set; } + + + /// + /// 综合结果 + /// + [DataGridViewColumn(Name = "OutResult")] + public string Result { get; set; } + /// + /// NG详情 + /// + [DataGridViewColumn(Name = "OutInfo")] + public string Info { get; set; } + /// + /// 备注 + /// + [DataGridViewColumn(Name = "OutRemark")] + public string Remark { get; set; } + /// + /// 出站是否上传MES + /// + [DataGridViewColumn(Name = "OutFlag")] + public string Flag { get; set; } + /// + /// 结果数据是否上传MES + /// + public string Flag1 { get; set; } + + } +} diff --git a/JinYuan.Models/BatteryStatus.cs b/JinYuan.Models/BatteryStatus.cs new file mode 100644 index 0000000..c73c83f --- /dev/null +++ b/JinYuan.Models/BatteryStatus.cs @@ -0,0 +1,12 @@ + + +namespace JinYuan.Models +{ + public class BatteryStatus + { + public int batteryId { get; set; } + + public int status { get; set; } + + } +} diff --git a/JinYuan.Models/CGearEntity.cs b/JinYuan.Models/CGearEntity.cs new file mode 100644 index 0000000..02f9ee2 --- /dev/null +++ b/JinYuan.Models/CGearEntity.cs @@ -0,0 +1,41 @@ +using JinYuan.Models.HelperAttribute; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace JinYuan.Models +{ + /// + /// 箱唛打印工位 + /// + public class CGearEntity + { + /// + /// 时间 + /// + [SugarColumn(IsPrimaryKey = true)] + [DataGridViewColumn(Name = "TestTime")] + public string TestTime { get; set; } + + /// + /// 箱唛码 + /// + [DataGridViewColumn(Name = "ContainerCode")] + public string ContainerCode { get; set; } + + /// + /// 结果 + /// + [DataGridViewColumn(Name = "Result")] + public string Result { get; set; } + /// + /// 备注 + /// + [DataGridViewColumn(Name = "Remark")] + public string Remark { get; set; } + } +} diff --git a/JinYuan.Models/CPKModel.cs b/JinYuan.Models/CPKModel.cs new file mode 100644 index 0000000..b10e4f1 --- /dev/null +++ b/JinYuan.Models/CPKModel.cs @@ -0,0 +1,134 @@ +namespace JinYuan.Models +{ + //子组大小:这个与计算内的CPK值又非常打的关系,即是分组的样本个数,数据的分组在此处需要说明的是,必须 + //是根据实际情况来填写,比如每次抽样为5个,那么子组大小为5个,我们不能随心所欲的任意填写这个值,否则 + //将没有实际意义。 + //上规格:用户录入的上规格值 + //目标值:用户输入的目标值,即期望达到的中心值 + //下规格:用户输入的下规格值 + + + public class CPKModel + { + /// + /// 总样本数 。参与分析的数据的个数 + /// + public int TotalNumber { get; set; } + /// + /// 图表类型 .说明进行分析的控制图的类型,此处为XR控制图 + /// + public string ChartType { get; set; } + /// + /// 平均值 所有样本数据的平均值 + /// + public double MeanVlaue { get; set; } + /// + /// 最大值 所有样本的最大值 + /// + public double MaxValue { get; set; } + /// + /// 最小值 + /// + public double MinValue { get; set; } + + /// + /// 正的3倍标准差线 + /// + public double Pos3Sigma { get; set; } + /// + /// 负的3倍标准差线 + /// + public double Neg3Sigma { get; set; } + /// + /// 组内标准差值 + /// + public double GroupSTDEV { get; set; } + /// + /// 整体标准差值 + /// + public double WholeSTDEV { get; set; } + + /// + /// 组内CPK值 工序能力指数,与规格值及上述标准差值相关联 + /// + public double GroupCPK { get; set; } + /// + /// 整体CPK值 工序能力指数,与规格值及上述标准差值相关联 + /// + public double WholeCPK { get; set; } + + /// + /// 组内CP值 Cp值是衡量过程满足产品品质标准的成都,也叫制程精密度,Cp值越大,表示过程变异越小,过程能力越差 + /// + public double GroupCP { get; set; } + /// + /// 整体CP值 Cp值是衡量过程满足产品品质标准的成都,也叫制程精密度,Cp值越大,表示过程变异越小,过程能力越差 + /// + public double WholeCP { get; set; } + + /// + /// 组内CPL值 相对应于下规格的工序能力值; + /// + public double GroupCPL { get; set; } + /// + /// 整体CPL值 相对应于下规格的工序能力值; + /// + public double WholeCPL { get; set; } + + /// + /// 组内CPU值 相对应于上规格的工序能力值; + /// + public double GroupCPU { get; set; } + /// + /// 整体CPU值 相对应于上规格的工序能力值; + /// + public double WholeCPU { get; set; } + + /// + /// 组内PPM + public double GroupPPM_LSL { get; set; } + /// + /// 整体PPM + public double WholePPM_LSL { get; set; } + + /// + /// 实际检测PPM + public double MeasuredPPM_LSL { get; set; } + + /// + /// 组内PPM + public double GroupPPM_USL { get; set; } + /// + /// 整体PPM + public double WholePPM_USL { get; set; } + /// + /// 实际检测PPM + public double MeasuredPPM_USL { get; set; } + /// + /// 组内PPM Total值,预测的总的不合格品数 + /// + public double GroupPPM_Total { get; set; } + /// + /// 整体PPM + public double WholePPM_Total { get; set; } + + /// + /// 实际检测PPM + public double MeasuredPPM_Total { get; set; } + + /// + /// 制程准确度,值越小越好 + /// + public double CA { get; set; } + + + } +} diff --git a/JinYuan.Models/CTPCTQDate.cs b/JinYuan.Models/CTPCTQDate.cs new file mode 100644 index 0000000..e4e45de --- /dev/null +++ b/JinYuan.Models/CTPCTQDate.cs @@ -0,0 +1,228 @@ +using System.Collections.Generic; + +namespace JinYuan.Models +{ + + + /// + /// 进出站上传数据 + /// + public class EnterandExit + { + /// + /// BU编码 + /// + public string bu_id; + /// + /// 区域简称 + /// + public string district_id; + /// + /// 工厂编码 + /// + public string factory_id; + /// + /// 产线编码 + /// + public string production_line_id; + /// + /// 工序编码 + /// + public string production_processes_id; + /// + /// 工作中心编码 + /// + public string work_center_id; + /// + /// 工站 + /// + public string station_id; + /// + /// 设备编码 + /// + public string device_name; + /// + /// 进出站标识 + /// + public string action; + /// + /// 动作时间(进出站) + /// + public string action_time; + } + + public class CollectionUpload + { + /// + /// BU编码 + /// + public string bu_id; + /// + /// 区域简称 + /// + public string district_id; + /// + /// 工厂编码 + /// + public string factory_id; + /// + /// 产线编码 + /// + public string production_line_id; + /// + /// 工序编码 + /// + public string production_processes_id; + /// + /// 工作中心编码 + /// + public string work_center_id; + /// + /// 工站 + /// + public string station_id; + /// + /// 设备编码 + /// + public string device_name; + /// + /// 采集项数据列表 + /// + public List taglist { get; set; } + + } + + public class Collection + { + /// + /// 时间 + /// + public string device_time { get; set; } + /// + /// 采集项键值对 + /// + public Dictionary collection_items { get; set; } + } + + #region 预测性数据采集项对象 + public class Predictability_BM + { + //------------------------------------------------------------------------扭矩 扭矩 扭矩 扭矩 + public string Coating1_Torque1 { get; set; } + public string Coating1_Torque2 { get; set; } + public string Coating1_Torque3 { get; set; } + public string Coating1_Torque4 { get; set; } + public string Coating1_Torque5 { get; set; } + public string Coating1_Torque6 { get; set; } + public string Coating1_Torque7 { get; set; } + public string Coating1_Torque8 { get; set; } + public string Coating2_Torque1 { get; set; } + public string Coating2_Torque2 { get; set; } + public string Coating2_Torque3 { get; set; } + public string Coating2_Torque4 { get; set; } + public string Coating2_Torque5 { get; set; } + public string Coating2_Torque6 { get; set; } + public string Coating2_Torque7 { get; set; } + public string Coating2_Torque8 { get; set; } + public string Folding1_Torque1 { get; set; } + public string Folding1_Torque2 { get; set; } + public string Folding1_Torque3 { get; set; } + public string Folding2_Torque1 { get; set; } + public string Folding2_Torque2 { get; set; } + public string Folding2_Torque3 { get; set; } + //------------------------------------------------------------------------轴速度 轴速度 轴速度 轴速度 + public string Coating1_AxisSpeed1 { get; set; } + public string Coating1_AxisSpeed2 { get; set; } + public string Coating1_AxisSpeed3 { get; set; } + public string Coating1_AxisSpeed4 { get; set; } + public string Coating1_AxisSpeed5 { get; set; } + public string Coating1_AxisSpeed6 { get; set; } + public string Coating1_AxisSpeed7 { get; set; } + public string Coating1_AxisSpeed8 { get; set; } + public string Coating2_AxisSpeed1 { get; set; } + public string Coating2_AxisSpeed2 { get; set; } + public string Coating2_AxisSpeed3 { get; set; } + public string Coating2_AxisSpeed4 { get; set; } + public string Coating2_AxisSpeed5 { get; set; } + public string Coating2_AxisSpeed6 { get; set; } + public string Coating2_AxisSpeed7 { get; set; } + public string Coating2_AxisSpeed8 { get; set; } + public string Folding1_AxisSpeed1 { get; set; } + public string Folding1_AxisSpeed2 { get; set; } + public string Folding1_AxisSpeed3 { get; set; } + public string Folding2_AxisSpeed1 { get; set; } + public string Folding2_AxisSpeed2 { get; set; } + public string Folding2_AxisSpeed3 { get; set; } + + //------------------------------------------------------------------------轴位置 轴位置 轴位置 轴位置 + public string Coating1_AxisPosition1 { get; set; } + public string Coating1_AxisPosition2 { get; set; } + public string Coating1_AxisPosition3 { get; set; } + public string Coating1_AxisPosition4 { get; set; } + public string Coating1_AxisPosition5 { get; set; } + public string Coating1_AxisPosition6 { get; set; } + public string Coating1_AxisPosition7 { get; set; } + public string Coating1_AxisPosition8 { get; set; } + public string Coating2_AxisPosition1 { get; set; } + public string Coating2_AxisPosition2 { get; set; } + public string Coating2_AxisPosition3 { get; set; } + public string Coating2_AxisPosition4 { get; set; } + public string Coating2_AxisPosition5 { get; set; } + public string Coating2_AxisPosition6 { get; set; } + public string Coating2_AxisPosition7 { get; set; } + public string Coating2_AxisPosition8 { get; set; } + public string Folding1_AxisPosition1 { get; set; } + public string Folding1_AxisPosition2 { get; set; } + public string Folding1_AxisPosition3 { get; set; } + public string Folding2_AxisPosition1 { get; set; } + public string Folding2_AxisPosition2 { get; set; } + public string Folding2_AxisPosition3 { get; set; } + //------------------------------------------------------------------------行程时间 行程时间 行程时间 行程时间 + public string Coating1_Cylinder_TravelTime1 { get; set; } + public string Coating1_Cylinder_TravelTime2 { get; set; } + public string Coating1_Cylinder_TravelTime3 { get; set; } + public string Coating1_Cylinder_TravelTime4 { get; set; } + public string Coating1_Cylinder_TravelTime5 { get; set; } + public string Coating1_Cylinder_TravelTime6 { get; set; } + public string Coating1_Cylinder_TravelTime7 { get; set; } + public string Coating1_Cylinder_TravelTime8 { get; set; } + public string Coating1_Cylinder_TravelTime9 { get; set; } + public string Coating1_Cylinder_TravelTime10 { get; set; } + public string Coating1_Cylinder_TravelTime11 { get; set; } + public string Coating1_Cylinder_TravelTime12 { get; set; } + public string Coating1_Cylinder_TravelTime13 { get; set; } + public string Coating1_Cylinder_TravelTime14 { get; set; } + public string Coating2_Cylinder_TravelTime1 { get; set; } + public string Coating2_Cylinder_TravelTime2 { get; set; } + public string Coating2_Cylinder_TravelTime3 { get; set; } + public string Coating2_Cylinder_TravelTime4 { get; set; } + public string Coating2_Cylinder_TravelTime5 { get; set; } + public string Coating2_Cylinder_TravelTime6 { get; set; } + public string Coating2_Cylinder_TravelTime7 { get; set; } + public string Coating2_Cylinder_TravelTime8 { get; set; } + public string Coating2_Cylinder_TravelTime9 { get; set; } + public string Coating2_Cylinder_TravelTime10 { get; set; } + public string Coating2_Cylinder_TravelTime11 { get; set; } + public string Coating2_Cylinder_TravelTime12 { get; set; } + public string Coating2_Cylinder_TravelTime13 { get; set; } + public string Coating2_Cylinder_TravelTime14 { get; set; } + public string CornerCutting1_Cylinder_TravelTime1 { get; set; } + public string CornerCutting1_Cylinder_TravelTime2 { get; set; } + public string CornerCutting1_Cylinder_TravelTime3 { get; set; } + public string CornerCutting1_Cylinder_TravelTime4 { get; set; } + public string CornerCutting1_Cylinder_TravelTime5 { get; set; } + public string CornerCutting1_Cylinder_TravelTime6 { get; set; } + public string CornerCutting1_Cylinder_TravelTime7 { get; set; } + public string CornerCutting1_Cylinder_TravelTime8 { get; set; } + public string CornerCutting2_Cylinder_TravelTime1 { get; set; } + public string CornerCutting2_Cylinder_TravelTime2 { get; set; } + public string CornerCutting2_Cylinder_TravelTime3 { get; set; } + public string CornerCutting2_Cylinder_TravelTime4 { get; set; } + public string CornerCutting2_Cylinder_TravelTime5 { get; set; } + public string CornerCutting2_Cylinder_TravelTime6 { get; set; } + public string CornerCutting2_Cylinder_TravelTime7 { get; set; } + public string CornerCutting2_Cylinder_TravelTime8 { get; set; } + + } + #endregion +} diff --git a/JinYuan.Models/CapSize.cs b/JinYuan.Models/CapSize.cs new file mode 100644 index 0000000..d2fbe04 --- /dev/null +++ b/JinYuan.Models/CapSize.cs @@ -0,0 +1,26 @@ +using System; + + +namespace JinYuan.Models +{ + public class CapSize + { + public int layers { get; set; } + public int rowsPerLayer { get; set; } + public int colsPerLayer { get; set; } + + public CapSize() { } + + public CapSize(int layers, int rowsPerLayer, int colsPerLayer) + { + this.layers = layers; + this.rowsPerLayer = rowsPerLayer; + this.colsPerLayer = colsPerLayer; + } + + public int getCapsize() + { + return layers * rowsPerLayer * colsPerLayer; + } + } +} diff --git a/JinYuan.Models/Chart12HourData.cs b/JinYuan.Models/Chart12HourData.cs new file mode 100644 index 0000000..a86ef80 --- /dev/null +++ b/JinYuan.Models/Chart12HourData.cs @@ -0,0 +1,29 @@ +namespace JinYuan.Models +{ + /// + /// 24小时统计表数据 + /// + public class Chart12HourData + { + /// + /// 优率 + /// + public string DisplayTime { get; set; } + /// + /// 产出数 + /// + public int ProdIn { set; get; } + /// + /// 投入数 + /// + public int ProdOut { set; get; } + /// + /// 不良数量 + /// + public int ProdNg { set; get; } + /// + /// 优率 + /// + public string OKRatio { get; set; } + } +} diff --git a/JinYuan.Models/ChartDataType.cs b/JinYuan.Models/ChartDataType.cs new file mode 100644 index 0000000..21a2f48 --- /dev/null +++ b/JinYuan.Models/ChartDataType.cs @@ -0,0 +1,17 @@ +namespace JinYuan.Models +{ + /// + /// 不良統計 + /// + public class ChartDataType + { + /// + /// 數據類型 + /// + public string DataType { get; set; } + /// + /// 數量 + /// + public int DataCount { get; set; } + } +} diff --git a/JinYuan.Models/ContainerEntity.cs b/JinYuan.Models/ContainerEntity.cs new file mode 100644 index 0000000..dd0792c --- /dev/null +++ b/JinYuan.Models/ContainerEntity.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.Models +{ + public class ContainerEntity + { + public string container_id { get; set; } + + public DateTime? create_time { get; set; } + + } +} diff --git a/JinYuan.Models/ContainerKVDetail.cs b/JinYuan.Models/ContainerKVDetail.cs new file mode 100644 index 0000000..1eb9f79 --- /dev/null +++ b/JinYuan.Models/ContainerKVDetail.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.Models +{ + public class ContainerKVDetail + { + public string container_id { get; set; } + + public string tag_code { get; set; } + + public string tag_value { get; set; } + public DateTime create_time { get; set; } + } +} diff --git a/JinYuan.Models/DGearEntity.cs b/JinYuan.Models/DGearEntity.cs new file mode 100644 index 0000000..f8497bc --- /dev/null +++ b/JinYuan.Models/DGearEntity.cs @@ -0,0 +1,37 @@ +using JinYuan.Models.HelperAttribute; +using SqlSugar; +using System.Collections.Generic; +using static System.Net.Mime.MediaTypeNames; + +namespace JinYuan.Models +{ + /// + /// 箱唛打印工位 + /// + public class DGearEntity + { + /// + /// 时间 + /// + [SugarColumn(IsPrimaryKey = true)] + [DataGridViewColumn(Name = "TestTime")] + public string TestTime { get; set; } + + /// + /// 箱唛码 + /// + [DataGridViewColumn(Name = "ContainerCode")] + public string ContainerCode { get; set; } + + /// + /// 结果 + /// + [DataGridViewColumn(Name = "Result")] + public string Result { get; set; } + /// + /// 备注 + /// + [DataGridViewColumn(Name = "Remark")] + public string Remark { get; set; } + } +} diff --git a/JinYuan.Models/DataTurnover.cs b/JinYuan.Models/DataTurnover.cs new file mode 100644 index 0000000..b7c2621 --- /dev/null +++ b/JinYuan.Models/DataTurnover.cs @@ -0,0 +1,66 @@ +using JinYuan.Models.HelperAttribute; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace JinYuan.Models +{ + /// + /// 组盘临时表 + /// + public class DataTurnover + { + + /// + /// 时间 + /// + //[SugarColumn(IsPrimaryKey = true)] + public System.DateTime? Time { get; set; } + + /// + /// 电池码 + /// + [SugarColumn(IsPrimaryKey = true)] + public string identification { get; set; } + + /// + /// 托盘码 + /// + public string containerCode { get; set; } + + /// + /// 设备编码 + /// + public string equipNum { get; set; } + + /// + /// 电芯位置号 + /// + //public string Location { get; set; } + + + /// + /// 托盘位置号 + /// + //public string Grade { get; set; } + + /// + /// 装箱次数 + /// + //public string PackNum { get; set; } + + /// + /// 装箱时间 + /// + //public string PackTime { get; set; } + + /// + /// 信息 + /// + public string Message { get; set; } + } +} diff --git a/JinYuan.Models/DeviceOEE.cs b/JinYuan.Models/DeviceOEE.cs new file mode 100644 index 0000000..49600a9 --- /dev/null +++ b/JinYuan.Models/DeviceOEE.cs @@ -0,0 +1,65 @@ +using System.Collections.Generic; + +namespace JinYuan.Models +{ + + /// + /// 设备综合效率 + /// + public class DeviceOEE + { + /// + /// 生产总数 + /// + public int TotalQty { set; get; } + /// + /// 良品数 + /// + public int ProOKQty { set; get; } + /// + /// 良率 + /// + public double YieldRate { set; get; } + /// + /// 稼动率 + /// + public double UtilizationRate { set; get; } + /// + /// PPM + /// + public int PPM { set; get; } + /// + /// 风速仪器 + /// + public List listWindSpeed { set; get; } + /// + /// 报警 + /// + public List ListAlarmData { set; get; } + + /// + /// 不良统计 + /// + public List ListNGData { set; get; } + } + + + + + + public class Hour12Data + { + /// + /// 12小时产能 + /// + public List chart12HourDatas { set; get; } + } + + public class List12HourData + { + public List dataTime { set; get; } + public List dataTotal { set; get; } + public List dataOk { set; get; } + public List dataLV { set; get; } + } +} diff --git a/JinYuan.Models/EGearEntity.cs b/JinYuan.Models/EGearEntity.cs new file mode 100644 index 0000000..75c83d1 --- /dev/null +++ b/JinYuan.Models/EGearEntity.cs @@ -0,0 +1,41 @@ +using JinYuan.Models.HelperAttribute; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace JinYuan.Models +{ + /// + /// 栈板打印工位 + /// + public class EGearEntity + { + /// + /// 时间 + /// + [SugarColumn(IsPrimaryKey = true)] + [DataGridViewColumn(Name = "TestTime")] + public string TestTime { get; set; } + + /// + /// 栈板码 + /// + [DataGridViewColumn(Name = "PalletCode")] + public string PalletCode { get; set; } + + /// + /// 结果 + /// + [DataGridViewColumn(Name = "printPalletResult")] + public string Result { get; set; } + /// + /// 备注 + /// + [DataGridViewColumn(Name = "printpalletRemark")] + public string Remark { get; set; } + } +} diff --git a/JinYuan.Models/ElectricEnergy.cs b/JinYuan.Models/ElectricEnergy.cs new file mode 100644 index 0000000..798b654 --- /dev/null +++ b/JinYuan.Models/ElectricEnergy.cs @@ -0,0 +1,79 @@ +namespace JinYuan.Models +{ + /// + /// 智能电表 + /// + public class ElectricEnergy + { + + /// + /// 有功电能(累计电能)KWH + /// + public System.Decimal? AccumulatedElectricity { get; set; } + + /// + /// A相电压 V + /// + public System.Decimal? PhaseVoltageA { get; set; } + + /// + /// B相电压 + /// + public System.Decimal? PhaseVoltageB { get; set; } + + /// + /// C相电压 + /// + public System.Decimal? PhaseVoltageC { get; set; } + + /// + /// A相电流 + /// + public System.Decimal? PhaseCurrentA { get; set; } + + /// + /// B相电流 + /// + public System.Decimal? PhaseCurrentB { get; set; } + + /// + /// C相电流 + /// + public System.Decimal? PhaseCurrentC { get; set; } + + /// + /// A相功率 + /// + public System.Decimal? PhasePowerA { get; set; } + + /// + /// B相功率 + /// + public System.Decimal? PhasePowerB { get; set; } + + /// + /// C相功率 + /// + public System.Decimal? PhasePowerC { get; set; } + + /// + /// 总有功功率 + /// + public System.Decimal? ActivePower { get; set; } + + /// + /// 总功率因数 + /// + public System.Decimal? PowerFactor { get; set; } + + /// + /// 电压变比 + /// + public System.Decimal? pt { get; set; } + + /// + /// 电流变比 + /// + public System.Decimal? ct { get; set; } + } +} diff --git a/JinYuan.Models/HelperAttribute/AnnotationUtils.cs b/JinYuan.Models/HelperAttribute/AnnotationUtils.cs new file mode 100644 index 0000000..dad53a3 --- /dev/null +++ b/JinYuan.Models/HelperAttribute/AnnotationUtils.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace JinYuan.Models.HelperAttribute +{ + public static class AnnotationUtils + { + public static List GetPropertiesWithAnnotation(Type type) where T : Attribute + { + var properties = type.GetProperties().Where(p => p.GetCustomAttributes(typeof(T), true).Length > 0).ToList(); + return properties; + } + + /// + /// 获取当前类的DataGridViewColumn + /// + /// + /// + public static List GetDataGridViewColumns(this object obj) + { + Type typeObj = obj.GetType(); + var properties = AnnotationUtils.GetPropertiesWithAnnotation(typeObj); + + List list = new List(); + foreach (var property in properties) + { + DataGridViewColumn attribute = property.GetCustomAttribute(); + //数据源名称 + attribute.DataPropertyName = property.Name; + list.Add(attribute); + } + + return list; + } + + } +} diff --git a/JinYuan.Models/HelperAttribute/DataGridColumnAttribute.cs b/JinYuan.Models/HelperAttribute/DataGridColumnAttribute.cs new file mode 100644 index 0000000..33c66f2 --- /dev/null +++ b/JinYuan.Models/HelperAttribute/DataGridColumnAttribute.cs @@ -0,0 +1,25 @@ +using System; + +namespace JinYuan.Models.HelperAttribute +{ + /// + /// 数据表格列映射特性(支持字段/属性) + /// + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)] + public sealed class DataGridColumnAttribute : Attribute + { + /// + /// 目标列名(默认使用成员名) + /// + public string ColumnName { get; set; } + + /// + /// 列数据类型(默认使用成员类型) + /// + public Type ColumnType { get; set; } + + public DataGridColumnAttribute() { } + + public DataGridColumnAttribute(string columnName) => ColumnName = columnName; + } +} diff --git a/JinYuan.Models/HelperAttribute/DataGridViewColumn.cs b/JinYuan.Models/HelperAttribute/DataGridViewColumn.cs new file mode 100644 index 0000000..5c4ec28 --- /dev/null +++ b/JinYuan.Models/HelperAttribute/DataGridViewColumn.cs @@ -0,0 +1,11 @@ +using System; + +namespace JinYuan.Models.HelperAttribute +{ + public class DataGridViewColumn : Attribute + { + public string HeaderText { get; set; } + public string Name { get; set; } + public string DataPropertyName { get; set; } + } +} diff --git a/JinYuan.Models/HelperAttribute/DataTableMapper.cs b/JinYuan.Models/HelperAttribute/DataTableMapper.cs new file mode 100644 index 0000000..222c3b3 --- /dev/null +++ b/JinYuan.Models/HelperAttribute/DataTableMapper.cs @@ -0,0 +1,155 @@ +using JinYuan.Models.HelperAttribute; +using System; +using System.Collections.Generic; +using System.Data; +using System.Reflection; + + + +/// +/// DataTable 映射工具 +/// +/// +/// DataTable 映射工具 +/// +public static class DataTableMapper +{ + /// + /// 实体类型转换为 DataTable 结构(含注解解析) + /// + public static DataTable ToSchema(Type type) + { + var dt = new DataTable(type.Name); + var members = type.GetMembers(BindingFlags.Public | BindingFlags.Instance); + + foreach (var member in members) + { + var prop = member as PropertyInfo; + var field = member as FieldInfo; + if ((prop != null && !prop.CanRead) || (field == null && prop == null)) continue; + + var attr = member.GetCustomAttribute(); + var colName = attr != null ? attr.ColumnName : member.Name; + var colType = attr != null && attr.ColumnType != null ? attr.ColumnType : + (prop != null ? prop.PropertyType : field.FieldType); + + var column = dt.Columns.Add(colName, colType); + column.AllowDBNull = !(colType.GetTypeInfo().IsValueType && + !colType.GetTypeInfo().IsGenericType); + } + return dt; + } + + /// + /// 实体集合转换为 DataTable(含注解映射) + /// 使用: var dt = DataTableMapper.ToDataTable (employees, typeof (Employee)); + /// + public static DataTable ToDataTable(this IEnumerable entities, Type type) + { + var dt = ToSchema(type); + if (entities == null) return dt; + + foreach (var entity in entities) + { + var row = dt.NewRow(); + FillDataRow(entity, row, type); + dt.Rows.Add(row); + } + return dt; + } + + private static void FillDataRow(object entity, DataRow row, Type type) + { + foreach (DataColumn column in row.Table.Columns) + { + MemberInfo member = null; + foreach (var m in type.GetMembers(BindingFlags.Public | BindingFlags.Instance)) + { + var attr = m.GetCustomAttribute(); + var mName = attr != null ? attr.ColumnName : m.Name; + if (string.Equals(mName, column.ColumnName, StringComparison.OrdinalIgnoreCase)) + { + member = m; + break; + } + } + + if (member == null) continue; + + object value; + if (member is PropertyInfo prop) + { + value = prop.GetValue(entity); + } + else if (member is FieldInfo field) + { + value = field.GetValue(entity); + } + else + { + continue; + } + + row[column] = value ?? DBNull.Value; + } + } + + /// + /// DataTable 转换为 List + /// 使用案例: var employeeList = dt.ToList(); + /// + public static List ToList(this DataTable dt) where T : new() + { + var list = new List(); + var type = typeof(T); + var members = type.GetMembers(BindingFlags.Public | BindingFlags.Instance); + + foreach (DataRow row in dt.Rows) + { + var item = new T(); + foreach (var member in members) + { + var prop = member as PropertyInfo; + var field = member as FieldInfo; + if ((prop != null && !prop.CanWrite) || (field == null && prop == null)) continue; + + var attr = member.GetCustomAttribute(); + var colName = attr != null ? attr.ColumnName : member.Name; + if (dt.Columns.Contains(colName)) + { + var value = row[colName]; + if (value != DBNull.Value) + { + if (prop != null) + { + prop.SetValue(item, Convert.ChangeType(value, prop.PropertyType)); + } + else if (field != null) + { + field.SetValue(item, Convert.ChangeType(value, field.FieldType)); + } + } + } + } + list.Add(item); + } + return list; + } + + /// + /// 循环获取当前 DataTable 的列名称,通过自定义的获取名称方法获取新的列名并替换 + /// + /// 要处理的 DataTable + /// 自定义的获取新列名的方法 + /// 列名替换后的 DataTable + public static DataTable ReplaceColumnNamesWithCustomMethod(this DataTable dt, Func GetNewColumnName) + { + for (int i = 0; i < dt.Columns.Count; i++) + { + string originalColumnName = dt.Columns[i].ColumnName; + string newColumnName = GetNewColumnName(originalColumnName); + dt.Columns[i].ColumnName = newColumnName; + } + return dt; + } +} \ No newline at end of file diff --git a/JinYuan.Models/Hourprod.cs b/JinYuan.Models/Hourprod.cs new file mode 100644 index 0000000..52d1a96 --- /dev/null +++ b/JinYuan.Models/Hourprod.cs @@ -0,0 +1,47 @@ +using SqlSugar; + +namespace JinYuan.Models +{ + /// + /// 24小时产能 + /// + public class Hourprod + { + /// + /// 日期 + /// + [SugarColumn(IsPrimaryKey = true)] + public System.String FDate { get; set; } + + /// + /// 小时 + /// + [SugarColumn(IsPrimaryKey = true)] + public System.Int32 FHour { get; set; } + + /// + /// 投入数 + /// + public System.Int32 ProdIn { get; set; } + + /// + /// 产出数 + /// + public System.Int32 ProdOut { get; set; } + + /// + /// 时间 + /// + public System.DateTime? TestTime { get; set; } + + /// + /// PPM + /// + public System.Int32 Ppm { get; set; } + + /// + /// 稼动率 + /// + public System.Decimal JiaDL { get; set; } + } +} diff --git a/JinYuan.Models/JinYuan.Models.csproj b/JinYuan.Models/JinYuan.Models.csproj new file mode 100644 index 0000000..b6a08a7 --- /dev/null +++ b/JinYuan.Models/JinYuan.Models.csproj @@ -0,0 +1,137 @@ + + + + + Debug + AnyCPU + {4C0BCB84-5CD7-4846-8363-C4C10D46E391} + Library + Properties + JinYuan.Models + JinYuan.Models + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\CsvHelper.33.0.1\lib\net48\CsvHelper.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll + + + ..\packages\MiniExcel.1.36.1\lib\net45\MiniExcel.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\LargeSquareOne\Lib\PLCCommunication.dll + + + ..\packages\SqlSugar.5.1.4.175\lib\SqlSugar.dll + + + + ..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll + + + + + ..\packages\System.Memory.4.5.0\lib\netstandard2.0\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JinYuan.Models/MotorLog.cs b/JinYuan.Models/MotorLog.cs new file mode 100644 index 0000000..7f6173d --- /dev/null +++ b/JinYuan.Models/MotorLog.cs @@ -0,0 +1,39 @@ +namespace JinYuan.Models +{ + + /// + /// 轴位置记录 + /// + public class MotorLog + { + private string _m_MotorDscribe;//轴描述 + private string _m_MotorLocation;//位置描述 + private string _m_MotorAddress;//PLC地址 + + /// + /// 描述 + /// + public string m_MotorDscribe + { + get { return _m_MotorDscribe; } + set { _m_MotorDscribe = value; } + } + + /// + /// 位置描述 + /// + public string m_MotorLocation + { + get { return _m_MotorLocation; } + set { _m_MotorLocation = value; } + } + /// + /// 地址 + /// + public string m_MotorAddress + { + get { return _m_MotorAddress; } + set { _m_MotorAddress = value; } + } + } +} diff --git a/JinYuan.Models/NgCodeEntity.cs b/JinYuan.Models/NgCodeEntity.cs new file mode 100644 index 0000000..e4edff4 --- /dev/null +++ b/JinYuan.Models/NgCodeEntity.cs @@ -0,0 +1,22 @@ +using JinYuan.Models.HelperAttribute; +using SqlSugar; + +namespace JinYuan.Models +{ + /// + /// ngCode实体类 + /// + public class NgCodeEntity + { + /// + /// 编码 + /// + public string ngCode { get; set; } + /// + /// 不良信息 + /// + public string ngMessage { get; set; } + + + } +} diff --git a/JinYuan.Models/PalletEntity.cs b/JinYuan.Models/PalletEntity.cs new file mode 100644 index 0000000..78a8c6c --- /dev/null +++ b/JinYuan.Models/PalletEntity.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.Models +{ + public class PalletEntity + { + public string pallet_id { get; set; } + + public string container_id { get; set; } + public DateTime create_time { get; set; } + + } +} diff --git a/JinYuan.Models/PalletKVDetail.cs b/JinYuan.Models/PalletKVDetail.cs new file mode 100644 index 0000000..ef36900 --- /dev/null +++ b/JinYuan.Models/PalletKVDetail.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.Models +{ + public class PalletKVDetail + { + public string pallet_id { get; set; } + + public string tag_code { get; set; } + + public string tag_value { get; set; } + public DateTime create_time { get; set; } + } +} diff --git a/JinYuan.Models/PlcDevice.cs b/JinYuan.Models/PlcDevice.cs new file mode 100644 index 0000000..de4c389 --- /dev/null +++ b/JinYuan.Models/PlcDevice.cs @@ -0,0 +1,189 @@ +using MiniExcelLibs.Attributes; +using Newtonsoft.Json; +using System.Collections.Generic; +using System.IO.Ports; +using System.Threading; + +namespace JinYuan.Models +{ + /// + /// 通信设备实体类 + /// + public class PlcDevice + { + /// + /// PLC编号 + /// + public int PlcNum { get; set; } + /// + /// IP地址 + /// + public string IPAddress { get; set; } + /// + /// 端口 + /// + public int Port { get; set; } + + /// + /// PLC类型 + /// + public string PLCType { get; set; } + /// + /// 是否启用 + /// + public bool IsActive { get; set; } + /// + /// 心跳地址 + /// + public string HeartBeat { get; set; } + /// + /// 是否启用心跳消息 + /// + public bool IsHeartBeat { get; set; } + /// + /// 链接成功标志 + /// + public bool IsConnected { get; set; } + /// + /// 是否是首次连接 + /// + public bool IsFirstConnect { get; set; } = true; + + /// + /// 重连周期 + /// + + public int ReConnectTime { get; set; } = 2000; + + /// + /// 休眠时间 + /// + + public int SleepTime { get; set; } = 10; + + /// + /// 大小端 + /// + [JsonIgnore] + public int DataFormat { get; set; } = 0; + /// + /// 出错次数 + /// + public int ErrorTimes { get; set; } + + /// + /// 容错次数 + /// + public int AllowErrorTimes { get; set; } = 3; + + /// + /// 多线程取消源标志位 + /// + public CancellationTokenSource Cts { get; set; } + /// + /// 通信组集合 + /// + public List GroupList { get; set; } = new List(); + } + + + public class PlcGroup + { + /// + /// PLC编号 + /// + public int PlcNum { get; set; } + /// + ///通信组名称 + /// + public string GroupName { get; set; } + /// + /// 起始地址 + /// + public string Start { get; set; } + /// + /// 长度 + /// + public ushort Length { get; set; } + /// + /// 是否为触发读取 + /// + public bool IsTiggerRead { get; set; } + + /// + /// 是否需要反馈结果到PLC + /// + public bool IsFeedbackPlc { get; set; } + + /// + /// 是否启用 + /// + public bool IsActive { get; set; } + /// + /// 备注说明 + /// + public string Remark { get; set; } + /// + /// 变量集合 + /// + [ExcelIgnore] + public List VarList { get; set; } + } + + /// + /// 变量属性类 + /// + public class PlcVariable + { + /// + /// PLC编号 + /// + public int PlcNum { get; set; } + /// + /// 变量名称 + /// + public string VarName { get; set; } + + /// + /// 变量地址 + /// + public string VarAddress { get; set; } + /// + /// 起始索引 + /// + public string Start { get; set; } + /// + /// 数据类型 + /// + public string DataType { get; set; } + /// + /// 偏移或长度 + /// + public int OffsetOrLength { get; set; } + /// + /// 所属通信组名称 + /// + public string GroupName { get; set; } + } + + + public class PlcStates + { + // ... 现有的属性 ... + public short OldStatus { get; set; } + public int StatusCount { get; set; } + public string GuidAlarm { get; set; } + public List Status { get; set; } + } + + // 串口配置类 + public class SerialPortConfig + { + public bool IsActive { get; set; } + public string PortName { get; set; } + public int BaudRate { get; set; } + public string DeviceName { get; set; } + public SerialPort serialPort { get; set; } + public bool IsConnected { get; set; } + } +} diff --git a/JinYuan.Models/PrintData.cs b/JinYuan.Models/PrintData.cs new file mode 100644 index 0000000..01bc68b --- /dev/null +++ b/JinYuan.Models/PrintData.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.Models +{ + public class PrintData + { + public string siteCode { get; set; } + public string lineCode { get; set; } + public string equipName { get; set; } + public string ContainerCode { get; set; } + public string weight { get; set; } + public string containerTypeCode { get; set; } + public string virtualContainerCode { get; set; } + public string groupNum { get; set; } + public string supplierCode { get; set; } + public string customerCode { get; set; } + public string customerName { get; set; } + public string packQty { get; set; } + public string batchQty { get; set; } + public string soNum { get; set; } + public string customerOrder { get; set; } + public string soLineNum { get; set; } + public string materialCode { get; set; } + public string materialName { get; set; } + public string model { get; set; } + public string grade { get; set; } + public string voltage { get; set; } + public string inresistance { get; set; } + public string capacity { get; set; } + public string productDate { get; set; } + public string rohs { get; set; } + public string locatorCode { get; set; } + public string locatorName { get; set; } + public string enableFlag { get; set; } + public string actualLoadQty { get; set; } + public string palletCode { get; set; } + public string containerCode { get; set; } + public string poNum { get; set; } + public string autoFlag { get; set; } + } +} diff --git a/JinYuan.Models/Properties/AssemblyInfo.cs b/JinYuan.Models/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c23b09c --- /dev/null +++ b/JinYuan.Models/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.Models")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.Models")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("4c0bcb84-5cd7-4846-8363-c4c10d46e391")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.Models/SysConfig/BTWConfig.cs b/JinYuan.Models/SysConfig/BTWConfig.cs new file mode 100644 index 0000000..100e76b --- /dev/null +++ b/JinYuan.Models/SysConfig/BTWConfig.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + + + +namespace JinYuan.Models +{ + public class BTWConfig + { + /// + /// 是否连接打印机服务器 + /// + public bool IsConnectPrinter; + /// + /// 箱唛码模板路径 + /// + public string containerBTWPath; + + /// + /// 栈板码模板路径 + /// + public string palletBTWPath; + + /// + /// printerName + /// + public string printerName; + } +} diff --git a/JinYuan.Models/SysConfig/Device.cs b/JinYuan.Models/SysConfig/Device.cs new file mode 100644 index 0000000..ca60ec0 --- /dev/null +++ b/JinYuan.Models/SysConfig/Device.cs @@ -0,0 +1,317 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Threading; + +namespace JinYuan.Models +{ + /// + /// 通信设备实体类 + /// + public class Device + { + /// + /// IP地址 + /// + public string IPAddress { get; set; } + /// + /// 端口 + /// + public int Port { get; set; } + + /// + /// PLC类型 + /// + public string PLCType { get; set; } + /// + /// 当前设备的连接状态 + /// + + public bool IsConnected { get; set; } + + /// + /// 是否是首次连接 + /// + + public bool IsFirstConnect { get; set; } = true; + + /// + /// 重连周期 + /// + + public int ReConnectTime { get; set; } = 2000; + + /// + /// 休眠时间 + /// + + public int SleepTime { get; set; } = 10; + + /// + /// 大小端 + /// + [JsonIgnore] + public int DataFormat { get; set; } = 0; + /// + /// 出错次数 + /// + public int ErrorTimes { get; set; } + + /// + /// 容错次数 + /// + public int AllowErrorTimes { get; set; } = 3; + + /// + /// 多线程取消源标志位 + /// + public CancellationTokenSource Cts { get; set; } + + /// + /// 计时器 + /// + + public Stopwatch Stopwatch { get; set; } + + /// + /// 所有归档变量的集合 + /// + + public List StoreVarList { get; set; } = new List(); + + /// + /// 按工位读取 + /// + + public List WorkVarList { get; set; } = new List(); + /// + /// 通信组集合 + /// + public List GroupList { get; set; } = new List(); + /// + /// 所有变量的集合 + /// + public List VarList { get; set; } = new List(); + + /// + /// 所有变量名称与值的集合 + /// + public Dictionary CurrentValue { get; set; } = new Dictionary(); + + /// + /// 定义报警触发和消除事件 + /// + public event Action AlarmTrigEvent; + + /// + /// 变量初始化 + /// + public void Init() + { + foreach (var gp in GroupList) + { + + if (gp.IsTiggerRead) + { + WorkVarList.Add(gp); + } + foreach (var variable in gp.VarList) + { + if (!gp.IsTiggerRead) + { + VarList.Add(variable); + + + if (CurrentValue.ContainsKey(variable.VarName)) + { + CurrentValue[variable.VarName] = "NA"; + } + else + { + CurrentValue.Add(variable.VarName, "NA"); + } + } + + } + } + } + + + + + /// + /// 索引器,通过键名获取到数据 + /// + /// + /// + [JsonIgnore] + public object this[string key] + { + get + { + if (CurrentValue.ContainsKey(key)) + { + return CurrentValue[key]; + } + else + { + return null; + } + } + } + + /// + /// 实时更新 + /// + /// + public void Update(Variable variable) + { + //更新处理 + if (CurrentValue.ContainsKey(variable.VarName)) + { + CurrentValue[variable.VarName] = variable.VarValue; + } + else + { + CurrentValue.Add(variable.VarName, variable.VarValue); + } + + //报警处理 + if (variable.HighAlarmEnable || variable.LowAlarmEnable) + { + float compareValue = 0.0f; + + if (variable.DataType.ToLower() == "bool") + { + compareValue = Convert.ToBoolean(variable.VarValue) ? 1.0f : 0.0f; + } + else + { + compareValue = Convert.ToSingle(variable.VarValue); + } + + int compareResult = 0; + //高报警时,触发事件 + if (variable.HighAlarmEnable) + { + compareResult = Compare(compareValue, variable.HighAlarmValue, variable.HighAlarmCacheValue, true); + + if (compareResult != 0) + { + //通过事件做通知 + + OnAlarmAckEvent(variable, new AlarmEventArgs() + { + Name = variable.VarName, + CurrentValue = variable.VarValue.ToString(), + SetValue = variable.HighAlarmValue.ToString(), + AlarmNote = variable.HighAlarmNote, + IsTrigger = compareResult == 1 + }); + } + + variable.HighAlarmCacheValue = compareValue; + } + else + { + compareResult = Compare(compareValue, variable.LowAlarmValue, variable.LowAlarmCacheValue, false); + + if (compareResult != 0) + { + //通过事件做通知 + + OnAlarmAckEvent(variable, new AlarmEventArgs() + { + Name = variable.VarName, + CurrentValue = variable.VarValue.ToString(), + SetValue = variable.LowAlarmValue.ToString(), + AlarmNote = variable.LowAlarmNote, + IsTrigger = compareResult == 1 + }); + + } + variable.LowAlarmCacheValue = compareValue; + } + } + } + + /// + /// 报警触发的事件 + /// + //public event AlarmTriggerEventDelegate AlarmTriggerEvent; + + /// + /// 触发事件 + /// + /// + /// + private void OnAlarmAckEvent(object sender, AlarmEventArgs e) + { + //AlarmTriggerEvent?.Invoke(sender, e); + } + + /// + /// 报警比较 + /// + /// 当前值 + /// 设置值 + /// 缓存值 + /// 上升沿还是下降沿 + /// 比较结果,1表示触发,-1表示消除,0表示无变化 + private int Compare(float current, float set, float last, bool isPositive) + { + if (isPositive) + { + if (current >= set && last < set) + { + return 1; + } + if (current < set && last >= set) + { + return -1; + } + } + else + { + if (current <= set && last > set) + { + return 1; + } + if (current > set && last <= set) + { + return -1; + } + } + return 0; + } + } + + public class AlarmEventArgs : EventArgs + { + /// + /// 变量名称 + /// + public string Name { get; set; } + + /// + /// 当前值 + /// + public string CurrentValue { get; set; } + + /// + /// 报警说明 + /// + public string AlarmNote { get; set; } + + /// + /// 报警设定值 + /// + public string SetValue { get; set; } + + /// + /// 是否为触发 + /// + public bool IsTrigger { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/Enum.cs b/JinYuan.Models/SysConfig/Enum.cs new file mode 100644 index 0000000..6bcc8fb --- /dev/null +++ b/JinYuan.Models/SysConfig/Enum.cs @@ -0,0 +1,18 @@ +namespace JinYuan.Models +{ + /// + /// 所有窗体枚举,小于临界窗体的为固定窗体,不执行关闭 + /// + public enum FormNames + { + 集中监控, + 数据监控, + 日志报警, + 临界窗体, + 数据分析, + 数据追溯, + 参数设置, + 系统设置, + 用户管理 + } +} diff --git a/JinYuan.Models/SysConfig/FDConfig.cs b/JinYuan.Models/SysConfig/FDConfig.cs new file mode 100644 index 0000000..d483068 --- /dev/null +++ b/JinYuan.Models/SysConfig/FDConfig.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace JinYuan.Models +{ + public class FDConfig + { + /// + /// 编号 + /// + + public int FdNum { get; set; } + /// + /// OK拉带类型1 + /// + public string OKLD1Type { get; set; } + /// + /// OK拉带类型2 + /// + public string OKLD2Type { get; set; } + /// + /// OK拉带类型3 + /// + public string OKLD3Type { get; set; } + /// + /// OK拉带类型4 + /// + public string OKLD4Type { get; set; } + /// + /// NG拉带类型5 + /// + public string NGLD5Type { get; set; } + /// + /// NG拉带类型6 + /// + public string NGLD6Type { get; set; } + /// + /// NG拉带类型7 + /// + public string NGLD7Type { get; set; } + /// + /// 是否开启分档 + /// + public bool IsFDActive { get; set; } + /// + ///是否激活NG电池不分类排出 + /// + + public bool IsNGActive { get; set; } + + + } +} diff --git a/JinYuan.Models/SysConfig/Group.cs b/JinYuan.Models/SysConfig/Group.cs new file mode 100644 index 0000000..c1286ed --- /dev/null +++ b/JinYuan.Models/SysConfig/Group.cs @@ -0,0 +1,47 @@ +using MiniExcelLibs.Attributes; +using System.Collections.Generic; + +namespace JinYuan.Models +{ + /// + /// 通信组实体类 + /// + public class Group + { + /// + ///通信组名称 + /// + public string GroupName { get; set; } + /// + /// 起始地址 + /// + public string Start { get; set; } + /// + /// 长度 + /// + public ushort Length { get; set; } + /// + /// 是否为触发读取 + /// + public bool IsTiggerRead { get; set; } + + /// + /// 是否需要反馈结果到PLC + /// + public bool IsFeedbackPlc { get; set; } + + /// + /// 是否启用 + /// + public bool IsActive { get; set; } + /// + /// 备注说明 + /// + public string Remark { get; set; } + /// + /// 变量集合 + /// + [ExcelIgnore] + public List VarList { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/PLCConfig.cs b/JinYuan.Models/SysConfig/PLCConfig.cs new file mode 100644 index 0000000..4af9511 --- /dev/null +++ b/JinYuan.Models/SysConfig/PLCConfig.cs @@ -0,0 +1,43 @@ +namespace JinYuan.Models +{ + public class PLCConfig + { + /// + /// PLC编号 + /// + + public int PlcNum { get; set; } + /// + /// PLC类型 + /// + public string PLCType { get; set; } + /// + /// IP地址 + /// + public string IPAddress { get; set; } + /// + /// 端口号 + /// + public string Port { get; set; } + /// + /// 心跳地址 + /// + + public string HeartBeat { get; set; } + /// + /// 是否启用心跳 + /// + + public bool IsHeartBeat { get; set; } + /// + ///PLC是否激活 + /// + + public bool IsActive { get; set; } + /// + /// 备注 + /// + public string Remark { get; set; } + + } +} diff --git a/JinYuan.Models/SysConfig/PLCGroupVariable.cs b/JinYuan.Models/SysConfig/PLCGroupVariable.cs new file mode 100644 index 0000000..15ab5df --- /dev/null +++ b/JinYuan.Models/SysConfig/PLCGroupVariable.cs @@ -0,0 +1,19 @@ +namespace JinYuan.Models +{ + public class PLCGroupVariable : Variable + { + /// + /// 变量名称 + /// + public int ArrayStart { get; set; } + + /// + /// 电池数量 + /// + public int CellSum { get; set; } + /// + /// 电池数量 + /// + public string BTName { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/ParamBase.cs b/JinYuan.Models/SysConfig/ParamBase.cs new file mode 100644 index 0000000..a7261e3 --- /dev/null +++ b/JinYuan.Models/SysConfig/ParamBase.cs @@ -0,0 +1,33 @@ +using SqlSugar; + +namespace JinYuan.Models +{ + /// + /// + /// + public class ParamBase + { + /// + /// + /// + public ParamBase() + { + } + + /// + /// 序号 + /// + public System.Int32? fNo { get; set; } + + /// + /// 参数名称 + /// + [SugarColumn(IsPrimaryKey = true)] + public System.String ParaName { get; set; } + + /// + /// 备注 + /// + public System.String Remark { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/ParamList.cs b/JinYuan.Models/SysConfig/ParamList.cs new file mode 100644 index 0000000..ef67072 --- /dev/null +++ b/JinYuan.Models/SysConfig/ParamList.cs @@ -0,0 +1,42 @@ +using SqlSugar; + +namespace JinYuan.Models +{ + public class ParamList + { + /// + /// + /// + [SugarColumn(IsPrimaryKey = true)] + public System.String ModelName { get; set; } + + /// + /// + /// + [SugarColumn(IsPrimaryKey = true)] + public System.String ParaName { get; set; } + + /// + /// + /// + public System.String ParaValueMin { get; set; } + /// + /// + /// + public System.String ParaValueMax { get; set; } + /// + /// + /// + public System.String Uint { get; set; } + + /// + /// + /// + public System.String Remark { get; set; } + + /// + /// + /// + public System.DateTime? UpdateTime { get; set; } = System.DateTime.Now; + } +} diff --git a/JinYuan.Models/SysConfig/PlcGroupConfig.cs b/JinYuan.Models/SysConfig/PlcGroupConfig.cs new file mode 100644 index 0000000..e78f56a --- /dev/null +++ b/JinYuan.Models/SysConfig/PlcGroupConfig.cs @@ -0,0 +1,128 @@ +namespace JinYuan.Models +{ + public class PlcGroupConfig + { + /// + /// PLC编号 + /// + private int _plcNum; + public int PlcNum + { + get => _plcNum; + set + { + if (_plcNum == value) return; + _plcNum = value; + + } + } + + /// + /// 通信组 + /// + private string _groupName; + public string GroupName + { + get => _groupName; + set + { + if (_groupName == value) return; + _groupName = value; + + } + } + + /// + /// 通信组起始地址 + /// + private string _start; + public string Start + { + get => _start; + set + { + if (_start == value) return; + _start = value; + + } + } + + private int _length; + + public int Length + { + get => _length; + set + { + if (_length == value) return; + _length = value; + + } + } + + + private bool _isTiggerRead; + /// + /// 是否触发读取 + /// + public bool IsTiggerRead + { + get => _isTiggerRead; + set + { + if (_isTiggerRead == value) return; + _isTiggerRead = value; + + } + } + + + private bool _isFeedbackPlc; + /// + ///是否有返回PLC + /// + public bool IsFeedbackPlc + { + get => _isFeedbackPlc; + set + { + if (_isFeedbackPlc == value) return; + _isFeedbackPlc = value; + + } + } + + private bool _isActive; + /// + /// 是否激活 + /// + public bool IsActive + { + get => _isActive; + set + { + if (_isActive == value) return; + _isActive = value; + + } + } + + private string _remark; + /// + /// 备注 + /// + public string Remark + { + get => _remark; + set + { + if (_remark == value) return; + _remark = value; + + } + + } + + + } +} diff --git a/JinYuan.Models/SysConfig/ProductModel.cs b/JinYuan.Models/SysConfig/ProductModel.cs new file mode 100644 index 0000000..a6aff95 --- /dev/null +++ b/JinYuan.Models/SysConfig/ProductModel.cs @@ -0,0 +1,21 @@ +using SqlSugar; + +namespace JinYuan.Models +{ + public class ProductModel + { + /// + /// + /// + [SugarColumn(IsPrimaryKey = true)] + public System.String ModelName { get; set; } + /// + /// 物料编码 + /// + public System.String MaterialCode { get; set; } + /// + /// + /// + public System.String Remark { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/ProductModelParam.cs b/JinYuan.Models/SysConfig/ProductModelParam.cs new file mode 100644 index 0000000..1cbca54 --- /dev/null +++ b/JinYuan.Models/SysConfig/ProductModelParam.cs @@ -0,0 +1,46 @@ +namespace JinYuan.Models +{ + /// + /// 产品型号参数范围 + /// + public class ProductModelParam + { + /// + /// OCV内阻最大值 + /// + public decimal OcvIrMax { set; get; } + /// + /// OCV内阻最小值 + /// + public decimal OcvIrMin { set; get; } + + /// + /// OCV电压最大值 + /// + public decimal OcvVoltageMax { set; get; } + /// + /// OCV电压最小值 + /// + public decimal OcvVoltageMin { set; get; } + + /// + /// OCV静置时间最大值 + /// + public decimal OcvTimeMax { set; get; } + /// + /// OCV静置时间最小值 + /// + public decimal OcvTimeMin { set; get; } + + + /// + /// 常数A + /// + public decimal CoefficientA { get; set; } + /// + ///常数B + /// + public decimal ExponentB { get; set; } + + } +} diff --git a/JinYuan.Models/SysConfig/SysAdmin.cs b/JinYuan.Models/SysConfig/SysAdmin.cs new file mode 100644 index 0000000..068c4df --- /dev/null +++ b/JinYuan.Models/SysConfig/SysAdmin.cs @@ -0,0 +1,24 @@ +using SqlSugar; + +namespace JinYuan.Models +{ + /// + /// 登录实体类型 + /// + public class SysAdmin + { + [SugarColumn(IsPrimaryKey = true, IsIgnore = true)] + public int LoginId { get; set; } + public string LoginName { get; set; } + public string LoginPwd { get; set; } + public string LoginUid { get; set; } + public string LoginLevel { get; set; } + public bool SystemLog { get; set; } + public bool CpkData { get; set; } + public bool HistoryData { get; set; } + public bool ParamSet { get; set; } + public bool SystemSet { get; set; } + public bool UserManage { get; set; } + + } +} diff --git a/JinYuan.Models/SysConfig/SysConfig.cs b/JinYuan.Models/SysConfig/SysConfig.cs new file mode 100644 index 0000000..faaf37b --- /dev/null +++ b/JinYuan.Models/SysConfig/SysConfig.cs @@ -0,0 +1,70 @@ +namespace JinYuan.Models +{ + public class SysConfig + { + /// + /// 开机自动启动 + /// + public bool AutoStart { get; set; } + /// + ///启动自动登录 + /// + public bool AutoLogin { get; set; } + /// + ///无操作自动锁屏 + /// + public bool AutoLock { get; set; } + /// + ///锁屏间隙时间,单位是分钟 + /// + public int LockPeriod { get; set; } + + /// + ///无操作自动锁屏 + /// + public bool AutoQieHuanM { get; set; } + /// + ///锁屏间隙时间,单位是分钟 + /// + public int QieHuanMPeriod { get; set; } + /// + /// 调试模式 + /// + public bool IsDebugMode { get; set; } + /// + ///曲线显示数量 + /// + public int ShowSeriesCount { get; set; } + /// + /// 开启刷卡模式 + /// + public bool SwipeCardMode { get; set; } + /// + /// MES/非MES模式切换 + /// + public bool MesModeSwitching { get; set; } + /// + /// 切屏 + /// + public bool ScreenCutting { get; set; } + /// + /// 获取MES参数 + /// + public bool GetMesParam { get; set; } + + /// + /// 线程耗时日志保存 + /// + public bool SaveThreadTime { get; set; } + + /// + /// 开启无卷芯码进出站一体模式 + /// + public bool NoRollCodeMode { get; set; } + + /// + /// 工位号 + /// + public string GongWei { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/SysLog.cs b/JinYuan.Models/SysConfig/SysLog.cs new file mode 100644 index 0000000..d1c82d1 --- /dev/null +++ b/JinYuan.Models/SysConfig/SysLog.cs @@ -0,0 +1,38 @@ +namespace JinYuan.Models +{ + public class SysLog + { + /// + /// 插入时间 + /// + public string InsertTime { get; set; } + /// + /// 报警类型 + /// + public string LogType { get; set; } + /// + /// 日志信息 + /// + public string Note { get; set; } + /// + /// 操作人员 + /// + public string Operater { get; set; } + /// + /// 变量名称 + /// + public string VarName { get; set; } + /// + /// 报警设置值 + /// + public string AlarmSet { get; set; } + /// + /// 报警值 + /// + public string AlarmValue { get; set; } + /// + /// 报警类型 + /// + public string AlarmType { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/Variable.cs b/JinYuan.Models/SysConfig/Variable.cs new file mode 100644 index 0000000..3bdcb52 --- /dev/null +++ b/JinYuan.Models/SysConfig/Variable.cs @@ -0,0 +1,103 @@ +using MiniExcelLibs.Attributes; + +namespace JinYuan.Models +{ + /// + /// 变量属性类 + /// + public class Variable + { + /// + /// 变量名称 + /// + public string VarName { get; set; } + + /// + /// 变量地址 + /// + public string VarAddress { get; set; } + /// + /// 起始索引 + /// + public string Start { get; set; } + /// + /// 数据类型 + /// + public string DataType { get; set; } + /// + /// 偏移或长度 + /// + public int OffsetOrLenght { get; set; } + /// + /// 所属通信组名称 + /// + public string GroupName { get; set; } + /// + /// 备注说明 + /// + public string Remark { get; set; } + /// + /// 是否上升沿报警 + /// + public bool PosAlarm { get; set; } + /// + /// 是否下降沿报警 + /// + public bool NegAlarm { get; set; } + /// + /// 转换系数 + /// + public float Scale { get; set; } = 1.0f; + /// + /// 偏移值 + /// + public float Offset { get; set; } = 0.0f; + + /// + /// 变量的值 + /// + [ExcelIgnore] + public object VarValue { get; set; } + + /// + /// 高报警启用 + /// + public bool HighAlarmEnable { get; set; } + + /// + /// 高报警设定值 + /// + public float HighAlarmValue { get; set; } + + /// + /// 高报警说明 + /// + public string HighAlarmNote { get; set; } + + /// + /// 高报警缓存值 + /// + [ExcelIgnore] + public float HighAlarmCacheValue { get; set; } + /// + /// 低报警启用 + /// + public bool LowAlarmEnable { get; set; } + + /// + /// 低报警设定值 + /// + public float LowAlarmValue { get; set; } + + /// + /// 低报警说明 + /// + public string LowAlarmNote { get; set; } + + /// + /// 低报警缓存值 + /// + [ExcelIgnore] + public float LowAlarmCacheValue { get; set; } + } +} diff --git a/JinYuan.Models/SysConfig/VariableConfig.cs b/JinYuan.Models/SysConfig/VariableConfig.cs new file mode 100644 index 0000000..1371586 --- /dev/null +++ b/JinYuan.Models/SysConfig/VariableConfig.cs @@ -0,0 +1,113 @@ +namespace JinYuan.Models +{ + // 变量配置模型 + public class VariableConfig + { + + public string _varName; + + public string VarName + { + get => _varName; + set + { + if (_varName == value) return; + _varName = value; + + } + } + + public string _varAddress; + public string VarAddress + { + get => _varAddress; + set + { + if (_varAddress == value) return; + _varAddress = value; + + } + } + + public string _start; + public string Start + { + get => _start; + set + { + if (_start == value) return; + _start = value; + + } + } + + + public string _dataType; + public string DataType + { + get => _dataType; + set + { + if (_dataType == value) return; + _dataType = value; + + } + } + + + public int _offsetOrLength; + public int OffsetOrLength + { + get => _offsetOrLength; + set + { + if (_offsetOrLength == value) return; + _offsetOrLength = value; + + } + } + /// + /// PLC编号 + /// + private int _plcNum; + public int PlcNum + { + get => _plcNum; + set + { + if (_plcNum == value) return; + _plcNum = value; + + } + } + /// + /// 通信组 + /// + private string _groupName; + public string GroupName + { + get => _groupName; + set + { + if (_groupName == value) return; + _groupName = value; + + } + } + private string _remark; + public string Remark + { + get => _remark; + set + { + if (_remark == value) return; + _remark = value; + + } + + } + + + + } +} diff --git a/JinYuan.Models/app.config b/JinYuan.Models/app.config new file mode 100644 index 0000000..90f0655 --- /dev/null +++ b/JinYuan.Models/app.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.Models/packages.config b/JinYuan.Models/packages.config new file mode 100644 index 0000000..c068d60 --- /dev/null +++ b/JinYuan.Models/packages.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JinYuan.VirtualDataLibrary/CommonMethods.cs b/JinYuan.VirtualDataLibrary/CommonMethods.cs new file mode 100644 index 0000000..2cad9bb --- /dev/null +++ b/JinYuan.VirtualDataLibrary/CommonMethods.cs @@ -0,0 +1,808 @@ +using JinYuan.DAL; +using JinYuan.Models; +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using System.IO; +using System.Threading; +using JinYuan.Helper; +using JinYuan.MES; +using PLC; +using PLC.PLCAlarm; +using System.Xml.Linq; +using JinYuan.MES.Models; +using HML; +using System.Data; +using System.Collections.Concurrent; +using JinYuan.VirtualDataLibrary.Utlis; + +namespace JinYuan.VirtualDataLibrary +{ + public class CommonMethods + { + /// + /// 本地数据库 + /// + public static ISugarHepler db = new SQLSugarService(); + /// + /// C段出站数据库 + /// + public static ISugarHepler dbC = new SQLSugarService(); + /// + /// 远程服务段数据库 + /// + public static ISugarHepler dbServer = new SQLSugarService(); + /// + /// 全局的PLC链接 + /// + public static List plcDevices; + /// + /// plc状态 + /// + public static readonly Dictionary> plcStatuses = new Dictionary>(); + /// + /// 报警 + /// + public static AlarmManager alarmManager = new AlarmManager(); + /// + /// MES接口 + /// + public static IMes hbgMes = new MesDataProcess(); + /// + /// 参数 + /// + public static ProductModelParam parRange = new ProductModelParam(); + /// + /// 全局钩子 + /// + public static ScanerHook listener = new ScanerHook(); + + /// + /// 创建个全局焊接功率队列数据存储 + /// + public static List> QWeldingPowerData = new List>(); + + /// + /// 创建个全局入壳推力队列数据存储 + /// + public static List> QPlanenessData = new List>(); + + /// + /// 创建全局的登录对象 + /// + public static SysAdmin currentAdmin = null; + /// + /// 创建全局的登录对象 + /// + public static List listNgCodeEntity = new List(); + /// + /// 登录是否成功 + /// + public static bool IsLoginOk = false; + + //创建一个全局的配置对象 + public static SysConfig sysConfig = new SysConfig(); + + public static int InvadTime; + + /// + /// 智能电表 + /// + public static List listElectricEnergy = new List(); + + /// + /// 电能表 + /// + public static EnergyMeterHelper energyMeter = new EnergyMeterHelper(); + + /// + ///是否开启刷新 + /// + public static bool isRefreshTimerWeeding = false; + + /// + /// SQL语句 + /// + public static DBSQL dBSQL { get; } = new DBSQL(); + + public static M_DBCtrl m_DBCtrl { get; } = new M_DBCtrl(); + + /// + /// MES配置文件类 + /// + public static MesConfig mesConfig = new MesConfig(); + + /// + /// 打印模板配置文件类 + /// + public static BTWConfig btwConfig = new BTWConfig(); + + ///创建一个全局的连接状态 + public static bool connectState = false; + + /// + /// 滴答次数 + /// + public static int tickCount = 0; + /// + /// QIEHUAN + /// + public static int tickHomeCount = 0; + /// + /// 报警信息 + /// + public static string SlideAlarmText = "当前无报警"; + /// + /// 退出 + /// + public static bool IsExit = false; + /// + /// 是否登出账户 + /// + public static bool LoginOut = false; + /// + /// 是否上传MES + /// + public static bool IsUpMes { get; set; } + /// + /// 是否运行 + /// + public static bool IsRun { get; set; } = false; + /// + /// 上一次设备状态 + /// + public static int DeviceStatus = 0; + /// + /// 上一次Guid + /// + public static string DeviceGuid = ""; + /// + ///第一次读取 + /// + public static bool IsFirst = false; + /// + /// 焊接功率波形图显示条数 + /// + public static int ChatLineCount = 3; + /// + /// 员工号 + /// + public static string strWorker { get; set; } + /// + /// 是否开启智能电表 + /// + public static bool IsStartZNDB { get; set; } = false; + /// + /// 白夜班 + /// + public static string strClass { get; set; } = "白班"; + /// + /// 时间变更 + /// + public static string ChangeClassTime { get; set; } = "20:30:00"; + /// + /// 设备状态 + /// + public static List Statues { get; set; } + + /// + /// 服务器链接状态 + /// + public static bool EMCStatues { get; set; } + + #region 小时产能 + /// + /// 上个时间点的总数 + /// + public static int LastTotalNum { get; set; } = 0; + /// + /// 上个时间点良品数 + /// + public static int LastOkNum { get; set; } = 0; + /// + /// 上一次重置计数的时间 + /// + public static string LastResetTime { get; set; } + /// + /// 上一次的小时 + /// + public static int LastHour { get; set; } + #endregion + + /// + /// + /// + public static List ListOmronGroups { get; set; } + + /// + /// 12小时产能 + /// + public static List Lst_Prod12HourData = new List(); + /// + /// 不良选项(检测项不良) + /// + public static List Lst_DefectTypeQty = new List(); + + /// + /// PLC报警前10项 + /// + public static List Lst_AlarmTop10_Qty = new List(); + /// + /// 参数项设置 + /// + public static List paramlists { get; set; } + + /// + /// 线程控制 + /// + public static ManualResetEvent ResetEventRecv = new ManualResetEvent(true); + + + #region 计数项 + /// + /// 生产总数 + /// + public static float TotalQty = 0; + + public static float ProOKQty = 0; + + public static float Ppm = 0; + + public static double JiaDL = 0.0; + + public static List AntiDustAirSpeed = new List(); + /// + /// PLC开机/运行时间 + /// + public static List PlcOpenAndRunTime = new List(); + /// + /// PLC开机/运行时间地址 + /// + public static List PlcOpenAndRunTimeAdress = new List { "D50", "D52", "D54", "D56", "D58", "D60" }; + public static int ProdGaoRFIDNgQty = 0;//高托杯 绑定卷心码 + public static int ProdDiRFIDNgQty = 0;//低托杯 绑定钢壳码 + + public static int ProdGangKeRFIDNgQty = 0;//钢壳托杯 绑定出站钢壳码 + public static int ProdJuanBarNgQty = 0; + public static int ProdGangKeBarNgQty = 0; + + public static int ProdRuKeTuiliNgQty = 0; + public static int ProdCCDNgQty = 0; + public static int ProdMesOutNGQty = 0; + #endregion + + #region 配置信息 + /// + /// 错误日志路径 + /// + public static string strErrorLogspath = "D:\\APILog\\Logs\\ErrorLogs"; + + public static string strSystemLogspath = "D:\\APILog\\Logs\\SystemLogs"; + public static string strAlarmLogspath = "D:\\APILog\\Logs\\AlarmLogs"; + + public static string strsqlLogspath = ""; + /// + /// 删除路径 + /// + public static string strDeletepath = ""; + /// + /// 能耗保存路径 + /// + public static string strWattrMeterpath = "D:\\APILog\\Logs\\智能电表数据"; + /// + /// MES路径日志 + /// + public static string strMesLogspath = "D:\\APILog\\Logs\\MesLogs"; + /// + /// 设备状态信息路径 + /// + public static string strDeviceStatusPath = System.Windows.Forms.Application.StartupPath + "\\Config\\DeviceStatus.cfg"; + + + /// + /// 主界面下列表绑定数据 + /// + public static DropDownListPlusItemCollection DropDownItemList = new DropDownListPlusItemCollection(); + + + /// + /// PLC读取寄存器配置文件路径 + /// + public static string ConfigPath = Path.Combine(System.Windows.Forms.Application.StartupPath, "ini\\PlcConfig.ini"); + /// + /// 系统程序配置文件路径 + /// + //public static string iniFilePath = Path.Combine(System.Windows.Forms.Application.StartupPath, "ini\\Configure.ini"); + + public static string xmlFilePath = Path.Combine(System.Windows.Forms.Application.StartupPath, "Config\\Configure.xml"); + /// + /// 配置文件字典 + /// + public static Dictionary> Configxml = new Dictionary>(); + + + #region 读取配置文件 + + // 读取 XML 配置文件 + public static Dictionary> ReadXmlConfig(string filePath) + { + var config = new Dictionary>(); + if (!File.Exists(filePath)) + { + MessageBox.Show($"配置文件不存在:{filePath}\n请检查Config文件夹是否存在,且包含Configure.xml文件"); + return config; + } + + XDocument xmlDoc = XDocument.Load(filePath); + + foreach (var sectionElement in xmlDoc.Root.Elements()) + { + string sectionName = sectionElement.Name.LocalName; + config[sectionName] = new Dictionary(); + + foreach (var keyElement in sectionElement.Elements()) + { + string key = keyElement.Name.LocalName; + string value = keyElement.Value; + config[sectionName][key] = value; + } + } + + return config; + } + + // 获取配置值 + public static string GetConfigValue(Dictionary> config, string section, string key, string defaultValue) + { + if (config.ContainsKey(section) && config[section].ContainsKey(key)) + { + return config[section][key]; + } + return defaultValue; + } + + + // 写入 XML 文件 + public static void WriteXmlFile(Dictionary> config, string filePath) + { + XDocument xmlDoc = new XDocument(new XElement("Configuration")); + + foreach (var section in config) + { + var sectionElement = new XElement(section.Key); + foreach (var keyValue in section.Value) + { + sectionElement.Add(new XElement(keyValue.Key, keyValue.Value)); + } + xmlDoc.Root.Add(sectionElement); + } + xmlDoc.Save(filePath); + } + + /// + /// 单个配置数据保存 + /// + /// + /// + /// + public static void UpdateConfig(string INFO, string Type, string value) + { + // 更新 Configxml 中的 SteelshellCount + CommonMethods.Configxml[INFO][Type] = value; + + // 将更新后的 Configxml 写入文件 + CommonMethods.WriteXmlFile(CommonMethods.Configxml, CommonMethods.xmlFilePath); + } + + + /// + ///读取配置文件 + /// + public static SysConfig GetSysConfig() + { + try + { + + #region 系统配置文件 + return sysConfig = new SysConfig + { + AutoStart = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "AutoStart", "true")), + AutoLogin = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "AutoLogin", "true")), + AutoLock = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "AutoLockScreen", "false")), + LockPeriod = Convert.ToInt32(GetConfigValue(Configxml, "CONFIG_INFO", "LockIntervalTime", "0")), + AutoQieHuanM = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "AutoSwitchMonitor", "false")), + QieHuanMPeriod = Convert.ToInt32(GetConfigValue(Configxml, "CONFIG_INFO", "SwitchMonitorInterval", "0")), + ShowSeriesCount = Convert.ToInt32(GetConfigValue(Configxml, "CONFIG_INFO", "CurveDisplayCount", "0")), + SwipeCardMode = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "EnableCardMode", "false")), + MesModeSwitching = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "MESModeSwitch", "false")), + GetMesParam = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "FetchMESParams", "false")), + SaveThreadTime = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "SaveThreadTimeLog", "false")), + IsDebugMode = Convert.ToBoolean(GetConfigValue(Configxml, "CONFIG_INFO", "IsDebugMode", "true")) + }; + #endregion + } + catch (Exception) + { + return sysConfig = null; + } + } + + /// + /// 获取MES配置文件 + /// + public static MesConfig GetMesConfig() + { + try + { + #region MES配置文件 + return mesConfig = new MesConfig + { + siteCode = GetConfigValue(Configxml, "MES_CONFIG", "SiteCode", "57M"), + lineCode = GetConfigValue(Configxml, "MES_CONFIG", "LineCode", "PW-571"), + equipNum = GetConfigValue(Configxml, "MES_CONFIG", "EquipNum", "571VIM01"), + CustomerPartNum = GetConfigValue(Configxml, "MES_CONFIG", "CustomerPartNum", "491VIM01"), + containerCode = GetConfigValue(Configxml, "MES_CONFIG", "ContainerCode", "PLT43F030000001"), + MESURLAddressIP = GetConfigValue(Configxml, "MES_CONFIG", "MESIp", "10.100.111.81"), + MESURLAddressPort = GetConfigValue(Configxml, "MES_CONFIG", "MESPort", "80"), + EmployeeAuthCheck = GetConfigValue(Configxml, "MES_CONFIG", "EmployeeAuthCheck", "571VIM01"), + DeviceParamRequest = GetConfigValue(Configxml, "MES_CONFIG", "DeviceParamRequest", "571VIM01"), + DeviceParamChange = GetConfigValue(Configxml, "MES_CONFIG", "DeviceParamChange", "491581VIM01VIM01"), + DeviceAlarm = GetConfigValue(Configxml, "MES_CONFIG", "DeviceAlarm", "581VIM01"), + DeviceStatus = GetConfigValue(Configxml, "MES_CONFIG", "DeviceStatus", "581VIM01"), + EnergyConsumption = GetConfigValue(Configxml, "MES_CONFIG", "EnergyConsumption", "581VIM01"), + Anemometer = GetConfigValue(Configxml, "MES_CONFIG", "Anemometer", "581VIM01"), + //AppID = GetConfigValue(Configxml, "MES_CONFIG", "APPID", "491VIM01"), + //AppKey = GetConfigValue(Configxml, "MES_CONFIG", "APPKEY", "491VIM01"), + //GetTokenUrl = GetConfigValue(Configxml, "MES_CONFIG", "GetTokenUrl", "491VIM01"), + queryCartonUrl = GetConfigValue(Configxml, "MES_CONFIG", "QueryCartonUrl", ""), + queryPalletUrl = GetConfigValue(Configxml, "MES_CONFIG", "QueryPalletUrl", ""), + bindingUrl = GetConfigValue(Configxml, "MES_CONFIG", "BindingUrl", ""), + customerType = GetConfigValue(Configxml, "MES_CONFIG", "customerType", "O2"), + }; + #endregion + } + catch (Exception) + { + return mesConfig = null; + } + } + + /// + /// 获取BTW配置文件 + /// + public static BTWConfig GetBtwConfig() + { + try + { + #region 打印模板路径配置文件 + return btwConfig = new BTWConfig + { + IsConnectPrinter = Convert.ToBoolean(GetConfigValue(Configxml, "BTW_CONFIG", "IsConnectPrinter", "false")), + containerBTWPath = GetConfigValue(Configxml, "BTW_CONFIG", "ContainerBTWPath", ""), + palletBTWPath = GetConfigValue(Configxml, "BTW_CONFIG", "PalletBTWPath", ""), + printerName = GetConfigValue(Configxml, "BTW_CONFIG", "PrinterName", ""), + }; + #endregion + } + catch (Exception) + { + return btwConfig = null; + } + } + + #endregion + + public static string deviceConfigPath = Application.StartupPath + "\\Config\\Device.xlsx"; + public static string groupConfigPath = Application.StartupPath + "\\Config\\Group.xlsx"; + public static string variableConfigPath = Application.StartupPath + "\\Config\\Variable.xlsx"; + public static string FdConfigFilePath = Application.StartupPath + "\\Config\\FdConfig.xlsx"; + + + #region 保存配置文件 + /// + /// 保存启动自动登录 + /// + /// + /// + public static bool SaveAutoStart(bool value) + { + Configxml["CONFIG_INFO"]["AutoStart"] = value.ToString(); // 修改自动登录为 True + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + /// + /// 保存开机自动启动 + /// + /// + /// + public static bool SaveAutoLogin(bool value) + { + Configxml["CONFIG_INFO"]["AutoLogin"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 保存无操作自动锁屏 + /// + /// + /// + public static bool SaveAutoLock(bool value) + { + Configxml["CONFIG_INFO"]["AutoLockScreen"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + public static bool SaveConnectPrinter(bool value) + { + Configxml["BTW_CONFIG"]["IsConnectPrinter"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 保存锁屏间隔时间 + /// + /// + /// + public static bool SaveLockPeriod(int value) + { + Configxml["CONFIG_INFO"]["LockIntervalTime"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + + /// + /// 保存无操作自动切换监控界面 + /// + /// + /// + public static bool SaveAutoQieHuanM(bool value) + { + Configxml["CONFIG_INFO"]["AutoSwitchMonitor"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + + /// + /// 保存无操作自动切换监控界面 + /// + /// + /// + public static bool SaveIsDebug(bool value) + { + Configxml["CONFIG_INFO"]["IsDebugMode"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 保存切换监控界面间隔时间 + /// + /// + /// + public static bool SaveQieHuanMPeriod(int value) + { + Configxml["CONFIG_INFO"]["SwitchMonitorInterval"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 保存曲线显示数量 + /// + /// + /// + public static bool SaveShowSeriesCount(int value) + { + Configxml["CONFIG_INFO"]["CurveDisplayCount"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 开启刷卡模式 + /// + /// + /// + public static bool SaveSwipeCardMode(bool value) + { + Configxml["CONFIG_INFO"]["EnableCardMode"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + /// + /// MES/非MES模式 + /// + /// + /// + public static bool SaveOpenMesModel(bool value) + { + Configxml["CONFIG_INFO"]["MESModeSwitch"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 获取MES参数 + /// + /// + /// + public static bool SaveGetMesParam(bool value) + { + Configxml["CONFIG_INFO"]["FetchMESParams"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + + /// + /// 保存线程耗时操作 + /// + /// + /// + public static bool SaveSaveThreadTime(bool value) + { + Configxml["CONFIG_INFO"]["SaveThreadTimeLog"] = value.ToString(); + WriteXmlFile(Configxml, xmlFilePath); + return true; + } + #endregion + + #endregion + + #region 委托信息 + //创建委托 + // 数据监视委托 + public static Action AddDataMonitorDelegate; + /// + /// 系统日志 + /// + public static Action AddLogDelegate; + /// + /// 操作日志 + /// + public static Action AddOPLogDelegate; + /// + /// 报警日志 + /// + public static Action AddAlarmDelegate; + /// + /// 显示报警信息 + /// + public static Action ShowAlarmDelegate; + /// + /// 参数更新 + /// + public static Action ChangeParamDelegate; + /// + /// + /// + public static Action AddHomeDelegate; + /// + /// 显示进站信息 + /// + public static Action> ShowFeedingDelegate; + /// + /// 显示出站数据 + /// + public static Action> ShowBlankingDelegate; + /// + /// 显示箱唛打印信息 + /// + public static Action> ShowPrintContainergDelegate; + /// + /// 显示栈板打印信息 + /// + public static Action> ShowPrintPalletDelegate; + /// + /// 数据监视委托 + /// + /// + /// + public static void AddDataMonitorLog(int type, string info) + { + //调用委托 + if (AddDataMonitorDelegate != null) + { + AddDataMonitorDelegate(type, info); + } + } + + /// + /// 写入系统日志 + /// + /// 是否为错误信息 + /// 日志信息 + public static void AddLog(bool isError, string info) + { + //调用委托 + if (AddLogDelegate != null) + { + AddLogDelegate(isError, info); + } + } + /// + /// 写入操作日志 + /// + /// + /// + public static void AddOPLog(bool isError, string info) + { + //调用委托 + if (AddLogDelegate != null) + { + AddOPLogDelegate(isError, info); + } + } + + public static void AddAlarmLog(SysLog sysLog) + { + //调用委托 + if (AddAlarmDelegate != null) + { + AddAlarmDelegate(sysLog); + } + } + + /// + /// 显示报警日志 + /// + /// + public static void ShowAlarmLog(string info) + { + //调用委托 + if (ShowAlarmDelegate != null) + { + ShowAlarmDelegate(info); + } + } + + public static void ChangeParamData() + { + //调用委托 + if (ChangeParamDelegate != null) + { + ChangeParamDelegate(); + } + } + #endregion + + /// + /// TODO PLC变量集合 + /// KEY = VarAddress + /// + public static ConcurrentDictionary PLCVariable = new ConcurrentDictionary(); + + // 打印机 + /// + /// zebra + /// + public static BartenderPrinter containerPrint; + //public static string containerPrintName = "ContainerPrint"; + + /// + /// 栈板 + /// + public static BartenderPrinter palletPrint; + //public static string palletPrintName = "PalletPrint"; + + /// + /// 3S + /// + //public static BartenderPrinter _3SPrint; + //public static string _3SPrintName = "3SPrint"; + + /// + /// 6J + /// + //public static BartenderPrinter _6JPrint; + //public static string _6JPrintName = "6JPrint"; + + public static PrintSocket.TCPClient tcpClient; + } + + +} diff --git a/JinYuan.VirtualDataLibrary/DBSQL.cs b/JinYuan.VirtualDataLibrary/DBSQL.cs new file mode 100644 index 0000000..8f00361 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/DBSQL.cs @@ -0,0 +1,648 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.VirtualDataLibrary +{ + public class DBSQL + { + + /// + /// 获取PLC换型参数绑定值 + /// + /// + /// + public string GetPlcParamSql(string modelName) + { + string strSql = $@"SELECT + '{modelName}' AS `ModelName`, + `pb`.`PLCAddress`, + `pc`.`PLCValue`, + `pc`.`UpdateTime`, + `pb`.`PLCRemark`, + `pb`.`OrderNum` + FROM + `Plcconfigbase` `pb` + LEFT JOIN + (SELECT * FROM `Plcconfig` WHERE `ModelName` = '{modelName}') `pc` + ON + `pb`.`PLCAddress` = `pc`.`PLCAddress` + ORDER BY + `pb`.`OrderNum`"; + + return strSql; + } + + /// + /// 获取产品型号参数 + /// + /// + /// + public string GetParamSql(string strModelType) + { + string strSql = $@"SELECT + `pb`.`ParaName`, + '{strModelType}' AS `ModelName`, + `pl`.`ParaValueMin`, + `pl`.`ParaValueMax`, + `pl`.`Uint`, + `pb`.`Remark`, + `pl`.`UpdateTime` + FROM + `Parambase` `pb` + LEFT JOIN + (SELECT * FROM `ParamList` WHERE `ModelName` = '{strModelType}') `pl` + ON + `pb`.`ParaName` = `pl`.`ParaName` + ORDER BY + `pb`.`fNo` ASC"; + + return strSql; + } + + + /// + /// 获取产品型号列表 + /// + /// + /// + public string GetProdTypeSql(string strProdType = "") + { + string strSql = @"SELECT * FROM ProductModel "; + if (strProdType != "") + { + strSql += string.Format(" where ModelName='{0}'", strProdType); + } + strSql += " order by ModelName"; + return strSql; + } + + + /// + /// 获取产品型号 + /// + /// + /// + public string GetProductParaByProdModel(string strModelType) + { + string strSql = $@"SELECT + `pb`.`ParaName`, + '{strModelType}' AS `ModelName`, + `pl`.`ParaValueMin`, + `pl`.`ParaValueMax`, + `pl`.`Uint`, + `pb`.`Remark`, + `pl`.`UpdateTime` + FROM + `Parambase` `pb` + LEFT JOIN + (SELECT * FROM `Paramlist` WHERE `ModelName` = '{strModelType}') `pl` + ON + `pb`.`ParaName` = `pl`.`ParaName` + ORDER BY + `pb`.`fNo` ASC"; + + return strSql; + } + + + public string GetPLCConfigBases() + { + string strSql = string.Format(@"SELECT * FROM `Plcconfigbase` ORDER BY `OrderNum`"); + + return strSql; + } + + + public string GetSysAdminSql() + { + string strSql = string.Format(@"SELECT + `LoginId`, + `LoginName`, + `LoginPwd`, + `LoginUid`, + `LoginLevel`, + `SystemLog`, + `CpkData`, + `HistoryData`, + `ParamSet`, + `SystemSet`, + `UserManage` + FROM + `SysAdmin`"); + + return strSql; + } + + /// + /// 查询历史数据 + /// + /// + /// + /// + /// + public string SelectHostData(int type, string strRfid, string strBarCode, string strDate1, string strDate2) + { + if (string.IsNullOrWhiteSpace(strDate1)) strDate1 = "1970-01-01 00:00:00"; + if (string.IsNullOrWhiteSpace(strDate2)) strDate2 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + string searchKey = strRfid?.Replace("'", "''") ?? ""; + //if (string.IsNullOrEmpty(safeBarCode)) + // return strSql; + + var queryTemplate = new Dictionary + { + { 0, ("`ContainerCode`, DATE_FORMAT(`TestTime`, '%Y-%m-%d %H:%i:%s') AS `TestTime`, `PalletCode`, `Result`, `Remark`", "`AGearEntity`", "`TestTime`", "`ContainerCode`") }, + { 1, ("`ContainerCode`, DATE_FORMAT(`TestTime`, '%Y-%m-%d %H:%i:%s') AS `TestTime`, `Result`, `Remark`", "`DGearEntity`", "`TestTime`", "`ContainerCode`") }, + //{ 6, ("`PalletCode`, DATE_FORMAT(`TestTime`, '%Y-%m-%d %H:%i:%s') AS `TestTime`, `Result`, `Remark`", "`EGearEntity`", "`TestTime`", "`PalletCode`") }, + { 2, ("`ContainerCode`, `PalletCode`, DATE_FORMAT(`TestTime`, '%Y-%m-%d %H:%i:%s') AS `TestTime`, `Weight`,`Result`, `Remark`", "`BGearEntity`", "`TestTime`", "`ContainerCode`") }, + { 3, ("`container_id` AS `ContainerCode`, `tag_code`, `tag_value`, DATE_FORMAT(`create_time`, '%Y-%m-%d %H:%i:%s') AS `TestTime`", "`ContainerKVDetail`", "`create_time`", "`container_id`") }, + { 4, ("`pallet_id` AS `PalletCode`, DATE_FORMAT(`create_time`, '%Y-%m-%d %H:%i:%s') AS `TestTime`, `tag_code`, `tag_value`", "`PalletKVDetail`", "`create_time`", "`pallet_id`") }, + { 5, ("`pallet_id` AS `PalletCode`, `container_id` AS `ContainerCode`, DATE_FORMAT(`create_time`, '%Y-%m-%d %H:%i:%s') AS `TestTime`", "`PalletEntity`", "`create_time`", "") } + }; + + var (selectSql, tableName, timeField, searchField) = queryTemplate[type]; + StringBuilder sqlBuilder = new StringBuilder(); + sqlBuilder.AppendFormat("SELECT {0} FROM {1} WHERE {2} >= '{3}' AND {4} <= '{5}'", + selectSql,tableName,timeField,strDate1.Replace("'", "''"),timeField,strDate2.Replace("'", "''")); + + if (!string.IsNullOrWhiteSpace(searchKey)) + { + if (type == 5) + { + // type=5特殊处理:同时匹配PalletCode和ContainerCode + sqlBuilder.AppendFormat(" AND (`PalletCode` LIKE '%{0}%' OR `ContainerCode` LIKE '%{0}%')", searchKey); + } + else if (type == 6) + { + // type=6特殊处理:同时匹配pallet_id和container_id + sqlBuilder.AppendFormat(" AND (`pallet_id` LIKE '%{0}%' OR `container_id` LIKE '%{0}%')", searchKey); + } + else + { + // 普通类型:匹配指定搜索字段 + sqlBuilder.AppendFormat(" AND {0} LIKE '%{1}%'", searchField, searchKey); + } + } + + // 返回纯SQL字符串(无自定义参数格式) + return sqlBuilder.ToString(); + + + } + + + /// + /// 查询报警历史数据 + /// + /// + /// + /// + /// + public string SelectHostAlarmData(string start, string end, int alarmType) + { + string strSql = ""; + switch (alarmType) + { + case 1: + strSql = @"SELECT + DATE_FORMAT(`AlarmTime`, '%Y-%m-%d %H:%i:%s') AS `AlarmTime`, + `PLCAdress`, + `AlarmContent`, + `AlarmCount`, + `Class` + FROM + `AlarmCountEntry` + WHERE + `AlarmTime` >= '" + start + "' AND `AlarmTime` <= '" + end + $"' AND `Class` = '{CommonMethods.strClass}'"; + break; + case 2: + strSql = @"SELECT + DATE_FORMAT(`AlarmTime`, '%Y-%m-%d %H:%i:%s') AS `AlarmTime`, + `PLCAdress`, + `AlarmContent`, + `AlarmCount`, + `Class` + FROM + `AlarmCountEntry` + WHERE + `AlarmTime` >= '" + start + "' AND `AlarmTime` <= '" + end + $"' AND `Class` = '{CommonMethods.strClass}'"; + break; + default: + case 0: + strSql = @"SELECT + DATE_FORMAT(`AlarmTime`, '%Y-%m-%d %H:%i:%s') AS `AlarmTime`, + `PLCAdress`, + `AlarmContent`, + `AlarmCount`, + `Class` + FROM + `AlarmCountEntry` + WHERE + `AlarmTime` >= '" + start + "' AND `AlarmTime` <= '" + end + "'"; + break; + } + #region 旧 + //if (alarmType == "全天") + //{ + // strSql = @"SELECT + // DATE_FORMAT(`AlarmTime`, '%Y-%m-%d %H:%i:%s') AS `AlarmTime`, + // `PLCAdress`, + // `AlarmContent`, + // `AlarmCount`, + // `Class` + // FROM + // `AlarmCountEntry` + // WHERE + // `AlarmTime` >= '" + start + "' AND `AlarmTime` <= '" + end + "'"; + //} + //else if (alarmType == "白班") + //{ + // strSql = @"SELECT + // DATE_FORMAT(`AlarmTime`, '%Y-%m-%d %H:%i:%s') AS `AlarmTime`, + // `PLCAdress`, + // `AlarmContent`, + // `AlarmCount`, + // `Class` + // FROM + // `AlarmCountEntry` + // WHERE + // `AlarmTime` >= '" + start + "' AND `AlarmTime` <= '" + end + "' AND `Class` = '白班'"; + //} + //else + //{ + // strSql = @"SELECT + // DATE_FORMAT(`AlarmTime`, '%Y-%m-%d %H:%i:%s') AS `AlarmTime`, + // `PLCAdress`, + // `AlarmContent`, + // `AlarmCount`, + // `Class` + // FROM + // `AlarmCountEntry` + // WHERE + // `AlarmTime` >= '" + start + "' AND `AlarmTime` <= '" + end + "' AND `Class` = '夜班'"; + //} + #endregion + return strSql; + } + + /// + /// 按日统计 + /// + /// + /// + /// + public string GetStaticByDay(string startDateTime, string endDateTime) + { + string strSql = $@"SELECT + DATE_FORMAT(`TestTime`, '%Y-%m-%d %H:00:00') AS `Day`, + `ProdIn`, + `ProdOut`, + `Ppm`, + CONCAT(CAST(ROUND(`JiaDL` * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN `ProdIn` > 0 THEN ROUND(COALESCE(`ProdOut`, 0) / COALESCE(`ProdIn`, 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{startDateTime}' AND '{endDateTime}' + GROUP BY + `TestTime`, `ProdOut`, `ProdIn`, `Ppm`, `JiaDL` + UNION ALL + SELECT + 'Total' AS `Day`, + SUM(`ProdIn`) AS ProdIn, + SUM(`ProdOut`) AS ProdOut, + AVG(`Ppm`) AS Ppm, + CONCAT(CAST(ROUND(AVG(`JiaDL`) * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN SUM(`ProdIn`) > 0 THEN ROUND(COALESCE(SUM(`ProdOut`), 0) / COALESCE(SUM(`ProdIn`), 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{startDateTime}' AND '{endDateTime}'"; + + return strSql; + } + + /// + /// 按周查询 + /// + /// + /// + /// + public string GetStaticByWeek(string startDateTime, string endDateTime) + { + string strSql = $@"SELECT + DATE_FORMAT(`TestTime`, '%Y-%m') AS `Week`, + SUM(`ProdIn`) AS ProdIn, + SUM(`ProdOut`) AS ProdOut, + AVG(`Ppm`) AS Ppm, + CONCAT(CAST(ROUND(`JiaDL` * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN SUM(`ProdIn`) > 0 THEN ROUND(COALESCE(SUM(`ProdOut`), 0) / COALESCE(SUM(`ProdIn`), 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{startDateTime}' AND '{endDateTime}' + GROUP BY + DATE_FORMAT(`TestTime`, '%Y-%m'), `JiaDL` + UNION ALL + SELECT + 'Total' AS `Week`, + SUM(`ProdIn`) AS ProdIn, + SUM(`ProdOut`) AS ProdOut, + AVG(`Ppm`) AS Ppm, + CONCAT(CAST(ROUND(AVG(`JiaDL`) * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN SUM(`ProdIn`) > 0 THEN ROUND(COALESCE(SUM(`ProdOut`), 0) / COALESCE(SUM(`ProdIn`), 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{startDateTime}' AND '{endDateTime}'"; + + return strSql; + } + + + /// + /// 按月查询 + /// + /// + /// + /// + public string GetStaticByMonth(string startDateTime, string endDateTime) + { + string strSql = $@"SELECT + DATE_FORMAT(`TestTime`, '%Y-%m') AS `Month`, + SUM(`ProdIn`) AS ProdIn, + SUM(`ProdOut`) AS ProdOut, + AVG(`Ppm`) AS Ppm, + CONCAT(CAST(ROUND(`JiaDL` * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN SUM(`ProdIn`) > 0 THEN ROUND(COALESCE(SUM(`ProdOut`), 0) / COALESCE(SUM(`ProdIn`), 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{startDateTime}' AND '{endDateTime}' + GROUP BY + DATE_FORMAT(`TestTime`, '%Y-%m'), `JiaDL` + UNION ALL + SELECT + 'Total' AS `Month`, + SUM(`ProdIn`) AS ProdIn, + SUM(`ProdOut`) AS ProdOut, + AVG(`Ppm`) AS Ppm, + CONCAT(CAST(ROUND(AVG(`JiaDL`) * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN SUM(`ProdIn`) > 0 THEN ROUND(COALESCE(SUM(`ProdOut`), 0) / COALESCE(SUM(`ProdIn`), 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{startDateTime}' AND '{endDateTime}'"; + + return strSql; + } + + /// + /// 按班次统计 + /// + /// + /// + /// + /// + public string GetStaticByShift(DateTime dateTime, int shift, string changeShiftTime) + { + string sDateTime1 = string.Empty; + string sDateTime2 = string.Empty; + if (shift == 0)// 白班 + { + DateTime sTempDateTime = Convert.ToDateTime($"{dateTime.ToString("yyyy-MM-dd")} {changeShiftTime}"); + + sDateTime1 = sTempDateTime.AddHours(-12).ToString("yyyy-MM-dd HH:mm:ss"); + sDateTime2 = sTempDateTime.ToString("yyyy-MM-dd HH:mm:ss"); + } + else + { + sDateTime1 = $"{dateTime.ToString("yyyy-MM-dd")} {changeShiftTime}"; + sDateTime2 = Convert.ToDateTime(sDateTime1).AddHours(12).ToString("yyyy-MM-dd HH:mm:ss"); + } + + string strsql = $@"SELECT + DATE_FORMAT(`TestTime`, '%Y-%m-%d %H:00:00') AS `TestTime`, + `ProdIn`, + `ProdOut`, + `Ppm`, + CONCAT(CAST(ROUND(`JiaDL` * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN `ProdIn` > 0 THEN ROUND(COALESCE(`ProdOut`, 0) / COALESCE(`ProdIn`, 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{sDateTime1}' AND '{sDateTime2}' + GROUP BY + `TestTime`, `ProdOut`, `ProdIn`, `Ppm`, `JiaDL` + UNION ALL + SELECT + 'Total' AS `Time`, + SUM(`ProdIn`) AS ProdIn, + SUM(`ProdOut`) AS ProdOut, + AVG(`Ppm`) AS Ppm, + CONCAT(CAST(ROUND(AVG(`JiaDL`) * 100, 1) AS CHAR(10)), '%') AS `JiaDL`, + CONCAT(CAST( + CASE + WHEN SUM(`ProdIn`) > 0 THEN ROUND(COALESCE(SUM(`ProdOut`), 0) / COALESCE(SUM(`ProdIn`), 0) * 100, 2) + ELSE 0 + END AS CHAR(10)), '%') AS `Prod` + FROM + `Hourprod` + WHERE + `TestTime` BETWEEN '{sDateTime1}' AND '{sDateTime2}'"; + + return strsql; + } + + + /// + /// 获取最新的数据 + /// + /// + public string GetStatic(string strDateTime) + { + + string strsql = $@" SELECT [FDate] + ,[FHour] + ,[ProdIn] + ,[ProdOut] + ,[TestTime] + FROM [dbo].[Hourprod] where FDate='{strDateTime}' order by TestTime desc"; + return strsql; + } + + /// + /// 根据条码查询是否存在 + /// + /// + /// + public string GetBarcode(string barCode) + { + string strSql = $@"SELECT EXISTS( + SELECT 1 + FROM `CGearEntity` + WHERE BarCode = '{barCode}') AS barcode_exists"; + return strSql; + } + + ///// + ///// 根据条码获取挡位最新的一条数据 + ///// + ///// + ///// + //public string GetJetCodeTop1Sql(string barCode) + //{ + // string strSql = $@"SELECT + // `InsulationTestShift` + // FROM + // `BGearEntity` + // WHERE `BarCode` = '{barCode}' ORDER BY `TestTime` DESC + // LIMIT 1"; + // return strSql; + //} + + ///// + ///// 根据条码获取重量直径最新的一条数据 + ///// + ///// + ///// + //public string GetOutStationTop1Sql(string barCode) + //{ + // string strSql = $@"SELECT + // `BarCode`, + // `Weight`, + // `Diameter` + // FROM + // `BGearEntity` + // WHERE `BarCode` = '{barCode}' ORDER BY `TestTime` DESC + // LIMIT 1"; + // return strSql; + //} + + /// + /// 获取表头注释 + /// + /// + public string GetSqlFields(string tableName) + { + string strSql = $@"SELECT + COLUMN_NAME, + DATA_TYPE, + COLUMN_COMMENT + FROM + INFORMATION_SCHEMA.COLUMNS + WHERE + TABLE_SCHEMA = 'largesquareone' AND TABLE_NAME = '{tableName}' + ORDER BY + ORDINAL_POSITION;"; + return strSql; + } + } + + public class M_DBCtrl + { + /// --本机数据库表名 + /// + /// + //public string machineInSQLTable = "agearentity"; + public string machineOutSQLTable = "bgearentity"; + + private string[] headerTextOut; + /// + /// 出站数据库表头 + /// + public string[] HeaderTextOut + { + get { return headerTextOut; } + set { headerTextOut = value; } + } + + /// 查询SQL数据库中的数据,并以string数组列表形式返回 + /// + /// + /// + /// 所查询到的数据,null表示不存在 + public List SQLAllDataSearchToStrArrList(string strSql) + { + List strResArrList = new List(); + List strResList = new List(); + try + { + DataTable dt = CommonMethods.db.QueryDataTable(strSql); + if (dt != null) + { + for (int i = 0; i < dt.Rows.Count; i++) + { + for (int j = 0; j < dt.Columns.Count; j++) + { + string resRow = dt.Rows[i][j].ToString(); + strResList.Add(resRow); + } + string[] strResArr = strResList.ToArray(); + strResList.Clear(); + strResArrList.Add(strResArr); + } + } + } + catch (Exception e) + { + return strResArrList = new List(); + } + return strResArrList; + } + + /// 根据下标在返回的数据库表信息 集合中获取相应数据 + /// index 0:字段 2:中文注释 1:变量类型int\char等 + /// + /// liststring[]类型的集合 + /// string[] 的下标 + /// + public String[] HeaderTextAssignment(List SqlList, int index) + { + string[] headStringlist = new string[SqlList.Count]; + // int i = 0; + try + { + for (int i = 0; i < SqlList.Count; i++) + { + headStringlist[i] = SqlList[i][index]; + } + } + catch (Exception) + { + } + return headStringlist; + } + } +} diff --git a/JinYuan.VirtualDataLibrary/DelegateLib.cs b/JinYuan.VirtualDataLibrary/DelegateLib.cs new file mode 100644 index 0000000..697365e --- /dev/null +++ b/JinYuan.VirtualDataLibrary/DelegateLib.cs @@ -0,0 +1,43 @@ + +using JinYuan.Models; +using PLCCommunication; +using System.Collections.Generic; + +namespace JinYuan.VirtualDataLibrary +{ + + public delegate void dgStationFunction(JYResult bArrays, object plcModel); + + /// + /// 显示上料信息 + /// + /// + /// + //public delegate void dgShowFeeding(List list); + /// + /// 显示下料信息 + /// + /// + /// + //public delegate void dgShowBlanking(List list); + /// + /// 设备综合效率 + /// + /// + public delegate void DGShow12HourData(DeviceOEE device12Hour); + + /// + /// 设备综合效率 + /// + /// + public delegate void DGShowAlarmData(DeviceOEE deviceAlarm); + + + /// + /// 焊机功率 + /// Welding machine power + /// + public delegate void DGShowWeldingPowerData(List DataList); + + +} diff --git a/JinYuan.VirtualDataLibrary/JinYuan.VirtualDataLibrary.csproj b/JinYuan.VirtualDataLibrary/JinYuan.VirtualDataLibrary.csproj new file mode 100644 index 0000000..11df8a5 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/JinYuan.VirtualDataLibrary.csproj @@ -0,0 +1,120 @@ + + + + + Debug + AnyCPU + {2AB7E380-7795-448A-933C-0F6A081B5E7E} + Library + Properties + JinYuan.VirtualDataLibrary + JinYuan.VirtualDataLibrary + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll + + + False + ..\Libs\HML.dll + + + False + ..\Libs\PLCCommunication.dll + + + False + ..\Libs\2016\Seagull.BarTender.Print.dll + + + + + + + + + + + + + + + + + + + Form + + + MsgshowTip.cs + + + + True + True + Resources.resx + + + + + + + {114aa012-29c9-418c-a2d6-3173c5341f51} + JinYuan.DAL + + + {258d0ab7-2b4f-4d8f-a3cd-7a8cb4a85360} + JinYuan.Helper + + + {530b6426-08e7-461c-91dc-787f876620fc} + JinYuan.MES + + + {4c0bcb84-5cd7-4846-8363-c4c10d46e391} + JinYuan.Models + + + {486aecd0-c2bf-43c5-b7d7-88e565ade4b7} + PLC + + + + + + + + MsgshowTip.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + + + \ No newline at end of file diff --git a/JinYuan.VirtualDataLibrary/MesConfig.cs b/JinYuan.VirtualDataLibrary/MesConfig.cs new file mode 100644 index 0000000..83eeb13 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/MesConfig.cs @@ -0,0 +1,254 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.VirtualDataLibrary +{ + public class MesConfig + { + /// + /// 工厂代码 + /// + public string siteCode = ""; + /// + /// 产线编号 + /// + public string lineCode = ""; + /// + /// 设备编号 + /// + public string equipNum = ""; + /// + /// 客户料号 + /// + public string CustomerPartNum = ""; + + /// + /// 容器编码 + /// + public string containerCode = ""; + /// + /// MES密码 + /// + public string mesPwd = ""; + /// + /// MES账户 + /// + public string mesUserName = ""; + + /// + /// 电表编号 + /// + public List electricMeterNum = new List(); + + /// + /// 风速仪个数 + /// + public int AntiDustAirSpeedCount = 0; + /// + /// 风速仪编号 + /// + public List listAntiDustAirSpeedNum = new List(); + + /// + /// 权限 + /// + public string userLevel = ""; + /// + /// mes返回权限 + /// + public string mesUserLevel = ""; + /// + /// 物料编码 + /// + public string MaterialCode = ""; + /// + /// 生产型号 + /// + public string ModelName = ""; + + private Dictionary modelMapping = new Dictionary() + { + { "MB36", 1 }, + { "MB31", 2 }, + { "MB56", 3 } + }; + + /// + /// 将电池型号转换成下发PLC的型号编号 + /// + /// + /// + public int GetModel(string modelName) + { + if (modelMapping.TryGetValue(modelName, out int result)) + { + return result; // 键存在,返回对应值 + } + // 键不存在,返回0 + return 0; + } + /// + /// 客户类型 + /// + public string customerType = ""; + /// + /// 是否上传MES + /// + public bool isUpMes = false; + /// + /// MES接口URL地址中的IP地址 + /// + public string MESURLAddressIP = "10.100.111.81"; + /// + /// MES接口URL地址中的端口号 + /// + public string MESURLAddressPort = "80"; + /// + /// 是否连接MES + /// + public bool isConnected = false; + /// + /// 是否刷卡? + /// + public bool Isshuaka = false; + /// + /// 是否登录成功? + /// + public bool IsLoginOK = false; + /// + /// 是否登录MES成功? + /// + public bool IsLoginMesOK = false; + /// + /// 获取MES参数 + /// + public bool IsMesParam = false; + /// + /// MES超时 + /// + public long MesOutTime = 0; + /// + /// 焊接点个数 + /// + public int weldNum = 0; + /// + /// 是否2个电表(此功能仅适用于908-6负极焊接两台设备共用一台敢接机只有一个电表) + /// + public bool IsTwoDianBiao = false; + /// + /// 电表编号 + /// + public string ElectricMeterNum = ""; + /// + /// 除尘风速 + /// + public decimal antiDustAirSpeed = 0; + + /// + /// 电机旋转速度 + /// + public decimal dianjiXzSpeed = 0; + /// + /// 设备状态上传时间 + /// + public int EquStatuasTime = 0; + /// + /// 获取服务器数据 + /// + public bool IsGet_Server = true; + /// + /// 生成假数据 + /// + public bool IsDebug = true; + /// + /// 卡板托盘计数 + /// + public int CoreCount = 0; + /// + /// 卡板托盘生成时间 + /// + public string CardTime = ""; + /// + /// 卡板码是否发送成功 + /// + public bool CardSuccess = false; + + /// + /// 原材料上料位置 + /// + public string materialLotCodeLocator = ""; + + /// + /// 存储服务器IP地址 + /// + public string RotueServerIP = "192.168.2.108"; + /// + /// 员工权限校验 + /// + public string EmployeeAuthCheck = "http://10.100.111.81/core/api/public/equipment/base/user/permission/verify"; + ///// + ///// 原材料投入信息 + ///// + //public string MaterialInputInfo = "http://10.100.111.81/core/api/public/raw/material/input/un/first/process"; + /// + /// 设备参数设定值请求 + /// + public string DeviceParamRequest = "http://10.100.111.81/core/api/public/param/setting/request"; + /// + /// 设备参数设定值变更 + /// + public string DeviceParamChange = "http://10.100.111.81/core/api/public/param/setting/change"; + + /// + /// 箱唛信息获取 + /// + public string queryCartonUrl = "http://10.100.111.81/core/api/public/equip/auto/cartonquery"; + + /// + /// 栈板信息获取 + /// + public string queryPalletUrl = "http://10.100.111.81/core/api/public/equip/auto/palletquery"; + + /// + /// 客户标签与系统标签绑定 + /// + public string bindingUrl = "http://10.100.111.81/core/api/public/equip/auto/customer/bind"; + /// + /// 设备报警信息 + /// + public string DeviceAlarm = "http://10.100.111.81/core/api/public/equipment/alarm/currency"; + /// + /// 设备运行状态 + /// + public string DeviceStatus = "http://10.100.111.81/core/api/public/eve/pm/eqm/run/status/operation"; + /// + /// 能耗数据 + /// + public string EnergyConsumption = "http://10.100.111.81/core/api/public/eve/pm/energy/consumption/collection/submit"; + /// + /// 设备风速接口 + /// + public string Anemometer = "https://iot.eveportal.com:9470/eve_api/ems/iot/upload_device_collect_data"; + + ///// + ///// 进出站一体模式× + ///// + //public string InAndOutStationMesUrl = "http://10.17.96.73/core/api/public/14j/out/station/process/turn-in-out"; + + /// + /// appId + /// + public string AppID = "e36ef900320d442f850913e2ebc1d7a1"; + /// + /// AppKey + /// + public string AppKey = "8279ce76217245f48c0cc495c09124a3"; + /// + /// 获取TOKEN + /// + public string GetTokenUrl = "https://esb.evebattery.com:13502/gateway/ewms-eu/openapi/oauth/token"; + } +} diff --git a/JinYuan.VirtualDataLibrary/MsgshowTip.Designer.cs b/JinYuan.VirtualDataLibrary/MsgshowTip.Designer.cs new file mode 100644 index 0000000..cdda500 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/MsgshowTip.Designer.cs @@ -0,0 +1,89 @@ +namespace JinYuan.VirtualDataLibrary +{ + partial class MsgshowTip + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label1 = new System.Windows.Forms.Label(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox1 + // + this.pictureBox1.Image = global::JinYuan.VirtualDataLibrary.Properties.Resources.感叹号提示_块红色; + this.pictureBox1.Location = new System.Drawing.Point(6, 3); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(87, 80); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("微软雅黑", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label1.ForeColor = System.Drawing.Color.Red; + this.label1.Location = new System.Drawing.Point(95, 29); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(345, 28); + this.label1.TabIndex = 1; + this.label1.Text = "与PLC链接断开,请检查通讯线路!"; + // + // timer1 + // + this.timer1.Interval = 500; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // MsgshowTip + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Yellow; + this.ClientSize = new System.Drawing.Size(434, 84); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "MsgshowTip"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "MsgshowTip"; + this.Load += new System.EventHandler(this.MsgshowTip_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Timer timer1; + } +} \ No newline at end of file diff --git a/JinYuan.VirtualDataLibrary/MsgshowTip.cs b/JinYuan.VirtualDataLibrary/MsgshowTip.cs new file mode 100644 index 0000000..319c15e --- /dev/null +++ b/JinYuan.VirtualDataLibrary/MsgshowTip.cs @@ -0,0 +1,115 @@ +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace JinYuan.VirtualDataLibrary +{ + public partial class MsgshowTip : Form + { + /// + /// 图标和文本之间的间距(像素) + /// + const int IconTextSpacing = 3; + /// + /// 显示文字 + /// + string _tipText; + /// + /// 提示图标 + /// + public Image TipIcon { get; set; } + + /// + /// 提示文本 + /// + public string TipText + { + get { return _tipText ?? string.Empty; } + set { _tipText = value; } + } + + public MsgshowTip(string Msg) + { + //双缓冲。有必要 + SetStyle(ControlStyles.UserPaint, true); + DoubleBuffered = true; + InitializeComponent(); + this._tipText = Msg; + } + + private void MsgshowTip_Load(object sender, EventArgs e) + { + //ProcessClientSize(); + ProcessLocation(); + label1.Text = _tipText; + timer1.Enabled = true; + } + + /// + /// 根据图标和文字处理窗体尺寸 + /// + private void ProcessClientSize() + { + Size size = Size.Empty; + if (TipIcon != null) + { + size += TipIcon.Size; + } + if (TipText.Length != 0) + { + if (TipIcon != null) + { + size.Width += IconTextSpacing;//图标与文字的间距 + } + var textSize = TextRenderer.MeasureText(TipText, this.Font); + size.Width += textSize.Width; + if (size.Height < textSize.Height) { size.Height = textSize.Height; } + } + this.ClientSize = size + Padding.Size; + } + private int x, y; //显示的坐标变量 + + private void timer1_Tick(object sender, EventArgs e) + { + this.Close(); + } + + private void ProcessLocation() + { + + #region 弹窗显示在屏幕中间 + this.y = (Screen.PrimaryScreen.Bounds.Height - 30 - this.Height) / 2; + this.x = (Screen.PrimaryScreen.Bounds.Width - 10 - this.Width) / 2; + this.Location = new Point(this.x, this.y); + #endregion + + #region 弹窗显示在屏幕右下角 + //this.x = Screen.PrimaryScreen.WorkingArea.Width - this.Width + 15; + //this.y = Screen.PrimaryScreen.WorkingArea.Height - this.Height * i - 5 * i; + //this.Location = new Point(this.x, this.y); + #endregion + + #region 弹窗跟随鼠标位置 + //var p = BasePoint; + //p.X -= Screen.PrimaryScreen.WorkingArea.Width - this.Width - 1000;//Screen.PrimaryScreen.WorkingArea.Width-this.Width / 2; + + ////横向处理。距离屏幕左右两边太近时的处理 + //int screenWidth; + //if (p.X < 10) + //{ + // p.X = 10; + //} + //else if (p.X + this.Width > (screenWidth = Screen.PrimaryScreen.Bounds.Width) - 10) + //{ + // p.X = screenWidth - 10 - this.Width; + //} + + ////纵向处理。在鼠标上方显示 + //p.Y -= this.Height + 20; + + //this.Location = p; + #endregion + } + + } +} diff --git a/JinYuan.VirtualDataLibrary/MsgshowTip.resx b/JinYuan.VirtualDataLibrary/MsgshowTip.resx new file mode 100644 index 0000000..1f666f2 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/MsgshowTip.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/JinYuan.VirtualDataLibrary/Properties/AssemblyInfo.cs b/JinYuan.VirtualDataLibrary/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..52f93ec --- /dev/null +++ b/JinYuan.VirtualDataLibrary/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("JinYuan.VirtualDataLibrary")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("JinYuan.VirtualDataLibrary")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("2ab7e380-7795-448a-933c-0f6a081b5e7e")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/JinYuan.VirtualDataLibrary/Properties/Resources.Designer.cs b/JinYuan.VirtualDataLibrary/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f8bac29 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace JinYuan.VirtualDataLibrary.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("JinYuan.VirtualDataLibrary.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 感叹号提示_块红色 { + get { + object obj = ResourceManager.GetObject("感叹号提示-块红色", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/JinYuan.VirtualDataLibrary/Properties/Resources.resx b/JinYuan.VirtualDataLibrary/Properties/Resources.resx new file mode 100644 index 0000000..23cf1b4 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\感叹号提示-块红色.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/JinYuan.VirtualDataLibrary/Resources/感叹号提示-块红色.png b/JinYuan.VirtualDataLibrary/Resources/感叹号提示-块红色.png new file mode 100644 index 0000000000000000000000000000000000000000..eef663206e2236979fbc8ec9e24510a23f78183a GIT binary patch literal 2984 zcmV;Z3s>}sP)Px=Vo5|nRCr$Poo$RdmKI|zFKOJlL+!%cX~CwZF%)asY9K|cAQ2js zR|CX|NuvmXSkqVp5-6rY`ayY1h)s-w2~&eyWO3gduQ%F=ia$zzHRn7&&&V$<;=Zz&OL`Z!0Yp_t$m^q0YGj}(+t%F-+!qyLqLv3Y8mo&(MqZ9WUXg(2;G((bjMU|O zQ4l1mIWXakVntpYh5RA`P1&}dWZ=dq2omKS2z+Zn)F0KIqjqS@c6ucv^@?sGViNzu zf{^nGV4eADhsL$7*8p6iQ-oN>W^8e)@(!IjYlX(mWo`n|6FLQmV{A&HSU4Z*oJq@hiw@zK z%KDT;Q?jkS1YD@H$o`H+k2#`ti^>|6LgU)m4FGRdSzr=kHB!7{@!|UGs%ljR&AziS zcVM>l5r6?z#U&*Ufp!-}ZI!Bel|fU^WgcOo+f)^nv^WI5p&;r{si<2CG{gDKvQeft zRTPxq81FhlE>Kaw5@^bH<^={_s-mDo#~|G6ROH66H3%J={W)uWitzie3o-u36c|mX z@=FdK7h&oVIy7b5sxmMbW)a5sNd*{qx+vt;VQLa8G;ZG72*y2O7GQi&Re+h+7OSsEJ*Rl(XbLXerHgC@Rn1NOT*GAG-zDgYTo``7gplNZzlz4gClAWce3i{ z|Dixr8ceUERO+Q}5;9`~Q{ebJLY}z>7zxbdxT8>@acyf4faO6aYyA0BfSI=ytMwoG z8`ar5aA?Z;%+1WCeZ_p|(vxA4W?VE>m2U@GZJ^LFKxNzd7{Ht$lQh1%SAf7T7DWBB z?mbK$87MTaZ9M=$>q_|`#pxqo*EmA{F{pY1gT`H$Ent+jt&k5&kUsTOafCcCsM-R9 zres??2v`?XVygT&Li*C6G?-pZsZ{JXDqvt!QOM0f=;}+bb^#CA*>w%@jvx|J?IS7B zGhk8v!*Z71% z1E8_e5hKl4p}YR{1kLaeJ~b*Wr7PjPuC&d-I4a{3 z3Jr+)p+dF(({B3E6*Q&1^<83Y?#v~P*Rv#$!Ij3^`-+p`26*R7G{RhBj{057n zeUhOe;Limizu~tpzM*k*)@BfX?l(|W?UM{mvnLIruP?6De7#%m3!352&K?{c7_CMX zfNt_iIy4Ln7lpjQk9NMGac!&lOX;`$1c@<-GMRX8cK2^K`{A&`hsn7u7gR@fpKdW_ zrm5JN_X(_?SFEdQdarQ|G&3r=*Aepb9iee;>vsUY*K0H4GTuNlbEg>mgQBSaX42D~ zQ~xOC(<_Kme~(MUgUHiB(@{m~2$^jQjcZ%~0Puy5Zu-c;K;xyEywwr)A5U1GxTbOQ zneT(?aW5|V$;LqAt()lvoj-J>)_f`QMgkZVssQ_5ww z5Yg?Phxd`8fyR3?8T8GfsO=y(KWiblamf47{<1XCc<(1OM6oLK0DR5+(EhSC z(D>_T^H*>KO+xmk@rOox>oI7|*HgzeMU$Ro#dK4nAfP$%_0)7`E`+^H8rPk$yjR%X z^2CMkgo(N3_9knBp_zQk-IU8b+%wS3q`&Cdv}YnufAV9CHQ zI+Ajl0Re57Li+U;1N)hOupFOl616lU22InNV#lQs&Fqr42uo{6q95GbBCOVIlc43E z(eInS3_UORoJcV#3(NJjB=V8{Ei7-AlayCjBHubq33l}gOADL?yey}wCy@@@^~-Y2 zs*>;g+!6Xsq$u$v7TI zI8%+GZ3){9YBrw+`fX`M=$lWsW*f83eJl??Z8y_|zRmqaU~`~G{7%cA4jN?#YBYnJ zqkH-T8l^|~j9nC)L&E%CKu5`5`5|Fr*EZ%j!YD!DGZ#I_5w@Nbn}bh%_9`0Y+73Q# z-GZAVmZL#|zby0~vD~^SHixPWi6{t8uo)?tYz@Qm>;AcGm;Ete@GkyY7;2KBB=ApHL zd;*1r0V>r2Z2J<^jpqnZf2%OgG|!+>Ry2~x|_1CDg%RI6=3{MR)B%0 zi$Y!vl{^3s;ao8#A&2>#p1*D*HzW4 z6q;sHCEMCdz=f&`?Eg64w+IPJ3+2$1^V!Rp`T3v&@_uL+t!l| z+^AECIK(FKtp!on{-#GHpgFi`?l~iM`Cc3vrz=M$yiu&ki*?06HEtxJ8J}(LX5hXk zh!VvdxY1Z$JTmff6mp9UG_8x`TxM4kM2TDuL{&$~>!Xraq@an4C?=1Y6)?~kLVPP= epz$r48SsCP + /// 初始化打印机 + /// + /// 打印机名称通过该名称指定打印机 + /// 打印机类型 + public BartenderPrinter(string PrinterName, string PrintLabelType) + { + this.PrinterName = PrinterName; + this.PrintLabelType = PrintLabelType; + engine = new Engine(true); + } + + public BartenderPrinter(string PrinterName) + { + this.PrinterName = PrinterName; + engine = new Engine(true); + } + + + public string[] read(string path) + { + try + { + LabelFormatDocument print; + + + //System.Diagnostics.Process.Start("ExpLore", path); + + + print = engine.Documents.Open(path); + //print.PrintSetup.PrinterName = "Microsoft Print to PDF"; + //print.PrintSetup.PrinterName = "TSC MX340F"; + XmlDocument xml = new XmlDocument(); + xml.LoadXml(print.SubStrings.XML); + //string s = print.SubStrings.XML; + //获取XML中SubStrings/SubString + XmlNodeList nodeList = xml.SelectNodes("SubStrings/SubString"); + string[] printColumns = new string[print.SubStrings.Count]; + int count = 0; + foreach (XmlNode node in nodeList) + { + printColumns[count] = node.Attributes["Name"].Value; + count++; + } + //获取栏位 + return printColumns; + } + catch (Exception ex) + { + throw new Exception(ex.ToString()); + } + } + + /// + /// 执行打印 + /// + /// 文件地址 + /// 字段栏位映射,key BTname ,value BTValue + /// + public bool write(string path, string jobName, Dictionary printValue) + { + try + { + print = engine.Documents.Open(path); + //print.PrintSetup.PrinterName = "Microsoft Print to PDF"; + //print.PrintSetup.PrinterName = "TSC MX340"; + //print.PrintSetup.PrinterName = "TSC TTP-346MU"; + print.PrintSetup.PrinterName = this.PrinterName; + foreach (var oneItem in printValue) + { + print.SubStrings.SetSubString(oneItem.Key, oneItem.Value); + //log.Debug("[" + oneItem.Key + "]=" + oneItem.Value); + } + //Thread.Sleep(100); + + Result result = print.Print(jobName); //print.Print("Label Print"); + + return result == Result.Success ? true : false; + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + return false; + } + } + + /// + /// 读取btw檔 并确认各栏位是否能对应的到 + /// + /// + /// + /// + /// + /// + public string LoadColumns(string FileId, string Path, DataTable SourceDataTable, DataTable DtPrintColumn) + { + try + { + string msg = ""; + + string[] btwColumns = read(Path); + for (int i = 0; i < btwColumns.Length; i++)//版面欄位數量 + { + bool flag = false; + foreach (DataColumn dc in SourceDataTable.Columns)//資料庫欄位數量 + { + if (btwColumns[i] == dc.ColumnName) + { + flag = true; + } + } + + if (flag == false) + { + if (msg == "") { msg = btwColumns[i]; } + else { msg += "," + btwColumns[i]; } + } + } + + if (msg == "") + { + DataTable dt = DtPrintColumn; + string Id = FileId; + + DataRow[] drAry = dt.Select(" Id='" + Id + "'"); + for (int j = 0; j < drAry.Length; j++) + { + dt.Rows.Remove(drAry[j]); + } + dt.AcceptChanges(); + + DataRow drNew; + for (int j = 0; j < btwColumns.Length; j++) + { + drNew = dt.NewRow(); + drNew["Id"] = Id; + drNew["Value"] = btwColumns[j]; + dt.Rows.Add(drNew); + } + dt.AcceptChanges(); + } + + return msg; + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + return ex.ToString(); + } + } + + // 列印 Reel或Box或Carton标签 + // TODO 偵測非同步處理 + public bool PrintLabel(DataRow dr) + { + try + { + string Id = ""; + string fileIdColumnName = ""; + string filePathColumnName = ""; + if (dr == null) + { + LogHelper.Instance.WriteError("DataRow is NULL"); + return false; + } + DataTable columnDT = new DataTable(); + if (PrintLabelType == "Box") + { + fileIdColumnName = "FileId"; + filePathColumnName = "Path"; + + } + else if (PrintLabelType == "Reel") + { + fileIdColumnName = "ReelFileId"; + filePathColumnName = "ReelFilePath"; + + } + else if (PrintLabelType == "Carton") + { + fileIdColumnName = "FileId"; + filePathColumnName = "Path"; + + } + else if (PrintLabelType == "Carton2") + { + fileIdColumnName = "FileId2"; + filePathColumnName = "Path2"; + } + else + { + LogHelper.Instance.WriteError("PrintLabelType =" + PrintLabelType); + return false; + } + + Id = dr[fileIdColumnName].ToString(); + + DataRow[] drAry = columnDT.Select("id='" + Id + "'"); + + Dictionary printValue = new Dictionary(); + + for (int i = 0; i < drAry.Length; i++) + { + string column = drAry[i][1].ToString(); + + printValue.Add(column, dr[column].ToString().TrimEnd()); + + } + bool writeResult = write(dr[filePathColumnName].ToString(), PrintLabelType, printValue); + return writeResult; + + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + throw ex; + } + } + + //列印 Interior Label 或 Outer Label + public bool PrintSimpleLabel(string chrCkdh, string jobname, string FilePath) + { + try + { + Dictionary printValue = new Dictionary(); + printValue.Add("chrCkdh", chrCkdh.TrimEnd()); + bool writeResult = write(FilePath, jobname, printValue); + return writeResult; + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + throw ex; + } + } + + public bool Close() + { + try + { + engine.Dispose(); + + return true; + } + catch (Exception ex) + { + LogHelper.Instance.WriteEX(ex); + return false; + } + } + } +} diff --git a/JinYuan.VirtualDataLibrary/Utlis/PrintDataTransfer.cs b/JinYuan.VirtualDataLibrary/Utlis/PrintDataTransfer.cs new file mode 100644 index 0000000..8982238 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/Utlis/PrintDataTransfer.cs @@ -0,0 +1,943 @@ +//using JinYuan.VirtualDataLibrary.Utlis; +//using System; +//using System.Collections.Generic; +//using System.IO; +//using System.Linq; +//using System.Text; +using JinYuan.MES.Models; +using Newtonsoft.Json; +using PLCCommunication.BasicFramework; + +//using System.Net; +//using System.Net.Sockets; +//using System.Threading.Tasks; + + +//namespace JinYuan.VirtualDataLibrary.Utlis +//{ +// public class PrintDataModel +// { +// public string PrintTaskId { get; set; } = Guid.NewGuid().ToString(); +// public string PrinterName { get; set; } +// public string Code { get; set; } +// public Dictionary PrintFields { get; set; } = new Dictionary(); +// public int CopyCount { get; set; } = 1; +// public DateTime PrintTime { get; set; } = DateTime.Now; +// } + +// // 通信响应实体(服务端返回处理结果) +// public class PrintResponseModel +// { +// public bool Success { get; set; } +// public string Message { get; set; } +// public string PrintTaskId { get; set; } +// } + +// /// +// /// Socket通信工具类(兼容所有.NET版本) +// /// +// public static class SocketPrintHelper +// { +// // JSON序列化配置(中文不转义、缩进) +// private static readonly JsonSerializerSettings _jsonSettings = new JsonSerializerSettings +// { +// Formatting = Formatting.Indented, +// StringEscapeHandling = StringEscapeHandling.EscapeNonAscii // 中文不转义 +// }; + +// /// +// /// 发送打印数据(客户端核心方法) +// /// +// public static PrintResponseModel SendPrintData(string serverIp, int serverPort, Dictionary printData, int timeout = 5000) +// { +// TcpClient tcpClient = null; +// NetworkStream stream = null; +// try +// { +// tcpClient = new TcpClient +// { +// ReceiveTimeout = timeout, +// SendTimeout = timeout +// }; +// tcpClient.Connect(serverIp, serverPort); +// stream = tcpClient.GetStream(); +// bool bconnnet = tcpClient.Connected; + + +// // 使用Newtonsoft.Json序列化 +// string jsonData = JsonConvert.SerializeObject(printData, _jsonSettings); +// byte[] jsonBytes = Encoding.UTF8.GetBytes(jsonData); + +// // 发送数据长度 +// byte[] lengthBytes = BitConverter.GetBytes(jsonBytes.Length); +// if (BitConverter.IsLittleEndian) +// Array.Reverse(lengthBytes); +// stream.Write(lengthBytes, 0, lengthBytes.Length); +// stream.Write(jsonBytes, 0, jsonBytes.Length); +// Console.WriteLine($"已发送打印数据(任务ID:{printData}):\n{jsonData}"); + +// // 接收响应 +// PrintResponseModel response = ReceivePrintResponse(stream, printData["container"], timeout); +// return response; +// } +// catch (SocketException ex) +// { +// return new PrintResponseModel +// { +// Success = false, +// Message = $"连接服务端失败:{ex.Message}(IP:{serverIp}:{serverPort})", +// PrintTaskId = printData["container"] +// }; +// } +// catch (TimeoutException) +// { +// return new PrintResponseModel +// { +// Success = false, +// Message = $"通信超时(超时时间:{timeout}ms)", +// PrintTaskId = printData["container"] +// }; +// } +// catch (Exception ex) +// { +// return new PrintResponseModel +// { +// Success = false, +// Message = $"发送打印数据失败:{ex.Message}", +// PrintTaskId = printData["container"] +// }; +// } +// finally +// { +// stream?.Close(); +// tcpClient?.Close(); +// } +// } + +// /// +// /// 接收服务端响应 +// /// +// private static PrintResponseModel ReceivePrintResponse(NetworkStream stream, string printTaskId, int timeout) +// { +// // 读取长度 +// byte[] lengthBuffer = new byte[4]; +// int readLength = stream.Read(lengthBuffer, 0, lengthBuffer.Length); +// if (readLength != 4) +// throw new Exception("读取响应长度失败"); + +// if (BitConverter.IsLittleEndian) +// Array.Reverse(lengthBuffer); +// int dataLength = BitConverter.ToInt32(lengthBuffer, 0); + +// // 读取数据 +// byte[] dataBuffer = new byte[dataLength]; +// int totalRead = 0; +// while (totalRead < dataLength) +// { +// int read = stream.Read(dataBuffer, totalRead, dataLength - totalRead); +// if (read == 0) +// throw new Exception("服务端断开连接"); +// totalRead += read; +// } + +// // 使用Newtonsoft.Json反序列化 +// string jsonResponse = Encoding.UTF8.GetString(dataBuffer); +// return new PrintResponseModel +// { +// Success = true, +// Message = $"发送打印数据成功", +// PrintTaskId = printTaskId +// }; +// } + +// /// +// /// 服务端接收打印数据 +// /// +// public static PrintDataModel ReceivePrintData(NetworkStream stream, int timeout) +// { +// // 读取长度 +// byte[] lengthBuffer = new byte[4]; +// int readLength = stream.Read(lengthBuffer, 0, lengthBuffer.Length); +// if (readLength != 4) +// throw new Exception("读取数据长度失败"); + +// if (BitConverter.IsLittleEndian) +// Array.Reverse(lengthBuffer); +// int dataLength = BitConverter.ToInt32(lengthBuffer, 0); + +// // 读取数据 +// byte[] dataBuffer = new byte[dataLength]; +// int totalRead = 0; +// while (totalRead < dataLength) +// { +// int read = stream.Read(dataBuffer, totalRead, dataLength - totalRead); +// if (read == 0) +// throw new Exception("客户端断开连接"); +// totalRead += read; +// } + +// // 核心修改:Newtonsoft.Json反序列化 +// string jsonData = Encoding.UTF8.GetString(dataBuffer); +// PrintDataModel printData = JsonConvert.DeserializeObject(jsonData, _jsonSettings); +// Console.WriteLine($"服务端接收打印数据(任务ID:{printData.PrintTaskId}):\n{jsonData}"); +// return printData; +// } + +// /// +// /// 服务端发送响应数据 +// /// +// public static void SendPrintResponse(NetworkStream stream, PrintResponseModel response) +// { +// // 核心修改:Newtonsoft.Json序列化 +// string jsonResponse = JsonConvert.SerializeObject(response, _jsonSettings); +// byte[] jsonBytes = Encoding.UTF8.GetBytes(jsonResponse); + +// // 发送长度+数据(逻辑不变) +// byte[] lengthBytes = BitConverter.GetBytes(jsonBytes.Length); +// if (BitConverter.IsLittleEndian) +// Array.Reverse(lengthBytes); +// stream.Write(lengthBytes, 0, lengthBytes.Length); +// stream.Write(jsonBytes, 0, jsonBytes.Length); +// } +// } + +//} + +///// +///// 打印数据发送客户端 +///// +//public class PrintDataClient +//{ +// private readonly string _serverIp; +// private readonly int _serverPort; + +// public PrintDataClient(string serverIp, int serverPort) +// { +// _serverIp = serverIp; +// _serverPort = serverPort; +// } + +// /// +// /// 构建并发送打印数据 +// /// +// public void SendPrintTask(Dictionary printData) +// { + +// // 发送打印数据 +// PrintResponseModel response = SocketPrintHelper.SendPrintData(_serverIp, _serverPort, printData, 5000); + +// // 处理响应结果 +// if (response.Success) +// { +// Console.WriteLine($"打印任务提交成功(任务ID:{response.PrintTaskId}):{response.Message}"); +// } +// else +// { +// Console.WriteLine($"打印任务提交失败(任务ID:{response.PrintTaskId}):{response.Message}"); +// } +// } +//} + + + +///// +///// 打印数据接收服务端(打印机终端/打印服务器侧) +///// +//public class PrintDataServer +//{ +// private readonly int _port; +// private TcpListener _listener; +// private bool _isRunning; + +// public PrintDataServer(int port) +// { +// _port = port; +// } + +// /// +// /// 启动服务端 +// /// +// public void Start() +// { +// _isRunning = true; +// _listener = new TcpListener(IPAddress.Any, _port); +// _listener.Start(); +// Console.WriteLine($"打印数据服务端已启动,监听端口:{_port}"); + +// // 异步接受客户端连接 +// Task.Run(async () => +// { +// while (_isRunning) +// { +// try +// { +// TcpClient client = await _listener.AcceptTcpClientAsync(); +// Console.WriteLine($"客户端连接:{((IPEndPoint)client.Client.RemoteEndPoint).Address}"); +// // 处理客户端请求(异步,避免阻塞) +// HandleClientAsync(client); +// } +// catch (Exception ex) +// { +// if (_isRunning) +// Console.WriteLine($"接受客户端连接失败:{ex.Message}"); +// } +// } +// }); +// } + +// /// +// /// 处理客户端请求 +// /// +// private async Task HandleClientAsync(TcpClient client) +// { +// using (client) +// { +// try +// { +// NetworkStream stream = client.GetStream(); +// client.ReceiveTimeout = 5000; +// client.SendTimeout = 5000; + +// // 1. 接收打印数据 +// PrintDataModel printData = SocketPrintHelper.ReceivePrintData(stream, 5000); + +// // 2. 处理打印任务(对接你的打印逻辑) +// PrintResponseModel response = ProcessPrintTask(printData); + +// // 3. 发送响应给客户端 +// SocketPrintHelper.SendPrintResponse(stream, response); +// } +// catch (Exception ex) +// { +// Console.WriteLine($"处理客户端请求失败:{ex.Message}"); +// // 发送失败响应 +// try +// { +// SocketPrintHelper.SendPrintResponse(client.GetStream(), new PrintResponseModel +// { +// Success = false, +// Message = ex.Message, +// PrintTaskId = "" +// }); +// } +// catch { } +// } +// } +// } + +// /// +// /// 处理打印任务 +// /// +// private PrintResponseModel ProcessPrintTask(PrintDataModel printData) +// { +// try +// { +// // -------------------------- +// // 此处对接你的实际打印逻辑: +// // 1. 根据PrinterName选择打印机 +// // 2. 解析PrintFields填充打印模板 +// // 3. 调用打印机SDK执行打印 +// // -------------------------- +// Console.WriteLine($"开始处理打印任务(ID:{printData.PrintTaskId}):"); +// Console.WriteLine($" 打印机:{printData.PrinterName}"); +// Console.WriteLine($" 托盘号:{printData.Code}"); +// Console.WriteLine($" 打印份数:{printData.CopyCount}"); +// Console.WriteLine($" 打印字段:"); +// foreach (var field in printData.PrintFields) +// { +// Console.WriteLine($" {field.Key} = {field.Value}"); +// } + +// // 模拟打印成功(替换为你的实际打印代码) +// // CommonMethods.PrintLabel(printData); + +// return new PrintResponseModel +// { +// Success = true, +// Message = $"打印任务已执行(份数:{printData.CopyCount})", +// PrintTaskId = printData.PrintTaskId +// }; +// } +// catch (Exception ex) +// { +// return new PrintResponseModel +// { +// Success = false, +// Message = $"打印任务执行失败:{ex.Message}", +// PrintTaskId = printData.PrintTaskId +// }; +// } +// } + +// /// +// /// 停止服务端 +// /// +// public void Stop() +// { +// _isRunning = false; +// _listener?.Stop(); +// Console.WriteLine("打印数据服务端已停止"); +// } +//} + + + + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Threading.Tasks; + +namespace PrintSocket +{ + public class StateObject + { + public Socket workSocket = null; + public const int BufferSize = 2000; + public byte[] buffer = new byte[BufferSize]; + public StringBuilder sb = new StringBuilder(); + } + + //服务端类 + public class TCPServer + { + //私有变量 + private SocketMessage m_SocketMsgDelegate = null; + private Socket m_Listener = null; + private Socket m_ServerHandler = null; + + //公开变量 + public delegate void SocketMessage(object obj); + public string m_strInfo = null; + + public void InitServer(string strAddr, int nPort, SocketMessage sockMsg = null) //初始化 + { + if (sockMsg != null) + { + m_SocketMsgDelegate = sockMsg; + } + if (m_Listener != null) + { + try { m_Listener.Close(); } catch { } + m_Listener = null; + } + + //创建套接字 + IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(strAddr), nPort); + m_Listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + try + { + m_Listener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); + + m_Listener.Bind(ipe); + m_Listener.Listen(10); + + //开启异步监听连接 + m_Listener.BeginAccept(new AsyncCallback(AcceptCallback), m_Listener); + m_SocketMsgDelegate?.Invoke("Server online"); + } + catch (Exception e) + { + Console.WriteLine(e.Message); + m_SocketMsgDelegate?.Invoke(e.Message); + } + } + + private void AcceptCallback(IAsyncResult iar) + { + Socket listener = (Socket)iar.AsyncState; + m_ServerHandler = listener.EndAccept(iar); //结束接收请求 + + //创建状态对象 + StateObject state = new StateObject(); + state.workSocket = m_ServerHandler; + m_strInfo = m_ServerHandler.RemoteEndPoint.ToString(); + m_SocketMsgDelegate?.Invoke("Client online"); + + //开启数据回调 + m_ServerHandler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallback), state); + listener.BeginAccept(new AsyncCallback(AcceptCallback), listener); + } + + private void ReceiveCallback(IAsyncResult ar) + { + try + { + StateObject state = (StateObject)ar.AsyncState; + Socket handler = state.workSocket; + + if (handler != null && handler.Connected) + { + //读取数据 + int bytesRead = handler.EndReceive(ar); + if (bytesRead > 0) + { + string content = Encoding.UTF8.GetString(state.buffer, 0, bytesRead); + state.sb.Append(content); + string fullContent = state.sb.ToString(); + + m_SocketMsgDelegate?.Invoke(fullContent); + + state.sb.Clear(); + handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallback), state); + } + else + { + m_SocketMsgDelegate?.Invoke("Client offline"); + m_Listener.BeginAccept(new AsyncCallback(AcceptCallback), m_Listener); + } + } + else + { + m_SocketMsgDelegate?.Invoke("Server offline"); + } + } + catch (SocketException ex) + { + Console.WriteLine(ex.ToString()); + m_SocketMsgDelegate?.Invoke($"{ex.ErrorCode} {ex.Message}"); + m_SocketMsgDelegate?.Invoke("Client offline"); + m_Listener.BeginAccept(new AsyncCallback(AcceptCallback), m_Listener); + } + } + + public void Send(String data) + { + try + { + if (m_ServerHandler == null || !m_ServerHandler.Connected) + { + Console.WriteLine("服务器Socket未连接,无法发送数据"); + return; + } + + byte[] byteData = Encoding.UTF8.GetBytes(data); + m_ServerHandler.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), m_ServerHandler); + } + catch (Exception ex) + { + Console.WriteLine($"服务器发送数据异常:{ex.Message}"); + } + + } + + private void SendCallback(IAsyncResult ar) + { + try + { + Socket handler = (Socket)ar.AsyncState; + int bytesSent = handler.EndSend(ar); + } + catch (Exception e) + { + Console.WriteLine($"服务器发送回调异常:{e.Message}"); + } + } + + public void CloseSocket() + { + try + { + if (m_ServerHandler != null && m_ServerHandler.Connected) + { + m_ServerHandler.Shutdown(SocketShutdown.Both); + m_ServerHandler.Close(); + } + m_Listener?.Close(); + } + catch (Exception ex) + { + Console.WriteLine($"关闭服务器Socket异常:{ex.Message}"); + } + } + } + + //客户端类 + public class TCPClient + { + public delegate void SocketMessage(object obj); + private SocketMessage m_SocketMsgDelegate = null; + private Socket m_Client = null; + private Socket m_Handler = null; + private IPEndPoint m_ipe; + public string m_strInfo; + + public void InitClient(string strAddr, int nPort, SocketMessage sockMsg = null) + { + if (sockMsg != null) + { + m_SocketMsgDelegate = sockMsg; + } + if (m_Client != null) + { + try { m_Client.Close(); } catch { } + m_Client = null; + } + try + { + //端口及IP + m_ipe = new IPEndPoint(IPAddress.Parse(strAddr), nPort); + //创建套接字 + m_Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + + //开始连接到服务器 + m_Client.BeginConnect(m_ipe, new AsyncCallback(ConnectCallback), m_Client); + } + catch (Exception e) + { + // 捕获初始化异常,仅提示不抛异常 + string errorMsg = $"客户端初始化连接失败:{e.Message}"; + Console.WriteLine(errorMsg); + m_SocketMsgDelegate?.Invoke(errorMsg); + } + } + + private void ConnectCallback(IAsyncResult ar) + { + try + { + m_Handler = (Socket)ar.AsyncState; + m_Handler.EndConnect(ar); + + m_strInfo = m_Handler.LocalEndPoint.ToString(); + m_SocketMsgDelegate?.Invoke("Connection"); + + + //创建状态对象 + StateObject state = new StateObject(); + state.workSocket = m_Handler; + + //开启数据回调 + m_Handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallBack), state); + + } + catch (Exception e) + { + Console.WriteLine($"客户端连接异常:{e.Message}"); + m_SocketMsgDelegate?.Invoke($"ConnectError: {e.Message}"); + } + } + + private void ReceiveCallBack(IAsyncResult iar) + { + try + { + StateObject state = (StateObject)iar.AsyncState; + Socket handler = state.workSocket; + + if (handler != null && handler.Connected) + { + //读取数据 + int bytesRead = handler.EndReceive(iar); + if (bytesRead > 0) + { + string content = Encoding.UTF8.GetString(state.buffer, 0, bytesRead); + state.sb.Append(content); + string fullContent = state.sb.ToString(); + + m_SocketMsgDelegate?.Invoke(fullContent); + + state.sb.Clear(); + handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallBack), state); + } + else + { + m_SocketMsgDelegate?.Invoke("Server offline"); + + //关闭并且允许重复使用 + m_Client.Disconnect(true); + //重新连接到服务器 + m_Client.BeginConnect(m_ipe, new AsyncCallback(ConnectCallback), m_Client); + } + } + else + { + m_SocketMsgDelegate?.Invoke("Client offline"); + } + + } + catch (SocketException ex) + { + Console.WriteLine($"客户端接收异常:{ex.Message}"); + m_SocketMsgDelegate?.Invoke($"{ex.ErrorCode} {ex.Message}"); + m_SocketMsgDelegate?.Invoke("DISCONNECT"); + } + } + + + public void Send(Dictionary printData) + { + try + { + // 前置校验:确保 Socket 有效且已连接 + if (m_Handler == null || !m_Handler.Connected) + { + Console.WriteLine("客户端Socket未连接,无法发送JSON数据"); + m_SocketMsgDelegate?.Invoke("Socket未连接,发送失败"); + + return; + } + // 使用Newtonsoft.Json序列化 + string jsonData = JsonConvert.SerializeObject(printData); + byte[] jsonBytes = Encoding.UTF8.GetBytes(jsonData); + m_Handler.BeginSend(jsonBytes, 0, jsonBytes.Length, SocketFlags.None, new AsyncCallback(SendCallback), m_Handler); + } + catch (Exception ex) + { + // 捕获并上报所有异常 + Console.WriteLine($"客户端发送JSON数据异常:{ex.Message}"); + m_SocketMsgDelegate?.Invoke(ex.Message); + } + } + + public bool IsConnected() + { + return m_Handler != null && m_Handler.Connected; + } + + public void Send(String data) + { + try + { + // 确保 Socket 有效 + if (m_Handler == null || !m_Handler.Connected) + { + Console.WriteLine("客户端Socket未连接,无法发送字符串数据"); + return; + } + + byte[] byteData = Encoding.UTF8.GetBytes(data); + m_Handler.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), m_Handler); + } + catch (Exception ex) + { + Console.WriteLine($"客户端发送字符串数据异常:{ex.Message}"); + } + } + + private void SendCallback(IAsyncResult ar) + { + try + { + Socket handler = (Socket)ar.AsyncState; + int bytesSent = handler.EndSend(ar); + Console.WriteLine($"Sent {bytesSent} bytes to server."); + m_SocketMsgDelegate?.Invoke($"发送成功,字节数:{bytesSent}"); + } + catch (Exception e) + { + Console.WriteLine($"客户端发送回调异常:{e.Message}"); + m_SocketMsgDelegate?.Invoke($"SendCallbackError: {e.Message}"); + } + } + + public void CloseSocket() + { + try + { + if (m_Handler != null) + { + if (m_Handler.Connected) + { + m_Handler.Shutdown(SocketShutdown.Both); + } + m_Handler.Close(); + } + m_Client?.Close(); + } + catch (Exception ex) + { + Console.WriteLine($"关闭客户端Socket异常:{ex.Message}"); + } + } + } + + public class IPInfo + { + public string m_strIPAddr; + public int m_nIPPort; + public string m_strIPAddr3D; + public int m_nIPPort3D; + public IPInfo() + { + m_strIPAddr = "127.0.0.1"; + m_nIPPort = 8000; + m_strIPAddr3D = "127.0.0.1"; + m_nIPPort3D = 8000; + } + } + + public class SocketEx + { + //网口Socket服务 + public delegate void SocketStringMessage(string str); + public delegate void SocketDictMessage(Dictionary dict); + + // 两个委托实例,分别处理字符串和字典 + public SocketStringMessage m_SockStrMsg = null; + public SocketDictMessage m_SockDictMsg = null; + + //定义服务器变量 + public TCPServer m_TcpServer = null; // new TCPServer(); + //定义客户端变量 + public TCPClient m_TcpClient = new TCPClient(); + //服务器或者客户端标志位:true为服务器,false微客户端 + public bool m_bTcpServer = false; + + //ip地址和端口 + public IPInfo m_IPInfo = new IPInfo(); + + //网口接收消息委托 + public delegate void SocketMessage(string str); + public SocketMessage m_SockMsg = null; + + //析构函数 + ~SocketEx() + { + CloseSocket(true); + } + + /// + /// 网口初始化 + /// + /// + /// bTCPServer: true为服务器;false为客户端 + /// + public bool InitSocket(SocketStringMessage strMsg, SocketDictMessage dictMsg, bool bTcpServer) + { + try + { + m_SockStrMsg = strMsg; + m_SockDictMsg = dictMsg; + m_bTcpServer = bTcpServer; + if (m_bTcpServer) + { + TCPServer.SocketMessage msg = new TCPServer.SocketMessage(RecvSockMsg); + m_TcpServer.InitServer(m_IPInfo.m_strIPAddr, m_IPInfo.m_nIPPort, msg); + } + else + { + TCPClient.SocketMessage msg = new TCPClient.SocketMessage(RecvSockMsg); + m_TcpClient.InitClient(m_IPInfo.m_strIPAddr, m_IPInfo.m_nIPPort, msg); + } + } + catch (Exception ex) + { + string str = ex.ToString(); + return false; + } + return true; + } + + public bool InitSocket(SocketMessage sockMsg, bool bTcpServer) + { + m_SockMsg = sockMsg; + return InitSocket(null, null, bTcpServer); + } + + //关闭网口 + public void CloseSocket(bool bTcpServer) + { + try + { + if (bTcpServer) + m_TcpServer.CloseSocket(); + else + m_TcpClient.CloseSocket(); + } + catch (Exception ex) + { + Console.WriteLine($"SocketEx关闭异常:{ex.Message}"); + } + } + + //接收网口信息 + private void RecvSockMsg(object obj) + { + if (obj == null) return; + + string rawData = obj.ToString().Trim(); + try + { + // 第一步:判断是否为JSON字典(以{开头、以}结尾) + if (rawData.StartsWith("{") && rawData.EndsWith("}")) + { + // 尝试反序列化为Dictionary + Dictionary dictData = JsonConvert.DeserializeObject>(rawData); + + // 优先调用字典回调 + m_SockDictMsg?.Invoke(dictData); + Console.WriteLine($"SocketEx 解析出JSON字典:{string.Join("; ", dictData.Select(kv => $"{kv.Key}={kv.Value}"))}"); + + // 兼容旧版字符串回调(将字典转为可读字符串) + m_SockMsg?.Invoke($"JSON字典:{JsonConvert.SerializeObject(dictData, Formatting.None)}"); + m_SockStrMsg?.Invoke($"JSON字典:{JsonConvert.SerializeObject(dictData, Formatting.None)}"); + } + else + { + // 普通字符串,直接传递 + m_SockStrMsg?.Invoke(rawData); + m_SockMsg?.Invoke(rawData); + Console.WriteLine($"SocketEx 接收普通字符串:{rawData}"); + } + } + catch (Exception ex) + { + // 反序列化失败(不是标准JSON字典),按普通字符串处理 + string errorMsg = $"数据解析失败:{ex.Message} | 原始数据:{rawData}"; + m_SockStrMsg?.Invoke(errorMsg); + m_SockMsg?.Invoke(errorMsg); + Console.WriteLine(errorMsg); + } + + } + + public void Send(Dictionary dict) + { + try + { + if (!m_bTcpServer) + { + m_TcpClient.Send(dict); + } + else + { + Console.WriteLine("服务器模式下不支持发送JSON字典,请切换为客户端模式"); + } + } + catch (Exception ex) + { + Console.WriteLine($"SocketEx发送JSON字典异常:{ex.Message}"); + } + } + + //发送数据 + public void Send(string str) + { + try + { + if (m_bTcpServer) + { + m_TcpServer.Send(str + "\r\n"); + } + else + { + m_TcpClient.Send(str + "\r\n"); + } + } + catch (Exception ex) + { + Console.WriteLine($"SocketEx发送异常:{ex.Message}"); + } + } + + //获取网口信息 + public string GetTCPInfo() + { + return m_bTcpServer ? m_TcpServer.m_strInfo : m_TcpClient.m_strInfo; + } + } +} diff --git a/JinYuan.VirtualDataLibrary/app.config b/JinYuan.VirtualDataLibrary/app.config new file mode 100644 index 0000000..1ee22f7 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/app.config @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JinYuan.VirtualDataLibrary/packages.config b/JinYuan.VirtualDataLibrary/packages.config new file mode 100644 index 0000000..8f8cd00 --- /dev/null +++ b/JinYuan.VirtualDataLibrary/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Language/2025_01_08_09_12.xlsx b/Language/2025_01_08_09_12.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..486bfe44055fa6c2996d9e3eac4858e93846a81c GIT binary patch literal 43319 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 C*F;qS literal 0 HcmV?d00001 diff --git a/Language/Language.7z b/Language/Language.7z new file mode 100644 index 0000000000000000000000000000000000000000..bb04309f5b7e04f111ee150529140e871224ff03 GIT binary patch literal 25002 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 literal 0 HcmV?d00001 diff --git a/Language/Language.csproj b/Language/Language.csproj new file mode 100644 index 0000000..f9fb8dd --- /dev/null +++ b/Language/Language.csproj @@ -0,0 +1,135 @@ + + + + + Debug + AnyCPU + {292A5C9C-7A82-4D25-A885-DDCEDC93F03C} + Library + Properties + Language + Language + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\AntdUI.1.8.4\lib\net48\AntdUI.dll + + + ..\packages\BouncyCastle.Cryptography.2.3.1\lib\net461\BouncyCastle.Cryptography.dll + + + ..\packages\Google.Protobuf.3.26.1\lib\net45\Google.Protobuf.dll + + + ..\packages\K4os.Compression.LZ4.1.3.8\lib\net462\K4os.Compression.LZ4.dll + + + ..\packages\K4os.Compression.LZ4.Streams.1.3.8\lib\net462\K4os.Compression.LZ4.Streams.dll + + + ..\packages\K4os.Hash.xxHash.1.0.8\lib\net462\K4os.Hash.xxHash.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + ..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll + + + + + ..\packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll + + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + ..\packages\ZstdSharp.Port.0.8.4\lib\net462\ZstdSharp.dll + + + + + + True + True + Languages.resx + + + + + + + Designer + + + Designer + + + Designer + + + ResXFileCodeGenerator + Languages.Designer.cs + Designer + + + + + + + + + {1bb7ed33-d2cb-4cdd-ab39-f7f9ae948ca2} + JinYuan.ControlLib + + + + \ No newline at end of file diff --git a/Language/LanguageManager.cs b/Language/LanguageManager.cs new file mode 100644 index 0000000..11db312 --- /dev/null +++ b/Language/LanguageManager.cs @@ -0,0 +1,1119 @@ +using AntdUI; +using Controls; +using JinYuan.ControlLib; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Resources; +using System.Threading; +using System.Windows.Forms; + + +namespace Language +{ + /// + /// 全局语言管理器 UpperComputerSystem.Language.MsgResources + /// + public static class LanguageManager + { + public static ResourceManager rm = new ResourceManager("Language.Languages", typeof(LanguageManager).Assembly); + private static CultureInfo currentCulture = CultureInfo.CurrentUICulture; + public static event EventHandler LanguageChanged; + public static string LanguageCode = "zh";//默认中文 + + private static Dictionary translationCache = new Dictionary(); + + static LanguageManager() + { + // 在静态构造函数中加载保存的语言设置 + LoadSavedLanguage(); + } + + public static void ChangeLanguage(string languageCode) + { + LanguageCode = languageCode; + currentCulture = new CultureInfo(languageCode); + Thread.CurrentThread.CurrentUICulture = currentCulture; + translationCache.Clear(); + SaveLanguagePreference(languageCode); + LanguageChanged?.Invoke(null, EventArgs.Empty); + + } + + public static string GetString(string key) + { + if (translationCache.TryGetValue(key, out string cachedResult)) + { + return cachedResult; + } + + string result = rm.GetString(key, currentCulture); + if (result != null) + { + translationCache[key] = result; + } + return result ?? key; + } + + + // 新增:GetLocalizedString 方法,支持带参数的本地化字符串 + public static string GetLocalizedString(string key, params object[] args) + { + string value = GetString(key); + return args.Length > 0 ? string.Format(value, args) : value; + } + + // 新增:获取本地化的星期名称数组 + public static string[] WeekNames + { + get + { + return new string[] + { + GetString("Sunday"), + GetString("Monday"), + GetString("Tuesday"), + GetString("Wednesday"), + GetString("Thursday"), + GetString("Friday"), + GetString("Saturday") + }; + } + } + + + public static void LoadLanguageResource(string resourcePath) + { + ResourceManager newRm = new ResourceManager(resourcePath, typeof(LanguageManager).Assembly); + rm = newRm; + translationCache.Clear(); + LanguageChanged?.Invoke(null, EventArgs.Empty); + } + + // 新增:保存语言偏好 + private static void SaveLanguagePreference(string languageCode) + { + try + { + var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); + var settings = configFile.AppSettings.Settings; + if (settings["PreferredLanguage"] == null) + { + settings.Add("PreferredLanguage", languageCode); + } + else + { + settings["PreferredLanguage"].Value = languageCode; + } + configFile.Save(ConfigurationSaveMode.Modified); + ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name); + } + catch (ConfigurationErrorsException ex) + { + Console.WriteLine($"Error writing app settings: {ex.Message}"); + // 考虑记录错误或通知用户 + } + catch (IOException ex) + { + Console.WriteLine($"Error accessing configuration file: {ex.Message}"); + // 考虑记录错误或通知用户 + } + } + + // 新增:加载保存的语言设置 + private static void LoadSavedLanguage() + { + try + { + string savedLanguage = ConfigurationManager.AppSettings["PreferredLanguage"]; + if (!string.IsNullOrEmpty(savedLanguage)) + { + ChangeLanguage(savedLanguage); + } + } + catch (ConfigurationErrorsException ex) + { + Console.WriteLine($"Error reading app settings: {ex.Message}"); + // 考虑记录错误或使用默认语言 + } + } + + // 新增:获取当前语言代码 + public static string GetCurrentLanguage() + { + return currentCulture.Name; + } + + } + + /// + /// 窗口控件翻译 + /// + public class MultiLanguageForm : AntdUI.Window + { + public MultiLanguageForm() + { + LanguageManager.LanguageChanged += OnLanguageChanged; + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + UpdateUILanguage(); + } + + protected virtual void OnLanguageChanged(object sender, EventArgs e) + { + UpdateUILanguage(); + } + + protected virtual void UpdateUILanguage() + { + UpdateControlsText(this); + } + + protected void UpdateControlsText(Control control) + { + UpdateControlProperties(control); + + foreach (Control childControl in control.Controls) + { + UpdateControlsText(childControl); + } + } + + + + protected void UpdateControlProperties(Control control) + { + string formName = this.Name; + string controlName = control.Name; + if (!string.IsNullOrEmpty(control.Name)) + { + // 更新 Text 属性 + UpdateProperty(control, "Text", formName, controlName, "_Text"); + if (control is NaviButton2 naviButton) + { + UpdateControlText(control, formName); + } + else if (control is TButton tButton) + { + UpdateControlText(control, formName); + } + + + // 处理特定类型的控件 + else if (control is AntdUI.Button antdButton) + { + UpdateProperty(antdButton, "Text", formName, controlName, "_Text"); + } + else if (control is AntdUI.Label label) + { + UpdateProperty(label, "Text", formName, controlName, "_Text"); + } + else if (control is AntdUI.Input antdInput) + { + UpdateProperty(antdInput, "PlaceholderText", formName, controlName, "_Placeholder"); + } + else if (control is AntdUI.Steps steps) + { + UpdateStepsTitle(steps, formName, controlName); + } + else if (control is StatusStrip status) + { + UpdateStatusStripItems(status, formName); + } + else if (control is AntdUI.PageHeader antdWindowBar) + { + UpdateProperty(antdWindowBar, "Text", formName, controlName, "_Text"); + } + else if (control is AntdUI.Table antdTable) + { + UpdateTableColumns(antdTable, formName, controlName); + } + + else if (control is TitleTime titleTime) + { + UpdateProperty(titleTime, "TitleName", formName, controlName, "_TitleName"); + } + else if (control is Title title) + { + UpdateProperty(title, "TitleName", formName, controlName, "_TitleName"); + } + else if (control is LongTitleStyle2 longTitleStyle) + { + UpdateProperty(longTitleStyle, "TitleName", formName, controlName, "_TitleName"); + } + + if (control is DataGridView dgv) + { + UpdateDataGridViewLanguage(dgv, formName); + } + + if (control is ListView listView) + { + UpdateListViewLanguage(listView, formName); + } + + if (control is UCElectricityMeterV) // 假设 EyMaterH1 是您自定义控件的类型 + { + LocalizeCustomControl(control, formName); + } + // 可以在这里添加更多特定控件类型的处理 + + // 更新控件的 ToolTipText 属性 + //else if (control is SidebarNavigation antdSidebarNavigation) + //{ + // UpdateSidebarNavigationItems(antdSidebarNavigation, formName); + //} + + //else if (control is CustomComboBox antdCustomComboBox) + //{ + // UpdateProperty(antdCustomComboBox, "WatermarkText", formName, controlName, "_WatermarkText"); + //} + + //else if (control is CustomGroupBox antdCustomGroupBox) + //{ + // UpdateProperty(antdCustomGroupBox, "Text", formName, controlName, "_Text"); + //} + // 添加 CustomDataGridView 的处理 + //else if (control is CustomDataGridView dataGridView) + //{ + // UpdateDataGridViewColumns(dataGridView, formName, controlName); + //} + } + } + + + protected void UpdateControlText(Control control, string formName) + { + string baseResourceKey = $"{formName}_{control.Name}"; + + // 尝试更新 Text 属性 + //string textKey = $"{baseResourceKey}_Text"; + //string translatedText = LanguageManager.GetString(textKey); + //if (translatedText != textKey) // 如果找到了翻译 + //{ + // control.Text = translatedText; + //} + + // 尝试更新 TitleName 属性 + string titleNameKey = $"{baseResourceKey}_TitleName"; + string translatedTitleName = LanguageManager.GetString(titleNameKey); + if (translatedTitleName != titleNameKey) // 如果找到了翻译 + { + + //control.Text = translatedText; + var titleNameProperty = control.GetType().GetProperty("TitleName"); + if (titleNameProperty != null && titleNameProperty.CanWrite) + { + titleNameProperty.SetValue(control, translatedTitleName); + } + } + } + + + /// + /// Winform 默认DataGridView控件 + /// + /// + /// + protected void UpdateDataGridViewLanguage(DataGridView dgv, string formName) + { + foreach (DataGridViewColumn column in dgv.Columns) + { + if (!string.IsNullOrEmpty(column.Name)) + { + string resourceKey = $"{formName}_{dgv.Name}_{column.Name}Header"; + string translatedHeader = LanguageManager.GetString(resourceKey); + if (translatedHeader != resourceKey) // 如果找到了翻译 + { + column.HeaderText = translatedHeader; + } + } + } + } + + + /// + /// 电表控件 + /// + /// + protected void LocalizeCustomControl(Control control, string formName) + { + Type controlType = control.GetType(); + PropertyInfo[] properties = controlType.GetProperties(); + + if (formName == "FrmMonitor") + { + foreach (PropertyInfo property in properties) + { + if (property.PropertyType == typeof(string) && property.Name.StartsWith("Text")) + { + string propertyName = property.Name; + string key = $"{formName}_{control.Name}_{propertyName}"; + string localizedText = LanguageManager.GetString(key); + + if (!string.IsNullOrEmpty(localizedText)) + { + property.SetValue(control, localizedText); + } + } + } + } + } + + protected void UpdateListViewLanguage(ListView listView, string formName) + { + //foreach (ColumnHeader column in listView.Columns) + //{ + // string key = $"{formName}_{listView.Name}_{column.Name}_Text"; + // string localizedText = LanguageManager.GetString(key); + // if (!string.IsNullOrEmpty(localizedText)) + // { + // column.Text = localizedText; + // } + //} + if (formName != "FrmMain") + { + for (int i = 0; i < listView.Columns.Count; i++) + { + string key = $"{formName}_{listView.Name}_Column{i}_Text"; + string localizedText = LanguageManager.GetString(key); + if (!string.IsNullOrEmpty(localizedText)) + { + listView.Columns[i].Text = localizedText; + } + } + } + } + + + /// + /// 更新 DataGridView 的列标题 + /// + private void UpdateDataGridViewColumns(CustomDataGridView dataGridView, string formName, string controlName) + { + try + { + foreach (DataGridViewColumn column in dataGridView.Columns) + { + // 构建语言键:窗体名_控件名_Column_列名 + //CommunicationEditForm_groupTable_Column_PlcNum + string languageKey = $"{formName}_{controlName}_Column_{column.Name}"; + + // 获取翻译后的列标题 + string translatedHeader = LanguageManager.GetString(languageKey); + + // 如果找到翻译,则更新列标题 + if (!string.IsNullOrEmpty(translatedHeader) && translatedHeader != languageKey) + { + column.HeaderText = translatedHeader; + } + } + + // 如果需要翻译行标题(RowHeaders) + if (dataGridView.RowHeadersVisible) + { + string rowHeaderKey = $"{formName}_{controlName}_RowHeader"; + string translatedRowHeader = LanguageManager.GetString(rowHeaderKey); + if (!string.IsNullOrEmpty(translatedRowHeader) && translatedRowHeader != rowHeaderKey) + { + dataGridView.RowHeadersDefaultCellStyle.Format = translatedRowHeader; + } + } + } + catch (Exception ex) + { + Debug.WriteLine($"Error updating DataGridView columns: {ex.Message}"); + } + } + + /// + /// + /// + /// + /// + /// + private void UpdateStepsTitle(AntdUI.Steps steps, string formName, string controlName) + { + if (steps.Items != null) + { + foreach (var item in steps.Items) + { + + ///格式 MainForm_mySteps_Item_Title = "姓名" + + string resourceKey = $"{formName}_{controlName}_{item.Name}_Title"; + string translatedTitle = LanguageManager.GetString(resourceKey); + if (translatedTitle != resourceKey) + { + item.Title = translatedTitle; + } + } + // 强制表格重新加载布局以应用新的标题 + steps.Invalidate(); + } + } + + + + /// + /// Updates the text and tooltips of status strip items based on the current language settings. + /// + /// The status strip control to update + /// The name of the form containing the status strip + public void UpdateStatusStripItems(StatusStrip statusStrip, string formName) + { + if (statusStrip == null || string.IsNullOrEmpty(formName)) + return; + + try + { + //FrmMain_StatusStrip_Status_Text = "就绪" + //FrmMain_StatusStrip_Progress_Text = "进度" + //FrmMain_StatusStrip_MenuButton_Text = "选项" + //FrmMain_StatusStrip_MenuButton_Option1_Text = "选项1" + //FrmMain_StatusStrip_MenuButton_Option2_Text = "选项2" + + foreach (ToolStripItem item in statusStrip.Items) + { + UpdateStatusStripItem(item, formName); + } + + // Force a redraw of the status strip + statusStrip.Invalidate(); + } + catch (Exception ex) + { + //Logger.LogError($"Error updating status strip: {ex.Message}", ex); + } + } + + /// + /// Updates text for a single status strip item + /// + private void UpdateStatusStripItem(ToolStripItem item, string formName) + { + if (item?.Name == null) return; + + // Update Text + string textResourceKey = BuildResourceKey(formName, item.Name.ToString(), "Text"); + string translatedText = LanguageManager.GetString(textResourceKey); + if (!string.Equals(translatedText, textResourceKey, StringComparison.Ordinal)) + { + item.Text = translatedText; + } + + // Handle nested items in dropdown buttons + if (item is ToolStripDropDownButton dropDown) + { + UpdateDropDownItems(dropDown, formName); + } + } + + /// + /// Updates text for dropdown items + /// + private void UpdateDropDownItems(ToolStripDropDownButton dropDown, string formName) + { + foreach (ToolStripItem dropDownItem in dropDown.DropDownItems) + { + if (dropDownItem?.Tag != null) + { + string itemResourceKey = BuildResourceKey(formName, + $"{dropDown.Tag}_{dropDownItem.Tag}", "Text"); + string translatedItemText = LanguageManager.GetString(itemResourceKey); + + if (!string.Equals(translatedItemText, itemResourceKey, + StringComparison.Ordinal)) + { + dropDownItem.Text = translatedItemText; + } + } + } + } + + /// + /// Builds the resource key for language lookup + /// + private string BuildResourceKey(string formName, string tag, string propertyName) + { + return $"{formName}_StatusStrip_{tag}_{propertyName}"; + } + + /// + /// Table控件 + /// + /// + /// + /// + private void UpdateTableColumns(AntdUI.Table table, string formName, string controlName) + { + if (table.Columns != null) + { + foreach (var column in table.Columns) + { + + ///格式 MainForm_myTable_ColumnName_Title = "姓名" + + string resourceKey = $"{formName}_{controlName}_{column.Key}_Title"; + string translatedTitle = LanguageManager.GetString(resourceKey); + if (translatedTitle != resourceKey) + { + column.Title = translatedTitle; + } + } + // 强制表格重新加载布局以应用新的标题 + table.LoadLayout(); + } + } + + + + /// + /// 侧边导航栏 + /// + /// + /// + private void UpdateSidebarNavigationItems(SidebarNavigation sidebarNavigation, string formName) + { + foreach (var item in sidebarNavigation.GetItems()) + { + //资源文件内部Key格式如下 + //FrmMain_SidebarItem_Home_Text = "Home" + //FrmMain_SidebarItem_Statistics_Text = "Statistics" + //FrmMain_SidebarItem_Search_Text = "Search" + //FrmMain_SidebarItem_Recipe_Text = "Recipe" + //FrmMain_SidebarItem_User_Text = "User" + //FrmMain_SidebarItem_Settings_Text = "Settings" + + string resourceKey = $"{formName}_SidebarItem_{item.Tag}_Text"; + string translatedText = LanguageManager.GetString(resourceKey); + if (translatedText != resourceKey) + { + item.Text = translatedText; + sidebarNavigation.UpdateButtonText(item.Tag, translatedText); + // 查找对应的按钮并更新工具提示 + var button = sidebarNavigation.Controls.OfType() + .FirstOrDefault(b => b.Tag == item); + if (button != null) + { + //sidebarNavigation.UpdateItemToolTip(button, translatedText); + } + } + } + // 强制 SidebarNavigation 重新绘制以显示更新后的文本 + sidebarNavigation.Invalidate(); + } + + + private void UpdateProperty(object control, string propertyName, string formName, string controlName, string suffix) + { + string resourceKey = $"{formName}_{controlName}{suffix}"; + string translatedValue = LanguageManager.GetString(resourceKey); + if (translatedValue != resourceKey) + { + var property = control.GetType().GetProperty(propertyName); + if (property != null && property.CanWrite) + { + property.SetValue(control, translatedValue); + } + } + } + + + protected override void Dispose(bool disposing) + { + if (disposing) + { + LanguageManager.LanguageChanged -= OnLanguageChanged; + } + base.Dispose(disposing); + } + } + + /// + /// UserControl控件翻译 + /// + public class MultiLanguageUserControl : UserControl + { + public MultiLanguageUserControl() + { + LanguageManager.LanguageChanged += OnLanguageChanged; + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + UpdateUILanguage(); + } + + protected virtual void OnLanguageChanged(object sender, EventArgs e) + { + UpdateUILanguage(); + } + + protected virtual void UpdateUILanguage() + { + UpdateControlsText(this); + } + + protected void UpdateControlsText(Control control) + { + UpdateControlProperties(control); + + foreach (Control childControl in control.Controls) + { + UpdateControlsText(childControl); + } + + + } + + protected void UpdateControlProperties(Control control) + { + string userControlName = this.Name; + string controlName = control.Name; + + // 更新 Text 属性 + UpdateProperty(control, "Text", userControlName, controlName, "_Text"); + + // 处理特定类型的控件 + if (control is AntdUI.Button antdButton) + { + UpdateProperty(antdButton, "Text", userControlName, controlName, "_Text"); + } + else if (control is AntdUI.Label label) + { + + UpdateProperty(label, "Text", userControlName, controlName, "_Text"); + } + else if (control is AntdUI.Input antdInput) + { + UpdateProperty(antdInput, "PlaceholderText", userControlName, controlName, "_Placeholder"); + } + + else if (control is AntdUI.Tabs antdtabs) + { + UpdateTabsLanguage(antdtabs, userControlName); + } + else if (control is AntdUI.Table antdTable) + { + UpdateTableColumns(antdTable, userControlName, controlName); + } + + else if (control is SidebarNavigation antdSidebarNavigation) + { + UpdateProperty(antdSidebarNavigation, "Text", userControlName, controlName, "_Text"); + } + else if (control is CustomComboBox antdCustomComboBox) + { + UpdateProperty(antdCustomComboBox, "WatermarkText", userControlName, controlName, "_WatermarkText"); + } + else if (control is CustomGroupBox antdCustomGroupBox) + { + UpdateProperty(antdCustomGroupBox, "Text", userControlName, controlName, "_Text"); + } + + // 添加 CustomDataGridView 的处理 + else if (control is CustomDataGridView dataGridView) + { + UpdateDataGridViewColumns(dataGridView, userControlName, controlName); + } + // 可以在这里添加更多特定控件类型的处理 + } + + + /// + /// 更新 DataGridView 的列标题 + /// + private void UpdateDataGridViewColumns(CustomDataGridView dataGridView, string userControlName, string controlName) + { + try + { + foreach (DataGridViewColumn column in dataGridView.Columns) + { + // 构建语言键:窗体名_控件名_Column_列名 + string languageKey = $"{userControlName}_{controlName}_Column_{column.Name}"; + + // 获取翻译后的列标题 + string translatedHeader = LanguageManager.GetString(languageKey); + + // 如果找到翻译,则更新列标题 + if (!string.IsNullOrEmpty(translatedHeader) && translatedHeader != languageKey) + { + column.HeaderText = translatedHeader; + } + } + + // 如果需要翻译行标题(RowHeaders) + if (dataGridView.RowHeadersVisible) + { + string rowHeaderKey = $"{userControlName}_{controlName}_RowHeader"; + string translatedRowHeader = LanguageManager.GetString(rowHeaderKey); + if (!string.IsNullOrEmpty(translatedRowHeader) && translatedRowHeader != rowHeaderKey) + { + dataGridView.RowHeadersDefaultCellStyle.Format = translatedRowHeader; + } + } + } + catch (Exception ex) + { + Debug.WriteLine($"Error updating DataGridView columns: {ex.Message}"); + } + } + + /// + /// Table控件 + /// + /// + /// + /// + private void UpdateTableColumns(AntdUI.Table table, string formName, string controlName) + { + if (table.Columns != null) + { + foreach (var column in table.Columns) + { + + ///格式 MainForm_myTable_ColumnName_Title = "姓名" + + string resourceKey = $"{formName}_{controlName}_{column.Key}_Title"; + string translatedTitle = LanguageManager.GetString(resourceKey); + if (translatedTitle != resourceKey) + { + column.Title = translatedTitle; + } + } + // 强制表格重新加载布局以应用新的标题 + table.LoadLayout(); + } + } + + + /// + /// 遍历Tabs中所有TabPage的所有控件 + /// + /// 要遍历的Tabs控件 + /// 对每个控件执行的操作 + public static void ForEachControl(AntdUI.Tabs tabs, Action action) + { + if (tabs?.Pages == null) return; + + foreach (AntdUI.TabPage page in tabs.Pages) + { + // 遍历当前页面的所有控件 + ForEachControlRecursive(page, action); + } + } + + /// + /// 遍历指定TabPage中的所有控件(包括子控件) + /// + /// 要遍历的TabPage + /// 对每个控件执行的操作 + public static void ForEachControl(AntdUI.TabPage page, Action action) + { + ForEachControlRecursive(page, action); + } + + /// + /// 递归遍历控件树 + /// + private static void ForEachControlRecursive(Control control, Action action) + { + // 执行操作 + action(control); + + // 递归遍历子控件 + foreach (Control child in control.Controls) + { + ForEachControlRecursive(child, action); + } + } + + + + #region tabs + /// + /// 为Tabs控件及其所有子控件更新语言 + /// + /// 要更新的Tabs控件 + /// 窗体名称 + public static void UpdateLanguage(Tabs tabs, string formName) + { + if (tabs?.Pages == null) return; + + foreach (AntdUI.TabPage page in tabs.Pages) + { + // 更新TabPage标题 + UpdateControlLanguage(page, formName, tabs.Name, page.Name, "_Text"); + + // 递归更新所有子控件 + UpdateControlsLanguageRecursive(page.Controls, formName, tabs.Name, page.Name); + } + } + + /// + /// 递归更新控件树中所有控件的语言 + /// + private static void UpdateControlsLanguageRecursive(Control.ControlCollection controls, string formName, string tabsName, string pageName) + { + foreach (Control control in controls) + { + // 更新当前控件的文本 + UpdateControlLanguage(control, formName, tabsName, pageName, "_Text"); + + // 针对特定类型控件的特殊处理 + if (control is DataGridView grid) + { + UpdateDataGridViewLanguage(grid, formName, tabsName, pageName); + } + else if (control is AntdUI.Input input) + { + UpdateInPutLanguage(input, formName, tabsName, pageName); + } + else if (control is CustomComboBox combo) + { + UpdateComboBoxLanguage(combo, formName, tabsName, pageName); + } + else if (control is AntdUI.Table antdTable) + { + UpdateTableLanguage(antdTable, formName, tabsName, pageName); + } + // 可以添加其他特殊控件的处理... + + // 递归处理子控件 + if (control.Controls.Count > 0) + { + UpdateControlsLanguageRecursive(control.Controls, formName, tabsName, pageName); + } + } + } + + /// + /// 更新单个控件的语言 + /// + private static void UpdateControlLanguage(Control control, string formName, string tabsName, string pageName, string suffix) + { + // 格式: FormName_TabsName_PageName_ControlName_Suffix {pageName}_ {tabsName}_ + string resourceKey = $"{formName}_{tabsName}_{control.Name}{suffix}"; + string translatedText = LanguageManager.GetString(resourceKey); + + // 只在资源存在时更新 + if (translatedText != resourceKey) + { + control.Text = translatedText; + } + } + + private static void UpdateInPutLanguage(AntdUI.Input input, string formName, string tabsName, string pageName) + { + // 格式: FormName_TabsName_PageName_GridName_ColumnName_Title {pageName} + string resourceKey = $"{formName}_{tabsName}_{input.Name}_Placeholder"; + string translatedTitle = LanguageManager.GetString(resourceKey); + + if (translatedTitle != resourceKey) + { + input.PlaceholderText = translatedTitle; + } + } + + /// + /// 更新DataGridView的列标题语言 + /// + private static void UpdateDataGridViewLanguage(DataGridView grid, string formName, string tabsName, string pageName) + { + + foreach (DataGridViewColumn column in grid.Columns) + { + // 格式: FormName_TabsName_PageName_GridName_ColumnName_Title {pageName} + string resourceKey = $"{formName}_{tabsName}_{grid.Name}_{column.Name}_Title"; + string translatedTitle = LanguageManager.GetString(resourceKey); + + if (translatedTitle != resourceKey) + { + column.HeaderText = translatedTitle; + } + } + } + + private static void UpdateTableLanguage(AntdUI.Table table, string formName, string tabsName, string pageName) + { + foreach (var column in table.Columns) + { + // 格式: FormName_TabsName_PageName_GridName_ColumnName_Title {pageName} + //SettingControl_tabsSystemSet_configTable_PlcNum_Title + string resourceKey = $"{formName}_{tabsName}_{table.Name}_{column.Key}_Title"; + string translatedTitle = LanguageManager.GetString(resourceKey); + + if (translatedTitle != resourceKey) + { + column.Title = translatedTitle; + } + } + } + + /// + /// 更新ComboBox的项目语言 + /// + private static void UpdateComboBoxLanguage(CustomComboBox combo, string formName, string tabsName, string pageName) + { + // 如果ComboBox是数据绑定的,可能需要特殊处理 + for (int i = 0; i < combo.Items.Count; i++) + { + //{pageName}_ + string resourceKey = $"{formName}_{tabsName}_{combo.Name}_WatermarkText"; + string translatedItem = LanguageManager.GetString(resourceKey); + + if (translatedItem != resourceKey) + { + combo.WatermarkText = translatedItem; + } + } + } + + /// + /// 获取控件的完整资源键 + /// + public static string GetResourceKey(Control control, string formName, string tabsName, string pageName, string suffix) + { + return $"{formName}_{tabsName}_{pageName}_{control.Name}{suffix}"; + } + + + /// + /// 更新Tabs及其所有子控件的语言 + /// + /// Tabs控件 + /// 窗体名称 + public static void UpdateTabsLanguage(Tabs tabs, string formName) + { + if (tabs?.Pages == null) return; + + string tabsName = tabs.Name; + foreach (Control control in GetAllControls(tabs)) + { + // 构建资源键基础部分 + string baseKey = $"{formName}_{tabsName}_{control.Name}"; + string text; + + // 根据控件类型更新对应的文本属性 + switch (control) + { + case AntdUI.Input input: + text = LanguageManager.GetString($"{baseKey}_Placeholder"); + if (text != null) input.PlaceholderText = text; + break; + + case CustomComboBox combo: + text = LanguageManager.GetString($"{baseKey}_WatermarkText"); + if (text != null) combo.WatermarkText = text; + break; + + case DataGridView grid: + foreach (DataGridViewColumn column in grid.Columns) + { + text = LanguageManager.GetString($"{baseKey}_{column.Name}_Title"); + if (text != null) column.HeaderText = text; + } + break; + + case AntdUI.Table table: + foreach (var column in table.Columns) + { + text = LanguageManager.GetString($"{baseKey}_{column.Key}_Title"); + if (text != null) column.Title = text; + } + break; + + default: + // 普通控件处理Text属性 + text = LanguageManager.GetString($"{baseKey}_Text"); + if (text != null) control.Text = text; + break; + } + } + } + + /// + /// 获取控件及其所有子控件 + /// + private static IEnumerable GetAllControls(Tabs tabs) + { + var controls = new List(); + foreach (AntdUI.TabPage page in tabs.Pages) + { + controls.Add(page); // 添加TabPage本身 + controls.AddRange(GetChildControls(page)); + } + return controls; + } + + /// + /// 递归获取子控件 + /// + private static IEnumerable GetChildControls(Control control) + { + var controls = new List(); + foreach (Control child in control.Controls) + { + controls.Add(child); + controls.AddRange(GetChildControls(child)); + } + return controls; + } + #endregion + + + + private void UpdateProperty(object control, string propertyName, string userControlName, string controlName, string suffix) + { + string resourceKey = $"{userControlName}_{controlName}{suffix}"; + string translatedValue = LanguageManager.GetString(resourceKey); + if (translatedValue != resourceKey) + { + var property = control.GetType().GetProperty(propertyName); + if (property != null && property.CanWrite) + { + property.SetValue(control, translatedValue); + } + } + } + + + protected override void Dispose(bool disposing) + { + if (disposing) + { + LanguageManager.LanguageChanged -= OnLanguageChanged; + } + base.Dispose(disposing); + } + } + + public static class StringExtensions + { + /// + /// + /// + /// + /// + public static string Translated(this string key) + { + return LanguageManager.GetString(key); + } + + public static string Translated(this string key, params object[] args) + { + string translatedString = LanguageManager.GetString(key); + return args.Length > 0 ? string.Format(translatedString, args) : translatedString; + } + } +} \ No newline at end of file diff --git a/Language/Languages.Designer.cs b/Language/Languages.Designer.cs new file mode 100644 index 0000000..1ac9af6 --- /dev/null +++ b/Language/Languages.Designer.cs @@ -0,0 +1,5220 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace Language { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Languages { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Languages() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Language.Languages", typeof(Languages).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查找类似 添加通信组 的本地化字符串。 + /// + internal static string CommunicationEditForm_BtnAdd_Text { + get { + return ResourceManager.GetString("CommunicationEditForm_BtnAdd_Text", resourceCulture); + } + } + + /// + /// 查找类似 操作 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_EditHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_EditHeader", resourceCulture); + } + } + + /// + /// 查找类似 组名 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_GroupNameHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_GroupNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 是否启用 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_IsActiveHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_IsActiveHeader", resourceCulture); + } + } + + /// + /// 查找类似 反馈PLC 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_IsFeedbackPlcHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_IsFeedbackPlcHeader", resourceCulture); + } + } + + /// + /// 查找类似 触发读取 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_IsTiggerReadHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_IsTiggerReadHeader", resourceCulture); + } + } + + /// + /// 查找类似 长度 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_LengthHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_LengthHeader", resourceCulture); + } + } + + /// + /// 查找类似 PLC编号 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_PlcNumHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_PlcNumHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_RemarkHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_RemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 起始地址 的本地化字符串。 + /// + internal static string CommunicationEditForm_groupTable_StartHeader { + get { + return ResourceManager.GetString("CommunicationEditForm_groupTable_StartHeader", resourceCulture); + } + } + + /// + /// 查找类似 通信组配置 的本地化字符串。 + /// + internal static string CommunicationEditForm_lblTitle_Text { + get { + return ResourceManager.GetString("CommunicationEditForm_lblTitle_Text", resourceCulture); + } + } + + /// + /// 查找类似 D40已复位0 的本地化字符串。 + /// + internal static string D40已复位0 { + get { + return ResourceManager.GetString("D40已复位0", resourceCulture); + } + } + + /// + /// 查找类似 报警信息 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_Alarm_AlarmLogALARMHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_Alarm_AlarmLogALARMHeader", resourceCulture); + } + } + + /// + /// 查找类似 报警类型 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_Alarm_AlarmLogAlarmTypeHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_Alarm_AlarmLogAlarmTypeHeader", resourceCulture); + } + } + + /// + /// 查找类似 日期时间 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_Alarm_AlarmLogDateTimeHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_Alarm_AlarmLogDateTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 日志信息 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_Log_LogDateInformationHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_Log_LogDateInformationHeader", resourceCulture); + } + } + + /// + /// 查找类似 日期时间 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_Log_LogDateTimeHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_Log_LogDateTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 日志类型 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_Log_LogDateTypeHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_Log_LogDateTypeHeader", resourceCulture); + } + } + + /// + /// 查找类似 日期时间 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_OPLog_OPLogDateTimeHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_OPLog_OPLogDateTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 操作信息 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_OPLog_OPLogOperationalMessageHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_OPLog_OPLogOperationalMessageHeader", resourceCulture); + } + } + + /// + /// 查找类似 操作类型 的本地化字符串。 + /// + internal static string FrmAlarmLog_dgv_OPLog_OPLogOperationTypeHeader { + get { + return ResourceManager.GetString("FrmAlarmLog_dgv_OPLog_OPLogOperationTypeHeader", resourceCulture); + } + } + + /// + /// 查找类似 操作日志 的本地化字符串。 + /// + internal static string FrmAlarmLog_lblOperationLog_Text { + get { + return ResourceManager.GetString("FrmAlarmLog_lblOperationLog_Text", resourceCulture); + } + } + + /// + /// 查找类似 系统报警 的本地化字符串。 + /// + internal static string FrmAlarmLog_lblSystemAlarm_Text { + get { + return ResourceManager.GetString("FrmAlarmLog_lblSystemAlarm_Text", resourceCulture); + } + } + + /// + /// 查找类似 系统日志 的本地化字符串。 + /// + internal static string FrmAlarmLog_lblSystemLog_Text { + get { + return ResourceManager.GetString("FrmAlarmLog_lblSystemLog_Text", resourceCulture); + } + } + + /// + /// 查找类似 Pp 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe27_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe27_Text", resourceCulture); + } + } + + /// + /// 查找类似 Cp 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe28_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe28_Text", resourceCulture); + } + } + + /// + /// 查找类似 Ca 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe29_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe29_Text", resourceCulture); + } + } + + /// + /// 查找类似 PPK 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe30_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe30_Text", resourceCulture); + } + } + + /// + /// 查找类似 CPK 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe32_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe32_Text", resourceCulture); + } + } + + /// + /// 查找类似 Dev 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe33_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe33_Text", resourceCulture); + } + } + + /// + /// 查找类似 Mean 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe34_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe34_Text", resourceCulture); + } + } + + /// + /// 查找类似 SampleSize 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe35_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe35_Text", resourceCulture); + } + } + + /// + /// 查找类似 Groups 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe36_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe36_Text", resourceCulture); + } + } + + /// + /// 查找类似 Max 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe37_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe37_Text", resourceCulture); + } + } + + /// + /// 查找类似 Min 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe38_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe38_Text", resourceCulture); + } + } + + /// + /// 查找类似 Total 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe39_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe39_Text", resourceCulture); + } + } + + /// + /// 查找类似 平均值 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe40_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe40_Text", resourceCulture); + } + } + + /// + /// 查找类似 最大值 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe41_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe41_Text", resourceCulture); + } + } + + /// + /// 查找类似 最小值 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe42_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe42_Text", resourceCulture); + } + } + + /// + /// 查找类似 规格下限 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe49_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe49_Text", resourceCulture); + } + } + + /// + /// 查找类似 规格上限 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe50_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe50_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据组数 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe51_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe51_Text", resourceCulture); + } + } + + /// + /// 查找类似 样本子组大小 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe53_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe53_Text", resourceCulture); + } + } + + /// + /// 查找类似 目标值 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe54_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe54_Text", resourceCulture); + } + } + + /// + /// 查找类似 负3倍标准差 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe57_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe57_Text", resourceCulture); + } + } + + /// + /// 查找类似 标准差(组内) 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe58_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe58_Text", resourceCulture); + } + } + + /// + /// 查找类似 标准差(整体) 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe59_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe59_Text", resourceCulture); + } + } + + /// + /// 查找类似 正3倍标准差 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe63_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe63_Text", resourceCulture); + } + } + + /// + /// 查找类似 CPL 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe64_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe64_Text", resourceCulture); + } + } + + /// + /// 查找类似 CPU 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe65_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe65_Text", resourceCulture); + } + } + + /// + /// 查找类似 Cp 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe70_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe70_Text", resourceCulture); + } + } + + /// + /// 查找类似 Cpk 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe71_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe71_Text", resourceCulture); + } + } + + /// + /// 查找类似 Ca 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe74_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe74_Text", resourceCulture); + } + } + + /// + /// 查找类似 PPL 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe76_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe76_Text", resourceCulture); + } + } + + /// + /// 查找类似 Ppk 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe77_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe77_Text", resourceCulture); + } + } + + /// + /// 查找类似 PPU 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe78_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe78_Text", resourceCulture); + } + } + + /// + /// 查找类似 Pp 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabe79_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabe79_Text", resourceCulture); + } + } + + /// + /// 查找类似 CpkGrade 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabel1_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabel1_Text", resourceCulture); + } + } + + /// + /// 查找类似 样本总数 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabel2_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabel2_Text", resourceCulture); + } + } + + /// + /// 查找类似 PPM < LSL 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabel3_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabel3_Text", resourceCulture); + } + } + + /// + /// 查找类似 PPM Toatl 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabel4_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabel4_Text", resourceCulture); + } + } + + /// + /// 查找类似 PPM < USL 的本地化字符串。 + /// + internal static string FrmCpkCount_angleLabel5_Text { + get { + return ResourceManager.GetString("FrmCpkCount_angleLabel5_Text", resourceCulture); + } + } + + /// + /// 查找类似 清空数据 的本地化字符串。 + /// + internal static string FrmCpkCount_btClear_Text { + get { + return ResourceManager.GetString("FrmCpkCount_btClear_Text", resourceCulture); + } + } + + /// + /// 查找类似 计算CPK 的本地化字符串。 + /// + internal static string FrmCpkCount_btCPK_Text { + get { + return ResourceManager.GetString("FrmCpkCount_btCPK_Text", resourceCulture); + } + } + + /// + /// 查找类似 分析选项 的本地化字符串。 + /// + internal static string FrmCpkCount_btn_AnalysisOptions_Text { + get { + return ResourceManager.GetString("FrmCpkCount_btn_AnalysisOptions_Text", resourceCulture); + } + } + + /// + /// 查找类似 查 询 的本地化字符串。 + /// + internal static string FrmCpkCount_btSelect_Text { + get { + return ResourceManager.GetString("FrmCpkCount_btSelect_Text", resourceCulture); + } + } + + /// + /// 查找类似 生成虚拟数据 的本地化字符串。 + /// + internal static string FrmCpkCount_btTestData_Text { + get { + return ResourceManager.GetString("FrmCpkCount_btTestData_Text", resourceCulture); + } + } + + /// + /// 查找类似 常 量 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX1_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX1_Text", resourceCulture); + } + } + + /// + /// 查找类似 统 计 值 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX2_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX2_Text", resourceCulture); + } + } + + /// + /// 查找类似 工序能力(组内) 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX3_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX3_Text", resourceCulture); + } + } + + /// + /// 查找类似 其他值 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX4_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX4_Text", resourceCulture); + } + } + + /// + /// 查找类似 计 算 值 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX5_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX5_Text", resourceCulture); + } + } + + /// + /// 查找类似 实测性能 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX6_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX6_Text", resourceCulture); + } + } + + /// + /// 查找类似 工序能力(整体) 的本地化字符串。 + /// + internal static string FrmCpkCount_groupBoxEX7_Text { + get { + return ResourceManager.GetString("FrmCpkCount_groupBoxEX7_Text", resourceCulture); + } + } + + /// + /// 查找类似 查询选项 的本地化字符串。 + /// + internal static string FrmCpkCount_label1_Text { + get { + return ResourceManager.GetString("FrmCpkCount_label1_Text", resourceCulture); + } + } + + /// + /// 查找类似 查询时间区间 的本地化字符串。 + /// + internal static string FrmCpkCount_label2_Text { + get { + return ResourceManager.GetString("FrmCpkCount_label2_Text", resourceCulture); + } + } + + /// + /// 查找类似 XR控制图 的本地化字符串。 + /// + internal static string FrmCpkCount_tabPagePlus1_Text { + get { + return ResourceManager.GetString("FrmCpkCount_tabPagePlus1_Text", resourceCulture); + } + } + + /// + /// 查找类似 CPK分析图 的本地化字符串。 + /// + internal static string FrmCpkCount_tabPagePlus2_Text { + get { + return ResourceManager.GetString("FrmCpkCount_tabPagePlus2_Text", resourceCulture); + } + } + + /// + /// 查找类似 样本运行图 的本地化字符串。 + /// + internal static string FrmCpkCount_tabPagePlus3_Text { + get { + return ResourceManager.GetString("FrmCpkCount_tabPagePlus3_Text", resourceCulture); + } + } + + /// + /// 查找类似 均值运行图 的本地化字符串。 + /// + internal static string FrmCpkCount_tabPagePlus4_Text { + get { + return ResourceManager.GetString("FrmCpkCount_tabPagePlus4_Text", resourceCulture); + } + } + + /// + /// 查找类似 生产型号 的本地化字符串。 + /// + internal static string FrmDataMonitor_angleLabel1_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_angleLabel1_Text", resourceCulture); + } + } + + /// + /// 查找类似 物料编码 的本地化字符串。 + /// + internal static string FrmDataMonitor_angleLabel2_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_angleLabel2_Text", resourceCulture); + } + } + + /// + /// 查找类似 开始监控 的本地化字符串。 + /// + internal static string FrmDataMonitor_btSatrt_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_btSatrt_Text", resourceCulture); + } + } + + /// + /// 查找类似 停止监控 的本地化字符串。 + /// + internal static string FrmDataMonitor_btStop_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_btStop_Text", resourceCulture); + } + } + + /// + /// 查找类似 chart1 的本地化字符串。 + /// + internal static string FrmDataMonitor_chartPowerData1_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_chartPowerData1_Text", resourceCulture); + } + } + + /// + /// 查找类似 chart1 的本地化字符串。 + /// + internal static string FrmDataMonitor_chartPowerData2_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_chartPowerData2_Text", resourceCulture); + } + } + + /// + /// 查找类似 箱唛码 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutContainerCodeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutContainerCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 栈板码 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutPalletCodeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutPalletCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutRemarkHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutRemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 综合结果 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutResultHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutResultHeader", resourceCulture); + } + } + + /// + /// 查找类似 叠盘层数 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutStackingLayerHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutStackingLayerHeader", resourceCulture); + } + } + + /// + /// 查找类似 叠盘工位号 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutStackingNumHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutStackingNumHeader", resourceCulture); + } + } + + /// + /// 查找类似 测试时间 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutTestTimeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutTestTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 重量 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvBlankingData_OutWeightHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvBlankingData_OutWeightHeader", resourceCulture); + } + } + + /// + /// 查找类似 箱唛码 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvFeedingData_InContainerCodeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvFeedingData_InContainerCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 栈板码 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvFeedingData_InPalletCodeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvFeedingData_InPalletCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvFeedingData_InRemarkHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvFeedingData_InRemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 结果 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvFeedingData_InResultHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvFeedingData_InResultHeader", resourceCulture); + } + } + + /// + /// 查找类似 时间 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvFeedingData_InTestTimeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvFeedingData_InTestTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 箱唛码 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintContainerData_ContainerCodeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintContainerData_ContainerCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintContainerData_RemarkHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintContainerData_RemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 结果 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintContainerData_ResultHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintContainerData_ResultHeader", resourceCulture); + } + } + + /// + /// 查找类似 测试时间 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintContainerData_TestTimeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintContainerData_TestTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 栈板码 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintPalletData_PalletCodeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintPalletData_PalletCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintPalletData_printpalletRemarkHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintPalletData_printpalletRemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 结果 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintPalletData_printPalletResultHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintPalletData_printPalletResultHeader", resourceCulture); + } + } + + /// + /// 查找类似 时间 的本地化字符串。 + /// + internal static string FrmDataMonitor_dgvPrintPalletData_TestTimeHeader { + get { + return ResourceManager.GetString("FrmDataMonitor_dgvPrintPalletData_TestTimeHeader", resourceCulture); + } + } + + /// + /// 查找类似 日志记录 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX1_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX1_Text", resourceCulture); + } + } + + /// + /// 查找类似 参数 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX2_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX2_Text", resourceCulture); + } + } + + /// + /// 查找类似 组盘抽检工位 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX3_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX3_Text", resourceCulture); + } + } + + /// + /// 查找类似 包装箱进站 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX4_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX4_Text", resourceCulture); + } + } + + /// + /// 查找类似 包装箱出站 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX5_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX5_Text", resourceCulture); + } + } + + /// + /// 查找类似 卡板托盘绑定上传 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX6_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX6_Text", resourceCulture); + } + } + + /// + /// 查找类似 箱唛打印工位 的本地化字符串。 + /// + internal static string FrmDataMonitor_groupBoxEX7_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_groupBoxEX7_Text", resourceCulture); + } + } + + /// + /// 查找类似 参数项 的本地化字符串。 + /// + internal static string FrmDataMonitor_lVConfigRange_Column0_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_lVConfigRange_Column0_Text", resourceCulture); + } + } + + /// + /// 查找类似 最小值 的本地化字符串。 + /// + internal static string FrmDataMonitor_lVConfigRange_Column1_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_lVConfigRange_Column1_Text", resourceCulture); + } + } + + /// + /// 查找类似 最大值 的本地化字符串。 + /// + internal static string FrmDataMonitor_lVConfigRange_Column2_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_lVConfigRange_Column2_Text", resourceCulture); + } + } + + /// + /// 查找类似 单位 的本地化字符串。 + /// + internal static string FrmDataMonitor_lVConfigRange_Column3_Text { + get { + return ResourceManager.GetString("FrmDataMonitor_lVConfigRange_Column3_Text", resourceCulture); + } + } + + /// + /// 查找类似 新增通信组 的本地化字符串。 + /// + internal static string FrmGroupConfig_btn_Add_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_btn_Add_Text", resourceCulture); + } + } + + /// + /// 查找类似 删除通信组 的本地化字符串。 + /// + internal static string FrmGroupConfig_btn_Delete_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_btn_Delete_Text", resourceCulture); + } + } + + /// + /// 查找类似 修改通信组 的本地化字符串。 + /// + internal static string FrmGroupConfig_btn_Modify_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_btn_Modify_Text", resourceCulture); + } + } + + /// + /// 查找类似 是否需要反馈结果 的本地化字符串。 + /// + internal static string FrmGroupConfig_chk_IsFeedbackPlc_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_chk_IsFeedbackPlc_Text", resourceCulture); + } + } + + /// + /// 查找类似 是否启用 的本地化字符串。 + /// + internal static string FrmGroupConfig_ckb_IsEnable_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_ckb_IsEnable_Text", resourceCulture); + } + } + + /// + /// 查找类似 是否为触发读取 的本地化字符串。 + /// + internal static string FrmGroupConfig_ckb_IsTiggerRead_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_ckb_IsTiggerRead_Text", resourceCulture); + } + } + + /// + /// 查找类似 通信组名称 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_GroupNameHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_GroupNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 启用 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_IsActiveHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_IsActiveHeader", resourceCulture); + } + } + + /// + /// 查找类似 是否需要反馈结果 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_IsFeedbackPlcHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_IsFeedbackPlcHeader", resourceCulture); + } + } + + /// + /// 查找类似 是否为触发读取 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_IsTiggerReadHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_IsTiggerReadHeader", resourceCulture); + } + } + + /// + /// 查找类似 长度 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_LengthHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_LengthHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注说明 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_RemarkHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_RemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 起始地址 的本地化字符串。 + /// + internal static string FrmGroupConfig_dgv_Main_StartHeader { + get { + return ResourceManager.GetString("FrmGroupConfig_dgv_Main_StartHeader", resourceCulture); + } + } + + /// + /// 查找类似 通信组配置 的本地化字符串。 + /// + internal static string FrmGroupConfig_label1_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_label1_Text", resourceCulture); + } + } + + /// + /// 查找类似 通信组名称 的本地化字符串。 + /// + internal static string FrmGroupConfig_label2_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_label2_Text", resourceCulture); + } + } + + /// + /// 查找类似 起始地址 的本地化字符串。 + /// + internal static string FrmGroupConfig_label3_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_label3_Text", resourceCulture); + } + } + + /// + /// 查找类似 长度 的本地化字符串。 + /// + internal static string FrmGroupConfig_label4_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_label4_Text", resourceCulture); + } + } + + /// + /// 查找类似 备注说明 的本地化字符串。 + /// + internal static string FrmGroupConfig_label6_Text { + get { + return ResourceManager.GetString("FrmGroupConfig_label6_Text", resourceCulture); + } + } + + /// + /// 查找类似 导 出 Excel 的本地化字符串。 + /// + internal static string FrmHistory_btn_AlarmExport_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_AlarmExport_Text", resourceCulture); + } + } + + /// + /// 查找类似 时 间 查 询 的本地化字符串。 + /// + internal static string FrmHistory_btn_AlarmQuery_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_AlarmQuery_Text", resourceCulture); + } + } + + /// + /// 查找类似 导 出 的本地化字符串。 + /// + internal static string FrmHistory_btn_ClassExPort_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_ClassExPort_Text", resourceCulture); + } + } + + /// + /// 查找类似 查 询 的本地化字符串。 + /// + internal static string FrmHistory_btn_ClassQuery_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_ClassQuery_Text", resourceCulture); + } + } + + /// + /// 查找类似 导 出 的本地化字符串。 + /// + internal static string FrmHistory_btn_DaysExPort_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_DaysExPort_Text", resourceCulture); + } + } + + /// + /// 查找类似 查 询 的本地化字符串。 + /// + internal static string FrmHistory_btn_DaysQuery_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_DaysQuery_Text", resourceCulture); + } + } + + /// + /// 查找类似 导 出 Excel 的本地化字符串。 + /// + internal static string FrmHistory_btn_ExPort_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_ExPort_Text", resourceCulture); + } + } + + /// + /// 查找类似 导 出 的本地化字符串。 + /// + internal static string FrmHistory_btn_MonthExPort_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_MonthExPort_Text", resourceCulture); + } + } + + /// + /// 查找类似 查 询 的本地化字符串。 + /// + internal static string FrmHistory_btn_MonthQuery_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_MonthQuery_Text", resourceCulture); + } + } + + /// + /// 查找类似 查 询 的本地化字符串。 + /// + internal static string FrmHistory_btn_Query_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_Query_Text", resourceCulture); + } + } + + /// + /// 查找类似 补 传 的本地化字符串。 + /// + internal static string FrmHistory_btn_ReUpMes_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_ReUpMes_Text", resourceCulture); + } + } + + /// + /// 查找类似 导 出 的本地化字符串。 + /// + internal static string FrmHistory_btn_WeekExPort_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_WeekExPort_Text", resourceCulture); + } + } + + /// + /// 查找类似 查 询 的本地化字符串。 + /// + internal static string FrmHistory_btn_WeekQuery_Text { + get { + return ResourceManager.GetString("FrmHistory_btn_WeekQuery_Text", resourceCulture); + } + } + + /// + /// 查找类似 报警内容 的本地化字符串。 + /// + internal static string FrmHistory_dgv_AlarmData_AlarmContent { + get { + return ResourceManager.GetString("FrmHistory_dgv_AlarmData_AlarmContent", resourceCulture); + } + } + + /// + /// 查找类似 报警次数 的本地化字符串。 + /// + internal static string FrmHistory_dgv_AlarmData_AlarmCount { + get { + return ResourceManager.GetString("FrmHistory_dgv_AlarmData_AlarmCount", resourceCulture); + } + } + + /// + /// 查找类似 报警时间 的本地化字符串。 + /// + internal static string FrmHistory_dgv_AlarmData_AlarmTime { + get { + return ResourceManager.GetString("FrmHistory_dgv_AlarmData_AlarmTime", resourceCulture); + } + } + + /// + /// 查找类似 类别 的本地化字符串。 + /// + internal static string FrmHistory_dgv_AlarmData_Class { + get { + return ResourceManager.GetString("FrmHistory_dgv_AlarmData_Class", resourceCulture); + } + } + + /// + /// 查找类似 PLC地址 的本地化字符串。 + /// + internal static string FrmHistory_dgv_AlarmData_PLCAdress { + get { + return ResourceManager.GetString("FrmHistory_dgv_AlarmData_PLCAdress", resourceCulture); + } + } + + /// + /// 查找类似 电池条码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_BarCode { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_BarCode", resourceCulture); + } + } + + /// + /// 查找类似 底托卡板码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_CardBarcode { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_CardBarcode", resourceCulture); + } + } + + /// + /// 查找类似 通道编号 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_ChannelNo { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_ChannelNo", resourceCulture); + } + } + + /// + /// 查找类似 箱唛码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_ContainerCode { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_ContainerCode", resourceCulture); + } + } + + /// + /// 查找类似 标志 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_Flag { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_Flag", resourceCulture); + } + } + + /// + /// 查找类似 信息 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_Info { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_Info", resourceCulture); + } + } + + /// + /// 查找类似 托盘位置号 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_LocationNum { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_LocationNum", resourceCulture); + } + } + + /// + /// 查找类似 物料编码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_MaterialCode { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_MaterialCode", resourceCulture); + } + } + + /// + /// 查找类似 栈板码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_PalletCode { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_PalletCode", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_Remark { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_Remark", resourceCulture); + } + } + + /// + /// 查找类似 结果 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_Result { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_Result", resourceCulture); + } + } + + /// + /// 查找类似 RFID托杯码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_RFID { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_RFID", resourceCulture); + } + } + + /// + /// 查找类似 叠盘层数 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_StackingLayer { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_StackingLayer", resourceCulture); + } + } + + /// + /// 查找类似 叠盘工位号 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_StackingNum { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_StackingNum", resourceCulture); + } + } + + /// + /// 查找类似 参数名 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_tag_code { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_tag_code", resourceCulture); + } + } + + /// + /// 查找类似 参数值 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_tag_value { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_tag_value", resourceCulture); + } + } + + /// + /// 查找类似 测试时间 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_TestTime { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_TestTime", resourceCulture); + } + } + + /// + /// 查找类似 托盘码 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_VassoioID { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_VassoioID", resourceCulture); + } + } + + /// + /// 查找类似 重量 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_Weight { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_Weight", resourceCulture); + } + } + + /// + /// 查找类似 风设备编号 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_WindDeviceNum { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_WindDeviceNum", resourceCulture); + } + } + + /// + /// 查找类似 风速 的本地化字符串。 + /// + internal static string FrmHistory_dgv_Main_WindSpeed { + get { + return ResourceManager.GetString("FrmHistory_dgv_Main_WindSpeed", resourceCulture); + } + } + + /// + /// 查找类似 稼动率均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvClass_JiaDL { + get { + return ResourceManager.GetString("FrmHistory_dgvClass_JiaDL", resourceCulture); + } + } + + /// + /// 查找类似 PPM均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvClass_Ppm { + get { + return ResourceManager.GetString("FrmHistory_dgvClass_Ppm", resourceCulture); + } + } + + /// + /// 查找类似 良品率 的本地化字符串。 + /// + internal static string FrmHistory_dgvClass_Prod { + get { + return ResourceManager.GetString("FrmHistory_dgvClass_Prod", resourceCulture); + } + } + + /// + /// 查找类似 产品投入 的本地化字符串。 + /// + internal static string FrmHistory_dgvClass_ProdIn { + get { + return ResourceManager.GetString("FrmHistory_dgvClass_ProdIn", resourceCulture); + } + } + + /// + /// 查找类似 产品产出 的本地化字符串。 + /// + internal static string FrmHistory_dgvClass_ProdOut { + get { + return ResourceManager.GetString("FrmHistory_dgvClass_ProdOut", resourceCulture); + } + } + + /// + /// 查找类似 测试时间 的本地化字符串。 + /// + internal static string FrmHistory_dgvClass_TestTime { + get { + return ResourceManager.GetString("FrmHistory_dgvClass_TestTime", resourceCulture); + } + } + + /// + /// 查找类似 日期 的本地化字符串。 + /// + internal static string FrmHistory_dgvDays_Day { + get { + return ResourceManager.GetString("FrmHistory_dgvDays_Day", resourceCulture); + } + } + + /// + /// 查找类似 稼动率均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvDays_JiaDL { + get { + return ResourceManager.GetString("FrmHistory_dgvDays_JiaDL", resourceCulture); + } + } + + /// + /// 查找类似 PPM均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvDays_Ppm { + get { + return ResourceManager.GetString("FrmHistory_dgvDays_Ppm", resourceCulture); + } + } + + /// + /// 查找类似 良品率 的本地化字符串。 + /// + internal static string FrmHistory_dgvDays_Prod { + get { + return ResourceManager.GetString("FrmHistory_dgvDays_Prod", resourceCulture); + } + } + + /// + /// 查找类似 产品投入 的本地化字符串。 + /// + internal static string FrmHistory_dgvDays_ProdIn { + get { + return ResourceManager.GetString("FrmHistory_dgvDays_ProdIn", resourceCulture); + } + } + + /// + /// 查找类似 产品产出 的本地化字符串。 + /// + internal static string FrmHistory_dgvDays_ProdOut { + get { + return ResourceManager.GetString("FrmHistory_dgvDays_ProdOut", resourceCulture); + } + } + + /// + /// 查找类似 稼动率均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvMonth_JiaDL { + get { + return ResourceManager.GetString("FrmHistory_dgvMonth_JiaDL", resourceCulture); + } + } + + /// + /// 查找类似 月份 的本地化字符串。 + /// + internal static string FrmHistory_dgvMonth_Month { + get { + return ResourceManager.GetString("FrmHistory_dgvMonth_Month", resourceCulture); + } + } + + /// + /// 查找类似 PPM均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvMonth_Ppm { + get { + return ResourceManager.GetString("FrmHistory_dgvMonth_Ppm", resourceCulture); + } + } + + /// + /// 查找类似 良品率 的本地化字符串。 + /// + internal static string FrmHistory_dgvMonth_Prod { + get { + return ResourceManager.GetString("FrmHistory_dgvMonth_Prod", resourceCulture); + } + } + + /// + /// 查找类似 产品投入 的本地化字符串。 + /// + internal static string FrmHistory_dgvMonth_ProdIn { + get { + return ResourceManager.GetString("FrmHistory_dgvMonth_ProdIn", resourceCulture); + } + } + + /// + /// 查找类似 产品产出 的本地化字符串。 + /// + internal static string FrmHistory_dgvMonth_ProdOut { + get { + return ResourceManager.GetString("FrmHistory_dgvMonth_ProdOut", resourceCulture); + } + } + + /// + /// 查找类似 稼动率均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvWeek_JiaDL { + get { + return ResourceManager.GetString("FrmHistory_dgvWeek_JiaDL", resourceCulture); + } + } + + /// + /// 查找类似 PPM均值 的本地化字符串。 + /// + internal static string FrmHistory_dgvWeek_Ppm { + get { + return ResourceManager.GetString("FrmHistory_dgvWeek_Ppm", resourceCulture); + } + } + + /// + /// 查找类似 良品率 的本地化字符串。 + /// + internal static string FrmHistory_dgvWeek_Prod { + get { + return ResourceManager.GetString("FrmHistory_dgvWeek_Prod", resourceCulture); + } + } + + /// + /// 查找类似 累计投入 的本地化字符串。 + /// + internal static string FrmHistory_dgvWeek_ProdIn { + get { + return ResourceManager.GetString("FrmHistory_dgvWeek_ProdIn", resourceCulture); + } + } + + /// + /// 查找类似 累计产出 的本地化字符串。 + /// + internal static string FrmHistory_dgvWeek_ProdOut { + get { + return ResourceManager.GetString("FrmHistory_dgvWeek_ProdOut", resourceCulture); + } + } + + /// + /// 查找类似 周别 的本地化字符串。 + /// + internal static string FrmHistory_dgvWeek_Week { + get { + return ResourceManager.GetString("FrmHistory_dgvWeek_Week", resourceCulture); + } + } + + /// + /// 查找类似 班次 的本地化字符串。 + /// + internal static string FrmHistory_label11_Text { + get { + return ResourceManager.GetString("FrmHistory_label11_Text", resourceCulture); + } + } + + /// + /// 查找类似 电芯码 的本地化字符串。 + /// + internal static string FrmHistory_label13_Text { + get { + return ResourceManager.GetString("FrmHistory_label13_Text", resourceCulture); + } + } + + /// + /// 查找类似 RFID 的本地化字符串。 + /// + internal static string FrmHistory_label4_Text { + get { + return ResourceManager.GetString("FrmHistory_label4_Text", resourceCulture); + } + } + + /// + /// 查找类似 统计日期 的本地化字符串。 + /// + internal static string FrmHistory_label5_Text { + get { + return ResourceManager.GetString("FrmHistory_label5_Text", resourceCulture); + } + } + + /// + /// 查找类似 统计日期 的本地化字符串。 + /// + internal static string FrmHistory_label6_Text { + get { + return ResourceManager.GetString("FrmHistory_label6_Text", resourceCulture); + } + } + + /// + /// 查找类似 统计时间 的本地化字符串。 + /// + internal static string FrmHistory_label7_Text { + get { + return ResourceManager.GetString("FrmHistory_label7_Text", resourceCulture); + } + } + + /// + /// 查找类似 统计时间 的本地化字符串。 + /// + internal static string FrmHistory_label8_Text { + get { + return ResourceManager.GetString("FrmHistory_label8_Text", resourceCulture); + } + } + + /// + /// 查找类似 结束时间 的本地化字符串。 + /// + internal static string FrmHistory_lblAlarmEndTime_Text { + get { + return ResourceManager.GetString("FrmHistory_lblAlarmEndTime_Text", resourceCulture); + } + } + + /// + /// 查找类似 开始时间 的本地化字符串。 + /// + internal static string FrmHistory_lblAlarmStartTime_Text { + get { + return ResourceManager.GetString("FrmHistory_lblAlarmStartTime_Text", resourceCulture); + } + } + + /// + /// 查找类似 条码 的本地化字符串。 + /// + internal static string FrmHistory_lblBarcode_Text { + get { + return ResourceManager.GetString("FrmHistory_lblBarcode_Text", resourceCulture); + } + } + + /// + /// 查找类似 结束时间 的本地化字符串。 + /// + internal static string FrmHistory_lblEndtime_Text { + get { + return ResourceManager.GetString("FrmHistory_lblEndtime_Text", resourceCulture); + } + } + + /// + /// 查找类似 开始时间 的本地化字符串。 + /// + internal static string FrmHistory_lblStartTime_Text { + get { + return ResourceManager.GetString("FrmHistory_lblStartTime_Text", resourceCulture); + } + } + + /// + /// 查找类似 查询类型 的本地化字符串。 + /// + internal static string FrmHistory_lblType_Text { + get { + return ResourceManager.GetString("FrmHistory_lblType_Text", resourceCulture); + } + } + + /// + /// 查找类似 历史生产数据查询 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus1_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus1_Text", resourceCulture); + } + } + + /// + /// 查找类似 产能统计查询 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus2_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus2_Text", resourceCulture); + } + } + + /// + /// 查找类似 日志报警数据查询 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus3_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus3_Text", resourceCulture); + } + } + + /// + /// 查找类似 按班次统计 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus4_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus4_Text", resourceCulture); + } + } + + /// + /// 查找类似 按日统计 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus5_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus5_Text", resourceCulture); + } + } + + /// + /// 查找类似 按周统计 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus6_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus6_Text", resourceCulture); + } + } + + /// + /// 查找类似 按月统计 的本地化字符串。 + /// + internal static string FrmHistory_tabPagePlus7_Text { + get { + return ResourceManager.GetString("FrmHistory_tabPagePlus7_Text", resourceCulture); + } + } + + /// + /// 查找类似 登录 的本地化字符串。 + /// + internal static string FrmLogin_btn_Login_Text { + get { + return ResourceManager.GetString("FrmLogin_btn_Login_Text", resourceCulture); + } + } + + /// + /// 查找类似 亿纬动力 的本地化字符串。 + /// + internal static string FrmLogin_lblCompany_Text { + get { + return ResourceManager.GetString("FrmLogin_lblCompany_Text", resourceCulture); + } + } + + /// + /// 查找类似 亿纬动力 的本地化字符串。 + /// + internal static string FrmLoginMes_lblMesCompany_Text { + get { + return ResourceManager.GetString("FrmLoginMes_lblMesCompany_Text", resourceCulture); + } + } + + /// + /// 查找类似 启动 的本地化字符串。 + /// + internal static string FrmMain_btSatrt_Text { + get { + return ResourceManager.GetString("FrmMain_btSatrt_Text", resourceCulture); + } + } + + /// + /// 查找类似 57 工厂 的本地化字符串。 + /// + internal static string FrmMain_lblHeading_Text { + get { + return ResourceManager.GetString("FrmMain_lblHeading_Text", resourceCulture); + } + } + + /// + /// 查找类似 亿纬动力 的本地化字符串。 + /// + internal static string FrmMain_lblLogTitle_Text { + get { + return ResourceManager.GetString("FrmMain_lblLogTitle_Text", resourceCulture); + } + } + + /// + /// 查找类似 自动打标管理系统 的本地化字符串。 + /// + internal static string FrmMain_lblSubtitle_Text { + get { + return ResourceManager.GetString("FrmMain_lblSubtitle_Text", resourceCulture); + } + } + + /// + /// 查找类似 日志报警 的本地化字符串。 + /// + internal static string FrmMain_nav_AlarmLog_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_AlarmLog_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 数据分析 的本地化字符串。 + /// + internal static string FrmMain_nav_CPK_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_CPK_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 数据监控 的本地化字符串。 + /// + internal static string FrmMain_nav_DataMonitor_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_DataMonitor_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 数据追溯 的本地化字符串。 + /// + internal static string FrmMain_nav_HistotryData_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_HistotryData_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 集中监控 的本地化字符串。 + /// + internal static string FrmMain_nav_Monitor_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_Monitor_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 参数设置 的本地化字符串。 + /// + internal static string FrmMain_nav_SetSystem_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_SetSystem_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 系统设置 的本地化字符串。 + /// + internal static string FrmMain_nav_System_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_System_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 用户管理 的本地化字符串。 + /// + internal static string FrmMain_nav_UserInfo_TitleName { + get { + return ResourceManager.GetString("FrmMain_nav_UserInfo_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 关于 的本地化字符串。 + /// + internal static string FrmMain_关于_Text { + get { + return ResourceManager.GetString("FrmMain_关于_Text", resourceCulture); + } + } + + /// + /// 查找类似 显示主界面 的本地化字符串。 + /// + internal static string FrmMain_显示主界面_Text { + get { + return ResourceManager.GetString("FrmMain_显示主界面_Text", resourceCulture); + } + } + + /// + /// 查找类似 退出 的本地化字符串。 + /// + internal static string FrmMain_退出_Text { + get { + return ResourceManager.GetString("FrmMain_退出_Text", resourceCulture); + } + } + + /// + /// 查找类似 隐藏主界面 的本地化字符串。 + /// + internal static string FrmMain_隐藏主界面_Text { + get { + return ResourceManager.GetString("FrmMain_隐藏主界面_Text", resourceCulture); + } + } + + /// + /// 查找类似 非刷卡模式 的本地化字符串。 + /// + internal static string FrmMain_非刷卡模式ToolStripMenuItem_Text { + get { + return ResourceManager.GetString("FrmMain_非刷卡模式ToolStripMenuItem_Text", resourceCulture); + } + } + + /// + /// 查找类似 智能电表 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text", resourceCulture); + } + } + + /// + /// 查找类似 A相电压 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text1 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text1", resourceCulture); + } + } + + /// + /// 查找类似 总有功功率 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text10 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text10", resourceCulture); + } + } + + /// + /// 查找类似 总功率因素 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text11 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text11", resourceCulture); + } + } + + /// + /// 查找类似 电压变比 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text12 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text12", resourceCulture); + } + } + + /// + /// 查找类似 电流变比 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text13 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text13", resourceCulture); + } + } + + /// + /// 查找类似 累计电能 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text14 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text14", resourceCulture); + } + } + + /// + /// 查找类似 B相电压 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text2 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text2", resourceCulture); + } + } + + /// + /// 查找类似 C相电压 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text3 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text3", resourceCulture); + } + } + + /// + /// 查找类似 A相电流 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text4 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text4", resourceCulture); + } + } + + /// + /// 查找类似 B相电流 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text5 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text5", resourceCulture); + } + } + + /// + /// 查找类似 C相电流 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text6 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text6", resourceCulture); + } + } + + /// + /// 查找类似 A相功率 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text7 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text7", resourceCulture); + } + } + + /// + /// 查找类似 B相功率 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text8 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text8", resourceCulture); + } + } + + /// + /// 查找类似 C相功率 的本地化字符串。 + /// + internal static string FrmMonitor_EyMaterH1_Text9 { + get { + return ResourceManager.GetString("FrmMonitor_EyMaterH1_Text9", resourceCulture); + } + } + + /// + /// 查找类似 告警TOP10统计 的本地化字符串。 + /// + internal static string FrmMonitor_gpAlarmBox_Text { + get { + return ResourceManager.GetString("FrmMonitor_gpAlarmBox_Text", resourceCulture); + } + } + + /// + /// 查找类似 产能统计 的本地化字符串。 + /// + internal static string FrmMonitor_gpCapacityBox_Text { + get { + return ResourceManager.GetString("FrmMonitor_gpCapacityBox_Text", resourceCulture); + } + } + + /// + /// 查找类似 不良项统计 的本地化字符串。 + /// + internal static string FrmMonitor_gpNgBox_Text { + get { + return ResourceManager.GetString("FrmMonitor_gpNgBox_Text", resourceCulture); + } + } + + /// + /// 查找类似 OK数 的本地化字符串。 + /// + internal static string FrmMonitor_lblOkTotal_Text { + get { + return ResourceManager.GetString("FrmMonitor_lblOkTotal_Text", resourceCulture); + } + } + + /// + /// 查找类似 优率 的本地化字符串。 + /// + internal static string FrmMonitor_lblRate_Text { + get { + return ResourceManager.GetString("FrmMonitor_lblRate_Text", resourceCulture); + } + } + + /// + /// 查找类似 生产总数 的本地化字符串。 + /// + internal static string FrmMonitor_lblTotalQty_Text { + get { + return ResourceManager.GetString("FrmMonitor_lblTotalQty_Text", resourceCulture); + } + } + + /// + /// 查找类似 稼动率 的本地化字符串。 + /// + internal static string FrmMonitor_lblUtilizationRate_Text { + get { + return ResourceManager.GetString("FrmMonitor_lblUtilizationRate_Text", resourceCulture); + } + } + + /// + /// 查找类似 设备编号 的本地化字符串。 + /// + internal static string FrmMonitor_titleEqp_code_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_titleEqp_code_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 工厂代号 的本地化字符串。 + /// + internal static string FrmMonitor_titleFactory_code_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_titleFactory_code_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 线体编号 的本地化字符串。 + /// + internal static string FrmMonitor_titleLine_No_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_titleLine_No_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 生产型号 的本地化字符串。 + /// + internal static string FrmMonitor_titleModeName_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_titleModeName_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 开机时间 的本地化字符串。 + /// + internal static string FrmMonitor_titleRunTime_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_titleRunTime_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 运行时间 的本地化字符串。 + /// + internal static string FrmMonitor_titleStartTime_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_titleStartTime_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 智能电表(设备) 的本地化字符串。 + /// + internal static string FrmMonitor_ucElectricityMeterV1_TitleName { + get { + return ResourceManager.GetString("FrmMonitor_ucElectricityMeterV1_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 取消 的本地化字符串。 + /// + internal static string FrmMsgBoxOutWithAck_btn_Cancel_Text { + get { + return ResourceManager.GetString("FrmMsgBoxOutWithAck_btn_Cancel_Text", resourceCulture); + } + } + + /// + /// 查找类似 确定 的本地化字符串。 + /// + internal static string FrmMsgBoxOutWithAckbtn_Sure_Text { + get { + return ResourceManager.GetString("FrmMsgBoxOutWithAckbtn_Sure_Text", resourceCulture); + } + } + + /// + /// 查找类似 是否确认要退出系统? 的本地化字符串。 + /// + internal static string FrmMsgBoxOutWithAcklbl_Content_Text { + get { + return ResourceManager.GetString("FrmMsgBoxOutWithAcklbl_Content_Text", resourceCulture); + } + } + + /// + /// 查找类似 退出系统 的本地化字符串。 + /// + internal static string FrmMsgBoxOutWithAcklbl_Title_Text { + get { + return ResourceManager.GetString("FrmMsgBoxOutWithAcklbl_Title_Text", resourceCulture); + } + } + + /// + /// 查找类似 取消 的本地化字符串。 + /// + internal static string FrmMsgBoxWithAck_btn_Cancel_Text { + get { + return ResourceManager.GetString("FrmMsgBoxWithAck_btn_Cancel_Text", resourceCulture); + } + } + + /// + /// 查找类似 确定 的本地化字符串。 + /// + internal static string FrmMsgBoxWithAck_btn_Sure_Text { + get { + return ResourceManager.GetString("FrmMsgBoxWithAck_btn_Sure_Text", resourceCulture); + } + } + + /// + /// 查找类似 是否确认要退出系统? 的本地化字符串。 + /// + internal static string FrmMsgBoxWithAck_lbl_Content_Text { + get { + return ResourceManager.GetString("FrmMsgBoxWithAck_lbl_Content_Text", resourceCulture); + } + } + + /// + /// 查找类似 退出系统 的本地化字符串。 + /// + internal static string FrmMsgBoxWithAck_lbl_Title_Text { + get { + return ResourceManager.GetString("FrmMsgBoxWithAck_lbl_Title_Text", resourceCulture); + } + } + + /// + /// 查找类似 添加型号 的本地化字符串。 + /// + internal static string FrmRecipe_btn_Add_Text { + get { + return ResourceManager.GetString("FrmRecipe_btn_Add_Text", resourceCulture); + } + } + + /// + /// 查找类似 保存参数 的本地化字符串。 + /// + internal static string FrmRecipe_btn_Save_Text { + get { + return ResourceManager.GetString("FrmRecipe_btn_Save_Text", resourceCulture); + } + } + + /// + /// 查找类似 删除型号 的本地化字符串。 + /// + internal static string FrmRecipe_btnDelProductModel_Text { + get { + return ResourceManager.GetString("FrmRecipe_btnDelProductModel_Text", resourceCulture); + } + } + + /// + /// 查找类似 参数项名称 的本地化字符串。 + /// + internal static string FrmRecipe_dgvPara_CGNameHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvPara_CGNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 最大值 的本地化字符串。 + /// + internal static string FrmRecipe_dgvPara_ParaValueMaxHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvPara_ParaValueMaxHeader", resourceCulture); + } + } + + /// + /// 查找类似 最小值 的本地化字符串。 + /// + internal static string FrmRecipe_dgvPara_ParaValueMinHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvPara_ParaValueMinHeader", resourceCulture); + } + } + + /// + /// 查找类似 单位 的本地化字符串。 + /// + internal static string FrmRecipe_dgvPara_UintHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvPara_UintHeader", resourceCulture); + } + } + + /// + /// 查找类似 物料编码 的本地化字符串。 + /// + internal static string FrmRecipe_dgvProdModel_MaterialCodeHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvProdModel_MaterialCodeHeader", resourceCulture); + } + } + + /// + /// 查找类似 生产型号 的本地化字符串。 + /// + internal static string FrmRecipe_dgvProdModel_ModelNameHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvProdModel_ModelNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmRecipe_dgvProdModel_RemarkHeader { + get { + return ResourceManager.GetString("FrmRecipe_dgvProdModel_RemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 当前型号 的本地化字符串。 + /// + internal static string FrmRecipe_label1_Text { + get { + return ResourceManager.GetString("FrmRecipe_label1_Text", resourceCulture); + } + } + + /// + /// 查找类似 生产型号 的本地化字符串。 + /// + internal static string FrmRecipe_label2_Text { + get { + return ResourceManager.GetString("FrmRecipe_label2_Text", resourceCulture); + } + } + + /// + /// 查找类似 物料编码 的本地化字符串。 + /// + internal static string FrmRecipe_label4_Text { + get { + return ResourceManager.GetString("FrmRecipe_label4_Text", resourceCulture); + } + } + + /// + /// 查找类似 当前型号 的本地化字符串。 + /// + internal static string FrmRecipe_lb_Model_Text { + get { + return ResourceManager.GetString("FrmRecipe_lb_Model_Text", resourceCulture); + } + } + + /// + /// 查找类似 添加PLC 的本地化字符串。 + /// + internal static string FrmSystemSet_btAddPLC_Text { + get { + return ResourceManager.GetString("FrmSystemSet_btAddPLC_Text", resourceCulture); + } + } + + /// + /// 查找类似 取消设置 的本地化字符串。 + /// + internal static string FrmSystemSet_btn_Cancel_Text { + get { + return ResourceManager.GetString("FrmSystemSet_btn_Cancel_Text", resourceCulture); + } + } + + /// + /// 查找类似 通信组配置 的本地化字符串。 + /// + internal static string FrmSystemSet_btn_GroupConfig_Text { + get { + return ResourceManager.GetString("FrmSystemSet_btn_GroupConfig_Text", resourceCulture); + } + } + + /// + /// 查找类似 确定设置 的本地化字符串。 + /// + internal static string FrmSystemSet_btn_Sure_Text { + get { + return ResourceManager.GetString("FrmSystemSet_btn_Sure_Text", resourceCulture); + } + } + + /// + /// 查找类似 变量配置 的本地化字符串。 + /// + internal static string FrmSystemSet_btn_VarConfig_Text { + get { + return ResourceManager.GetString("FrmSystemSet_btn_VarConfig_Text", resourceCulture); + } + } + + /// + /// 查找类似 设置 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_CommConfigHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_CommConfigHeader", resourceCulture); + } + } + + /// + /// 查找类似 操作 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_EditHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_EditHeader", resourceCulture); + } + } + + /// + /// 查找类似 心跳地址 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_HeartBeatHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_HeartBeatHeader", resourceCulture); + } + } + + /// + /// 查找类似 IP地址 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_IPAddressHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_IPAddressHeader", resourceCulture); + } + } + + /// + /// 查找类似 激活状态 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_IsActiveHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_IsActiveHeader", resourceCulture); + } + } + + /// + /// 查找类似 心跳状态 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_IsHeartBeatHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_IsHeartBeatHeader", resourceCulture); + } + } + + /// + /// 查找类似 PLC编号 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_PlcNumHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_PlcNumHeader", resourceCulture); + } + } + + /// + /// 查找类似 PLC类型 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_PLCTypeHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_PLCTypeHeader", resourceCulture); + } + } + + /// + /// 查找类似 端口号 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_PortHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_PortHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string FrmSystemSet_dgvPlcConfigs_RemarkHeader { + get { + return ResourceManager.GetString("FrmSystemSet_dgvPlcConfigs_RemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 IP地址配置 的本地化字符串。 + /// + internal static string FrmSystemSet_label1_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label1_Text", resourceCulture); + } + } + + /// + /// 查找类似 获取MES参数 的本地化字符串。 + /// + internal static string FrmSystemSet_label10_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label10_Text", resourceCulture); + } + } + + /// + /// 查找类似 开启刷卡模式 的本地化字符串。 + /// + internal static string FrmSystemSet_label11_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label11_Text", resourceCulture); + } + } + + /// + /// 查找类似 PLC类型配置 的本地化字符串。 + /// + internal static string FrmSystemSet_label12_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label12_Text", resourceCulture); + } + } + + /// + /// 查找类似 设备编号 的本地化字符串。 + /// + internal static string FrmSystemSet_label13_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label13_Text", resourceCulture); + } + } + + /// + /// 查找类似 产线编号 的本地化字符串。 + /// + internal static string FrmSystemSet_label14_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label14_Text", resourceCulture); + } + } + + /// + /// 查找类似 工厂代码 的本地化字符串。 + /// + internal static string FrmSystemSet_label15_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label15_Text", resourceCulture); + } + } + + /// + /// 查找类似 自动切换监控界面时间 的本地化字符串。 + /// + internal static string FrmSystemSet_label16_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label16_Text", resourceCulture); + } + } + + /// + /// 查找类似 无操作自动切换监控界面 的本地化字符串。 + /// + internal static string FrmSystemSet_label17_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label17_Text", resourceCulture); + } + } + + /// + /// 查找类似 端口号配置 的本地化字符串。 + /// + internal static string FrmSystemSet_label2_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label2_Text", resourceCulture); + } + } + + /// + /// 查找类似 无操作自动锁屏 的本地化字符串。 + /// + internal static string FrmSystemSet_label3_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label3_Text", resourceCulture); + } + } + + /// + /// 查找类似 自动锁屏时间 的本地化字符串。 + /// + internal static string FrmSystemSet_label4_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label4_Text", resourceCulture); + } + } + + /// + /// 查找类似 焊机功率曲线显示数量 的本地化字符串。 + /// + internal static string FrmSystemSet_label5_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label5_Text", resourceCulture); + } + } + + /// + /// 查找类似 软件自动登录 的本地化字符串。 + /// + internal static string FrmSystemSet_label6_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label6_Text", resourceCulture); + } + } + + /// + /// 查找类似 开机自动启动 的本地化字符串。 + /// + internal static string FrmSystemSet_label7_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label7_Text", resourceCulture); + } + } + + /// + /// 查找类似 线程耗时日志保存 的本地化字符串。 + /// + internal static string FrmSystemSet_label8_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label8_Text", resourceCulture); + } + } + + /// + /// 查找类似 MES/非MES模式切换 的本地化字符串。 + /// + internal static string FrmSystemSet_label9_Text { + get { + return ResourceManager.GetString("FrmSystemSet_label9_Text", resourceCulture); + } + } + + /// + /// 查找类似 风速仪 的本地化字符串。 + /// + internal static string FrmSystemSet_lblAnemometer_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblAnemometer_Text", resourceCulture); + } + } + + /// + /// 查找类似 调试模式 的本地化字符串。 + /// + internal static string FrmSystemSet_lblDebugMode_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblDebugMode_Text", resourceCulture); + } + } + + /// + /// 查找类似 设备报警 的本地化字符串。 + /// + internal static string FrmSystemSet_lblDeviceAlarm_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblDeviceAlarm_Text", resourceCulture); + } + } + + /// + /// 查找类似 设备参数设定值变更 的本地化字符串。 + /// + internal static string FrmSystemSet_lblDeviceParamChange_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblDeviceParamChange_Text", resourceCulture); + } + } + + /// + /// 查找类似 设备参数设定值请求 的本地化字符串。 + /// + internal static string FrmSystemSet_lblDeviceParamRequest_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblDeviceParamRequest_Text", resourceCulture); + } + } + + /// + /// 查找类似 设备状态 的本地化字符串。 + /// + internal static string FrmSystemSet_lblDeviceStatus_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblDeviceStatus_Text", resourceCulture); + } + } + + /// + /// 查找类似 员工权限校验 的本地化字符串。 + /// + internal static string FrmSystemSet_lblEmployeeAuthCheck_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblEmployeeAuthCheck_Text", resourceCulture); + } + } + + /// + /// 查找类似 电表能耗 的本地化字符串。 + /// + internal static string FrmSystemSet_lblEnergyConsumption_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblEnergyConsumption_Text", resourceCulture); + } + } + + /// + /// 查找类似 获取Token 的本地化字符串。 + /// + internal static string FrmSystemSet_lblGetToken_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblGetToken_Text", resourceCulture); + } + } + + /// + /// 查找类似 原材料投入信息 的本地化字符串。 + /// + internal static string FrmSystemSet_lblMaterialInputInfo_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblMaterialInputInfo_Text", resourceCulture); + } + } + + /// + /// 查找类似 产品进站 的本地化字符串。 + /// + internal static string FrmSystemSet_lblProductInStation_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblProductInStation_Text", resourceCulture); + } + } + + /// + /// 查找类似 产品出站 的本地化字符串。 + /// + internal static string FrmSystemSet_lblProductOutStation_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblProductOutStation_Text", resourceCulture); + } + } + + /// + /// 查找类似 产品加工过程数据 的本地化字符串。 + /// + internal static string FrmSystemSet_lblProductProcessParams_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblProductProcessParams_Text", resourceCulture); + } + } + + /// + /// 查找类似 产品加工结果数据 的本地化字符串。 + /// + internal static string FrmSystemSet_lblProductResultParams_Text { + get { + return ResourceManager.GetString("FrmSystemSet_lblProductResultParams_Text", resourceCulture); + } + } + + /// + /// 查找类似 PLC配置 的本地化字符串。 + /// + internal static string FrmSystemSet_title1_TitleName { + get { + return ResourceManager.GetString("FrmSystemSet_title1_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 MES设置 的本地化字符串。 + /// + internal static string FrmSystemSet_title3_TitleName { + get { + return ResourceManager.GetString("FrmSystemSet_title3_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 MES参数配置 的本地化字符串。 + /// + internal static string FrmSystemSet_title4_TitleName { + get { + return ResourceManager.GetString("FrmSystemSet_title4_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 MES配置 的本地化字符串。 + /// + internal static string FrmSystemSet_titleMesConfig_TitleName { + get { + return ResourceManager.GetString("FrmSystemSet_titleMesConfig_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 PLC配置 的本地化字符串。 + /// + internal static string FrmSystemSet_titlePlcConfig_TitleName { + get { + return ResourceManager.GetString("FrmSystemSet_titlePlcConfig_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 系统设置 的本地化字符串。 + /// + internal static string FrmSystemSet_titleSystemConfig_TitleName { + get { + return ResourceManager.GetString("FrmSystemSet_titleSystemConfig_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 127.0.0.1 的本地化字符串。 + /// + internal static string FrmSystemSet_txt_IP_Text { + get { + return ResourceManager.GetString("FrmSystemSet_txt_IP_Text", resourceCulture); + } + } + + /// + /// 查找类似 9600 的本地化字符串。 + /// + internal static string FrmSystemSet_txt_Prot_Text { + get { + return ResourceManager.GetString("FrmSystemSet_txt_Prot_Text", resourceCulture); + } + } + + /// + /// 查找类似 添加用户 的本地化字符串。 + /// + internal static string FrmUserManage_btn_Add_Text { + get { + return ResourceManager.GetString("FrmUserManage_btn_Add_Text", resourceCulture); + } + } + + /// + /// 查找类似 清空信息 的本地化字符串。 + /// + internal static string FrmUserManage_btn_Clear_Text { + get { + return ResourceManager.GetString("FrmUserManage_btn_Clear_Text", resourceCulture); + } + } + + /// + /// 查找类似 删除用户 的本地化字符串。 + /// + internal static string FrmUserManage_btn_Delete_Text { + get { + return ResourceManager.GetString("FrmUserManage_btn_Delete_Text", resourceCulture); + } + } + + /// + /// 查找类似 修改用户 的本地化字符串。 + /// + internal static string FrmUserManage_btn_Modify_Text { + get { + return ResourceManager.GetString("FrmUserManage_btn_Modify_Text", resourceCulture); + } + } + + /// + /// 查找类似 全选/不选 的本地化字符串。 + /// + internal static string FrmUserManage_btn_SelectAll_Text { + get { + return ResourceManager.GetString("FrmUserManage_btn_SelectAll_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据分析 的本地化字符串。 + /// + internal static string FrmUserManage_chk_CPKData_Text { + get { + return ResourceManager.GetString("FrmUserManage_chk_CPKData_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据追溯 的本地化字符串。 + /// + internal static string FrmUserManage_chk_HistorySelect_Text { + get { + return ResourceManager.GetString("FrmUserManage_chk_HistorySelect_Text", resourceCulture); + } + } + + /// + /// 查找类似 参数设置 的本地化字符串。 + /// + internal static string FrmUserManage_chk_Paramset_Text { + get { + return ResourceManager.GetString("FrmUserManage_chk_Paramset_Text", resourceCulture); + } + } + + /// + /// 查找类似 日志报警 的本地化字符串。 + /// + internal static string FrmUserManage_chk_SystemLog_Text { + get { + return ResourceManager.GetString("FrmUserManage_chk_SystemLog_Text", resourceCulture); + } + } + + /// + /// 查找类似 系统设置 的本地化字符串。 + /// + internal static string FrmUserManage_chk_SystemSet_Text { + get { + return ResourceManager.GetString("FrmUserManage_chk_SystemSet_Text", resourceCulture); + } + } + + /// + /// 查找类似 用户管理 的本地化字符串。 + /// + internal static string FrmUserManage_chk_UserManage_Text { + get { + return ResourceManager.GetString("FrmUserManage_chk_UserManage_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据分析 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_CpkDataHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_CpkDataHeader", resourceCulture); + } + } + + /// + /// 查找类似 数据追溯 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_HistoryDataHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_HistoryDataHeader", resourceCulture); + } + } + + /// + /// 查找类似 用户权限 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_LoginLevelHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_LoginLevelHeader", resourceCulture); + } + } + + /// + /// 查找类似 用户名 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_LoginNameHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_LoginNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 用户密码 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_LoginPwdHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_LoginPwdHeader", resourceCulture); + } + } + + /// + /// 查找类似 IC卡号 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_LoginUidHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_LoginUidHeader", resourceCulture); + } + } + + /// + /// 查找类似 参数设置 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_ParamSetHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_ParamSetHeader", resourceCulture); + } + } + + /// + /// 查找类似 日志报警 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_SystemLogHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_SystemLogHeader", resourceCulture); + } + } + + /// + /// 查找类似 系统设置 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_SystemSetHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_SystemSetHeader", resourceCulture); + } + } + + /// + /// 查找类似 用户管理 的本地化字符串。 + /// + internal static string FrmUserManage_dgv_Main_UserManageHeader { + get { + return ResourceManager.GetString("FrmUserManage_dgv_Main_UserManageHeader", resourceCulture); + } + } + + /// + /// 查找类似 IC卡号 的本地化字符串。 + /// + internal static string FrmUserManage_lblICCard_Text { + get { + return ResourceManager.GetString("FrmUserManage_lblICCard_Text", resourceCulture); + } + } + + /// + /// 查找类似 确认密码 的本地化字符串。 + /// + internal static string FrmUserManage_lblPwd_Text { + get { + return ResourceManager.GetString("FrmUserManage_lblPwd_Text", resourceCulture); + } + } + + /// + /// 查找类似 用户信息 的本地化字符串。 + /// + internal static string FrmUserManage_lblUserInfo_Text { + get { + return ResourceManager.GetString("FrmUserManage_lblUserInfo_Text", resourceCulture); + } + } + + /// + /// 查找类似 用户权限 的本地化字符串。 + /// + internal static string FrmUserManage_lblUserIssion_Text { + get { + return ResourceManager.GetString("FrmUserManage_lblUserIssion_Text", resourceCulture); + } + } + + /// + /// 查找类似 用户密码 的本地化字符串。 + /// + internal static string FrmUserManage_lblUserPwd_Text { + get { + return ResourceManager.GetString("FrmUserManage_lblUserPwd_Text", resourceCulture); + } + } + + /// + /// 查找类似 用户信息 的本地化字符串。 + /// + internal static string FrmUserManage_longTitleStyle21_TitleName { + get { + return ResourceManager.GetString("FrmUserManage_longTitleStyle21_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 权限配置 的本地化字符串。 + /// + internal static string FrmUserManage_longTitleStyle22_TitleName { + get { + return ResourceManager.GetString("FrmUserManage_longTitleStyle22_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 用户操作 的本地化字符串。 + /// + internal static string FrmUserManage_longTitleStyle23_TitleName { + get { + return ResourceManager.GetString("FrmUserManage_longTitleStyle23_TitleName", resourceCulture); + } + } + + /// + /// 查找类似 起始索引 的本地化字符串。 + /// + internal static string FrmVariableConfig_dgv_Main_StartHeader { + get { + return ResourceManager.GetString("FrmVariableConfig_dgv_Main_StartHeader", resourceCulture); + } + } + + /// + /// 查找类似 变量地址 的本地化字符串。 + /// + internal static string FrmVariableConfig_dgv_Main_VarAddressHeader { + get { + return ResourceManager.GetString("FrmVariableConfig_dgv_Main_VarAddressHeader", resourceCulture); + } + } + + /// + /// 查找类似 变量名称 的本地化字符串。 + /// + internal static string FrmVariableConfig_dgv_Main_VarNameHeader { + get { + return ResourceManager.GetString("FrmVariableConfig_dgv_Main_VarNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 变量配置 的本地化字符串。 + /// + internal static string FrmVariableConfig_label1_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label1_Text", resourceCulture); + } + } + + /// + /// 查找类似 变量地址 的本地化字符串。 + /// + internal static string FrmVariableConfig_label10_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label10_Text", resourceCulture); + } + } + + /// + /// 查找类似 通信组名称 的本地化字符串。 + /// + internal static string FrmVariableConfig_label2_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label2_Text", resourceCulture); + } + } + + /// + /// 查找类似 起始索引 的本地化字符串。 + /// + internal static string FrmVariableConfig_label3_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label3_Text", resourceCulture); + } + } + + /// + /// 查找类似 位偏移/长度 的本地化字符串。 + /// + internal static string FrmVariableConfig_label4_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label4_Text", resourceCulture); + } + } + + /// + /// 查找类似 变量名称 的本地化字符串。 + /// + internal static string FrmVariableConfig_label5_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label5_Text", resourceCulture); + } + } + + /// + /// 查找类似 备注说明 的本地化字符串。 + /// + internal static string FrmVariableConfig_label6_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label6_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据类型 的本地化字符串。 + /// + internal static string FrmVariableConfig_label7_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label7_Text", resourceCulture); + } + } + + /// + /// 查找类似 线性系数 的本地化字符串。 + /// + internal static string FrmVariableConfig_label8_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label8_Text", resourceCulture); + } + } + + /// + /// 查找类似 偏移量 的本地化字符串。 + /// + internal static string FrmVariableConfig_label9_Text { + get { + return ResourceManager.GetString("FrmVariableConfig_label9_Text", resourceCulture); + } + } + + /// + /// 查找类似 HMI手动弹窗状态已上传成功,代码 的本地化字符串。 + /// + internal static string HMI手动弹窗状态已上传成功_代码 { + get { + return ResourceManager.GetString("HMI手动弹窗状态已上传成功,代码", resourceCulture); + } + } + + /// + /// 查找类似 HMI手动弹窗结束状态已上传成功,代码 的本地化字符串。 + /// + internal static string HMI手动弹窗结束状态已上传成功_代码 { + get { + return ResourceManager.GetString("HMI手动弹窗结束状态已上传成功,代码", resourceCulture); + } + } + + /// + /// 查找类似 MES停机 的本地化字符串。 + /// + internal static string MES停机 { + get { + return ResourceManager.GetString("MES停机", resourceCulture); + } + } + + /// + /// 查找类似 MES参数设置成功 的本地化字符串。 + /// + internal static string MES参数设置成功 { + get { + return ResourceManager.GetString("MES参数设置成功", resourceCulture); + } + } + + /// + /// 查找类似 MES未登录 的本地化字符串。 + /// + internal static string MES未登录 { + get { + return ResourceManager.GetString("MES未登录", resourceCulture); + } + } + + /// + /// 查找类似 MES用户已注销 的本地化字符串。 + /// + internal static string MES用户已注销 { + get { + return ResourceManager.GetString("MES用户已注销", resourceCulture); + } + } + + /// + /// 查找类似 OCV测试结果NG 的本地化字符串。 + /// + internal static string OCV测试结果NG { + get { + return ResourceManager.GetString("OCV测试结果NG", resourceCulture); + } + } + + /// + /// 查找类似 PC写入PLC时间异常 的本地化字符串。 + /// + internal static string PC写入PLC时间异常 { + get { + return ResourceManager.GetString("PC写入PLC时间异常", resourceCulture); + } + } + + /// + /// 查找类似 添加变量 的本地化字符串。 + /// + internal static string VariableEditForm_BtnAdd_Text { + get { + return ResourceManager.GetString("VariableEditForm_BtnAdd_Text", resourceCulture); + } + } + + /// + /// 查找类似 变量配置 的本地化字符串。 + /// + internal static string VariableEditForm_lblTitle_Text { + get { + return ResourceManager.GetString("VariableEditForm_lblTitle_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据类型 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_DataTypeHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_DataTypeHeader", resourceCulture); + } + } + + /// + /// 查找类似 操作 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_EditHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_EditHeader", resourceCulture); + } + } + + /// + /// 查找类似 组名 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_GroupNameHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_GroupNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 长度偏移 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_OffsetOrLengthHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_OffsetOrLengthHeader", resourceCulture); + } + } + + /// + /// 查找类似 PLC编号 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_PlcNumHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_PlcNumHeader", resourceCulture); + } + } + + /// + /// 查找类似 备注 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_RemarkHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_RemarkHeader", resourceCulture); + } + } + + /// + /// 查找类似 起始地址 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_StartHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_StartHeader", resourceCulture); + } + } + + /// + /// 查找类似 变量地址 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_VarAddressHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_VarAddressHeader", resourceCulture); + } + } + + /// + /// 查找类似 变量名称 的本地化字符串。 + /// + internal static string VariableEditForm_variableTable_VarNameHeader { + get { + return ResourceManager.GetString("VariableEditForm_variableTable_VarNameHeader", resourceCulture); + } + } + + /// + /// 查找类似 上限 的本地化字符串。 + /// + internal static string 上限 { + get { + return ResourceManager.GetString("上限", resourceCulture); + } + } + + /// + /// 查找类似 下限 的本地化字符串。 + /// + internal static string 下限 { + get { + return ResourceManager.GetString("下限", resourceCulture); + } + } + + /// + /// 查找类似 不支持的数据类型 的本地化字符串。 + /// + internal static string 不支持的数据类型 { + get { + return ResourceManager.GetString("不支持的数据类型", resourceCulture); + } + } + + /// + /// 查找类似 产出 的本地化字符串。 + /// + internal static string 产出 { + get { + return ResourceManager.GetString("产出", resourceCulture); + } + } + + /// + /// 查找类似 优率 的本地化字符串。 + /// + internal static string 优率 { + get { + return ResourceManager.GetString("优率", resourceCulture); + } + } + + /// + /// 查找类似 信息 的本地化字符串。 + /// + internal static string 信息 { + get { + return ResourceManager.GetString("信息", resourceCulture); + } + } + + /// + /// 查找类似 修改 的本地化字符串。 + /// + internal static string 修改 { + get { + return ResourceManager.GetString("修改", resourceCulture); + } + } + + /// + /// 查找类似 修改MES/非MES模式切换 的本地化字符串。 + /// + internal static string 修改MES_非MES模式切换 { + get { + return ResourceManager.GetString("修改MES/非MES模式切换", resourceCulture); + } + } + + /// + /// 查找类似 修改切换监控界面间隔时间 的本地化字符串。 + /// + internal static string 修改切换监控界面间隔时间 { + get { + return ResourceManager.GetString("修改切换监控界面间隔时间", resourceCulture); + } + } + + /// + /// 查找类似 修改刷卡模式 的本地化字符串。 + /// + internal static string 修改刷卡模式 { + get { + return ResourceManager.GetString("修改刷卡模式", resourceCulture); + } + } + + /// + /// 查找类似 修改无操作自动切换监控界面方式 的本地化字符串。 + /// + internal static string 修改无操作自动切换监控界面方式 { + get { + return ResourceManager.GetString("修改无操作自动切换监控界面方式", resourceCulture); + } + } + + /// + /// 查找类似 修改无操作自动锁屏方式 的本地化字符串。 + /// + internal static string 修改无操作自动锁屏方式 { + get { + return ResourceManager.GetString("修改无操作自动锁屏方式", resourceCulture); + } + } + + /// + /// 查找类似 修改曲线显示数量 的本地化字符串。 + /// + internal static string 修改曲线显示数量 { + get { + return ResourceManager.GetString("修改曲线显示数量", resourceCulture); + } + } + + /// + /// 查找类似 修改线程耗时日志保存 的本地化字符串。 + /// + internal static string 修改线程耗时日志保存 { + get { + return ResourceManager.GetString("修改线程耗时日志保存", resourceCulture); + } + } + + /// + /// 查找类似 修改获取MES参数 的本地化字符串。 + /// + internal static string 修改获取MES参数 { + get { + return ResourceManager.GetString("修改获取MES参数", resourceCulture); + } + } + + /// + /// 查找类似 修改调试模式 的本地化字符串。 + /// + internal static string 修改调试模式 { + get { + return ResourceManager.GetString("修改调试模式", resourceCulture); + } + } + + /// + /// 查找类似 修改软件自动启动方式 的本地化字符串。 + /// + internal static string 修改软件自动启动方式 { + get { + return ResourceManager.GetString("修改软件自动启动方式", resourceCulture); + } + } + + /// + /// 查找类似 修改软件自动登录方式 的本地化字符串。 + /// + internal static string 修改软件自动登录方式 { + get { + return ResourceManager.GetString("修改软件自动登录方式", resourceCulture); + } + } + + /// + /// 查找类似 修改锁屏间隔时间 的本地化字符串。 + /// + internal static string 修改锁屏间隔时间 { + get { + return ResourceManager.GetString("修改锁屏间隔时间", resourceCulture); + } + } + + /// + /// 查找类似 停止与PLC连接 的本地化字符串。 + /// + internal static string 停止与PLC连接 { + get { + return ResourceManager.GetString("停止与PLC连接", resourceCulture); + } + } + + /// + /// 查找类似 先停止运行再切换MES 的本地化字符串。 + /// + internal static string 先停止运行再切换MES { + get { + return ResourceManager.GetString("先停止运行再切换MES", resourceCulture); + } + } + + /// + /// 查找类似 全天 的本地化字符串。 + /// + internal static string 全天 { + get { + return ResourceManager.GetString("全天", resourceCulture); + } + } + + /// + /// 查找类似 关闭MES模式成功 的本地化字符串。 + /// + internal static string 关闭MES模式成功 { + get { + return ResourceManager.GetString("关闭MES模式成功", resourceCulture); + } + } + + /// + /// 查找类似 其它非计划停机 的本地化字符串。 + /// + internal static string 其它非计划停机 { + get { + return ResourceManager.GetString("其它非计划停机", resourceCulture); + } + } + + /// + /// 查找类似 出站 的本地化字符串。 + /// + internal static string 出站 { + get { + return ResourceManager.GetString("出站", resourceCulture); + } + } + + /// + /// 查找类似 出站A工位发送给PLC 的本地化字符串。 + /// + internal static string 出站A工位发送给PLC { + get { + return ResourceManager.GetString("出站A工位发送给PLC", resourceCulture); + } + } + + /// + /// 查找类似 出站B工位发送给PLC 的本地化字符串。 + /// + internal static string 出站B工位发送给PLC { + get { + return ResourceManager.GetString("出站B工位发送给PLC", resourceCulture); + } + } + + /// + /// 查找类似 出站C工位发送给PLC 的本地化字符串。 + /// + internal static string 出站C工位发送给PLC { + get { + return ResourceManager.GetString("出站C工位发送给PLC", resourceCulture); + } + } + + /// + /// 查找类似 出站失败 的本地化字符串。 + /// + internal static string 出站失败 { + get { + return ResourceManager.GetString("出站失败", resourceCulture); + } + } + + /// + /// 查找类似 切换刷卡模式成功 的本地化字符串。 + /// + internal static string 切换刷卡模式成功 { + get { + return ResourceManager.GetString("切换刷卡模式成功", resourceCulture); + } + } + + /// + /// 查找类似 创建临时文件失败 的本地化字符串。 + /// + internal static string 创建临时文件失败 { + get { + return ResourceManager.GetString("创建临时文件失败", resourceCulture); + } + } + + /// + /// 查找类似 删除 的本地化字符串。 + /// + internal static string 删除 { + get { + return ResourceManager.GetString("删除", resourceCulture); + } + } + + /// + /// 查找类似 删除当前复投条码 的本地化字符串。 + /// + internal static string 删除当前复投条码 { + get { + return ResourceManager.GetString("删除当前复投条码", resourceCulture); + } + } + + /// + /// 查找类似 删除成功 的本地化字符串。 + /// + internal static string 删除成功 { + get { + return ResourceManager.GetString("删除成功", resourceCulture); + } + } + + /// + /// 查找类似 功率值 的本地化字符串。 + /// + internal static string 功率值 { + get { + return ResourceManager.GetString("功率值", resourceCulture); + } + } + + /// + /// 查找类似 功能待开发中! 的本地化字符串。 + /// + internal static string 功能待开发中_ { + get { + return ResourceManager.GetString("功能待开发中!", resourceCulture); + } + } + + /// + /// 查找类似 包装箱出站 的本地化字符串。 + /// + internal static string 包装箱出站 { + get { + return ResourceManager.GetString("包装箱出站", resourceCulture); + } + } + + /// + /// 查找类似 包装箱进站 的本地化字符串。 + /// + internal static string 包装箱进站 { + get { + return ResourceManager.GetString("包装箱进站", resourceCulture); + } + } + + /// + /// 查找类似 卷芯进站共耗时 的本地化字符串。 + /// + internal static string 卷芯进站共耗时 { + get { + return ResourceManager.GetString("卷芯进站共耗时", resourceCulture); + } + } + + /// + /// 查找类似 历史报警 的本地化字符串。 + /// + internal static string 历史报警 { + get { + return ResourceManager.GetString("历史报警", resourceCulture); + } + } + + /// + /// 查找类似 历史数据 的本地化字符串。 + /// + internal static string 历史数据 { + get { + return ResourceManager.GetString("历史数据", resourceCulture); + } + } + + /// + /// 查找类似 变量 的本地化字符串。 + /// + internal static string 变量 { + get { + return ResourceManager.GetString("变量", resourceCulture); + } + } + + /// + /// 查找类似 变量名不能为空 的本地化字符串。 + /// + internal static string 变量名不能为空 { + get { + return ResourceManager.GetString("变量名不能为空", resourceCulture); + } + } + + /// + /// 查找类似 变量名已存在 的本地化字符串。 + /// + internal static string 变量名已存在 { + get { + return ResourceManager.GetString("变量名已存在", resourceCulture); + } + } + + /// + /// 查找类似 变量地址格式不正确 的本地化字符串。 + /// + internal static string 变量地址格式不正确 { + get { + return ResourceManager.GetString("变量地址格式不正确", resourceCulture); + } + } + + /// + /// 查找类似 各不良项 的本地化字符串。 + /// + internal static string 各不良项 { + get { + return ResourceManager.GetString("各不良项", resourceCulture); + } + } + + /// + /// 查找类似 启动开始监控 的本地化字符串。 + /// + internal static string 启动开始监控 { + get { + return ResourceManager.GetString("启动开始监控", resourceCulture); + } + } + + /// + /// 查找类似 启动开始监控失败 的本地化字符串。 + /// + internal static string 启动开始监控失败 { + get { + return ResourceManager.GetString("启动开始监控失败", resourceCulture); + } + } + + /// + /// 查找类似 启用 的本地化字符串。 + /// + internal static string 启用 { + get { + return ResourceManager.GetString("启用", resourceCulture); + } + } + + /// + /// 查找类似 告警TOP10 的本地化字符串。 + /// + internal static string 告警TOP10 { + get { + return ResourceManager.GetString("告警TOP10", resourceCulture); + } + } + + /// + /// 查找类似 告警查询 的本地化字符串。 + /// + internal static string 告警查询 { + get { + return ResourceManager.GetString("告警查询", resourceCulture); + } + } + + /// + /// 查找类似 品质异常 的本地化字符串。 + /// + internal static string 品质异常 { + get { + return ResourceManager.GetString("品质异常", resourceCulture); + } + } + + /// + /// 查找类似 品质检查 的本地化字符串。 + /// + internal static string 品质检查 { + get { + return ResourceManager.GetString("品质检查", resourceCulture); + } + } + + /// + /// 查找类似 图表初始化异常 的本地化字符串。 + /// + internal static string 图表初始化异常 { + get { + return ResourceManager.GetString("图表初始化异常", resourceCulture); + } + } + + /// + /// 查找类似 地址范围超出限制,结束地址不能超过32767 的本地化字符串。 + /// + internal static string 地址范围超出限制_结束地址不能超过32767 { + get { + return ResourceManager.GetString("地址范围超出限制,结束地址不能超过32767", resourceCulture); + } + } + + /// + /// 查找类似 型号选择 的本地化字符串。 + /// + internal static string 型号选择 { + get { + return ResourceManager.GetString("型号选择", resourceCulture); + } + } + + /// + /// 查找类似 夜班 的本地化字符串。 + /// + internal static string 夜班 { + get { + return ResourceManager.GetString("夜班", resourceCulture); + } + } + + /// + /// 查找类似 定时刷新异常 的本地化字符串。 + /// + internal static string 定时刷新异常 { + get { + return ResourceManager.GetString("定时刷新异常", resourceCulture); + } + } + + /// + /// 查找类似 导出失败 的本地化字符串。 + /// + internal static string 导出失败 { + get { + return ResourceManager.GetString("导出失败", resourceCulture); + } + } + + /// + /// 查找类似 导出成功! 的本地化字符串。 + /// + internal static string 导出成功_ { + get { + return ResourceManager.GetString("导出成功!", resourceCulture); + } + } + + /// + /// 查找类似 导出报表失败 的本地化字符串。 + /// + internal static string 导出报表失败 { + get { + return ResourceManager.GetString("导出报表失败", resourceCulture); + } + } + + /// + /// 查找类似 工程变更 的本地化字符串。 + /// + internal static string 工程变更 { + get { + return ResourceManager.GetString("工程变更", resourceCulture); + } + } + + /// + /// 查找类似 已断开与PLC 的本地化字符串。 + /// + internal static string 已断开与PLC { + get { + return ResourceManager.GetString("已断开与PLC", resourceCulture); + } + } + + /// + /// 查找类似 开始时间不能大于结束时间 的本地化字符串。 + /// + internal static string 开始时间不能大于结束时间 { + get { + return ResourceManager.GetString("开始时间不能大于结束时间", resourceCulture); + } + } + + /// + /// 查找类似 当前已登录 的本地化字符串。 + /// + internal static string 当前已登录 { + get { + return ResourceManager.GetString("当前已登录", resourceCulture); + } + } + + /// + /// 查找类似 当前无报警 的本地化字符串。 + /// + internal static string 当前无报警 { + get { + return ResourceManager.GetString("当前无报警", resourceCulture); + } + } + + /// + /// 查找类似 当前用户已注销 的本地化字符串。 + /// + internal static string 当前用户已注销 { + get { + return ResourceManager.GetString("当前用户已注销", resourceCulture); + } + } + + /// + /// 查找类似 待料 的本地化字符串。 + /// + internal static string 待料 { + get { + return ResourceManager.GetString("待料", resourceCulture); + } + } + + /// + /// 查找类似 成功 的本地化字符串。 + /// + internal static string 成功 { + get { + return ResourceManager.GetString("成功", resourceCulture); + } + } + + /// + /// 查找类似 成功连接PLC 的本地化字符串。 + /// + internal static string 成功连接PLC { + get { + return ResourceManager.GetString("成功连接PLC", resourceCulture); + } + } + + /// + /// 查找类似 打开报表记录 的本地化字符串。 + /// + internal static string 打开报表记录 { + get { + return ResourceManager.GetString("打开报表记录", resourceCulture); + } + } + + /// + /// 查找类似 打开报警记录 的本地化字符串。 + /// + internal static string 打开报警记录 { + get { + return ResourceManager.GetString("打开报警记录", resourceCulture); + } + } + + /// + /// 查找类似 投入 的本地化字符串。 + /// + internal static string 投入 { + get { + return ResourceManager.GetString("投入", resourceCulture); + } + } + + /// + /// 查找类似 报警查询 的本地化字符串。 + /// + internal static string 报警查询 { + get { + return ResourceManager.GetString("报警查询", resourceCulture); + } + } + + /// + /// 查找类似 报警项 的本地化字符串。 + /// + internal static string 报警项 { + get { + return ResourceManager.GetString("报警项", resourceCulture); + } + } + + /// + /// 查找类似 提示 的本地化字符串。 + /// + internal static string 提示 { + get { + return ResourceManager.GetString("提示", resourceCulture); + } + } + + /// + /// 查找类似 操作日志 的本地化字符串。 + /// + internal static string 操作日志 { + get { + return ResourceManager.GetString("操作日志", resourceCulture); + } + } + + /// + /// 查找类似 数值 的本地化字符串。 + /// + internal static string 数值 { + get { + return ResourceManager.GetString("数值", resourceCulture); + } + } + + /// + /// 查找类似 数据分析 的本地化字符串。 + /// + internal static string 数据分析 { + get { + return ResourceManager.GetString("数据分析", resourceCulture); + } + } + + /// + /// 查找类似 数据报表导出 的本地化字符串。 + /// + internal static string 数据报表导出 { + get { + return ResourceManager.GetString("数据报表导出", resourceCulture); + } + } + + /// + /// 查找类似 新变量 的本地化字符串。 + /// + internal static string 新变量 { + get { + return ResourceManager.GetString("新变量", resourceCulture); + } + } + + /// + /// 查找类似 新建变量成功 的本地化字符串。 + /// + internal static string 新建变量成功 { + get { + return ResourceManager.GetString("新建变量成功", resourceCulture); + } + } + + /// + /// 查找类似 无PLC配置信息 的本地化字符串。 + /// + internal static string 无PLC配置信息 { + get { + return ResourceManager.GetString("无PLC配置信息", resourceCulture); + } + } + + /// + /// 查找类似 无效的组名 的本地化字符串。 + /// + internal static string 无效的组名 { + get { + return ResourceManager.GetString("无效的组名", resourceCulture); + } + } + + /// + /// 查找类似 无效的起始地址 的本地化字符串。 + /// + internal static string 无效的起始地址 { + get { + return ResourceManager.GetString("无效的起始地址", resourceCulture); + } + } + + /// + /// 查找类似 时间 的本地化字符串。 + /// + internal static string 时间 { + get { + return ResourceManager.GetString("时间", resourceCulture); + } + } + + /// + /// 查找类似 星期一 的本地化字符串。 + /// + internal static string 星期一 { + get { + return ResourceManager.GetString("星期一", resourceCulture); + } + } + + /// + /// 查找类似 星期三 的本地化字符串。 + /// + internal static string 星期三 { + get { + return ResourceManager.GetString("星期三", resourceCulture); + } + } + + /// + /// 查找类似 星期二 的本地化字符串。 + /// + internal static string 星期二 { + get { + return ResourceManager.GetString("星期二", resourceCulture); + } + } + + /// + /// 查找类似 星期五 的本地化字符串。 + /// + internal static string 星期五 { + get { + return ResourceManager.GetString("星期五", resourceCulture); + } + } + + /// + /// 查找类似 星期六 的本地化字符串。 + /// + internal static string 星期六 { + get { + return ResourceManager.GetString("星期六", resourceCulture); + } + } + + /// + /// 查找类似 星期四 的本地化字符串。 + /// + internal static string 星期四 { + get { + return ResourceManager.GetString("星期四", resourceCulture); + } + } + + /// + /// 查找类似 星期日 的本地化字符串。 + /// + internal static string 星期日 { + get { + return ResourceManager.GetString("星期日", resourceCulture); + } + } + + /// + /// 查找类似 是否切换刷卡模式 的本地化字符串。 + /// + internal static string 是否切换刷卡模式 { + get { + return ResourceManager.GetString("是否切换刷卡模式", resourceCulture); + } + } + + /// + /// 查找类似 是否确定要退出系统 的本地化字符串。 + /// + internal static string 是否确定要退出系统 { + get { + return ResourceManager.GetString("是否确定要退出系统", resourceCulture); + } + } + + /// + /// 查找类似 更新12小时数据异常 的本地化字符串。 + /// + internal static string 更新12小时数据异常 { + get { + return ResourceManager.GetString("更新12小时数据异常", resourceCulture); + } + } + + /// + /// 查找类似 更新不良图表异常 的本地化字符串。 + /// + internal static string 更新不良图表异常 { + get { + return ResourceManager.GetString("更新不良图表异常", resourceCulture); + } + } + + /// + /// 查找类似 更新报警图表异常 的本地化字符串。 + /// + internal static string 更新报警图表异常 { + get { + return ResourceManager.GetString("更新报警图表异常", resourceCulture); + } + } + + /// + /// 查找类似 更新效率控件异常 的本地化字符串。 + /// + internal static string 更新效率控件异常 { + get { + return ResourceManager.GetString("更新效率控件异常", resourceCulture); + } + } + + /// + /// 查找类似 更新时间显示异常 的本地化字符串。 + /// + internal static string 更新时间显示异常 { + get { + return ResourceManager.GetString("更新时间显示异常", resourceCulture); + } + } + + /// + /// 查找类似 更新能源显示异常 的本地化字符串。 + /// + internal static string 更新能源显示异常 { + get { + return ResourceManager.GetString("更新能源显示异常", resourceCulture); + } + } + + /// + /// 查找类似 未登录 的本地化字符串。 + /// + internal static string 未登录 { + get { + return ResourceManager.GetString("未登录", resourceCulture); + } + } + + /// + /// 查找类似 权限 的本地化字符串。 + /// + internal static string 权限 { + get { + return ResourceManager.GetString("权限", resourceCulture); + } + } + + /// + /// 查找类似 权限不足 的本地化字符串。 + /// + internal static string 权限不足 { + get { + return ResourceManager.GetString("权限不足", resourceCulture); + } + } + + /// + /// 查找类似 来料不良 的本地化字符串。 + /// + internal static string 来料不良 { + get { + return ResourceManager.GetString("来料不良", resourceCulture); + } + } + + /// + /// 查找类似 查询时间不能超过7天 的本地化字符串。 + /// + internal static string 查询时间不能超过7天 { + get { + return ResourceManager.GetString("查询时间不能超过7天", resourceCulture); + } + } + + /// + /// 查找类似 查询范围不能超过1天 的本地化字符串。 + /// + internal static string 查询范围不能超过1天 { + get { + return ResourceManager.GetString("查询范围不能超过1天", resourceCulture); + } + } + + /// + /// 查找类似 栈板信息 的本地化字符串。 + /// + internal static string 栈板信息 { + get { + return ResourceManager.GetString("栈板信息", resourceCulture); + } + } + + /// + /// 查找类似 次数 的本地化字符串。 + /// + internal static string 次数 { + get { + return ResourceManager.GetString("次数", resourceCulture); + } + } + + /// + /// 查找类似 没有可用的地址空间 的本地化字符串。 + /// + internal static string 没有可用的地址空间 { + get { + return ResourceManager.GetString("没有可用的地址空间", resourceCulture); + } + } + + /// + /// 查找类似 没有找到足够大的地址空间 的本地化字符串。 + /// + internal static string 没有找到足够大的地址空间 { + get { + return ResourceManager.GetString("没有找到足够大的地址空间", resourceCulture); + } + } + + /// + /// 查找类似 清洁点检 的本地化字符串。 + /// + internal static string 清洁点检 { + get { + return ResourceManager.GetString("清洁点检", resourceCulture); + } + } + + /// + /// 查找类似 环境不满足 的本地化字符串。 + /// + internal static string 环境不满足 { + get { + return ResourceManager.GetString("环境不满足", resourceCulture); + } + } + + /// + /// 查找类似 用户查询失败 的本地化字符串。 + /// + internal static string 用户查询失败 { + get { + return ResourceManager.GetString("用户查询失败", resourceCulture); + } + } + + /// + /// 查找类似 电芯OCV检测A有料标志为0 的本地化字符串。 + /// + internal static string 电芯OCV检测A有料标志为0 { + get { + return ResourceManager.GetString("电芯OCV检测A有料标志为0", resourceCulture); + } + } + + /// + /// 查找类似 电芯OCV检测B有料标志为0 的本地化字符串。 + /// + internal static string 电芯OCV检测B有料标志为0 { + get { + return ResourceManager.GetString("电芯OCV检测B有料标志为0", resourceCulture); + } + } + + /// + /// 查找类似 电芯出站A共耗时 的本地化字符串。 + /// + internal static string 电芯出站A共耗时 { + get { + return ResourceManager.GetString("电芯出站A共耗时", resourceCulture); + } + } + + /// + /// 查找类似 电芯出站B共耗时 的本地化字符串。 + /// + internal static string 电芯出站B共耗时 { + get { + return ResourceManager.GetString("电芯出站B共耗时", resourceCulture); + } + } + + /// + /// 查找类似 电芯出站C共耗时 的本地化字符串。 + /// + internal static string 电芯出站C共耗时 { + get { + return ResourceManager.GetString("电芯出站C共耗时", resourceCulture); + } + } + + /// + /// 查找类似 电芯码不良 的本地化字符串。 + /// + internal static string 电芯码不良 { + get { + return ResourceManager.GetString("电芯码不良", resourceCulture); + } + } + + /// + /// 查找类似 登录成功,登录用户 的本地化字符串。 + /// + internal static string 登录成功_登录用户 { + get { + return ResourceManager.GetString("登录成功,登录用户", resourceCulture); + } + } + + /// + /// 查找类似 登录提示 的本地化字符串。 + /// + internal static string 登录提示 { + get { + return ResourceManager.GetString("登录提示", resourceCulture); + } + } + + /// + /// 查找类似 登录用户或密码错误!!! 的本地化字符串。 + /// + internal static string 登录用户或密码错误 { + get { + return ResourceManager.GetString("登录用户或密码错误", resourceCulture); + } + } + + /// + /// 查找类似 登录系统 的本地化字符串。 + /// + internal static string 登录系统 { + get { + return ResourceManager.GetString("登录系统", resourceCulture); + } + } + + /// + /// 查找类似 白班 的本地化字符串。 + /// + internal static string 白班 { + get { + return ResourceManager.GetString("白班", resourceCulture); + } + } + + /// + /// 查找类似 确认保存 的本地化字符串。 + /// + internal static string 确认保存 { + get { + return ResourceManager.GetString("确认保存", resourceCulture); + } + } + + /// + /// 查找类似 禁用 的本地化字符串。 + /// + internal static string 禁用 { + get { + return ResourceManager.GetString("禁用", resourceCulture); + } + } + + /// + /// 查找类似 窗体加载异常 的本地化字符串。 + /// + internal static string 窗体加载异常 { + get { + return ResourceManager.GetString("窗体加载异常", resourceCulture); + } + } + + /// + /// 查找类似 箱唛信息 的本地化字符串。 + /// + internal static string 箱唛信息 { + get { + return ResourceManager.GetString("箱唛信息", resourceCulture); + } + } + + /// + /// 查找类似 箱唛标签打印 的本地化字符串。 + /// + internal static string 箱唛标签打印 { + get { + return ResourceManager.GetString("箱唛标签打印", resourceCulture); + } + } + + /// + /// 查找类似 箱唛码与栈板码绑定关系 的本地化字符串。 + /// + internal static string 箱唛码与栈板码绑定关系 { + get { + return ResourceManager.GetString("箱唛码与栈板码绑定关系", resourceCulture); + } + } + + /// + /// 查找类似 系统日志 的本地化字符串。 + /// + internal static string 系统日志 { + get { + return ResourceManager.GetString("系统日志", resourceCulture); + } + } + + /// + /// 查找类似 组名不能为空 的本地化字符串。 + /// + internal static string 组名不能为空 { + get { + return ResourceManager.GetString("组名不能为空", resourceCulture); + } + } + + /// + /// 查找类似 结果数据上传失败 的本地化字符串。 + /// + internal static string 结果数据上传失败 { + get { + return ResourceManager.GetString("结果数据上传失败", resourceCulture); + } + } + + /// + /// 查找类似 良品 的本地化字符串。 + /// + internal static string 良品 { + get { + return ResourceManager.GetString("良品", resourceCulture); + } + } + + /// + /// 查找类似 获取参数失败 的本地化字符串。 + /// + internal static string 获取参数失败 { + get { + return ResourceManager.GetString("获取参数失败", resourceCulture); + } + } + + /// + /// 查找类似 触发了手动HMI弹窗功能 的本地化字符串。 + /// + internal static string 触发了手动HMI弹窗功能 { + get { + return ResourceManager.GetString("触发了手动HMI弹窗功能", resourceCulture); + } + } + + /// + /// 查找类似 设备故障 的本地化字符串。 + /// + internal static string 设备故障 { + get { + return ResourceManager.GetString("设备故障", resourceCulture); + } + } + + /// + /// 查找类似 设备转型 的本地化字符串。 + /// + internal static string 设备转型 { + get { + return ResourceManager.GetString("设备转型", resourceCulture); + } + } + + /// + /// 查找类似 请填写登录密码 的本地化字符串。 + /// + internal static string 请填写登录密码 { + get { + return ResourceManager.GetString("请填写登录密码", resourceCulture); + } + } + + /// + /// 查找类似 请填写登录用户名 的本地化字符串。 + /// + internal static string 请填写登录用户名 { + get { + return ResourceManager.GetString("请填写登录用户名", resourceCulture); + } + } + + /// + /// 查找类似 请检查配置文件 的本地化字符串。 + /// + internal static string 请检查配置文件 { + get { + return ResourceManager.GetString("请检查配置文件", resourceCulture); + } + } + + /// + /// 查找类似 起始地址格式不正确 的本地化字符串。 + /// + internal static string 起始地址格式不正确 { + get { + return ResourceManager.GetString("起始地址格式不正确", resourceCulture); + } + } + + /// + /// 查找类似 进站 的本地化字符串。 + /// + internal static string 进站 { + get { + return ResourceManager.GetString("进站", resourceCulture); + } + } + + /// + /// 查找类似 进站A工位发送给PLC 的本地化字符串。 + /// + internal static string 进站A工位发送给PLC { + get { + return ResourceManager.GetString("进站A工位发送给PLC", resourceCulture); + } + } + + /// + /// 查找类似 进站B工位发送给PLC 的本地化字符串。 + /// + internal static string 进站B工位发送给PLC { + get { + return ResourceManager.GetString("进站B工位发送给PLC", resourceCulture); + } + } + + /// + /// 查找类似 进站C工位发送给PLC 的本地化字符串。 + /// + internal static string 进站C工位发送给PLC { + get { + return ResourceManager.GetString("进站C工位发送给PLC", resourceCulture); + } + } + + /// + /// 查找类似 进站上料工位A有料标志为0 的本地化字符串。 + /// + internal static string 进站上料工位A有料标志为0 { + get { + return ResourceManager.GetString("进站上料工位A有料标志为0", resourceCulture); + } + } + + /// + /// 查找类似 进站上料工位B有料标志为0 的本地化字符串。 + /// + internal static string 进站上料工位B有料标志为0 { + get { + return ResourceManager.GetString("进站上料工位B有料标志为0", resourceCulture); + } + } + + /// + /// 查找类似 进站失败 的本地化字符串。 + /// + internal static string 进站失败 { + get { + return ResourceManager.GetString("进站失败", resourceCulture); + } + } + + /// + /// 查找类似 连接PLC 的本地化字符串。 + /// + internal static string 连接PLC { + get { + return ResourceManager.GetString("连接PLC", resourceCulture); + } + } + + /// + /// 查找类似 连接PLC中 的本地化字符串。 + /// + internal static string 连接PLC中 { + get { + return ResourceManager.GetString("连接PLC中", resourceCulture); + } + } + + /// + /// 查找类似 连接PLC失败 的本地化字符串。 + /// + internal static string 连接PLC失败 { + get { + return ResourceManager.GetString("连接PLC失败", resourceCulture); + } + } + + /// + /// 查找类似 连接PLC时发生异常 的本地化字符串。 + /// + internal static string 连接PLC时发生异常 { + get { + return ResourceManager.GetString("连接PLC时发生异常", resourceCulture); + } + } + + /// + /// 查找类似 退出成功 的本地化字符串。 + /// + internal static string 退出成功 { + get { + return ResourceManager.GetString("退出成功", resourceCulture); + } + } + + /// + /// 查找类似 退出用户 的本地化字符串。 + /// + internal static string 退出用户 { + get { + return ResourceManager.GetString("退出用户", resourceCulture); + } + } + + /// + /// 查找类似 退出系统 的本地化字符串。 + /// + internal static string 退出系统 { + get { + return ResourceManager.GetString("退出系统", resourceCulture); + } + } + + /// + /// 查找类似 通信组 的本地化字符串。 + /// + internal static string 通信组 { + get { + return ResourceManager.GetString("通信组", resourceCulture); + } + } + + /// + /// 查找类似 通道号 的本地化字符串。 + /// + internal static string 通道号 { + get { + return ResourceManager.GetString("通道号", resourceCulture); + } + } + + /// + /// 查找类似 配件,物料更换 的本地化字符串。 + /// + internal static string 配件_物料更换 { + get { + return ResourceManager.GetString("配件,物料更换", resourceCulture); + } + } + + /// + /// 查找类似 配置保存成功 的本地化字符串。 + /// + internal static string 配置保存成功 { + get { + return ResourceManager.GetString("配置保存成功", resourceCulture); + } + } + + /// + /// 查找类似 配置文件加载完成 的本地化字符串。 + /// + internal static string 配置文件加载完成 { + get { + return ResourceManager.GetString("配置文件加载完成", resourceCulture); + } + } + + /// + /// 查找类似 错误 的本地化字符串。 + /// + internal static string 错误 { + get { + return ResourceManager.GetString("错误", resourceCulture); + } + } + + /// + /// 查找类似 错误提示 的本地化字符串。 + /// + internal static string 错误提示 { + get { + return ResourceManager.GetString("错误提示", resourceCulture); + } + } + + /// + /// 查找类似 长度必须大于0 的本地化字符串。 + /// + internal static string 长度必须大于0 { + get { + return ResourceManager.GetString("长度必须大于0", resourceCulture); + } + } + + /// + /// 查找类似 长度必须是大于0的数字 的本地化字符串。 + /// + internal static string 长度必须是大于0的数字 { + get { + return ResourceManager.GetString("长度必须是大于0的数字", resourceCulture); + } + } + + /// + /// 查找类似 验证错误 的本地化字符串。 + /// + internal static string 验证错误 { + get { + return ResourceManager.GetString("验证错误", resourceCulture); + } + } + + /// + /// 查找类似 默认组 的本地化字符串。 + /// + internal static string 默认组 { + get { + return ResourceManager.GetString("默认组", resourceCulture); + } + } + } +} diff --git a/Language/Languages.en.resx b/Language/Languages.en.resx new file mode 100644 index 0000000..25ea7b0 --- /dev/null +++ b/Language/Languages.en.resx @@ -0,0 +1,2257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tip + + + Failed to connect to PLC, please check PLC connection configuration, network + + + Delete variable + + + rising vote + + + Falling Edge Alarm + + + Offset Number + + + Falling Edge + + + Communication Group + + + Data Type + + + Modify a variable + + + Bit Offset/Length + + + Rising Edge Alarm + + + New Variation + + + D40 has been reset 0 + + + Alarm information Normal + + + Media type + + + Date and Time + + + Log information + + + Date and Time + + + Log Types + + + Date and Time + + + Operation information + + + Operation Type + + + The operation log + + + System Alarm + + + system log + + + PP + + + CP + + + Ca + + + PPK + + + CPK + + + Dev + + + Mean + + + SampleSize + + + Groups + + + Max + + + Min + + + Total + + + Average Value + + + Max + + + Min + + + Lower limit of specification + + + Upper limit of specification + + + Number of data groups + + + Sample Subgroup Size + + + target value + + + Negative 3x standard deviation + + + Standard deviation (within group) + + + Standard deviation (overall) + + + Positive 3x SD + + + CPL + + + CPU + + + CP + + + CPK + + + Ca + + + PPL + + + Ppk + + + PPU + + + PP + + + CpkGrade + + + Total number of samples + + + Ppm < LSL + + + Ppm Toatl + + + Ppm < USL + + + Clear data + + + Calculate CPK + + + Analytics options + + + Query + + + Generate dummy data + + + Magnitude + + + Stats + + + Process capability (within the group) + + + Other values + + + Calculated value + + + Measured performance + + + Process capability (overall) + + + Query options + + + Query time interval + + + XR Control Chart + + + CPK Analysis Chart + + + Sample run diagram + + + Mean Run Chart + + + Model + + + Material code + + + Start monitoring + + + Stop monitoring + + + chart1 + + + chart1 + + + Remark + + + Comprehensive result + + + Time + + + Pallet barcode + + + Weight + + + Remarks + + + Results + + + Pallet barcode + + + Time + + + Container barcode + + + Container barcode + + + Remarks + + + Results + + + Time + + + Pallet barcode + + + Remarks + + + Results + + + Time + + + Logging + + + Parameters + + + Assembly inspection workstation + + + Container Inbound + + + Container Outbound + + + Cardboard tray binding and uploading + + + Cardboard printing workstation + + + Parameter + + + Min + + + Max + + + Units + + + New Distribution Group + + + Delete Distribution Group + + + Modify Distribution Group + + + Whether feedback is required or not + + + whether to enable + + + Is it a triggered read + + + Distribution group name + + + ON + + + Whether feedback is required or not + + + Is it a triggered read + + + Length + + + Remarks + + + Start Address + + + Distribution Group Configuration + + + Distribution group name + + + Start Address + + + Length + + + Remarks + + + Export Excel + + + Time query + + + Export + + + Query + + + Export + + + Query + + + Export Excel + + + guide + + + Query + + + Query + + + Re-upload + + + guide + + + Query + + + Average Operating Rate + + + Average Ppm + + + Production Yield Rate + + + ProdIn + + + ProdOut + + + TestTime + + + Day + + + Average Operating Rate + + + Average Ppm + + + Optimum Rate + + + ProdIn + + + ProdOut + + + Average Operating Rate + + + Month + + + Average Ppm + + + Production Yield Rate + + + Total ProdIn + + + Total ProdOut + + + Average Operating Rate + + + Average Ppm + + + Production Yield Rate + + + Total ProdIn + + + Total ProdOut + + + Week + + + AlarmContent + + + AlarmCount + + + AlarmTime + + + Class + + + PLCAdress + + + Battery barcode + + + Bottom support plate code + + + Number of plies + + + Pallet position number + + + Remark + + + Result + + + Number of stack layers + + + Stacking station number + + + TestTime + + + Pallet barcode + + + Container Code + + + Pallet Code + + + Weight + + + Parameter Name + + + Parameter Value + + + shifts + + + Steel Shell Code + + + RFID + + + Statistics date + + + Statistics date + + + Statistics Time + + + Statistics Time + + + End time + + + Start Time + + + Barcode + + + End time + + + Start Time + + + Type + + + Historical production data query + + + Capacity statistics query + + + Log alarm data query + + + Statistics by Shift + + + Daily statistics + + + Statistics by week + + + Monthly statistics + + + Yiwei Power + + + Login + + + Yiwei Power + + + Start + + + 57 Factory + + + Yiwei Power + + + Battery packaging data B collection system + + + Log Alarm + + + Data analysis + + + Data Monitoring + + + Data traceability + + + Centralized monitoring + + + Easy parameter setting + + + System Configuration + + + Managing Users + + + about + + + Show home screen + + + Exit + + + Hide Main Menu + + + Non-Swipe Mode + + + Smart Meter + + + UA + + + Total Power + + + Total Factor + + + Pt + + + Ct + + + Accumulated Power + + + UB + + + UC + + + IA + + + IB + + + IC + + + PowerA + + + PowerB + + + PowerC + + + Alarm Top10 Statistics + + + Capacity statistics + + + Bad item statistics + + + OK number + + + Superior Rate + + + Total Production + + + Utilization rate + + + Equipment No + + + The affiliated warehouse + + + Shipper + + + Model + + + Up time + + + Run time + + + Smart meter (device) + + + OK + + + Are you sure you want to exit the system? + + + Log out system + + + Cancel + + + Cancel + + + OK + + + Are you sure you want to exit the system? + + + Log out system + + + Delete model + + + Add model + + + Save the parameters + + + Parameter item name + + + Max + + + Min + + + Unit + + + Material code + + + Model + + + Remark + + + Current model + + + Model + + + Material code + + + Current model + + + Add PLC + + + Cancellation settings + + + Distribution Group Configuration + + + OK settings + + + Variable Configuration + + + Settings + + + rising vote + + + Heartbeat Address + + + IP Address + + + Active status + + + Heartbeat status + + + Modify a variable + + + PLC type + + + The port number + + + Remarks + + + Get MES parameters + + + Turn on swipe mode + + + PLC type configuration + + + Equipment No + + + Shipper + + + The affiliated warehouse + + + Automatically switch the monitoring interface time + + + No operation automatically switches the monitoring interface + + + Customer Material Number + + + Port number configuration + + + No operating automatic lock screen + + + Auto lock screen time + + + Number of welder power curve displays + + + Software automatically logs in + + + Automatically run KICOME when restarting my computer + + + Thread time-consuming log saving + + + MES/non-MES mode switching + + + Anemometer + + + The interface address for uploading and binding information of the bag-flipping equipment + + + debugging mode + + + Equipment alarm + + + Device parameter setpoint changed + + + Device parameter setpoint request + + + Equipment State + + + Employee Permissions Verification + + + Meter energy consumption + + + Incomplete VDA interface address when pulling the bag + + + Obtain Token + + + Raw material input information + + + Product inbound + + + Product outbound + + + Product Process Data + + + Product processing result data + + + PLC Configuration + + + MES Settings + + + MES parameter configuration + + + MES Configuration + + + PLC Configuration + + + System Configuration + + + 127.0.0.1 + + + 9600 + + + Add User + + + Empty message + + + Deleting a User + + + Modification User + + + Check/Uncheck all + + + Data analysis + + + Data traceability + + + Easy parameter setting + + + Log Alarm + + + System Configuration + + + Managing Users + + + Data analysis + + + Data traceability + + + user rights + + + Username + + + user password + + + IC Card No + + + Easy parameter setting + + + Log Alarm + + + System Configuration + + + Managing Users + + + IC Card No + + + Enter Password again + + + User Information + + + user rights + + + user password + + + User Information + + + Set Permission + + + User operation + + + Start Index + + + Variable address + + + Variable Name + + + Variable address + + + Variable Configuration + + + Distribution group name + + + Start Index + + + Bit Offset/Length + + + Variable Name + + + Remarks + + + Data Type + + + Linearity coefficient + + + Offset Number + + + IC Card No + + + HMI manual pop-up status has been uploaded successfully, code + + + The end state of the HMI manual pop-up window has been uploaded successfully, and the code + + + MES downtime + + + MES parameter setting successfully + + + MES is not logged in + + + MES login is successful, login user + + + MES user logged out + + + OCV test results NG + + + PC write PLC time failed! + + + PC write PLC time successed! + + + PC writes PLC time exception + + + Add variable + + + Variable Configuration + + + Data Type + + + rising vote + + + Falling Edge Alarm + + + Length offset + + + Modify a variable + + + Remarks + + + Start Address + + + Variable address + + + Variable Name + + + Upper limit + + + Lower limit + + + Unsupported data type + + + Creates + + + Product model cannot be empty + + + Product model cannot be empty! + + + Product model and parameter list cannot be empty + + + Superior Rate + + + Save the parameters + + + Failed to save task + + + Save successfully + + + Info + + + Modify + + + Modify MES/non-MES mode switching + + + Modify the interval between switch monitoring interfaces + + + Modify Swipe Mode + + + Modify a variable + + + Failed to modify variable + + + Modification User + + + Failed to modify user + + + Modify Distribution Group + + + Failed to modify distribution group: + + + Modify the mode of automatic switching monitoring interface without operation + + + Modify the unoperational automatic screen locking method + + + Modify the number of curve displays + + + Modify thread time-consuming log saving + + + Modify to get MES parameters + + + Modify the debugging mode + + + Modify the automatic startup method of the software + + + Modify the automatic login method of the software + + + Modify the lock screen interval + + + Stop connecting to PLC + + + Stop running before switching MES + + + Full Day + + + Successfully turning off mes mode + + + Other unplanned downtime + + + Outbound + + + Outbound A station is sent to PLC + + + Outbound B station is sent to PLC + + + Outbound C station is sent to PLC + + + OutBound failed + + + Switching swiping mode successfully + + + Failed creating temporary file + + + Delete it + + + Delete the current re-investment barcode + + + Delete succeeded + + + Failed creating temporary file + + + Delete it + + + Delete variable + + + Failed to delete variable + + + Delete model + + + Failed to delete + + + Delete succeeded + + + Remove Tip + + + Failed to delete user + + + Delete Distribution Group + + + Failed to delete the distribution group + + + Power value + + + Features to be developed! + + + The total time taken to enter the station + + + Failed to load system configuration + + + Successed to load system configuration + + + Figure 19 Historical alarm + + + Historical data + + + Parameter modified successfully + + + Easy parameter setting + + + Variables + + + Variable name cannot be empty + + + The variable name already exists + + + Variable name does not exist + + + Incorrectly formatted variable address + + + Each defective item + + + Start monitoring + + + Start to start monitoring failed + + + Unusual quality + + + Quality inspection + + + Chart initialization exception + + + Incorrect address format, should start with 'D' followed by a number + + + The address format is incorrect, it should be a pure number + + + The address range exceeds the limit, and the end address cannot exceed 32767 + + + The material code corresponding to the model cannot be empty + + + 型号选择 + + + OPS Night Shift + + + Timed refresh exception + + + Export report failed + + + Export report succeeded, whether to open it now + + + Export report succeeded, do you want to open it now? + + + Export alarm succeeded, do you want to open it now? + + + Engineering changes + + + Disconnected from PLC + + + Start loading configuration parameters... + + + The start time can not be greater than the end time + + + Currently in MES mode, please log in + + + Currently in MES mode, please log in! + + + Currently logged in + + + Currently logged in, do you want to switch the swipe mode + + + Currently logged in, do you want to switch the swipe mode!! + + + There are currently no alarms + + + You are not currently logged in, please log in first! + + + You are not currently logged in, please log in + + + You are not currently logged in, please log in! + + + Current user logged out + + + Insufficient privileges for current logged in user! + + + The current device is running. For inquiries, please press the stop button first! + + + To be expected + + + Success + + + Successfully connect PLC + + + Open report record + + + Open alarm log + + + Inputs + + + Alarm TOP10 + + + Alarm query + + + Alarm item + + + Prompt + + + The operation log + + + Value + + + Data analysis + + + Data Report Export + + + New Variable + + + New variable created successfully + + + No PLC configuration information + + + Invalid group name + + + Invalid start address + + + Time + + + Monday + + + Wednesday + + + Tuesday + + + Friday + + + Saturday + + + Thursday + + + Sunday + + + Do you want to save the modified configuration? + + + Whether to turn off MES mode + + + Whether to turn off MES mode! + + + whether delete + + + Are you sure you want to exit the system + + + Do you want to delete the model + + + Toggle Swipe Mode + + + Are you sure you want to exit the system + + + Updated 12-hour data anomalies + + + Update Bad Chart Anomalies + + + Update Alarm Chart Anomalies + + + Update Efficiency Control Exception + + + Update Time Display Unexpected + + + Update energy display anomalies + + + please sign in here + + + No data found, please test + + + Jurisdiction + + + Permission Denied + + + Poor incoming materials + + + Query failed: + + + Query failed + + + Query action + + + Query time cannot exceed 7 days + + + Query range cannot exceed 1 day + + + Times + + + No address space available + + + No group names available, please add groups in Group.xlsx first + + + Not enough address space found + + + Cleaning point inspection + + + Material code cannot be empty! + + + The environment is not satisfied + + + User query failed + + + Cell OCV detection A material mark is 0 + + + Cell OCV detection B material mark is 0 + + + Cell outbound A consumes a total time + + + Cell outbound B consumes a total time + + + Cell outbound C consumes a total time + + + Code error + + + Add variable + + + Failed to add variable + + + Add model + + + Add Failure: Modification already exists, add again + + + add failed + + + add success + + + Add User + + + Failed to add users + + + Delete variable + + + Failed to add distribution group: + + + Communication group added successfully + + + Material code cannot be empty + + + Material code cannot be empty! + + + User! + + + User name cannot be empty + + + msg.user_password_not_be_empty + + + User query failed + + + Users + + + Successful login, login user + + + Login Tips + + + Incorrect login user or password + + + log in system + + + Day Shift + + + Confirmation + + + Form loading exception + + + Confirmation password can not be empty + + + Manual input is prohibited, please use the brand scan to enter + + + system log + + + Remarks + + + Result data upload failed + + + + Alarm query + + + User query failed + + + Error prompt + + + Query failed: + + + PC writes PLC time exception + + + Form loading exception + + + Updated 12-hour data anomalies + + + Update Efficiency Control Exception + + + Update Time Display Unexpected + + + Update energy display anomalies + + + Update Alarm Chart Anomalies + + + Update Bad Chart Anomalies + + + Quit Successfully + + + Quit the user + + + Stop connecting to PLC + + + Modify the automatic login method of the software + + + Modify the automatic startup method of the software + + + Modify the unoperational automatic screen locking method + + + Modify the lock screen interval + + + Modify the mode of automatic switching monitoring interface without operation + + + Modify the debugging mode + + + Modify the interval between switch monitoring interfaces + + + Modify the number of curve displays + + + Modify Swipe Mode + + + Toggle Swipe Mode + + + Switching swiping mode successfully + + + Current user logged out + + + Prompt + + + Stop running before switching MES + + + Modify MES/non-MES mode switching + + + Successfully turning off mes mode + + + MES user logged out + + + Modify to get MES parameters + + + Modify thread time-consuming log saving + + + The configuration file is loaded + + + No PLC configuration information + + + Please check the profile + + + Failed to connect PLC + + + Successfully connect PLC + + + Anomalies occurred when connecting to PLC + + + Result data upload failed + + + Good products + + + Triggered the manual HMI pop-up window function + + + Failure of equipment + + + Equipment transformation + + + MES downtime + + + Accessories, material replacement + + + Poor incoming materials + + + To be expected + + + Cleaning point inspection + + + The environment is not satisfied + + + Other unplanned downtime + + + HMI manual pop-up status has been uploaded successfully, code + + + The end state of the HMI manual pop-up window has been uploaded successfully, and the code + + + Please sign in with your card first! + + + Please check the profile + + + Start address format is incorrect + + + InBound + + + Inbound A station is sent to PLC + + + Inbound B station is sent to PLC + + + Inbound C station is sent to PLC + + + Incoming loading station A material sign is 0 + + + Incoming loading station B material sign is 0 + + + InBound failed + + + This user name already exists + + + Please swipe your card to log in first + + + Please sign in with your card first! + + + Please fill in the password for login + + + Please fill in the login username + + + Оберіть модель + + + Please select a variable to modify + + + Please select a variable to delete + + + Start address format is incorrect + + + ARRIVALS + + + Connect PLC + + + Connect PLC + + + Failed to connect PLC + + + Failed to connect to PLC, please check PLC connection configuration, network + + + Anomalies occurred when connecting to PLC + + + Quit Successfully + + + Quit the user + + + Log out system + + + Select the production model you want to delete + + + Communication Group + + + Distribution group name does not exist! + + + Distribution group name cannot be empty! + + + Distribution group name already exists + + + Channel number + + + Accessories, material replacement + + + <strong>%s</strong> config saved successfully + + + The configuration file is loaded + + + Error + + + Error message + + + Length must be greater than 0 + + + Length must be a number greater than 0 + + + Item name + + + An error occurred while validating the configuration, please check if the input is correct + + + Verification Error + + + Default Group + + + Carton Inbound + + + Carton Outbound + + + Carton Mark Label Printing + + + Carton Mark Information + + + Binding Relationship between Carton Mark Code and Pallet Code + + + Pallet Information + + + Enable + + + Disable + + + Export succeeded! + + + Export failed + + \ No newline at end of file diff --git a/Language/Languages.hu.resx b/Language/Languages.hu.resx new file mode 100644 index 0000000..f29f645 --- /dev/null +++ b/Language/Languages.hu.resx @@ -0,0 +1,2091 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Változó törlése + + + Rising Edge + + + Leeső él riasztás + + + Eltolás + + + Falling Edge + + + Kommunikációs csoport + + + Adattípus + + + Változó módosítása + + + Biteltolás/hossz + + + Rising Edge Alarm + + + Változó hozzáadva + + + A D40 visszaállították 0 + + + Riasztási információk + + + Riasztás típusa + + + Dátum Idő + + + Naplózza az üzeneteket + + + Dátum Idő + + + Napló típusa + + + Dátum Idő + + + Működési információk + + + Művelet típusa + + + Műveleti napló + + + Rendszerriasztás + + + Rendszernapló + + + PP (egyértelműsítő lap) + + + CP + + + Ca + + + PPK + + + CPK + + + Dev + + + Mean + + + SampleSize + + + Csoportok + + + Max + + + Minimum + + + Összesen + + + Átlagos + + + Max + + + Min + + + Specifikáció Alsó határérték + + + Max Specs + + + Adatcsoportok száma + + + Minta alcsoport mérete + + + Célérték + + + Negatív 3x szórás + + + Szórás (csoporton belül) + + + Szórás (teljes) + + + Pozitív 3x SD + + + CPL + + + CPU + + + CP + + + CPK + + + Ca + + + PPL + + + Ppk + + + PPU + + + PP (egyértelműsítő lap) + + + CpkGrade + + + Minták száma összesen + + + Ppm < Lsl + + + Ppm Toatl + + + Ppm < USL + + + Üres adatok + + + Számítsa ki a CPK-t + + + Elemzési lehetőségek + + + Lekérdezés + + + Hozzon létre áladatokat + + + Állandó + + + Statisztikák + + + Folyamatképesség (a csoporton belül) + + + Egyéb érték + + + Kiszámított érték + + + Mért teljesítmény + + + Folyamatképesség (általános) + + + Lekérdezési lehetőségek + + + Lekérdezési időintervallum + + + XR vezérlési táblázat + + + CPK elemzési táblázat + + + Minta futtatási diagram + + + Átlagos futási diagram + + + Termelési modell + + + Anyagkód + + + Kezdje el a megfigyelést + + + Monitorozás leállítása + + + chart1 + + + chart1 + + + megjegyzés + + + Összesített eredmények + + + A rétegek száma a veremben + + + Rakodóállomás száma + + + Tesztidő + + + Paletta Kód + + + súly + + + Megjegyzés + + + Eredmény + + + Paletta Kód + + + Idő + + + Tároló Kód + + + Tároló Kód + + + Megjegyzés + + + Eredmény + + + Idő + + + Paletta Kód + + + Megjegyzés + + + Eredmény + + + Idő + + + Naplózás + + + Argumentumok + + + Szerelje össze a lemezes mintavételi ellenőrző állomást + + + Konteiner Behozatal + + + Konteiner Kihúzás + + + Raklap raklap kötés és feltöltés + + + Raklapnyomtató állomás + + + Paraméterelem + + + Min + + + Max + + + Egység + + + Új terjesztési csoport + + + Terjesztési csoport törlése + + + Terjesztési csoport módosítása + + + Visszajelzés szükséges-e vagy sem + + + Engedélyezve vagy sem + + + Ez egy kiváltott olvasás + + + Terjesztési csoport neve + + + Engedélyezve + + + Visszajelzés szükséges-e vagy sem + + + Ez egy kiváltott olvasás + + + Hossz + + + Hozzászólás leírása + + + Kezdő cím + + + Terjesztési csoport konfiguráció + + + Terjesztési csoport neve + + + Kezdő cím + + + Hossz + + + Hozzászólás leírása + + + Excel exportálása + + + Idő lekérdezés + + + Exportálás + + + Lekérdezés + + + Exportálás + + + Lekérdezés + + + Excel exportálása + + + Exportálás + + + Lekérdezés + + + Lekérdezés + + + Újra feltöltés + + + Exportálás + + + Lekérdezés + + + Átlagos Működési Arány + + + Átlagos Ppm + + + Termelési Hibaarány + + + Termelés Bevitel + + + Termelés Kibocsátás + + + Tesztidő + + + Nap + + + Átlagos Működési Arány + + + Átlagos Ppm + + + Optimális Arány + + + Termelés Bevitel + + + Termelés Kibocsátás + + + Átlagos Működési Arány + + + Hónap + + + Átlagos Ppm + + + Termelési Hibaarány + + + Termelés Bevitel Összesen + + + Termelés Kibocsátás Összesen + + + Átlagos Működési Arány + + + Átlagos Ppm + + + Termelési Értékelési Arány + + + Termelés Bevitel Összesen + + + Termelés Kibocsátás Összesen + + + Hét + + + Részegtartalom + + + Részegszám + + + Részegidő + + + Osztály + + + PLC-cím + + + Akkumulátor vonalkódja + + + Alsó kártya kódja + + + Rétegek száma + + + Raklap pozíció száma + + + megjegyzés + + + Összesített eredmények + + + A rétegek száma a veremben + + + Rakodóállomás száma + + + Tesztidő + + + Raklap vonalkód + + + Dobozcímkákód + + + Palettakód + + + Súly + + + Paraméter neve + + + Paraméter értéke + + + Shift + + + Acélhéj kód + + + RFID + + + Statisztikák dátuma + + + Statisztikák dátuma + + + Statisztikai idő + + + Statisztikai idő + + + Befejezés időpontja + + + Kezdés időpontja + + + Vonalkód + + + Befejezés időpontja + + + Kezdés időpontja + + + Lekérdezés típusa + + + Történelmi termelési adatok lekérdezése + + + + + + + + + Statisztika műszakonként + + + Statisztika napról napra + + + Heti statisztika + + + Havi statisztikák + + + Yiwei Power + + + Bejelentkezés + + + Yiwei Power + + + A program indulása + + + 57 Factory + + + Yiwei Power + + + Akkumulátor flip csomagadat B adatgyűjtő rendszer + + + Riasztás naplózása + + + Adatok + + + Adatfigyelés + + + Adatok nyomonkövethetősége + + + Központosított monitorozás + + + Paraméterbeállítások + + + Rendszerbeállítások + + + Felhasználókezelés + + + A program névjegye + + + Kezdőképernyő megjelenítése + + + Exit + + + Kezdőképernyő elrejtése + + + Non-Swipe Mode + + + Intelligens mérő + + + A fázis Feszültség + + + Teljes aktív teljesítmény + + + Teljes teljesítménytényező + + + Feszültségarány + + + Jelenlegi arány + + + Felhalmozott teljesítmény + + + B fázis feszültség + + + C fázisú feszültség + + + A fázis áram + + + B fázisú áram + + + C fázisú áram + + + Phase A Power + + + B fázisú tápellátás + + + C fázisú tápellátás + + + Riasztás Top10 Statisztika + + + Kapacitásstatisztikák + + + Hibás tételstatisztika + + + OK szám + + + Kiemelkedő ár + + + Teljes termelés + + + Elérhetőség + + + Eszköz száma + + + Raktár + + + Tulajdonos + + + Termelési modell + + + Bekapcsolási idő + + + Futásidő + + + Intelligens mérő (eszköz) + + + OK + + + Biztosan kilép a rendszerből? + + + Jelentkezzen ki a rendszerből + + + Mégsem + + + Mégsem + + + OK + + + Biztosan kilép a rendszerből? + + + Jelentkezzen ki a rendszerből + + + Modell törlése + + + Modell hozzáadása + + + Paraméterek mentve + + + Paraméterelem neve + + + Max + + + Min + + + Egység + + + Anyagkód + + + Termelési modell + + + Megjegyzés + + + Jelenlegi modell + + + Termelési modell + + + Anyagkód + + + Jelenlegi modell + + + Add hozzá a PLC-t + + + Nincs beállítva + + + Terjesztési csoport konfiguráció + + + Határozza meg a beállításokat + + + Változó konfiguráció + + + A lefoglalások megjelenítése + + + Rising Edge + + + Heartbeat Address + + + IP-cím + + + Aktív + + + Szívverés állapota + + + Változó módosítása + + + PLC típus + + + Kiszolgálóportok + + + Megjegyzés + + + Szerezze be a MES-paraméter + + + Pöccintési mód bekapcsolása + + + PLC típus konfiguráció + + + Eszköz száma + + + Tulajdonos + + + Raktár + + + Automatikusan kapcsolja át a felügyeleti interfész idejét + + + Nincs olyan művelet, amely automatikusan átkapcsolja a felügyeleti felületet + + + Ügyfél cikkszáma + + + Portszám konfiguráció + + + Nincs működő automatikus zárolási képernyő + + + Automatikus zárolási képernyőidő + + + Hegesztő teljesítménygörbe kijelzések száma + + + A szoftver automatikusan bejelentkezik + + + Automatikus indítás + + + Szál időigényes napló mentése + + + MES/nem MES üzemmód váltás + + + Anemométer + + + A flipping eszköz által feltöltött kötési információ interfészcíme + + + Hibakeresési mód + + + Berendezés riasztó + + + Eszközparaméter alapértéke módosítva + + + Eszközparaméter alapérték kérése + + + Eszköz állapota + + + Alkalmazotti engedélyek ellenőrzése + + + Mérőóra energiafogyasztása + + + Fordítsa meg a csomagot egy hiányos VDA interfészcím lekéréséhez + + + Jogkivonat lekérése + + + Nyersanyag bemeneti információ + + + Termék bejövő + + + Termék kimenő + + + Termékfolyamatadatok + + + A termék feldolgozási eredményadatai + + + PLC konfiguráció + + + MES-beállítások + + + MES paraméter konfiguráció + + + MES konfiguráció + + + PLC konfiguráció + + + Rendszerbeállítások + + + 127.0.0.1 + + + 9600 + + + Felhasználó hozzáadása + + + Üres üzenet + + + Felhasználó törlése + + + Felhasználó módosítása + + + Válassza ki/szüntesse meg az összes kiválasztását + + + Adatok + + + Adatok nyomonkövethetősége + + + Paraméterbeállítások + + + Riasztás naplózása + + + Rendszerbeállítások + + + Felhasználókezelés + + + Adatok + + + Adatok nyomonkövethetősége + + + Felhasználói jogosultságok + + + Felhasználónév + + + Felhasználói jelszó + + + IC-kártya száma + + + Paraméterbeállítások + + + Riasztás naplózása + + + Rendszerbeállítások + + + Felhasználókezelés + + + IC-kártya száma + + + Jelszó megerősítése + + + Felhasználói adatok + + + Felhasználói jogosultságok + + + Felhasználói jelszó + + + Felhasználói adatok + + + Engedélyek konfigurálása + + + Felhasználói művelet + + + Index indítása + + + Változó cím + + + Változó neve + + + Változó cím + + + Változó konfiguráció + + + Terjesztési csoport neve + + + Index indítása + + + Biteltolás/hossz + + + Változó neve + + + Hozzászólás leírása + + + Adattípus + + + Linearitási együttható + + + Eltolás + + + A HMI kézi előugró ablak állapotát sikeresen feltöltötték, kódot + + + A HMI kézi előugró ablak befejezési állapotát sikeresen feltöltötték, kód + + + MES leállás + + + Sikeresen beállították a MES paramétereket + + + A MES nincs bejelentkezve + + + A MES felhasználó kijelentkezett + + + OCV teszteredmények NG + + + PC írási PLC idő sikertelen! + + + A PC PLC-be írási ideje abnormális + + + Adjon hozzá változókat + + + Változó konfiguráció + + + Adattípus + + + Rising Edge + + + Leeső él riasztás + + + Hosszeltolás + + + Változó módosítása + + + Megjegyzés + + + Kezdő cím + + + Változó cím + + + Változó neve + + + Sapka + + + Alsó határ + + + Nem támogatott adattípus + + + Kimenet + + + A termékmodell nem lehet üres! + + + Kiemelkedő ár + + + Információ + + + Módosítás + + + Módosítsa a MES/nem MES módkapcsolást + + + Módosítsa a kapcsolási felügyeleti felület intervallumát + + + Módosítsa a kártyahúzási módot + + + Módosítsa a felügyeleti felület automatikus váltási módját művelet nélkül + + + Módosítsa az automatikus képernyőzárás módját művelet nélkül + + + Módosítsa a görbe megjelenítésének számát + + + Módosítsa a szál időigényes naplómentését + + + Módosítsa a MES paraméterek megszerzését + + + Módosítsa a hibakeresési módot + + + Módosítsa a szoftver automatikus indítási módját + + + A szoftver automatikus bejelentkezési módjának módosítása + + + Módosítsa a zárolási képernyő intervallumát + + + Hagyja le a PLC-hez való csatlakozást + + + Először állítsa le a futást, majd váltson MES-re + + + Egész nap + + + Sikeresen kikapcsolta a MES módot + + + Egyéb nem tervezett leállások + + + Indulás + + + Az A állomásból való kimenő elküldés a PLC-nek + + + A kimenő B állomás elküldje a PLC-nek + + + A kimenő C állomás elküldi a PLC-nek + + + Kibulás sikerült + + + Sikeresen váltott a kártya lehúzási módra + + + Ideiglenes fájl létrehozása sikertelen + + + Törlés + + + Törölje az aktuális átdolgozott vonalkódot + + + Sikeresen törölve + + + Teljesítményérték + + + Fejlesztendő funkciók! + + + Összes időt vesz igénybe a mag bejutása + + + Történelmi riasztás + + + Korábbi adatok + + + Változó + + + A változó neve nem lehet üres + + + A változó neve már létezik + + + Helytelenül formázott változócím + + + Minden egyes hibás tétel + + + Indítsd el a megfigyelést + + + Az indítási megfigyelés meghibásodott + + + Rendellenes minőség + + + Minőségellenőrzés + + + Diagraminicializációs kivétel + + + Helytelen címformátum, „D” betűvel kell kezdődnie, amelyet egy számnak kell követnie + + + A cím formátuma helytelen, tiszta számnak kell lennie + + + A címtartomány meghaladja a határértéket, a végcím pedig nem haladhatja meg a 32767-et + + + Modellválasztás + + + Éjszakai műszak + + + Ütemezett frissítési kivétel + + + Jelentés exportálása sikertelen + + + A jelentés exportálása sikeres volt, megnyitja most? + + + A riasztás exportálása sikeres volt, megnyitja most? + + + Mérnöki változások + + + A PLC-től lekapcsolva + + + Kezdjük a konfigurációs paraméterek betöltését... + + + A kezdési idő nem lehet hosszabb a befejezési időnél + + + Jelenleg MES módban van, kérjük, jelentkezzen be! + + + Jelenleg bejelentkezett + + + Jelenleg nincsenek riasztások + + + Jelenleg nincs bejelentkezve, kérjük, jelentkezzen be! + + + Az aktuális felhasználó kijelentkezett + + + Nincs elegendő jogosultság az aktuálisan bejelentkezett felhasználó számára! + + + Az anyagokra várva + + + Autocfg - sikeres művelet + + + Sikeres csatlakozás a PLC-hez + + + Jelentésrekord megnyitása + + + Riasztási napló megnyitása + + + Befektetés + + + Riasztási TOP10 + + + Riasztási lekérdezés + + + Riasztási elem + + + Tippek + + + Műveleti napló + + + Érték + + + Adatok + + + Adatjelentés exportálása + + + Új változó + + + Új változó sikeresen létrehozva + + + Nincs PLC konfigurációs információ + + + Érvénytelen csoportnév + + + Érvénytelen kezdő cím + + + Idő + + + H + + + Sze + + + Kedd + + + P + + + Szo + + + Cs + + + Szudán + + + Menti a módosított konfigurációt? + + + Akár válts-e a kártya lehúzási módra + + + Biztosan kilép a rendszerből + + + 12 órás adatkivételek frissítése + + + Frissítse rossz diagram kivételt + + + Frissítse a riasztási diagram kivételét + + + Frissítse a hatékonysági vezérlő kivétel + + + A frissítési idő megjelenítése abnormális + + + A frissített energia kijelző abnormális + + + Nincs bejelentkezve + + + Nem található adat, kérjük, tesztelje + + + Engedélyek + + + Nincs elegendő engedély + + + Rossz bejövő anyagok + + + A lekérdezés sikertelen volt: + + + A lekérdezési idő nem haladhatja meg a 7 napot + + + A lekérdezési tartomány nem haladhatja meg az 1 napot + + + Times + + + Nincs elérhető címterület + + + Nincs elérhető csoportnév, kérjük, először adjon hozzá csoportokat az Group.xlsx fájlban + + + Nem található elég hely a címben + + + Rossz cellakód + + + A bejelentkezés sikeres, bejelentkezett felhasználó + + + Bejelentkezési tippek + + + Rossz bejelentkező felhasználó vagy jelszó!!! + + + Jelentkezzen be a rendszerbe + + + Nappali műszak + + + Mentés megerősítése + + + Rendszernapló + + + Hozzászólás leírása + + + Jó termék + + + Nem sikerült megszerezni a paramétereket + + + Kérjük, először jelentkezzen be a kártyájával! + + + Kérjük, töltse ki a bejelentkezési jelszót + + + Kérjük, töltse ki a bejelentkezési felhasználónevét + + + A kezdő cím formátuma helytelen + + + Akna leállítása + + + A belépés sikerült + + + Kibulás sikerült + + + Csatlakoztassa a PLC-t + + + Connect PLC + + + Nem sikerült csatlakozni a PLC-hez, kérjük, ellenőrizze a PLC-kapcsolat konfigurációját, hálózatát + + + Jelentkezzen ki a rendszerből + + + Kommunikációs csoport + + + Konfiguráció mentése sikeres + + + Error + + + A hossznak 0-nál nagyobbnak kell lennie + + + A hossznak 0-nál nagyobb számnak kell lennie + + + Ellenőrzési hiba + + + Alapértelmezett csoport + + + Riasztási lekérdezés + + + A felhasználói lekérdezés sikertelen volt + + + Hibaüzenet + + + A lekérdezés sikertelen volt: + + + A PC PLC-be írási ideje abnormális + + + Az űrlap betöltési kivétel + + + 12 órás adatkivételek frissítése + + + Frissítse a hatékonysági vezérlő kivétel + + + A frissítési idő megjelenítése abnormális + + + A frissített energia kijelző abnormális + + + Frissítse a riasztási diagram kivételét + + + Frissítse rossz diagram kivételt + + + A kilépés sikeres + + + Felhasználó kilépése + + + Hagyja le a PLC-hez való csatlakozást + + + A szoftver automatikus bejelentkezési módjának módosítása + + + Módosítsa a szoftver automatikus indítási módját + + + Módosítsa az automatikus képernyőzárás módját művelet nélkül + + + Módosítsa a zárolási képernyő intervallumát + + + Módosítsa a felügyeleti felület automatikus váltási módját művelet nélkül + + + Módosítsa a hibakeresési módot + + + Módosítsa a kapcsolási felügyeleti felület intervallumát + + + Módosítsa a görbe megjelenítésének számát + + + Módosítsa a kártyahúzási módot + + + Akár válts-e a kártya lehúzási módra + + + Sikeresen váltott a kártya lehúzási módra + + + Az aktuális felhasználó kijelentkezett + + + Tippek + + + Először állítsa le a futást, majd váltson MES-re + + + Módosítsa a MES/nem MES módkapcsolást + + + Sikeresen kikapcsolta a MES módot + + + A MES felhasználó kijelentkezett + + + Módosítsa a MES paraméterek megszerzését + + + Módosítsa a szál időigényes naplómentését + + + A konfigurációs fájl betöltése befejeződött + + + Nincs PLC konfigurációs információ + + + Kérjük ellenőrizze a konfigurációs fájlt + + + Nem sikerült csatlakoztatni a PLC-hez + + + Sikeres csatlakozás a PLC-hez + + + A PLC csatlakoztatásakor kivétel történt + + + A manuális HMI előugró funkció elindult + + + Berendezés hibája + + + Berendezések átalakítása + + + MES leállás + + + Tartozékok, anyagcsere + + + Rossz bejövő anyagok + + + Az anyagokra várva + + + Tisztító ellenőrzés + + + Az anyagkód nem lehet üres! + + + A környezet nem elégedett + + + A felhasználói lekérdezés sikertelen volt + + + A HMI kézi előugró ablak állapotát sikeresen feltöltötték, kódot + + + A HMI kézi előugró ablak befejezési állapotát sikeresen feltöltötték, kód + + + Az akkumulátormag OCV érzékelés A anyagjelző 0 + + + Az akkumulátormag OCV érzékelés B anyagjelző 0 + + + Az akkumulátorcellák kilépésének összes ideje Az A állomásból + + + A B állomásból kilépő akkumulátorcellák összes időbe telik + + + Az akkumulátorcellák C kilépésének összes időbe telt ideje + + + Rossz cellakód + + + Jelentkezzen be a rendszerbe + + + Nappali műszak + + + Mentés megerősítése + + + Az űrlap betöltési kivétel + + + Rendszernapló + + + Hozzászólás leírása + + + Az eredmény adatfeltöltése sikertelen volt + + + Jó termék + + + A manuális HMI előugró funkció elindult + + + Berendezés hibája + + + Berendezések átalakítása + + + Kérjük, először jelentkezzen be a kártyájával! + + + Kérjük ellenőrizze a konfigurációs fájlt + + + A kezdő cím formátuma helytelen + + + Akna leállítása + + + A bejövő állomás és a PLC-nek küldeni + + + A B állomás bejövő állomása és a PLC-nek küldött + + + A bejövő C állomás elküldte a PLC-nek + + + Az A bejövő rakodóállomás anyagjelzője 0 + + + Az B bejövő rakodóállomás anyagjelzője 0 + + + A belépés sikerült + + + Csatlakoztassa a PLC-t + + + Connect PLC + + + Nem sikerült csatlakoztatni a PLC-hez + + + Nem sikerült csatlakozni a PLC-hez, kérjük, ellenőrizze a PLC-kapcsolat konfigurációját, hálózatát + + + A PLC csatlakoztatásakor kivétel történt + + + A kilépés sikeres + + + Felhasználó kilépése + + + Jelentkezzen ki a rendszerből + + + Kommunikációs csoport + + + A csatornaszám + + + Tartozékok, anyagcsere + + + Konfiguráció mentése sikeres + + + A konfigurációs fájl betöltése befejeződött + + + Error + + + Hibaüzenet + + + A hossznak 0-nál nagyobbnak kell lennie + + + A hossznak 0-nál nagyobb számnak kell lennie + + + Hiba történt a konfiguráció érvényesítése során, kérjük, ellenőrizze, hogy a bemenet helyes-e + + + Ellenőrzési hiba + + + Alapértelmezett csoport + + + Csomagoló Doboz Behozatal + + + Csomagoló Doboz Kihozatal + + + Csomagolási Jelvénycímke Nyomtatása + + + Csomagolási Jelvény Információ + + + A Csomagolási Jelvénykód és a Palettakód Kapcsolati Kapcsolata + + + Paletta Információ + + + Engedélyezés + + + Letiltás + + + Export sikeres! + + + Export sikertelen + + \ No newline at end of file diff --git a/Language/Languages.ms.resx b/Language/Languages.ms.resx new file mode 100644 index 0000000..b61994b --- /dev/null +++ b/Language/Languages.ms.resx @@ -0,0 +1,2349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tercuit cuit + + + Gagal menyambung ke PLC, sila semak konfigurasi sambungan PLC, rangkaian + + + Hapuskan Pemboleh Ubah + + + Rising Edge + + + Penggera Tepi Jatuh + + + Ofset + + + Pinggir Jatuh + + + Kumpulan Komunikasi + + + Jenis data + + + Ubahsuai Pembolehubah + + + Panjang + + + Penggera Rising Edge + + + Pemboleh ubah ditambah + + + D40 telah ditetapkan semula 0 + + + Maklumat penggera + + + Jenis penggera + + + Masa Tarikh + + + Log Mesej + + + Masa Tarikh + + + Jenis log + + + Masa Tarikh + + + Maklumat operasi + + + Jenis operasi + + + Log Operasi + + + Penggera Sistem + + + Log Sistem + + + Pp + + + CP + + + Ca + + + PPK + + + Bpk + + + Dev + + + Min + + + SampleSize + + + Kumpulan + + + Maks + + + Min + + + Jumlah + + + kepercayaan kepada tuhan + + + Maks + + + Min + + + Spesifikasi Had Bawah + + + Spesifikasi Maksimum + + + Bilangan kumpulan data + + + Saiz Subkumpulan Sampel + + + Nilai sasaran + + + Sisihan piawai 3x negatif + + + Sisihan piawai (dalam kumpulan) + + + keselurujan + + + Positif 3x SD + + + CPL + + + CPU + + + CP + + + Bpk + + + Ca + + + PPL + + + Ppk + + + PPU + + + Pp + + + CpkGrade + + + Jumlah sampel + + + Ppm < LSL + + + Ppm Toatl + + + Ppm < USL + + + Data kosong + + + Kira cpk + + + Pilihan Analisis + + + Pertanyaan + + + Jana data tiruan + + + Jumlah + + + Statistik + + + Keupayaan proses (dalam kumpulan) + + + Nilai lain + + + Nilai yang dikira + + + Prestasi diukur + + + keselurujan + + + Pilihan pertanyaan + + + Selang masa pertanyaan + + + Carta Kawalan XR + + + Carta Analisis CPK + + + Contoh rajah larian + + + Mean Run Chart + + + Model Pengeluaran + + + Kod Bahan + + + Mula memantau + + + Hentikan pemantauan + + + carta1 + + + carta1 + + + Kenyataan + + + Keputusan gabungan + + + Masa ujian + + + Kod Kontena + + + Kod palet + + + berat + + + Perhatian + + + hasil mahsul + + + Kod Palet + + + zaman + + + Kod Kontena + + + Kod Kontena + + + Perhatian + + + hasil mahsul + + + zaman + + + Kod Palet + + + Perhatian + + + hasil mahsul + + + zaman + + + Pembalakan + + + hujah-hujah + + + Pasang stesen pemeriksaan pensampelan plat + + + Pemasukan Kontena + + + Keluaran Kontena + + + Pengikatan dan muat naik palet palet + + + Stesen percetakan palet + + + Item parameter + + + Min + + + Maks + + + Unit + + + Kumpulan Pengedaran Baharu + + + Hapuskan Kumpulan Pengedaran + + + Ubah suai Kumpulan Pengedaran + + + Sama ada maklum balas diperlukan atau tidak + + + Didayakan atau tidak + + + Adakah ia bacaan yang dicetuskan + + + Nama kumpulan pengedaran + + + Dibenarkan + + + Sama ada maklum balas diperlukan atau tidak + + + Adakah ia bacaan yang dicetuskan + + + Panjang + + + Keterangan komen + + + Alamat permulaan + + + Konfigurasi Kumpulan Pengedaran + + + Nama kumpulan pengedaran + + + Alamat permulaan + + + Panjang + + + Keterangan komen + + + Eksport Excel + + + Pertanyaan masa + + + Eksport + + + Pertanyaan + + + Eksport + + + Pertanyaan + + + Eksport Excel + + + Eksport + + + Pertanyaan + + + Pertanyaan + + + Muat naik semula + + + Eksport + + + Pertanyaan + + + Purata Kadar Operasi + + + Purata Ppm + + + Kadar Hasil Baik + + + Produksi Masuk + + + Produksi Keluar + + + Masa Ujian + + + Hari + + + Purata Kadar Operasi + + + Purata Ppm + + + Kadar Optimum + + + Produksi Masuk + + + Produksi Keluar + + + Purata Kadar Operasi + + + Bulan + + + Purata Ppm + + + Kadar Hasil Baik + + + Jumlah Produksi Masuk + + + Jumlah Produksi Keluar + + + Purata Kadar Operasi + + + Purata Ppm + + + Kadar Hasil Produksi + + + Jumlah Produksi Masuk + + + Jumlah Produksi Keluar + + + Minggu + + + Kandungan Penggera + + + Jumlah Penggera + + + Masa Penggera + + + Kelas + + + Alamat PLC + + + Kod Bar + + + Kod palet asas + + + Nombor Saluran + + + Nombor lokasi palet + + + Kenyataan + + + Keputusan gabungan + + + Bilangan lapisan pada tindanan + + + Nombor Stesen Susun + + + Masa ujian + + + Kod palet + + + Kod Kotak + + + Kod Palet + + + Berat + + + Nama Parameter + + + Nilai Parameter + + + Shift + + + Kod Cangkerang Keluli + + + RFID + + + Tarikh statistik + + + Tarikh statistik + + + Masa statistik + + + Masa statistik + + + Masa tamat + + + Waktu Total + + + Kod bar + + + Masa tamat + + + Waktu Total + + + Jenis Pertanyaan + + + Pertanyaan data pengeluaran sejarah + + + Pertanyaan statistik kapasiti + + + Log pertanyaan data penggera + + + Statistik mengikut Shift + + + Statistik mengikut hari + + + Statistik mengikut minggu + + + Statistik Bulanan + + + Yiwei Power + + + Log masuk + + + Yiwei Power + + + Mula + + + 57 Kilang + + + Yiwei Power + + + Sistem pemerolehan data paket flip bateri B + + + Penggera Log + + + Wawasan + + + Pemantauan data + + + Kebolehkesanan data + + + Pemantauan berpusat + + + Tetapan Parameter + + + Tetapan Sistem + + + Pengurusan Pengguna + + + Penyampai + + + Tunjukkan skrin utama + + + Keluar + + + Sembunyikan Skrin Utama + + + Mod Bukan Leret + + + Meter pintar + + + Voltan Fasa A + + + Jumlah Kuasa Aktif + + + Jumlah faktor kuasa + + + Nisbah voltan + + + Nisbah Semasa + + + Kuasa Terkumpul + + + Voltan Fasa B + + + Voltan Fasa C + + + Arus Fasa A + + + Arus fasa B + + + Arus fasa C + + + Fasa A kuasa + + + Kuasa fasa B + + + Kuasa fasa C + + + Statistik Top10 Penggera + + + Statistik kapasiti + + + Statistik item buruk + + + Nombor OK + + + Kadar Unggul + + + Jumlah Pengeluaran + + + Ketersediaan + + + Nombor peranti + + + Kod Kilang + + + Nombor baris + + + Model Pengeluaran + + + Kuasa tepat pada masanya + + + Masa lampau + + + Meter pintar (peranti) + + + berkenan (bahasa istana) + + + Adakah anda pasti mahu keluar dari sistem? + + + Log keluar dari sistem + + + Dibatalkan + + + Dibatalkan + + + berkenan (bahasa istana) + + + Adakah anda pasti mahu keluar dari sistem? + + + Log keluar dari sistem + + + Hapuskan model + + + Tambah model + + + Parameter disimpan + + + Nama item parameter + + + Maks + + + Min + + + Unit + + + Kod Bahan + + + Model Pengeluaran + + + Perhatian + + + Model semasa + + + Model Pengeluaran + + + Kod Bahan + + + Model semasa + + + Tambah PLC + + + Nyahtetap + + + Konfigurasi Kumpulan Pengedaran + + + Tentukan tetapan + + + Konfigurasi Pemboleh Ubah + + + setubuh + + + Rising Edge + + + Alamat Denyutan Jantung + + + Alamat IP + + + Aktif + + + Status degupan jantung + + + Ubahsuai Pembolehubah + + + Jenis PLC + + + Nombor port + + + Perhatian + + + Dapatkan parameter mes + + + Hidupkan mod leret + + + Konfigurasi jenis PLC + + + Nombor peranti + + + Nombor baris + + + Kod Kilang + + + Tukar masa antara muka pemantauan secara automatik + + + Tiada operasi yang menukar antara muka pemantauan secara automatik + + + Konfigurasi alamat IP + + + Konfigurasi nombor port + + + Tiada skrin kunci automatik yang beroperasi + + + Masa skrin kunci automatik + + + Bilangan paparan lengkung kuasa pengimpal + + + Perisian log masuk secara automatik + + + Mulakan secara automatik + + + Penjimatan log yang memakan masa benang + + + Mod mes/bukan mes bertukar + + + Anemometer + + + Alamat antaramuka untuk memuat naik maklumat pengikatan peranti membuka beg + + + Mod Nyahpepijat + + + Penggera peralatan + + + Titik tetapan parameter peranti berubah + + + Permintaan setpoint parameter peranti + + + Status peranti + + + Pengesahan Kebenaran Pekerja + + + Penggunaan tenaga meter + + + Terbalikkan paket untuk menarik alamat antara muka VDA yang tidak lengkap + + + Dapatkan Token + + + Maklumat input bahan mentah + + + Produk masuk + + + Produk keluar + + + Data Proses Produk + + + Data hasil pemprosesan produk + + + Konfigurasi PLC + + + Tetapan mes + + + Konfigurasi parameter mes + + + Konfigurasi mes + + + Konfigurasi PLC + + + Tetapan Sistem + + + 127.0.0.1 + + + 9600 + + + Tambah pengguna + + + Mesej kosong + + + Hapuskan pengguna + + + Ubah suai pengguna + + + Pilih/nyahpilih semua + + + Wawasan + + + Kebolehkesanan data + + + Tetapan Parameter + + + Penggera Log + + + Tetapan Sistem + + + Pengurusan Pengguna + + + Wawasan + + + Kebolehkesanan data + + + Kebenaran Pengguna + + + & Simpan Imej Sebagai + + + Kata laluan pengguna + + + Nombor kad IC + + + Tetapan Parameter + + + Penggera Log + + + Tetapan Sistem + + + Pengurusan Pengguna + + + Nombor kad IC + + + Sahkan Kata Laluan + + + Maklumat Pengguna + + + Kebenaran Pengguna + + + Kata laluan pengguna + + + Maklumat Pengguna + + + Konfigurasi Kebenaran + + + Tindakan pengguna + + + Indeks Mula + + + Alamat boleh ubah + + + Nama pemboleh ubah + + + Alamat boleh ubah + + + Konfigurasi Pemboleh Ubah + + + Nama kumpulan pengedaran + + + Indeks Mula + + + Panjang + + + Nama pemboleh ubah + + + Keterangan komen + + + Jenis data + + + Pekali linear + + + Ofset + + + Nombor kad IC + + + Mes tidak log masuk + + + Log masuk MES berjaya, log masuk pengguna + + + Status pop timbul manual HMI telah berjaya dimuat naik, kod + + + Status akhir tetingkap pop timbul manual HMI telah berjaya dimuat naik, kod + + + MES Downtime + + + Tetapan parameter MES berjaya + + + Mes tidak log masuk + + + Pengguna MES telah log keluar + + + Keputusan ujian OCV NG + + + Masa PC tulis PLC gagal! + + + PC menulis masa PLC yang tidak normal + + + Tambah pemboleh ubah + + + Konfigurasi Pemboleh Ubah + + + Jenis data + + + Rising Edge + + + Penggera Tepi Jatuh + + + Ofset panjang + + + Ubahsuai Pembolehubah + + + Perhatian + + + Alamat permulaan + + + Alamat boleh ubah + + + Nama pemboleh ubah + + + Cap + + + Had bawah + + + Jenis data tidak disokong + + + Kedua-dua kata laluan tidak sepadan + + + Output + + + Model produk tidak boleh kosong + + + Model produk tidak boleh kosong! + + + Model produk dan senarai parameter tidak boleh kosong + + + Kadar Unggul + + + Parameter disimpan + + + Gagal menyimpan + + + Berjaya disimpan + + + Maklumat + + + ubah suai + + + Ubah suai pensuisan mod MES/bukan MES + + + Ubah suai selang antara muka pemantauan suis + + + Ubah suai mod leret kad + + + Ubah suai mod antara muka pemantauan penukaran automatik tanpa operasi + + + Ubah suai kaedah kunci skrin automatik tanpa operasi + + + Ubah suai kuantiti paparan lengkung + + + Ubah suai penyimpanan log memakan masa benang + + + Ubah suai dan dapatkan parameter MES + + + Ubah suai mod penyahpepijatan + + + Ubah suai mod permulaan automatik perisian + + + Ubah suai kaedah log masuk automatik perisian + + + Ubah suai selang skrin kunci + + + Hentikan sambungan dengan PLC + + + Hentikan berjalan dahulu dan kemudian tukar kepada MES + + + Sepanjang hari + + + Matikan mod MES berjaya + + + Lain-lain downtime yang tidak dirancang + + + Keluar + + + Stesen keluar A dihantar ke PLC + + + Stesen keluar B dihantar ke PLC + + + Stesen keluar C dihantar ke PLC + + + Keluar gagal + + + Berjaya menukar mod leret kad + + + Gagal mencipta fail sementara + + + tadahkan + + + Padamkan kod bar yang diubah suai semasa + + + Berjaya dihapuskan + + + Nilai kuasa + + + Ubah Suai Variabel + + + Gagal mengubahsuai pemboleh ubah + + + Ubah suai pengguna + + + Gagal mengubah suai pengguna + + + Ubah suai Kumpulan Pengedaran + + + Gagal mengubah suai kumpulan pengedaran: + + + Berhenti berlari sebelum bertukar mes + + + Sepanjang hari + + + Keluar + + + Gagal mencipta fail sementara + + + tadahkan + + + Hapuskan Pemboleh Ubah + + + Gagal menghapuskan pemboleh ubah + + + Hapuskan model + + + Gagal dihapuskan: + + + Berjaya dihapuskan + + + Nilai kuasa + + + Hapuskan petunjuk + + + Gagal menghapuskan pengguna + + + Hapuskan Kumpulan Pengedaran + + + Gagal menghapuskan kumpulan pengedaran + + + Ciri-ciri yang akan dibangunkan! + + + Jumlah masa untuk menggulung teras memasuki stesen + + + Gagal memuatkan konfigurasi sistem + + + Konfigurasi sistem berjaya dimuatkan + + + Penggera sejarah + + + Data sejarah + + + Parameter berjaya diubah suai + + + Tetapan Parameter + + + ubah + + + Nama pemboleh ubah tidak boleh kosong + + + Nama pemboleh ubah sudah wujud + + + Nama pemboleh ubah tidak wujud + + + Nama pemboleh ubah tidak boleh kosong + + + Nama pemboleh ubah sudah wujud + + + Alamat pemboleh ubah yang diformat dengan salah + + + Setiap item yang rosak + + + Mulakan mulakan pemantauan + + + Gagal memulakan pemantauan permulaan + + + Kualiti yang tidak normal + + + Pemeriksaan kualiti + + + Pengecualian permulaan carta + + + Format alamat yang salah, harus bermula dengan 'D' diikuti dengan nombor + + + Format alamat tidak betul, ia sepatutnya nombor tulen + + + Julat alamat melebihi had, dan alamat akhir tidak boleh melebihi 32767 + + + Kod bahan yang sepadan dengan model tidak boleh kosong + + + Pemilihan model + + + syif malam + + + Pengecualian penyegaran berjadual + + + Eksport laporan gagal + + + Eksport laporan berjaya, sama ada untuk membukanya sekarang + + + Eksport laporan berjaya, adakah anda mahu membukanya sekarang? + + + Penggera eksport berjaya, adakah anda mahu membukanya sekarang? + + + Perubahan kejuruteraan + + + Terputus dari PLC + + + Mula memuatkan parameter konfigurasi… + + + Masa mula tidak boleh lebih besar daripada masa tamat + + + Pada masa ini dalam mod mes, sila log masuk + + + Buat masa ini dalam mod mes, sila log masuk! + + + Kini log masuk + + + Sedang log masuk, adakah anda ingin menukar mod leret + + + Sedang log masuk, adakah anda ingin menukar mod leret!! + + + Tiada penggera pada masa ini + + + Anda belum log masuk. Sila log masuk sebelum meneruskan + + + Anda belum log masuk buat masa ini, sila log masuk terlebih dahulu! + + + Anda belum log masuk, sila log masuk + + + Anda belum log masuk, sila log masuk! + + + Pengguna semasa telah log keluar + + + Kebenaran pengguna log masuk semasa tidak mencukupi + + + Keistimewaan tidak mencukupi untuk pengguna log masuk semasa! + + + Peranti semasa sedang berjalan. Untuk pertanyaan, sila tekan butang berhenti terlebih dahulu! + + + Menunggu bahan + + + berjaya + + + Berjaya menyambung ke PLC + + + Buka rekod laporan + + + Buka log penggera + + + Melabur + + + Hubungi polis TOP10 + + + Pertanyaan penggera + + + Item penggera + + + Petunjuk + + + Log Operasi + + + Nilai + + + Wawasan + + + Eksport Laporan Data + + + Pemboleh Ubah Baharu + + + Pemboleh ubah baharu berjaya dicipta + + + Tiada maklumat konfigurasi PLC + + + Nama kumpulan tidak sah + + + Alamat mula tidak sah + + + zaman + + + Sakit perut + + + Ke tandas + + + Selasa + + + Friday + + + Sabtu + + + Khamis + + + Ahad + + + Adakah anda ingin menyimpan konfigurasi yang diubah suai? + + + Sama ada untuk mematikan mod mes + + + Sama ada untuk mematikan mod mes! + + + Hapus atau tidak + + + Adakah anda pasti mahu keluar dari sistem + + + Adakah anda mahu menghapuskan model + + + Sama ada untuk menukar mod leret kad + + + Adakah anda pasti mahu keluar dari sistem + + + Kemas kini pengecualian data selama 12 jam + + + Kemas kini pengecualian carta yang buruk + + + Kemas kini pengecualian carta penggera + + + Kemas kini pengecualian kawalan kecekapan + + + Paparan masa kemas kini tidak normal + + + Kemas kini paparan tenaga tidak normal + + + Tidak log masuk + + + Tiada data ditemui, sila uji + + + Kebenaran + + + Kebenaran tidak mencukupi + + + Bahan masuk yang lemah + + + Pertanyaan gagal: + + + Tindakan pertanyaan + + + Masa pertanyaan tidak boleh melebihi 7 hari + + + Julat pertanyaan tidak boleh melebihi 1 hari + + + Pengeksponenan + + + Ruang alamat tidak tersedia + + + Tiada nama kumpulan yang tersedia, sila tambah kumpulan dalam Group.xlsx terlebih dahulu + + + Ruang alamat tidak mencukupi ditemui + + + Tambah pemboleh ubah + + + Gagal menambah pemboleh ubah + + + Tambah model + + + Tambah Kegagalan: Pengubahsuaian sudah wujud, tambah lagi + + + Gagal ditambah + + + Berjaya ditambah + + + Tambah pengguna + + + Gagal menambah pengguna: + + + Hapuskan Pemboleh Ubah + + + Gagal menambah kumpulan pengedaran: + + + Kumpulan komunikasi berjaya ditambah + + + Kod bahan tidak boleh kosong + + + Pemeriksaan pembersihan + + + Kod bahan tidak boleh kosong! + + + pengguna + + + Nama pengguna tidak boleh kosong + + + Kata laluan pengguna tidak boleh kosong + + + Persekitaran tidak memuaskan + + + Pertanyaan pengguna gagal + + + Pengesanan OCV sel bateri A mempunyai tanda bahan 0 + + + Pengesanan OCV sel bateri B mempunyai tanda bahan 0 + + + Jumlah masa untuk sel bateri keluar A + + + Jumlah masa untuk sel bateri keluar B + + + Jumlah masa untuk sel bateri keluar C + + + Kod sel bateri yang rosak + + + Log masuk berjaya, log masuk pengguna + + + Petua Log Masuk + + + Pengguna log masuk atau kata laluan salah!!! + + + Log masuk ke sistem + + + Shif hari + + + Sahkan Simpan + + + Pengecualian pemuatan borang + + + Sahkan kata laluan tidak boleh kosong + + + Input manual dilarang, sila gunakan imbasan jenama untuk masuk + + + Log Sistem + + + Keterangan komen + + + Nama pengguna sudah wujud + + + Sila leret kad anda untuk log masuk terlebih dahulu + + + Sila log masuk dengan kad anda terlebih dahulu! + + + Produk yang baik + + + Gagal mendapatkan parameter + + + Sila log masuk dengan kad anda terlebih dahulu! + + + Sila isikan kata laluan log masuk + + + Sila isikan nama pengguna log masuk + + + Format alamat mula tidak betul + + + Pit stop + + + Masuk gagal + + + Keluar gagal + + + Sambungkan PLC + + + Connect PLC + + + Gagal menyambung ke PLC, sila semak konfigurasi sambungan PLC, rangkaian + + + Log keluar dari sistem + + + Kumpulan Komunikasi + + + Sila pilih model produk + + + Sila pilih pemboleh ubah untuk diubah suai + + + Konfigurasi berjaya disimpan + + + kekasaran + + + Panjang mesti lebih besar daripada 0 + + + Panjang mesti nombor yang lebih besar daripada sifar + + + Ralat pengesahan + + + Kumpulan lalai + + + Kod Bahan + + + Kod RFID Cawan + + + Kelajuan Angin + + + Nombor Alat Angin + + + Maklumat + + + Tanda + + + Pertanyaan penggera + + + Pertanyaan pengguna gagal + + + Peringatan ralat + + + Pertanyaan gagal: + + + PC menulis masa PLC yang tidak normal + + + Pengecualian pemuatan borang + + + Kemas kini pengecualian data selama 12 jam + + + Kemas kini pengecualian kawalan kecekapan + + + Paparan masa kemas kini tidak normal + + + Kemas kini paparan tenaga tidak normal + + + Kemas kini pengecualian carta penggera + + + Kemas kini pengecualian carta yang buruk + + + Keluar berjaya + + + Keluar daripada pengguna + + + Hentikan sambungan dengan PLC + + + Ubah suai kaedah log masuk automatik perisian + + + Ubah suai mod permulaan automatik perisian + + + Ubah suai kaedah kunci skrin automatik tanpa operasi + + + Ubah suai selang skrin kunci + + + Ubah suai mod antara muka pemantauan penukaran automatik tanpa operasi + + + Ubah suai mod penyahpepijatan + + + Ubah suai selang antara muka pemantauan suis + + + Ubah suai kuantiti paparan lengkung + + + Ubah suai mod leret kad + + + Sama ada untuk menukar mod leret kad + + + Berjaya menukar mod leret kad + + + Pengguna semasa telah log keluar + + + Petunjuk + + + Hentikan berjalan dahulu dan kemudian tukar kepada MES + + + Ubah suai pensuisan mod MES/bukan MES + + + Matikan mod MES berjaya + + + Pengguna MES telah log keluar + + + Ubah suai dan dapatkan parameter MES + + + Ubah suai penyimpanan log memakan masa benang + + + Pemuatan fail konfigurasi selesai + + + Tiada maklumat konfigurasi PLC + + + Sila semak profil + + + Gagal menyambung ke PLC + + + Berjaya menyambung ke PLC + + + Pengecualian berlaku semasa menyambung ke PLC + + + Sila pilih pemboleh ubah untuk dihapuskan + + + Akibatnya, muat naik data gagal + + + Produk yang baik + + + Fungsi pop timbul HMI manual dicetuskan + + + Kegagalan peralatan + + + Transformasi peralatan + + + Sila log masuk dengan kad anda terlebih dahulu! + + + Sila semak profil + + + Format alamat mula tidak betul + + + Pit stop + + + MES Downtime + + + Aksesori, penggantian bahan + + + Bahan masuk yang lemah + + + Menunggu bahan + + + Pemeriksaan pembersihan + + + Persekitaran tidak memuaskan + + + Lain-lain downtime yang tidak dirancang + + + Status pop timbul manual HMI telah berjaya dimuat naik, kod + + + Status akhir tetingkap pop timbul manual HMI telah berjaya dimuat naik, kod + + + Sila log masuk dengan kad anda terlebih dahulu! + + + Sila semak profil + + + Format alamat mula tidak betul + + + Pit stop + + + Masuk ke stesen A dan hantar ke PLC + + + Masuk ke stesen B dan hantar ke PLC + + + Masuk ke stesen C dan hantar ke PLC + + + Stesen pemuatan masuk A mempunyai tanda bahan 0 + + + Stesen pemuatan masuk B mempunyai tanda bahan 0 + + + Masuk gagal + + + Sambungkan PLC + + + Connect PLC + + + Gagal menyambung ke PLC + + + Gagal menyambung ke PLC, sila semak konfigurasi sambungan PLC, rangkaian + + + Pengecualian berlaku semasa menyambung ke PLC + + + Keluar berjaya + + + Keluar daripada pengguna + + + Log keluar dari sistem + + + Pilih model pengeluaran yang anda ingin hapuskan + + + Kumpulan Komunikasi + + + Nama kumpulan pengedaran tidak wujud! + + + Nama kumpulan pengedaran tidak boleh kosong! + + + Nama kumpulan pengedaran sudah wujud + + + Nombor saluran + + + Aksesori, penggantian bahan + + + Konfigurasi berjaya disimpan + + + Pemuatan fail konfigurasi selesai + + + kekasaran + + + Peringatan ralat + + + Panjang mesti lebih besar daripada 0 + + + Panjang mesti nombor yang lebih besar daripada sifar + + + Nama item + + + Ralat berlaku semasa mengesahkan konfigurasi, sila semak sama ada input adalah betul + + + Ralat pengesahan + + + Kumpulan lalai + + + Kotak Pembungkusan Masuk + + + Kotak Pembungkusan Keluar + + + Pencetakan Label Mark Kotak + + + Maklumat Mark Kotak + + + Hubungan Pengikatan Kode Mark Kotak dan Kode Palet + + + Maklumat Palet + + + Mengaktifkan + + + Melumpuhkan + + + Pengeksportan berjaya! + + + Pengeksportan gagal + + \ No newline at end of file diff --git a/Language/Languages.resx b/Language/Languages.resx new file mode 100644 index 0000000..ad6c42f --- /dev/null +++ b/Language/Languages.resx @@ -0,0 +1,2103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 添加通信组 + + + 操作 + + + 组名 + + + 是否启用 + + + 反馈PLC + + + 触发读取 + + + 长度 + + + PLC编号 + + + 备注 + + + 起始地址 + + + 通信组配置 + + + D40已复位0 + + + 报警信息 + + + 报警类型 + + + 日期时间 + + + 日志信息 + + + 日期时间 + + + 日志类型 + + + 日期时间 + + + 操作信息 + + + 操作类型 + + + 操作日志 + + + 系统报警 + + + 系统日志 + + + Pp + + + Cp + + + Ca + + + PPK + + + CPK + + + Dev + + + Mean + + + SampleSize + + + Groups + + + Max + + + Min + + + Total + + + 平均值 + + + 最大值 + + + 最小值 + + + 规格下限 + + + 规格上限 + + + 数据组数 + + + 样本子组大小 + + + 目标值 + + + 负3倍标准差 + + + 标准差(组内) + + + 标准差(整体) + + + 正3倍标准差 + + + CPL + + + CPU + + + Cp + + + Cpk + + + Ca + + + PPL + + + Ppk + + + PPU + + + Pp + + + CpkGrade + + + 样本总数 + + + PPM < LSL + + + PPM Toatl + + + PPM < USL + + + 清空数据 + + + 计算CPK + + + 分析选项 + + + 查 询 + + + 生成虚拟数据 + + + 常 量 + + + 统 计 值 + + + 工序能力(组内) + + + 其他值 + + + 计 算 值 + + + 实测性能 + + + 工序能力(整体) + + + 查询选项 + + + 查询时间区间 + + + XR控制图 + + + CPK分析图 + + + 样本运行图 + + + 均值运行图 + + + 生产型号 + + + 物料编码 + + + 开始监控 + + + 停止监控 + + + chart1 + + + chart1 + + + 备注 + + + 综合结果 + + + 叠盘层数 + + + 叠盘工位号 + + + 测试时间 + + + 箱唛码 + + + 栈板码 + + + 重量 + + + 栈板码 + + + 备注 + + + 结果 + + + 时间 + + + 箱唛码 + + + 箱唛码 + + + 备注 + + + 结果 + + + 测试时间 + + + 栈板码 + + + 备注 + + + 结果 + + + 时间 + + + 日志记录 + + + 参数 + + + 组盘抽检工位 + + + 包装箱进站 + + + 包装箱出站 + + + 卡板托盘绑定上传 + + + 箱唛打印工位 + + + 参数项 + + + 最小值 + + + 最大值 + + + 单位 + + + 新增通信组 + + + 删除通信组 + + + 修改通信组 + + + 是否需要反馈结果 + + + 是否启用 + + + 是否为触发读取 + + + 通信组名称 + + + 启用 + + + 是否需要反馈结果 + + + 是否为触发读取 + + + 长度 + + + 备注说明 + + + 起始地址 + + + 通信组配置 + + + 通信组名称 + + + 起始地址 + + + 长度 + + + 备注说明 + + + 导 出 Excel + + + 时 间 查 询 + + + 导 出 + + + 查 询 + + + 导 出 + + + 查 询 + + + 导 出 Excel + + + 导 出 + + + 查 询 + + + 查 询 + + + 补 传 + + + 导 出 + + + 查 询 + + + 稼动率均值 + + + PPM均值 + + + 良品率 + + + 产品投入 + + + 产品产出 + + + 测试时间 + + + 日期 + + + 稼动率均值 + + + PPM均值 + + + 良品率 + + + 产品投入 + + + 产品产出 + + + 稼动率均值 + + + 月份 + + + PPM均值 + + + 良品率 + + + 产品投入 + + + 产品产出 + + + 稼动率均值 + + + PPM均值 + + + 良品率 + + + 累计投入 + + + 累计产出 + + + 周别 + + + 报警内容 + + + 报警次数 + + + 报警时间 + + + 类别 + + + PLC地址 + + + 电池条码 + + + 底托卡板码 + + + 通道编号 + + + 托盘位置号 + + + 备注 + + + 结果 + + + 叠盘层数 + + + 叠盘工位号 + + + 测试时间 + + + 托盘码 + + + 箱唛码 + + + 栈板码 + + + 重量 + + + 参数名 + + + 参数值 + + + 班次 + + + 电芯码 + + + RFID + + + 统计日期 + + + 统计日期 + + + 统计时间 + + + 统计时间 + + + 结束时间 + + + 开始时间 + + + 条码 + + + 结束时间 + + + 开始时间 + + + 查询类型 + + + 历史生产数据查询 + + + 产能统计查询 + + + 日志报警数据查询 + + + 按班次统计 + + + 按日统计 + + + 按周统计 + + + 按月统计 + + + 亿纬动力 + + + 登录 + + + 亿纬动力 + + + 启动 + + + 57 工厂 + + + 亿纬动力 + + + 自动打标管理系统 + + + 日志报警 + + + 数据分析 + + + 数据监控 + + + 数据追溯 + + + 集中监控 + + + 参数设置 + + + 系统设置 + + + 用户管理 + + + 关于 + + + 显示主界面 + + + 退出 + + + 隐藏主界面 + + + 非刷卡模式 + + + 智能电表 + + + A相电压 + + + 总有功功率 + + + 总功率因素 + + + 电压变比 + + + 电流变比 + + + 累计电能 + + + B相电压 + + + C相电压 + + + A相电流 + + + B相电流 + + + C相电流 + + + A相功率 + + + B相功率 + + + C相功率 + + + 告警TOP10统计 + + + 产能统计 + + + 不良项统计 + + + OK数 + + + 优率 + + + 生产总数 + + + 稼动率 + + + 设备编号 + + + 工厂代号 + + + 线体编号 + + + 生产型号 + + + 开机时间 + + + 运行时间 + + + 智能电表(设备) + + + 确定 + + + 是否确认要退出系统? + + + 退出系统 + + + 取消 + + + 取消 + + + 确定 + + + 是否确认要退出系统? + + + 退出系统 + + + 删除型号 + + + 添加型号 + + + 保存参数 + + + 参数项名称 + + + 最大值 + + + 最小值 + + + 单位 + + + 物料编码 + + + 生产型号 + + + 备注 + + + 当前型号 + + + 生产型号 + + + 物料编码 + + + 当前型号 + + + 添加PLC + + + 取消设置 + + + 通信组配置 + + + 确定设置 + + + 变量配置 + + + 设置 + + + 操作 + + + 心跳地址 + + + IP地址 + + + 激活状态 + + + 心跳状态 + + + PLC编号 + + + PLC类型 + + + 端口号 + + + 备注 + + + 获取MES参数 + + + 开启刷卡模式 + + + PLC类型配置 + + + 设备编号 + + + 产线编号 + + + 工厂代码 + + + 自动切换监控界面时间 + + + 无操作自动切换监控界面 + + + IP地址配置 + + + 端口号配置 + + + 无操作自动锁屏 + + + 自动锁屏时间 + + + 焊机功率曲线显示数量 + + + 软件自动登录 + + + 开机自动启动 + + + 线程耗时日志保存 + + + MES/非MES模式切换 + + + 风速仪 + + + 调试模式 + + + 设备报警 + + + 设备参数设定值变更 + + + 设备参数设定值请求 + + + 设备状态 + + + 员工权限校验 + + + 电表能耗 + + + 获取Token + + + 原材料投入信息 + + + 产品进站 + + + 产品出站 + + + 产品加工过程数据 + + + 产品加工结果数据 + + + PLC配置 + + + MES设置 + + + MES参数配置 + + + MES配置 + + + PLC配置 + + + 系统设置 + + + 127.0.0.1 + + + 9600 + + + 添加用户 + + + 清空信息 + + + 删除用户 + + + 修改用户 + + + 全选/不选 + + + 数据分析 + + + 数据追溯 + + + 参数设置 + + + 日志报警 + + + 系统设置 + + + 用户管理 + + + 数据分析 + + + 数据追溯 + + + 用户权限 + + + 用户名 + + + 用户密码 + + + IC卡号 + + + 参数设置 + + + 日志报警 + + + 系统设置 + + + 用户管理 + + + IC卡号 + + + 确认密码 + + + 用户信息 + + + 用户权限 + + + 用户密码 + + + 用户信息 + + + 权限配置 + + + 用户操作 + + + 起始索引 + + + 变量地址 + + + 变量名称 + + + 变量地址 + + + 变量配置 + + + 通信组名称 + + + 起始索引 + + + 位偏移/长度 + + + 变量名称 + + + 备注说明 + + + 数据类型 + + + 线性系数 + + + 偏移量 + + + HMI手动弹窗状态已上传成功,代码 + + + HMI手动弹窗结束状态已上传成功,代码 + + + MES停机 + + + MES参数设置成功 + + + MES未登录 + + + MES用户已注销 + + + OCV测试结果NG + + + PC写入PLC时间失败! + + + PC写入PLC时间异常 + + + 添加变量 + + + 变量配置 + + + 数据类型 + + + 操作 + + + 组名 + + + 长度偏移 + + + PLC编号 + + + 备注 + + + 起始地址 + + + 变量地址 + + + 变量名称 + + + 上限 + + + 下限 + + + 不支持的数据类型 + + + 产出 + + + 产品型号不能为空! + + + 优率 + + + 信息 + + + 修改 + + + 修改MES/非MES模式切换 + + + 修改切换监控界面间隔时间 + + + 修改刷卡模式 + + + 修改无操作自动切换监控界面方式 + + + 修改无操作自动锁屏方式 + + + 修改曲线显示数量 + + + 修改线程耗时日志保存 + + + 修改获取MES参数 + + + 修改调试模式 + + + 修改软件自动启动方式 + + + 修改软件自动登录方式 + + + 修改锁屏间隔时间 + + + 停止与PLC连接 + + + 先停止运行再切换MES + + + 全天 + + + 关闭MES模式成功 + + + 其它非计划停机 + + + 出站 + + + 出站A工位发送给PLC + + + 出站B工位发送给PLC + + + 出站C工位发送给PLC + + + 切换刷卡模式成功 + + + 创建临时文件失败 + + + 删除 + + + 删除当前复投条码 + + + 删除成功 + + + 功率值 + + + 功能待开发中! + + + 卷芯进站共耗时 + + + 历史报警 + + + 历史数据 + + + 变量 + + + 变量名不能为空 + + + 变量名已存在 + + + 变量地址格式不正确 + + + 各不良项 + + + 启动开始监控 + + + 启动开始监控失败 + + + 品质异常 + + + 品质检查 + + + 图表初始化异常 + + + 地址格式不正确,应以'D'开头后跟数字 + + + 地址格式不正确,应是纯数字 + + + 地址范围超出限制,结束地址不能超过32767 + + + 型号选择 + + + 夜班 + + + 定时刷新异常 + + + 导出报表失败 + + + 导出报表成功,是否立即打开? + + + 导出报警成功,是否立即打开? + + + 工程变更 + + + 已断开与PLC + + + 开始加载配置参数…… + + + 开始时间不能大于结束时间 + + + 当前为MES模式,请登录! + + + 当前已登录 + + + 当前无报警 + + + 当前未登录,请登录! + + + 当前用户已注销 + + + 当前登录用户权限不足! + + + 待料 + + + 成功 + + + 成功连接PLC + + + 打开报表记录 + + + 打开报警记录 + + + 投入 + + + 告警TOP10 + + + 报警查询 + + + 报警项 + + + 提示 + + + 操作日志 + + + 数值 + + + 数据分析 + + + 数据报表导出 + + + 新变量 + + + 新建变量成功 + + + 无PLC配置信息 + + + 无效的组名 + + + 无效的起始地址 + + + 时间 + + + 星期一 + + + 星期三 + + + 星期二 + + + 星期五 + + + 星期六 + + + 星期四 + + + 星期日 + + + 是否保存修改的配置? + + + 是否切换刷卡模式 + + + 是否确定要退出系统 + + + 更新12小时数据异常 + + + 更新不良图表异常 + + + 更新报警图表异常 + + + 更新效率控件异常 + + + 更新时间显示异常 + + + 更新能源显示异常 + + + 未登录 + + + 未能查到数据,请检测 + + + 权限 + + + 权限不足 + + + 来料不良 + + + 查询失败: + + + 查询时间不能超过7天 + + + 查询范围不能超过1天 + + + 次数 + + + 没有可用的地址空间 + + + 没有可用的组名,请先在Group.xlsx中添加组 + + + 没有找到足够大的地址空间 + + + 电芯码不良 + + + 登录成功,登录用户 + + + 登录提示 + + + 登录用户或密码错误!!! + + + 登录系统 + + + 白班 + + + 确认保存 + + + 系统日志 + + + 组名不能为空 + + + 良品 + + + 获取参数失败 + + + 请先刷卡登录! + + + 请填写登录密码 + + + 请填写登录用户名 + + + 起始地址格式不正确 + + + 进站 + + + 进站失败 + + + 出站失败 + + + 连接PLC + + + 连接PLC中 + + + 连接PLC失败,请检查PLC连接配置,网络 + + + 退出系统 + + + 通信组 + + + 配置保存成功 + + + 错误 + + + 长度必须大于0 + + + 长度必须是大于0的数字 + + + 验证错误 + + + 默认组 + + + 物料编码 + + + RFID托杯码 + + + 风速 + + + 风设备编号 + + + 信息 + + + 标志 + + + 告警查询 + + + 用户查询失败 + + + 错误提示 + + + 查询失败: + + + PC写入PLC时间异常 + + + 窗体加载异常 + + + 更新12小时数据异常 + + + 更新效率控件异常 + + + 更新时间显示异常 + + + 更新能源显示异常 + + + 更新报警图表异常 + + + 更新不良图表异常 + + + 退出成功 + + + 退出用户 + + + 停止与PLC连接 + + + 修改软件自动登录方式 + + + 修改软件自动启动方式 + + + 修改无操作自动锁屏方式 + + + 修改锁屏间隔时间 + + + 修改无操作自动切换监控界面方式 + + + 修改调试模式 + + + 修改切换监控界面间隔时间 + + + 修改曲线显示数量 + + + 修改刷卡模式 + + + 是否切换刷卡模式 + + + 切换刷卡模式成功 + + + 当前用户已注销 + + + 提示 + + + 先停止运行再切换MES + + + 修改MES/非MES模式切换 + + + 关闭MES模式成功 + + + MES用户已注销 + + + 修改获取MES参数 + + + 修改线程耗时日志保存 + + + 配置文件加载完成 + + + 无PLC配置信息 + + + 请检查配置文件 + + + 连接PLC失败 + + + 成功连接PLC + + + 连接PLC时发生异常 + + + 触发了手动HMI弹窗功能 + + + 设备故障 + + + 设备转型 + + + MES停机 + + + 配件,物料更换 + + + 来料不良 + + + 待料 + + + 清洁点检 + + + 物料编码不能为空! + + + 环境不满足 + + + 其它非计划停机 + + + HMI手动弹窗状态已上传成功,代码 + + + HMI手动弹窗结束状态已上传成功,代码 + + + 用户查询失败 + + + 电芯OCV检测A有料标志为0 + + + 电芯OCV检测B有料标志为0 + + + 电芯出站A共耗时 + + + 电芯出站B共耗时 + + + 电芯出站C共耗时 + + + 电芯码不良 + + + 登录系统 + + + 白班 + + + 确认保存 + + + 窗体加载异常 + + + 系统日志 + + + 组名不能为空 + + + 结果数据上传失败 + + + 良品 + + + 触发了手动HMI弹窗功能 + + + 设备故障 + + + 设备转型 + + + 请先刷卡登录! + + + 请检查配置文件 + + + 起始地址格式不正确 + + + 进站 + + + 进站A工位发送给PLC + + + 进站B工位发送给PLC + + + 进站C工位发送给PLC + + + 进站上料工位A有料标志为0 + + + 进站上料工位B有料标志为0 + + + 连接PLC + + + 连接PLC中 + + + 连接PLC失败 + + + 连接PLC失败,请检查PLC连接配置,网络 + + + 连接PLC时发生异常 + + + 退出成功 + + + 退出用户 + + + 退出系统 + + + 通信组 + + + 通道号 + + + 配件,物料更换 + + + 配置保存成功 + + + 配置文件加载完成 + + + 错误 + + + 错误提示 + + + 长度必须大于0 + + + 长度必须是大于0的数字 + + + 验证配置时发生错误,请检查输入是否正确 + + + 验证错误 + + + 默认组 + + + 包装箱进站 + + + 包装箱出站 + + + 箱唛标签打印 + + + 箱唛信息 + + + 箱唛码与栈板码绑定关系 + + + 栈板信息 + + + 启用 + + + 禁用 + + + 导出成功! + + + 导出失败 + + \ No newline at end of file diff --git a/Language/LocalLanguage.cs b/Language/LocalLanguage.cs new file mode 100644 index 0000000..8e95d1a --- /dev/null +++ b/Language/LocalLanguage.cs @@ -0,0 +1,165 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; + +namespace Language +{ + public class LocalLanguage + { + private static Dictionary> _languageData; + + static LocalLanguage() + { + InitializeLanguageData(); + } + + private static void InitializeLanguageData() + { + _languageData = new Dictionary> + { + // 中文语言包 + ["zh"] = new Dictionary + { + ["MessageTips1"] = "软件已经启动,请在后台确认。", + ["MessageTips2"] = "正在初始化日志系统...", + ["MessageTips3"] = "正在设置异常处理...", + ["MessageTips4"] = "正在读取配置...", + ["MessageTips5"] = "初始化完成", + ["MessageTips6"] = "致命错误", + ["MessageTips7"] = "程序出现大异常,请联系 【金源自动化软件设计部】。\r\n异常信息: {0}\r\n异常堆栈:{1}", + ["MessageTips8"] = "加载语言设置时出错: {0}", + ["MessageTips9"] = "语言加载错误", + + + + // ... 可以继续添加更多中文键值对 + }, + + // 英文语言包 + ["en"] = new Dictionary + { + ["MessageTips1"] = "The software has been started, please confirm in the background.", + ["MessageTips2"] = "Initializing the logging system", + ["MessageTips3"] = "Setting up exception handling", + ["MessageTips4"] = "Reading configuration", + ["MessageTips5"] = "Initialization completed", + ["MessageTips6"] = "fatal error", + ["MessageTips7"] = "The program has encountered a major exception. Please contact the Jinyuan Automation Software Design Department.\r\nAbnormal information: {0}\r\nException Stack:{1}", + ["MessageTips8"] = "Error loading language settings: {0}", + ["MessageTips9"] = "Language loading error", + // ... 可以继续添加更多英文键值对 + }, + + // 日文语言包 + ["ja"] = new Dictionary + { + ["MessageTips1"] = "ソフトウェアが起動しました。バックグラウンドで確認してください。", + ["MessageTips2"] = "ログシステムを初期化しています...", + ["MessageTips3"] = "例外処理を設定しています...", + ["MessageTips4"] = "構成を読み込み中...", + ["MessageTips5"] = "初期化完了", + ["MessageTips6"] = "致命的なエラー", + ["MessageTips7"] = "プログラムに大きな異常が発生した場合は、【金源自動化ソフトウェア設計部】に連絡してください。日本語の\r\n例外情報: {0}\r\n例外スタック:{1}", + ["MessageTips8"] = "言語設定のロードエラー: {0}", + ["MessageTips9"] = "言語ロードエラー", + + // ... 可以继续添加更多日文键值对 + }, + + // 马来语言包 + ["ms"] = new Dictionary + { + ["MessageTips1"] = "Perisian telah dimulakan, sila sahkan di latar belakang.", + ["MessageTips2"] = "Memulakan sistem log", + ["MessageTips3"] = "Menetapkan pengendalian pengecualian", + ["MessageTips4"] = "Membaca konfigurasi", + ["MessageTips5"] = "Pemulaan selesai", + ["MessageTips6"] = "Ralat Fatal", + ["MessageTips7"] = "Program telah menghadapi pengecualian utama. Sila hubungi Jabatan Ralat Perisian Automatisasi Jinyuan.\r\nMaklumat tidak normal: {0}\r\nStack Kecualian:{1}", + ["MessageTips8"] = "Ralat memuatkan tetapan bahasa: {0}", + ["MessageTips9"] = "Ralat memuatkan bahasa", + + + }, + + // 匈牙利语言包 + ["hu"] = new Dictionary + { + ["MessageTips1"] = "A szoftver elindult, kérjük, erősítse meg a háttérben.", + ["MessageTips2"] = "A naplózási rendszer indítása", + ["MessageTips3"] = "Kivételek kezelésének beállítása", + ["MessageTips4"] = "Olvasási beállítások", + ["MessageTips5"] = "Inicializálás befejezve", + ["MessageTips6"] = "Halálos hiba", + ["MessageTips7"] = "A program jelentős kivétellel szembesült. Kérjük, lépjen kapcsolatba a Jinyuan Automation Software Design Osztállyal. \r\nKóros információk: {0}\r\nKivételek stack:{1}", + ["MessageTips8"] = "Hiba történt a nyelvbeállítások betöltésével: {0}", + ["MessageTips9"] = "Nyelvbetöltési hiba", + + + }, + + // 越南语言包 + ["vi"] = new Dictionary + { + ["MessageTips1"] = "Phần mềm đã được khởi chạy, hãy xác nhận trong nền.", + ["MessageTips2"] = "Đang khởi chạy hệ thống nhật ký...", + ["MessageTips3"] = "Thiết lập xử lý ngoại lệ...", + ["MessageTips4"] = "Đang đọc cấu hình...", + ["MessageTips5"] = "Khởi tạo xong", + ["MessageTips6"] = "Lỗi nghiêm trọng", + ["MessageTips7"] = "Chương trình xuất hiện đại dị thường, xin liên hệ 【 Kim Nguyên tự động hóa phần mềm thiết kế bộ 】.\r\nThông tin ngoại lệ: {0}\r\nNgăn xếp ngoại lệ:{1}", + ["MessageTips8"] = "Gặp lỗi khi tải cài đặt ngôn ngữ: {0}", + ["MessageTips9"] = "Lỗi tải ngôn ngữ", + + + } + // 可以继续添加更多语言... + }; + } + + /// + /// 获取当前语言的文本 + /// + /// 文本键值 + /// 对应语言的文本,如果未找到则返回键值本身 + public static string GetText(string key, string _currentLanguage) + { + if (_languageData.ContainsKey(_currentLanguage) && + _languageData[_currentLanguage].ContainsKey(key)) + { + return _languageData[_currentLanguage][key]; + } + return key; // 如果找不到对应的文本,返回键值本身 + } + + /// + /// 获取带变量的文本 + /// + /// 文本键值 + /// 要替换的变量值 + /// 替换变量后的文本 + public static string GetText(string key, string _currentLanguage, params object[] args) + { + try + { + if (_languageData.ContainsKey(_currentLanguage) && + _languageData[_currentLanguage].ContainsKey(key)) + { + string format = _languageData[_currentLanguage][key]; + if (args != null && args.Length > 0) + { + return string.Format(format, args); + } + return format; + } + return key; + } + catch (FormatException ex) + { + // 记录错误:格式字符串与参数不匹配 + Debug.WriteLine($"Language format error - Key: {key}, Error: {ex.Message}"); + return key; + } + } + } +} diff --git a/Language/MsgResources.Designer.cs b/Language/MsgResources.Designer.cs new file mode 100644 index 0000000..dcd6ea6 --- /dev/null +++ b/Language/MsgResources.Designer.cs @@ -0,0 +1,675 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace UpperComputerSystem.Language { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class MsgResources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal MsgResources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UpperComputerSystem.Language.MsgResources", typeof(MsgResources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查找类似 条码 的本地化字符串。 + /// + internal static string Barcode { + get { + return ResourceManager.GetString("Barcode", resourceCulture); + } + } + + /// + /// 查找类似 通道 {0} 的本地化字符串。 + /// + internal static string Channel { + get { + return ResourceManager.GetString("Channel", resourceCulture); + } + } + + /// + /// 查找类似 开始联机 的本地化字符串。 + /// + internal static string FrmMain_btnToggle_Text { + get { + return ResourceManager.GetString("FrmMain_btnToggle_Text", resourceCulture); + } + } + + /// + /// 查找类似 主页 的本地化字符串。 + /// + internal static string FrmMain_SidebarItem_Home_Text { + get { + return ResourceManager.GetString("FrmMain_SidebarItem_Home_Text", resourceCulture); + } + } + + /// + /// 查找类似 配方 的本地化字符串。 + /// + internal static string FrmMain_SidebarItem_Recipe_Text { + get { + return ResourceManager.GetString("FrmMain_SidebarItem_Recipe_Text", resourceCulture); + } + } + + /// + /// 查找类似 查询 的本地化字符串。 + /// + internal static string FrmMain_SidebarItem_Search_Text { + get { + return ResourceManager.GetString("FrmMain_SidebarItem_Search_Text", resourceCulture); + } + } + + /// + /// 查找类似 设置 的本地化字符串。 + /// + internal static string FrmMain_SidebarItem_Settings_Text { + get { + return ResourceManager.GetString("FrmMain_SidebarItem_Settings_Text", resourceCulture); + } + } + + /// + /// 查找类似 统计 的本地化字符串。 + /// + internal static string FrmMain_SidebarItem_Statistics_Text { + get { + return ResourceManager.GetString("FrmMain_SidebarItem_Statistics_Text", resourceCulture); + } + } + + /// + /// 查找类似 用户 的本地化字符串。 + /// + internal static string FrmMain_SidebarItem_User_Text { + get { + return ResourceManager.GetString("FrmMain_SidebarItem_User_Text", resourceCulture); + } + } + + /// + /// 查找类似 亿纬锂能 | 锂电池翻包设备 的本地化字符串。 + /// + internal static string FrmMain_windowBar_Text { + get { + return ResourceManager.GetString("FrmMain_windowBar_Text", resourceCulture); + } + } + + /// + /// 查找类似 停止流程 的本地化字符串。 + /// + internal static string HomeControl_bt_EndProcess_Text { + get { + return ResourceManager.GetString("HomeControl_bt_EndProcess_Text", resourceCulture); + } + } + + /// + /// 查找类似 日志记录 的本地化字符串。 + /// + internal static string HomeControl_gbLog_Text { + get { + return ResourceManager.GetString("HomeControl_gbLog_Text", resourceCulture); + } + } + + /// + /// 查找类似 工艺参数 的本地化字符串。 + /// + internal static string HomeControl_gpGongYiParam_Text { + get { + return ResourceManager.GetString("HomeControl_gpGongYiParam_Text", resourceCulture); + } + } + + /// + /// 查找类似 数据列表 的本地化字符串。 + /// + internal static string HomeControl_gpHistoryData_Text { + get { + return ResourceManager.GetString("HomeControl_gpHistoryData_Text", resourceCulture); + } + } + + /// + /// 查找类似 绝缘测试实时数据 的本地化字符串。 + /// + internal static string HomeControl_gpInsulationData_Text { + get { + return ResourceManager.GetString("HomeControl_gpInsulationData_Text", resourceCulture); + } + } + + /// + /// 查找类似 上料实时条码 的本地化字符串。 + /// + internal static string HomeControl_gpIntBarcode_Text { + get { + return ResourceManager.GetString("HomeControl_gpIntBarcode_Text", resourceCulture); + } + } + + /// + /// 查找类似 OCV实时检测数据 的本地化字符串。 + /// + internal static string HomeControl_gpOcvData_Text { + get { + return ResourceManager.GetString("HomeControl_gpOcvData_Text", resourceCulture); + } + } + + /// + /// 查找类似 下料实时条码 的本地化字符串。 + /// + internal static string HomeControl_gpOutBarcode_Text { + get { + return ResourceManager.GetString("HomeControl_gpOutBarcode_Text", resourceCulture); + } + } + + /// + /// 查找类似 不满足8个电芯使用 的本地化字符串。 + /// + internal static string HomeControl_lblInTip_Text { + get { + return ResourceManager.GetString("HomeControl_lblInTip_Text", resourceCulture); + } + } + + /// + /// 查找类似 目检1结果 的本地化字符串。 + /// + internal static string HomeControl_lblMuJian1_Text { + get { + return ResourceManager.GetString("HomeControl_lblMuJian1_Text", resourceCulture); + } + } + + /// + /// 查找类似 目检2结果 的本地化字符串。 + /// + internal static string HomeControl_lblMuJian2_Text { + get { + return ResourceManager.GetString("HomeControl_lblMuJian2_Text", resourceCulture); + } + } + + /// + /// 查找类似 下料绝缘测试结果 的本地化字符串。 + /// + internal static string HomeControl_lbOutJueyuanRes_Text { + get { + return ResourceManager.GetString("HomeControl_lbOutJueyuanRes_Text", resourceCulture); + } + } + + /// + /// 查找类似 最大值 的本地化字符串。 + /// + internal static string HomeControl_tableConfigRange_ParaValueMax_Title { + get { + return ResourceManager.GetString("HomeControl_tableConfigRange_ParaValueMax_Title", resourceCulture); + } + } + + /// + /// 查找类似 最大值 的本地化字符串。 + /// + internal static string HomeControl_tableConfigRange_ParaValueMin_Title { + get { + return ResourceManager.GetString("HomeControl_tableConfigRange_ParaValueMin_Title", resourceCulture); + } + } + + /// + /// 查找类似 参数项 的本地化字符串。 + /// + internal static string HomeControl_tableConfigRange_Remark_Title { + get { + return ResourceManager.GetString("HomeControl_tableConfigRange_Remark_Title", resourceCulture); + } + } + + /// + /// 查找类似 单位 的本地化字符串。 + /// + internal static string HomeControl_tableConfigRange_Uint_Title { + get { + return ResourceManager.GetString("HomeControl_tableConfigRange_Uint_Title", resourceCulture); + } + } + + /// + /// 查找类似 进站条码1 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode1_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode1_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码2 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode2_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode2_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码3 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode3_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode3_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码4 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode4_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode4_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码5 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode5_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode5_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码6 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode6_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode6_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码7 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode7_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode7_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 进站条码8 的本地化字符串。 + /// + internal static string HomeControl_txtInBarcode8_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtInBarcode8_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码1 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode1_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode1_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码2 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode2_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode2_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码3 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode3_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode3_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码4 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode4_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode4_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码5 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode5_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode5_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码6 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode6_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode6_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码7 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode7_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode7_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 出站条码8 的本地化字符串。 + /// + internal static string HomeControl_txtOutBarcode8_Placeholder { + get { + return ResourceManager.GetString("HomeControl_txtOutBarcode8_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 登录 的本地化字符串。 + /// + internal static string LoginForm_BtnLogin_Text { + get { + return ResourceManager.GetString("LoginForm_BtnLogin_Text", resourceCulture); + } + } + + /// + /// 查找类似 电芯测试系统 的本地化字符串。 + /// + internal static string LoginForm_lbWelcome_Text { + get { + return ResourceManager.GetString("LoginForm_lbWelcome_Text", resourceCulture); + } + } + + /// + /// 查找类似 请输入密码 的本地化字符串。 + /// + internal static string LoginForm_txtPassword_Placeholder { + get { + return ResourceManager.GetString("LoginForm_txtPassword_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 请输入用户名 的本地化字符串。 + /// + internal static string LoginForm_txtUsername_Placeholder { + get { + return ResourceManager.GetString("LoginForm_txtUsername_Placeholder", resourceCulture); + } + } + + /// + /// 查找类似 登录系统 的本地化字符串。 + /// + internal static string LoginForm_windowBar1_Text { + get { + return ResourceManager.GetString("LoginForm_windowBar1_Text", resourceCulture); + } + } + + /// + /// 查找类似 内阻 的本地化字符串。 + /// + internal static string Resistance { + get { + return ResourceManager.GetString("Resistance", resourceCulture); + } + } + + /// + /// 查找类似 电压 的本地化字符串。 + /// + internal static string Voltage { + get { + return ResourceManager.GetString("Voltage", resourceCulture); + } + } + + /// + /// 查找类似 主页 的本地化字符串。 + /// + internal static string 主页 { + get { + return ResourceManager.GetString("主页", resourceCulture); + } + } + + /// + /// 查找类似 内阻 的本地化字符串。 + /// + internal static string 内阻 { + get { + return ResourceManager.GetString("内阻", resourceCulture); + } + } + + /// + /// 查找类似 出站条码 的本地化字符串。 + /// + internal static string 出站条码 { + get { + return ResourceManager.GetString("出站条码", resourceCulture); + } + } + + /// + /// 查找类似 单位 的本地化字符串。 + /// + internal static string 单位 { + get { + return ResourceManager.GetString("单位", resourceCulture); + } + } + + /// + /// 查找类似 参数项 的本地化字符串。 + /// + internal static string 参数项 { + get { + return ResourceManager.GetString("参数项", resourceCulture); + } + } + + /// + /// 查找类似 已注销登录 的本地化字符串。 + /// + internal static string 已注销登录 { + get { + return ResourceManager.GetString("已注销登录", resourceCulture); + } + } + + /// + /// 查找类似 最大值 的本地化字符串。 + /// + internal static string 最大值 { + get { + return ResourceManager.GetString("最大值", resourceCulture); + } + } + + /// + /// 查找类似 最小值 的本地化字符串。 + /// + internal static string 最小值 { + get { + return ResourceManager.GetString("最小值", resourceCulture); + } + } + + /// + /// 查找类似 查询 的本地化字符串。 + /// + internal static string 查询 { + get { + return ResourceManager.GetString("查询", resourceCulture); + } + } + + /// + /// 查找类似 用户 的本地化字符串。 + /// + internal static string 用户 { + get { + return ResourceManager.GetString("用户", resourceCulture); + } + } + + /// + /// 查找类似 电压 的本地化字符串。 + /// + internal static string 电压 { + get { + return ResourceManager.GetString("电压", resourceCulture); + } + } + + /// + /// 查找类似 目检结果 的本地化字符串。 + /// + internal static string 目检结果 { + get { + return ResourceManager.GetString("目检结果", resourceCulture); + } + } + + /// + /// 查找类似 绝缘电阻 的本地化字符串。 + /// + internal static string 绝缘电阻 { + get { + return ResourceManager.GetString("绝缘电阻", resourceCulture); + } + } + + /// + /// 查找类似 统计 的本地化字符串。 + /// + internal static string 统计 { + get { + return ResourceManager.GetString("统计", resourceCulture); + } + } + + /// + /// 查找类似 综合结果 的本地化字符串。 + /// + internal static string 综合结果 { + get { + return ResourceManager.GetString("综合结果", resourceCulture); + } + } + + /// + /// 查找类似 设置 的本地化字符串。 + /// + internal static string 设置 { + get { + return ResourceManager.GetString("设置", resourceCulture); + } + } + + /// + /// 查找类似 进站条码 的本地化字符串。 + /// + internal static string 进站条码 { + get { + return ResourceManager.GetString("进站条码", resourceCulture); + } + } + + /// + /// 查找类似 通道 的本地化字符串。 + /// + internal static string 通道 { + get { + return ResourceManager.GetString("通道", resourceCulture); + } + } + + /// + /// 查找类似 配方 的本地化字符串。 + /// + internal static string 配方 { + get { + return ResourceManager.GetString("配方", resourceCulture); + } + } + } +} diff --git a/Language/Properties/AssemblyInfo.cs b/Language/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..922ede0 --- /dev/null +++ b/Language/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("Language")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Language")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("292a5c9c-7a82-4d25-a885-ddcedc93f03c")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Language/Resources/DataGridColumnAttribute.cs b/Language/Resources/DataGridColumnAttribute.cs new file mode 100644 index 0000000..dd9ce09 --- /dev/null +++ b/Language/Resources/DataGridColumnAttribute.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace JinYuan.Models.HelperAttribute +{ + /// + /// 数据表格列映射特性(支持字段/属性) + /// + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)] + public sealed class DataGridColumnAttribute : Attribute + { + /// + /// 目标列名(默认使用成员名) + /// + public string ColumnName { get; set; } + + /// + /// 列数据类型(默认使用成员类型) + /// + public Type ColumnType { get; set; } + + public DataGridColumnAttribute() { } + public DataGridColumnAttribute(string columnName) => ColumnName = columnName; + } +} diff --git a/Language/app.config b/Language/app.config new file mode 100644 index 0000000..957095e --- /dev/null +++ b/Language/app.config @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Language/packages.config b/Language/packages.config new file mode 100644 index 0000000..f0422d8 --- /dev/null +++ b/Language/packages.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LargeSquareOne/App.config b/LargeSquareOne/App.config new file mode 100644 index 0000000..ec429af --- /dev/null +++ b/LargeSquareOne/App.config @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LargeSquareOne/Assts/Fonts/75049.png b/LargeSquareOne/Assts/Fonts/75049.png new file mode 100644 index 0000000000000000000000000000000000000000..c076caa705d6ce0b16e28e67aa3e198baae63009 GIT binary patch literal 118252 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

    sJ(3i`fs*S;FBM{*qkgWf+QU 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

    VVHR<)g7I>xI1J4 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

    Ft!2bPv;UE{kp9Kn*UvIf3msQ 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 E51Qe~rT_o{ literal 0 HcmV?d00001 diff --git a/LargeSquareOne/Assts/Fonts/FZY4JW.ttf b/LargeSquareOne/Assts/Fonts/FZY4JW.ttf new file mode 100644 index 0000000000000000000000000000000000000000..eb485a86187d563a0cbae766a9dc7f9cdacddf5d GIT binary patch literal 2824840 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

yh<#SA>> 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�gg(A3VuAQf_p`QkOc}dqbm4KM1eG&NP34UWaLg} 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