diff --git a/.cproject b/.cproject
index 96212d5..78029a8 100644
--- a/.cproject
+++ b/.cproject
@@ -151,5 +151,5 @@
-
+
diff --git a/App/inc/hy_protocol.h b/App/inc/hy_protocol.h
index 807abb9..f106c6b 100644
--- a/App/inc/hy_protocol.h
+++ b/App/inc/hy_protocol.h
@@ -55,8 +55,17 @@ typedef enum
/* 执行状态 */
typedef enum
{
+ /* 返回状态 */
HY_success = 0xFF, /* 成功 */
HY_fail = 0x00, /* 失败 */
+
+ /* 返回状态 */
+ HY_success1 = 0x01, /* 成功 */
+
+ /* 充电开关状态 */
+ HY_switchON = 0x00, /* 打开 */
+ HY_switchOFF = 0x01, /* 关闭 */
+
}HY_state;
/* 指定对齐方式为1字节 */
@@ -341,13 +350,14 @@ typedef struct _HY_QueryChargingControlResponse{
uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
uint8_t controlWord; /* 控制字 */
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
- uint8_t chargInterface; /* 充电接口状态 */
- uint8_t chargInterfaceControl; /* 充电接口状态 */
+ uint8_t chargInterface1; /* 充电接口1状态 */
+ uint8_t chargInterface2; /* 充电接口2状态 */
uint32_t frameNumber; /* 帧序号 */
uint8_t check_Bit; /* 校验码 */
uint8_t end_Flag; /* 结束标志 */
}HY_QueryChargingControlResponse;
#define HY_QueryChargingControlResponse_PACK_SIZE (sizeof(HY_QueryChargingControlResponse))
+#define HY_QueryChargingControlResponse_dataLen 6
/* 配置协议类型 */
typedef struct _HY_configProtocolType{
@@ -376,6 +386,7 @@ typedef struct _HY_configProtocolTypeResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_configProtocolTypeResponse;
#define HY_configProtocolTypeResponse_PACK_SIZE (sizeof(HY_configProtocolTypeResponse))
+#define HY_configProtocolTypeResponse_dataLen 5
/* 查询电池控制盒当前配置 */
typedef struct _HY_queryControlBoxConfigurationQuery{
@@ -406,6 +417,7 @@ typedef struct _HY_queryControlBoxConfigurationResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_queryControlBoxConfigurationResponse;
#define HY_queryControlBoxConfigurationResponse_PACK_SIZE (sizeof(HY_queryControlBoxConfigurationResponse))
+#define HY_queryControlBoxConfigurationResponse_dataLen 8
/* 查询电池控制盒软件版本 */
typedef struct _HY_SoftwareVersionQuery{
@@ -420,7 +432,7 @@ typedef struct _HY_SoftwareVersionQuery{
}HY_SoftwareVersionQuery;
#define HY_SoftwareVersionQuery_PACK_SIZE (sizeof(HY_SoftwareVersionQuery))
-/* 查询电池控制盒软件版本 */
+/* 查询电池控制盒软件版本响应 */
typedef struct _HY_SoftwareVersionQueryResponse{
uint8_t start_Flag; /* 起始标志 */
uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
@@ -433,6 +445,7 @@ typedef struct _HY_SoftwareVersionQueryResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_SoftwareVersionQueryResponse;
#define HY_SoftwareVersionQueryResponse_PACK_SIZE (sizeof(HY_SoftwareVersionQueryResponse))
+#define HY_SoftwareVersionQueryResponse_dataLen 17
/* 进入配置模式 */
typedef struct _HY_enterConfigMode{
@@ -460,6 +473,7 @@ typedef struct _HY_enterConfigModeResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_enterConfigModeResponse;
#define HY_enterConfigModeResponse_PACK_SIZE (sizeof(HY_enterConfigModeResponse))
+#define HY_enterConfigModeResponse_dataLen 5
/* 配置控制盒硬件ID号 */
typedef struct _HY_configHardwareID{
@@ -488,19 +502,36 @@ typedef struct _HY_configHardwareIDResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_configHardwareIDResponse;
#define HY_configHardwareIDResponse_PACK_SIZE (sizeof(HY_configHardwareIDResponse))
+#define HY_configHardwareIDResponse_dataLen 5
-///* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
-//typedef struct _HY_QueryhardwareID_communicationID{
-// uint8_t start_Flag; /* 起始标志 */
-// uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
-// uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
-// uint8_t controlWord; /* 控制字 */
-// uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
-// uint32_t frameNumber; /* 帧序号 */
-// uint8_t check_Bit; /* 校验码 */
-// uint8_t end_Flag; /* 结束标志 */
-//}HY_QueryhardwareID_communicationID;
-//#define HY_QueryhardwareID_communicationID_PACK_SIZE (sizeof(HY_QueryhardwareID_communicationID))
+/* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
+typedef struct _HY_QueryhardwareID_communicationID{
+ uint8_t start_Flag; /* 起始标志 */
+ uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
+ uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
+ uint8_t controlWord; /* 控制字 */
+ uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
+ uint32_t frameNumber; /* 帧序号 */
+ uint8_t check_Bit; /* 校验码 */
+ uint8_t end_Flag; /* 结束标志 */
+}HY_QueryhardwareID_communicationID;
+#define HY_QueryhardwareID_communicationID_PACK_SIZE (sizeof(HY_QueryhardwareID_communicationID))
+
+/* 控制盒硬件ID号及通信ID号(原传感器号)查询响应 */
+typedef struct _HY_QueryhardwareID_communicationIDResponse{
+ uint8_t start_Flag; /* 起始标志 */
+ uint8_t hardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
+ uint8_t communicationID[4]; /* 通信ID;高字节在前,低字节在后 */
+ uint8_t controlWord; /* 控制字 */
+ uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
+ uint8_t hardwareIDR[6]; /* 硬件ID;高字节在前,低字节在后 */
+ uint8_t communicationIDR[4]; /* 通信ID;高字节在前,低字节在后 */
+ uint32_t frameNumber; /* 帧序号 */
+ uint8_t check_Bit; /* 校验码 */
+ uint8_t end_Flag; /* 结束标志 */
+}HY_QueryhardwareID_communicationIDResponse;
+#define HY_QueryhardwareID_communicationIDResponse_PACK_SIZE (sizeof(HY_QueryhardwareID_communicationIDResponse))
+#define HY_QueryhardwareID_dataLen 14
/* 修改通信ID号(原传感器号) */
typedef struct _HY_modifyCommunicationIDChange{
@@ -510,8 +541,8 @@ typedef struct _HY_modifyCommunicationIDChange{
uint8_t controlWord; /* 控制字 */
uint8_t dataLen[2]; /* 数据长度;高字节在前,低字节在后 */
uint32_t frameNumber; /* 帧序号 */
- uint8_t nowHardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
- uint8_t newcommunicationID[4]; /* 新通信ID;高字节在前,低字节在后 */
+ uint8_t newHardwareID[6]; /* 硬件ID;高字节在前,低字节在后 */
+ uint8_t newCommunicationID[4]; /* 新通信ID;高字节在前,低字节在后 */
uint8_t check_Bit; /* 校验码 */
uint8_t end_Flag; /* 结束标志 */
}HY_modifyCommunicationIDChange;
@@ -530,6 +561,7 @@ typedef struct _HY_modifyCommunicationIDChangeResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_modifyCommunicationIDChangeResponse;
#define HY_modifyCommunicationIDChangeResponse_PACK_SIZE (sizeof(HY_modifyCommunicationIDChangeResponse))
+#define HY_modifyCommunicationIDChangeResponse_dataLen 5
/* 查询主板温度值 */
typedef struct _HY_checkMotherboardTemperatureQuery{
@@ -557,6 +589,7 @@ typedef struct _HY_checkMotherboardTemperatureResponse{
uint8_t end_Flag; /* 结束标志 */
}HY_checkMotherboardTemperatureResponse;
#define HY_checkMotherboardTemperatureResponse_PACK_SIZE (sizeof(HY_checkMotherboardTemperatureResponse))
+#define HY_checkMotherboardTemperatureResponse_dataLen 8
/* 恢复默认的对齐设置 */
#pragma pack(pop)
diff --git a/App/inc/parameter.h b/App/inc/parameter.h
index 250505f..66b1d39 100644
--- a/App/inc/parameter.h
+++ b/App/inc/parameter.h
@@ -32,6 +32,7 @@ typedef struct _Mppt_controlparameter{
uint16_t outputAgainFlagTime; /* 出现短路保护后延长该段时间再次检测是否短路,仍然短路则关闭输出 (S) */
uint16_t excessiveLoadFlagTime; /* 出现过载后,在该间隔时间中多次(2次)出现过载,则关闭输出 (S) */
uint16_t eLAgainTime; /* 出现过载过载保护后,在该间隔段时间后,再次尝试输出 (S) */
+ uint32_t collectOpenCircuitVoltageTime; /* 开路电压采集时间间隔 */
} Mppt_controlparameter;
extern Mppt_controlparameter g_controlParameter;
@@ -47,6 +48,7 @@ typedef struct _Mppt_otherParameter{
/* HY */
uint8_t hardwareID[6]; /* 硬件ID */
uint8_t communicationID[4]; /* 通信ID */
+ uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/
uint8_t startFlagHY; /* 起始码 */
uint8_t endFlagHY; /* 结束码 */
@@ -86,6 +88,10 @@ typedef struct _Mppt_otherParameter{
uint8_t runBroadcast; /* 是否接收广播帧标志位 */
uint16_t RegisterNumberMax; /* 寄存器个数 */
uint16_t RegisterStartAddressMax; /* 读写的寄存器的最大起始位置,由设备决定 */
+ uint32_t collectOpenCircuitVoltageNUM; /* 距离上次开路电压采集,运行次数 */
+
+ uint8_t HYconfigModeState; /* HY通信协议是否进入了配置模式,0x00未进入,0xFF进入 */
+ uint8_t HYconfigModeT; /* HY通信协议进入配置模式后的延时时间 */
}Mppt_otherParameter;
extern Mppt_otherParameter g_otherParameter;
diff --git a/App/inc/pdebug.h b/App/inc/pdebug.h
index cf8f052..3b659b7 100644
--- a/App/inc/pdebug.h
+++ b/App/inc/pdebug.h
@@ -16,7 +16,7 @@
/* Comment out this define to include debug messages */
//#define NDEBUG
-#define log_info_enable 0
+#define log_info_enable 1
#define log_warn_enable 0
#define log_error_enable 0
diff --git a/App/inc/sl_protocol.h b/App/inc/sl_protocol.h
index bd2815c..97f467a 100644
--- a/App/inc/sl_protocol.h
+++ b/App/inc/sl_protocol.h
@@ -36,14 +36,18 @@ typedef enum
SL_Register_address = 0x0001, /* 地址 */
SL_Register_Access_Node_Type = 0x0002, /* 接入节点类型 */
SL_Register_Communication_Methods = 0x0003, /* 通信方式 */
- SL_Register_Output_Voltage = 0x0100, /* 输出电压 */
+
+ SL_Register_Solar_Open_Circuit_Voltage = 0x0100, /* 太阳能开路电压 */
SL_Register_Battery_Voltage = 0x0101, /* 电池电压 */
SL_Register_Charg_Current = 0x0102, /* 充电电流(流向电池+负载) */
SL_Register_Discharg_Current = 0x0103, /* 放电电流(流向负载) */
- SL_Register_Solar_Open_Circuit_Voltage = 0x0104, /* 太阳能开路电压 */
- SL_Register_HighSideMos_Temperature = 0x0105, /* 高端mos的温度 */
- SL_Register_DischargMos_State = 0x0106, /* 放电mos的状态 */
- SL_Register_MPPT_Mode = 0x0107, /* 工作模式 */
+ SL_Register_HighSideMos_Temperature = 0x0104, /* 高端mos的温度 */
+ SL_Register_SOC = 0x0105, /* 剩余电量 */
+ SL_Register_chargState = 0x0106, /* 充电状态 */
+ SL_Register_totalChargCapacity = 0x0107, /* 总充电量 */
+ SL_Register_totalElectricityConsumption = 0x0108, /* 总放电量 */
+ SL_Register_MPPT_Mode = 0x0109, /* 工作模式 */
+ SL_Register_eliminateStatistical = 0x0110, /* 消除统计 */
}SL_Mppt_MsgRegister;
/* 注册状态 */
diff --git a/App/inc/task.h b/App/inc/task.h
index 2f5f592..29ed55d 100644
--- a/App/inc/task.h
+++ b/App/inc/task.h
@@ -17,7 +17,7 @@ void Init();
/* 控制运行指示灯和喂狗 */
#define WdiRunled_reloadVal 1000 /* 任务执行间隔 */
-#define WdiRunled_offset 700 /* 任务执行偏移量 */
+#define WdiRunled_offset 100 /* 任务执行偏移量 */
#define wdi_RESET (60 * 60 * 24) /* 一天复位一次 */
extern STR_TimeSliceOffset m_WdiRunled;
extern void Task_WdiRunled(void);
@@ -96,10 +96,24 @@ extern void Task_sensorEnableBroadcast(void);
extern STR_TimeSliceOffset m_uartConfigFile;
extern void Task_uartConfigFile(void);
-/* 过载保护 */
-#define overloadDelay_reloadVal 10 /* 任务执行间隔 */
-#define overloadDelay_offset 0 /* 任务执行偏移量 */
-extern STR_TimeSliceOffset g_overloadDelay;
-extern void Task_overloadDelay(void);
+///* 过载延时 */
+//#define overloadDelay_reloadVal 10 /* 任务执行间隔 */
+//#define overloadDelay_offset 0 /* 任务执行偏移量 */
+//extern STR_TimeSliceOffset g_overloadDelay;
+//extern void Task_overloadDelay(void);
+
+/* 开路电压采集 */
+#define collectOpenCircuitVoltage_reloadVal 1000 /* 任务执行间隔 */
+#define collectOpenCircuitVoltage_offset 0 /* 任务执行偏移量 */
+extern STR_TimeSliceOffset g_collectOpenCircuitVoltage;
+extern void Task_collectOpenCircuitVoltage(void);
+
+
+/* HY进入配置模式延迟后退出 */
+#define configurationModeDelayedExit_reloadVal 1000 /* 任务执行间隔 */
+#define configurationModeDelayedExit_offset 0 /* 任务执行偏移量 */
+extern STR_TimeSliceOffset g_configurationModeDelayedExit;
+extern void Task_configurationModeDelayedExit(void);
+
#endif /* APP_INC_TASK_H_ */
diff --git a/App/src/hy_protocol.c b/App/src/hy_protocol.c
index 3f47fbd..d1eff9b 100644
--- a/App/src/hy_protocol.c
+++ b/App/src/hy_protocol.c
@@ -182,7 +182,7 @@ static int HY_matchCommunicationID(u_int8_t communicationID[4])
(communicationID[1] == g_otherParameter.communicationID[1]) && \
(communicationID[2] == g_otherParameter.communicationID[2]) && \
(communicationID[3] == g_otherParameter.communicationID[3])) {
- log_info("Match_hardwareIDHY success \r\n");
+ log_info("Match_CommunicationIDHY success \r\n");
return 1;
}
return 0;
@@ -200,7 +200,7 @@ static int Match_BroadcastCommunicationID(u_int8_t communicationID[4])
communicationID[1] == 0xFF && \
communicationID[2] == 0xFF && \
communicationID[3] == 0xFF) {
- log_info("Match_BroadcastHardwareID success\r\n");
+ log_info("Match_BroadcastCommunicationID success\r\n");
return 1;
}
return 0;
@@ -242,11 +242,14 @@ static int HY_uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, ui
/* 匹配起始标志位 */
if (offset == HY_analyzeStartFlag || (flag_run > 0)) {
if (pack->start_Flag != g_otherParameter.startFlagHY) {
- log_info("Match_start_Flag error");
+ log_info(" Match_start_Flag error %x ", pack->start_Flag);
+// printf("1 : %x \n", pack->start_Flag);
memcpy(buff, buff+1, offset-1);
offset--;
continue;
}
+// log_info(" Match_start_Flag success ");
+// printf("%x\n", pack->start_Flag);
}
/* 匹配硬件ID */
@@ -273,7 +276,7 @@ static int HY_uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, ui
/* 匹配通信ID */
if (offset == HY_analyzeCommunicationID || (flag_run > 2)) {
- if (HY_matchCommunicationID(pack->hardwareID) || Match_BroadcastCommunicationID(pack->hardwareID)) {
+ if (!(HY_matchCommunicationID(pack->communicationID) || Match_BroadcastCommunicationID(pack->communicationID))) {
if (flag_run < 2) {
flag_run = 2;
}
@@ -341,9 +344,9 @@ static int HY_uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, ui
else if (pack->controlWord == HY_configureHardwareID && hardwordIDType == 0x02) {
len = HY_configHardwareID_PACK_SIZE;
}
-// else if (pack->controlWord == HY_hardwareID_communicationIDQuery) {
-// len = HY_modifyCommunicationIDChange_PACK_SIZE;
-// }
+ else if (pack->controlWord == HY_hardwareID_communicationIDQuery && hardwordIDType == 0x01) {
+ len = HY_QueryhardwareID_communicationID_PACK_SIZE;
+ }
else if (pack->controlWord == HY_modifyCommunicationID && hardwordIDType == 0x02) {
len = HY_modifyCommunicationIDChange_PACK_SIZE;
}
@@ -369,6 +372,7 @@ static int HY_uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, ui
if (flag_run < 4) {
flag_run = 4;
}
+ log_info("Match_dataLen error: %x", len);
log_info("Match_dataLen error: %x", (pack->dataLen[0] << 8 | pack->dataLen[1]) + 16);
log_info("Match_dataLen error: %x", pack->dataLen[0]);
log_info("Match_dataLen error: %x", pack->dataLen[1]);
@@ -457,26 +461,24 @@ void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t Msg
pack.dataLen[0] = HY_batteryStatusResponse_dataLen >> 8;
pack.dataLen[1] = HY_batteryStatusResponse_dataLen;
- pack.batteryVoltage = g_otherParameter.Battery_Voltage;
+// pack.batteryVoltage = g_otherParameter.Battery_Voltage;
+
+ pack.batteryVoltage = 6.66;
pack.dischargCurrent = g_otherParameter.Discharg_Current;
pack.chargCurrent1 = g_otherParameter.Charg_Current;
pack.SOC = g_otherParameter.SOC;
pack.openCircuitVoltage1 = g_otherParameter.Solar_In_Circuit_Voltage;
- if (g_controlParameter.dutyRatio) {
- pack.chargSwitchStatus1 = 1;
+ if (g_controlParameter.dutyRatio && g_otherParameter.Charg_Current > 0.05) {
+ pack.chargSwitchStatus1 = HY_switchON;
} else {
- pack.chargSwitchStatus1 = 0;
+ pack.chargSwitchStatus1 = HY_switchOFF;
}
- pack.chargCurrent2 = g_otherParameter.Charg_Current;
- pack.openCircuitVoltage1 = g_otherParameter.Solar_In_Circuit_Voltage;
+ pack.chargCurrent2 = pack.chargCurrent1;
+ pack.openCircuitVoltage2 = pack.openCircuitVoltage1;
- if (g_controlParameter.dutyRatio) {
- pack.chargSwitchStatus2 = 1;
- } else {
- pack.chargSwitchStatus2 = 0;
- }
+ pack.chargSwitchStatus2 = pack.chargSwitchStatus1;
pack.Mos_Temperature = g_otherParameter.HighSideMos_Temperature;
@@ -488,7 +490,6 @@ void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t Msg
pack.end_Flag = g_otherParameter.endFlagHY;
while (1) {
- Delay_Ms(randomDelay());
if (!Check_485_bus_busy(device)) {
uart_dev_write(device, &pack, HY_batteryStatusResponse_PACK_SIZE);
@@ -500,8 +501,8 @@ void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t Msg
break;
}
+ Delay_Ms(randomDelay());
}
-
}
/* 电量统计数据报 */
@@ -530,6 +531,12 @@ void HY_MsgProcFunc_electricityStatistics(device_handle device, void *pMsg, uint
pack.statisticalDuration = 0;
pack.totalChargCapacity = g_otherParameter.totalChargCapacity;
pack.totalElectricityConsumption = g_otherParameter.totalElectricityConsumption;
+
+ /* 查询后清空 */
+ g_otherParameter.totalChargCapacity = 0;
+ g_otherParameter.totalElectricityConsumption = 0;
+ saveTotalPower(&g_otherParameter.totalElectricityConsumption, &g_otherParameter.totalChargCapacity);
+
HY_electricityStatisticsQuery *Tpack = (HY_electricityStatisticsQuery *)pMsg;
pack.frameNumber = Tpack->frameNumber;
@@ -537,9 +544,8 @@ void HY_MsgProcFunc_electricityStatistics(device_handle device, void *pMsg, uint
pack.end_Flag = g_otherParameter.endFlagHY;
while (1) {
- Delay_Ms(randomDelay());
if (!Check_485_bus_busy(device)) {
- uart_dev_write(device, &pack, HY_batteryStatusResponse_PACK_SIZE);
+ uart_dev_write(device, &pack, HY_electricityStatisticsResponse_PACK_SIZE);
if (device == g_bat485_uart3_handle) {
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
@@ -549,6 +555,7 @@ void HY_MsgProcFunc_electricityStatistics(device_handle device, void *pMsg, uint
break;
}
+ Delay_Ms(randomDelay());
}
}
@@ -601,13 +608,12 @@ void HY_MsgProcFunc_sensorNumberConfiguration(device_handle device, void *pMsg,
pack.frameNumber = Tpack->frameNumber;
- pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_sensorNumberConfiguration_PACK_SIZE - 2);
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_sensorNumberConfigurationResponse_PACK_SIZE - 2);
pack.end_Flag = g_otherParameter.endFlagHY;
while (1) {
- Delay_Ms(randomDelay());
if (!Check_485_bus_busy(device)) {
- uart_dev_write(device, &pack, HY_batteryStatusResponse_PACK_SIZE);
+ uart_dev_write(device, &pack, HY_sensorNumberConfigurationResponse_PACK_SIZE);
if (device == g_bat485_uart3_handle) {
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
@@ -617,6 +623,7 @@ void HY_MsgProcFunc_sensorNumberConfiguration(device_handle device, void *pMsg,
break;
}
+ Delay_Ms(randomDelay());
}
}
@@ -660,13 +667,12 @@ void HY_MsgProcFunc_sensorNumberInquiry(device_handle device, void *pMsg, uint32
pack.frameNumber = Tpack->frameNumber;
- pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_sensorNumberConfiguration_PACK_SIZE - 2);
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_sensorNumberInquiryResponse_PACK_SIZE - 2);
pack.end_Flag = g_otherParameter.endFlagHY;
while (1) {
- Delay_Ms(randomDelay());
if (!Check_485_bus_busy(device)) {
- uart_dev_write(device, &pack, HY_batteryStatusResponse_PACK_SIZE);
+ uart_dev_write(device, &pack, HY_sensorNumberInquiryResponse_PACK_SIZE);
if (device == g_bat485_uart3_handle) {
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
@@ -676,6 +682,7 @@ void HY_MsgProcFunc_sensorNumberInquiry(device_handle device, void *pMsg, uint32
break;
}
+ Delay_Ms(randomDelay());
}
}
@@ -725,9 +732,8 @@ void HY_MsgProcFunc_resetInstruction(device_handle device, void *pMsg, uint32_t
pack.end_Flag = g_otherParameter.endFlagHY;
while (1) {
- Delay_Ms(randomDelay());
if (!Check_485_bus_busy(device)) {
- uart_dev_write(device, &pack, HY_batteryStatusResponse_PACK_SIZE);
+ uart_dev_write(device, &pack, HY_resetInstructionResponse_PACK_SIZE);
if (device == g_bat485_uart3_handle) {
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
@@ -736,6 +742,7 @@ void HY_MsgProcFunc_resetInstruction(device_handle device, void *pMsg, uint32_t
}
break;
}
+ Delay_Ms(randomDelay());
}
/* 复位 */
@@ -746,107 +753,593 @@ void HY_MsgProcFunc_resetInstruction(device_handle device, void *pMsg, uint32_t
/* 充电控制配置 */
void HY_MsgProcFunc_chargingControlConfiguration(device_handle device, void *pMsg, uint32_t MsgLen)
{
-// HY_chargingControlConfig *Tpack = (HY_chargingControlConfig *)pMsg;
-//
-// HY_chargingControlConfigResponse pack;
-//
-// pack.start_Flag = g_otherParameter.startFlagHY;
-//
-// pack.hardwareID[0] = g_otherParameter.hardwareID[0];
-// pack.hardwareID[1] = g_otherParameter.hardwareID[1];
-// pack.hardwareID[2] = g_otherParameter.hardwareID[2];
-// pack.hardwareID[3] = g_otherParameter.hardwareID[3];
-// pack.hardwareID[4] = g_otherParameter.hardwareID[4];
-// pack.hardwareID[5] = g_otherParameter.hardwareID[5];
-//
-// pack.communicationID[0] = g_otherParameter.communicationID[0];
-// pack.communicationID[1] = g_otherParameter.communicationID[1];
-// pack.communicationID[2] = g_otherParameter.communicationID[2];
-// pack.communicationID[3] = g_otherParameter.communicationID[3];
-//
-// pack.controlWord = Tpack->controlWord;
-//
-// pack.dataLen[0] = HY_chargingControlConfigResponse_dataLen >> 8;
-// pack.dataLen[1] = HY_chargingControlConfigResponse_dataLen;
-//
-// pack.state = HY_success;
-//
-// pack.frameNumber = Tpack->frameNumber;
-//
-// pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_chargingControlConfigResponse_PACK_SIZE - 2);
-// pack.end_Flag = g_otherParameter.endFlagHY;
-//
-// while (1) {
-// Delay_Ms(randomDelay());
-// if (!Check_485_bus_busy(device)) {
-// uart_dev_write(device, &pack, HY_batteryStatusResponse_PACK_SIZE);
-//
-// if (device == g_bat485_uart3_handle) {
-// USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
-// } else {
-// USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
-// }
-// break;
-// }
-// }
+ HY_chargingControlConfig *Tpack = (HY_chargingControlConfig *)pMsg;
+
+ if (Tpack->chargInterfaceControl == HY_switchON) {
+ if (g_controlParameter.dutyRatio == 0) {
+ if (g_otherParameter.Output_Voltage > 11) {
+ g_otherParameter.batteryState = 1;
+ } else {
+ g_otherParameter.batteryState = 0;
+ }
+ TimeSliceOffset_Register(&m_softStart, Task_softStart, softStart_reloadVal, softStart_offset);
+ }
+ }
+
+ if (Tpack->chargInterfaceControl == HY_switchOFF) {
+ if (g_controlParameter.dutyRatio != 0) {
+ TIM_Cmd(TIM3, DISABLE);
+ TIM_SetCompare4(TIM4, 0);
+ g_controlParameter.dutyRatio = 0;
+
+ TimeSliceOffset_Unregister(&g_collectOpenCircuitVoltage);
+ }
+ }
+
+ HY_chargingControlConfigResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_chargingControlConfigResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_chargingControlConfigResponse_dataLen;
+
+ pack.state = HY_success;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_chargingControlConfigResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_chargingControlConfigResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 充电控制查询 */
static void HY_MsgProcFunc_chargingControlQuery(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_QueryChargingControl *Tpack = (HY_QueryChargingControl *)pMsg;
+ HY_QueryChargingControlResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_QueryChargingControlResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_QueryChargingControlResponse_dataLen;
+
+ if (g_controlParameter.dutyRatio > 0 && g_otherParameter.Charg_Current > 0.05) {
+ pack.chargInterface1 = HY_switchON;
+ } else {
+ pack.chargInterface1 = HY_switchOFF;
+ }
+
+ pack.chargInterface2 = pack.chargInterface1;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_QueryChargingControlResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_QueryChargingControlResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 配置协议类型 */
void HY_MsgProcFunc_configureProtocolType(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_configProtocolType *Tpack = (HY_configProtocolType *)pMsg;
+ g_otherParameter.protocolType = Tpack->protocolType;
+
+ config_info temp_configInfo;
+ read_config_info(&temp_configInfo);
+ temp_configInfo.protocolType = Tpack->protocolType;
+
+ temp_configInfo.crc = configCheckFunc((uint8_t *)&temp_configInfo, CONFIG_INFO_SIZE - 2);
+ save_config_info(&temp_configInfo);
+
+ if (g_otherParameter.protocolType == 0x01) {
+ g_otherParameter.gw485_Baud = 9600;
+ } else if (g_otherParameter.protocolType == 0x02) {
+ g_otherParameter.gw485_Baud = 115200;
+ }
+
+ HY_chargingControlConfigResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = HY_responseConfigureProtocolType;
+
+ pack.dataLen[0] = HY_configProtocolTypeResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_configProtocolTypeResponse_dataLen;
+
+ pack.state = HY_success;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_configProtocolTypeResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_configProtocolTypeResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
+
+ uart_dev_init();
}
-///* 响应配置协议类型 */
-//static void HY_MsgProcFunc_batteryStatus(device_handle device, void *pMsg, uint32_t MsgLen);
/* 查询电池控制盒当前配置 */
void HY_MsgProcFunc_queryControlBoxConfiguration(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_queryControlBoxConfigurationQuery *Tpack = (HY_queryControlBoxConfigurationQuery *)pMsg;
+ HY_queryControlBoxConfigurationResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_queryControlBoxConfigurationResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_queryControlBoxConfigurationResponse_dataLen;
+
+// pack.state = HY_success;
+ pack.protocolType = g_otherParameter.protocolType;
+ pack.voltageLevel = 0x00; //12V
+ pack.mainBoardTemperatureSensorType = 0xFF;
+ pack.batteryTemperatureSensorType = 0xFF;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_queryControlBoxConfigurationResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_queryControlBoxConfigurationResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 查询电池控制盒软件版本 */
void HY_MsgProcFunc_querySoftwareVersion(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_SoftwareVersionQuery *Tpack = (HY_SoftwareVersionQuery *)pMsg;
+ HY_SoftwareVersionQueryResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_SoftwareVersionQueryResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_SoftwareVersionQueryResponse_dataLen;
+
+ strlcpy(pack.versionInformation, g_otherParameter.versionInformation, 13);
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_SoftwareVersionQueryResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_SoftwareVersionQueryResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 进入配置模式 */
void HY_MsgProcFunc_enterConfigurationMode(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_enterConfigMode *Tpack = (HY_enterConfigMode *)pMsg;
+
+ HY_enterConfigModeResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_enterConfigModeResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_enterConfigModeResponse_dataLen;
+
+ pack.state = HY_success;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_enterConfigModeResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_enterConfigModeResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
+
+
+ TimeSliceOffset_Register(&g_configurationModeDelayedExit, Task_configurationModeDelayedExit
+ , configurationModeDelayedExit_reloadVal, configurationModeDelayedExit_offset);
+ g_otherParameter.HYconfigModeState = 0xFF;
}
/* 配置控制盒硬件ID号 */
void HY_MsgProcFunc_configureHardwareID(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_configHardwareIDResponse pack;
+ HY_configHardwareID *Tpack = (HY_configHardwareID *)pMsg;
+ if (g_otherParameter.HYconfigModeState == 0xFF) {
+ g_otherParameter.hardwareID[0] = Tpack->hardwareID[0];
+ g_otherParameter.hardwareID[1] = Tpack->hardwareID[1];
+ g_otherParameter.hardwareID[2] = Tpack->hardwareID[2];
+ g_otherParameter.hardwareID[3] = Tpack->hardwareID[3];
+ g_otherParameter.hardwareID[4] = Tpack->hardwareID[4];
+ g_otherParameter.hardwareID[5] = Tpack->hardwareID[5];
+
+ config_info temp_configInfo;
+ read_config_info(&temp_configInfo);
+ temp_configInfo.hardwareID[0] = Tpack->hardwareID[0];
+ temp_configInfo.hardwareID[1] = Tpack->hardwareID[1];
+ temp_configInfo.hardwareID[2] = Tpack->hardwareID[2];
+ temp_configInfo.hardwareID[3] = Tpack->hardwareID[3];
+ temp_configInfo.hardwareID[4] = Tpack->hardwareID[4];
+ temp_configInfo.hardwareID[5] = Tpack->hardwareID[5];
+
+ temp_configInfo.crc = configCheckFunc((uint8_t *)&temp_configInfo, CONFIG_INFO_SIZE - 2);
+ save_config_info(&temp_configInfo);
+
+ pack.state = HY_success;
+ }
+ else {
+ pack.state = HY_fail;
+ }
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_configHardwareIDResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_configHardwareIDResponse_dataLen;
+
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_configHardwareIDResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_configHardwareIDResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 控制盒硬件ID号及通信ID号(原传感器号)查询 */
void HY_MsgProcFunc_hardwareID_communicationIDQuery(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_QueryhardwareID_communicationID *Tpack = (HY_QueryhardwareID_communicationID *)pMsg;
+ HY_QueryhardwareID_communicationIDResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_QueryhardwareID_dataLen >> 8;
+ pack.dataLen[1] = HY_QueryhardwareID_dataLen;
+
+ pack.hardwareIDR[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareIDR[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareIDR[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareIDR[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareIDR[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareIDR[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationIDR[0] = g_otherParameter.communicationID[0];
+ pack.communicationIDR[1] = g_otherParameter.communicationID[1];
+ pack.communicationIDR[2] = g_otherParameter.communicationID[2];
+ pack.communicationIDR[3] = g_otherParameter.communicationID[3];
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_QueryhardwareID_communicationIDResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_QueryhardwareID_communicationIDResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 修改通信ID号(原传感器号) */
void HY_MsgProcFunc_modifyCommunicationID(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_modifyCommunicationIDChangeResponse pack;
+ HY_modifyCommunicationIDChange *Tpack = (HY_modifyCommunicationIDChange *)pMsg;
+ if (HY_matchHardwareID(Tpack->newHardwareID)) {
+ g_otherParameter.communicationID[0] = Tpack->newCommunicationID[0];
+ g_otherParameter.communicationID[1] = Tpack->newCommunicationID[1];
+ g_otherParameter.communicationID[2] = Tpack->newCommunicationID[2];
+ g_otherParameter.communicationID[3] = Tpack->newCommunicationID[3];
+
+ config_info temp_configInfo;
+ read_config_info(&temp_configInfo);
+ temp_configInfo.communicationID[0] = Tpack->newCommunicationID[0];
+ temp_configInfo.communicationID[1] = Tpack->newCommunicationID[1];
+ temp_configInfo.communicationID[2] = Tpack->newCommunicationID[2];
+ temp_configInfo.communicationID[3] = Tpack->newCommunicationID[3];
+
+ temp_configInfo.crc = configCheckFunc((uint8_t *)&temp_configInfo, CONFIG_INFO_SIZE - 2);
+ save_config_info(&temp_configInfo);
+
+ pack.state = HY_success1;
+ }
+ else {
+ pack.state = HY_fail;
+ }
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_modifyCommunicationIDChangeResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_modifyCommunicationIDChangeResponse_dataLen;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_modifyCommunicationIDChangeResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_modifyCommunicationIDChangeResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
/* 查询主板温度值 */
void HY_MsgProcFunc_checkMotherboardTemperature(device_handle device, void *pMsg, uint32_t MsgLen)
{
+ HY_checkMotherboardTemperatureQuery *Tpack = (HY_checkMotherboardTemperatureQuery *)pMsg;
+ HY_checkMotherboardTemperatureResponse pack;
+
+ pack.start_Flag = g_otherParameter.startFlagHY;
+
+ pack.hardwareID[0] = g_otherParameter.hardwareID[0];
+ pack.hardwareID[1] = g_otherParameter.hardwareID[1];
+ pack.hardwareID[2] = g_otherParameter.hardwareID[2];
+ pack.hardwareID[3] = g_otherParameter.hardwareID[3];
+ pack.hardwareID[4] = g_otherParameter.hardwareID[4];
+ pack.hardwareID[5] = g_otherParameter.hardwareID[5];
+
+ pack.communicationID[0] = g_otherParameter.communicationID[0];
+ pack.communicationID[1] = g_otherParameter.communicationID[1];
+ pack.communicationID[2] = g_otherParameter.communicationID[2];
+ pack.communicationID[3] = g_otherParameter.communicationID[3];
+
+ pack.controlWord = Tpack->controlWord;
+
+ pack.dataLen[0] = HY_checkMotherboardTemperatureResponse_dataLen >> 8;
+ pack.dataLen[1] = HY_checkMotherboardTemperatureResponse_dataLen;
+
+ pack.MotherboardTemperature = g_otherParameter.HighSideMos_Temperature;
+
+ pack.frameNumber = Tpack->frameNumber;
+
+ pack.check_Bit = HY_CheckFunc((uint8_t *)(&pack), HY_checkMotherboardTemperatureResponse_PACK_SIZE - 2);
+ pack.end_Flag = g_otherParameter.endFlagHY;
+
+ while (1) {
+ if (!Check_485_bus_busy(device)) {
+ uart_dev_write(device, &pack, HY_checkMotherboardTemperatureResponse_PACK_SIZE);
+
+ if (device == g_bat485_uart3_handle) {
+ USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
+ } else {
+ USART_ITConfig(USART4, USART_IT_RXNE, ENABLE);
+ }
+
+ break;
+ }
+ Delay_Ms(randomDelay());
+ }
}
diff --git a/App/src/inflash.c b/App/src/inflash.c
index beb5e52..6a4409f 100644
--- a/App/src/inflash.c
+++ b/App/src/inflash.c
@@ -202,6 +202,7 @@ void config_info_start(void)
g_controlParameter.outputAgainFlagTime = temp_configInfo.outputAgainFlagTime;
g_controlParameter.excessiveLoadFlagTime = temp_configInfo.excessiveLoadFlagTime;
g_controlParameter.eLAgainTime = temp_configInfo.eLAgainTime;
+ g_controlParameter.collectOpenCircuitVoltageTime= 3600;
// strlcpy(g_otherParameter.address, temp_configInfo.address, 7);
g_otherParameter.address[0] = temp_configInfo.address[0];
@@ -228,6 +229,7 @@ void config_info_start(void)
g_otherParameter.communicationID[1] = temp_configInfo.communicationID[1];
g_otherParameter.communicationID[2] = temp_configInfo.communicationID[2];
g_otherParameter.communicationID[3] = temp_configInfo.communicationID[3];
+ g_otherParameter.protocolType = temp_configInfo.protocolType;
g_otherParameter.CommunicationProtocolType = temp_configInfo.CommunicationProtocolType;
// g_otherParameter.CommunicationProtocolType = 0x01;
g_otherParameter.onlyPower = temp_configInfo.onlyPower;
@@ -263,23 +265,27 @@ void config_info_start(void)
g_otherParameter.overTemperature = 0;
g_otherParameter.RegistrationRequestFlag = 0;
g_otherParameter.runBroadcast = 1;
- g_otherParameter.RegisterNumberMax = 5;
+ g_otherParameter.RegisterNumberMax = 10;
g_otherParameter.RegisterStartAddressMax = 0x150;
+ g_otherParameter.HYconfigModeState = 0;
+ g_otherParameter.HYconfigModeT = 0;
+
if (g_otherParameter.CommunicationProtocolType == 0x00) {
g_otherParameter.gw485_Baud = temp_configInfo.gw485_Baud;
g_otherParameter.bat485_Baud = temp_configInfo.bat485_Baud;
} else if (g_otherParameter.CommunicationProtocolType == 0x01) {
g_otherParameter.bat485_Baud = temp_configInfo.bat485_Baud;
- if (temp_configInfo.protocolType == 0x01) {
+ if (g_otherParameter.protocolType == 0x01) {
g_otherParameter.gw485_Baud = 9600;
- } else if (temp_configInfo.protocolType == 0x02) {
+ } else if (g_otherParameter.protocolType == 0x02) {
g_otherParameter.gw485_Baud = 115200;
}
}
// printf("");
+ printf("%s\n", g_otherParameter.versionInformation);
printf("address : 0x %x %x %x %x %x %x %x\n", g_otherParameter.address[0]
, g_otherParameter.address[1], g_otherParameter.address[2], g_otherParameter.address[3]
, g_otherParameter.address[4], g_otherParameter.address[5], g_otherParameter.address[6]);
diff --git a/App/src/mppt_control.c b/App/src/mppt_control.c
index 529ac7e..ad827dc 100644
--- a/App/src/mppt_control.c
+++ b/App/src/mppt_control.c
@@ -160,6 +160,7 @@ void MpptModeChoice(void)
TimeSliceOffset_Register(&g_startMpptControl, Task_startMpptControl
, startMpptControl_reloadVal, startMpptControl_offset);
+ TimeSliceOffset_Unregister(&g_collectOpenCircuitVoltage);
return;
}
@@ -179,7 +180,8 @@ void MpptModeChoice(void)
}
if ((g_controlParameter.constantVoltageV < g_otherParameter.Battery_Voltage)
- && (g_controlParameter.floatI + 0.1 <= g_otherParameter.Charg_Current)) {
+// && (g_controlParameter.floatI + 0.1 <= g_otherParameter.Charg_Current)) {
+ && ((g_controlParameter.floatI + 0.1 <= g_otherParameter.Charg_BatteryCurrent) || (g_controlParameter.floatI + 0.1 <= -g_otherParameter.Charg_Current))) {
g_otherParameter.MPPT_Mode = CONSTANTVOLTAGE;
return;
}
@@ -211,11 +213,6 @@ void MpptContorl(void)
g_otherParameter.Charg_BatteryCurrent = g_otherParameter.Charg_Current - g_otherParameter.Discharg_Current;
- /* 判断有无电池 */
- if (g_otherParameter.batteryState == 0 && (g_otherParameter.Charg_BatteryCurrent > 0.1 || g_otherParameter.Charg_BatteryCurrent < -0.1)
- && g_otherParameter.Output_Voltage < 14.2) {
- g_otherParameter.batteryState = 1;
- }
if (!g_otherParameter.overTemperature) {
MpptModeChoice();
diff --git a/App/src/sl_protocol.c b/App/src/sl_protocol.c
index 7e8c302..23f11a2 100644
--- a/App/src/sl_protocol.c
+++ b/App/src/sl_protocol.c
@@ -34,13 +34,18 @@ static void SL_MsgProcFunc_Registration_request(device_handle device, void *pMsg
static void SL_MsgProcFunc_Update_Profile(device_handle device, void *pMsg, uint32_t MsgLen);
static void SL_MsgProcFunc_Remote_Upgrade(device_handle device, void *pMsg, uint32_t MsgLen);
+static uint16_t SL_ReadRegisterSolarOpenCircuitVoltage(void *pMsg);
static uint16_t SL_ReadRegisterBatteryVoltage(void *pMsg);
static uint16_t SL_ReadRegisterChargCurrent(void *pMsg);
static uint16_t SL_ReadRegisterDischargCurrent(void *pMsg);
-static uint16_t SL_ReadRegisterSolarOpenCircuitVoltage(void *pMsg);
static uint16_t SL_ReadRegisterHighSideMosTemperature(void *pMsg);
-static uint16_t SL_ReadRegisterDischargMosState(void *pMsg);
-static uint16_t SL_ReadRegisterMPPTMode(void *pMsg);
+static uint16_t SL_ReadRegisterSOC(void *pMsg);
+static uint16_t SL_ReadRegisterChargState(void *pMsg);
+static uint16_t SL_ReadRegisterTotalChargCapacity(void *pMsg);
+static uint16_t SL_ReadRegisterTotalElectricityConsumption(void *pMsg);
+static uint16_t SL_ReadRegisterMPPT_Mode(void *pMsg);
+
+static uint16_t SL_WriteRegisterEliminateStatistical(void *pMsg);
/* 鍔熻兘鐮佸鐞嗚〃 */
SL_FuncionMsgProcTable g_MsgTbl[] =
@@ -60,13 +65,16 @@ SL_RegProcTable g_RegTblR[] =
// {SL_Register_address, SL_ReadRegisteraddress},
// {SL_Register_Access_Node_Type, SL_ReadRegisterAccessNodeType},
// {SL_Register_Communication_Methods, SL_ReadRegisterCommunicationMethods},
+ {SL_Register_Solar_Open_Circuit_Voltage, SL_ReadRegisterSolarOpenCircuitVoltage},
{SL_Register_Battery_Voltage, SL_ReadRegisterBatteryVoltage},
{SL_Register_Charg_Current, SL_ReadRegisterChargCurrent},
{SL_Register_Discharg_Current, SL_ReadRegisterDischargCurrent},
- {SL_Register_Solar_Open_Circuit_Voltage, SL_ReadRegisterSolarOpenCircuitVoltage},
{SL_Register_HighSideMos_Temperature, SL_ReadRegisterHighSideMosTemperature},
- {SL_Register_DischargMos_State, SL_ReadRegisterDischargMosState},
- {SL_Register_MPPT_Mode, SL_ReadRegisterMPPTMode},
+ {SL_Register_SOC, SL_ReadRegisterSOC},
+ {SL_Register_chargState, SL_ReadRegisterChargState},
+ {SL_Register_totalChargCapacity, SL_ReadRegisterTotalChargCapacity},
+ {SL_Register_totalElectricityConsumption, SL_ReadRegisterTotalElectricityConsumption},
+ {SL_Register_MPPT_Mode, SL_ReadRegisterMPPT_Mode},
};
/* 瀵勫瓨鍣ㄥ鐞嗚〃 */
@@ -81,6 +89,7 @@ SL_RegProcTable g_RegTblW[] =
// {SL_Register_Remaining_Battery_Bower, SL_WriteRegisterRemainingBatteryBower},
// {SL_Register_Solar_Open_Circuit_Voltage1, SL_WriteRegisterSolarOpenCircuitVoltage1},
// {SL_Register_Solar_Open_Circuit_Voltage2, SL_WriteRegisterSolarOpenCircuitVoltage2},
+ {SL_Register_eliminateStatistical, SL_WriteRegisterEliminateStatistical}
};
/**
@@ -392,6 +401,19 @@ void SL_MsgProcFunc_Remote_Upgrade(device_handle device, void *pMsg, uint32_t Ms
}
}
+
+/**
+ * @brief 璇诲彇寮璺數鍘嬪瘎瀛樺櫒
+ * @param
+ * @retval
+ */
+uint16_t SL_ReadRegisterSolarOpenCircuitVoltage(void *pMsg)
+{
+ log_info(" SL_ReadRegisterSolarOpenCircuitVoltage ");
+ uint16_t value = (uint16_t)(g_otherParameter.Solar_Open_Circuit_Voltage * 10);
+ return value;
+}
+
/**
* @brief 璇诲彇鐢垫睜鐢靛帇瀵勫瓨鍣
* @param
@@ -429,19 +451,7 @@ uint16_t SL_ReadRegisterDischargCurrent(void *pMsg)
}
/**
- * @brief 璇诲彇澶槼鑳藉紑璺數鍘嬪瘎瀛樺櫒
- * @param
- * @retval
- */
-uint16_t SL_ReadRegisterSolarOpenCircuitVoltage(void *pMsg)
-{
- log_info(" SL_ReadRegisterSolarOpenCircuitVoltage ");
- uint16_t value = (uint16_t)(g_otherParameter.Solar_Open_Circuit_Voltage * 10);
- return value;
-}
-
-/**
- * @brief 璇诲彇楂樼mos绠$殑娓╁害瀵勫瓨鍣
+ * @brief 璇诲彇mos绠$殑娓╁害瀵勫瓨鍣
* @param
* @retval
*/
@@ -453,29 +463,93 @@ uint16_t SL_ReadRegisterHighSideMosTemperature(void *pMsg)
}
/**
- * @brief 璇诲彇鏀剧數mos绠$姸鎬佸瘎瀛樺櫒
+ * @brief 璇诲彇鐢垫睜鍓╀綑鐢甸噺
* @param
* @retval
*/
-uint16_t SL_ReadRegisterDischargMosState(void *pMsg)
+uint16_t SL_ReadRegisterSOC(void *pMsg)
{
- log_info(" SL_ReadRegisterDischargMosState ");
- uint16_t value = (uint16_t)g_otherParameter.DischargMos_State;
+ log_info(" SL_ReadRegisterSOC ");
+ uint16_t value = (uint16_t)(1 * 10);
return value;
}
/**
- * @brief 璇诲彇mppt宸ヤ綔妯″紡瀵勫瓨鍣
+ * @brief 璇诲彇鍏呮斁鐢电姸鎬
* @param
* @retval
*/
-uint16_t SL_ReadRegisterMPPTMode(void *pMsg)
+uint16_t SL_ReadRegisterChargState(void *pMsg)
{
- log_info(" SL_ReadRegisterMPPTMode ");
- uint16_t value = (uint16_t)g_otherParameter.MPPT_Mode;
+ log_info(" SL_ReadRegisterChargState ");
+ uint16_t value = 0;
+ if (g_controlParameter.dutyRatio > 0 && g_otherParameter.Charg_Current > 0.05) {
+ value |= 0xFF00;
+ } else {
+ value &= 0x00FF;
+ }
+
+ if (g_otherParameter.DischargMos_State == Bit_SET && g_otherParameter.Discharg_Current > 0.05) {
+ value |= 0x00FF;
+ } else {
+ value &= 0xFF00;
+ }
+
return value;
}
+/**
+ * @brief 璇诲彇鎬诲厖鐢电數閲
+ * @param
+ * @retval
+ */
+uint16_t SL_ReadRegisterTotalChargCapacity(void *pMsg)
+{
+ log_info(" SL_ReadRegisterTotalChargCapacity ");
+ uint16_t value = (uint16_t)(g_otherParameter.totalChargCapacity * 1000);
+ return value;
+}
+
+/**
+ * @brief 璇诲彇鎬绘秷鑰楃數閲
+ * @param
+ * @retval
+ */
+uint16_t SL_ReadRegisterTotalElectricityConsumption(void *pMsg)
+{
+ log_info(" SL_ReadRegisterTotalElectricityConsumption ");
+ uint16_t value = (uint16_t)(g_otherParameter.totalElectricityConsumption * 1000);
+ return value;
+}
+
+/**
+ * @brief 璇诲彇MPPT宸ヤ綔妯″紡
+ * @param
+ * @retval
+ */
+uint16_t SL_ReadRegisterMPPT_Mode(void *pMsg)
+{
+ log_info(" SL_ReadRegisterMPPT_Mode ");
+ uint16_t value = (uint16_t)(g_otherParameter.MPPT_Mode);
+ return value;
+}
+
+/**
+ * @brief 娓呴櫎鎬诲厖鐢甸噺鍜屾绘秷鑰楅噺
+ * @param
+ * @retval
+ */
+uint16_t SL_WriteRegisterEliminateStatistical(void *pMsg)
+{
+ log_info(" SL_WriteRegisterEliminateStatistical ");
+ g_otherParameter.totalChargCapacity = 0;
+ g_otherParameter.totalElectricityConsumption = 0;
+ saveTotalPower(&g_otherParameter.totalElectricityConsumption, &g_otherParameter.totalChargCapacity);
+
+ return 1;
+}
+
+
/**
* @brief 鍖归厤璧峰鏍囧織"SL"
* @param start_buff 璧峰鏍囧織
@@ -757,21 +831,3 @@ void read_and_process_uart_data(device_handle device)
}
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/App/src/task.c b/App/src/task.c
index 467c700..da1ce84 100644
--- a/App/src/task.c
+++ b/App/src/task.c
@@ -34,7 +34,6 @@
void Init()
{
SPI_Flash_Init();
-// SPI_Flash_Erase_Sector(0);
currBuffInit();
config_info_start();
adcChangeProportionalInit();
@@ -48,6 +47,8 @@ void Init()
POW_FF_CON_Init();
DSG_PROT_Init();
WORK_VOLT_INT_Init();
+
+ /* 1ms */
TIM3_Init(10);
TimeSliceOffset_Register(&m_WdiRunled, Task_WdiRunled, WdiRunled_reloadVal, WdiRunled_offset);
@@ -102,6 +103,8 @@ void Task_WdiRunled(void)
GPIO_WriteBit(WDI_INPUT_GPIO, WDI_INPUT_PIN, SET);
GPIO_WriteBit(WDI_INPUT_GPIO, WDI_INPUT_PIN, RESET);
+// printf(" vBattery : %d/100 \n", (int)(g_otherParameter.Battery_Voltage * 100));
+
uart_dev_write(g_bat485_uart3_handle, " \n", sizeof(" \n"));
char buffer[80];
@@ -187,11 +190,16 @@ void Task_refreshRegister(void)
g_otherParameter.Solar_In_Circuit_Voltage = get_PV1_VOLT_IN();
g_otherParameter.HighSideMos_Temperature = get_MOSFET_Temper();
+ if (g_controlParameter.dutyRatio == 0) {
+ g_otherParameter.Solar_Open_Circuit_Voltage = get_PV1_VOLT_IN();
+ }
+
g_otherParameter.Charg_BatteryCurrent = g_otherParameter.Charg_Current
- g_otherParameter.Discharg_Current;
g_otherParameter.totalChargCapacity += totalChargCapacity / 3600000;
g_otherParameter.totalElectricityConsumption += totalElectricityConsumption / 3600000;
- saveTotalPower(&g_otherParameter.totalElectricityConsumption, &g_otherParameter.totalChargCapacity);
+// saveTotalPower(&g_otherParameter.totalElectricityConsumption, &g_otherParameter.totalChargCapacity);
+
totalChargCapacity = 0;
totalElectricityConsumption = 0;
@@ -238,12 +246,12 @@ void Task_impedanceCalculation(void)
return;
}
- if (num == 11) {
- currOne = get_CHG_CURR() - get_DSG_CURR();
- voltOne = get_PV_VOLT_OUT();
- TIM_SetCompare4(TIM4, 420);
- return;
- }
+// if (num == 11) {
+// currOne = get_CHG_CURR() - get_DSG_CURR();
+// voltOne = get_PV_VOLT_OUT();
+// TIM_SetCompare4(TIM4, 420);
+// return;
+// }
if (num == 21) {
TimeSliceOffset_Unregister(&m_impedanceCalculation);
@@ -379,8 +387,7 @@ void Task_softStart(void)
if (g_otherParameter.batteryState == 1) {
g_otherParameter.MPPT_Mode = CONSTANTCURRENT;
- TIM_Cmd(TIM3, ENABLE);
- return;
+ goto start;
} else {
g_otherParameter.Charg_BatteryCurrent = g_otherParameter.Charg_Current
- g_otherParameter.Discharg_Current;
@@ -388,14 +395,14 @@ void Task_softStart(void)
if (g_otherParameter.Charg_BatteryCurrent > 0.1
|| g_otherParameter.Charg_BatteryCurrent < -0.1) {
g_otherParameter.MPPT_Mode = CONSTANTCURRENT;
- TIM_Cmd(TIM3, ENABLE);
- return;
}
g_otherParameter.MPPT_Mode = FLOAT;
- TIM_Cmd(TIM3, ENABLE);
- return;
+ start:
+ TIM_Cmd(TIM3, ENABLE);
+ TimeSliceOffset_Register(&g_collectOpenCircuitVoltage, Task_collectOpenCircuitVoltage
+ , collectOpenCircuitVoltage_reloadVal, collectOpenCircuitVoltage_offset);
}
}
}
@@ -439,6 +446,12 @@ void Task_startMpptControl(void)
STR_TimeSliceOffset g_dataJudgment;
void Task_dataJudgment(void)
{
+ /* 判断有无电池 */
+ if (g_otherParameter.batteryState == 0 && (g_otherParameter.Charg_BatteryCurrent > 0.1 || g_otherParameter.Charg_BatteryCurrent < -0.1)
+ && g_otherParameter.Output_Voltage < 14.2) {
+ g_otherParameter.batteryState = 1;
+ }
+
/* 有电池,太阳能输出功率大,同时回路阻抗未测试或需要重新测试 */
if ((g_otherParameter.impedanceStart == 1 || g_controlParameter.loopImpedance == 0.0)
&& g_otherParameter.batteryState == 1 && (g_otherParameter.Charg_Current > 3.0)) {
@@ -623,18 +636,55 @@ void Task_uartConfigFile(void)
read_and_process_config_data();
}
+///**
+// * @brief 过载延时
+// * @param
+// * @retval
+// *
+// */
+//STR_TimeSliceOffset g_overloadDelay;
+//void Task_overloadDelay(void)
+//{
+// TimeSliceOffset_Unregister(&g_overloadDelay);
+// g_overloadDelay.runFlag = 0;
+// WORK_VOLT_INT_open();
+//}
+
/**
- * @brief 过载延时
+ * @brief 系统启动后,通过该任务采集开路电压
* @param
* @retval
*
*/
-STR_TimeSliceOffset g_overloadDelay;
-void Task_overloadDelay(void)
+STR_TimeSliceOffset g_collectOpenCircuitVoltage;
+void Task_collectOpenCircuitVoltage(void)
{
- TimeSliceOffset_Unregister(&g_overloadDelay);
- g_overloadDelay.runFlag = 0;
- WORK_VOLT_INT_open();
+ static uint8_t flag = 0;
+ g_otherParameter.collectOpenCircuitVoltageNUM++;
+ if (g_otherParameter.collectOpenCircuitVoltageNUM == g_controlParameter.collectOpenCircuitVoltageTime) {
+ if (g_otherParameter.batteryState) {
+ TIM_Cmd(TIM3, DISABLE);
+ TIM_SetCompare4(TIM4, 0);
+ g_controlParameter.dutyRatio = 0;
+ flag = 1;
+ g_collectOpenCircuitVoltage.count = 500;
+ }
+ }
+
+ if (flag) {
+ flag = 0;
+ g_otherParameter.Solar_Open_Circuit_Voltage = get_PV1_VOLT_IN();
+ TimeSliceOffset_Register(&m_softStart, Task_softStart, softStart_reloadVal, softStart_offset);
+ }
}
-
+STR_TimeSliceOffset g_configurationModeDelayedExit;
+void Task_configurationModeDelayedExit(void)
+{
+ if (120 == ++g_otherParameter.HYconfigModeT) {
+ g_otherParameter.HYconfigModeState = 0;
+ g_otherParameter.HYconfigModeT = 0;
+ TimeSliceOffset_Unregister(&g_configurationModeDelayedExit);
+ g_configurationModeDelayedExit.runFlag = 0;
+ }
+}
diff --git a/Hardware/src/tim.c b/Hardware/src/tim.c
index 789fee1..d494022 100644
--- a/Hardware/src/tim.c
+++ b/Hardware/src/tim.c
@@ -20,7 +20,7 @@ void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
void TIM1_UP_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
-
+/* delay_ms 为0.1ms */
void TIM3_Init(uint16_t delay_ms)
{
/* 分频系数 */
diff --git a/User/main.c b/User/main.c
index 4209aa4..7c52edb 100644
--- a/User/main.c
+++ b/User/main.c
@@ -39,5 +39,7 @@ int main(void)
printf("SystemClk:%d\r\n", SystemCoreClock);
printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID());
+// Delay_Ms(10000);
+
Init();
}
diff --git a/obj/App/src/collect_Conversion.o b/obj/App/src/collect_Conversion.o
index 0c98950..6928897 100644
Binary files a/obj/App/src/collect_Conversion.o and b/obj/App/src/collect_Conversion.o differ
diff --git a/obj/App/src/hy_protocol.o b/obj/App/src/hy_protocol.o
index 83a936d..c078a07 100644
Binary files a/obj/App/src/hy_protocol.o and b/obj/App/src/hy_protocol.o differ
diff --git a/obj/App/src/inflash.o b/obj/App/src/inflash.o
index ff87558..19f7e0f 100644
Binary files a/obj/App/src/inflash.o and b/obj/App/src/inflash.o differ
diff --git a/obj/App/src/mppt_control.o b/obj/App/src/mppt_control.o
index 8eef008..2dac36a 100644
Binary files a/obj/App/src/mppt_control.o and b/obj/App/src/mppt_control.o differ
diff --git a/obj/App/src/parameter.o b/obj/App/src/parameter.o
index 7d06258..63feae1 100644
Binary files a/obj/App/src/parameter.o and b/obj/App/src/parameter.o differ
diff --git a/obj/App/src/sl_protocol.o b/obj/App/src/sl_protocol.o
index 3d1b16d..db97d41 100644
Binary files a/obj/App/src/sl_protocol.o and b/obj/App/src/sl_protocol.o differ
diff --git a/obj/App/src/task.o b/obj/App/src/task.o
index 71e6920..45767c1 100644
Binary files a/obj/App/src/task.o and b/obj/App/src/task.o differ
diff --git a/obj/App/src/uart_dev.o b/obj/App/src/uart_dev.o
index 739064e..78ffba7 100644
Binary files a/obj/App/src/uart_dev.o and b/obj/App/src/uart_dev.o differ
diff --git a/obj/Hardware/src/gpio.o b/obj/Hardware/src/gpio.o
index 7f77eab..bfb0ba0 100644
Binary files a/obj/Hardware/src/gpio.o and b/obj/Hardware/src/gpio.o differ
diff --git a/obj/Hardware/src/tim.o b/obj/Hardware/src/tim.o
index 07db95e..8e778d0 100644
Binary files a/obj/Hardware/src/tim.o and b/obj/Hardware/src/tim.o differ
diff --git a/obj/User/main.o b/obj/User/main.o
index ca856c7..00d5607 100644
Binary files a/obj/User/main.o and b/obj/User/main.o differ
diff --git a/obj/mppt_Nos_V0.4.bin b/obj/mppt_Nos_V0.4.bin
index 1cf81bb..e4fa492 100644
Binary files a/obj/mppt_Nos_V0.4.bin and b/obj/mppt_Nos_V0.4.bin differ
diff --git a/obj/mppt_Nos_V0.4.elf b/obj/mppt_Nos_V0.4.elf
index 706b79c..1e68c68 100644
Binary files a/obj/mppt_Nos_V0.4.elf and b/obj/mppt_Nos_V0.4.elf differ
diff --git a/obj/mppt_Nos_V0.4.hex b/obj/mppt_Nos_V0.4.hex
index f9907c7..82e954a 100644
--- a/obj/mppt_Nos_V0.4.hex
+++ b/obj/mppt_Nos_V0.4.hex
@@ -37,9 +37,9 @@
:10023000000096968682E78086FA9680C1171D8F09
:100240003E96E374C3F8A5B701A001A0EFF25FF2F8
:100250000545EF00D0288922EF10D05271651305B3
-:100260000520EF10705BB707002083A5871A37952C
-:1002700000001305C51EEF70C07E0925AA853795BD
-:1002800000001305C51FEF70C07DEF40B021014590
+:100260000520EF10705BB707002083A5071C37A59A
+:1002700000001305C50FEF80E06F0925AA8537A59B
+:1002800000001305C510EF80E06EEF50D00E014561
:1002900011B7EFF2FFED371402401C403707FF089B
:1002A000411193E717001CC05C40F98F5CC01C40F3
:1002B0003707F7FE6D17F98F1CC01C403707FCFF8E
@@ -57,7 +57,7 @@
:10037000D8C3D84313672700D8C32147DC42B18BC9
:10038000E39EE7FE410139B502C661BF372702404F
:100390001C43F19B1CC3FDB7B7160240DC42370774
-:1003A00000201146B18B1307871A638FC7022146BD
+:1003A00000201146B18B1307071C638FC70221463B
:1003B0006381C70495EB9C42918B9DC7B7470F00A3
:1003C000938707241CC3B7170240DC43918393F63D
:1003D000F700B707002093870700B69794231C43C4
@@ -67,11 +67,11 @@
:100410000680C18A89CEB7167A009386062021A865
:10042000B7160240D4421396E600E35606FEB7160E
:100430003D0093860690B387D70269B701A0970164
-:1004400000209381A156175100201301A1BB17A5CD
-:1004500000001305E580970500209385A5BA138653
-:10046000018263FAC5008322050023A0550011050F
-:100470009105E3EAC5FE1385018297150020938557
-:10048000E5426377B500232005001105E36DB5FE55
+:10044000002093812158175100201301A1BB17B53B
+:100450000000130565CF970500209385A5BA138684
+:10046000818263FAC5008322050023A0550011058F
+:100470009105E3EAC5FE13858182971500209385D7
+:10048000A5476377B500232005001105E36DB5FE90
:10049000FD42739002BC8D427390428093028008AB
:1004A0007390023097020000938202B693E232000A
:1004B00073905230EFF0FFDD97020000938242D933
@@ -134,7 +134,7 @@
:100840000C1085078607AE972396E7FE9C848507E4
:1008500093F7F70FDC8449BF1C8410103885890793
:100860008607B29783D7C7FEBA97C207C1837C8534
-:100870001C84850793F7F70F5C84EDBD03A54182C7
+:100870001C84850793F7F70F5C84EDBD03A5C18247
:1008800082805841032805004C45370601409307F4
:1008900006403E979346F8FFB1C583250640F58D87
:1008A0002320B640D043F18ED4C31443B3E60601EF
@@ -183,9 +183,9 @@
:100B50002FE237F4FF1F032744723706003E41118E
:100B6000931797019346F7FFF18F060737063E006C
:100B7000718FD98F3706000113979600718FD98F27
-:100B8000BD824167F98ED58F02C202C402C623A47A
-:100B9000F1820357847285452390E1820327047212
-:100BA0001305D00323A6E1820327447023A2E18228
+:100B8000BD824167F98ED58F02C202C402C623A876
+:100B9000F1820357847285452394E182032704720E
+:100BA0001305D00323AAE1820327447023A6E18220
:100BB0008D2C8327447037073A101307077093F77B
:100BC000F7F06380E7106361F7023707321013070D
:100BD00007706380E70637073710130707706387CE
@@ -204,8 +204,8 @@
:100CA00001408D393DBFB7140140E1771304800442
:100CB0004C00138504807C8222C6A939930740200A
:100CC0008DB7B7140140E177130480044C001385FD
-:100CD00004807C8222C63D398967F51799B723A81D
-:100CE000A182828003A70183854714216310F70244
+:100CD00004807C8222C63D398967F51799B723AC19
+:100CE000A182828003A78183854714216310F702C4
:100CF0001C31639CE7023C21960793E707F837E72E
:100D000000E093F7F70F36972300F740054793D796
:100D100056003317D700544189CE938707048A07BA
@@ -291,7 +291,7 @@
:1012100001451D36371501409307E00F4C001305BB
:101220000580372401407C8202C6EFF0AFEE130543
:101230000440EFF06FA913050440EFF0EFC6AA8554
-:10124000239AA182379500001305C520EF60700135
+:10124000239EA18237A500001305C511EF7080729F
:10125000B7070E003ECE0C08854713050440230255
:10126000F10202C802CA02CC02D0EFF06FA8854595
:1012700013050440EFF02FAD854513050440EFF052
@@ -348,8 +348,8 @@
:1015A0001304001042044180F1BF6FE01FBEEFE260
:1015B000BFB913994501135949018567B38727417D
:1015C0003E84C207C183AA8AAE89B28413DAC500F9
-:1015D0006373F6003284370B00204204930BCB2454
-:1015E0004180130BCB24130CF00F931CCA0005662B
+:1015D0006373F6003284370B00204204930BCB2652
+:1015E0004180130BCB26130CF00F931CCA00056629
:1015F000E6855E85613D81471397070141836366F8
:1016000087002286CE85568525A885073307F900F1
:101610005A970347F7FFE30187FF52851535814746
@@ -375,13 +375,13 @@
:1017500080117C86680089475C8722C8EFF08FD8AB
:1017600045616FE03FA34111114522C626C4EFF049
:10177000EF978547631EF5022A841145EFF0EF9835
-:10178000371700201307C7438347D7069DE7B714D1
-:101790000020B755000081461306803E938565DB27
-:1017A00013854466A3068706EF008067238284665C
+:1017800037170020130707468347D7069DE7B7148E
+:101790000020B765000081461306803E938585C80A
+:1017A0001385046BA3068706EF0080672388846A8D
:1017B0003244A244410173002030850793F7F70FAC
:1017C000A306F7060947E395E7FE37140020130543
-:1017D0004466EF00C06837150140014693050010CC
-:1017E000130505C023020466EFF04FA0D1B7EFE266
+:1017D000046BEF00C0683715014001469305001007
+:1017E000130505C02308046AEFF04FA0D1B7EFE25C
:1017F0003F984111B1450145EFF0AFB285673EC05A
:10180000A1473EC40A8585473EC602C2EFF06F87F6
:1018100041016FE03F98EFE2BF9501118545154505
@@ -390,9 +390,9 @@
:1018400080137C868D475C87680085473EC8EFF033
:101850006FC905616FE01F944111056522C6EFF065
:10186000EF8885476312F5042945EF00A0730565ED
-:10187000EFF0AF89371400209307C44383C7E7060E
-:101880001304C44389EFB755000037150020814683
-:101890001306803E938585E11305456551238347F3
+:10187000EFF0AF89371400209307044683C7E706CB
+:101880001304044689EFB765000037150020814630
+:101890001306803E9385A5CE1305056A5123834721
:1018A000E40685072307F406324441017300203023
:1018B000EFE21F8C411185451145EFF08FD6E1779E
:1018C000371401407C82C1473EC64C008D4713054A
@@ -409,15 +409,15 @@
:10197000231B010002C6EFF0AFDD13050480A14573
:10198000EFF06FEA130504808545EFF02FE48545FD
:1019900013050480EFF00FE505616FE0AFFF411123
-:1019A00022C42A8408414AC24EC006C6EF501058CD
-:1019B000B797000003A6072383A647232A89AE8989
-:1019C000EF40C005635F0502B797000083A7472279
-:1019D0001CC0B797000083A5C7220840EF50804E77
-:1019E000EF5030369315050137150040C1811305BE
+:1019A00022C42A8408414AC24EC006C6EF603049AC
+:1019B000B7A7000003A6071483A647142A89AE8997
+:1019C000EF40F076635F0502B7A7000083A74713D7
+:1019D0001CC0B7A7000083A5C7130840EF60A03F55
+:1019E000EF6050279315050137150040C18113059D
:1019F0000580EFF0AFE4B240224412498249410130
-:101A00008280B797000003A6872383A6C7234A8551
-:101A1000CE85EF30D075E35EA0FAB797000083A7BC
-:101A200087227DB7EFE2CFF4797137140140C147C7
+:101A00008280B7A7000003A6871483A6C7144A855F
+:101A1000CE85EF40F066E35EA0FAB7A7000083A78B
+:101A200087137DB7EFE2CFF4797137140140C147D6
:101A3000FC828D44C1474C08130504C03ECE26CC21
:101A4000EFE05FED0146130504C0C145EFE01FFA6A
:101A500085452145EFF0EFBC854537050800EFF0DF
@@ -444,12 +444,12 @@
:101BA0006FDF930500082285EFF0CFDF7DD96FE06E
:101BB0006FDE411122C63754004093055052130581
:101BC0000480EFF0CFDE0DC513050480EFF00FDDCC
-:101BD0009375F50F238CB18203A541891C4D1049E3
+:101BD0009375F50F2380B18403A5C1891C4D10496D
:101BE00054498507B3E7C7026384D7003105152E32
:101BF0003244410173002030411122C63754004065
:101C000093055052130504C0EFF06FDA0DC51305AC
-:101C100004C0EFF0AFD89375F50F238EB18203A502
-:101C200081891C4D104954498507B3E7C702638475
+:101C100004C0EFF0AFD89375F50F2382B18403A50C
+:101C2000018A1C4D104954498507B3E7C7026384F4
:101C3000D7003105FD243244410173002030EFE22A
:101C40002FD30111AA842E8409458545EFF04F9FBB
:101C5000E084370400404C081305044026CA231EC4
@@ -457,40 +457,40 @@
:101C7000EFF02FC10546854513050440EFF0EFB79F
:101C80009307D0027C8685475C87680085473EC8FD
:101C9000EFF04F8505616FE0EFCFEFE26FCDB70753
-:101CA000002083A5871A896793870771B3D5F5024A
+:101CA000002083A5071C896793870771B3D5F502C8
:101CB0007D1542054181FD15C205C18149376FE09F
:101CC0006FCD411122C637040040854513050440FD
:101CD000EFF0AFB901C9854513050440EFF06FBAC5
-:101CE000EF10706F3244410173002030EFE24FC8B3
+:101CE000EF20B0223244410173002030EFE24FC8B0
:101CF00001112E84AA8485450545EFF06F944C08A8
:101D00003705004026CAE084231E0100231D010080
:101D1000EFF0AF9C0546854537050040EFF0EFAD8D
:101D20009307C0027C868D475C87680085473EC864
:101D3000EFE05FFB854537050040EFF02FA9056117
-:101D40006FE04FC5EFE2CFC2B707002083A5871A27
+:101D40006FE04FC5EFE2CFC2B707002083A5071CA5
:101D5000896793870771B3D5F502A9473305F50263
:101D6000FD15C205C1817D154205418141376FE0F6
:101D70006FC2411185453705004022C626C44AC2BC
:101D80004EC0EFF08FAE31C5854537050040EFF00E
-:101D90004FAF37140020212A1304C4437D2908D8EB
-:101DA000892B8329C4020C5848D82A894E85EF50C4
-:101DB0006011938401848C4013844184EF40F017B8
-:101DC00088C0CE854A85EF50E00F0C40EF40F016FA
+:101D90004FAF37140020212A130404467D2908D8A8
+:101DA000892B8329C4020C5848D82A894E85EF60B4
+:101DB0008002938481848C401384C184EF50100985
+:101DC00088C0CE854A85EF6000010C40EF501008B6
:101DD00008C03244A24412498249410173002030B4
:101DE000B7F700E023A20700D9207300203041118B
:101DF00022C6373401408545130504C0EFF0EFA635
-:101E000001CD130504C08545EFF0AFA7379500005D
-:101E100013050524EF503056324441017300203041
+:101E000001CD130504C08545EFF0AFA737A500004D
+:101E100013050515EF60504732444101730020302F
:101E20001DC9B296C206C18252A136A10CC509EEE7
-:101E300085471CA183A6818493878184368701EB23
+:101E300085471CA183A6018593870185368701EB21
:101E400054C588C30145828023000500E5B76306B9
:101E5000A7005847EDB77D558280054582800DC5A6
-:101E600083A781841387818499E305458280D447C1
+:101E600083A701851387018599E305458280D447BF
:101E70006396A6005845D8C7014582806394A700A1
:101E800014C3DDBFB687CDB77D558280EFE24FAE7C
-:101E900003A4818475DC1C2093F7F70F99C75E209B
+:101E900003A4018575DC1C2093F7F70F99C75E201A
:101EA00099C3230004001C4482974044E5B783A7EC
-:101EB0008184054691E38280D62381CEBA237D17A3
+:101EB0000185054691E38280D62381CEBA237D1722
:101EC00042074183BAA3BA234207418319E390A38F
:101ED000B6A3DC47C5B7232605000CC150C1232497
:101EE000050005458280584550411C45050733676C
@@ -503,14 +503,14 @@
:101F50005C45630FF70018451C41BA979C239CA170
:101F60001C4558418507B3E7E7021CC5054582803B
:101F7000014582805C4518454841998FAA9733E511
-:101F8000A7028280B707002083A7871A0967130773
-:101F900007F4B3D7E702C207C1832397F1842396DE
+:101F8000A7028280B707002083A7071C09671307F1
+:101F900007F4B3D7E702C207C183239BF184239AD6
:101FA000F1848280B7F700E0D8438146799BD8C39B
-:101FB00003D7E1843305A7021307803E3356E502B9
+:101FB00003D761853305A7021307803E3356E50238
:101FC00090CBD4CB98431367070198C3984313670A
:101FD000170298C3D843058B75DF9843799B98C344
:101FE0008280B7F700E0D8438146799BD8C303D7F6
-:101FF000C1843306A70290CBD4CB98431367070163
+:101FF00041853306A70290CBD4CB984313670701E2
:1020000098C398431367170298C3D843058B75DFAD
:102010009843799B98C38280EFE28F952A8411655B
:10202000011185451105EFE0DFDF930700207C8279
@@ -522,22 +522,22 @@
:1020800093840480634524014A856FE00F90930593
:1020900000042685EFF00F917DD9B38789008385F1
:1020A000070026850504C205C181EFF0AF8ED9BFB8
-:1020B000138781801C43B72600209386868A3E952D
+:1020B000138781801C43B72600209386468F3E9568
:1020C000636BD500B75600209386068063E5A600B3
:1020D00008C33E858280FD57EDBFEFE2CF873714FE
-:1020E0000020B7150020130640069385C52413056C
-:1020F000C43DD5339304C43DB715002013850401B6
-:102100001306400693854531B7140020E9331309BF
-:10211000C43D9384C43EF95981451305C43DE13360
+:1020E0000020B7150020130640069385C52613056A
+:1020F000C43FD5339304C43FB715002013850401B2
+:102100001306400693854533B7140020E9331309BD
+:10211000C43F9384C440F95981451305C43FE1335A
:10212000E31C35FF795481452685753BE31D85FE0B
:1021300023200902232209026FE02F85B717002010
-:1021400003C5A7459385018513860186938641853E
-:1021500013878185379800009387C1850DC5379512
-:1021600000000325052588C1B795000083A54525F6
-:102170000CC2379600000326862590C28326C82508
-:1021800014C394C38280379500000325052688C1B7
-:102190008325C82588C20CC20CC38CC382800397D8
-:1021A000418381472A97634F070009CD056693064F
+:1021400003C5F74793858185138681869386C1856C
+:102150001387018637A80000938741860DC537A5F0
+:1021600000000325051688C1B7A5000083A5451604
+:102170000CC237A600000326861690C28326C81616
+:1021800014C394C3828037A500000325051788C1B6
+:102190008325C81688C20CC20CC38CC382800397E7
+:1021A000C18381472A97634F070009CD05669306CF
:1021B000F6FFB6876358C700AA876305D500931753
:1021C0000701C1833E858280EFD2FFF84111372499
:1021D0000140AA8944001309010113040440CE857B
@@ -549,1985 +549,2322 @@
:102230006376B500231AA6FE239AB6FEC207C183B1
:10224000E3CBE7FC7D1771F728843C8541013E957F
:102250004205418105816FD05FF3EFD27FF10545E3
-:10226000A537EF50C03FB797000083A54726EF4042
-:102270007003EF50A04BB797000003A6872683A6F4
-:10228000C726EF3010052A8403A50185AE84EF50E0
-:10229000E0492A86AE862285A685EF309003EF506E
-:1022A000A0536FD03FEFEFD2BFEC0945313FEF5065
-:1022B000003BB797000083A54726EF40A07EEF5074
-:1022C000E046B797000003A6872683A6C726EF300F
-:1022D00050002A8403A50186AE84EF5020452A864B
-:1022E000AE862285A685EF30C07EEF50E04E6FD0DF
-:1022F0007FEAEFD2FFE70D45C13DEF504036B7977B
-:10230000000083A54726EF40E079EF502042B797C1
-:10231000000003A6872683A6C726EF30807B2A8489
-:1023200003A54185AE84EF5060402A86AE862285A3
-:10233000A685EF30007AEF50204A6FD0BFE5EFD28C
-:102340003FE311455135EF508031B797000083A529
-:102350004726EF402075EF50603DB797000003A679
-:10236000872683A6C726EF30C0762A8403A58185F9
-:10237000AE84EF50A03B2A86AE862285A685EF303C
-:102380004075EF5060456FD0FFE0EFD27FDE15451E
-:10239000EFF09FE3EF50A02CB797000083A54726EE
-:1023A000EF404070EF508038B797000003A68726B3
-:1023B00083A6C726EF30E0712A8403A5C185AE84C9
-:1023C000EF50C0362A86AE862285A685EF30607033
-:1023D000EF5080406FD01FDCEFD29FD91945EFF04E
-:1023E000BFDEA5679387072801479306100F922346
-:1023F0006369C5023A85EF40202DB797000003A618
-:10240000072783A64727EF30C06CB797000003A6C5
-:10241000872783A6C727EF305037EF50E03B6FD0B8
+:10226000A537EF60E030B7A7000083A54717EF5010
+:102270008074EF60C03CB7A7000003A6871783A651
+:10228000C717EF4020762A8403A58185AE84EF60CE
+:10229000003B2A86AE862285A685EF40A074EF60BB
+:1022A000C0446FD03FEFEFD2BFEC0945313FEF6044
+:1022B000202CB7A7000083A54717EF50C06FEF6031
+:1022C0000038B7A7000003A6871783A6C717EF40FB
+:1022D00060712A8403A58186AE84EF6040362A8629
+:1022E000AE862285A685EF40E06FEF6000406FD09C
+:1022F0007FEAEFD2FFE70D45C13DEF606027B7A74A
+:10230000000083A54717EF50006BEF604033B7A77D
+:10231000000003A6871783A6C717EF40A06C2A8486
+:1023200003A5C185AE84EF6080312A86AE86228502
+:10233000A685EF40206BEF60403B6FD0BFE5EFD24A
+:102340003FE311455135EF60A022B7A7000083A5F8
+:102350004717EF504066EF60802EB7A7000003A636
+:10236000871783A6C717EF40E0672A8403A5018675
+:10237000AE84EF60C02C2A86AE862285A685EF400B
+:102380006066EF6080366FD0FFE0EFD27FDE1545EC
+:10239000EFF09FE3EF60C01DB7A7000083A54717CC
+:1023A000EF506061EF60A029B7A7000003A6871770
+:1023B00083A6C717EF4000632A8403A54186AE8435
+:1023C000EF60E0272A86AE862285A685EF408061F1
+:1023D000EF60A0316FD01FDCEFD29FD91945EFF02D
+:1023E000BFDEA9679387071901479306100F922351
+:1023F0006369C5023A85EF50401EB7A7000003A6E7
+:10240000071883A64718EF40E05DB7A7000003A6B2
+:10241000871883A6C718EF407028EF60002D6FD093
:102420007FD705078907E314D7FC13050000C5BF54
-:102430008280B71700209387C7431421983B639A83
-:10244000E6021031B42B01476313D6023021B43BAE
-:10245000631FD6003031D42B631BD6005021D43BF0
-:102460006317D6005831E82B098F133717003A85C8
-:1024700082800147EDBF828082808280828082805C
-:102480008280828082808280828082800147814730
-:102490009376F70F63E7B60013C5F7FF1375F50FD3
-:1024A0008280B306E50094220507B697D5B7EFD230
-:1024B0003FCC371400201304C44318383C3C0111AE
-:1024C000D8843A285C843C2C788558482309F1004C
-:1024D000BC353AC61A2CA309F10093070050FC82C0
-:1024E000FD57F880230BF100F835FC25AA8422075C
-:1024F0005D8F9C292800C2075D8F9C39CD45E2077E
-:10250000D98F13D78700A30BF100230CE10013D759
-:102510000701E183230DF100A30CE100853F5C2C52
-:10252000A30DA100230EF100EF10500DEFF07FABD3
-:102530002685EF10700F6DF9130660032C002685B9
-:10254000EF20F04483A74189054693055052375543
-:1025500000406390970213050580EFE05FC0B70766
-:10256000EFBE37E700E0938707083CC705616FD0EF
-:102570007FC2130505C0D5B7EFD29FBF3714002027
-:102580001304C4433C3C011114385C803E28034FC3
-:102590002401834E34017C815C48034E4401034393
-:1025A00054013EC21E2C83486401034874017C849C
-:1025B000BC35103C382CAA84082CDC8585679387B1
-:1025C00007E0D48058857C865487A307E10123085F
-:1025D000D101A308C10123096100A3091101230A44
-:1025E0000101A30AA100230BC100A30BE100F835F0
-:1025F000FC250A8522075D8F9C29C2075D8F9C39C7
-:10260000F145E207D98F3ECCEFF05FE85C2C230E5A
-:10261000A100A30EF100EF10607EEFF09F9C2685D5
-:10262000EF1090006DF9130660038A852685EF2070
-:10263000103683A74189054693055052375500400F
-:102640006399970013050580EFE07FB105616FD0B6
-:102650007FB4130505C0CDBFEFD29FB119712A8990
-:10266000138525012E84B7140020EFF09FDC93849E
-:10267000C4436304050E1C2C4810FCB81C3C9CACE5
-:102680003C2C9CBC3C3CBCACDD2B1C2C9305A0051D
-:102690004810A30EF1021C3C230FF1023C2CA30FA7
-:1026A000F1023C3C2300F1045123231FA1064810F2
-:1026B0006D2BFD57230DF1009838BC3CF145D886B1
-:1026C000BA285C86BC2C7887D848230BF1003C34B0
-:1026D0003AC89A2CA30BF10093070050F882783483
-:1026E000FC847C24220768005D8F1C28C2075D8F54
-:1026F0001C38E207D98F13D78700A30DF100230EF2
-:10270000E10013D70701E183230FF100A30EE100DD
-:10271000EFF0DFD7DC2CA30FA1002300F102EF10B4
-:10272000E06DEFF01F8C4A85EF1000706DF9130615
-:1027300060036C004A85EF20902583A741890546F8
-:102740009305505237550040639C270113050580BF
-:10275000EFE0FFA009616FD0FFA3230D0100A9BF27
-:10276000130505C0F5B7EFD2BFA03714002013043E
-:10277000C4433C3C011118385C803C2CD8803A287A
-:102780005C8593071006DC8585673EC63C487881EA
-:102790005848FC83C183FC847C443AC21A2CFC81D7
-:1027A000C183788423180100FC82F835FC25AA84B3
-:1027B00022075D8F9C290A85C2075D8F9C39F945E8
-:1027C000E207D98FFC85C183FC86EFF03FCC5C2CFF
-:1027D000230FA100A30FF100EF104062EFF07F8004
-:1027E0002685EF1060646DF9130660038A852685DF
-:1027F000EF20F01983A741890546930550523755BC
-:1028000000406399970013050580EFE05F9505612F
-:102810006FD05F98130505C0CDBFEFD2DF9337149B
-:1028200000201304C4433C3C397104585C843C2CA4
-:1028300018382A892309F10093070006A309F1003B
-:10284000896793870760FC821C54D8843A28FC83EC
-:10285000C183FC845C5878855848FC85C183FC861C
-:1028600093D704012310F1027C483AC61A2C231195
-:10287000F102C1832312F1027C40AE89930500006E
-:102880002313F102C1832314F102B717002003A51B
-:10289000C742F880E487EF40004C93D7840113D7F8
-:1028A00084002307F1023C402306E10213D7040110
-:1028B000A306E10203C7F9003EDA83C7E900220755
-:1028C0003335A0005D8F83C709012305A102A30949
-:1028D000A102C2075D8F83C7190193054003280039
-:1028E000E207D98F3EDCA3059102EFF03FBA5C2CE2
-:1028F000230EA102A30EF102EF104050EFF06FEE95
-:102900004A85EF1060526DF9130660032C004A856A
-:10291000EF20F00783A741890546930550523755AC
-:1029200000406399270113050580EFE05F83216173
-:102930006FD0BF85130505C0CDBFEFD27F80B7191B
-:1029400000202A8B1306400681451385095EB71CBB
-:102950000020371C0020EFD0BF840144814401498E
-:10296000814A138D4C4B138A095E130CEC5D5A851A
-:10297000EF20100C5DC95A85EF2010099387095E7E
-:102980001375F50FD69788A383A74186938D1A00F8
-:1029900013871700EA9723A2E18688A363840A00BD
-:1029A00063020926B717002003C7095E83C777456E
-:1029B000630CF700B715002056869385155E1385C6
-:1029C000095EEF40F07EB1A89D476385FD00854715
-:1029D00063F02707B71400201385145EEFF07FA57E
-:1029E00039E503472A0083471A00F98F03473A0065
-:1029F000F98F03474A00F98F03475A00F98F0347BD
-:102A00006A00F98F1307F00F6381E7086313090069
-:102A100005499385145E56861385095EEF4050790B
-:102A2000814493072006E3F457F56FD02FF58944CE
-:102A3000AD476385FD00894763FC271DB71700205C
-:102A40009387C74383451A00E83B03462A00834621
-:102A50003A0003474A00631BB500882F6318C5007E
-:102A6000883F6315D500BC2F6389E7006D8EF18E1A
-:102A7000758F9307F00F631DF7180947CA876373B3
-:102A8000E900894713F9F70F35B7854455B71307A0
-:102A90001006638BE718130720066397E700894742
-:102AA000639BF40C794415A0130730066397E70085
-:102AB00085476392F40C514409A8130740066391BB
-:102AC000E70489476399F40A7144B9476385FD00B7
-:102AD000914763F8270B8347DA000347CA00A20730
-:102AE000D98F13978700A183D98FC207C183C107EC
-:102AF000638987081147CA87E376E9F8914759B790
-:102B0000130750066382E71213076006638EE7100F
-:102B10001307C0066397E7008947639EF40459448E
-:102B20006DB71307D0066381E7101307000763979B
-:102B3000E70089476391F404554441BF13074007F8
-:102B40006384E70E130750076380E70E13076007DF
-:102B5000638CE70C1307B0076397E7008947639C12
-:102B6000F40069449DB71307D007E38AE7F213071F
-:102B7000E007638BE70A0D47CA87E375E9F08D47E5
-:102B800011B7639F8D069305E4FF93F5F50F138549
-:102B9000095EEFF0BF8FB30784019C236384A70213
-:102BA000B71700209387F75DA2979823B7170020E7
-:102BB00083C787456308F7001547CA87E374E9ECC4
-:102BC0009547C9B5B70400201306C0128145138587
-:102BD0004C4B93840402EFD0AFDC1389840823A20A
-:102BE00001860347BA009C406318F700DC40228648
-:102BF0009385095E5A858297A104E39424FF35B535
-:102C0000EE8A05B59D47E387FDDCAD47E388FDE22D
-:102C1000B1476385FD008D47E3F927EB8347BA0091
-:102C200013070006E395E7E6894761B5C167697652
-:102C30008146FD1705061397060141836364B700BB
-:102C40003E8582803307D5001823B98F214713F8BA
-:102C50001700858363050800B18FC207C1837D1704
-:102C6000420741836DF78506F9B7EFD26FD013069F
-:102C7000C0059305C005EFE09F936FD0AFD1EFD2B1
-:102C80002FCF1306C0059305C005EFE03F806FD03E
-:102C90006FD0EFD2EFCD31712800D5370354210624
-:102CA0009305A0052800EFF07FF86304A402814596
-:102CB00028001306C005EFE06FFD035421069305BD
-:102CC000A0052800EFF09FF66318A4002800EFF09D
-:102CD000DFF929616FD00FCC130640048145E81855
-:102CE000EFD00FCCB717111193871711BED2B717BA
-:102CF000110193871711BED4B7070080938707206F
-:102D0000BED693075002BED8B70700489387271C4A
-:102D1000BEDAB737303093879705BEDC93071003D0
-:102D2000230EF106930710102310F1088547A30125
-:102D3000F108B797000083A747463797000003279D
-:102D400087463EC33ECDB797000083A787473AC565
-:102D5000379700003ECFB797000083A7C7470327E8
-:102D6000C7469305A0053ED1B79700003AC783A791
-:102D7000074837970000032707473ED3B7071400DB
-:102D80003AC9A90737970000032747473EDBB70733
-:102D90003C00A9073EDDC810930780703ACB231E84
-:102DA000F10AEFF0BFE8231FA10AC8100DB7EFD258
-:102DB0002FBC1D712A844800EFF07FEC1C40930566
-:102DC000A0054800BEC4EFF07FE6231FA104480021
-:102DD000EFF0BFE925616FD0EFBBEFD26FB959714A
-:102DE0002A8448082EC6EFF09FE91C40B2454808E7
-:102DF000BECE9C419305A005BED0EFF03FE3231764
-:102E0000A1064808EFF07FE665616FD0AFB8EFD25A
-:102E10008FB41D71EFF0FFE74800EFF05FE69257C7
-:102E20002257B719002023A2F94093874940D8C3FD
-:102E30003257E6463719002098C742571304C94352
-:102E400094DBD8C75257B79500003715002098CBB0
-:102E50006257938585483546D8CB26471305A54943
-:102E60009384494098CF7257D8CF064798D31647D6
-:102E7000D8D303576105DAB703574105FAB70357AB
-:102E8000C105DABB12471C85232EE94238845AA0BB
-:102E900032477CA094859377F70F21833AA40347A8
-:102EA0007101A207D58F18B8B8841EA48347010208
-:102EB0003AA8B8853CAC834721025AA8B8865CBCC6
-:102EC000834731027AA8B8877CAC930700001AAC1C
-:102ED0001CD43E875CD41CD85CD81CDC5CDC3CC0B9
-:102EE0007CC03CC4B6477CC4C64778C8232C0404C5
-:102EF0003CC8231E0404EF40F05A9567938737C5FA
-:102F00007EA4D9471CA85CAC85471307800623061E
-:102F1000F406B70705009387071038BC583C3CD827
-:102F200093070015A3050406A3070406231AF40655
-:102F3000CA8563150726B70700011386F7FFC24647
-:102F4000D247888733F7C600F18F2207E182A207B4
-:102F5000498FD58F18D05CD0834864000348540053
-:102F60005C2038303420103083C5C54337950000CD
-:102F700013058549EF40F02E0E2437950000130508
-:102F8000C54BEF40102E2E24379900001305894DB4
-:102F9000EF40302D0C50379500001305854FEF4062
-:102FA000502C4C50379500001305C550EF40702B46
-:102FB000034864015C385828343830280C38379579
-:102FC000000013050552EF40D029382C143C102C7A
-:102FD0006C383795000013054554EF4090284C3C61
-:102FE0001305894D37990000EF40B0276C2C3795B9
-:102FF000000013058556EF40D0268325894703A599
-:103000004940EF30306CEF40A04DAA853795000065
-:103010001305C557EF40F02483258947C840EF309A
-:10302000706AEF40E04BAA8537950000130585597B
-:10303000EF403023832589478844EF30B068EF4064
-:10304000204AAA85379500001305C55AEF40702124
-:1030500083258947C844EF30F066EF406048AA8571
-:10306000379500001305055DEF40B01F83258947A4
-:103070008848EF303065EF40A046AA8537950000BC
-:103080001305055FEF40F01D83258947C848EF30E1
-:103090007063EF40E044AA85379500001305456151
-:1030A000EF40301C83258947884CEF30B061EF40FA
-:1030B0002043AA853795000013058562EF40701AFA
-:1030C00083258947C84CEF30F05FEF406041AA8507
-:1030D0003795000013050564EF40B0188325894734
-:1030E0008850EF30305EEF40A03FAA853795000052
-:1030F00013058566EF40F01683258947C850379938
-:103100000000EF30305CEF40A03DAA85379500000D
-:1031100013050569EF40F014832549482848EF302E
-:10312000705AEF40E03BAA85379500001305856B88
-:10313000EF403013832549486844EF30B058EF40E2
-:10314000203AAA85379500001305856DEF40701170
-:10315000EE343795000013050570EF409010CE3423
-:103160003795000013054572EF40B00F8E38379544
-:10317000000013054574EF40D00EAE3837950000BF
-:1031800013050576EF40F00DCE3837950000130596
-:10319000C577EF40100D25616FC03FFF8547E31DE8
-:1031A000F7DAD24783463101A207D58F5CD0834737
-:1031B00011026397E7008967938707581CD069BBA2
-:1031C0000947E39BE7D8F16793870720C5BFB79707
-:1031D000000003A8C77B83A7877B6D71D2DF3EC445
-:1031E000B7970000D6DD03AA077C83AA477CB79770
-:1031F0000000DADBDED903AB877C83ABC77CE6D586
-:103200002326111023248110232291102320211121
-:10321000E2D7EAD3EED1B79C000042C603A74186AD
-:103220009307600463F3E768B7170020B714002022
-:103230009387C74383C6444BF827639DE66C138787
-:10324000444B1433F8371389444B6395E66C0347BA
-:1032500099008346A9002207558F935687002308BB
-:10326000D102A307E10285466316D76A8346B900F7
-:103270000346C900A206D18E13D68600A308D10248
-:103280002309C1026398E6680347D9008346E90031
-:103290006207C206558F83460901558F8346F900A0
-:1032A000A206558F93568700230AD1029356070131
-:1032B000A30AD10293568701230BD1028966A30981
-:1032C000E102938606586307D700F16693860620CD
-:1032D0006312D76403471901834629016207C206B6
-:1032E000558F83464901558F83463901A206558F74
-:1032F00093568700230CD10293560701A30CD102E9
-:1033000093568701230DD1028966A30BE1029386B0
-:1033100006586309D700F166938606206304D70038
-:10332000631A075E0347F90185467D171377F70F88
-:1033300063E2E65E0347090263EEE65C03471902B7
-:1033400063EAE65C0347390203452902379400002B
-:103350002207498F131587002183598D420541812A
-:10336000EF40802383258447EF30C0732A8DAAC4A1
-:10337000EF40C03BB797000003A6077B83A6477BBF
-:10338000EF20E05E6348A058379700008325077957
-:103390006A85EF30702A634F05560347590203458B
-:1033A00049022207498F131587002183598D420551
-:1033B0004181EF40601E83258447EF30A06EAAC68E
-:1033C000EF40C0362246B246EF20605A6344A05414
-:1033D00003477902034569022207498F13158700C5
-:1033E0002183598D42054181EF40001B832584478D
-:1033F000EF30406B3797000083254779AA8DAAC824
-:10340000EF30301B6348A050379D000083254D46A8
-:103410006E85EF307022634F054E034799020345D6
-:1034200089022207498F131587002183598D420590
-:103430004181EF40601683258447EF30A0663797BF
-:1034400000008325C746AA8DAACAEF3090166343B1
-:10345000A04C37970000832587796E85EF30D01D0B
-:10346000634A054A0347B9020345A9022207498F67
-:10347000131587002183598D42054181EF40C0110A
-:1034800083258447EF300062AA8DAACCEF40002A42
-:103490005286D686EF20A04D634EA04683254D462A
-:1034A0006E85EF307019634705460347D90203451F
-:1034B000C9022207498F131587002183598D4205C0
-:1034C0004181EF40600D83258447EF30A05DAACE97
-:1034D000EF40C02503A60C7B83A64C7B2A8DAE8DC6
-:1034E000EF20E0486348A0425A86DE866A85EE8572
-:1034F000EF20C052634005420347F9020345E90249
-:103500002207498F131587002183598D4205418178
-:10351000EF40800883258447EF30C058379700007C
-:103520008325C779AAD0EF3030116345053E0347A4
-:103530001903034509032207498F131587002183C7
-:10354000598D42054181EF40200583258447EF30A6
-:1035500060553797000083250748AAD2EF30D00D79
-:10356000634A053A03473903034529032207498F74
-:10357000131587002183598D42054181EF40C00119
-:1035800083258447EF300052379700008325077A60
-:10359000AAD4EF30700A634F053603475903034539
-:1035A00049032207498F131587002183598D42054E
-:1035B0004181EF30707E83258447EF30A04E3797EE
-:1035C00000008325477AEF30E04D379700008325D0
-:1035D000877A2A8DAAD6EF30C07D634DA03293053D
-:1035E00000006A85EF3050056346053203477903D2
-:1035F000034569032207498F131587002183598DDD
-:1036000042054181EF30507983258447EF3080496E
-:1036100093050000AAD8EF300074631D052E034700
-:103620009903034589032207498F131587002183D6
-:10363000598D42054181EF30307683258447EF3044
-:10364000604693050000AADAEF30E0706314052CA1
-:103650000347A9038346B9032207558F231CE106BC
-:103660006D17420741839306307063E5E62A0347EE
-:10367000C9038346D903130620032207558F9306F7
-:1036800067FFC206231DE106C1826365D628834613
-:10369000E9030346F9036D17A206D18E4207231EE4
-:1036A000D1064183E54663E7E626034709048346DE
-:1036B00019042207558F231FE1060917420741838A
-:1036C0009306C00363E8E6240347290483463904CC
-:1036D0002207558F2310E108130787C14207418352
-:1036E0009306007D63E8E622034449040347590436
-:1036F000930540042204598C1385444B23118108FF
-:10370000EF00E06B6318A420834669045947639374
-:10371000E6204801EFF0AFD683482900034839007E
-:10372000034549008345590003466900B3F7080182
-:1037300083467900E98F03478900ED8FF18FF58F7C
-:10374000F98F1303F00F6384671823041103A30494
-:1037500001032305A102A305B1022306C102A306AA
-:10376000D1022307E102371400209307444B83C89A
-:10377000570103C86701E83B8C2F903FB42FB3F784
-:103780000801E98FED8FF18FF58F1303F00F130709
-:10379000444B63896714A30D1103230E0103A30E89
-:1037A000A102230FB102A30FC1022300D104283FBD
-:1037B0004C2F503F742FB377B500F18FF58F13085E
-:1037C000F00F638C0713A300A1042301B104A3012C
-:1037D000C1042302D1047C3F9305A0052810A30255
-:1037E000F104834707022303F10483471702A3036D
-:1037F000F104EFF0AFC31306C00581452311A10802
-:103800002810EFD0DFDA2810EFF02FC61306C01211
-:1038100081451305444BEFC0BF98371400201304B3
-:10382000C443035781027E2423110102F885035704
-:10383000A102FC848347E102F8860357C1022300FA
-:10384000F102930700FDA300F102AD45854728086A
-:103850002301F10223120102F88795239357850073
-:10386000A301F1021C282302A102A302F102792381
-:10387000EFE02FF703A58189EF00005B6DF903A549
-:10388000818939462C08EF109010375500400546C5
-:103890009305505213050580EFD07F8CB707EFBE1C
-:1038A00037E700E0938707083CC78320C110032453
-:1038B000811083244110032901107E5AEE5A5E5B69
-:1038C000CE5B3E5CAE5C1E5D8E5D516182801A47B0
-:1038D0008347A1083AD4035781082307F10223162E
-:1038E000E10251B5834671098347C109A30DD10295
-:1038F000EA462300F10436DE5DBD8346D1098347E5
-:10390000010AA300D1048356E1092302F104231123
-:10391000D104D1B583A74186B71500201306B01294
-:10392000FD179385554B1385444B23A2F186EF4039
-:1039300020086FF0BF8EEFC2BF83B717002083A4AB
-:103940000748AA85371400202685EF30F000B7A776
-:10395000000083A5078013044440EF30A056B7A7AA
-:10396000000083A547802A892685EF30A055AA85C7
-:103970004A85EF20905C0C54EF20305C08D437155A
-:1039800000201305C542EFE08F816FC0BF80EFC2FA
-:103990002FFEB717002083A4874637140020130496
-:1039A0004440A685EF30407BB7A7000083A5078081
-:1039B000EF304051B7A7000083A547802A892685AC
-:1039C000EF304050AA854A85EF2030570C54EF2045
-:1039D000D05608D4371500201305C542EFD03FFC60
-:1039E0006FC04FFBEFC2CFF8B717002083D78749CE
-:1039F00009476380E7020D476384E7020547639840
-:103A0000E700B797000003A5077EEFF0DFF26FC075
-:103A10006FF8B717002003A54741EFF05FF7C5BF68
-:103A2000B717002003A58741CDBFEFC2EFF13714D0
-:103A30000020B71400201309C443138A444083258F
-:103A4000CA00032589031304C443938A4440EF301A
-:103A5000A03EB79900006352050603250903EF3025
-:103A6000F04C03A6092383A64923EF10307B63564D
-:103A7000050437050040814513050540231E090450
-:103A8000EFD0CFD437150040814513050580EFD026
-:103A9000EFDAB755000037150020930700009306B2
-:103AA000800C1306803E9385859E1305456923246B
-:103AB000FA02EFE0EFB66FC0AFEC2844EF301047EA
-:103AC00003A6092383A649232A8BAE8BEF1010751A
-:103AD000635E0500B797000003A6077F83A6477FB4
-:103AE0005A85DE85EF10B0686346A0020329840280
-:103AF000B797000083A5477E4A85EF30802B634B44
-:103B0000A000B797000083A5877E4A85EF30C032BA
-:103B1000635805008D47231EF404A305040661BF06
-:103B200083A444402685EF307040B797000003A679
-:103B3000877B83A6C77BEF2040452A8B4A85AE8BC7
-:103B4000EF30D03E2A86AE865A85DE85EF10306291
-:103B5000634005020858EF30703DB797000003A698
-:103B6000877F83A6C77FEF10906085476342A006DA
-:103B7000A6854A85EF30E023E35FA0F283A44A00E4
-:103B8000032904032685EF30703AB797000003A697
-:103B9000877F83A6C77FEF10806A2A8A4A85AE8A0C
-:103BA000EF30D0382A86AE865285D685EF10106762
-:103BB0008947635FA000CA852685EF30801FE35CDC
-:103BC000A0EE4C582685EF30C01EE356A0EE8D4780
-:103BD000231EF404CDB5EFC20FD837140020930490
-:103BE000C443EFE04FECC8D4EFE06FF5E8C0CC5829
-:103BF00088581304C443EF30205683C7B406A8C4C2
-:103C0000B9EBEF30B032B797000003A6877F83A6E9
-:103C1000C77F2A89AE89EF109055634EA000B797F1
-:103C2000000003A6077D83A6477D4A85CE85EF1059
-:103C3000F05E635205024854EF30502FB7970000F2
-:103C400003A6877D83A6C77DEF10505D63550500F1
-:103C50008547A305F4068347F40689E7EFF0FFDC08
-:103C6000EFF05FD86FC06FD28280EFC26FD0B7978E
-:103C7000000083A5477AB717002003A54746EF3019
-:103C80006024EF30100C420541816FC0AFD0EFC20D
-:103C90002FCEB797000083A5477AB717002003A55A
-:103CA000C746EF302022EF30D009420541816FC076
-:103CB0006FCEEFC2EFCBB797000083A5477AB71757
-:103CC000002003A50747EF30E01FEF3090074205C3
-:103CD00041816FC02FCCEFC2AFC9B797000083A559
-:103CE000477AB717002003A58747EF30A01DEF30B4
-:103CF0005005420541816FC0EFC9EFC26FC7B7974A
-:103D0000000083A5477AB717002003A5C747EF3007
-:103D1000601BEF301003420541816FC0AFC7B7177A
-:103D2000002003D567498280B717002003D5874953
-:103D30008280EFC2EFC3B714002037140020411176
-:103D40001304C4430547138544672EC62385E188C1
-:103D500023080406EFE0AF90B245371500208146F6
-:103D6000DC25D835B7550000A207D98F1306803E51
-:103D70009385450313054568238A04665EA4EFE036
-:103D80002F8A41016FC00FC1EFC28FBE37140020D0
-:103D90000566B755000023AEA1868544B7170020FD
-:103DA0008146130686BB9385C5F0130544672386B9
-:103DB000974AEFE0EF86230A94666FC0AFBDC167F4
-:103DC00069768146FD1705061397060141836364F2
-:103DD000B7003E8582803307D5001823B98F21476D
-:103DE00013F81700858363050800B18FC207C183EC
-:103DF0007D17420741836DF78506F9B7EFC24FB7CC
-:103E00003715004013050580EFD0AFA4EF30705791
-:103E1000EF30B05C9307100F3365F502A947290511
-:103E20003305F5026FC00FB7EFC2EFB203A74189A8
-:103E30002A84BE84054693055052631CA704375557
-:103E4000004013050580EFD08FB12285EF10403E72
-:103E5000131905010945EFE0CF982285EF10403D89
-:103E600083A74189931905011359090193D90901C0
-:103E70000146930550523755004063918702130560
-:103E80000580EFD0CFAD330539413335A0006FC089
-:103E9000CFAF37550040130505C075B7130505C0F2
-:103EA000CDB7EFC2EFACB71700201384C74383D759
-:103EB000C74341117A247C813E20788078207C821F
-:103EC0005E2023150100AA847C83930710FDDC8407
-:103ED000AD4585470A855C85231601005884EFF0BF
-:103EE0001FEE93578500DC851C284886DC86EFF0A2
-:103EF000FFF0EFE00F8F2685EFF01FF36DF93D46E1
-:103F00008A852685EF10A02883A741890546930559
-:103F10005052375500406399970013050580EFD044
-:103F20000FA441016FC00FA7130505C0CDBFEFC29D
-:103F30002FA4B71700201384C74383D7C743411169
-:103F40007A247C813E20788078207C825E20231534
-:103F50000100AA847C83930700FDDC84AD4585477E
-:103F60000A855C85231601005884EFF05FE59357BE
-:103F70008500DC851C284886DC86EFF03FE8EFE012
-:103F80004F862685EFF05FEA6DF93D468A852685E6
-:103F9000EF10E01F83A7418905469305505237551E
-:103FA00000406399970013050580EFD04F9B4101B6
-:103FB0006FC04F9E130505C0CDBFEFC2EF9803C978
-:103FC000C500DC35B71A002022093369F90042091F
-:103FD0009387CA431359094183D72707131409014B
-:103FE0004180011163E6870EA425BC35138BCA43BB
-:103FF000A204DD8C83574B0763EC970CAA8902C699
-:1040000002C802CA02CC02CE130CC100A68BB70CA8
-:104010000020B3879B40C207C18363EE870AB71BAA
-:10402000002093840B5E1385C40013068005814530
-:10403000EFC00F9703D7CA438357EB00A385240132
-:10404000BAA003572B009EA083476B00DAA003574A
-:104050004B009CA4930700039CB493578400BCA41A
-:10406000FAA0B7140020131A140081479384C45E89
-:1040700063C7470993056400860593F5E50F13852B
-:104080000B5EEFF0DFD39317850021815D8D8347B1
-:104090000B01D2948AA0BCA0EFF05FD6EFD07FF4E2
-:1040A0004E85EFF07FD86DF913060A0193850B5EFC
-:1040B0004E85EF10C00D83A74189054693055052E8
-:1040C00037550040639E370513050580EFD02F89D3
-:1040D00005616FC0EF8A138A8C0D130D8A03832745
-:1040E0000A006398770183274A00014582972310CD
-:1040F000AC00210AE3154DFF090C850B19BF101008
-:1041000013F7E70F329713F61700B386F40003573F
-:10411000C7FE11E22183850798A293F7F70F89BFA5
-:10412000130505C065B7EFC20F83370400201304E1
-:10413000840AAA89AE84328A1309040398341C4085
-:104140006317F7005C405286A6854E85829721044E
-:10415000E31624FF6FC06F83EFB29FFE3719002074
-:104160004111AA8C1306400681451305095E13040C
-:10417000095EB71B0020EFC0AF8281498144014A2C
-:10418000371D0020130B1400938ACB436685EF1074
-:10419000200A6302051E6685EF1000079307095E7B
-:1041A000138641869376F50FD29794A31C42371756
-:1041B00000201307474B93851700BA9794A3930DDC
-:1041C0001A000CC28947138C41866384FD00638703
-:1041D000041A9387CB430C20F0276396C500103058
-:1041E000FC37630DF6005286DA851305095EEF3061
-:1041F000207C93072006E3FB47F9B5AAA547638512
-:10420000FD00854763F597089387CB43CE27094682
-:104210006385C50083C70707A1C7302083C7CB4389
-:104220006310F604303083C71A00631BF602502077
-:1042300083C72A006316F602503083C73A00631121
-:10424000F602702083C74A00631CF600703083C7F3
-:104250005A006317F600102483C76A006309F60248
-:1042600083C71A0795C330303C20F18F5020F18F5F
-:104270005030F18F7020F18F7030F18F1024F18F5A
-:104280001306F00F6385C700B9FC8544A9BFA94791
-:104290006385FD00894763F397061385CB43522559
-:1042A00089451C34631FB602930500036385B70676
-:1042B000C1456385B7049305100D6380B70483453A
-:1042C000150789C99305000A6389B7029305100A87
-:1042D0006383B704A68763F3C400894793F4F70F99
-:1042E00019B71306000A638AC7001306100A63840D
-:1042F000C702A687E3F4B4FECDB7B5491034C14771
-:10430000631DF600B54763FAB7018349D4008609F7
-:10431000C5096E8AF9BDC549D5B7E39C3DFF9385B4
-:10432000DDFF93F5F50F1305095E36C6EFF03FA9E3
-:10433000330644018347E6FF0346F6FFB246A20771
-:10434000D18F6395A700D9476388F6000D47A687EC
-:10435000E3F6E4F88D4759B71306C01281451305FB
-:104360004D4BEFB0FFE36E869305095E6685232013
-:104370000C00EFF05FDB41016FB05FE0A547E38524
-:10438000FDE8A947E39CFDF609BFEFB2DFDC9387A8
-:1043900081879023371501405D7113361600930510
-:1043A00000101305058090A3EFC04FE41387C18070
-:1043B0001C43FD171CC381EBB707EFBE37E700E0D6
-:1043C000938707083CC7138701811C238DC7FD17FE
-:1043D00093F7F70F1CA385E33714014005469305B7
-:1043E0000010130504C0EFC06FE00546A16513057A
-:1043F0000480EFC0AFDF85643714014093850480EB
-:10440000130504800546EFC06FDE93850480130515
-:1044100004800146EFC08FDD03A5418937AA000063
-:1044200093050A970D46EF00905613060005814547
-:104430000A85B7190020EFB0BFD693894940B7AAC3
-:10444000000083A58A8003A58902B7140020938405
-:10445000C443EF203027EF30A008B7A500002A861C
-:104460009385C5800A85EF30807F03A541898A85C1
-:1044700013060005EF00B0511306000581450A85BB
-:10448000EFB01FD23799000083258947E840EF201D
-:104490007023EF30E004B7A500002A86938545829B
-:1044A0000A85EF30C07B03A541898A851306000584
-:1044B000EF00F04D1306000581450A85EFB05FCE91
-:1044C00083258947C854EF20F01FEF306001B7A55E
-:1044D00000002A869385C5840A85EF30407803A5BD
-:1044E00041898A8513060005EF00704A130600050E
-:1044F00081450A85EFB0DFCA832589478854EF20BC
-:10450000701CEF20F07DB7A500002A8693850586F4
-:104510000A85EF30C07403A541898A85130600051A
-:10452000EF00F0461306000581450A85EFB05FC72E
-:10453000832589478858EF20F018EF20707AB7A5B7
-:1045400000002A86938585870A85EF30407103A590
-:1045500041898A8513060005EF00704313060005A4
-:1045600081450A85EFB0DFC383258947C85837994D
-:104570000000EF203015EF20B076B7A500002A86A6
-:104580009385C5880A85EF30806D03A541898A85AA
-:1045900013060005EF00B03F1306000581450A85AC
-:1045A000EFB01FC0B797000083A5477AA840EF205F
-:1045B0007011EF20F072B7A500002A869385058A56
-:1045C0000A85EF30C06903A541898A851306000575
-:1045D000EF00F03B1306000581450A85EFB05FBC94
-:1045E00083A58A8003A58901EF20D00DEF20506FAD
-:1045F000B7A500002A869385058B0A85EF302066D3
-:1046000003A541898A8513060005EF00503813067B
-:10461000000581450A85EFB0BFB803C6C406B7A53B
-:1046200000009385858C0A85EF30606303A541897E
-:104630008A8513060005EF009035130600058145B5
-:104640000A85EFB0FFB503D6A405B7A50000938592
-:10465000458E0A85EF30A06003A541898A8513063F
-:104660000005EF00D0321306000581450A85EFB042
-:104670003FB303C6B406B7A500009385858F0A85AE
-:10468000EF30E05D03A541898A8513060005EF0040
-:1046900010301306000581450A85EFB07FB003C6D0
-:1046A000D406B7A50000938505910A85EF30205BFD
-:1046B00003A541898A8513060005EF00502D1306D6
-:1046C000000581450A85EFB0BFAD03C6E406B7A576
-:1046D0000000938585920A85EF30605803A54189D3
-:1046E0008A8513060005EF00902A13060005814510
-:1046F0000A85EFB0FFAA83254948A848EF20807CAF
-:10470000EF20105EB7A500002A86938545940A85A0
-:10471000EF30E05403A541898A8513060005EF00B8
-:1047200010271306000581450A85EFB07FA7832572
-:104730004948E844EF200079EF20905AB7A50000DF
-:104740002A869385C5950A85EF30605103A5418976
-:104750008A8513060005EF009023130600058145A6
-:104760000A85EFB0FFA303D6C405B7A50000938563
-:1047700045970A85EF30A04E03A541898A85130627
-:104780000005EF00D02003A541890D4693050A9747
-:10479000EF00F01F61616FB05F9FEFB2DF9BB71456
-:1047A00000201384C443EFD01FB048D4EFD0FFBD26
-:1047B00008DCEFD0DFB868C0EFD01FC24C5828C06B
-:1047C000085837AA0000EF20301983258A9B28C497
-:1047D00003A50184EF20002D2C48EF1010768325CF
-:1047E0008A9B28C803A54184EF20C02B6C44EF109E
-:1047F000D07468C4B7150020371500209385C548CC
-:1048000013058548EFE06FDD9307000023A0F184D6
-:1048100023A2F1847CC8B717002083A5C741284490
-:10482000EF20406AAA854854EF2010137C2C08D44E
-:1048300085CB3714014093050010130504C0EFC069
-:104840000F9A9384C443814701C99145130504C05D
-:10485000EFC04F98B337A000239DF4046FB0FF92D0
-:104860003715014093050010130505C0EFC02F97C1
-:10487000231DA404E5B7EFB2BF8F37150020130442
-:10488000456F1305456FEFD08FDD83A7C18803A562
-:1048900081892300040082976FB0DF8FEFB2BF8B56
-:1048A000371400209307C44303C7C706B71400207A
-:1048B00085471304C4439384444037A90000630828
-:1048C000F700884C93050000EF20E0481DE90347FE
-:1048D000B40685476317F7028325C99A0858EF2065
-:1048E000404D6350A002B7550000371500209306D5
-:1048F000800C1306800C9385C5A61305456BEFD07D
-:104900002FD28349F406032A0404638F0902832506
-:10491000C99AC850EF107062D285EF20804989474C
-:10492000635BA00A639EF900B755000037150020AD
-:10493000814629469385A5B81305456DEFD04FCE26
-:10494000A30704066FB07F84C84CD285EF20604671
-:104950006353A0048325C99A8850EF10105ED28556
-:10496000EF20804D635905028854EF20305CB7A7D3
-:10497000000003A6079B83A6479BEF100061EF2072
-:10498000B06588D4371500201305C542EFD02F81BC
-:104990008547A307F4068325C99AC84CEF10F05940
-:1049A000AA852840EF20E040E35EA0F837050040EC
-:1049B0008947814513050540A307F406EFC00FE1C1
-:1049C00037150040814513050580EFC02FE7930799
-:1049D00000009CD485BFE387F9F675BFEFB24FF9AD
-:1049E000EFE0EFFE6FB00FFBEFB28FF81387618837
-:1049F0001C23B714002093844440F634850793F7B2
-:104A0000F70F6385F6001CA36FB0CFF823000700F3
-:104A1000EFD0FF92371400208C441304C44348DCC9
-:104A2000EF202039E352A0FE37150020930445699A
-:104A300013054569EFD0AFC2B797000083A5C7251E
-:104A4000485423800400EF20C0363325A000A3057E
-:104A5000A406B755000037150020814629469385E6
-:104A6000A5B81305456DEFD0AFBB79BFEFB24FF0DE
-:104A7000938601889C22850793F7F70F9CA28546B1
-:104A80006393D70237050040814513050540EFC009
-:104A9000EFD39305C0123715004013050580EFC012
-:104AA000EFD96FB02FEF938401882D476394E7020D
-:104AB000EFD0AFFAAA84EFD0DF83AA852685EF2056
-:104AC000A06923A4A186EFD00FFE23A8A188930597
-:104AD000401AD1B75547E396E7FC37150020130479
-:104AE000456B1305456BEFD08FB723000400EFD063
-:104AF000CFF62A89EFD0EFFFAA854A85EF20C0655F
-:104B00001384C18608C0EFD00FFAAA8503A50189D6
-:104B1000EF2080640C402A8903A58186EF20C063C2
-:104B2000AA854A85EF101078B797000083A5877A89
-:104B30002A84EF206030635705022285EF20103F62
-:104B4000B797000003A6072383A64723EF00306230
-:104B5000635AA000B71700201385C74123AE8740D2
-:104B6000EFE0EFA4B7170020370500409387C74355
-:104B70000547854513050540238607062380040065
-:104B8000239EE704EFC08FC429BFEFB2CFDC93862A
-:104B900041889E228507C207C1839EA2914663EC8D
-:104BA000F600371500409305400613050580EFC059
-:104BB000EFC86FB08FDD13844188130760049384BE
-:104BC000018737A900006369F7008325C99B8840E6
-:104BD000EF20201EE35FA0FC371500209309456DF0
-:104BE0001305456DEFD0AFA70327C99B93070000BE
-:104BF0009CC0B71700201385C74223A6E7422310A5
-:104C0000040023800900EFC09FD9B7170020138448
-:104C1000C7438346B40605479384C743639DE600B4
-:104C20008547239EF404370500408545130505405C
-:104C3000EFC0CFB9BDBF4C580858EF20E05128C491
-:104C4000EF20D02EB797000003A6877F83A6C77FEB
-:104C50002A89AE89EF00B051E344A0FCB797000069
-:104C600003A6077D83A6477D4A85CE85EF00105BAE
-:104C7000E34805FA8D47231EF40475B7EFB24FCF12
-:104C800003A58189B52309CDB7550000371500204C
-:104C900081465146938565871305456FEFD04F9840
-:104CA0006FB04FCFEFB2CFCCEFC02FE3EFD0EFC25A
-:104CB000EFE0EF95EFD08FC82921EFC09FC7EFC07D
-:104CC000CFD2EFC0BF9AEFC07F9DEFC05FA0EFC013
-:104CD0003FBEEFC0BFA3EFC01FB42945EFC0FFFB2D
-:104CE000B7450000371500209306C02B1306803E01
-:104CF0009385A5381305456AEFD08F92B74500001C
-:104D00003715002081461306803E9385A57913054B
-:104D1000456CEFD0EF90B755000037150020930693
-:104D2000800C1306803E9385859E13054569EFD060
-:104D30002F8FB7550000371500209306401F13062C
-:104D4000803E9385C58913054564EFD06F8DB717F5
-:104D5000002083C79745A1EBB747000093878715CD
-:104D600023A6F188B75500003715002081461306A9
-:104D700040069385C5C713054570EFD06F8AB755B8
-:104D800000003715002081461306800C9385C59DD1
-:104D90001305456EEFD0CF880545EFC0BFFAEFD0C1
-:104DA000EF8E6FB02FBF0547E39EE7FAB7370000DD
-:104DB0009387A79375B7138711881C23B716002014
-:104DC00083D64643850793F7F70F1CA36395F60434
-:104DD000EFB20FBA3715002013044566B71700204D
-:104DE0001305456623000700A384074AEFD02F87E9
-:104DF00023000400371401409145130504C0EFB0AF
-:104E00007FBD01E9014693050010130504C0EFB012
-:104E1000FFBD6FB02FB88280EFB28FB5B7140020FE
-:104E20009387C44303C7D70685479384C443138439
-:104E300021886312F7023715002013094565130511
-:104E40004565230004002394018823870406EFD0DE
-:104E50000F812300090003C7E4068547631FF7029B
-:104E60001C2085071CA0B71700201387474014207B
-:104E70003A3B138947406390E6043715002023002E
-:104E80000400130445651305456523870406EFC038
-:104E90001FFD230004006FB0EFAFE3F6E7FC37150A
-:104EA0000140014693050010130505C0EFB01FB483
-:104EB000230004004DBF3715014093050010130572
-:104EC00005C0EFB0DFB19387818801E59A2305071C
-:104ED0009AA3835649039A23E39FE6FA37150020E5
-:104EE000130445651305456523900700EFC03FF7A0
-:104EF00037150140054693050010130505C0230032
-:104F00000400EFB0BFAE2387040671B7EFB2AFA4C1
-:104F10001387B1881C231306B00F01119386170065
-:104F2000F51714A393F7F70FB71600201384C643A1
-:104F30006363F6023715002023080406130445674F
-:104F40001305456723000700EFC07FF1230004002D
-:104F500005616FB08FA37E24231D0100DD457C8297
-:104F6000FD577C83FD573EC4E9779387F71F7C8606
-:104F7000835724074800231E010013978700A1834D
-:104F8000D98F7C875E249384B18813978700A1838F
-:104F9000D98F03D7C643FC807C20F8813A20230CAC
-:104FA000F1001E24F8825A20230DF100F88313D754
-:104FB0008700A30CE100EFE09FE093578500A30D6D
-:104FC000F1001C28230EA1002944A30EF100EFE0FC
-:104FD000FFE2EFD00F811389C18703250900EFE0BD
-:104FE000BFE421E59387A188942305476397E600F2
-:104FF0002380070023800400A1BF03250900694620
-:105000004C0071220327090083A7418905469305B7
-:105010005052375500406317F70013050580EFC065
-:105020000F943DB7130505C0DDBF7D141374F40F55
-:1050300059FC39BFEFB2CF93138441871C40371717
-:105040000020B71400200357074385079384C44307
-:105050001CC0A38804066391E702371500201309DA
-:10506000456813054568EFC09FDF854723000900A9
-:1050700023200400A388F4066FB0CF91EFB24F8FC6
-:10508000014405C1002111CC5C410D47639EE7003E
-:105090003755004093F5F50F13050580EFC0DFAFDE
-:1050A000054422856FB00F8F11470544E39BE7FE4F
-:1050B0003755004093F5F50F130505C0EFC0DFAD80
-:1050C000CDB7EFB2EF8AB71400209387C443DC5307
-:1050D000370400209384C4431304041195C3B71507
-:1050E00000201306800C938545711305C400EFC0A2
-:1050F0005FE2C850EFC07F9E85471CA023AA81882D
-:10510000B71500201306800C9385C57D1305840216
-:10511000EFC03FE088507104EFC0DF9085471CA0CE
-:1051200023AC818801456FB0EF86EFB26F843715ED
-:105130000140054693050002130505C0EFB01F8B23
-:105140006FB04F85EFB2CF8237150140014693050E
-:105150000002130505C0EFB07F896FB0AF83EFB2D7
-:105160002F81371501400546C145130505C0EFB035
-:10517000FF876FB02F82EFA2BFFF371501400146B6
-:10518000C145130505C0EFB07F866FB0AF80EFA2B9
-:105190009FFC03A741892A842E8AB289938441897E
-:1051A0006311A702EFF07FF8014963433903054516
-:1051B000EFC03FE39C4063968702EFF0BFF86FA01B
-:1051C000DFFC83A78189E391A7FEEFF05FF9E9BFD8
-:1051D000B3072A018385070022850509EFF01FEA3E
-:1051E000E9B783A78189E39C87FCEFF0DFF8C1BFB3
-:1051F000814709C91821814711C75C49084D898F2A
-:10520000B337F0003E858280EFA29FF641112A84D9
-:10521000A3070100EFF0DFFD19C59305F1001305A9
-:10522000C400EFC0DFD20305F10041016FA09FF67B
-:10523000EFA21FF43105EFC0FFD36FA0BFF5370811
-:10524000100001117D183377B80026CA3378D800D2
-:1052500093D4450113D34601131E37004EC613578E
-:10526000D5010E089357D60193F4F47F1373F37F9F
-:1052700006CE22CC4AC893D9F50193DEF6013367F6
-:10528000C701131F350033E80701931F3600338E23
-:1052900064406380D9196356C0136304031CB706C6
-:1052A00080009307F07F3368D800638FF43693074C
-:1052B000800363C0C735FD4763CDC74713050002B0
-:1052C0003305C541B3D7CF01B316A8003399AF005A
-:1052D000DD8E33392001B357C80133E926011D8F14
-:1052E00033092F41B3372F013306F7409317860058
-:1052F00063D40724370780007D173374E600630CFE
-:10530000042C2285EF20E063130785FF930700023A
-:10531000998FB357F9003316E400D18F3319E900A0
-:105320006341972A33059740130615007D47634D67
-:10533000C73813070002118FB356C9003319E900AB
-:105340003397E700558F333920013369270133D66E
-:10535000C70081449377790081CF1377F900914793
-:105360006308F70013074900333927014A963A8941
-:105370009317860063D6071C138514009307F07FEC
-:10538000CE856304F520B70780FFFD17F18F939852
-:10539000D70113593900A607B3E82801B183137563
-:1053A000F57F9396C7005205F2406244B182FE0534
-:1053B000C98ECD8ED2444249B2494685B685056133
-:1053C0008280631E0E0A138314001373E37F631736
-:1053D0000322B367E701B368F801639D041A63878A
-:1053E0000740638608443309FF41B307074133365A
-:1053F0002F013386C7409317860063D6074C338945
-:10540000EF41B307E84033B62F013386C740F68932
-:1054100091B76350C00F6300030CB7068000930779
-:10542000F07F3368D800638AF43A9307800363CB34
-:10543000C713FD4763DFC73513090EFE930700024C
-:10544000B3562801630AFE00130900043309C94159
-:1054500033192801B3EF2F013339F0013369D90033
-:1054600031A2B367F801638A071C9307FEFF638CC0
-:1054700007389306F07F6309DE1A3E8E0DBDB30533
-:10548000934063910422B367E701638707329387F0
-:10549000F5FF638107449306F07F638CD520BE85BA
-:1054A0009307800363CCB72AFD4763CFB73C9307CC
-:1054B00000028D8F3319F700B356BF00B317FF00FA
-:1054C0003369D900B337F0003357B7003369F900B7
-:1054D0003308E84041ACB367F801638007349307B1
-:1054E000FEFF638A07209306F07F6308DE2E3E8E60
-:1054F0002DBF631E0E149386140093F7E67F63910D
-:105500000734B367E7016395042C6380073EB367F4
-:10551000F801638E07303309FF01B3070701333FFA
-:10552000E9013386E7019317860063D70700B707C1
-:1055300080FFFD177D8E854493777900E39F07E018
-:105540009317D60193583900B3E8F8009357360003
-:105550001307F07F638DE404B207B18313F5F47F82
-:10556000CE8581B53369F801333920017A99B33793
-:10557000E9013386E70093178600E3DF07FA850425
-:105580009307F07F6396F418CE851305F07F81476B
-:10559000814801BDC1EB6384083A93163600931726
-:1055A000D8018D82B3E8D700F68993573800B3E766
-:1055B000F800F9DB81451305F07FB7070800814843
-:1055C000CDB3370680FF7D167D8E93777900998C59
-:1055D000E39507D8B5B74A85EF20A03613078501B4
-:1055E000FD47E3D5E7D2130685FFB317C90001498C
-:1055F00005BB3369F80133392001DDB13309FF41BF
-:105600003306074133342F01330486409317840057
-:1056100063CD0724B3688900E39308CE81478149AD
-:1056200081441DBFE39808F80E059317D7010D813B
-:10563000B3E8A700935737009DBF0E059317D70116
-:105640000D81B3E8A700F2849357370011B73305F3
-:10565000934063820412B70680009307F07F558F52
-:10566000630DF32E9307800363CBA720FD4763C32D
-:10567000A72A93070002898F3319F700B356AF00AA
-:10568000B317FF003369D900B337F0003357A700D1
-:105690003369F9003A987E99B337F90133860701E7
-:1056A0009A84D1BDB70680009307F07F558FE31928
-:1056B000F3DE931736008D839318D801B3E81701F2
-:1056C000F68993573800E5B5130715FE93060002D7
-:1056D00033D7E700630AD600930600043386C6403A
-:1056E0003396C7003369C900333920013369E900B3
-:1056F0000146814491B53309FF01B30707013336F1
-:10570000E9013E96931786008544E3D707E2894472
-:10571000B70780FFFD17F18F135719001379190090
-:10572000336927019398F70133E9280113D617004D
-:1057300015B113090EFE93070002B3562801630A40
-:10574000FE00130900043309C94133192801B3EFDE
-:105750002F013339F0013369D90059B63369E701B4
-:105760003339200133892F41B3B72F013306F84075
-:105770009A84F689A5BEB367E70163820718930789
-:10578000F5FF6384071C9306F07F6304D5123E8502
-:10579000D1BD93070002B387C741B316F800339910
-:1057A000FF0033D6CF01D18E33392001B357C80162
-:1057B00033E926013E975DBB931736008D8393181E
-:1057C000D801B3E81701AE8493573800F68949B37E
-:1057D000EDC33369F801E31F09DC0E059317D70108
-:1057E0000D81B368F50093573700D1B36381080E7C
-:1057F000931636009317D8018D82B3E8D700F68947
-:105800009357380091BB3309FF41B3070741333F3A
-:105810002F013386E7418544D1BC0E059317D7018C
-:105820000D81B368F500F2849357370015B30E0568
-:105830009317D7010D81B3E8A7009357370029BB11
-:105840009307F07FE382F6D43309FF013336E90191
-:10585000B3070701B2979398F7011359190033E979
-:10586000280113D61700B684C1B93389EF41330735
-:10587000E84033B62F013304C740F68949B4336991
-:10588000E7013339200101BD938705FE930600022D
-:10589000B357F700638AD50093060004B385B6407A
-:1058A0003317B700336FEF003339E0013369F90084
-:1058B00055BD931736008D839318D801B3E81701AF
-:1058C00093573800EDB1B368C900E39708C6814724
-:1058D000814959B13389EF41B307E84033B62F010D
-:1058E0003386C740F689854411B493163600931762
-:1058F000D8018D82B3E8D70093573800B1B9931619
-:1059000036009317D8018D82B3E8D700AA84935745
-:1059100038003DB9930705FE93060002B357F70020
-:10592000630AD500930600043385A6403317A70009
-:10593000336FEF003339E0013369F900A9BB8145CA
-:105940001305F07FB7070800A9BC3309FF01B307AF
-:1059500007013336F9013E9675B393163600931757
-:10596000D8018D82B3E8D7009357380089B113D797
-:105970004501B7071000FD1713D846011377F77FCD
-:105980009308F07F33F3B7002A8EF58FFD81B28E36
-:105990001378F87FFD8263081703630018030DEB8B
-:1059A000B368A300631408005D8E29CA63850804E8
-:1059B0006388D502054595ED8280B3E8C700E38092
-:1059C00008FE795582803365A30065FD630CE8020B
-:1059D000631408005D8E79DEE39ED5FCE34CE8FCA1
-:1059E00063480701E3E867FC6303F302637FF300A6
-:1059F00081E57D558280F5DE054582800145E39B8A
-:105A000008FA82805D8E69DA6DBF01458280E3E32A
-:105A1000CEFB0145E372DEFBE5F1E1BF13D74501A3
-:105A2000B7071000FD1713D846011377F77F9308C7
-:105A3000F07F33FEB700AA8EF58FFD81328F137889
-:105A4000F87FFD82630E1703630D180129E3B36825
-:105A5000AE00631F08005D8E01EE0143638C0804F5
-:105A600021A8B3E8C7000943639608046DD305A0D5
-:105A7000638408046385D50205438DCD7D531DA83D
-:105A8000B368AE00094363970802630AE80263142F
-:105A900008005D8E75D2E391D5FEE34FE8FC6349C3
-:105AA0000701E3EBC7FD630FFE0001436374FE00D3
-:105AB000F1D505431A858280EDFE7D53E5BF5D8EED
-:105AC00079DACDBFE36ADFFB0143E3F5EEFFF5F1E1
-:105AD00075B739714AD813D945014ED652D456D22A
-:105AE0009399C50006DE22DC26DA5AD05ECE137901
-:105AF000F97F2A8A93D9C90093DAF501630D090E5B
-:105B00009307F07F6306F9181354D5018E09B36922
-:105B100034013704800033E48900931435001309FD
-:105B200019C08149814B13D74601139AC6001377D8
-:105B3000F77FB285135ACA0013DBF601630B071017
-:105B40009307F07F6303F7049357D6010E0A33EAF5
-:105B50004701130717C0B7078000B367FA00931512
-:105B600036003A99814833C76A01BD463A85130821
-:105B7000190063E83617174600001306A6E48A09E1
-:105B8000B29983A60900B2968286B367CA00130948
-:105B9000F97F6399071293E9290081458948E1B7A4
-:105BA00001479307F07F3704080081443204D2078D
-:105BB00031807E075D8C598CA285F2506254268517
-:105BC0004259D254B259225A925A025BF24B216185
-:105BD00082805A853E84AE84C68B8947638DFB0ED6
-:105BE0008D47E38FFBFA85472A87639EFB38814701
-:105BF0000144814465BF33E4A90061C036C632C4A4
-:105C0000638C092A4E85EF10D0532246B246AA87EC
-:105C1000130755FF7544938487FF198CB399990036
-:105C200033548A0033643401B3149A0013D7460105
-:105C30001309D0C0139AC6001377F77F3309F940D0
-:105C40008149814BB285135ACA0013DBF601E3196F
-:105C500007EEB367CA00B1C7630F0A22528532C488
-:105C6000EF10304E22462A87930655FFF5479305DD
-:105C700087FF958F331ABA00B357F600B3E7470191
-:105C8000B315B6003309E9401309D9C08148E1BD15
-:105C900033E4A90001ECA14981441309F07F894B49
-:105CA00059B593E919008145854875BD4E84AA848C
-:105CB000B1491309F07F8D4BBDB59149814401492C
-:105CC000854B95B593E93900D2878D4869BD8947E1
-:105CD0005685E397FBF02A879307F07F01448144C0
-:105CE000F1B5C16E1386FEFF93D6040113DE0501E4
-:105CF000F18CF18D338695023383B60293580601F9
-:105D000033059E021A95AA98B382C60363F368000E
-:105D1000F692C16F1383FFFF33F5670093D307013A
-:105D2000B3F76800C207337366003E9333069502EB
-:105D300093D80801B387A602135F0601B3849302C8
-:105D4000BE94FA94B38E760263F3F400FE9E416A29
-:105D50009307FAFF935F0401B376F400B3F9F400FC
-:105D60007D8EC1803384D502C209338FD401B299AC
-:105D7000CE98B307DE02935E0401B385BF02AE97EF
-:105D8000BE9E330EFE0363F3BE00529EC167938531
-:105D9000F7FF33F6BE006D8C4206229693DE0E01AD
-:105DA000B305D502769E3385AF0213D40501B386C1
-:105DB000D302AA96A296B38FF30363F3A600BE9F05
-:105DC00041657D15B3F7A600C2076D8DAA97B3850F
-:105DD0005800B3B93501FA97B2953384370133B619
-:105DE000C500B30EC4013385CE0033343401B3B7DC
-:105DF000E701C18F33BECE0113D406013336C5008F
-:105E00003E943366CE009394950032947E94B3E42E
-:105E10006400260493567501B3349000DD81931716
-:105E20009500CD8C558CDD8C9317740063DB0700D7
-:105E300093D7140085889316F401DD8CD58C0580EA
-:105E400042899307F93F6359F00893F6740081CEB5
-:105E500093F6F40011466388C60093864400B3B4F9
-:105E600096002694B6849316740063D80600B7078C
-:105E700000FFFD177D8C930709409306E07F63CFF9
-:105E8000F60E93D634009314D4012604D58C3180B9
-:105E900093F7F77F21BB328532C4EF10902A930627
-:105EA0005501F147130705022246E3D1D7DC6115FE
-:105EB000B317A6008145F9B3EF10B02813075501B9
-:105EC000F145930705022246B246E3D5E5D46115B4
-:105ED0003314AA00814499BB85469D8EB1E713090E
-:105EE000E941B3972401B3D4D40033192401B33763
-:105EF000F000B3649900DD8C93F77400B356D400BE
-:105F000081CF93F7F40011466388C700938744005C
-:105F1000B3B49700A696BE849397860063D807040F
-:105F200085470144814459B113068003E341D6CC2F
-:105F30007D46E356D6FA0556B307F64093050002B0
-:105F40003356F4006387B6001309E943B3172401FD
-:105F5000DD8CB3349000D18C93F67400014499CA5F
-:105F600093F7F40011468146E392C7FA1394960022
-:105F70003180F6068D80D58C81470DB99307F07F6F
-:105F80000144814425B142896DBD370710007D175A
-:105F900001113373B70093D84601758F935ED60114
-:105FA00022CC26CA0E0393D445019357D5010E0780
-:105FB00006CE4AC84EC693F8F87F130EF07F33E73B
-:105FC000EE0093F4F47F13D4F50133E36700131F5D
-:105FD0003500FD82931E36006380C81993C61600F3
-:105FE000B38514416305D4126351B018638B081A4A
-:105FF000B70780005D8F6381C4599307800363C432
-:10600000B734FD4763C5B748930700028D8FB3D9F6
-:10601000BE003318F700B39EFE00336838013357D3
-:10602000B700B339D001336838013303E340B30913
-:106030000F41B3373F013306F3409317860063D314
-:106040000724370980007D1933792601630F092C55
-:106050004A85EF10100F130785FF93070002998FF1
-:10606000B3D7F9003316E900D18FB399E90063443F
-:10607000972A058F13061700FD4663C5C63A130716
-:106080000002118FB3D6C9003398E9003397E700B7
-:10609000558F33380001B369070133D6C7008144F7
-:1060A00093F7790081CF93F6F90091476388F60062
-:1060B0009386490033B836014296B6899317860015
-:1060C00063D6071C138714009307F07F05886306C7
-:1060D000F720B70780FFFD17F18F1398D70193D9E9
-:1060E0003900A60733683801B1831377F77F939699
-:1060F000C7005207B1827E04D98EC18EF24062443D
-:10610000D2444249B2494285B685056182806356D0
-:10611000B00A638A0812B70780005D8F6387C42DB9
-:106120009307800363C7B718FD4763D2B73C138852
-:1061300005FE93070002B3590701638AF500930730
-:106140000004B385B7403317B700B3EEEE00333821
-:10615000D0013368380195A2B367D70193851480C5
-:1061600099E393C61600630AD404D1E1938714001F
-:1061700093F7E77F6399071EB367E3013368D7019D
-:10618000639204166382073C6316084213183500B5
-:106190009316D3011358380033E8060193573300A0
-:1061A00019A2B367D7016385071A9387F5FF638B3D
-:1061B000073A638CC523BE8589B56399051C938610
-:1061C000140093F7E67FC1EFB367E30163900436F1
-:1061D000638D0744B367D701639407460E05131810
-:1061E000D3010D813368A800935733006DA8B385A0
-:1061F000984063970420B367E301638D073093876A
-:10620000F5FF638907401305F07F6383A520BE85F2
-:106210009307800363C2B72AFD4763C8B73C93075F
-:1062200000028D8F3318F3003356BF00B317FF0001
-:106230003368C800B339F0003353B3003368380112
-:1062400033076740B5ACB367D70163830710938703
-:10625000F5FF638F071E6380C52FBE85D1B59307F9
-:10626000F07F638BF606FA9E33B6EE01B307E300C8
-:10627000B2971398F70193DE1E00B369D80113D6C5
-:106280001700B68493F77900E39F07E09317D601D0
-:1062900013D839003368F800A685935736001307E2
-:1062A000F07F6380E506B207B18313F7F57F0588B9
-:1062B0003DBD3367D7013338E000B309E801B3B718
-:1062C000E9013386670093178600E3DD07FA85044A
-:1062D0009307F07F639CF41805881307F07F8147CC
-:1062E000014831B5639107106301083C131836006B
-:1062F0009317D701135838003368F8003684935742
-:106300003700B367F800E9DB01441307F07FB707F4
-:1063100008000148E9BB370680FF7D167D8E93F7A4
-:106320007900998CE39107D895B74E85EF1060619D
-:1063300013078501FD47E3D2E7D2130685FFB39724
-:10634000C90081492DB33368D70133380001C5B185
-:10635000131835009317D301135838003368F80029
-:10636000935733002DBFB309DF413309E340333680
-:106370003F013309C9409317890063CA072033E8F6
-:106380002901E31508CC8147014431BFB38598400A
-:1063900063810414B70680009307F07F3363D30052
-:1063A0006381F8209307800363CCB722FD4763C95C
-:1063B000B72C930700028D8F3318F300B356BF003C
-:1063C000B317FF003368D800B339F0003353B3007C
-:1063D000336838011A97B309D801B3B7D9013386A6
-:1063E000E700C684CDB5E31108F213183500931702
-:1063F000D301135838003368F8009357330011B7AE
-:10640000370580009307F07F3363A300E392F8E041
-:106410000E061318D7010D823368C8009357370052
-:106420003684C5B505179306000233D7E700630A23
-:10643000D600930600043386C6403396C700B3E9FE
-:10644000C90033383001B369E800014681441DBDFD
-:10645000B309DF01B307E30033BFE9013386E70186
-:10646000931786008544E3DF07E08944B70780FF80
-:10647000FD17F18F13D7190013F8190033680701BE
-:106480009399F701B3E9090113D6170011B91388DD
-:1064900005FE93070002B3590701638AF5009307CD
-:1064A0000004B385B7403317B700B3EEEE003338BE
-:1064B000D00133683801A5BE3363E301333860008F
-:1064C000B3890E41B3B73E013306F740C684368424
-:1064D000ADB6B367E301638707189387F5FF638C55
-:1064E000071C9306F07F638ED50ABE8565BD9307B2
-:1064F00000028D8FB3D9BE003318F700B39EFE00A3
-:10650000336838013357B700B339D00133683801E5
-:106510003A9365B3131836009317D7011358380010
-:1065200033E8070136849357370095BBBDCB3367FB
-:10653000D701E31B07DC0E051318D3010D81336867
-:10654000A8009357330075BBE30F08E21318360019
-:106550009317D701135838003368F80036849357DF
-:10656000370091B3B309DF41B307E340333F3F0145
-:106570003386E7418544D1B4131835009316D3010F
-:106580001358380033E80601935733009DBBB38995
-:10659000EE413306674033B93E0133092641368464
-:1065A00075B40E061318D7010D823368C8009357CF
-:1065B000370081BBB309DF41B307E34033363F0106
-:1065C0003386C7409317860063D7070AB389EE4125
-:1065D000B3076740B3BE3E013386D7413684C9B4A2
-:1065E0003363E30133386000FDB3138805FE93077E
-:1065F0000002B3590301638AF50093070004B385D1
-:10660000B7403313B300336F6F003338E0013368A2
-:1066100038017DB5B389EE41B3076740B3BE3E0193
-:106620003386D7413684854409BC13183600931746
-:10663000D701135838003368F80093573700A5B1D5
-:10664000B309DF01B307E30033BFE9013386E70194
-:1066500093178600E3D807C2B70780FFFD177D8E2A
-:1066600085440DB10E061318D7010D823368C8009A
-:10667000935737002DB133E8C900E30608D019B1AC
-:10668000138805FE93070002B3590301638AF500DE
-:1066900093070004B385B7403313B300336F6F0023
-:1066A0003338E001336838013DB301441307F07F0C
-:1066B000B70708002DBCB309DF01B307E300B3BE81
-:1066C000D9013386D70169BB411106C622C426C24F
-:1066D0000DCD9357F541B3C4A7009D8C2A84268520
-:1066E000EF1020269306E041898EA9477D8093F61E
-:1066F000F67F63CDA7022D47098FB3D7E400550578
-:10670000B207B394A400B18329A001448146814714
-:106710008144B207D206B1837E04D58FC18FB240C7
-:1067200022442685BE859244410182805515B39747
-:10673000A400B207B1838144E9BF4111370780004B
-:106740007D1713D8750126C2935475013373A700C2
-:1067500093F4F40FB376B7004AC01378F80F1359C7
-:10676000F50106C622C4FD819A8726854A86131E36
-:106770003300939E3600B3880441630AB90E635018
-:10678000100D630408149307F00F638BF414B7071C
-:106790000004B3EEFE00ED4763C117299307000222
-:1067A000B3871741B397FE00B3D81E01B337F0008B
-:1067B000B3E7F800B307FE4013975700635E07186E
-:1067C000370400047D147D8C2285EF1080176D1531
-:1067D000B317A4006348951A058D13041500130719
-:1067E0000002018F3397E7003337E000B3D787000B
-:1067F000D98F814413F7770019C713F7F700914633
-:106800006303D700910713975700635B0714850450
-:106810001307F00F4A866383E4169A07A58313F5DE
-:10682000F40FB2402244A6079314750113D59700C4
-:10683000458D7E0692440249518D410182806399C3
-:10684000080A138714001377E70F63170714639080
-:106850000422630D0E1EE3860EFCB307DE41139780
-:10686000570063500722B387CE412E8961B7635C1E
-:10687000100B630E08089307F00F6383F406B70745
-:106880000004B3EEFE00ED4763C9171F9307000233
-:10689000B3871741B397FE00B3D81E01B337F0009A
-:1068A000B3E7F800F297139757006357070A850478
-:1068B0001307F00F6384E40CB706007E13D71700AC
-:1068C000FD16858B758FD98F35B7638D0E08FD1832
-:1068D000B307DE41E38208EE9307F00FE39DF4EA8D
-:1068E000630D030801461305F00FB707400015BFFD
-:1068F00033079840EDE863020E147D17630807180C
-:106900009307F00F6319F80E2E893683D1BF638B7E
-:106910000E04FD18B307DE01E38708F89307F00FB4
-:10692000E393F4F675BF63950808850413F7E40F45
-:106930006313071263170510630F0E14E3830EEE43
-:10694000B307DE01139757008144635707003707E9
-:1069500000FC7D17F98F854413F77700E31F07E8E4
-:1069600013D337009307F00FE38CF4F693179300DB
-:10697000A58313F5F40F4A866DB54A861305F00F0B
-:10698000814745B5370700FC7D17F98F13F777006E
-:10699000898CE31407E6E9B73304DE41931754000A
-:1069A00063C3070CE31204E201460145814795BD2C
-:1069B00033079840ADC49307F00FE308F8F4B70726
-:1069C0000004336EFE00ED4763CCE70C9307000232
-:1069D000998FB317FE003357EE00B337F000D98F0D
-:1069E000F697C284C9B59307F00FE30FF8F0B70725
-:1069F0000004336EFE00ED4763C3E7089306000210
-:106A0000998EB316DE00B357EE003337D000D98F1E
-:106A1000B387FE40C2842E8945B3854761BB630EB0
-:106A20000E067D17B307DE01C284E30E07E6930767
-:106A3000F00FE31AF8F8368365B53683C2842E89E1
-:106A400015B7E3040EECE38D0EE869BD638D0E020D
-:106A50002E86B687F9B39307F00FE381F4F2B307FC
-:106A6000DE018583D5BD3384CE412E89B1BBE31CC5
-:106A70000EFCE3890EE62E8949BD854725B585477D
-:106A800041BFE39B07EC0146814761BBB387CE4121
-:106A9000C2842E8915B3B68769B33683C284D9B54B
-:106AA00085473DBF3971935775014AD856D25ECE9E
-:106AB000931A95001359F50106DE22DC26DA4ED62C
-:106AC00052D45AD093F7F70F93DA9A00CA8B6382A5
-:106AD00007121307F00F6384E7128E0A37070004CA
-:106AE000B3EAEA00138A17F80144014B93D7750102
-:106AF0009394950093F7F70FA58093D9F501FDC7FF
-:106B00001307F00F6387E7028E04938717F83707A0
-:106B10000004D98C330AFA408146558C173700009F
-:106B2000130747EE0A043A941C4033493901BA97D7
-:106B30008287130A1AF0F9E88946558C1737000046
-:106B4000130747F00A043A941C4033493901BA97B5
-:106B5000828701491307F00FB7074000139597008C
-:106B6000F25062549317770125817E095D8D33655C
-:106B70002501D2544259B259225A925A025BF24B21
-:106B8000216182801307F00F8147C9BFA68ACE8B8F
-:106B9000368B8947630BFB1A8D47E30CFBFA85475D
-:106BA000630AFB0A1307FA0713F91B006357E01285
-:106BB00093F77A0099C793F7FA0091466383D70059
-:106BC000910A93974A0063D90700B70700F8FD17A9
-:106BD000B3FAFA0013070A089307E00FE3C4E7FAD1
-:106BE00093976A00A5831377F70F8DBFB9E48546A5
-:106BF000A9B763940A021144014A054BC5BD6399C4
-:106C00000A002144130AF00F094BCDB58D4631B768
-:106C10003144130AF00F0D4BD1BD56852EC6EF003F
-:106C200050529307B5FFB39AFA009307A0F8338A3E
-:106C3000A7400144014BB24555BD2685EF00705079
-:106C40001307B5FFB307AA00B394E400138A6707DC
-:106C50008146E1B513F91B000147814701B7416641
-:106C6000139554007D1693570501698E63FA9A0AAD
-:106C7000B3D5FA027D1AD68601473388C502B3F62A
-:106C8000F602C206558F637B07012A979386F5FFAC
-:106C90006368A70A6376070BF9152A97330707413C
-:106CA000B356F7023377F702B38AC6029317070188
-:106CB00063FB5701AA971387F6FF63E1A70863FFF9
-:106CC0005707F916AA97C205B38A5741D58DB33A2B
-:106CD0005001B3EA5501CA8BF1B58546998E11C7AB
-:106CE0006D4601478147E34BD6E6130AEA09339A1A
-:106CF0004A01B3D7DA00B33A4001B3E7570113F7BB
-:106D0000770019C713F7F70091466303D70091077F
-:106D100013975700634807029A07A58301473DBDB3
-:106D200093D61A00B3D5F6021397FA01418333883C
-:106D3000C502B1B7CE8B368B814AA1BDBA8661B789
-:106D4000B685A9BF0547814711BD13F91B0013077D
-:106D5000F00F814721B593567501B7078000FD17E5
-:106D600013D6750193F6F60F1308F00FB3F8A700CA
-:106D70001357F501ED8F1376F60FFD81638406033B
-:106D80001305F00F6304A60205456383C6008280E5
-:106D9000E39FF8FE0145E30CB7FE0545EDFA3335F8
-:106DA000100182800545E38D08FC82800545E9DFFE
-:106DB000828093567501B7078000FD1713D67501C1
-:106DC00093F6F60F1308F00FB3F8A7001357F50169
-:106DD000ED8F1376F60FFD8163810603630C0601C8
-:106DE0008DE211E2B1C3638E08026305B704054565
-:106DF0001DE78280F5D779558280E39E08FE6309FE
-:106E0000D60211E2EDD7E314B7FEE342D6FE63C724
-:106E1000C600E3EE17FD0145E3FDF8FC01E77D55F3
-:106E20008280F5DD054582800145E39208FC828081
-:106E3000F9DBD1B78146E1BF93567501B7078000F2
-:106E4000FD1713D6750193F6F60F1308F00FB3F87C
-:106E5000A7001357F501ED8F1376F60FFD816387B9
-:106E600006036309060185EA11EA89EB0145639B84
-:106E7000080082800945F5FFE5DA31A8638C080235
-:106E80006300B704054575D77D5582800945639831
-:106E900008026304D60211E2F5D7E315B7FEE34317
-:106EA000D6FE63C7C600E3EF17FD0145E3F3F8FC28
-:106EB00019E3D9BFF1D905458280E5D3828082806C
-:106EC0008146C5B7797122D4135475014ECE52CC88
-:106ED0009319950006D626D24AD056CA5AC81374BA
-:106EE000F40F93D99900135AF50169C49307F00F71
-:106EF0006308F40E9397390037070004B3E9E700FD
-:106F0000130414F88144014B13D77501939A95002B
-:106F10001377F70F93DA9A0013D9F50145CF93074A
-:106F2000F00F630CF7028E0A130717F8B707000477
-:106F3000B3EAFA003A94014633452A01BD47AA86CE
-:106F40009305140063E2971017370000130787B307
-:106F50008A04BA949C40BA9782871304F40F63980A
-:106F60000A0C93E424000946C1BF01451307F00F42
-:106F7000B7074000B2502254A6075E07A5837E05DE
-:106F8000D98F92540259F249624AD24A424B5D8DDE
-:106F900045618280CA86D689328B89476301FB0AA4
-:106FA0008D47E304FBFC854736856312FB1A0147D6
-:106FB0008147C9B7639E090413D77501939A950059
-:106FC0001377F70F91440144054B93DA9A0013D9D4
-:106FD000F50131F7639D0A0093E414000546A9BF4B
-:106FE00063930902A1441304F00F094B31BF568586
-:106FF000EF0030159307B5FF098CB39AFA0013041C
-:10700000A4F8014615BFB1441304F00F0D4BEDBDBC
-:107010004E852EC6EF00F0129307B5FF1304A0F8BB
-:10702000B399F900098C8144014BB245F1BD93E459
-:1070300034000D4611B78947D286E313FBF6368537
-:107040001307F00F81473DB741639306F3FF13D653
-:10705000090193D80A01B3F7D900B3FADA003388EB
-:107060005703B389F80213570801B30A5603D69998
-:107070004E9733061603637357011A96C167FD17BF
-:10708000B376F7003378F800C206C296939966008B
-:1070900093570701B3393001E982B2979A07B3E6F3
-:1070A000D900B3E9D7009397490063D9070013D7F4
-:1070B000190093F71900B369F7002E841307F4073A
-:1070C0006350E00493F7790099C793F7F90091466C
-:1070D0006383D70091099397490063D90700B707E5
-:1070E00000F8FD17B3F9F900130704089307E00F40
-:1070F00063CBE70493976900A5831377F70F9DBDD2
-:107100008547B386E74011C76D4601478147E34392
-:10711000D6E61307E4093397E9003337E000B3D725
-:10712000D900D98F13F7770019C713F7F7009146E5
-:107130006303D700910713975700634C07009A0722
-:10714000A583014705BD1307F00F814725B52E84A0
-:10715000B5B70547814739BD3707800041117D1715
-:107160009356750113D87501B377A70093F6F60F00
-:10717000935EF5013376B70026C24AC01378F80F44
-:1071800006C622C41303F00F3E8E3689F684139F81
-:107190003700FD8113153600B3880641630268107D
-:1071A00093C51500638CBE106354100D6310081056
-:1071B0006304051EFD18B307AF40638608029307FA
-:1071C000F00F6388F616ED4763C71729130700020F
-:1071D000330717413317E500B35715013337E00084
-:1071E000D98FB307FF40139757006351071A37042D
-:1071F00000047D147D8C2285A9276D15B317A4008A
-:10720000634E251B330525411304150013070002A7
-:10721000018F3397E7003337E000B3D78700D98F6A
-:10722000014913F7770019C713F7F7009146630375
-:10723000D700910713975700635E07149306190050
-:107240001307F00F93FE14006386E6169A07A583D2
-:1072500093F6F60FA607B240224413D59700DE0638
-:107260009397FE01558D924402495D8D41018280C4
-:107270006392080A138716001377E70F631B07143E
-:107280006394062263020F2071D5B307AF401397B2
-:10729000570063550722B307E5410149AE8451B752
-:1072A000E30005F0638ABE0AE35410FD9307F00F74
-:1072B0006381F608B70700045D8D31B7635E10097E
-:1072C000630108089307F00F6385F606B70700040B
-:1072D0005D8DED4763C0171F130700023307174189
-:1072E0003317E500B35715013337E000D98FFA970C
-:1072F00013975700635C070805091307F00F630B2A
-:10730000E90AB706007E13D71700FD16858B758F27
-:10731000D98F01BF3307D84063950610630D0F1452
-:107320007D176303071A9307F00F6314F810AE84F8
-:10733000328E630F0E06814E9306F00FB7074000A2
-:1073400011BF39C9FD18B307AF00E38308FA9307EB
-:10735000F00FE390F6F8F1BF63990808138916005F
-:107360001377E90F63160712639B061063030F166A
-:10737000E30205EEB307AF001397570001496357C7
-:107380000700370700FC7D17F98F054913F77700D1
-:10739000E31C07E813DE37009307F00FE30BF9F85F
-:1073A00093179E00A5839376F90F93FE14005DB5A5
-:1073B00093FE14009306F00F814769BD370700FC68
-:1073C0007D17F98F13F777003309A940E31E07E40F
-:1073D000D1B73304AF409317540063C3070CE31CC9
-:1073E00004E0814E81468147B5B53307D840B5C624
-:1073F0009307F00FE30EF8F2B7070004336FFF00B6
-:10740000ED4763CDE70C93070002998FB317FF0098
-:107410003357EF00B337F0005D8FB307A700428901
-:10742000C1BD9307F00FE304F8F0B7070004336F12
-:10743000FF00ED4763C2E70893070002998FB31777
-:10744000FF003357EF00B337F000D98FB307F54093
-:107450004289AE8449BB854769B3630E0F067D1729
-:10746000B307AF004289E30507E89307F00FE3197C
-:10747000F8F8328E7DBD328E4289AE8431BFE30989
-:107480000FEAE30805EA45BD0DCDAE8EB287D9B34C
-:107490009307F00FE300F9F2B307AF008583FDB562
-:1074A0003304E541AE8481BBE31D0FFCE30505E831
-:1074B000AE84BDBD854725BD854749BF0149E397DA
-:1074C00007EC814E814779B3B307E5414289AE8429
-:1074D00019BBB28741B3328E42897DBD054735BFA6
-:1074E00037068000135775019307F6FF1377F70FE0
-:1074F0009305E007B3F6A7009357F50163FCE50099
-:107500009305D00963FAE500370500801345F5FFC0
-:107510003E9582800145828093055009D18E63CDCE
-:10752000E500130660093307E64033D7E60033056C
-:10753000E040F5F33A8582801307A7F63397E6001B
-:10754000FDB713577501370680009307F6FF1377D1
-:10755000F70F9305E007B3F6A7009357F501014530
-:1075600063F4E50099C3828082809307E0097D552A
-:10757000E3EBE7FE93055009B3E7C60063D7E500E8
-:107580001307A7F63395E7008280130560093307D8
-:10759000E54033D5E7008280411106C622C426C2E9
-:1075A0000DCD9357F54133C4A7001D8CAA842285C5
-:1075B000492E9307E0093387A74093076009FD80B0
-:1075C00063CCE702A1469377F70F63D5A600611558
-:1075D0003314A4002604258021A08144814701445E
-:1075E000260413559400B2402244DE07FE045D8D4C
-:1075F000458D9244410182809307900963DDE70045
-:107600009307B5019546B317F400898E3354D4001F
-:10761000B337F0005D8C954763D6A7009307B5FF9D
-:107620003314F400B70600FCFD169377740033762C
-:10763000D40085C39377F4009145638CB70011069D
-:107640009317560063D707009307F009758E3387A9
-:10765000A7401314660025809377F70F51B74111A7
-:1076600006C622C415CD2A84E92C9307E009338786
-:10767000A7409307600963C0E704A1469377F70F1B
-:1076800063D5A60061153314A400260425802604C2
-:1076900013559400B2402244DE075D8D4101828083
-:1076A0000144260413559400B24022448147DE076A
-:1076B0005D8D410182809307900963DDE7009307A8
-:1076C000B5019546B317F400898EB337F0003354F3
-:1076D000D4005D8C954763D6A7009307B5FF33149C
-:1076E000F400B70600FCFD16937774003376D400DF
-:1076F00085C39377F4009145638CB7001106931707
-:10770000560063D707009307F009758E3387A740AB
-:10771000131466002580260413559400B2402244B9
-:107720009377F70FDE075D8D410182801357750156
-:107730001377F70F41119307170022C426C21314C1
-:10774000950006C693F7E70F25809354F50185C78A
-:1077500093573400130707387604B2075207B183F2
-:107760001395F401D98FC98FB240228522449244E7
-:10777000BE854101828005EB39C42285D922A94703
-:1077800063C6A7042D47098F930755013357E400BB
-:107790003314F4009317C70013079038098FB1838F
-:1077A0001377F77F5DBF01CC13573400B70708008C
-:1077B000D98FB2077604B1831307F07F79BF13071F
-:1077C000F07F814759BF0147814741BF130755FFEC
-:1077D0003317E40001447DBF93D645019397C5005C
-:1077E00093F6F67FB183138616008E071357D501E3
-:1077F0001376E67FFD815D8F9318350035CE1388B3
-:1078000006C89307E00F63DD0701814713959700D2
-:107810009306F00FDE062581FE05558D4D8D828085
-:107820006355000B931765000E07B337F000D98F2F
-:1078300093D8D801B3E7170113F777006301071056
-:1078400013F7F70091466303D70091073707000449
-:107850007D8F75C7130718001306F00F9376F70F87
-:10786000E305C7FA9A07A58313959700DE062581DD
-:10787000FE05558D4D8D8280B367170199EE85CF3A
-:1078800095479A07A5831395970093F6F60FDE06A2
-:107890002581FE05558D4D8D8280A5DBB707400003
-:1078A000139597009306F00FDE0681452581FE05AE
-:1078B000558D4D8D82808147139597008146DE0658
-:1078C0002581FE05558D4D8D8280A5576348F804AE
-:1078D000F94737068000B38707417D45598E6351CC
-:1078E000F504795733070741130500023357E600C3
-:1078F0006388A700938626CAB316D600B3E8D800DB
-:10790000B3371001D98F13F77700014815FB139790
-:1079100057008546E34807F48146A5B781468DB7F1
-:10792000938626C83397D8003337E000B316D600C5
-:10793000B3D8F800B367D700B3E7F800E9B7C28659
-:1079400089B7C167637CF5029307F00F1307000244
-:1079500063EBA700972700009387C716AA97882391
-:107960003305A740828021819727000093878715E0
-:10797000AA97882361473305A7408280B707000193
-:10798000636DF5006181972700009387A713AA977D
-:10799000882321473305A740828041819727000033
-:1079A00093874712AA97882341473305A7408280CF
-:1079B000B3C7A5008D8B3307C50081E78D4763ED05
-:1079C000C700AA87637EE508942185078505A38FF4
-:1079D000D7FEE3EBE7FE828093763500AA8789CA5B
-:1079E000942185078505A38FD7FE93F63700C5BF81
-:1079F0009376C7FF138606FE63F0C70683A30500D0
-:107A000083A2450083AF850003AFC50083AE0501A7
-:107A100003AE450103A3850183A8C50193854502F3
-:107A200023A0770003A8C5FF23A2570023A4F701D2
-:107A300023A6E70123A8D70123AAC70123AC670027
-:107A400023AE17019387470223AE07FF75B7904116
-:107A50009107910523AEC7FEE3EBD7FEE3E6E7F619
-:107A6000828039713EDA2ED232D436D63AD842DC10
-:107A700046DE9387418122CC804326CA06CEAA8463
-:107A800009C41C4C99E32285B92D0C445410268658
-:107A9000228536C6EF00705FF2406244D244216115
-:107AA0008280011126CA4AC806CE22CC4EC652C4D4
-:107AB000AA842E8901C51C4D91E335259C4C804438
-:107AC00099E326850D25972700009387A711631B4F
-:107AD000F402C0405E24A18BB1C71C48A1C7FD5968
-:107AE000294A1C4483450900FD17B1E91CC463DD24
-:107AF00007062286A9452685ED22FD576308F50273
-:107B0000294535A0972700009387C70F6314F40019
-:107B10008044C9B7972700009387C70AE31CF4FA8B
-:107B2000C0444DBFA28526859D2C55D97D55F24078
-:107B30006244D2444249B249224A056182801CC44F
-:107B4000050963D70700184C63CAE700638845013D
-:107B50001C401387170018C08CA361B722862685A6
-:107B60004922E31035F9D9B71C401387170018C014
-:107B7000294798A371B793874181AA8588436FF0FD
-:107B80005FF241119387418122C4804326C206C619
-:107B90001C5CAA8495EB6145EF00E07AB737CDAB6A
-:107BA00008DC9387E7301CC1B7176DE6938747233E
-:107BB0005CC1B7E705009387C7EE1CC5AD475EA55E
-:107BC0000547814718C95CC91C5CB240224484CB7C
-:107BD00023AA070092444101828041119387418189
-:107BE00022C4804306C61C5C8DEB6145A92FB737C4
-:107BF000CDAB08DC9387E7301CC1B7176DE69387E0
-:107C000047235CC1B7E705009387C7EE1CC5AD47A6
-:107C10005EA50547814718C95CC9105C3787954C3C
-:107C2000B7F75158144A484A1307D7F29387D742F7
-:107C3000B387F602B24022443305E5023E95B3878E
-:107C4000E60233B7E6029386170014CA2A9733B5C3
-:107C5000F6003A9548CA06050581410182803571D2
-:107C60003ECBB707008093C7F7FF3ECE3EC8C17733
-:107C70009387872032C536C73AC942CD46CF3ECA20
-:107C8000938741812AC42ACC884334012E862C0054
-:107C900086DE36C2EF003012A24723800700F6507E
-:107CA0000D61828005C68547630BF60213871500B8
-:107CB0002E968346F7FF0505BA87A30FD5FE81CE22
-:107CC0000507E318E6FE2300050011A0AE8785072F
-:107CD00003C7F7FF6DFF3385B7407D158280AE8700
-:107CE000DDB7011122CC26CA4AC806CE4EC6AA84E8
-:107CF0002E89328401C51C4D91E3F526972700009B
-:107D0000938747EE6317F406C0401C4C1CC45E24E6
-:107D1000A18BC1C31C48B5CF1C4808409379F90F0B
-:107D20001379F90F1D8D5C486346F500A285268501
-:107D3000692C25E51C440505FD171CC41C40138750
-:107D4000170018C0238037015C486388A7005E24B1
-:107D5000858B81CBA9476316F900A2852685B524BA
-:107D60000DEDF24062444A85D2444249B249056170
-:107D70008280972700009387E7E86314F40080442B
-:107D800069B7972700009387E7E3E310F4F8C0444E
-:107D9000ADBFA2852685212041D17D59D9B741119A
-:107DA0009387418126C2844322C44AC006C62A89D9
-:107DB0002E8489C49C4C99E326853526972700009C
-:107DC000938747E2631BF402C0400317C400931774
-:107DD0000701C18393F68700ADEA93F6070195EE9C
-:107DE000A5472320F900136707045AA47D55B24024
-:107DF00022449244024941018280972700009387E0
-:107E000067E06314F4008044C9B7972700009387A4
-:107E100067DBE31CF4FAC0444DBF918B9DC34C5803
-:107E200089C9930744046384F5004A851523232AEE
-:107E300004025E242322040093F7B7FD5EA41C48CD
-:107E40001CC05E2493E787005EA41C4899EB5E2467
-:107E50001307002093F707286385E700A2854A856A
-:107E600091295E2413F717001DC35C4823240400E6
-:107E7000B307F0401CCC1C480145B5FB8317C40078
-:107E800013F707082DD793E707045EA485B7898BFE
-:107E9000014791E3584818C4F9BFDE25011122CCEF
-:107EA00026CA06CE4AC84EC613F78700AA842E8477
-:107EB00079EBD841634DE000B841634AE0000145E9
-:107EC000F2406244D2444249B2490561828058542A
-:107ED0007DD703A904009396370123A0040063DB38
-:107EE000060670485E24918B99C75C401D8E5C58D5
-:107EF00099C33C401D8E5C540C5081462685829768
-:107F0000FD575A24631DF5009440F54763E8D706F2
-:107F1000B70740208507B3D7D700858BA5C31C487A
-:107F2000232204001CC09317370163D80700FD57B4
-:107F30006314F5009C4091E368C84C5823A02401C9
-:107F4000BDDD930744046384F50026851121232AAF
-:107F50000402B5B70C500146854626850297FD57A9
-:107F60002A86E311F5F89C40B5DF75476385E70085
-:107F700059476393E70423A0240191B713670704CB
-:107F80005AA47D5535BF83A90501E38A09F203A9E7
-:107F900005008D8B23A0350133093941014791E359
-:107FA000D84918C4E35D20F11C540C50CA864E8693
-:107FB000268582976347A0005E2493E707045EA4AA
-:107FC000C9B7AA993309A940F1BF9C49A5C30111BA
-:107FD00022CC06CE2A8411C51C4D81E72EC6212253
-:107FE000B245972700009387E7BF639CF5004C409C
-:107FF0008397C5009DC722856244F24005616FF0FA
-:10800000DFE9972700009387E7BF6394F5000C44EE
-:10801000C5B7972700009387E7BAE39BF5FC4C446C
-:10802000C1BFF24062440145056182800145828002
-:10803000411122C406C62A844EA572A5232005003C
-:1080400023220500232405002322050623280500FA
-:10805000232A0500232C0500214681451305C5056B
-:10806000EF800F94971700009387E7E85CD097178D
-:108070000000938707EB1CD4971700009387E7EE67
-:108080005CD497170000938747F100D01CD8B2400A
-:1080900022444101828097050000938545F391AA0F
-:1080A000411126C2130680069384F5FFB384C402EF
-:1080B0004AC02E8922C406C693854407352E2A84D9
-:1080C00001CD2320050023222501310508C4138694
-:1080D00084068145EF80CF8C2285B24022449244B1
-:1080E0000249410182801C4DA5E7411106C622C408
-:1080F00097070000938767FA1CD5938781819C437B
-:108100002324050423260504232805046314F5000D
-:1081100085471CCD2A84352848C022851D2808C4DF
-:108120002285052848C4484001469145EFF05FF09C
-:1081300008440546A545EFF0BFEF48440946C94548
-:10814000EFF01FEF85471CCCB240224441018280F2
-:10815000828041119387818126C284434AC006C62A
-:108160009C4C22C42A8981E72685EFF0DFF79384AF
-:1081700084048044DC40FD1763D607009C40B9CFDF
-:108180008440C5BF0317C40039E7C17785072322A0
-:1081900004062320040023220400232404005CC4DA
-:1081A00023280400232A0400232C040021468145AF
-:1081B0001305C405EF70DFFE232A0402232C0402FA
-:1081C00023240404232604042285B240224492443A
-:1081D0000249410182801304840671BF91454A859A
-:1081E000EFF01FEC88C049FDB1472320F90001449E
-:1081F000E1BF797122D44AD052CC56CA5AC85EC661
-:1082000006D626D24ECE2A8AAE8A130485040149A8
-:10821000054BFD5B09ECB25022544A859254025939
-:10822000F249624AD24A424BB24B456182800444D1
-:1082300083294400FD1963D409000040E1BFDE2416
-:10824000637BFB008397E40063877701A6855285F3
-:10825000829A3369A90093848406E9BF1971A6DA6A
-:10826000AE848395E500A2DC86DE328463DB050004
-:10827000DE2423A0060093F7070885E79307004054
-:108280001DA0300836C6EF00D057B246E34205FEC7
-:108290007247BD67F98F7977BA9793B717009CC279
-:1082A000F1BF930700041CC0F6506654D654014534
-:1082B00009618280DE25011122CC06CE26CA4AC879
-:1082C000898B2E8489CF930774041CC01CC88547F2
-:1082D0005CC8F2406244D244424905618280740025
-:1082E0003000AA84EFF09FF7A2452A89268529222B
-:1082F00019E98317C40013F7072061FFF19B93E787
-:1083000027005EA4C9B797070000938707D99CD4BC
-:108310005E2408C008C893E707085EA4A2475CC8AB
-:10832000B24781CF8315E4002685EF00B05011C518
-:108330005E24F19B93E717005EA45E243369F90085
-:108340002316240179B793874181AA8588436DA0BC
-:10835000DDC183A7C5FF411122C406C626C213840E
-:10836000C5FF63D307003E94AA84EF00D0589387DB
-:10837000C1899C4381EF2322040023AE81882244DB
-:10838000B2402685924441016F001057637EF4008D
-:1083900014403307D4006396E7009843DC433697D4
-:1083A00018C05CC0D9BFBA87D84319C3E37DE4FEC7
-:1083B00094433386D700631F86001040B29694C35F
-:1083C0003386D700E31DC7FA10435843B29694C3CF
-:1083D000D8C375B76375C400B1479CC04DB7104092
-:1083E000B306C4006316D70014435843B29614C0B2
-:1083F00058C0C0C369B78280011126CA9384350072
-:10840000F19806CE22CC4AC84EC6A104B14763F506
-:10841000F404B14463E4B4042A89EF00D04D938797
-:10842000C18998433A8429E49387018A9C4399E758
-:1084300081454A85EF00D02823A0A18AA6854A85D8
-:10844000EF001028FD5963193507B1472320F900C3
-:108450004A85EF00704A29A0E3DE04FAB1471CC147
-:108460000145F2406244D2444249B24905618280EA
-:108470001C40858F63CF0702AD4663F6F6001CC033
-:108480003E9404C031A05C406313870223AEF188A0
-:108490004A85EF0070461305B400930744006199C4
-:1084A0003307F5405DDF3A94898F1CC05DBF5CC324
-:1084B000C5B72287404085BF130435007198E30299
-:1084C00085FCB305A4404A85EF00901FE31B35FBF4
-:1084D000ADBF01114AC803A9850022CC52C45AC0BD
-:1084E00006CE26CA4EC656C22E84328B368A63E921
-:1084F0002609DE2513F7074851C304408C49584824
-:10850000AA8AB389B4408D44B384E4020947B3C452
-:10851000E402138716004E9763F3E400BA8493F7DE
-:108520000740BDCFA6855685EFF01FED2A891DE1D6
-:10853000B14723A0FA005E247D5593E707045EA4AB
-:10854000F2406244D2444249B249224A924A024B22
-:10855000056182800C484E86EFF08FC55E2493F74C
-:10856000F7B793E707085EA42328240144C84E996F
-:10857000B38434412320240104C4528963732A0143
-:10858000528908404A86DA85EF0090321C44014542
-:10859000B38727411CC41C403E99232024014DB7BA
-:1085A00026865685EF0070352A895DFD0C48568574
-:1085B000EFF01FDAB5BFDE25717126D34AD14ECF59
-:1085C00006D722D552CD56CB5AC95EC762C566C3FF
-:1085D00093F70708AA892E89B284B9C39C49A9E3F5
-:1085E0009305000436C6EFF03FE12320A9002328BD
-:1085F000A900B24615E1B14723A0F9007D55BA5054
-:108600002A549A540A59FA496A4ADA4A4A4BBA4BE6
-:108610002A4C9A4C4D61828093070004232AF9006A
-:1086200093070002A30CF1029307000302DA230D63
-:10863000F10236CE930B5002971A0000938A8A5E9D
-:10864000054C294B26841C2099C363997709B30CE8
-:108650009440638E0C00E6862686CA854E85EFF030
-:108660005FE7FD57630BF518D256E69636DA1C2005
-:1086700063850718FD579304140002D002D63ED23A
-:1086800002D4A301010682DC8C2015465685EF003A
-:10869000B02013841400825721E513F7070109C79E
-:1086A00013070002A301E10613F7870009C71307A8
-:1086B000B002A301E10694201307A002638AE60238
-:1086C000B2572684814625461820930514001307C7
-:1086D00007FD6372E6068DC63ED61DA00504A5B74C
-:1086E000330555413315AC00C98F3ED0A28469BF14
-:1086F000724793064700184336CE634707023AD6BF
-:1087000018209307E002631DF70418309307A002B6
-:10871000631BF702F2470904138747009C433ACED4
-:1087200063C107023ED22DA83307E04093E727003C
-:108730003AD63ED0F1B7B387670385462E84BA9701
-:1087400061B7FD57C5B7050402D28146814725466A
-:10875000182093051400130707FD6376E606F9F267
-:108760000C200D46171500001305454CEF00D012E4
-:1087700011CD971700009387674B1D8D9307000459
-:10878000B397A700025505045D8D2AD00C20194629
-:10879000171500001305C54993041400230CB102FA
-:1087A000EF00900F25C59787FFFF9387A78595E773
-:1087B0000257F2471377071009CF91073ECED257E1
-:1087C000D2973EDA41B5B387670385462E84BA97C0
-:1087D00041B79D07E19BA107D5B778089706000030
-:1087E000938666CF4A860C104E8597000000E700FE
-:1087F0000000FD572A8AE314F5FC8357C9007D5514
-:1088000093F70704E39D07DE5255D5BB780897061A
-:108810000000938646CC4A860C104E850921D1BFB4
-:108820001C46FD171CC663DA0700184E63C5E70037
-:10883000A9476394F5006FF0CFCA1C422E851387B9
-:10884000170018C28CA38280011122CC26CA4AC804
-:108850004EC652C406CE2A89AE893284B304D600ED
-:108860007D5A63149400014509A80C204E864A8560
-:10887000EFF01FFB0504E31645FFF2406244D244CB
-:108880004249B249224A05618280357122CD26CB08
-:108890004AC94EC706CF52C556C35AC1DEDEE2DC16
-:1088A000E6DAAA89AE843289368409C51C4D99E37B
-:1088B000EFF07F83971700009387C7326398F40C1B
-:1088C00083A44900DE24A18BE5C79C48F5C3930728
-:1088D0000002A304F1029307000302D22305F10270
-:1088E00022C6930B5002971A0000938AAA33054CB4
-:1088F000294B4A841C2099C3639F770DB30C2441F4
-:10890000638E0C00E6864A86A6854E85EFF0DFF37F
-:10891000FD57630FF51C9256E69636D21C206389EC
-:10892000071CFD571309140002C802CE3ECA02CC30
-:10893000A309010482D48345090015465685A92F51
-:1089400013041900C24751E913F7070109C71307B8
-:108950000002A309E10413F7870009C71307B00257
-:10896000A309E104834609001307A002638FE6060A
-:10897000F2474A84814625461820930514001307C0
-:1089800007FD6377E60AB5CA3ECE85A897170000B3
-:10899000938747276395F40083A4890025B7971729
-:1089A000000093872722E39FF4F083A4C90019BF36
-:1089B000A6854E85EFF0AFBE19D97D55FA406A44C1
-:1089C000DA444A49BA492A4A9A4A0A4BF65B665C33
-:1089D000D65C0D618280050431BF330555413315E6
-:1089E000AC00C98F3EC82289B9B732479306470009
-:1089F000184336C6634707023ACE18209307E002B1
-:108A0000631DF70418309307A002631BF702B247F7
-:108A10000904138747009C433AC663C107023ECA54
-:108A20002DA83307E04093E727003ACE3EC8F1B7C0
-:108A3000B387670385462E84BA973DBFFD57C5B7F8
-:108A4000050402CA81468147254618209305140073
-:108A5000130707FD6374E606F9F20C200D4617159F
-:108A600000001305A51C0D2D11CD9717000093874D
-:108A7000E71B1D8D93070004B397A700424505042B
-:108A80005D8D2AC80C201946171500001305451ADC
-:108A9000130914002304B102012535C19777FFFFA4
-:108AA0009387475695E74247B2471377071009CF98
-:108AB00091073EC69257D2973ED225BDB387670332
-:108AC00085462E84BA9751B79D07E19BA107D5B77C
-:108AD000780097060000938666D726860C084E8598
-:108AE00097000000E7000000FD572A8AE314F5FC18
-:108AF000DE2493F70704E39207EC1255C1B5780022
-:108B000097060000938686D426860C084E85012A97
-:108B1000E1BF797156CA9C49BA8A984522D426D2B7
-:108B20004ECE52CC06D64AD05AC85EC6AA892E84EA
-:108B3000B284368A63D3E700BA879CC00347340403
-:108B400019C385079CC01C4093F7070281C79C404E
-:108B500089079CC00329040013796900631A09007E
-:108B6000130B9401FD5B5C449840998F634CF904AE
-:108B70001C408346340493F70702B336D000A5EBBC
-:108B800013063404D2854E85829AFD576303F5049B
-:108B90001C4011469840998B544481446397C70008
-:108BA000B384E64063D3040081441C4418486354F2
-:108BB000F700998FBE94014969047D5B6398240591
-:108BC000014509A885465A86D2854E85829A631E3C
-:108BD00075017D55B250225492540259F249624AAD
-:108BE000D24A424BB24B456182800509ADBF330783
-:108BF000D40013060003A301C7040347540493875A
-:108C00001600A2978906A381E7049DBF85462286A8
-:108C1000D2854E85829AE30E65FB050945B77971C9
-:108C200022D426D24AD04ECE06D652CC56CA5AC8E4
-:108C3000B689942D930790063289AA842E841386D0
-:108C40003504638DF60263E2D706930780056386D9
-:108C5000F61863EDD700638E062093073004638E09
-:108C6000F60A930A24042301D404C9A0930730060A
-:108C70006385F60A93074006E395F6FE1C40084319
-:108C800093F6070893054500C5C61C410CC363D87D
-:108C900007001307D002B307F040A301E4049716BE
-:108CA0000000938666F9294765A893070007638249
-:108CB000F61663E5D7029307E0066389F618930773
-:108CC000F006E390F6FA0C401C4313F805081385F0
-:108CD00047006307080608C39C4385A8930750070D
-:108CE000E383F6FE930780076389F6129307300744
-:108CF000E399F6F61C43D04181459386470014C39F
-:108D000083AA07005685492E01C53305554148C041
-:108D10005C401CC8A301040461A81C43930A2404FA
-:108D2000938647009C4314C32301F4048547D5B7B9
-:108D300093F607041C410CC3B9DAC207C18781BF8F
-:108D400093F5050408C3C9D99E231307F00663876A
-:108D5000E60E97160000938626EE2947A301040429
-:108D60004C400CC463C5050008406D9908C099E3E8
-:108D7000B28A89CDB28AB3F5E702FD1AB6958C2185
-:108D80002380BA00B3D5E70263F0E70CA147631E66
-:108D9000F7001C40858B91CB58401C4863C7E70007
-:108DA00093070003A38FFAFEFD1A3306564110C83D
-:108DB0004E87CA867000A2852685EFF09FD57D5A22
-:108DC000631D450B7D55B250225492540259F2490D
-:108DD000624AD24A424B45618280A382D5049716EB
-:108DE0000000938666E50C40084313F805081C4113
-:108DF0001105630D080208C313F7150001C793E5B9
-:108E000005020CC04147B9FB0C4093F5F5FD0CC0C1
-:108E1000B1B79C4193E707029CC193078007A30267
-:108E2000F40497160000938666E275BF13F80504F4
-:108E300008C3E30308FCC207C1837DBF9716000087
-:108E4000938686DF214719BFAE8735B794411C430F
-:108E5000CC4913F80608138547006306080008C3C9
-:108E60009C438CC339A008C393F606049C43F5DAEF
-:108E70008EA323280400B28A25BF14485686CA85CB
-:108E800026858299E30045F51C40898B8DE7B24722
-:108E90004844E35AF5F23E853DB785465686CA8575
-:108EA00026858299E30065F3050A5C443247998F71
-:108EB000E345FAFEE9BF014A930A94017D5BF5B7E9
-:108EC000411122C42A842E859797FF1F23AE079C49
-:108ED00006C6EF90EF9DFD576319F5009797FF1FAA
-:108EE0009387879C9C4391C31CC0B240224441019C
-:108EF0008280411122C42E848395E50006C6912C00
-:108F0000634905007C48AA977CC8B24022444101CD
-:108F100082805E247D777D17F98F5EA4FDB7DE2504
-:108F2000011122CC26CA4AC84EC606CE93F70710B6
-:108F3000AA842E843289B68991C78395E500894633
-:108F400001460D225E247D777D17F98F5EA483157F
-:108F5000E4006244F240CE864A86B2494249268500
-:108F6000D244056125A8411122C42E848395E500D1
-:108F700006C6CD28FD575A24631AF500FD77FD1764
-:108F8000F98F5EA4B2402244410182808567D98F67
-:108F90005EA468C8C5BF8395E50025A8411122C419
-:108FA0002A842E85B28536869797FF1F23AE078EBB
-:108FB00006C6EF900F8CFD576319F5009797FF1FBA
-:108FC0009387878E9C4391C31CC0B24022444101C9
-:108FD0008280411122C42A842E859797FF1F23A5E2
-:108FE000078C06C65D2AFD576319F5009797FF1F8A
-:108FF0009387878B9C4391C31CC0B240224441019C
-:109000008280411122C42A842E85B2859797FF1F42
-:1090100023AC078806C6512AFD576319F5009797B8
-:10902000FF1F938767889C4391C31CC0B2402244B2
-:1090300041018280411122C42A842E859797FF1F07
-:1090400023A4078606C6952AFD576319F50097974E
-:10905000FF1F938767859C4391C31CC0B240224485
-:1090600041018280411122C42A842E85B285368630
-:109070009797FF1F23AA078206C6812AFD57631907
-:10908000F5009797FF1F938727829C4391C31CC0CD
-:10909000B24022444101828093F5F50F2A96631471
-:1090A000C500014582801C21E38EB7FE0505C5BFC2
-:1090B00063F1A504B386C500637DD5029345F6FF31
-:1090C0008147FD176393F50082803387F6000348DC
-:1090D00007003387C7002A9723000701DDB73387CE
-:1090E000F50014233307F500850714A3E319F6FEF2
-:1090F00082808147E5BF8280828081E5B2856FF002
-:10910000AFAF011122CC06CE26CA4AC84EC6328461
-:1091100001EEEFF0EFA30149F24062444A85D244E8
-:109120004249B24905618280AE84AA89A92826896C
-:10913000E37485FEA2854E85EFF00FAC2A8969DDC8
-:10914000A6852286EFE0DF86A6854E85EFF04FA04C
-:10915000E1B7411122C42A842E85B28536869787CD
-:10916000FF1F23A3077406C68D28FD576319F5005A
-:109170009787FF1F938747739C4391C31CC0B240DE
-:1091800022444101828083A7C5FF1385C7FF63D5B1
-:109190000700AA959C413E9582809307800517871A
-:1091A000FF1F2323F7707D55828093078005178763
-:1091B000FF1F232BF76E7D5582809307800517874D
-:1091C000FF1F2323F76E01458280930780051787D1
-:1091D000FF1F232BF76C7D5582809307800517872F
-:1091E000FF1F2323F76C7D55828000005379737431
-:1091F000656D436C6B3A25640D0A00004368697025
-:1092000049443A253038780D0A00000043616C6902
-:109210006272617474696F6E5F56616C203A2025CA
-:10922000640A0000CDCC4C3D6666663F0000F0430A
-:109230009A9999999999A93FCDCCCCCCCCCCEC3FBB
-:10924000696E2074696D3120697271200000000020
-:10925000000040413333D3400000A04100003041C2
-:109260000000804000F07F45000000000000044046
-:10927000000000000000E03F00000000000034405B
-:109280001D130F130213F412E612D712C812B912EB
-:10929000AA129A128A127A126A12591248123712B4
-:1092A000251213120112EE11DB11C811B511A11113
-:1092B0008D11791164114F113A1125110F11F91007
-:1092C000E310CC10B5109E1087106F1057103F1090
-:1092D00026100D10F40FDB0FC20FA80F8E0F740FA6
-:1092E000590F3F0F240F090FED0ED20EB60E9A0E36
-:1092F0007E0E620E460E290E0C0EF00DD30DB60D2D
-:10930000980D7B0D5E0D400D220D050DE70CC90C6F
-:10931000AB0C8D0C6F0C510C330C150CF70BD90BDF
-:10932000BB0B9C0B7E0B600B420B240B060BE80A5D
-:10933000CA0AAD0A8F0A710A540A360A190AFC09C8
-:10934000DF09C209A50988096C094F093309170902
-:10935000FB08DF08C308A8088D08720857083C08F6
-:1093600021080708ED07D307B907A00786076D078F
-:1093700054073C0723070B07F306DB06C406AD06BC
-:1093800096067F06680652063C0626061006FB0572
-:10939000E605D105BC05A70593057F056B055805B6
-:1093A000450532051F050C05FA04E804D604C4047B
-:1093B000B304A10490047F046F045F044E043E04D0
-:1093C0002F041F0410040104F203E303D503C703B1
-:1093D000B903AB039D0390038203750368035C0329
-:1093E0004F03430336032A031F0313030703FC023F
-:1093F000F102E602DB02D102C602BC02B202A702FF
-:109400009E0294028A02810277026E0265025C0269
-:1094100054024B0242023A0232022A0222021A0289
-:1094200012020B020302FC01F401ED01E601DF016F
-:10943000D801D201CB01C401BE01B801B101AB0119
-:10944000A5019F01990194018E01880183017D018D
-:10945000780173016E01690163015E015A015501D2
-:1094600050010000000060410AD7A33C0000884181
-:1094700000007041666666410000C8420000B442C8
-:109480000000484200401C46535630315F323431B0
-:1094900030313530310000006164647265737320CF
-:1094A0003A203078202578202578202578202578C6
-:1094B0002025782025782025780A000041636365FF
-:1094C00073735F4E6F64655F54797065203A203026
-:1094D0007825780A00000000436F6D6D756E696332
-:1094E0006174696F6E5F4D6574686F6473203A20B4
-:1094F000307825780A00000067773438355F42619C
-:109500007564203A2025640A00000000626174340A
-:1095100038355F42617564203A2025640A000000F6
-:1095200068617264776172654944203A203078201E
-:109530002578202578202578202578202578202555
-:10954000780A0000636F6D6D756E69636174696F91
-:109550006E4944203A20307820257820257820252F
-:10956000782025780A0000006F6E6C79506F77655F
-:1095700072203A20307825780A000000636F6E73FD
-:1095800074616E74566F6C7461676556203A20255D
-:10959000642F3130300A0000666C6F617449203AE4
-:1095A0002025642F3130300A00000000737461728E
-:1095B00074536F6C61724F70656E43697263756945
-:1095C0007456203A2025642F3130300A0000000004
-:1095D00073746F70536F6C61724F70656E43697214
-:1095E0006375697456203A2025642F3130300A00A3
-:1095F000636F6E7374616E74566F6C7461676543EC
-:10960000686172676556203A2025642F3130300A30
-:1096100000000000466C6F617456203A2025642FCC
-:109620003130300A000000006C6F6F70496D70655A
-:1096300064616E6365203A2025642F3130300A0062
-:1096400048696768536964654D6F7354656D7065EB
-:109650007261747572655F73746F70203A2025644F
-:109660002F3130300A00000048696768536964652B
-:109670004D6F7354656D70657261747572655F6569
-:109680006E64203A2025642F3130300A000000003B
-:1096900048696768536964654D6F7354656D70659B
-:1096A0007261747572655F7374617274203A2025FB
-:1096B000642F3130300A0000746F74616C4368614C
-:1096C00072674361706163697479203A2025642F61
-:1096D00031303030300A0000746F74616C456C6555
-:1096E0006374726963697479436F6E73756D7074B6
-:1096F000696F6E203A2025642F31303030300A00F7
-:10970000636865636B536F6C61724F70656E43691C
-:1097100072637569745654696D65203A2025640A30
-:109720000000000073656E736F72456E61626C6558
-:1097300042726F61646361737454696D65203A208D
-:1097400025640A006F7574707574416761696E46AF
-:109750006C616754696D65203A2025640A00000039
-:109760006578636573736976654C6F6164466C6197
-:109770006754696D65203A2025640A00654C41678D
-:1097800061696E54696D65203A2025640A00000005
-:10979000000058410000C0410000504100007042EC
-:1097A00000002042000020410000803F0000000037
-:1097B000CDCCCCCCCCCC2C409A9999999999C93FD5
-:1097C0003333333333332D409A99999999992B40F8
-:1097D0009A9999999999B9BF6666666666662C40AA
-:1097E00000009041000080410000004100000000A6
-:1097F0009A9999999999A9BF9A9999999999B93FDB
-:109800000AD7A33BACC5273700007A44206475749F
-:10981000795F726174696F203A2025642F3130308E
-:1098200030200A0020536F6C61725F496E5F43699C
-:1098300072637569745F566F6C74616765203A2056
-:1098400025642F313030200A0000000020766F752B
-:1098500074203A2025642F313030200A00000000A7
-:10986000207642617474657279203A2025642F3124
-:109870003030200A0000000020496F7574203A2023
-:1098800025642F313030200A00000000204964692F
-:10989000736F7574203A2025642F313030200A0010
-:1098A000206D6F7354203A2025642F3130200A0038
-:1098B00020696D706564616E6365203A2025642FB0
-:1098C00031303030200A000020675F696D706564B8
-:1098D000616E63655374617274203A202564200AB6
-:1098E00000000000206D6F735374617465203A208E
-:1098F0002564200A0000000020626174746572799A
-:109900005374617465203A202564200A0000000029
-:10991000206F7574707574416761696E466C61671C
-:10992000203A202564200A002065786365737369F6
-:1099300076654C6F6164466C6167203A202564202F
-:109940000A00000020696E506F776572203A20256A
-:10995000642F3130303030200A000000206F7574E1
-:10996000506F776572203A2025642F3130303030C7
-:10997000200A000020302EC3BBD3D0B9A4D7F73BB8
-:1099800020312EBAE3C1F7C4A3CABD3B20322EBAA0
-:10999000E3D1B9C4A3CABD3B20332EB8A1B3E4C4FC
-:1099A000A3CABD203A202564200A000000004040E0
-:1099B000333333333333C33F00BA5B4A0000403F95
-:1099C00022C3FFFF14C2FFFF14C2FFFF12C2FFFF3A
-:1099D0001AC2FFFF1AC2FFFFE0C1FFFF12C2FFFF62
-:1099E0001AC2FFFFE0C1FFFF1AC2FFFF12C2FFFF52
-:1099F0000EC3FFFF0EC3FFFF0EC3FFFFE0C1FFFF5B
-:109A00005ED2FFFF84D1FFFF58D2FFFF8CD1FFFF52
-:109A100058D2FFFF52D1FFFF58D2FFFF8CD1FFFF7A
-:109A200084D1FFFF84D1FFFF52D1FFFF8CD1FFFF14
-:109A300092D1FFFF92D1FFFF92D1FFFF52D1FFFFE2
-:109A400044D1FFFF44D1FFFF18D2FFFFF4D2FFFF44
-:109A500018D2FFFF12D1FFFF18D2FFFFF4D2FFFF91
-:109A600044D1FFFF44D1FFFF12D1FFFFF4D2FFFF2B
-:109A700052D1FFFF52D1FFFF52D1FFFF12D1FFFFA2
-:109A8000C8D5FFFF16D5FFFF16D5FFFF14D5FFFF82
-:109A90001AD5FFFF1AD5FFFFEAD4FFFF14D5FFFF49
-:109AA0001AD5FFFFEAD4FFFF1AD5FFFF14D5FFFF39
-:109AB000B6D5FFFFB6D5FFFFB6D5FFFFEAD4FFFF4F
-:109AC0000001020203030303040404040404040465
-:109AD0000505050505050505050505050505050536
-:109AE0000606060606060606060606060606060616
-:109AF0000606060606060606060606060606060606
-:109B000007070707070707070707070707070707E5
-:109B100007070707070707070707070707070707D5
-:109B200007070707070707070707070707070707C5
-:109B300007070707070707070707070707070707B5
-:109B40000808080808080808080808080808080895
-:109B50000808080808080808080808080808080885
-:109B60000808080808080808080808080808080875
-:109B70000808080808080808080808080808080865
-:109B80000808080808080808080808080808080855
-:109B90000808080808080808080808080808080845
-:109BA0000808080808080808080808080808080835
-:109BB0000808080808080808080808080808080825
-:109BC0000000000000000000000000000000000095
-:109BD0000000000000000000000000000000000085
-:109BE0000000000000000000000000000000000075
-:109BF0000000000000000000000000000000000065
-:109C00000000000000000000000000000000000054
-:109C10000000000000000000000000000000000044
-:109C2000232D302B20000000686C4C0065666745D2
-:109C30004647000030313233343536373839414207
-:109C40004344454600000000303132333435363766
-:0C9C500038396162636465660000000042
-:109C5C0000000000000000000102030406070809D0
-:109C6C0000000000010203040102030406070809B6
-:109C7C00600000001A280000610000006627000048
-:109C8C0062000000582600006300000078250000E8
-:109C9C006400000030240000650000007A240000FD
-:109CAC0066000000AE2400006C0000007C24000064
-:109CBC006D0000007E240000700000008024000075
-:109CCC007400000082240000750000008424000051
-:109CDC0076000000862400007B0000008824000031
-:109CEC007C0000008A2400007D0000007624000027
-:109CFC007E0000007824000030000000BA3F000015
-:109D0C0010000000683C0000A0000000883D00002E
-:109D1C00A1000000323D0000D00000002E3F0000EA
-:109D2C00D1000000A23E0000010100006A3C0000CE
-:109D3C00020100008E3C000003010000B23C000058
-:109D4C0004010000D63C000005010000FA3C0000B4
-:109D5C00060100001E3D000007010000283D000028
-:109D6C00000000000300000080250000000000003F
-:109D7C0000000000000000000000000000000000D7
-:109D8C00040000008025000000000000000000001E
-:109D9C00000000000000000000000000E09B00003C
-:109DAC00009C0000C09B00000000000000000000B0
-:109DBC000000000000000000000000000000000097
-:109DCC000000000000000000000000000000000087
-:109DDC000000000000000000000000000000000077
-:109DEC000000000000000000000000000000000067
-:109DFC000000000000000000006CDC0202040608F9
-:109E0C00A8180020805101000A0000004801002021
-:089E1C004801002000000000D5
+:102430008280B7170020938707461021943B6316CC
+:10244000D6041031B42B2A8701456312D6043023F9
+:10245000B43B631ED6023033D42B631AD60250230A
+:10246000D43B6316D6025833FC2B6312F702EFD22B
+:102470003FD037A5000013063009854513054537C1
+:10248000EF60404F05456FD0FFD0014582808280CC
+:102490008280014781479376F70F63E7B60013C543
+:1024A000F7FF1375F50F8280B306E5009422050748
+:1024B000B697D5B7EFD2DFCB37140020130404460C
+:1024C0005C2C011118385C843C2CD8843A282309F0
+:1024D000F100BC3578855848A309F10085679387DA
+:1024E0000780FC823C403AC61A2CFC83C183F880EA
+:1024F000FC84F835FC25AA8422075D8F9C292800DE
+:10250000C2075D8F9C39D945E207D98FFC85C1830D
+:10251000FC8641375C3C230FA100A30FF100268508
+:10252000EF2060620DE961462C002685EF305037C0
+:1025300083A7C189054693055052375500406399DA
+:10254000970013050580EFE09FC105616FD09FC420
+:10255000130505C0CDBFEF20405CEFF09FA8C1B7C9
+:10256000EFD21FC119712A89138525012E84B71452
+:102570000020EFF01FEC938404466302050E1C2C30
+:102580004810FCB81C3C9CAC3C2C9CBC3C3CBCACFF
+:10259000EF10E01E1C2C9305A0054810A30EF102BD
+:1025A0001C3C230FF1023C2CA30FF1023C3C230006
+:1025B000F104EF10A017231FA1064810EF10E01A36
+:1025C0008547230DF1009838DC2CCD45D886BA28F4
+:1025D0005C86BC2C7887D848230BF1003C343AC881
+:1025E0009A2CA30BF10093070050F8827834FC84F6
+:1025F0007C24220768005D8F1C28C2075D8F1C3871
+:10260000E207D98F13D78700A30DF100230EE10055
+:1026100013D70701E183230FF100A30EE100EFF0D0
+:102620005FE7DC3CA30FA1002300F1024A85EF2005
+:10263000805105ED55466C004A85EF30702683A722
+:10264000C18905469305505237550040639C2701C8
+:1026500013050580EFE0BFB009616FD0BFB3230D54
+:10266000010095B7130505C0F5B7EF20004BEFF05B
+:102670005F976DBFEFD2DFAF37140020130404461D
+:102680005C2C011114385C803E28034F2401834EDA
+:1026900034017C815C48034E4401034354013EC233
+:1026A0001E2C83486401034874017C84BC35103CB3
+:1026B000382CAA84082CDC858567938707E0D480B2
+:1026C00058857C865487A307E1012308D101A3081C
+:1026D000C10123096100A3091101230A0101A30A11
+:1026E000A100230BC100A30BE100F835FC250A85EE
+:1026F00022075D8F9C29C2075D8F9C39F145E20757
+:10270000D98F3ECCEFF0FFD85C3C230EA100A30E86
+:10271000F1002685EF2020430DE979468A8526853C
+:10272000EF30101883A7C1890546930550523755DD
+:1027300000406399970013050580EFE05FA20561F3
+:102740006FD05FA5130505C0CDBFEF20003DEFF0B2
+:102750005F89C1B7EFD2DFA1B71400209387044689
+:1027600003C7C7079307F00F19712A892E84938432
+:102770000446631CF70E9C3148109CB8BC21BCA8D1
+:10278000BC31BCB8DC21DCA8DC31DCB8FC21FCA805
+:10279000EF00F07E1C309305A0054810A30BF1025A
+:1027A0003C20230CF1023C30A30CF1025C20230DF1
+:1027B000F1025C30A30DF1027C20230EF102EF0048
+:1027C000F076231FA1064810EF00307AFD57230D45
+:1027D000F1009838DC2CCD45D886BA285C86BC2C14
+:1027E0007887D848230BF1003C343AC89A2CA30BC5
+:1027F000F10093070050F8827834FC847C2422078F
+:1028000068005D8F1C28C2075D8F1C38E207D98FD6
+:1028100013D78700A30DF100230EE10013D70701A2
+:10282000E183230FF100A30EE100EFF09FC6DC3C33
+:10283000A30FA1002300F1024A85EF20C03005ED6F
+:1028400055466C004A85EF30B00583A7C18905461F
+:102850009305505237550040639C270113050580AE
+:10286000EFE0FF8F09616FD0FF92230D010095B754
+:10287000130505C0F5B7EF20402AEFF08FF66DBFC6
+:10288000EFD21F8F371900201304094618385C2C2B
+:102890000111D8843A285C843C2C78855848230957
+:1028A000F100BC353AC61A2CA309F1009307005079
+:1028B000FC82FD57F880230BF100F835FC25AA8433
+:1028C00022075D8F9C29280013090946C2075D8FE6
+:1028D0009C39CD45E207D98F13D78700A30BF100B0
+:1028E000230CE10013D70701E183230DF100A30CB2
+:1028F000E100EFF01FBA5C3CA30DA100230EF10034
+:102900002685EF20402429E955462C002685EF3006
+:10291000207983A7C1890546930550523755004059
+:102920006399970213050580EFE07F83B765000088
+:102930003715002081461306803E9385E5F4130584
+:102940000568EFF0EFCDFD57230EF90605616FD056
+:102950007F84130505C0C9BFEF20201CEFF06FE88E
+:1029600045B7EFD2FF80371400201304044618380F
+:102970005C2C7971D8863A285C863C2C788758483C
+:10298000230BF100BC353AC81A2CAE84A30BF1001E
+:10299000B715002085679387071035469385E54B6B
+:1029A0002A891305A101F882FC84EF60C020F83465
+:1029B000FC24FD4522075D8F9C286800C2075D8FBF
+:1029C0009C38E207D98F13D78700A303F1022304B1
+:1029D000E10213D70701E1832305F102A304E10219
+:1029E000EFF03FAB5C3CA305A1022306F1024A8550
+:1029F000EF20601515E9130610026C004A85EF30D0
+:102A0000206A83A7C1890546930550523755004077
+:102A10006399270113050580EFE06FF445616FD0DE
+:102A20006FF7130505C0CDBFEF20200FEFF06FDB70
+:102A30007DBFEFD2EFF337140020130404465C2C63
+:102A4000011118385C843C2CD8843A282309F10001
+:102A5000BC3578855848A309F100856793870780BE
+:102A6000FC823C3C3AC61A2C230BF100FD57F8803F
+:102A7000A30B0100FC84F835FC25AA8422075D8F96
+:102A80009C292800C2075D8F9C39D945E207D98F60
+:102A9000FC85C183FC86EFF0DF9F5C3C230FA10027
+:102AA000A30FF1002685EF20000A0DE961462C00F6
+:102AB0002685EF30E05E83A7C18905469305505215
+:102AC000375500406399970013050580EFE02FE923
+:102AD00005616FD02FEC130505C0CDBFEF20E003DB
+:102AE000EFF02FD0C1B7EFD20FE7BC29197137141F
+:102AF0000020930904462A894810AE84A38DF9006A
+:102B0000EF00F047BC289305A0054810A300F1048E
+:102B1000EF00D041231FA1064810EF00104583C7E6
+:102B2000B9010547130404466398E70A8967938748
+:102B300007581CD018385C2CCD45D8863A285C86BE
+:102B40003C2C78875848230BF100930710073AC8AC
+:102B50001A2CA30BF10093070050F882FC84F83480
+:102B6000FD57230DF100FC24220768005D8F9C288F
+:102B7000C2075D8F9C38E207D98F13D78700A30D5A
+:102B8000F100230EE10013D70701E183230FF100C9
+:102B9000A30EE100EFF0FF8F5C3CA30FA100230028
+:102BA000F1024A85EF10307A31E155466C004A85D2
+:102BB000EF30004F83A7C189054693055052375522
+:102BC00000406392270313050580EFE04FD9EF30F3
+:102BD000604009616FD06FDB0947E39DE7F4F1675F
+:102BE00093870720B9B7130505C0C5B7EF10F0727A
+:102BF000EFF02FBF7DB7EFD2AFD737140020930788
+:102C00000446943B0111D82FD484B62B5884B82F96
+:102C10007485D44B9E2F2A89AE84FC80BC359305E5
+:102C2000000036C6A309F10093070060FC82B717C5
+:102C3000002003A5C7442309E10013040446EF5014
+:102C400060086350A0080858EF50701FB7A7000035
+:102C500003A6071483A64714EF30904213251500EE
+:102C6000F834FC24230BA10022075D8F9C28A30BC2
+:102C7000A100D145C2075D8F9C382800E207D98F9B
+:102C80003ECCEFF01F815C3C230EA100A30EF100AF
+:102C90004A85EF10506B1DE959462C004A85EF30EC
+:102CA000204083A7C18905469305505237550040FF
+:102CB000639B270113050580EFE06FCA05616FD0A4
+:102CC0006FCD054571BF130505C0FDB7EF10F0646A
+:102CD000EFF02FB175BFEFD20FC8BC393714002009
+:102CE00001112A89AE8413040446A9E3B717002012
+:102CF00003A5C74493050000EF4010773DEDB7A74B
+:102D0000000083A5C7164854EF40D07B3325A000B0
+:102D1000A305A406B76500003715002081462946A3
+:102D2000938505A813050572EFF08F8FB838854796
+:102D30006315F704B71900209389494203A5890256
+:102D400093050000EF4050720DC9370500408145E2
+:102D500013050540EFE08FA73715004013050580E8
+:102D60008145EFE0AFAD3715002093070000130554
+:102D7000056723A4F902EFF08F8E18385C2CCD453F
+:102D8000D8843A285C843C2C788558482309F10083
+:102D9000BC343AC61A2CA309F10093070050F880FE
+:102DA000FC82F834FD57230BF100FC242207280095
+:102DB0005D8F9C28C2075D8F9C38E207D98F13D79F
+:102DC0008700A30BF100230CE10013D70701E18377
+:102DD000230DF100A30CE100EFF0AFEB5C3CA30D81
+:102DE000A100230EF1004A85EF10F0550DE955467C
+:102DF0002C004A85EF30C02A83A7C1890546930578
+:102E00005052375500406399270113050580EFE0C4
+:102E10000FB505616FD06FB7130505C0CDBFEF10BB
+:102E2000D04FEFF00F9CC1B7EFD28FB43714002012
+:102E30001304044618385C2C0111D8843A285C84A9
+:102E40003C2C788558482309F100BC353AC61A2C29
+:102E5000A309F10093070050FC82FD57F880230B73
+:102E6000F100F835FC25AA8422075D8F9C292800F3
+:102E7000C2075D8F9C39CD45E207D98F13D78700F4
+:102E8000A30BF100230CE10013D70701E183230D0D
+:102E9000F100A30CE100EFF0CFDF5C3CA30DA1003B
+:102EA000230EF1002685EF10104A21E155462C0033
+:102EB0002685EF30E01E83A7C18905469305505251
+:102EC000375500406390970213050580EFE02FA966
+:102ED000B707EFBE37E700E0938707083CC70561F7
+:102EE0006FD04FAB130505C0D5B7EF101043EFF00F
+:102EF0004F8F4DBFEFD2CFA73714002013040446E5
+:102F00005C2C011114385C803E28034F2401834E51
+:102F100034017C815C48034E4401034354013EC2AA
+:102F20001E2C83486401034874017C84BC35103C2A
+:102F3000382CAA84082CDC858567938707E0D48029
+:102F400058857C865487A307E1012308D101A30893
+:102F5000C10123096100A3091101230A0101A30A88
+:102F6000A100230BC100A30BE100F835FC250A8565
+:102F700022075D8F9C29C2075D8F9C39F145E207CE
+:102F8000D98F3ECCEFF0EFD05C3C230EA100A30E16
+:102F9000F1002685EF10303B0DE979468A852685BC
+:102FA000EF30001083A7C18905469305505237556D
+:102FB00000406399970013050580EFE04F9A056183
+:102FC0006FD04F9D130505C0CDBFEF101035EFF04A
+:102FD0004F81C1B7EFD2CF9919712A891385250185
+:102FE0002E84B7140020EFF0CFC49384044663010D
+:102FF000050E1C2C4810FCB81C3C9CAC3C2C9CBC0A
+:103000003C3CBCACEF00A0771C2C9305A0054810FD
+:10301000A30EF1021C3C230FF1023C2CA30FF10282
+:103020003C3C2300F1041927231FA1064810EF00A0
+:10303000C073FD57230DF1009838DC2CCD45D886A0
+:10304000BA285C86BC2C7887D848230BF1003C3426
+:103050003AC89A2CA30BF10093070050F8827834F9
+:10306000FC847C24220768005D8F1C28C2075D8FCA
+:103070001C38E207D98F13D78700A30DF100230E68
+:10308000E10013D70701E183230FF100A30EE10054
+:10309000EFF02FC0DC3CA30FA1002300F1024A8512
+:1030A000EF10702A05ED55466C004A85EF20507FE1
+:1030B00083A7C18905469305505237550040639C4C
+:1030C000270113050580EFE08F8909616FD08F8C90
+:1030D000230D010095B7130505C0F5B7EF10F023D8
+:1030E000EFE03FF06DBFEFD20F87371400201304DD
+:1030F00004465C2C011118385C803C2CD8803A289E
+:103100005C8593071006DC8585673EC63C48788160
+:103110005848FC83C183FC847C443AC21A2CAE8993
+:10312000FC812A89C183B715002037150020FC8255
+:103130009385054B930700001305C54A78843CC866
+:103140007CC423180100EF00607903C7F90083C72E
+:10315000E900C16422075D8F83C70901FD14F945A9
+:10316000C2075D8F83C719010A85E207D98FFD8CDD
+:10317000C183FC86E485EFF0CFB15C3C230FA10056
+:10318000A30FF1004A85EF10101C15E91306000289
+:103190008A854A85EF20D07083A7C18905469305AB
+:1031A0005052375500406399270113050580EFD031
+:1031B0001FFB05616FC07FFD130505C0CDBFEF107C
+:1031C000D015EFE01FE27DBFEFC2FFF837190020F6
+:1031D00093070946D82F3971943B5884B82FD4846B
+:1031E000B62B2309E10013070006A309E1003727E6
+:1031F000B81E130707603ACA11671307570DF88402
+:10320000D85B805B7485E443D44BF8854183F886B2
+:103210001357040136C62310E102962FF84B93D7BB
+:1032200004012314F102B7170020AA8903A5C7449B
+:103230002311E1022E8A418393050000F480E08788
+:103240002312E10223139102EF40102213090946D1
+:1032500069C52285EF50A03EB7A7000003A607145A
+:1032600083A64714EF30C06113251500135784005F
+:10327000935784012306E1022307F1021357040147
+:1032800093D78401A306E1022309F10213D7840036
+:10329000832709042308E10213D70401A308E102EC
+:1032A0000347FA003EDA8347EA0022072305A1021A
+:1032B0005D8F83470A01A309A10293054003C2075A
+:1032C0005D8F83471A012800A3058102E207D98F89
+:1032D0003EDCA3079102EFF0CF9B8347D901230E79
+:1032E000A102A30EF1024E85EF10F00505ED1306C5
+:1032F00060032C004E85EF20B05A83A7C189054694
+:103300009305505237550040639B370113050580E4
+:10331000EFD0FFE421616FC05FE7054581BF130572
+:1033200005C0FDB7EF10607FEFE0BFCB6DBFEFC210
+:103330003FE1371A002041112A8B130640068145D0
+:103340001305CA60B71C0020371C0020EFC05FE5E2
+:10335000014481440149814A138D0C4E9309CA608E
+:10336000130CAC605A85EF20D05D630705145A85B5
+:10337000EF20B05A9307CA601375F50FD69788A34C
+:1033800083A7C186938D1A0013871700EA9723A697
+:10339000E18688A363840A0063030938B717002015
+:1033A0008346CA6083C7C747638CD70037A5000030
+:1033B0001306500F85451305453AEF50A05B3DAA13
+:1033C0009D476385FD00854763F92705B7140020F5
+:1033D0001385D460EFF0EF85894421E183C629008D
+:1033E00083C71900F58F83C63900F58F83C649005E
+:1033F000F58F83C65900F58F83C66900F58F930654
+:10340000F00F6391D70837A500001306700A8545B1
+:103410001305453DEF5000568544AD476385FD00DB
+:10342000894763F32705B71700209387074603C62C
+:103430007900E83B83C5890083C6990003C7A900CA
+:10344000631FC506882F631CB506883F6319D50620
+:10345000BC2F6396E70637A500001306900B854541
+:1034600013054543EF500051B1476385FD008D477B
+:1034700063FE270D83C7B90013070006639AE708A8
+:1034800089474DA837A500001306A01085451305F0
+:10349000C540EF50204E371700206313090005493F
+:1034A00056869305D7601305CA60EF50804181446A
+:1034B00093072006E3F857EB41016FC03FCC6D8EB8
+:1034C000F18E758F9307F00F631AF70037A5000090
+:1034D0001306B00C85451305854669B70947CA87A9
+:1034E0006373E900894737A5000013F9F70F130646
+:1034F000B01185451305454AEF50C047B715002068
+:1035000056869385D5601305CA60EF50803B4DB752
+:1035100013071006E386E7F6130720066397E70014
+:1035200089476390F414794415A013073006639714
+:10353000E70085476397F412514409A81307400632
+:103540006392E70A8947639EF4107144B947638523
+:10355000FD00914763F6271383C7D90003C7C9004D
+:10356000A207D98F13978700A183D98FC207C18380
+:10357000C107638787101147CA876373E9009147C2
+:10358000B7AD0000A28613067017854513850D5050
+:1035900013F9F70FEF50003E83C7D90083C6C90067
+:1035A00013068017A207D58F93968700A183D58F26
+:1035B00093960701C182C106854513850D50EF50D2
+:1035C000603B83C6C90013069017854513850D50CF
+:1035D000EF50403A83C6D9001306A01785451385DE
+:1035E0000D50E1BB13075006E38CE7E813076006B4
+:1035F000E388E7E81307C0066397E700894763920B
+:10360000F4065944A1B71307D006E38BE7E6130786
+:1036100000076397E70089476395F40455443DB775
+:1036200013074007E38EE7E413075007E38AE7E454
+:1036300013076007E386E7E41307B0076397E70023
+:1036400089476390F402694411B71307C007E38206
+:10365000E7EE1307D007E385E7EC1307E007E38104
+:10366000E7E20D47CA876373E9008D4737A500007D
+:1036700013F9F70F1306A01685451305454DADBD8B
+:10368000639D8D08B307840198239305E4FF93F5A8
+:10369000F50F1305CA603AC6EFE0BFDF3247AA86CE
+:1036A000630FA702B71700209387B760A2979023F4
+:1036B000B717002083C7D7476303F6021546CA87AA
+:1036C0006373C900954737A5000013067018854538
+:1036D0001305C55213F9F70FEF50C02905B5B7040C
+:1036E00000201306C012814513850C4E93840402FA
+:1036F000EFC01FAB1389840823A6018603C7B90056
+:103700009C406318F700DC4022869305CA605A8506
+:103710008297A104E31499FE45B3EE8A51BB9D47FD
+:10372000E386FDCAAD47E391FDD4F5B9C16769767B
+:103730008146FD1705061397060141836364B700B0
+:103740003E8582803307D5001823B98F214713F8AF
+:103750001700858363050800B18FC207C1837D17F9
+:10376000420741836DF78506F9B7EFC27FA01306C4
+:10377000C0059305C005EFD09FE36FC0BFA1EFC2A6
+:103780003F9F1306C0059305C005EFD03FD06FC023
+:103790007FA0EFC2FF9D31712800EFF05FFE035460
+:1037A00021069305A0052800EFF05FF86304A4024A
+:1037B000814528001306C005EFD05FCD03542106D4
+:1037C0009305A0052800EFF07FF66318A4002800F9
+:1037D000EFF0BFF929616FC0FF9B130640048145DC
+:1037E000E818EFC0FF9BB717111193871711BED2CE
+:1037F000B717110193871711BED4B70700809387BD
+:103800000720BED693075002BED8B707004893875B
+:10381000271CBEDAB737303093879705BEDC930795
+:103820001003230EF106930710102310F1088547AB
+:10383000A301F108B7A7000083A7C75437A700006A
+:10384000032707553EC33ECDB7A7000083A7075601
+:103850003AC537A700003ECFB7A7000083A7475659
+:10386000032747559305A0053ED1B7A700003AC7E7
+:1038700083A7875637A70000032787553ED3B7078E
+:1038800014003AC9A90737A700000327C7553EDB34
+:10389000B7073C00A9073EDDC810930780703ACBFC
+:1038A000231EF10AEFF09FE8231FA10AC8100DB7ED
+:1038B000EFC21F8C1D712A844800EFF05FEC1C40A2
+:1038C0009305A0054800BEC4EFF05FE6231FA104E6
+:1038D0004800EFF09FE925616FC0DF8BEFC25F8981
+:1038E00059712A8448082EC6EFF07FE91C40B24582
+:1038F0004808BECE9C419305A005BED0EFF01FE363
+:103900002317A1064808EFF05FE665616FC09F8846
+:10391000EFC27F841D71EFF0DFE74800EFF03FE674
+:1039200092572257B719002023A2F94293874942A0
+:10393000D8C33257E6463719002098C7425794DB60
+:1039400013040946D8C75257B7A50000371A0020FC
+:1039500098CB6257354693850557D8CB2647130534
+:10396000EA4B9384494298CF7257D8CF064798D3F1
+:103970001647D8D303576105DAB703574105FAB79D
+:103980000357C105DABB0567130707E198DF124744
+:103990001C852320E946388494857CA05AA03247B0
+:1039A0009377F70FA207D58F1EA483477101218358
+:1039B0003AA41CB8BC843EA8BC855EA8BC867EA880
+:1039C000BC871EAC835701023EAC835721027EACFC
+:1039D000930700003E871CD45CD41CD85CD81CDC48
+:1039E0005CDC3CC07CC03CC4B6477CC4C64778C8DD
+:1039F000232C04043CC8231E0404EF50C01B95670D
+:103A0000938737C57EA4D9471CA8856793878766A7
+:103A10005EAC85472306F406B7070A0093870710B4
+:103A2000782C3CD893070015A3050406A3070406C9
+:103A3000231AF406231E040663190726B70700019C
+:103A40001386F7FFC246D2478C8733F7C600F18F43
+:103A50002207E182A2074D8FD58F18D05CD01305C5
+:103A6000EA4BEF50600283486400034854005C2036
+:103A70003830342010308345094637A5000013053F
+:103A80000558EF40306F0E2437A500001305455A46
+:103A9000EF40506E2E2437A900001305095CEF405B
+:103AA000706D0C5037A500001305055EEF40906C5B
+:103AB0004C5037A500001305455FEF40B06B03483D
+:103AC00064015C385828343830280C3837A5000099
+:103AD00013058560EF40106A382C143C102C6C38AC
+:103AE00037A500001305C562EF40D0686C2C1305A4
+:103AF000095C37A90000EF40F0676C3C37A5000077
+:103B000013050565EF4010678325095603A5494253
+:103B1000EF40602CEF40F00DAA8537A5000013059B
+:103B20004566EF40306583250956C840EF40A02A1E
+:103B3000EF40300CAA8537A5000013050568EF405B
+:103B40007063832509568844EF40E028EF40700AEF
+:103B5000AA8537A5000013054569EF40B0618325AC
+:103B60000956C844EF402027EF40B008AA8537A582
+:103B700000001305856BEF40F05F832509568848E8
+:103B8000EF406025EF40F006AA8537A50000130539
+:103B9000856DEF40305E83250956C848EF40A0236D
+:103BA000EF403005AA8537A500001305C56FEF402B
+:103BB000705C83250956884CEF40E021EF4070038C
+:103BC000AA8537A5000013050571EF40B05A83257B
+:103BD0000956C84CEF402020EF40B001AA8537A518
+:103BE000000013058572EF40F05883250956885070
+:103BF000EF40601EEF40E07FAA8537A50000130567
+:103C00000575EF40305783250956C85037A9000085
+:103C1000EF40601CEF40E07DAA8537A5000013054A
+:103C20008577EF4030558325C9562848EF40A01AC4
+:103C3000EF40207CAA8537A500001305057AEF40E8
+:103C400070538325C9566844EF40E018EF40607A0E
+:103C5000AA8537A500001305057CEF40B051EE346E
+:103C600037A500001305857EEF40D050CE3437B520
+:103C700000001305C580EF40F04F8E3837B50000C7
+:103C80001305C582EF40104FAE3837B5000013055D
+:103C90008584EF40304ECE3837B500001305458699
+:103CA000EF40504D25616FC04FCE8547E319F7DADD
+:103CB000D24783463101A207D58F5CD03C3C639745
+:103CC000E7008967938707581CD051BB0947E398E1
+:103CD000E7D8F16793870720C5BFB7B7000003A8EF
+:103CE000478A83A7078A6D71D2DF3EC4B7B7000049
+:103CF000D6DD03AA878A83AAC78AB7B70000DADBB2
+:103D0000DED903AB078B83AB478BE6D52326111097
+:103D1000232481102322911023202111E2D7EAD3FA
+:103D2000EED1B7BC000042C603A7C186930760046A
+:103D300063F5E768B7170020B7140020938707469C
+:103D400083C6044EF827639FE66C1387044E143332
+:103D5000F8371389044E6397E66C0347990083464E
+:103D6000A9002207558F935687002308D102A30785
+:103D7000E10285466318D76A8346B9000346C90045
+:103D8000A206D18E13D68600A308D1022309C10250
+:103D9000639AE6680347D9008346E9006207C206D2
+:103DA000558F83460901558F8346F900A206558F2A
+:103DB00093568700230AD10293560701A30AD10222
+:103DC00093568701230BD1028966A309E1029386EA
+:103DD00006586307D700F166938606206314D764FC
+:103DE00003471901834629016207C206558F83469E
+:103DF0004901558F83463901A206558F9356870096
+:103E0000230CD10293560701A30CD10293568701CC
+:103E1000230DD1028966A30BE1029386065863093C
+:103E2000D700F166938606206304D700631C075E03
+:103E30000347F90185467D171377F70F63E4E65EC4
+:103E40000347090263E0E65E0347190263ECE65CA0
+:103E5000034739020345290237A400002207498F8E
+:103E6000131587002183598D42054181EF40E0639E
+:103E700083250456EF3030342A8DAAC4EF40207CCD
+:103E8000B7B7000003A6878983A6C789EF20501F14
+:103E9000634AA05837B70000832587876A85EF30CB
+:103EA000D06A634105580347590203454902220776
+:103EB000498F131587002183598D42054181EF40B9
+:103EC000C05E83250456EF30102FAAC6EF4020773E
+:103ED0002246B246EF20D01A6346A0540347790227
+:103EE000034569022207498F131587002183598DE5
+:103EF00042054181EF40605B83250456EF30B02BD3
+:103F000037B700008325C787AA8DAAC8EF30905B1A
+:103F1000634AA05037AD00008325CD546E85EF3045
+:103F2000D062634105500347990203458902220785
+:103F3000498F131587002183598D42054181EF4038
+:103F4000C05683250456EF30102737A7000083257D
+:103F50004755AA8DAACAEF30F0566345A04C37B733
+:103F60000000832507886E85EF30305E634C054A7C
+:103F70000347B9020345A9022207498F1315870099
+:103F80002183598D42054181EF40205283250456FB
+:103F9000EF307022AA8DAACCEF40606A5286D68696
+:103FA000EF20100E6340A0488325CD546E85EF307E
+:103FB000D059634905460347D9020345C902220780
+:103FC000498F131587002183598D42054181EF40A8
+:103FD000C04D83250456EF30101EAACEEF40206658
+:103FE00003A68C8983A6CC892A8DAE8DEF2050093B
+:103FF000634AA0425A86DE866A85EE85EF2030133A
+:10400000634205420347F9020345E9022207498F4B
+:10401000131587002183598D42054181EF40E04807
+:1040200083250456EF30301937B7000083254788C1
+:10403000AAD0EF3090516347053E0347190303456B
+:1040400009032207498F131587002183598D4205E3
+:104050004181EF40804583250456EF30D01537A7C6
+:10406000000083258756AAD2EF30304E634C053AC4
+:1040700003473903034529032207498F1315870096
+:104080002183598D42054181EF402042832504560A
+:10409000EF30701237B7000083258788AAD4EF303D
+:1040A000D04A6341053803475903034549032207B2
+:1040B000498F131587002183598D42054181EF40B7
+:1040C000C03E83250456EF30100F37B7000083251C
+:1040D000C788EF30500E37B70000832507892A8D37
+:1040E000AAD6EF30303E634FA032930500006A85B8
+:1040F000EF30B04563480532034779030345690350
+:104100002207498F131587002183598D420541816C
+:10411000EF40A03983250456EF30F00993050000E5
+:10412000AAD8EF307034631F052E03479903034567
+:1041300089032207498F131587002183598D420572
+:104140004181EF40803683250456EF30D006930539
+:104150000000AADAEF3050316316052C0347A9039B
+:104160008346B9032207558F231CE1066D174207CA
+:1041700041839306307063E7E62A0347C903834609
+:10418000D903130620032207558F930667FFC20643
+:10419000231DE106C1826367D6288346E9030346EF
+:1041A000F9036D17A206D18E4207231ED106418363
+:1041B000E54663E9E6260347090483461904220716
+:1041C000558F231FE1060917420741839306C00359
+:1041D00063EAE62403472904834639042207558FFE
+:1041E0002310E108130787C1420741839306007D2E
+:1041F00063EAE62203444904034759049305400453
+:104200002204598C1385044E23118108EF00100DF0
+:10421000631AA4208346690459476395E620480140
+:10422000EFF0EFD5834829000348390003454900E2
+:104230008345590003466900B3F7080183467900B6
+:10424000E98F03478900ED8FF18FF58FF98F130305
+:10425000F00F6386671823041103A30401032305E9
+:10426000A102A305B1022306C102A306D1022307BE
+:10427000E102371400209307044E83C8570103C896
+:104280006701E83B8C2F903FB42FB3F70801E98F0B
+:10429000ED8FF18FF58F1303F00F1307044E638B2F
+:1042A0006714A30D1103230E0103A30EA102230F14
+:1042B000B102A30FC1022300D104283F4C2F503F6D
+:1042C000742FB377B500F18FF58F1308F00F638E5D
+:1042D0000713A300A1042301B104A301C104230215
+:1042E000D1047C3F9305A0052810A302F104834765
+:1042F00007022303F10483471702A303F104EFF03D
+:10430000EFC21306C00581452311A1082810EFD084
+:104310000FAA2810EFF06FC51306C01281451305D0
+:10432000044EEFB0FFE73714002013040446035790
+:1043300081027E2423110102F8850357A102FC8427
+:104340008347E102F8860357C1022300F102930775
+:1043500000FDA300F102AD45854728082301F102C5
+:1043600023120102F887EF00607793578500A301BD
+:10437000F1021C282302A102A302F102EF00E0795E
+:10438000EFD03FC603A5018AEF00E07B65F903A5E6
+:10439000018A39462C08EF10B050375500400546C9
+:1043A0009305505213050580EFC07FDBB707EFBEC2
+:1043B00037E700E0938707083CC78320C110032438
+:1043C000811083244110032901107E5AEE5A5E5B4E
+:1043D000CE5B3E5CAE5C1E5D8E5D516182801A4795
+:1043E0008347A1083AD4035781082307F102231613
+:1043F000E10241B5834671098347C109A30DD1028A
+:10440000EA462300F10436DE4DBD8346D1098347D9
+:10441000010AA300D1048356E1092302F104231108
+:10442000D104C1B583A7C186B71500201306B01209
+:10443000FD179385154E1385044E23A6F186EF4094
+:1044400040486FF07F8EEFB2BFD2B717002083A431
+:10445000474AAA85371400202685EF301041B7B7A8
+:10446000000083A5878D13044442EF30D016B7B700
+:10447000000083A5C78D2A892685EF30D015AA852F
+:104480004A85EF30A01C0C54EF30401C08D437157F
+:1044900000201305C544EFD08FD06FB0BFCFEFB26F
+:1044A0003FCDB717002083A4C7483714002013045A
+:1044B0004442A685EF30703BB7B7000083A5878DD7
+:1044C000EF307011B7B7000083A5C78D2A89268504
+:1044D000EF307010AA854A85EF3040170C54EF304A
+:1044E000E01608D4371500201305C544EFD02FCBB4
+:1044F0006FB05FCAEFB2DFC7B717002083D7C74BD3
+:1045000009476380E7020D476384E7020547639824
+:10451000E700B7B7000003A5878BEFF0DFF26FB0BD
+:104520007FC7B717002003A54743EFF05FF7C5BF6C
+:10453000B717002003A58743CDBFEFB2FFC03714E4
+:104540000020B714002013090446138A444283252F
+:10455000CA000325890313040446938B4442EF30B9
+:10456000C07E37AB00006358050603250903EF4002
+:10457000000D03260B1483264B14EF20403B635C95
+:10458000050437050040814513050540231E090435
+:10459000EFC0DFA337150040814513050580EFC04C
+:1045A000FFA9B765000037150020930700009306A8
+:1045B000800C1306803E9385E58D1305056E23243C
+:1045C000FA02EFD0FF853715002013050567EFD0FD
+:1045D0001F896FB0FFBA2844EF40600603260B1412
+:1045E00083264B142A8AAE8AEF206034635E05006E
+:1045F000B7B7000003A6878C83A6C78C5285D685E3
+:10460000EF2000286346A00203298402B7B7000008
+:1046100083A5C78B4A85EF30E06A634BA000B7B72C
+:10462000000083A5078C4A85EF302072635805008F
+:104630008D47231EF404A305040661BF83A44442EE
+:104640002685EF30D07FB7B7000003A6078A83A680
+:10465000478AEF20B0042A8C4A85AE8CEF30307E3A
+:104660002A86AE866285E685EF20802163400502BA
+:104670000858EF30D07CB7B7000003A6078D83A69B
+:10468000478DEF20E01F85476340A006A6854A8539
+:10469000EF304063E35FA0F283A44B002685EF3048
+:1046A000107AB7B7000003A6078D83A6478DEF10D9
+:1046B000302A2A8BAE8B2A86AE865285D685EF208D
+:1046C000201C63520502032904033705008033458B
+:1046D0002501EF30D0762A86AE865A85DE85EF201A
+:1046E00000256346A0008947231EF404DDB5CA8572
+:1046F0002685EF30205DE35EA0EC4C582685EF3038
+:10470000605CE358A0EC8D47C5B7EFB27FA63714C5
+:10471000002013040446EFD01FB948D4EFD03FC2A5
+:1047200068C04C580858EF3050148347F40628C42A
+:1047300089E7EFF09FE0EFF0FFDB6FB0BFA5EFB2CE
+:104740009FA1C025DC35011122045D8CB717002024
+:104750009387074603D72707636F8702A425B835D9
+:1047600083D74707A204D98C63E797029309C10056
+:1047700002C602C802CA02CC02CEB905CE86814763
+:10478000639E87002689138AC180B3079940C207B8
+:10479000C18363E0870205616FB03F9F982190312C
+:1047A00085072207518FC2079AA2C183890589060E
+:1047B000C1BF83270A006316F90083274A004E858C
+:1047C000829789090509D1B7EFB29F9A37B50000E2
+:1047D000130640218545130505A1EF40A019B71721
+:1047E000002003D5C74B6FB0FF9AEFB27F9837B563
+:1047F00000001306802085451305C5ADEF408017E6
+:10480000B7B7000083A587ADB717002003A5C74A37
+:10481000EF30605CEF301044420541816FB09F97EC
+:10482000EFB21F9537B500001306C01F854513056D
+:1048300005AAEF402014B7B7000083A587ADB717CE
+:10484000002003A5074BEF300059EF30B040420580
+:1048500041816FB03F94EFB2BF9137B500001306AE
+:10486000401E854513050597EF40C010B71700207F
+:1048700003A5C74493050000B7140020EF3080441F
+:10488000938404466359A0048858EF30505BB7A75F
+:10489000000003A6071483A64714EF10707E635C24
+:1048A000A0024164130404F003D7A40585476311F3
+:1048B000F702C858EF30B058B7A7000003A6071496
+:1048C00083A64714EF10D07B6354A0001364F40F49
+:1048D00022856FB03F8C0144C1BFEFB27F8937B5ED
+:1048E00000001306801D85451305C5A3EF40800811
+:1048F00029456FB03F8AEFB2BF8737B50000130676
+:10490000C01C85451305459DEF40C006B7B70000A4
+:1049100083A5C788B717002003A5074AEF30A04B2F
+:10492000EF305033420541816FB0DF86EFB25F84D4
+:1049300037B500001306001C85451305059AEF40A6
+:104940006003B7B7000083A5C788B717002003A589
+:104950004749EF304048EF30F02F420541816FB0BA
+:104960007F83EFB2FF8037B500001306401B8545FB
+:1049700013050594EF400000B7B7000083A5C78872
+:10498000B717002003A50749EF30E044EF30902C23
+:10499000420541816FB01F80EFB28FFD37B5000037
+:1049A0001306801A85451305C590EF30B07CB7B764
+:1049B000000083A5C788B717002003A58748EF30FC
+:1049C0008041EF303029420541816FB0AFFCEFB23A
+:1049D0002FFA37B500001306C0198545130545A603
+:1049E000EF305079B7B7000083A5C788B71700200C
+:1049F00003A5C749EF30203EEF30D0254205418165
+:104A00006FB04FF9EFB2CFF637B50000AE841306A2
+:104A1000501385451305058EEF30D07537190020EA
+:104A2000371400201304044605471305096C238935
+:104A3000E18823080406EFD08FC2DC24D834B765A0
+:104A40000000A20737150020D98F81461306803E4B
+:104A5000938565F01305056D2300096C5EA4EFD006
+:104A60002FBC6FB02FF3EFB2AFF037140020056604
+:104A7000B765000023A2A1888544B71700208146AE
+:104A8000130686BB9385E5DD1305046C2388974CDC
+:104A9000EFD00FB92300946C6FB0CFEFEFB24FEDB2
+:104AA00037B500001306002285451305C5B1EF3068
+:104AB000706CB7170020B7150020371500209387BA
+:104AC0000746130700009385054B1305C54AB8CB6D
+:104AD000F8C7EFE0BFE005456FB0CFEBC16769767F
+:104AE0008146FD1705061397060141836364B700ED
+:104AF0003E8582803307D5001823B98F214713F8EC
+:104B00001700858363050800B18FC207C1837D1735
+:104B1000420741836DF78506F9B7EFB26FE53715A8
+:104B2000004013050580EFC0CFD2EF30B076EF30F4
+:104B3000F07B9307100F3365F502A947290533056C
+:104B4000F5026FB02FE5EFB20FE103A7C1892A8408
+:104B5000BE84054693055052631CA7043755004098
+:104B600013050580EFC0AFDF2285EF10805D1319BC
+:104B700005010945EFD0EFC62285EF10805C83A7C1
+:104B8000C189931905011359090193D909010146F6
+:104B900093055052375500406391870213050580F5
+:104BA000EFC0EFDB330539413335A0006FB0EFDDE7
+:104BB00037550040130505C075B7130505C0CDB7BF
+:104BC000EFB20FDBB71700201384074683D70746E1
+:104BD00041117A247C813E20788078207C825E207E
+:104BE00023150100AA847C83930710FDDC84AD4566
+:104BF00085470A855C85231601005884EFF01FEE77
+:104C000093578500DC851C284886DC86EFF0FFF092
+:104C1000EFD02FBD2685EFF01FF36DF93D468A8555
+:104C20002685EF10E04783A7C189054693055052BA
+:104C3000375500406399970013050580EFC02FD2C8
+:104C400041016FB02FD5130505C0CDBFEFB24FD2D4
+:104C5000B71700201384074683D7074641117A24EB
+:104C60007C813E20788078207C825E2023150100A4
+:104C7000AA847C83930700FDDC84AD4585470A85C3
+:104C80005C85231601005884EFF05FE5935785009B
+:104C9000DC851C284886DC86EFF03FE8EFD06FB457
+:104CA0002685EFF05FEA6DF93D468A852685EF108F
+:104CB000203F83A7C18905469305505237550040D0
+:104CC0006399970013050580EFC06FC941016FB06C
+:104CD0006FCC130505C0CDBFEFB20FC703C9C50028
+:104CE000DC35B71A002022093369F900420993879D
+:104CF0000A461359094183D7270713140901418034
+:104D0000011163E6870EA425BC35138B0A46A20465
+:104D1000DD8C83574B0763EC970CAA8902C602C847
+:104D200002CA02CC02CE130CC100A68BB70C002025
+:104D3000B3879B40C207C18363EE870AB71B00207D
+:104D40009384CB601385C400130680058145EFB0C2
+:104D50002FC503D70A468357EB00A3852401BAA0C9
+:104D600003572B009EA083476B00DAA003574B002C
+:104D70009CA4930700039CB493578400BCA4FAA09E
+:104D8000B7140020131A140081479384846163C709
+:104D9000470993056400860593F5E50F1385CB60FD
+:104DA000EFF0DFD39317850021815D8D83470B01E1
+:104DB000D2948AA0BCA0EFF05FD6EFD08FA24E8530
+:104DC000EFF07FD86DF913060A019385CB604E850D
+:104DD000EF10002D83A7C189054693055052375522
+:104DE0000040639E370513050580EFC04FB705618E
+:104DF0006FB00FB9138A8C0D130D0A0583270A00B3
+:104E00006398770183274A00014582972310AC00FD
+:104E1000210AE3154DFF090C850B19BF101013F77C
+:104E2000E70F329713F61700B386F4000357C7FE57
+:104E300011E22183850798A293F7F70F89BF130525
+:104E400005C065B7EFB22FB1370400201304840A00
+:104E5000AA89AE84328A1309040398341C4063176C
+:104E6000F7005C405286A6854E8582972104E316A2
+:104E700024FF6FB08FB1EFB2AFAC371900204111F2
+:104E80002A8D1306400681451305C9601304C960C5
+:104E9000371C0020EFB0CFB081498144014AB71DD3
+:104EA0000020930B1400130B0C466A85EF10602949
+:104EB0006302052C6A85EF1040269386C1869C42CA
+:104EC000930CC9601375F50F1386170090C2B716BF
+:104ED00000209386064EB697D29C1387C18688A37E
+:104EE000930A1A002380AC0089473AC66384FA000B
+:104EF0006385042893070C461420F8276395E60879
+:104F00001830FC376311F70837B50000130670231B
+:104F10008545130545B5EF30F025A5476399FA0897
+:104F200093070C46D62709476392E60C382083473F
+:104F30000C466310F70C383083471B00631BF70ADD
+:104F4000582083472B006316F70A583083473B00ED
+:104F50006311F70A782083474B00631CF708783009
+:104F600083475B006317F708182483476B006312BD
+:104F7000F70837B500001306002585451305C5BAA7
+:104F8000EF30501F05A837B500001306902885455F
+:104F9000130505B8EF30101E5286DE851305C96073
+:104FA000EF30301293072006E3F147F1E1A2854785
+:104FB000E3E897F6A9476385FA00894763F69708FF
+:104FC00013060C465E26094714346399E71013074D
+:104FD0000003639FE60437B500001306802A854569
+:104FE0001305C5C0EF301019C549B9A883C7070715
+:104FF00095FF83471B0795CB38303C20F98F58200D
+:10500000F98F5830F98F7820F98F7830F98F18247C
+:10501000F98F1307F00F639AE70037B50000130606
+:1050200050268545130585BDA1BFBDF48544ADB7A8
+:1050300041476398E60237B500001306E02A85452C
+:10504000130505C3EF3010131834C1476313F70C71
+:10505000B54763F0570D8349D4008609C509568AC0
+:1050600091B71307100D639DE60037B500001306D6
+:10507000B02B8545130545C5EF30D00FB549E9B7CD
+:105080000347160739C31307000A1306102C638D54
+:10509000E6041307100A639AE6001306702C37B56E
+:1050A00000008545130585C935BF268763F3F400E5
+:1050B00009479374F70F1306F02C37B500008545A8
+:1050C000130505CCEF30100BC1BD268763F3F40048
+:1050D00009479374F70F1306A02DC5B79307000A6D
+:1050E000639AF6001306302E37B500008545130588
+:1050F00045C759B79307100A1306902EE381F6FAB5
+:10510000A68763F3E400894793F4F70F1306102F83
+:105110006DB7E3963AF59385DAFF93F5F50F13052E
+:10512000C960EFF0BF9B330744018347E7FF0347A4
+:10513000F7FFA207D98F6397A70003C70C00D947D1
+:10514000630AF7000D47A68763F3E4008D4793F4E5
+:10515000F70F99B51306C012814513850D4EEFB0B8
+:105160002F84B24756869305C9606A8523A007003D
+:10517000EFF05FCD41016FB06F80A547E39CFAE28D
+:1051800045B3EFA25FFD9387018890233715014057
+:105190005D7113361600930500101305058090A36A
+:1051A000EFB0DF84138741811C43FD171CC381EBE3
+:1051B000B707EFBE37E700E0938707083CC71387C0
+:1051C00081811C238DC7FD1793F7F70F1CA385E37F
+:1051D00037140140054693050010130504C0EFB0D5
+:1051E000FF800546A16513050480EFB03F8085640C
+:1051F0003714014093850480130504800546EFB001
+:10520000EFFE93850480130504800146EFB00FFE86
+:1052100003A5C18937BA000093058AE40D46EF0063
+:1052200030681306000581450A85B7190020EFA0F4
+:105230003FF793894942B7BA000083A58AAD03A519
+:105240008902B714002093840446EF20D038EF3051
+:10525000401AB7B500002A86938545CE0A85EF30FF
+:10526000301103A5C1898A8513060005EF0050633C
+:105270001306000581450A85EFA09FF237A90000BB
+:1052800083250956E840EF201035EF308016B7B57A
+:1052900000002A869385C5CF0A85EF30700D03A5DF
+:1052A000C1898A8513060005EF00905F130600058B
+:1052B00081450A85EFA0DFEE83250956C854EF200B
+:1052C0009031EF300013B7B500002A86938545D2A0
+:1052D0000A85EF30F00903A5C1898A851306000508
+:1052E000EF00105C1306000581450A85EFA05FEB17
+:1052F000832509568854EF20102EEF30800FB7B564
+:1053000000002A86938585D30A85EF30700603A5B1
+:10531000C1898A8513060005EF0090581306000521
+:1053200081450A85EFA0DFE7832509568858EF20DD
+:10533000902AEF30000CB7B500002A86938505D57A
+:105340000A85EF30F00203A5C1898A85130600059E
+:10535000EF0010551306000581450A85EFA05FE4B4
+:1053600083250956C85837A90000EF20D026EF3012
+:105370004008B7B500002A86938545D60A85EF30E8
+:10538000207F03A5C1898A8513060005EF005051CF
+:105390001306000581450A85EFA09FE0B7B700001E
+:1053A00083A5C788A840EF201023EF308004B7B54D
+:1053B00000002A86938585D70A85EF30607B03A598
+:1053C000C1898A8513060005EF00904D130600057C
+:1053D00081450A85EFA0DFDC83A58AAD03A589019D
+:1053E000EF20701FEF30E000B7B500002A869385EC
+:1053F00085D80A85EF30C07703A5C1898A85130651
+:105400000005EF00F0491306000581450A85EFA06D
+:105410003FD903C6C406B7B50000938505DA0A85EF
+:10542000EF30007503A5C1898A8513060005EF00DA
+:1054300030471306000581450A85EFA07FD603D6C5
+:10544000A405B7B500009385C5DB0A85EF3040722F
+:1054500003A5C1898A8513060005EF007044130671
+:10546000000581450A85EFA0BFD303C6B406B7B5D2
+:105470000000938505DD0A85EF30806F03A5C189A3
+:105480008A8513060005EF00B0411306000581452B
+:105490000A85EFA0FFD003C6D406B7B500009385F8
+:1054A00085DE0A85EF30C06C03A5C1898A851306A5
+:1054B0000005EF00F03E1306000581450A85EFA0C8
+:1054C0003FCE03C6E406B7B50000938505E00A8524
+:1054D000EF30006A03A5C1898A8513060005EF0035
+:1054E000303C1306000581450A85EFA07FCB83255C
+:1054F000C956A848EF20300EEF20B06FB7B50000B6
+:105500002A869385C5E10A85EF30806603A5C189A7
+:105510008A8513060005EF00B038130600058145A3
+:105520000A85EFA0FFC78325C956E844EF20B00ADB
+:10553000EF20306CB7B500002A86938545E30A85D5
+:10554000EF30006303A5C1898A8513060005EF00CB
+:1055500030351306000581450A85EFA07FC403D6C8
+:10556000C405B7B500009385C5E40A85EF304060F7
+:1055700003A5C1898A8513060005EF00703203A5D3
+:10558000C1890D4693058AE4EF00903161616FA0F7
+:10559000DFBFEFA25FBC3714002093040446EFC0C6
+:1055A0009FD0C8D4EFC07FDE88DCEFC05FD9E8C0F1
+:1055B000EFC09FE2A8C0B7140020938744428857E9
+:1055C0009305000013040446EF20006A93844442CC
+:1055D00001E5EFC0DFD648DC4C58085837BA000068
+:1055E000EF20B02883250AEA28C403A58184EF2090
+:1055F000803C2C48EF20800583250AEA28C803A5B3
+:10560000C184EF20403B6C44EF20400468C4B715D0
+:105610000020371500209385054B1305C54AEFE0A0
+:10562000EFAB8C4C28449307000023A4F18423A6FD
+:10563000F1847CC8EF20207AAA854854EF20F0221C
+:105640007C3C08D49305001085C7B714014013852E
+:1056500004C0EFB0CFB8814701C99145138504C09C
+:10566000EFB04FB7B337A000231DF4046FA0FFB114
+:1056700037150140130505C0EFB06FB6231DA40414
+:10568000F5B7EFA2FFAE371500201304057413051C
+:105690000574EFC0CFFC83A7418903A5018A2300CD
+:1056A000040082976FA01FAFEFA2FFAA371400205B
+:1056B0009307044683C7B70613040446A1EF2844A2
+:1056C000EF20F077B7B7000003A6078D83A6478DBC
+:1056D0002A89AE89EF10C01A634EA000B7B7000048
+:1056E00003A687E883A6C7E84A85CE85EF10202465
+:1056F000635205024854EF209074B7B7000003A628
+:1057000007E983A647E9EF10802263550500854726
+:10571000A305F4060347C406B71400208547938405
+:10572000444237B900006308F700884C9305000035
+:10573000EF2080531DE90347B40685476317F7023E
+:10574000832549E80858EF20E0576350A002B76569
+:105750000000371500209306800C1306800C9385FB
+:10576000259613050570EFC0AFEB8349F406032AB5
+:105770000404638F0902832549E8C850EF10106DB7
+:10578000D285EF2020548947635BA00A639EF9000D
+:10579000B76500003715002081462946938505A886
+:1057A00013050572EFC0CFE7A30704066FA0FF9DA6
+:1057B000C84CD285EF2000516353A004832549E8EB
+:1057C0008850EF10B068D285EF2020586359050249
+:1057D0008854EF20D066B7B7000003A687E983A6F8
+:1057E000C7E9EF10A06BEF20507088D43715002068
+:1057F0001305C544EFC0AF9A8547A307F406832578
+:1058000049E8C84CEF109064AA852840EF20804BEF
+:10581000E35EA0F837050040894781451305054040
+:10582000A307F406EFB08FFA371500408145130542
+:105830000580EFB0BF80930700009CD485BFE3874D
+:10584000F9F675BFEFA2DF92EFE02FC96FA09F942A
+:10585000EFA21F9237140020130704463C5F37194C
+:1058600000201309494285073CDF032789031304FD
+:105870000446938411886390E7068347B406A1CF5A
+:1058800037050040814513050540EFB02FF437156B
+:105890000040814513050580EFB04FFA93070000E3
+:1058A0002324F902B7170020938707671307401FC7
+:1058B000BAA323800400EFC09FA848DCB7650000AE
+:1058C0003715002081462946938505A813050572E2
+:1058D000EFC00FD519A09C20E9FF6FA0BF8BEFA2EE
+:1058E0003F891387E1881C23B71400209384444226
+:1058F000F634850793F7F70F6385F6001CA36FA0B6
+:105900007F8923000700EFC09FA3371400208C4439
+:105910001304044648DCEF20E03AE352A0FE3715BA
+:1059200000209304056E1305056EEFC04FD3B7A793
+:10593000000083A5C716485423800400EF20803858
+:105940003325A000A305A406B76500003715002085
+:1059500081462946938505A813050572EFC04FCCF3
+:1059600079BFEFA2FF80938681889C22850793F7F9
+:10597000F70F9CA285466393D70237050040814507
+:1059800013050540EFB08FE49305C01237150040B2
+:1059900013050580EFB08FEA6FA0CFFF9384818855
+:1059A0002D476394E702EFC05F8BAA84EFC07F941A
+:1059B000AA852685EF20606B23A8A186EFC0BF8E45
+:1059C00023ACA1889305401AD1B75547E396E7FC6D
+:1059D000371500201304057013050570EFC02FC89C
+:1059E00023000400EFC07F872A89EFC09F90AA851B
+:1059F0004A85EF2080671384418708C0EFC0BF8AC3
+:105A0000AA8503A58189EF2040660C402A8903A559
+:105A10000187EF208065AA854A85EF10D079B7B756
+:105A2000000083A507892A84EF20203263570502EE
+:105A30002285EF20D040B7A7000003A6071483A655
+:105A40004714EF00F063635AA000B71700201385D6
+:105A5000C74323AE8742EFD0BFE5B7170020370515
+:105A60000040938707460547854513050540238673
+:105A7000070623800400239EE704EFB02FD529BF3B
+:105A8000EFA26FED9386C1889E228507C207C1836E
+:105A90009EA2914663ECF600371500409305400640
+:105AA00013050580EFB08FD96FA02FEE1384C18846
+:105AB000130760049384818737B900006369F70096
+:105AC000832549EA8840EF20E01FE35FA0FC3715FB
+:105AD00000209309057213050572EFC04FB8032724
+:105AE00049EA930700009CC0B71700202310040068
+:105AF0001385C7443714002023A6E74423800900F8
+:105B000013040446EFB0BFE98347B4060547639921
+:105B1000E70237050040854513050540231EF404C0
+:105B2000EFB0CFCAB76500003715002081461306D5
+:105B3000803E9385058513050567EFC06FAEADB751
+:105B40004C580858EF20605228C48D47D9B7EFA2AF
+:105B50002FE203A5018A752309CDB755000037153B
+:105B60000020814651469385256813050574EFC0D2
+:105B70002FAB6FA02FE2EFA2AFDFEFB00FF6EFC0B9
+:105B8000CFD5EFD0FFD8EFC06FDBA921EFB07FDA20
+:105B9000EFB0AFE5EFB09FADEFB05FB0EFB03FB3A8
+:105BA000EFB01FD1EFB09FB6EFB0FFC62945EFC0F1
+:105BB000CF8EB75500003715002093064006130618
+:105BC000803E938525181305056FEFC06FA5B75567
+:105BD00000003715002081461306803E9385255925
+:105BE00013050571EFC0CFA3B7650000371500207E
+:105BF0009306800C1306803E9385E58D1305056E94
+:105C0000EFC00FA2B7550000371500209306401FC4
+:105C10001306803E9385856A13050569EFC04FA082
+:105C2000B717002083C7E747A1EBB757000093875A
+:105C300067E723AAF188B765000037150020814681
+:105C4000130640069385E5B413050575EFC04F9D17
+:105C5000B76500003715002081461306800C938538
+:105C6000458413050573EFC0AF9B0545EFC08F8DCD
+:105C7000EFC0CFA16FA00FD20547E39EE7FAB73779
+:105C800000009387E73275B7138791881C23B716F6
+:105C9000002083D64645850793F7F70F1CA363952D
+:105CA000F604EFA2EFCC371500201304056BB717ED
+:105CB00000201305056B23000700A386074CEFC0E7
+:105CC0000F9A23000400371401409145130504C0C6
+:105CD000EFA05FD001E9014693050010130504C051
+:105CE000EFA0DFD06FA00FCB8280EFA26FC8B714F8
+:105CF00000209387044603C7D7068547938404464C
+:105D00001384A1886312F702371500201309056A6E
+:105D10001305056A230004002398018823870406DD
+:105D2000EFC0EF932300090003C7E4068547631F14
+:105D3000F7021C2085071CA0B717002013874742D5
+:105D400014203A3B138947426390E604371500203C
+:105D5000230004001304056A1305056A238704065B
+:105D6000EFC0EF8F230004006FA0CFC2E3F6E7FC83
+:105D700037150140014693050010130505C0EFA03B
+:105D8000FFC6230004004DBF3715014093050010E6
+:105D9000130505C0EFA0BFC49387018901E59A23CD
+:105DA00005079AA3835649039A23E39FE6FA37151A
+:105DB00000201304056A1305056A23900700EFC04D
+:105DC0000F8A37150140054693050010130505C0DD
+:105DD00023000400EFA09FC12387040671B7EFA240
+:105DE0008FB7138731891C231306B00F01119386D7
+:105DF0001700F51714A393F7F70FB71600201384B5
+:105E000006466363F60237150020230804061304D0
+:105E1000056C1305056C23000700EFC04F842300B9
+:105E2000040005616FA06FB67E24231D0100DD45CF
+:105E30007C82FD577C83FD573EC4E9779387F71F2B
+:105E40007C86835724074800231E01001397870090
+:105E5000A183D98F7C875E2493843189139787002F
+:105E6000A183D98F03D70646FC807C20F8813A2095
+:105E7000230CF1001E24F8825A20230DF100F88330
+:105E800013D78700A30CE100EFE05FC593578500AF
+:105E9000A30DF1001C28230EA1002944A30EF1003C
+:105EA000EFE0BFC7EFC0EF931389418803250900D6
+:105EB000EFE07FC921E59387218994230547639704
+:105EC000E6002380070023800400A1BF032509000A
+:105ED00069464C00F1220327090083A7C1890546C2
+:105EE00093055052375500406317F700130505809E
+:105EF000EFB0EFA63DB7130505C0DDBF7D141374E9
+:105F0000F40F59FC39BFEFA2AFA61384C1871C4020
+:105F100037170020B71400200357074585079384DF
+:105F200004461CC0A38804066391E70237150020CD
+:105F30001309056D1305056DEFB07FF2854723004A
+:105F4000090023200400A388F4066FA0AFA437172C
+:105F50000020130707468347D70793068007850766
+:105F600093F7F70FA30EF7066392D702EFA24FA0A5
+:105F70003715002013040568231E0706130505685E
+:105F8000EFB0FFED230004006FA0CFA08280EFA24E
+:105F90002F9E014405C1002111CC5C410D47639E39
+:105FA000E7003755004093F5F50F13050580EFB076
+:105FB000BFBE054422856FA0EF9D11470544E39BBA
+:105FC000E7FE3755004093F5F50F130505C0EFB018
+:105FD000BFBCCDB7EFA2CF99B7140020938704467A
+:105FE000DC5337040020938404461304841295C3C1
+:105FF000B71500201306800C938505761305C400A1
+:10600000EFB03FF1C850EFB05FAD85471CA023AEA5
+:106010008188B72500201306800C9385858213059F
+:106020008402EFB01FEF88507104EFB0BF9F854727
+:106030001CA023A0818A01456FA0CF95EFA24F93AA
+:1060400037150140054693050002130505C0EFA072
+:10605000FF996FA02F94EFA2AF9137150140014631
+:1060600093050002130505C0EFA05F986FA08F9203
+:10607000EFA20F90371501400546C145130505C035
+:10608000EFA0DF966FA00F91EFA28F8E3715014022
+:106090000146C145130505C0EFA05F956FA08F8F26
+:1060A000EFA26F8B03A7C1892A842E8AB2899384B9
+:1060B000C1896311A702EFF07FF8014963433903F7
+:1060C0000545EFB01FF29C4063968702EFF0BFF8E2
+:1060D0006FA0AF8B83A7018AE391A7FEEFF05FF972
+:1060E000E9BFB3072A018385070022850509EFF080
+:1060F0001FEAE9B783A7018AE39C87FCEFF0DFF88A
+:10610000C1BF814709C91821814711C75C49084DA2
+:10611000898FB337F0003E858280EFA26F854111F1
+:106120002A84A3070100EFF0DFFD19C59305F100F4
+:106130001305C400EFB0BFE10305F10041016FA0FA
+:106140006F85EFA2EF823105EFB0DFE26FA08F84A1
+:106150003708100001117D183377B80026CA33784C
+:10616000D80093D4450113D34601131E37004EC601
+:106170001357D5010E089357D60193F4F47F137388
+:10618000F37F06CE22CC4AC893D9F50193DEF601FF
+:106190003367C701131F350033E80701931F36002B
+:1061A000338E64406380D9196356C0136304031CA3
+:1061B000B70680009307F07F3368D800638FF4360A
+:1061C0009307800363C0C735FD4763CDC7471305F9
+:1061D00000023305C541B3D7CF01B316A8003399E8
+:1061E000AF00DD8E33392001B357C80133E92601F2
+:1061F0001D8F33092F41B3372F013306F740931713
+:10620000860063D40724370780007D173374E600C7
+:10621000630C042C2285EF20E063130785FF9307AE
+:106220000002998FB357F9003316E400D18F331968
+:10623000E9006341972A33059740130615007D470F
+:10624000634DC73813070002118FB356C9003319C5
+:10625000E9003397E700558F33392001336927016F
+:1062600033D6C70081449377790081CF1377F90043
+:1062700091476308F70013074900333927014A960D
+:106280003A899317860063D6071C13851400930779
+:10629000F07FCE856304F520B70780FFFD17F18FEF
+:1062A0009398D70113593900A607B3E82801B183A1
+:1062B0001375F57F9396C7005205F2406244B18290
+:1062C000FE05C98ECD8ED2444249B2494685B68577
+:1062D00005618280631E0E0A138314001373E37F2B
+:1062E00063170322B367E701B368F801639D041ADB
+:1062F00063870740638608443309FF41B3070741BA
+:1063000033362F013386C7409317860063D6074C78
+:106310003389EF41B307E84033B62F013386C740D6
+:10632000F68991B76350C00F6300030CB706800075
+:106330009307F07F3368D800638AF43A93078003A9
+:1063400063CBC713FD4763DFC73513090EFE930701
+:106350000002B3562801630AFE0013090004330942
+:10636000C94133192801B3EF2F013339F0013369E3
+:10637000D90031A2B367F801638A071C9307FEFFB7
+:10638000638C07389306F07F6309DE1A3E8E0DBDDD
+:10639000B305934063910422B367E7016387073233
+:1063A0009387F5FF638107449306F07F638CD520C4
+:1063B000BE859307800363CCB72AFD4763CFB73C04
+:1063C000930700028D8F3319F700B356BF00B31740
+:1063D000FF003369D900B337F0003357B700336992
+:1063E000F9003308E84041ACB367F8016380073433
+:1063F0009307FEFF638A07209306F07F6308DE2E73
+:106400003E8E2DBF631E0E149386140093F7E67F15
+:1064100063910734B367E7016395042C6380073EFB
+:10642000B367F801638E07303309FF01B307070133
+:10643000333FE9013386E7019317860063D70700EE
+:10644000B70780FFFD177D8E854493777900E39F22
+:1064500007E09317D60193583900B3E8F800935733
+:1064600036001307F07F638DE404B207B18313F5A0
+:10647000F47FCE8581B53369F801333920017A99EB
+:10648000B337E9013386E70093178600E3DF07FAA5
+:1064900085049307F07F6396F418CE851305F07F8B
+:1064A0008147814801BDC1EB6384083A93163600E9
+:1064B0009317D8018D82B3E8D700F6899357380037
+:1064C000B3E7F800F9DB81451305F07FB707080053
+:1064D0008148CDB3370680FF7D167D8E9377790096
+:1064E000998CE39507D8B5B74A85EF20A0361307F6
+:1064F0008501FD47E3D5E7D2130685FFB317C90031
+:10650000014905BB3369F80133392001DDB1330995
+:10651000FF413306074133342F013304864093177C
+:10652000840063CD0724B3688900E39308CE8147D4
+:10653000814981441DBFE39808F80E059317D701E0
+:106540000D81B3E8A700935737009DBF0E05931741
+:10655000D7010D81B3E8A700F2849357370011B734
+:106560003305934063820412B70680009307F07FDF
+:10657000558F630DF32E9307800363CBA720FD4750
+:1065800063C3A72A93070002898F3319F700B35614
+:10659000AF00B317FF003369D900B337F0003357AA
+:1065A000A7003369F9003A987E99B337F901338629
+:1065B00007019A84D1BDB70680009307F07F558FFD
+:1065C000E319F3DE931736008D839318D801B3E8EF
+:1065D0001701F68993573800E5B5130715FE9306A2
+:1065E000000233D7E700630AD6009306000433861F
+:1065F000C6403396C7003369C90033392001336977
+:10660000E9000146814491B53309FF01B307070151
+:106610003336E9013E96931786008544E3D707E2B7
+:106620008944B70780FFFD17F18F135719001379BD
+:106630001900336927019398F70133E9280113D62C
+:10664000170015B113090EFE93070002B356280177
+:10665000630AFE00130900043309C94133192801F4
+:10666000B3EF2F013339F0013369D90059B63369DB
+:10667000E7013339200133892F41B3B72F013306A6
+:10668000F8409A84F689A5BEB367E70163820718CC
+:106690009307F5FF6384071C9306F07F6304D5120C
+:1066A0003E85D1BD93070002B387C741B316F800FA
+:1066B0003399FF0033D6CF01D18E33392001B35740
+:1066C000C80133E926013E975DBB931736008D83E1
+:1066D0009318D801B3E81701AE8493573800F689B0
+:1066E00049B3EDC33369F801E31F09DC0E059317C5
+:1066F000D7010D81B368F50093573700D1B363819B
+:10670000080E931636009317D8018D82B3E8D70090
+:10671000F6899357380091BB3309FF41B30707410E
+:10672000333F2F013386E7418544D1BC0E059317D3
+:10673000D7010D81B368F500F2849357370015B384
+:106740000E059317D7010D81B3E8A70093573700C3
+:1067500029BB9307F07FE382F6D43309FF01333678
+:10676000E901B3070701B2979398F701135919008C
+:1067700033E9280113D61700B684C1B93389EF4134
+:106780003307E84033B62F013304C740F68949B4D4
+:106790003369E7013339200101BD938705FE930674
+:1067A0000002B357F700638AD50093060004B3854F
+:1067B000B6403317B700336FEF003339E001336968
+:1067C000F90055BD931736008D839318D801B3E8AF
+:1067D000170193573800EDB1B368C900E39708C6B5
+:1067E0008147814959B13389EF41B307E84033B656
+:1067F0002F013386C740F689854411B493163600BD
+:106800009317D8018D82B3E8D70093573800B1B9F8
+:10681000931636009317D8018D82B3E8D700AA8467
+:10682000935738003DB9930705FE93060002B3570E
+:10683000F700630AD500930600043385A64033179A
+:10684000A700336FEF003339E0013369F900A9BBCA
+:1068500081451305F07FB7070800A9BC3309FF0184
+:10686000B30707013336F9013E9675B39316360028
+:106870009317D8018D82B3E8D7009357380089B1B8
+:1068800013D74501B7071000FD1713D8460113773A
+:10689000F77F9308F07F33F3B7002A8EF58FFD81E1
+:1068A000B28E1378F87FFD82630817036300180324
+:1068B0000DEBB368A300631408005D8E29CA6385DD
+:1068C00008046388D502054595ED8280B3E8C700CA
+:1068D000E38008FE795582803365A30065FD630C73
+:1068E000E802631408005D8E79DEE39ED5FCE34C7C
+:1068F000E8FC63480701E3E867FC6303F302637F96
+:10690000F30081E57D558280F5DE054582800145F5
+:10691000E39B08FA82805D8E69DA6DBF0145828053
+:10692000E3E3CEFB0145E372DEFBE5F1E1BF13D704
+:106930004501B7071000FD1713D846011377F77FFD
+:106940009308F07F33FEB700AA8EF58FFD81328F5A
+:106950001378F87FFD82630E1703630D180129E396
+:10696000B368AE00631F08005D8E01EE0143638CC7
+:10697000080421A8B3E8C7000943639608046DD34F
+:1069800005A0638408046385D50205438DCD7D533E
+:106990001DA8B368AE00094363970802630AE802C2
+:1069A000631408005D8E75D2E391D5FEE34FE8FCD9
+:1069B00063490701E3EBC7FD630FFE000143637406
+:1069C000FE00F1D505431A858280EDFE7D53E5BFBB
+:1069D0005D8E79DACDBFE36ADFFB0143E3F5EEFFBD
+:1069E000F5F175B739714AD813D945014ED652D44D
+:1069F00056D29399C50006DE22DC26DA5AD05ECE46
+:106A00001379F97F2A8A93D9C90093DAF501630DC6
+:106A1000090E9307F07F6306F9181354D5018E0908
+:106A2000B36934013704800033E4890093143500DE
+:106A3000130919C08149814B13D74601139AC60027
+:106A40001377F77FB285135ACA0013DBF601630B85
+:106A500007109307F07F6303F7049357D6010E0ADC
+:106A600033EA4701130717C0B7078000B367FA007E
+:106A7000931536003A99814833C76A01BD463A8575
+:106A80001308190063E8361717460000130606427C
+:106A90008A09B29983A60900B2968286B367CA00B2
+:106AA0001309F97F6399071293E929008145894801
+:106AB000E1B701479307F07F3704080081443204AF
+:106AC000D20731807E075D8C598CA285F2506254CA
+:106AD00026854259D254B259225A925A025BF24B3D
+:106AE000216182805A853E84AE84C68B8947638D3E
+:106AF000FB0E8D47E38FFBFA85472A87639EFB38A1
+:106B000081470144814465BF33E4A90061C036C6B2
+:106B100032C4638C092A4E85EF10D0532246B24608
+:106B2000AA87130755FF7544938487FF198CB3997F
+:106B3000990033548A0033643401B3149A0013D794
+:106B400046011309D0C0139AC6001377F77F3309A3
+:106B5000F9408149814BB285135ACA0013DBF60113
+:106B6000E31907EEB367CA00B1C7630F0A22528563
+:106B700032C4EF10304E22462A87930655FFF54760
+:106B8000930587FF958F331ABA00B357F600B3E722
+:106B90004701B315B6003309E9401309D9C081484C
+:106BA000E1BD33E4A90001ECA14981441309F07F60
+:106BB000894B59B593E919008145854875BD4E84C7
+:106BC000AA84B1491309F07F8D4BBDB59149814429
+:106BD0000149854B95B593E93900D2878D4869BD48
+:106BE00089475685E397FBF02A879307F07F014496
+:106BF0008144F1B5C16E1386FEFF93D6040113DE06
+:106C00000501F18CF18D338695023383B6029358DA
+:106C1000060133059E021A95AA98B382C60363F350
+:106C20006800F692C16F1383FFFF33F5670093D3BB
+:106C30000701B3F76800C207337366003E9333065B
+:106C4000950293D80801B387A602135F0601B384A7
+:106C50009302BE94FA94B38E760263F3F400FE9E20
+:106C6000416A9307FAFF935F0401B376F400B3F926
+:106C7000F4007D8EC1803384D502C209338FD401E4
+:106C8000B299CE98B307DE02935E0401B385BF02CA
+:106C9000AE97BE9E330EFE0363F3BE00529EC167E5
+:106CA0009385F7FF33F6BE006D8C4206229693DE85
+:106CB0000E01B305D502769E3385AF0213D40501CC
+:106CC000B386D302AA96A296B38FF30363F3A6000A
+:106CD000BE9F41657D15B3F7A600C2076D8DAA97CB
+:106CE000B3855800B3B93501FA97B29533843701AB
+:106CF00033B6C500B30EC4013385CE00333434013E
+:106D0000B3B7E701C18F33BECE0113D406013336CA
+:106D1000C5003E943366CE009394950032947E94E1
+:106D2000B3E46400260493567501B3349000DD810A
+:106D300093179500CD8C558CDD8C9317740063DB15
+:106D4000070093D7140085889316F401DD8CD58C49
+:106D5000058042899307F93F6359F00893F6740060
+:106D600081CE93F6F40011466388C60093864400F2
+:106D7000B3B496002694B6849316740063D80600C4
+:106D8000B70700FFFD177D8C930709409306E07F4E
+:106D900063CFF60E93D634009314D4012604D58C19
+:106DA000318093F7F77F21BB328532C4EF10902AF0
+:106DB00093065501F147130705022246E3D1D7DCBC
+:106DC0006115B317A6008145F9B3EF10B02813077A
+:106DD0005501F145930705022246B246E3D5E5D4B5
+:106DE00061153314AA00814499BB85469D8EB1E795
+:106DF0001309E941B3972401B3D4D4003319240112
+:106E0000B337F000B3649900DD8C93F77400B35688
+:106E1000D40081CF93F7F40011466388C7009387AD
+:106E20004400B3B49700A696BE849397860063D8B7
+:106E3000070485470144814459B113068003E341A7
+:106E4000D6CC7D46E356D6FA0556B307F6409305F1
+:106E500000023356F4006387B6001309E943B31701
+:106E60002401DD8CB3349000D18C93F6740001447E
+:106E700099CA93F7F40011468146E392C7FA139436
+:106E800096003180F6068D80D58C81470DB9930729
+:106E9000F07F0144814425B142896DBD3707100060
+:106EA0007D1701113373B70093D84601758F935E38
+:106EB000D60122CC26CA0E0393D445019357D5019F
+:106EC0000E0706CE4AC84EC693F8F87F130EF07F21
+:106ED00033E7EE0093F4F47F13D4F50133E3670056
+:106EE000131F3500FD82931E36006380C81993C6B8
+:106EF0001600B38514416305D4126351B018638B37
+:106F0000081AB70780005D8F6381C4599307800317
+:106F100063C4B734FD4763C5B748930700028D8F3C
+:106F2000B3D9BE003318F700B39EFE0033683801B2
+:106F30003357B700B339D001336838013303E34026
+:106F4000B3090F41B3373F013306F340931786006F
+:106F500063D30724370980007D1933792601630F35
+:106F6000092C4A85EF10100F130785FF93070002C5
+:106F7000998FB3D7F9003316E900D18FB399E9009F
+:106F80006344972A058F13061700FD4663C5C63A6A
+:106F900013070002118FB3D6C9003398E900339765
+:106FA000E700558F33380001B369070133D6C700B6
+:106FB000814493F7790081CF93F6F9009147638874
+:106FC000F6009386490033B836014296B689931786
+:106FD000860063D6071C138714009307F07F05888B
+:106FE0006306F720B70780FFFD17F18F1398D701CD
+:106FF00093D93900A60733683801B1831377F77F37
+:107000009396C7005207B1827E04D98EC18EF2409A
+:107010006244D2444249B2494285B68505618280C4
+:107020006356B00A638A0812B70780005D8F6387D2
+:10703000C42D9307800363C7B718FD4763D2B73CDD
+:10704000138805FE93070002B3590701638AF50010
+:1070500093070004B385B7403317B700B3EEEE00D3
+:107060003338D0013368380195A2B367D7019385CF
+:10707000148099E393C61600630AD404D1E1938780
+:10708000140093F7E77F6399071EB367E301336842
+:10709000D701639204166382073C631608421318F3
+:1070A00035009316D3011358380033E8060193577F
+:1070B000330019A2B367D7016385071A9387F5FFD9
+:1070C000638B073A638CC523BE8589B56399051C1C
+:1070D0009386140093F7E67FC1EFB367E3016390F3
+:1070E0000436638D0744B367D701639407460E05E2
+:1070F0001318D3010D813368A800935733006DA88E
+:10710000B385984063970420B367E301638D07302C
+:107110009387F5FF638907401305F07F6383A520FC
+:10712000BE859307800363C2B72AFD4763C8B73C97
+:10713000930700028D8F3318F3003356BF00B31747
+:10714000FF003368C800B339F0003353B30033682D
+:10715000380133076740B5ACB367D70163830710C5
+:107160009387F5FF638F071E6380C52FBE85D1B55A
+:107170009307F07F638BF606FA9E33B6EE01B307F2
+:10718000E300B2971398F70193DE1E00B369D801AC
+:1071900013D61700B68493F77900E39F07E093179F
+:1071A000D60113D839003368F800A6859357360006
+:1071B0001307F07F6380E506B207B18313F7F57F0D
+:1071C00005883DBD3367D7013338E000B309E801D6
+:1071D000B3B7E9013386670093178600E3DD07FA4A
+:1071E00085049307F07F639CF41805881307F07FEC
+:1071F0008147014831B5639107106301083C1318BA
+:1072000036009317D701135838003368F8003684D6
+:1072100093573700B367F800E9DB01441307F07FA9
+:10722000B70708000148E9BB370680FF7D167D8E51
+:1072300093F77900998CE39107D895B74E85EF10B5
+:10724000606113078501FD47E3D2E7D2130685FF8E
+:10725000B397C90081492DB33368D7013338000192
+:10726000C5B1131835009317D3011358380033688C
+:10727000F800935733002DBFB309DF413309E340D2
+:1072800033363F013309C9409317890063CA072089
+:1072900033E82901E31508CC8147014431BFB385A8
+:1072A000984063810414B70680009307F07F33632E
+:1072B000D3006381F8209307800363CCB722FD4796
+:1072C00063C9B72C930700028D8F3318F300B356B0
+:1072D000BF00B317FF003368D800B339F000335351
+:1072E000B300336838011A97B309D801B3B7D9018D
+:1072F0003386E700C684CDB5E31108F213183500D4
+:107300009317D301135838003368F80093573300AC
+:1073100011B7370580009307F07F3363A300E39232
+:10732000F8E00E061318D7010D823368C800935792
+:1073300037003684C5B505179306000233D7E7003A
+:10734000630AD600930600043386C6403396C7000E
+:10735000B3E9C90033383001B369E800014681441C
+:107360001DBDB309DF01B307E30033BFE901338675
+:10737000E701931786008544E3DF07E08944B707F8
+:1073800080FFFD17F18F13D7190013F81900336828
+:1073900007019399F701B3E9090113D6170011B951
+:1073A000138805FE93070002B3590701638AF500AD
+:1073B00093070004B385B7403317B700B3EEEE0070
+:1073C0003338D00133683801A5BE3363E301333865
+:1073D0006000B3890E41B3B73E013306F740C6845F
+:1073E0003684ADB6B367E301638707189387F5FF6B
+:1073F000638C071C9306F07F638ED50ABE8565BD3E
+:10740000930700028D8FB3D9BE003318F700B39EE7
+:10741000FE00336838013357B700B339D001336801
+:1074200038013A9365B3131836009317D7011358F0
+:10743000380033E8070136849357370095BBBDCB3E
+:107440003367D701E31B07DC0E051318D3010D8149
+:107450003368A8009357330075BBE30F08E2131895
+:1074600036009317D701135838003368F800368474
+:107470009357370091B3B309DF41B307E340333F7C
+:107480003F013386E7418544D1B413183500931684
+:10749000D3011358380033E80601935733009DBBDE
+:1074A000B389EE413306674033B93E0133092641C3
+:1074B000368475B40E061318D7010D823368C800E0
+:1074C0009357370081BBB309DF41B307E34033363D
+:1074D0003F013386C7409317860063D7070AB389F5
+:1074E000EE41B3076740B3BE3E013386D7413684D1
+:1074F000C9B43363E30133386000FDB3138805FE7C
+:1075000093070002B3590301638AF500930700044F
+:10751000B385B7403313B300336F6F003338E001E6
+:10752000336838017DB5B389EE41B3076740B3BE18
+:107530003E013386D7413684854409BC1318360092
+:107540009317D701135838003368F8009357370062
+:10755000A5B1B309DF01B307E30033BFE901338607
+:10756000E70193178600E3D807C2B70780FFFD172E
+:107570007D8E85440DB10E061318D7010D82336838
+:10758000C800935737002DB133E8C900E30608D08F
+:1075900019B1138805FE93070002B3590301638AEA
+:1075A000F50093070004B385B7403313B300336F7E
+:1075B0006F003338E001336838013DB301441307ED
+:1075C000F07FB70708002DBCB309DF01B307E30064
+:1075D000B3BED9013386D70169BB411106C622C4A7
+:1075E00026C20DCD9357F541B3C4A7009D8C2A84C4
+:1075F0002685EF1020269306E041898EA9477D80DD
+:1076000093F6F67F63CDA7022D47098FB3D7E40029
+:107610005505B207B394A400B18329A00144814663
+:1076200081478144B207D206B1837E04D58FC18FD2
+:10763000B24022442685BE85924441018280551580
+:10764000B397A400B207B1838144E9BF4111370762
+:1076500080007D1713D8750126C2935475013373CA
+:10766000A70093F4F40FB376B7004AC01378F80F6D
+:107670001359F50106C622C4FD819A8726854A86DC
+:10768000131E3300939E3600B3880441630AB90E7B
+:107690006350100D630408149307F00F638BF41408
+:1076A000B7070004B3EEFE00ED4763C11729930747
+:1076B0000002B3871741B397FE00B3D81E01B3375A
+:1076C000F000B3E7F800B307FE4013975700635E7E
+:1076D0000718370400047D147D8C2285EF10801775
+:1076E0006D15B317A4006348951A058D1304150092
+:1076F00013070002018F3397E7003337E000B3D759
+:107700008700D98F814413F7770019C713F7F70063
+:1077100091466303D700910713975700635B0714E3
+:1077200085041307F00F4A866383E4169A07A5833E
+:1077300013F5F40FB2402244A6079314750113D534
+:107740009700458D7E0692440249518D4101828009
+:107750006399080A138714001377E70F6317071458
+:1077600063900422630D0E1EE3860EFCB307DE4118
+:107770001397570063500722B387CE412E8961B714
+:10778000635C100B630E08089307F00F6383F40625
+:10779000B7070004B3EEFE00ED4763C9171F930758
+:1077A0000002B3871741B397FE00B3D81E01B33769
+:1077B000F000B3E7F800F297139757006357070AF2
+:1077C00085041307F00F6384E40CB706007E13D71B
+:1077D0001700FD16858B758FD98F35B7638D0E0811
+:1077E000FD18B307DE41E38208EE9307F00FE39D37
+:1077F000F4EA630D030801461305F00FB7074000D4
+:1078000015BF33079840EDE863020E147D17630837
+:1078100007189307F00F6319F80E2E893683D1BF2E
+:10782000638B0E04FD18B307DE01E38708F89307A6
+:10783000F00FE393F4F675BF63950808850413F71A
+:10784000E40F6313071263170510630F0E14E3832D
+:107850000EEEB307DE01139757008144635707000C
+:10786000370700FC7D17F98F854413F77700E31F76
+:1078700007E813D337009307F00FE38CF4F6931760
+:107880009300A58313F5F40F4A866DB54A86130558
+:10789000F00F814745B5370700FC7D17F98F13F7C7
+:1078A0007700898CE31407E6E9B73304DE419317C8
+:1078B000540063C3070CE31204E20146014581470B
+:1078C00095BD33079840ADC49307F00FE308F8F473
+:1078D000B7070004336EFE00ED4763CCE70C930757
+:1078E0000002998FB317FE003357EE00B337F00054
+:1078F000D98FF697C284C9B59307F00FE30FF8F05C
+:10790000B7070004336EFE00ED4763C3E708930634
+:107910000002998EB316DE00B357EE003337D00065
+:10792000D98FB387FE40C2842E8945B3854761BB9A
+:10793000630E0E067D17B307DE01C284E30E07E671
+:107940009307F00FE31AF8F8368365B53683C284DF
+:107950002E8915B7E3040EECE38D0EE869BD638D47
+:107960000E022E86B687F9B39307F00FE381F4F287
+:10797000B307DE018583D5BD3384CE412E89B1BBEB
+:10798000E31C0EFCE3890EE62E8949BD854725B52B
+:10799000854741BFE39B07EC0146814761BBB38745
+:1079A000CE41C2842E8915B3B68769B33683C284AB
+:1079B000D9B585473DBF3971935775014AD856D21D
+:1079C0005ECE931A95001359F50106DE22DC26DA05
+:1079D0004ED652D45AD093F7F70F93DA9A00CA8B47
+:1079E000638207121307F00F6384E7128E0A3707CA
+:1079F0000004B3EAEA00138A17F80144014B93D755
+:107A000075019394950093F7F70FA58093D9F5012D
+:107A1000FDC71307F00F6387E7028E04938717F8FB
+:107A200037070004D98C330AFA408146558C173742
+:107A300000001307A74B0A043A941C40334939014C
+:107A4000BA978287130A1AF0F9E88946558C1737D6
+:107A500000001307A74D0A043A941C40334939012A
+:107A6000BA97828701491307F00FB70740001395B3
+:107A70009700F25062549317770125817E095D8D3E
+:107A800033652501D2544259B259225A925A025BA7
+:107A9000F24B216182801307F00F8147C9BFA68A8C
+:107AA000CE8B368B8947630BFB1A8D47E30CFBFAB1
+:107AB0008547630AFB0A1307FA0713F91B0063578C
+:107AC000E01293F77A0099C793F7FA00914663831F
+:107AD000D700910A93974A0063D90700B70700F8C7
+:107AE000FD17B3FAFA0013070A089307E00FE3C47F
+:107AF000E7FA93976A00A5831377F70F8DBFB9E470
+:107B00008546A9B763940A021144014A054BC5BDD5
+:107B100063990A002144130AF00F094BCDB58D4635
+:107B200031B73144130AF00F0D4BD1BD56852EC627
+:107B3000EF0050529307B5FFB39AFA009307A0F8ED
+:107B4000338AA7400144014BB24555BD2685EF005D
+:107B500070501307B5FFB307AA00B394E400138A6B
+:107B600067078146E1B513F91B000147814701B75B
+:107B70004166139554007D1693570501698E63FA8B
+:107B80009A0AB3D5FA027D1AD68601473388C50210
+:107B9000B3F6F602C206558F637B07012A979386D8
+:107BA000F5FF6368A70A6376070BF9152A97330771
+:107BB0000741B356F7023377F702B38AC602931729
+:107BC000070163FB5701AA971387F6FF63E1A70834
+:107BD00063FF5707F916AA97C205B38A5741D58D97
+:107BE000B33A5001B3EA5501CA8BF1B58546998E77
+:107BF00011C76D4601478147E34BD6E6130AEA09F0
+:107C0000339A4A01B3D7DA00B33A4001B3E75701D8
+:107C100013F7770019C713F7F70091466303D700EE
+:107C2000910713975700634807029A07A5830147F6
+:107C30003DBD93D61A00B3D5F6021397FA014183DE
+:107C40003388C502B1B7CE8B368B814AA1BDBA86C7
+:107C500061B7B685A9BF0547814711BD13F91B0060
+:107C60001307F00F814721B593567501B7078000C0
+:107C7000FD1713D6750193F6F60F1308F00FB3F83E
+:107C8000A7001357F501ED8F1376F60FFD8163847E
+:107C900006031305F00F6304A60205456383C600BF
+:107CA0008280E39FF8FE0145E30CB7FE0545EDFA3F
+:107CB0003335100182800545E38D08FC828005453F
+:107CC000E9DF828093567501B7078000FD1713D650
+:107CD000750193F6F60F1308F00FB3F8A7001357CA
+:107CE000F501ED8F1376F60FFD8163810603630CBA
+:107CF00006018DE211E2B1C3638E08026305B70489
+:107D000005451DE78280F5D779558280E39E08FE00
+:107D10006309D60211E2EDD7E314B7FEE342D6FEC3
+:107D200063C7C600E3EE17FD0145E3FDF8FC01E77C
+:107D30007D558280F5DD054582800145E39208FC92
+:107D40008280F9DBD1B78146E1BF93567501B70751
+:107D50008000FD1713D6750193F6F60F1308F00F88
+:107D6000B3F8A7001357F501ED8F1376F60FFD81D9
+:107D7000638706036309060185EA11EA89EB014579
+:107D8000639B080082800945F5FFE5DA31A8638C22
+:107D900008026300B704054575D77D558280094503
+:107DA000639808026304D60211E2F5D7E315B7FE23
+:107DB000E343D6FE63C7C600E3EF17FD0145E3F3D7
+:107DC000F8FC19E3D9BFF1D905458280E5D382805B
+:107DD00082808146C5B7797122D4135475014ECE85
+:107DE00052CC9319950006D626D24AD056CA5AC804
+:107DF0001374F40F93D99900135AF50169C49307CA
+:107E0000F00F6308F40E9397390037070004B3E9C5
+:107E1000E700130414F88144014B13D77501939ABA
+:107E200095001377F70F93DA9A0013D9F50145CF30
+:107E30009307F00F630CF7028E0A130717F8B707C2
+:107E40000004B3EAFA003A94014633452A01BD47DB
+:107E5000AA869305140063E29710173700001307F2
+:107E6000E7108A04BA949C40BA9782871304F40FEF
+:107E700063980A0C93E424000946C1BF0145130727
+:107E8000F00FB7074000B2502254A6075E07A58343
+:107E90007E05D98F92540259F249624AD24A424B26
+:107EA0005D8D45618280CA86D689328B89476301A0
+:107EB000FB0A8D47E304FBFC854736856312FB1AFA
+:107EC00001478147C9B7639E090413D77501939A87
+:107ED00095001377F70F91440144054B93DA9A000C
+:107EE00013D9F50131F7639D0A0093E414000546A8
+:107EF000A9BF63930902A1441304F00F094B31BFDA
+:107F00005685EF0030159307B5FF098CB39AFA0038
+:107F10001304A4F8014615BFB1441304F00F0D4B30
+:107F2000EDBD4E852EC6EF00F0129307B5FF13048A
+:107F3000A0F8B399F900098C8144014BB245F1BD19
+:107F400093E434000D4611B78947D286E313FBF65C
+:107F500036851307F00F81473DB741639306F3FF62
+:107F600013D6090193D80A01B3F7D900B3FADA009E
+:107F700033885703B389F80213570801B30A56032D
+:107F8000D6994E9733061603637357011A96C16745
+:107F9000FD17B376F7003378F800C206C2969399BE
+:107FA000660093570701B3393001E982B2979A0707
+:107FB000B3E6D900B3E9D7009397490063D9070026
+:107FC00013D7190093F71900B369F7002E8413072C
+:107FD000F4076350E00493F7790099C793F7F90029
+:107FE00091466383D70091099397490063D90700AD
+:107FF000B70700F8FD17B3F9F90013070408930752
+:10800000E00F63CBE70493976900A5831377F70F1D
+:108010009DBD8547B386E74011C76D46014781473F
+:10802000E343D6E61307E4093397E9003337E0006A
+:10803000B3D7D900D98F13F7770019C713F7F70013
+:1080400091466303D700910713975700634C0700CD
+:108050009A07A583014705BD1307F00F814725B592
+:108060002E84B5B70547814739BD370780004111D8
+:108070007D179356750113D87501B377A70093F652
+:10808000F60F935EF5013376B70026C24AC0137827
+:10809000F80F06C622C41303F00F3E8E3689F6840D
+:1080A000139F3700FD8113153600B3880641630224
+:1080B000681093C51500638CBE106354100D6310D7
+:1080C00008106304051EFD18B307AF40638608025D
+:1080D0009307F00F6388F616ED4763C71729130758
+:1080E0000002330717413317E500B3571501333743
+:1080F000E000D98FB307FF40139757006351071A69
+:10810000370400047D147D8C2285A9276D15B317D3
+:10811000A400634E251B33052541130415001307E6
+:108120000002018F3397E7003337E000B3D78700B1
+:10813000D98F014913F7770019C713F7F700914654
+:108140006303D700910713975700635E07149306E4
+:1081500019001307F00F93FE14006386E6169A07C2
+:10816000A58393F6F60FA607B240224413D59700D5
+:10817000DE069397FE01558D924402495D8D4101C3
+:1081800082806392080A138716001377E70F631B38
+:1081900007146394062263020F2071D5B307AF4022
+:1081A0001397570063550722B307E5410149AE8491
+:1081B00051B7E30005F0638ABE0AE35410FD93074C
+:1081C000F00F6381F608B70700045D8D31B7635E79
+:1081D0001009630108089307F00F6385F606B707D7
+:1081E00000045D8DED4763C0171F130700023307BE
+:1081F00017413317E500B35715013337E000D98F26
+:10820000FA9713975700635C070805091307F00FE7
+:10821000630BE90AB706007E13D71700FD16858B9E
+:10822000758FD98F01BF3307D84063950610630D52
+:108230000F147D176303071A9307F00F6314F810E8
+:10824000AE84328E630F0E06814E9306F00FB70791
+:10825000400011BF39C9FD18B307AF00E38308FA26
+:108260009307F00FE390F6F8F1BF639908081389BC
+:1082700016001377E90F63160712639B061063035A
+:108280000F16E30205EEB307AF001397570001493D
+:1082900063570700370700FC7D17F98F054913F76F
+:1082A0007700E31C07E813DE37009307F00FE30BBA
+:1082B000F9F893179E00A5839376F90F93FE1400A7
+:1082C0005DB593FE14009306F00F814769BD370733
+:1082D00000FC7D17F98F13F777003309A940E31EDF
+:1082E00007E4D1B73304AF409317540063C3070CBE
+:1082F000E31C04E0814E81468147B5B53307D84081
+:10830000B5C69307F00FE30EF8F2B7070004336F1A
+:10831000FF00ED4763CDE70C93070002998FB31779
+:10832000FF003357EF00B337F0005D8FB307A700AE
+:108330004289C1BD9307F00FE304F8F0B7070004CA
+:10834000336FFF00ED4763C2E70893070002998F80
+:10835000B317FF003357EF00B337F000D98FB307DF
+:10836000F5404289AE8449BB854769B3630E0F0669
+:108370007D17B307AF004289E30507E89307F00FC5
+:10838000E319F8F8328E7DBD328E4289AE8431BF5A
+:10839000E3090FEAE30805EA45BD0DCDAE8EB287CD
+:1083A000D9B39307F00FE300F9F2B307AF00858369
+:1083B000FDB53304E541AE8481BBE31D0FFCE3054D
+:1083C00005E8AE84BDBD854725BD854749BF014948
+:1083D000E39707EC814E814779B3B307E5414289C2
+:1083E000AE8419BBB28741B3328E42897DBD054749
+:1083F00035BF37068000135775019307F6FF1377D3
+:10840000F70F9305E007B3F6A7009357F50163FC58
+:10841000E5009305D00963FAE500370500801345B0
+:10842000F5FF3E9582800145828093055009D18EEB
+:1084300063CDE500130660093307E64033D7E60055
+:108440003305E040F5F33A8582801307A7F63397AA
+:10845000E600FDB713577501370680009307F6FF56
+:108460001377F70F9305E007B3F6A7009357F501CD
+:10847000014563F4E50099C3828082809307E00997
+:108480007D55E3EBE7FE93055009B3E7C60063D7DC
+:10849000E5001307A7F63395E7008280130560090E
+:1084A0003307E54033D5E7008280411106C622C478
+:1084B00026C20DCD9357F54133C4A7001D8CAA8465
+:1084C0002285492E9307E0093387A7409307600967
+:1084D000FD8063CCE702A1469377F70F63D5A60032
+:1084E00061153314A4002604258021A0814481470E
+:1084F0000144260413559400B2402244DE07FE04D2
+:108500005D8D458D9244410182809307900963DD22
+:10851000E7009307B5019546B317F400898E3354ED
+:10852000D400B337F0005D8C954763D6A70093075E
+:10853000B5FF3314F400B70600FCFD169377740002
+:108540003376D40085C39377F4009145638CB700EC
+:1085500011069317560063D707009307F009758E2D
+:108560003387A7401314660025809377F70F51B720
+:10857000411106C622C415CD2A84E92C9307E009CF
+:108580003387A7409307600963C0E704A146937748
+:10859000F70F63D5A60061153314A40026042580C7
+:1085A000260413559400B2402244DE075D8D41013C
+:1085B00082800144260413559400B240224481472E
+:1085C000DE075D8D410182809307900963DDE7003E
+:1085D0009307B5019546B317F400898EB337F000C1
+:1085E0003354D4005D8C954763D6A7009307B5FF3D
+:1085F0003314F400B70600FCFD169377740033764D
+:10860000D40085C39377F4009145638CB7001106BD
+:108610009317560063D707009307F009758E3387C9
+:10862000A740131466002580260413559400B24019
+:1086300022449377F70FDE075D8D41018280135747
+:1086400075011377F70F41119307170022C426C253
+:108650001314950006C693F7E70F25809354F50190
+:1086600085C793573400130707387604B2075207BB
+:10867000B1831395F401D98FC98FB240228522446A
+:108680009244BE854101828005EB39C42285D922FE
+:10869000A94763C6A7042D47098F93075501335790
+:1086A000E4003314F4009317C70013079038098FC0
+:1086B000B1831377F77F5DBF01CC13573400B70741
+:1086C0000800D98FB2077604B1831307F07F79BF12
+:1086D0001307F07F814759BF0147814741BF130707
+:1086E00055FF3317E40001447DBF93D645019397AE
+:1086F000C50093F6F67FB183138616008E071357D5
+:10870000D5011376E67FFD815D8F9318350035CE58
+:10871000138806C89307E00F63DD070181471395AF
+:1087200097009306F00FDE062581FE05558D4D8DD1
+:1087300082806355000B931765000E07B337F00076
+:10874000D98F93D8D801B3E7170113F777006301E6
+:10875000071013F7F70091466303D7009107370717
+:1087600000047D8F75C7130718001306F00F93766A
+:10877000F70FE305C7FA9A07A58313959700DE065E
+:108780002581FE05558D4D8D8280B367170199EEC9
+:1087900085CF95479A07A5831395970093F6F60F13
+:1087A000DE062581FE05558D4D8D8280A5DBB70740
+:1087B0004000139597009306F00FDE068145258152
+:1087C000FE05558D4D8D828081471395970081461A
+:1087D000DE062581FE05558D4D8D8280A5576348A7
+:1087E000F804F94737068000B38707417D45598E65
+:1087F0006351F504795733070741130500023357D6
+:10880000E6006388A700938626CAB316D600B3E8AD
+:10881000D800B3371001D98F13F77700014815FB43
+:10882000139757008546E34807F48146A5B781466C
+:108830008DB7938626C83397D8003337E000B31638
+:10884000D600B3D8F800B367D700B3E7F800E9B7AC
+:10885000C28689B7C167637CF5029307F00F1307DF
+:10886000000263EBA7009727000093872774AA975D
+:1088700088233305A74082802181972700009387B2
+:10888000E772AA97882361473305A7408280B7071C
+:108890000001636DF50061819727000093870771E0
+:1088A000AA97882321473305A740828041819727D3
+:1088B00000009387A76FAA97882341473305A740F5
+:1088C0008280B3C7A5008D8B3307C50081E78D4734
+:1088D00063EDC700AA87637EE508942185078505B7
+:1088E000A38FD7FEE3EBE7FE828093763500AA875D
+:1088F00089CA942185078505A38FD7FE93F6370093
+:10890000C5BF9376C7FF138606FE63F0C70683A331
+:10891000050083A2450083AF850003AFC50083AE89
+:10892000050103AE450103A3850183A8C501938515
+:10893000450223A0770003A8C5FF23A2570023A464
+:10894000F70123A6E70123A8D70123AAC70123AC77
+:10895000670023AE17019387470223AE07FF75B761
+:1089600090419107910523AEC7FEE3EBD7FEE3E606
+:10897000E7F6828039713EDA2ED232D436D63AD832
+:1089800042DC46DE9387C18122CC804326CA06CED4
+:10899000AA8409C41C4C99E32285B92D0C445410B7
+:1089A0002686228536C6EF00705FF2406244D244CC
+:1089B00021618280011126CA4AC806CE22CC4EC649
+:1089C00052C4AA842E8901C51C4D91E335259C4CC7
+:1089D000804499E326850D25972700009387076F2C
+:1089E000631BF402C0405E24A18BB1C71C48A1C721
+:1089F000FD59294A1C4483450900FD17B1E91CC4EF
+:108A000063DD07062286A9452685ED22FD5763080A
+:108A1000F502294535A0972700009387276D631439
+:108A2000F4008044C9B79727000093872768E31CA8
+:108A3000F4FAC0444DBFA28526859D2C55D97D559D
+:108A4000F2406244D2444249B249224A05618280DE
+:108A50001CC4050963D70700184C63CAE700638884
+:108A600045011C401387170018C08CA361B72286EC
+:108A700026854922E31035F9D9B71C401387170022
+:108A800018C0294798A371B79387C181AA858843E5
+:108A90006FF05FF241119387C18122C4804326C2E7
+:108AA00006C61C5CAA8495EB6145EF00E07AB737F7
+:108AB000CDAB08DC9387E7301CC1B7176DE6938711
+:108AC00047235CC1B7E705009387C7EE1CC5AD47D8
+:108AD0005EA50547814718C95CC91C5CB2402244A9
+:108AE00084CB23AA070092444101828041119387DD
+:108AF000C18122C4804306C61C5C8DEB6145A92F51
+:108B0000B737CDAB08DC9387E7301CC1B7176DE6EC
+:108B1000938747235CC1B7E705009387C7EE1CC561
+:108B2000AD475EA50547814718C95CC9105C37870A
+:108B3000954CB7F75158144A484A1307D7F2938710
+:108B4000D742B387F602B24022443305E5023E9590
+:108B5000B387E60233B7E6029386170014CA2A9752
+:108B600033B5F6003A9548CA060505814101828071
+:108B700035713ECBB707008093C7F7FF3ECE3EC8A6
+:108B8000C1779387872032C536C73AC942CD46CFD1
+:108B90003ECA9387C1812AC42ACC884334012E86D9
+:108BA0002C0086DE36C2EF003012A2472380070079
+:108BB000F6500D61828005C68547630BF602138768
+:108BC00015002E968346F7FF0505BA87A30FD5FE3D
+:108BD00081CE0507E318E6FE2300050011A0AE874D
+:108BE000850703C7F7FF6DFF3385B7407D1582808A
+:108BF000AE87DDB7011122CC26CA4AC806CE4EC6C2
+:108C0000AA842E89328401C51C4D91E3F52697274D
+:108C100000009387A74B6317F406C0401C4C1CC48C
+:108C20005E24A18BC1C31C48B5CF1C480840937972
+:108C3000F90F1379F90F1D8D5C486346F500A28585
+:108C40002685692C25E51C440505FD171CC41C4020
+:108C50001387170018C0238037015C486388A7007A
+:108C60005E24858B81CBA9476316F900A2852685F2
+:108C7000B5240DEDF24062444A85D2444249B249DE
+:108C80000561828097270000938747466314F400AC
+:108C9000804469B79727000093874741E310F4F8B1
+:108CA000C044ADBFA2852685212041D17D59D9B7C9
+:108CB00041119387C18126C2844322C44AC006C69B
+:108CC0002A892E8489C49C4C99E3268535269727CA
+:108CD00000009387A73F631BF402C0400317C40042
+:108CE00093170701C18393F68700ADEA93F6070156
+:108CF00095EEA5472320F900136707045AA47D5574
+:108D0000B2402244924402494101828097270000E8
+:108D10009387C73D6314F4008044C9B797270000C8
+:108D20009387C738E31CF4FAC0444DBF918B9DC3B1
+:108D30004C5889C9930744046384F5004A85152378
+:108D4000232A04025E242322040093F7B7FD5EA4C5
+:108D50001C481CC05E2493E787005EA41C4899EB66
+:108D60005E241307002093F707286385E700A28598
+:108D70004A8591295E2413F717001DC35C482324FC
+:108D80000400B307F0401CCC1C480145B5FB831719
+:108D9000C40013F707082DD793E707045EA485B72F
+:108DA000898B014791E3584818C4F9BFDE250111AA
+:108DB00022CC26CA06CE4AC84EC613F78700AA841C
+:108DC0002E8479EBD841634DE000B841634AE0005E
+:108DD0000145F2406244D2444249B2490561828071
+:108DE00058547DD703A904009396370123A00400AB
+:108DF00063DB060670485E24918B99C75C401D8E2C
+:108E00005C5899C33C401D8E5C540C5081462685AD
+:108E10008297FD575A24631DF5009440F54763E897
+:108E2000D706B70740208507B3D7D700858BA5C3E2
+:108E30001C48232204001CC09317370163D8070085
+:108E4000FD576314F5009C4091E368C84C5823A07B
+:108E50002401BDDD930744046384F50026851121B8
+:108E6000232A0402B5B70C50014685462685029791
+:108E7000FD572A86E311F5F89C40B5DF75476385F9
+:108E8000E70059476393E70423A0240191B71367D0
+:108E900007045AA47D5535BF83A90501E38A09F269
+:108EA00003A905008D8B23A0350133093941014702
+:108EB00091E3D84918C4E35D20F11C540C50CA86D4
+:108EC0004E86268582976347A0005E2493E70704B9
+:108ED0005EA4C9B7AA993309A940F1BF9C49A5C3AB
+:108EE000011122CC06CE2A8411C51C4D81E72EC665
+:108EF0002122B245972700009387471D639CF50008
+:108F00004C408397C5009DC722856244F2400561AD
+:108F10006FF0DFE9972700009387471D6394F50002
+:108F20000C44C5B79727000093874718E39BF5FCCF
+:108F30004C44C1BFF2406244014505618280014555
+:108F40008280411122C406C62A844EA572A5232020
+:108F500005002322050023240500232205062328DB
+:108F60000500232A0500232C050021468145130511
+:108F7000C505EF70EFA2971700009387E7E85CD074
+:108F800097170000938707EB1CD49717000093876F
+:108F9000E7EE5CD497170000938747F100D01CD808
+:108FA000B24022444101828097050000938545F339
+:108FB00091AA411126C2130680069384F5FFB3845B
+:108FC000C4024AC02E8922C406C693854407352EA2
+:108FD0002A8401CD2320050023222501310508C460
+:108FE000138684068145EF70AF9B2285B2402244F0
+:108FF00092440249410182801C4DA5E7411106C6F9
+:1090000022C497070000938767FA1CD593870182D3
+:109010009C43232405042326050423280504631404
+:10902000F50085471CCD2A84352848C022851D2897
+:1090300008C42285052848C4484001469145EFF000
+:109040005FF008440546A545EFF0BFEF48440946E8
+:10905000C945EFF01FEF85471CCCB24022444101C7
+:109060008280828041119387018226C284434AC054
+:1090700006C69C4C22C42A8981E72685EFF0DFF7DB
+:10908000938484048044DC40FD1763D607009C4031
+:10909000B9CF8440C5BF0317C40039E7C17785073E
+:1090A0002322040623200400232204002324040096
+:1090B0005CC423280400232A0400232C0400214636
+:1090C00081451305C405EF70AF8D232A0402232CBC
+:1090D000040223240404232604042285B2402244EB
+:1090E00092440249410182801304840671BF914574
+:1090F0004A85EFF01FEC88C049FDB1472320F900F5
+:109100000144E1BF797122D44AD052CC56CA5AC820
+:109110005EC606D626D24ECE2A8AAE8A13048504AF
+:109120000149054BFD5B09ECB25022544A8592542B
+:109130000259F249624AD24A424BB24B456182809F
+:10914000044483294400FD1963D409000040E1BFB1
+:10915000DE24637BFB008397E40063877701A685A9
+:109160005285829A3369A90093848406E9BF1971F4
+:10917000A6DAAE848395E500A2DC86DE328463DB6A
+:109180000500DE2423A0060093F7070885E7930770
+:1091900000401DA0300836C6EF00D057B246E3426B
+:1091A00005FE7247BD67F98F7977BA9793B71700B5
+:1091B0009CC2F1BF930700041CC0F6506654D654FD
+:1091C000014509618280DE25011122CC06CE26CA26
+:1091D0004AC8898B2E8489CF930774041CC01CC88D
+:1091E00085475CC8F2406244D244424905618280AE
+:1091F00074003000AA84EFF09FF7A2452A892685E3
+:10920000292219E98317C40013F7072061FFF19B96
+:1092100093E727005EA4C9B797070000938707D993
+:109220009CD45E2408C008C893E707085EA4A24740
+:109230005CC8B24781CF8315E4002685EF00B050AB
+:1092400011C55E24F19B93E717005EA45E24336989
+:10925000F9002316240179B79387C181AA85884331
+:109260006DA0DDC183A7C5FF411122C406C626C279
+:109270001384C5FF63D307003E94AA84EF00D0583F
+:109280009387418A9C4381EF2322040023A2818A91
+:109290002244B2402685924441016F001057637EFC
+:1092A000F40014403307D4006396E7009843DC438E
+:1092B000369718C05CC0D9BFBA87D84319C3E37DBD
+:1092C000E4FE94433386D700631F86001040B296B5
+:1092D00094C33386D700E31DC7FA10435843B296B0
+:1092E00094C3D8C375B76375C400B1479CC04DB76C
+:1092F0001040B306C4006316D70014435843B29617
+:1093000014C058C0C0C369B78280011126CA9384B3
+:109310003500F19806CE22CC4AC84EC6A104B1470A
+:1093200063F5F404B14463E4B4042A89EF00D04D3A
+:109330009387418A98433A8429E49387818A9C439E
+:1093400099E781454A85EF00D02823A4A18AA68504
+:109350004A85EF001028FD5963193507B1472320CE
+:10936000F9004A85EF00704A29A0E3DE04FAB1470C
+:109370001CC10145F2406244D2444249B2490561F0
+:1093800082801C40858F63CF0702AD4663F6F600EE
+:109390001CC03E9404C031A05C406313870223A22A
+:1093A000F18A4A85EF0070461305B4009307440024
+:1093B00061993307F5405DDF3A94898F1CC05DBF2A
+:1093C0005CC3C5B72287404085BF13043500719840
+:1093D000E30285FCB305A4404A85EF00901FE31B20
+:1093E00035FBADBF01114AC803A9850022CC52C488
+:1093F0005AC006CE26CA4EC656C22E84328B368A34
+:1094000063E92609DE2513F7074851C304408C4958
+:109410005848AA8AB389B4408D44B384E40209470A
+:10942000B3C4E402138716004E9763F3E400BA84D2
+:1094300093F70740BDCFA6855685EFF01FED2A892B
+:109440001DE1B14723A0FA005E247D5593E7070490
+:109450005EA4F2406244D2444249B249224A924A4E
+:10946000024B056182800C484E86EFF08FC55E246A
+:1094700093F7F7B793E707085EA42328240144C8AD
+:109480004E99B38434412320240104C45289637368
+:109490002A01528908404A86DA85EF0090321C443E
+:1094A0000145B38727411CC41C403E992320240159
+:1094B0004DB726865685EF0070352A895DFD0C482C
+:1094C0005685EFF01FDAB5BFDE25717126D34AD17C
+:1094D0004ECF06D722D552CD56CB5AC95EC762C5EC
+:1094E00066C393F70708AA892E89B284B9C39C4939
+:1094F000A9E39305000436C6EFF03FE12320A9005D
+:109500002328A900B24615E1B14723A0F9007D55F3
+:10951000BA502A549A540A59FA496A4ADA4A4A4BC2
+:10952000BA4B2A4C9A4C4D61828093070004232A3F
+:10953000F90093070002A30CF1029307000302DA7B
+:10954000230DF10236CE930B5002972A0000938A26
+:10955000EABB054C294B26841C2099C363997709E3
+:10956000B30C9440638E0C00E6862686CA854E8531
+:10957000EFF05FE7FD57630BF518D256E69636DA43
+:109580001C2063850718FD579304140002D002D6EF
+:109590003ED202D4A301010682DC8C2015465685FA
+:1095A000EF00B02013841400825721E513F7070160
+:1095B00009C713070002A301E10613F7870009C7D3
+:1095C0001307B002A301E10694201307A002638AE7
+:1095D000E602B257268481462546182093051400DA
+:1095E000130707FD6372E6068DC63ED61DA005046F
+:1095F000A5B7330555413315AC00C98F3ED0A284C1
+:1096000069BF724793064700184336CE6347070287
+:109610003AD618209307E002631DF7041830930729
+:10962000A002631BF702F2470904138747009C431B
+:109630003ACE63C107023ED22DA83307E04093E73C
+:1096400027003AD63ED0F1B7B387670385462E840C
+:10965000BA9761B7FD57C5B7050402D28146814765
+:109660002546182093051400130707FD6376E606C8
+:10967000F9F20C200D46172500001305A5A9EF00EF
+:10968000D01211CD972700009387C7A81D8D93078F
+:109690000004B397A700025505045D8D2AD00C2065
+:1096A000194617250000130525A793041400230C61
+:1096B000B102EF00900F25C59777FFFF938787943E
+:1096C00095E70257F2471377071009CF91073ECE6F
+:1096D000D257D2973EDA41B5B387670385462E84C9
+:1096E000BA9741B79D07E19BA107D5B778089706C0
+:1096F0000000938666CF4A860C104E8597000000C6
+:10970000E7000000FD572A8AE314F5FC8357C900DF
+:109710007D5593F70704E39D07DE5255D5BB7808C6
+:1097200097060000938646CC4A860C104E85092188
+:10973000D1BF1C46FD171CC663DA0700184E63C56F
+:10974000E700A9476394F5006FF0CFCA1C422E854D
+:109750001387170018C28CA38280011122CC26CA5D
+:109760004AC84EC652C406CE2A89AE893284B30492
+:10977000D6007D5A63149400014509A80C204E863A
+:109780004A85EFF01FFB0504E31645FFF2406244F3
+:10979000D2444249B249224A05618280357122CDC4
+:1097A00026CB4AC94EC706CF52C556C35AC1DEDEC4
+:1097B000E2DCE6DAAA89AE843289368409C51C4D1A
+:1097C00099E3EFF07F8397270000938727906398B2
+:1097D000F40C83A44900DE24A18BE5C79C48F5C3A3
+:1097E00093070002A304F1029307000302D22305AA
+:1097F000F10222C6930B5002972A0000938A0A9125
+:10980000054C294B4A841C2099C3639F770DB30CE8
+:109810002441638E0C00E6864A86A6854E85EFF0CD
+:10982000DFF3FD57630FF51C9256E69636D21C20E7
+:109830006389071CFD571309140002C802CE3ECAF3
+:1098400002CCA309010482D483450900154656853C
+:10985000A92F13041900C24751E913F7070109C7DB
+:1098600013070002A309E10413F7870009C71307D0
+:10987000B002A309E104834609001307A002638F25
+:10988000E606F2474A8481462546182093051400CF
+:10989000130707FD6377E60AB5CA3ECE85A897276A
+:1098A00000009387A7846395F40083A4890025B7FB
+:1098B000971700009387877FE39FF4F083A4C90084
+:1098C00019BFA6854E85EFF0AFBE19D97D55FA4078
+:1098D0006A44DA444A49BA492A4A9A4A0A4BF65B28
+:1098E000665CD65C0D618280050431BF330555414D
+:1098F0003315AC00C98F3EC82289B9B732479306E9
+:109900004700184336C6634707023ACE182093072C
+:10991000E002631DF70418309307A002631BF702EF
+:10992000B2470904138747009C433AC663C1070244
+:109930003ECA2DA83307E04093E727003ACE3EC841
+:10994000F1B7B387670385462E84BA973DBFFD57AD
+:10995000C5B7050402CA81468147254618209305EC
+:109960001400130707FD6374E606F9F20C200D4698
+:10997000171500001305057A0D2D11CD971700005E
+:10998000938747791D8D93070004B397A70042453D
+:1099900005045D8D2AC80C20194617150000130513
+:1099A000A577130914002304B102012535C1976777
+:1099B000FFFF9387276595E74247B2471377071064
+:1099C00009CF91073EC69257D2973ED225BDB387A5
+:1099D000670385462E84BA9751B79D07E19BA1077F
+:1099E000D5B7780097060000938666D726860C08C0
+:1099F0004E8597000000E7000000FD572A8AE31417
+:109A0000F5FCDE2493F70704E39207EC1255C1B589
+:109A1000780097060000938686D426860C084E852B
+:109A2000012AE1BF797156CA9C49BA8A984522D465
+:109A300026D24ECE52CC06D64AD05AC85EC6AA8985
+:109A40002E84B284368A63D3E700BA879CC003476A
+:109A5000340419C385079CC01C4093F7070281C7D3
+:109A60009C4089079CC00329040013796900631A8C
+:109A70000900130B9401FD5B5C449840998F634C83
+:109A8000F9041C408346340493F70702B336D00030
+:109A9000A5EB13063404D2854E85829AFD576303E5
+:109AA000F5041C4011469840998B544481446397B7
+:109AB000C700B384E64063D3040081441C441848C3
+:109AC0006354F700998FBE94014969047D5B6398E4
+:109AD0002405014509A885465A86D2854E85829A75
+:109AE000631E75017D55B250225492540259F249B9
+:109AF000624AD24A424BB24B456182800509ADBFF2
+:109B00003307D40013060003A301C704034754041A
+:109B100093871600A2978906A381E7049DBF854617
+:109B20002286D2854E85829AE30E65FB050945B7EC
+:109B3000797122D426D24AD04ECE06D652CC56CAFD
+:109B40005AC8B689942D930790063289AA842E8428
+:109B500013863504638DF60263E2D706930780050A
+:109B60006386F61863EDD700638E062093073004F2
+:109B7000638EF60A930A24042301D404C9A0930730
+:109B800030066385F60A93074006E395F6FE1C400F
+:109B9000084393F6070893054500C5C61C410CC34E
+:109BA00063D807001307D002B307F040A301E40411
+:109BB000971600009386C656294765A893070007A5
+:109BC0006382F61663E5D7029307E0066389F61809
+:109BD0009307F006E390F6FA0C401C4313F80508CF
+:109BE000138547006307080608C39C4385A89307AD
+:109BF0005007E383F6FE930780076389F612930705
+:109C00003007E399F6F61C43D0418145938647001F
+:109C100014C383AA07005685492E01C53305554153
+:109C200048C05C401CC8A301040461A81C43930AFB
+:109C30002404938647009C4314C32301F4048547FE
+:109C4000D5B793F607041C410CC3B9DAC207C18724
+:109C500081BF93F5050408C3C9D99E231307F006F5
+:109C60006387E60E971600009386864B2947A3016B
+:109C700004044C400CC463C5050008406D9908C03D
+:109C800099E3B28A89CDB28AB3F5E702FD1AB69597
+:109C90008C212380BA00B3D5E70263F0E70CA1471B
+:109CA000631EF7001C40858B91CB58401C4863C74E
+:109CB000E70093070003A38FFAFEFD1A330656410F
+:109CC00010C84E87CA867000A2852685EFF09FD502
+:109CD0007D5A631D450B7D55B25022549254025952
+:109CE000F249624AD24A424B45618280A382D5043E
+:109CF000971600009386C6420C40084313F80508E7
+:109D00001C411105630D080208C313F7150001C7B4
+:109D100093E505020CC04147B9FB0C4093F5F5FDF6
+:109D20000CC0B1B79C4193E707029CC19307800721
+:109D3000A302F404971600009386C63F75BF13F87C
+:109D4000050408C3E30308FCC207C1837DBF97165F
+:109D500000009386E63C214719BFAE8735B7944192
+:109D60001C43CC4913F80608138547006306080016
+:109D700008C39C438CC339A008C393F606049C43D4
+:109D8000F5DA8EA323280400B28A25BF144856862C
+:109D9000CA8526858299E30045F51C40898B8DE7AD
+:109DA000B2474844E35AF5F23E853DB785465686AC
+:109DB000CA8526858299E30065F3050A5C4432472B
+:109DC000998FE345FAFEE9BF014A930A94017D5B4E
+:109DD000F5B7411122C42A842E859787FF1F23AB34
+:109DE00007B006C6EF80CFACFD576319F500978723
+:109DF000FF1F938727B09C4391C31CC0B2402244ED
+:109E000041018280411122C42E848395E50006C65B
+:109E1000912C634905007C48AA977CC8B240224433
+:109E2000410182805E247D777D17F98F5EA4FDB7A6
+:109E3000DE25011122CC26CA4AC84EC606CE93F7AB
+:109E40000710AA842E843289B68991C78395E500CC
+:109E5000894601460D225E247D777D17F98F5EA429
+:109E60008315E4006244F240CE864A86B2494249F4
+:109E70002685D244056125A8411122C42E848395EC
+:109E8000E50006C6CD28FD575A24631AF500FD7774
+:109E9000FD17F98F5EA4B24022444101828085679C
+:109EA000D98F5EA468C8C5BF8395E50025A8411178
+:109EB00022C42A842E85B28536869787FF1F23AB5E
+:109EC00007A206C6EF80EF9AFD576319F500978742
+:109ED000FF1F938727A29C4391C31CC0B24022441A
+:109EE00041018280411122C42A842E859787FF1F59
+:109EF00023A207A006C65D2AFD576319F5009787C0
+:109F0000FF1F9387279F9C4391C31CC0B2402244EC
+:109F100041018280411122C42A842E85B28597870F
+:109F2000FF1F23A9079C06C6512AFD576319F50098
+:109F30009787FF1F9387079C9C4391C31CC0B24027
+:109F4000224441018280411122C42A842E859787B0
+:109F5000FF1F23A1079A06C6952AFD576319F5002E
+:109F60009787FF1F938707999C4391C31CC0B240FA
+:109F7000224441018280411122C42A842E85B28567
+:109F800036869787FF1F23A7079606C6812AFD57A7
+:109F90006319F5009787FF1F9387C7959C4391C36B
+:109FA0001CC0B24022444101828093F5F50F2A96ED
+:109FB0006314C500014582801C21E38EB7FE0505B0
+:109FC000C5BF63F1A504B386C500637DD502934583
+:109FD000F6FF8147FD176393F50082803387F60013
+:109FE000034807003387C7002A9723000701DDB71E
+:109FF0003387F50014233307F500850714A3E3190D
+:10A00000F6FE82808147E5BF8280828081E5B2854D
+:10A010006FF0AFAF011122CC06CE26CA4AC84EC699
+:10A02000328401EEEFF0EFA30149F24062444A8529
+:10A03000D2444249B24905618280AE84AA89A928E6
+:10A040002689E37485FEA2854E85EFF00FAC2A8940
+:10A0500069DDA6852286EFE0DF86A6854E85EFF0D6
+:10A060004FA0E1B7411122C42A842E85B2853686DD
+:10A070009787FF1F23A0078806C68D28FD57631901
+:10A08000F5009787FF1F9387E7869C4391C31CC009
+:10A09000B24022444101828083A7C5FF1385C7FFD8
+:10A0A00063D50700AA959C413E9582809307800561
+:10A0B0001787FF1F2320F7847D5582809307800533
+:10A0C0001787FF1F2328F7827D558280930780051D
+:10A0D0001787FF1F2320F7820145828093078005A1
+:10A0E0001787FF1F2328F7807D55828093078005FF
+:10A0F0001787FF1F2320F7807D5582805379737463
+:10A10000656D436C6B3A25640D0A00004368697005
+:10A1100049443A253038780D0A00000043616C69E3
+:10A120006272617474696F6E5F56616C203A2025AB
+:10A13000640A0000CDCC4C3D6666663F0000F043EB
+:10A140009A9999999999A93FCDCCCCCCCCCCEC3F9C
+:10A15000696E2074696D3120697271200000000001
+:10A16000000040413333D3400000A04100003041A3
+:10A170000000804000F07F45000000000000044027
+:10A18000000000000000E03F00000000000034403C
+:10A190001D130F130213F412E612D712C812B912CC
+:10A1A000AA129A128A127A126A1259124812371295
+:10A1B000251213120112EE11DB11C811B511A111F4
+:10A1C0008D11791164114F113A1125110F11F910E8
+:10A1D000E310CC10B5109E1087106F1057103F1071
+:10A1E00026100D10F40FDB0FC20FA80F8E0F740F87
+:10A1F000590F3F0F240F090FED0ED20EB60E9A0E17
+:10A200007E0E620E460E290E0C0EF00DD30DB60D0D
+:10A21000980D7B0D5E0D400D220D050DE70CC90C50
+:10A22000AB0C8D0C6F0C510C330C150CF70BD90BC0
+:10A23000BB0B9C0B7E0B600B420B240B060BE80A3E
+:10A24000CA0AAD0A8F0A710A540A360A190AFC09A9
+:10A25000DF09C209A50988096C094F0933091709E3
+:10A26000FB08DF08C308A8088D08720857083C08D7
+:10A2700021080708ED07D307B907A00786076D0770
+:10A2800054073C0723070B07F306DB06C406AD069D
+:10A2900096067F06680652063C0626061006FB0553
+:10A2A000E605D105BC05A70593057F056B05580597
+:10A2B000450532051F050C05FA04E804D604C4045C
+:10A2C000B304A10490047F046F045F044E043E04B1
+:10A2D0002F041F0410040104F203E303D503C70392
+:10A2E000B903AB039D0390038203750368035C030A
+:10A2F0004F03430336032A031F0313030703FC0220
+:10A30000F102E602DB02D102C602BC02B202A702DF
+:10A310009E0294028A02810277026E0265025C024A
+:10A3200054024B0242023A0232022A0222021A026A
+:10A3300012020B020302FC01F401ED01E601DF0150
+:10A34000D801D201CB01C401BE01B801B101AB01FA
+:10A35000A5019F01990194018E01880183017D016E
+:10A36000780173016E01690163015E015A015501B3
+:10A37000500100005B494E464F5D205B25733A2536
+:10A38000645D204D617463685F68617264776172B7
+:10A3900065494448592073756363657373200D0ADA
+:10A3A0000D0A00005B494E464F5D205B25733A2540
+:10A3B000645D20204D617463685F73746172745FC3
+:10A3C000466C6167206572726F72202578200D0AD5
+:10A3D000000000005B494E464F5D205B25733A2527
+:10A3E000645D204D617463685F42726F6164636194
+:10A3F0007374486172647761726549442073756350
+:10A40000636573730D0A0D0A000000005B494E4638
+:10A410004F5D205B25733A25645D204D6174636850
+:10A420005F68617264776F72644944206572726F0D
+:10A43000720D0A005B494E464F5D205B25733A253D
+:10A44000645D204D617463685F436F6D6D756E6907
+:10A45000636174696F6E494448592073756363651D
+:10A460007373200D0A0D0A005B494E464F5D205B59
+:10A4700025733A25645D204D617463685F42726F95
+:10A48000616463617374436F6D6D756E696361744C
+:10A49000696F6E494420737563636573730D0A0DAC
+:10A4A0000A0000005B494E464F5D205B25733A254C
+:10A4B000645D204D617463685F436F6D6D756E6997
+:10A4C000636174696F6E4944206572726F720D0A20
+:10A4D000000000005B494E464F5D205B25733A2526
+:10A4E000645D204D617463685F636F6E74726F6C3E
+:10A4F000576F7264206572726F720D0A000000005F
+:10A500005B494E464F5D205B25733A25645D204DC7
+:10A51000617463685F646174614C656E206572721A
+:10A520006F723A2025780D0A000000005B494E4604
+:10A530004F5D205B25733A25645D20636865636B1E
+:10A540003A2025782C2025780D0A00000000604173
+:10A550000AD7A33C0000884100007041666666414E
+:10A560000000C8420000B4420000484200401C46BF
+:10A57000535630315F3234313031353031000000E4
+:10A5800061646472657373203A20307820257820E6
+:10A5900025782025782025782025782025782025E5
+:10A5A000780A00004163636573735F4E6F64655F93
+:10A5B00054797065203A20307825780A0000000030
+:10A5C000436F6D6D756E69636174696F6E5F4D6524
+:10A5D00074686F6473203A20307825780A00000090
+:10A5E00067773438355F42617564203A2025640A04
+:10A5F000000000006261743438355F426175642088
+:10A600003A2025640A00000068617264776172650F
+:10A610004944203A20307820257820257820257854
+:10A620002025782025782025780A0000636F6D6D3D
+:10A63000756E69636174696F6E4944203A203078A1
+:10A640002025782025782025782025780A0000000C
+:10A650006F6E6C79506F776572203A20307825786C
+:10A660000A000000636F6E7374616E74566F6C74D1
+:10A6700061676556203A2025642F3130300A00008A
+:10A68000666C6F617449203A2025642F3130300A9E
+:10A69000000000007374617274536F6C61724F70CC
+:10A6A000656E4369726375697456203A2025642F7C
+:10A6B0003130300A0000000073746F70536F6C61AA
+:10A6C000724F70656E4369726375697456203A20E3
+:10A6D00025642F3130300A00636F6E7374616E74BD
+:10A6E000566F6C7461676543686172676556203A9E
+:10A6F0002025642F3130300A00000000466C6F6165
+:10A700007456203A2025642F3130300A00000000B2
+:10A710006C6F6F70496D706564616E6365203A207F
+:10A7200025642F3130300A004869676853696465D1
+:10A730004D6F7354656D70657261747572655F738A
+:10A74000746F70203A2025642F3130300A000000E9
+:10A7500048696768536964654D6F7354656D7065CA
+:10A760007261747572655F656E64203A2025642F8E
+:10A770003130300A00000000486967685369646539
+:10A780004D6F7354656D70657261747572655F733A
+:10A7900074617274203A2025642F3130300A000031
+:10A7A000746F74616C43686172674361706163695F
+:10A7B0007479203A2025642F31303030300A00007F
+:10A7C000746F74616C456C656374726963697479E4
+:10A7D000436F6E73756D7074696F6E203A202564D7
+:10A7E0002F31303030300A00636865636B536F6C13
+:10A7F00061724F70656E436972637569745654690E
+:10A800006D65203A2025640A0000000073656E73B0
+:10A810006F72456E61626C6542726F6164636173F1
+:10A820007454696D65203A2025640A006F75747050
+:10A830007574416761696E466C616754696D652026
+:10A840003A2025640A0000006578636573736976B1
+:10A85000654C6F6164466C616754696D65203A2090
+:10A8600025640A00654C416761696E54696D652015
+:10A870003A2025640A000000000058410000C04151
+:10A8800000005041000070420000204200002041C2
+:10A890000000803F00000000CDCCCCCCCCCC2C40C4
+:10A8A0009A9999999999C93F3333333333332D406A
+:10A8B0009A99999999992B40000090410000804104
+:10A8C00000000041000000009A9999999999A9BF48
+:10A8D0009A9999999999B93F0AD7A33BACC527375B
+:10A8E0005B494E464F5D205B25733A25645D2052DF
+:10A8F0006567697374726174696F6E2073756363E1
+:10A90000657373200D0A0D0A000000005B494E4676
+:10A910004F5D205B25733A25645D2020534C5F52C8
+:10A9200065616452656769737465724261747465C8
+:10A930007279566F6C74616765200D0A0000000023
+:10A940005B494E464F5D205B25733A25645D2020B0
+:10A95000534C5F52656164526567697374657243F5
+:10A960006861726743757272656E74200D0A00002B
+:10A970005B494E464F5D205B25733A25645D202080
+:10A98000534C5F52656164526567697374657243C5
+:10A99000686172675374617465200D0A00000000DD
+:10A9A0005B494E464F5D205B25733A25645D202050
+:10A9B000534C5F5265616452656769737465724494
+:10A9C0006973636861726743757272656E74200D96
+:10A9D0000A0000005B494E464F5D205B25733A2517
+:10A9E000645D2020534C5F526561645265676973F2
+:10A9F00074657248696768536964654D6F7354651F
+:10AA00006D7065726174757265200D0A000000003A
+:10AA10005B494E464F5D205B25733A25645D2020DF
+:10AA2000534C5F5265616452656769737465724D1A
+:10AA30005050545F4D6F6465200D0A005B494E46CF
+:10AA40004F5D205B25733A25645D2020534C5F5297
+:10AA50006561645265676973746572534F43200D75
+:10AA60000A0000005B494E464F5D205B25733A2586
+:10AA7000645D2020534C5F52656164526567697361
+:10AA8000746572536F6C61724F70656E4369726367
+:10AA9000756974566F6C74616765200D0A0000005B
+:10AAA0005B494E464F5D205B25733A25645D20204F
+:10AAB000534C5F5265616452656769737465725483
+:10AAC0006F74616C4368617267436170616369743C
+:10AAD00079200D0A0000000000007A445B494E46D0
+:10AAE0004F5D205B25733A25645D2020534C5F52F7
+:10AAF0006561645265676973746572546F74616CE3
+:10AB0000456C656374726963697479436F6E7375BC
+:10AB10006D7074696F6E200D0A0000005B494E462F
+:10AB20004F5D205B25733A25645D2020534C5F57B1
+:10AB3000726974655265676973746572456C696D95
+:10AB4000696E617465537461746973746963616C6F
+:10AB5000200D0A005B494E464F5D205B25733A2568
+:10AB6000645D204D617463685F5374617274666CD8
+:10AB700061672073756363657373200D0A0D0A00A6
+:10AB80005B494E464F5D205B25733A25645D204D41
+:10AB9000617463685F5374617274666C6167206589
+:10ABA00072726F72200D0A0D0A0000005B494E465A
+:10ABB0004F5D205B25733A25645D204D61746368A9
+:10ABC0005F61646472657373207375636365737327
+:10ABD000200D0A0D0A0000005B494E464F5D205BC8
+:10ABE00025733A25645D204D617463685F42726F1E
+:10ABF00061646361737461646472657373207375F7
+:10AC000063636573730D0A0D0A0000005B494E46CD
+:10AC10004F5D205B25733A25645D20526561645F5A
+:10AC200052656769737465720D0A0D0A00000000B1
+:10AC30005B494E464F5D205B25733A25645D205786
+:10AC4000726974655F52656769737465720D0A0D88
+:10AC50000A0000005B494E464F5D205B25733A2594
+:10AC6000645D204F74686572206672616D65730D56
+:10AC70000A0D0A005B494E464F5D205B25733A255D
+:10AC8000645D2042726F6164636173745F536361DA
+:10AC90006E0D0A0D0A0000005B494E464F5D205BB9
+:10ACA00025733A25645D2052656769737472617417
+:10ACB000696F6E5F726571756573740D0A0D0A00B8
+:10ACC0005B494E464F5D205B25733A25645D2066E7
+:10ACD000756E636F6465206572726F722025780DE2
+:10ACE0000A0D0A0020647574795F726174696F20BF
+:10ACF0003A2025642F31303030200A0020536F6C09
+:10AD000061725F496E5F436972637569745F566F04
+:10AD10006C74616765203A2025642F313030200A39
+:10AD20000000000020766F7574203A2025642F31D2
+:10AD30003030200A00000000207642617474657291
+:10AD400079203A2025642F313030200A000000009D
+:10AD500020496F7574203A2025642F313030200A45
+:10AD60000000000020496469736F7574203A202543
+:10AD7000642F313030200A00206D6F7354203A2048
+:10AD800025642F3130200A0020696D706564616E82
+:10AD90006365203A2025642F31303030200A0000CE
+:10ADA00020675F696D706564616E6365537461727D
+:10ADB00074203A202564200A00000000206D6F7383
+:10ADC0005374617465203A202564200A0000000055
+:10ADD00020626174746572795374617465203A20DD
+:10ADE0002564200A00000000206F7574707574419E
+:10ADF0006761696E466C6167203A202564200A000D
+:10AE0000206578636573736976654C6F6164466C21
+:10AE10006167203A202564200A00000020696E50F6
+:10AE20006F776572203A2025642F31303030302022
+:10AE30000A000000206F7574506F776572203A2009
+:10AE400025642F3130303030200A000020302EC3EE
+:10AE5000BBD3D0B9A4D7F73B20312EBAE3C1F7C496
+:10AE6000A3CABD3B20322EBAE3D1B9C4A3CABD3BAD
+:10AE700020332EB8A1B3E4C4A3CABD203A20256470
+:10AE8000200A0000000040409A9999999999B9BF09
+:10AE90006666666666662C40333333333333C33FAE
+:10AEA00000BA5B4A0000403F4CBDFFFF3EBCFFFFC5
+:10AEB0003EBCFFFF3CBCFFFF44BCFFFF44BCFFFFA8
+:10AEC0000ABCFFFF3CBCFFFF44BCFFFF0ABCFFFF06
+:10AED00044BCFFFF3CBCFFFF38BDFFFF38BDFFFF98
+:10AEE00038BDFFFF0ABCFFFF88CCFFFFAECBFFFFE2
+:10AEF00082CCFFFFB6CBFFFF82CCFFFF7CCBFFFFF6
+:10AF000082CCFFFFB6CBFFFFAECBFFFFAECBFFFF88
+:10AF10007CCBFFFFB6CBFFFFBCCBFFFFBCCBFFFF63
+:10AF2000BCCBFFFF7CCBFFFF6ECBFFFF6ECBFFFFE9
+:10AF300042CCFFFF1ECDFFFF42CCFFFF3CCBFFFF0B
+:10AF400042CCFFFF1ECDFFFF6ECBFFFF6ECBFFFF9E
+:10AF50003CCBFFFF1ECDFFFF7CCBFFFF7CCBFFFF79
+:10AF60007CCBFFFF3CCBFFFFF2CFFFFF40CFFFFFCB
+:10AF700040CFFFFF3ECFFFFF44CFFFFF44CFFFFF97
+:10AF800014CFFFFF3ECFFFFF44CFFFFF14CFFFFFE3
+:10AF900044CFFFFF3ECFFFFFE0CFFFFFE0CFFFFF3B
+:10AFA000E0CFFFFF14CFFFFF000102020303030302
+:10AFB0000404040404040404050505050505050549
+:10AFC0000505050505050505060606060606060629
+:10AFD0000606060606060606060606060606060611
+:10AFE00006060606060606060707070707070707F9
+:10AFF00007070707070707070707070707070707E1
+:10B0000007070707070707070707070707070707D0
+:10B0100007070707070707070707070707070707C0
+:10B0200007070707070707070808080808080808A8
+:10B030000808080808080808080808080808080890
+:10B040000808080808080808080808080808080880
+:10B050000808080808080808080808080808080870
+:10B060000808080808080808080808080808080860
+:10B070000808080808080808080808080808080850
+:10B080000808080808080808080808080808080840
+:10B090000808080808080808080808080808080830
+:10B0A0000808080808080808000000000000000060
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B100000000000000000000232D302B2000000074
+:10B11000686C4C0065666745464700003031323345
+:10B120003435363738394142434445460000000043
+:10B1300030313233343536373839616263646566AD
+:04B14000000000000B
+:10B1440000000000000000000102030406070809D3
+:10B1540000000000010203040102030406070809B9
+:10B1640060000000C831000061000000E63000000B
+:10B1740062000000D42F000063000000F42E0000E1
+:10B1840064000000302400006500000090240000EA
+:10B1940066000000282E00006C000000D62C000081
+:10B1A4006D000000F62B000070000000E62A00008D
+:10B1B40074000000322A00007500000062290000BB
+:10B1C40076000000802800007B0000005427000067
+:10B1D4007C000000742600007D0000006025000053
+:10B1E4007E000000B424000030000000D84C0000B1
+:10B1F400100000003E470000A0000000664A000066
+:10B20400A1000000044A0000D00000004C4C0000E3
+:10B21400D1000000C04B000000010000CE49000036
+:10B224000101000098490000020100006249000089
+:10B23400030100002C49000004010000F64800004E
+:10B2440005010000DA48000006010000564800002D
+:10B25400070100002048000008010000EA47000040
+:10B2640009010000C84700000000000003000000BE
+:10B274008025000000000000000000000000000025
+:10B284000000000000000000040000008025000011
+:10B2940000000000000000000000000000000000AA
+:10B2A40000000000C8B00000E8B00000A8B0000032
+:10B2B400000000000000000000000000000000008A
+:10B2C400000000000000000000000000000000007A
+:10B2D400000000000000000000000000000000006A
+:10B2E400000000000000000000000000000000005A
+:10B2F400000000000000000000000000000000004A
+:10B30400006CDC0202040608F4180020100100009E
+:10B314009C4A0000805101000A00000060010020E6
+:08B324006001002000000000A0
:00000001FF
diff --git a/obj/mppt_Nos_V0.4.lst b/obj/mppt_Nos_V0.4.lst
index 3bdf1bd..8954e53 100644
--- a/obj/mppt_Nos_V0.4.lst
+++ b/obj/mppt_Nos_V0.4.lst
@@ -7,10 +7,10 @@ start address 0x00000000
Program Header:
LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12
- filesz 0x00009c5c memsz 0x00009c5c flags r-x
- LOAD off 0x0000b000 vaddr 0x20000000 paddr 0x00009c5c align 2**12
- filesz 0x000001c8 memsz 0x000018a8 flags rw-
- LOAD off 0x0000b800 vaddr 0x20004800 paddr 0x20004800 align 2**12
+ filesz 0x0000b144 memsz 0x0000b144 flags r-x
+ LOAD off 0x0000d000 vaddr 0x20000000 paddr 0x0000b144 align 2**12
+ filesz 0x000001e8 memsz 0x000018f4 flags rw-
+ LOAD off 0x0000d800 vaddr 0x20004800 paddr 0x20004800 align 2**12
filesz 0x00000000 memsz 0x00000800 flags rw-
Sections:
@@ -19,51 +19,51 @@ Idx Name Size VMA LMA File off Algn
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .vector 0000013c 00000004 00000004 00001004 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .text 00009b1c 00000140 00000140 00001140 2**3
+ 2 .text 0000b004 00000140 00000140 00001140 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 3 .fini 00000000 00009c5c 00009c5c 0000b1c8 2**0
+ 3 .fini 00000000 0000b144 0000b144 0000d1e8 2**0
CONTENTS, ALLOC, LOAD, CODE
- 4 .dalign 00000000 20000000 20000000 0000b1c8 2**0
+ 4 .dalign 00000000 20000000 20000000 0000d1e8 2**0
CONTENTS
- 5 .dlalign 00000000 00009c5c 00009c5c 0000b1c8 2**0
+ 5 .dlalign 00000000 0000b144 0000b144 0000d1e8 2**0
CONTENTS
- 6 .data 000001c8 20000000 00009c5c 0000b000 2**2
+ 6 .data 000001e8 20000000 0000b144 0000d000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .bss 000016e0 200001c8 00009e24 0000b1c8 2**2
+ 7 .bss 0000170c 200001e8 0000b32c 0000d1e8 2**2
ALLOC
- 8 .stack 00000800 20004800 20004800 0000b800 2**0
+ 8 .stack 00000800 20004800 20004800 0000d800 2**0
ALLOC
- 9 .debug_info 0002767e 00000000 00000000 0000b1c8 2**0
+ 9 .debug_info 000298df 00000000 00000000 0000d1e8 2**0
CONTENTS, READONLY, DEBUGGING
- 10 .debug_abbrev 0000607f 00000000 00000000 00032846 2**0
+ 10 .debug_abbrev 00006116 00000000 00000000 00036ac7 2**0
CONTENTS, READONLY, DEBUGGING
- 11 .debug_aranges 00000fd0 00000000 00000000 000388c8 2**3
+ 11 .debug_aranges 00001048 00000000 00000000 0003cbe0 2**3
CONTENTS, READONLY, DEBUGGING
- 12 .debug_ranges 00001160 00000000 00000000 00039898 2**3
+ 12 .debug_ranges 00001360 00000000 00000000 0003dc28 2**3
CONTENTS, READONLY, DEBUGGING
- 13 .debug_line 00017286 00000000 00000000 0003a9f8 2**0
+ 13 .debug_line 00019712 00000000 00000000 0003ef88 2**0
CONTENTS, READONLY, DEBUGGING
- 14 .debug_str 000054b9 00000000 00000000 00051c7e 2**0
+ 14 .debug_str 0000592b 00000000 00000000 0005869a 2**0
CONTENTS, READONLY, DEBUGGING
- 15 .comment 00000033 00000000 00000000 00057137 2**0
+ 15 .comment 00000033 00000000 00000000 0005dfc5 2**0
CONTENTS, READONLY
- 16 .debug_frame 000036b4 00000000 00000000 0005716c 2**2
+ 16 .debug_frame 000038c0 00000000 00000000 0005dff8 2**2
CONTENTS, READONLY, DEBUGGING
- 17 .debug_loc 00006b7f 00000000 00000000 0005a820 2**0
+ 17 .debug_loc 00007502 00000000 00000000 000618b8 2**0
CONTENTS, READONLY, DEBUGGING
- 18 .stab 00000084 00000000 00000000 000613a0 2**2
+ 18 .stab 00000084 00000000 00000000 00068dbc 2**2
CONTENTS, READONLY, DEBUGGING
- 19 .stabstr 00000117 00000000 00000000 00061424 2**0
+ 19 .stabstr 00000117 00000000 00000000 00068e40 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l d .init 00000000 .init
00000004 l d .vector 00000000 .vector
00000140 l d .text 00000000 .text
-00009c5c l d .fini 00000000 .fini
+0000b144 l d .fini 00000000 .fini
20000000 l d .dalign 00000000 .dalign
-00009c5c l d .dlalign 00000000 .dlalign
+0000b144 l d .dlalign 00000000 .dlalign
20000000 l d .data 00000000 .data
-200001c8 l d .bss 00000000 .bss
+200001e8 l d .bss 00000000 .bss
20004800 l d .stack 00000000 .stack
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
@@ -88,7 +88,7 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 ch32l103_misc.c
00000000 l df *ABS* 00000000 ch32l103_rcc.c
20000010 l O .data 00000010 PBHBPrescTable
-200001ac l O .data 00000004 ADCPrescTable
+200001c4 l O .data 00000004 ADCPrescTable
00000000 l df *ABS* 00000000 ch32l103_spi.c
00000000 l df *ABS* 00000000 ch32l103_tim.c
00000000 l df *ABS* 00000000 ch32l103_usart.c
@@ -99,77 +99,82 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 rs485.c
00000000 l df *ABS* 00000000 tim.c
00000000 l df *ABS* 00000000 timeSliceOffset.c
-200001f0 l O .bss 00000004 pTimeSliceList
+20000210 l O .bss 00000004 pTimeSliceList
00000000 l df *ABS* 00000000 ring_queue2.c
00000000 l df *ABS* 00000000 ring_queue.c
00000000 l df *ABS* 00000000 debug.c
-200001f4 l O .bss 00000002 p_ms
-200001f6 l O .bss 00000002 p_us
-200001b0 l O .data 00000004 curbrk.5007
+20000214 l O .bss 00000002 p_ms
+20000216 l O .bss 00000002 p_us
+200001c8 l O .data 00000004 curbrk.5007
00000000 l df *ABS* 00000000 collect_Conversion.c
000021c8 l F .text 00000092 middleAverageFilter
-2000124c l O .bss 000000c8 CHG_buff
-20001314 l O .bss 000000c8 DSG_buff
-200001f8 l O .bss 00000004 P_CHG_CURR
-200001fc l O .bss 00000004 P_DSG_CURR
-20000200 l O .bss 00000004 P_PV1_VOLT_IN
-20000204 l O .bss 00000004 P_PV_VOLT_IN1
-20000208 l O .bss 00000004 P_PV_VOLT_OUT
+2000126c l O .bss 000000c8 CHG_buff
+20001334 l O .bss 000000c8 DSG_buff
+20000218 l O .bss 00000004 P_CHG_CURR
+2000021c l O .bss 00000004 P_DSG_CURR
+20000220 l O .bss 00000004 P_PV1_VOLT_IN
+20000224 l O .bss 00000004 P_PV_VOLT_IN1
+20000228 l O .bss 00000004 P_PV_VOLT_OUT
00000000 l df *ABS* 00000000 hy_protocol.c
00002430 l F .text 00000002 HY_MsgProcFunc_chargingThresholdVoltageConfiguration
-00002432 l F .text 00000044 HY_matchHardwareID
-00002476 l F .text 00000002 HY_MsgProcFunc_modifyCommunicationID
-00002478 l F .text 00000002 HY_MsgProcFunc_checkMotherboardTemperature
-0000247a l F .text 00000002 HY_MsgProcFunc_chargingRangeVoltageQuery
-0000247c l F .text 00000002 HY_MsgProcFunc_chargingControlConfiguration
-0000247e l F .text 00000002 HY_MsgProcFunc_chargingControlQuery
-00002480 l F .text 00000002 HY_MsgProcFunc_configureProtocolType
-00002482 l F .text 00000002 HY_MsgProcFunc_queryControlBoxConfiguration
-00002484 l F .text 00000002 HY_MsgProcFunc_querySoftwareVersion
-00002486 l F .text 00000002 HY_MsgProcFunc_enterConfigurationMode
-00002488 l F .text 00000002 HY_MsgProcFunc_configureHardwareID
-0000248a l F .text 00000002 HY_MsgProcFunc_hardwareID_communicationIDQuery
-000024ae l F .text 000000ca HY_MsgProcFunc_resetInstruction
-00002578 l F .text 000000e0 HY_MsgProcFunc_sensorNumberInquiry
-00002658 l F .text 0000010e HY_MsgProcFunc_sensorNumberConfiguration
-00002766 l F .text 000000b4 HY_MsgProcFunc_electricityStatistics
-0000281a l F .text 00000120 HY_MsgProcFunc_batteryStatus
+00002432 l F .text 0000005e HY_matchHardwareID
+00002490 l F .text 00000002 HY_MsgProcFunc_chargingRangeVoltageQuery
+000024b4 l F .text 000000ac HY_MsgProcFunc_checkMotherboardTemperature
+00002560 l F .text 00000114 HY_MsgProcFunc_modifyCommunicationID
+00002674 l F .text 000000e0 HY_MsgProcFunc_hardwareID_communicationIDQuery
+00002754 l F .text 0000012c HY_MsgProcFunc_configureHardwareID
+00002880 l F .text 000000e2 HY_MsgProcFunc_enterConfigurationMode
+00002962 l F .text 000000d0 HY_MsgProcFunc_querySoftwareVersion
+00002a32 l F .text 000000b4 HY_MsgProcFunc_queryControlBoxConfiguration
+00002ae6 l F .text 00000110 HY_MsgProcFunc_configureProtocolType
+00002bf6 l F .text 000000e0 HY_MsgProcFunc_chargingControlQuery
+00002cd6 l F .text 00000152 HY_MsgProcFunc_chargingControlConfiguration
+00002e28 l F .text 000000cc HY_MsgProcFunc_resetInstruction
+00002ef4 l F .text 000000e0 HY_MsgProcFunc_sensorNumberInquiry
+00002fd4 l F .text 00000112 HY_MsgProcFunc_sensorNumberConfiguration
+000030e6 l F .text 000000e2 HY_MsgProcFunc_electricityStatistics
+000031c8 l F .text 00000166 HY_MsgProcFunc_batteryStatus
00000000 l df *ABS* 00000000 inflash.c
00000000 l df *ABS* 00000000 mppt_control.c
00000000 l df *ABS* 00000000 sl_protocol.c
-00003c68 l F .text 00000002 SL_MsgProcFunc_Write_Register
-00003c6a l F .text 00000024 SL_ReadRegisterBatteryVoltage
-00003c8e l F .text 00000024 SL_ReadRegisterChargCurrent
-00003cb2 l F .text 00000024 SL_ReadRegisterDischargCurrent
-00003cd6 l F .text 00000024 SL_ReadRegisterSolarOpenCircuitVoltage
-00003cfa l F .text 00000024 SL_ReadRegisterHighSideMosTemperature
-00003d1e l F .text 0000000a SL_ReadRegisterDischargMosState
-00003d28 l F .text 0000000a SL_ReadRegisterMPPTMode
-00003d32 l F .text 00000056 SL_MsgProcFunc_Registration_request
-00003d88 l F .text 00000036 SL_MsgProcFunc_Broadcast_Scan
-00003ea2 l F .text 0000008c SL_MsgProcFunc_Remote_Upgrade
-00003f2e l F .text 0000008c SL_MsgProcFunc_Update_Profile
-00003fba l F .text 0000016c SL_MsgProcFunc_Read_Register
+0000473e l F .text 0000008a SL_MsgProcFunc_Write_Register
+000047c8 l F .text 00000022 SL_ReadRegisterMPPT_Mode
+000047ea l F .text 00000036 SL_ReadRegisterTotalElectricityConsumption
+00004820 l F .text 00000036 SL_ReadRegisterTotalChargCapacity
+00004856 l F .text 00000084 SL_ReadRegisterChargState
+000048da l F .text 0000001c SL_ReadRegisterSOC
+000048f6 l F .text 00000036 SL_ReadRegisterHighSideMosTemperature
+0000492c l F .text 00000036 SL_ReadRegisterDischargCurrent
+00004962 l F .text 00000036 SL_ReadRegisterChargCurrent
+00004998 l F .text 00000036 SL_ReadRegisterBatteryVoltage
+000049ce l F .text 00000036 SL_ReadRegisterSolarOpenCircuitVoltage
+00004a04 l F .text 00000062 SL_MsgProcFunc_Registration_request
+00004a66 l F .text 00000036 SL_MsgProcFunc_Broadcast_Scan
+00004a9c l F .text 00000040 SL_WriteRegisterEliminateStatistical
+00004bc0 l F .text 0000008c SL_MsgProcFunc_Remote_Upgrade
+00004c4c l F .text 0000008c SL_MsgProcFunc_Update_Profile
+00004cd8 l F .text 0000016c SL_MsgProcFunc_Read_Register
00000000 l df *ABS* 00000000 task.c
-20000210 l O .bss 00000004 currOne.6953
-20000214 l O .bss 00000004 currTwo.6955
-20000218 l O .bss 00000004 dutyRatio.6974
-2000021c l O .bss 00000004 enabBroadcastTimeFlag.7010
-20000220 l O .bss 00000001 flag.6940
-20000228 l O .bss 00000001 num.6952
-20000229 l O .bss 00000001 num.6962
-2000022a l O .bss 00000001 num.6967
-2000022c l O .bss 00000002 num.6973
-2000022e l O .bss 00000001 num.6979
-20000230 l O .bss 00000002 numLong.6968
-20000233 l O .bss 00000001 run_number.6999
-20000238 l O .bss 00000004 voltOne.6954
-200001b4 l O .data 00000004 temp.6941
-200001b8 l O .data 00000001 tempT.6942
+20000230 l O .bss 00000004 currOne.6989
+20000234 l O .bss 00000004 currTwo.6991
+20000238 l O .bss 00000004 dutyRatio.7010
+2000023c l O .bss 00000004 enabBroadcastTimeFlag.7047
+20000240 l O .bss 00000001 flag.6976
+20000241 l O .bss 00000001 flag.7056
+20000248 l O .bss 00000001 num.6988
+20000249 l O .bss 00000001 num.6998
+2000024a l O .bss 00000001 num.7003
+2000024c l O .bss 00000002 num.7009
+2000024e l O .bss 00000001 num.7016
+20000250 l O .bss 00000002 numLong.7004
+20000253 l O .bss 00000001 run_number.7036
+20000258 l O .bss 00000004 voltOne.6990
+200001d4 l O .data 00000004 temp.6977
+200001d8 l O .data 00000001 tempT.6978
00000000 l df *ABS* 00000000 uart_dev.c
-0000507c l F .text 00000046 uart_putchar
-20001714 l O .bss 000000c8 bat485_in_buff
-200017dc l O .bss 000000c8 gw485_in_buff
+00005f8e l F .text 00000046 uart_putchar
+20001760 l O .bss 000000c8 bat485_in_buff
+20001828 l O .bss 000000c8 gw485_in_buff
00000000 l df *ABS* 00000000 adddf3.c
00000000 l df *ABS* 00000000 gedf2.c
00000000 l df *ABS* 00000000 ledf2.c
@@ -200,7 +205,7 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 wsetup.c
00000000 l df *ABS* 00000000 fflush.c
00000000 l df *ABS* 00000000 findfp.c
-00008030 l F .text 00000066 std
+00008f42 l F .text 00000066 std
00000000 l df *ABS* 00000000 fwalk.c
00000000 l df *ABS* 00000000 makebuf.c
00000000 l df *ABS* 00000000 malloc.c
@@ -208,7 +213,7 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 nano-mallocr.c
00000000 l df *ABS* 00000000 nano-vfprintf.c
00000000 l df *ABS* 00000000 nano-vfprintf.c
-00008820 l F .text 00000028 __sfputc_r
+00009732 l F .text 00000028 __sfputc_r
00000000 l df *ABS* 00000000 nano-vfprintf_i.c
00000000 l df *ABS* 00000000 sbrkr.c
00000000 l df *ABS* 00000000 stdio.c
@@ -230,316 +235,321 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 read.c
00000000 l df *ABS* 00000000 libgcc2.c
00000000 l df *ABS* 00000000 impure.c
-20000148 l O .data 00000060 impure_data
+20000160 l O .data 00000060 impure_data
00000000 l df *ABS* 00000000 parameter.c
00000000 l df *ABS* 00000000 reent.c
-00009186 g F .text 00000014 _malloc_usable_size_r
+0000a098 g F .text 00000014 _malloc_usable_size_r
00001766 g F .text 00000088 EXTI2_IRQHandler
-20001644 g O .bss 00000010 g_dataJudgment
-00009034 g F .text 00000030 _isatty_r
+200001cc g O .data 00000008 g_RegTblW
+20001690 g O .bss 00000010 g_dataJudgment
+00009f46 g F .text 00000030 _isatty_r
00001e8c g F .text 00000022 TimeSliceOffset_Start
-20001674 g O .bss 00000010 g_recvbroadcast
+200016c0 g O .bss 00000010 g_recvbroadcast
00001816 g F .text 00000042 WORK_VOLT_INT_Init
-00007aa2 g F .text 000000d4 _puts_r
-000039e4 g F .text 00000046 MpptContorlChoice
-00009064 g F .text 00000034 _lseek_r
+000089b4 g F .text 000000d4 _puts_r
+000044f4 g F .text 00000046 MpptContorlChoice
+00009f76 g F .text 00000034 _lseek_r
00001c3e g F .text 0000005c TIM3_Int_Init
-00003dbe g F .text 0000003e CheckFuncSL
+00004adc g F .text 0000003e CheckFuncSL
00001b98 g F .text 0000001a USARTx_SendByte
-000050c2 g F .text 00000068 uart_dev_init
-00005034 g F .text 00000048 Task_sensorEnableBroadcast
+00005fd4 g F .text 00000068 uart_dev_init
+00005f06 g F .text 00000048 Task_sensorEnableBroadcast
0000155c g F .text 00000052 SPI_Flash_Write_NoCheck
-20001704 g O .bss 00000010 m_usartJudge
+20001750 g O .bss 00000010 m_usartJudge
000009de g F .text 0000000a GPIO_ReadOutputDataBit
-00007a62 g F .text 00000040 printf
-200009a8 g .data 00000000 __global_pointer$
+00008974 g F .text 00000040 printf
+200009c0 g .data 00000000 __global_pointer$
00000148 g F .text 00000028 .hidden __riscv_save_8
0000043c w .text 00000000 TIM1_CC_IRQHandler
-00008f66 g F .text 00000030 __sseek
+00009e78 g F .text 00000030 __sseek
00001440 g F .text 0000004c SPI_Flash_Erase_Sector
-000080e6 g F .text 0000006c __sinit
+00008ff8 g F .text 0000006c __sinit
00000ec8 g F .text 00000004 SPI_I2S_SendData
-00007ce2 g F .text 000000bc __swbuf_r
+00008bf4 g F .text 000000bc __swbuf_r
000017ee g F .text 00000028 WORK_VOLT_INT_open
0000024a g F .text 00000002 HardFault_Handler
-000080a0 g F .text 00000046 __sfmoreglue
-000090f8 g F .text 00000002 __malloc_unlock
+00008fb2 g F .text 00000046 __sfmoreglue
+0000a00a g F .text 00000002 __malloc_unlock
00001f22 g F .text 0000002c InRingQueue
0000043c w .text 00000000 USBPD_IRQHandler
00000194 g F .text 0000000c .hidden __riscv_restore_3
-200016a4 g O .bss 00000010 m_WdiRunled
-00006aa4 g F .text 000002b2 .hidden __divsf3
+200016f0 g O .bss 00000010 m_WdiRunled
+000079b6 g F .text 000002b2 .hidden __divsf3
00001cec g F .text 00000058 TIM2_Int_Init
-00004126 g F .text 00000032 FRT_MsgHandler
+00004e44 g F .text 00000032 FRT_MsgHandler
00001de0 g F .text 0000000e SysTick_Handler
00000568 g F .text 0000000a ADC_StartCalibration
-000051f0 g F .text 00000018 uart_dev_char_present
+00006102 g F .text 00000018 uart_dev_char_present
00000ce4 g F .text 00000054 NVIC_Init
-00004ca4 g F .text 00000112 Init
+00005b76 g F .text 00000112 Init
0000043c w .text 00000000 PVD_IRQHandler
-000090b0 g F .text 00000046 memmove
+00009fc2 g F .text 00000046 memmove
0000233e g F .text 0000004c get_PV1_VOLT_IN
00000180 g F .text 00000020 .hidden __riscv_restore_10
-200016f4 g O .bss 00000010 m_usartHandle
-00002dda g F .text 00000034 saveTotalPower
+20001740 g O .bss 00000010 m_usartHandle
+000038dc g F .text 00000034 saveTotalPower
00000ecc g F .text 00000004 SPI_I2S_ReceiveData
00000248 g F .text 00000002 NMI_Handler
0000140a g F .text 0000000e SPI_Flash_Wait_Busy
-000074e0 g F .text 00000062 .hidden __fixsfsi
+000083f2 g F .text 00000062 .hidden __fixsfsi
0000043c w .text 00000000 EXTI3_IRQHandler
-000031ce g F .text 00000768 read_and_process_config_data
+00003cda g F .text 0000076c read_and_process_config_data
00000148 g F .text 00000028 .hidden __riscv_save_11
0000087c g F .text 00000006 DBGMCU_GetCHIPID
-0000438a g F .text 00000410 Task_WdiRunled
-0000596e g F .text 000000ae .hidden __gtdf2
+00005182 g F .text 00000410 Task_WdiRunled
+00006880 g F .text 000000ae .hidden __gtdf2
+20001670 g O .bss 00000010 g_collectOpenCircuitVoltage
000011a4 g F .text 0000000a USART_GetFlagStatus
-20000234 g O .bss 00000004 uart_judge_handle
-00009002 g F .text 00000032 _fstat_r
-200018a4 g O .bss 00000004 errno
-0000515e g F .text 00000018 gw485_tx_enabla
-200001c8 g .bss 00000000 _sbss
+20000254 g O .bss 00000004 uart_judge_handle
+00009f14 g F .text 00000032 _fstat_r
+200018f0 g O .bss 00000004 errno
+00006070 g F .text 00000018 gw485_tx_enabla
+200001e8 g .bss 00000000 _sbss
00000800 g *ABS* 00000000 __stack_size
00000652 g F .text 0000000a ADC_GetFlagStatus
00002018 g F .text 0000005a USART_Printf_Init
-00005230 g F .text 0000000e ring_queue_length
-00009280 g O .text 000001e2 mosTemperADC
-00007158 g F .text 00000388 .hidden __subsf3
+00006142 g F .text 0000000e ring_queue_length
+0000a190 g O .text 000001e2 mosTemperADC
+0000806a g F .text 00000388 .hidden __subsf3
0000043c w .text 00000000 USBFS_IRQHandler
00000194 g F .text 0000000c .hidden __riscv_restore_2
-0000518e g F .text 00000062 uart_dev_write
-0000398e g F .text 00000056 mppt_constantVoltageO
+000060a0 g F .text 00000062 uart_dev_write
+0000449e g F .text 00000056 mppt_constantVoltageO
00000fe4 g F .text 00000016 TIM_CtrlPWMOutputs
-000079b0 g F .text 000000b2 memcpy
+000088c2 g F .text 000000b2 memcpy
00000546 g F .text 00000010 ADC_Cmd
-00008096 g F .text 0000000a _cleanup_r
+00008fa8 g F .text 0000000a _cleanup_r
000009f6 g F .text 0000012c GPIO_PinRemapConfig
-000085b6 g F .text 0000026a _svfprintf_r
-000066c8 g F .text 00000072 .hidden __floatsidf
-00005a1c g F .text 000000b6 .hidden __ltdf2
+000094c8 g F .text 0000026a _svfprintf_r
+000075da g F .text 00000072 .hidden __floatsidf
+0000692e g F .text 000000b6 .hidden __ltdf2
+00005f4e g F .text 00000040 Task_configurationModeDelayedExit
0000043c w .text 00000000 EXTI0_IRQHandler
0000043c w .text 00000000 I2C2_EV_IRQHandler
00000e5e g F .text 0000001e RCC_PB2PeriphResetCmd
0000043c w .text 00000000 LPTIM_IRQHandler
00001418 g F .text 00000028 SPI_FLASH_Write_Enable
-0000512a g F .text 0000001a bat485_tx_enabla
-200001dc g O .bss 00000002 Calibrattion_Val
+0000603c g F .text 0000001a bat485_tx_enabla
+200001fc g O .bss 00000002 Calibrattion_Val
00000fcc g F .text 00000018 TIM_Cmd
000013d8 g F .text 00000032 SPI_Flash_ReadSR
-00007b76 g F .text 0000000c puts
+00008a88 g F .text 0000000c puts
00001026 g F .text 00000016 TIM_OC4PreloadConfig
-200001a8 g O .data 00000004 SystemCoreClock
+200001c0 g O .data 00000004 SystemCoreClock
0000119c g F .text 00000008 USART_ReceiveData
-00008346 g F .text 0000000a malloc
+00009258 g F .text 0000000a malloc
0000213c g F .text 00000062 adcChangeProportionalInit
-000091aa g F .text 00000010 _fstat
-00003936 g F .text 00000058 mppt_constantVoltage
+0000a0bc g F .text 00000010 _fstat
+00004446 g F .text 00000058 mppt_constantVoltage
00000004 g .init 00000000 _einit
00001082 g F .text 0000000c TIM_ClearITPendingBit
00001052 g F .text 00000018 TIM_GetCounter
-00006e38 g F .text 0000008c .hidden __lesf2
+00007d4a g F .text 0000008c .hidden __lesf2
00000140 g F .text 00000030 .hidden __riscv_save_12
000020da g F .text 00000062 currBuffInit
00000914 g F .text 000000c0 GPIO_Init
00000d38 g F .text 00000014 RCC_ADCCLKConfig
00001e20 g F .text 0000003e TimeSliceOffset_Register
0000043c w .text 00000000 Break_Point_Handler
-00002c92 g F .text 0000011c checkFlashContent
-00002c6a g F .text 00000014 save_config_info
+00003792 g F .text 0000011e checkFlashContent
+0000376a g F .text 00000014 save_config_info
00000180 g F .text 00000020 .hidden __riscv_restore_11
-2000023c g O .bss 00000004 g_bat485_uart3_handle
-200001d8 g O .bss 00000004 NVIC_Priority_Group
+2000025c g O .bss 00000004 g_bat485_uart3_handle
+200001f8 g O .bss 00000004 NVIC_Priority_Group
0000043c w .text 00000000 SPI1_IRQHandler
00000556 g F .text 0000000a ADC_ResetCalibration
00001148 g F .text 00000016 USART_Cmd
-00008ec0 g F .text 00000032 _sbrk_r
-200001cc g O .bss 00000004 CHIPID
+00009dd2 g F .text 00000032 _sbrk_r
+200001ec g O .bss 00000004 CHIPID
0000043c w .text 00000000 TAMPER_IRQHandler
00000170 g F .text 0000000c .hidden __riscv_save_1
-00002c7e g F .text 00000014 read_config_info
+0000377e g F .text 00000014 read_config_info
0000225a g F .text 0000004c get_CHG_CURR
-20001694 g O .bss 00000010 g_startMpptControl
-20000232 g O .bss 00000001 recvbroadcast_flag
+200016e0 g O .bss 00000010 g_startMpptControl
+20000252 g O .bss 00000001 recvbroadcast_flag
00000194 g F .text 0000000c .hidden __riscv_restore_0
-00009152 g F .text 00000034 _read_r
+0000a064 g F .text 00000034 _read_r
00000156 g F .text 0000001a .hidden __riscv_save_7
-0000772c g F .text 000000ac .hidden __extendsfdf2
-0000523e g F .text 00000730 .hidden __adddf3
-00006d56 g F .text 0000005c .hidden __nesf2
+0000863e g F .text 000000ac .hidden __extendsfdf2
+00006150 g F .text 00000730 .hidden __adddf3
+00007c68 g F .text 0000005c .hidden __nesf2
0000043c w .text 00000000 Ecall_M_Mode_Handler
20004800 g .stack 00000000 _heap_end
-00005144 g F .text 0000001a bat485_tx_disenabla
-000091ba g F .text 00000010 _isatty
-200000d8 g O .data 00000038 g_RegTblR
+00006056 g F .text 0000001a bat485_tx_disenabla
+0000a0cc g F .text 00000010 _isatty
+200000d8 g O .data 00000050 g_RegTblR
00001ee6 g F .text 0000002c InRingQueue2
00001fa4 g F .text 0000003e Delay_Us
-200001c0 g O .data 00000004 _global_impure_ptr
+200001e0 g O .data 00000004 _global_impure_ptr
0000018a g F .text 00000016 .hidden __riscv_restore_5
-000090fa g F .text 00000058 _realloc_r
-200001c8 g O .bss 00000002 ADC_Trim
+0000a00c g F .text 00000058 _realloc_r
+200001e8 g O .bss 00000002 ADC_Trim
+20001680 g O .bss 00000010 g_configurationModeDelayedExit
00000ed0 g F .text 0000000a SPI_I2S_GetFlagStatus
0000043c w .text 00000000 DMA1_Channel4_IRQHandler
00000592 g F .text 000000b8 ADC_RegularChannelConfig
000020b0 g F .text 0000002a _sbrk
00000686 g F .text 00000012 ADC_FIFO_Cmd
0000064a g F .text 00000008 ADC_GetConversionValue
-00003dfc g F .text 0000002c randomDelay
+00004b1a g F .text 0000002c randomDelay
00001f12 g F .text 00000010 InitRingQueue
00001f74 g F .text 00000010 RingQueueLength
0000170c g F .text 0000005a DSG_PROT_Init
-200014b4 g O .bss 0000012c config_buff
-000049dc g F .text 0000000c Task_uartConfigFile
+200014e0 g O .bss 0000012c config_buff
+00005844 g F .text 0000000c Task_uartConfigFile
0000137e g F .text 0000005a SPI_ReadWriteByte
0000018a g F .text 00000016 .hidden __riscv_restore_6
-00003bd6 g F .text 00000092 MpptContorl
+0000470a g F .text 00000034 MpptContorl
00001bb2 g F .text 00000046 USART3_IRQHandler
0000090a g F .text 0000000a EXTI_ClearITPendingBit
000022f2 g F .text 0000004c get_DSG_CURR
0000043c w .text 00000000 RTC_IRQHandler
00000572 g F .text 00000008 ADC_GetCalibrationStatus
-200018a8 g .bss 00000000 _ebss
+200018f4 g .bss 00000000 _ebss
000011ae g F .text 0000003c USART_GetITStatus
0000043c w .text 00000000 DMA1_Channel7_IRQHandler
-200001e0 g O .bss 00000001 USART3_Rbuffer
+20000200 g O .bss 00000001 USART3_Rbuffer
0000057a g F .text 00000018 ADC_SoftwareStartConvCmd
00000560 g F .text 00000008 ADC_GetResetCalibrationStatus
0000043c w .text 00000000 CAN1_RX1_IRQHandler
-00004a6c g F .text 0000011e Task_impedanceCalculation
+00005962 g F .text 0000011e Task_impedanceCalculation
00001f84 g F .text 00000020 Delay_Init
-2000143c g O .bss 00000078 g_otherParameter
+20001460 g O .bss 00000080 g_otherParameter
0000148c g F .text 00000068 SPI_Flash_Read
-0000489c g F .text 00000140 Task_dataJudgment
+000056a8 g F .text 0000019c Task_dataJudgment
00001f4e g F .text 00000026 OutRingQueue
00000e22 g F .text 0000001e RCC_PB2PeriphClockCmd
00000b4e g F .text 00000190 GPIO_IPD_Unused
-20001664 g O .bss 00000010 g_outputAgain
-00006db2 g F .text 00000086 .hidden __gtsf2
+200016b0 g O .bss 00000010 g_outputAgain
+00007cc4 g F .text 00000086 .hidden __gtsf2
0000043c w .text 00000000 USBPDWakeUp_IRQHandler
000009e8 g F .text 00000004 GPIO_SetBits
0000043c w .text 00000000 TIM4_IRQHandler
-00005a1c g F .text 000000b6 .hidden __ledf2
+0000692e g F .text 000000b6 .hidden __ledf2
0000100c g F .text 0000001a TIM_ARRPreloadConfig
00000148 g F .text 00000028 .hidden __riscv_save_9
000009ec g F .text 0000000a GPIO_WriteBit
-00009bc0 g O .text 00000020 __sf_fake_stderr
+0000b0a8 g O .text 00000020 __sf_fake_stderr
000018ea g F .text 00000048 PWM_GPIO_Configuration
00000156 g F .text 0000001a .hidden __riscv_save_4
0000043c w .text 00000000 I2C1_EV_IRQHandler
00001bf8 g F .text 00000046 USART4_IRQHandler
00001a24 g F .text 000000b6 GW_485_Init
-000084d2 g F .text 000000e4 __ssputs_r
+000093e4 g F .text 000000e4 __ssputs_r
0000106a g F .text 00000018 TIM_GetITStatus
00000d4c g F .text 000000d6 RCC_GetClocksFreq
0000043c w .text 00000000 DMA1_Channel6_IRQHandler
-00007942 g F .text 0000006e .hidden __clzsi2
+00008854 g F .text 0000006e .hidden __clzsi2
00001eae g F .text 00000028 TimeSliceOffset_Produce
-00008848 g F .text 00000042 __sfputs_r
-200001d4 g O .bss 00000004 TS_Val
-00009098 g F .text 00000018 memchr
-00004db6 g F .text 00000062 Task_outputAgain
+0000975a g F .text 00000042 __sfputs_r
+200001f4 g O .bss 00000004 TS_Val
+00009faa g F .text 00000018 memchr
+00005c88 g F .text 00000062 Task_outputAgain
0000108e g F .text 000000ba USART_Init
-00008350 g F .text 000000a8 _free_r
+00009262 g F .text 000000a8 _free_r
00001cc2 g F .text 0000002a TIM3_IRQHandler
0000043c w .text 00000000 RCC_IRQHandler
-20001684 g O .bss 00000010 g_sensorEnableBroadcast
+200016d0 g O .bss 00000010 g_sensorEnableBroadcast
00000170 g F .text 0000000c .hidden __riscv_save_3
0000043c w .text 00000000 TIM1_TRG_COM_IRQHandler
0000043c w .text 00000000 DMA1_Channel1_IRQHandler
0000166c g F .text 00000030 RUN_LED_Init
00000000 g .init 00000000 _start
-200016c4 g O .bss 00000010 m_refreshRegister
-00007bda g F .text 00000084 rand
-000091ca g F .text 00000010 _lseek
-200001e8 g O .bss 00000004 totalChargCapacity
-2000020c g O .bss 00000004 cfig_len
-00007598 g F .text 000000c6 .hidden __floatsisf
+20001710 g O .bss 00000010 m_refreshRegister
+00008aec g F .text 00000084 rand
+0000a0dc g F .text 00000010 _lseek
+20000208 g O .bss 00000004 totalChargCapacity
+2000022c g O .bss 00000004 cfig_len
+000084aa g F .text 000000c6 .hidden __floatsisf
00000e40 g F .text 0000001e RCC_PB1PeriphClockCmd
00001858 g F .text 00000058 EXTI15_10_IRQHandler
00000ffa g F .text 00000012 TIM_ITConfig
-00007ca4 g F .text 0000003e strlcpy
+00008bb6 g F .text 0000003e strlcpy
0000043c w .text 00000000 ADC_IRQHandler
0000115e g F .text 00000036 USART_ITConfig
00000882 g F .text 0000006a EXTI_Init
-200001d0 g O .bss 00000004 OPA_Trim
-00006d56 g F .text 0000005c .hidden __eqsf2
+200001f0 g O .bss 00000004 OPA_Trim
+00007c68 g F .text 0000005c .hidden __eqsf2
0000043c w .text 00000000 DMA1_Channel8_IRQHandler
-20001404 g O .bss 00000038 g_controlParameter
-00008fd2 g F .text 00000030 _close_r
+20001424 g O .bss 0000003c g_controlParameter
+00005850 g F .text 0000008e Task_collectOpenCircuitVoltage
+00009ee4 g F .text 00000030 _close_r
20000000 g .dalign 00000000 _data_vma
-00004e18 g F .text 000000f4 Task_excessiveLoad
+00005cea g F .text 000000f4 Task_excessiveLoad
000016ce g F .text 0000003e POW_OUT_CON_Init
-00004c7c g F .text 00000028 Task_usartJudge
+00005b4e g F .text 00000028 Task_usartJudge
00000f50 g F .text 0000007c TIM_OC4Init
-00007d9e g F .text 000000fc __swsetup_r
+00008cb0 g F .text 000000fc __swsetup_r
0000043c w .text 00000000 EXTI9_5_IRQHandler
-00008152 g F .text 000000a0 __sfp
+00009064 g F .text 000000a0 __sfp
00000b22 g F .text 0000002c GPIO_EXTILineConfig
-00005ad2 g F .text 000004b8 .hidden __muldf3
+000069e4 g F .text 000004b8 .hidden __muldf3
00000148 g F .text 00000028 .hidden __riscv_save_10
-00008ef2 g F .text 0000002c __sread
-20000110 g O .data 00000038 uart_devices
-000090f6 g F .text 00000002 __malloc_lock
+00009e04 g F .text 0000002c __sread
+20000128 g O .data 00000038 uart_devices
+0000a008 g F .text 00000002 __malloc_lock
0000018a g F .text 00000016 .hidden __riscv_restore_4
000022a6 g F .text 0000004c get_PV_VOLT_OUT
00000180 g F .text 00000020 .hidden __riscv_restore_8
0000219e g F .text 0000002a Get_ConversionVal
-00007fca g F .text 00000066 _fflush_r
+00008edc g F .text 00000066 _fflush_r
00000156 g F .text 0000001a .hidden __riscv_save_6
000008ec g F .text 0000001e EXTI_GetITStatus
0000043c w .text 00000000 SPI2_IRQHandler
-00009be0 g O .text 00000020 __sf_fake_stdin
+0000b0c8 g O .text 00000020 __sf_fake_stdin
000001a0 g F .text 000000a8 memset
-0000248c g F .text 00000022 HY_CheckFunc
+00002492 g F .text 00000022 HY_CheckFunc
00000180 g F .text 00000020 .hidden __riscv_restore_9
0000018a g F .text 00000016 .hidden __riscv_restore_7
0000024c g F .text 00000046 main
00001c9a g F .text 00000028 TIM3_Init
-00007b82 g F .text 00000058 srand
-00005176 g F .text 00000018 gw485_tx_disenabla
-00006e38 g F .text 0000008c .hidden __ltsf2
-00008f96 g F .text 00000006 __sclose
-000077d8 g F .text 0000016a .hidden __truncdfsf2
-000083f8 g F .text 000000da _malloc_r
-000049e8 g F .text 00000084 Task_startMpptControl
-200013dc g O .bss 00000028 g_adcData
+00008a94 g F .text 00000058 srand
+00006088 g F .text 00000018 gw485_tx_disenabla
+00007d4a g F .text 0000008c .hidden __ltsf2
+00009ea8 g F .text 00000006 __sclose
+000086ea g F .text 0000016a .hidden __truncdfsf2
+0000930a g F .text 000000da _malloc_r
+000058de g F .text 00000084 Task_startMpptControl
+200013fc g O .bss 00000028 g_adcData
000006a8 g F .text 000001d4 Get_CalibrationValue
0000043c w .text 00000000 DMA1_Channel5_IRQHandler
0000043c w .text 00000000 EXTI4_IRQHandler
-00004b8a g F .text 000000f2 Task_softStart
+00005a80 g F .text 000000ce Task_softStart
00001fe2 g F .text 00000036 Delay_Ms
0000043c w .text 00000000 USB_LP_CAN1_RX0_IRQHandler
-00006ec4 g F .text 00000294 .hidden __mulsf3
+00007dd6 g F .text 00000294 .hidden __mulsf3
0000103c g F .text 00000016 TIM_SetCompare4
0000065c g F .text 00000018 ADC_BufferCmd
00000eae g F .text 0000001a SPI_Cmd
00000292 g F .text 00000106 SystemInit
00000674 g F .text 00000012 ADC_DutyDelayCmd
-20001654 g O .bss 00000010 g_excessiveLoad
+200016a0 g O .bss 00000010 g_excessiveLoad
000014f4 g F .text 00000068 SPI_Flash_Write_Page
-00007a62 g F .text 00000040 iprintf
-00004158 g F .text 00000232 read_and_process_uart_data
-200001e4 g O .bss 00000001 USART4_Rbuffer
+00008974 g F .text 00000040 iprintf
+00004e76 g F .text 0000030c read_and_process_uart_data
+20000204 g O .bss 00000001 USART4_Rbuffer
0000043c w .text 00000000 USB_HP_CAN1_TX_IRQHandler
-200016b4 g O .bss 00000010 m_impedanceCalculation
-00007c5e g F .text 00000046 sprintf
-00009ac0 g O .text 00000100 .hidden __clz_tab
+20001700 g O .bss 00000010 m_impedanceCalculation
+00008b70 g F .text 00000046 sprintf
+0000afa8 g O .text 00000100 .hidden __clz_tab
00000000 g .init 00000000 _sinit
0000043c w .text 00000000 CMPWakeUp_IRQHandler
-0000293a g F .text 000002f2 HY_read_and_process_uart_data
-00006db2 g F .text 00000086 .hidden __gesf2
-00008f9c g F .text 00000036 _write_r
+0000332e g F .text 000003fe HY_read_and_process_uart_data
+00007cc4 g F .text 00000086 .hidden __gesf2
+00009eae g F .text 00000036 _write_r
0000043c w .text 00000000 DMA1_Channel3_IRQHandler
-00008b12 g F .text 0000010c _printf_common
-200001bc g O .data 00000004 _impure_ptr
-00004f0c g F .text 00000128 Task_recvbroadcast
+00009a24 g F .text 0000010c _printf_common
+200001dc g O .data 00000004 _impure_ptr
+00005dde g F .text 00000128 Task_recvbroadcast
00001dee g F .text 00000032 TIM1_UP_IRQHandler
-00007e9a g F .text 00000130 __sflush_r
+00008dac g F .text 00000130 __sflush_r
0000043c w .text 00000000 LPTIMWakeUp_IRQHandler
-000085b6 g F .text 0000026a _svfiprintf_r
+000094c8 g F .text 0000026a _svfiprintf_r
0000043c w .text 00000000 WWDG_IRQHandler
-200016d4 g O .bss 00000010 m_softStart
+20001720 g O .bss 00000010 m_softStart
00001e5e g F .text 0000002e TimeSliceOffset_Unregister
0000043c w .text 00000000 Ecall_U_Mode_Handler
-0000479a g F .text 000000dc Task_refreshRegister
+00005592 g F .text 000000f0 Task_refreshRegister
200000a8 g O .data 00000030 g_MsgTbl
00000698 g F .text 00000010 ADC_Sample_ModeConfig
00001d72 g F .text 0000006e TIM2_IRQHandler
@@ -549,58 +559,58 @@ SYMBOL TABLE:
0000043c w .text 00000000 SW_Handler
000004c8 g F .text 00000028 ADC_DeInit
0000043c w .text 00000000 TIM1_BRK_IRQHandler
-0000825c g F .text 00000058 __swhatbuf_r
+0000916e g F .text 00000058 __swhatbuf_r
000004f0 g F .text 00000056 ADC_Init
00001194 g F .text 00000008 USART_SendData
0000043c w .text 00000000 OPA_IRQHandler
-00003e28 g F .text 0000007a Check_485_bus_busy
+00004b46 g F .text 0000007a Check_485_bus_busy
0000043c w .text 00000000 EXTI1_IRQHandler
00000156 g F .text 0000001a .hidden __riscv_save_5
00002072 g F .text 0000003e _write
-200001c8 g .data 00000000 _edata
-200018a8 g .bss 00000000 _end
-200015e0 g O .bss 00000064 rs485_buff
+200001e8 g .data 00000000 _edata
+200018f4 g .bss 00000000 _end
+2000160c g O .bss 00000064 rs485_buff
00000eda g F .text 00000076 TIM_TimeBaseInit
0000043c w .text 00000000 RTCAlarm_IRQHandler
000018b0 g F .text 0000003a POW_FF_CON_Init
-00009c5c g .dlalign 00000000 _data_lma
+0000b144 g .dlalign 00000000 _data_lma
0000043c w .text 00000000 USART2_IRQHandler
-00008f1e g F .text 00000048 __swrite
+00009e30 g F .text 00000048 __swrite
00001ada g F .text 000000be BAT_485_Init
000015ae g F .text 000000be SPI_Flash_Write
-0000888a g F .text 00000288 _vfiprintf_r
-000081f2 g F .text 0000006a _fwalk_reent
+0000979c g F .text 00000288 _vfiprintf_r
+00009104 g F .text 0000006a _fwalk_reent
00000398 g F .text 000000a4 SystemCoreClockUpdate
-0000765e g F .text 000000ce .hidden __floatunsisf
-00002dae g F .text 0000002c saveLoopImpedance
+00008570 g F .text 000000ce .hidden __floatunsisf
+000038b0 g F .text 0000002c saveLoopImpedance
0000169c g F .text 00000032 WDI_INPUT_Init
-2000024c g O .bss 00001000 SPI_FLASH_BUF
+2000026c g O .bss 00001000 SPI_FLASH_BUF
0000043c w .text 00000000 I2C2_ER_IRQHandler
0000043c w .text 00000000 DMA1_Channel2_IRQHandler
00001932 g F .text 0000006c PWM_TIM_Configuration
-00009c00 g O .text 00000020 __sf_fake_stdout
-00007c5e g F .text 00000046 siprintf
+0000b0e8 g O .text 00000020 __sf_fake_stdout
+00008b70 g F .text 00000046 siprintf
20000000 g O .data 00000010 HBPrescTable
0000017c g F .text 00000024 .hidden __riscv_restore_12
-000091da g F .text 00000010 _read
-00002e0e g F .text 000003c0 config_info_start
-00003a2a g F .text 000001ac MpptModeChoice
+0000a0ec g F .text 00000010 _read
+00003910 g F .text 000003ca config_info_start
+0000453a g F .text 000001d0 MpptModeChoice
0000043e w .text 00000000 handle_reset
0000043c w .text 00000000 CAN1_SCE_IRQHandler
00001ed6 g F .text 00000010 InitRingQueue2
-00007542 g F .text 00000056 .hidden __fixunssfsi
+00008454 g F .text 00000056 .hidden __fixunssfsi
0000043c w .text 00000000 FLASH_IRQHandler
00000170 g F .text 0000000c .hidden __riscv_save_0
-200016e4 g O .bss 00000010 m_uartConfigFile
+20001730 g O .bss 00000010 m_uartConfigFile
0000043c w .text 00000000 USBFSWakeUp_IRQHandler
-20000224 g O .bss 00000004 g_recvBroadcastDevice
+20000244 g O .bss 00000004 g_recvBroadcastDevice
00001d44 g F .text 0000002e TIM2_Init
0000043c w .text 00000000 USART1_IRQHandler
-000082b4 g F .text 00000092 __smakebuf_r
-00008c1e g F .text 000002a2 _printf_i
-0000596e g F .text 000000ae .hidden __gedf2
-20000248 g O .bss 00000004 __malloc_sbrk_start
-00002c2c g F .text 0000003e configCheckFunc
+000091c6 g F .text 00000092 __smakebuf_r
+00009b30 g F .text 000002a2 _printf_i
+00006880 g F .text 000000ae .hidden __gedf2
+20000268 g O .bss 00000004 __malloc_sbrk_start
+0000372c g F .text 0000003e configCheckFunc
0000043c w .text 00000000 I2C1_ER_IRQHandler
000012da g F .text 000000a4 SPI_Flash_Init
00000e7c g F .text 00000032 SPI_Init
@@ -609,18 +619,18 @@ SYMBOL TABLE:
0000199e g F .text 00000086 Set_duty_ratio
0000043c w .text 00000000 TKeyWakeUp_IRQHandler
20000020 g O .data 00000088 g_hyMsgTbl
-20000244 g O .bss 00000004 __malloc_free_list
+20000264 g O .bss 00000004 __malloc_free_list
00000194 g F .text 0000000c .hidden __riscv_restore_1
-20000240 g O .bss 00000004 g_gw485_uart4_handle
-00004876 g F .text 00000026 Task_usartHandle
-00005f8a g F .text 0000073e .hidden __subdf3
-0000888a g F .text 00000288 _vfprintf_r
-200001ec g O .bss 00000004 totalElectricityConsumption
+20000260 g O .bss 00000004 g_gw485_uart4_handle
+00005682 g F .text 00000026 Task_usartHandle
+00006e9c g F .text 0000073e .hidden __subdf3
+0000979c g F .text 00000288 _vfprintf_r
+2000020c g O .bss 00000004 totalElectricityConsumption
000009d4 g F .text 0000000a GPIO_ReadInputDataBit
-0000673a g F .text 0000036a .hidden __addsf3
+0000764c g F .text 0000036a .hidden __addsf3
000023d8 g F .text 00000058 get_MOSFET_Temper
-0000919a g F .text 00000010 _close
-00005208 g F .text 00000028 uart_dev_in_char
+0000a0ac g F .text 00000010 _close
+0000611a g F .text 00000028 uart_dev_in_char
@@ -897,19 +907,19 @@ Disassembly of section .text:
256: 2289 jal 398
258: 52d010ef jal ra,1f84
25c: 6571 lui a0,0x1c
- 25e: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x125a4>
+ 25e: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x110bc>
262: 5b7010ef jal ra,2018
266: 200007b7 lui a5,0x20000
- 26a: 1a87a583 lw a1,424(a5) # 200001a8
- 26e: 00009537 lui a0,0x9
- 272: 1ec50513 addi a0,a0,492 # 91ec <_read+0x12>
- 276: 7ec070ef jal ra,7a62
+ 26a: 1c07a583 lw a1,448(a5) # 200001c0
+ 26e: 0000a537 lui a0,0xa
+ 272: 0fc50513 addi a0,a0,252 # a0fc <_read+0x10>
+ 276: 6fe080ef jal ra,8974
27a: 2509 jal 87c
27c: 85aa mv a1,a0
- 27e: 00009537 lui a0,0x9
- 282: 1fc50513 addi a0,a0,508 # 91fc <_read+0x22>
- 286: 7dc070ef jal ra,7a62
- 28a: 21b040ef jal ra,4ca4
+ 27e: 0000a537 lui a0,0xa
+ 282: 10c50513 addi a0,a0,268 # a10c <_read+0x20>
+ 286: 6ee080ef jal ra,8974
+ 28a: 0ed050ef jal ra,5b76
28e: 4501 li a0,0
290: b711 j 194 <__riscv_restore_0>
@@ -1024,7 +1034,7 @@ Disassembly of section .text:
39e: 20000737 lui a4,0x20000
3a2: 4611 li a2,4
3a4: 8bb1 andi a5,a5,12
- 3a6: 1a870713 addi a4,a4,424 # 200001a8
+ 3a6: 1c070713 addi a4,a4,448 # 200001c0
3aa: 02c78f63 beq a5,a2,3e8
3ae: 4621 li a2,8
3b0: 04c78163 beq a5,a2,3f2
@@ -1033,7 +1043,7 @@ Disassembly of section .text:
3b8: 8b91 andi a5,a5,4
3ba: c79d beqz a5,3e8
3bc: 000f47b7 lui a5,0xf4
- 3c0: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xea5e4>
+ 3c0: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xe90fc>
3c4: c31c sw a5,0(a4)
3c6: 400217b7 lui a5,0x40021
3ca: 43dc lw a5,4(a5)
@@ -1048,7 +1058,7 @@ Disassembly of section .text:
3e4: c31c sw a5,0(a4)
3e6: 8082 ret
3e8: 007a17b7 lui a5,0x7a1
- 3ec: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x7975a4>
+ 3ec: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x7960bc>
3f0: bfd1 j 3c4
3f2: 42dc lw a5,4(a3)
3f4: 42d4 lw a3,4(a3)
@@ -1066,14 +1076,14 @@ Disassembly of section .text:
412: 8ac1 andi a3,a3,16
414: ce89 beqz a3,42e
416: 007a16b7 lui a3,0x7a1
- 41a: 20068693 addi a3,a3,512 # 7a1200 <_data_lma+0x7975a4>
+ 41a: 20068693 addi a3,a3,512 # 7a1200 <_data_lma+0x7960bc>
41e: a821 j 436
420: 400216b7 lui a3,0x40021
424: 42d4 lw a3,4(a3)
426: 00e69613 slli a2,a3,0xe
42a: fe0656e3 bgez a2,416
42e: 003d16b7 lui a3,0x3d1
- 432: 90068693 addi a3,a3,-1792 # 3d0900 <_data_lma+0x3c6ca4>
+ 432: 90068693 addi a3,a3,-1792 # 3d0900 <_data_lma+0x3c57bc>
436: 02d787b3 mul a5,a5,a3
43a: b769 j 3c4
@@ -1082,23 +1092,23 @@ Disassembly of section .text:
0000043e :
43e: 20000197 auipc gp,0x20000
- 442: 56a18193 addi gp,gp,1386 # 200009a8 <__global_pointer$>
+ 442: 58218193 addi gp,gp,1410 # 200009c0 <__global_pointer$>
446: 20005117 auipc sp,0x20005
44a: bba10113 addi sp,sp,-1094 # 20005000 <_eusrstack>
- 44e: 0000a517 auipc a0,0xa
- 452: 80e50513 addi a0,a0,-2034 # 9c5c <_data_lma>
+ 44e: 0000b517 auipc a0,0xb
+ 452: cf650513 addi a0,a0,-778 # b144 <_data_lma>
456: 20000597 auipc a1,0x20000
45a: baa58593 addi a1,a1,-1110 # 20000000 <_data_vma>
- 45e: 82018613 addi a2,gp,-2016 # 200001c8 <_edata>
+ 45e: 82818613 addi a2,gp,-2008 # 200001e8 <_edata>
462: 00c5fa63 bgeu a1,a2,476
466: 00052283 lw t0,0(a0)
46a: 0055a023 sw t0,0(a1)
46e: 0511 addi a0,a0,4
470: 0591 addi a1,a1,4
472: fec5eae3 bltu a1,a2,466
- 476: 82018513 addi a0,gp,-2016 # 200001c8 <_edata>
+ 476: 82818513 addi a0,gp,-2008 # 200001e8 <_edata>
47a: 20001597 auipc a1,0x20001
- 47e: 42e58593 addi a1,a1,1070 # 200018a8 <_ebss>
+ 47e: 47a58593 addi a1,a1,1146 # 200018f4 <_ebss>
482: 00b57763 bgeu a0,a1,490
486: 00052023 sw zero,0(a0)
48a: 0511 addi a0,a0,4
@@ -1512,7 +1522,7 @@ Disassembly of section .text:
87a: bded j 774
0000087c :
- 87c: 8241a503 lw a0,-2012(gp) # 200001cc
+ 87c: 82c1a503 lw a0,-2004(gp) # 200001ec
880: 8082 ret
00000882 :
@@ -1788,7 +1798,7 @@ Disassembly of section .text:
00000b4e :
b4e: e22ff2ef jal t0,170 <__riscv_save_0>
b52: 1ffff437 lui s0,0x1ffff
- b56: 72442703 lw a4,1828(s0) # 1ffff724 <_data_lma+0x1fff5ac8>
+ b56: 72442703 lw a4,1828(s0) # 1ffff724 <_data_lma+0x1fff45e0>
b5a: 3e000637 lui a2,0x3e000
b5e: 1141 addi sp,sp,-16
b60: 01971793 slli a5,a4,0x19
@@ -1809,35 +1819,35 @@ Disassembly of section .text:
b88: c202 sw zero,4(sp)
b8a: c402 sw zero,8(sp)
b8c: c602 sw zero,12(sp)
- b8e: 82f1a423 sw a5,-2008(gp) # 200001d0
+ b8e: 82f1a823 sw a5,-2000(gp) # 200001f0
b92: 72845703 lhu a4,1832(s0)
b96: 4585 li a1,1
- b98: 82e19023 sh a4,-2016(gp) # 200001c8 <_edata>
+ b98: 82e19423 sh a4,-2008(gp) # 200001e8 <_edata>
b9c: 72042703 lw a4,1824(s0)
ba0: 03d00513 li a0,61
- ba4: 82e1a623 sw a4,-2004(gp) # 200001d4
+ ba4: 82e1aa23 sw a4,-1996(gp) # 200001f4
ba8: 70442703 lw a4,1796(s0)
- bac: 82e1a223 sw a4,-2012(gp) # 200001cc
+ bac: 82e1a623 sw a4,-2004(gp) # 200001ec
bb0: 2c8d jal e22
bb2: 70442783 lw a5,1796(s0)
bb6: 103a0737 lui a4,0x103a0
- bba: 70070713 addi a4,a4,1792 # 103a0700 <_data_lma+0x10396aa4>
+ bba: 70070713 addi a4,a4,1792 # 103a0700 <_data_lma+0x103955bc>
bbe: f0f7f793 andi a5,a5,-241
bc2: 10e78063 beq a5,a4,cc2
bc6: 02f76163 bltu a4,a5,be8
bca: 10320737 lui a4,0x10320
- bce: 70070713 addi a4,a4,1792 # 10320700 <_data_lma+0x10316aa4>
+ bce: 70070713 addi a4,a4,1792 # 10320700 <_data_lma+0x103155bc>
bd2: 06e78063 beq a5,a4,c32
bd6: 10370737 lui a4,0x10370
- bda: 70070713 addi a4,a4,1792 # 10370700 <_data_lma+0x10366aa4>
+ bda: 70070713 addi a4,a4,1792 # 10370700 <_data_lma+0x103655bc>
bde: 08e78763 beq a5,a4,c6c
be2: 0141 addi sp,sp,16
be4: db0ff06f j 194 <__riscv_restore_0>
be8: 103b0737 lui a4,0x103b0
- bec: 70070713 addi a4,a4,1792 # 103b0700 <_data_lma+0x103a6aa4>
+ bec: 70070713 addi a4,a4,1792 # 103b0700 <_data_lma+0x103a55bc>
bf0: 0ae78b63 beq a5,a4,ca6
bf4: 103d0737 lui a4,0x103d0
- bf8: 70070713 addi a4,a4,1792 # 103d0700 <_data_lma+0x103c6aa4>
+ bf8: 70070713 addi a4,a4,1792 # 103d0700 <_data_lma+0x103c55bc>
bfc: fee793e3 bne a5,a4,be2
c00: 4585 li a1,1
c02: 6521 lui a0,0x8
@@ -1927,11 +1937,11 @@ Disassembly of section .text:
cdc: b799 j c22
00000cde :
- cde: 82a1a823 sw a0,-2000(gp) # 200001d8
+ cde: 82a1ac23 sw a0,-1992(gp) # 200001f8
ce2: 8082 ret
00000ce4 :
- ce4: 8301a703 lw a4,-2000(gp) # 200001d8
+ ce4: 8381a703 lw a4,-1992(gp) # 200001f8
ce8: 4785 li a5,1
cea: 2114 lbu a3,0(a0)
cec: 02f71063 bne a4,a5,d0c
@@ -1985,7 +1995,7 @@ Disassembly of section .text:
d64: 8b91 andi a5,a5,4
d66: c7a5 beqz a5,dce
d68: 000f47b7 lui a5,0xf4
- d6c: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xea5e4>
+ d6c: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xe90fc>
d70: c11c sw a5,0(a0)
d72: 40021637 lui a2,0x40021
d76: 425c lw a5,4(a2)
@@ -2017,14 +2027,14 @@ Disassembly of section .text:
db6: 425c lw a5,4(a2)
db8: 83b9 srli a5,a5,0xe
dba: 0037f713 andi a4,a5,3
- dbe: 80418793 addi a5,gp,-2044 # 200001ac
+ dbe: 80418793 addi a5,gp,-2044 # 200001c4
dc2: 97ba add a5,a5,a4
dc4: 239c lbu a5,0(a5)
dc6: 02f6d7b3 divu a5,a3,a5
dca: c91c sw a5,16(a0)
dcc: 8082 ret
dce: 007a17b7 lui a5,0x7a1
- dd2: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x7975a4>
+ dd2: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x7960bc>
dd6: bf69 j d70
dd8: 435c lw a5,4(a4)
dda: 4358 lw a4,4(a4)
@@ -2042,14 +2052,14 @@ Disassembly of section .text:
df8: 8b41 andi a4,a4,16
dfa: cf09 beqz a4,e14
dfc: 007a1737 lui a4,0x7a1
- e00: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x7975a4>
+ e00: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x7960bc>
e04: a821 j e1c
e06: 40021737 lui a4,0x40021
e0a: 4358 lw a4,4(a4)
e0c: 00e71693 slli a3,a4,0xe
e10: fe06d6e3 bgez a3,dfc
e14: 003d1737 lui a4,0x3d1
- e18: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c6ca4>
+ e18: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c57bc>
e1c: 02e787b3 mul a5,a5,a4
e20: bf81 j d70
@@ -2098,7 +2108,7 @@ Disassembly of section .text:
00000e7c :
e7c: 211a lhu a4,0(a0)
e7e: 678d lui a5,0x3
- e80: 04078793 addi a5,a5,64 # 3040
+ e80: 04078793 addi a5,a5,64 # 3040
e84: 21b6 lhu a3,2(a1)
e86: 8f7d and a4,a4,a5
e88: 219e lhu a5,0(a1)
@@ -2526,10 +2536,10 @@ Disassembly of section .text:
1236: 40040513 addi a0,s0,1024
123a: c6eff0ef jal ra,6a8
123e: 85aa mv a1,a0
- 1240: 82a19a23 sh a0,-1996(gp) # 200001dc
- 1244: 00009537 lui a0,0x9
- 1248: 20c50513 addi a0,a0,524 # 920c <_read+0x32>
- 124c: 017060ef jal ra,7a62
+ 1240: 82a19e23 sh a0,-1988(gp) # 200001fc
+ 1244: 0000a537 lui a0,0xa
+ 1248: 11c50513 addi a0,a0,284 # a11c <_read+0x30>
+ 124c: 728070ef jal ra,8974
1250: 000e07b7 lui a5,0xe0
1254: ce3e sw a5,28(sp)
1256: 080c addi a1,sp,16
@@ -2867,9 +2877,9 @@ Disassembly of section .text:
15d4: 8432 mv s0,a2
15d6: 20000b37 lui s6,0x20000
15da: 0442 slli s0,s0,0x10
- 15dc: 24cb0b93 addi s7,s6,588 # 2000024c
+ 15dc: 26cb0b93 addi s7,s6,620 # 2000026c
15e0: 8041 srli s0,s0,0x10
- 15e2: 24cb0b13 addi s6,s6,588
+ 15e2: 26cb0b13 addi s6,s6,620
15e6: 0ff00c13 li s8,255
15ea: 00ca1c93 slli s9,s4,0xc
15ee: 6605 lui a2,0x1
@@ -3032,18 +3042,18 @@ Disassembly of section .text:
177a: 4511 li a0,4
177c: 98eff0ef jal ra,90a
1780: 20001737 lui a4,0x20001
- 1784: 43c70713 addi a4,a4,1084 # 2000143c
+ 1784: 46070713 addi a4,a4,1120 # 20001460
1788: 06d74783 lbu a5,109(a4)
178c: e79d bnez a5,17ba
178e: 200014b7 lui s1,0x20001
- 1792: 000055b7 lui a1,0x5
+ 1792: 000065b7 lui a1,0x6
1796: 4681 li a3,0
1798: 3e800613 li a2,1000
- 179c: db658593 addi a1,a1,-586 # 4db6
- 17a0: 66448513 addi a0,s1,1636 # 20001664
+ 179c: c8858593 addi a1,a1,-888 # 5c88
+ 17a0: 6b048513 addi a0,s1,1712 # 200016b0
17a4: 068706a3 sb s0,109(a4)
17a8: 678000ef jal ra,1e20
- 17ac: 66848223 sb s0,1636(s1)
+ 17ac: 6a848823 sb s0,1712(s1)
17b0: 4432 lw s0,12(sp)
17b2: 44a2 lw s1,8(sp)
17b4: 0141 addi sp,sp,16
@@ -3054,13 +3064,13 @@ Disassembly of section .text:
17c4: 4709 li a4,2
17c6: fee795e3 bne a5,a4,17b0
17ca: 20001437 lui s0,0x20001
- 17ce: 66440513 addi a0,s0,1636 # 20001664
+ 17ce: 6b040513 addi a0,s0,1712 # 200016b0
17d2: 68c000ef jal ra,1e5e
17d6: 40011537 lui a0,0x40011
17da: 4601 li a2,0
17dc: 10000593 li a1,256
17e0: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x2000bc00>
- 17e4: 66040223 sb zero,1636(s0)
+ 17e4: 6a040823 sb zero,1712(s0)
17e8: a04ff0ef jal ra,9ec
17ec: b7d1 j 17b0
@@ -3120,16 +3130,16 @@ Disassembly of section .text:
186e: 6505 lui a0,0x1
1870: 89aff0ef jal ra,90a
1874: 20001437 lui s0,0x20001
- 1878: 43c40793 addi a5,s0,1084 # 2000143c
+ 1878: 46040793 addi a5,s0,1120 # 20001460
187c: 06e7c783 lbu a5,110(a5) # 106e
- 1880: 43c40413 addi s0,s0,1084
+ 1880: 46040413 addi s0,s0,1120
1884: ef89 bnez a5,189e
- 1886: 000055b7 lui a1,0x5
+ 1886: 000065b7 lui a1,0x6
188a: 20001537 lui a0,0x20001
188e: 4681 li a3,0
1890: 3e800613 li a2,1000
- 1894: e1858593 addi a1,a1,-488 # 4e18
- 1898: 65450513 addi a0,a0,1620 # 20001654
+ 1894: cea58593 addi a1,a1,-790 # 5cea
+ 1898: 6a050513 addi a0,a0,1696 # 200016a0
189c: 2351 jal 1e20
189e: 06e44783 lbu a5,110(s0)
18a2: 0785 addi a5,a5,1
@@ -3205,7 +3215,7 @@ Disassembly of section .text:
195c: 4585 li a1,1
195e: eaeff0ef jal ra,100c
1962: 67c1 lui a5,0x10
- 1964: 06078793 addi a5,a5,96 # 10060 <_data_lma+0x6404>
+ 1964: 06078793 addi a5,a5,96 # 10060 <_data_lma+0x4f1c>
1968: 006c addi a1,sp,12
196a: 80040513 addi a0,s0,-2048
196e: c83e sw a5,16(sp)
@@ -3232,22 +3242,22 @@ Disassembly of section .text:
19a6: c24a sw s2,4(sp)
19a8: c04e sw s3,0(sp)
19aa: c606 sw ra,12(sp)
- 19ac: 581050ef jal ra,772c <__extendsfdf2>
- 19b0: 000097b7 lui a5,0x9
- 19b4: 2307a603 lw a2,560(a5) # 9230 <_read+0x56>
- 19b8: 2347a683 lw a3,564(a5)
+ 19ac: 493060ef jal ra,863e <__extendsfdf2>
+ 19b0: 0000a7b7 lui a5,0xa
+ 19b4: 1407a603 lw a2,320(a5) # a140 <_read+0x54>
+ 19b8: 1447a683 lw a3,324(a5)
19bc: 892a mv s2,a0
19be: 89ae mv s3,a1
- 19c0: 05c040ef jal ra,5a1c <__ledf2>
+ 19c0: 76f040ef jal ra,692e <__ledf2>
19c4: 02055f63 bgez a0,1a02
- 19c8: 000097b7 lui a5,0x9
- 19cc: 2247a783 lw a5,548(a5) # 9224 <_read+0x4a>
+ 19c8: 0000a7b7 lui a5,0xa
+ 19cc: 1347a783 lw a5,308(a5) # a134 <_read+0x48>
19d0: c01c sw a5,0(s0)
- 19d2: 000097b7 lui a5,0x9
- 19d6: 22c7a583 lw a1,556(a5) # 922c <_read+0x52>
+ 19d2: 0000a7b7 lui a5,0xa
+ 19d6: 13c7a583 lw a1,316(a5) # a13c <_read+0x50>
19da: 4008 lw a0,0(s0)
- 19dc: 4e8050ef jal ra,6ec4 <__mulsf3>
- 19e0: 363050ef jal ra,7542 <__fixunssfsi>
+ 19dc: 3fa060ef jal ra,7dd6 <__mulsf3>
+ 19e0: 275060ef jal ra,8454 <__fixunssfsi>
19e4: 01051593 slli a1,a0,0x10
19e8: 40001537 lui a0,0x40001
19ec: 81c1 srli a1,a1,0x10
@@ -3259,15 +3269,15 @@ Disassembly of section .text:
19fc: 4982 lw s3,0(sp)
19fe: 0141 addi sp,sp,16
1a00: 8082 ret
- 1a02: 000097b7 lui a5,0x9
- 1a06: 2387a603 lw a2,568(a5) # 9238 <_read+0x5e>
- 1a0a: 23c7a683 lw a3,572(a5)
+ 1a02: 0000a7b7 lui a5,0xa
+ 1a06: 1487a603 lw a2,328(a5) # a148 <_read+0x5c>
+ 1a0a: 14c7a683 lw a3,332(a5)
1a0e: 854a mv a0,s2
1a10: 85ce mv a1,s3
- 1a12: 75d030ef jal ra,596e <__gedf2>
+ 1a12: 66f040ef jal ra,6880 <__gedf2>
1a16: faa05ee3 blez a0,19d2
- 1a1a: 000097b7 lui a5,0x9
- 1a1e: 2287a783 lw a5,552(a5) # 9228 <_read+0x4e>
+ 1a1a: 0000a7b7 lui a5,0xa
+ 1a1e: 1387a783 lw a5,312(a5) # a138 <_read+0x4c>
1a22: b77d j 19d0
00001a24 :
@@ -3310,7 +3320,7 @@ Disassembly of section .text:
1a84: e91fe0ef jal ra,914
1a88: 6789 lui a5,0x2
1a8a: 40005437 lui s0,0x40005
- 1a8e: 58078793 addi a5,a5,1408 # 2580
+ 1a8e: 58078793 addi a5,a5,1408 # 2580
1a92: 100c addi a1,sp,32
1a94: d03e sw a5,32(sp)
1a96: c0040513 addi a0,s0,-1024 # 40004c00 <_eusrstack+0x1ffffc00>
@@ -3424,8 +3434,8 @@ Disassembly of section .text:
1bc8: 80040513 addi a0,s0,-2048
1bcc: dd0ff0ef jal ra,119c
1bd0: 0ff57593 andi a1,a0,255
- 1bd4: 82b18c23 sb a1,-1992(gp) # 200001e0
- 1bd8: 8941a503 lw a0,-1900(gp) # 2000023c
+ 1bd4: 84b18023 sb a1,-1984(gp) # 20000200
+ 1bd8: 89c1a503 lw a0,-1892(gp) # 2000025c
1bdc: 4d1c lw a5,24(a0)
1bde: 4910 lw a2,16(a0)
1be0: 4954 lw a3,20(a0)
@@ -3449,8 +3459,8 @@ Disassembly of section .text:
1c0e: c0040513 addi a0,s0,-1024
1c12: d8aff0ef jal ra,119c
1c16: 0ff57593 andi a1,a0,255
- 1c1a: 82b18e23 sb a1,-1988(gp) # 200001e4
- 1c1e: 8981a503 lw a0,-1896(gp) # 20000240
+ 1c1a: 84b18223 sb a1,-1980(gp) # 20000204
+ 1c1e: 8a01a503 lw a0,-1888(gp) # 20000260
1c22: 4d1c lw a5,24(a0)
1c24: 4910 lw a2,16(a0)
1c26: 4954 lw a3,20(a0)
@@ -3500,9 +3510,9 @@ Disassembly of section .text:
00001c9a :
1c9a: cd6fe2ef jal t0,170 <__riscv_save_0>
1c9e: 200007b7 lui a5,0x20000
- 1ca2: 1a87a583 lw a1,424(a5) # 200001a8
+ 1ca2: 1c07a583 lw a1,448(a5) # 200001c0
1ca6: 6789 lui a5,0x2
- 1ca8: 71078793 addi a5,a5,1808 # 2710
+ 1ca8: 71078793 addi a5,a5,1808 # 2710
1cac: 02f5d5b3 divu a1,a1,a5
1cb0: 157d addi a0,a0,-1
1cb2: 0542 slli a0,a0,0x10
@@ -3524,7 +3534,7 @@ Disassembly of section .text:
1cd6: 4585 li a1,1
1cd8: 40040513 addi a0,s0,1024
1cdc: ba6ff0ef jal ra,1082
- 1ce0: 6f7010ef jal ra,3bd6
+ 1ce0: 22b020ef jal ra,470a
1ce4: 4432 lw s0,12(sp)
1ce6: 0141 addi sp,sp,16
1ce8: 30200073 mret
@@ -3565,9 +3575,9 @@ Disassembly of section .text:
00001d44 :
1d44: c2cfe2ef jal t0,170 <__riscv_save_0>
1d48: 200007b7 lui a5,0x20000
- 1d4c: 1a87a583 lw a1,424(a5) # 200001a8
+ 1d4c: 1c07a583 lw a1,448(a5) # 200001c0
1d50: 6789 lui a5,0x2
- 1d52: 71078793 addi a5,a5,1808 # 2710
+ 1d52: 71078793 addi a5,a5,1808 # 2710
1d56: 02f5d5b3 divu a1,a1,a5
1d5a: 47a9 li a5,10
1d5c: 02f50533 mul a0,a0,a5
@@ -3595,7 +3605,7 @@ Disassembly of section .text:
1d8e: af4ff0ef jal ra,1082
1d92: 20001437 lui s0,0x20001
1d96: 2a21 jal 1eae
- 1d98: 43c40413 addi s0,s0,1084 # 2000143c
+ 1d98: 46040413 addi s0,s0,1120 # 20001460
1d9c: 297d jal 225a
1d9e: d808 sw a0,48(s0)
1da0: 2b89 jal 22f2
@@ -3604,17 +3614,17 @@ Disassembly of section .text:
1da8: d848 sw a0,52(s0)
1daa: 892a mv s2,a0
1dac: 854e mv a0,s3
- 1dae: 116050ef jal ra,6ec4 <__mulsf3>
- 1db2: 84018493 addi s1,gp,-1984 # 200001e8
+ 1dae: 028060ef jal ra,7dd6 <__mulsf3>
+ 1db2: 84818493 addi s1,gp,-1976 # 20000208
1db6: 408c lw a1,0(s1)
- 1db8: 84418413 addi s0,gp,-1980 # 200001ec
- 1dbc: 17f040ef jal ra,673a <__addsf3>
+ 1db8: 84c18413 addi s0,gp,-1972 # 2000020c
+ 1dbc: 091050ef jal ra,764c <__addsf3>
1dc0: c088 sw a0,0(s1)
1dc2: 85ce mv a1,s3
1dc4: 854a mv a0,s2
- 1dc6: 0fe050ef jal ra,6ec4 <__mulsf3>
+ 1dc6: 010060ef jal ra,7dd6 <__mulsf3>
1dca: 400c lw a1,0(s0)
- 1dcc: 16f040ef jal ra,673a <__addsf3>
+ 1dcc: 081050ef jal ra,764c <__addsf3>
1dd0: c008 sw a0,0(s0)
1dd2: 4432 lw s0,12(sp)
1dd4: 44a2 lw s1,8(sp)
@@ -3640,9 +3650,9 @@ Disassembly of section .text:
1e02: c0040513 addi a0,s0,-1024
1e06: 4585 li a1,1
1e08: a7aff0ef jal ra,1082
- 1e0c: 00009537 lui a0,0x9
- 1e10: 24050513 addi a0,a0,576 # 9240 <_read+0x66>
- 1e14: 563050ef jal ra,7b76
+ 1e0c: 0000a537 lui a0,0xa
+ 1e10: 15050513 addi a0,a0,336 # a150 <_read+0x64>
+ 1e14: 475060ef jal ra,8a88
1e18: 4432 lw s0,12(sp)
1e1a: 0141 addi sp,sp,16
1e1c: 30200073 mret
@@ -3658,8 +3668,8 @@ Disassembly of section .text:
1e2e: ee09 bnez a2,1e48
1e30: 4785 li a5,1
1e32: a11c sb a5,0(a0)
- 1e34: 8481a683 lw a3,-1976(gp) # 200001f0
- 1e38: 84818793 addi a5,gp,-1976 # 200001f0
+ 1e34: 8501a683 lw a3,-1968(gp) # 20000210
+ 1e38: 85018793 addi a5,gp,-1968 # 20000210
1e3c: 8736 mv a4,a3
1e3e: eb01 bnez a4,1e4e
1e40: c554 sw a3,12(a0)
@@ -3678,8 +3688,8 @@ Disassembly of section .text:
00001e5e :
1e5e: c50d beqz a0,1e88
- 1e60: 8481a783 lw a5,-1976(gp) # 200001f0
- 1e64: 84818713 addi a4,gp,-1976 # 200001f0
+ 1e60: 8501a783 lw a5,-1968(gp) # 20000210
+ 1e64: 85018713 addi a4,gp,-1968 # 20000210
1e68: e399 bnez a5,1e6e
1e6a: 4505 li a0,1
1e6c: 8082 ret
@@ -3699,7 +3709,7 @@ Disassembly of section .text:
00001e8c :
1e8c: ae4fe2ef jal t0,170 <__riscv_save_0>
- 1e90: 8481a403 lw s0,-1976(gp) # 200001f0
+ 1e90: 8501a403 lw s0,-1968(gp) # 20000210
1e94: dc75 beqz s0,1e90
1e96: 201c lbu a5,0(s0)
1e98: 0ff7f793 andi a5,a5,255
@@ -3713,7 +3723,7 @@ Disassembly of section .text:
1eac: b7e5 j 1e94
00001eae :
- 1eae: 8481a783 lw a5,-1976(gp) # 200001f0
+ 1eae: 8501a783 lw a5,-1968(gp) # 20000210
1eb2: 4605 li a2,1
1eb4: e391 bnez a5,1eb8
1eb6: 8082 ret
@@ -3821,14 +3831,14 @@ Disassembly of section .text:
00001f84 :
1f84: 200007b7 lui a5,0x20000
- 1f88: 1a87a783 lw a5,424(a5) # 200001a8
+ 1f88: 1c07a783 lw a5,448(a5) # 200001c0
1f8c: 6709 lui a4,0x2
1f8e: f4070713 addi a4,a4,-192 # 1f40
1f92: 02e7d7b3 divu a5,a5,a4
1f96: 07c2 slli a5,a5,0x10
1f98: 83c1 srli a5,a5,0x10
- 1f9a: 84f19723 sh a5,-1970(gp) # 200001f6
- 1f9e: 84f19623 sh a5,-1972(gp) # 200001f4
+ 1f9a: 84f19b23 sh a5,-1962(gp) # 20000216
+ 1f9e: 84f19a23 sh a5,-1964(gp) # 20000214
1fa2: 8082 ret
00001fa4 :
@@ -3837,7 +3847,7 @@ Disassembly of section .text:
1faa: 4681 li a3,0
1fac: 9b79 andi a4,a4,-2
1fae: c3d8 sw a4,4(a5)
- 1fb0: 84e1d703 lhu a4,-1970(gp) # 200001f6
+ 1fb0: 8561d703 lhu a4,-1962(gp) # 20000216
1fb4: 02a70533 mul a0,a4,a0
1fb8: 3e800713 li a4,1000
1fbc: 02e55633 divu a2,a0,a4
@@ -3863,7 +3873,7 @@ Disassembly of section .text:
1fe8: 4681 li a3,0
1fea: 9b79 andi a4,a4,-2
1fec: c3d8 sw a4,4(a5)
- 1fee: 84c1d703 lhu a4,-1972(gp) # 200001f4
+ 1fee: 8541d703 lhu a4,-1964(gp) # 20000214
1ff2: 02a70633 mul a2,a4,a0
1ff6: cb90 sw a2,16(a5)
1ff8: cbd4 sw a3,20(a5)
@@ -3929,7 +3939,7 @@ Disassembly of section .text:
2094: 910ff0ef jal ra,11a4
2098: d97d beqz a0,208e <_write+0x1c>
209a: 008987b3 add a5,s3,s0
- 209e: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x763a4>
+ 209e: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x74ebc>
20a2: 8526 mv a0,s1
20a4: 0405 addi s0,s0,1
20a6: 05c2 slli a1,a1,0x10
@@ -3938,10 +3948,10 @@ Disassembly of section .text:
20ae: bfd9 j 2084 <_write+0x12>
000020b0 <_sbrk>:
- 20b0: 80818713 addi a4,gp,-2040 # 200001b0
+ 20b0: 80818713 addi a4,gp,-2040 # 200001c8
20b4: 431c lw a5,0(a4)
20b6: 200026b7 lui a3,0x20002
- 20ba: 8a868693 addi a3,a3,-1880 # 200018a8 <_ebss>
+ 20ba: 8f468693 addi a3,a3,-1804 # 200018f4 <_ebss>
20be: 953e add a0,a0,a5
20c0: 00d56b63 bltu a0,a3,20d6 <_sbrk+0x26>
20c4: 200056b7 lui a3,0x20005
@@ -3958,21 +3968,21 @@ Disassembly of section .text:
20de: 20001437 lui s0,0x20001
20e2: 200015b7 lui a1,0x20001
20e6: 06400613 li a2,100
- 20ea: 24c58593 addi a1,a1,588 # 2000124c
- 20ee: 3dc40513 addi a0,s0,988 # 200013dc
+ 20ea: 26c58593 addi a1,a1,620 # 2000126c
+ 20ee: 3fc40513 addi a0,s0,1020 # 200013fc
20f2: 33d5 jal 1ed6
- 20f4: 3dc40493 addi s1,s0,988
+ 20f4: 3fc40493 addi s1,s0,1020
20f8: 200015b7 lui a1,0x20001
20fc: 01048513 addi a0,s1,16
2100: 06400613 li a2,100
- 2104: 31458593 addi a1,a1,788 # 20001314
+ 2104: 33458593 addi a1,a1,820 # 20001334
2108: 200014b7 lui s1,0x20001
210c: 33e9 jal 1ed6
- 210e: 3dc40913 addi s2,s0,988
- 2112: 3ec48493 addi s1,s1,1004 # 200013ec
+ 210e: 3fc40913 addi s2,s0,1020
+ 2112: 40c48493 addi s1,s1,1036 # 2000140c
2116: 59f9 li s3,-2
2118: 4581 li a1,0
- 211a: 3dc40513 addi a0,s0,988
+ 211a: 3fc40513 addi a0,s0,1020
211e: 33e1 jal 1ee6
2120: ff351ce3 bne a0,s3,2118
2124: 5479 li s0,-2
@@ -3986,31 +3996,31 @@ Disassembly of section .text:
0000213c :
213c: 200017b7 lui a5,0x20001
- 2140: 45a7c503 lbu a0,1114(a5) # 2000145a
- 2144: 85018593 addi a1,gp,-1968 # 200001f8
- 2148: 86018613 addi a2,gp,-1952 # 20000208
- 214c: 85418693 addi a3,gp,-1964 # 200001fc
- 2150: 85818713 addi a4,gp,-1960 # 20000200
- 2154: 00009837 lui a6,0x9
- 2158: 85c18793 addi a5,gp,-1956 # 20000204
+ 2140: 47f7c503 lbu a0,1151(a5) # 2000147f
+ 2144: 85818593 addi a1,gp,-1960 # 20000218
+ 2148: 86818613 addi a2,gp,-1944 # 20000228
+ 214c: 85c18693 addi a3,gp,-1956 # 2000021c
+ 2150: 86018713 addi a4,gp,-1952 # 20000220
+ 2154: 0000a837 lui a6,0xa
+ 2158: 86418793 addi a5,gp,-1948 # 20000224
215c: c50d beqz a0,2186
- 215e: 00009537 lui a0,0x9
- 2162: 25052503 lw a0,592(a0) # 9250 <_read+0x76>
+ 215e: 0000a537 lui a0,0xa
+ 2162: 16052503 lw a0,352(a0) # a160 <_read+0x74>
2166: c188 sw a0,0(a1)
- 2168: 000095b7 lui a1,0x9
- 216c: 2545a583 lw a1,596(a1) # 9254 <_read+0x7a>
+ 2168: 0000a5b7 lui a1,0xa
+ 216c: 1645a583 lw a1,356(a1) # a164 <_read+0x78>
2170: c20c sw a1,0(a2)
- 2172: 00009637 lui a2,0x9
- 2176: 25862603 lw a2,600(a2) # 9258 <_read+0x7e>
+ 2172: 0000a637 lui a2,0xa
+ 2176: 16862603 lw a2,360(a2) # a168 <_read+0x7c>
217a: c290 sw a2,0(a3)
- 217c: 25c82683 lw a3,604(a6) # 925c <_read+0x82>
+ 217c: 16c82683 lw a3,364(a6) # a16c <_read+0x80>
2180: c314 sw a3,0(a4)
2182: c394 sw a3,0(a5)
2184: 8082 ret
- 2186: 00009537 lui a0,0x9
- 218a: 26052503 lw a0,608(a0) # 9260 <_read+0x86>
+ 2186: 0000a537 lui a0,0xa
+ 218a: 17052503 lw a0,368(a0) # a170 <_read+0x84>
218e: c188 sw a0,0(a1)
- 2190: 25c82583 lw a1,604(a6)
+ 2190: 16c82583 lw a1,364(a6)
2194: c288 sw a0,0(a3)
2196: c20c sw a1,0(a2)
2198: c30c sw a1,0(a4)
@@ -4018,7 +4028,7 @@ Disassembly of section .text:
219c: 8082 ret
0000219e :
- 219e: 83419703 lh a4,-1996(gp) # 200001dc
+ 219e: 83c19703 lh a4,-1988(gp) # 200001fc
21a2: 4781 li a5,0
21a4: 972a add a4,a4,a0
21a6: 00074f63 bltz a4,21c4
@@ -4095,148 +4105,148 @@ Disassembly of section .text:
225a: f17fd2ef jal t0,170 <__riscv_save_0>
225e: 4505 li a0,1
2260: 37a5 jal 21c8
- 2262: 3fc050ef jal ra,765e <__floatunsisf>
- 2266: 000097b7 lui a5,0x9
- 226a: 2647a583 lw a1,612(a5) # 9264 <_read+0x8a>
- 226e: 037040ef jal ra,6aa4 <__divsf3>
- 2272: 4ba050ef jal ra,772c <__extendsfdf2>
- 2276: 000097b7 lui a5,0x9
- 227a: 2687a603 lw a2,616(a5) # 9268 <_read+0x8e>
- 227e: 26c7a683 lw a3,620(a5)
- 2282: 051030ef jal ra,5ad2 <__muldf3>
+ 2262: 30e060ef jal ra,8570 <__floatunsisf>
+ 2266: 0000a7b7 lui a5,0xa
+ 226a: 1747a583 lw a1,372(a5) # a174 <_read+0x88>
+ 226e: 748050ef jal ra,79b6 <__divsf3>
+ 2272: 3cc060ef jal ra,863e <__extendsfdf2>
+ 2276: 0000a7b7 lui a5,0xa
+ 227a: 1787a603 lw a2,376(a5) # a178 <_read+0x8c>
+ 227e: 17c7a683 lw a3,380(a5)
+ 2282: 762040ef jal ra,69e4 <__muldf3>
2286: 842a mv s0,a0
- 2288: 8501a503 lw a0,-1968(gp) # 200001f8
+ 2288: 8581a503 lw a0,-1960(gp) # 20000218
228c: 84ae mv s1,a1
- 228e: 49e050ef jal ra,772c <__extendsfdf2>
+ 228e: 3b0060ef jal ra,863e <__extendsfdf2>
2292: 862a mv a2,a0
2294: 86ae mv a3,a1
2296: 8522 mv a0,s0
2298: 85a6 mv a1,s1
- 229a: 039030ef jal ra,5ad2 <__muldf3>
- 229e: 53a050ef jal ra,77d8 <__truncdfsf2>
+ 229a: 74a040ef jal ra,69e4 <__muldf3>
+ 229e: 44c060ef jal ra,86ea <__truncdfsf2>
22a2: ef3fd06f j 194 <__riscv_restore_0>
000022a6 :
22a6: ecbfd2ef jal t0,170 <__riscv_save_0>
22aa: 4509 li a0,2
22ac: 3f31 jal 21c8
- 22ae: 3b0050ef jal ra,765e <__floatunsisf>
- 22b2: 000097b7 lui a5,0x9
- 22b6: 2647a583 lw a1,612(a5) # 9264 <_read+0x8a>
- 22ba: 7ea040ef jal ra,6aa4 <__divsf3>
- 22be: 46e050ef jal ra,772c <__extendsfdf2>
- 22c2: 000097b7 lui a5,0x9
- 22c6: 2687a603 lw a2,616(a5) # 9268 <_read+0x8e>
- 22ca: 26c7a683 lw a3,620(a5)
- 22ce: 005030ef jal ra,5ad2 <__muldf3>
+ 22ae: 2c2060ef jal ra,8570 <__floatunsisf>
+ 22b2: 0000a7b7 lui a5,0xa
+ 22b6: 1747a583 lw a1,372(a5) # a174 <_read+0x88>
+ 22ba: 6fc050ef jal ra,79b6 <__divsf3>
+ 22be: 380060ef jal ra,863e <__extendsfdf2>
+ 22c2: 0000a7b7 lui a5,0xa
+ 22c6: 1787a603 lw a2,376(a5) # a178 <_read+0x8c>
+ 22ca: 17c7a683 lw a3,380(a5)
+ 22ce: 716040ef jal ra,69e4 <__muldf3>
22d2: 842a mv s0,a0
- 22d4: 8601a503 lw a0,-1952(gp) # 20000208
+ 22d4: 8681a503 lw a0,-1944(gp) # 20000228
22d8: 84ae mv s1,a1
- 22da: 452050ef jal ra,772c <__extendsfdf2>
+ 22da: 364060ef jal ra,863e <__extendsfdf2>
22de: 862a mv a2,a0
22e0: 86ae mv a3,a1
22e2: 8522 mv a0,s0
22e4: 85a6 mv a1,s1
- 22e6: 7ec030ef jal ra,5ad2 <__muldf3>
- 22ea: 4ee050ef jal ra,77d8 <__truncdfsf2>
+ 22e6: 6fe040ef jal ra,69e4 <__muldf3>
+ 22ea: 400060ef jal ra,86ea <__truncdfsf2>
22ee: ea7fd06f j 194 <__riscv_restore_0>
000022f2 :
22f2: e7ffd2ef jal t0,170 <__riscv_save_0>
22f6: 450d li a0,3
22f8: 3dc1 jal 21c8
- 22fa: 364050ef jal ra,765e <__floatunsisf>
- 22fe: 000097b7 lui a5,0x9
- 2302: 2647a583 lw a1,612(a5) # 9264 <_read+0x8a>
- 2306: 79e040ef jal ra,6aa4 <__divsf3>
- 230a: 422050ef jal ra,772c <__extendsfdf2>
- 230e: 000097b7 lui a5,0x9
- 2312: 2687a603 lw a2,616(a5) # 9268 <_read+0x8e>
- 2316: 26c7a683 lw a3,620(a5)
- 231a: 7b8030ef jal ra,5ad2 <__muldf3>
+ 22fa: 276060ef jal ra,8570 <__floatunsisf>
+ 22fe: 0000a7b7 lui a5,0xa
+ 2302: 1747a583 lw a1,372(a5) # a174 <_read+0x88>
+ 2306: 6b0050ef jal ra,79b6 <__divsf3>
+ 230a: 334060ef jal ra,863e <__extendsfdf2>
+ 230e: 0000a7b7 lui a5,0xa
+ 2312: 1787a603 lw a2,376(a5) # a178 <_read+0x8c>
+ 2316: 17c7a683 lw a3,380(a5)
+ 231a: 6ca040ef jal ra,69e4 <__muldf3>
231e: 842a mv s0,a0
- 2320: 8541a503 lw a0,-1964(gp) # 200001fc
+ 2320: 85c1a503 lw a0,-1956(gp) # 2000021c
2324: 84ae mv s1,a1
- 2326: 406050ef jal ra,772c <__extendsfdf2>
+ 2326: 318060ef jal ra,863e <__extendsfdf2>
232a: 862a mv a2,a0
232c: 86ae mv a3,a1
232e: 8522 mv a0,s0
2330: 85a6 mv a1,s1
- 2332: 7a0030ef jal ra,5ad2 <__muldf3>
- 2336: 4a2050ef jal ra,77d8 <__truncdfsf2>
+ 2332: 6b2040ef jal ra,69e4 <__muldf3>
+ 2336: 3b4060ef jal ra,86ea <__truncdfsf2>
233a: e5bfd06f j 194 <__riscv_restore_0>
0000233e :
233e: e33fd2ef jal t0,170 <__riscv_save_0>
2342: 4511 li a0,4
2344: 3551 jal 21c8
- 2346: 318050ef jal ra,765e <__floatunsisf>
- 234a: 000097b7 lui a5,0x9
- 234e: 2647a583 lw a1,612(a5) # 9264 <_read+0x8a>
- 2352: 752040ef jal ra,6aa4 <__divsf3>
- 2356: 3d6050ef jal ra,772c <__extendsfdf2>
- 235a: 000097b7 lui a5,0x9
- 235e: 2687a603 lw a2,616(a5) # 9268 <_read+0x8e>
- 2362: 26c7a683 lw a3,620(a5)
- 2366: 76c030ef jal ra,5ad2 <__muldf3>
+ 2346: 22a060ef jal ra,8570 <__floatunsisf>
+ 234a: 0000a7b7 lui a5,0xa
+ 234e: 1747a583 lw a1,372(a5) # a174 <_read+0x88>
+ 2352: 664050ef jal ra,79b6 <__divsf3>
+ 2356: 2e8060ef jal ra,863e <__extendsfdf2>
+ 235a: 0000a7b7 lui a5,0xa
+ 235e: 1787a603 lw a2,376(a5) # a178 <_read+0x8c>
+ 2362: 17c7a683 lw a3,380(a5)
+ 2366: 67e040ef jal ra,69e4 <__muldf3>
236a: 842a mv s0,a0
- 236c: 8581a503 lw a0,-1960(gp) # 20000200
+ 236c: 8601a503 lw a0,-1952(gp) # 20000220
2370: 84ae mv s1,a1
- 2372: 3ba050ef jal ra,772c <__extendsfdf2>
+ 2372: 2cc060ef jal ra,863e <__extendsfdf2>
2376: 862a mv a2,a0
2378: 86ae mv a3,a1
237a: 8522 mv a0,s0
237c: 85a6 mv a1,s1
- 237e: 754030ef jal ra,5ad2 <__muldf3>
- 2382: 456050ef jal ra,77d8 <__truncdfsf2>
+ 237e: 666040ef jal ra,69e4 <__muldf3>
+ 2382: 368060ef jal ra,86ea <__truncdfsf2>
2386: e0ffd06f j 194 <__riscv_restore_0>
0000238a :
238a: de7fd2ef jal t0,170 <__riscv_save_0>
238e: 4515 li a0,5
2390: e39ff0ef jal ra,21c8
- 2394: 2ca050ef jal ra,765e <__floatunsisf>
- 2398: 000097b7 lui a5,0x9
- 239c: 2647a583 lw a1,612(a5) # 9264 <_read+0x8a>
- 23a0: 704040ef jal ra,6aa4 <__divsf3>
- 23a4: 388050ef jal ra,772c <__extendsfdf2>
- 23a8: 000097b7 lui a5,0x9
- 23ac: 2687a603 lw a2,616(a5) # 9268 <_read+0x8e>
- 23b0: 26c7a683 lw a3,620(a5)
- 23b4: 71e030ef jal ra,5ad2 <__muldf3>
+ 2394: 1dc060ef jal ra,8570 <__floatunsisf>
+ 2398: 0000a7b7 lui a5,0xa
+ 239c: 1747a583 lw a1,372(a5) # a174 <_read+0x88>
+ 23a0: 616050ef jal ra,79b6 <__divsf3>
+ 23a4: 29a060ef jal ra,863e <__extendsfdf2>
+ 23a8: 0000a7b7 lui a5,0xa
+ 23ac: 1787a603 lw a2,376(a5) # a178 <_read+0x8c>
+ 23b0: 17c7a683 lw a3,380(a5)
+ 23b4: 630040ef jal ra,69e4 <__muldf3>
23b8: 842a mv s0,a0
- 23ba: 85c1a503 lw a0,-1956(gp) # 20000204
+ 23ba: 8641a503 lw a0,-1948(gp) # 20000224
23be: 84ae mv s1,a1
- 23c0: 36c050ef jal ra,772c <__extendsfdf2>
+ 23c0: 27e060ef jal ra,863e <__extendsfdf2>
23c4: 862a mv a2,a0
23c6: 86ae mv a3,a1
23c8: 8522 mv a0,s0
23ca: 85a6 mv a1,s1
- 23cc: 706030ef jal ra,5ad2 <__muldf3>
- 23d0: 408050ef jal ra,77d8 <__truncdfsf2>
+ 23cc: 618040ef jal ra,69e4 <__muldf3>
+ 23d0: 31a060ef jal ra,86ea <__truncdfsf2>
23d4: dc1fd06f j 194 <__riscv_restore_0>
000023d8 :
23d8: d99fd2ef jal t0,170 <__riscv_save_0>
23dc: 4519 li a0,6
23de: debff0ef jal ra,21c8
- 23e2: 67a5 lui a5,0x9
- 23e4: 28078793 addi a5,a5,640 # 9280
+ 23e2: 67a9 lui a5,0xa
+ 23e4: 19078793 addi a5,a5,400 # a190
23e8: 4701 li a4,0
23ea: 0f100693 li a3,241
23ee: 2392 lhu a2,0(a5)
23f0: 02c56963 bltu a0,a2,2422
23f4: 853a mv a0,a4
- 23f6: 2d2040ef jal ra,66c8 <__floatsidf>
- 23fa: 000097b7 lui a5,0x9
- 23fe: 2707a603 lw a2,624(a5) # 9270 <_read+0x96>
- 2402: 2747a683 lw a3,628(a5)
- 2406: 6cc030ef jal ra,5ad2 <__muldf3>
- 240a: 000097b7 lui a5,0x9
- 240e: 2787a603 lw a2,632(a5) # 9278 <_read+0x9e>
- 2412: 27c7a683 lw a3,636(a5)
- 2416: 375030ef jal ra,5f8a <__subdf3>
- 241a: 3be050ef jal ra,77d8 <__truncdfsf2>
+ 23f6: 1e4050ef jal ra,75da <__floatsidf>
+ 23fa: 0000a7b7 lui a5,0xa
+ 23fe: 1807a603 lw a2,384(a5) # a180 <_read+0x94>
+ 2402: 1847a683 lw a3,388(a5)
+ 2406: 5de040ef jal ra,69e4 <__muldf3>
+ 240a: 0000a7b7 lui a5,0xa
+ 240e: 1887a603 lw a2,392(a5) # a188 <_read+0x9c>
+ 2412: 18c7a683 lw a3,396(a5)
+ 2416: 287040ef jal ra,6e9c <__subdf3>
+ 241a: 2d0060ef jal ra,86ea <__truncdfsf2>
241e: d77fd06f j 194 <__riscv_restore_0>
2422: 0705 addi a4,a4,1
2424: 0789 addi a5,a5,2
@@ -4249,9858 +4259,11222 @@ Disassembly of section .text:
00002432 :
2432: 200017b7 lui a5,0x20001
- 2436: 43c78793 addi a5,a5,1084 # 2000143c
- 243a: 2114 lbu a3,0(a0)
- 243c: 3b98 lbu a4,17(a5)
- 243e: 02e69a63 bne a3,a4,2472
+ 2436: 46078793 addi a5,a5,1120 # 20001460
+ 243a: 2110 lbu a2,0(a0)
+ 243c: 3b94 lbu a3,17(a5)
+ 243e: 04d61663 bne a2,a3,248a
2442: 3110 lbu a2,1(a0)
2444: 2bb4 lbu a3,18(a5)
- 2446: 4701 li a4,0
- 2448: 02d61363 bne a2,a3,246e
- 244c: 2130 lbu a2,2(a0)
- 244e: 3bb4 lbu a3,19(a5)
- 2450: 00d61f63 bne a2,a3,246e
- 2454: 3130 lbu a2,3(a0)
- 2456: 2bd4 lbu a3,20(a5)
- 2458: 00d61b63 bne a2,a3,246e
- 245c: 2150 lbu a2,4(a0)
- 245e: 3bd4 lbu a3,21(a5)
- 2460: 00d61763 bne a2,a3,246e
- 2464: 3158 lbu a4,5(a0)
- 2466: 2be8 lbu a0,22(a5)
- 2468: 8f09 sub a4,a4,a0
- 246a: 00173713 seqz a4,a4
- 246e: 853a mv a0,a4
- 2470: 8082 ret
- 2472: 4701 li a4,0
- 2474: bfed j 246e
+ 2446: 872a mv a4,a0
+ 2448: 4501 li a0,0
+ 244a: 04d61263 bne a2,a3,248e
+ 244e: 2330 lbu a2,2(a4)
+ 2450: 3bb4 lbu a3,19(a5)
+ 2452: 02d61e63 bne a2,a3,248e
+ 2456: 3330 lbu a2,3(a4)
+ 2458: 2bd4 lbu a3,20(a5)
+ 245a: 02d61a63 bne a2,a3,248e
+ 245e: 2350 lbu a2,4(a4)
+ 2460: 3bd4 lbu a3,21(a5)
+ 2462: 02d61663 bne a2,a3,248e
+ 2466: 3358 lbu a4,5(a4)
+ 2468: 2bfc lbu a5,22(a5)
+ 246a: 02f71263 bne a4,a5,248e
+ 246e: d03fd2ef jal t0,170 <__riscv_save_0>
+ 2472: 0000a537 lui a0,0xa
+ 2476: 09300613 li a2,147
+ 247a: 4585 li a1,1
+ 247c: 37450513 addi a0,a0,884 # a374
+ 2480: 4f4060ef jal ra,8974
+ 2484: 4505 li a0,1
+ 2486: d0ffd06f j 194 <__riscv_restore_0>
+ 248a: 4501 li a0,0
+ 248c: 8082 ret
+ 248e: 8082 ret
-00002476 :
- 2476: 8082 ret
+00002490 :
+ 2490: 8082 ret
-00002478 :
- 2478: 8082 ret
+00002492 :
+ 2492: 4701 li a4,0
+ 2494: 4781 li a5,0
+ 2496: 0ff77693 andi a3,a4,255
+ 249a: 00b6e763 bltu a3,a1,24a8
+ 249e: fff7c513 not a0,a5
+ 24a2: 0ff57513 andi a0,a0,255
+ 24a6: 8082 ret
+ 24a8: 00e506b3 add a3,a0,a4
+ 24ac: 2294 lbu a3,0(a3)
+ 24ae: 0705 addi a4,a4,1
+ 24b0: 97b6 add a5,a5,a3
+ 24b2: b7d5 j 2496